From 534ee2490985003a2afdca1a9f67ea1fbd2e764b Mon Sep 17 00:00:00 2001 From: Joe TS Dell Date: Thu, 20 May 2021 00:16:55 +0200 Subject: [PATCH] update vendors component --- public/css/theme.min.css | 8 + public/css/theme.min.css.map | 1 + public/js/vendor/bootstrap/LICENSE | 22 + public/js/vendor/bootstrap/README.md | 239 + .../bootstrap/dist/css/bootstrap-grid.css | 4997 +++++++ .../bootstrap/dist/css/bootstrap-grid.css.map | 1 + .../bootstrap/dist/css/bootstrap-grid.min.css | 7 + .../dist/css/bootstrap-grid.min.css.map | 1 + .../bootstrap/dist/css/bootstrap-grid.rtl.css | 4996 +++++++ .../dist/css/bootstrap-grid.rtl.css.map | 1 + .../dist/css/bootstrap-grid.rtl.min.css | 7 + .../dist/css/bootstrap-grid.rtl.min.css.map | 1 + .../bootstrap/dist/css/bootstrap-reboot.css | 426 + .../dist/css/bootstrap-reboot.css.map | 1 + .../dist/css/bootstrap-reboot.min.css | 8 + .../dist/css/bootstrap-reboot.min.css.map | 1 + .../dist/css/bootstrap-reboot.rtl.css | 423 + .../dist/css/bootstrap-reboot.rtl.css.map | 1 + .../dist/css/bootstrap-reboot.rtl.min.css | 8 + .../dist/css/bootstrap-reboot.rtl.min.css.map | 1 + .../dist/css/bootstrap-utilities.css | 4752 +++++++ .../dist/css/bootstrap-utilities.css.map | 1 + .../dist/css/bootstrap-utilities.min.css | 7 + .../dist/css/bootstrap-utilities.min.css.map | 1 + .../dist/css/bootstrap-utilities.rtl.css | 4743 +++++++ .../dist/css/bootstrap-utilities.rtl.css.map | 1 + .../dist/css/bootstrap-utilities.rtl.min.css | 7 + .../css/bootstrap-utilities.rtl.min.css.map | 1 + .../vendor/bootstrap/dist/css/bootstrap.css | 10819 ++++++++++++++++ .../bootstrap/dist/css/bootstrap.css.map | 1 + .../bootstrap/dist/css/bootstrap.min.css | 7 + .../bootstrap/dist/css/bootstrap.min.css.map | 1 + .../bootstrap/dist/css/bootstrap.rtl.css | 10795 +++++++++++++++ .../bootstrap/dist/css/bootstrap.rtl.css.map | 1 + .../bootstrap/dist/css/bootstrap.rtl.min.css | 7 + .../dist/css/bootstrap.rtl.min.css.map | 1 + .../bootstrap/dist/js/bootstrap.bundle.js | 6714 ++++++++++ .../bootstrap/dist/js/bootstrap.bundle.js.map | 1 + .../bootstrap/dist/js/bootstrap.bundle.min.js | 7 + .../dist/js/bootstrap.bundle.min.js.map | 1 + .../vendor/bootstrap/dist/js/bootstrap.esm.js | 4944 +++++++ .../bootstrap/dist/js/bootstrap.esm.js.map | 1 + .../bootstrap/dist/js/bootstrap.esm.min.js | 7 + .../dist/js/bootstrap.esm.min.js.map | 1 + .../js/vendor/bootstrap/dist/js/bootstrap.js | 4993 +++++++ .../vendor/bootstrap/dist/js/bootstrap.js.map | 1 + .../vendor/bootstrap/dist/js/bootstrap.min.js | 7 + .../bootstrap/dist/js/bootstrap.min.js.map | 1 + public/js/vendor/bootstrap/js/dist/alert.js | 264 + .../js/vendor/bootstrap/js/dist/alert.js.map | 1 + .../bootstrap/js/dist/base-component.js | 62 + .../bootstrap/js/dist/base-component.js.map | 1 + public/js/vendor/bootstrap/js/dist/button.js | 146 + .../js/vendor/bootstrap/js/dist/button.js.map | 1 + .../js/vendor/bootstrap/js/dist/carousel.js | 757 ++ .../vendor/bootstrap/js/dist/carousel.js.map | 1 + .../js/vendor/bootstrap/js/dist/collapse.js | 551 + .../vendor/bootstrap/js/dist/collapse.js.map | 1 + .../js/vendor/bootstrap/js/dist/dom/data.js | 69 + .../vendor/bootstrap/js/dist/dom/data.js.map | 1 + .../bootstrap/js/dist/dom/event-handler.js | 305 + .../js/dist/dom/event-handler.js.map | 1 + .../bootstrap/js/dist/dom/manipulator.js | 89 + .../bootstrap/js/dist/dom/manipulator.js.map | 1 + .../bootstrap/js/dist/dom/selector-engine.js | 86 + .../js/dist/dom/selector-engine.js.map | 1 + .../js/vendor/bootstrap/js/dist/dropdown.js | 662 + .../vendor/bootstrap/js/dist/dropdown.js.map | 1 + public/js/vendor/bootstrap/js/dist/modal.js | 752 ++ .../js/vendor/bootstrap/js/dist/modal.js.map | 1 + .../js/vendor/bootstrap/js/dist/offcanvas.js | 509 + .../vendor/bootstrap/js/dist/offcanvas.js.map | 1 + public/js/vendor/bootstrap/js/dist/popover.js | 216 + .../vendor/bootstrap/js/dist/popover.js.map | 1 + .../js/vendor/bootstrap/js/dist/scrollspy.js | 400 + .../vendor/bootstrap/js/dist/scrollspy.js.map | 1 + public/js/vendor/bootstrap/js/dist/tab.js | 347 + public/js/vendor/bootstrap/js/dist/tab.js.map | 1 + public/js/vendor/bootstrap/js/dist/toast.js | 335 + .../js/vendor/bootstrap/js/dist/toast.js.map | 1 + public/js/vendor/bootstrap/js/dist/tooltip.js | 1055 ++ .../vendor/bootstrap/js/dist/tooltip.js.map | 1 + public/js/vendor/bootstrap/js/src/alert.js | 141 + .../vendor/bootstrap/js/src/base-component.js | 46 + public/js/vendor/bootstrap/js/src/button.js | 95 + public/js/vendor/bootstrap/js/src/carousel.js | 624 + public/js/vendor/bootstrap/js/src/collapse.js | 410 + public/js/vendor/bootstrap/js/src/dom/data.js | 57 + .../bootstrap/js/src/dom/event-handler.js | 331 + .../bootstrap/js/src/dom/manipulator.js | 80 + .../bootstrap/js/src/dom/selector-engine.js | 75 + public/js/vendor/bootstrap/js/src/dropdown.js | 543 + public/js/vendor/bootstrap/js/src/modal.js | 582 + .../js/vendor/bootstrap/js/src/offcanvas.js | 279 + public/js/vendor/bootstrap/js/src/popover.js | 171 + .../js/vendor/bootstrap/js/src/scrollspy.js | 319 + public/js/vendor/bootstrap/js/src/tab.js | 220 + public/js/vendor/bootstrap/js/src/toast.js | 219 + public/js/vendor/bootstrap/js/src/tooltip.js | 802 ++ .../js/vendor/bootstrap/js/src/util/index.js | 253 + .../vendor/bootstrap/js/src/util/sanitizer.js | 127 + .../vendor/bootstrap/js/src/util/scrollbar.js | 70 + public/js/vendor/bootstrap/package.json | 208 + .../js/vendor/bootstrap/scss/_accordion.scss | 116 + public/js/vendor/bootstrap/scss/_alert.scss | 57 + public/js/vendor/bootstrap/scss/_badge.scss | 29 + .../js/vendor/bootstrap/scss/_breadcrumb.scss | 28 + .../vendor/bootstrap/scss/_button-group.scss | 139 + public/js/vendor/bootstrap/scss/_buttons.scss | 111 + public/js/vendor/bootstrap/scss/_card.scss | 215 + .../js/vendor/bootstrap/scss/_carousel.scss | 229 + public/js/vendor/bootstrap/scss/_close.scss | 40 + .../js/vendor/bootstrap/scss/_containers.scss | 41 + .../js/vendor/bootstrap/scss/_dropdown.scss | 246 + public/js/vendor/bootstrap/scss/_forms.scss | 9 + .../js/vendor/bootstrap/scss/_functions.scss | 205 + public/js/vendor/bootstrap/scss/_grid.scss | 22 + public/js/vendor/bootstrap/scss/_helpers.scss | 7 + public/js/vendor/bootstrap/scss/_images.scss | 42 + .../js/vendor/bootstrap/scss/_list-group.scss | 174 + public/js/vendor/bootstrap/scss/_mixins.scss | 41 + public/js/vendor/bootstrap/scss/_modal.scss | 237 + public/js/vendor/bootstrap/scss/_nav.scss | 139 + public/js/vendor/bootstrap/scss/_navbar.scss | 306 + .../js/vendor/bootstrap/scss/_offcanvas.scss | 77 + .../js/vendor/bootstrap/scss/_pagination.scss | 64 + public/js/vendor/bootstrap/scss/_popover.scss | 158 + .../js/vendor/bootstrap/scss/_progress.scss | 48 + public/js/vendor/bootstrap/scss/_reboot.scss | 621 + public/js/vendor/bootstrap/scss/_root.scss | 16 + .../js/vendor/bootstrap/scss/_spinners.scss | 69 + public/js/vendor/bootstrap/scss/_tables.scss | 150 + public/js/vendor/bootstrap/scss/_toasts.scss | 51 + public/js/vendor/bootstrap/scss/_tooltip.scss | 115 + .../vendor/bootstrap/scss/_transitions.scss | 21 + public/js/vendor/bootstrap/scss/_type.scss | 104 + .../js/vendor/bootstrap/scss/_utilities.scss | 594 + .../js/vendor/bootstrap/scss/_variables.scss | 1464 +++ .../vendor/bootstrap/scss/bootstrap-grid.scss | 65 + .../bootstrap/scss/bootstrap-reboot.scss | 15 + .../bootstrap/scss/bootstrap-utilities.scss | 18 + .../js/vendor/bootstrap/scss/bootstrap.scss | 52 + .../scss/forms/_floating-labels.scss | 61 + .../bootstrap/scss/forms/_form-check.scss | 152 + .../bootstrap/scss/forms/_form-control.scss | 219 + .../bootstrap/scss/forms/_form-range.scss | 91 + .../bootstrap/scss/forms/_form-select.scss | 67 + .../bootstrap/scss/forms/_form-text.scss | 11 + .../bootstrap/scss/forms/_input-group.scss | 121 + .../vendor/bootstrap/scss/forms/_labels.scss | 36 + .../bootstrap/scss/forms/_validation.scss | 12 + .../bootstrap/scss/helpers/_clearfix.scss | 3 + .../scss/helpers/_colored-links.scss | 12 + .../bootstrap/scss/helpers/_position.scss | 30 + .../vendor/bootstrap/scss/helpers/_ratio.scss | 26 + .../scss/helpers/_stretched-link.scss | 15 + .../scss/helpers/_text-truncation.scss | 7 + .../scss/helpers/_visually-hidden.scss | 8 + .../vendor/bootstrap/scss/mixins/_alert.scss | 11 + .../bootstrap/scss/mixins/_border-radius.scss | 78 + .../bootstrap/scss/mixins/_box-shadow.scss | 18 + .../bootstrap/scss/mixins/_breakpoints.scss | 127 + .../bootstrap/scss/mixins/_buttons.scss | 133 + .../vendor/bootstrap/scss/mixins/_caret.scss | 64 + .../bootstrap/scss/mixins/_clearfix.scss | 9 + .../bootstrap/scss/mixins/_container.scss | 9 + .../bootstrap/scss/mixins/_deprecate.scss | 10 + .../vendor/bootstrap/scss/mixins/_forms.scss | 134 + .../bootstrap/scss/mixins/_gradients.scss | 47 + .../vendor/bootstrap/scss/mixins/_grid.scss | 120 + .../vendor/bootstrap/scss/mixins/_image.scss | 16 + .../bootstrap/scss/mixins/_list-group.scss | 24 + .../vendor/bootstrap/scss/mixins/_lists.scss | 7 + .../bootstrap/scss/mixins/_pagination.scss | 31 + .../bootstrap/scss/mixins/_reset-text.scss | 17 + .../vendor/bootstrap/scss/mixins/_resize.scss | 6 + .../scss/mixins/_table-variants.scss | 21 + .../bootstrap/scss/mixins/_text-truncate.scss | 8 + .../bootstrap/scss/mixins/_transition.scss | 26 + .../bootstrap/scss/mixins/_utilities.scss | 68 + .../scss/mixins/_visually-hidden.scss | 29 + .../vendor/bootstrap/scss/utilities/_api.scss | 47 + .../js/vendor/bootstrap/scss/vendor/_rfs.scss | 312 + public/js/vendor/chartist/CHANGELOG.md | 232 + public/js/vendor/chartist/LICENSE-MIT | 7 + public/js/vendor/chartist/LICENSE-WTFPL | 13 + public/js/vendor/chartist/README.md | 80 + public/js/vendor/chartist/dist/chartist.css | 615 + .../js/vendor/chartist/dist/chartist.css.map | 10 + public/js/vendor/chartist/dist/chartist.js | 4516 +++++++ .../js/vendor/chartist/dist/chartist.min.css | 1 + .../js/vendor/chartist/dist/chartist.min.js | 10 + .../vendor/chartist/dist/chartist.min.js.map | 1 + .../vendor/chartist/dist/scss/chartist.scss | 241 + .../scss/settings/_chartist-settings.scss | 88 + public/js/vendor/chartist/package.json | 126 + public/js/vendor/cleave.js/LICENSE | 176 + public/js/vendor/cleave.js/README.md | 290 + .../cleave.js/dist/addons/cleave-phone.ac.js | 51 + .../cleave.js/dist/addons/cleave-phone.ad.js | 51 + .../cleave.js/dist/addons/cleave-phone.ae.js | 51 + .../cleave.js/dist/addons/cleave-phone.af.js | 51 + .../cleave.js/dist/addons/cleave-phone.ag.js | 51 + .../cleave.js/dist/addons/cleave-phone.ai.js | 51 + .../cleave.js/dist/addons/cleave-phone.al.js | 51 + .../cleave.js/dist/addons/cleave-phone.am.js | 51 + .../cleave.js/dist/addons/cleave-phone.ao.js | 51 + .../cleave.js/dist/addons/cleave-phone.ar.js | 51 + .../cleave.js/dist/addons/cleave-phone.as.js | 51 + .../cleave.js/dist/addons/cleave-phone.at.js | 51 + .../dist/addons/cleave-phone.au-cn.js | 51 + .../cleave.js/dist/addons/cleave-phone.au.js | 51 + .../cleave.js/dist/addons/cleave-phone.aw.js | 51 + .../cleave.js/dist/addons/cleave-phone.ax.js | 51 + .../cleave.js/dist/addons/cleave-phone.az.js | 51 + .../cleave.js/dist/addons/cleave-phone.ba.js | 51 + .../cleave.js/dist/addons/cleave-phone.bb.js | 51 + .../cleave.js/dist/addons/cleave-phone.bd.js | 51 + .../cleave.js/dist/addons/cleave-phone.be.js | 51 + .../cleave.js/dist/addons/cleave-phone.bf.js | 51 + .../cleave.js/dist/addons/cleave-phone.bg.js | 51 + .../cleave.js/dist/addons/cleave-phone.bh.js | 51 + .../cleave.js/dist/addons/cleave-phone.bi.js | 51 + .../cleave.js/dist/addons/cleave-phone.bj.js | 51 + .../cleave.js/dist/addons/cleave-phone.bl.js | 51 + .../cleave.js/dist/addons/cleave-phone.bm.js | 51 + .../cleave.js/dist/addons/cleave-phone.bn.js | 51 + .../cleave.js/dist/addons/cleave-phone.bo.js | 51 + .../cleave.js/dist/addons/cleave-phone.bq.js | 51 + .../cleave.js/dist/addons/cleave-phone.br.js | 51 + .../cleave.js/dist/addons/cleave-phone.bs.js | 51 + .../cleave.js/dist/addons/cleave-phone.bt.js | 51 + .../cleave.js/dist/addons/cleave-phone.bw.js | 51 + .../cleave.js/dist/addons/cleave-phone.by.js | 51 + .../cleave.js/dist/addons/cleave-phone.bz.js | 51 + .../cleave.js/dist/addons/cleave-phone.ca.js | 51 + .../cleave.js/dist/addons/cleave-phone.cc.js | 51 + .../cleave.js/dist/addons/cleave-phone.cd.js | 51 + .../cleave.js/dist/addons/cleave-phone.cf.js | 51 + .../cleave.js/dist/addons/cleave-phone.cg.js | 51 + .../cleave.js/dist/addons/cleave-phone.ch.js | 51 + .../cleave.js/dist/addons/cleave-phone.ci.js | 51 + .../cleave.js/dist/addons/cleave-phone.ck.js | 51 + .../cleave.js/dist/addons/cleave-phone.cl.js | 51 + .../cleave.js/dist/addons/cleave-phone.cm.js | 51 + .../cleave.js/dist/addons/cleave-phone.cn.js | 51 + .../cleave.js/dist/addons/cleave-phone.co.js | 51 + .../cleave.js/dist/addons/cleave-phone.cr.js | 51 + .../cleave.js/dist/addons/cleave-phone.cu.js | 51 + .../cleave.js/dist/addons/cleave-phone.cv.js | 51 + .../cleave.js/dist/addons/cleave-phone.cw.js | 51 + .../cleave.js/dist/addons/cleave-phone.cx.js | 51 + .../cleave.js/dist/addons/cleave-phone.cy.js | 51 + .../cleave.js/dist/addons/cleave-phone.cz.js | 51 + .../cleave.js/dist/addons/cleave-phone.de.js | 51 + .../cleave.js/dist/addons/cleave-phone.dj.js | 51 + .../cleave.js/dist/addons/cleave-phone.dk.js | 51 + .../cleave.js/dist/addons/cleave-phone.dm.js | 51 + .../cleave.js/dist/addons/cleave-phone.do.js | 51 + .../cleave.js/dist/addons/cleave-phone.dz.js | 51 + .../cleave.js/dist/addons/cleave-phone.ec.js | 51 + .../cleave.js/dist/addons/cleave-phone.ee.js | 51 + .../cleave.js/dist/addons/cleave-phone.eg.js | 51 + .../cleave.js/dist/addons/cleave-phone.eh.js | 51 + .../cleave.js/dist/addons/cleave-phone.er.js | 51 + .../cleave.js/dist/addons/cleave-phone.es.js | 51 + .../cleave.js/dist/addons/cleave-phone.et.js | 51 + .../cleave.js/dist/addons/cleave-phone.fi.js | 51 + .../cleave.js/dist/addons/cleave-phone.fj.js | 51 + .../cleave.js/dist/addons/cleave-phone.fk.js | 51 + .../cleave.js/dist/addons/cleave-phone.fm.js | 51 + .../cleave.js/dist/addons/cleave-phone.fo.js | 51 + .../cleave.js/dist/addons/cleave-phone.fr.js | 51 + .../cleave.js/dist/addons/cleave-phone.ga.js | 51 + .../cleave.js/dist/addons/cleave-phone.gb.js | 51 + .../cleave.js/dist/addons/cleave-phone.gd.js | 51 + .../cleave.js/dist/addons/cleave-phone.ge.js | 51 + .../cleave.js/dist/addons/cleave-phone.gf.js | 51 + .../cleave.js/dist/addons/cleave-phone.gg.js | 51 + .../cleave.js/dist/addons/cleave-phone.gh.js | 51 + .../cleave.js/dist/addons/cleave-phone.gi.js | 51 + .../cleave.js/dist/addons/cleave-phone.gl.js | 51 + .../cleave.js/dist/addons/cleave-phone.gm.js | 51 + .../cleave.js/dist/addons/cleave-phone.gn.js | 51 + .../cleave.js/dist/addons/cleave-phone.gp.js | 51 + .../cleave.js/dist/addons/cleave-phone.gq.js | 51 + .../cleave.js/dist/addons/cleave-phone.gr.js | 51 + .../cleave.js/dist/addons/cleave-phone.gt.js | 51 + .../cleave.js/dist/addons/cleave-phone.gu.js | 51 + .../cleave.js/dist/addons/cleave-phone.gw.js | 51 + .../cleave.js/dist/addons/cleave-phone.gy.js | 51 + .../cleave.js/dist/addons/cleave-phone.hk.js | 51 + .../cleave.js/dist/addons/cleave-phone.hn.js | 51 + .../cleave.js/dist/addons/cleave-phone.hr.js | 51 + .../cleave.js/dist/addons/cleave-phone.ht.js | 51 + .../cleave.js/dist/addons/cleave-phone.hu.js | 51 + .../dist/addons/cleave-phone.i18n.js | 60 + .../cleave.js/dist/addons/cleave-phone.id.js | 51 + .../cleave.js/dist/addons/cleave-phone.ie.js | 51 + .../cleave.js/dist/addons/cleave-phone.il.js | 51 + .../cleave.js/dist/addons/cleave-phone.im.js | 51 + .../cleave.js/dist/addons/cleave-phone.in.js | 51 + .../cleave.js/dist/addons/cleave-phone.io.js | 51 + .../cleave.js/dist/addons/cleave-phone.iq.js | 51 + .../cleave.js/dist/addons/cleave-phone.ir.js | 51 + .../cleave.js/dist/addons/cleave-phone.is.js | 51 + .../cleave.js/dist/addons/cleave-phone.it.js | 51 + .../cleave.js/dist/addons/cleave-phone.je.js | 51 + .../cleave.js/dist/addons/cleave-phone.jm.js | 51 + .../cleave.js/dist/addons/cleave-phone.jo.js | 51 + .../cleave.js/dist/addons/cleave-phone.jp.js | 51 + .../cleave.js/dist/addons/cleave-phone.ke.js | 51 + .../cleave.js/dist/addons/cleave-phone.kg.js | 51 + .../cleave.js/dist/addons/cleave-phone.kh.js | 51 + .../cleave.js/dist/addons/cleave-phone.ki.js | 51 + .../cleave.js/dist/addons/cleave-phone.km.js | 51 + .../cleave.js/dist/addons/cleave-phone.kn.js | 51 + .../cleave.js/dist/addons/cleave-phone.kp.js | 51 + .../cleave.js/dist/addons/cleave-phone.kr.js | 51 + .../cleave.js/dist/addons/cleave-phone.kw.js | 51 + .../cleave.js/dist/addons/cleave-phone.ky.js | 51 + .../cleave.js/dist/addons/cleave-phone.kz.js | 51 + .../cleave.js/dist/addons/cleave-phone.la.js | 51 + .../cleave.js/dist/addons/cleave-phone.lb.js | 51 + .../cleave.js/dist/addons/cleave-phone.lc.js | 51 + .../cleave.js/dist/addons/cleave-phone.li.js | 51 + .../cleave.js/dist/addons/cleave-phone.lk.js | 51 + .../cleave.js/dist/addons/cleave-phone.lr.js | 51 + .../cleave.js/dist/addons/cleave-phone.ls.js | 51 + .../cleave.js/dist/addons/cleave-phone.lt.js | 51 + .../cleave.js/dist/addons/cleave-phone.lu.js | 51 + .../cleave.js/dist/addons/cleave-phone.lv.js | 51 + .../cleave.js/dist/addons/cleave-phone.ly.js | 51 + .../cleave.js/dist/addons/cleave-phone.ma.js | 51 + .../cleave.js/dist/addons/cleave-phone.mc.js | 51 + .../cleave.js/dist/addons/cleave-phone.md.js | 51 + .../cleave.js/dist/addons/cleave-phone.me.js | 51 + .../cleave.js/dist/addons/cleave-phone.mf.js | 51 + .../cleave.js/dist/addons/cleave-phone.mg.js | 51 + .../cleave.js/dist/addons/cleave-phone.mh.js | 51 + .../cleave.js/dist/addons/cleave-phone.mk.js | 51 + .../cleave.js/dist/addons/cleave-phone.ml.js | 51 + .../cleave.js/dist/addons/cleave-phone.mm.js | 51 + .../cleave.js/dist/addons/cleave-phone.mn.js | 51 + .../cleave.js/dist/addons/cleave-phone.mo.js | 51 + .../cleave.js/dist/addons/cleave-phone.mp.js | 51 + .../cleave.js/dist/addons/cleave-phone.mq.js | 51 + .../cleave.js/dist/addons/cleave-phone.mr.js | 51 + .../cleave.js/dist/addons/cleave-phone.ms.js | 51 + .../cleave.js/dist/addons/cleave-phone.mt.js | 51 + .../cleave.js/dist/addons/cleave-phone.mu.js | 51 + .../cleave.js/dist/addons/cleave-phone.mv.js | 51 + .../cleave.js/dist/addons/cleave-phone.mw.js | 51 + .../cleave.js/dist/addons/cleave-phone.mx.js | 51 + .../cleave.js/dist/addons/cleave-phone.my.js | 51 + .../cleave.js/dist/addons/cleave-phone.mz.js | 51 + .../cleave.js/dist/addons/cleave-phone.na.js | 51 + .../cleave.js/dist/addons/cleave-phone.nc.js | 51 + .../cleave.js/dist/addons/cleave-phone.ne.js | 51 + .../cleave.js/dist/addons/cleave-phone.nf.js | 51 + .../cleave.js/dist/addons/cleave-phone.ng.js | 51 + .../cleave.js/dist/addons/cleave-phone.ni.js | 51 + .../cleave.js/dist/addons/cleave-phone.nl.js | 51 + .../cleave.js/dist/addons/cleave-phone.no.js | 51 + .../cleave.js/dist/addons/cleave-phone.np.js | 51 + .../cleave.js/dist/addons/cleave-phone.nr.js | 51 + .../cleave.js/dist/addons/cleave-phone.nu.js | 51 + .../cleave.js/dist/addons/cleave-phone.nz.js | 51 + .../cleave.js/dist/addons/cleave-phone.om.js | 51 + .../cleave.js/dist/addons/cleave-phone.pa.js | 51 + .../cleave.js/dist/addons/cleave-phone.pe.js | 51 + .../cleave.js/dist/addons/cleave-phone.pf.js | 51 + .../cleave.js/dist/addons/cleave-phone.pg.js | 51 + .../cleave.js/dist/addons/cleave-phone.ph.js | 51 + .../cleave.js/dist/addons/cleave-phone.pk.js | 51 + .../cleave.js/dist/addons/cleave-phone.pl.js | 51 + .../cleave.js/dist/addons/cleave-phone.pm.js | 51 + .../cleave.js/dist/addons/cleave-phone.pr.js | 51 + .../cleave.js/dist/addons/cleave-phone.ps.js | 51 + .../cleave.js/dist/addons/cleave-phone.pt.js | 51 + .../cleave.js/dist/addons/cleave-phone.pw.js | 51 + .../cleave.js/dist/addons/cleave-phone.py.js | 51 + .../cleave.js/dist/addons/cleave-phone.qa.js | 51 + .../cleave.js/dist/addons/cleave-phone.re.js | 51 + .../cleave.js/dist/addons/cleave-phone.ro.js | 51 + .../cleave.js/dist/addons/cleave-phone.rs.js | 51 + .../cleave.js/dist/addons/cleave-phone.ru.js | 51 + .../cleave.js/dist/addons/cleave-phone.rw.js | 51 + .../cleave.js/dist/addons/cleave-phone.sa.js | 51 + .../cleave.js/dist/addons/cleave-phone.sb.js | 51 + .../cleave.js/dist/addons/cleave-phone.sc.js | 51 + .../cleave.js/dist/addons/cleave-phone.sd.js | 51 + .../cleave.js/dist/addons/cleave-phone.se.js | 51 + .../cleave.js/dist/addons/cleave-phone.sg.js | 51 + .../cleave.js/dist/addons/cleave-phone.sh.js | 51 + .../cleave.js/dist/addons/cleave-phone.si.js | 51 + .../cleave.js/dist/addons/cleave-phone.sj.js | 51 + .../cleave.js/dist/addons/cleave-phone.sk.js | 51 + .../cleave.js/dist/addons/cleave-phone.sl.js | 51 + .../cleave.js/dist/addons/cleave-phone.sm.js | 51 + .../cleave.js/dist/addons/cleave-phone.sn.js | 51 + .../cleave.js/dist/addons/cleave-phone.so.js | 51 + .../cleave.js/dist/addons/cleave-phone.sr.js | 51 + .../cleave.js/dist/addons/cleave-phone.ss.js | 51 + .../cleave.js/dist/addons/cleave-phone.st.js | 51 + .../cleave.js/dist/addons/cleave-phone.sv.js | 51 + .../cleave.js/dist/addons/cleave-phone.sx.js | 51 + .../cleave.js/dist/addons/cleave-phone.sy.js | 51 + .../cleave.js/dist/addons/cleave-phone.sz.js | 51 + .../cleave.js/dist/addons/cleave-phone.ta.js | 51 + .../cleave.js/dist/addons/cleave-phone.tc.js | 51 + .../cleave.js/dist/addons/cleave-phone.td.js | 51 + .../cleave.js/dist/addons/cleave-phone.tg.js | 51 + .../cleave.js/dist/addons/cleave-phone.th.js | 51 + .../cleave.js/dist/addons/cleave-phone.tj.js | 51 + .../cleave.js/dist/addons/cleave-phone.tk.js | 51 + .../cleave.js/dist/addons/cleave-phone.tl.js | 51 + .../cleave.js/dist/addons/cleave-phone.tm.js | 51 + .../cleave.js/dist/addons/cleave-phone.tn.js | 51 + .../cleave.js/dist/addons/cleave-phone.to.js | 51 + .../cleave.js/dist/addons/cleave-phone.tr.js | 51 + .../cleave.js/dist/addons/cleave-phone.tt.js | 51 + .../cleave.js/dist/addons/cleave-phone.tv.js | 51 + .../cleave.js/dist/addons/cleave-phone.tw.js | 51 + .../cleave.js/dist/addons/cleave-phone.tz.js | 51 + .../cleave.js/dist/addons/cleave-phone.ua.js | 51 + .../cleave.js/dist/addons/cleave-phone.ug.js | 51 + .../cleave.js/dist/addons/cleave-phone.us.js | 51 + .../cleave.js/dist/addons/cleave-phone.uy.js | 51 + .../cleave.js/dist/addons/cleave-phone.uz.js | 51 + .../cleave.js/dist/addons/cleave-phone.va.js | 51 + .../cleave.js/dist/addons/cleave-phone.vc.js | 51 + .../cleave.js/dist/addons/cleave-phone.ve.js | 51 + .../cleave.js/dist/addons/cleave-phone.vg.js | 51 + .../cleave.js/dist/addons/cleave-phone.vi.js | 51 + .../cleave.js/dist/addons/cleave-phone.vn.js | 51 + .../cleave.js/dist/addons/cleave-phone.vu.js | 51 + .../cleave.js/dist/addons/cleave-phone.wf.js | 51 + .../cleave.js/dist/addons/cleave-phone.ws.js | 51 + .../cleave.js/dist/addons/cleave-phone.xk.js | 51 + .../cleave.js/dist/addons/cleave-phone.ye.js | 51 + .../cleave.js/dist/addons/cleave-phone.yt.js | 51 + .../cleave.js/dist/addons/cleave-phone.za.js | 51 + .../cleave.js/dist/addons/cleave-phone.zm.js | 51 + .../cleave.js/dist/addons/cleave-phone.zw.js | 51 + .../vendor/cleave.js/dist/cleave-angular.js | 1726 +++ .../cleave.js/dist/cleave-angular.min.js | 8 + public/js/vendor/cleave.js/dist/cleave-esm.js | 1558 +++ .../vendor/cleave.js/dist/cleave-esm.min.js | 1 + .../cleave.js/dist/cleave-react-node.js | 2891 +++++ .../cleave.js/dist/cleave-react-node.min.js | 8 + .../js/vendor/cleave.js/dist/cleave-react.js | 3086 +++++ .../vendor/cleave.js/dist/cleave-react.min.js | 9 + public/js/vendor/cleave.js/dist/cleave.js | 1669 +++ public/js/vendor/cleave.js/dist/cleave.min.js | 8 + public/js/vendor/cleave.js/package.json | 112 + public/js/vendor/cleave.js/react.js | 1 + .../js/vendor/cleave.js/src/Cleave.angular.js | 56 + public/js/vendor/cleave.js/src/Cleave.js | 500 + .../js/vendor/cleave.js/src/Cleave.react.js | 472 + .../src/addons/phone-type-formatter.ac.js | 73 + .../src/addons/phone-type-formatter.ad.js | 73 + .../src/addons/phone-type-formatter.ae.js | 74 + .../src/addons/phone-type-formatter.af.js | 73 + .../src/addons/phone-type-formatter.ag.js | 122 + .../src/addons/phone-type-formatter.ai.js | 122 + .../src/addons/phone-type-formatter.al.js | 74 + .../src/addons/phone-type-formatter.am.js | 74 + .../src/addons/phone-type-formatter.ao.js | 73 + .../src/addons/phone-type-formatter.ar.js | 80 + .../src/addons/phone-type-formatter.as.js | 122 + .../src/addons/phone-type-formatter.at.js | 75 + .../src/addons/phone-type-formatter.au-cn.js | 88 + .../src/addons/phone-type-formatter.au.js | 80 + .../src/addons/phone-type-formatter.aw.js | 73 + .../src/addons/phone-type-formatter.ax.js | 77 + .../src/addons/phone-type-formatter.az.js | 74 + .../src/addons/phone-type-formatter.ba.js | 74 + .../src/addons/phone-type-formatter.bb.js | 122 + .../src/addons/phone-type-formatter.bd.js | 75 + .../src/addons/phone-type-formatter.be.js | 74 + .../src/addons/phone-type-formatter.bf.js | 73 + .../src/addons/phone-type-formatter.bg.js | 74 + .../src/addons/phone-type-formatter.bh.js | 73 + .../src/addons/phone-type-formatter.bi.js | 73 + .../src/addons/phone-type-formatter.bj.js | 73 + .../src/addons/phone-type-formatter.bl.js | 76 + .../src/addons/phone-type-formatter.bm.js | 122 + .../src/addons/phone-type-formatter.bn.js | 73 + .../src/addons/phone-type-formatter.bo.js | 74 + .../src/addons/phone-type-formatter.bq.js | 75 + .../src/addons/phone-type-formatter.br.js | 75 + .../src/addons/phone-type-formatter.bs.js | 122 + .../src/addons/phone-type-formatter.bt.js | 73 + .../src/addons/phone-type-formatter.bw.js | 74 + .../src/addons/phone-type-formatter.by.js | 75 + .../src/addons/phone-type-formatter.bz.js | 73 + .../src/addons/phone-type-formatter.ca.js | 122 + .../src/addons/phone-type-formatter.cc.js | 80 + .../src/addons/phone-type-formatter.cd.js | 74 + .../src/addons/phone-type-formatter.cf.js | 73 + .../src/addons/phone-type-formatter.cg.js | 73 + .../src/addons/phone-type-formatter.ch.js | 74 + .../src/addons/phone-type-formatter.ci.js | 73 + .../src/addons/phone-type-formatter.ck.js | 73 + .../src/addons/phone-type-formatter.cl.js | 76 + .../src/addons/phone-type-formatter.cm.js | 73 + .../src/addons/phone-type-formatter.cn.js | 80 + .../src/addons/phone-type-formatter.co.js | 74 + .../src/addons/phone-type-formatter.cr.js | 74 + .../src/addons/phone-type-formatter.cu.js | 74 + .../src/addons/phone-type-formatter.cv.js | 73 + .../src/addons/phone-type-formatter.cw.js | 75 + .../src/addons/phone-type-formatter.cx.js | 80 + .../src/addons/phone-type-formatter.cy.js | 73 + .../src/addons/phone-type-formatter.cz.js | 74 + .../src/addons/phone-type-formatter.de.js | 78 + .../src/addons/phone-type-formatter.dj.js | 73 + .../src/addons/phone-type-formatter.dk.js | 73 + .../src/addons/phone-type-formatter.dm.js | 122 + .../src/addons/phone-type-formatter.do.js | 122 + .../src/addons/phone-type-formatter.dz.js | 74 + .../src/addons/phone-type-formatter.ec.js | 74 + .../src/addons/phone-type-formatter.ee.js | 74 + .../src/addons/phone-type-formatter.eg.js | 74 + .../src/addons/phone-type-formatter.eh.js | 76 + .../src/addons/phone-type-formatter.er.js | 73 + .../src/addons/phone-type-formatter.es.js | 74 + .../src/addons/phone-type-formatter.et.js | 74 + .../src/addons/phone-type-formatter.fi.js | 77 + .../src/addons/phone-type-formatter.fj.js | 73 + .../src/addons/phone-type-formatter.fk.js | 73 + .../src/addons/phone-type-formatter.fm.js | 73 + .../src/addons/phone-type-formatter.fo.js | 73 + .../src/addons/phone-type-formatter.fr.js | 74 + .../src/addons/phone-type-formatter.ga.js | 73 + .../src/addons/phone-type-formatter.gb.js | 83 + .../src/addons/phone-type-formatter.gd.js | 122 + .../src/addons/phone-type-formatter.ge.js | 74 + .../src/addons/phone-type-formatter.gf.js | 73 + .../src/addons/phone-type-formatter.gg.js | 83 + .../src/addons/phone-type-formatter.gh.js | 74 + .../src/addons/phone-type-formatter.gi.js | 73 + .../src/addons/phone-type-formatter.gl.js | 73 + .../src/addons/phone-type-formatter.gm.js | 73 + .../src/addons/phone-type-formatter.gn.js | 73 + .../src/addons/phone-type-formatter.gp.js | 76 + .../src/addons/phone-type-formatter.gq.js | 73 + .../src/addons/phone-type-formatter.gr.js | 74 + .../src/addons/phone-type-formatter.gt.js | 73 + .../src/addons/phone-type-formatter.gu.js | 122 + .../src/addons/phone-type-formatter.gw.js | 73 + .../src/addons/phone-type-formatter.gy.js | 73 + .../src/addons/phone-type-formatter.hk.js | 75 + .../src/addons/phone-type-formatter.hn.js | 74 + .../src/addons/phone-type-formatter.hr.js | 74 + .../src/addons/phone-type-formatter.ht.js | 73 + .../src/addons/phone-type-formatter.hu.js | 74 + .../src/addons/phone-type-formatter.i18n.js | 669 + .../src/addons/phone-type-formatter.id.js | 75 + .../src/addons/phone-type-formatter.ie.js | 75 + .../src/addons/phone-type-formatter.il.js | 75 + .../src/addons/phone-type-formatter.im.js | 83 + .../src/addons/phone-type-formatter.in.js | 85 + .../src/addons/phone-type-formatter.io.js | 73 + .../src/addons/phone-type-formatter.iq.js | 74 + .../src/addons/phone-type-formatter.ir.js | 75 + .../src/addons/phone-type-formatter.is.js | 74 + .../src/addons/phone-type-formatter.it.js | 78 + .../src/addons/phone-type-formatter.je.js | 83 + .../src/addons/phone-type-formatter.jm.js | 122 + .../src/addons/phone-type-formatter.jo.js | 74 + .../src/addons/phone-type-formatter.jp.js | 87 + .../src/addons/phone-type-formatter.ke.js | 74 + .../src/addons/phone-type-formatter.kg.js | 74 + .../src/addons/phone-type-formatter.kh.js | 74 + .../src/addons/phone-type-formatter.ki.js | 73 + .../src/addons/phone-type-formatter.km.js | 73 + .../src/addons/phone-type-formatter.kn.js | 122 + .../src/addons/phone-type-formatter.kp.js | 74 + .../src/addons/phone-type-formatter.kr.js | 77 + .../src/addons/phone-type-formatter.kw.js | 74 + .../src/addons/phone-type-formatter.ky.js | 122 + .../src/addons/phone-type-formatter.kz.js | 76 + .../src/addons/phone-type-formatter.la.js | 74 + .../src/addons/phone-type-formatter.lb.js | 74 + .../src/addons/phone-type-formatter.lc.js | 122 + .../src/addons/phone-type-formatter.li.js | 74 + .../src/addons/phone-type-formatter.lk.js | 73 + .../src/addons/phone-type-formatter.lr.js | 74 + .../src/addons/phone-type-formatter.ls.js | 73 + .../src/addons/phone-type-formatter.lt.js | 74 + .../src/addons/phone-type-formatter.lu.js | 76 + .../src/addons/phone-type-formatter.lv.js | 73 + .../src/addons/phone-type-formatter.ly.js | 73 + .../src/addons/phone-type-formatter.ma.js | 76 + .../src/addons/phone-type-formatter.mc.js | 74 + .../src/addons/phone-type-formatter.md.js | 73 + .../src/addons/phone-type-formatter.me.js | 74 + .../src/addons/phone-type-formatter.mf.js | 76 + .../src/addons/phone-type-formatter.mg.js | 73 + .../src/addons/phone-type-formatter.mh.js | 73 + .../src/addons/phone-type-formatter.mk.js | 74 + .../src/addons/phone-type-formatter.ml.js | 74 + .../src/addons/phone-type-formatter.mm.js | 76 + .../src/addons/phone-type-formatter.mn.js | 74 + .../src/addons/phone-type-formatter.mo.js | 73 + .../src/addons/phone-type-formatter.mp.js | 122 + .../src/addons/phone-type-formatter.mq.js | 73 + .../src/addons/phone-type-formatter.mr.js | 73 + .../src/addons/phone-type-formatter.ms.js | 122 + .../src/addons/phone-type-formatter.mt.js | 73 + .../src/addons/phone-type-formatter.mu.js | 74 + .../src/addons/phone-type-formatter.mv.js | 74 + .../src/addons/phone-type-formatter.mw.js | 74 + .../src/addons/phone-type-formatter.mx.js | 76 + .../src/addons/phone-type-formatter.my.js | 75 + .../src/addons/phone-type-formatter.mz.js | 73 + .../src/addons/phone-type-formatter.na.js | 74 + .../src/addons/phone-type-formatter.nc.js | 73 + .../src/addons/phone-type-formatter.ne.js | 73 + .../src/addons/phone-type-formatter.nf.js | 73 + .../src/addons/phone-type-formatter.ng.js | 75 + .../src/addons/phone-type-formatter.ni.js | 73 + .../src/addons/phone-type-formatter.nl.js | 76 + .../src/addons/phone-type-formatter.no.js | 75 + .../src/addons/phone-type-formatter.np.js | 74 + .../src/addons/phone-type-formatter.nr.js | 73 + .../src/addons/phone-type-formatter.nu.js | 73 + .../src/addons/phone-type-formatter.nz.js | 74 + .../src/addons/phone-type-formatter.om.js | 73 + .../src/addons/phone-type-formatter.pa.js | 74 + .../src/addons/phone-type-formatter.pe.js | 74 + .../src/addons/phone-type-formatter.pf.js | 73 + .../src/addons/phone-type-formatter.pg.js | 74 + .../src/addons/phone-type-formatter.ph.js | 75 + .../src/addons/phone-type-formatter.pk.js | 76 + .../src/addons/phone-type-formatter.pl.js | 75 + .../src/addons/phone-type-formatter.pm.js | 73 + .../src/addons/phone-type-formatter.pr.js | 122 + .../src/addons/phone-type-formatter.ps.js | 74 + .../src/addons/phone-type-formatter.pt.js | 74 + .../src/addons/phone-type-formatter.pw.js | 73 + .../src/addons/phone-type-formatter.py.js | 75 + .../src/addons/phone-type-formatter.qa.js | 73 + .../src/addons/phone-type-formatter.re.js | 75 + .../src/addons/phone-type-formatter.ro.js | 74 + .../src/addons/phone-type-formatter.rs.js | 74 + .../src/addons/phone-type-formatter.ru.js | 76 + .../src/addons/phone-type-formatter.rw.js | 73 + .../src/addons/phone-type-formatter.sa.js | 74 + .../src/addons/phone-type-formatter.sb.js | 74 + .../src/addons/phone-type-formatter.sc.js | 73 + .../src/addons/phone-type-formatter.sd.js | 73 + .../src/addons/phone-type-formatter.se.js | 78 + .../src/addons/phone-type-formatter.sg.js | 74 + .../src/addons/phone-type-formatter.sh.js | 74 + .../src/addons/phone-type-formatter.si.js | 74 + .../src/addons/phone-type-formatter.sj.js | 75 + .../src/addons/phone-type-formatter.sk.js | 75 + .../src/addons/phone-type-formatter.sl.js | 73 + .../src/addons/phone-type-formatter.sm.js | 73 + .../src/addons/phone-type-formatter.sn.js | 73 + .../src/addons/phone-type-formatter.so.js | 74 + .../src/addons/phone-type-formatter.sr.js | 73 + .../src/addons/phone-type-formatter.ss.js | 73 + .../src/addons/phone-type-formatter.st.js | 73 + .../src/addons/phone-type-formatter.sv.js | 73 + .../src/addons/phone-type-formatter.sx.js | 122 + .../src/addons/phone-type-formatter.sy.js | 74 + .../src/addons/phone-type-formatter.sz.js | 73 + .../src/addons/phone-type-formatter.ta.js | 74 + .../src/addons/phone-type-formatter.tc.js | 122 + .../src/addons/phone-type-formatter.td.js | 73 + .../src/addons/phone-type-formatter.tg.js | 73 + .../src/addons/phone-type-formatter.th.js | 74 + .../src/addons/phone-type-formatter.tj.js | 74 + .../src/addons/phone-type-formatter.tk.js | 73 + .../src/addons/phone-type-formatter.tl.js | 73 + .../src/addons/phone-type-formatter.tm.js | 74 + .../src/addons/phone-type-formatter.tn.js | 73 + .../src/addons/phone-type-formatter.to.js | 73 + .../src/addons/phone-type-formatter.tr.js | 75 + .../src/addons/phone-type-formatter.tt.js | 122 + .../src/addons/phone-type-formatter.tv.js | 73 + .../src/addons/phone-type-formatter.tw.js | 74 + .../src/addons/phone-type-formatter.tz.js | 73 + .../src/addons/phone-type-formatter.ua.js | 74 + .../src/addons/phone-type-formatter.ug.js | 74 + .../src/addons/phone-type-formatter.us.js | 122 + .../src/addons/phone-type-formatter.uy.js | 73 + .../src/addons/phone-type-formatter.uz.js | 75 + .../src/addons/phone-type-formatter.va.js | 78 + .../src/addons/phone-type-formatter.vc.js | 122 + .../src/addons/phone-type-formatter.ve.js | 73 + .../src/addons/phone-type-formatter.vg.js | 122 + .../src/addons/phone-type-formatter.vi.js | 122 + .../src/addons/phone-type-formatter.vn.js | 75 + .../src/addons/phone-type-formatter.vu.js | 73 + .../src/addons/phone-type-formatter.wf.js | 73 + .../src/addons/phone-type-formatter.ws.js | 73 + .../src/addons/phone-type-formatter.xk.js | 73 + .../src/addons/phone-type-formatter.ye.js | 73 + .../src/addons/phone-type-formatter.yt.js | 75 + .../src/addons/phone-type-formatter.za.js | 74 + .../src/addons/phone-type-formatter.zm.js | 74 + .../src/addons/phone-type-formatter.zw.js | 76 + .../js/vendor/cleave.js/src/build/license.txt | 7 + .../cleave.js/src/common/DefaultProperties.js | 94 + .../src/shortcuts/CreditCardDetector.js | 97 + .../cleave.js/src/shortcuts/DateFormatter.js | 245 + .../src/shortcuts/NumeralFormatter.js | 121 + .../cleave.js/src/shortcuts/PhoneFormatter.js | 60 + .../cleave.js/src/shortcuts/TimeFormatter.js | 178 + public/js/vendor/cleave.js/src/utils/Util.js | 268 + public/js/vendor/flatpickr/LICENSE.md | 21 + public/js/vendor/flatpickr/README.md | 65 + public/js/vendor/flatpickr/dist/esm/index.js | 1976 +++ .../js/vendor/flatpickr/dist/esm/l10n/ar.js | 39 + .../js/vendor/flatpickr/dist/esm/l10n/at.js | 56 + .../js/vendor/flatpickr/dist/esm/l10n/az.js | 61 + .../js/vendor/flatpickr/dist/esm/l10n/be.js | 62 + .../js/vendor/flatpickr/dist/esm/l10n/bg.js | 53 + .../js/vendor/flatpickr/dist/esm/l10n/bn.js | 51 + .../js/vendor/flatpickr/dist/esm/l10n/bs.js | 53 + .../js/vendor/flatpickr/dist/esm/l10n/cat.js | 70 + .../js/vendor/flatpickr/dist/esm/l10n/cs.js | 62 + .../js/vendor/flatpickr/dist/esm/l10n/cy.js | 79 + .../js/vendor/flatpickr/dist/esm/l10n/da.js | 58 + .../js/vendor/flatpickr/dist/esm/l10n/de.js | 57 + .../vendor/flatpickr/dist/esm/l10n/default.js | 72 + .../js/vendor/flatpickr/dist/esm/l10n/eo.js | 60 + .../js/vendor/flatpickr/dist/esm/l10n/es.js | 57 + .../js/vendor/flatpickr/dist/esm/l10n/et.js | 60 + .../js/vendor/flatpickr/dist/esm/l10n/fa.js | 55 + .../js/vendor/flatpickr/dist/esm/l10n/fi.js | 56 + .../js/vendor/flatpickr/dist/esm/l10n/fo.js | 61 + .../js/vendor/flatpickr/dist/esm/l10n/fr.js | 62 + .../js/vendor/flatpickr/dist/esm/l10n/ga.js | 53 + .../js/vendor/flatpickr/dist/esm/l10n/gr.js | 60 + .../js/vendor/flatpickr/dist/esm/l10n/he.js | 45 + .../js/vendor/flatpickr/dist/esm/l10n/hi.js | 51 + .../js/vendor/flatpickr/dist/esm/l10n/hr.js | 53 + .../js/vendor/flatpickr/dist/esm/l10n/hu.js | 60 + .../js/vendor/flatpickr/dist/esm/l10n/id.js | 49 + .../vendor/flatpickr/dist/esm/l10n/index.js | 125 + .../js/vendor/flatpickr/dist/esm/l10n/is.js | 59 + .../js/vendor/flatpickr/dist/esm/l10n/it.js | 58 + .../js/vendor/flatpickr/dist/esm/l10n/ja.js | 58 + .../js/vendor/flatpickr/dist/esm/l10n/ka.js | 62 + .../js/vendor/flatpickr/dist/esm/l10n/km.js | 61 + .../js/vendor/flatpickr/dist/esm/l10n/ko.js | 55 + .../js/vendor/flatpickr/dist/esm/l10n/kz.js | 61 + .../js/vendor/flatpickr/dist/esm/l10n/lt.js | 60 + .../js/vendor/flatpickr/dist/esm/l10n/lv.js | 54 + .../js/vendor/flatpickr/dist/esm/l10n/mk.js | 55 + .../js/vendor/flatpickr/dist/esm/l10n/mn.js | 46 + .../js/vendor/flatpickr/dist/esm/l10n/ms.js | 54 + .../js/vendor/flatpickr/dist/esm/l10n/my.js | 56 + .../js/vendor/flatpickr/dist/esm/l10n/nl.js | 62 + .../js/vendor/flatpickr/dist/esm/l10n/no.js | 60 + .../js/vendor/flatpickr/dist/esm/l10n/pa.js | 52 + .../js/vendor/flatpickr/dist/esm/l10n/pl.js | 60 + .../js/vendor/flatpickr/dist/esm/l10n/pt.js | 53 + .../js/vendor/flatpickr/dist/esm/l10n/ro.js | 56 + .../js/vendor/flatpickr/dist/esm/l10n/ru.js | 62 + .../js/vendor/flatpickr/dist/esm/l10n/si.js | 52 + .../js/vendor/flatpickr/dist/esm/l10n/sk.js | 57 + .../js/vendor/flatpickr/dist/esm/l10n/sl.js | 57 + .../js/vendor/flatpickr/dist/esm/l10n/sq.js | 52 + .../vendor/flatpickr/dist/esm/l10n/sr-cyr.js | 54 + .../js/vendor/flatpickr/dist/esm/l10n/sr.js | 55 + .../js/vendor/flatpickr/dist/esm/l10n/sv.js | 57 + .../js/vendor/flatpickr/dist/esm/l10n/th.js | 59 + .../js/vendor/flatpickr/dist/esm/l10n/tr.js | 61 + .../js/vendor/flatpickr/dist/esm/l10n/uk.js | 53 + .../js/vendor/flatpickr/dist/esm/l10n/uz.js | 62 + .../vendor/flatpickr/dist/esm/l10n/uz_latn.js | 62 + .../js/vendor/flatpickr/dist/esm/l10n/vn.js | 53 + .../vendor/flatpickr/dist/esm/l10n/zh-tw.js | 55 + .../js/vendor/flatpickr/dist/esm/l10n/zh.js | 55 + .../esm/plugins/confirmDate/confirmDate.js | 53 + .../esm/plugins/labelPlugin/labelPlugin.js | 22 + .../dist/esm/plugins/minMaxTimePlugin.js | 64 + .../dist/esm/plugins/momentPlugin.js | 43 + .../dist/esm/plugins/monthSelect/index.js | 179 + .../flatpickr/dist/esm/plugins/rangePlugin.js | 141 + .../dist/esm/plugins/scrollPlugin.js | 56 + .../dist/esm/plugins/weekSelect/weekSelect.js | 78 + .../flatpickr/dist/esm/types/globals.js | 1 + .../flatpickr/dist/esm/types/instance.js | 1 + .../vendor/flatpickr/dist/esm/types/locale.js | 1 + .../flatpickr/dist/esm/types/options.js | 81 + .../vendor/flatpickr/dist/esm/utils/dates.js | 122 + .../js/vendor/flatpickr/dist/esm/utils/dom.js | 54 + .../flatpickr/dist/esm/utils/formatting.js | 132 + .../vendor/flatpickr/dist/esm/utils/index.js | 10 + .../flatpickr/dist/esm/utils/polyfills.js | 14 + public/js/vendor/flatpickr/dist/flatpickr.css | 791 ++ public/js/vendor/flatpickr/dist/flatpickr.js | 2673 ++++ .../vendor/flatpickr/dist/flatpickr.min.css | 13 + .../js/vendor/flatpickr/dist/flatpickr.min.js | 2 + public/js/vendor/flatpickr/dist/ie.css | 13 + public/js/vendor/flatpickr/dist/l10n/ar.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/ar.js | 52 + public/js/vendor/flatpickr/dist/l10n/at.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/at.js | 69 + public/js/vendor/flatpickr/dist/l10n/az.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/az.js | 74 + public/js/vendor/flatpickr/dist/l10n/be.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/be.js | 75 + public/js/vendor/flatpickr/dist/l10n/bg.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/bg.js | 66 + public/js/vendor/flatpickr/dist/l10n/bn.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/bn.js | 64 + public/js/vendor/flatpickr/dist/l10n/bs.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/bs.js | 66 + public/js/vendor/flatpickr/dist/l10n/cat.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/cat.js | 83 + public/js/vendor/flatpickr/dist/l10n/cs.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/cs.js | 75 + public/js/vendor/flatpickr/dist/l10n/cy.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/cy.js | 93 + public/js/vendor/flatpickr/dist/l10n/da.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/da.js | 71 + public/js/vendor/flatpickr/dist/l10n/de.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/de.js | 70 + .../vendor/flatpickr/dist/l10n/default.d.ts | 3 + .../js/vendor/flatpickr/dist/l10n/default.js | 84 + public/js/vendor/flatpickr/dist/l10n/eo.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/eo.js | 73 + public/js/vendor/flatpickr/dist/l10n/es.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/es.js | 70 + public/js/vendor/flatpickr/dist/l10n/et.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/et.js | 73 + public/js/vendor/flatpickr/dist/l10n/fa.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/fa.js | 68 + public/js/vendor/flatpickr/dist/l10n/fi.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/fi.js | 69 + public/js/vendor/flatpickr/dist/l10n/fo.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/fo.js | 74 + public/js/vendor/flatpickr/dist/l10n/fr.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/fr.js | 75 + public/js/vendor/flatpickr/dist/l10n/ga.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/ga.js | 66 + public/js/vendor/flatpickr/dist/l10n/gr.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/gr.js | 73 + public/js/vendor/flatpickr/dist/l10n/he.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/he.js | 58 + public/js/vendor/flatpickr/dist/l10n/hi.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/hi.js | 64 + public/js/vendor/flatpickr/dist/l10n/hr.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/hr.js | 66 + public/js/vendor/flatpickr/dist/l10n/hu.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/hu.js | 73 + public/js/vendor/flatpickr/dist/l10n/id.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/id.js | 62 + .../js/vendor/flatpickr/dist/l10n/index.d.ts | 3 + public/js/vendor/flatpickr/dist/l10n/index.js | 3598 +++++ public/js/vendor/flatpickr/dist/l10n/is.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/is.js | 72 + public/js/vendor/flatpickr/dist/l10n/it.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/it.js | 71 + public/js/vendor/flatpickr/dist/l10n/ja.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/ja.js | 71 + public/js/vendor/flatpickr/dist/l10n/ka.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/ka.js | 75 + public/js/vendor/flatpickr/dist/l10n/km.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/km.js | 74 + public/js/vendor/flatpickr/dist/l10n/ko.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/ko.js | 68 + public/js/vendor/flatpickr/dist/l10n/kz.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/kz.js | 74 + public/js/vendor/flatpickr/dist/l10n/lt.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/lt.js | 73 + public/js/vendor/flatpickr/dist/l10n/lv.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/lv.js | 67 + public/js/vendor/flatpickr/dist/l10n/mk.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/mk.js | 68 + public/js/vendor/flatpickr/dist/l10n/mn.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/mn.js | 59 + public/js/vendor/flatpickr/dist/l10n/ms.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/ms.js | 67 + public/js/vendor/flatpickr/dist/l10n/my.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/my.js | 69 + public/js/vendor/flatpickr/dist/l10n/nl.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/nl.js | 75 + public/js/vendor/flatpickr/dist/l10n/no.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/no.js | 73 + public/js/vendor/flatpickr/dist/l10n/pa.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/pa.js | 65 + public/js/vendor/flatpickr/dist/l10n/pl.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/pl.js | 73 + public/js/vendor/flatpickr/dist/l10n/pt.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/pt.js | 66 + public/js/vendor/flatpickr/dist/l10n/ro.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/ro.js | 69 + public/js/vendor/flatpickr/dist/l10n/ru.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/ru.js | 75 + public/js/vendor/flatpickr/dist/l10n/si.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/si.js | 65 + public/js/vendor/flatpickr/dist/l10n/sk.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/sk.js | 70 + public/js/vendor/flatpickr/dist/l10n/sl.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/sl.js | 70 + public/js/vendor/flatpickr/dist/l10n/sq.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/sq.js | 65 + .../js/vendor/flatpickr/dist/l10n/sr-cyr.d.ts | 69 + .../js/vendor/flatpickr/dist/l10n/sr-cyr.js | 67 + public/js/vendor/flatpickr/dist/l10n/sr.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/sr.js | 68 + public/js/vendor/flatpickr/dist/l10n/sv.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/sv.js | 70 + public/js/vendor/flatpickr/dist/l10n/th.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/th.js | 72 + public/js/vendor/flatpickr/dist/l10n/tr.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/tr.js | 74 + public/js/vendor/flatpickr/dist/l10n/uk.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/uk.js | 66 + public/js/vendor/flatpickr/dist/l10n/uz.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/uz.js | 75 + .../vendor/flatpickr/dist/l10n/uz_latn.d.ts | 69 + .../js/vendor/flatpickr/dist/l10n/uz_latn.js | 75 + public/js/vendor/flatpickr/dist/l10n/vn.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/vn.js | 66 + .../js/vendor/flatpickr/dist/l10n/zh-tw.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/zh-tw.js | 68 + public/js/vendor/flatpickr/dist/l10n/zh.d.ts | 69 + public/js/vendor/flatpickr/dist/l10n/zh.js | 68 + .../dist/plugins/confirmDate/confirmDate.css | 24 + .../dist/plugins/confirmDate/confirmDate.d.ts | 9 + .../dist/plugins/confirmDate/confirmDate.js | 100 + .../dist/plugins/labelPlugin/labelPlugin.d.ts | 3 + .../dist/plugins/labelPlugin/labelPlugin.js | 31 + .../dist/plugins/minMaxTimePlugin.d.ts | 17 + .../dist/plugins/minMaxTimePlugin.js | 330 + .../flatpickr/dist/plugins/momentPlugin.d.ts | 6 + .../flatpickr/dist/plugins/momentPlugin.js | 69 + .../dist/plugins/monthSelect/index.d.ts | 16 + .../dist/plugins/monthSelect/index.js | 227 + .../dist/plugins/monthSelect/style.css | 79 + .../flatpickr/dist/plugins/rangePlugin.d.ts | 12 + .../flatpickr/dist/plugins/rangePlugin.js | 171 + .../flatpickr/dist/plugins/scrollPlugin.d.ts | 3 + .../flatpickr/dist/plugins/scrollPlugin.js | 85 + .../dist/plugins/weekSelect/weekSelect.d.ts | 7 + .../dist/plugins/weekSelect/weekSelect.js | 99 + .../vendor/flatpickr/dist/themes/airbnb.css | 879 ++ .../vendor/flatpickr/dist/themes/confetti.css | 802 ++ .../js/vendor/flatpickr/dist/themes/dark.css | 791 ++ .../js/vendor/flatpickr/dist/themes/light.css | 805 ++ .../flatpickr/dist/themes/material_blue.css | 802 ++ .../flatpickr/dist/themes/material_green.css | 802 ++ .../flatpickr/dist/themes/material_orange.css | 802 ++ .../flatpickr/dist/themes/material_red.css | 802 ++ .../vendor/flatpickr/dist/types/globals.d.ts | 20 + .../vendor/flatpickr/dist/types/instance.d.ts | 111 + .../vendor/flatpickr/dist/types/locale.d.ts | 112 + .../vendor/flatpickr/dist/types/options.d.ts | 148 + public/js/vendor/flatpickr/dist/typings.d.ts | 40 + .../js/vendor/flatpickr/dist/utils/dates.d.ts | 23 + .../js/vendor/flatpickr/dist/utils/dom.d.ts | 6 + .../flatpickr/dist/utils/formatting.d.ts | 13 + .../js/vendor/flatpickr/dist/utils/index.d.ts | 8 + public/js/vendor/flatpickr/package.json | 109 + .../js/vendor/flatpickr/src/style/_vars.styl | 34 + .../vendor/flatpickr/src/style/flatpickr.styl | 703 + public/js/vendor/flatpickr/src/style/ie.styl | 14 + .../flatpickr/src/style/themes/airbnb.styl | 87 + .../flatpickr/src/style/themes/confetti.styl | 18 + .../flatpickr/src/style/themes/dark.styl | 18 + .../flatpickr/src/style/themes/light.styl | 22 + .../src/style/themes/material_blue.styl | 18 + .../src/style/themes/material_green.styl | 18 + .../src/style/themes/material_orange.styl | 18 + .../src/style/themes/material_red.styl | 18 + public/js/vendor/imagesloaded/README.md | 362 + .../imagesloaded/assets/2D333F_0_0.woff | Bin 0 -> 26874 bytes .../imagesloaded/assets/2D333F_0_0.woff2 | Bin 0 -> 20611 bytes .../imagesloaded/assets/2D333F_1_0.woff | Bin 0 -> 29627 bytes .../imagesloaded/assets/2D333F_1_0.woff2 | Bin 0 -> 22858 bytes .../imagesloaded/assets/2D333F_2_0.woff | Bin 0 -> 27461 bytes .../imagesloaded/assets/2D333F_2_0.woff2 | Bin 0 -> 21205 bytes public/js/vendor/imagesloaded/bower.json | 37 + public/js/vendor/imagesloaded/composer.json | 15 + public/js/vendor/imagesloaded/contributing.md | 20 + public/js/vendor/imagesloaded/gulpfile.js | 128 + public/js/vendor/imagesloaded/imagesloaded.js | 377 + .../vendor/imagesloaded/imagesloaded.pkgd.js | 497 + .../imagesloaded/imagesloaded.pkgd.min.js | 7 + public/js/vendor/imagesloaded/package.json | 78 + .../sandbox/background/css/background.css | 29 + .../sandbox/background/index.html | 51 + .../imagesloaded/sandbox/progress/index.html | 89 + .../imagesloaded/sandbox/progress/progress.js | 111 + .../js/vendor/imagesloaded/test/css/tests.css | 41 + .../imagesloaded/test/img/blue-shell.jpg | Bin 0 -> 24555 bytes .../imagesloaded/test/img/bowser-jr.jpg | Bin 0 -> 36987 bytes .../imagesloaded/test/img/thunder-cloud.jpg | Bin 0 -> 24588 bytes public/js/vendor/imagesloaded/test/index.html | 104 + .../vendor/imagesloaded/test/unit/append.js | 30 + .../imagesloaded/test/unit/background.js | 70 + .../vendor/imagesloaded/test/unit/basics.js | 28 + .../vendor/imagesloaded/test/unit/data-uri.js | 10 + .../imagesloaded/test/unit/jquery-fail.js | 29 + .../imagesloaded/test/unit/jquery-success.js | 28 + .../imagesloaded/test/unit/local-files.js | 31 + .../imagesloaded/test/unit/no-images.js | 11 + .../imagesloaded/test/unit/non-element.js | 24 + .../imagesloaded/test/unit/selector-string.js | 12 + .../imagesloaded/test/unit/single-element.js | 11 + public/js/vendor/jarallax/LICENSE | 21 + public/js/vendor/jarallax/README.md | 385 + .../vendor/jarallax/dist/jarallax-element.js | 290 + .../jarallax/dist/jarallax-element.min.js | 7 + .../jarallax/dist/jarallax-element.min.js.map | 1 + .../js/vendor/jarallax/dist/jarallax-video.js | 1363 ++ .../jarallax/dist/jarallax-video.min.js | 7 + .../jarallax/dist/jarallax-video.min.js.map | 1 + public/js/vendor/jarallax/dist/jarallax.css | 15 + public/js/vendor/jarallax/dist/jarallax.js | 1033 ++ .../js/vendor/jarallax/dist/jarallax.min.js | 7 + .../vendor/jarallax/dist/jarallax.min.js.map | 1 + public/js/vendor/jarallax/index.js | 13 + public/js/vendor/jarallax/package.json | 106 + .../jarallax/src/jarallax-element.esm.js | 90 + .../vendor/jarallax/src/jarallax-element.js | 13 + .../vendor/jarallax/src/jarallax-video.esm.js | 267 + .../js/vendor/jarallax/src/jarallax-video.js | 17 + public/js/vendor/jarallax/src/jarallax.css | 15 + public/js/vendor/jarallax/src/jarallax.esm.js | 768 ++ public/js/vendor/jarallax/src/jarallax.js | 35 + public/js/vendor/lg-fullscreen.js/LICENSE.md | 673 + .../vendor/lg-fullscreen.js/contributing.md | 26 + .../lg-fullscreen.js/dist/lg-fullscreen.js | 131 + .../dist/lg-fullscreen.min.js | 7 + .../js/vendor/lg-fullscreen.js/package.json | 87 + public/js/vendor/lg-fullscreen.js/readme.md | 66 + public/js/vendor/lg-video.js/LICENSE.md | 673 + public/js/vendor/lg-video.js/contributing.md | 26 + public/js/vendor/lg-video.js/dist/lg-video.js | 344 + .../vendor/lg-video.js/dist/lg-video.min.js | 7 + public/js/vendor/lg-video.js/package.json | 87 + public/js/vendor/lg-video.js/readme.md | 83 + public/js/vendor/lg-zoom.js/LICENSE.md | 673 + public/js/vendor/lg-zoom.js/contributing.md | 26 + public/js/vendor/lg-zoom.js/dist/lg-zoom.js | 715 + .../js/vendor/lg-zoom.js/dist/lg-zoom.min.js | 7 + public/js/vendor/lg-zoom.js/package.json | 87 + public/js/vendor/lg-zoom.js/readme.md | 73 + public/js/vendor/lightgallery.js/LICENSE.md | 684 + .../js/vendor/lightgallery.js/contributing.md | 29 + .../dist/css/lg-fb-comment-box.css | 31 + .../dist/css/lg-fb-comment-box.css.map | 7 + .../dist/css/lg-fb-comment-box.min.css | 1 + .../dist/css/lg-transitions.css | 776 ++ .../dist/css/lg-transitions.css.map | 7 + .../dist/css/lg-transitions.min.css | 1 + .../lightgallery.js/dist/css/lightgallery.css | 1153 ++ .../dist/css/lightgallery.css.map | 7 + .../dist/css/lightgallery.min.css | 1 + .../vendor/lightgallery.js/dist/fonts/lg.svg | 51 + .../vendor/lightgallery.js/dist/fonts/lg.ttf | Bin 0 -> 4432 bytes .../vendor/lightgallery.js/dist/fonts/lg.woff | Bin 0 -> 4508 bytes .../lightgallery.js/dist/img/loading.gif | Bin 0 -> 3801 bytes .../lightgallery.js/dist/img/video-play.png | Bin 0 -> 819 bytes .../lightgallery.js/dist/img/vimeo-play.png | Bin 0 -> 1482 bytes .../lightgallery.js/dist/img/youtube-play.png | Bin 0 -> 2703 bytes .../lightgallery.js/dist/js/lightgallery.js | 1620 +++ .../dist/js/lightgallery.min.js | 7 + .../vendor/lightgallery.js/lib/js/lg-utils.js | 158 + .../lightgallery.js/lib/js/lightgallery.js | 1451 +++ public/js/vendor/lightgallery.js/package.json | 93 + public/js/vendor/lightgallery.js/readme.md | 205 + .../src/css/lg-fb-comment-box.css | 31 + .../src/css/lg-transitions.css | 776 ++ .../lightgallery.js/src/css/lightgallery.css | 1153 ++ .../vendor/lightgallery.js/src/fonts/lg.svg | 51 + .../vendor/lightgallery.js/src/fonts/lg.ttf | Bin 0 -> 4432 bytes .../vendor/lightgallery.js/src/fonts/lg.woff | Bin 0 -> 4508 bytes .../lightgallery.js/src/img/loading.gif | Bin 0 -> 3801 bytes .../lightgallery.js/src/img/video-play.png | Bin 0 -> 819 bytes .../lightgallery.js/src/img/vimeo-play.png | Bin 0 -> 1482 bytes .../lightgallery.js/src/img/youtube-play.png | Bin 0 -> 2703 bytes .../vendor/lightgallery.js/src/js/lg-utils.js | 136 + .../lightgallery.js/src/js/lightgallery.js | 1455 +++ .../src/sass/lg-animations.scss | 714 + .../lightgallery.js/src/sass/lg-autoplay.scss | 36 + .../src/sass/lg-fb-comment-box.scss | 46 + .../lightgallery.js/src/sass/lg-fonts.scss | 26 + .../src/sass/lg-fullscreen.scss | 9 + .../lightgallery.js/src/sass/lg-mixins.scss | 330 + .../lightgallery.js/src/sass/lg-pager.scss | 89 + .../lightgallery.js/src/sass/lg-rotate.scss | 38 + .../lightgallery.js/src/sass/lg-share.scss | 135 + .../src/sass/lg-theme-default.scss | 212 + .../src/sass/lg-thumbnail.scss | 113 + .../src/sass/lg-transitions.scss | 766 ++ .../src/sass/lg-variables.scss | 57 + .../lightgallery.js/src/sass/lg-video.scss | 103 + .../lightgallery.js/src/sass/lg-zoom.scss | 69 + .../src/sass/lightgallery.scss | 293 + public/js/vendor/nouislider/CHANGELOG.MD | 189 + public/js/vendor/nouislider/LICENSE.md | 21 + public/js/vendor/nouislider/README.md | 41 + .../nouislider/distribute/nouislider.css | 310 + .../nouislider/distribute/nouislider.js | 2178 ++++ .../nouislider/distribute/nouislider.min.css | 2 + .../nouislider/distribute/nouislider.min.js | 2 + public/js/vendor/nouislider/package.json | 71 + public/js/vendor/parallax-js/LICENSE | 30 + public/js/vendor/parallax-js/README.md | 350 + public/js/vendor/parallax-js/bower.json | 26 + public/js/vendor/parallax-js/dist/parallax.js | 1021 ++ .../vendor/parallax-js/dist/parallax.min.js | 2 + .../parallax-js/dist/parallax.min.js.map | 1 + public/js/vendor/parallax-js/gulpfile.js | 88 + public/js/vendor/parallax-js/package.json | 80 + public/js/vendor/parallax-js/src/parallax.js | 593 + public/js/vendor/parallax-js/yarn.lock | 4367 +++++++ public/js/vendor/prismjs/CHANGELOG.md | 2326 ++++ public/js/vendor/prismjs/LICENSE | 21 + public/js/vendor/prismjs/README.md | 32 + public/js/vendor/prismjs/components.js | 2 + public/js/vendor/prismjs/components.json | 1444 +++ public/js/vendor/prismjs/components/index.js | 56 + .../vendor/prismjs/components/prism-abap.js | 48 + .../prismjs/components/prism-abap.min.js | 1 + .../vendor/prismjs/components/prism-abnf.js | 54 + .../prismjs/components/prism-abnf.min.js | 1 + .../prismjs/components/prism-actionscript.js | 15 + .../components/prism-actionscript.min.js | 1 + .../js/vendor/prismjs/components/prism-ada.js | 19 + .../prismjs/components/prism-ada.min.js | 1 + .../vendor/prismjs/components/prism-agda.js | 24 + .../prismjs/components/prism-agda.min.js | 1 + .../js/vendor/prismjs/components/prism-al.js | 25 + .../vendor/prismjs/components/prism-al.min.js | 1 + .../vendor/prismjs/components/prism-antlr4.js | 65 + .../prismjs/components/prism-antlr4.min.js | 1 + .../prismjs/components/prism-apacheconf.js | 47 + .../components/prism-apacheconf.min.js | 1 + .../vendor/prismjs/components/prism-apex.js | 65 + .../prismjs/components/prism-apex.min.js | 1 + .../js/vendor/prismjs/components/prism-apl.js | 32 + .../prismjs/components/prism-apl.min.js | 1 + .../prismjs/components/prism-applescript.js | 20 + .../components/prism-applescript.min.js | 1 + .../js/vendor/prismjs/components/prism-aql.js | 41 + .../prismjs/components/prism-aql.min.js | 1 + .../prismjs/components/prism-arduino.js | 5 + .../prismjs/components/prism-arduino.min.js | 1 + .../vendor/prismjs/components/prism-arff.js | 10 + .../prismjs/components/prism-arff.min.js | 1 + .../prismjs/components/prism-asciidoc.js | 234 + .../prismjs/components/prism-asciidoc.min.js | 1 + .../prismjs/components/prism-asm6502.js | 28 + .../prismjs/components/prism-asm6502.min.js | 1 + .../vendor/prismjs/components/prism-aspnet.js | 48 + .../prismjs/components/prism-aspnet.min.js | 1 + .../prismjs/components/prism-autohotkey.js | 34 + .../components/prism-autohotkey.min.js | 1 + .../vendor/prismjs/components/prism-autoit.js | 34 + .../prismjs/components/prism-autoit.min.js | 1 + .../vendor/prismjs/components/prism-bash.js | 212 + .../prismjs/components/prism-bash.min.js | 1 + .../vendor/prismjs/components/prism-basic.js | 17 + .../prismjs/components/prism-basic.min.js | 1 + .../vendor/prismjs/components/prism-batch.js | 99 + .../prismjs/components/prism-batch.min.js | 1 + .../vendor/prismjs/components/prism-bbcode.js | 29 + .../prismjs/components/prism-bbcode.min.js | 1 + .../vendor/prismjs/components/prism-birb.js | 23 + .../prismjs/components/prism-birb.min.js | 1 + .../vendor/prismjs/components/prism-bison.js | 39 + .../prismjs/components/prism-bison.min.js | 1 + .../js/vendor/prismjs/components/prism-bnf.js | 21 + .../prismjs/components/prism-bnf.min.js | 1 + .../prismjs/components/prism-brainfuck.js | 20 + .../prismjs/components/prism-brainfuck.min.js | 1 + .../prismjs/components/prism-brightscript.js | 44 + .../components/prism-brightscript.min.js | 1 + .../js/vendor/prismjs/components/prism-bro.js | 48 + .../prismjs/components/prism-bro.min.js | 1 + .../js/vendor/prismjs/components/prism-bsl.js | 71 + .../prismjs/components/prism-bsl.min.js | 1 + .../js/vendor/prismjs/components/prism-c.js | 63 + .../vendor/prismjs/components/prism-c.min.js | 1 + .../js/vendor/prismjs/components/prism-cil.js | 27 + .../prismjs/components/prism-cil.min.js | 1 + .../vendor/prismjs/components/prism-clike.js | 31 + .../prismjs/components/prism-clike.min.js | 1 + .../prismjs/components/prism-clojure.js | 16 + .../prismjs/components/prism-clojure.min.js | 1 + .../vendor/prismjs/components/prism-cmake.js | 29 + .../prismjs/components/prism-cmake.min.js | 1 + .../prismjs/components/prism-coffeescript.js | 96 + .../components/prism-coffeescript.min.js | 1 + .../prismjs/components/prism-concurnas.js | 48 + .../prismjs/components/prism-concurnas.min.js | 1 + .../vendor/prismjs/components/prism-core.js | 1195 ++ .../prismjs/components/prism-core.min.js | 1 + .../js/vendor/prismjs/components/prism-cpp.js | 56 + .../prismjs/components/prism-cpp.min.js | 1 + .../prismjs/components/prism-crystal.js | 51 + .../prismjs/components/prism-crystal.min.js | 1 + .../vendor/prismjs/components/prism-csharp.js | 361 + .../prismjs/components/prism-csharp.min.js | 1 + .../js/vendor/prismjs/components/prism-csp.js | 29 + .../prismjs/components/prism-csp.min.js | 1 + .../prismjs/components/prism-css-extras.js | 116 + .../components/prism-css-extras.min.js | 1 + .../js/vendor/prismjs/components/prism-css.js | 82 + .../prismjs/components/prism-css.min.js | 1 + .../vendor/prismjs/components/prism-cypher.js | 37 + .../prismjs/components/prism-cypher.min.js | 1 + .../js/vendor/prismjs/components/prism-d.js | 80 + .../vendor/prismjs/components/prism-d.min.js | 1 + .../vendor/prismjs/components/prism-dart.js | 24 + .../prismjs/components/prism-dart.min.js | 1 + .../prismjs/components/prism-dataweave.js | 41 + .../prismjs/components/prism-dataweave.min.js | 1 + .../js/vendor/prismjs/components/prism-dax.js | 27 + .../prismjs/components/prism-dax.min.js | 1 + .../vendor/prismjs/components/prism-dhall.js | 69 + .../prismjs/components/prism-dhall.min.js | 1 + .../vendor/prismjs/components/prism-diff.js | 64 + .../prismjs/components/prism-diff.min.js | 1 + .../vendor/prismjs/components/prism-django.js | 60 + .../prismjs/components/prism-django.min.js | 1 + .../prismjs/components/prism-dns-zone-file.js | 33 + .../components/prism-dns-zone-file.min.js | 1 + .../vendor/prismjs/components/prism-docker.js | 14 + .../prismjs/components/prism-docker.min.js | 1 + .../vendor/prismjs/components/prism-ebnf.js | 22 + .../prismjs/components/prism-ebnf.min.js | 1 + .../prismjs/components/prism-editorconfig.js | 25 + .../components/prism-editorconfig.min.js | 1 + .../vendor/prismjs/components/prism-eiffel.js | 37 + .../prismjs/components/prism-eiffel.min.js | 1 + .../js/vendor/prismjs/components/prism-ejs.js | 26 + .../prismjs/components/prism-ejs.min.js | 1 + .../vendor/prismjs/components/prism-elixir.js | 89 + .../prismjs/components/prism-elixir.min.js | 1 + .../js/vendor/prismjs/components/prism-elm.js | 44 + .../prismjs/components/prism-elm.min.js | 1 + .../js/vendor/prismjs/components/prism-erb.js | 20 + .../prismjs/components/prism-erb.min.js | 1 + .../vendor/prismjs/components/prism-erlang.js | 44 + .../prismjs/components/prism-erlang.min.js | 1 + .../vendor/prismjs/components/prism-etlua.js | 23 + .../prismjs/components/prism-etlua.min.js | 1 + .../prismjs/components/prism-excel-formula.js | 66 + .../components/prism-excel-formula.min.js | 1 + .../vendor/prismjs/components/prism-factor.js | 403 + .../prismjs/components/prism-factor.min.js | 1 + .../prism-firestore-security-rules.js | 35 + .../prism-firestore-security-rules.min.js | 1 + .../vendor/prismjs/components/prism-flow.js | 35 + .../prismjs/components/prism-flow.min.js | 1 + .../prismjs/components/prism-fortran.js | 40 + .../prismjs/components/prism-fortran.min.js | 1 + .../vendor/prismjs/components/prism-fsharp.js | 67 + .../prismjs/components/prism-fsharp.min.js | 1 + .../js/vendor/prismjs/components/prism-ftl.js | 97 + .../prismjs/components/prism-ftl.min.js | 1 + .../vendor/prismjs/components/prism-gcode.js | 15 + .../prismjs/components/prism-gcode.min.js | 1 + .../prismjs/components/prism-gdscript.js | 27 + .../prismjs/components/prism-gdscript.min.js | 1 + .../vendor/prismjs/components/prism-gedcom.js | 28 + .../prismjs/components/prism-gedcom.min.js | 1 + .../prismjs/components/prism-gherkin.js | 85 + .../prismjs/components/prism-gherkin.min.js | 1 + .../js/vendor/prismjs/components/prism-git.js | 68 + .../prismjs/components/prism-git.min.js | 1 + .../vendor/prismjs/components/prism-glsl.js | 3 + .../prismjs/components/prism-glsl.min.js | 1 + .../js/vendor/prismjs/components/prism-gml.js | 7 + .../prismjs/components/prism-gml.min.js | 1 + .../js/vendor/prismjs/components/prism-go.js | 12 + .../vendor/prismjs/components/prism-go.min.js | 1 + .../prismjs/components/prism-graphql.js | 43 + .../prismjs/components/prism-graphql.min.js | 1 + .../vendor/prismjs/components/prism-groovy.js | 68 + .../prismjs/components/prism-groovy.min.js | 1 + .../vendor/prismjs/components/prism-haml.js | 142 + .../prismjs/components/prism-haml.min.js | 1 + .../prismjs/components/prism-handlebars.js | 37 + .../components/prism-handlebars.min.js | 1 + .../prismjs/components/prism-haskell.js | 41 + .../prismjs/components/prism-haskell.min.js | 1 + .../vendor/prismjs/components/prism-haxe.js | 45 + .../prismjs/components/prism-haxe.min.js | 1 + .../js/vendor/prismjs/components/prism-hcl.js | 63 + .../prismjs/components/prism-hcl.min.js | 1 + .../vendor/prismjs/components/prism-hlsl.js | 20 + .../prismjs/components/prism-hlsl.min.js | 1 + .../vendor/prismjs/components/prism-hpkp.js | 20 + .../prismjs/components/prism-hpkp.min.js | 1 + .../vendor/prismjs/components/prism-hsts.js | 20 + .../prismjs/components/prism-hsts.min.js | 1 + .../vendor/prismjs/components/prism-http.js | 77 + .../prismjs/components/prism-http.min.js | 1 + .../prismjs/components/prism-ichigojam.js | 15 + .../prismjs/components/prism-ichigojam.min.js | 1 + .../vendor/prismjs/components/prism-icon.js | 20 + .../prismjs/components/prism-icon.min.js | 1 + .../vendor/prismjs/components/prism-iecst.js | 30 + .../prismjs/components/prism-iecst.min.js | 1 + .../vendor/prismjs/components/prism-ignore.js | 23 + .../prismjs/components/prism-ignore.min.js | 1 + .../prismjs/components/prism-inform7.js | 61 + .../prismjs/components/prism-inform7.min.js | 1 + .../js/vendor/prismjs/components/prism-ini.js | 11 + .../prismjs/components/prism-ini.min.js | 1 + .../js/vendor/prismjs/components/prism-io.js | 31 + .../vendor/prismjs/components/prism-io.min.js | 1 + .../js/vendor/prismjs/components/prism-j.js | 25 + .../vendor/prismjs/components/prism-j.min.js | 1 + .../vendor/prismjs/components/prism-java.js | 83 + .../prismjs/components/prism-java.min.js | 1 + .../prismjs/components/prism-javadoc.js | 82 + .../prismjs/components/prism-javadoc.min.js | 1 + .../prismjs/components/prism-javadoclike.js | 87 + .../components/prism-javadoclike.min.js | 1 + .../prismjs/components/prism-javascript.js | 101 + .../components/prism-javascript.min.js | 1 + .../components/prism-javastacktrace.js | 139 + .../components/prism-javastacktrace.min.js | 1 + .../vendor/prismjs/components/prism-jolie.js | 55 + .../prismjs/components/prism-jolie.min.js | 1 + .../js/vendor/prismjs/components/prism-jq.js | 67 + .../vendor/prismjs/components/prism-jq.min.js | 1 + .../prismjs/components/prism-js-extras.js | 135 + .../prismjs/components/prism-js-extras.min.js | 1 + .../prismjs/components/prism-js-templates.js | 346 + .../components/prism-js-templates.min.js | 1 + .../vendor/prismjs/components/prism-jsdoc.js | 78 + .../prismjs/components/prism-jsdoc.min.js | 1 + .../vendor/prismjs/components/prism-json.js | 25 + .../prismjs/components/prism-json.min.js | 1 + .../vendor/prismjs/components/prism-json5.js | 23 + .../prismjs/components/prism-json5.min.js | 1 + .../vendor/prismjs/components/prism-jsonp.js | 7 + .../prismjs/components/prism-jsonp.min.js | 1 + .../prismjs/components/prism-jsstacktrace.js | 48 + .../components/prism-jsstacktrace.min.js | 1 + .../js/vendor/prismjs/components/prism-jsx.js | 126 + .../prismjs/components/prism-jsx.min.js | 1 + .../vendor/prismjs/components/prism-julia.js | 31 + .../prismjs/components/prism-julia.min.js | 1 + .../vendor/prismjs/components/prism-keyman.js | 14 + .../prismjs/components/prism-keyman.min.js | 1 + .../vendor/prismjs/components/prism-kotlin.js | 68 + .../prismjs/components/prism-kotlin.min.js | 1 + .../vendor/prismjs/components/prism-latex.js | 64 + .../prismjs/components/prism-latex.min.js | 1 + .../vendor/prismjs/components/prism-latte.js | 69 + .../prismjs/components/prism-latte.min.js | 1 + .../vendor/prismjs/components/prism-less.js | 54 + .../prismjs/components/prism-less.min.js | 1 + .../prismjs/components/prism-lilypond.js | 69 + .../prismjs/components/prism-lilypond.min.js | 1 + .../vendor/prismjs/components/prism-liquid.js | 12 + .../prismjs/components/prism-liquid.min.js | 1 + .../vendor/prismjs/components/prism-lisp.js | 197 + .../prismjs/components/prism-lisp.min.js | 1 + .../prismjs/components/prism-livescript.js | 119 + .../components/prism-livescript.min.js | 1 + .../vendor/prismjs/components/prism-llvm.js | 19 + .../prismjs/components/prism-llvm.min.js | 1 + .../prismjs/components/prism-lolcode.js | 55 + .../prismjs/components/prism-lolcode.min.js | 1 + .../js/vendor/prismjs/components/prism-lua.js | 20 + .../prismjs/components/prism-lua.min.js | 1 + .../prismjs/components/prism-makefile.js | 34 + .../prismjs/components/prism-makefile.min.js | 1 + .../prismjs/components/prism-markdown.js | 359 + .../prismjs/components/prism-markdown.min.js | 1 + .../components/prism-markup-templating.js | 123 + .../components/prism-markup-templating.min.js | 1 + .../vendor/prismjs/components/prism-markup.js | 130 + .../prismjs/components/prism-markup.min.js | 1 + .../vendor/prismjs/components/prism-matlab.js | 16 + .../prismjs/components/prism-matlab.min.js | 1 + .../js/vendor/prismjs/components/prism-mel.js | 43 + .../prismjs/components/prism-mel.min.js | 1 + .../vendor/prismjs/components/prism-mizar.js | 12 + .../prismjs/components/prism-mizar.min.js | 1 + .../prismjs/components/prism-mongodb.js | 96 + .../prismjs/components/prism-mongodb.min.js | 1 + .../vendor/prismjs/components/prism-monkey.js | 31 + .../prismjs/components/prism-monkey.min.js | 1 + .../prismjs/components/prism-moonscript.js | 57 + .../components/prism-moonscript.min.js | 1 + .../vendor/prismjs/components/prism-n1ql.js | 18 + .../prismjs/components/prism-n1ql.min.js | 1 + .../vendor/prismjs/components/prism-n4js.js | 14 + .../prismjs/components/prism-n4js.min.js | 1 + .../components/prism-nand2tetris-hdl.js | 9 + .../components/prism-nand2tetris-hdl.min.js | 1 + .../prismjs/components/prism-naniscript.js | 170 + .../components/prism-naniscript.min.js | 1 + .../vendor/prismjs/components/prism-nasm.js | 24 + .../prismjs/components/prism-nasm.min.js | 1 + .../vendor/prismjs/components/prism-neon.js | 41 + .../prismjs/components/prism-neon.min.js | 1 + .../vendor/prismjs/components/prism-nginx.js | 11 + .../prismjs/components/prism-nginx.min.js | 1 + .../js/vendor/prismjs/components/prism-nim.js | 33 + .../prismjs/components/prism-nim.min.js | 1 + .../js/vendor/prismjs/components/prism-nix.js | 40 + .../prismjs/components/prism-nix.min.js | 1 + .../vendor/prismjs/components/prism-nsis.js | 29 + .../prismjs/components/prism-nsis.min.js | 1 + .../prismjs/components/prism-objectivec.js | 9 + .../components/prism-objectivec.min.js | 1 + .../vendor/prismjs/components/prism-ocaml.js | 41 + .../prismjs/components/prism-ocaml.min.js | 1 + .../vendor/prismjs/components/prism-opencl.js | 61 + .../prismjs/components/prism-opencl.min.js | 1 + .../js/vendor/prismjs/components/prism-oz.js | 25 + .../vendor/prismjs/components/prism-oz.min.js | 1 + .../vendor/prismjs/components/prism-parigp.js | 30 + .../prismjs/components/prism-parigp.min.js | 1 + .../vendor/prismjs/components/prism-parser.js | 73 + .../prismjs/components/prism-parser.min.js | 1 + .../vendor/prismjs/components/prism-pascal.js | 55 + .../prismjs/components/prism-pascal.min.js | 1 + .../prismjs/components/prism-pascaligo.js | 62 + .../prismjs/components/prism-pascaligo.min.js | 1 + .../vendor/prismjs/components/prism-pcaxis.js | 53 + .../prismjs/components/prism-pcaxis.min.js | 1 + .../prismjs/components/prism-peoplecode.js | 42 + .../components/prism-peoplecode.min.js | 1 + .../vendor/prismjs/components/prism-perl.js | 191 + .../prismjs/components/prism-perl.min.js | 1 + .../prismjs/components/prism-php-extras.js | 11 + .../components/prism-php-extras.min.js | 1 + .../js/vendor/prismjs/components/prism-php.js | 314 + .../prismjs/components/prism-php.min.js | 1 + .../vendor/prismjs/components/prism-phpdoc.js | 27 + .../prismjs/components/prism-phpdoc.min.js | 1 + .../vendor/prismjs/components/prism-plsql.js | 26 + .../prismjs/components/prism-plsql.min.js | 1 + .../prismjs/components/prism-powerquery.js | 55 + .../components/prism-powerquery.min.js | 1 + .../prismjs/components/prism-powershell.js | 60 + .../components/prism-powershell.min.js | 1 + .../prismjs/components/prism-processing.js | 18 + .../components/prism-processing.min.js | 1 + .../vendor/prismjs/components/prism-prolog.js | 20 + .../prismjs/components/prism-prolog.min.js | 1 + .../vendor/prismjs/components/prism-promql.js | 99 + .../prismjs/components/prism-promql.min.js | 1 + .../prismjs/components/prism-properties.js | 9 + .../components/prism-properties.min.js | 1 + .../prismjs/components/prism-protobuf.js | 43 + .../prismjs/components/prism-protobuf.min.js | 1 + .../js/vendor/prismjs/components/prism-pug.js | 183 + .../prismjs/components/prism-pug.min.js | 1 + .../vendor/prismjs/components/prism-puppet.js | 136 + .../prismjs/components/prism-puppet.min.js | 1 + .../vendor/prismjs/components/prism-pure.js | 81 + .../prismjs/components/prism-pure.min.js | 1 + .../prismjs/components/prism-purebasic.js | 70 + .../prismjs/components/prism-purebasic.min.js | 1 + .../prismjs/components/prism-purescript.js | 19 + .../components/prism-purescript.min.js | 1 + .../vendor/prismjs/components/prism-python.js | 64 + .../prismjs/components/prism-python.min.js | 1 + .../js/vendor/prismjs/components/prism-q.js | 51 + .../vendor/prismjs/components/prism-q.min.js | 1 + .../js/vendor/prismjs/components/prism-qml.js | 58 + .../prismjs/components/prism-qml.min.js | 1 + .../vendor/prismjs/components/prism-qore.js | 20 + .../prismjs/components/prism-qore.min.js | 1 + .../js/vendor/prismjs/components/prism-r.js | 22 + .../vendor/prismjs/components/prism-r.min.js | 1 + .../vendor/prismjs/components/prism-racket.js | 65 + .../prismjs/components/prism-racket.min.js | 1 + .../vendor/prismjs/components/prism-reason.js | 28 + .../prismjs/components/prism-reason.min.js | 1 + .../vendor/prismjs/components/prism-regex.js | 104 + .../prismjs/components/prism-regex.min.js | 1 + .../vendor/prismjs/components/prism-renpy.js | 31 + .../prismjs/components/prism-renpy.min.js | 1 + .../vendor/prismjs/components/prism-rest.js | 205 + .../prismjs/components/prism-rest.min.js | 1 + .../js/vendor/prismjs/components/prism-rip.js | 32 + .../prismjs/components/prism-rip.min.js | 1 + .../prismjs/components/prism-roboconf.js | 27 + .../prismjs/components/prism-roboconf.min.js | 1 + .../components/prism-robotframework.js | 104 + .../components/prism-robotframework.min.js | 1 + .../vendor/prismjs/components/prism-ruby.js | 106 + .../prismjs/components/prism-ruby.min.js | 1 + .../vendor/prismjs/components/prism-rust.js | 129 + .../prismjs/components/prism-rust.min.js | 1 + .../js/vendor/prismjs/components/prism-sas.js | 326 + .../prismjs/components/prism-sas.min.js | 1 + .../vendor/prismjs/components/prism-sass.js | 72 + .../prismjs/components/prism-sass.min.js | 1 + .../vendor/prismjs/components/prism-scala.js | 17 + .../prismjs/components/prism-scala.min.js | 1 + .../vendor/prismjs/components/prism-scheme.js | 121 + .../prismjs/components/prism-scheme.min.js | 1 + .../vendor/prismjs/components/prism-scss.js | 81 + .../prismjs/components/prism-scss.min.js | 1 + .../prismjs/components/prism-shell-session.js | 52 + .../components/prism-shell-session.min.js | 1 + .../vendor/prismjs/components/prism-smali.js | 86 + .../prismjs/components/prism-smali.min.js | 1 + .../prismjs/components/prism-smalltalk.js | 31 + .../prismjs/components/prism-smalltalk.min.js | 1 + .../vendor/prismjs/components/prism-smarty.js | 87 + .../prismjs/components/prism-smarty.min.js | 1 + .../js/vendor/prismjs/components/prism-sml.js | 68 + .../prismjs/components/prism-sml.min.js | 1 + .../prismjs/components/prism-solidity.js | 22 + .../prismjs/components/prism-solidity.min.js | 1 + .../prismjs/components/prism-solution-file.js | 51 + .../components/prism-solution-file.min.js | 1 + .../js/vendor/prismjs/components/prism-soy.js | 96 + .../prismjs/components/prism-soy.min.js | 1 + .../vendor/prismjs/components/prism-sparql.js | 18 + .../prismjs/components/prism-sparql.min.js | 1 + .../prismjs/components/prism-splunk-spl.js | 24 + .../components/prism-splunk-spl.min.js | 1 + .../js/vendor/prismjs/components/prism-sqf.js | 34 + .../prismjs/components/prism-sqf.min.js | 1 + .../js/vendor/prismjs/components/prism-sql.js | 24 + .../prismjs/components/prism-sql.min.js | 1 + .../vendor/prismjs/components/prism-stan.js | 49 + .../prismjs/components/prism-stan.min.js | 1 + .../vendor/prismjs/components/prism-stylus.js | 144 + .../prismjs/components/prism-stylus.min.js | 1 + .../vendor/prismjs/components/prism-swift.js | 25 + .../prismjs/components/prism-swift.min.js | 1 + .../vendor/prismjs/components/prism-t4-cs.js | 1 + .../prismjs/components/prism-t4-cs.min.js | 1 + .../prismjs/components/prism-t4-templating.js | 49 + .../components/prism-t4-templating.min.js | 1 + .../vendor/prismjs/components/prism-t4-vb.js | 1 + .../prismjs/components/prism-t4-vb.min.js | 1 + .../js/vendor/prismjs/components/prism-tap.js | 20 + .../prismjs/components/prism-tap.min.js | 1 + .../js/vendor/prismjs/components/prism-tcl.js | 46 + .../prismjs/components/prism-tcl.min.js | 1 + .../prismjs/components/prism-textile.js | 276 + .../prismjs/components/prism-textile.min.js | 1 + .../vendor/prismjs/components/prism-toml.js | 49 + .../prismjs/components/prism-toml.min.js | 1 + .../js/vendor/prismjs/components/prism-tsx.js | 11 + .../prismjs/components/prism-tsx.min.js | 1 + .../js/vendor/prismjs/components/prism-tt2.js | 53 + .../prismjs/components/prism-tt2.min.js | 1 + .../vendor/prismjs/components/prism-turtle.js | 54 + .../prismjs/components/prism-turtle.min.js | 1 + .../vendor/prismjs/components/prism-twig.js | 46 + .../prismjs/components/prism-twig.min.js | 1 + .../prismjs/components/prism-typescript.js | 42 + .../components/prism-typescript.min.js | 1 + .../prismjs/components/prism-typoscript.js | 80 + .../components/prism-typoscript.min.js | 1 + .../prismjs/components/prism-unrealscript.js | 42 + .../components/prism-unrealscript.min.js | 1 + .../vendor/prismjs/components/prism-vala.js | 84 + .../prismjs/components/prism-vala.min.js | 1 + .../vendor/prismjs/components/prism-vbnet.js | 15 + .../prismjs/components/prism-vbnet.min.js | 1 + .../prismjs/components/prism-velocity.js | 72 + .../prismjs/components/prism-velocity.min.js | 1 + .../prismjs/components/prism-verilog.js | 20 + .../prismjs/components/prism-verilog.min.js | 1 + .../vendor/prismjs/components/prism-vhdl.js | 23 + .../prismjs/components/prism-vhdl.min.js | 1 + .../js/vendor/prismjs/components/prism-vim.js | 10 + .../prismjs/components/prism-vim.min.js | 1 + .../prismjs/components/prism-visual-basic.js | 35 + .../components/prism-visual-basic.min.js | 1 + .../prismjs/components/prism-warpscript.js | 21 + .../components/prism-warpscript.min.js | 1 + .../vendor/prismjs/components/prism-wasm.js | 31 + .../prismjs/components/prism-wasm.min.js | 1 + .../vendor/prismjs/components/prism-wiki.js | 82 + .../prismjs/components/prism-wiki.min.js | 1 + .../vendor/prismjs/components/prism-xeora.js | 114 + .../prismjs/components/prism-xeora.min.js | 1 + .../prismjs/components/prism-xml-doc.js | 40 + .../prismjs/components/prism-xml-doc.min.js | 1 + .../vendor/prismjs/components/prism-xojo.js | 20 + .../prismjs/components/prism-xojo.min.js | 1 + .../vendor/prismjs/components/prism-xquery.js | 162 + .../prismjs/components/prism-xquery.min.js | 1 + .../vendor/prismjs/components/prism-yaml.js | 83 + .../prismjs/components/prism-yaml.min.js | 1 + .../vendor/prismjs/components/prism-yang.js | 20 + .../prismjs/components/prism-yang.min.js | 1 + .../js/vendor/prismjs/components/prism-zig.js | 101 + .../prismjs/components/prism-zig.min.js | 1 + public/js/vendor/prismjs/dependencies.js | 450 + public/js/vendor/prismjs/package.json | 105 + .../plugins/autolinker/prism-autolinker.css | 3 + .../plugins/autolinker/prism-autolinker.js | 81 + .../autolinker/prism-autolinker.min.js | 1 + .../plugins/autoloader/prism-autoloader.js | 483 + .../autoloader/prism-autoloader.min.js | 1 + .../command-line/prism-command-line.css | 33 + .../command-line/prism-command-line.js | 182 + .../command-line/prism-command-line.min.js | 1 + .../prism-copy-to-clipboard.js | 78 + .../prism-copy-to-clipboard.min.js | 1 + .../custom-class/prism-custom-class.js | 95 + .../custom-class/prism-custom-class.min.js | 1 + .../prism-data-uri-highlight.js | 98 + .../prism-data-uri-highlight.min.js | 1 + .../diff-highlight/prism-diff-highlight.css | 13 + .../diff-highlight/prism-diff-highlight.js | 90 + .../prism-diff-highlight.min.js | 1 + .../download-button/prism-download-button.js | 19 + .../prism-download-button.min.js | 1 + .../file-highlight/prism-file-highlight.js | 146 + .../prism-file-highlight.min.js | 1 + .../prism-filter-highlight-all.js | 125 + .../prism-filter-highlight-all.min.js | 1 + .../prism-highlight-keywords.js | 17 + .../prism-highlight-keywords.min.js | 1 + .../inline-color/prism-inline-color.css | 33 + .../inline-color/prism-inline-color.js | 105 + .../inline-color/prism-inline-color.min.js | 1 + .../jsonp-highlight/prism-jsonp-highlight.js | 276 + .../prism-jsonp-highlight.min.js | 1 + .../plugins/keep-markup/prism-keep-markup.js | 103 + .../keep-markup/prism-keep-markup.min.js | 1 + .../line-highlight/prism-line-highlight.css | 70 + .../line-highlight/prism-line-highlight.js | 318 + .../prism-line-highlight.min.js | 1 + .../line-numbers/prism-line-numbers.css | 40 + .../line-numbers/prism-line-numbers.js | 247 + .../line-numbers/prism-line-numbers.min.js | 1 + .../match-braces/prism-match-braces.css | 29 + .../match-braces/prism-match-braces.js | 178 + .../match-braces/prism-match-braces.min.js | 1 + .../prism-normalize-whitespace.js | 194 + .../prism-normalize-whitespace.min.js | 1 + .../plugins/previewers/prism-previewers.css | 242 + .../plugins/previewers/prism-previewers.js | 703 + .../previewers/prism-previewers.min.js | 1 + .../prism-remove-initial-line-feed.js | 21 + .../prism-remove-initial-line-feed.min.js | 1 + .../show-invisibles/prism-show-invisibles.css | 34 + .../show-invisibles/prism-show-invisibles.js | 84 + .../prism-show-invisibles.min.js | 1 + .../show-language/prism-show-language.js | 247 + .../show-language/prism-show-language.min.js | 1 + .../prismjs/plugins/toolbar/prism-toolbar.css | 64 + .../prismjs/plugins/toolbar/prism-toolbar.js | 178 + .../plugins/toolbar/prism-toolbar.min.js | 1 + .../plugins/treeview/prism-treeview.css | 168 + .../plugins/treeview/prism-treeview.js | 63 + .../plugins/treeview/prism-treeview.min.js | 1 + .../prism-unescaped-markup.css | 10 + .../prism-unescaped-markup.js | 62 + .../prism-unescaped-markup.min.js | 1 + .../vendor/prismjs/plugins/wpd/prism-wpd.css | 11 + .../vendor/prismjs/plugins/wpd/prism-wpd.js | 169 + .../prismjs/plugins/wpd/prism-wpd.min.js | 1 + public/js/vendor/prismjs/prism.js | 1720 +++ public/js/vendor/prismjs/themes/prism-coy.css | 218 + .../js/vendor/prismjs/themes/prism-dark.css | 129 + .../js/vendor/prismjs/themes/prism-funky.css | 130 + .../vendor/prismjs/themes/prism-okaidia.css | 123 + .../prismjs/themes/prism-solarizedlight.css | 150 + .../vendor/prismjs/themes/prism-tomorrow.css | 122 + .../vendor/prismjs/themes/prism-twilight.css | 199 + public/js/vendor/prismjs/themes/prism.css | 140 + public/js/vendor/proj4js.min.js | 1 + public/js/vendor/shufflejs/LICENSE | 21 + public/js/vendor/shufflejs/README.md | 36 + .../js/vendor/shufflejs/dist/shuffle.esm.js | 2232 ++++ .../vendor/shufflejs/dist/shuffle.esm.js.map | 1 + public/js/vendor/shufflejs/dist/shuffle.js | 2240 ++++ .../js/vendor/shufflejs/dist/shuffle.js.map | 1 + .../js/vendor/shufflejs/dist/shuffle.min.js | 2 + .../vendor/shufflejs/dist/shuffle.min.js.map | 1 + public/js/vendor/shufflejs/index.d.ts | 381 + public/js/vendor/shufflejs/package.json | 102 + public/js/vendor/shufflejs/src/array-max.js | 3 + public/js/vendor/shufflejs/src/array-min.js | 3 + public/js/vendor/shufflejs/src/classes.js | 6 + .../js/vendor/shufflejs/src/computed-size.js | 17 + .../vendor/shufflejs/src/get-number-style.js | 34 + public/js/vendor/shufflejs/src/get-number.js | 8 + public/js/vendor/shufflejs/src/hyphenate.js | 9 + public/js/vendor/shufflejs/src/layout.js | 212 + .../vendor/shufflejs/src/on-transition-end.js | 34 + public/js/vendor/shufflejs/src/point.js | 25 + public/js/vendor/shufflejs/src/rect.js | 39 + .../js/vendor/shufflejs/src/shuffle-item.js | 123 + public/js/vendor/shufflejs/src/shuffle.js | 1226 ++ public/js/vendor/shufflejs/src/sorter.js | 102 + public/js/vendor/simplebar/LICENSE | 21 + public/js/vendor/simplebar/README.md | 359 + .../simplebar/dist/simplebar-core.esm.js | 889 ++ .../simplebar/dist/simplebar-core.esm.js.map | 1 + public/js/vendor/simplebar/dist/simplebar.css | 211 + .../js/vendor/simplebar/dist/simplebar.d.ts | 50 + .../js/vendor/simplebar/dist/simplebar.esm.js | 994 ++ .../simplebar/dist/simplebar.esm.js.map | 1 + public/js/vendor/simplebar/dist/simplebar.js | 5547 ++++++++ .../vendor/simplebar/dist/simplebar.min.css | 1 + .../js/vendor/simplebar/dist/simplebar.min.js | 10 + .../js/vendor/simplebar/dist/simplebar.umd.js | 127 + public/js/vendor/simplebar/package.json | 88 + public/js/vendor/simplebar/src/helpers.js | 46 + public/js/vendor/simplebar/src/index.js | 102 + .../vendor/simplebar/src/scrollbar-width.js | 40 + public/js/vendor/simplebar/src/simplebar.css | 211 + public/js/vendor/simplebar/src/simplebar.js | 939 ++ public/js/vendor/smooth-scroll/LICENSE.md | 21 + public/js/vendor/smooth-scroll/README.md | 390 + .../smooth-scroll/dist/smooth-scroll.js | 650 + .../smooth-scroll/dist/smooth-scroll.min.js | 2 + .../dist/smooth-scroll.polyfills.js | 720 + .../dist/smooth-scroll.polyfills.min.js | 2 + public/js/vendor/smooth-scroll/gulpfile.js | 315 + public/js/vendor/smooth-scroll/index.html | 149 + .../js/vendor/smooth-scroll/jump-to-top.html | 60 + public/js/vendor/smooth-scroll/package.json | 66 + public/js/vendor/smooth-scroll/speed.html | 69 + .../vendor/smooth-scroll/src/copy/index.html | 149 + .../smooth-scroll/src/copy/jump-to-top.html | 60 + .../vendor/smooth-scroll/src/copy/speed.html | 69 + .../src/js/smooth-scroll/_closest.polyfill.js | 16 + .../js/smooth-scroll/_customEvent.polyfill.js | 19 + .../_requestAnimationFrame.polyfill.js | 33 + .../src/js/smooth-scroll/smooth-scroll.js | 642 + public/js/vendor/tiny-slider/LICENSE | 22 + public/js/vendor/tiny-slider/README.html | 1448 +++ public/js/vendor/tiny-slider/README.md | 526 + .../dist/min/tiny-slider.helper.ie8.js | 2 + .../tiny-slider/dist/min/tiny-slider.js | 2 + .../dist/sourcemaps/tiny-slider.css.map | 1 + .../sourcemaps/tiny-slider.helper.ie8.js.map | 1 + .../dist/sourcemaps/tiny-slider.js.map | 1 + .../vendor/tiny-slider/dist/tiny-slider.css | 3 + .../dist/tiny-slider.helper.ie8.js | 211 + .../js/vendor/tiny-slider/dist/tiny-slider.js | 3208 +++++ public/js/vendor/tiny-slider/package.json | 88 + .../tiny-slider/src/helpers/addCSSRule.js | 9 + .../tiny-slider/src/helpers/addClass.js | 10 + .../tiny-slider/src/helpers/addEvents.js | 8 + .../src/helpers/arrayFromNodeList.js | 7 + .../js/vendor/tiny-slider/src/helpers/caf.js | 5 + .../js/vendor/tiny-slider/src/helpers/calc.js | 33 + .../src/helpers/checkStorageValue.js | 3 + .../src/helpers/classListSupport.js | 1 + .../src/helpers/createStyleSheet.js | 22 + .../tiny-slider/src/helpers/docElement.js | 1 + .../vendor/tiny-slider/src/helpers/events.js | 27 + .../vendor/tiny-slider/src/helpers/extend.js | 21 + .../vendor/tiny-slider/src/helpers/forEach.js | 6 + .../vendor/tiny-slider/src/helpers/getAttr.js | 3 + .../vendor/tiny-slider/src/helpers/getBody.js | 11 + .../src/helpers/getCssRulesLength.js | 4 + .../tiny-slider/src/helpers/getEndProperty.js | 15 + .../tiny-slider/src/helpers/getSlideId.js | 6 + .../src/helpers/getTouchDirection.js | 12 + .../src/helpers/has3DTransforms.js | 27 + .../vendor/tiny-slider/src/helpers/hasAttr.js | 3 + .../tiny-slider/src/helpers/hasClass.js | 7 + .../tiny-slider/src/helpers/hideElement.js | 3 + .../tiny-slider/src/helpers/isNodeList.js | 4 + .../tiny-slider/src/helpers/isVisible.js | 3 + .../tiny-slider/src/helpers/jsTransform.js | 20 + .../src/helpers/mediaquerySupport.js | 35 + .../tiny-slider/src/helpers/passiveOption.js | 11 + .../src/helpers/percentageLayout.js | 35 + .../js/vendor/tiny-slider/src/helpers/raf.js | 7 + .../tiny-slider/src/helpers/removeAttrs.js | 13 + .../tiny-slider/src/helpers/removeCSSRule.js | 9 + .../tiny-slider/src/helpers/removeClass.js | 10 + .../tiny-slider/src/helpers/removeEvents.js | 8 + .../src/helpers/removeEventsByClone.js | 5 + .../tiny-slider/src/helpers/resetFakeBody.js | 11 + .../tiny-slider/src/helpers/setAttrs.js | 12 + .../tiny-slider/src/helpers/setFakeBody.js | 15 + .../src/helpers/setLocalStorage.js | 6 + .../tiny-slider/src/helpers/showElement.js | 3 + .../tiny-slider/src/helpers/toDegree.js | 3 + .../tiny-slider/src/helpers/whichProperty.js | 24 + .../tiny-slider/src/ie8/addEventListener.js | 66 + .../js/vendor/tiny-slider/src/ie8/filter.js | 12 + .../tiny-slider/src/ie8/firstElementChild.js | 16 + .../js/vendor/tiny-slider/src/ie8/forEach.js | 12 + .../tiny-slider/src/ie8/getComputedStyle.js | 40 + .../js/vendor/tiny-slider/src/ie8/indexOf.js | 20 + .../js/vendor/tiny-slider/src/ie8/isArray.js | 6 + .../tiny-slider/src/ie8/lastElementChild.js | 16 + public/js/vendor/tiny-slider/src/ie8/map.js | 18 + .../tiny-slider/src/ie8/nextElementSibling.js | 17 + .../src/ie8/previousElementSibling.js | 17 + .../vendor/tiny-slider/src/tiny-slider.d.ts | 378 + .../tiny-slider/src/tiny-slider.helper.ie8.js | 11 + .../js/vendor/tiny-slider/src/tiny-slider.js | 2766 ++++ .../tiny-slider/src/tiny-slider.module.js | 2766 ++++ .../vendor/tiny-slider/src/tiny-slider.scss | 144 + 1809 files changed, 257182 insertions(+) create mode 100644 public/css/theme.min.css create mode 100644 public/css/theme.min.css.map create mode 100644 public/js/vendor/bootstrap/LICENSE create mode 100644 public/js/vendor/bootstrap/README.md create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-grid.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-grid.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-grid.min.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-grid.min.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-grid.rtl.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-grid.rtl.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-grid.rtl.min.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-reboot.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-reboot.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-reboot.min.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-reboot.min.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-reboot.rtl.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-reboot.rtl.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-reboot.rtl.min.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-utilities.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-utilities.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-utilities.min.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-utilities.min.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-utilities.rtl.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-utilities.rtl.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-utilities.rtl.min.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap.min.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap.min.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap.rtl.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap.rtl.css.map create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap.rtl.min.css create mode 100644 public/js/vendor/bootstrap/dist/css/bootstrap.rtl.min.css.map create mode 100644 public/js/vendor/bootstrap/dist/js/bootstrap.bundle.js create mode 100644 public/js/vendor/bootstrap/dist/js/bootstrap.bundle.js.map create mode 100644 public/js/vendor/bootstrap/dist/js/bootstrap.bundle.min.js create mode 100644 public/js/vendor/bootstrap/dist/js/bootstrap.bundle.min.js.map create mode 100644 public/js/vendor/bootstrap/dist/js/bootstrap.esm.js create mode 100644 public/js/vendor/bootstrap/dist/js/bootstrap.esm.js.map create mode 100644 public/js/vendor/bootstrap/dist/js/bootstrap.esm.min.js create mode 100644 public/js/vendor/bootstrap/dist/js/bootstrap.esm.min.js.map create mode 100644 public/js/vendor/bootstrap/dist/js/bootstrap.js create mode 100644 public/js/vendor/bootstrap/dist/js/bootstrap.js.map create mode 100644 public/js/vendor/bootstrap/dist/js/bootstrap.min.js create mode 100644 public/js/vendor/bootstrap/dist/js/bootstrap.min.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/alert.js create mode 100644 public/js/vendor/bootstrap/js/dist/alert.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/base-component.js create mode 100644 public/js/vendor/bootstrap/js/dist/base-component.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/button.js create mode 100644 public/js/vendor/bootstrap/js/dist/button.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/carousel.js create mode 100644 public/js/vendor/bootstrap/js/dist/carousel.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/collapse.js create mode 100644 public/js/vendor/bootstrap/js/dist/collapse.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/dom/data.js create mode 100644 public/js/vendor/bootstrap/js/dist/dom/data.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/dom/event-handler.js create mode 100644 public/js/vendor/bootstrap/js/dist/dom/event-handler.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/dom/manipulator.js create mode 100644 public/js/vendor/bootstrap/js/dist/dom/manipulator.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/dom/selector-engine.js create mode 100644 public/js/vendor/bootstrap/js/dist/dom/selector-engine.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/dropdown.js create mode 100644 public/js/vendor/bootstrap/js/dist/dropdown.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/modal.js create mode 100644 public/js/vendor/bootstrap/js/dist/modal.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/offcanvas.js create mode 100644 public/js/vendor/bootstrap/js/dist/offcanvas.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/popover.js create mode 100644 public/js/vendor/bootstrap/js/dist/popover.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/scrollspy.js create mode 100644 public/js/vendor/bootstrap/js/dist/scrollspy.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/tab.js create mode 100644 public/js/vendor/bootstrap/js/dist/tab.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/toast.js create mode 100644 public/js/vendor/bootstrap/js/dist/toast.js.map create mode 100644 public/js/vendor/bootstrap/js/dist/tooltip.js create mode 100644 public/js/vendor/bootstrap/js/dist/tooltip.js.map create mode 100644 public/js/vendor/bootstrap/js/src/alert.js create mode 100644 public/js/vendor/bootstrap/js/src/base-component.js create mode 100644 public/js/vendor/bootstrap/js/src/button.js create mode 100644 public/js/vendor/bootstrap/js/src/carousel.js create mode 100644 public/js/vendor/bootstrap/js/src/collapse.js create mode 100644 public/js/vendor/bootstrap/js/src/dom/data.js create mode 100644 public/js/vendor/bootstrap/js/src/dom/event-handler.js create mode 100644 public/js/vendor/bootstrap/js/src/dom/manipulator.js create mode 100644 public/js/vendor/bootstrap/js/src/dom/selector-engine.js create mode 100644 public/js/vendor/bootstrap/js/src/dropdown.js create mode 100644 public/js/vendor/bootstrap/js/src/modal.js create mode 100644 public/js/vendor/bootstrap/js/src/offcanvas.js create mode 100644 public/js/vendor/bootstrap/js/src/popover.js create mode 100644 public/js/vendor/bootstrap/js/src/scrollspy.js create mode 100644 public/js/vendor/bootstrap/js/src/tab.js create mode 100644 public/js/vendor/bootstrap/js/src/toast.js create mode 100644 public/js/vendor/bootstrap/js/src/tooltip.js create mode 100644 public/js/vendor/bootstrap/js/src/util/index.js create mode 100644 public/js/vendor/bootstrap/js/src/util/sanitizer.js create mode 100644 public/js/vendor/bootstrap/js/src/util/scrollbar.js create mode 100644 public/js/vendor/bootstrap/package.json create mode 100644 public/js/vendor/bootstrap/scss/_accordion.scss create mode 100644 public/js/vendor/bootstrap/scss/_alert.scss create mode 100644 public/js/vendor/bootstrap/scss/_badge.scss create mode 100644 public/js/vendor/bootstrap/scss/_breadcrumb.scss create mode 100644 public/js/vendor/bootstrap/scss/_button-group.scss create mode 100644 public/js/vendor/bootstrap/scss/_buttons.scss create mode 100644 public/js/vendor/bootstrap/scss/_card.scss create mode 100644 public/js/vendor/bootstrap/scss/_carousel.scss create mode 100644 public/js/vendor/bootstrap/scss/_close.scss create mode 100644 public/js/vendor/bootstrap/scss/_containers.scss create mode 100644 public/js/vendor/bootstrap/scss/_dropdown.scss create mode 100644 public/js/vendor/bootstrap/scss/_forms.scss create mode 100644 public/js/vendor/bootstrap/scss/_functions.scss create mode 100644 public/js/vendor/bootstrap/scss/_grid.scss create mode 100644 public/js/vendor/bootstrap/scss/_helpers.scss create mode 100644 public/js/vendor/bootstrap/scss/_images.scss create mode 100644 public/js/vendor/bootstrap/scss/_list-group.scss create mode 100644 public/js/vendor/bootstrap/scss/_mixins.scss create mode 100644 public/js/vendor/bootstrap/scss/_modal.scss create mode 100644 public/js/vendor/bootstrap/scss/_nav.scss create mode 100644 public/js/vendor/bootstrap/scss/_navbar.scss create mode 100644 public/js/vendor/bootstrap/scss/_offcanvas.scss create mode 100644 public/js/vendor/bootstrap/scss/_pagination.scss create mode 100644 public/js/vendor/bootstrap/scss/_popover.scss create mode 100644 public/js/vendor/bootstrap/scss/_progress.scss create mode 100644 public/js/vendor/bootstrap/scss/_reboot.scss create mode 100644 public/js/vendor/bootstrap/scss/_root.scss create mode 100644 public/js/vendor/bootstrap/scss/_spinners.scss create mode 100644 public/js/vendor/bootstrap/scss/_tables.scss create mode 100644 public/js/vendor/bootstrap/scss/_toasts.scss create mode 100644 public/js/vendor/bootstrap/scss/_tooltip.scss create mode 100644 public/js/vendor/bootstrap/scss/_transitions.scss create mode 100644 public/js/vendor/bootstrap/scss/_type.scss create mode 100644 public/js/vendor/bootstrap/scss/_utilities.scss create mode 100644 public/js/vendor/bootstrap/scss/_variables.scss create mode 100644 public/js/vendor/bootstrap/scss/bootstrap-grid.scss create mode 100644 public/js/vendor/bootstrap/scss/bootstrap-reboot.scss create mode 100644 public/js/vendor/bootstrap/scss/bootstrap-utilities.scss create mode 100644 public/js/vendor/bootstrap/scss/bootstrap.scss create mode 100644 public/js/vendor/bootstrap/scss/forms/_floating-labels.scss create mode 100644 public/js/vendor/bootstrap/scss/forms/_form-check.scss create mode 100644 public/js/vendor/bootstrap/scss/forms/_form-control.scss create mode 100644 public/js/vendor/bootstrap/scss/forms/_form-range.scss create mode 100644 public/js/vendor/bootstrap/scss/forms/_form-select.scss create mode 100644 public/js/vendor/bootstrap/scss/forms/_form-text.scss create mode 100644 public/js/vendor/bootstrap/scss/forms/_input-group.scss create mode 100644 public/js/vendor/bootstrap/scss/forms/_labels.scss create mode 100644 public/js/vendor/bootstrap/scss/forms/_validation.scss create mode 100644 public/js/vendor/bootstrap/scss/helpers/_clearfix.scss create mode 100644 public/js/vendor/bootstrap/scss/helpers/_colored-links.scss create mode 100644 public/js/vendor/bootstrap/scss/helpers/_position.scss create mode 100644 public/js/vendor/bootstrap/scss/helpers/_ratio.scss create mode 100644 public/js/vendor/bootstrap/scss/helpers/_stretched-link.scss create mode 100644 public/js/vendor/bootstrap/scss/helpers/_text-truncation.scss create mode 100644 public/js/vendor/bootstrap/scss/helpers/_visually-hidden.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_alert.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_border-radius.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_box-shadow.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_breakpoints.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_buttons.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_caret.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_clearfix.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_container.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_deprecate.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_forms.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_gradients.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_grid.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_image.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_list-group.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_lists.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_pagination.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_reset-text.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_resize.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_table-variants.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_text-truncate.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_transition.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_utilities.scss create mode 100644 public/js/vendor/bootstrap/scss/mixins/_visually-hidden.scss create mode 100644 public/js/vendor/bootstrap/scss/utilities/_api.scss create mode 100644 public/js/vendor/bootstrap/scss/vendor/_rfs.scss create mode 100644 public/js/vendor/chartist/CHANGELOG.md create mode 100644 public/js/vendor/chartist/LICENSE-MIT create mode 100644 public/js/vendor/chartist/LICENSE-WTFPL create mode 100644 public/js/vendor/chartist/README.md create mode 100644 public/js/vendor/chartist/dist/chartist.css create mode 100644 public/js/vendor/chartist/dist/chartist.css.map create mode 100644 public/js/vendor/chartist/dist/chartist.js create mode 100644 public/js/vendor/chartist/dist/chartist.min.css create mode 100644 public/js/vendor/chartist/dist/chartist.min.js create mode 100644 public/js/vendor/chartist/dist/chartist.min.js.map create mode 100644 public/js/vendor/chartist/dist/scss/chartist.scss create mode 100644 public/js/vendor/chartist/dist/scss/settings/_chartist-settings.scss create mode 100644 public/js/vendor/chartist/package.json create mode 100644 public/js/vendor/cleave.js/LICENSE create mode 100644 public/js/vendor/cleave.js/README.md create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ac.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ad.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ae.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.af.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ag.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ai.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.al.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.am.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ao.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ar.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.as.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.at.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.au-cn.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.au.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.aw.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ax.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.az.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ba.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bb.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bd.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.be.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bf.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bg.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bh.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bi.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bj.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bl.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bm.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bn.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bo.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bq.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.br.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bs.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bt.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bw.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.by.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.bz.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ca.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cc.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cd.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cf.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cg.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ch.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ci.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ck.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cl.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cm.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cn.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.co.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cr.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cu.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cv.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cw.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cx.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cy.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.cz.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.de.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.dj.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.dk.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.dm.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.do.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.dz.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ec.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ee.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.eg.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.eh.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.er.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.es.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.et.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.fi.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.fj.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.fk.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.fm.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.fo.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.fr.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ga.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gb.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gd.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ge.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gf.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gg.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gh.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gi.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gl.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gm.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gn.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gp.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gq.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gr.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gt.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gu.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gw.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.gy.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.hk.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.hn.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.hr.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ht.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.hu.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.i18n.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.id.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ie.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.il.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.im.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.in.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.io.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.iq.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ir.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.is.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.it.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.je.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.jm.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.jo.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.jp.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ke.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.kg.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.kh.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ki.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.km.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.kn.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.kp.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.kr.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.kw.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ky.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.kz.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.la.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.lb.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.lc.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.li.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.lk.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.lr.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ls.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.lt.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.lu.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.lv.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ly.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ma.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mc.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.md.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.me.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mf.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mg.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mh.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mk.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ml.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mm.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mn.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mo.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mp.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mq.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mr.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ms.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mt.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mu.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mv.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mw.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mx.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.my.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.mz.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.na.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.nc.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ne.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.nf.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ng.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ni.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.nl.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.no.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.np.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.nr.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.nu.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.nz.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.om.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.pa.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.pe.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.pf.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.pg.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ph.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.pk.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.pl.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.pm.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.pr.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ps.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.pt.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.pw.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.py.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.qa.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.re.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ro.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.rs.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ru.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.rw.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sa.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sb.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sc.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sd.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.se.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sg.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sh.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.si.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sj.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sk.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sl.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sm.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sn.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.so.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sr.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ss.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.st.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sv.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sx.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sy.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.sz.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ta.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.tc.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.td.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.tg.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.th.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.tj.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.tk.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.tl.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.tm.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.tn.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.to.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.tr.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.tt.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.tv.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.tw.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.tz.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ua.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ug.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.us.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.uy.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.uz.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.va.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.vc.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ve.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.vg.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.vi.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.vn.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.vu.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.wf.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ws.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.xk.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.ye.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.yt.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.za.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.zm.js create mode 100644 public/js/vendor/cleave.js/dist/addons/cleave-phone.zw.js create mode 100644 public/js/vendor/cleave.js/dist/cleave-angular.js create mode 100644 public/js/vendor/cleave.js/dist/cleave-angular.min.js create mode 100644 public/js/vendor/cleave.js/dist/cleave-esm.js create mode 100644 public/js/vendor/cleave.js/dist/cleave-esm.min.js create mode 100644 public/js/vendor/cleave.js/dist/cleave-react-node.js create mode 100644 public/js/vendor/cleave.js/dist/cleave-react-node.min.js create mode 100644 public/js/vendor/cleave.js/dist/cleave-react.js create mode 100644 public/js/vendor/cleave.js/dist/cleave-react.min.js create mode 100644 public/js/vendor/cleave.js/dist/cleave.js create mode 100644 public/js/vendor/cleave.js/dist/cleave.min.js create mode 100644 public/js/vendor/cleave.js/package.json create mode 100644 public/js/vendor/cleave.js/react.js create mode 100644 public/js/vendor/cleave.js/src/Cleave.angular.js create mode 100644 public/js/vendor/cleave.js/src/Cleave.js create mode 100644 public/js/vendor/cleave.js/src/Cleave.react.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ac.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ad.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ae.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.af.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ag.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ai.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.al.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.am.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ao.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ar.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.as.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.at.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.au-cn.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.au.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.aw.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ax.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.az.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ba.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bb.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bd.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.be.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bf.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bg.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bh.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bi.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bj.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bl.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bm.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bn.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bo.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bq.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.br.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bs.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bt.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bw.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.by.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.bz.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ca.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cc.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cd.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cf.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cg.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ch.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ci.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ck.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cl.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cm.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cn.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.co.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cr.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cu.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cv.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cw.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cx.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cy.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.cz.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.de.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.dj.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.dk.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.dm.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.do.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.dz.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ec.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ee.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.eg.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.eh.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.er.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.es.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.et.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.fi.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.fj.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.fk.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.fm.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.fo.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.fr.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ga.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gb.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gd.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ge.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gf.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gg.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gh.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gi.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gl.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gm.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gn.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gp.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gq.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gr.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gt.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gu.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gw.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.gy.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.hk.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.hn.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.hr.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ht.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.hu.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.i18n.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.id.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ie.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.il.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.im.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.in.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.io.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.iq.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ir.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.is.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.it.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.je.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.jm.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.jo.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.jp.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ke.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.kg.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.kh.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ki.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.km.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.kn.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.kp.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.kr.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.kw.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ky.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.kz.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.la.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.lb.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.lc.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.li.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.lk.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.lr.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ls.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.lt.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.lu.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.lv.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ly.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ma.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mc.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.md.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.me.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mf.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mg.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mh.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mk.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ml.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mm.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mn.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mo.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mp.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mq.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mr.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ms.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mt.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mu.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mv.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mw.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mx.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.my.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.mz.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.na.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.nc.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ne.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.nf.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ng.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ni.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.nl.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.no.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.np.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.nr.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.nu.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.nz.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.om.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.pa.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.pe.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.pf.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.pg.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ph.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.pk.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.pl.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.pm.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.pr.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ps.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.pt.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.pw.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.py.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.qa.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.re.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ro.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.rs.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ru.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.rw.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sa.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sb.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sc.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sd.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.se.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sg.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sh.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.si.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sj.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sk.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sl.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sm.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sn.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.so.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sr.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ss.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.st.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sv.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sx.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sy.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.sz.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ta.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.tc.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.td.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.tg.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.th.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.tj.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.tk.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.tl.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.tm.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.tn.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.to.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.tr.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.tt.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.tv.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.tw.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.tz.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ua.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ug.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.us.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.uy.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.uz.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.va.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.vc.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ve.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.vg.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.vi.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.vn.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.vu.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.wf.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ws.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.xk.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.ye.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.yt.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.za.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.zm.js create mode 100644 public/js/vendor/cleave.js/src/addons/phone-type-formatter.zw.js create mode 100644 public/js/vendor/cleave.js/src/build/license.txt create mode 100644 public/js/vendor/cleave.js/src/common/DefaultProperties.js create mode 100644 public/js/vendor/cleave.js/src/shortcuts/CreditCardDetector.js create mode 100644 public/js/vendor/cleave.js/src/shortcuts/DateFormatter.js create mode 100644 public/js/vendor/cleave.js/src/shortcuts/NumeralFormatter.js create mode 100644 public/js/vendor/cleave.js/src/shortcuts/PhoneFormatter.js create mode 100644 public/js/vendor/cleave.js/src/shortcuts/TimeFormatter.js create mode 100644 public/js/vendor/cleave.js/src/utils/Util.js create mode 100644 public/js/vendor/flatpickr/LICENSE.md create mode 100644 public/js/vendor/flatpickr/README.md create mode 100644 public/js/vendor/flatpickr/dist/esm/index.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/ar.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/at.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/az.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/be.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/bg.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/bn.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/bs.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/cat.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/cs.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/cy.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/da.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/de.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/default.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/eo.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/es.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/et.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/fa.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/fi.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/fo.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/fr.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/ga.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/gr.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/he.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/hi.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/hr.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/hu.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/id.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/index.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/is.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/it.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/ja.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/ka.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/km.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/ko.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/kz.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/lt.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/lv.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/mk.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/mn.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/ms.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/my.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/nl.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/no.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/pa.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/pl.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/pt.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/ro.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/ru.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/si.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/sk.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/sl.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/sq.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/sr-cyr.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/sr.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/sv.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/th.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/tr.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/uk.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/uz.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/uz_latn.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/vn.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/zh-tw.js create mode 100644 public/js/vendor/flatpickr/dist/esm/l10n/zh.js create mode 100644 public/js/vendor/flatpickr/dist/esm/plugins/confirmDate/confirmDate.js create mode 100644 public/js/vendor/flatpickr/dist/esm/plugins/labelPlugin/labelPlugin.js create mode 100644 public/js/vendor/flatpickr/dist/esm/plugins/minMaxTimePlugin.js create mode 100644 public/js/vendor/flatpickr/dist/esm/plugins/momentPlugin.js create mode 100644 public/js/vendor/flatpickr/dist/esm/plugins/monthSelect/index.js create mode 100644 public/js/vendor/flatpickr/dist/esm/plugins/rangePlugin.js create mode 100644 public/js/vendor/flatpickr/dist/esm/plugins/scrollPlugin.js create mode 100644 public/js/vendor/flatpickr/dist/esm/plugins/weekSelect/weekSelect.js create mode 100644 public/js/vendor/flatpickr/dist/esm/types/globals.js create mode 100644 public/js/vendor/flatpickr/dist/esm/types/instance.js create mode 100644 public/js/vendor/flatpickr/dist/esm/types/locale.js create mode 100644 public/js/vendor/flatpickr/dist/esm/types/options.js create mode 100644 public/js/vendor/flatpickr/dist/esm/utils/dates.js create mode 100644 public/js/vendor/flatpickr/dist/esm/utils/dom.js create mode 100644 public/js/vendor/flatpickr/dist/esm/utils/formatting.js create mode 100644 public/js/vendor/flatpickr/dist/esm/utils/index.js create mode 100644 public/js/vendor/flatpickr/dist/esm/utils/polyfills.js create mode 100644 public/js/vendor/flatpickr/dist/flatpickr.css create mode 100644 public/js/vendor/flatpickr/dist/flatpickr.js create mode 100644 public/js/vendor/flatpickr/dist/flatpickr.min.css create mode 100644 public/js/vendor/flatpickr/dist/flatpickr.min.js create mode 100644 public/js/vendor/flatpickr/dist/ie.css create mode 100644 public/js/vendor/flatpickr/dist/l10n/ar.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/ar.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/at.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/at.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/az.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/az.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/be.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/be.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/bg.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/bg.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/bn.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/bn.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/bs.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/bs.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/cat.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/cat.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/cs.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/cs.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/cy.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/cy.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/da.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/da.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/de.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/de.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/default.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/default.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/eo.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/eo.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/es.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/es.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/et.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/et.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/fa.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/fa.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/fi.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/fi.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/fo.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/fo.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/fr.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/fr.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/ga.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/ga.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/gr.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/gr.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/he.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/he.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/hi.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/hi.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/hr.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/hr.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/hu.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/hu.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/id.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/id.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/index.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/index.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/is.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/is.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/it.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/it.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/ja.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/ja.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/ka.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/ka.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/km.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/km.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/ko.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/ko.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/kz.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/kz.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/lt.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/lt.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/lv.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/lv.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/mk.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/mk.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/mn.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/mn.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/ms.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/ms.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/my.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/my.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/nl.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/nl.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/no.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/no.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/pa.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/pa.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/pl.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/pl.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/pt.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/pt.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/ro.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/ro.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/ru.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/ru.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/si.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/si.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/sk.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/sk.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/sl.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/sl.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/sq.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/sq.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/sr-cyr.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/sr-cyr.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/sr.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/sr.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/sv.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/sv.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/th.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/th.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/tr.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/tr.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/uk.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/uk.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/uz.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/uz.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/uz_latn.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/uz_latn.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/vn.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/vn.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/zh-tw.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/zh-tw.js create mode 100644 public/js/vendor/flatpickr/dist/l10n/zh.d.ts create mode 100644 public/js/vendor/flatpickr/dist/l10n/zh.js create mode 100644 public/js/vendor/flatpickr/dist/plugins/confirmDate/confirmDate.css create mode 100644 public/js/vendor/flatpickr/dist/plugins/confirmDate/confirmDate.d.ts create mode 100644 public/js/vendor/flatpickr/dist/plugins/confirmDate/confirmDate.js create mode 100644 public/js/vendor/flatpickr/dist/plugins/labelPlugin/labelPlugin.d.ts create mode 100644 public/js/vendor/flatpickr/dist/plugins/labelPlugin/labelPlugin.js create mode 100644 public/js/vendor/flatpickr/dist/plugins/minMaxTimePlugin.d.ts create mode 100644 public/js/vendor/flatpickr/dist/plugins/minMaxTimePlugin.js create mode 100644 public/js/vendor/flatpickr/dist/plugins/momentPlugin.d.ts create mode 100644 public/js/vendor/flatpickr/dist/plugins/momentPlugin.js create mode 100644 public/js/vendor/flatpickr/dist/plugins/monthSelect/index.d.ts create mode 100644 public/js/vendor/flatpickr/dist/plugins/monthSelect/index.js create mode 100644 public/js/vendor/flatpickr/dist/plugins/monthSelect/style.css create mode 100644 public/js/vendor/flatpickr/dist/plugins/rangePlugin.d.ts create mode 100644 public/js/vendor/flatpickr/dist/plugins/rangePlugin.js create mode 100644 public/js/vendor/flatpickr/dist/plugins/scrollPlugin.d.ts create mode 100644 public/js/vendor/flatpickr/dist/plugins/scrollPlugin.js create mode 100644 public/js/vendor/flatpickr/dist/plugins/weekSelect/weekSelect.d.ts create mode 100644 public/js/vendor/flatpickr/dist/plugins/weekSelect/weekSelect.js create mode 100644 public/js/vendor/flatpickr/dist/themes/airbnb.css create mode 100644 public/js/vendor/flatpickr/dist/themes/confetti.css create mode 100644 public/js/vendor/flatpickr/dist/themes/dark.css create mode 100644 public/js/vendor/flatpickr/dist/themes/light.css create mode 100644 public/js/vendor/flatpickr/dist/themes/material_blue.css create mode 100644 public/js/vendor/flatpickr/dist/themes/material_green.css create mode 100644 public/js/vendor/flatpickr/dist/themes/material_orange.css create mode 100644 public/js/vendor/flatpickr/dist/themes/material_red.css create mode 100644 public/js/vendor/flatpickr/dist/types/globals.d.ts create mode 100644 public/js/vendor/flatpickr/dist/types/instance.d.ts create mode 100644 public/js/vendor/flatpickr/dist/types/locale.d.ts create mode 100644 public/js/vendor/flatpickr/dist/types/options.d.ts create mode 100644 public/js/vendor/flatpickr/dist/typings.d.ts create mode 100644 public/js/vendor/flatpickr/dist/utils/dates.d.ts create mode 100644 public/js/vendor/flatpickr/dist/utils/dom.d.ts create mode 100644 public/js/vendor/flatpickr/dist/utils/formatting.d.ts create mode 100644 public/js/vendor/flatpickr/dist/utils/index.d.ts create mode 100644 public/js/vendor/flatpickr/package.json create mode 100644 public/js/vendor/flatpickr/src/style/_vars.styl create mode 100644 public/js/vendor/flatpickr/src/style/flatpickr.styl create mode 100644 public/js/vendor/flatpickr/src/style/ie.styl create mode 100644 public/js/vendor/flatpickr/src/style/themes/airbnb.styl create mode 100644 public/js/vendor/flatpickr/src/style/themes/confetti.styl create mode 100644 public/js/vendor/flatpickr/src/style/themes/dark.styl create mode 100644 public/js/vendor/flatpickr/src/style/themes/light.styl create mode 100644 public/js/vendor/flatpickr/src/style/themes/material_blue.styl create mode 100644 public/js/vendor/flatpickr/src/style/themes/material_green.styl create mode 100644 public/js/vendor/flatpickr/src/style/themes/material_orange.styl create mode 100644 public/js/vendor/flatpickr/src/style/themes/material_red.styl create mode 100644 public/js/vendor/imagesloaded/README.md create mode 100644 public/js/vendor/imagesloaded/assets/2D333F_0_0.woff create mode 100644 public/js/vendor/imagesloaded/assets/2D333F_0_0.woff2 create mode 100644 public/js/vendor/imagesloaded/assets/2D333F_1_0.woff create mode 100644 public/js/vendor/imagesloaded/assets/2D333F_1_0.woff2 create mode 100644 public/js/vendor/imagesloaded/assets/2D333F_2_0.woff create mode 100644 public/js/vendor/imagesloaded/assets/2D333F_2_0.woff2 create mode 100644 public/js/vendor/imagesloaded/bower.json create mode 100644 public/js/vendor/imagesloaded/composer.json create mode 100644 public/js/vendor/imagesloaded/contributing.md create mode 100644 public/js/vendor/imagesloaded/gulpfile.js create mode 100644 public/js/vendor/imagesloaded/imagesloaded.js create mode 100644 public/js/vendor/imagesloaded/imagesloaded.pkgd.js create mode 100644 public/js/vendor/imagesloaded/imagesloaded.pkgd.min.js create mode 100644 public/js/vendor/imagesloaded/package.json create mode 100644 public/js/vendor/imagesloaded/sandbox/background/css/background.css create mode 100644 public/js/vendor/imagesloaded/sandbox/background/index.html create mode 100644 public/js/vendor/imagesloaded/sandbox/progress/index.html create mode 100644 public/js/vendor/imagesloaded/sandbox/progress/progress.js create mode 100644 public/js/vendor/imagesloaded/test/css/tests.css create mode 100644 public/js/vendor/imagesloaded/test/img/blue-shell.jpg create mode 100644 public/js/vendor/imagesloaded/test/img/bowser-jr.jpg create mode 100644 public/js/vendor/imagesloaded/test/img/thunder-cloud.jpg create mode 100644 public/js/vendor/imagesloaded/test/index.html create mode 100644 public/js/vendor/imagesloaded/test/unit/append.js create mode 100644 public/js/vendor/imagesloaded/test/unit/background.js create mode 100644 public/js/vendor/imagesloaded/test/unit/basics.js create mode 100644 public/js/vendor/imagesloaded/test/unit/data-uri.js create mode 100644 public/js/vendor/imagesloaded/test/unit/jquery-fail.js create mode 100644 public/js/vendor/imagesloaded/test/unit/jquery-success.js create mode 100644 public/js/vendor/imagesloaded/test/unit/local-files.js create mode 100644 public/js/vendor/imagesloaded/test/unit/no-images.js create mode 100644 public/js/vendor/imagesloaded/test/unit/non-element.js create mode 100644 public/js/vendor/imagesloaded/test/unit/selector-string.js create mode 100644 public/js/vendor/imagesloaded/test/unit/single-element.js create mode 100644 public/js/vendor/jarallax/LICENSE create mode 100644 public/js/vendor/jarallax/README.md create mode 100644 public/js/vendor/jarallax/dist/jarallax-element.js create mode 100644 public/js/vendor/jarallax/dist/jarallax-element.min.js create mode 100644 public/js/vendor/jarallax/dist/jarallax-element.min.js.map create mode 100644 public/js/vendor/jarallax/dist/jarallax-video.js create mode 100644 public/js/vendor/jarallax/dist/jarallax-video.min.js create mode 100644 public/js/vendor/jarallax/dist/jarallax-video.min.js.map create mode 100644 public/js/vendor/jarallax/dist/jarallax.css create mode 100644 public/js/vendor/jarallax/dist/jarallax.js create mode 100644 public/js/vendor/jarallax/dist/jarallax.min.js create mode 100644 public/js/vendor/jarallax/dist/jarallax.min.js.map create mode 100644 public/js/vendor/jarallax/index.js create mode 100644 public/js/vendor/jarallax/package.json create mode 100644 public/js/vendor/jarallax/src/jarallax-element.esm.js create mode 100644 public/js/vendor/jarallax/src/jarallax-element.js create mode 100644 public/js/vendor/jarallax/src/jarallax-video.esm.js create mode 100644 public/js/vendor/jarallax/src/jarallax-video.js create mode 100644 public/js/vendor/jarallax/src/jarallax.css create mode 100644 public/js/vendor/jarallax/src/jarallax.esm.js create mode 100644 public/js/vendor/jarallax/src/jarallax.js create mode 100644 public/js/vendor/lg-fullscreen.js/LICENSE.md create mode 100644 public/js/vendor/lg-fullscreen.js/contributing.md create mode 100644 public/js/vendor/lg-fullscreen.js/dist/lg-fullscreen.js create mode 100644 public/js/vendor/lg-fullscreen.js/dist/lg-fullscreen.min.js create mode 100644 public/js/vendor/lg-fullscreen.js/package.json create mode 100644 public/js/vendor/lg-fullscreen.js/readme.md create mode 100644 public/js/vendor/lg-video.js/LICENSE.md create mode 100644 public/js/vendor/lg-video.js/contributing.md create mode 100644 public/js/vendor/lg-video.js/dist/lg-video.js create mode 100644 public/js/vendor/lg-video.js/dist/lg-video.min.js create mode 100644 public/js/vendor/lg-video.js/package.json create mode 100644 public/js/vendor/lg-video.js/readme.md create mode 100644 public/js/vendor/lg-zoom.js/LICENSE.md create mode 100644 public/js/vendor/lg-zoom.js/contributing.md create mode 100644 public/js/vendor/lg-zoom.js/dist/lg-zoom.js create mode 100644 public/js/vendor/lg-zoom.js/dist/lg-zoom.min.js create mode 100644 public/js/vendor/lg-zoom.js/package.json create mode 100644 public/js/vendor/lg-zoom.js/readme.md create mode 100644 public/js/vendor/lightgallery.js/LICENSE.md create mode 100644 public/js/vendor/lightgallery.js/contributing.md create mode 100644 public/js/vendor/lightgallery.js/dist/css/lg-fb-comment-box.css create mode 100644 public/js/vendor/lightgallery.js/dist/css/lg-fb-comment-box.css.map create mode 100644 public/js/vendor/lightgallery.js/dist/css/lg-fb-comment-box.min.css create mode 100644 public/js/vendor/lightgallery.js/dist/css/lg-transitions.css create mode 100644 public/js/vendor/lightgallery.js/dist/css/lg-transitions.css.map create mode 100644 public/js/vendor/lightgallery.js/dist/css/lg-transitions.min.css create mode 100644 public/js/vendor/lightgallery.js/dist/css/lightgallery.css create mode 100644 public/js/vendor/lightgallery.js/dist/css/lightgallery.css.map create mode 100644 public/js/vendor/lightgallery.js/dist/css/lightgallery.min.css create mode 100644 public/js/vendor/lightgallery.js/dist/fonts/lg.svg create mode 100644 public/js/vendor/lightgallery.js/dist/fonts/lg.ttf create mode 100644 public/js/vendor/lightgallery.js/dist/fonts/lg.woff create mode 100644 public/js/vendor/lightgallery.js/dist/img/loading.gif create mode 100644 public/js/vendor/lightgallery.js/dist/img/video-play.png create mode 100644 public/js/vendor/lightgallery.js/dist/img/vimeo-play.png create mode 100644 public/js/vendor/lightgallery.js/dist/img/youtube-play.png create mode 100644 public/js/vendor/lightgallery.js/dist/js/lightgallery.js create mode 100644 public/js/vendor/lightgallery.js/dist/js/lightgallery.min.js create mode 100644 public/js/vendor/lightgallery.js/lib/js/lg-utils.js create mode 100644 public/js/vendor/lightgallery.js/lib/js/lightgallery.js create mode 100644 public/js/vendor/lightgallery.js/package.json create mode 100644 public/js/vendor/lightgallery.js/readme.md create mode 100644 public/js/vendor/lightgallery.js/src/css/lg-fb-comment-box.css create mode 100644 public/js/vendor/lightgallery.js/src/css/lg-transitions.css create mode 100644 public/js/vendor/lightgallery.js/src/css/lightgallery.css create mode 100644 public/js/vendor/lightgallery.js/src/fonts/lg.svg create mode 100644 public/js/vendor/lightgallery.js/src/fonts/lg.ttf create mode 100644 public/js/vendor/lightgallery.js/src/fonts/lg.woff create mode 100644 public/js/vendor/lightgallery.js/src/img/loading.gif create mode 100644 public/js/vendor/lightgallery.js/src/img/video-play.png create mode 100644 public/js/vendor/lightgallery.js/src/img/vimeo-play.png create mode 100644 public/js/vendor/lightgallery.js/src/img/youtube-play.png create mode 100644 public/js/vendor/lightgallery.js/src/js/lg-utils.js create mode 100644 public/js/vendor/lightgallery.js/src/js/lightgallery.js create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-animations.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-autoplay.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-fb-comment-box.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-fonts.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-fullscreen.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-mixins.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-pager.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-rotate.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-share.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-theme-default.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-thumbnail.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-transitions.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-variables.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-video.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lg-zoom.scss create mode 100644 public/js/vendor/lightgallery.js/src/sass/lightgallery.scss create mode 100644 public/js/vendor/nouislider/CHANGELOG.MD create mode 100644 public/js/vendor/nouislider/LICENSE.md create mode 100644 public/js/vendor/nouislider/README.md create mode 100644 public/js/vendor/nouislider/distribute/nouislider.css create mode 100644 public/js/vendor/nouislider/distribute/nouislider.js create mode 100644 public/js/vendor/nouislider/distribute/nouislider.min.css create mode 100644 public/js/vendor/nouislider/distribute/nouislider.min.js create mode 100644 public/js/vendor/nouislider/package.json create mode 100644 public/js/vendor/parallax-js/LICENSE create mode 100644 public/js/vendor/parallax-js/README.md create mode 100644 public/js/vendor/parallax-js/bower.json create mode 100644 public/js/vendor/parallax-js/dist/parallax.js create mode 100644 public/js/vendor/parallax-js/dist/parallax.min.js create mode 100644 public/js/vendor/parallax-js/dist/parallax.min.js.map create mode 100644 public/js/vendor/parallax-js/gulpfile.js create mode 100644 public/js/vendor/parallax-js/package.json create mode 100644 public/js/vendor/parallax-js/src/parallax.js create mode 100644 public/js/vendor/parallax-js/yarn.lock create mode 100644 public/js/vendor/prismjs/CHANGELOG.md create mode 100644 public/js/vendor/prismjs/LICENSE create mode 100644 public/js/vendor/prismjs/README.md create mode 100644 public/js/vendor/prismjs/components.js create mode 100644 public/js/vendor/prismjs/components.json create mode 100644 public/js/vendor/prismjs/components/index.js create mode 100644 public/js/vendor/prismjs/components/prism-abap.js create mode 100644 public/js/vendor/prismjs/components/prism-abap.min.js create mode 100644 public/js/vendor/prismjs/components/prism-abnf.js create mode 100644 public/js/vendor/prismjs/components/prism-abnf.min.js create mode 100644 public/js/vendor/prismjs/components/prism-actionscript.js create mode 100644 public/js/vendor/prismjs/components/prism-actionscript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-ada.js create mode 100644 public/js/vendor/prismjs/components/prism-ada.min.js create mode 100644 public/js/vendor/prismjs/components/prism-agda.js create mode 100644 public/js/vendor/prismjs/components/prism-agda.min.js create mode 100644 public/js/vendor/prismjs/components/prism-al.js create mode 100644 public/js/vendor/prismjs/components/prism-al.min.js create mode 100644 public/js/vendor/prismjs/components/prism-antlr4.js create mode 100644 public/js/vendor/prismjs/components/prism-antlr4.min.js create mode 100644 public/js/vendor/prismjs/components/prism-apacheconf.js create mode 100644 public/js/vendor/prismjs/components/prism-apacheconf.min.js create mode 100644 public/js/vendor/prismjs/components/prism-apex.js create mode 100644 public/js/vendor/prismjs/components/prism-apex.min.js create mode 100644 public/js/vendor/prismjs/components/prism-apl.js create mode 100644 public/js/vendor/prismjs/components/prism-apl.min.js create mode 100644 public/js/vendor/prismjs/components/prism-applescript.js create mode 100644 public/js/vendor/prismjs/components/prism-applescript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-aql.js create mode 100644 public/js/vendor/prismjs/components/prism-aql.min.js create mode 100644 public/js/vendor/prismjs/components/prism-arduino.js create mode 100644 public/js/vendor/prismjs/components/prism-arduino.min.js create mode 100644 public/js/vendor/prismjs/components/prism-arff.js create mode 100644 public/js/vendor/prismjs/components/prism-arff.min.js create mode 100644 public/js/vendor/prismjs/components/prism-asciidoc.js create mode 100644 public/js/vendor/prismjs/components/prism-asciidoc.min.js create mode 100644 public/js/vendor/prismjs/components/prism-asm6502.js create mode 100644 public/js/vendor/prismjs/components/prism-asm6502.min.js create mode 100644 public/js/vendor/prismjs/components/prism-aspnet.js create mode 100644 public/js/vendor/prismjs/components/prism-aspnet.min.js create mode 100644 public/js/vendor/prismjs/components/prism-autohotkey.js create mode 100644 public/js/vendor/prismjs/components/prism-autohotkey.min.js create mode 100644 public/js/vendor/prismjs/components/prism-autoit.js create mode 100644 public/js/vendor/prismjs/components/prism-autoit.min.js create mode 100644 public/js/vendor/prismjs/components/prism-bash.js create mode 100644 public/js/vendor/prismjs/components/prism-bash.min.js create mode 100644 public/js/vendor/prismjs/components/prism-basic.js create mode 100644 public/js/vendor/prismjs/components/prism-basic.min.js create mode 100644 public/js/vendor/prismjs/components/prism-batch.js create mode 100644 public/js/vendor/prismjs/components/prism-batch.min.js create mode 100644 public/js/vendor/prismjs/components/prism-bbcode.js create mode 100644 public/js/vendor/prismjs/components/prism-bbcode.min.js create mode 100644 public/js/vendor/prismjs/components/prism-birb.js create mode 100644 public/js/vendor/prismjs/components/prism-birb.min.js create mode 100644 public/js/vendor/prismjs/components/prism-bison.js create mode 100644 public/js/vendor/prismjs/components/prism-bison.min.js create mode 100644 public/js/vendor/prismjs/components/prism-bnf.js create mode 100644 public/js/vendor/prismjs/components/prism-bnf.min.js create mode 100644 public/js/vendor/prismjs/components/prism-brainfuck.js create mode 100644 public/js/vendor/prismjs/components/prism-brainfuck.min.js create mode 100644 public/js/vendor/prismjs/components/prism-brightscript.js create mode 100644 public/js/vendor/prismjs/components/prism-brightscript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-bro.js create mode 100644 public/js/vendor/prismjs/components/prism-bro.min.js create mode 100644 public/js/vendor/prismjs/components/prism-bsl.js create mode 100644 public/js/vendor/prismjs/components/prism-bsl.min.js create mode 100644 public/js/vendor/prismjs/components/prism-c.js create mode 100644 public/js/vendor/prismjs/components/prism-c.min.js create mode 100644 public/js/vendor/prismjs/components/prism-cil.js create mode 100644 public/js/vendor/prismjs/components/prism-cil.min.js create mode 100644 public/js/vendor/prismjs/components/prism-clike.js create mode 100644 public/js/vendor/prismjs/components/prism-clike.min.js create mode 100644 public/js/vendor/prismjs/components/prism-clojure.js create mode 100644 public/js/vendor/prismjs/components/prism-clojure.min.js create mode 100644 public/js/vendor/prismjs/components/prism-cmake.js create mode 100644 public/js/vendor/prismjs/components/prism-cmake.min.js create mode 100644 public/js/vendor/prismjs/components/prism-coffeescript.js create mode 100644 public/js/vendor/prismjs/components/prism-coffeescript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-concurnas.js create mode 100644 public/js/vendor/prismjs/components/prism-concurnas.min.js create mode 100644 public/js/vendor/prismjs/components/prism-core.js create mode 100644 public/js/vendor/prismjs/components/prism-core.min.js create mode 100644 public/js/vendor/prismjs/components/prism-cpp.js create mode 100644 public/js/vendor/prismjs/components/prism-cpp.min.js create mode 100644 public/js/vendor/prismjs/components/prism-crystal.js create mode 100644 public/js/vendor/prismjs/components/prism-crystal.min.js create mode 100644 public/js/vendor/prismjs/components/prism-csharp.js create mode 100644 public/js/vendor/prismjs/components/prism-csharp.min.js create mode 100644 public/js/vendor/prismjs/components/prism-csp.js create mode 100644 public/js/vendor/prismjs/components/prism-csp.min.js create mode 100644 public/js/vendor/prismjs/components/prism-css-extras.js create mode 100644 public/js/vendor/prismjs/components/prism-css-extras.min.js create mode 100644 public/js/vendor/prismjs/components/prism-css.js create mode 100644 public/js/vendor/prismjs/components/prism-css.min.js create mode 100644 public/js/vendor/prismjs/components/prism-cypher.js create mode 100644 public/js/vendor/prismjs/components/prism-cypher.min.js create mode 100644 public/js/vendor/prismjs/components/prism-d.js create mode 100644 public/js/vendor/prismjs/components/prism-d.min.js create mode 100644 public/js/vendor/prismjs/components/prism-dart.js create mode 100644 public/js/vendor/prismjs/components/prism-dart.min.js create mode 100644 public/js/vendor/prismjs/components/prism-dataweave.js create mode 100644 public/js/vendor/prismjs/components/prism-dataweave.min.js create mode 100644 public/js/vendor/prismjs/components/prism-dax.js create mode 100644 public/js/vendor/prismjs/components/prism-dax.min.js create mode 100644 public/js/vendor/prismjs/components/prism-dhall.js create mode 100644 public/js/vendor/prismjs/components/prism-dhall.min.js create mode 100644 public/js/vendor/prismjs/components/prism-diff.js create mode 100644 public/js/vendor/prismjs/components/prism-diff.min.js create mode 100644 public/js/vendor/prismjs/components/prism-django.js create mode 100644 public/js/vendor/prismjs/components/prism-django.min.js create mode 100644 public/js/vendor/prismjs/components/prism-dns-zone-file.js create mode 100644 public/js/vendor/prismjs/components/prism-dns-zone-file.min.js create mode 100644 public/js/vendor/prismjs/components/prism-docker.js create mode 100644 public/js/vendor/prismjs/components/prism-docker.min.js create mode 100644 public/js/vendor/prismjs/components/prism-ebnf.js create mode 100644 public/js/vendor/prismjs/components/prism-ebnf.min.js create mode 100644 public/js/vendor/prismjs/components/prism-editorconfig.js create mode 100644 public/js/vendor/prismjs/components/prism-editorconfig.min.js create mode 100644 public/js/vendor/prismjs/components/prism-eiffel.js create mode 100644 public/js/vendor/prismjs/components/prism-eiffel.min.js create mode 100644 public/js/vendor/prismjs/components/prism-ejs.js create mode 100644 public/js/vendor/prismjs/components/prism-ejs.min.js create mode 100644 public/js/vendor/prismjs/components/prism-elixir.js create mode 100644 public/js/vendor/prismjs/components/prism-elixir.min.js create mode 100644 public/js/vendor/prismjs/components/prism-elm.js create mode 100644 public/js/vendor/prismjs/components/prism-elm.min.js create mode 100644 public/js/vendor/prismjs/components/prism-erb.js create mode 100644 public/js/vendor/prismjs/components/prism-erb.min.js create mode 100644 public/js/vendor/prismjs/components/prism-erlang.js create mode 100644 public/js/vendor/prismjs/components/prism-erlang.min.js create mode 100644 public/js/vendor/prismjs/components/prism-etlua.js create mode 100644 public/js/vendor/prismjs/components/prism-etlua.min.js create mode 100644 public/js/vendor/prismjs/components/prism-excel-formula.js create mode 100644 public/js/vendor/prismjs/components/prism-excel-formula.min.js create mode 100644 public/js/vendor/prismjs/components/prism-factor.js create mode 100644 public/js/vendor/prismjs/components/prism-factor.min.js create mode 100644 public/js/vendor/prismjs/components/prism-firestore-security-rules.js create mode 100644 public/js/vendor/prismjs/components/prism-firestore-security-rules.min.js create mode 100644 public/js/vendor/prismjs/components/prism-flow.js create mode 100644 public/js/vendor/prismjs/components/prism-flow.min.js create mode 100644 public/js/vendor/prismjs/components/prism-fortran.js create mode 100644 public/js/vendor/prismjs/components/prism-fortran.min.js create mode 100644 public/js/vendor/prismjs/components/prism-fsharp.js create mode 100644 public/js/vendor/prismjs/components/prism-fsharp.min.js create mode 100644 public/js/vendor/prismjs/components/prism-ftl.js create mode 100644 public/js/vendor/prismjs/components/prism-ftl.min.js create mode 100644 public/js/vendor/prismjs/components/prism-gcode.js create mode 100644 public/js/vendor/prismjs/components/prism-gcode.min.js create mode 100644 public/js/vendor/prismjs/components/prism-gdscript.js create mode 100644 public/js/vendor/prismjs/components/prism-gdscript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-gedcom.js create mode 100644 public/js/vendor/prismjs/components/prism-gedcom.min.js create mode 100644 public/js/vendor/prismjs/components/prism-gherkin.js create mode 100644 public/js/vendor/prismjs/components/prism-gherkin.min.js create mode 100644 public/js/vendor/prismjs/components/prism-git.js create mode 100644 public/js/vendor/prismjs/components/prism-git.min.js create mode 100644 public/js/vendor/prismjs/components/prism-glsl.js create mode 100644 public/js/vendor/prismjs/components/prism-glsl.min.js create mode 100644 public/js/vendor/prismjs/components/prism-gml.js create mode 100644 public/js/vendor/prismjs/components/prism-gml.min.js create mode 100644 public/js/vendor/prismjs/components/prism-go.js create mode 100644 public/js/vendor/prismjs/components/prism-go.min.js create mode 100644 public/js/vendor/prismjs/components/prism-graphql.js create mode 100644 public/js/vendor/prismjs/components/prism-graphql.min.js create mode 100644 public/js/vendor/prismjs/components/prism-groovy.js create mode 100644 public/js/vendor/prismjs/components/prism-groovy.min.js create mode 100644 public/js/vendor/prismjs/components/prism-haml.js create mode 100644 public/js/vendor/prismjs/components/prism-haml.min.js create mode 100644 public/js/vendor/prismjs/components/prism-handlebars.js create mode 100644 public/js/vendor/prismjs/components/prism-handlebars.min.js create mode 100644 public/js/vendor/prismjs/components/prism-haskell.js create mode 100644 public/js/vendor/prismjs/components/prism-haskell.min.js create mode 100644 public/js/vendor/prismjs/components/prism-haxe.js create mode 100644 public/js/vendor/prismjs/components/prism-haxe.min.js create mode 100644 public/js/vendor/prismjs/components/prism-hcl.js create mode 100644 public/js/vendor/prismjs/components/prism-hcl.min.js create mode 100644 public/js/vendor/prismjs/components/prism-hlsl.js create mode 100644 public/js/vendor/prismjs/components/prism-hlsl.min.js create mode 100644 public/js/vendor/prismjs/components/prism-hpkp.js create mode 100644 public/js/vendor/prismjs/components/prism-hpkp.min.js create mode 100644 public/js/vendor/prismjs/components/prism-hsts.js create mode 100644 public/js/vendor/prismjs/components/prism-hsts.min.js create mode 100644 public/js/vendor/prismjs/components/prism-http.js create mode 100644 public/js/vendor/prismjs/components/prism-http.min.js create mode 100644 public/js/vendor/prismjs/components/prism-ichigojam.js create mode 100644 public/js/vendor/prismjs/components/prism-ichigojam.min.js create mode 100644 public/js/vendor/prismjs/components/prism-icon.js create mode 100644 public/js/vendor/prismjs/components/prism-icon.min.js create mode 100644 public/js/vendor/prismjs/components/prism-iecst.js create mode 100644 public/js/vendor/prismjs/components/prism-iecst.min.js create mode 100644 public/js/vendor/prismjs/components/prism-ignore.js create mode 100644 public/js/vendor/prismjs/components/prism-ignore.min.js create mode 100644 public/js/vendor/prismjs/components/prism-inform7.js create mode 100644 public/js/vendor/prismjs/components/prism-inform7.min.js create mode 100644 public/js/vendor/prismjs/components/prism-ini.js create mode 100644 public/js/vendor/prismjs/components/prism-ini.min.js create mode 100644 public/js/vendor/prismjs/components/prism-io.js create mode 100644 public/js/vendor/prismjs/components/prism-io.min.js create mode 100644 public/js/vendor/prismjs/components/prism-j.js create mode 100644 public/js/vendor/prismjs/components/prism-j.min.js create mode 100644 public/js/vendor/prismjs/components/prism-java.js create mode 100644 public/js/vendor/prismjs/components/prism-java.min.js create mode 100644 public/js/vendor/prismjs/components/prism-javadoc.js create mode 100644 public/js/vendor/prismjs/components/prism-javadoc.min.js create mode 100644 public/js/vendor/prismjs/components/prism-javadoclike.js create mode 100644 public/js/vendor/prismjs/components/prism-javadoclike.min.js create mode 100644 public/js/vendor/prismjs/components/prism-javascript.js create mode 100644 public/js/vendor/prismjs/components/prism-javascript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-javastacktrace.js create mode 100644 public/js/vendor/prismjs/components/prism-javastacktrace.min.js create mode 100644 public/js/vendor/prismjs/components/prism-jolie.js create mode 100644 public/js/vendor/prismjs/components/prism-jolie.min.js create mode 100644 public/js/vendor/prismjs/components/prism-jq.js create mode 100644 public/js/vendor/prismjs/components/prism-jq.min.js create mode 100644 public/js/vendor/prismjs/components/prism-js-extras.js create mode 100644 public/js/vendor/prismjs/components/prism-js-extras.min.js create mode 100644 public/js/vendor/prismjs/components/prism-js-templates.js create mode 100644 public/js/vendor/prismjs/components/prism-js-templates.min.js create mode 100644 public/js/vendor/prismjs/components/prism-jsdoc.js create mode 100644 public/js/vendor/prismjs/components/prism-jsdoc.min.js create mode 100644 public/js/vendor/prismjs/components/prism-json.js create mode 100644 public/js/vendor/prismjs/components/prism-json.min.js create mode 100644 public/js/vendor/prismjs/components/prism-json5.js create mode 100644 public/js/vendor/prismjs/components/prism-json5.min.js create mode 100644 public/js/vendor/prismjs/components/prism-jsonp.js create mode 100644 public/js/vendor/prismjs/components/prism-jsonp.min.js create mode 100644 public/js/vendor/prismjs/components/prism-jsstacktrace.js create mode 100644 public/js/vendor/prismjs/components/prism-jsstacktrace.min.js create mode 100644 public/js/vendor/prismjs/components/prism-jsx.js create mode 100644 public/js/vendor/prismjs/components/prism-jsx.min.js create mode 100644 public/js/vendor/prismjs/components/prism-julia.js create mode 100644 public/js/vendor/prismjs/components/prism-julia.min.js create mode 100644 public/js/vendor/prismjs/components/prism-keyman.js create mode 100644 public/js/vendor/prismjs/components/prism-keyman.min.js create mode 100644 public/js/vendor/prismjs/components/prism-kotlin.js create mode 100644 public/js/vendor/prismjs/components/prism-kotlin.min.js create mode 100644 public/js/vendor/prismjs/components/prism-latex.js create mode 100644 public/js/vendor/prismjs/components/prism-latex.min.js create mode 100644 public/js/vendor/prismjs/components/prism-latte.js create mode 100644 public/js/vendor/prismjs/components/prism-latte.min.js create mode 100644 public/js/vendor/prismjs/components/prism-less.js create mode 100644 public/js/vendor/prismjs/components/prism-less.min.js create mode 100644 public/js/vendor/prismjs/components/prism-lilypond.js create mode 100644 public/js/vendor/prismjs/components/prism-lilypond.min.js create mode 100644 public/js/vendor/prismjs/components/prism-liquid.js create mode 100644 public/js/vendor/prismjs/components/prism-liquid.min.js create mode 100644 public/js/vendor/prismjs/components/prism-lisp.js create mode 100644 public/js/vendor/prismjs/components/prism-lisp.min.js create mode 100644 public/js/vendor/prismjs/components/prism-livescript.js create mode 100644 public/js/vendor/prismjs/components/prism-livescript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-llvm.js create mode 100644 public/js/vendor/prismjs/components/prism-llvm.min.js create mode 100644 public/js/vendor/prismjs/components/prism-lolcode.js create mode 100644 public/js/vendor/prismjs/components/prism-lolcode.min.js create mode 100644 public/js/vendor/prismjs/components/prism-lua.js create mode 100644 public/js/vendor/prismjs/components/prism-lua.min.js create mode 100644 public/js/vendor/prismjs/components/prism-makefile.js create mode 100644 public/js/vendor/prismjs/components/prism-makefile.min.js create mode 100644 public/js/vendor/prismjs/components/prism-markdown.js create mode 100644 public/js/vendor/prismjs/components/prism-markdown.min.js create mode 100644 public/js/vendor/prismjs/components/prism-markup-templating.js create mode 100644 public/js/vendor/prismjs/components/prism-markup-templating.min.js create mode 100644 public/js/vendor/prismjs/components/prism-markup.js create mode 100644 public/js/vendor/prismjs/components/prism-markup.min.js create mode 100644 public/js/vendor/prismjs/components/prism-matlab.js create mode 100644 public/js/vendor/prismjs/components/prism-matlab.min.js create mode 100644 public/js/vendor/prismjs/components/prism-mel.js create mode 100644 public/js/vendor/prismjs/components/prism-mel.min.js create mode 100644 public/js/vendor/prismjs/components/prism-mizar.js create mode 100644 public/js/vendor/prismjs/components/prism-mizar.min.js create mode 100644 public/js/vendor/prismjs/components/prism-mongodb.js create mode 100644 public/js/vendor/prismjs/components/prism-mongodb.min.js create mode 100644 public/js/vendor/prismjs/components/prism-monkey.js create mode 100644 public/js/vendor/prismjs/components/prism-monkey.min.js create mode 100644 public/js/vendor/prismjs/components/prism-moonscript.js create mode 100644 public/js/vendor/prismjs/components/prism-moonscript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-n1ql.js create mode 100644 public/js/vendor/prismjs/components/prism-n1ql.min.js create mode 100644 public/js/vendor/prismjs/components/prism-n4js.js create mode 100644 public/js/vendor/prismjs/components/prism-n4js.min.js create mode 100644 public/js/vendor/prismjs/components/prism-nand2tetris-hdl.js create mode 100644 public/js/vendor/prismjs/components/prism-nand2tetris-hdl.min.js create mode 100644 public/js/vendor/prismjs/components/prism-naniscript.js create mode 100644 public/js/vendor/prismjs/components/prism-naniscript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-nasm.js create mode 100644 public/js/vendor/prismjs/components/prism-nasm.min.js create mode 100644 public/js/vendor/prismjs/components/prism-neon.js create mode 100644 public/js/vendor/prismjs/components/prism-neon.min.js create mode 100644 public/js/vendor/prismjs/components/prism-nginx.js create mode 100644 public/js/vendor/prismjs/components/prism-nginx.min.js create mode 100644 public/js/vendor/prismjs/components/prism-nim.js create mode 100644 public/js/vendor/prismjs/components/prism-nim.min.js create mode 100644 public/js/vendor/prismjs/components/prism-nix.js create mode 100644 public/js/vendor/prismjs/components/prism-nix.min.js create mode 100644 public/js/vendor/prismjs/components/prism-nsis.js create mode 100644 public/js/vendor/prismjs/components/prism-nsis.min.js create mode 100644 public/js/vendor/prismjs/components/prism-objectivec.js create mode 100644 public/js/vendor/prismjs/components/prism-objectivec.min.js create mode 100644 public/js/vendor/prismjs/components/prism-ocaml.js create mode 100644 public/js/vendor/prismjs/components/prism-ocaml.min.js create mode 100644 public/js/vendor/prismjs/components/prism-opencl.js create mode 100644 public/js/vendor/prismjs/components/prism-opencl.min.js create mode 100644 public/js/vendor/prismjs/components/prism-oz.js create mode 100644 public/js/vendor/prismjs/components/prism-oz.min.js create mode 100644 public/js/vendor/prismjs/components/prism-parigp.js create mode 100644 public/js/vendor/prismjs/components/prism-parigp.min.js create mode 100644 public/js/vendor/prismjs/components/prism-parser.js create mode 100644 public/js/vendor/prismjs/components/prism-parser.min.js create mode 100644 public/js/vendor/prismjs/components/prism-pascal.js create mode 100644 public/js/vendor/prismjs/components/prism-pascal.min.js create mode 100644 public/js/vendor/prismjs/components/prism-pascaligo.js create mode 100644 public/js/vendor/prismjs/components/prism-pascaligo.min.js create mode 100644 public/js/vendor/prismjs/components/prism-pcaxis.js create mode 100644 public/js/vendor/prismjs/components/prism-pcaxis.min.js create mode 100644 public/js/vendor/prismjs/components/prism-peoplecode.js create mode 100644 public/js/vendor/prismjs/components/prism-peoplecode.min.js create mode 100644 public/js/vendor/prismjs/components/prism-perl.js create mode 100644 public/js/vendor/prismjs/components/prism-perl.min.js create mode 100644 public/js/vendor/prismjs/components/prism-php-extras.js create mode 100644 public/js/vendor/prismjs/components/prism-php-extras.min.js create mode 100644 public/js/vendor/prismjs/components/prism-php.js create mode 100644 public/js/vendor/prismjs/components/prism-php.min.js create mode 100644 public/js/vendor/prismjs/components/prism-phpdoc.js create mode 100644 public/js/vendor/prismjs/components/prism-phpdoc.min.js create mode 100644 public/js/vendor/prismjs/components/prism-plsql.js create mode 100644 public/js/vendor/prismjs/components/prism-plsql.min.js create mode 100644 public/js/vendor/prismjs/components/prism-powerquery.js create mode 100644 public/js/vendor/prismjs/components/prism-powerquery.min.js create mode 100644 public/js/vendor/prismjs/components/prism-powershell.js create mode 100644 public/js/vendor/prismjs/components/prism-powershell.min.js create mode 100644 public/js/vendor/prismjs/components/prism-processing.js create mode 100644 public/js/vendor/prismjs/components/prism-processing.min.js create mode 100644 public/js/vendor/prismjs/components/prism-prolog.js create mode 100644 public/js/vendor/prismjs/components/prism-prolog.min.js create mode 100644 public/js/vendor/prismjs/components/prism-promql.js create mode 100644 public/js/vendor/prismjs/components/prism-promql.min.js create mode 100644 public/js/vendor/prismjs/components/prism-properties.js create mode 100644 public/js/vendor/prismjs/components/prism-properties.min.js create mode 100644 public/js/vendor/prismjs/components/prism-protobuf.js create mode 100644 public/js/vendor/prismjs/components/prism-protobuf.min.js create mode 100644 public/js/vendor/prismjs/components/prism-pug.js create mode 100644 public/js/vendor/prismjs/components/prism-pug.min.js create mode 100644 public/js/vendor/prismjs/components/prism-puppet.js create mode 100644 public/js/vendor/prismjs/components/prism-puppet.min.js create mode 100644 public/js/vendor/prismjs/components/prism-pure.js create mode 100644 public/js/vendor/prismjs/components/prism-pure.min.js create mode 100644 public/js/vendor/prismjs/components/prism-purebasic.js create mode 100644 public/js/vendor/prismjs/components/prism-purebasic.min.js create mode 100644 public/js/vendor/prismjs/components/prism-purescript.js create mode 100644 public/js/vendor/prismjs/components/prism-purescript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-python.js create mode 100644 public/js/vendor/prismjs/components/prism-python.min.js create mode 100644 public/js/vendor/prismjs/components/prism-q.js create mode 100644 public/js/vendor/prismjs/components/prism-q.min.js create mode 100644 public/js/vendor/prismjs/components/prism-qml.js create mode 100644 public/js/vendor/prismjs/components/prism-qml.min.js create mode 100644 public/js/vendor/prismjs/components/prism-qore.js create mode 100644 public/js/vendor/prismjs/components/prism-qore.min.js create mode 100644 public/js/vendor/prismjs/components/prism-r.js create mode 100644 public/js/vendor/prismjs/components/prism-r.min.js create mode 100644 public/js/vendor/prismjs/components/prism-racket.js create mode 100644 public/js/vendor/prismjs/components/prism-racket.min.js create mode 100644 public/js/vendor/prismjs/components/prism-reason.js create mode 100644 public/js/vendor/prismjs/components/prism-reason.min.js create mode 100644 public/js/vendor/prismjs/components/prism-regex.js create mode 100644 public/js/vendor/prismjs/components/prism-regex.min.js create mode 100644 public/js/vendor/prismjs/components/prism-renpy.js create mode 100644 public/js/vendor/prismjs/components/prism-renpy.min.js create mode 100644 public/js/vendor/prismjs/components/prism-rest.js create mode 100644 public/js/vendor/prismjs/components/prism-rest.min.js create mode 100644 public/js/vendor/prismjs/components/prism-rip.js create mode 100644 public/js/vendor/prismjs/components/prism-rip.min.js create mode 100644 public/js/vendor/prismjs/components/prism-roboconf.js create mode 100644 public/js/vendor/prismjs/components/prism-roboconf.min.js create mode 100644 public/js/vendor/prismjs/components/prism-robotframework.js create mode 100644 public/js/vendor/prismjs/components/prism-robotframework.min.js create mode 100644 public/js/vendor/prismjs/components/prism-ruby.js create mode 100644 public/js/vendor/prismjs/components/prism-ruby.min.js create mode 100644 public/js/vendor/prismjs/components/prism-rust.js create mode 100644 public/js/vendor/prismjs/components/prism-rust.min.js create mode 100644 public/js/vendor/prismjs/components/prism-sas.js create mode 100644 public/js/vendor/prismjs/components/prism-sas.min.js create mode 100644 public/js/vendor/prismjs/components/prism-sass.js create mode 100644 public/js/vendor/prismjs/components/prism-sass.min.js create mode 100644 public/js/vendor/prismjs/components/prism-scala.js create mode 100644 public/js/vendor/prismjs/components/prism-scala.min.js create mode 100644 public/js/vendor/prismjs/components/prism-scheme.js create mode 100644 public/js/vendor/prismjs/components/prism-scheme.min.js create mode 100644 public/js/vendor/prismjs/components/prism-scss.js create mode 100644 public/js/vendor/prismjs/components/prism-scss.min.js create mode 100644 public/js/vendor/prismjs/components/prism-shell-session.js create mode 100644 public/js/vendor/prismjs/components/prism-shell-session.min.js create mode 100644 public/js/vendor/prismjs/components/prism-smali.js create mode 100644 public/js/vendor/prismjs/components/prism-smali.min.js create mode 100644 public/js/vendor/prismjs/components/prism-smalltalk.js create mode 100644 public/js/vendor/prismjs/components/prism-smalltalk.min.js create mode 100644 public/js/vendor/prismjs/components/prism-smarty.js create mode 100644 public/js/vendor/prismjs/components/prism-smarty.min.js create mode 100644 public/js/vendor/prismjs/components/prism-sml.js create mode 100644 public/js/vendor/prismjs/components/prism-sml.min.js create mode 100644 public/js/vendor/prismjs/components/prism-solidity.js create mode 100644 public/js/vendor/prismjs/components/prism-solidity.min.js create mode 100644 public/js/vendor/prismjs/components/prism-solution-file.js create mode 100644 public/js/vendor/prismjs/components/prism-solution-file.min.js create mode 100644 public/js/vendor/prismjs/components/prism-soy.js create mode 100644 public/js/vendor/prismjs/components/prism-soy.min.js create mode 100644 public/js/vendor/prismjs/components/prism-sparql.js create mode 100644 public/js/vendor/prismjs/components/prism-sparql.min.js create mode 100644 public/js/vendor/prismjs/components/prism-splunk-spl.js create mode 100644 public/js/vendor/prismjs/components/prism-splunk-spl.min.js create mode 100644 public/js/vendor/prismjs/components/prism-sqf.js create mode 100644 public/js/vendor/prismjs/components/prism-sqf.min.js create mode 100644 public/js/vendor/prismjs/components/prism-sql.js create mode 100644 public/js/vendor/prismjs/components/prism-sql.min.js create mode 100644 public/js/vendor/prismjs/components/prism-stan.js create mode 100644 public/js/vendor/prismjs/components/prism-stan.min.js create mode 100644 public/js/vendor/prismjs/components/prism-stylus.js create mode 100644 public/js/vendor/prismjs/components/prism-stylus.min.js create mode 100644 public/js/vendor/prismjs/components/prism-swift.js create mode 100644 public/js/vendor/prismjs/components/prism-swift.min.js create mode 100644 public/js/vendor/prismjs/components/prism-t4-cs.js create mode 100644 public/js/vendor/prismjs/components/prism-t4-cs.min.js create mode 100644 public/js/vendor/prismjs/components/prism-t4-templating.js create mode 100644 public/js/vendor/prismjs/components/prism-t4-templating.min.js create mode 100644 public/js/vendor/prismjs/components/prism-t4-vb.js create mode 100644 public/js/vendor/prismjs/components/prism-t4-vb.min.js create mode 100644 public/js/vendor/prismjs/components/prism-tap.js create mode 100644 public/js/vendor/prismjs/components/prism-tap.min.js create mode 100644 public/js/vendor/prismjs/components/prism-tcl.js create mode 100644 public/js/vendor/prismjs/components/prism-tcl.min.js create mode 100644 public/js/vendor/prismjs/components/prism-textile.js create mode 100644 public/js/vendor/prismjs/components/prism-textile.min.js create mode 100644 public/js/vendor/prismjs/components/prism-toml.js create mode 100644 public/js/vendor/prismjs/components/prism-toml.min.js create mode 100644 public/js/vendor/prismjs/components/prism-tsx.js create mode 100644 public/js/vendor/prismjs/components/prism-tsx.min.js create mode 100644 public/js/vendor/prismjs/components/prism-tt2.js create mode 100644 public/js/vendor/prismjs/components/prism-tt2.min.js create mode 100644 public/js/vendor/prismjs/components/prism-turtle.js create mode 100644 public/js/vendor/prismjs/components/prism-turtle.min.js create mode 100644 public/js/vendor/prismjs/components/prism-twig.js create mode 100644 public/js/vendor/prismjs/components/prism-twig.min.js create mode 100644 public/js/vendor/prismjs/components/prism-typescript.js create mode 100644 public/js/vendor/prismjs/components/prism-typescript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-typoscript.js create mode 100644 public/js/vendor/prismjs/components/prism-typoscript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-unrealscript.js create mode 100644 public/js/vendor/prismjs/components/prism-unrealscript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-vala.js create mode 100644 public/js/vendor/prismjs/components/prism-vala.min.js create mode 100644 public/js/vendor/prismjs/components/prism-vbnet.js create mode 100644 public/js/vendor/prismjs/components/prism-vbnet.min.js create mode 100644 public/js/vendor/prismjs/components/prism-velocity.js create mode 100644 public/js/vendor/prismjs/components/prism-velocity.min.js create mode 100644 public/js/vendor/prismjs/components/prism-verilog.js create mode 100644 public/js/vendor/prismjs/components/prism-verilog.min.js create mode 100644 public/js/vendor/prismjs/components/prism-vhdl.js create mode 100644 public/js/vendor/prismjs/components/prism-vhdl.min.js create mode 100644 public/js/vendor/prismjs/components/prism-vim.js create mode 100644 public/js/vendor/prismjs/components/prism-vim.min.js create mode 100644 public/js/vendor/prismjs/components/prism-visual-basic.js create mode 100644 public/js/vendor/prismjs/components/prism-visual-basic.min.js create mode 100644 public/js/vendor/prismjs/components/prism-warpscript.js create mode 100644 public/js/vendor/prismjs/components/prism-warpscript.min.js create mode 100644 public/js/vendor/prismjs/components/prism-wasm.js create mode 100644 public/js/vendor/prismjs/components/prism-wasm.min.js create mode 100644 public/js/vendor/prismjs/components/prism-wiki.js create mode 100644 public/js/vendor/prismjs/components/prism-wiki.min.js create mode 100644 public/js/vendor/prismjs/components/prism-xeora.js create mode 100644 public/js/vendor/prismjs/components/prism-xeora.min.js create mode 100644 public/js/vendor/prismjs/components/prism-xml-doc.js create mode 100644 public/js/vendor/prismjs/components/prism-xml-doc.min.js create mode 100644 public/js/vendor/prismjs/components/prism-xojo.js create mode 100644 public/js/vendor/prismjs/components/prism-xojo.min.js create mode 100644 public/js/vendor/prismjs/components/prism-xquery.js create mode 100644 public/js/vendor/prismjs/components/prism-xquery.min.js create mode 100644 public/js/vendor/prismjs/components/prism-yaml.js create mode 100644 public/js/vendor/prismjs/components/prism-yaml.min.js create mode 100644 public/js/vendor/prismjs/components/prism-yang.js create mode 100644 public/js/vendor/prismjs/components/prism-yang.min.js create mode 100644 public/js/vendor/prismjs/components/prism-zig.js create mode 100644 public/js/vendor/prismjs/components/prism-zig.min.js create mode 100644 public/js/vendor/prismjs/dependencies.js create mode 100644 public/js/vendor/prismjs/package.json create mode 100644 public/js/vendor/prismjs/plugins/autolinker/prism-autolinker.css create mode 100644 public/js/vendor/prismjs/plugins/autolinker/prism-autolinker.js create mode 100644 public/js/vendor/prismjs/plugins/autolinker/prism-autolinker.min.js create mode 100644 public/js/vendor/prismjs/plugins/autoloader/prism-autoloader.js create mode 100644 public/js/vendor/prismjs/plugins/autoloader/prism-autoloader.min.js create mode 100644 public/js/vendor/prismjs/plugins/command-line/prism-command-line.css create mode 100644 public/js/vendor/prismjs/plugins/command-line/prism-command-line.js create mode 100644 public/js/vendor/prismjs/plugins/command-line/prism-command-line.min.js create mode 100644 public/js/vendor/prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard.js create mode 100644 public/js/vendor/prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js create mode 100644 public/js/vendor/prismjs/plugins/custom-class/prism-custom-class.js create mode 100644 public/js/vendor/prismjs/plugins/custom-class/prism-custom-class.min.js create mode 100644 public/js/vendor/prismjs/plugins/data-uri-highlight/prism-data-uri-highlight.js create mode 100644 public/js/vendor/prismjs/plugins/data-uri-highlight/prism-data-uri-highlight.min.js create mode 100644 public/js/vendor/prismjs/plugins/diff-highlight/prism-diff-highlight.css create mode 100644 public/js/vendor/prismjs/plugins/diff-highlight/prism-diff-highlight.js create mode 100644 public/js/vendor/prismjs/plugins/diff-highlight/prism-diff-highlight.min.js create mode 100644 public/js/vendor/prismjs/plugins/download-button/prism-download-button.js create mode 100644 public/js/vendor/prismjs/plugins/download-button/prism-download-button.min.js create mode 100644 public/js/vendor/prismjs/plugins/file-highlight/prism-file-highlight.js create mode 100644 public/js/vendor/prismjs/plugins/file-highlight/prism-file-highlight.min.js create mode 100644 public/js/vendor/prismjs/plugins/filter-highlight-all/prism-filter-highlight-all.js create mode 100644 public/js/vendor/prismjs/plugins/filter-highlight-all/prism-filter-highlight-all.min.js create mode 100644 public/js/vendor/prismjs/plugins/highlight-keywords/prism-highlight-keywords.js create mode 100644 public/js/vendor/prismjs/plugins/highlight-keywords/prism-highlight-keywords.min.js create mode 100644 public/js/vendor/prismjs/plugins/inline-color/prism-inline-color.css create mode 100644 public/js/vendor/prismjs/plugins/inline-color/prism-inline-color.js create mode 100644 public/js/vendor/prismjs/plugins/inline-color/prism-inline-color.min.js create mode 100644 public/js/vendor/prismjs/plugins/jsonp-highlight/prism-jsonp-highlight.js create mode 100644 public/js/vendor/prismjs/plugins/jsonp-highlight/prism-jsonp-highlight.min.js create mode 100644 public/js/vendor/prismjs/plugins/keep-markup/prism-keep-markup.js create mode 100644 public/js/vendor/prismjs/plugins/keep-markup/prism-keep-markup.min.js create mode 100644 public/js/vendor/prismjs/plugins/line-highlight/prism-line-highlight.css create mode 100644 public/js/vendor/prismjs/plugins/line-highlight/prism-line-highlight.js create mode 100644 public/js/vendor/prismjs/plugins/line-highlight/prism-line-highlight.min.js create mode 100644 public/js/vendor/prismjs/plugins/line-numbers/prism-line-numbers.css create mode 100644 public/js/vendor/prismjs/plugins/line-numbers/prism-line-numbers.js create mode 100644 public/js/vendor/prismjs/plugins/line-numbers/prism-line-numbers.min.js create mode 100644 public/js/vendor/prismjs/plugins/match-braces/prism-match-braces.css create mode 100644 public/js/vendor/prismjs/plugins/match-braces/prism-match-braces.js create mode 100644 public/js/vendor/prismjs/plugins/match-braces/prism-match-braces.min.js create mode 100644 public/js/vendor/prismjs/plugins/normalize-whitespace/prism-normalize-whitespace.js create mode 100644 public/js/vendor/prismjs/plugins/normalize-whitespace/prism-normalize-whitespace.min.js create mode 100644 public/js/vendor/prismjs/plugins/previewers/prism-previewers.css create mode 100644 public/js/vendor/prismjs/plugins/previewers/prism-previewers.js create mode 100644 public/js/vendor/prismjs/plugins/previewers/prism-previewers.min.js create mode 100644 public/js/vendor/prismjs/plugins/remove-initial-line-feed/prism-remove-initial-line-feed.js create mode 100644 public/js/vendor/prismjs/plugins/remove-initial-line-feed/prism-remove-initial-line-feed.min.js create mode 100644 public/js/vendor/prismjs/plugins/show-invisibles/prism-show-invisibles.css create mode 100644 public/js/vendor/prismjs/plugins/show-invisibles/prism-show-invisibles.js create mode 100644 public/js/vendor/prismjs/plugins/show-invisibles/prism-show-invisibles.min.js create mode 100644 public/js/vendor/prismjs/plugins/show-language/prism-show-language.js create mode 100644 public/js/vendor/prismjs/plugins/show-language/prism-show-language.min.js create mode 100644 public/js/vendor/prismjs/plugins/toolbar/prism-toolbar.css create mode 100644 public/js/vendor/prismjs/plugins/toolbar/prism-toolbar.js create mode 100644 public/js/vendor/prismjs/plugins/toolbar/prism-toolbar.min.js create mode 100644 public/js/vendor/prismjs/plugins/treeview/prism-treeview.css create mode 100644 public/js/vendor/prismjs/plugins/treeview/prism-treeview.js create mode 100644 public/js/vendor/prismjs/plugins/treeview/prism-treeview.min.js create mode 100644 public/js/vendor/prismjs/plugins/unescaped-markup/prism-unescaped-markup.css create mode 100644 public/js/vendor/prismjs/plugins/unescaped-markup/prism-unescaped-markup.js create mode 100644 public/js/vendor/prismjs/plugins/unescaped-markup/prism-unescaped-markup.min.js create mode 100644 public/js/vendor/prismjs/plugins/wpd/prism-wpd.css create mode 100644 public/js/vendor/prismjs/plugins/wpd/prism-wpd.js create mode 100644 public/js/vendor/prismjs/plugins/wpd/prism-wpd.min.js create mode 100644 public/js/vendor/prismjs/prism.js create mode 100644 public/js/vendor/prismjs/themes/prism-coy.css create mode 100644 public/js/vendor/prismjs/themes/prism-dark.css create mode 100644 public/js/vendor/prismjs/themes/prism-funky.css create mode 100644 public/js/vendor/prismjs/themes/prism-okaidia.css create mode 100644 public/js/vendor/prismjs/themes/prism-solarizedlight.css create mode 100644 public/js/vendor/prismjs/themes/prism-tomorrow.css create mode 100644 public/js/vendor/prismjs/themes/prism-twilight.css create mode 100644 public/js/vendor/prismjs/themes/prism.css create mode 100644 public/js/vendor/proj4js.min.js create mode 100644 public/js/vendor/shufflejs/LICENSE create mode 100644 public/js/vendor/shufflejs/README.md create mode 100644 public/js/vendor/shufflejs/dist/shuffle.esm.js create mode 100644 public/js/vendor/shufflejs/dist/shuffle.esm.js.map create mode 100644 public/js/vendor/shufflejs/dist/shuffle.js create mode 100644 public/js/vendor/shufflejs/dist/shuffle.js.map create mode 100644 public/js/vendor/shufflejs/dist/shuffle.min.js create mode 100644 public/js/vendor/shufflejs/dist/shuffle.min.js.map create mode 100644 public/js/vendor/shufflejs/index.d.ts create mode 100644 public/js/vendor/shufflejs/package.json create mode 100644 public/js/vendor/shufflejs/src/array-max.js create mode 100644 public/js/vendor/shufflejs/src/array-min.js create mode 100644 public/js/vendor/shufflejs/src/classes.js create mode 100644 public/js/vendor/shufflejs/src/computed-size.js create mode 100644 public/js/vendor/shufflejs/src/get-number-style.js create mode 100644 public/js/vendor/shufflejs/src/get-number.js create mode 100644 public/js/vendor/shufflejs/src/hyphenate.js create mode 100644 public/js/vendor/shufflejs/src/layout.js create mode 100644 public/js/vendor/shufflejs/src/on-transition-end.js create mode 100644 public/js/vendor/shufflejs/src/point.js create mode 100644 public/js/vendor/shufflejs/src/rect.js create mode 100644 public/js/vendor/shufflejs/src/shuffle-item.js create mode 100644 public/js/vendor/shufflejs/src/shuffle.js create mode 100644 public/js/vendor/shufflejs/src/sorter.js create mode 100644 public/js/vendor/simplebar/LICENSE create mode 100644 public/js/vendor/simplebar/README.md create mode 100644 public/js/vendor/simplebar/dist/simplebar-core.esm.js create mode 100644 public/js/vendor/simplebar/dist/simplebar-core.esm.js.map create mode 100644 public/js/vendor/simplebar/dist/simplebar.css create mode 100644 public/js/vendor/simplebar/dist/simplebar.d.ts create mode 100644 public/js/vendor/simplebar/dist/simplebar.esm.js create mode 100644 public/js/vendor/simplebar/dist/simplebar.esm.js.map create mode 100644 public/js/vendor/simplebar/dist/simplebar.js create mode 100644 public/js/vendor/simplebar/dist/simplebar.min.css create mode 100644 public/js/vendor/simplebar/dist/simplebar.min.js create mode 100644 public/js/vendor/simplebar/dist/simplebar.umd.js create mode 100644 public/js/vendor/simplebar/package.json create mode 100644 public/js/vendor/simplebar/src/helpers.js create mode 100644 public/js/vendor/simplebar/src/index.js create mode 100644 public/js/vendor/simplebar/src/scrollbar-width.js create mode 100644 public/js/vendor/simplebar/src/simplebar.css create mode 100644 public/js/vendor/simplebar/src/simplebar.js create mode 100644 public/js/vendor/smooth-scroll/LICENSE.md create mode 100644 public/js/vendor/smooth-scroll/README.md create mode 100644 public/js/vendor/smooth-scroll/dist/smooth-scroll.js create mode 100644 public/js/vendor/smooth-scroll/dist/smooth-scroll.min.js create mode 100644 public/js/vendor/smooth-scroll/dist/smooth-scroll.polyfills.js create mode 100644 public/js/vendor/smooth-scroll/dist/smooth-scroll.polyfills.min.js create mode 100644 public/js/vendor/smooth-scroll/gulpfile.js create mode 100644 public/js/vendor/smooth-scroll/index.html create mode 100644 public/js/vendor/smooth-scroll/jump-to-top.html create mode 100644 public/js/vendor/smooth-scroll/package.json create mode 100644 public/js/vendor/smooth-scroll/speed.html create mode 100644 public/js/vendor/smooth-scroll/src/copy/index.html create mode 100644 public/js/vendor/smooth-scroll/src/copy/jump-to-top.html create mode 100644 public/js/vendor/smooth-scroll/src/copy/speed.html create mode 100644 public/js/vendor/smooth-scroll/src/js/smooth-scroll/_closest.polyfill.js create mode 100644 public/js/vendor/smooth-scroll/src/js/smooth-scroll/_customEvent.polyfill.js create mode 100644 public/js/vendor/smooth-scroll/src/js/smooth-scroll/_requestAnimationFrame.polyfill.js create mode 100644 public/js/vendor/smooth-scroll/src/js/smooth-scroll/smooth-scroll.js create mode 100644 public/js/vendor/tiny-slider/LICENSE create mode 100644 public/js/vendor/tiny-slider/README.html create mode 100644 public/js/vendor/tiny-slider/README.md create mode 100644 public/js/vendor/tiny-slider/dist/min/tiny-slider.helper.ie8.js create mode 100644 public/js/vendor/tiny-slider/dist/min/tiny-slider.js create mode 100644 public/js/vendor/tiny-slider/dist/sourcemaps/tiny-slider.css.map create mode 100644 public/js/vendor/tiny-slider/dist/sourcemaps/tiny-slider.helper.ie8.js.map create mode 100644 public/js/vendor/tiny-slider/dist/sourcemaps/tiny-slider.js.map create mode 100644 public/js/vendor/tiny-slider/dist/tiny-slider.css create mode 100644 public/js/vendor/tiny-slider/dist/tiny-slider.helper.ie8.js create mode 100644 public/js/vendor/tiny-slider/dist/tiny-slider.js create mode 100644 public/js/vendor/tiny-slider/package.json create mode 100644 public/js/vendor/tiny-slider/src/helpers/addCSSRule.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/addClass.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/addEvents.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/arrayFromNodeList.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/caf.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/calc.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/checkStorageValue.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/classListSupport.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/createStyleSheet.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/docElement.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/events.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/extend.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/forEach.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/getAttr.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/getBody.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/getCssRulesLength.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/getEndProperty.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/getSlideId.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/getTouchDirection.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/has3DTransforms.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/hasAttr.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/hasClass.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/hideElement.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/isNodeList.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/isVisible.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/jsTransform.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/mediaquerySupport.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/passiveOption.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/percentageLayout.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/raf.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/removeAttrs.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/removeCSSRule.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/removeClass.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/removeEvents.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/removeEventsByClone.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/resetFakeBody.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/setAttrs.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/setFakeBody.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/setLocalStorage.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/showElement.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/toDegree.js create mode 100644 public/js/vendor/tiny-slider/src/helpers/whichProperty.js create mode 100644 public/js/vendor/tiny-slider/src/ie8/addEventListener.js create mode 100644 public/js/vendor/tiny-slider/src/ie8/filter.js create mode 100644 public/js/vendor/tiny-slider/src/ie8/firstElementChild.js create mode 100644 public/js/vendor/tiny-slider/src/ie8/forEach.js create mode 100644 public/js/vendor/tiny-slider/src/ie8/getComputedStyle.js create mode 100644 public/js/vendor/tiny-slider/src/ie8/indexOf.js create mode 100644 public/js/vendor/tiny-slider/src/ie8/isArray.js create mode 100644 public/js/vendor/tiny-slider/src/ie8/lastElementChild.js create mode 100644 public/js/vendor/tiny-slider/src/ie8/map.js create mode 100644 public/js/vendor/tiny-slider/src/ie8/nextElementSibling.js create mode 100644 public/js/vendor/tiny-slider/src/ie8/previousElementSibling.js create mode 100644 public/js/vendor/tiny-slider/src/tiny-slider.d.ts create mode 100644 public/js/vendor/tiny-slider/src/tiny-slider.helper.ie8.js create mode 100644 public/js/vendor/tiny-slider/src/tiny-slider.js create mode 100644 public/js/vendor/tiny-slider/src/tiny-slider.module.js create mode 100644 public/js/vendor/tiny-slider/src/tiny-slider.scss diff --git a/public/css/theme.min.css b/public/css/theme.min.css new file mode 100644 index 0000000..244db8f --- /dev/null +++ b/public/css/theme.min.css @@ -0,0 +1,8 @@ +@import url("https://fonts.googleapis.com/css?family=Inter:300,400,500,600,700&display=swap");@font-face{font-family:"around-icons";src:url("../fonts/around-icons.ttf?enmnv5") format("truetype"),url("../fonts/around-icons.woff?enmnv5") format("woff"),url("../fonts/around-icons.svg?enmnv5#around-icons") format("svg");font-weight:normal;font-style:normal;font-display:block}[class^='ai-'],[class*=' ai-']{display:inline-block;font-family:"around-icons" !important;speak:never;font-style:normal;font-weight:normal !important;font-variant:normal;text-transform:none;line-height:1;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ai-activity:before{content:""}.ai-airplay:before{content:""}.ai-alert-circle:before{content:""}.ai-alert-octagon:before{content:""}.ai-alert-triangle:before{content:""}.ai-align-center:before{content:""}.ai-align-justify:before{content:""}.ai-align-left:before{content:""}.ai-align-right:before{content:""}.ai-anchor:before{content:""}.ai-aperture:before{content:""}.ai-archive:before{content:""}.ai-arrow-down-circle:before{content:""}.ai-arrow-down-left:before{content:""}.ai-arrow-down-right:before{content:""}.ai-arrow-down:before{content:""}.ai-arrow-left-circle:before{content:""}.ai-arrow-left:before{content:""}.ai-arrow-right-circle:before{content:""}.ai-arrow-right:before{content:""}.ai-arrow-up-circle:before{content:""}.ai-arrow-up-left:before{content:""}.ai-arrow-up-right:before{content:""}.ai-arrow-up:before{content:""}.ai-at-sign:before{content:""}.ai-award:before{content:""}.ai-bar-chart-2:before{content:""}.ai-bar-chart:before{content:""}.ai-battery-charging:before{content:""}.ai-battery:before{content:""}.ai-behance:before{content:""}.ai-bell-off:before{content:""}.ai-bell:before{content:""}.ai-bluetooth:before{content:""}.ai-bold:before{content:""}.ai-book-open:before{content:""}.ai-book:before{content:""}.ai-bookmark:before{content:""}.ai-box:before{content:""}.ai-briefcase:before{content:""}.ai-calendar:before{content:""}.ai-camera-off:before{content:""}.ai-camera:before{content:""}.ai-cast:before{content:""}.ai-check-circle:before{content:""}.ai-check-square:before{content:""}.ai-check:before{content:""}.ai-chevron-down:before{content:""}.ai-chevron-left:before{content:""}.ai-chevron-right:before{content:""}.ai-chevron-up:before{content:""}.ai-chevrons-down:before{content:""}.ai-chevrons-left:before{content:""}.ai-chevrons-right:before{content:""}.ai-chevrons-up:before{content:""}.ai-chrome:before{content:""}.ai-clipboard:before{content:""}.ai-clock:before{content:""}.ai-cloud-drizzle:before{content:""}.ai-cloud-lightning:before{content:""}.ai-cloud-off:before{content:""}.ai-cloud-rain:before{content:""}.ai-cloud-snow:before{content:""}.ai-cloud:before{content:""}.ai-code:before{content:""}.ai-codepen:before{content:""}.ai-codesandbox:before{content:""}.ai-coffee:before{content:""}.ai-columns:before{content:""}.ai-command:before{content:""}.ai-compass:before{content:""}.ai-copy:before{content:""}.ai-corner-down-left:before{content:""}.ai-corner-down-right:before{content:""}.ai-corner-left-down:before{content:""}.ai-corner-left-up:before{content:""}.ai-corner-right-down:before{content:""}.ai-corner-right-up:before{content:""}.ai-corner-up-left:before{content:""}.ai-corner-up-right:before{content:""}.ai-cpu:before{content:""}.ai-credit-card:before{content:""}.ai-crop:before{content:""}.ai-crosshair:before{content:""}.ai-database:before{content:""}.ai-delete:before{content:""}.ai-disc:before{content:""}.ai-dollar-sign:before{content:""}.ai-download-cloud:before{content:""}.ai-download:before{content:""}.ai-dribbble:before{content:""}.ai-droplet:before{content:""}.ai-edit-2:before{content:""}.ai-edit-3:before{content:""}.ai-edit:before{content:""}.ai-external-link:before{content:""}.ai-eye-off:before{content:""}.ai-eye:before{content:""}.ai-facebook:before{content:""}.ai-fast-forward:before{content:""}.ai-feather:before{content:""}.ai-figma:before{content:""}.ai-file-minus:before{content:""}.ai-file-plus:before{content:""}.ai-file-text:before{content:""}.ai-file:before{content:""}.ai-film:before{content:""}.ai-filter-alt:before{content:""}.ai-filter:before{content:""}.ai-flag:before{content:""}.ai-folder-minus:before{content:""}.ai-folder-plus:before{content:""}.ai-folder:before{content:""}.ai-framer:before{content:""}.ai-frown:before{content:""}.ai-gift:before{content:""}.ai-git-branch:before{content:""}.ai-git-commit:before{content:""}.ai-git-merge:before{content:""}.ai-git-pull-request:before{content:""}.ai-github:before{content:""}.ai-gitlab:before{content:""}.ai-globe:before{content:""}.ai-google:before{content:""}.ai-grid:before{content:""}.ai-hangouts:before{content:""}.ai-hard-drive:before{content:""}.ai-hash:before{content:""}.ai-headphones:before{content:""}.ai-heart:before{content:""}.ai-help-circle:before{content:""}.ai-hexagon:before{content:""}.ai-home:before{content:""}.ai-image:before{content:""}.ai-inbox:before{content:""}.ai-info:before{content:""}.ai-instagram:before{content:""}.ai-italic:before{content:""}.ai-key:before{content:""}.ai-layers:before{content:""}.ai-layout:before{content:""}.ai-life-buoy:before{content:""}.ai-link-2:before{content:""}.ai-link:before{content:""}.ai-linkedin:before{content:""}.ai-list:before{content:""}.ai-loader:before{content:""}.ai-lock:before{content:""}.ai-log-in:before{content:""}.ai-log-out:before{content:""}.ai-mail:before{content:""}.ai-map-pin:before{content:""}.ai-map:before{content:""}.ai-maximize-2:before{content:""}.ai-maximize:before{content:""}.ai-meh:before{content:""}.ai-menu:before{content:""}.ai-message-circle:before{content:""}.ai-message-square:before{content:""}.ai-messenger:before{content:""}.ai-mic-off:before{content:""}.ai-mic:before{content:""}.ai-minimize-2:before{content:""}.ai-minimize:before{content:""}.ai-minus-circle:before{content:""}.ai-minus-square:before{content:""}.ai-minus:before{content:""}.ai-monitor:before{content:""}.ai-moon:before{content:""}.ai-more-horizontal:before{content:""}.ai-more-vertical:before{content:""}.ai-mouse-pointer:before{content:""}.ai-move:before{content:""}.ai-music:before{content:""}.ai-navigation-2:before{content:""}.ai-navigation:before{content:""}.ai-octagon:before{content:""}.ai-odnoklassniki:before{content:""}.ai-package:before{content:""}.ai-paperclip:before{content:""}.ai-pause-circle:before{content:""}.ai-pause:before{content:""}.ai-paypal:before{content:""}.ai-pen-tool:before{content:""}.ai-percent:before{content:""}.ai-phone-call:before{content:""}.ai-phone-forwarded:before{content:""}.ai-phone-incoming:before{content:""}.ai-phone-missed:before{content:""}.ai-phone-off:before{content:""}.ai-phone-outgoing:before{content:""}.ai-phone:before{content:""}.ai-pie-chart:before{content:""}.ai-pinterest:before{content:""}.ai-play-circle:before{content:""}.ai-play:before{content:""}.ai-plus-circle:before{content:""}.ai-plus-square:before{content:""}.ai-plus:before{content:""}.ai-pocket:before{content:""}.ai-power:before{content:""}.ai-printer:before{content:""}.ai-radio:before{content:""}.ai-refresh-ccw:before{content:""}.ai-refresh-cw:before{content:""}.ai-repeat:before{content:""}.ai-rewind:before{content:""}.ai-rotate-ccw:before{content:""}.ai-rotate-cw:before{content:""}.ai-rss:before{content:""}.ai-save:before{content:""}.ai-scissors:before{content:""}.ai-search:before{content:""}.ai-send:before{content:""}.ai-server:before{content:""}.ai-settings:before{content:""}.ai-share-2:before{content:""}.ai-share:before{content:""}.ai-shield-off:before{content:""}.ai-shield:before{content:""}.ai-shopping-bag:before{content:""}.ai-shopping-cart:before{content:""}.ai-shuffle:before{content:""}.ai-sidebar:before{content:""}.ai-skip-back:before{content:""}.ai-skip-forward:before{content:""}.ai-skype:before{content:""}.ai-slack:before{content:""}.ai-slash:before{content:""}.ai-sliders:before{content:""}.ai-smartphone:before{content:""}.ai-smile:before{content:""}.ai-speaker:before{content:""}.ai-star:before{content:""}.ai-stop-circle:before{content:""}.ai-sun:before{content:""}.ai-sunrise:before{content:""}.ai-sunset:before{content:""}.ai-tablet:before{content:""}.ai-tag:before{content:""}.ai-target:before{content:""}.ai-telegram:before{content:""}.ai-terminal:before{content:""}.ai-thermometer:before{content:""}.ai-thumbs-down:before{content:""}.ai-thumbs-up:before{content:""}.ai-toggle-left:before{content:""}.ai-toggle-right:before{content:""}.ai-tool:before{content:""}.ai-trash-2:before{content:""}.ai-trash:before{content:""}.ai-trello:before{content:""}.ai-trending-down:before{content:""}.ai-trending-up:before{content:""}.ai-truck:before{content:""}.ai-tumblr:before{content:""}.ai-tv:before{content:""}.ai-twitch:before{content:""}.ai-twitter:before{content:""}.ai-type:before{content:""}.ai-umbrella:before{content:""}.ai-underline:before{content:""}.ai-unlock:before{content:""}.ai-upload-cloud:before{content:""}.ai-upload:before{content:""}.ai-user-check:before{content:""}.ai-user-minus:before{content:""}.ai-user-plus:before{content:""}.ai-user-x:before{content:""}.ai-user:before{content:""}.ai-users:before{content:""}.ai-viber:before{content:""}.ai-video-off:before{content:""}.ai-video:before{content:""}.ai-vimeo:before{content:""}.ai-vk:before{content:""}.ai-voicemail:before{content:""}.ai-volume-1:before{content:""}.ai-volume-2:before{content:""}.ai-volume-x:before{content:""}.ai-volume:before{content:""}.ai-watch:before{content:""}.ai-wechat:before{content:""}.ai-wifi-off:before{content:""}.ai-wifi:before{content:""}.ai-wind:before{content:""}.ai-x-circle:before{content:""}.ai-x-octagon:before{content:""}.ai-x-square:before{content:""}.ai-x:before{content:""}.ai-youtube:before{content:""}.ai-zap-off:before{content:""}.ai-zap:before{content:""}.ai-zoom-in:before{content:""}.ai-zoom-out:before{content:""}.ai-quotes:before{content:""}.ai-star-filled:before{content:""}/*! + * Bootstrap v5.0.0-beta3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--bs-blue: #0d6efd;--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: #737491;--bs-gray-dark: #4a4b65;--bs-primary: #766df4;--bs-secondary: #f7f7fc;--bs-success: #16c995;--bs-info: #6a9bf4;--bs-warning: #ffb15c;--bs-danger: #f74f78;--bs-light: #fff;--bs-dark: #37384e;--bs-font-sans-serif: "Inter", sans-serif;--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(to right, #766df4 0%, #766df4 30%, #6a9bf4 100%)}*,*::before,*::after{box-sizing:border-box}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#737491;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{margin-top:0;margin-bottom:.75rem;font-weight:600;line-height:1.2;color:#4a4b65}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.2875rem + .45vw)}@media (min-width: 1200px){h3,.h3{font-size:1.625rem}}h4,.h4{font-size:calc(1.2625rem + .15vw)}@media (min-width: 1200px){h4,.h4{font-size:1.375rem}}h5,.h5{font-size:1.125rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1.25rem}abbr[title],abbr[data-bs-original-title]{-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:700}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:#766df4;text-decoration:none}a:hover{color:#493ef0;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;color:#4f5067}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:#4a4b65;border-radius:.5rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#9e9fb4;text-align:left}th{font-weight:600;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:not(:focus-visible){outline:0}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}select:disabled{opacity:1}[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:calc(1.275rem + .3vw);font-weight:400}@media (min-width: 1200px){.lead{font-size:1.5rem}}.display-1{font-size:calc(1.575rem + 3.9vw);font-weight:600;line-height:1}@media (min-width: 1200px){.display-1{font-size:4.5rem}}.display-2{font-size:calc(1.525rem + 3.3vw);font-weight:600;line-height:1}@media (min-width: 1200px){.display-2{font-size:4rem}}.display-3{font-size:calc(1.475rem + 2.7vw);font-weight:600;line-height:1}@media (min-width: 1200px){.display-3{font-size:3.5rem}}.display-4{font-size:calc(1.425rem + 2.1vw);font-weight:600;line-height:1}@media (min-width: 1200px){.display-4{font-size:3rem}}.display-5{font-size:calc(1.375rem + 1.5vw);font-weight:600;line-height:1}@media (min-width: 1200px){.display-5{font-size:2.5rem}}.display-6{font-size:calc(1.325rem + .9vw);font-weight:600;line-height:1}@media (min-width: 1200px){.display-6{font-size:2rem}}.list-unstyled{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:1rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:1rem;color:#4a4b65}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #e3e3ee;border-radius:1rem;box-shadow:none;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.8125rem;color:#737491}.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl{width:100%;padding-right:var(--bs-gutter-x, .9375rem);padding-left:var(--bs-gutter-x, .9375rem);margin-right:auto;margin-left:auto}@media (min-width: 500px){.container,.container-sm{max-width:100%}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:100%}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:100%}}@media (min-width: 1280px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1260px}}.row{--bs-gutter-x: 1.875rem;--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.3333333333%}.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.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.3333333333%}.col-2{flex:0 0 auto;width:16.6666666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.3333333333%}.col-5{flex:0 0 auto;width:41.6666666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.3333333333%}.col-8{flex:0 0 auto;width:66.6666666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.3333333333%}.col-11{flex:0 0 auto;width:91.6666666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}.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: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}.g-6,.gx-6{--bs-gutter-x: 5rem}.g-6,.gy-6{--bs-gutter-y: 5rem}.g-7,.gx-7{--bs-gutter-x: 6rem}.g-7,.gy-7{--bs-gutter-y: 6rem}.g-grid-gutter,.gx-grid-gutter{--bs-gutter-x: 1.875rem}.g-grid-gutter,.gy-grid-gutter{--bs-gutter-y: 1.875rem}@media (min-width: 500px){.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.3333333333%}.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.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.3333333333%}.col-sm-2{flex:0 0 auto;width:16.6666666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.3333333333%}.col-sm-5{flex:0 0 auto;width:41.6666666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.3333333333%}.col-sm-8{flex:0 0 auto;width:66.6666666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.3333333333%}.col-sm-11{flex:0 0 auto;width:91.6666666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}.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: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}.g-sm-6,.gx-sm-6{--bs-gutter-x: 5rem}.g-sm-6,.gy-sm-6{--bs-gutter-y: 5rem}.g-sm-7,.gx-sm-7{--bs-gutter-x: 6rem}.g-sm-7,.gy-sm-7{--bs-gutter-y: 6rem}.g-sm-grid-gutter,.gx-sm-grid-gutter{--bs-gutter-x: 1.875rem}.g-sm-grid-gutter,.gy-sm-grid-gutter{--bs-gutter-y: 1.875rem}}@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.3333333333%}.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.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.3333333333%}.col-md-2{flex:0 0 auto;width:16.6666666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333333333%}.col-md-5{flex:0 0 auto;width:41.6666666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.3333333333%}.col-md-8{flex:0 0 auto;width:66.6666666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333333333%}.col-md-11{flex:0 0 auto;width:91.6666666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}.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: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}.g-md-6,.gx-md-6{--bs-gutter-x: 5rem}.g-md-6,.gy-md-6{--bs-gutter-y: 5rem}.g-md-7,.gx-md-7{--bs-gutter-x: 6rem}.g-md-7,.gy-md-7{--bs-gutter-y: 6rem}.g-md-grid-gutter,.gx-md-grid-gutter{--bs-gutter-x: 1.875rem}.g-md-grid-gutter,.gy-md-grid-gutter{--bs-gutter-y: 1.875rem}}@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.3333333333%}.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.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.3333333333%}.col-lg-2{flex:0 0 auto;width:16.6666666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.3333333333%}.col-lg-5{flex:0 0 auto;width:41.6666666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.3333333333%}.col-lg-8{flex:0 0 auto;width:66.6666666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.3333333333%}.col-lg-11{flex:0 0 auto;width:91.6666666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}.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: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}.g-lg-6,.gx-lg-6{--bs-gutter-x: 5rem}.g-lg-6,.gy-lg-6{--bs-gutter-y: 5rem}.g-lg-7,.gx-lg-7{--bs-gutter-x: 6rem}.g-lg-7,.gy-lg-7{--bs-gutter-y: 6rem}.g-lg-grid-gutter,.gx-lg-grid-gutter{--bs-gutter-x: 1.875rem}.g-lg-grid-gutter,.gy-lg-grid-gutter{--bs-gutter-y: 1.875rem}}@media (min-width: 1280px){.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.3333333333%}.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.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.3333333333%}.col-xl-2{flex:0 0 auto;width:16.6666666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.3333333333%}.col-xl-5{flex:0 0 auto;width:41.6666666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.3333333333%}.col-xl-8{flex:0 0 auto;width:66.6666666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.3333333333%}.col-xl-11{flex:0 0 auto;width:91.6666666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}.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: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}.g-xl-6,.gx-xl-6{--bs-gutter-x: 5rem}.g-xl-6,.gy-xl-6{--bs-gutter-y: 5rem}.g-xl-7,.gx-xl-7{--bs-gutter-x: 6rem}.g-xl-7,.gy-xl-7{--bs-gutter-y: 6rem}.g-xl-grid-gutter,.gx-xl-grid-gutter{--bs-gutter-x: 1.875rem}.g-xl-grid-gutter,.gy-xl-grid-gutter{--bs-gutter-y: 1.875rem}}@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.3333333333%}.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.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.3333333333%}.col-xxl-2{flex:0 0 auto;width:16.6666666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.3333333333%}.col-xxl-5{flex:0 0 auto;width:41.6666666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.3333333333%}.col-xxl-8{flex:0 0 auto;width:66.6666666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.3333333333%}.col-xxl-11{flex:0 0 auto;width:91.6666666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.3333333333%}.offset-xxl-2{margin-left:16.6666666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.3333333333%}.offset-xxl-5{margin-left:41.6666666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.3333333333%}.offset-xxl-8{margin-left:66.6666666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.3333333333%}.offset-xxl-11{margin-left:91.6666666667%}.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: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}.g-xxl-6,.gx-xxl-6{--bs-gutter-x: 5rem}.g-xxl-6,.gy-xxl-6{--bs-gutter-y: 5rem}.g-xxl-7,.gx-xxl-7{--bs-gutter-x: 6rem}.g-xxl-7,.gy-xxl-7{--bs-gutter-y: 6rem}.g-xxl-grid-gutter,.gx-xxl-grid-gutter{--bs-gutter-x: 1.875rem}.g-xxl-grid-gutter,.gy-xxl-grid-gutter{--bs-gutter-y: 1.875rem}}.table{--bs-table-bg: rgba(0,0,0,0);--bs-table-striped-color: #737491;--bs-table-striped-bg: rgba(0,0,0,0.0375);--bs-table-active-color: #737491;--bs-table-active-bg: rgba(0,0,0,0.05);--bs-table-hover-color: #737491;--bs-table-hover-bg: rgba(0,0,0,0.05);width:100%;margin-bottom:1rem;color:#737491;vertical-align:top;border-color:#e9e9f2}.table>:not(caption)>*>*{padding:.75rem .75rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.375rem .375rem}.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: #f1f0fe;--bs-table-striped-bg: #e8e7f4;--bs-table-striped-color: #000;--bs-table-active-bg: #e5e4f1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e4f1;--bs-table-hover-color: #000;color:#000;border-color:#d9d8e5}.table-secondary{--bs-table-bg: #f7f7fc;--bs-table-striped-bg: #eeeef3;--bs-table-striped-color: #000;--bs-table-active-bg: #ebebef;--bs-table-active-color: #000;--bs-table-hover-bg: #ebebef;--bs-table-hover-color: #000;color:#000;border-color:#dedee3}.table-success{--bs-table-bg: #e8faf4;--bs-table-striped-bg: #dff1eb;--bs-table-striped-color: #000;--bs-table-active-bg: #dceee8;--bs-table-active-color: #000;--bs-table-hover-bg: #dceee8;--bs-table-hover-color: #000;color:#000;border-color:#d1e1dc}.table-info{--bs-table-bg: #f0f5fe;--bs-table-striped-bg: #e7ecf4;--bs-table-striped-color: #000;--bs-table-active-bg: #e4e9f1;--bs-table-active-color: #000;--bs-table-hover-bg: #e4e9f1;--bs-table-hover-color: #000;color:#000;border-color:#d8dde5}.table-warning{--bs-table-bg: #fff7ef;--bs-table-striped-bg: #f5eee6;--bs-table-striped-color: #000;--bs-table-active-bg: #f2ebe3;--bs-table-active-color: #000;--bs-table-hover-bg: #f2ebe3;--bs-table-hover-color: #000;color:#000;border-color:#e6ded7}.table-danger{--bs-table-bg: #feedf2;--bs-table-striped-bg: #f4e4e9;--bs-table-striped-color: #000;--bs-table-active-bg: #f1e1e6;--bs-table-active-color: #000;--bs-table-hover-bg: #f1e1e6;--bs-table-hover-color: #000;color:#000;border-color:#e5d5da}.table-dark{--bs-table-bg: #37384e;--bs-table-striped-bg: #3f3f55;--bs-table-striped-color: #fff;--bs-table-active-bg: #414257;--bs-table-active-color: #fff;--bs-table-hover-bg: #414257;--bs-table-hover-color: #fff;color:#fff;border-color:#4b4c60}.table-light{--bs-table-bg: #fff;--bs-table-striped-bg: #f5f5f5;--bs-table-striped-color: #000;--bs-table-active-bg: #f2f2f2;--bs-table-active-color: #000;--bs-table-hover-bg: #f2f2f2;--bs-table-hover-color: #000;color:#000;border-color:#e6e6e6}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 499.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: 1279.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:.375rem;font-size:.875rem;font-weight:500;color:#4a4b65}.col-form-label{padding-top:calc(.5625rem + 1px);padding-bottom:calc(.5625rem + 1px);margin-bottom:0;font-size:inherit;font-weight:500;line-height:1.5;color:#4a4b65}.col-form-label-lg{padding-top:calc(.75rem + 1px);padding-bottom:calc(.75rem + 1px);font-size:1.125rem}.col-form-label-sm{padding-top:calc(.425rem + 1px);padding-bottom:calc(.425rem + 1px);font-size:.875rem}.form-text{margin-top:.375rem;font-size:.75rem;color:#9e9fb4}.form-control{display:block;width:100%;padding:.5625rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#737491;background-color:#fff;background-clip:padding-box;border:1px solid #dfdfeb;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.75rem;box-shadow:0 0 0 0 transparent;transition:border-color 0.2s ease-in-out,box-shadow 0.2s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type="file"]{overflow:hidden}.form-control[type="file"]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#737491;background-color:#fff;border-color:rgba(118,109,244,0.35);outline:0;box-shadow:0 0 0 0 transparent,0 0.375rem 0.625rem -0.3125rem rgba(118,109,244,0.15)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-webkit-input-placeholder{color:#9e9fb4;opacity:1}.form-control::-moz-placeholder{color:#9e9fb4;opacity:1}.form-control::placeholder{color:#9e9fb4;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#f3f3f9;opacity:1}.form-control::file-selector-button{padding:.5625rem 1.125rem;margin:-.5625rem -1.125rem;-webkit-margin-end:1.125rem;margin-inline-end:1.125rem;color:#4a4b65;background-color:#f7f7fc;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,border-color 0.25s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#f7f7fc}.form-control::-webkit-file-upload-button{padding:.5625rem 1.125rem;margin:-.5625rem -1.125rem;-webkit-margin-end:1.125rem;margin-inline-end:1.125rem;color:#4a4b65;background-color:#f7f7fc;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,border-color 0.25s ease-in-out;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,border-color 0.25s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#f7f7fc}.form-control-plaintext{display:block;width:100%;padding:.5625rem 0;margin-bottom:0;line-height:1.5;color:#737491;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 + .85rem + 2px);padding:.425rem 1rem;font-size:.875rem;border-radius:.5rem}.form-control-sm::file-selector-button{padding:.425rem 1rem;margin:-.425rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-sm::-webkit-file-upload-button{padding:.425rem 1rem;margin:-.425rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg{min-height:calc(1.5em + 1.5rem + 2px);padding:.75rem 1.25rem;font-size:1.125rem;border-radius:1rem}.form-control-lg::file-selector-button{padding:.75rem 1.25rem;margin:-.75rem -1.25rem;-webkit-margin-end:1.25rem;margin-inline-end:1.25rem}.form-control-lg::-webkit-file-upload-button{padding:.75rem 1.25rem;margin:-.75rem -1.25rem;-webkit-margin-end:1.25rem;margin-inline-end:1.25rem}textarea.form-control{min-height:calc(1.5em + 1.125rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .85rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1.5rem + 2px)}.form-control-color{max-width:3rem;height:auto;padding:.5625rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.75rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.75rem}.form-select{display:block;width:100%;padding:.5625rem 2.25rem .5625rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#737491;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='%234a4b65' 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 1.125rem center;background-size:16px 12px;border:1px solid #dfdfeb;border-radius:.75rem;box-shadow:inset 0 1px 2px transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:focus{border-color:rgba(118,109,244,0.35);outline:0;box-shadow:inset 0 1px 2px transparent,0 0 0 0 rgba(118,109,244,0.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:1.125rem;background-image:none}.form-select:disabled{background-color:#f3f3f9}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #737491}.form-select-sm{padding-top:.425rem;padding-bottom:.425rem;padding-left:1rem;font-size:.875rem}.form-select-lg{padding-top:.75rem;padding-bottom:.75rem;padding-left:1.25rem;font-size:1.125rem}.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:#e6e6f0;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid #e6e6f0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type="checkbox"]{border-radius:.375em}.form-check-input[type="radio"]{border-radius:50%}.form-check-input:active{filter:0}.form-check-input:focus{border-color:1px solid #e6e6f0;outline:0;box-shadow:0}.form-check-input:checked{background-color:#766df4;border-color:#766df4}.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:#766df4;border-color:#766df4;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-check-label{color:#737491}.form-switch{padding-left:2.75em}.form-switch .form-check-input{width:2.25em;margin-left:-2.75em;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");background-position:left center;border-radius:2.25em;transition:background-position 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.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='%23fff'/%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,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0.375rem 0.625rem -0.3125rem rgba(118,109,244,0.15)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0.375rem 0.625rem -0.3125rem rgba(118,109,244,0.15)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#766df4;border:0;border-radius:1rem;box-shadow:0 0.1rem 0.25rem rgba(0,0,0,0.1);-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:#4e42f1}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#e9e9f2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 1px 2px transparent}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#766df4;border:0;border-radius:1rem;box-shadow:0 0.1rem 0.25rem rgba(0,0,0,0.1);-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:#4e42f1}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#e9e9f2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 1px 2px transparent}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#9e9fb4}.form-range:disabled::-moz-range-thumb{background-color:#9e9fb4}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);padding:1rem 1.125rem}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem 1.125rem;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::-webkit-input-placeholder{color:transparent}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-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{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus ~ label,.form-floating>.form-control: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{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,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.5625rem 1.125rem;font-size:1rem;font-weight:500;line-height:1.5;color:#737491;text-align:center;white-space:nowrap;background-color:#fff;border:1px solid #dfdfeb;border-radius:.75rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.75rem 1.25rem;font-size:1.125rem;border-radius:1rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.425rem 1rem;font-size:.875rem;border-radius:.5rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3.375rem}.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:.375rem;font-size:.75rem;color:#16c995}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.3125rem .625rem;margin-top:.1rem;font-size:.75rem;color:#000;background-color:rgba(22,201,149,0.08);border-radius:.3125rem}.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,.form-control.is-valid{border-color:#16c995;padding-right:calc(1.5em + 1.125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2316c995' 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 + .28125rem) center;background-size:calc(.75em + .5625rem) calc(.75em + .5625rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#16c995;box-shadow:0 0 0 0 rgba(22,201,149,0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 1.125rem);background-position:top calc(.375em + .28125rem) right calc(.375em + .28125rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#16c995;padding-right:5.0625rem;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='%234a4b65' 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='%2316c995' 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 1.125rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .5625rem) calc(.75em + .5625rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#16c995;box-shadow:0 0 0 0 rgba(22,201,149,0.25)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#16c995}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#16c995}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 0 rgba(22,201,149,0.25)}.was-validated .form-check-input:valid ~ .form-check-label,.form-check-input.is-valid ~ .form-check-label{color:#16c995}.form-check-inline .form-check-input ~ .valid-feedback{margin-left:.5em}.was-validated .input-group .form-control:valid,.input-group .form-control.is-valid,.was-validated .input-group .form-select:valid,.input-group .form-select.is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.375rem;font-size:.75rem;color:#f74f78}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.3125rem .625rem;margin-top:.1rem;font-size:.75rem;color:#000;background-color:rgba(247,79,120,0.08);border-radius:.3125rem}.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,.form-control.is-invalid{border-color:#f74f78;padding-right:calc(1.5em + 1.125rem);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='%23f74f78'%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='%23f74f78' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .28125rem) center;background-size:calc(.75em + .5625rem) calc(.75em + .5625rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#f74f78;box-shadow:0 0 0 0 rgba(247,79,120,0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 1.125rem);background-position:top calc(.375em + .28125rem) right calc(.375em + .28125rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#f74f78;padding-right:5.0625rem;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='%234a4b65' 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='%23f74f78'%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='%23f74f78' stroke='none'/%3e%3c/svg%3e");background-position:right 1.125rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .5625rem) calc(.75em + .5625rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#f74f78;box-shadow:0 0 0 0 rgba(247,79,120,0.25)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#f74f78}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#f74f78}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 0 rgba(247,79,120,0.25)}.was-validated .form-check-input:invalid ~ .form-check-label,.form-check-input.is-invalid ~ .form-check-label{color:#f74f78}.form-check-inline .form-check-input ~ .invalid-feedback{margin-left:.5em}.was-validated .input-group .form-control:invalid,.input-group .form-control.is-invalid,.was-validated .input-group .form-select:invalid,.input-group .form-select.is-invalid{z-index:3}.btn{display:inline-block;font-weight:500;line-height:1.5;color:#737491;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.5625rem 1.25rem;font-size:1rem;border-radius:.75rem;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,border-color 0.25s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#737491;text-decoration:none}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:unset}.btn-check:checked+.btn,.btn-check:active+.btn,.btn:active,.btn.active{box-shadow:unset}.btn-check:checked+.btn:focus,.btn-check:active+.btn:focus,.btn:active:focus,.btn.active:focus{box-shadow:unset,unset}.btn:disabled,.btn.disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65;box-shadow:none}.btn-primary{color:#000;background-color:#766df4;border-color:#766df4;box-shadow:unset}.btn-primary:hover{color:#000;background-color:#8b83f6;border-color:#847cf5}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#000;background-color:#8b83f6;border-color:#847cf5;box-shadow:unset,0 0 0 0 rgba(100,93,207,0.5)}.btn-check:checked+.btn-primary,.btn-check:active+.btn-primary,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{color:#000;background-color:#918af6;border-color:#847cf5}.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:unset,0 0 0 0 rgba(100,93,207,0.5)}.btn-primary:disabled,.btn-primary.disabled{color:#000;background-color:#766df4;border-color:#766df4}.btn-secondary{color:#000;background-color:#f7f7fc;border-color:#f7f7fc;box-shadow:unset}.btn-secondary:hover{color:#000;background-color:#f8f8fc;border-color:#f8f8fc}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#000;background-color:#f8f8fc;border-color:#f8f8fc;box-shadow:unset,0 0 0 0 rgba(210,210,214,0.5)}.btn-check:checked+.btn-secondary,.btn-check:active+.btn-secondary,.btn-secondary:active,.btn-secondary.active,.show>.btn-secondary.dropdown-toggle{color:#000;background-color:#f9f9fd;border-color:#f8f8fc}.btn-check:checked+.btn-secondary:focus,.btn-check:active+.btn-secondary:focus,.btn-secondary:active:focus,.btn-secondary.active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:unset,0 0 0 0 rgba(210,210,214,0.5)}.btn-secondary:disabled,.btn-secondary.disabled{color:#000;background-color:#f7f7fc;border-color:#f7f7fc}.btn-success{color:#000;background-color:#16c995;border-color:#16c995;box-shadow:unset}.btn-success:hover{color:#000;background-color:#39d1a5;border-color:#2dcea0}.btn-check:focus+.btn-success,.btn-success:focus{color:#000;background-color:#39d1a5;border-color:#2dcea0;box-shadow:unset,0 0 0 0 rgba(19,171,127,0.5)}.btn-check:checked+.btn-success,.btn-check:active+.btn-success,.btn-success:active,.btn-success.active,.show>.btn-success.dropdown-toggle{color:#000;background-color:#45d4aa;border-color:#2dcea0}.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:unset,0 0 0 0 rgba(19,171,127,0.5)}.btn-success:disabled,.btn-success.disabled{color:#000;background-color:#16c995;border-color:#16c995}.btn-info{color:#000;background-color:#6a9bf4;border-color:#6a9bf4;box-shadow:unset}.btn-info:hover{color:#000;background-color:#80aaf6;border-color:#79a5f5}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#80aaf6;border-color:#79a5f5;box-shadow:unset,0 0 0 0 rgba(90,132,207,0.5)}.btn-check:checked+.btn-info,.btn-check:active+.btn-info,.btn-info:active,.btn-info.active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#88aff6;border-color:#79a5f5}.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:unset,0 0 0 0 rgba(90,132,207,0.5)}.btn-info:disabled,.btn-info.disabled{color:#000;background-color:#6a9bf4;border-color:#6a9bf4}.btn-warning{color:#000;background-color:#ffb15c;border-color:#ffb15c;box-shadow:unset}.btn-warning:hover{color:#000;background-color:#ffbd74;border-color:#ffb96c}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffbd74;border-color:#ffb96c;box-shadow:unset,0 0 0 0 rgba(217,150,78,0.5)}.btn-check:checked+.btn-warning,.btn-check:active+.btn-warning,.btn-warning:active,.btn-warning.active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffc17d;border-color:#ffb96c}.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:unset,0 0 0 0 rgba(217,150,78,0.5)}.btn-warning:disabled,.btn-warning.disabled{color:#000;background-color:#ffb15c;border-color:#ffb15c}.btn-danger{color:#000;background-color:#f74f78;border-color:#f74f78;box-shadow:unset}.btn-danger:hover{color:#000;background-color:#f8698c;border-color:#f86186}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#000;background-color:#f8698c;border-color:#f86186;box-shadow:unset,0 0 0 0 rgba(210,67,102,0.5)}.btn-check:checked+.btn-danger,.btn-check:active+.btn-danger,.btn-danger:active,.btn-danger.active,.show>.btn-danger.dropdown-toggle{color:#000;background-color:#f97293;border-color:#f86186}.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:unset,0 0 0 0 rgba(210,67,102,0.5)}.btn-danger:disabled,.btn-danger.disabled{color:#000;background-color:#f74f78;border-color:#f74f78}.btn-light{color:#000;background-color:#fff;border-color:#fff;box-shadow:unset}.btn-light:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#fff;border-color:#fff;box-shadow:unset,0 0 0 0 rgba(217,217,217,0.5)}.btn-check:checked+.btn-light,.btn-check:active+.btn-light,.btn-light:active,.btn-light.active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#fff;border-color:#fff}.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:unset,0 0 0 0 rgba(217,217,217,0.5)}.btn-light:disabled,.btn-light.disabled{color:#000;background-color:#fff;border-color:#fff}.btn-dark{color:#fff;background-color:#37384e;border-color:#37384e;box-shadow:unset}.btn-dark:hover{color:#fff;background-color:#2f3042;border-color:#2c2d3e}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#2f3042;border-color:#2c2d3e;box-shadow:unset,0 0 0 0 rgba(85,86,105,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:#2c2d3e;border-color:#292a3b}.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:unset,0 0 0 0 rgba(85,86,105,0.5)}.btn-dark:disabled,.btn-dark.disabled{color:#fff;background-color:#37384e;border-color:#37384e}.btn-outline-primary{color:#766df4;border-color:#766df4}.btn-outline-primary:hover{color:#000;background-color:#766df4;border-color:#766df4}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 0 rgba(118,109,244,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:#000;background-color:#766df4;border-color:#766df4}.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:unset,0 0 0 0 rgba(118,109,244,0.5)}.btn-outline-primary:disabled,.btn-outline-primary.disabled{color:#766df4;background-color:transparent}.btn-outline-secondary{color:#f7f7fc;border-color:#f7f7fc}.btn-outline-secondary:hover{color:#000;background-color:#f7f7fc;border-color:#f7f7fc}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 0 rgba(247,247,252,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:#000;background-color:#f7f7fc;border-color:#f7f7fc}.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:unset,0 0 0 0 rgba(247,247,252,0.5)}.btn-outline-secondary:disabled,.btn-outline-secondary.disabled{color:#f7f7fc;background-color:transparent}.btn-outline-success{color:#16c995;border-color:#16c995}.btn-outline-success:hover{color:#000;background-color:#16c995;border-color:#16c995}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 0 rgba(22,201,149,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:#000;background-color:#16c995;border-color:#16c995}.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:unset,0 0 0 0 rgba(22,201,149,0.5)}.btn-outline-success:disabled,.btn-outline-success.disabled{color:#16c995;background-color:transparent}.btn-outline-info{color:#6a9bf4;border-color:#6a9bf4}.btn-outline-info:hover{color:#000;background-color:#6a9bf4;border-color:#6a9bf4}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 0 rgba(106,155,244,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:#000;background-color:#6a9bf4;border-color:#6a9bf4}.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:unset,0 0 0 0 rgba(106,155,244,0.5)}.btn-outline-info:disabled,.btn-outline-info.disabled{color:#6a9bf4;background-color:transparent}.btn-outline-warning{color:#ffb15c;border-color:#ffb15c}.btn-outline-warning:hover{color:#000;background-color:#ffb15c;border-color:#ffb15c}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 0 rgba(255,177,92,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:#000;background-color:#ffb15c;border-color:#ffb15c}.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:unset,0 0 0 0 rgba(255,177,92,0.5)}.btn-outline-warning:disabled,.btn-outline-warning.disabled{color:#ffb15c;background-color:transparent}.btn-outline-danger{color:#f74f78;border-color:#f74f78}.btn-outline-danger:hover{color:#000;background-color:#f74f78;border-color:#f74f78}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 0 rgba(247,79,120,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:#000;background-color:#f74f78;border-color:#f74f78}.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:unset,0 0 0 0 rgba(247,79,120,0.5)}.btn-outline-danger:disabled,.btn-outline-danger.disabled{color:#f74f78;background-color:transparent}.btn-outline-light{color:#fff;border-color:#fff}.btn-outline-light:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 0 rgba(255,255,255,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:#000;background-color:#fff;border-color:#fff}.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:unset,0 0 0 0 rgba(255,255,255,0.5)}.btn-outline-light:disabled,.btn-outline-light.disabled{color:#fff;background-color:transparent}.btn-outline-dark{color:#37384e;border-color:#37384e}.btn-outline-dark:hover{color:#fff;background-color:#37384e;border-color:#37384e}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 0 rgba(55,56,78,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:#37384e;border-color:#37384e}.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:unset,0 0 0 0 rgba(55,56,78,0.5)}.btn-outline-dark:disabled,.btn-outline-dark.disabled{color:#37384e;background-color:transparent}.btn-link{font-weight:400;color:#766df4;text-decoration:none}.btn-link:hover{color:#493ef0;text-decoration:underline}.btn-link:focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#737491}.btn-lg,.btn-group-lg>.btn{padding:.75rem 1.5rem;font-size:1.125rem;border-radius:1rem}.btn-sm,.btn-group-sm>.btn{padding:.425rem 1rem;font-size:.875rem;border-radius:.5rem}.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-menu{position:absolute;top:100%;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#737491;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #e9e9f2;border-radius:.75rem;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04)}.dropdown-menu[data-bs-popper]{left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}@media (min-width: 500px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 1280px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropend .dropdown-menu{top:0;right:auto;left:100%}.dropend .dropdown-menu[data-bs-popper]{margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu{top:0;right:100%;left:auto}.dropstart .dropdown-menu[data-bs-popper]{margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9e9f2}.dropdown-item{display:block;width:100%;padding:.425rem 1.3rem;clear:both;font-weight:400;color:#5a5b75;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#766df4;text-decoration:none;background-color:rgba(0,0,0,0)}.dropdown-item.active,.dropdown-item:active{color:#766df4;text-decoration:none;background-color:rgba(0,0,0,0)}.dropdown-item.disabled,.dropdown-item:disabled{color:#9e9fb4;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.3rem;margin-bottom:0;font-size:.875rem;color:#4a4b65;white-space:nowrap}.dropdown-item-text{display:block;padding:.425rem 1.3rem;color:#5a5b75}.dropdown-menu-dark{color:rgba(255,255,255,0.7);background-color:#4a4b65;border-color:rgba(0,0,0,0);box-shadow:none}.dropdown-menu-dark .dropdown-item{color:rgba(255,255,255,0.7)}.dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:rgba(0,0,0,0)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:rgba(0,0,0,0)}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:rgba(255,255,255,0.45)}.dropdown-menu-dark .dropdown-divider{border-color:rgba(255,255,255,0.14)}.dropdown-menu-dark .dropdown-item-text{color:rgba(255,255,255,0.7)}.dropdown-menu-dark .dropdown-header{color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{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),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.9375rem;padding-left:.9375rem}.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{padding-right:.75rem;padding-left:.75rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn-group.show .dropdown-toggle{box-shadow:unset}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn ~ .btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{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{display:block;padding:.5625rem 1.25rem;font-weight:500;color:#5a5b75;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out,border-color 0.25s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:#766df4;text-decoration:none}.nav-link.disabled{color:#9e9fb4;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid rgba(0,0,0,0)}.nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid transparent;border-top-left-radius:.75rem;border-top-right-radius:.75rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:rgba(0,0,0,0);isolation:isolate}.nav-tabs .nav-link.disabled{color:#9e9fb4;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#766df4;background-color:rgba(0,0,0,0);border-color:rgba(118,109,244,0.35)}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:.75rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#766df4}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.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:.75rem;padding-right:.9375rem;padding-bottom:.75rem;padding-left:.9375rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:0;padding-bottom:0;margin-right:1rem;font-size:calc(1.2875rem + .45vw);white-space:nowrap}@media (min-width: 1200px){.navbar-brand{font-size:1.625rem}}.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{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5625rem;padding-bottom:.5625rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.75rem .75rem;font-size:1rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:0;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%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 500px){.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{padding-right:1.125rem;padding-left:1.125rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.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{padding-right:1.125rem;padding-left:1.125rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.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{padding-right:1.125rem;padding-left:1.125rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width: 1280px){.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{padding-right:1.125rem;padding-left:1.125rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.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{padding-right:1.125rem;padding-left:1.125rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;flex-basis:auto}.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{padding-right:1.125rem;padding-left:1.125rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:#4a4b65}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:#4a4b65}.navbar-light .navbar-nav .nav-link{color:#5a5b75}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:#766df4}.navbar-light .navbar-nav .nav-link.disabled{color:#9e9fb4}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .nav-link.active{color:#766df4}.navbar-light .navbar-toggler{color:#5a5b75;border-color:rgba(0,0,0,0)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%235a5b75' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#5a5b75}.navbar-light .navbar-text a,.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:#766df4}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.7)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#fff}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,0.45)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,0.7);border-color:rgba(0,0,0,0)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,0.7)}.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(0,0,0,0.085);border-radius:1rem}.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(1rem - 1px);border-top-right-radius:calc(1rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(1rem - 1px);border-bottom-left-radius:calc(1rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1.5rem 1.5rem}.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:1.5rem}.card-header{padding:.75rem 1.5rem;margin-bottom:0;background-color:rgba(0,0,0,0);border-bottom:1px solid rgba(0,0,0,0.085)}.card-header:first-child{border-radius:calc(1rem - 1px) calc(1rem - 1px) 0 0}.card-footer{padding:.75rem 1.5rem;background-color:rgba(0,0,0,0);border-top:1px solid rgba(0,0,0,0.085)}.card-footer:last-child{border-radius:0 0 calc(1rem - 1px) calc(1rem - 1px)}.card-header-tabs{margin-right:-.75rem;margin-bottom:-.75rem;margin-left:-.75rem;border-bottom:0}.card-header-tabs .nav-link.active{background-color:#fff;border-bottom-color:#fff}.card-header-pills{margin-right:-.75rem;margin-left:-.75rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(1rem - 1px)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(1rem - 1px);border-top-right-radius:calc(1rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(1rem - 1px);border-bottom-left-radius:calc(1rem - 1px)}.card-group>.card{margin-bottom:.9375rem}@media (min-width: 500px){.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:1.125rem 1.5rem;font-size:1rem;color:#4a4b65;text-align:left;background-color:rgba(0,0,0,0);border:0;border-radius:0;overflow-anchor:none;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,border-color 0.25s ease-in-out,border-radius 0.15s ease}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#766df4;background-color:rgba(0,0,0,0);box-shadow:inset 0 -1px 0 #e9e9f2}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='121.805' height='121.804'%3e%3cpath fill-rule='evenodd' fill='%23766df4' d='M7.308 68.211h107.188a7.31 7.31 0 0 0 7.309-7.31 7.31 7.31 0 0 0-7.309-7.309H7.308A7.31 7.31 0 0 0 0 60.902a7.31 7.31 0 0 0 7.308 7.309z'/%3e%3c/svg%3e");transform:rotate(180deg)}.accordion-button::after{flex-shrink:0;width:.75rem;height:.75rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 426.667 426.667'%3e%3cpath fill-rule='evenodd' fill='%234a4b65' d='M405.332 192H234.668V21.332C234.668 9.559 225.109 0 213.332 0S192 9.559 192 21.332V192H21.332C9.559 192 0 201.559 0 213.332s9.559 21.336 21.332 21.336H192v170.664c0 11.777 9.559 21.336 21.332 21.336s21.336-9.559 21.336-21.336V234.668h170.664c11.777 0 21.336-9.559 21.336-21.336S417.109 192 405.332 192zm0 0'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:.75rem;transition:none}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#e9e9f2;outline:0;box-shadow:unset}.accordion-header{margin-bottom:0}.accordion-item{margin-bottom:-1px;background-color:rgba(0,0,0,0);border:1px solid #e9e9f2}.accordion-item:first-of-type{border-top-left-radius:1rem;border-top-right-radius:1rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(1rem - 1px);border-top-right-radius:calc(1rem - 1px)}.accordion-item:last-of-type{margin-bottom:0;border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(1rem - 1px);border-bottom-left-radius:calc(1rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.accordion-body{padding:1.5rem 1.5rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:0;font-size:.875rem;list-style:none;background-color:rgba(0,0,0,0)}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#9e9fb4;content:var(--bs-breadcrumb-divider, "") /* rtl: var(--bs-breadcrumb-divider, "") */}.breadcrumb-item.active{color:#9e9fb4}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#5a5b75;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);transition:color 0.25s ease-in-out,border-color 0.25s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#766df4;text-decoration:none;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.page-link:focus{z-index:3;color:#493ef0;background-color:rgba(0,0,0,0);outline:0;box-shadow:0 0 0 0 rgba(118,109,244,0.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#766df4;background-color:rgba(0,0,0,0);border-color:rgba(118,109,244,0.35)}.page-item.disabled .page-link{color:#737491;pointer-events:none;background-color:#fff;border-color:#e9e9f2}.page-link{padding:.5rem .75rem}.page-item:first-child .page-link{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.page-item:last-child .page-link{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.pagination-lg .page-link{padding:.525rem 1rem;font-size:1.125rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.pagination-sm .page-link{padding:.275rem .625rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.badge{display:inline-block;padding:.25em .5em;font-size:.75em;font-weight:500;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:1rem}.alert-heading{color:inherit}.alert-link{font-weight:500}.alert-dismissible{padding-right:3.75rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1.25rem}.alert-primary{color:#766df4;background-color:#f4f3fe;border-color:#e4e2fd}.alert-primary .alert-link{color:#5e57c3}.alert-secondary{color:#f7f7fc;background-color:#fefeff;border-color:#fdfdfe}.alert-secondary .alert-link{color:#c6c6ca}.alert-success{color:#16c995;background-color:#ecfbf7;border-color:#d0f4ea}.alert-success .alert-link{color:#12a177}.alert-info{color:#6a9bf4;background-color:#f3f7fe;border-color:#e1ebfd}.alert-info .alert-link{color:#557cc3}.alert-warning{color:#ffb15c;background-color:#fff9f2;border-color:#ffefde}.alert-warning .alert-link{color:#cc8e4a}.alert-danger{color:#f74f78;background-color:#fef1f4;border-color:#fddce4}.alert-danger .alert-link{color:#c63f60}.alert-light{color:#fff;background-color:#fff;border-color:#fff}.alert-light .alert-link{color:#ccc}.alert-dark{color:#37384e;background-color:#efeff1;border-color:#d7d7dc}.alert-dark .alert-link{color:#2c2d3e}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#f3f3f9;border-radius:.75rem;box-shadow:none}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#766df4;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{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:1rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#5a5b75;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#766df4;text-decoration:none;background-color:#fff}.list-group-item-action:active{color:#766df4;background-color:#fff}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;color:#37384e;background-color:#fff;border:1px solid rgba(0,0,0,0.085)}.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:#9e9fb4;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#766df4;border-color:#766df4}.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:1rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:1rem;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: 500px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:1rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:1rem;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:1rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:1rem;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:1rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:1rem;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: 1280px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:1rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:1rem;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:1rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:1rem;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:#766df4;background-color:#f1f0fe}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#766df4;background-color:#d9d8e5}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#766df4;border-color:#766df4}.list-group-item-secondary{color:#f7f7fc;background-color:#fefeff}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#f7f7fc;background-color:#e5e5e6}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#f7f7fc;border-color:#f7f7fc}.list-group-item-success{color:#16c995;background-color:#e8faf4}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#16c995;background-color:#d1e1dc}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#16c995;border-color:#16c995}.list-group-item-info{color:#6a9bf4;background-color:#f0f5fe}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#6a9bf4;background-color:#d8dde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#6a9bf4;border-color:#6a9bf4}.list-group-item-warning{color:#ffb15c;background-color:#fff7ef}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#ffb15c;background-color:#e6ded7}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#ffb15c;border-color:#ffb15c}.list-group-item-danger{color:#f74f78;background-color:#feedf2}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#f74f78;background-color:#e5d5da}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#f74f78;border-color:#f74f78}.list-group-item-light{color:#fff;background-color:#fff}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#fff;background-color:#e6e6e6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-dark{color:#37384e;background-color:#ebebed}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#37384e;background-color:#d4d4d5}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#37384e;border-color:#37384e}.btn-close{box-sizing:content-box;width:.625em;height:.625em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%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/.625em auto no-repeat;border:0;border-radius:.75rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 0 rgba(118,109,244,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:#fff;background-clip:padding-box;border:1px solid #e9e9f2;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-radius:.75rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.9375rem}.toast-header{display:flex;align-items:center;padding:.5rem 1rem;color:#737491;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(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}.toast-header .btn-close{margin-right:-.5rem;margin-left:1rem}.toast-body{padding:1rem;word-wrap:break-word}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1060;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.2s ease-out;transform:scale(0.9)}@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 #e9e9f2;border-radius:1rem;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);outline:0}.modal-backdrop,.offcanvas-backdrop:not(body){position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade,.fade.offcanvas-backdrop:not(body){opacity:0}.modal-backdrop.show,.show.offcanvas-backdrop:not(body){opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e9e9f2;border-top-left-radius:calc(1rem - 1px);border-top-right-radius:calc(1rem - 1px)}.modal-header .btn-close{padding:.5rem .625rem;margin:-.5rem -.625rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1.25rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #e9e9f2;border-bottom-right-radius:calc(1rem - 1px);border-bottom-left-radius:calc(1rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 500px){.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-content{box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04)}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1280px){.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: 499.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: 1279.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:1080;display:block;margin:.25rem;font-family:var(--bs-font-sans-serif);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:.75rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:1}.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:#2c2d3f}.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:#2c2d3f}.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:#2c2d3f}.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:#2c2d3f}.tooltip-inner{max-width:200px;padding:.3125rem .625rem;color:#fff;text-align:center;background-color:#2c2d3f;border-radius:.375rem}.popover{position:absolute;top:0;left:0 /* rtl:ignore */;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);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 #e9e9f2;border-radius:.75rem;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04)}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.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:#d9d9e9}.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>.popover-arrow,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.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:#d9d9e9}.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>.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:#d9d9e9}.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 #fff}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.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:#d9d9e9}.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:.75rem 1rem;margin-bottom:0;font-size:1rem;color:#4a4b65;background-color:#fff;border-bottom:1px solid #e6e6e6;border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#737491}.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%;-webkit-backface-visibility:hidden;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%;padding:0;color:#737491;text-align:center;background:none;border:0;opacity:.6;transition:all 0.3s ease-in-out}@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:#737491;text-decoration:none;outline:0;opacity:1}.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' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{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 [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.15em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.1em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@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;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1080;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas-header{display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.offcanvas-header .btn-close{padding:.625rem .75rem;margin:-.625rem -.75rem -.625rem auto}.offcanvas-title{margin-bottom:0;line-height:initial}.offcanvas-body{flex-grow:1;padding:1.25rem 1.5rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:22rem;border-right:0 solid rgba(0,0,0,0);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:22rem;border-left:0 solid rgba(0,0,0,0);transform:translateX(100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:0 solid rgba(0,0,0,0);transform:translateY(100%)}.offcanvas.show{transform:none}.offcanvas-backdrop::before{position:fixed;top:0;left:0;z-index:1079;width:100vw;height:100vh;content:"";background-color:rgba(0,0,0,0.5)}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#766df4}.link-primary:hover,.link-primary:focus{color:#918af6}.link-secondary{color:#f7f7fc}.link-secondary:hover,.link-secondary:focus{color:#f9f9fd}.link-success{color:#16c995}.link-success:hover,.link-success:focus{color:#45d4aa}.link-info{color:#6a9bf4}.link-info:hover,.link-info:focus{color:#88aff6}.link-warning{color:#ffb15c}.link-warning:hover,.link-warning:focus{color:#ffc17d}.link-danger{color:#f74f78}.link-danger:hover,.link-danger:focus{color:#f97293}.link-light{color:#fff}.link-light:hover,.link-light:focus{color:#fff}.link-dark{color:#37384e}.link-dark:hover,.link-dark:focus{color:#2c2d3e}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-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:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width: 500px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width: 1280px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){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 0.625rem -0.1875rem rgba(0,0,0,0.13) !important}.shadow-sm{box-shadow:0 0 0.625rem -0.1875rem rgba(0,0,0,0.13) !important}.shadow-lg{box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04) !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:-webkit-sticky !important;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 #e9e9f2 !important}.border-0{border:0 !important}.border-top{border-top:1px solid #e9e9f2 !important}.border-top-0{border-top:0 !important}.border-end{border-right:1px solid #e9e9f2 !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:1px solid #e9e9f2 !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:1px solid #e9e9f2 !important}.border-start-0{border-left:0 !important}.border-primary{border-color:rgba(118,109,244,0.35) !important}.border-success{border-color:rgba(22,201,149,0.35) !important}.border-info{border-color:rgba(106,155,244,0.35) !important}.border-warning{border-color:rgba(255,177,92,0.35) !important}.border-danger{border-color:rgba(247,79,120,0.35) !important}.border-light{border-color:rgba(255,255,255,0.14) !important}.border-dark{border-color:rgba(55,56,78,0.35) !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}.gap-6{gap:5rem !important}.gap-7{gap:6rem !important}.gap-grid-gutter{gap:1.875rem !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-6{margin:5rem !important}.m-7{margin:6rem !important}.m-grid-gutter{margin:1.875rem !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-6{margin-right:5rem !important;margin-left:5rem !important}.mx-7{margin-right:6rem !important;margin-left:6rem !important}.mx-grid-gutter{margin-right:1.875rem !important;margin-left:1.875rem !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-6{margin-top:5rem !important;margin-bottom:5rem !important}.my-7{margin-top:6rem !important;margin-bottom:6rem !important}.my-grid-gutter{margin-top:1.875rem !important;margin-bottom:1.875rem !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-6{margin-top:5rem !important}.mt-7{margin-top:6rem !important}.mt-grid-gutter{margin-top:1.875rem !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-6{margin-right:5rem !important}.me-7{margin-right:6rem !important}.me-grid-gutter{margin-right:1.875rem !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-6{margin-bottom:5rem !important}.mb-7{margin-bottom:6rem !important}.mb-grid-gutter{margin-bottom:1.875rem !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-6{margin-left:5rem !important}.ms-7{margin-left:6rem !important}.ms-grid-gutter{margin-left:1.875rem !important}.ms-auto{margin-left:auto !important}.m-n1{margin:-.25rem !important}.m-n2{margin:-.5rem !important}.m-n3{margin:-1rem !important}.m-n4{margin:-1.5rem !important}.m-n5{margin:-3rem !important}.m-n6{margin:-5rem !important}.m-n7{margin:-6rem !important}.m-ngrid-gutter{margin:-1.875rem !important}.mx-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-n5{margin-right:-3rem !important;margin-left:-3rem !important}.mx-n6{margin-right:-5rem !important;margin-left:-5rem !important}.mx-n7{margin-right:-6rem !important;margin-left:-6rem !important}.mx-ngrid-gutter{margin-right:-1.875rem !important;margin-left:-1.875rem !important}.my-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-n5{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-n6{margin-top:-5rem !important;margin-bottom:-5rem !important}.my-n7{margin-top:-6rem !important;margin-bottom:-6rem !important}.my-ngrid-gutter{margin-top:-1.875rem !important;margin-bottom:-1.875rem !important}.mt-n1{margin-top:-.25rem !important}.mt-n2{margin-top:-.5rem !important}.mt-n3{margin-top:-1rem !important}.mt-n4{margin-top:-1.5rem !important}.mt-n5{margin-top:-3rem !important}.mt-n6{margin-top:-5rem !important}.mt-n7{margin-top:-6rem !important}.mt-ngrid-gutter{margin-top:-1.875rem !important}.me-n1{margin-right:-.25rem !important}.me-n2{margin-right:-.5rem !important}.me-n3{margin-right:-1rem !important}.me-n4{margin-right:-1.5rem !important}.me-n5{margin-right:-3rem !important}.me-n6{margin-right:-5rem !important}.me-n7{margin-right:-6rem !important}.me-ngrid-gutter{margin-right:-1.875rem !important}.mb-n1{margin-bottom:-.25rem !important}.mb-n2{margin-bottom:-.5rem !important}.mb-n3{margin-bottom:-1rem !important}.mb-n4{margin-bottom:-1.5rem !important}.mb-n5{margin-bottom:-3rem !important}.mb-n6{margin-bottom:-5rem !important}.mb-n7{margin-bottom:-6rem !important}.mb-ngrid-gutter{margin-bottom:-1.875rem !important}.ms-n1{margin-left:-.25rem !important}.ms-n2{margin-left:-.5rem !important}.ms-n3{margin-left:-1rem !important}.ms-n4{margin-left:-1.5rem !important}.ms-n5{margin-left:-3rem !important}.ms-n6{margin-left:-5rem !important}.ms-n7{margin-left:-6rem !important}.ms-ngrid-gutter{margin-left:-1.875rem !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}.p-6{padding:5rem !important}.p-7{padding:6rem !important}.p-grid-gutter{padding:1.875rem !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}.px-6{padding-right:5rem !important;padding-left:5rem !important}.px-7{padding-right:6rem !important;padding-left:6rem !important}.px-grid-gutter{padding-right:1.875rem !important;padding-left:1.875rem !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}.py-6{padding-top:5rem !important;padding-bottom:5rem !important}.py-7{padding-top:6rem !important;padding-bottom:6rem !important}.py-grid-gutter{padding-top:1.875rem !important;padding-bottom:1.875rem !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}.pt-6{padding-top:5rem !important}.pt-7{padding-top:6rem !important}.pt-grid-gutter{padding-top:1.875rem !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}.pe-6{padding-right:5rem !important}.pe-7{padding-right:6rem !important}.pe-grid-gutter{padding-right:1.875rem !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}.pb-6{padding-bottom:5rem !important}.pb-7{padding-bottom:6rem !important}.pb-grid-gutter{padding-bottom:1.875rem !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}.ps-6{padding-left:5rem !important}.ps-7{padding-left:6rem !important}.ps-grid-gutter{padding-left:1.875rem !important}.font-monospace{font-family:var(--bs-font-monospace) !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.2875rem + .45vw) !important}.fs-4{font-size:calc(1.2625rem + .15vw) !important}.fs-5{font-size:1.125rem !important}.fs-6{font-size:1rem !important}.fs-xl{font-size:1.25rem !important}.fs-lg{font-size:1.125rem !important}.fs-base{font-size:1rem !important}.fs-md{font-size:.9375rem !important}.fs-sm{font-size:.875rem !important}.fs-ms{font-size:.8125rem !important}.fs-xs{font-size:.75rem !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:700 !important}.fw-bolder{font-weight:bolder !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.5 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:1.5 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !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-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-primary{color:#766df4 !important}.text-secondary{color:#f7f7fc !important}.text-success{color:#16c995 !important}.text-info{color:#6a9bf4 !important}.text-warning{color:#ffb15c !important}.text-danger{color:#f74f78 !important}.text-light{color:#fff !important}.text-dark{color:#37384e !important}.text-white{color:#fff !important}.text-body{color:#737491 !important}.text-muted{color:#9e9fb4 !important}.text-heading{color:#4a4b65 !important}.text-nav{color:#5a5b75 !important}.text-border{color:#e9e9f2 !important}.text-reset{color:inherit !important}.bg-primary{background-color:#766df4 !important}.bg-secondary{background-color:#f7f7fc !important}.bg-success{background-color:#16c995 !important}.bg-info{background-color:#6a9bf4 !important}.bg-warning{background-color:#ffb15c !important}.bg-danger{background-color:#f74f78 !important}.bg-light{background-color:#fff !important}.bg-dark{background-color:#37384e !important}.bg-body{background-color:#fff !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:rgba(0,0,0,0) !important}.bg-darker{background-color:#2c2d3f !important}.bg-black{background-color:#000 !important}.bg-gradient{background-image:var(--bs-gradient) !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:.75rem !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:.5rem !important}.rounded-2{border-radius:.75rem !important}.rounded-3{border-radius:1rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-top{border-top-left-radius:.75rem !important;border-top-right-radius:.75rem !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-end{border-top-right-radius:.75rem !important;border-bottom-right-radius:.75rem !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-bottom{border-bottom-right-radius:.75rem !important;border-bottom-left-radius:.75rem !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-start{border-bottom-left-radius:.75rem !important;border-top-left-radius:.75rem !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.bg-none{background:none !important}.bg-faded-primary{background-color:rgba(118,109,244,0.08) !important}.bg-faded-success{background-color:rgba(22,201,149,0.08) !important}.bg-faded-info{background-color:rgba(106,155,244,0.08) !important}.bg-faded-warning{background-color:rgba(255,177,92,0.08) !important}.bg-faded-danger{background-color:rgba(247,79,120,0.08) !important}.bg-faded-light{background-color:rgba(255,255,255,0.08) !important}.bg-faded-dark{background-color:rgba(55,56,78,0.08) !important}.bg-size-cover{background-size:cover !important}.bg-size-contain{background-size:contain !important}.bg-position-center{background-position:center !important}.bg-position-center-y{background-position:left center !important}.bg-position-center-x{background-position:center top !important}.bg-position-top-end{background-position:top right !important}.bg-position-top-start{background-position:top left !important}.bg-position-center-end{background-position:center right !important}.bg-position-center-start{background-position:center left !important}.bg-position-center-bottom{background-position:center bottom !important}.bg-position-bottom-end{background-position:bottom right !important}.bg-position-bottom-start{background-position:bottom left !important}.bg-position-bottom-center{background-position:bottom center !important}.bg-repeat-0{background-repeat:no-repeat !important}.bg-repeat-x{background-repeat:repeat-x !important}.bg-repeat-y{background-repeat:repeat-y !important}.bg-attachment-fixed{background-attachment:fixed !important}.bg-attachment-scroll{background-attachment:scroll !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-60{opacity:.6 !important}.opacity-65{opacity:.65 !important}.opacity-70{opacity:.7 !important}.opacity-75{opacity:.75 !important}.opacity-80{opacity:.8 !important}.opacity-90{opacity:.9 !important}.opacity-100{opacity:1 !important}.text-shadow{text-shadow:0 0.0625rem rgba(0,0,0,0.5) !important}.table-layout-fixed{table-layout:fixed !important}.animation-none{-webkit-animation:none !important;animation:none !important}.zindex-1{z-index:1 !important}.zindex-2{z-index:2 !important}.zindex-3{z-index:3 !important}.zindex-4{z-index:4 !important}.zindex-5{z-index:5 !important}@media (min-width: 500px){.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}.gap-sm-6{gap:5rem !important}.gap-sm-7{gap:6rem !important}.gap-sm-grid-gutter{gap:1.875rem !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-6{margin:5rem !important}.m-sm-7{margin:6rem !important}.m-sm-grid-gutter{margin:1.875rem !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-6{margin-right:5rem !important;margin-left:5rem !important}.mx-sm-7{margin-right:6rem !important;margin-left:6rem !important}.mx-sm-grid-gutter{margin-right:1.875rem !important;margin-left:1.875rem !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-6{margin-top:5rem !important;margin-bottom:5rem !important}.my-sm-7{margin-top:6rem !important;margin-bottom:6rem !important}.my-sm-grid-gutter{margin-top:1.875rem !important;margin-bottom:1.875rem !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-6{margin-top:5rem !important}.mt-sm-7{margin-top:6rem !important}.mt-sm-grid-gutter{margin-top:1.875rem !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-6{margin-right:5rem !important}.me-sm-7{margin-right:6rem !important}.me-sm-grid-gutter{margin-right:1.875rem !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-6{margin-bottom:5rem !important}.mb-sm-7{margin-bottom:6rem !important}.mb-sm-grid-gutter{margin-bottom:1.875rem !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-6{margin-left:5rem !important}.ms-sm-7{margin-left:6rem !important}.ms-sm-grid-gutter{margin-left:1.875rem !important}.ms-sm-auto{margin-left:auto !important}.m-sm-n1{margin:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.m-sm-n3{margin:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.m-sm-n6{margin:-5rem !important}.m-sm-n7{margin:-6rem !important}.m-sm-ngrid-gutter{margin:-1.875rem !important}.mx-sm-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-sm-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-sm-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-sm-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-sm-n5{margin-right:-3rem !important;margin-left:-3rem !important}.mx-sm-n6{margin-right:-5rem !important;margin-left:-5rem !important}.mx-sm-n7{margin-right:-6rem !important;margin-left:-6rem !important}.mx-sm-ngrid-gutter{margin-right:-1.875rem !important;margin-left:-1.875rem !important}.my-sm-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-sm-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-sm-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-sm-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-sm-n5{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-sm-n6{margin-top:-5rem !important;margin-bottom:-5rem !important}.my-sm-n7{margin-top:-6rem !important;margin-bottom:-6rem !important}.my-sm-ngrid-gutter{margin-top:-1.875rem !important;margin-bottom:-1.875rem !important}.mt-sm-n1{margin-top:-.25rem !important}.mt-sm-n2{margin-top:-.5rem !important}.mt-sm-n3{margin-top:-1rem !important}.mt-sm-n4{margin-top:-1.5rem !important}.mt-sm-n5{margin-top:-3rem !important}.mt-sm-n6{margin-top:-5rem !important}.mt-sm-n7{margin-top:-6rem !important}.mt-sm-ngrid-gutter{margin-top:-1.875rem !important}.me-sm-n1{margin-right:-.25rem !important}.me-sm-n2{margin-right:-.5rem !important}.me-sm-n3{margin-right:-1rem !important}.me-sm-n4{margin-right:-1.5rem !important}.me-sm-n5{margin-right:-3rem !important}.me-sm-n6{margin-right:-5rem !important}.me-sm-n7{margin-right:-6rem !important}.me-sm-ngrid-gutter{margin-right:-1.875rem !important}.mb-sm-n1{margin-bottom:-.25rem !important}.mb-sm-n2{margin-bottom:-.5rem !important}.mb-sm-n3{margin-bottom:-1rem !important}.mb-sm-n4{margin-bottom:-1.5rem !important}.mb-sm-n5{margin-bottom:-3rem !important}.mb-sm-n6{margin-bottom:-5rem !important}.mb-sm-n7{margin-bottom:-6rem !important}.mb-sm-ngrid-gutter{margin-bottom:-1.875rem !important}.ms-sm-n1{margin-left:-.25rem !important}.ms-sm-n2{margin-left:-.5rem !important}.ms-sm-n3{margin-left:-1rem !important}.ms-sm-n4{margin-left:-1.5rem !important}.ms-sm-n5{margin-left:-3rem !important}.ms-sm-n6{margin-left:-5rem !important}.ms-sm-n7{margin-left:-6rem !important}.ms-sm-ngrid-gutter{margin-left:-1.875rem !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}.p-sm-6{padding:5rem !important}.p-sm-7{padding:6rem !important}.p-sm-grid-gutter{padding:1.875rem !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}.px-sm-6{padding-right:5rem !important;padding-left:5rem !important}.px-sm-7{padding-right:6rem !important;padding-left:6rem !important}.px-sm-grid-gutter{padding-right:1.875rem !important;padding-left:1.875rem !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}.py-sm-6{padding-top:5rem !important;padding-bottom:5rem !important}.py-sm-7{padding-top:6rem !important;padding-bottom:6rem !important}.py-sm-grid-gutter{padding-top:1.875rem !important;padding-bottom:1.875rem !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}.pt-sm-6{padding-top:5rem !important}.pt-sm-7{padding-top:6rem !important}.pt-sm-grid-gutter{padding-top:1.875rem !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}.pe-sm-6{padding-right:5rem !important}.pe-sm-7{padding-right:6rem !important}.pe-sm-grid-gutter{padding-right:1.875rem !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}.pb-sm-6{padding-bottom:5rem !important}.pb-sm-7{padding-bottom:6rem !important}.pb-sm-grid-gutter{padding-bottom:1.875rem !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}.ps-sm-6{padding-left:5rem !important}.ps-sm-7{padding-left:6rem !important}.ps-sm-grid-gutter{padding-left:1.875rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}.text-sm-wrap{white-space:normal !important}.text-sm-nowrap{white-space:nowrap !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}.gap-md-6{gap:5rem !important}.gap-md-7{gap:6rem !important}.gap-md-grid-gutter{gap:1.875rem !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-6{margin:5rem !important}.m-md-7{margin:6rem !important}.m-md-grid-gutter{margin:1.875rem !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-6{margin-right:5rem !important;margin-left:5rem !important}.mx-md-7{margin-right:6rem !important;margin-left:6rem !important}.mx-md-grid-gutter{margin-right:1.875rem !important;margin-left:1.875rem !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-6{margin-top:5rem !important;margin-bottom:5rem !important}.my-md-7{margin-top:6rem !important;margin-bottom:6rem !important}.my-md-grid-gutter{margin-top:1.875rem !important;margin-bottom:1.875rem !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-6{margin-top:5rem !important}.mt-md-7{margin-top:6rem !important}.mt-md-grid-gutter{margin-top:1.875rem !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-6{margin-right:5rem !important}.me-md-7{margin-right:6rem !important}.me-md-grid-gutter{margin-right:1.875rem !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-6{margin-bottom:5rem !important}.mb-md-7{margin-bottom:6rem !important}.mb-md-grid-gutter{margin-bottom:1.875rem !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-6{margin-left:5rem !important}.ms-md-7{margin-left:6rem !important}.ms-md-grid-gutter{margin-left:1.875rem !important}.ms-md-auto{margin-left:auto !important}.m-md-n1{margin:-.25rem !important}.m-md-n2{margin:-.5rem !important}.m-md-n3{margin:-1rem !important}.m-md-n4{margin:-1.5rem !important}.m-md-n5{margin:-3rem !important}.m-md-n6{margin:-5rem !important}.m-md-n7{margin:-6rem !important}.m-md-ngrid-gutter{margin:-1.875rem !important}.mx-md-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-md-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-md-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-md-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-md-n5{margin-right:-3rem !important;margin-left:-3rem !important}.mx-md-n6{margin-right:-5rem !important;margin-left:-5rem !important}.mx-md-n7{margin-right:-6rem !important;margin-left:-6rem !important}.mx-md-ngrid-gutter{margin-right:-1.875rem !important;margin-left:-1.875rem !important}.my-md-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-md-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-md-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-md-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-md-n5{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-md-n6{margin-top:-5rem !important;margin-bottom:-5rem !important}.my-md-n7{margin-top:-6rem !important;margin-bottom:-6rem !important}.my-md-ngrid-gutter{margin-top:-1.875rem !important;margin-bottom:-1.875rem !important}.mt-md-n1{margin-top:-.25rem !important}.mt-md-n2{margin-top:-.5rem !important}.mt-md-n3{margin-top:-1rem !important}.mt-md-n4{margin-top:-1.5rem !important}.mt-md-n5{margin-top:-3rem !important}.mt-md-n6{margin-top:-5rem !important}.mt-md-n7{margin-top:-6rem !important}.mt-md-ngrid-gutter{margin-top:-1.875rem !important}.me-md-n1{margin-right:-.25rem !important}.me-md-n2{margin-right:-.5rem !important}.me-md-n3{margin-right:-1rem !important}.me-md-n4{margin-right:-1.5rem !important}.me-md-n5{margin-right:-3rem !important}.me-md-n6{margin-right:-5rem !important}.me-md-n7{margin-right:-6rem !important}.me-md-ngrid-gutter{margin-right:-1.875rem !important}.mb-md-n1{margin-bottom:-.25rem !important}.mb-md-n2{margin-bottom:-.5rem !important}.mb-md-n3{margin-bottom:-1rem !important}.mb-md-n4{margin-bottom:-1.5rem !important}.mb-md-n5{margin-bottom:-3rem !important}.mb-md-n6{margin-bottom:-5rem !important}.mb-md-n7{margin-bottom:-6rem !important}.mb-md-ngrid-gutter{margin-bottom:-1.875rem !important}.ms-md-n1{margin-left:-.25rem !important}.ms-md-n2{margin-left:-.5rem !important}.ms-md-n3{margin-left:-1rem !important}.ms-md-n4{margin-left:-1.5rem !important}.ms-md-n5{margin-left:-3rem !important}.ms-md-n6{margin-left:-5rem !important}.ms-md-n7{margin-left:-6rem !important}.ms-md-ngrid-gutter{margin-left:-1.875rem !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}.p-md-6{padding:5rem !important}.p-md-7{padding:6rem !important}.p-md-grid-gutter{padding:1.875rem !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}.px-md-6{padding-right:5rem !important;padding-left:5rem !important}.px-md-7{padding-right:6rem !important;padding-left:6rem !important}.px-md-grid-gutter{padding-right:1.875rem !important;padding-left:1.875rem !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}.py-md-6{padding-top:5rem !important;padding-bottom:5rem !important}.py-md-7{padding-top:6rem !important;padding-bottom:6rem !important}.py-md-grid-gutter{padding-top:1.875rem !important;padding-bottom:1.875rem !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}.pt-md-6{padding-top:5rem !important}.pt-md-7{padding-top:6rem !important}.pt-md-grid-gutter{padding-top:1.875rem !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}.pe-md-6{padding-right:5rem !important}.pe-md-7{padding-right:6rem !important}.pe-md-grid-gutter{padding-right:1.875rem !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}.pb-md-6{padding-bottom:5rem !important}.pb-md-7{padding-bottom:6rem !important}.pb-md-grid-gutter{padding-bottom:1.875rem !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}.ps-md-6{padding-left:5rem !important}.ps-md-7{padding-left:6rem !important}.ps-md-grid-gutter{padding-left:1.875rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}.text-md-wrap{white-space:normal !important}.text-md-nowrap{white-space:nowrap !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}.gap-lg-6{gap:5rem !important}.gap-lg-7{gap:6rem !important}.gap-lg-grid-gutter{gap:1.875rem !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-6{margin:5rem !important}.m-lg-7{margin:6rem !important}.m-lg-grid-gutter{margin:1.875rem !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-6{margin-right:5rem !important;margin-left:5rem !important}.mx-lg-7{margin-right:6rem !important;margin-left:6rem !important}.mx-lg-grid-gutter{margin-right:1.875rem !important;margin-left:1.875rem !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-6{margin-top:5rem !important;margin-bottom:5rem !important}.my-lg-7{margin-top:6rem !important;margin-bottom:6rem !important}.my-lg-grid-gutter{margin-top:1.875rem !important;margin-bottom:1.875rem !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-6{margin-top:5rem !important}.mt-lg-7{margin-top:6rem !important}.mt-lg-grid-gutter{margin-top:1.875rem !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-6{margin-right:5rem !important}.me-lg-7{margin-right:6rem !important}.me-lg-grid-gutter{margin-right:1.875rem !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-6{margin-bottom:5rem !important}.mb-lg-7{margin-bottom:6rem !important}.mb-lg-grid-gutter{margin-bottom:1.875rem !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-6{margin-left:5rem !important}.ms-lg-7{margin-left:6rem !important}.ms-lg-grid-gutter{margin-left:1.875rem !important}.ms-lg-auto{margin-left:auto !important}.m-lg-n1{margin:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.m-lg-n3{margin:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.m-lg-n6{margin:-5rem !important}.m-lg-n7{margin:-6rem !important}.m-lg-ngrid-gutter{margin:-1.875rem !important}.mx-lg-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-lg-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-lg-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-lg-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-lg-n5{margin-right:-3rem !important;margin-left:-3rem !important}.mx-lg-n6{margin-right:-5rem !important;margin-left:-5rem !important}.mx-lg-n7{margin-right:-6rem !important;margin-left:-6rem !important}.mx-lg-ngrid-gutter{margin-right:-1.875rem !important;margin-left:-1.875rem !important}.my-lg-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-lg-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-lg-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-lg-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-lg-n5{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-lg-n6{margin-top:-5rem !important;margin-bottom:-5rem !important}.my-lg-n7{margin-top:-6rem !important;margin-bottom:-6rem !important}.my-lg-ngrid-gutter{margin-top:-1.875rem !important;margin-bottom:-1.875rem !important}.mt-lg-n1{margin-top:-.25rem !important}.mt-lg-n2{margin-top:-.5rem !important}.mt-lg-n3{margin-top:-1rem !important}.mt-lg-n4{margin-top:-1.5rem !important}.mt-lg-n5{margin-top:-3rem !important}.mt-lg-n6{margin-top:-5rem !important}.mt-lg-n7{margin-top:-6rem !important}.mt-lg-ngrid-gutter{margin-top:-1.875rem !important}.me-lg-n1{margin-right:-.25rem !important}.me-lg-n2{margin-right:-.5rem !important}.me-lg-n3{margin-right:-1rem !important}.me-lg-n4{margin-right:-1.5rem !important}.me-lg-n5{margin-right:-3rem !important}.me-lg-n6{margin-right:-5rem !important}.me-lg-n7{margin-right:-6rem !important}.me-lg-ngrid-gutter{margin-right:-1.875rem !important}.mb-lg-n1{margin-bottom:-.25rem !important}.mb-lg-n2{margin-bottom:-.5rem !important}.mb-lg-n3{margin-bottom:-1rem !important}.mb-lg-n4{margin-bottom:-1.5rem !important}.mb-lg-n5{margin-bottom:-3rem !important}.mb-lg-n6{margin-bottom:-5rem !important}.mb-lg-n7{margin-bottom:-6rem !important}.mb-lg-ngrid-gutter{margin-bottom:-1.875rem !important}.ms-lg-n1{margin-left:-.25rem !important}.ms-lg-n2{margin-left:-.5rem !important}.ms-lg-n3{margin-left:-1rem !important}.ms-lg-n4{margin-left:-1.5rem !important}.ms-lg-n5{margin-left:-3rem !important}.ms-lg-n6{margin-left:-5rem !important}.ms-lg-n7{margin-left:-6rem !important}.ms-lg-ngrid-gutter{margin-left:-1.875rem !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}.p-lg-6{padding:5rem !important}.p-lg-7{padding:6rem !important}.p-lg-grid-gutter{padding:1.875rem !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}.px-lg-6{padding-right:5rem !important;padding-left:5rem !important}.px-lg-7{padding-right:6rem !important;padding-left:6rem !important}.px-lg-grid-gutter{padding-right:1.875rem !important;padding-left:1.875rem !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}.py-lg-6{padding-top:5rem !important;padding-bottom:5rem !important}.py-lg-7{padding-top:6rem !important;padding-bottom:6rem !important}.py-lg-grid-gutter{padding-top:1.875rem !important;padding-bottom:1.875rem !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}.pt-lg-6{padding-top:5rem !important}.pt-lg-7{padding-top:6rem !important}.pt-lg-grid-gutter{padding-top:1.875rem !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}.pe-lg-6{padding-right:5rem !important}.pe-lg-7{padding-right:6rem !important}.pe-lg-grid-gutter{padding-right:1.875rem !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}.pb-lg-6{padding-bottom:5rem !important}.pb-lg-7{padding-bottom:6rem !important}.pb-lg-grid-gutter{padding-bottom:1.875rem !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}.ps-lg-6{padding-left:5rem !important}.ps-lg-7{padding-left:6rem !important}.ps-lg-grid-gutter{padding-left:1.875rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}.text-lg-wrap{white-space:normal !important}.text-lg-nowrap{white-space:nowrap !important}}@media (min-width: 1280px){.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}.gap-xl-6{gap:5rem !important}.gap-xl-7{gap:6rem !important}.gap-xl-grid-gutter{gap:1.875rem !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-6{margin:5rem !important}.m-xl-7{margin:6rem !important}.m-xl-grid-gutter{margin:1.875rem !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-6{margin-right:5rem !important;margin-left:5rem !important}.mx-xl-7{margin-right:6rem !important;margin-left:6rem !important}.mx-xl-grid-gutter{margin-right:1.875rem !important;margin-left:1.875rem !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-6{margin-top:5rem !important;margin-bottom:5rem !important}.my-xl-7{margin-top:6rem !important;margin-bottom:6rem !important}.my-xl-grid-gutter{margin-top:1.875rem !important;margin-bottom:1.875rem !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-6{margin-top:5rem !important}.mt-xl-7{margin-top:6rem !important}.mt-xl-grid-gutter{margin-top:1.875rem !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-6{margin-right:5rem !important}.me-xl-7{margin-right:6rem !important}.me-xl-grid-gutter{margin-right:1.875rem !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-6{margin-bottom:5rem !important}.mb-xl-7{margin-bottom:6rem !important}.mb-xl-grid-gutter{margin-bottom:1.875rem !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-6{margin-left:5rem !important}.ms-xl-7{margin-left:6rem !important}.ms-xl-grid-gutter{margin-left:1.875rem !important}.ms-xl-auto{margin-left:auto !important}.m-xl-n1{margin:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.m-xl-n3{margin:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.m-xl-n6{margin:-5rem !important}.m-xl-n7{margin:-6rem !important}.m-xl-ngrid-gutter{margin:-1.875rem !important}.mx-xl-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-xl-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-xl-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-xl-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-xl-n5{margin-right:-3rem !important;margin-left:-3rem !important}.mx-xl-n6{margin-right:-5rem !important;margin-left:-5rem !important}.mx-xl-n7{margin-right:-6rem !important;margin-left:-6rem !important}.mx-xl-ngrid-gutter{margin-right:-1.875rem !important;margin-left:-1.875rem !important}.my-xl-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-xl-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-xl-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-xl-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-xl-n5{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-xl-n6{margin-top:-5rem !important;margin-bottom:-5rem !important}.my-xl-n7{margin-top:-6rem !important;margin-bottom:-6rem !important}.my-xl-ngrid-gutter{margin-top:-1.875rem !important;margin-bottom:-1.875rem !important}.mt-xl-n1{margin-top:-.25rem !important}.mt-xl-n2{margin-top:-.5rem !important}.mt-xl-n3{margin-top:-1rem !important}.mt-xl-n4{margin-top:-1.5rem !important}.mt-xl-n5{margin-top:-3rem !important}.mt-xl-n6{margin-top:-5rem !important}.mt-xl-n7{margin-top:-6rem !important}.mt-xl-ngrid-gutter{margin-top:-1.875rem !important}.me-xl-n1{margin-right:-.25rem !important}.me-xl-n2{margin-right:-.5rem !important}.me-xl-n3{margin-right:-1rem !important}.me-xl-n4{margin-right:-1.5rem !important}.me-xl-n5{margin-right:-3rem !important}.me-xl-n6{margin-right:-5rem !important}.me-xl-n7{margin-right:-6rem !important}.me-xl-ngrid-gutter{margin-right:-1.875rem !important}.mb-xl-n1{margin-bottom:-.25rem !important}.mb-xl-n2{margin-bottom:-.5rem !important}.mb-xl-n3{margin-bottom:-1rem !important}.mb-xl-n4{margin-bottom:-1.5rem !important}.mb-xl-n5{margin-bottom:-3rem !important}.mb-xl-n6{margin-bottom:-5rem !important}.mb-xl-n7{margin-bottom:-6rem !important}.mb-xl-ngrid-gutter{margin-bottom:-1.875rem !important}.ms-xl-n1{margin-left:-.25rem !important}.ms-xl-n2{margin-left:-.5rem !important}.ms-xl-n3{margin-left:-1rem !important}.ms-xl-n4{margin-left:-1.5rem !important}.ms-xl-n5{margin-left:-3rem !important}.ms-xl-n6{margin-left:-5rem !important}.ms-xl-n7{margin-left:-6rem !important}.ms-xl-ngrid-gutter{margin-left:-1.875rem !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}.p-xl-6{padding:5rem !important}.p-xl-7{padding:6rem !important}.p-xl-grid-gutter{padding:1.875rem !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}.px-xl-6{padding-right:5rem !important;padding-left:5rem !important}.px-xl-7{padding-right:6rem !important;padding-left:6rem !important}.px-xl-grid-gutter{padding-right:1.875rem !important;padding-left:1.875rem !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}.py-xl-6{padding-top:5rem !important;padding-bottom:5rem !important}.py-xl-7{padding-top:6rem !important;padding-bottom:6rem !important}.py-xl-grid-gutter{padding-top:1.875rem !important;padding-bottom:1.875rem !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}.pt-xl-6{padding-top:5rem !important}.pt-xl-7{padding-top:6rem !important}.pt-xl-grid-gutter{padding-top:1.875rem !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}.pe-xl-6{padding-right:5rem !important}.pe-xl-7{padding-right:6rem !important}.pe-xl-grid-gutter{padding-right:1.875rem !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}.pb-xl-6{padding-bottom:5rem !important}.pb-xl-7{padding-bottom:6rem !important}.pb-xl-grid-gutter{padding-bottom:1.875rem !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}.ps-xl-6{padding-left:5rem !important}.ps-xl-7{padding-left:6rem !important}.ps-xl-grid-gutter{padding-left:1.875rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}.text-xl-wrap{white-space:normal !important}.text-xl-nowrap{white-space:nowrap !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}.gap-xxl-6{gap:5rem !important}.gap-xxl-7{gap:6rem !important}.gap-xxl-grid-gutter{gap:1.875rem !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-6{margin:5rem !important}.m-xxl-7{margin:6rem !important}.m-xxl-grid-gutter{margin:1.875rem !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-6{margin-right:5rem !important;margin-left:5rem !important}.mx-xxl-7{margin-right:6rem !important;margin-left:6rem !important}.mx-xxl-grid-gutter{margin-right:1.875rem !important;margin-left:1.875rem !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-6{margin-top:5rem !important;margin-bottom:5rem !important}.my-xxl-7{margin-top:6rem !important;margin-bottom:6rem !important}.my-xxl-grid-gutter{margin-top:1.875rem !important;margin-bottom:1.875rem !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-6{margin-top:5rem !important}.mt-xxl-7{margin-top:6rem !important}.mt-xxl-grid-gutter{margin-top:1.875rem !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-6{margin-right:5rem !important}.me-xxl-7{margin-right:6rem !important}.me-xxl-grid-gutter{margin-right:1.875rem !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-6{margin-bottom:5rem !important}.mb-xxl-7{margin-bottom:6rem !important}.mb-xxl-grid-gutter{margin-bottom:1.875rem !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-6{margin-left:5rem !important}.ms-xxl-7{margin-left:6rem !important}.ms-xxl-grid-gutter{margin-left:1.875rem !important}.ms-xxl-auto{margin-left:auto !important}.m-xxl-n1{margin:-.25rem !important}.m-xxl-n2{margin:-.5rem !important}.m-xxl-n3{margin:-1rem !important}.m-xxl-n4{margin:-1.5rem !important}.m-xxl-n5{margin:-3rem !important}.m-xxl-n6{margin:-5rem !important}.m-xxl-n7{margin:-6rem !important}.m-xxl-ngrid-gutter{margin:-1.875rem !important}.mx-xxl-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-xxl-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-xxl-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-xxl-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-xxl-n5{margin-right:-3rem !important;margin-left:-3rem !important}.mx-xxl-n6{margin-right:-5rem !important;margin-left:-5rem !important}.mx-xxl-n7{margin-right:-6rem !important;margin-left:-6rem !important}.mx-xxl-ngrid-gutter{margin-right:-1.875rem !important;margin-left:-1.875rem !important}.my-xxl-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-xxl-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-xxl-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-xxl-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-xxl-n5{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-xxl-n6{margin-top:-5rem !important;margin-bottom:-5rem !important}.my-xxl-n7{margin-top:-6rem !important;margin-bottom:-6rem !important}.my-xxl-ngrid-gutter{margin-top:-1.875rem !important;margin-bottom:-1.875rem !important}.mt-xxl-n1{margin-top:-.25rem !important}.mt-xxl-n2{margin-top:-.5rem !important}.mt-xxl-n3{margin-top:-1rem !important}.mt-xxl-n4{margin-top:-1.5rem !important}.mt-xxl-n5{margin-top:-3rem !important}.mt-xxl-n6{margin-top:-5rem !important}.mt-xxl-n7{margin-top:-6rem !important}.mt-xxl-ngrid-gutter{margin-top:-1.875rem !important}.me-xxl-n1{margin-right:-.25rem !important}.me-xxl-n2{margin-right:-.5rem !important}.me-xxl-n3{margin-right:-1rem !important}.me-xxl-n4{margin-right:-1.5rem !important}.me-xxl-n5{margin-right:-3rem !important}.me-xxl-n6{margin-right:-5rem !important}.me-xxl-n7{margin-right:-6rem !important}.me-xxl-ngrid-gutter{margin-right:-1.875rem !important}.mb-xxl-n1{margin-bottom:-.25rem !important}.mb-xxl-n2{margin-bottom:-.5rem !important}.mb-xxl-n3{margin-bottom:-1rem !important}.mb-xxl-n4{margin-bottom:-1.5rem !important}.mb-xxl-n5{margin-bottom:-3rem !important}.mb-xxl-n6{margin-bottom:-5rem !important}.mb-xxl-n7{margin-bottom:-6rem !important}.mb-xxl-ngrid-gutter{margin-bottom:-1.875rem !important}.ms-xxl-n1{margin-left:-.25rem !important}.ms-xxl-n2{margin-left:-.5rem !important}.ms-xxl-n3{margin-left:-1rem !important}.ms-xxl-n4{margin-left:-1.5rem !important}.ms-xxl-n5{margin-left:-3rem !important}.ms-xxl-n6{margin-left:-5rem !important}.ms-xxl-n7{margin-left:-6rem !important}.ms-xxl-ngrid-gutter{margin-left:-1.875rem !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}.p-xxl-6{padding:5rem !important}.p-xxl-7{padding:6rem !important}.p-xxl-grid-gutter{padding:1.875rem !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}.px-xxl-6{padding-right:5rem !important;padding-left:5rem !important}.px-xxl-7{padding-right:6rem !important;padding-left:6rem !important}.px-xxl-grid-gutter{padding-right:1.875rem !important;padding-left:1.875rem !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}.py-xxl-6{padding-top:5rem !important;padding-bottom:5rem !important}.py-xxl-7{padding-top:6rem !important;padding-bottom:6rem !important}.py-xxl-grid-gutter{padding-top:1.875rem !important;padding-bottom:1.875rem !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}.pt-xxl-6{padding-top:5rem !important}.pt-xxl-7{padding-top:6rem !important}.pt-xxl-grid-gutter{padding-top:1.875rem !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}.pe-xxl-6{padding-right:5rem !important}.pe-xxl-7{padding-right:6rem !important}.pe-xxl-grid-gutter{padding-right:1.875rem !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}.pb-xxl-6{padding-bottom:5rem !important}.pb-xxl-7{padding-bottom:6rem !important}.pb-xxl-grid-gutter{padding-bottom:1.875rem !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}.ps-xxl-6{padding-left:5rem !important}.ps-xxl-7{padding-left:6rem !important}.ps-xxl-grid-gutter{padding-left:1.875rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}.text-xxl-wrap{white-space:normal !important}.text-xxl-nowrap{white-space:nowrap !important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.625rem !important}.fs-4{font-size:1.375rem !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}}html *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%}body{display:flex;flex-direction:column}.page-wrapper{flex:1 0 auto}.footer{flex-shrink:0}a:focus{outline:none}a{transition:color 0.2s ease-in-out}img,figure{max-width:100%;height:auto;vertical-align:middle}svg{max-width:100%}iframe{width:100%}.iframe-full-height-wrap{min-height:18rem;overflow:hidden}.iframe-full-height{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}::-moz-selection{background:rgba(118,109,244,0.22)}::selection{background:rgba(118,109,244,0.22)}::-moz-selection{background:rgba(118,109,244,0.22)}@media (min-width: 1280px){.container-fluid,.container-sm,.container-md,.container-lg,.container-xl{padding-right:1.875rem;padding-left:1.875rem}}small,.small{font-weight:inherit}@media (max-width: 767.98px){body{padding-top:0 !important}}button:focus{outline:none}.hr-light{color:rgba(255,255,255,0.14)}h1,.h1,.h1{line-height:1.2}h2,.h2,.h2{line-height:1.25}h3,.h3,.h3{line-height:1.3}h4,.h4,.h4{line-height:1.35}h5,.h5,.h5{line-height:1.4}h6,.h6,.h6{line-height:1.4}ul li,ol li{margin-bottom:.3333333333rem}.list-inline-item:not(:last-child){margin-right:1.25rem}dt{color:#4a4b65;margin-bottom:.25rem;font-weight:600}dd{font-size:.875rem;margin-bottom:1rem}.blockquote{position:relative;padding-left:5.875rem}.blockquote::before{display:block;position:absolute;top:-.75rem;left:0;color:rgba(118,109,244,0.5);font-family:"around-icons";font-size:4rem;font-weight:normal;line-height:1;content:""}.blockquote.text-center,.text-center .blockquote{padding-top:5rem;padding-left:0}.blockquote.text-center::before,.text-center .blockquote::before{top:0;left:50%;margin-left:-2rem}.blockquote.text-end,.text-end .blockquote{padding-right:5.875rem;padding-left:0}.blockquote.text-end::before,.text-end .blockquote::before{right:0;left:auto}.blockquote-footer{margin-top:0;font-weight:500}.callout{padding-left:1.5rem;border-left:0.25rem solid #766df4}:not(pre)>code[class*='language-'],pre[class*='language-'],pre{margin:0;padding-top:1.5rem;padding-bottom:1.5rem;background-color:#f7f7fc;font-size:.875em}pre{padding-right:1rem;padding-left:1rem}.code-toolbar :not(pre)>code[class*='language-'],.code-toolbar pre[class*='language-']{padding-top:2rem}code[class*="language-"],pre[class*="language-"],pre{color:#4f5067}.line-numbers .line-numbers-rows{border-right:1px solid #dfdfec}.line-numbers .line-numbers-rows>span::before{color:#9e9fb4}div.code-toolbar>.toolbar{opacity:1}div.code-toolbar>.toolbar button{display:inline-block;margin:.375rem .5rem;padding:.25rem .75rem;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,border-color 0.25s ease-in-out;border-radius:.5rem;border:1px solid rgba(118,109,244,0.35);background-color:transparent;color:#766df4 !important;box-shadow:none}div.code-toolbar>.toolbar button:focus{outline:none;box-shadow:none}div.code-toolbar>.toolbar button:hover{background-color:#766df4;color:#fff !important}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#4e54c8}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#9596ad}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector{color:#4091e3}.token.atrule,.token.attr-value,.token.keyword,.token.string{color:#e3116c}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#36acaa}.token.class-name,.token.function{color:#36acaa}.masonry-grid[data-columns]{margin-right:-.9375rem;margin-left:-.9375rem}.masonry-grid[data-columns]:not(.overflow-hidden){overflow:visible !important}.masonry-grid[data-columns]::after{display:block;clear:both;content:""}.masonry-grid[data-columns] .masonry-grid-item{width:100%;float:left;padding-right:.9375rem;padding-left:.9375rem;padding-bottom:1.875rem}.masonry-grid[data-columns='1'] .masonry-grid-item{width:100%}@media (min-width: 480px){.masonry-grid[data-columns='2'] .masonry-grid-item,.masonry-grid[data-columns='3'] .masonry-grid-item,.masonry-grid[data-columns='4'] .masonry-grid-item,.masonry-grid[data-columns='5'] .masonry-grid-item,.masonry-grid[data-columns='6'] .masonry-grid-item{width:50%}}@media (min-width: 768px){.masonry-grid[data-columns='3'] .masonry-grid-item,.masonry-grid[data-columns='4'] .masonry-grid-item,.masonry-grid[data-columns='5'] .masonry-grid-item,.masonry-grid[data-columns='6'] .masonry-grid-item{width:33.3333333333%}}@media (min-width: 992px){.masonry-grid[data-columns='4'] .masonry-grid-item,.masonry-grid[data-columns='5'] .masonry-grid-item,.masonry-grid[data-columns='6'] .masonry-grid-item{width:25%}}@media (min-width: 1280px){.masonry-grid[data-columns='5'] .masonry-grid-item{width:20%}.masonry-grid[data-columns='6'] .masonry-grid-item{width:16.6666666667%}}.table-dark td{color:rgba(255,255,255,0.75)}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#f7f7fc}.table>:not(:last-child)>:last-child>*{border-bottom-color:#b9b9d6}.table.table-dark>:not(:last-child)>:last-child>*{border-bottom-color:rgba(255,255,255,0.5)}.form-control:disabled,.form-select:disabled{cursor:not-allowed}.form-label-sm{padding-left:1rem}.form-label{padding-left:1.125rem}.form-label-lg{padding-left:1.25rem}.form-check-label{font-size:.875rem}.col-form-label{font-size:.875rem}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-results-button,input[type="search"]::-webkit-search-results-decoration{display:none}.form-switch .form-check-input{height:1.25em;border:0;background-color:#e3e3ee}.form-switch .form-check-input:checked{background-color:#766df4}.valid-tooltip,.invalid-tooltip{position:static}.valid-tooltip{color:#16c995}.invalid-tooltip{color:#f74f78}.was-validated :valid ~ .valid-tooltip,.was-validated :invalid ~ .invalid-tooltip,.is-valid ~ .valid-tooltip,.is-invalid ~ .invalid-tooltip{display:inline-block}.was-validated .form-control:invalid ~ .invalid-tooltip,.was-validated .form-control.is-invalid ~ .invalid-tooltip,.was-validated .form-check-input:invalid ~ .invalid-tooltip,.was-validated .form-check-input.is-invalid ~ .invalid-tooltip{display:table}.was-validated .form-control:valid ~ .valid-tooltip,.was-validated .form-control.is-valid ~ .valid-tooltip,.was-validated .form-check-input:valid ~ .valid-tooltip,.was-validated .form-check-input.is-valid ~ .valid-tooltip{display:table}.was-validated .form-control:valid,.was-validated .form-control.is-valid,.was-validated .form-select:valid,.was-validated .form-select.is-valid{border-color:#dfdfeb !important}.was-validated .form-check-input:not(:checked):valid,.was-validated .form-check-input:not(:checked).is-valid{border-color:#dfdfeb !important}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:transparent;border-color:#9e9fb4}.was-validated .form-check-input:valid ~ .form-check-label,.was-validated .form-check-input.is-valid ~ .form-check-label{color:inherit}.was-validated .form-check-input:valid:checked,.was-validated .form-check-input.is-valid:checked{border-color:#766df4;background-color:#766df4;box-shadow:none}.password-toggle{position:relative}.password-toggle .form-control{padding-right:3rem}.password-toggle-btn{position:absolute;top:50%;right:.625rem;margin-bottom:0;padding:.5rem;transform:translateY(-50%);font-size:1.125rem;line-height:1;cursor:pointer}.password-toggle-btn .password-toggle-indicator{transition:color .2s ease-in-out;color:#9e9fb4;font-family:"around-icons";font-style:normal}.password-toggle-btn .password-toggle-indicator::before{content:""}.password-toggle-btn .password-toggle-indicator:hover{color:#737491}.password-toggle-btn .password-toggle-check{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.password-toggle-btn .password-toggle-check:checked ~ .password-toggle-indicator::before{content:""}.was-validated .password-toggle .form-control:invalid,.was-validated .password-toggle .form-control.is-invalid,.was-validated .password-toggle .form-control:valid,.was-validated .password-toggle .form-control.is-valid{padding-right:4rem}.was-validated .password-toggle .form-control:invalid+.password-toggle-btn,.was-validated .password-toggle .form-control.is-invalid+.password-toggle-btn,.was-validated .password-toggle .form-control:valid+.password-toggle-btn,.was-validated .password-toggle .form-control.is-valid+.password-toggle-btn{right:2.1rem}.form-option{padding-left:0}.form-option.form-check-inline{margin-right:.25rem}.form-option .form-check-input{border:0;background:none}.form-option-label{position:relative;margin-bottom:0;padding-top:.0625rem;padding-right:.375rem;padding-left:.375rem;transition:color 0.2s ease-in-out,border-color 0.2s ease-in-out;border:1px solid #e9e9f2;border-radius:.5rem;color:#5a5b75;font-size:.9375rem;font-weight:normal;text-align:center;line-height:2.5rem;cursor:pointer}.form-option-size .form-option-label{min-width:2.75rem;height:2.75rem}.form-option-size .form-check-input:checked ~ .form-option-label{border-color:#766df4;background-color:#fff;color:#766df4}.form-option-size .form-option-label:hover{border-color:#cfcfe3;color:#4a4b65}.form-option-color .form-option-label{min-width:1.625rem;height:1.625rem}.form-option-color .form-option-label{border-color:transparent}.form-option-color .form-check-input:checked ~ .form-option-label{border-color:#e9e9f2;color:#766df4}.form-option-color-indicator{display:block;position:absolute;top:50%;left:50%;width:1rem;height:1rem;margin-top:-.5rem;margin-left:-.5rem}.file-drop-area{position:relative;padding:2.5rem 1rem;transition:border-color 0.2s ease-in-out,box-shadow 0.2s ease-in-out;border:2px dashed #dfdfeb;border-radius:1rem;background-color:#fff;text-align:center;cursor:pointer}.file-drop-area .file-drop-input{display:block;position:absolute;top:0;left:0;width:100%;height:100%;background-color:transparent;opacity:0;outline:none;cursor:pointer;z-index:2}.file-drop-area .file-drop-icon{display:block;margin-bottom:.75rem;color:#9e9fb4;font-size:1.5rem}.file-drop-area .file-drop-preview{max-width:16rem;margin-right:auto;margin-bottom:.75rem;margin-left:auto}.file-drop-area .file-drop-message{display:block;font-size:.875rem;margin-bottom:1.25rem}.file-drop-area .btn{position:relative;z-index:3}.file-drop-area:hover{border-color:#c9c9dd}.subscription-status{display:table;border-radius:.5rem;font-size:.8125rem;text-align:center}.subscription-status.status-success,.subscription-status.status-error{margin-top:.5rem;padding:.25rem .375rem}.subscription-status.status-success{background-color:rgba(22,201,149,0.1);color:#119b73}.subscription-status.status-error{background-color:rgba(247,79,120,0.1);color:#f74f78}.signin-form{position:relative;width:652px;min-height:556px !important;padding-bottom:40px;overflow:hidden}.signin-form::before,.signin-form::after{position:absolute;content:''}.signin-form::before{left:0;bottom:0;width:100%;height:556px;background-image:url(../img/account/signin-illustration.png);background-repeat:no-repeat;background-size:cover}.signin-form::after{left:122px;bottom:556px;width:412px;height:100%;background-color:#fff}.signin-form .signin-form-inner{position:relative;max-width:390px;margin:0 auto;padding:32px 30px 0 30px;background-color:#fff;z-index:5}@media (max-width: 499.98px){.signin-form{padding-bottom:0;overflow:visible}.signin-form::before,.signin-form::after{display:none}.signin-form .signin-form-inner{padding:40px 20px;border-radius:1rem;box-shadow:0 0 0.625rem -0.1875rem rgba(0,0,0,0.13)}}.btn-primary{color:#fff}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.show{background-color:#5549f1;border-color:#5549f1;color:#fff}.btn-primary:disabled,.btn-primary.disabled{color:#fff}.btn-secondary{color:#fff}.btn-secondary:hover,.btn-secondary:focus,.btn-secondary:active,.btn-secondary.active,.btn-secondary.show{background-color:#dbdbf2;border-color:#dbdbf2;color:#fff}.btn-secondary:disabled,.btn-secondary.disabled{color:#fff}.btn-success{color:#fff}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.show{background-color:#12a77b;border-color:#12a77b;color:#fff}.btn-success:disabled,.btn-success.disabled{color:#fff}.btn-info{color:#fff}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.show{background-color:#4683f1;border-color:#4683f1;color:#fff}.btn-info:disabled,.btn-info.disabled{color:#fff}.btn-warning{color:#fff}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.show{background-color:#ff9f36;border-color:#ff9f36;color:#fff}.btn-warning:disabled,.btn-warning.disabled{color:#fff}.btn-danger{color:#fff}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.show{background-color:#f52a5c;border-color:#f52a5c;color:#fff}.btn-danger:disabled,.btn-danger.disabled{color:#fff}.btn-dark{color:#fff}.btn-dark:hover,.btn-dark:focus,.btn-dark:active,.btn-dark.active,.btn-dark.show{background-color:#272838;border-color:#272838;color:#fff}.btn-dark:disabled,.btn-dark.disabled{color:#fff}.btn-secondary,.btn-secondary:hover,.btn-secondary:focus,.btn-secondary:active,.btn-secondary.active,.btn-secondary.show{color:#5a5b75}.btn-secondary:disabled,.btn-secondary.disabled{color:#5a5b75}.btn-light{border-color:transparent;background-color:#fff;color:#5a5b75}.btn-light:hover,.btn-light:focus,.btn-light:active,.btn-light.active{border-color:#fff;background-color:#fff}[class^='btn-outline-']:hover,[class^='btn-outline-']:active,[class^='btn-outline-'].active,[class^='btn-outline-'].dropdown-toggle.show,[class*=' btn-outline-']:hover,[class*=' btn-outline-']:active,[class*=' btn-outline-'].active,[class*=' btn-outline-'].dropdown-toggle.show{color:#fff}.btn-outline-primary{border-color:rgba(118,109,244,0.35)}.btn-outline-success{border-color:rgba(22,201,149,0.35)}.btn-outline-info{border-color:rgba(106,155,244,0.35)}.btn-outline-warning{border-color:rgba(255,177,92,0.35)}.btn-outline-danger{border-color:rgba(247,79,120,0.35)}.btn-outline-light{border-color:rgba(255,255,255,0.14)}.btn-outline-dark{border-color:rgba(55,56,78,0.35)}.btn-outline-secondary{border-color:#dfdfeb;color:#5a5b75}.btn-outline-secondary:hover,.btn-outline-secondary:focus,.btn-outline-secondary:active,.btn-outline-secondary.active,.btn-outline-secondary.show{border-color:#9e9fb4;background-color:transparent;color:#4a4b65 !important}.btn-outline-light{border-color:rgba(255,255,255,0.35)}.btn-outline-light:hover,.btn-outline-light:focus,.btn-outline-light:active,.btn-outline-light.active,.btn-outline-light.show{background-color:#fff;color:#4a4b65}.btn-check+.btn-outline-primary:hover,.btn-check+.btn-outline-primary:active{border-color:rgba(118,109,244,0.35);background-color:transparent;color:#766df4}.btn-check:checked+.btn-outline-primary{border-color:transparent;background-color:rgba(118,109,244,0.08);color:#766df4}.btn-check:checked+.btn-outline-primary:active{color:#766df4}[class^='btn-translucent-']:hover,[class^='btn-translucent-']:focus,[class^='btn-translucent-']:active,[class^='btn-translucent-'].active,[class^='btn-translucent-'].show,[class*=' btn-translucent-']:hover,[class*=' btn-translucent-']:focus,[class*=' btn-translucent-']:active,[class*=' btn-translucent-'].active,[class*=' btn-translucent-'].show{color:#fff}.btn-translucent-primary{background-color:rgba(118,109,244,0.08)}.btn-translucent-success{background-color:rgba(22,201,149,0.08)}.btn-translucent-info{background-color:rgba(106,155,244,0.08)}.btn-translucent-warning{background-color:rgba(255,177,92,0.08)}.btn-translucent-danger{background-color:rgba(247,79,120,0.08)}.btn-translucent-light{background-color:rgba(255,255,255,0.08)}.btn-translucent-dark{background-color:rgba(55,56,78,0.08)}.btn-translucent-primary{color:#766df4}.btn-translucent-primary:hover,.btn-translucent-primary:focus,.btn-translucent-primary:active,.btn-translucent-primary.active,.btn-translucent-primary.show{background-color:#766df4}.btn-translucent-success{color:#16c995}.btn-translucent-success:hover,.btn-translucent-success:focus,.btn-translucent-success:active,.btn-translucent-success.active,.btn-translucent-success.show{background-color:#16c995}.btn-translucent-info{color:#6a9bf4}.btn-translucent-info:hover,.btn-translucent-info:focus,.btn-translucent-info:active,.btn-translucent-info.active,.btn-translucent-info.show{background-color:#6a9bf4}.btn-translucent-warning{color:#ffb15c}.btn-translucent-warning:hover,.btn-translucent-warning:focus,.btn-translucent-warning:active,.btn-translucent-warning.active,.btn-translucent-warning.show{background-color:#ffb15c}.btn-translucent-danger{color:#f74f78}.btn-translucent-danger:hover,.btn-translucent-danger:focus,.btn-translucent-danger:active,.btn-translucent-danger.active,.btn-translucent-danger.show{background-color:#f74f78}.btn-translucent-dark{color:#37384e}.btn-translucent-dark:hover,.btn-translucent-dark:focus,.btn-translucent-dark:active,.btn-translucent-dark.active,.btn-translucent-dark.show{background-color:#37384e}.btn-translucent-light{color:#fff}.btn-translucent-light:hover,.btn-translucent-light:focus,.btn-translucent-light:active,.btn-translucent-light.active,.btn-translucent-light.show{background-color:#fff;color:#37384e}.btn-link{font-weight:500;text-decoration:none}.btn-link:hover,.btn-link:focus,.btn-link:active,.btn-link.active,.btn-link.show{text-decoration:underline}.btn-gradient{background-color:#766df4;background-image:linear-gradient(to right, #766df4 0%, #766df4 30%, #6a9bf4 100%)}.btn-gradient,.btn-gradient:hover,.btn-gradient:focus,.btn-gradient:active,.btn-gradient.active,.btn-gradient.show{color:#fff}.btn>[class^='ai-'],.btn>[class*=' ai-']{margin-top:-.125rem;vertical-align:middle;font-size:1rem}.btn-icon{padding:.5625rem .7875rem}.btn-market{display:inline-block;padding:.375rem 1rem;padding-left:3rem;border-radius:1rem;background-position:center left .75rem;background-color:#37384e;background-size:1.5rem 1.5rem;background-repeat:no-repeat;text-decoration:none;white-space:nowrap}.btn-market .btn-market-title{display:block;color:#fff;font-size:1.125rem}.btn-market .btn-market-subtitle{display:block;margin-bottom:-.125rem;color:rgba(255,255,255,0.6);font-size:.75rem}.btn-market:hover{text-decoration:none}.btn-market.btn-outline{transition:background-color 0.25s ease-in-out;border:1px solid rgba(255,255,255,0.15);background-color:transparent}.btn-market.btn-outline:hover{background-color:rgba(255,255,255,0.08)}.btn-apple{background-image:url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMDUgMzA1IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMDUgMzA1OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CjxnIGlkPSJYTUxJRF8yMjhfIj4KCTxwYXRoIGlkPSJYTUxJRF8yMjlfIiBkPSJNNDAuNzM4LDExMi4xMTljLTI1Ljc4NSw0NC43NDUtOS4zOTMsMTEyLjY0OCwxOS4xMjEsMTUzLjgyQzc0LjA5MiwyODYuNTIzLDg4LjUwMiwzMDUsMTA4LjIzOSwzMDUgICBjMC4zNzIsMCwwLjc0NS0wLjAwNywxLjEyNy0wLjAyMmM5LjI3My0wLjM3LDE1Ljk3NC0zLjIyNSwyMi40NTMtNS45ODRjNy4yNzQtMy4xLDE0Ljc5Ny02LjMwNSwyNi41OTctNi4zMDUgICBjMTEuMjI2LDAsMTguMzksMy4xMDEsMjUuMzE4LDYuMDk5YzYuODI4LDIuOTU0LDEzLjg2MSw2LjAxLDI0LjI1Myw1LjgxNWMyMi4yMzItMC40MTQsMzUuODgyLTIwLjM1Miw0Ny45MjUtMzcuOTQxICAgYzEyLjU2Ny0xOC4zNjUsMTguODcxLTM2LjE5NiwyMC45OTgtNDMuMDFsMC4wODYtMC4yNzFjMC40MDUtMS4yMTEtMC4xNjctMi41MzMtMS4zMjgtMy4wNjZjLTAuMDMyLTAuMDE1LTAuMTUtMC4wNjQtMC4xODMtMC4wNzggICBjLTMuOTE1LTEuNjAxLTM4LjI1Ny0xNi44MzYtMzguNjE4LTU4LjM2Yy0wLjMzNS0zMy43MzYsMjUuNzYzLTUxLjYwMSwzMC45OTctNTQuODM5bDAuMjQ0LTAuMTUyICAgYzAuNTY3LTAuMzY1LDAuOTYyLTAuOTQ0LDEuMDk2LTEuNjA2YzAuMTM0LTAuNjYxLTAuMDA2LTEuMzQ5LTAuMzg2LTEuOTA1Yy0xOC4wMTQtMjYuMzYyLTQ1LjYyNC0zMC4zMzUtNTYuNzQtMzAuODEzICAgYy0xLjYxMy0wLjE2MS0zLjI3OC0wLjI0Mi00Ljk1LTAuMjQyYy0xMy4wNTYsMC0yNS41NjMsNC45MzEtMzUuNjExLDguODkzYy02LjkzNiwyLjczNS0xMi45MjcsNS4wOTctMTcuMDU5LDUuMDk3ICAgYy00LjY0MywwLTEwLjY2OC0yLjM5MS0xNy42NDUtNS4xNTljLTkuMzMtMy43MDMtMTkuOTA1LTcuODk5LTMxLjEtNy44OTljLTAuMjY3LDAtMC41MywwLjAwMy0wLjc4OSwwLjAwOCAgIEM3OC44OTQsNzMuNjQzLDU0LjI5OCw4OC41MzUsNDAuNzM4LDExMi4xMTl6IiBmaWxsPSIjRkZGRkZGIi8+Cgk8cGF0aCBpZD0iWE1MSURfMjMwXyIgZD0iTTIxMi4xMDEsMC4wMDJjLTE1Ljc2MywwLjY0Mi0zNC42NzIsMTAuMzQ1LTQ1Ljk3NCwyMy41ODNjLTkuNjA1LDExLjEyNy0xOC45ODgsMjkuNjc5LTE2LjUxNiw0OC4zNzkgICBjMC4xNTUsMS4xNywxLjEwNywyLjA3MywyLjI4NCwyLjE2NGMxLjA2NCwwLjA4MywyLjE1LDAuMTI1LDMuMjMyLDAuMTI2YzE1LjQxMywwLDMyLjA0LTguNTI3LDQzLjM5NS0yMi4yNTcgICBjMTEuOTUxLTE0LjQ5OCwxNy45OTQtMzMuMTA0LDE2LjE2Ni00OS43N0MyMTQuNTQ0LDAuOTIxLDIxMy4zOTUtMC4wNDksMjEyLjEwMSwwLjAwMnoiIGZpbGw9IiNGRkZGRkYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K)}.btn-google{background-image:url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij4KPHBvbHlnb24gc3R5bGU9ImZpbGw6IzVDREFERDsiIHBvaW50cz0iMjkuNTMsMCAyOS41MywyNTEuNTA5IDI5LjUzLDUxMiAyOTkuMDA0LDI1MS41MDkgIi8+Cjxwb2x5Z29uIHN0eWxlPSJmaWxsOiNCREVDQzQ7IiBwb2ludHM9IjM2OS4wNjcsMTgwLjU0NyAyNjIuMTc1LDExOS40NjcgMjkuNTMsMCAyOTkuMDA0LDI1MS41MDkgIi8+Cjxwb2x5Z29uIHN0eWxlPSJmaWxsOiNEQzY4QTE7IiBwb2ludHM9IjI5LjUzLDUxMiAyOS41Myw1MTIgMjYyLjE3NSwzODMuNTUxIDM2OS4wNjcsMzIyLjQ3IDI5OS4wMDQsMjUxLjUwOSAiLz4KPHBhdGggc3R5bGU9ImZpbGw6I0ZGQ0E5NjsiIGQ9Ik0zNjkuMDY3LDE4MC41NDdsLTcwLjA2Myw3MC45NjFsNzAuMDYzLDcwLjk2MWwxMDguNjg4LTYyLjg3N2M2LjI4OC0zLjU5Myw2LjI4OC0xMS42NzcsMC0xNS4yNyAgTDM2OS4wNjcsMTgwLjU0N3oiLz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==)}.btn-windows{background-image:url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDQ4MCA0ODAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ4MCA0ODA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cGF0aCBkPSJNMC4xNzYsMjI0TDAuMDAxLDY3Ljk2M2wxOTItMjYuMDcyVjIyNEgwLjE3NnogTTIyNC4wMDEsMzcuMjQxTDQ3OS45MzcsMHYyMjRIMjI0LjAwMVYzNy4yNDF6IE00NzkuOTk5LDI1NmwtMC4wNjIsMjI0ICAgbC0yNTUuOTM2LTM2LjAwOFYyNTZINDc5Ljk5OXogTTE5Mi4wMDEsNDM5LjkxOEwwLjE1Nyw0MTMuNjIxTDAuMTQ3LDI1NmgxOTEuODU0VjQzOS45MTh6IiBmaWxsPSIjMDBiY2YyIi8+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==)}.btn-amazon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2FpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0idXVpZDo1RDIwODkyNDkzQkZEQjExOTE0QTg1OTBEMzE1MDhDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1QjFCQzQ2QjRGNkQxMUU3OUY5REJEQzBGNkVBQUI5QiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1QjFCQzQ2QTRGNkQxMUU3OUY5REJEQzBGNkVBQUI5QiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2QUM1ODJFMkIxNEExMUUzQkY1NEUzQkNCRjlEODA1RSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2QUM1ODJFM0IxNEExMUUzQkY1NEUzQkNCRjlEODA1RSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4g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)}.btn-scroll-top{display:block;position:fixed;right:-4.125rem;bottom:1.25rem;width:2.75rem;height:2.75rem;transition:right 400ms cubic-bezier(0.68, -0.55, 0.265, 1.55),opacity 0.3s,background-color 0.25s ease-in-out;border-radius:.75rem;background-color:rgba(55,56,78,0.25);color:#fff;text-align:center;opacity:0;z-index:1025}.btn-scroll-top>.btn-scroll-top-icon{font-size:1.125rem;font-weight:bold;line-height:2.625rem}.btn-scroll-top .btn-scroll-top-tooltip{position:absolute;top:50%;right:100%;transform:translateY(-50%);transition:opacity .25s ease-in-out, visibility .25s ease-in-out;visibility:hidden;opacity:0}.btn-scroll-top:hover{background-color:rgba(55,56,78,0.5);color:#fff}.btn-scroll-top:hover .btn-scroll-top-tooltip{visibility:visible;opacity:1}.btn-scroll-top.show{right:1.25rem;opacity:1}.btn-scroll-top.right-15{right:2.1875rem}@media (max-width: 499.98px){.btn-scroll-top{width:2.2916666667rem;height:2.2916666667rem;bottom:1rem}.btn-scroll-top>.btn-scroll-top-icon{line-height:2.2916666667rem}.btn-scroll-top.show{right:1rem}.btn-scroll-top.right-15{right:1.9375rem}}.btn-like,.btn-dislike{display:inline-block;padding:0;padding-left:.625rem;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out,border-color 0.25s ease-in-out;border:0;background:0;color:#7c7d98;font-size:.875rem;text-decoration:none !important;white-space:nowrap;vertical-align:middle}.btn-like::before,.btn-dislike::before{display:inline-block;margin-right:.375rem;font-family:"around-icons";font-size:1.25em;vertical-align:middle}.btn-like:first-child,.btn-dislike:first-child{padding-right:.625rem;padding-left:0;border-right:1px solid #e3e3ee}.btn-like:focus,.btn-dislike:focus{outline:none}.btn-like:hover,.btn-dislike:hover{color:#4a4b65}.btn-like::before{margin-top:-.325rem;color:#16c995;content:""}.btn-dislike::before{color:#f74f78;content:""}.btn-social{display:inline-block;width:2.25rem;height:2.25rem;padding:0;border:1px solid transparent;transition:border-color 0.25s ease-in-out,background-color 0.25s ease-in-out,color 0.25s ease-in-out;border-radius:.5rem;background-color:#f3f3f9;color:#6c6d89;font-size:.9375rem;text-align:center;text-decoration:none !important}.btn-social>i{line-height:2.125rem}.btn-social:hover{color:#fff}.btn-social:focus{outline:none}.btn-social:active{transition:none;box-shadow:none !important}.btn-social.bs-light{background-color:rgba(255,255,255,0.08);color:#fff}.btn-social.bs-light:hover{background-color:#fff !important;box-shadow:none !important}.bs-lg{width:2.75rem;height:2.75rem;border-radius:.75rem;font-size:1rem}.bs-lg>i{line-height:2.625rem}.bs-sm{width:1.75rem;height:1.75rem;border-radius:.5rem;font-size:.8125rem}.bs-sm>i{line-height:1.625rem}.bs-outline{border-color:#e5e5ef;background-color:transparent}.bs-outline.bs-light{border-color:rgba(255,255,255,0.14);background-color:transparent}.bs-outline:hover{border-color:transparent}.bs-round{border-radius:50% !important}.bs-facebook:hover{background-color:#3b5998}.bs-facebook:hover.bs-light{color:#3b5998}.bs-twitter:hover{background-color:#1da1f2}.bs-twitter:hover.bs-light{color:#1da1f2}.bs-instagram:hover{background-color:#5851db}.bs-instagram:hover.bs-light{color:#5851db}.bs-google:hover{background-color:#ea4335}.bs-google:hover.bs-light{color:#ea4335}.bs-linkedin:hover{background-color:#0077b5}.bs-linkedin:hover.bs-light{color:#0077b5}.bs-pinterest:hover{background-color:#bd081c}.bs-pinterest:hover.bs-light{color:#bd081c}.bs-tumblr:hover{background-color:#35465c}.bs-tumblr:hover.bs-light{color:#35465c}.bs-behance:hover{background-color:#1769ff}.bs-behance:hover.bs-light{color:#1769ff}.bs-dribbble:hover{background-color:#ea4c89}.bs-dribbble:hover.bs-light{color:#ea4c89}.bs-vk:hover{background-color:#45668e}.bs-vk:hover.bs-light{color:#45668e}.bs-odnoklassniki:hover{background-color:#ed812b}.bs-odnoklassniki:hover.bs-light{color:#ed812b}.bs-skype:hover{background-color:#00aff0}.bs-skype:hover.bs-light{color:#00aff0}.bs-hangouts:hover{background-color:#0f9d58}.bs-hangouts:hover.bs-light{color:#0f9d58}.bs-messenger:hover{background-color:#0084ff}.bs-messenger:hover.bs-light{color:#0084ff}.bs-viber:hover{background-color:#59267c}.bs-viber:hover.bs-light{color:#59267c}.bs-telegram:hover{background-color:#0088cc}.bs-telegram:hover.bs-light{color:#0088cc}.bs-youtube:hover{background-color:#ff0000}.bs-youtube:hover.bs-light{color:#ff0000}.bs-figma:hover{background-color:#a259ff}.bs-figma:hover.bs-light{color:#a259ff}.bs-vimeo:hover{background-color:#1ab7ea}.bs-vimeo:hover.bs-light{color:#1ab7ea}.bs-wechat:hover{background-color:#7bb32e}.bs-wechat:hover.bs-light{color:#7bb32e}.bs-github:hover{background-color:#4078c0}.bs-github:hover.bs-light{color:#4078c0}.bs-gitlab:hover{background-color:#fc6d26}.bs-gitlab:hover.bs-light{color:#fc6d26}.bs-paypal:hover{background-color:#003087}.bs-paypal:hover.bs-light{color:#003087}.bs-slack:hover{background-color:#3eb991}.bs-slack:hover.bs-light{color:#3eb991}.bs-trello:hover{background-color:#0079bf}.bs-trello:hover.bs-light{color:#0079bf}.bs-twitch:hover{background-color:#6441a5}.bs-twitch:hover.bs-light{color:#6441a5}.bs-rss:hover{background-color:#f26522}.bs-rss:hover.bs-light{color:#f26522}.bs-email:hover{background-color:#766df4}.bs-email:hover.bs-light{color:#766df4}.accordion-button{font-size:1.125rem;font-weight:600}.accordion-button:hover{color:#766df4}.accordion-button.no-indicator::after{display:none}.accordion:not(.accordion-flush) .accordion-item{margin-bottom:.75rem;border-radius:1rem;border:1px solid #e9e9f2}.accordion:not(.accordion-flush) .accordion-button{border:0}.accordion:not(.accordion-flush) .accordion-collapse{border:0}.accordion:not(.accordion-flush) .accordion-body{padding-top:0}.dropdown-toggle::after,.dropdown-toggle::before{display:inline-block;font-family:"around-icons";font-weight:normal;vertical-align:middle}.dropdown-toggle::after{margin-left:.25rem;content:""}.dropdown-toggle::before{margin-right:.25rem}.dropdown-toggle:not(.dropdown-toggle-split)::before{margin-left:-.25rem}.dropdown-toggle:not(.dropdown-toggle-split)::after{margin-right:-.25rem}.dropdown .dropdown-toggle::before,.dropup .dropdown-toggle::before,.dropend .dropdown-toggle::before{display:none}.dropup .dropdown-toggle::after{content:""}.dropend .dropdown-toggle::after{content:"";vertical-align:bottom}.dropstart .dropdown-toggle::before{content:"";vertical-align:bottom}.dropstart .dropdown-toggle::after{display:none}.dropdown-menu{box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border:0}.dropdown-menu li{margin-bottom:0}.dropdown-menu li:hover>.dropdown-item{color:#766df4}.dropdown-menu .active>.dropdown-item{color:#766df4}.dropdown-menu.dropdown-menu-dark{border-width:0;box-shadow:none}.dropdown-menu.dropdown-menu-dark li:hover>.dropdown-item{color:#fff}.dropdown-menu.dropdown-menu-dark .active>.dropdown-item{color:#fff}.dropdown-header{margin-bottom:.25rem;padding-top:.425rem;padding-bottom:.85rem;border-bottom:1px solid #e9e9f2;font-size:1rem;font-weight:600}.dropdown-menu-dark .dropdown-header{border-bottom-color:rgba(255,255,255,0.14)}.dropdown-divider{margin:.25rem 0}.dropdown-item{position:relative;width:100%;transition:all 0.25s ease-in-out;font-size:.875rem;font-weight:500}.dropdown-item.active{pointer-events:none;cursor:default}.dropdown-item>i,.dropdown-item .badge{vertical-align:middle}.dropdown-menu.show{-webkit-animation:fade-in .25s ease-in-out;animation:fade-in .25s ease-in-out}.dropdown-toggle-split::after{margin-left:-.0625rem !important}@-webkit-keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes zoom-in{from{transform:scale(0.85rem);opacity:0}to{transform:scale(1);opacity:1}}@keyframes zoom-in{from{transform:scale(0.85rem);opacity:0}to{transform:scale(1);opacity:1}}.btn-group .btn-outline-secondary:hover,.btn-group .btn-outline-secondary:active,.btn-group .btn-outline-secondary.active{border-color:#e9e9f2 !important}.btn-group-toggle .btn.btn-outline-primary.active,.btn-group-toggle .btn.btn-outline-primary:hover,.btn-group-toggle .btn.btn-outline-primary:focus{border-color:transparent;background-color:rgba(118,109,244,0.08);color:#766df4}.btn-group-toggle .btn.btn-outline-light.active,.btn-group-toggle .btn.btn-outline-light:hover,.btn-group-toggle .btn.btn-outline-light:focus{border-color:transparent;background-color:rgba(255,255,255,0.08);color:#fff}.input-group .position-absolute{z-index:5}.input-group .position-absolute+.form-control,.input-group .position-absolute+.password-toggle .form-control{padding-left:2.5rem}.nav-link:not(.dropdown-toggle).active{pointer-events:none}.nav-link.active{color:#766df4}.nav-light .nav-link{color:rgba(255,255,255,0.7)}.nav-light .nav-link:hover{color:#fff}.nav-light .nav-link.active{color:#fff}.nav-light .nav-link.disabled{color:rgba(255,255,255,0.5)}.nav-tabs{margin-bottom:1.25rem;border:0}.nav-tabs .nav-link{border-radius:.75rem;color:#5a5b75}.nav-tabs .nav-link:hover{color:#766df4}.nav-tabs .nav-link.active{border:1px solid rgba(118,109,244,0.35)}.nav-tabs .nav-link>i{margin-top:-.125rem}.nav-tabs .nav-item{margin-bottom:0}.nav-tabs .nav-item.show .nav-link{border-color:rgba(0,0,0,0)}.nav-tabs .dropdown-menu{margin-top:0;border-radius:.75rem}.nav-tabs-light .nav-link{color:rgba(255,255,255,0.7)}.nav-tabs-light .nav-link:hover{color:#fff}.nav-tabs-light .nav-link.active{border-color:rgba(255,255,255,0.25);color:#fff}.nav-tabs-light .nav-link.disabled{color:rgba(255,255,255,0.5)}.nav-tabs-light .show .nav-link{border-color:rgba(255,255,255,0.25);color:#fff !important}.nav-pills .nav-item{margin-bottom:0}.nav-pills .nav-link{background-color:#f7f7fc;color:#5a5b75;font-size:1rem}.nav-pills .nav-link:hover:not(.active):not([aria-expanded=true]),.nav-pills .nav-link.show{color:#5a5b75;background-color:#e8e8f6}.nav-pills .nav-link.disabled{background-color:transparent;color:#9e9fb4}.nav-pills .nav-link.disabled:hover:not(.active){background-color:transparent}.nav-pills .nav-link i{margin-top:-.25rem}.nav-tabs:not(.nav-fill):not(.nav-justified) .nav-item,.nav-pills .nav-item{margin-right:.75rem}.nav-tabs:not(.nav-fill):not(.nav-justified) .nav-item:last-child,.nav-pills .nav-item:last-child{margin-right:0}.nav-tabs:not(.nav-fill):not(.nav-justified).justify-content-center .nav-item,.nav-pills.justify-content-center .nav-item{margin-right:.375rem;margin-left:.375rem}.nav-tabs:not(.nav-fill):not(.nav-justified).justify-content-end .nav-item,.nav-pills.justify-content-end .nav-item{margin-right:0;margin-left:.75rem}.nav-tabs:not(.nav-fill):not(.nav-justified).flex-column .nav-item,.nav-pills.flex-column .nav-item{margin-right:0;margin-bottom:.75rem;margin-left:0}.nav-tabs:not(.nav-fill):not(.nav-justified).flex-column .nav-item:last-child,.nav-pills.flex-column .nav-item:last-child{margin-bottom:0}.nav-indicator{display:inline-block;width:.3125rem;height:.3125rem;margin-top:-.5rem;margin-left:.375rem;border-radius:50%;background-color:#16c995}.media-tabs .nav-link{padding:.625rem;transition:background-color 0.25s ease-in-out,border-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out;border-color:#e9e9f2;border-radius:1rem}.media-tabs .nav-link>div{transition:opacity .25s ease-in-out;opacity:.72}.media-tabs .nav-link:hover,.media-tabs .nav-link.active{border-color:rgba(118,109,244,0.35);color:#5a5b75}.media-tabs .nav-link:hover>div,.media-tabs .nav-link.active>div{opacity:1}.media-tabs .nav-link.active{background-color:#fff;box-shadow:0.1875rem 0.1875rem 0.625rem -0.125rem rgba(0,0,0,0.09)}.media-tabs.media-tabs-light .nav-link{border-color:rgba(255,255,255,0.14);color:#fff}.media-tabs.media-tabs-light .nav-link:hover{border-color:rgba(255,255,255,0.35)}.media-tabs.media-tabs-light .nav-link.active{color:#5a5b75}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active){.media-tabs .nav-link .media{width:16rem}.media-tabs.flex-column .nav-link .media{width:100%}}.fancy-tabs{justify-content:space-between}.fancy-tabs .nav-link{display:block;position:relative;width:152px;height:152px;border:0;text-align:center}.fancy-tabs .nav-link .fancy-tab-text{position:absolute;top:50%;left:0;width:100%;padding:.5625rem 1.25rem;transform:translateY(-50%);transition:color 0.25s ease-in-out,opacity 0.25s ease-in-out,transform 0.25s ease-in-out;color:#9e9fb4;line-height:1.4;z-index:5}.fancy-tabs .nav-link .fancy-tab-shape,.fancy-tabs .nav-link::before,.fancy-tabs .nav-link::after{display:block;position:absolute;transition:color 0.25s ease-in-out,opacity 0.25s ease-in-out,transform 0.25s ease-in-out;background-repeat:no-repeat;background-position:center;opacity:0;content:''}.fancy-tabs .nav-link .fancy-tab-shape{top:8px;left:9px;width:141px;height:136px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='141' height='136' viewBox='0 0 141 136'%3e%3cdefs%3e%3clinearGradient x1='100%' y1='56.7401923%' x2='0%' y2='56.7401923%' id='linearGradient-1'%3e%3cstop stop-color='%236a9bf4' offset='0%'%3e%3c/stop%3e%3cstop stop-color='%23766df4' offset='67%'%3e%3c/stop%3e%3cstop stop-color='%23766df4' offset='100%'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3e%3cg transform='translate%28-900.000000, -3315.000000%29' fill='url%28%23linearGradient-1%29'%3e%3cg transform='translate%282.000000, 3141.000000%29'%3e%3cg transform='translate%28506.000000, 167.000000%29'%3e%3cg transform='translate%28383.000000, 0.000000%29'%3e%3cpath d='M27.2602266,25.9990154 C-9.11920392,72.3295589 12.4827547,135.602003 60.1461146,142.008864 C107.809475,148.415726 150,123.490753 150,75.0878442 C150,26.684936 63.6396571,-20.3315281 27.2602266,25.9990154 Z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e");background-size:cover;z-index:1}.fancy-tabs .nav-link::before{top:1px;left:8px;width:144px;height:140px;transform:scale(0.9);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='144' height='140' viewBox='0 0 144 140'%3e%3cdefs%3e%3clinearGradient x1='88.6756982%' y1='84.347423%' x2='4.80864136%' y2='26.3388134%' id='linearGradient-1'%3e%3cstop stop-color='%236a9bf4' offset='0%'%3e%3c/stop%3e%3cstop stop-color='%23766df4' offset='67%'%3e%3c/stop%3e%3cstop stop-color='%23766df4' offset='100%'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3e%3cg transform='translate%28-899.000000, -3308.000000%29' fill='url%28%23linearGradient-1%29'%3e%3cg transform='translate%282.000000, 3141.000000%29'%3e%3cg transform='translate%28506.000000, 167.000000%29'%3e%3cg transform='translate%28383.000000, 0.000000%29'%3e%3cpath d='M62.9851149,2.34349468 C7.20709168,21.2388791 -8.98702653,86.0361531 27.6378217,117.472619 C64.2626698,148.909085 126.984793,146.726479 147.304071,115.404978 C167.623349,84.083476 118.763138,-16.5518897 62.9851149,2.34349468 Z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e");background-size:cover;z-index:2}.fancy-tabs .nav-link::after{top:12px;left:0;width:143px;height:139px;transform:scale(0.8);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='143' height='139' viewBox='0 0 143 139'%3e%3cdefs%3e%3clinearGradient x1='90.1221807%' y1='17.6023579%' x2='18.1882007%' y2='91.5597184%' id='linearGradient-1'%3e%3cstop stop-color='%236a9bf4' offset='0%'%3e%3c/stop%3e%3cstop stop-color='%23766df4' offset='67%'%3e%3c/stop%3e%3cstop stop-color='%23766df4' offset='100%'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3e%3cg transform='translate%28-891.000000, -3319.000000%29' fill='url%28%23linearGradient-1%29'%3e%3cg transform='translate%282.000000, 3141.000000%29'%3e%3cg transform='translate%28506.000000, 167.000000%29'%3e%3cg transform='translate%28383.000000, 0.000000%29'%3e%3cpath d='M0.226545142,78.6428487 C6.07066962,137.350137 65.4934992,167.748638 104.327822,139.07173 C143.162146,110.394823 155.146053,48.6712687 129.232145,21.7826583 C103.318238,-5.10595204 -5.61757933,19.9355606 0.226545142,78.6428487 Z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e");background-size:cover;z-index:3}.fancy-tabs .nav-link:hover .fancy-tab-text{color:#5a5b75}.fancy-tabs .nav-link.active{border:0}.fancy-tabs .nav-link.active .fancy-tab-text{color:#fff !important}.fancy-tabs .nav-link.active .fancy-tab-shape{opacity:1}.fancy-tabs .nav-link.active::before,.fancy-tabs .nav-link.active::after{transform:scale(1);opacity:.49}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active){.fancy-tabs .nav-link .fancy-tab-shape::before,.fancy-tabs .nav-link .fancy-tab-shape::after{display:none}.fancy-tabs .nav-link .fancy-tab-shape{width:140px;height:140px;border-radius:50%;background:none;background-color:#766df4}}@supports (-ms-ime-align: auto){.fancy-tabs .nav-link .fancy-tab-shape::before,.fancy-tabs .nav-link .fancy-tab-shape::after{display:none}.fancy-tabs .nav-link .fancy-tab-shape{width:140px;height:140px;border-radius:50%;background:none;background-color:#766df4}}.nav-link-style{display:inline-block;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out,border-color 0.25s ease-in-out;color:#5a5b75;font-weight:500;text-decoration:none}.nav-link-style>i{transition:opacity .25s ease-in-out}.nav-link-style:hover{color:#766df4;text-decoration:none}.nav-link-style:hover>i{opacity:1 !important}.nav-link-style.active{color:#766df4;pointer-events:none;cursor:default}.nav-link-style.active>i{opacity:1 !important}.nav-link-style.nav-link-light{color:rgba(255,255,255,0.7)}.nav-link-style.nav-link-light:hover{color:#fff}.nav-link-style.nav-link-light.active{color:#fff}.nav-heading,.nav-heading a,.nav-heading .nav-heading-title{transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out,border-color 0.25s ease-in-out;color:#4a4b65;font-weight:600;text-decoration:none}.nav-heading:hover,.nav-heading:hover .nav-heading-title,.nav-heading a:hover,.nav-heading a:hover .nav-heading-title,.nav-heading .nav-heading-title:hover,.nav-heading .nav-heading-title:hover .nav-heading-title{color:#766df4;text-decoration:none}.nav-heading.active,.nav-heading a.active,.nav-heading .nav-heading-title.active{color:#766df4;pointer-events:none;cursor:default}.fancy-link{display:inline-block;position:relative;color:#766df4;font-weight:500;text-decoration:none}.fancy-link::after{position:absolute;bottom:0;right:0;width:100%;height:.0625rem;background-color:#766df4;content:''}.fancy-link:hover{color:#766df4;text-decoration:none}.fancy-link:hover::after{-webkit-animation:linkUnderline .6s ease-in-out;animation:linkUnderline .6s ease-in-out}.fancy-link.text-light{color:#fff}.fancy-link.text-light::after{background-color:#fff}.fancy-link.text-light:hover{color:#fff}@-webkit-keyframes linkUnderline{0%{width:100%}50%{width:0}100%{left:0;width:100%}}@keyframes linkUnderline{0%{width:100%}50%{width:0}100%{left:0;width:100%}}.meta-link{transition:color 0.2s ease-in-out;color:#797a95;vertical-align:middle;text-decoration:none}.meta-link:not(.media){display:inline-block}.meta-link:hover{color:#4d4e64;text-decoration:none}.meta-link>i{font-size:1.25em;opacity:.75;vertical-align:middle}.meta-divider{display:inline-block;width:1px;height:1rem;margin:0 .625rem;background-color:#dfdfec;vertical-align:middle}.radio-tab-pane{display:none}.radio-tab-pane.active{display:block}.header{position:relative;z-index:1030}.navbar{padding-top:.375rem;padding-bottom:.375rem}.navbar-shadow{box-shadow:0 0.125rem 0.625rem -0.1875rem rgba(0,0,0,0.1)}.navbar-floating{position:absolute;top:0;left:0;width:100%}.navbar-floating.right-15{right:15px;width:calc(100% - 15px)}.navbar-brand{display:inline-block;font-weight:500}.navbar:not(.navbar-stuck) .navbar-stuck-btn,.navbar-stuck .navbar-btn{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}.navbar-stuck-logo{display:none}.navbar-sticky.navbar-stuck{position:fixed;top:0;left:0;width:100%;-webkit-animation:navbar-show .25s;animation:navbar-show .25s;background-color:#fff;box-shadow:0 0.125rem 0.625rem -0.1875rem rgba(0,0,0,0.1)}.navbar-sticky.navbar-stuck.right-15,.navbar.fixed-top.right-15{right:15px;width:calc(100% - 15px)}@-webkit-keyframes navbar-show{from{transform:translateY(-0.75rem);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes navbar-show{from{transform:translateY(-0.75rem);opacity:0}to{transform:translateY(0);opacity:1}}.navbar-search{display:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1090}.navbar-search .container{height:100%;min-height:100%}.navbar-search .form-control,.navbar-search .form-select{border:0 !important;background-color:transparent !important;font-size:1rem;box-shadow:none !important}.navbar-search.show{display:block;-webkit-animation:fade-in .25s ease-in-out;animation:fade-in .25s ease-in-out}.navbar-nav{padding-top:1rem}.navbar-nav .nav-item{margin-bottom:0;border-top:1px solid #e9e9f2}.navbar-nav .nav-link{padding:.875rem 1.125rem}.navbar-nav .dropdown-menu{min-width:12.5rem;margin:0;margin-top:-.5rem;background-color:transparent;border-color:transparent;box-shadow:none}.navbar-nav .dropdown-menu .dropdown{margin-right:1.25rem;margin-left:1.25rem;border-left:1px solid #e9e9f2}.navbar-nav .dropdown-menu .dropdown:last-child{margin-bottom:.5rem}.navbar-nav .dropdown-menu .dropdown .dropdown-toggle::after{display:none}.navbar-nav .dropdown-menu .dropdown-menu{display:block;padding-right:1rem;padding-left:1rem}.navbar-tool{position:relative;display:flex;align-items:center;color:#5a5b75}.navbar-tool>a{color:#5a5b75;transition:color 0.25s ease-in-out;text-decoration:none}.navbar-tool>a:hover{color:#37384e;text-decoration:none}.navbar-tool:hover>a{color:#37384e}.navbar-tool .navbar-tool-icon-box{position:relative;width:2.75rem;height:2.75rem;font-size:1.375rem;text-align:center}.navbar-tool .navbar-tool-icon-box>i{line-height:2.75rem}.navbar-tool .navbar-tool-icon-box-img{padding:.125rem;border:1px solid #dfdfec;border-radius:50%}.navbar-tool .navbar-tool-label{display:block;flex-grow:0;flex-shrink:0;padding-left:.625rem;transition:color 0.25s ease-in-out;font-size:.875rem;font-weight:500;text-decoration:none !important;white-space:nowrap}.navbar-tool .navbar-tool-label>small,.navbar-tool .navbar-tool-label>.small{display:block;margin-bottom:-.125rem;font-size:85%;font-weight:normal;opacity:.75}.navbar-tool .navbar-tool-badge{position:absolute;top:.125rem;right:-.5625rem;width:1.125rem;height:1.125rem;border-radius:50%;background-color:#766df4;color:#fff;font-size:.75rem;font-weight:500;text-align:center;line-height:1.125rem}.navbar-tool.dropdown::after{position:absolute;left:0;bottom:-.75rem;width:100%;height:.75rem;content:''}.navbar-tool.dropdown .dropdown-toggle::after{margin-left:.125rem;font-size:1.15em}.navbar-tool .dropdown-menu{margin-top:.5rem !important}@media (max-width: 767.98px){.navbar-tool .dropdown-menu,.navbar-tool.dropdown .dropdown-toggle::after{display:none !important}}.bg-primary .navbar-tool .navbar-tool-badge{color:#766df4;background-color:#fff}.navbar-dark .navbar-nav .nav-item{border-color:rgba(255,255,255,0.14) !important}.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:rgba(255,255,255,0.7)}.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#fff}.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#fff}.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:rgba(255,255,255,0.45)}.navbar-dark .navbar-nav .dropdown-header{color:#fff;border-color:rgba(255,255,255,0.14)}.navbar-dark .nav-link-style{color:rgba(255,255,255,0.7)}.navbar-dark .nav-link-style:hover{color:#fff}.navbar-dark .nav-link-style.active{color:#fff}.navbar-dark .navbar-tool{color:#fff}.navbar-dark .navbar-tool>a{color:#fff}.navbar-dark .navbar-tool:hover>a{color:#fff}.navbar-dark .navbar-tool .navbar-tool-icon-box-img{border-color:rgba(255,255,255,0.15)}@media (min-width: 500px){.navbar-expand-sm.navbar{padding-top:.75rem;padding-bottom:.75rem}.navbar-expand-sm.navbar .offcanvas-body{overflow:visible}.navbar-expand-sm.navbar-sticky.navbar-stuck .navbar-floating-logo{display:none !important}.navbar-expand-sm.navbar-sticky.navbar-stuck .navbar-stuck-logo{display:block}.navbar-expand-sm .navbar-nav{position:relative;padding-top:0}.navbar-expand-sm .navbar-nav .nav-item{border:0}.navbar-expand-sm .navbar-nav .nav-item:hover>.nav-link:not(.disabled){color:#766df4}.navbar-expand-sm .navbar-nav .nav-item.active>.nav-link:not(.disabled){color:#766df4}.navbar-expand-sm .navbar-nav>.dropdown>.dropdown-toggle::after{display:none}.navbar-expand-sm .dropdown-menu{margin-top:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:#e9e9f2;background-color:#fff;border-color:#fff}.navbar-expand-sm .dropdown-menu .dropdown .dropdown-toggle{position:relative;padding-right:1.625rem}.navbar-expand-sm .dropdown-menu .dropdown .dropdown-toggle::after{display:block;position:absolute;top:50%;right:.8666666667rem;transform:translateY(-50%);content:""}.navbar-expand-sm .dropdown-menu .dropdown{margin-right:0;margin-bottom:0;margin-left:0;border-left:0}.navbar-expand-sm .dropdown-menu .dropdown:last-child{margin-bottom:0}.navbar-expand-sm .dropdown-menu .dropdown-menu{display:none;top:0;right:auto;left:100%;width:auto;margin-top:-.5rem;margin-right:0;margin-left:-.25rem;padding-right:0;padding-left:0;border-radius:.75rem;background-color:#fff}.navbar-expand-sm .dropdown-menu.show{display:none}.navbar-expand-sm .dropdown-menu.dropdown-menu-end{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}.navbar-expand-sm .dropdown:hover>.dropdown-menu{display:block;-webkit-animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55);animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.navbar-expand-sm .dropdown-mega{position:static}.navbar-expand-sm .dropdown-mega>.dropdown-menu{width:auto;padding:0 .75rem;overflow:hidden}.navbar-expand-sm .dropdown-mega:hover>.dropdown-menu{display:flex}.navbar-expand-sm .dropdown-mega .dropdown-column{display:block;width:15rem;min-width:15rem;padding:1.5rem .75rem}.navbar-expand-sm .dropdown-mega .dropdown-column.dropdown-column-img{margin-right:.75rem;margin-left:-.75rem;padding-right:1.5rem;padding-left:1.5rem;background-position:center;background-repeat:no-repeat;background-size:cover}.navbar-expand-sm .dropdown-mega .dropdown-column:last-child.dropdown-column-img{margin-right:-.75rem;margin-left:.75rem}.navbar-expand-sm .dropdown-mega .dropdown-column .dropdown-header{padding:0 0 .6375rem 0}.navbar-expand-sm .dropdown-mega .dropdown-column .dropdown-item{padding-right:0;padding-left:0}.navbar-expand-sm.navbar-dark .navbar-nav .nav-item:hover>.nav-link{color:#fff}.navbar-expand-sm.navbar-dark .navbar-nav .nav-item.active>.nav-link{color:#fff}.navbar-expand-sm.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.navbar-expand-sm.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.navbar-expand-sm.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.navbar-expand-sm.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.navbar-expand-sm.navbar-dark .navbar-nav .dropdown-menu .dropdown:hover>.dropdown-item{color:#766df4}.navbar-expand-sm.navbar-dark .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}}@media (min-width: 768px){.navbar-expand-md.navbar{padding-top:.75rem;padding-bottom:.75rem}.navbar-expand-md.navbar .offcanvas-body{overflow:visible}.navbar-expand-md.navbar-sticky.navbar-stuck .navbar-floating-logo{display:none !important}.navbar-expand-md.navbar-sticky.navbar-stuck .navbar-stuck-logo{display:block}.navbar-expand-md .navbar-nav{position:relative;padding-top:0}.navbar-expand-md .navbar-nav .nav-item{border:0}.navbar-expand-md .navbar-nav .nav-item:hover>.nav-link:not(.disabled){color:#766df4}.navbar-expand-md .navbar-nav .nav-item.active>.nav-link:not(.disabled){color:#766df4}.navbar-expand-md .navbar-nav>.dropdown>.dropdown-toggle::after{display:none}.navbar-expand-md .dropdown-menu{margin-top:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:#e9e9f2;background-color:#fff;border-color:#fff}.navbar-expand-md .dropdown-menu .dropdown .dropdown-toggle{position:relative;padding-right:1.625rem}.navbar-expand-md .dropdown-menu .dropdown .dropdown-toggle::after{display:block;position:absolute;top:50%;right:.8666666667rem;transform:translateY(-50%);content:""}.navbar-expand-md .dropdown-menu .dropdown{margin-right:0;margin-bottom:0;margin-left:0;border-left:0}.navbar-expand-md .dropdown-menu .dropdown:last-child{margin-bottom:0}.navbar-expand-md .dropdown-menu .dropdown-menu{display:none;top:0;right:auto;left:100%;width:auto;margin-top:-.5rem;margin-right:0;margin-left:-.25rem;padding-right:0;padding-left:0;border-radius:.75rem;background-color:#fff}.navbar-expand-md .dropdown-menu.show{display:none}.navbar-expand-md .dropdown-menu.dropdown-menu-end{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}.navbar-expand-md .dropdown:hover>.dropdown-menu{display:block;-webkit-animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55);animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.navbar-expand-md .dropdown-mega{position:static}.navbar-expand-md .dropdown-mega>.dropdown-menu{width:auto;padding:0 .75rem;overflow:hidden}.navbar-expand-md .dropdown-mega:hover>.dropdown-menu{display:flex}.navbar-expand-md .dropdown-mega .dropdown-column{display:block;width:15rem;min-width:15rem;padding:1.5rem .75rem}.navbar-expand-md .dropdown-mega .dropdown-column.dropdown-column-img{margin-right:.75rem;margin-left:-.75rem;padding-right:1.5rem;padding-left:1.5rem;background-position:center;background-repeat:no-repeat;background-size:cover}.navbar-expand-md .dropdown-mega .dropdown-column:last-child.dropdown-column-img{margin-right:-.75rem;margin-left:.75rem}.navbar-expand-md .dropdown-mega .dropdown-column .dropdown-header{padding:0 0 .6375rem 0}.navbar-expand-md .dropdown-mega .dropdown-column .dropdown-item{padding-right:0;padding-left:0}.navbar-expand-md.navbar-dark .navbar-nav .nav-item:hover>.nav-link{color:#fff}.navbar-expand-md.navbar-dark .navbar-nav .nav-item.active>.nav-link{color:#fff}.navbar-expand-md.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.navbar-expand-md.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.navbar-expand-md.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.navbar-expand-md.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.navbar-expand-md.navbar-dark .navbar-nav .dropdown-menu .dropdown:hover>.dropdown-item{color:#766df4}.navbar-expand-md.navbar-dark .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}}@media (min-width: 992px){.navbar-expand-lg.navbar{padding-top:.75rem;padding-bottom:.75rem}.navbar-expand-lg.navbar .offcanvas-body{overflow:visible}.navbar-expand-lg.navbar-sticky.navbar-stuck .navbar-floating-logo{display:none !important}.navbar-expand-lg.navbar-sticky.navbar-stuck .navbar-stuck-logo{display:block}.navbar-expand-lg .navbar-nav{position:relative;padding-top:0}.navbar-expand-lg .navbar-nav .nav-item{border:0}.navbar-expand-lg .navbar-nav .nav-item:hover>.nav-link:not(.disabled){color:#766df4}.navbar-expand-lg .navbar-nav .nav-item.active>.nav-link:not(.disabled){color:#766df4}.navbar-expand-lg .navbar-nav>.dropdown>.dropdown-toggle::after{display:none}.navbar-expand-lg .dropdown-menu{margin-top:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:#e9e9f2;background-color:#fff;border-color:#fff}.navbar-expand-lg .dropdown-menu .dropdown .dropdown-toggle{position:relative;padding-right:1.625rem}.navbar-expand-lg .dropdown-menu .dropdown .dropdown-toggle::after{display:block;position:absolute;top:50%;right:.8666666667rem;transform:translateY(-50%);content:""}.navbar-expand-lg .dropdown-menu .dropdown{margin-right:0;margin-bottom:0;margin-left:0;border-left:0}.navbar-expand-lg .dropdown-menu .dropdown:last-child{margin-bottom:0}.navbar-expand-lg .dropdown-menu .dropdown-menu{display:none;top:0;right:auto;left:100%;width:auto;margin-top:-.5rem;margin-right:0;margin-left:-.25rem;padding-right:0;padding-left:0;border-radius:.75rem;background-color:#fff}.navbar-expand-lg .dropdown-menu.show{display:none}.navbar-expand-lg .dropdown-menu.dropdown-menu-end{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}.navbar-expand-lg .dropdown:hover>.dropdown-menu{display:block;-webkit-animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55);animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.navbar-expand-lg .dropdown-mega{position:static}.navbar-expand-lg .dropdown-mega>.dropdown-menu{width:auto;padding:0 .75rem;overflow:hidden}.navbar-expand-lg .dropdown-mega:hover>.dropdown-menu{display:flex}.navbar-expand-lg .dropdown-mega .dropdown-column{display:block;width:15rem;min-width:15rem;padding:1.5rem .75rem}.navbar-expand-lg .dropdown-mega .dropdown-column.dropdown-column-img{margin-right:.75rem;margin-left:-.75rem;padding-right:1.5rem;padding-left:1.5rem;background-position:center;background-repeat:no-repeat;background-size:cover}.navbar-expand-lg .dropdown-mega .dropdown-column:last-child.dropdown-column-img{margin-right:-.75rem;margin-left:.75rem}.navbar-expand-lg .dropdown-mega .dropdown-column .dropdown-header{padding:0 0 .6375rem 0}.navbar-expand-lg .dropdown-mega .dropdown-column .dropdown-item{padding-right:0;padding-left:0}.navbar-expand-lg.navbar-dark .navbar-nav .nav-item:hover>.nav-link{color:#fff}.navbar-expand-lg.navbar-dark .navbar-nav .nav-item.active>.nav-link{color:#fff}.navbar-expand-lg.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.navbar-expand-lg.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.navbar-expand-lg.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.navbar-expand-lg.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.navbar-expand-lg.navbar-dark .navbar-nav .dropdown-menu .dropdown:hover>.dropdown-item{color:#766df4}.navbar-expand-lg.navbar-dark .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}}@media (min-width: 1280px){.navbar-expand-xl.navbar{padding-top:.75rem;padding-bottom:.75rem}.navbar-expand-xl.navbar .offcanvas-body{overflow:visible}.navbar-expand-xl.navbar-sticky.navbar-stuck .navbar-floating-logo{display:none !important}.navbar-expand-xl.navbar-sticky.navbar-stuck .navbar-stuck-logo{display:block}.navbar-expand-xl .navbar-nav{position:relative;padding-top:0}.navbar-expand-xl .navbar-nav .nav-item{border:0}.navbar-expand-xl .navbar-nav .nav-item:hover>.nav-link:not(.disabled){color:#766df4}.navbar-expand-xl .navbar-nav .nav-item.active>.nav-link:not(.disabled){color:#766df4}.navbar-expand-xl .navbar-nav>.dropdown>.dropdown-toggle::after{display:none}.navbar-expand-xl .dropdown-menu{margin-top:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:#e9e9f2;background-color:#fff;border-color:#fff}.navbar-expand-xl .dropdown-menu .dropdown .dropdown-toggle{position:relative;padding-right:1.625rem}.navbar-expand-xl .dropdown-menu .dropdown .dropdown-toggle::after{display:block;position:absolute;top:50%;right:.8666666667rem;transform:translateY(-50%);content:""}.navbar-expand-xl .dropdown-menu .dropdown{margin-right:0;margin-bottom:0;margin-left:0;border-left:0}.navbar-expand-xl .dropdown-menu .dropdown:last-child{margin-bottom:0}.navbar-expand-xl .dropdown-menu .dropdown-menu{display:none;top:0;right:auto;left:100%;width:auto;margin-top:-.5rem;margin-right:0;margin-left:-.25rem;padding-right:0;padding-left:0;border-radius:.75rem;background-color:#fff}.navbar-expand-xl .dropdown-menu.show{display:none}.navbar-expand-xl .dropdown-menu.dropdown-menu-end{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}.navbar-expand-xl .dropdown:hover>.dropdown-menu{display:block;-webkit-animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55);animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.navbar-expand-xl .dropdown-mega{position:static}.navbar-expand-xl .dropdown-mega>.dropdown-menu{width:auto;padding:0 .75rem;overflow:hidden}.navbar-expand-xl .dropdown-mega:hover>.dropdown-menu{display:flex}.navbar-expand-xl .dropdown-mega .dropdown-column{display:block;width:15rem;min-width:15rem;padding:1.5rem .75rem}.navbar-expand-xl .dropdown-mega .dropdown-column.dropdown-column-img{margin-right:.75rem;margin-left:-.75rem;padding-right:1.5rem;padding-left:1.5rem;background-position:center;background-repeat:no-repeat;background-size:cover}.navbar-expand-xl .dropdown-mega .dropdown-column:last-child.dropdown-column-img{margin-right:-.75rem;margin-left:.75rem}.navbar-expand-xl .dropdown-mega .dropdown-column .dropdown-header{padding:0 0 .6375rem 0}.navbar-expand-xl .dropdown-mega .dropdown-column .dropdown-item{padding-right:0;padding-left:0}.navbar-expand-xl.navbar-dark .navbar-nav .nav-item:hover>.nav-link{color:#fff}.navbar-expand-xl.navbar-dark .navbar-nav .nav-item.active>.nav-link{color:#fff}.navbar-expand-xl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.navbar-expand-xl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.navbar-expand-xl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.navbar-expand-xl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.navbar-expand-xl.navbar-dark .navbar-nav .dropdown-menu .dropdown:hover>.dropdown-item{color:#766df4}.navbar-expand-xl.navbar-dark .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}}@media (min-width: 1400px){.navbar-expand-xxl.navbar{padding-top:.75rem;padding-bottom:.75rem}.navbar-expand-xxl.navbar .offcanvas-body{overflow:visible}.navbar-expand-xxl.navbar-sticky.navbar-stuck .navbar-floating-logo{display:none !important}.navbar-expand-xxl.navbar-sticky.navbar-stuck .navbar-stuck-logo{display:block}.navbar-expand-xxl .navbar-nav{position:relative;padding-top:0}.navbar-expand-xxl .navbar-nav .nav-item{border:0}.navbar-expand-xxl .navbar-nav .nav-item:hover>.nav-link:not(.disabled){color:#766df4}.navbar-expand-xxl .navbar-nav .nav-item.active>.nav-link:not(.disabled){color:#766df4}.navbar-expand-xxl .navbar-nav>.dropdown>.dropdown-toggle::after{display:none}.navbar-expand-xxl .dropdown-menu{margin-top:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:#e9e9f2;background-color:#fff;border-color:#fff}.navbar-expand-xxl .dropdown-menu .dropdown .dropdown-toggle{position:relative;padding-right:1.625rem}.navbar-expand-xxl .dropdown-menu .dropdown .dropdown-toggle::after{display:block;position:absolute;top:50%;right:.8666666667rem;transform:translateY(-50%);content:""}.navbar-expand-xxl .dropdown-menu .dropdown{margin-right:0;margin-bottom:0;margin-left:0;border-left:0}.navbar-expand-xxl .dropdown-menu .dropdown:last-child{margin-bottom:0}.navbar-expand-xxl .dropdown-menu .dropdown-menu{display:none;top:0;right:auto;left:100%;width:auto;margin-top:-.5rem;margin-right:0;margin-left:-.25rem;padding-right:0;padding-left:0;border-radius:.75rem;background-color:#fff}.navbar-expand-xxl .dropdown-menu.show{display:none}.navbar-expand-xxl .dropdown-menu.dropdown-menu-end{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}.navbar-expand-xxl .dropdown:hover>.dropdown-menu{display:block;-webkit-animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55);animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.navbar-expand-xxl .dropdown-mega{position:static}.navbar-expand-xxl .dropdown-mega>.dropdown-menu{width:auto;padding:0 .75rem;overflow:hidden}.navbar-expand-xxl .dropdown-mega:hover>.dropdown-menu{display:flex}.navbar-expand-xxl .dropdown-mega .dropdown-column{display:block;width:15rem;min-width:15rem;padding:1.5rem .75rem}.navbar-expand-xxl .dropdown-mega .dropdown-column.dropdown-column-img{margin-right:.75rem;margin-left:-.75rem;padding-right:1.5rem;padding-left:1.5rem;background-position:center;background-repeat:no-repeat;background-size:cover}.navbar-expand-xxl .dropdown-mega .dropdown-column:last-child.dropdown-column-img{margin-right:-.75rem;margin-left:.75rem}.navbar-expand-xxl .dropdown-mega .dropdown-column .dropdown-header{padding:0 0 .6375rem 0}.navbar-expand-xxl .dropdown-mega .dropdown-column .dropdown-item{padding-right:0;padding-left:0}.navbar-expand-xxl.navbar-dark .navbar-nav .nav-item:hover>.nav-link{color:#fff}.navbar-expand-xxl.navbar-dark .navbar-nav .nav-item.active>.nav-link{color:#fff}.navbar-expand-xxl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.navbar-expand-xxl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.navbar-expand-xxl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.navbar-expand-xxl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.navbar-expand-xxl.navbar-dark .navbar-nav .dropdown-menu .dropdown:hover>.dropdown-item{color:#766df4}.navbar-expand-xxl.navbar-dark .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}}.navbar-expand.navbar{padding-top:.75rem;padding-bottom:.75rem}.navbar-expand.navbar .offcanvas-body{overflow:visible}.navbar-expand.navbar-sticky.navbar-stuck .navbar-floating-logo{display:none !important}.navbar-expand.navbar-sticky.navbar-stuck .navbar-stuck-logo{display:block}.navbar-expand .navbar-nav{position:relative;padding-top:0}.navbar-expand .navbar-nav .nav-item{border:0}.navbar-expand .navbar-nav .nav-item:hover>.nav-link:not(.disabled){color:#766df4}.navbar-expand .navbar-nav .nav-item.active>.nav-link:not(.disabled){color:#766df4}.navbar-expand .navbar-nav>.dropdown>.dropdown-toggle::after{display:none}.navbar-expand .dropdown-menu{margin-top:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:#e9e9f2;background-color:#fff;border-color:#fff}.navbar-expand .dropdown-menu .dropdown .dropdown-toggle{position:relative;padding-right:1.625rem}.navbar-expand .dropdown-menu .dropdown .dropdown-toggle::after{display:block;position:absolute;top:50%;right:.8666666667rem;transform:translateY(-50%);content:""}.navbar-expand .dropdown-menu .dropdown{margin-right:0;margin-bottom:0;margin-left:0;border-left:0}.navbar-expand .dropdown-menu .dropdown:last-child{margin-bottom:0}.navbar-expand .dropdown-menu .dropdown-menu{display:none;top:0;right:auto;left:100%;width:auto;margin-top:-.5rem;margin-right:0;margin-left:-.25rem;padding-right:0;padding-left:0;border-radius:.75rem;background-color:#fff}.navbar-expand .dropdown-menu.show{display:none}.navbar-expand .dropdown-menu.dropdown-menu-end{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}.navbar-expand .dropdown:hover>.dropdown-menu{display:block;-webkit-animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55);animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.navbar-expand .dropdown-mega{position:static}.navbar-expand .dropdown-mega>.dropdown-menu{width:auto;padding:0 .75rem;overflow:hidden}.navbar-expand .dropdown-mega:hover>.dropdown-menu{display:flex}.navbar-expand .dropdown-mega .dropdown-column{display:block;width:15rem;min-width:15rem;padding:1.5rem .75rem}.navbar-expand .dropdown-mega .dropdown-column.dropdown-column-img{margin-right:.75rem;margin-left:-.75rem;padding-right:1.5rem;padding-left:1.5rem;background-position:center;background-repeat:no-repeat;background-size:cover}.navbar-expand .dropdown-mega .dropdown-column:last-child.dropdown-column-img{margin-right:-.75rem;margin-left:.75rem}.navbar-expand .dropdown-mega .dropdown-column .dropdown-header{padding:0 0 .6375rem 0}.navbar-expand .dropdown-mega .dropdown-column .dropdown-item{padding-right:0;padding-left:0}.navbar-expand.navbar-dark .navbar-nav .nav-item:hover>.nav-link{color:#fff}.navbar-expand.navbar-dark .navbar-nav .nav-item.active>.nav-link{color:#fff}.navbar-expand.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.navbar-expand.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.navbar-expand.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.navbar-expand.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.navbar-expand.navbar-dark .navbar-nav .dropdown-menu .dropdown:hover>.dropdown-item{color:#766df4}.navbar-expand.navbar-dark .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}.topbar{position:relative;padding:.625rem .9375rem;color:#6c6d89;font-size:.875rem}.topbar-link{display:inline-block;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out,border-color 0.25s ease-in-out;color:#6c6d89;font-weight:500;text-decoration:none}.topbar-link:hover{color:#3d3e57;text-decoration:none}.topbar-link.active{color:#3d3e57;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.dropdown.show>.topbar-link{color:#3d3e57}.topbar-dark{color:rgba(255,255,255,0.7)}.topbar-dark .topbar-link{color:rgba(255,255,255,0.7)}.topbar-dark .topbar-link:hover{color:#fff}.topbar-dark .topbar-link.active{color:#fff}.topbar-dark .dropdown.show>.topbar-link{color:#fff}@-webkit-keyframes dropdown-show{from{transform:scale(0.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes dropdown-show{from{transform:scale(0.9);opacity:0}to{transform:scale(1);opacity:1}}a.card:hover,a.card-body:hover{text-decoration:none}.card-img,.card-img-top,.card-img-bottom{display:block;position:relative;overflow:hidden;z-index:1}.card-img>img,.card-img-top>img,.card-img-bottom>img{display:block;width:100%}.card-img-gradient::after,.card-img-overlay{display:block;position:absolute;top:0;left:0;width:100%;height:100%;transition:opacity 0.3s ease-in-out;content:'';opacity:0}.card:hover>.card-img-gradient::after,.card:hover>.card-img-overlay{opacity:1}.card-img-gradient::after{background:rgba(118,109,244,0.3);background:linear-gradient(to top, rgba(118,109,244,0.8) 0%, rgba(118,109,244,0.3) 35%, rgba(118,109,244,0) 100%)}.card-img-overlay{display:flex;flex-direction:column;border-radius:1rem;background-color:rgba(74,75,101,0.6);z-index:5}.card-body,.card-header{position:relative;z-index:5}.card-curved-body{overflow:hidden}.card-curved-body .card-body{padding-top:.375rem;z-index:2}.card-curved-body .card-body::before{display:block;position:absolute;top:-20px;left:-15%;width:130%;height:90px;border-radius:50%;background-color:#fff;z-index:-1;content:''}.card-hover{transition:border-color 0.2s ease-in-out,box-shadow 0.2s ease-in-out}.card.card-hover:hover,.card.card-active{border-color:rgba(118,109,244,0.35) !important;box-shadow:0.1875rem 0.1875rem 0.625rem -0.125rem rgba(0,0,0,0.09) !important}.card-hover.border-0::before,.card-active.border-0::before{display:block;position:absolute;top:0;left:0;width:100%;height:100%;transition:opacity .2s ease-in-out;border:1px solid rgba(118,109,244,0.35);border-radius:1rem;content:'';z-index:3;opacity:0}.card-hover.border-0:hover::before,.card-active.border-0:hover::before{opacity:1}.card-hover.border-0 a.card-img,.card-hover.border-0 a.card-img-top,.card-hover.border-0 a.card-img-bottom,.card-active.border-0 a.card-img,.card-active.border-0 a.card-img-top,.card-active.border-0 a.card-img-bottom{z-index:4}.card-active.border-0::before{opacity:1}.card-horizontal .card-img-top,.card-horizontal .card-img-bottom{flex-shrink:0;min-height:15rem;background-position:center;background-repeat:no-repeat;background-size:cover}@media (min-width: 500px){.card-horizontal{flex-direction:row}.card-horizontal .card-body{padding:1.9875rem}.card-horizontal .card-img-top,.card-horizontal .card-img-bottom{width:43%}.card-horizontal .card-img-top{border-radius:0;border-top-left-radius:calc(1rem - 1px);border-bottom-left-radius:calc(1rem - 1px)}.card-horizontal .card-img-top.order-sm-2{border-radius:0;border-top-right-radius:calc(1rem - 1px);border-bottom-right-radius:calc(1rem - 1px)}}.card-flip{border:0;border-radius:0;background-color:transparent;perspective:1000px}.card-flip .card-img,.card-flip .card-img-top,.card-flip .card-img-bottom,.card-flip .card-body{position:static}.card-flip-inner{position:relative;width:100%;height:100%;transition:transform .5s ease-in-out;transform-style:preserve-3d}.card-flip-front,.card-flip-back{border-radius:1rem;-webkit-backface-visibility:hidden;backface-visibility:hidden}.card-flip-back{position:absolute;top:0;left:0;width:100%;height:100%;transform:rotateY(180deg);border:1px solid rgba(118,109,244,0.35);background-color:#fff;color:inherit;text-decoration:none;box-shadow:0.1875rem 0.1875rem 0.625rem -0.125rem rgba(0,0,0,0.09)}.card-flip-back .card-body{display:table;width:100%;height:100%;min-height:100%}.card-flip-back .card-body .card-body-inner{display:table-cell;text-align:center;vertical-align:middle}.card-flip-back:hover{color:inherit;text-decoration:none}.card-flip:hover .card-flip-inner{transform:rotateY(180deg)}.card-slide{border:0}.card-slide .card-slide-inner{border-radius:1rem;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(white, black)}.card-slide .card-img{transition:transform .3s ease-in-out}.card-slide .card-body{position:absolute;width:100%;bottom:0;left:0;transform:translateY(125%);transition:transform .3s ease-in-out;background-color:#fff}.card-slide:hover .card-body{transform:translateY(0)}.card-slide:hover .card-img{transform:scale(1.06) translateY(-2rem)}.card-header-tabs{margin-right:-.75rem;margin-bottom:0;margin-left:-.75rem}.card-floating-icon{display:block;position:absolute;top:1rem;right:1rem;width:3rem;height:3rem;transition:all 0.25s ease-in-out;background-color:#fff;border:1px solid #e9e9f2;border-radius:50%;box-shadow:0 0 0.625rem -0.1875rem rgba(0,0,0,0.13);border:0;color:#766df4;font-size:1.1875rem;text-align:center;text-decoration:none;z-index:5}.card-floating-icon>i{line-height:2.875rem;line-height:3rem}.card-hover .card-floating-icon{transform:scale(0.85);opacity:0}.card-hover:hover .card-floating-icon{transform:scale(1);opacity:1}a.card-floating-icon:hover{color:#493ef0}.card-floating-text{position:absolute;right:0;bottom:0;padding:1.5rem;transition:opacity .25s ease-in-out;z-index:5;opacity:0}.card-floating-text>i{margin-top:-.125rem}.card:hover .card-floating-text{opacity:1}.card-body>.blockquote{margin-bottom:0;padding-top:5rem !important;padding-right:0 !important;padding-left:0 !important}.card-body>.blockquote::before{top:0}.card *,.flex-column *{min-height:.01px}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active){.card .card{display:block}}.breadcrumb-item{font-weight:500}.breadcrumb-item::before{margin-top:-.0625rem;font-family:"around-icons";font-size:1.2em;font-weight:normal;vertical-align:middle}.breadcrumb-item>a{transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out,border-color 0.25s ease-in-out;color:#5a5b75}.breadcrumb-item>a:hover{color:#766df4;text-decoration:none}.breadcrumb-item>a>i{margin-top:-.0625rem;margin-right:.325rem;font-size:1.05em;vertical-align:middle}.breadcrumb-item.active{cursor:default}.breadcrumb-light .breadcrumb-item::before{color:rgba(255,255,255,0.5)}.breadcrumb-light .breadcrumb-item>a{color:#fff}.breadcrumb-light .breadcrumb-item>a:hover{color:#fff}.breadcrumb-light .breadcrumb-item.active{color:rgba(255,255,255,0.5)}.pagination{margin-bottom:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.page-link{position:relative;transition:color 0.25s ease-in-out,border-color 0.25s ease-in-out;font-weight:500;line-height:1.25}.page-link.page-link-static:hover{border-color:transparent;background-color:rgba(0,0,0,0);color:#5a5b75}.page-link>i{margin-top:-.125rem;font-size:1.5em}.page-item{margin:.15rem}.page-item.active{cursor:default}.pagination .page-link{border-radius:.5rem;font-size:.875rem}.pagination-sm .page-link{border-radius:.5rem;font-size:.8125rem}.pagination-lg .page-link{border-radius:.75rem;font-size:1rem}.pagination-lg .page-link>i{margin-top:0}.entry-nav{display:block;width:100%;max-width:16rem;text-decoration:none}.entry-nav:hover{text-decoration:none}.entry-nav .entry-nav-thumb{width:4rem}.entry-nav .entry-nav-thumb>img{display:block;width:100%}.badge{color:#fff !important}.badge.bg-secondary,.badge.bg-light{color:#4a4b65 !important}.badge-floating{position:absolute;top:1.5rem;left:0;z-index:5}.card:not(.border-0):not(.card-category) .badge-floating{left:-1px}.badge-floating:not(.badge-floating-end){border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.badge-floating.badge-floating-end{left:auto !important;right:0;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.card:not(.border-0):not(.card-category) .badge-floating.badge-floating-end{right:-1px}.badge-lg{padding-top:.625rem;padding-right:.625rem;padding-bottom:.625rem;padding-left:1rem;font-size:1rem;font-weight:500}.badge-lg:not(.badge-floating-end){border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.badge-lg.badge-floating-end{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.alert-secondary{border-color:#e9e9f2;background-color:#f7f7fc}.alert-secondary,.alert-light{color:#737491}.alert-secondary .alert-link,.alert-light .alert-link{color:#4a4b65}.alert-dark{border-color:#37384e;background-color:#37384e;color:#fff}.alert-dark .alert-link{color:#fff}.alert-dismissible{padding-right:3.125rem}.alert-dismissible .btn-close{padding:1.45rem 1.25rem}.alert-link{text-decoration:underline}.alert-link:hover{text-decoration:none}.alert [class^='ai-'],.alert [class*=' ai-']{margin-top:.125rem}.list-group-item{margin-bottom:0}.list-group-item-action{transition:all 0.2s ease-in-out}.list-group-item-action:active{transition:none}.list-group-item-action.list-group-item-primary:hover,.list-group-item-action.list-group-item-primary:active,.list-group-item-action.list-group-item-primary:focus{background-color:rgba(118,109,244,0.2)}.list-group-item-primary.active{background-color:#766df4 !important;border-color:#766df4;box-shadow:none}.list-group-item-action.list-group-item-secondary:hover,.list-group-item-action.list-group-item-secondary:active,.list-group-item-action.list-group-item-secondary:focus{background-color:rgba(247,247,252,0.2)}.list-group-item-secondary.active{background-color:#f7f7fc !important;border-color:#f7f7fc;box-shadow:none}.list-group-item-action.list-group-item-success:hover,.list-group-item-action.list-group-item-success:active,.list-group-item-action.list-group-item-success:focus{background-color:rgba(22,201,149,0.2)}.list-group-item-success.active{background-color:#16c995 !important;border-color:#16c995;box-shadow:none}.list-group-item-action.list-group-item-info:hover,.list-group-item-action.list-group-item-info:active,.list-group-item-action.list-group-item-info:focus{background-color:rgba(106,155,244,0.2)}.list-group-item-info.active{background-color:#6a9bf4 !important;border-color:#6a9bf4;box-shadow:none}.list-group-item-action.list-group-item-warning:hover,.list-group-item-action.list-group-item-warning:active,.list-group-item-action.list-group-item-warning:focus{background-color:rgba(255,177,92,0.2)}.list-group-item-warning.active{background-color:#ffb15c !important;border-color:#ffb15c;box-shadow:none}.list-group-item-action.list-group-item-danger:hover,.list-group-item-action.list-group-item-danger:active,.list-group-item-action.list-group-item-danger:focus{background-color:rgba(247,79,120,0.2)}.list-group-item-danger.active{background-color:#f74f78 !important;border-color:#f74f78;box-shadow:none}.list-group-item-action.list-group-item-light:hover,.list-group-item-action.list-group-item-light:active,.list-group-item-action.list-group-item-light:focus{background-color:rgba(255,255,255,0.2)}.list-group-item-light.active{background-color:#fff !important;border-color:#fff;box-shadow:none}.list-group-item-action.list-group-item-dark:hover,.list-group-item-action.list-group-item-dark:active,.list-group-item-action.list-group-item-dark:focus{background-color:rgba(55,56,78,0.2)}.list-group-item-dark.active{background-color:#37384e !important;border-color:#37384e;box-shadow:none}.list-group-item-secondary,.list-group-item-light{color:#4a4b65 !important}.list-group-item-secondary{background-color:#f7f7fc !important}.list-group-item-light{background-color:#fff !important}.list-group-item-dark{background-color:#37384e !important;color:#fff !important}.toast{box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:transparent}.toast-header{color:#4a4b65;font-weight:600}.toast-header [class*='ai-']{font-size:1.25em}.toast-header:not([class*='bg-']){border-bottom:1px solid #e9e9f2}.modal-view{display:none}.modal-view.active{display:block;-webkit-animation:fade-in .25s ease-in-out;animation:fade-in .25s ease-in-out}.popover.bs-popover-bottom .arrow::after,.popover.bs-popover-auto[data-popper-placement^="bottom"] .arrow::after{border-bottom-color:#fff}.popover .popover-arrow{margin:0}.popover-header{font-size:1rem}.popover-body{font-size:.8125rem}.from-top,.from-bottom,.from-left,.from-right,.scale-up,.scale-down,.fade-in{transition:all .4s .3s ease-in-out;opacity:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.from-top{transform:translateY(-2.25rem)}.from-bottom{transform:translateY(2.25rem)}.from-left{transform:translateX(-2.25rem)}.from-right{transform:translateX(2.25rem)}.scale-up{transform:scale(0.85)}.scale-down{transform:scale(1.15)}.delay-1{transition-delay:.5s}.delay-2{transition-delay:.7s}.delay-3{transition-delay:.9s}.delay-4{transition-delay:1.1s}.tns-slide-active .from-top,.tns-slide-active .from-bottom{transform:translateY(0);opacity:1}.tns-slide-active .from-left,.tns-slide-active .from-right{transform:translateX(0);opacity:1}.tns-slide-active .scale-up,.tns-slide-active .scale-down{transform:scale(1);opacity:1}.tns-slide-active .fade-in{opacity:1}.date-picker[readonly]{background-color:#fff}.flatpickr-calendar{width:325px;padding:0 .5rem;border-radius:.75rem;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border:0}.flatpickr-innerContainer{padding-bottom:1.125rem}.flatpickr-months{padding:.75rem 0}.flatpickr-months svg{vertical-align:top}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{top:.75rem}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#766df4}.flatpickr-current-month .flatpickr-monthDropdown-months{padding:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.numInputWrapper:hover,.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background-color:#f3f3fb}.flatpickr-day{border-radius:0;border-radius:.75rem}.flatpickr-day:hover:not(.flatpickr-disabled):not(.today):not(.selected){border-color:#f3f3fb;background-color:#f3f3fb}.flatpickr-day.today{border-color:rgba(118,109,244,0.5) !important;color:#766df4 !important}.flatpickr-day.today.selected{color:#fff !important}.flatpickr-day.today:hover{background-color:transparent}.flatpickr-day.selected{border-color:#766df4 !important;background-color:#766df4 !important}.flatpickr-day.flatpickr-disabled{color:#ccccdf !important}.flatpickr-day.nextMonthDay{color:#9091a9}.flatpickr-day.inRange{border-color:#f3f3fb !important;background-color:#f3f3fb !important;box-shadow:-5px 0 0 #f3f3fb,5px 0 0 #f3f3fb}.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.endRange.seleced,.flatpickr-day.endRange:hover{border-color:#766df4 !important;background-color:#766df4 !important}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0;border-radius:0 .75rem .75rem 0}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:0;border-radius:.75rem 0 0 .75rem}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 0 #766df4}.flatpickr-time{margin-bottom:.5rem}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background-color:#f3f3fb}.flatpickr-time input.flatpickr-hour{font-weight:600}.tns-carousel-wrapper{position:relative}.tns-carousel-wrapper .tns-carousel-inner{position:relative;display:flex;overflow:hidden;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:0}.tns-carousel-wrapper .tns-carousel-inner:active{cursor:-webkit-grab;cursor:grab}.tns-carousel-wrapper .tns-carousel-inner.tns-slider{display:block;opacity:1}.tns-carousel-wrapper .tns-carousel-inner>*{-webkit-backface-visibility:hidden;backface-visibility:hidden}.tns-carousel-wrapper .tns-carousel-inner.tns-horizontal:not(.tns-gallery){display:flex}.tns-carousel-wrapper .tns-outer{position:relative}@supports (-ms-ime-align: auto){.tns-carousel-wrapper .tns-carousel-inner.tns-horizontal:not(.tns-gallery){display:block}}.tns-carousel-wrapper .tns-nav{position:absolute;top:100%;width:100%;padding-top:1.5rem;text-align:center;white-space:nowrap}.tns-carousel-wrapper .tns-nav ~ .tns-ovh,.tns-carousel-wrapper .tns-nav ~ .tns-inner{margin-bottom:2.75rem}.tns-carousel-wrapper.tns-nav-inside .tns-nav{top:auto;bottom:0;padding-top:0;padding-bottom:1.5rem;z-index:10}.tns-carousel-wrapper.tns-nav-inside .tns-nav ~ .tns-ovh,.tns-carousel-wrapper.tns-nav-inside .tns-nav ~ .tns-inner{margin-bottom:0}[data-nav]{display:inline-block;position:relative;width:.75rem;height:.75rem;margin:0 .25rem;padding:0;border:0;background:none}[data-nav]:focus{outline:none}[data-nav]::before,[data-nav]::after{position:absolute;transition:opacity 0.2s ease-in-out,transform 0.2s ease-in-out;border-radius:50%;content:''}[data-nav]::before{top:50%;left:50%;width:.375rem;height:.375rem;margin-top:-.1875rem;margin-left:-.1875rem;background-color:#766df4}[data-nav]::after{top:0;left:0;width:.75rem;height:.75rem;transform:scale(0.5);border:.125rem solid #766df4;opacity:0}[data-nav].tns-nav-active::before,[data-nav].active::before{opacity:0}[data-nav].tns-nav-active::after,[data-nav].active::after{transform:scale(1);opacity:1}.tns-nav-light [data-nav]::before{background-color:#fff}.tns-nav-light [data-nav]::after{border-color:#fff}.tns-carousel-wrapper .tns-controls{position:absolute;top:100%;width:100%;padding-top:1.75rem;text-align:right;white-space:nowrap}.tns-carousel-wrapper .tns-controls:focus{outline:none}.tns-carousel-wrapper .tns-controls ~ .tns-ovh,.tns-carousel-wrapper .tns-controls ~ .tns-inner{margin-bottom:4.5rem !important}.tns-carousel-wrapper.tns-controls-center .tns-controls{text-align:center}.tns-carousel-wrapper.tns-controls-left .tns-controls{text-align:left}.tns-carousel-wrapper [data-controls]{display:inline-flex;justify-content:center;width:2.75rem;height:2.75rem;transition:all 0.3s ease-in-out;border:1px solid #e9e9f2;border-radius:.75rem;background-color:#fff;color:#737491;font-size:1.25rem;text-align:center}.tns-carousel-wrapper [data-controls]>i{line-height:2.5rem}.tns-carousel-wrapper [data-controls]:hover{border-color:#c9c9df;color:#4a4b65}.tns-carousel-wrapper [data-controls][disabled]{pointer-events:none;opacity:.5;cursor:default}.tns-carousel-wrapper [data-controls='prev']{margin-right:.75rem}.tns-carousel-wrapper.tns-controls-inside .tns-controls{position:static;width:auto;padding:0 !important}.tns-carousel-wrapper.tns-controls-inside .tns-controls ~ .tns-ovh,.tns-carousel-wrapper.tns-controls-inside .tns-controls ~ .tns-inner{margin:0 !important}.tns-carousel-wrapper.tns-controls-inside:not(.tns-nav-inside) .tns-nav ~ .tns-ovh,.tns-carousel-wrapper.tns-controls-inside:not(.tns-nav-inside) .tns-nav ~ .tns-inner{margin-bottom:2.75rem !important}.tns-carousel-wrapper.tns-controls-inside [data-controls]{position:absolute;top:50%;margin-top:-1.375rem;margin-right:0;margin-left:0;z-index:10}.tns-carousel-wrapper.tns-controls-inside [data-controls][disabled]{opacity:0 !important}.tns-carousel-wrapper.tns-controls-inside [data-controls='prev']{left:1.75rem}.tns-carousel-wrapper.tns-controls-inside [data-controls='next']{right:1.75rem}.tns-carousel-wrapper.tns-controls-inside.tns-controls-onhover [data-controls]{opacity:0}.tns-carousel-wrapper.tns-controls-inside.tns-controls-onhover [data-controls='prev']{transform:translateX(1rem)}.tns-carousel-wrapper.tns-controls-inside.tns-controls-onhover [data-controls='next']{transform:translateX(-1rem)}.tns-carousel-wrapper.tns-controls-inside.tns-controls-onhover:hover [data-controls]{transform:none;opacity:1}.tns-carousel-progress{width:100%;max-width:10rem}.tns-carousel-progress .progress{height:.25rem}@media (max-width: 499.98px){.tns-carousel-pager.border-left,.tns-carousel-pager.border-right{border-top:1px solid #e9e9f2 !important;border-right:0 !important;border-left:0 !important}}.tns-frame-phone .tns-carousel:not(.tns-controls-inside) .tns-controls,.tns-frame-phone .tns-carousel:not(.tns-controls-inside) .tns-nav,.tns-frame-browser .tns-carousel:not(.tns-controls-inside) .tns-controls,.tns-frame-browser .tns-carousel:not(.tns-controls-inside) .tns-nav{display:none !important}.tns-frame-phone .tns-carousel:not(.tns-controls-inside) .tns-controls ~ .tns-ovh,.tns-frame-phone .tns-carousel:not(.tns-controls-inside) .tns-controls ~ .tns-inner,.tns-frame-phone .tns-carousel:not(.tns-controls-inside) .tns-nav ~ .tns-ovh,.tns-frame-phone .tns-carousel:not(.tns-controls-inside) .tns-nav ~ .tns-inner,.tns-frame-browser .tns-carousel:not(.tns-controls-inside) .tns-controls ~ .tns-ovh,.tns-frame-browser .tns-carousel:not(.tns-controls-inside) .tns-controls ~ .tns-inner,.tns-frame-browser .tns-carousel:not(.tns-controls-inside) .tns-nav ~ .tns-ovh,.tns-frame-browser .tns-carousel:not(.tns-controls-inside) .tns-nav ~ .tns-inner{margin-bottom:0 !important}.gallery-item{display:block;position:relative;text-decoration:none !important;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(white, black)}.gallery-item>img{display:block;width:100%}.gallery-item::before{display:block;position:absolute;top:0;left:0;width:100%;height:100%;transition:opacity .3s ease-in-out;background-color:rgba(55,56,78,0.55);content:'';opacity:0;z-index:1}.gallery-item::after{display:block;position:absolute;top:50%;left:50%;width:2.875rem;height:2.875rem;margin-top:-1.4375rem;margin-left:-1.4375rem;transform:scale(0.3);color:#fff;font-family:"around-icons";font-size:2rem;text-align:center;line-height:2.875rem;content:"";z-index:5}.gallery-item .gallery-caption{display:block;position:absolute;left:0;bottom:0;width:100%;padding:1rem .5rem;transform:translateY(0.5rem);color:#fff;font-size:.875rem;text-align:center;z-index:5}.gallery-item::after,.gallery-item .gallery-caption{transition:all .3s ease-in-out;opacity:0}.gallery-item:hover::before,.gallery-item:hover::after,.gallery-item:hover .gallery-caption{transform:none;opacity:1}.gallery-item.gallery-video::after{padding-left:.125rem;transform:none;border-radius:50%;background-color:#fff;color:#5a5b75;font-size:.875rem;font-weight:700;opacity:1;box-shadow:0 0.375rem 1rem -0.25rem rgba(0,0,0,0.2);content:""}.map-popup::after{display:none}.map-popup .gallery-caption{top:50%;bottom:auto;transform:translateY(-50%);font-size:1rem;font-weight:500}.map-popup:hover .gallery-caption{transform:translateY(-50%)}.lg-on{overflow:hidden}.lg-item:focus,.lg:focus,.lg-outer:focus,.lg-inner:focus{outline:none}.comment:not(.token){margin-bottom:2rem;padding-bottom:1.875rem;border-bottom:1px solid #e9e9f2;font-size:.9375rem}.comment:not(.token)>.comment{position:relative;margin-top:1.875rem;margin-bottom:0;padding-bottom:.5rem;padding-left:3.25rem;border-bottom:0}.comment:not(.token)>.comment::before{position:absolute;top:0;left:1.125rem;width:.25rem;height:100%;background-color:#e9e9f2;content:''}@media (max-width: 499.98px){.comment:not(.token)>.comment{padding-left:2.125rem}.comment:not(.token)>.comment::before{left:0}}.btn-video{display:inline-block;flex:0 0 auto;width:5.625rem;height:5.625rem;padding-left:.125rem;transition:background-color 0.3s ease-in-out,color 0.3s ease-in-out,box-shadow 0.3s ease-in-out;border-radius:50%;background-color:#fff;color:#5a5b75;font-size:1.25rem;text-align:center;text-decoration:none;box-shadow:0 0.25rem 1rem -0.25rem rgba(55,56,78,0.2);vertical-align:middle}.btn-video::before{font-family:"around-icons";line-height:5.625rem;content:""}.btn-video:hover{color:#766df4;text-decoration:none;box-shadow:0 0.375rem 1.125rem -0.5rem rgba(118,109,244,0.7)}.btn-video-primary{background-color:#766df4;color:#fff;box-shadow:none !important}.btn-video-primary:hover{background-color:#493ef0;color:#fff}.btn-video-sm{width:3.75rem;height:3.75rem;font-size:1rem}.btn-video-sm::before{line-height:3.75rem}.countdown{display:flex;flex-wrap:wrap;font-weight:normal;text-align:center}.countdown .countdown-value{font-weight:600}.countdown .countdown-label{display:block;margin-top:.125rem;margin-left:.125rem;font-size:65%}.countdown .countdown-days,.countdown .countdown-hours,.countdown .countdown-minutes,.countdown .countdown-seconds{margin-right:1rem;margin-bottom:.75rem}.countdown .countdown-seconds{margin-right:0}.ct-line{stroke:#766df4 !important;stroke-width:.125rem}.ct-point{stroke:#766df4 !important;stroke-width:.625rem}.ct-bar{stroke:#766df4 !important;stroke-width:.625rem}.ct-chart-pie .ct-label{fill:#fff;font-size:1rem}.price-switch{display:flex;align-items:center}.price-label{transition:color 0.25s ease-in-out;color:#9e9fb4;font-size:.875rem;font-weight:500}.price-label:first-of-type{color:#4a4b65}.price-switch-on .price-label:first-of-type{color:#9e9fb4}.price-switch-on .price-label:last-of-type{color:#4a4b65}.hotspots{position:relative}.hotspots img{display:block;width:100%}.hotspot{position:absolute;width:3.625rem;height:3.625rem;border-radius:50%;z-index:5;cursor:pointer}.hotspot::before,.hotspot::after{position:absolute;border-radius:50%}.hotspot::before{top:50%;left:50%;width:2.375rem;height:2.375rem;margin-top:-1.1875rem;margin-left:-1.1875rem;transition:background-color 0.3s ease-in-out,color 0.3s ease-in-out;background-color:#fff;color:#766df4;font-family:"around-icons";font-size:1rem;text-align:center;line-height:2.375rem;box-shadow:0 0 0.25rem 0 rgba(0,0,0,0.2);content:""}.hotspot::after{top:0;left:0;width:100%;height:100%;border:1px solid #fff;content:''}.hotspot:hover::before{background-color:#766df4;color:#fff}.frame-phone{position:relative;width:320px;margin:0 15px 20px 15px;border:6px solid #37384e;border-radius:36px}.frame-phone::after,.frame-phone::before{display:block;position:absolute;left:-35px;bottom:-10px;width:380px;height:12px;border-radius:50%;background-color:#000;filter:blur(13px);opacity:.55;z-index:-1;content:''}.frame-phone::before{left:5px;width:300px;filter:blur(10px);opacity:.18}.frame-phone-body{position:relative;background-color:#fff;min-height:600px;border-radius:30px;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(white, black)}.frame-phone-body::before,.frame-phone-body::after{position:absolute;background-color:#37384e;content:'';z-index:5}.frame-phone-body::before{top:-24px;left:50%;width:150px;height:48px;margin-left:-75px;border-bottom-right-radius:18px;border-bottom-left-radius:18px}.frame-phone-body::after{bottom:10px;left:50%;width:90px;height:4px;margin-left:-45px;border-radius:2px}.frame-phone-body img{display:block;width:100%;height:100%}.frame-phone-status-bar{display:flex;position:absolute;justify-content:space-between;top:0;left:0;width:100%;padding:.5rem 1.125rem;font-size:.75rem;font-weight:500;z-index:5}.frame-phone-status-bar [class^='fe-']{margin-top:-.25rem;font-size:1.0625rem}@media (max-width: 499.98px){.frame-phone{width:290px}.frame-phone::after,.frame-phone::before{display:none}.frame-phone-body::before{width:120px;margin-left:-60px}}.frame-browser{position:relative;padding:3.5rem 1.5rem 1.5rem 1.5rem;border:1px solid #e3e3ee;border-radius:1.125rem}.frame-browser.border-light{border-color:rgba(255,255,255,0.15) !important}.frame-browser-toolbar{position:absolute;display:flex;align-items:center;top:1rem;left:1.375rem}.frame-browser-body{position:relative;border-radius:.75rem;background-color:#fff;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.06),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);overflow:hidden}.frame-browser-body img{display:block;width:100%}.frame-browser-button{display:inline-block;width:11px;height:11px;margin-right:.625rem;border-radius:50%}.frame-browser-label{position:absolute;top:100%;left:0;width:100%;margin-top:-1.40625rem;text-align:center;z-index:10}.frame-browser-label .tns-carousel-label{display:inline-flex;align-items:center;padding:.75rem 1.125rem;border-radius:.75rem;background-color:#fff;color:#5a5b75;font-size:.875rem;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);white-space:nowrap}.frame-browser-label .tns-carousel-label>i{margin-right:.5rem;color:#9e9fb4;font-size:1.3em}@media (min-width: 768px){.frame-browser{padding:4rem 2.5rem 2.5rem 2.5rem;border-radius:1.5rem}.frame-browser-toolbar{top:1.25rem;left:1.625rem}.frame-browser-body{border-radius:1rem}}.simplebar-scrollbar::before{background-color:#dfdfeb}.simplebar-scrollbar.simplebar-visible::before{opacity:1}.simplebar-track.simplebar-vertical{width:.5rem}.simplebar-track.simplebar-horizontal{height:.5rem}[data-simplebar-inverse] .simplebar-scrollbar::before{background-color:rgba(255,255,255,0.3)}.jarallax{position:relative;z-index:0}.jarallax .jarallax-img{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;background-position:center !important;background-size:cover !important}@media (max-width: 499.98px){[data-disable-parallax-down='sm']{transform:none !important}}@media (max-width: 767.98px){[data-disable-parallax-down='md']{transform:none !important}}@media (max-width: 991.98px){[data-disable-parallax-down='lg']{transform:none !important}}@media (max-width: 1279.98px){[data-disable-parallax-down='xl']{transform:none !important}}@media (max-width: 1399.98px){[data-disable-parallax-down='xxl']{transform:none !important}}@media (min-width: 500px){[data-disable-parallax-up='sm']{transform:none !important}}@media (min-width: 768px){[data-disable-parallax-up='md']{transform:none !important}}@media (min-width: 992px){[data-disable-parallax-up='lg']{transform:none !important}}@media (min-width: 1280px){[data-disable-parallax-up='xl']{transform:none !important}}@media (min-width: 1400px){[data-disable-parallax-up='xxl']{transform:none !important}}_:-ms-lang(x),.jarallax .jarallax-img{margin:0 !important;position:absolute !important;transform:none !important}.parallax{position:relative}.parallax-layer{position:absolute;top:0;left:0;width:100%;height:100%}.parallax-layer>img{display:block;width:100%}.offcanvas{will-change:transform, box-shadow;transition:transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),box-shadow 0.3s ease;box-shadow:none;visibility:visible !important}.offcanvas:not(.offcanvas-end):not(.offcanvas-bottom){top:0;left:0;width:22rem;border-right:0 solid rgba(0,0,0,0);transform:translateX(-100%)}.offcanvas-header,.offcanvas-footer{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:1.25rem 1.5rem}.bg-dark .offcanvas-header,.bg-dark .offcanvas-footer{background-color:rgba(255,255,255,0.05)}.offcanvas-body{height:100%}.offcanvas-body::-webkit-scrollbar{width:.5rem;background-color:transparent;opacity:0}.offcanvas-body::-webkit-scrollbar-thumb{background-color:#dfdfeb;border-radius:.25rem}.offcanvas-body>.simplebar-track{display:block;background-color:transparent}.offcanvas-body .simplebar-vertical{margin-right:.1875rem}.offcanvas-backdrop:not(body){transition:opacity .25s ease;opacity:0}.offcanvas-backdrop:not(body).show{opacity:.5}.offcanvas-backdrop::before{display:none}.offcanvas-open{overflow:hidden !important}.offcanvas[data-offcanvas-show]{transform:none !important;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04) !important}.sidebar-toggle{display:none;position:fixed;bottom:0;left:0;width:100%;border-radius:0;z-index:1025}.sidebar-toggle.right-15{right:15px;width:calc(100% - 15px)}@media (min-width: 992px){.offcanvas-expand{transform:none !important}.offcanvas-expand.offcanvas-start,.offcanvas-expand.offcanvas-end,.offcanvas-expand.offcanvas-bottom{transform:none !important}.offcanvas-collapse{display:block;position:static;top:auto !important;right:auto !important;bottom:auto !important;left:auto !important;width:100% !important;max-width:100% !important;height:auto !important;transform:none !important;background-color:transparent}.offcanvas-collapse .offcanvas-header,.offcanvas-collapse .offcanvas-footer{display:none}.offcanvas-collapse .offcanvas-body{padding:0;overflow:initial}.offcanvas-enabled-start{padding-left:23.5rem}.offcanvas-enabled-end{padding-right:23.5rem;padding-left:0}}@media (max-width: 991.98px){.offcanvas-collapse .offcanvas-body .navbar-nav{padding-top:0}.offcanvas-collapse .offcanvas-body .navbar-nav .nav-item{border-top:0;border-bottom:1px solid #e9e9f2 !important}.offcanvas-collapse .offcanvas-body .navbar-nav .nav-link{color:#5a5b75}.offcanvas-collapse .offcanvas-body .navbar-nav .nav-link:hover{color:#766df4}.offcanvas-collapse .offcanvas-body .navbar-nav .nav-link.active{color:#766df4}.offcanvas-collapse .offcanvas-body .navbar-nav .nav-link.disabled{color:#9e9fb4}.offcanvas-collapse .offcanvas-body .navbar-nav .show>.nav-link,.offcanvas-collapse .offcanvas-body .navbar-nav .active>.nav-link{color:#766df4}.offcanvas-collapse .offcanvas-body .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.offcanvas-collapse .offcanvas-body .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.offcanvas-collapse .offcanvas-body .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.offcanvas-collapse .offcanvas-body .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.offcanvas-collapse .offcanvas-body .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}}.widget-nav .nav-link{margin-right:-1.5rem;margin-bottom:.75rem;margin-left:-1.5rem;padding:0 1.5rem}.widget-nav .nav-link.active{position:relative}.widget-nav .nav-link.active::before{display:block;position:absolute;top:0;left:0;width:.125rem;height:100%;background-color:#fff;content:''}.sidebar-toggle{display:none;position:fixed;bottom:0;left:0;width:100%;border-radius:0;z-index:1025}.is-sidebar .footer{padding-bottom:2.25rem}.is-sidebar .sidebar-toggle{display:block}@media (max-width: 991.98px){.is-sidebar .btn-scroll-top{bottom:3.25rem}}@media (min-width: 992px){.sidebar-enabled{position:relative}.sidebar-enabled::before{display:block;position:absolute;top:0;left:0;width:40%;height:100%;background-color:#f7f7fc;content:''}.sidebar-enabled .content{position:relative;padding-left:2.5rem;background-color:#fff;z-index:2}.sidebar-enabled.sidebar-end .content{padding-left:.9375rem;padding-right:2.5rem}.sidebar-enabled.sidebar-end::before{right:0;left:auto}.sidebar{position:relative;background-color:#f7f7fc;z-index:5}.sidebar-toggle{display:none}.is-sidebar .footer{padding-bottom:0}.is-sidebar .sidebar-toggle{display:none}}.widget-title{margin-bottom:1.25rem;font-size:1.125rem}.widget ul,.widget ol{margin:0;padding:0;list-style:none}.widget ul>li,.widget ol>li{display:block;margin-bottom:.375rem}.widget ul>li:last-child,.widget ol>li:last-child{margin-bottom:0}.widget ul>li ul,.widget ul>li ol,.widget ol>li ul,.widget ol>li ol{padding:.25rem 0 .25rem 1.375rem}.widget ul>li ul>li,.widget ul>li ol>li,.widget ol>li ul>li,.widget ol>li ol>li{position:relative;margin-bottom:0;border-left:2px solid #e9e9f2}.widget ul>li ul>li>a,.widget ul>li ol>li>a,.widget ol>li ul>li>a,.widget ol>li ol>li>a{padding-left:1.125rem !important}.widget ul>li ul>li>a::after,.widget ul>li ol>li>a::after,.widget ol>li ul>li>a::after,.widget ol>li ol>li>a::after{position:absolute;left:0;top:50%;width:.75rem;height:1px;background-color:#d6d6e7;content:''}.widget-link{display:block;position:relative;padding:0.25rem 0;transition:color 0.25s ease-in-out;color:#5a5b75;font-weight:500;text-decoration:none}.widget-link:hover{color:#766df4;text-decoration:none}.widget-link.active,.active>.widget-link{color:#766df4;pointer-events:none;cursor:default}.widget-link>small,.widget-link>.small{display:inline-block;font-size:75%;font-weight:normal}.widget-link+ul>li>.widget-link{font-size:87.5%}.widget-light .widget-title{color:#fff}.widget-light .widget-link{color:rgba(255,255,255,0.7);font-weight:normal}.widget-light .widget-link:hover{color:#fff}.widget-light .widget-link.active,.active>.widget-light .widget-link{color:#fff}.widget-categories .widget-link{padding-left:1.25rem}.widget-categories .widget-link::before{position:absolute;top:.0625rem;left:-.1875rem;transition:transform .25s ease-in-out, opacity .15s ease-in-out;font-family:"around-icons";font-size:1.25em;content:"";opacity:.5}.widget-categories .widget-link:hover::before,.widget-categories .widget-link.active::before{opacity:1}.widget-categories .widget-link+ul>li>.widget-link{padding-left:inherit}.widget-categories .widget-link+ul>li>.widget-link::before{display:none}.widget-categories .active>.widget-link::before{opacity:1}.widget-categories [data-bs-toggle='collapse']{color:#766df4}.widget-categories [data-bs-toggle='collapse']::before{transform:rotate(90deg);opacity:1}.widget-categories [data-bs-toggle='collapse'].collapsed{color:#5a5b75}.widget-categories [data-bs-toggle='collapse'].collapsed::before{transform:none;opacity:.5}.widget-categories [data-bs-toggle='collapse'].collapsed:hover{color:#766df4}.widget-categories [data-bs-toggle='collapse'].collapsed:hover::before{opacity:1}.range-slider-ui{height:.1875rem;margin:3.5rem 0;border:0;background-color:#ececf6;box-shadow:none}.range-slider-ui .noUi-connect{background-color:#766df4}.range-slider-ui .noUi-handle{top:50%;width:1.375rem;height:1.375rem;margin-top:-.6875rem;border:1px solid #e9e9f2;border-radius:50%;box-shadow:0 0.1875rem 0.375rem -0.0625rem rgba(0,0,0,0.15)}.range-slider-ui .noUi-handle::before,.range-slider-ui .noUi-handle::after{display:none}.range-slider-ui .noUi-handle:focus{outline:none}.range-slider-ui .noUi-marker-normal{display:none}.range-slider-ui .noUi-marker-horizontal.noUi-marker{width:1px;background-color:#d6d6e7}.range-slider-ui .noUi-marker-horizontal.noUi-marker-large{height:.75rem}.range-slider-ui .noUi-value{padding-top:.125rem;color:#737491;font-size:.8125rem}.range-slider-ui .noUi-tooltip{padding:.3125rem .625rem;border:0;background-color:#2c2d3f;color:#fff;font-size:.75rem;line-height:1.2;border-radius:.375rem}html:not([dir=rtl]) .range-slider-ui.noUi-horizontal .noUi-handle{right:-.6875rem}.btn-tag{display:inline-block;padding:.375rem .75rem;transition:border-color 0.25s ease-in-out,color 0.25s ease-in-out;border:1px solid #e9e9f2;border-radius:.5rem;background-color:#fff;color:#737491;font-size:.8125rem;font-weight:500;text-decoration:none;white-space:nowrap}.btn-tag:hover{border-color:#cfcfe3;color:#4a4b65;text-decoration:none}.card-product{max-width:20rem;margin-right:auto;margin-left:auto}.card-product .card-body{padding:.75rem 1.25rem;text-align:center}.card-product .card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;padding-right:1.25rem;padding-bottom:1.375rem;padding-left:1.25rem;border:0}.carousel .card-product{max-width:100%}.card-category{border:0}.card-category .card-body{padding:2.25rem 2.25rem}.card-category .card-title{margin-bottom:0}.star-rating{display:inline-block;white-space:nowrap;line-height:1;vertical-align:middle}.star-rating .sr-star{display:inline-block;margin-right:.125rem;color:#bbbbca;font-size:.8125rem;vertical-align:middle}.star-rating .sr-star.active{color:#ffb15c}.star-rating.star-rating-lg .sr-star{font-size:.9375rem}.btn-wishlist,.btn-addtocart,.btn-remove,.btn-details{display:inline-block;position:relative;text-decoration:none}.btn-wishlist .btn-tooltip,.btn-addtocart .btn-tooltip,.btn-remove .btn-tooltip,.btn-details .btn-tooltip{position:absolute;left:50%;bottom:100%;padding:.2083333333rem .4166666667rem;transform:translateX(-50%);transition:opacity .2s ease-in-out;border-radius:.375rem;background-color:#37384e;color:#fff;font-size:.75rem;white-space:nowrap;opacity:0}.btn-wishlist:hover,.btn-addtocart:hover,.btn-remove:hover,.btn-details:hover{text-decoration:none}.btn-wishlist:hover .btn-tooltip,.btn-addtocart:hover .btn-tooltip,.btn-remove:hover .btn-tooltip,.btn-details:hover .btn-tooltip{opacity:1}.btn-wishlist{color:#9e9fb4;font-size:1.25rem}.btn-wishlist:hover{color:#5a5b75}.btn-addtocart{color:#766df4;font-size:1.375rem;white-space:nowrap}.btn-addtocart:hover{color:#493ef0}.btn-addtocart::after{margin-left:.125rem;font-size:.9em;content:'+'}.btn-details{color:#766df4;font-size:1.5rem}.btn-details:hover{color:#493ef0}.btn-remove{position:absolute;top:1rem;right:1rem;transition:opacity 0.2s ease-in-out,color 0.25s ease-in-out;color:#f74f78;font-size:1.125rem;z-index:5}.btn-remove:hover{color:#f51e53}@media (min-width: 500px){.btn-remove{opacity:0}.card:hover>.btn-remove{opacity:1}}.btn-divider{display:inline-block;width:1px;height:1.5rem;margin:0 .75rem;background-color:#e9e9f2}.product-gallery{display:flex}.product-gallery-thumblist{margin-left:-.6rem}.product-gallery-thumblist-item{display:block;position:relative;width:4.375rem;height:4.375rem;margin:.75rem;transition:border-color 0.2s ease-in-out;border:1px solid #e9e9f2;border-radius:1rem;text-decoration:none !important;overflow:hidden}.product-gallery-thumblist-item>img{display:block;width:100%;transition:opacity .2s ease-in-out;border-radius:1rem;opacity:.6}.product-gallery-thumblist-item:hover{border-color:#cfcfe3}.product-gallery-thumblist-item:hover>img{opacity:1}.product-gallery-thumblist-item.active{border-color:rgba(118,109,244,0.35);box-shadow:0.1875rem 0.1875rem 0.625rem -0.125rem rgba(0,0,0,0.09);pointer-events:none;cursor:default}.product-gallery-thumblist-item.active>img{opacity:1}.product-gallery-preview{position:relative;width:100%;margin-top:.75rem}@media (min-width: 500px){.product-gallery-preview{margin-left:.75rem}}.product-gallery-preview-item{position:absolute;top:0;left:0;width:100%;height:100%;transition:opacity 0.3s ease-in-out;opacity:0;z-index:1}.product-gallery-preview-item>img{display:block;width:100%}.product-gallery-preview-item.active{position:relative;opacity:1;z-index:10}@media (max-width: 499.98px){.product-gallery{display:block}.thumblist{display:flex;flex-wrap:wrap;justify-content:center;margin-right:-.9375rem;margin-left:-.9375rem;padding-top:1rem}.thumblist-item{margin:.375rem}}.active-filter{display:inline-block;padding:.375rem .75rem;transition:background-color 0.25s ease-in-out,color 0.25s ease-in-out;border-radius:.5rem;background-color:#f7f7fc;color:#737491;white-space:nowrap;font-size:.875rem;font-weight:500;text-decoration:none}.active-filter:hover{background-color:#ececf8;color:#4a4b65;text-decoration:none}.active-filter::after{display:inline-block;margin-top:-.125rem;margin-left:.3125rem;font-family:"around-icons";font-size:1.2em;vertical-align:middle;content:""}@media (min-width: 500px){.order-item{width:18.125rem}}.swap-image{display:inline-block;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.swap-image .swap-from,.swap-image .swap-to{display:block;transition:opacity .3s ease-in-out}.swap-image .swap-to{position:absolute;top:0;left:0;opacity:0;z-index:0}.swap-image:hover .swap-from,.swap-image.active .swap-from{opacity:0}.swap-image:hover .swap-to,.swap-image.active .swap-to{opacity:1}.card.card-hover:hover .swap-image .swap-from,.card.card-hover:hover .swap-image .swap-to,.card.card-active .swap-image .swap-from,.card.card-active .swap-image .swap-to{transition-duration:.25s}.card.card-hover:hover .swap-image .swap-from,.card.card-active .swap-image .swap-from{opacity:0}.card.card-hover:hover .swap-image .swap-to,.card.card-active .swap-image .swap-to{opacity:1}.view{display:none}.view.show{display:block}.shape{position:absolute;width:100%;overflow:hidden;z-index:2}.shape svg{position:absolute;width:100%;height:100%;top:0;left:0;bottom:0}.shape.bg-light,.shape.bg-body,.shape.bg-primary,.shape.bg-secondary,.shape.bg-dark,.shape.bg-darker{background-color:transparent !important}.shape.bg-light{color:#fff !important}.shape.bg-body{color:#fff !important}.shape.bg-primary{color:#766df4 !important}.shape.bg-secondary{color:#f7f7fc !important}.shape.bg-dark{color:#37384e !important}.shape.bg-darker{color:#2c2d3f !important}.shape-top,.shape-bottom{width:100%;left:0}.shape-right,.shape-left{height:100%;left:0;top:0}.shape-right svg,.shape-left svg{top:-2px;width:auto;height:102%;height:calc(100% + 5px)}.shape-top{top:0;margin-top:-1px}.shape-bottom{bottom:0;margin-bottom:-1px}.shape-right svg{left:auto;right:0;margin-right:-1px}.shape-left svg{left:0;right:auto;margin-left:-1px}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active){.shape-right,.shape-left{display:none}}.shape-slant{padding-bottom:8.7%}.shape-curve-side{padding-bottom:8.4%}.shape-curve{padding-bottom:6.2%} + +/*# sourceMappingURL=theme.min.css.map */ diff --git a/public/css/theme.min.css.map b/public/css/theme.min.css.map new file mode 100644 index 0000000..2838e5b --- /dev/null +++ b/public/css/theme.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["_reboot.scss","components/_icons.scss","theme.css","../../dist/vendor/bootstrap/scss/bootstrap.scss","../../dist/vendor/bootstrap/scss/_root.scss","../../dist/vendor/bootstrap/scss/_reboot.scss","../../dist/vendor/bootstrap/scss/_variables.scss","../../dist/vendor/bootstrap/scss/vendor/_rfs.scss","_variables.scss","../../dist/vendor/bootstrap/scss/mixins/_border-radius.scss","../../dist/vendor/bootstrap/scss/_type.scss","../../dist/vendor/bootstrap/scss/mixins/_lists.scss","../../dist/vendor/bootstrap/scss/mixins/_image.scss","../../dist/vendor/bootstrap/scss/_images.scss","../../dist/vendor/bootstrap/scss/mixins/_box-shadow.scss","../../dist/vendor/bootstrap/scss/mixins/_container.scss","../../dist/vendor/bootstrap/scss/mixins/_breakpoints.scss","../../dist/vendor/bootstrap/scss/_containers.scss","../../dist/vendor/bootstrap/scss/_grid.scss","../../dist/vendor/bootstrap/scss/mixins/_grid.scss","../../dist/vendor/bootstrap/scss/_tables.scss","../../dist/vendor/bootstrap/scss/mixins/_table-variants.scss","../../dist/vendor/bootstrap/scss/forms/_labels.scss","../../dist/vendor/bootstrap/scss/_functions.scss","../../dist/vendor/bootstrap/scss/forms/_form-text.scss","../../dist/vendor/bootstrap/scss/forms/_form-control.scss","../../dist/vendor/bootstrap/scss/mixins/_transition.scss","../../dist/vendor/bootstrap/scss/mixins/_gradients.scss","../../dist/vendor/bootstrap/scss/forms/_form-select.scss","../../dist/vendor/bootstrap/scss/forms/_form-check.scss","../../dist/vendor/bootstrap/scss/forms/_form-range.scss","../../dist/vendor/bootstrap/scss/forms/_floating-labels.scss","../../dist/vendor/bootstrap/scss/forms/_input-group.scss","../../dist/vendor/bootstrap/scss/mixins/_forms.scss","../../dist/vendor/bootstrap/scss/_buttons.scss","../../dist/vendor/bootstrap/scss/mixins/_buttons.scss","../../dist/vendor/bootstrap/scss/_transitions.scss","../../dist/vendor/bootstrap/scss/_dropdown.scss","../../dist/vendor/bootstrap/scss/_button-group.scss","../../dist/vendor/bootstrap/scss/_nav.scss","../../dist/vendor/bootstrap/scss/_navbar.scss","../../dist/vendor/bootstrap/scss/_card.scss","../../dist/vendor/bootstrap/scss/_accordion.scss","../../dist/vendor/bootstrap/scss/_breadcrumb.scss","../../dist/vendor/bootstrap/scss/_pagination.scss","../../dist/vendor/bootstrap/scss/mixins/_pagination.scss","../../dist/vendor/bootstrap/scss/_badge.scss","../../dist/vendor/bootstrap/scss/_alert.scss","../../dist/vendor/bootstrap/scss/mixins/_alert.scss","../../dist/vendor/bootstrap/scss/_progress.scss","../../dist/vendor/bootstrap/scss/_list-group.scss","../../dist/vendor/bootstrap/scss/mixins/_list-group.scss","../../dist/vendor/bootstrap/scss/_close.scss","../../dist/vendor/bootstrap/scss/_toasts.scss","../../dist/vendor/bootstrap/scss/_modal.scss","../../dist/vendor/bootstrap/scss/_tooltip.scss","../../dist/vendor/bootstrap/scss/mixins/_reset-text.scss","../../dist/vendor/bootstrap/scss/_popover.scss","../../dist/vendor/bootstrap/scss/_carousel.scss","../../dist/vendor/bootstrap/scss/mixins/_clearfix.scss","../../dist/vendor/bootstrap/scss/_spinners.scss","../../dist/vendor/bootstrap/scss/_offcanvas.scss","../../dist/vendor/bootstrap/scss/helpers/_colored-links.scss","../../dist/vendor/bootstrap/scss/helpers/_ratio.scss","../../dist/vendor/bootstrap/scss/helpers/_position.scss","../../dist/vendor/bootstrap/scss/helpers/_visually-hidden.scss","../../dist/vendor/bootstrap/scss/mixins/_visually-hidden.scss","../../dist/vendor/bootstrap/scss/helpers/_stretched-link.scss","../../dist/vendor/bootstrap/scss/mixins/_text-truncate.scss","../../dist/vendor/bootstrap/scss/mixins/_utilities.scss","../../dist/vendor/bootstrap/scss/utilities/_api.scss","_mixins.scss","components/_type.scss","components/_code.scss","components/_masonry-grid.scss","components/_tables.scss","components/_forms.scss","components/_buttons.scss","components/_social-buttons.scss","components/_accordion.scss","components/_dropdown.scss","components/_button-group.scss","components/_input-group.scss","components/_nav.scss","components/_navbar.scss","components/_card.scss","components/_breadcrumb.scss","components/_pagination.scss","components/_badge.scss","components/_alert.scss","components/_list-group.scss","components/_toasts.scss","components/_modal.scss","components/_popover.scss","components/_animations.scss","components/_date-picker.scss","components/_carousel.scss","components/_gallery.scss","components/_comments.scss","components/_video-button.scss","components/_countdown.scss","components/_charts.scss","components/_pricing.scss","components/_hotspots.scss","components/_frames.scss","components/_custom-scrollbar.scss","components/_parallax.scss","components/_offcanvas.scss","components/_sidebar.scss","components/_widgets.scss","components/_shop.scss","components/_image-swap.scss","components/_shapes.scss"],"names":[],"mappings":"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qBACE,eAAgB,CAChB,gCAAiC,CAClC,CJvED,6BIoEA,qBACE,eAAgB,CAChB,gCAAiC,CAClC,CJvED,8BIoEA,qBACE,eAAgB,CAChB,gCAAiC,CAClC,CJvED,8BIoEA,sBACE,eAAgB,CAChB,gCAAiC,CAClC,CE/IL,YACE,qBd+aqD,CDzLjD,iBAvE+B,Ce5KnC,edkM+B,CcjM/B,ada6B,CcZ9B,gBAKC,gCCwK8D,CDvK9D,mCCuK8D,CDtK9D,eAAgB,Cf0OZ,iBAvE+B,CehKnC,edsL+B,CcrL/B,edyL+B,CcxL/B,adA6B,CcC9B,mBAGC,8BC6J8D,CD5J9D,iCC4J8D,ChBoE1D,kBAvE+B,CevJpC,mBAGC,+BCuJ8D,CDtJ9D,kCCsJ8D,ChBoE1D,iBAvE+B,CejJpC,WE9BC,kBhB4aqD,CDtLjD,gBAvE+B,CiB3KnC,ahBU6B,CgBT9B,cCLC,aAAc,CACd,UAAW,CACX,yBjBoViD,CDhG7C,cAvE+B,CkB1KnC,enBua+B,CmBta/B,ejBmM+B,CiBlM/B,ajBQ6B,CiBP7B,qBjBC0B,CiBA1B,2BAA4B,CAC5B,wBjBG6B,CiBF7B,uBAAgB,CAAhB,oBAAgB,CAAhB,eAAgB,ChBGd,oBDkIgC,CMvI9B,8BN2a6D,CkBza7D,oElB8akG,CkB1alG,wCDhBN,cCiBQ,eAAgB,CD2FvB,CA5GD,2BAqBI,eAAgB,CArBpB,0DAwBM,cAAe,CAxBrB,oBA8BI,ajBd2B,CiBe3B,qBjBrBwB,CiBsBxB,mCjBT2B,CiBU3B,SAAU,CXvBR,oFNayB,CiBvB/B,2CA+CI,YAAmE,CA/CvE,yCAoDI,ajBrC2B,CiBuC3B,SAAU,CAtDd,gCAoDI,ajBrC2B,CiBuC3B,SAAU,CAtDd,2BAoDI,ajBrC2B,CiBuC3B,SAAU,CAtDd,+CAgEI,wBjBpD2B,CiBuD3B,SAAU,CAnEd,oCAwEI,yBjB+Q+C,CiB9Q/C,0BjB8Q+C,CiB7Q/C,2BjB6Q+C,CiB7Q/C,0BjB6Q+C,CiB5Q/C,ajBzD2B,CmBlB7B,wBnBW6B,CiBkE3B,mBAAoB,CACpB,oBAAqB,CACrB,kBAAmB,CACnB,cAAe,CACf,2BjB4D6B,CiB3D7B,eAAgB,CCtEd,oGlB6WsH,CkBzWtH,wCDhBN,oCCiBQ,eAAgB,CDmErB,CApFH,yEAuFI,wBjB5E2B,CiBX/B,0CA2FI,yBjB4P+C,CiB3P/C,0BjB2P+C,CiB1P/C,2BjB0P+C,CiB1P/C,0BjB0P+C,CiBzP/C,ajB5E2B,CmBlB7B,wBnBW6B,CiBqF3B,mBAAoB,CACpB,oBAAqB,CACrB,kBAAmB,CACnB,cAAe,CACf,2BjByC6B,CiBxC7B,eAAgB,CCzFd,4GlB6W2G,CkB7W3G,oGlB6WsH,CkBzWtH,wCDhBN,0CCiBQ,uBAAY,CAAZ,eAAgB,CDsFrB,CAvGH,+EA0GI,wBjB/F2B,CiBgG5B,wBASD,aAAc,CACd,UAAW,CACX,kBAA2B,CAC3B,eAAgB,CAChB,ejBkF+B,CiBjF/B,ajBzG6B,CiB0G7B,4BAA6B,CAC7B,wBAAyB,CACzB,kBAAmC,CATrC,gFAaI,eAAgB,CAChB,cAAe,CAChB,iBAWD,qCFsC8D,CErC9D,oBjB6M6C,CDpGzC,iBAvE+B,CEjKjC,mBDoI+B,CiBPnC,uCAOI,oBjBwM2C,CiBvM3C,qBjBuM2C,CiBtM3C,uBjBsMgC,CiBtMhC,sBjBsM2C,CiB/M/C,6CAaI,oBjBkM2C,CiBjM3C,qBjBiM2C,CiBhM3C,uBjBgMgC,CiBhMhC,sBjBgM2C,CiB/L5C,iBAID,qCFmB8D,CElB9D,sBjB8LgD,CDxG5C,kBAvE+B,CEjKjC,kBDmI8B,CiBalC,uCAOI,sBjByL8C,CiBxL9C,uBjBwL8C,CiBvL9C,0BjBuLgC,CiBvLhC,yBjBuL8C,CiBhMlD,6CAaI,sBjBmL8C,CiBlL9C,uBjBkL8C,CiBjL9C,0BjBiLgC,CiBjLhC,yBjBiL8C,CiBhL/C,sBAQC,uCFJ4D,CEEhE,yBAMI,qCFR4D,CEEhE,yBAUI,qCFZ4D,CEa7D,oBAKD,cAAe,CACf,WAAY,CACZ,gBjB+IiD,CiBlJnD,mDAMI,cAAe,CANnB,uCAUI,YAAmE,ChB/LnE,oBDkIgC,CiBmDpC,0CAeI,YAAmE,ChBpMnE,oBDkIgC,CiBoEjC,aGnND,aAAc,CACd,UAAW,CACX,0CpBmViD,CDhG7C,cAvE+B,CqBzKnC,etBsa+B,CsBra/B,epBkM+B,CoBjM/B,apBO6B,CoBN7B,qBpBA0B,CoBC1B,gPLqEgF,CKpEhF,2BAA4B,CAC5B,yCtBixBqE,CsBhxBrE,yBtBixB2C,CsBhxB3C,wBpBD6B,CCC3B,oBDkIgC,CMvI9B,sCNgJmD,CoBxIvD,uBAAY,CAAZ,oBAAY,CAAZ,eAAgB,CAjBlB,mBAoBI,mCpBE2B,CoBD3B,SAAU,CdZR,qENayB,CoBtB/B,0DAgCI,sBpBsT+C,CoBrT/C,qBAAsB,CAjC1B,sBAsCI,wBpB3B2B,CoBX/B,4BA4CI,iBAAkB,CAClB,yBpB9B2B,CoB+B5B,gBAID,mBpBuSgD,CoBtShD,sBpBsSgD,CoBrShD,iBpBsS6C,CDpGzC,iBAvE+B,CqBzHpC,gBAGC,kBpBoS+C,CoBnS/C,qBpBmS+C,CoBlS/C,oBpBmSgD,CDxG5C,kBAvE+B,CqBlHpC,YC7DC,aAAc,CACd,iBvBotB2E,CuBntB3E,kBvBotBsE,CuBntBtE,qBvBotB+C,CuBxtBjD,8BAOI,UAAW,CACX,kBAA2C,CAC5C,kBAID,SvBwsB2C,CuBvsB3C,UvBusB2C,CuBtsB3C,gBAA6D,CAC7D,kBAAmB,CACnB,wBrBibmE,CqBhbnE,2BAA4B,CAC5B,0BAA2B,CAC3B,uBAAwB,CACxB,wBrB8a6E,CqB7a7E,uBAAgB,CAAhB,oBAAgB,CAAhB,eAAgB,CAChB,gCAAc,CAAd,kBAAmB,CAXrB,mCpBGI,oBDqbkD,CqBxbtD,gCAoBI,iBvBksByC,CuBttB7C,yBAwBI,QrB4Z6C,CqBpbjD,wBA4BI,8BrB2Z2E,CqB1Z3E,SAAU,CACV,YrBia6C,CqB/bjD,0BAkCI,wBrBvB2B,CqBwB3B,oBrBxB2B,CqBX/B,2CAyCQ,8ON2B0E,CMpElF,wCAiDQ,sJNmB0E,CMpElF,iDAuDI,wBrB5C2B,CqB6C3B,oBrB7C2B,CqBkDzB,wONO4E,CMpElF,2BAkEI,mBAAoB,CACpB,WAAY,CACZ,UvBiqByC,CuBruB7C,+FA4EM,UvBypBuC,CuBxpBxC,kBAKH,arB9E6B,CqBgF9B,aAOC,mBvBopByD,CuBrpB3D,+BAII,YrBqWkD,CqBpWlD,mBAA4C,CAC5C,sJN5B8E,CM6B9E,+BAAgC,CpB9FhC,oBDgckD,CkBnchD,gDpBkvBgE,CoB9uBhE,wCGsFN,+BHrFQ,eAAgB,CG6GrB,CAxBH,qCAYM,sJNlC4E,CMsBlF,uCAgBM,gCvB+oBwC,CuB1oBtC,sJN3C0E,CM6C7E,mBAKH,oBAAqB,CACrB,iBvBknBoC,CuBjnBrC,WAGC,iBAAkB,CAClB,qBAAsB,CACtB,mBAAoB,CAHtB,mDAQM,mBAAoB,CACpB,WAAY,CACZ,WvBse2B,CuBre5B,YC9IH,UAAW,CACX,WP4K2B,CO3K3B,SAAU,CACV,4BAA6B,CAC7B,uBAAY,CAAZ,oBAAY,CAAZ,eAAgB,CALlB,kBAQI,SAAU,CARd,wCAY8B,+EtBSC,CsBrB/B,oCAa8B,+EtBQC,CsBrB/B,8BAiBI,QAAS,CAjBb,kCAqBI,UxB0yB2C,CwBzyB3C,WxByyB2C,CwBxyB3C,kBAAqE,CHzBvE,wBnBuB6B,CsBI3B,QxByyBwC,CGrzBxC,kBHszB2C,CQ3zBzC,2CNUsB,CkBRtB,iHpB+zBkI,CoB/zBlI,yGpB+zBkI,CwB5yBpI,uBAAY,CAAZ,eAAgB,CJfd,wCIdN,kCJeQ,uBAAY,CAAZ,eAAgB,CImBrB,CAlCH,yCHFE,wBnB0d8E,CsBxdhF,2CAqCI,UxBmxBkC,CwBlxBlC,YxBmxBmC,CwBlxBnC,iBAAkB,CAClB,cxBkxBqC,CwBjxBrC,wBtB9B2B,CsB+B3B,wBAAyB,CrB7BzB,kBH+yBkC,CQpzBhC,sCNgJmD,CsBxJzD,8BAgDI,UxB+wB2C,CwB9wB3C,WxB8wB2C,CqBj0B7C,wBnBuB6B,CsB8B3B,QxB+wBwC,CGrzBxC,kBHszB2C,CQ3zBzC,2CNUsB,CkBRtB,8GpB+zBkI,CoB/zBlI,yGpB+zBkI,CwBlxBpI,oBAAY,CAAZ,eAAgB,CJzCd,wCIdN,8BJeQ,oBAAY,CAAZ,eAAgB,CI6CrB,CA5DH,qCHFE,wBnB0d8E,CsBxdhF,8BA+DI,UxByvBkC,CwBxvBlC,YxByvBmC,CwBxvBnC,iBAAkB,CAClB,cxBwvBqC,CwBvvBrC,wBtBxD2B,CsByD3B,wBAAyB,CrBvDzB,kBH+yBkC,CQpzBhC,sCNgJmD,CsBxJzD,qBA0EI,mBAAoB,CA1ExB,2CA6EM,wBtBhEyB,CsBb/B,uCAiFM,wBtBpEyB,CsBqE1B,eCvFH,iBAAkB,CADpB,yDAKI,yBRkL4D,CQjL5D,qBvBqV+C,CuB3VnD,qBAUI,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,WAAY,CACZ,qBvB6U+C,CuB5U/C,mBAAoB,CACpB,4BAA6C,CAC7C,oBAAqB,CLDnB,8DpBg1B8E,CoB50B9E,wCKpBN,qBLqBQ,eAAgB,CKFrB,CAnBH,wDAwBM,iBAAkB,CAxBxB,+CAwBM,iBAAkB,CAxBxB,0CAwBM,iBAAkB,CAxBxB,0DA6BM,oBzB+zBoC,CyB9zBpC,sBzB+zBmC,CyB71BzC,wFA6BM,oBzB+zBoC,CyB9zBpC,sBzB+zBmC,CyB71BzC,8CAkCM,oBzB0zBoC,CyBzzBpC,sBzB0zBmC,CyB71BzC,4BAwCI,oBzBozBsC,CyBnzBtC,sBzBozBqC,CyB71BzC,kEAgDM,WzB8yB+B,CyB7yB/B,6DzB8yB4E,CyB/1BlF,4IAgDM,WzB8yB+B,CyB7yB/B,6DzB8yB4E,CyB/1BlF,sDAuDM,WzBuyB+B,CyBtyB/B,6DzBuyB4E,CyBtyB7E,aCpDH,iBAAkB,CAClB,YAAa,CACb,cAAe,CACf,mBAAoB,CACpB,UAAW,CALb,qDASI,iBAAkB,CAClB,aAAc,CACd,QAAS,CACT,WAAY,CAZhB,iEAkBI,SAAU,CAlBd,kBAyBI,iBAAkB,CAClB,SAAU,CA1Bd,wBA6BM,SAAU,CACX,kBAWH,YAAa,CACb,kBAAmB,CACnB,yBxB4SiD,CDhG7C,cAvE+B,CyBnInC,exByJ+B,CwBxJ/B,exB4J+B,CwB3J/B,axB/B6B,CwBgC7B,iBAAkB,CAClB,kBAAmB,CACnB,qBxBxC0B,CwByC1B,wBxBrC6B,CCC3B,oBDkIgC,CwB5FnC,kHAYC,sBxB8RgD,CDxG5C,kBAvE+B,CEjKjC,kBDmI8B,CwB9EjC,kHAMC,oBxBiR6C,CDpGzC,iBAvE+B,CEjKjC,mBDoI+B,CwBtElC,0DAIC,sBAAsE,CACvE,qKvBnDG,yBuBiE8B,CvBhE9B,4BuBgE8B,CAJlC,4JvB7DI,yBuBwE8B,CvBvE9B,4BuBuE8B,CAXlC,0IAqBI,gBxB4B6B,CChG7B,wBuBqE8B,CvBpE9B,2BuBoE8B,CAF4B,gBC1F1D,YAAa,CACb,UAAW,CACX,kBzBqZmD,CDtLjD,gBAvE+B,C0BrJjC,azBD2B,CyBE5B,eAGC,iBAAkB,CAClB,QAAS,CACT,SAAU,CACV,YAAa,CACb,cAAe,CACf,wBzBovBuC,CyBnvBvC,gBAAiB,C1BkNf,gBAvE+B,C0BxIjC,UzBpBwB,CyBqBxB,sCzBf2B,CCX3B,sBDweoD,CyBrfpD,sIA8CE,aAAc,CA9ChB,0DAoDE,oBzB5ByB,CyB+BvB,oCV0HwD,CUzHxD,2PVsB0E,CUrB1E,2BAA4B,CAC5B,yDAA6D,CAC7D,6DVsHwD,CUjL5D,sEA+DI,oBzBvCuB,CyBwCvB,wCzBxCuB,CyBxB3B,0EAyEI,oCVwGwD,CUvGxD,+EVuGwD,CUjL5D,wDAiFE,oBzBzDyB,CyB4DvB,uB3B6sB6F,C2B5sB7F,2dVP0E,CUQ1E,8DzB8XgE,CyB7XhE,uEV0FwD,CUjL5D,oEA2FI,oBzBnEuB,CyBoEvB,wCzBpEuB,CyBxB3B,kEAmGE,oBzB3EyB,CyBxB3B,kFAsGI,wBzB9EuB,CyBxB3B,8EA0GI,wCzBlFuB,CyBxB3B,0GA8GI,azBtFuB,CyBuFxB,uDAKD,gBAAiB,CApHnB,sKA2HE,SAAU,CAxHX,kBAiBD,YAAa,CACb,UAAW,CACX,kBzBqZmD,CDtLjD,gBAvE+B,C0BrJjC,azBC2B,CyBA5B,iBAGC,iBAAkB,CAClB,QAAS,CACT,SAAU,CACV,YAAa,CACb,cAAe,CACf,wBzBovBuC,CyBnvBvC,gBAAiB,C1BkNf,gBAvE+B,C0BxIjC,UzBpBwB,CyBqBxB,sCzBb2B,CCb3B,sBDweoD,CyBrfpD,sJA8CE,aAAc,CA9ChB,8DAoDE,oBzB1ByB,CyB6BvB,oCV0HwD,CUzHxD,2UVsB0E,CUrB1E,2BAA4B,CAC5B,yDAA6D,CAC7D,6DVsHwD,CUjL5D,0EA+DI,oBzBrCuB,CyBsCvB,wCzBtCuB,CyB1B3B,8EAyEI,oCVwGwD,CUvGxD,+EVuGwD,CUjL5D,4DAiFE,oBzBvDyB,CyB0DvB,uB3B6sB6F,C2B5sB7F,2iBVP0E,CUQ1E,8DzB8XgE,CyB7XhE,uEV0FwD,CUjL5D,wEA2FI,oBzBjEuB,CyBkEvB,wCzBlEuB,CyB1B3B,sEAmGE,oBzBzEyB,CyB1B3B,sFAsGI,wBzB5EuB,CyB1B3B,kFA0GI,wCzBhFuB,CyB1B3B,8GA8GI,azBpFuB,CyBqFxB,yDAKD,gBAAiB,CApHnB,8KA2HE,SAAU,CAxHX,KCJH,oBAAqB,CAErB,e1BmM+B,C0BlM/B,e1BsM+B,C0BrM/B,a1BW6B,C0BV7B,iBAAkB,CAElB,kB1BgXwC,C0B/WxC,qBAAsB,CACtB,cAA2C,CAC3C,wBAAiB,CAAjB,qBAAiB,CAAjB,gBAAiB,CACjB,4BAA6B,CAC7B,4BAA2C,CC8G3C,wB3B6OyC,CDjHrC,cAvE+B,CEjKjC,oBDkIgC,CkBrI9B,oGlB6WsH,CkBzWtH,wCQhBN,KRiBQ,eAAgB,CQ6BvB,CA9CD,WAkBI,a1BF2B,C0BG3B,oBAA6D,CAC9D,iCAIC,SAAU,CACV,gB1BoVqC,C0BnVtC,uEpBhBG,gBNoWmC,C0BlVvC,+FpBlBI,sBNoWmC,C0B9WzC,mDA0CI,mBAAoB,CACpB,W5B2kB6B,CQ5mB3B,eoBkCsB,CACzB,aC7BD,U3BI0B,CmBpB1B,wBnBuB6B,C2BL7B,oB3BK6B,CMbzB,gBNkWmC,C2BvVvC,mBACE,U3BFwB,CmBpB1B,wBJuJmC,CY/HjC,oBZ+HiC,CY9HlC,iDAIC,U3BTwB,CmBpB1B,wBJuJmC,CYxHjC,oBZwHiC,CT7I/B,6CqBuB0F,CAK7F,0IAOC,U3BzBwB,C2B0BxB,wBZyGiC,CYtGjC,oBZsGiC,CY/GnC,wKrB9BI,6CqB2CmG,CAKpG,4CAKD,U3B3CwB,C2B4CxB,wB3BzC2B,C2B4C3B,oB3B5C2B,C2B6C5B,eApDD,U3BI0B,CmBpB1B,wBnBW6B,C2BO7B,oB3BP6B,CMDzB,gBNkWmC,C2BvVvC,qBACE,U3BFwB,CmBpB1B,wBJuJmC,CY/HjC,oBZ+HiC,CY9HlC,qDAIC,U3BTwB,CmBpB1B,wBJuJmC,CYxHjC,oBZwHiC,CT7I/B,8CqBuB0F,CAK7F,oJAOC,U3BzBwB,C2B0BxB,wBZyGiC,CYtGjC,oBZsGiC,CY/GnC,kLrB9BI,8CqB2CmG,CAKpG,gDAKD,U3B3CwB,C2B4CxB,wB3BrD2B,C2BwD3B,oB3BxD2B,C2ByD5B,aApDD,U3BI0B,CmBpB1B,wBnB0B6B,C2BR7B,oB3BQ6B,CMhBzB,gBNkWmC,C2BvVvC,mBACE,U3BFwB,CmBpB1B,wBJuJmC,CY/HjC,oBZ+HiC,CY9HlC,iDAIC,U3BTwB,CmBpB1B,wBJuJmC,CYxHjC,oBZwHiC,CT7I/B,6CqBuB0F,CAK7F,0IAOC,U3BzBwB,C2B0BxB,wBZyGiC,CYtGjC,oBZsGiC,CY/GnC,wKrB9BI,6CqB2CmG,CAKpG,4CAKD,U3B3CwB,C2B4CxB,wB3BtC2B,C2ByC3B,oB3BzC2B,C2B0C5B,UApDD,U3BI0B,CmBpB1B,wBnByB2B,C2BP3B,oB3BO2B,CMfvB,gBNkWmC,C2BvVvC,gBACE,U3BFwB,CmBpB1B,wBJuJmC,CY/HjC,oBZ+HiC,CY9HlC,2CAIC,U3BTwB,CmBpB1B,wBJuJmC,CYxHjC,oBZwHiC,CT7I/B,6CqBuB0F,CAK7F,2HAOC,U3BzBwB,C2B0BxB,wBZyGiC,CYtGjC,oBZsGiC,CY/GnC,yJrB9BI,6CqB2CmG,CAKpG,sCAKD,U3B3CwB,C2B4CxB,wB3BvCyB,C2B0CzB,oB3B1CyB,C2B2C1B,aApDD,U3BI0B,CmBpB1B,wBnB2B6B,C2BT7B,oB3BS6B,CMjBzB,gBNkWmC,C2BvVvC,mBACE,U3BFwB,CmBpB1B,wBJuJmC,CY/HjC,oBZ+HiC,CY9HlC,iDAIC,U3BTwB,CmBpB1B,wBJuJmC,CYxHjC,oBZwHiC,CT7I/B,6CqBuB0F,CAK7F,0IAOC,U3BzBwB,C2B0BxB,wBZyGiC,CYtGjC,oBZsGiC,CY/GnC,wKrB9BI,6CqB2CmG,CAKpG,4CAKD,U3B3CwB,C2B4CxB,wB3BrC2B,C2BwC3B,oB3BxC2B,C2ByC5B,YApDD,U3BI0B,CmBpB1B,wBnB4B6B,C2BV7B,oB3BU6B,CMlBzB,gBNkWmC,C2BvVvC,kBACE,U3BFwB,CmBpB1B,wBJuJmC,CY/HjC,oBZ+HiC,CY9HlC,+CAIC,U3BTwB,CmBpB1B,wBJuJmC,CYxHjC,oBZwHiC,CT7I/B,6CqBuB0F,CAK7F,qIAOC,U3BzBwB,C2B0BxB,wBZyGiC,CYtGjC,oBZsGiC,CY/GnC,mKrB9BI,6CqB2CmG,CAKpG,0CAKD,U3B3CwB,C2B4CxB,wB3BpC2B,C2BuC3B,oB3BvC2B,C2BwC5B,WApDD,U3BI0B,CmBpB1B,qBnBU0B,C2BQ1B,iB3BR0B,CMAtB,gBNkWmC,C2BvVvC,iBACE,U3BFwB,CmBpB1B,qBJuJmC,CY/HjC,iBZ+HiC,CY9HlC,6CAIC,U3BTwB,CmBpB1B,qBJuJmC,CYxHjC,iBZwHiC,CT7I/B,8CqBuB0F,CAK7F,gIAOC,U3BzBwB,C2B0BxB,qBZyGiC,CYtGjC,iBZsGiC,CY/GnC,8JrB9BI,8CqB2CmG,CAKpG,wCAKD,U3B3CwB,C2B4CxB,qB3BtDwB,C2ByDxB,iB3BzDwB,C2B0DzB,UApDD,U3BN0B,CmBV1B,wBnBmB6B,C2BD7B,oB3BC6B,CMTzB,gBNkWmC,C2BvVvC,gBACE,U3BZwB,CmBV1B,wBJ4JmC,CYpIjC,oBZoIiC,CYnIlC,2CAIC,U3BnBwB,CmBV1B,wBJ4JmC,CY7HjC,oBZ6HiC,CTlJ/B,4CqBuB0F,CAK7F,2HAOC,U3BnCwB,C2BoCxB,wBZ8GiC,CY3GjC,oBZ2GiC,CYpHnC,yJrB9BI,4CqB2CmG,CAKpG,sCAKD,U3BrDwB,C2BsDxB,wB3B7C2B,C2BgD3B,oB3BhD2B,C2BiD5B,qBAYD,a3BzD6B,C2B0D7B,oB3B1D6B,C2B4D7B,2BACE,U3BhEwB,C2BiExB,wB3B9D2B,C2B+D3B,oB3B/D2B,C2BgE5B,iEAIC,wC3BpE2B,C2BqE5B,iLAOC,U3B/EwB,C2BgFxB,wB3B7E2B,C2B8E3B,oB3B9E2B,C2BuE7B,+MrBpFI,8CNayB,C2BuF1B,4DAKD,a3B5F2B,C2B6F3B,4BAA6B,CAC9B,uBArCD,a3BrE6B,C2BsE7B,oB3BtE6B,C2BwE7B,6BACE,U3BhEwB,C2BiExB,wB3B1E2B,C2B2E3B,oB3B3E2B,C2B4E5B,qEAIC,wC3BhF2B,C2BiF5B,2LAOC,U3B/EwB,C2BgFxB,wB3BzF2B,C2B0F3B,oB3B1F2B,C2BmF7B,yNrBpFI,8CNCyB,C2BmG1B,gEAKD,a3BxG2B,C2ByG3B,4BAA6B,CAC9B,qBArCD,a3BtD6B,C2BuD7B,oB3BvD6B,C2ByD7B,2BACE,U3BhEwB,C2BiExB,wB3B3D2B,C2B4D3B,oB3B5D2B,C2B6D5B,iEAIC,uC3BjE2B,C2BkE5B,iLAOC,U3B/EwB,C2BgFxB,wB3B1E2B,C2B2E3B,oB3B3E2B,C2BoE7B,+MrBpFI,6CNgByB,C2BoF1B,4DAKD,a3BzF2B,C2B0F3B,4BAA6B,CAC9B,kBArCD,a3BvD2B,C2BwD3B,oB3BxD2B,C2B0D3B,wBACE,U3BhEwB,C2BiExB,wB3B5DyB,C2B6DzB,oB3B7DyB,C2B8D1B,2DAIC,wC3BlEyB,C2BmE1B,kKAOC,U3B/EwB,C2BgFxB,wB3B3EyB,C2B4EzB,oB3B5EyB,C2BqE3B,gMrBpFI,8CNeuB,C2BqFxB,sDAKD,a3B1FyB,C2B2FzB,4BAA6B,CAC9B,qBArCD,a3BrD6B,C2BsD7B,oB3BtD6B,C2BwD7B,2BACE,U3BhEwB,C2BiExB,wB3B1D2B,C2B2D3B,oB3B3D2B,C2B4D5B,iEAIC,uC3BhE2B,C2BiE5B,iLAOC,U3B/EwB,C2BgFxB,wB3BzE2B,C2B0E3B,oB3B1E2B,C2BmE7B,+MrBpFI,6CNiByB,C2BmF1B,4DAKD,a3BxF2B,C2ByF3B,4BAA6B,CAC9B,oBArCD,a3BpD6B,C2BqD7B,oB3BrD6B,C2BuD7B,0BACE,U3BhEwB,C2BiExB,wB3BzD2B,C2B0D3B,oB3B1D2B,C2B2D5B,+DAIC,uC3B/D2B,C2BgE5B,4KAOC,U3B/EwB,C2BgFxB,wB3BxE2B,C2ByE3B,oB3BzE2B,C2BkE7B,0MrBpFI,6CNkByB,C2BkF1B,0DAKD,a3BvF2B,C2BwF3B,4BAA6B,CAC9B,mBArCD,U3BtE0B,C2BuE1B,iB3BvE0B,C2ByE1B,yBACE,U3BhEwB,C2BiExB,qB3B3EwB,C2B4ExB,iB3B5EwB,C2B6EzB,6DAIC,wC3BjFwB,C2BkFzB,uKAOC,U3B/EwB,C2BgFxB,qB3B1FwB,C2B2FxB,iB3B3FwB,C2BoF1B,qMrBpFI,8CNAsB,C2BoGvB,wDAKD,U3BzGwB,C2B0GxB,4BAA6B,CAC9B,kBArCD,a3B7D6B,C2B8D7B,oB3B9D6B,C2BgE7B,wBACE,U3B1EwB,C2B2ExB,wB3BlE2B,C2BmE3B,oB3BnE2B,C2BoE5B,2DAIC,qC3BxE2B,C2ByE5B,kKAOC,U3BzFwB,C2B0FxB,wB3BjF2B,C2BkF3B,oB3BlF2B,C2B2E7B,gMrBpFI,2CNSyB,C2B2F1B,sDAKD,a3BhG2B,C2BiG3B,4BAA6B,CAC9B,UD3CD,e5BmW+B,C4BlW/B,a1BpD6B,C0BqD7B,oB1BsD0B,C0BzD5B,gBAMI,a1BoD4C,C0BnD5C,yB1BoD6B,C0B3DjC,gBAWI,yB1BgD6B,C0B3DjC,sCAgBI,a1BzE2B,C0B0E5B,2BCiCD,qB3B+OwC,CDnHpC,kBAvE+B,CEjKjC,kBDmI8B,C0B5CjC,2BCqBC,oB3B8OsC,CDlHlC,iBAvE+B,CEjKjC,mBDoI+B,C0BzClC,MR9FK,+BpB4X2C,CoBxX3C,wCUpBN,MVqBQ,eAAgB,CUfvB,CAND,iBAII,SAAU,CACX,qBAMC,YAAa,CACd,YAID,QAAS,CACT,eAAgB,CVDZ,4BpB8XwC,CoB1XxC,wCULN,YVMQ,eAAgB,CUFvB,CClBD,sCAIE,iBAAkB,CL6FG,iBKzFrB,kBAAmB,CLyFwB,eKjF3C,iBAAkB,CAClB,QAAS,CACT,Y/Bk3BsC,C+Bj3BtC,YAAa,CACb,e/Bu8BuC,C+Bt8BvC,e/Bu8BmC,C+Bt8BnC,QAAS,C9BoOL,cAvE+B,C8B3JnC,a7BL6B,C6BM7B,eAAgB,CAChB,eAAgB,CAChB,qB7Bd0B,C6Be1B,2BAA4B,CAC5B,wB7Bb6B,CCE3B,oBDkIgC,CMvI9B,+FNUsB,C6BR5B,+BAmBI,MAAO,CACP,kB/B27BuC,C+B17BxC,qBAYG,oBAAc,CADhB,qCAII,2BAAiC,CACjC,KAAM,EAAE,eAAA,CAAqB,CAC9B,mBAID,kBAAc,CADhB,mCAII,wBAA8B,CAC9B,QAAM,EAAK,eAAA,CAAqB,CrBCpC,0BqBfA,wBACE,oBAAc,CADhB,wCAII,2BAAiC,CACjC,KAAM,EAAE,eAAA,CAAqB,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iFqEJb,wBAQa,CAAA,oBACJ,CAAA,UACT,CrENa,sC2BoDrB,U0CzCQ,CrEXa,yHqEgBV,arETS,CAAA,gD2B6CpB,a3B7CoB,CAAA,W0BsCrB,wB2CZc,CAAA,qBACE,CrElCM,aAOD,CAAA,sEqEyBb,iBASM,CrEzCQ,qBqE0CJ,CrE1CI,sRqEoDK,UACpB,CrErDe,qB0BmDtB,mC1BtCsB,CAAA,qB0BsCtB,kC1BnCsB,CAAA,kB0BmCtB,mC1BpCoB,CAAA,qB0BoCpB,kC1BlCsB,CAAA,oB0BkCtB,kC1BjCsB,CAAA,mB0BiCtB,mC1BnDsB,CAAA,kB0BmDtB,gC1B1CsB,CAAA,uB0B0CtB,oB1B/CsB,CAAA,aAGD,CAAA,kJqEwDD,oBrE1DE,CAAA,4BqEiEF,CAAA,wBACD,CAAA,mB3CpBnB,mC1BnDsB,CAAA,8HqE2EN,qBAIE,CrE/EI,aAQA,CAAA,6EqE4ES,mCrEvET,CAAA,4BqE0EF,CAAA,arE1EE,CAAA,wCqE8EH,wBACL,CAAA,uCrE/EQ,CAAA,aAAA,CAAA,+CqE8EiB,arE9EjB,CAAA,2VqE6FX,UACJ,CrE3Ge,yBqE4GrB,uCrE/FqB,CAAA,yBqEmGtB,sCrEhGsB,CAAA,sBqEgGtB,uCrEjGoB,CAAA,yBqEiGpB,sCrE/FsB,CAAA,wBqE+FtB,sCrE9FsB,CAAA,uBqE8FtB,uCrEhHsB,CAAA,sBqEgHtB,oCrEvGsB,CAAA,yBqEuGtB,arEnGsB,CAAA,4JqEyGE,wBrEzGF,CAAA,yBqEmGtB,arEhGsB,CAAA,4JqEsGE,wBrEtGF,CAAA,sBqEgGtB,arEjGoB,CAAA,6IqEuGC,wBrEvGD,CAAA,yBqEiGpB,arE/FsB,CAAA,4JqEqGE,wBrErGF,CAAA,wBqE+FtB,arE9FsB,CAAA,uJqEoGC,wBrEpGD,CAAA,sBqE8FtB,arEvGsB,CAAA,6IqE6GD,wBrE7GC,CAAA,uBqEuGtB,UAgBK,CrEhIiB,kJqE+HF,qBAQF,CrEvII,aASA,CAAA,U0BsDxB,e2CiFE,CAAW,oBACI,CrEyNmB,iFqE3N3B,yBrE4N2B,CAAA,cqElNjC,wBrE5IqB,CAAA,iFAoCM,CAAA,mHqE8GjB,U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","file":"theme.min.css","sourcesContent":["//\n// Reboot\n// --------------------------------------------------\n\n// Import Google Fonts (Rubik)\n@import url($path-to-fonts);\n\nhtml * {\n @include font-smoothing;\n}\n\n// Sticky footer\nhtml, body {\n height: 100%;\n}\nbody {\n display: flex;\n flex-direction: column;\n}\n.page-wrapper {\n flex: 1 0 auto;\n}\n.footer {\n flex-shrink: 0;\n}\n\n// Links\na:focus { outline: none; }\na { transition: $link-transition; }\n\n// Images\n// Responsive images (ensure images don't scale beyond their parents)\nimg,\nfigure {\n max-width: 100%;\n height: auto;\n vertical-align: middle;\n}\nsvg { max-width: 100%; }\n\n// Responsive iframes\niframe {\n width: 100%;\n}\n\n// Full height iframe\n.iframe-full-height-wrap {\n min-height: 18rem;\n overflow: hidden;\n}\n.iframe-full-height {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n// Text Selection Color\n::selection {\n background: $user-selection-color;\n}\n::-moz-selection {\n background: $user-selection-color;\n}\n\n// Change Bootstrap default .container-fluid paddings\n@include media-breakpoint-up(xl) {\n .container-fluid {\n padding-right: $grid-gutter-width;\n padding-left: $grid-gutter-width;\n }\n}\n\nsmall { font-weight: inherit; }\n\n// Remove top padding from body when screen size below md (992px)\n@include media-breakpoint-down(md) {\n body { padding-top: 0 !important; }\n}\n\n// Disable button :focus outline\nbutton:focus {\n outline: none;\n}\n\n// Horizontal rule - light version\n.hr-light {\n color: $border-light-color;\n}\n","//\n// Font Icons\n// Icons selected from:\n// https://feathericons.com/\n// Font generated using:\n// https://icomoon.io/app\n// --------------------------------------------------\n\n// Define icons variables\n\n$ai-activity: '\\e900';\n$ai-airplay: '\\e901';\n$ai-alert-circle: '\\e902';\n$ai-alert-octagon: '\\e903';\n$ai-alert-triangle: '\\e904';\n$ai-align-center: '\\e905';\n$ai-align-justify: '\\e906';\n$ai-align-left: '\\e907';\n$ai-align-right: '\\e908';\n$ai-anchor: '\\e909';\n$ai-aperture: '\\e90a';\n$ai-archive: '\\e90b';\n$ai-arrow-down-circle: '\\e90c';\n$ai-arrow-down-left: '\\e90d';\n$ai-arrow-down-right: '\\e90e';\n$ai-arrow-down: '\\e90f';\n$ai-arrow-left-circle: '\\e910';\n$ai-arrow-left: '\\e911';\n$ai-arrow-right-circle: '\\e912';\n$ai-arrow-right: '\\e913';\n$ai-arrow-up-circle: '\\e914';\n$ai-arrow-up-left: '\\e915';\n$ai-arrow-up-right: '\\e916';\n$ai-arrow-up: '\\e917';\n$ai-at-sign: '\\e918';\n$ai-award: '\\e919';\n$ai-bar-chart-2: '\\e91a';\n$ai-bar-chart: '\\e91b';\n$ai-battery-charging: '\\e91c';\n$ai-battery: '\\e91d';\n$ai-behance: '\\e91e';\n$ai-bell-off: '\\e91f';\n$ai-bell: '\\e920';\n$ai-bluetooth: '\\e921';\n$ai-bold: '\\e922';\n$ai-book-open: '\\e923';\n$ai-book: '\\e924';\n$ai-bookmark: '\\e925';\n$ai-box: '\\e926';\n$ai-briefcase: '\\e927';\n$ai-calendar: '\\e928';\n$ai-camera-off: '\\e929';\n$ai-camera: '\\e92a';\n$ai-cast: '\\e92b';\n$ai-check-circle: '\\e92c';\n$ai-check-square: '\\e92d';\n$ai-check: '\\e92e';\n$ai-chevron-down: '\\e92f';\n$ai-chevron-left: '\\e930';\n$ai-chevron-right: '\\e931';\n$ai-chevron-up: '\\e932';\n$ai-chevrons-down: '\\e933';\n$ai-chevrons-left: '\\e934';\n$ai-chevrons-right: '\\e935';\n$ai-chevrons-up: '\\e936';\n$ai-chrome: '\\e937';\n$ai-clipboard: '\\e938';\n$ai-clock: '\\e939';\n$ai-cloud-drizzle: '\\e93a';\n$ai-cloud-lightning: '\\e93b';\n$ai-cloud-off: '\\e93c';\n$ai-cloud-rain: '\\e93d';\n$ai-cloud-snow: '\\e93e';\n$ai-cloud: '\\e93f';\n$ai-code: '\\e940';\n$ai-codepen: '\\e941';\n$ai-codesandbox: '\\e942';\n$ai-coffee: '\\e943';\n$ai-columns: '\\e944';\n$ai-command: '\\e945';\n$ai-compass: '\\e946';\n$ai-copy: '\\e947';\n$ai-corner-down-left: '\\e948';\n$ai-corner-down-right: '\\e949';\n$ai-corner-left-down: '\\e94a';\n$ai-corner-left-up: '\\e94b';\n$ai-corner-right-down: '\\e94c';\n$ai-corner-right-up: '\\e94d';\n$ai-corner-up-left: '\\e94e';\n$ai-corner-up-right: '\\e94f';\n$ai-cpu: '\\e950';\n$ai-credit-card: '\\e951';\n$ai-crop: '\\e952';\n$ai-crosshair: '\\e953';\n$ai-database: '\\e954';\n$ai-delete: '\\e955';\n$ai-disc: '\\e956';\n$ai-dollar-sign: '\\e957';\n$ai-download-cloud: '\\e958';\n$ai-download: '\\e959';\n$ai-dribbble: '\\e95a';\n$ai-droplet: '\\e95b';\n$ai-edit-2: '\\e95c';\n$ai-edit-3: '\\e95d';\n$ai-edit: '\\e95e';\n$ai-external-link: '\\e95f';\n$ai-eye-off: '\\e960';\n$ai-eye: '\\e961';\n$ai-facebook: '\\e962';\n$ai-fast-forward: '\\e963';\n$ai-feather: '\\e964';\n$ai-figma: '\\e965';\n$ai-file-minus: '\\e966';\n$ai-file-plus: '\\e967';\n$ai-file-text: '\\e968';\n$ai-file: '\\e969';\n$ai-film: '\\e96a';\n$ai-filter-alt: '\\e96b';\n$ai-filter: '\\e96c';\n$ai-flag: '\\e96d';\n$ai-folder-minus: '\\e96e';\n$ai-folder-plus: '\\e96f';\n$ai-folder: '\\e970';\n$ai-framer: '\\e971';\n$ai-frown: '\\e972';\n$ai-gift: '\\e973';\n$ai-git-branch: '\\e974';\n$ai-git-commit: '\\e975';\n$ai-git-merge: '\\e976';\n$ai-git-pull-request: '\\e977';\n$ai-github: '\\e978';\n$ai-gitlab: '\\e979';\n$ai-globe: '\\e97a';\n$ai-google: '\\e97b';\n$ai-grid: '\\e97c';\n$ai-hangouts: '\\e97d';\n$ai-hard-drive: '\\e97e';\n$ai-hash: '\\e97f';\n$ai-headphones: '\\e980';\n$ai-heart: '\\e981';\n$ai-help-circle: '\\e982';\n$ai-hexagon: '\\e983';\n$ai-home: '\\e984';\n$ai-image: '\\e985';\n$ai-inbox: '\\e986';\n$ai-info: '\\e987';\n$ai-instagram: '\\e988';\n$ai-italic: '\\e989';\n$ai-key: '\\e98a';\n$ai-layers: '\\e98b';\n$ai-layout: '\\e98c';\n$ai-life-buoy: '\\e98d';\n$ai-link-2: '\\e98e';\n$ai-link: '\\e98f';\n$ai-linkedin: '\\e990';\n$ai-list: '\\e991';\n$ai-loader: '\\e992';\n$ai-lock: '\\e993';\n$ai-log-in: '\\e994';\n$ai-log-out: '\\e995';\n$ai-mail: '\\e996';\n$ai-map-pin: '\\e997';\n$ai-map: '\\e998';\n$ai-maximize-2: '\\e999';\n$ai-maximize: '\\e99a';\n$ai-meh: '\\e99b';\n$ai-menu: '\\e99c';\n$ai-message-circle: '\\e99d';\n$ai-message-square: '\\e99e';\n$ai-messenger: '\\e99f';\n$ai-mic-off: '\\e9a0';\n$ai-mic: '\\e9a1';\n$ai-minimize-2: '\\e9a2';\n$ai-minimize: '\\e9a3';\n$ai-minus-circle: '\\e9a4';\n$ai-minus-square: '\\e9a5';\n$ai-minus: '\\e9a6';\n$ai-monitor: '\\e9a7';\n$ai-moon: '\\e9a8';\n$ai-more-horizontal: '\\e9a9';\n$ai-more-vertical: '\\e9aa';\n$ai-mouse-pointer: '\\e9ab';\n$ai-move: '\\e9ac';\n$ai-music: '\\e9ad';\n$ai-navigation-2: '\\e9ae';\n$ai-navigation: '\\e9af';\n$ai-octagon: '\\e9b0';\n$ai-odnoklassniki: '\\e9b1';\n$ai-package: '\\e9b2';\n$ai-paperclip: '\\e9b3';\n$ai-pause-circle: '\\e9b4';\n$ai-pause: '\\e9b5';\n$ai-paypal: '\\e9b6';\n$ai-pen-tool: '\\e9b7';\n$ai-percent: '\\e9b8';\n$ai-phone-call: '\\e9b9';\n$ai-phone-forwarded: '\\e9ba';\n$ai-phone-incoming: '\\e9bb';\n$ai-phone-missed: '\\e9bc';\n$ai-phone-off: '\\e9bd';\n$ai-phone-outgoing: '\\e9be';\n$ai-phone: '\\e9bf';\n$ai-pie-chart: '\\e9c0';\n$ai-pinterest: '\\e9c1';\n$ai-play-circle: '\\e9c2';\n$ai-play: '\\e9c3';\n$ai-plus-circle: '\\e9c4';\n$ai-plus-square: '\\e9c5';\n$ai-plus: '\\e9c6';\n$ai-pocket: '\\e9c7';\n$ai-power: '\\e9c8';\n$ai-printer: '\\e9c9';\n$ai-radio: '\\e9ca';\n$ai-refresh-ccw: '\\e9cb';\n$ai-refresh-cw: '\\e9cc';\n$ai-repeat: '\\e9cd';\n$ai-rewind: '\\e9ce';\n$ai-rotate-ccw: '\\e9cf';\n$ai-rotate-cw: '\\e9d0';\n$ai-rss: '\\e9d1';\n$ai-save: '\\e9d2';\n$ai-scissors: '\\e9d3';\n$ai-search: '\\e9d4';\n$ai-send: '\\e9d5';\n$ai-server: '\\e9d6';\n$ai-settings: '\\e9d7';\n$ai-share-2: '\\e9d8';\n$ai-share: '\\e9d9';\n$ai-shield-off: '\\e9da';\n$ai-shield: '\\e9db';\n$ai-shopping-bag: '\\e9dc';\n$ai-shopping-cart: '\\e9dd';\n$ai-shuffle: '\\e9de';\n$ai-sidebar: '\\e9df';\n$ai-skip-back: '\\e9e0';\n$ai-skip-forward: '\\e9e1';\n$ai-skype: '\\e9e2';\n$ai-slack: '\\e9e3';\n$ai-slash: '\\e9e4';\n$ai-sliders: '\\e9e5';\n$ai-smartphone: '\\e9e6';\n$ai-smile: '\\e9e7';\n$ai-speaker: '\\e9e8';\n$ai-star: '\\e9e9';\n$ai-stop-circle: '\\e9ea';\n$ai-sun: '\\e9eb';\n$ai-sunrise: '\\e9ec';\n$ai-sunset: '\\e9ed';\n$ai-tablet: '\\e9ee';\n$ai-tag: '\\e9ef';\n$ai-target: '\\e9f0';\n$ai-telegram: '\\e9f1';\n$ai-terminal: '\\e9f2';\n$ai-thermometer: '\\e9f3';\n$ai-thumbs-down: '\\e9f4';\n$ai-thumbs-up: '\\e9f5';\n$ai-toggle-left: '\\e9f6';\n$ai-toggle-right: '\\e9f7';\n$ai-tool: '\\e9f8';\n$ai-trash-2: '\\e9f9';\n$ai-trash: '\\e9fa';\n$ai-trello: '\\e9fb';\n$ai-trending-down: '\\e9fc';\n$ai-trending-up: '\\e9fd';\n$ai-truck: '\\e9fe';\n$ai-tumblr: '\\e9ff';\n$ai-tv: '\\ea00';\n$ai-twitch: '\\ea01';\n$ai-twitter: '\\ea02';\n$ai-type: '\\ea03';\n$ai-umbrella: '\\ea04';\n$ai-underline: '\\ea05';\n$ai-unlock: '\\ea06';\n$ai-upload-cloud: '\\ea07';\n$ai-upload: '\\ea08';\n$ai-user-check: '\\ea09';\n$ai-user-minus: '\\ea0a';\n$ai-user-plus: '\\ea0b';\n$ai-user-x: '\\ea0c';\n$ai-user: '\\ea0d';\n$ai-users: '\\ea0e';\n$ai-viber: '\\ea0f';\n$ai-video-off: '\\ea10';\n$ai-video: '\\ea11';\n$ai-vimeo: '\\ea12';\n$ai-vk: '\\ea13';\n$ai-voicemail: '\\ea14';\n$ai-volume-1: '\\ea15';\n$ai-volume-2: '\\ea16';\n$ai-volume-x: '\\ea17';\n$ai-volume: '\\ea18';\n$ai-watch: '\\ea19';\n$ai-wechat: '\\ea1a';\n$ai-wifi-off: '\\ea1b';\n$ai-wifi: '\\ea1c';\n$ai-wind: '\\ea1d';\n$ai-x-circle: '\\ea1e';\n$ai-x-octagon: '\\ea1f';\n$ai-x-square: '\\ea20';\n$ai-x: '\\ea21';\n$ai-youtube: '\\ea22';\n$ai-zap-off: '\\ea23';\n$ai-zap: '\\ea24';\n$ai-zoom-in: '\\ea25';\n$ai-zoom-out: '\\ea26';\n$ai-quotes: '\\ea27';\n$ai-star-filled: '\\ea28';\n\n\n@font-face {\n font-family: '#{$icons-font-family}';\n src:\n url('#{$icons-font-path}/#{$icons-font-family}.ttf?enmnv5') format('truetype'),\n url('#{$icons-font-path}/#{$icons-font-family}.woff?enmnv5') format('woff'),\n url('#{$icons-font-path}/#{$icons-font-family}.svg?enmnv5##{$icons-font-family}') format('svg');\n font-weight: normal;\n font-style: normal;\n font-display: block;\n}\n\n[class^='ai-'], [class*=' ai-'] {\n /* use !important to prevent issues with browser extensions that change fonts */\n display: inline-block;\n font-family: '#{$icons-font-family}' !important;\n speak: never;\n font-style: normal;\n font-weight: normal !important;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n vertical-align: middle;\n\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.ai-activity {\n &:before {\n content: $ai-activity; \n }\n}\n.ai-airplay {\n &:before {\n content: $ai-airplay; \n }\n}\n.ai-alert-circle {\n &:before {\n content: $ai-alert-circle; \n }\n}\n.ai-alert-octagon {\n &:before {\n content: $ai-alert-octagon; \n }\n}\n.ai-alert-triangle {\n &:before {\n content: $ai-alert-triangle; \n }\n}\n.ai-align-center {\n &:before {\n content: $ai-align-center; \n }\n}\n.ai-align-justify {\n &:before {\n content: $ai-align-justify; \n }\n}\n.ai-align-left {\n &:before {\n content: $ai-align-left; \n }\n}\n.ai-align-right {\n &:before {\n content: $ai-align-right; \n }\n}\n.ai-anchor {\n &:before {\n content: $ai-anchor; \n }\n}\n.ai-aperture {\n &:before {\n content: $ai-aperture; \n }\n}\n.ai-archive {\n &:before {\n content: $ai-archive; \n }\n}\n.ai-arrow-down-circle {\n &:before {\n content: $ai-arrow-down-circle; \n }\n}\n.ai-arrow-down-left {\n &:before {\n content: $ai-arrow-down-left; \n }\n}\n.ai-arrow-down-right {\n &:before {\n content: $ai-arrow-down-right; \n }\n}\n.ai-arrow-down {\n &:before {\n content: $ai-arrow-down; \n }\n}\n.ai-arrow-left-circle {\n &:before {\n content: $ai-arrow-left-circle; \n }\n}\n.ai-arrow-left {\n &:before {\n content: $ai-arrow-left; \n }\n}\n.ai-arrow-right-circle {\n &:before {\n content: $ai-arrow-right-circle; \n }\n}\n.ai-arrow-right {\n &:before {\n content: $ai-arrow-right; \n }\n}\n.ai-arrow-up-circle {\n &:before {\n content: $ai-arrow-up-circle; \n }\n}\n.ai-arrow-up-left {\n &:before {\n content: $ai-arrow-up-left; \n }\n}\n.ai-arrow-up-right {\n &:before {\n content: $ai-arrow-up-right; \n }\n}\n.ai-arrow-up {\n &:before {\n content: $ai-arrow-up; \n }\n}\n.ai-at-sign {\n &:before {\n content: $ai-at-sign; \n }\n}\n.ai-award {\n &:before {\n content: $ai-award; \n }\n}\n.ai-bar-chart-2 {\n &:before {\n content: $ai-bar-chart-2; \n }\n}\n.ai-bar-chart {\n &:before {\n content: $ai-bar-chart; \n }\n}\n.ai-battery-charging {\n &:before {\n content: $ai-battery-charging; \n }\n}\n.ai-battery {\n &:before {\n content: $ai-battery; \n }\n}\n.ai-behance {\n &:before {\n content: $ai-behance; \n }\n}\n.ai-bell-off {\n &:before {\n content: $ai-bell-off; \n }\n}\n.ai-bell {\n &:before {\n content: $ai-bell; \n }\n}\n.ai-bluetooth {\n &:before {\n content: $ai-bluetooth; \n }\n}\n.ai-bold {\n &:before {\n content: $ai-bold; \n }\n}\n.ai-book-open {\n &:before {\n content: $ai-book-open; \n }\n}\n.ai-book {\n &:before {\n content: $ai-book; \n }\n}\n.ai-bookmark {\n &:before {\n content: $ai-bookmark; \n }\n}\n.ai-box {\n &:before {\n content: $ai-box; \n }\n}\n.ai-briefcase {\n &:before {\n content: $ai-briefcase; \n }\n}\n.ai-calendar {\n &:before {\n content: $ai-calendar; \n }\n}\n.ai-camera-off {\n &:before {\n content: $ai-camera-off; \n }\n}\n.ai-camera {\n &:before {\n content: $ai-camera; \n }\n}\n.ai-cast {\n &:before {\n content: $ai-cast; \n }\n}\n.ai-check-circle {\n &:before {\n content: $ai-check-circle; \n }\n}\n.ai-check-square {\n &:before {\n content: $ai-check-square; \n }\n}\n.ai-check {\n &:before {\n content: $ai-check; \n }\n}\n.ai-chevron-down {\n &:before {\n content: $ai-chevron-down; \n }\n}\n.ai-chevron-left {\n &:before {\n content: $ai-chevron-left; \n }\n}\n.ai-chevron-right {\n &:before {\n content: $ai-chevron-right; \n }\n}\n.ai-chevron-up {\n &:before {\n content: $ai-chevron-up; \n }\n}\n.ai-chevrons-down {\n &:before {\n content: $ai-chevrons-down; \n }\n}\n.ai-chevrons-left {\n &:before {\n content: $ai-chevrons-left; \n }\n}\n.ai-chevrons-right {\n &:before {\n content: $ai-chevrons-right; \n }\n}\n.ai-chevrons-up {\n &:before {\n content: $ai-chevrons-up; \n }\n}\n.ai-chrome {\n &:before {\n content: $ai-chrome; \n }\n}\n.ai-clipboard {\n &:before {\n content: $ai-clipboard; \n }\n}\n.ai-clock {\n &:before {\n content: $ai-clock; \n }\n}\n.ai-cloud-drizzle {\n &:before {\n content: $ai-cloud-drizzle; \n }\n}\n.ai-cloud-lightning {\n &:before {\n content: $ai-cloud-lightning; \n }\n}\n.ai-cloud-off {\n &:before {\n content: $ai-cloud-off; \n }\n}\n.ai-cloud-rain {\n &:before {\n content: $ai-cloud-rain; \n }\n}\n.ai-cloud-snow {\n &:before {\n content: $ai-cloud-snow; \n }\n}\n.ai-cloud {\n &:before {\n content: $ai-cloud; \n }\n}\n.ai-code {\n &:before {\n content: $ai-code; \n }\n}\n.ai-codepen {\n &:before {\n content: $ai-codepen; \n }\n}\n.ai-codesandbox {\n &:before {\n content: $ai-codesandbox; \n }\n}\n.ai-coffee {\n &:before {\n content: $ai-coffee; \n }\n}\n.ai-columns {\n &:before {\n content: $ai-columns; \n }\n}\n.ai-command {\n &:before {\n content: $ai-command; \n }\n}\n.ai-compass {\n &:before {\n content: $ai-compass; \n }\n}\n.ai-copy {\n &:before {\n content: $ai-copy; \n }\n}\n.ai-corner-down-left {\n &:before {\n content: $ai-corner-down-left; \n }\n}\n.ai-corner-down-right {\n &:before {\n content: $ai-corner-down-right; \n }\n}\n.ai-corner-left-down {\n &:before {\n content: $ai-corner-left-down; \n }\n}\n.ai-corner-left-up {\n &:before {\n content: $ai-corner-left-up; \n }\n}\n.ai-corner-right-down {\n &:before {\n content: $ai-corner-right-down; \n }\n}\n.ai-corner-right-up {\n &:before {\n content: $ai-corner-right-up; \n }\n}\n.ai-corner-up-left {\n &:before {\n content: $ai-corner-up-left; \n }\n}\n.ai-corner-up-right {\n &:before {\n content: $ai-corner-up-right; \n }\n}\n.ai-cpu {\n &:before {\n content: $ai-cpu; \n }\n}\n.ai-credit-card {\n &:before {\n content: $ai-credit-card; \n }\n}\n.ai-crop {\n &:before {\n content: $ai-crop; \n }\n}\n.ai-crosshair {\n &:before {\n content: $ai-crosshair; \n }\n}\n.ai-database {\n &:before {\n content: $ai-database; \n }\n}\n.ai-delete {\n &:before {\n content: $ai-delete; \n }\n}\n.ai-disc {\n &:before {\n content: $ai-disc; \n }\n}\n.ai-dollar-sign {\n &:before {\n content: $ai-dollar-sign; \n }\n}\n.ai-download-cloud {\n &:before {\n content: $ai-download-cloud; \n }\n}\n.ai-download {\n &:before {\n content: $ai-download; \n }\n}\n.ai-dribbble {\n &:before {\n content: $ai-dribbble; \n }\n}\n.ai-droplet {\n &:before {\n content: $ai-droplet; \n }\n}\n.ai-edit-2 {\n &:before {\n content: $ai-edit-2; \n }\n}\n.ai-edit-3 {\n &:before {\n content: $ai-edit-3; \n }\n}\n.ai-edit {\n &:before {\n content: $ai-edit; \n }\n}\n.ai-external-link {\n &:before {\n content: $ai-external-link; \n }\n}\n.ai-eye-off {\n &:before {\n content: $ai-eye-off; \n }\n}\n.ai-eye {\n &:before {\n content: $ai-eye; \n }\n}\n.ai-facebook {\n &:before {\n content: $ai-facebook; \n }\n}\n.ai-fast-forward {\n &:before {\n content: $ai-fast-forward; \n }\n}\n.ai-feather {\n &:before {\n content: $ai-feather; \n }\n}\n.ai-figma {\n &:before {\n content: $ai-figma; \n }\n}\n.ai-file-minus {\n &:before {\n content: $ai-file-minus; \n }\n}\n.ai-file-plus {\n &:before {\n content: $ai-file-plus; \n }\n}\n.ai-file-text {\n &:before {\n content: $ai-file-text; \n }\n}\n.ai-file {\n &:before {\n content: $ai-file; \n }\n}\n.ai-film {\n &:before {\n content: $ai-film; \n }\n}\n.ai-filter-alt {\n &:before {\n content: $ai-filter-alt; \n }\n}\n.ai-filter {\n &:before {\n content: $ai-filter; \n }\n}\n.ai-flag {\n &:before {\n content: $ai-flag; \n }\n}\n.ai-folder-minus {\n &:before {\n content: $ai-folder-minus; \n }\n}\n.ai-folder-plus {\n &:before {\n content: $ai-folder-plus; \n }\n}\n.ai-folder {\n &:before {\n content: $ai-folder; \n }\n}\n.ai-framer {\n &:before {\n content: $ai-framer; \n }\n}\n.ai-frown {\n &:before {\n content: $ai-frown; \n }\n}\n.ai-gift {\n &:before {\n content: $ai-gift; \n }\n}\n.ai-git-branch {\n &:before {\n content: $ai-git-branch; \n }\n}\n.ai-git-commit {\n &:before {\n content: $ai-git-commit; \n }\n}\n.ai-git-merge {\n &:before {\n content: $ai-git-merge; \n }\n}\n.ai-git-pull-request {\n &:before {\n content: $ai-git-pull-request; \n }\n}\n.ai-github {\n &:before {\n content: $ai-github; \n }\n}\n.ai-gitlab {\n &:before {\n content: $ai-gitlab; \n }\n}\n.ai-globe {\n &:before {\n content: $ai-globe; \n }\n}\n.ai-google {\n &:before {\n content: $ai-google; \n }\n}\n.ai-grid {\n &:before {\n content: $ai-grid; \n }\n}\n.ai-hangouts {\n &:before {\n content: $ai-hangouts; \n }\n}\n.ai-hard-drive {\n &:before {\n content: $ai-hard-drive; \n }\n}\n.ai-hash {\n &:before {\n content: $ai-hash; \n }\n}\n.ai-headphones {\n &:before {\n content: $ai-headphones; \n }\n}\n.ai-heart {\n &:before {\n content: $ai-heart; \n }\n}\n.ai-help-circle {\n &:before {\n content: $ai-help-circle; \n }\n}\n.ai-hexagon {\n &:before {\n content: $ai-hexagon; \n }\n}\n.ai-home {\n &:before {\n content: $ai-home; \n }\n}\n.ai-image {\n &:before {\n content: $ai-image; \n }\n}\n.ai-inbox {\n &:before {\n content: $ai-inbox; \n }\n}\n.ai-info {\n &:before {\n content: $ai-info; \n }\n}\n.ai-instagram {\n &:before {\n content: $ai-instagram; \n }\n}\n.ai-italic {\n &:before {\n content: $ai-italic; \n }\n}\n.ai-key {\n &:before {\n content: $ai-key; \n }\n}\n.ai-layers {\n &:before {\n content: $ai-layers; \n }\n}\n.ai-layout {\n &:before {\n content: $ai-layout; \n }\n}\n.ai-life-buoy {\n &:before {\n content: $ai-life-buoy; \n }\n}\n.ai-link-2 {\n &:before {\n content: $ai-link-2; \n }\n}\n.ai-link {\n &:before {\n content: $ai-link; \n }\n}\n.ai-linkedin {\n &:before {\n content: $ai-linkedin; \n }\n}\n.ai-list {\n &:before {\n content: $ai-list; \n }\n}\n.ai-loader {\n &:before {\n content: $ai-loader; \n }\n}\n.ai-lock {\n &:before {\n content: $ai-lock; \n }\n}\n.ai-log-in {\n &:before {\n content: $ai-log-in; \n }\n}\n.ai-log-out {\n &:before {\n content: $ai-log-out; \n }\n}\n.ai-mail {\n &:before {\n content: $ai-mail; \n }\n}\n.ai-map-pin {\n &:before {\n content: $ai-map-pin; \n }\n}\n.ai-map {\n &:before {\n content: $ai-map; \n }\n}\n.ai-maximize-2 {\n &:before {\n content: $ai-maximize-2; \n }\n}\n.ai-maximize {\n &:before {\n content: $ai-maximize; \n }\n}\n.ai-meh {\n &:before {\n content: $ai-meh; \n }\n}\n.ai-menu {\n &:before {\n content: $ai-menu; \n }\n}\n.ai-message-circle {\n &:before {\n content: $ai-message-circle; \n }\n}\n.ai-message-square {\n &:before {\n content: $ai-message-square; \n }\n}\n.ai-messenger {\n &:before {\n content: $ai-messenger; \n }\n}\n.ai-mic-off {\n &:before {\n content: $ai-mic-off; \n }\n}\n.ai-mic {\n &:before {\n content: $ai-mic; \n }\n}\n.ai-minimize-2 {\n &:before {\n content: $ai-minimize-2; \n }\n}\n.ai-minimize {\n &:before {\n content: $ai-minimize; \n }\n}\n.ai-minus-circle {\n &:before {\n content: $ai-minus-circle; \n }\n}\n.ai-minus-square {\n &:before {\n content: $ai-minus-square; \n }\n}\n.ai-minus {\n &:before {\n content: $ai-minus; \n }\n}\n.ai-monitor {\n &:before {\n content: $ai-monitor; \n }\n}\n.ai-moon {\n &:before {\n content: $ai-moon; \n }\n}\n.ai-more-horizontal {\n &:before {\n content: $ai-more-horizontal; \n }\n}\n.ai-more-vertical {\n &:before {\n content: $ai-more-vertical; \n }\n}\n.ai-mouse-pointer {\n &:before {\n content: $ai-mouse-pointer; \n }\n}\n.ai-move {\n &:before {\n content: $ai-move; \n }\n}\n.ai-music {\n &:before {\n content: $ai-music; \n }\n}\n.ai-navigation-2 {\n &:before {\n content: $ai-navigation-2; \n }\n}\n.ai-navigation {\n &:before {\n content: $ai-navigation; \n }\n}\n.ai-octagon {\n &:before {\n content: $ai-octagon; \n }\n}\n.ai-odnoklassniki {\n &:before {\n content: $ai-odnoklassniki; \n }\n}\n.ai-package {\n &:before {\n content: $ai-package; \n }\n}\n.ai-paperclip {\n &:before {\n content: $ai-paperclip; \n }\n}\n.ai-pause-circle {\n &:before {\n content: $ai-pause-circle; \n }\n}\n.ai-pause {\n &:before {\n content: $ai-pause; \n }\n}\n.ai-paypal {\n &:before {\n content: $ai-paypal; \n }\n}\n.ai-pen-tool {\n &:before {\n content: $ai-pen-tool; \n }\n}\n.ai-percent {\n &:before {\n content: $ai-percent; \n }\n}\n.ai-phone-call {\n &:before {\n content: $ai-phone-call; \n }\n}\n.ai-phone-forwarded {\n &:before {\n content: $ai-phone-forwarded; \n }\n}\n.ai-phone-incoming {\n &:before {\n content: $ai-phone-incoming; \n }\n}\n.ai-phone-missed {\n &:before {\n content: $ai-phone-missed; \n }\n}\n.ai-phone-off {\n &:before {\n content: $ai-phone-off; \n }\n}\n.ai-phone-outgoing {\n &:before {\n content: $ai-phone-outgoing; \n }\n}\n.ai-phone {\n &:before {\n content: $ai-phone; \n }\n}\n.ai-pie-chart {\n &:before {\n content: $ai-pie-chart; \n }\n}\n.ai-pinterest {\n &:before {\n content: $ai-pinterest; \n }\n}\n.ai-play-circle {\n &:before {\n content: $ai-play-circle; \n }\n}\n.ai-play {\n &:before {\n content: $ai-play; \n }\n}\n.ai-plus-circle {\n &:before {\n content: $ai-plus-circle; \n }\n}\n.ai-plus-square {\n &:before {\n content: $ai-plus-square; \n }\n}\n.ai-plus {\n &:before {\n content: $ai-plus; \n }\n}\n.ai-pocket {\n &:before {\n content: $ai-pocket; \n }\n}\n.ai-power {\n &:before {\n content: $ai-power; \n }\n}\n.ai-printer {\n &:before {\n content: $ai-printer; \n }\n}\n.ai-radio {\n &:before {\n content: $ai-radio; \n }\n}\n.ai-refresh-ccw {\n &:before {\n content: $ai-refresh-ccw; \n }\n}\n.ai-refresh-cw {\n &:before {\n content: $ai-refresh-cw; \n }\n}\n.ai-repeat {\n &:before {\n content: $ai-repeat; \n }\n}\n.ai-rewind {\n &:before {\n content: $ai-rewind; \n }\n}\n.ai-rotate-ccw {\n &:before {\n content: $ai-rotate-ccw; \n }\n}\n.ai-rotate-cw {\n &:before {\n content: $ai-rotate-cw; \n }\n}\n.ai-rss {\n &:before {\n content: $ai-rss; \n }\n}\n.ai-save {\n &:before {\n content: $ai-save; \n }\n}\n.ai-scissors {\n &:before {\n content: $ai-scissors; \n }\n}\n.ai-search {\n &:before {\n content: $ai-search; \n }\n}\n.ai-send {\n &:before {\n content: $ai-send; \n }\n}\n.ai-server {\n &:before {\n content: $ai-server; \n }\n}\n.ai-settings {\n &:before {\n content: $ai-settings; \n }\n}\n.ai-share-2 {\n &:before {\n content: $ai-share-2; \n }\n}\n.ai-share {\n &:before {\n content: $ai-share; \n }\n}\n.ai-shield-off {\n &:before {\n content: $ai-shield-off; \n }\n}\n.ai-shield {\n &:before {\n content: $ai-shield; \n }\n}\n.ai-shopping-bag {\n &:before {\n content: $ai-shopping-bag; \n }\n}\n.ai-shopping-cart {\n &:before {\n content: $ai-shopping-cart; \n }\n}\n.ai-shuffle {\n &:before {\n content: $ai-shuffle; \n }\n}\n.ai-sidebar {\n &:before {\n content: $ai-sidebar; \n }\n}\n.ai-skip-back {\n &:before {\n content: $ai-skip-back; \n }\n}\n.ai-skip-forward {\n &:before {\n content: $ai-skip-forward; \n }\n}\n.ai-skype {\n &:before {\n content: $ai-skype; \n }\n}\n.ai-slack {\n &:before {\n content: $ai-slack; \n }\n}\n.ai-slash {\n &:before {\n content: $ai-slash; \n }\n}\n.ai-sliders {\n &:before {\n content: $ai-sliders; \n }\n}\n.ai-smartphone {\n &:before {\n content: $ai-smartphone; \n }\n}\n.ai-smile {\n &:before {\n content: $ai-smile; \n }\n}\n.ai-speaker {\n &:before {\n content: $ai-speaker; \n }\n}\n.ai-star {\n &:before {\n content: $ai-star; \n }\n}\n.ai-stop-circle {\n &:before {\n content: $ai-stop-circle; \n }\n}\n.ai-sun {\n &:before {\n content: $ai-sun; \n }\n}\n.ai-sunrise {\n &:before {\n content: $ai-sunrise; \n }\n}\n.ai-sunset {\n &:before {\n content: $ai-sunset; \n }\n}\n.ai-tablet {\n &:before {\n content: $ai-tablet; \n }\n}\n.ai-tag {\n &:before {\n content: $ai-tag; \n }\n}\n.ai-target {\n &:before {\n content: $ai-target; \n }\n}\n.ai-telegram {\n &:before {\n content: $ai-telegram; \n }\n}\n.ai-terminal {\n &:before {\n content: $ai-terminal; \n }\n}\n.ai-thermometer {\n &:before {\n content: $ai-thermometer; \n }\n}\n.ai-thumbs-down {\n &:before {\n content: $ai-thumbs-down; \n }\n}\n.ai-thumbs-up {\n &:before {\n content: $ai-thumbs-up; \n }\n}\n.ai-toggle-left {\n &:before {\n content: $ai-toggle-left; \n }\n}\n.ai-toggle-right {\n &:before {\n content: $ai-toggle-right; \n }\n}\n.ai-tool {\n &:before {\n content: $ai-tool; \n }\n}\n.ai-trash-2 {\n &:before {\n content: $ai-trash-2; \n }\n}\n.ai-trash {\n &:before {\n content: $ai-trash; \n }\n}\n.ai-trello {\n &:before {\n content: $ai-trello; \n }\n}\n.ai-trending-down {\n &:before {\n content: $ai-trending-down; \n }\n}\n.ai-trending-up {\n &:before {\n content: $ai-trending-up; \n }\n}\n.ai-truck {\n &:before {\n content: $ai-truck; \n }\n}\n.ai-tumblr {\n &:before {\n content: $ai-tumblr; \n }\n}\n.ai-tv {\n &:before {\n content: $ai-tv; \n }\n}\n.ai-twitch {\n &:before {\n content: $ai-twitch; \n }\n}\n.ai-twitter {\n &:before {\n content: $ai-twitter; \n }\n}\n.ai-type {\n &:before {\n content: $ai-type; \n }\n}\n.ai-umbrella {\n &:before {\n content: $ai-umbrella; \n }\n}\n.ai-underline {\n &:before {\n content: $ai-underline; \n }\n}\n.ai-unlock {\n &:before {\n content: $ai-unlock; \n }\n}\n.ai-upload-cloud {\n &:before {\n content: $ai-upload-cloud; \n }\n}\n.ai-upload {\n &:before {\n content: $ai-upload; \n }\n}\n.ai-user-check {\n &:before {\n content: $ai-user-check; \n }\n}\n.ai-user-minus {\n &:before {\n content: $ai-user-minus; \n }\n}\n.ai-user-plus {\n &:before {\n content: $ai-user-plus; \n }\n}\n.ai-user-x {\n &:before {\n content: $ai-user-x; \n }\n}\n.ai-user {\n &:before {\n content: $ai-user; \n }\n}\n.ai-users {\n &:before {\n content: $ai-users; \n }\n}\n.ai-viber {\n &:before {\n content: $ai-viber; \n }\n}\n.ai-video-off {\n &:before {\n content: $ai-video-off; \n }\n}\n.ai-video {\n &:before {\n content: $ai-video; \n }\n}\n.ai-vimeo {\n &:before {\n content: $ai-vimeo; \n }\n}\n.ai-vk {\n &:before {\n content: $ai-vk; \n }\n}\n.ai-voicemail {\n &:before {\n content: $ai-voicemail; \n }\n}\n.ai-volume-1 {\n &:before {\n content: $ai-volume-1; \n }\n}\n.ai-volume-2 {\n &:before {\n content: $ai-volume-2; \n }\n}\n.ai-volume-x {\n &:before {\n content: $ai-volume-x; \n }\n}\n.ai-volume {\n &:before {\n content: $ai-volume; \n }\n}\n.ai-watch {\n &:before {\n content: $ai-watch; \n }\n}\n.ai-wechat {\n &:before {\n content: $ai-wechat; \n }\n}\n.ai-wifi-off {\n &:before {\n content: $ai-wifi-off; \n }\n}\n.ai-wifi {\n &:before {\n content: $ai-wifi; \n }\n}\n.ai-wind {\n &:before {\n content: $ai-wind; \n }\n}\n.ai-x-circle {\n &:before {\n content: $ai-x-circle; \n }\n}\n.ai-x-octagon {\n &:before {\n content: $ai-x-octagon; \n }\n}\n.ai-x-square {\n &:before {\n content: $ai-x-square; \n }\n}\n.ai-x {\n &:before {\n content: $ai-x; \n }\n}\n.ai-youtube {\n &:before {\n content: $ai-youtube; \n }\n}\n.ai-zap-off {\n &:before {\n content: $ai-zap-off; \n }\n}\n.ai-zap {\n &:before {\n content: $ai-zap; \n }\n}\n.ai-zoom-in {\n &:before {\n content: $ai-zoom-in; \n }\n}\n.ai-zoom-out {\n &:before {\n content: $ai-zoom-out; \n }\n}\n.ai-quotes {\n &:before {\n content: $ai-quotes; \n }\n}\n.ai-star-filled {\n &:before {\n content: $ai-star-filled; \n }\n}\n","@import url(\"https://fonts.googleapis.com/css?family=Inter:300,400,500,600,700&display=swap\");@font-face{font-family:\"around-icons\";src:url(\"../fonts/around-icons.ttf?enmnv5\") format(\"truetype\"),url(\"../fonts/around-icons.woff?enmnv5\") format(\"woff\"),url(\"../fonts/around-icons.svg?enmnv5#around-icons\") format(\"svg\");font-weight:normal;font-style:normal;font-display:block}[class^='ai-'],[class*=' ai-']{display:inline-block;font-family:\"around-icons\" !important;speak:never;font-style:normal;font-weight:normal !important;font-variant:normal;text-transform:none;line-height:1;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ai-activity:before{content:\"\"}.ai-airplay:before{content:\"\"}.ai-alert-circle:before{content:\"\"}.ai-alert-octagon:before{content:\"\"}.ai-alert-triangle:before{content:\"\"}.ai-align-center:before{content:\"\"}.ai-align-justify:before{content:\"\"}.ai-align-left:before{content:\"\"}.ai-align-right:before{content:\"\"}.ai-anchor:before{content:\"\"}.ai-aperture:before{content:\"\"}.ai-archive:before{content:\"\"}.ai-arrow-down-circle:before{content:\"\"}.ai-arrow-down-left:before{content:\"\"}.ai-arrow-down-right:before{content:\"\"}.ai-arrow-down:before{content:\"\"}.ai-arrow-left-circle:before{content:\"\"}.ai-arrow-left:before{content:\"\"}.ai-arrow-right-circle:before{content:\"\"}.ai-arrow-right:before{content:\"\"}.ai-arrow-up-circle:before{content:\"\"}.ai-arrow-up-left:before{content:\"\"}.ai-arrow-up-right:before{content:\"\"}.ai-arrow-up:before{content:\"\"}.ai-at-sign:before{content:\"\"}.ai-award:before{content:\"\"}.ai-bar-chart-2:before{content:\"\"}.ai-bar-chart:before{content:\"\"}.ai-battery-charging:before{content:\"\"}.ai-battery:before{content:\"\"}.ai-behance:before{content:\"\"}.ai-bell-off:before{content:\"\"}.ai-bell:before{content:\"\"}.ai-bluetooth:before{content:\"\"}.ai-bold:before{content:\"\"}.ai-book-open:before{content:\"\"}.ai-book:before{content:\"\"}.ai-bookmark:before{content:\"\"}.ai-box:before{content:\"\"}.ai-briefcase:before{content:\"\"}.ai-calendar:before{content:\"\"}.ai-camera-off:before{content:\"\"}.ai-camera:before{content:\"\"}.ai-cast:before{content:\"\"}.ai-check-circle:before{content:\"\"}.ai-check-square:before{content:\"\"}.ai-check:before{content:\"\"}.ai-chevron-down:before{content:\"\"}.ai-chevron-left:before{content:\"\"}.ai-chevron-right:before{content:\"\"}.ai-chevron-up:before{content:\"\"}.ai-chevrons-down:before{content:\"\"}.ai-chevrons-left:before{content:\"\"}.ai-chevrons-right:before{content:\"\"}.ai-chevrons-up:before{content:\"\"}.ai-chrome:before{content:\"\"}.ai-clipboard:before{content:\"\"}.ai-clock:before{content:\"\"}.ai-cloud-drizzle:before{content:\"\"}.ai-cloud-lightning:before{content:\"\"}.ai-cloud-off:before{content:\"\"}.ai-cloud-rain:before{content:\"\"}.ai-cloud-snow:before{content:\"\"}.ai-cloud:before{content:\"\"}.ai-code:before{content:\"\"}.ai-codepen:before{content:\"\"}.ai-codesandbox:before{content:\"\"}.ai-coffee:before{content:\"\"}.ai-columns:before{content:\"\"}.ai-command:before{content:\"\"}.ai-compass:before{content:\"\"}.ai-copy:before{content:\"\"}.ai-corner-down-left:before{content:\"\"}.ai-corner-down-right:before{content:\"\"}.ai-corner-left-down:before{content:\"\"}.ai-corner-left-up:before{content:\"\"}.ai-corner-right-down:before{content:\"\"}.ai-corner-right-up:before{content:\"\"}.ai-corner-up-left:before{content:\"\"}.ai-corner-up-right:before{content:\"\"}.ai-cpu:before{content:\"\"}.ai-credit-card:before{content:\"\"}.ai-crop:before{content:\"\"}.ai-crosshair:before{content:\"\"}.ai-database:before{content:\"\"}.ai-delete:before{content:\"\"}.ai-disc:before{content:\"\"}.ai-dollar-sign:before{content:\"\"}.ai-download-cloud:before{content:\"\"}.ai-download:before{content:\"\"}.ai-dribbble:before{content:\"\"}.ai-droplet:before{content:\"\"}.ai-edit-2:before{content:\"\"}.ai-edit-3:before{content:\"\"}.ai-edit:before{content:\"\"}.ai-external-link:before{content:\"\"}.ai-eye-off:before{content:\"\"}.ai-eye:before{content:\"\"}.ai-facebook:before{content:\"\"}.ai-fast-forward:before{content:\"\"}.ai-feather:before{content:\"\"}.ai-figma:before{content:\"\"}.ai-file-minus:before{content:\"\"}.ai-file-plus:before{content:\"\"}.ai-file-text:before{content:\"\"}.ai-file:before{content:\"\"}.ai-film:before{content:\"\"}.ai-filter-alt:before{content:\"\"}.ai-filter:before{content:\"\"}.ai-flag:before{content:\"\"}.ai-folder-minus:before{content:\"\"}.ai-folder-plus:before{content:\"\"}.ai-folder:before{content:\"\"}.ai-framer:before{content:\"\"}.ai-frown:before{content:\"\"}.ai-gift:before{content:\"\"}.ai-git-branch:before{content:\"\"}.ai-git-commit:before{content:\"\"}.ai-git-merge:before{content:\"\"}.ai-git-pull-request:before{content:\"\"}.ai-github:before{content:\"\"}.ai-gitlab:before{content:\"\"}.ai-globe:before{content:\"\"}.ai-google:before{content:\"\"}.ai-grid:before{content:\"\"}.ai-hangouts:before{content:\"\"}.ai-hard-drive:before{content:\"\"}.ai-hash:before{content:\"\"}.ai-headphones:before{content:\"\"}.ai-heart:before{content:\"\"}.ai-help-circle:before{content:\"\"}.ai-hexagon:before{content:\"\"}.ai-home:before{content:\"\"}.ai-image:before{content:\"\"}.ai-inbox:before{content:\"\"}.ai-info:before{content:\"\"}.ai-instagram:before{content:\"\"}.ai-italic:before{content:\"\"}.ai-key:before{content:\"\"}.ai-layers:before{content:\"\"}.ai-layout:before{content:\"\"}.ai-life-buoy:before{content:\"\"}.ai-link-2:before{content:\"\"}.ai-link:before{content:\"\"}.ai-linkedin:before{content:\"\"}.ai-list:before{content:\"\"}.ai-loader:before{content:\"\"}.ai-lock:before{content:\"\"}.ai-log-in:before{content:\"\"}.ai-log-out:before{content:\"\"}.ai-mail:before{content:\"\"}.ai-map-pin:before{content:\"\"}.ai-map:before{content:\"\"}.ai-maximize-2:before{content:\"\"}.ai-maximize:before{content:\"\"}.ai-meh:before{content:\"\"}.ai-menu:before{content:\"\"}.ai-message-circle:before{content:\"\"}.ai-message-square:before{content:\"\"}.ai-messenger:before{content:\"\"}.ai-mic-off:before{content:\"\"}.ai-mic:before{content:\"\"}.ai-minimize-2:before{content:\"\"}.ai-minimize:before{content:\"\"}.ai-minus-circle:before{content:\"\"}.ai-minus-square:before{content:\"\"}.ai-minus:before{content:\"\"}.ai-monitor:before{content:\"\"}.ai-moon:before{content:\"\"}.ai-more-horizontal:before{content:\"\"}.ai-more-vertical:before{content:\"\"}.ai-mouse-pointer:before{content:\"\"}.ai-move:before{content:\"\"}.ai-music:before{content:\"\"}.ai-navigation-2:before{content:\"\"}.ai-navigation:before{content:\"\"}.ai-octagon:before{content:\"\"}.ai-odnoklassniki:before{content:\"\"}.ai-package:before{content:\"\"}.ai-paperclip:before{content:\"\"}.ai-pause-circle:before{content:\"\"}.ai-pause:before{content:\"\"}.ai-paypal:before{content:\"\"}.ai-pen-tool:before{content:\"\"}.ai-percent:before{content:\"\"}.ai-phone-call:before{content:\"\"}.ai-phone-forwarded:before{content:\"\"}.ai-phone-incoming:before{content:\"\"}.ai-phone-missed:before{content:\"\"}.ai-phone-off:before{content:\"\"}.ai-phone-outgoing:before{content:\"\"}.ai-phone:before{content:\"\"}.ai-pie-chart:before{content:\"\"}.ai-pinterest:before{content:\"\"}.ai-play-circle:before{content:\"\"}.ai-play:before{content:\"\"}.ai-plus-circle:before{content:\"\"}.ai-plus-square:before{content:\"\"}.ai-plus:before{content:\"\"}.ai-pocket:before{content:\"\"}.ai-power:before{content:\"\"}.ai-printer:before{content:\"\"}.ai-radio:before{content:\"\"}.ai-refresh-ccw:before{content:\"\"}.ai-refresh-cw:before{content:\"\"}.ai-repeat:before{content:\"\"}.ai-rewind:before{content:\"\"}.ai-rotate-ccw:before{content:\"\"}.ai-rotate-cw:before{content:\"\"}.ai-rss:before{content:\"\"}.ai-save:before{content:\"\"}.ai-scissors:before{content:\"\"}.ai-search:before{content:\"\"}.ai-send:before{content:\"\"}.ai-server:before{content:\"\"}.ai-settings:before{content:\"\"}.ai-share-2:before{content:\"\"}.ai-share:before{content:\"\"}.ai-shield-off:before{content:\"\"}.ai-shield:before{content:\"\"}.ai-shopping-bag:before{content:\"\"}.ai-shopping-cart:before{content:\"\"}.ai-shuffle:before{content:\"\"}.ai-sidebar:before{content:\"\"}.ai-skip-back:before{content:\"\"}.ai-skip-forward:before{content:\"\"}.ai-skype:before{content:\"\"}.ai-slack:before{content:\"\"}.ai-slash:before{content:\"\"}.ai-sliders:before{content:\"\"}.ai-smartphone:before{content:\"\"}.ai-smile:before{content:\"\"}.ai-speaker:before{content:\"\"}.ai-star:before{content:\"\"}.ai-stop-circle:before{content:\"\"}.ai-sun:before{content:\"\"}.ai-sunrise:before{content:\"\"}.ai-sunset:before{content:\"\"}.ai-tablet:before{content:\"\"}.ai-tag:before{content:\"\"}.ai-target:before{content:\"\"}.ai-telegram:before{content:\"\"}.ai-terminal:before{content:\"\"}.ai-thermometer:before{content:\"\"}.ai-thumbs-down:before{content:\"\"}.ai-thumbs-up:before{content:\"\"}.ai-toggle-left:before{content:\"\"}.ai-toggle-right:before{content:\"\"}.ai-tool:before{content:\"\"}.ai-trash-2:before{content:\"\"}.ai-trash:before{content:\"\"}.ai-trello:before{content:\"\"}.ai-trending-down:before{content:\"\"}.ai-trending-up:before{content:\"\"}.ai-truck:before{content:\"\"}.ai-tumblr:before{content:\"\"}.ai-tv:before{content:\"\"}.ai-twitch:before{content:\"\"}.ai-twitter:before{content:\"\"}.ai-type:before{content:\"\"}.ai-umbrella:before{content:\"\"}.ai-underline:before{content:\"\"}.ai-unlock:before{content:\"\"}.ai-upload-cloud:before{content:\"\"}.ai-upload:before{content:\"\"}.ai-user-check:before{content:\"\"}.ai-user-minus:before{content:\"\"}.ai-user-plus:before{content:\"\"}.ai-user-x:before{content:\"\"}.ai-user:before{content:\"\"}.ai-users:before{content:\"\"}.ai-viber:before{content:\"\"}.ai-video-off:before{content:\"\"}.ai-video:before{content:\"\"}.ai-vimeo:before{content:\"\"}.ai-vk:before{content:\"\"}.ai-voicemail:before{content:\"\"}.ai-volume-1:before{content:\"\"}.ai-volume-2:before{content:\"\"}.ai-volume-x:before{content:\"\"}.ai-volume:before{content:\"\"}.ai-watch:before{content:\"\"}.ai-wechat:before{content:\"\"}.ai-wifi-off:before{content:\"\"}.ai-wifi:before{content:\"\"}.ai-wind:before{content:\"\"}.ai-x-circle:before{content:\"\"}.ai-x-octagon:before{content:\"\"}.ai-x-square:before{content:\"\"}.ai-x:before{content:\"\"}.ai-youtube:before{content:\"\"}.ai-zap-off:before{content:\"\"}.ai-zap:before{content:\"\"}.ai-zoom-in:before{content:\"\"}.ai-zoom-out:before{content:\"\"}.ai-quotes:before{content:\"\"}.ai-star-filled:before{content:\"\"}/*!\n * Bootstrap v5.0.0-beta3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */:root{--bs-blue: #0d6efd;--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: #737491;--bs-gray-dark: #4a4b65;--bs-primary: #766df4;--bs-secondary: #f7f7fc;--bs-success: #16c995;--bs-info: #6a9bf4;--bs-warning: #ffb15c;--bs-danger: #f74f78;--bs-light: #fff;--bs-dark: #37384e;--bs-font-sans-serif: \"Inter\", sans-serif;--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--bs-gradient: linear-gradient(to right, #766df4 0%, #766df4 30%, #6a9bf4 100%)}*,*::before,*::after{box-sizing:border-box}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#737491;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{margin-top:0;margin-bottom:.75rem;font-weight:600;line-height:1.2;color:#4a4b65}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.2875rem + .45vw)}@media (min-width: 1200px){h3,.h3{font-size:1.625rem}}h4,.h4{font-size:calc(1.2625rem + .15vw)}@media (min-width: 1200px){h4,.h4{font-size:1.375rem}}h5,.h5{font-size:1.125rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1.25rem}abbr[title],abbr[data-bs-original-title]{text-decoration:underline dotted;cursor:help;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:700}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:#766df4;text-decoration:none}a:hover{color:#493ef0;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;color:#4f5067}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:#4a4b65;border-radius:.5rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#9e9fb4;text-align:left}th{font-weight:600;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:not(:focus-visible){outline:0}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}select:disabled{opacity:1}[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:calc(1.275rem + .3vw);font-weight:400}@media (min-width: 1200px){.lead{font-size:1.5rem}}.display-1{font-size:calc(1.575rem + 3.9vw);font-weight:600;line-height:1}@media (min-width: 1200px){.display-1{font-size:4.5rem}}.display-2{font-size:calc(1.525rem + 3.3vw);font-weight:600;line-height:1}@media (min-width: 1200px){.display-2{font-size:4rem}}.display-3{font-size:calc(1.475rem + 2.7vw);font-weight:600;line-height:1}@media (min-width: 1200px){.display-3{font-size:3.5rem}}.display-4{font-size:calc(1.425rem + 2.1vw);font-weight:600;line-height:1}@media (min-width: 1200px){.display-4{font-size:3rem}}.display-5{font-size:calc(1.375rem + 1.5vw);font-weight:600;line-height:1}@media (min-width: 1200px){.display-5{font-size:2.5rem}}.display-6{font-size:calc(1.325rem + .9vw);font-weight:600;line-height:1}@media (min-width: 1200px){.display-6{font-size:2rem}}.list-unstyled{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:1rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:1rem;color:#4a4b65}.blockquote-footer::before{content:\"\\2014\\00A0\"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #e3e3ee;border-radius:1rem;box-shadow:none;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.8125rem;color:#737491}.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl{width:100%;padding-right:var(--bs-gutter-x, .9375rem);padding-left:var(--bs-gutter-x, .9375rem);margin-right:auto;margin-left:auto}@media (min-width: 500px){.container,.container-sm{max-width:100%}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:100%}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:100%}}@media (min-width: 1280px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1260px}}.row{--bs-gutter-x: 1.875rem;--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.3333333333%}.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.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.3333333333%}.col-2{flex:0 0 auto;width:16.6666666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.3333333333%}.col-5{flex:0 0 auto;width:41.6666666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.3333333333%}.col-8{flex:0 0 auto;width:66.6666666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.3333333333%}.col-11{flex:0 0 auto;width:91.6666666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}.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: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}.g-6,.gx-6{--bs-gutter-x: 5rem}.g-6,.gy-6{--bs-gutter-y: 5rem}.g-7,.gx-7{--bs-gutter-x: 6rem}.g-7,.gy-7{--bs-gutter-y: 6rem}.g-grid-gutter,.gx-grid-gutter{--bs-gutter-x: 1.875rem}.g-grid-gutter,.gy-grid-gutter{--bs-gutter-y: 1.875rem}@media (min-width: 500px){.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.3333333333%}.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.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.3333333333%}.col-sm-2{flex:0 0 auto;width:16.6666666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.3333333333%}.col-sm-5{flex:0 0 auto;width:41.6666666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.3333333333%}.col-sm-8{flex:0 0 auto;width:66.6666666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.3333333333%}.col-sm-11{flex:0 0 auto;width:91.6666666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}.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: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}.g-sm-6,.gx-sm-6{--bs-gutter-x: 5rem}.g-sm-6,.gy-sm-6{--bs-gutter-y: 5rem}.g-sm-7,.gx-sm-7{--bs-gutter-x: 6rem}.g-sm-7,.gy-sm-7{--bs-gutter-y: 6rem}.g-sm-grid-gutter,.gx-sm-grid-gutter{--bs-gutter-x: 1.875rem}.g-sm-grid-gutter,.gy-sm-grid-gutter{--bs-gutter-y: 1.875rem}}@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.3333333333%}.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.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.3333333333%}.col-md-2{flex:0 0 auto;width:16.6666666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333333333%}.col-md-5{flex:0 0 auto;width:41.6666666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.3333333333%}.col-md-8{flex:0 0 auto;width:66.6666666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333333333%}.col-md-11{flex:0 0 auto;width:91.6666666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}.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: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}.g-md-6,.gx-md-6{--bs-gutter-x: 5rem}.g-md-6,.gy-md-6{--bs-gutter-y: 5rem}.g-md-7,.gx-md-7{--bs-gutter-x: 6rem}.g-md-7,.gy-md-7{--bs-gutter-y: 6rem}.g-md-grid-gutter,.gx-md-grid-gutter{--bs-gutter-x: 1.875rem}.g-md-grid-gutter,.gy-md-grid-gutter{--bs-gutter-y: 1.875rem}}@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.3333333333%}.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.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.3333333333%}.col-lg-2{flex:0 0 auto;width:16.6666666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.3333333333%}.col-lg-5{flex:0 0 auto;width:41.6666666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.3333333333%}.col-lg-8{flex:0 0 auto;width:66.6666666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.3333333333%}.col-lg-11{flex:0 0 auto;width:91.6666666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}.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: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}.g-lg-6,.gx-lg-6{--bs-gutter-x: 5rem}.g-lg-6,.gy-lg-6{--bs-gutter-y: 5rem}.g-lg-7,.gx-lg-7{--bs-gutter-x: 6rem}.g-lg-7,.gy-lg-7{--bs-gutter-y: 6rem}.g-lg-grid-gutter,.gx-lg-grid-gutter{--bs-gutter-x: 1.875rem}.g-lg-grid-gutter,.gy-lg-grid-gutter{--bs-gutter-y: 1.875rem}}@media (min-width: 1280px){.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.3333333333%}.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.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.3333333333%}.col-xl-2{flex:0 0 auto;width:16.6666666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.3333333333%}.col-xl-5{flex:0 0 auto;width:41.6666666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.3333333333%}.col-xl-8{flex:0 0 auto;width:66.6666666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.3333333333%}.col-xl-11{flex:0 0 auto;width:91.6666666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}.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: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}.g-xl-6,.gx-xl-6{--bs-gutter-x: 5rem}.g-xl-6,.gy-xl-6{--bs-gutter-y: 5rem}.g-xl-7,.gx-xl-7{--bs-gutter-x: 6rem}.g-xl-7,.gy-xl-7{--bs-gutter-y: 6rem}.g-xl-grid-gutter,.gx-xl-grid-gutter{--bs-gutter-x: 1.875rem}.g-xl-grid-gutter,.gy-xl-grid-gutter{--bs-gutter-y: 1.875rem}}@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.3333333333%}.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.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.3333333333%}.col-xxl-2{flex:0 0 auto;width:16.6666666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.3333333333%}.col-xxl-5{flex:0 0 auto;width:41.6666666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.3333333333%}.col-xxl-8{flex:0 0 auto;width:66.6666666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.3333333333%}.col-xxl-11{flex:0 0 auto;width:91.6666666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.3333333333%}.offset-xxl-2{margin-left:16.6666666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.3333333333%}.offset-xxl-5{margin-left:41.6666666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.3333333333%}.offset-xxl-8{margin-left:66.6666666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.3333333333%}.offset-xxl-11{margin-left:91.6666666667%}.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: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}.g-xxl-6,.gx-xxl-6{--bs-gutter-x: 5rem}.g-xxl-6,.gy-xxl-6{--bs-gutter-y: 5rem}.g-xxl-7,.gx-xxl-7{--bs-gutter-x: 6rem}.g-xxl-7,.gy-xxl-7{--bs-gutter-y: 6rem}.g-xxl-grid-gutter,.gx-xxl-grid-gutter{--bs-gutter-x: 1.875rem}.g-xxl-grid-gutter,.gy-xxl-grid-gutter{--bs-gutter-y: 1.875rem}}.table{--bs-table-bg: rgba(0,0,0,0);--bs-table-striped-color: #737491;--bs-table-striped-bg: rgba(0,0,0,0.0375);--bs-table-active-color: #737491;--bs-table-active-bg: rgba(0,0,0,0.05);--bs-table-hover-color: #737491;--bs-table-hover-bg: rgba(0,0,0,0.05);width:100%;margin-bottom:1rem;color:#737491;vertical-align:top;border-color:#e9e9f2}.table>:not(caption)>*>*{padding:.75rem .75rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.375rem .375rem}.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: #f1f0fe;--bs-table-striped-bg: #e8e7f4;--bs-table-striped-color: #000;--bs-table-active-bg: #e5e4f1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e4f1;--bs-table-hover-color: #000;color:#000;border-color:#d9d8e5}.table-secondary{--bs-table-bg: #f7f7fc;--bs-table-striped-bg: #eeeef3;--bs-table-striped-color: #000;--bs-table-active-bg: #ebebef;--bs-table-active-color: #000;--bs-table-hover-bg: #ebebef;--bs-table-hover-color: #000;color:#000;border-color:#dedee3}.table-success{--bs-table-bg: #e8faf4;--bs-table-striped-bg: #dff1eb;--bs-table-striped-color: #000;--bs-table-active-bg: #dceee8;--bs-table-active-color: #000;--bs-table-hover-bg: #dceee8;--bs-table-hover-color: #000;color:#000;border-color:#d1e1dc}.table-info{--bs-table-bg: #f0f5fe;--bs-table-striped-bg: #e7ecf4;--bs-table-striped-color: #000;--bs-table-active-bg: #e4e9f1;--bs-table-active-color: #000;--bs-table-hover-bg: #e4e9f1;--bs-table-hover-color: #000;color:#000;border-color:#d8dde5}.table-warning{--bs-table-bg: #fff7ef;--bs-table-striped-bg: #f5eee6;--bs-table-striped-color: #000;--bs-table-active-bg: #f2ebe3;--bs-table-active-color: #000;--bs-table-hover-bg: #f2ebe3;--bs-table-hover-color: #000;color:#000;border-color:#e6ded7}.table-danger{--bs-table-bg: #feedf2;--bs-table-striped-bg: #f4e4e9;--bs-table-striped-color: #000;--bs-table-active-bg: #f1e1e6;--bs-table-active-color: #000;--bs-table-hover-bg: #f1e1e6;--bs-table-hover-color: #000;color:#000;border-color:#e5d5da}.table-dark{--bs-table-bg: #37384e;--bs-table-striped-bg: #3f3f55;--bs-table-striped-color: #fff;--bs-table-active-bg: #414257;--bs-table-active-color: #fff;--bs-table-hover-bg: #414257;--bs-table-hover-color: #fff;color:#fff;border-color:#4b4c60}.table-light{--bs-table-bg: #fff;--bs-table-striped-bg: #f5f5f5;--bs-table-striped-color: #000;--bs-table-active-bg: #f2f2f2;--bs-table-active-color: #000;--bs-table-hover-bg: #f2f2f2;--bs-table-hover-color: #000;color:#000;border-color:#e6e6e6}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 499.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: 1279.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:.375rem;font-size:.875rem;font-weight:500;color:#4a4b65}.col-form-label{padding-top:calc(.5625rem + 1px);padding-bottom:calc(.5625rem + 1px);margin-bottom:0;font-size:inherit;font-weight:500;line-height:1.5;color:#4a4b65}.col-form-label-lg{padding-top:calc(.75rem + 1px);padding-bottom:calc(.75rem + 1px);font-size:1.125rem}.col-form-label-sm{padding-top:calc(.425rem + 1px);padding-bottom:calc(.425rem + 1px);font-size:.875rem}.form-text{margin-top:.375rem;font-size:.75rem;color:#9e9fb4}.form-control{display:block;width:100%;padding:.5625rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#737491;background-color:#fff;background-clip:padding-box;border:1px solid #dfdfeb;appearance:none;border-radius:.75rem;box-shadow:0 0 0 0 transparent;transition:border-color 0.2s ease-in-out,box-shadow 0.2s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=\"file\"]{overflow:hidden}.form-control[type=\"file\"]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#737491;background-color:#fff;border-color:rgba(118,109,244,0.35);outline:0;box-shadow:0 0 0 0 transparent,0 0.375rem 0.625rem -0.3125rem rgba(118,109,244,0.15)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#9e9fb4;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#f3f3f9;opacity:1}.form-control::file-selector-button{padding:.5625rem 1.125rem;margin:-.5625rem -1.125rem;margin-inline-end:1.125rem;color:#4a4b65;background-color:#f7f7fc;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,border-color 0.25s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#f7f7fc}.form-control::-webkit-file-upload-button{padding:.5625rem 1.125rem;margin:-.5625rem -1.125rem;margin-inline-end:1.125rem;color:#4a4b65;background-color:#f7f7fc;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,border-color 0.25s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#f7f7fc}.form-control-plaintext{display:block;width:100%;padding:.5625rem 0;margin-bottom:0;line-height:1.5;color:#737491;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 + .85rem + 2px);padding:.425rem 1rem;font-size:.875rem;border-radius:.5rem}.form-control-sm::file-selector-button{padding:.425rem 1rem;margin:-.425rem -1rem;margin-inline-end:1rem}.form-control-sm::-webkit-file-upload-button{padding:.425rem 1rem;margin:-.425rem -1rem;margin-inline-end:1rem}.form-control-lg{min-height:calc(1.5em + 1.5rem + 2px);padding:.75rem 1.25rem;font-size:1.125rem;border-radius:1rem}.form-control-lg::file-selector-button{padding:.75rem 1.25rem;margin:-.75rem -1.25rem;margin-inline-end:1.25rem}.form-control-lg::-webkit-file-upload-button{padding:.75rem 1.25rem;margin:-.75rem -1.25rem;margin-inline-end:1.25rem}textarea.form-control{min-height:calc(1.5em + 1.125rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .85rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1.5rem + 2px)}.form-control-color{max-width:3rem;height:auto;padding:.5625rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.75rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.75rem}.form-select{display:block;width:100%;padding:.5625rem 2.25rem .5625rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#737491;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='%234a4b65' 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 1.125rem center;background-size:16px 12px;border:1px solid #dfdfeb;border-radius:.75rem;box-shadow:inset 0 1px 2px transparent;appearance:none}.form-select:focus{border-color:rgba(118,109,244,0.35);outline:0;box-shadow:inset 0 1px 2px transparent,0 0 0 0 rgba(118,109,244,0.25)}.form-select[multiple],.form-select[size]:not([size=\"1\"]){padding-right:1.125rem;background-image:none}.form-select:disabled{background-color:#f3f3f9}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #737491}.form-select-sm{padding-top:.425rem;padding-bottom:.425rem;padding-left:1rem;font-size:.875rem}.form-select-lg{padding-top:.75rem;padding-bottom:.75rem;padding-left:1.25rem;font-size:1.125rem}.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:#e6e6f0;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid #e6e6f0;appearance:none;color-adjust:exact}.form-check-input[type=\"checkbox\"]{border-radius:.375em}.form-check-input[type=\"radio\"]{border-radius:50%}.form-check-input:active{filter:0}.form-check-input:focus{border-color:1px solid #e6e6f0;outline:0;box-shadow:0}.form-check-input:checked{background-color:#766df4;border-color:#766df4}.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:#766df4;border-color:#766df4;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-check-label{color:#737491}.form-switch{padding-left:2.75em}.form-switch .form-check-input{width:2.25em;margin-left:-2.75em;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\");background-position:left center;border-radius:2.25em;transition:background-position 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.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='%23fff'/%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,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1rem;padding:0;background-color:transparent;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0.375rem 0.625rem -0.3125rem rgba(118,109,244,0.15)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0.375rem 0.625rem -0.3125rem rgba(118,109,244,0.15)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#766df4;border:0;border-radius:1rem;box-shadow:0 0.1rem 0.25rem rgba(0,0,0,0.1);transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#4e42f1}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#e9e9f2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 1px 2px transparent}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#766df4;border:0;border-radius:1rem;box-shadow:0 0.1rem 0.25rem rgba(0,0,0,0.1);transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#4e42f1}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#e9e9f2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 1px 2px transparent}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#9e9fb4}.form-range:disabled::-moz-range-thumb{background-color:#9e9fb4}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);padding:1rem 1.125rem}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem 1.125rem;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::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus ~ label,.form-floating>.form-control: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{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,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.5625rem 1.125rem;font-size:1rem;font-weight:500;line-height:1.5;color:#737491;text-align:center;white-space:nowrap;background-color:#fff;border:1px solid #dfdfeb;border-radius:.75rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.75rem 1.25rem;font-size:1.125rem;border-radius:1rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.425rem 1rem;font-size:.875rem;border-radius:.5rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3.375rem}.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:.375rem;font-size:.75rem;color:#16c995}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.3125rem .625rem;margin-top:.1rem;font-size:.75rem;color:#000;background-color:rgba(22,201,149,0.08);border-radius:.3125rem}.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,.form-control.is-valid{border-color:#16c995;padding-right:calc(1.5em + 1.125rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2316c995' 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 + .28125rem) center;background-size:calc(.75em + .5625rem) calc(.75em + .5625rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#16c995;box-shadow:0 0 0 0 rgba(22,201,149,0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 1.125rem);background-position:top calc(.375em + .28125rem) right calc(.375em + .28125rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#16c995;padding-right:5.0625rem;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='%234a4b65' 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='%2316c995' 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 1.125rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .5625rem) calc(.75em + .5625rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#16c995;box-shadow:0 0 0 0 rgba(22,201,149,0.25)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#16c995}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#16c995}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 0 rgba(22,201,149,0.25)}.was-validated .form-check-input:valid ~ .form-check-label,.form-check-input.is-valid ~ .form-check-label{color:#16c995}.form-check-inline .form-check-input ~ .valid-feedback{margin-left:.5em}.was-validated .input-group .form-control:valid,.input-group .form-control.is-valid,.was-validated .input-group .form-select:valid,.input-group .form-select.is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.375rem;font-size:.75rem;color:#f74f78}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.3125rem .625rem;margin-top:.1rem;font-size:.75rem;color:#000;background-color:rgba(247,79,120,0.08);border-radius:.3125rem}.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,.form-control.is-invalid{border-color:#f74f78;padding-right:calc(1.5em + 1.125rem);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='%23f74f78'%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='%23f74f78' stroke='none'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .28125rem) center;background-size:calc(.75em + .5625rem) calc(.75em + .5625rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#f74f78;box-shadow:0 0 0 0 rgba(247,79,120,0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 1.125rem);background-position:top calc(.375em + .28125rem) right calc(.375em + .28125rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#f74f78;padding-right:5.0625rem;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='%234a4b65' 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='%23f74f78'%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='%23f74f78' stroke='none'/%3e%3c/svg%3e\");background-position:right 1.125rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .5625rem) calc(.75em + .5625rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#f74f78;box-shadow:0 0 0 0 rgba(247,79,120,0.25)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#f74f78}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#f74f78}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 0 rgba(247,79,120,0.25)}.was-validated .form-check-input:invalid ~ .form-check-label,.form-check-input.is-invalid ~ .form-check-label{color:#f74f78}.form-check-inline .form-check-input ~ .invalid-feedback{margin-left:.5em}.was-validated .input-group .form-control:invalid,.input-group .form-control.is-invalid,.was-validated .input-group .form-select:invalid,.input-group .form-select.is-invalid{z-index:3}.btn{display:inline-block;font-weight:500;line-height:1.5;color:#737491;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.5625rem 1.25rem;font-size:1rem;border-radius:.75rem;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,border-color 0.25s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#737491;text-decoration:none}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:unset}.btn-check:checked+.btn,.btn-check:active+.btn,.btn:active,.btn.active{box-shadow:unset}.btn-check:checked+.btn:focus,.btn-check:active+.btn:focus,.btn:active:focus,.btn.active:focus{box-shadow:unset,unset}.btn:disabled,.btn.disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65;box-shadow:none}.btn-primary{color:#000;background-color:#766df4;border-color:#766df4;box-shadow:unset}.btn-primary:hover{color:#000;background-color:#8b83f6;border-color:#847cf5}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#000;background-color:#8b83f6;border-color:#847cf5;box-shadow:unset,0 0 0 0 rgba(100,93,207,0.5)}.btn-check:checked+.btn-primary,.btn-check:active+.btn-primary,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{color:#000;background-color:#918af6;border-color:#847cf5}.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:unset,0 0 0 0 rgba(100,93,207,0.5)}.btn-primary:disabled,.btn-primary.disabled{color:#000;background-color:#766df4;border-color:#766df4}.btn-secondary{color:#000;background-color:#f7f7fc;border-color:#f7f7fc;box-shadow:unset}.btn-secondary:hover{color:#000;background-color:#f8f8fc;border-color:#f8f8fc}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#000;background-color:#f8f8fc;border-color:#f8f8fc;box-shadow:unset,0 0 0 0 rgba(210,210,214,0.5)}.btn-check:checked+.btn-secondary,.btn-check:active+.btn-secondary,.btn-secondary:active,.btn-secondary.active,.show>.btn-secondary.dropdown-toggle{color:#000;background-color:#f9f9fd;border-color:#f8f8fc}.btn-check:checked+.btn-secondary:focus,.btn-check:active+.btn-secondary:focus,.btn-secondary:active:focus,.btn-secondary.active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:unset,0 0 0 0 rgba(210,210,214,0.5)}.btn-secondary:disabled,.btn-secondary.disabled{color:#000;background-color:#f7f7fc;border-color:#f7f7fc}.btn-success{color:#000;background-color:#16c995;border-color:#16c995;box-shadow:unset}.btn-success:hover{color:#000;background-color:#39d1a5;border-color:#2dcea0}.btn-check:focus+.btn-success,.btn-success:focus{color:#000;background-color:#39d1a5;border-color:#2dcea0;box-shadow:unset,0 0 0 0 rgba(19,171,127,0.5)}.btn-check:checked+.btn-success,.btn-check:active+.btn-success,.btn-success:active,.btn-success.active,.show>.btn-success.dropdown-toggle{color:#000;background-color:#45d4aa;border-color:#2dcea0}.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:unset,0 0 0 0 rgba(19,171,127,0.5)}.btn-success:disabled,.btn-success.disabled{color:#000;background-color:#16c995;border-color:#16c995}.btn-info{color:#000;background-color:#6a9bf4;border-color:#6a9bf4;box-shadow:unset}.btn-info:hover{color:#000;background-color:#80aaf6;border-color:#79a5f5}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#80aaf6;border-color:#79a5f5;box-shadow:unset,0 0 0 0 rgba(90,132,207,0.5)}.btn-check:checked+.btn-info,.btn-check:active+.btn-info,.btn-info:active,.btn-info.active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#88aff6;border-color:#79a5f5}.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:unset,0 0 0 0 rgba(90,132,207,0.5)}.btn-info:disabled,.btn-info.disabled{color:#000;background-color:#6a9bf4;border-color:#6a9bf4}.btn-warning{color:#000;background-color:#ffb15c;border-color:#ffb15c;box-shadow:unset}.btn-warning:hover{color:#000;background-color:#ffbd74;border-color:#ffb96c}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffbd74;border-color:#ffb96c;box-shadow:unset,0 0 0 0 rgba(217,150,78,0.5)}.btn-check:checked+.btn-warning,.btn-check:active+.btn-warning,.btn-warning:active,.btn-warning.active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffc17d;border-color:#ffb96c}.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:unset,0 0 0 0 rgba(217,150,78,0.5)}.btn-warning:disabled,.btn-warning.disabled{color:#000;background-color:#ffb15c;border-color:#ffb15c}.btn-danger{color:#000;background-color:#f74f78;border-color:#f74f78;box-shadow:unset}.btn-danger:hover{color:#000;background-color:#f8698c;border-color:#f86186}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#000;background-color:#f8698c;border-color:#f86186;box-shadow:unset,0 0 0 0 rgba(210,67,102,0.5)}.btn-check:checked+.btn-danger,.btn-check:active+.btn-danger,.btn-danger:active,.btn-danger.active,.show>.btn-danger.dropdown-toggle{color:#000;background-color:#f97293;border-color:#f86186}.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:unset,0 0 0 0 rgba(210,67,102,0.5)}.btn-danger:disabled,.btn-danger.disabled{color:#000;background-color:#f74f78;border-color:#f74f78}.btn-light{color:#000;background-color:#fff;border-color:#fff;box-shadow:unset}.btn-light:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#fff;border-color:#fff;box-shadow:unset,0 0 0 0 rgba(217,217,217,0.5)}.btn-check:checked+.btn-light,.btn-check:active+.btn-light,.btn-light:active,.btn-light.active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#fff;border-color:#fff}.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:unset,0 0 0 0 rgba(217,217,217,0.5)}.btn-light:disabled,.btn-light.disabled{color:#000;background-color:#fff;border-color:#fff}.btn-dark{color:#fff;background-color:#37384e;border-color:#37384e;box-shadow:unset}.btn-dark:hover{color:#fff;background-color:#2f3042;border-color:#2c2d3e}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#2f3042;border-color:#2c2d3e;box-shadow:unset,0 0 0 0 rgba(85,86,105,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:#2c2d3e;border-color:#292a3b}.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:unset,0 0 0 0 rgba(85,86,105,0.5)}.btn-dark:disabled,.btn-dark.disabled{color:#fff;background-color:#37384e;border-color:#37384e}.btn-outline-primary{color:#766df4;border-color:#766df4}.btn-outline-primary:hover{color:#000;background-color:#766df4;border-color:#766df4}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 0 rgba(118,109,244,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:#000;background-color:#766df4;border-color:#766df4}.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:unset,0 0 0 0 rgba(118,109,244,0.5)}.btn-outline-primary:disabled,.btn-outline-primary.disabled{color:#766df4;background-color:transparent}.btn-outline-secondary{color:#f7f7fc;border-color:#f7f7fc}.btn-outline-secondary:hover{color:#000;background-color:#f7f7fc;border-color:#f7f7fc}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 0 rgba(247,247,252,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:#000;background-color:#f7f7fc;border-color:#f7f7fc}.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:unset,0 0 0 0 rgba(247,247,252,0.5)}.btn-outline-secondary:disabled,.btn-outline-secondary.disabled{color:#f7f7fc;background-color:transparent}.btn-outline-success{color:#16c995;border-color:#16c995}.btn-outline-success:hover{color:#000;background-color:#16c995;border-color:#16c995}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 0 rgba(22,201,149,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:#000;background-color:#16c995;border-color:#16c995}.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:unset,0 0 0 0 rgba(22,201,149,0.5)}.btn-outline-success:disabled,.btn-outline-success.disabled{color:#16c995;background-color:transparent}.btn-outline-info{color:#6a9bf4;border-color:#6a9bf4}.btn-outline-info:hover{color:#000;background-color:#6a9bf4;border-color:#6a9bf4}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 0 rgba(106,155,244,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:#000;background-color:#6a9bf4;border-color:#6a9bf4}.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:unset,0 0 0 0 rgba(106,155,244,0.5)}.btn-outline-info:disabled,.btn-outline-info.disabled{color:#6a9bf4;background-color:transparent}.btn-outline-warning{color:#ffb15c;border-color:#ffb15c}.btn-outline-warning:hover{color:#000;background-color:#ffb15c;border-color:#ffb15c}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 0 rgba(255,177,92,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:#000;background-color:#ffb15c;border-color:#ffb15c}.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:unset,0 0 0 0 rgba(255,177,92,0.5)}.btn-outline-warning:disabled,.btn-outline-warning.disabled{color:#ffb15c;background-color:transparent}.btn-outline-danger{color:#f74f78;border-color:#f74f78}.btn-outline-danger:hover{color:#000;background-color:#f74f78;border-color:#f74f78}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 0 rgba(247,79,120,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:#000;background-color:#f74f78;border-color:#f74f78}.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:unset,0 0 0 0 rgba(247,79,120,0.5)}.btn-outline-danger:disabled,.btn-outline-danger.disabled{color:#f74f78;background-color:transparent}.btn-outline-light{color:#fff;border-color:#fff}.btn-outline-light:hover{color:#000;background-color:#fff;border-color:#fff}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 0 rgba(255,255,255,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:#000;background-color:#fff;border-color:#fff}.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:unset,0 0 0 0 rgba(255,255,255,0.5)}.btn-outline-light:disabled,.btn-outline-light.disabled{color:#fff;background-color:transparent}.btn-outline-dark{color:#37384e;border-color:#37384e}.btn-outline-dark:hover{color:#fff;background-color:#37384e;border-color:#37384e}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 0 rgba(55,56,78,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:#37384e;border-color:#37384e}.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:unset,0 0 0 0 rgba(55,56,78,0.5)}.btn-outline-dark:disabled,.btn-outline-dark.disabled{color:#37384e;background-color:transparent}.btn-link{font-weight:400;color:#766df4;text-decoration:none}.btn-link:hover{color:#493ef0;text-decoration:underline}.btn-link:focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#737491}.btn-lg,.btn-group-lg>.btn{padding:.75rem 1.5rem;font-size:1.125rem;border-radius:1rem}.btn-sm,.btn-group-sm>.btn{padding:.425rem 1rem;font-size:.875rem;border-radius:.5rem}.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-menu{position:absolute;top:100%;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#737491;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #e9e9f2;border-radius:.75rem;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04)}.dropdown-menu[data-bs-popper]{left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}@media (min-width: 500px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 1280px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropend .dropdown-menu{top:0;right:auto;left:100%}.dropend .dropdown-menu[data-bs-popper]{margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu{top:0;right:100%;left:auto}.dropstart .dropdown-menu[data-bs-popper]{margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9e9f2}.dropdown-item{display:block;width:100%;padding:.425rem 1.3rem;clear:both;font-weight:400;color:#5a5b75;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#766df4;text-decoration:none;background-color:rgba(0,0,0,0)}.dropdown-item.active,.dropdown-item:active{color:#766df4;text-decoration:none;background-color:rgba(0,0,0,0)}.dropdown-item.disabled,.dropdown-item:disabled{color:#9e9fb4;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.3rem;margin-bottom:0;font-size:.875rem;color:#4a4b65;white-space:nowrap}.dropdown-item-text{display:block;padding:.425rem 1.3rem;color:#5a5b75}.dropdown-menu-dark{color:rgba(255,255,255,0.7);background-color:#4a4b65;border-color:rgba(0,0,0,0);box-shadow:none}.dropdown-menu-dark .dropdown-item{color:rgba(255,255,255,0.7)}.dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:rgba(0,0,0,0)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:rgba(0,0,0,0)}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:rgba(255,255,255,0.45)}.dropdown-menu-dark .dropdown-divider{border-color:rgba(255,255,255,0.14)}.dropdown-menu-dark .dropdown-item-text{color:rgba(255,255,255,0.7)}.dropdown-menu-dark .dropdown-header{color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{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),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.9375rem;padding-left:.9375rem}.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{padding-right:.75rem;padding-left:.75rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn-group.show .dropdown-toggle{box-shadow:unset}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn ~ .btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{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{display:block;padding:.5625rem 1.25rem;font-weight:500;color:#5a5b75;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out,border-color 0.25s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:#766df4;text-decoration:none}.nav-link.disabled{color:#9e9fb4;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid rgba(0,0,0,0)}.nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid transparent;border-top-left-radius:.75rem;border-top-right-radius:.75rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:rgba(0,0,0,0);isolation:isolate}.nav-tabs .nav-link.disabled{color:#9e9fb4;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#766df4;background-color:rgba(0,0,0,0);border-color:rgba(118,109,244,0.35)}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:.75rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#766df4}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.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:.75rem;padding-right:.9375rem;padding-bottom:.75rem;padding-left:.9375rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:0;padding-bottom:0;margin-right:1rem;font-size:calc(1.2875rem + .45vw);white-space:nowrap}@media (min-width: 1200px){.navbar-brand{font-size:1.625rem}}.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{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5625rem;padding-bottom:.5625rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.75rem .75rem;font-size:1rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:0;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%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 500px){.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{padding-right:1.125rem;padding-left:1.125rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.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{padding-right:1.125rem;padding-left:1.125rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.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{padding-right:1.125rem;padding-left:1.125rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width: 1280px){.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{padding-right:1.125rem;padding-left:1.125rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.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{padding-right:1.125rem;padding-left:1.125rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;flex-basis:auto}.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{padding-right:1.125rem;padding-left:1.125rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:#4a4b65}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:#4a4b65}.navbar-light .navbar-nav .nav-link{color:#5a5b75}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:#766df4}.navbar-light .navbar-nav .nav-link.disabled{color:#9e9fb4}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .nav-link.active{color:#766df4}.navbar-light .navbar-toggler{color:#5a5b75;border-color:rgba(0,0,0,0)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%235a5b75' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-light .navbar-text{color:#5a5b75}.navbar-light .navbar-text a,.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:#766df4}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.7)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#fff}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,0.45)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,0.7);border-color:rgba(0,0,0,0)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-dark .navbar-text{color:rgba(255,255,255,0.7)}.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(0,0,0,0.085);border-radius:1rem}.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(1rem - 1px);border-top-right-radius:calc(1rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(1rem - 1px);border-bottom-left-radius:calc(1rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1.5rem 1.5rem}.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:1.5rem}.card-header{padding:.75rem 1.5rem;margin-bottom:0;background-color:rgba(0,0,0,0);border-bottom:1px solid rgba(0,0,0,0.085)}.card-header:first-child{border-radius:calc(1rem - 1px) calc(1rem - 1px) 0 0}.card-footer{padding:.75rem 1.5rem;background-color:rgba(0,0,0,0);border-top:1px solid rgba(0,0,0,0.085)}.card-footer:last-child{border-radius:0 0 calc(1rem - 1px) calc(1rem - 1px)}.card-header-tabs{margin-right:-.75rem;margin-bottom:-.75rem;margin-left:-.75rem;border-bottom:0}.card-header-tabs .nav-link.active{background-color:#fff;border-bottom-color:#fff}.card-header-pills{margin-right:-.75rem;margin-left:-.75rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(1rem - 1px)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(1rem - 1px);border-top-right-radius:calc(1rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(1rem - 1px);border-bottom-left-radius:calc(1rem - 1px)}.card-group>.card{margin-bottom:.9375rem}@media (min-width: 500px){.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:1.125rem 1.5rem;font-size:1rem;color:#4a4b65;text-align:left;background-color:rgba(0,0,0,0);border:0;border-radius:0;overflow-anchor:none;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,border-color 0.25s ease-in-out,border-radius 0.15s ease}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#766df4;background-color:rgba(0,0,0,0);box-shadow:inset 0 -1px 0 #e9e9f2}.accordion-button:not(.collapsed)::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='121.805' height='121.804'%3e%3cpath fill-rule='evenodd' fill='%23766df4' d='M7.308 68.211h107.188a7.31 7.31 0 0 0 7.309-7.31 7.31 7.31 0 0 0-7.309-7.309H7.308A7.31 7.31 0 0 0 0 60.902a7.31 7.31 0 0 0 7.308 7.309z'/%3e%3c/svg%3e\");transform:rotate(180deg)}.accordion-button::after{flex-shrink:0;width:.75rem;height:.75rem;margin-left:auto;content:\"\";background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 426.667 426.667'%3e%3cpath fill-rule='evenodd' fill='%234a4b65' d='M405.332 192H234.668V21.332C234.668 9.559 225.109 0 213.332 0S192 9.559 192 21.332V192H21.332C9.559 192 0 201.559 0 213.332s9.559 21.336 21.332 21.336H192v170.664c0 11.777 9.559 21.336 21.332 21.336s21.336-9.559 21.336-21.336V234.668h170.664c11.777 0 21.336-9.559 21.336-21.336S417.109 192 405.332 192zm0 0'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-size:.75rem;transition:none}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#e9e9f2;outline:0;box-shadow:unset}.accordion-header{margin-bottom:0}.accordion-item{margin-bottom:-1px;background-color:rgba(0,0,0,0);border:1px solid #e9e9f2}.accordion-item:first-of-type{border-top-left-radius:1rem;border-top-right-radius:1rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(1rem - 1px);border-top-right-radius:calc(1rem - 1px)}.accordion-item:last-of-type{margin-bottom:0;border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(1rem - 1px);border-bottom-left-radius:calc(1rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.accordion-body{padding:1.5rem 1.5rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:0;font-size:.875rem;list-style:none;background-color:rgba(0,0,0,0)}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#9e9fb4;content:var(--bs-breadcrumb-divider, \"\") /* rtl: var(--bs-breadcrumb-divider, \"\") */}.breadcrumb-item.active{color:#9e9fb4}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#5a5b75;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);transition:color 0.25s ease-in-out,border-color 0.25s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#766df4;text-decoration:none;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.page-link:focus{z-index:3;color:#493ef0;background-color:rgba(0,0,0,0);outline:0;box-shadow:0 0 0 0 rgba(118,109,244,0.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#766df4;background-color:rgba(0,0,0,0);border-color:rgba(118,109,244,0.35)}.page-item.disabled .page-link{color:#737491;pointer-events:none;background-color:#fff;border-color:#e9e9f2}.page-link{padding:.5rem .75rem}.page-item:first-child .page-link{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.page-item:last-child .page-link{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.pagination-lg .page-link{padding:.525rem 1rem;font-size:1.125rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.pagination-sm .page-link{padding:.275rem .625rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.badge{display:inline-block;padding:.25em .5em;font-size:.75em;font-weight:500;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:1rem}.alert-heading{color:inherit}.alert-link{font-weight:500}.alert-dismissible{padding-right:3.75rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1.25rem}.alert-primary{color:#766df4;background-color:#f4f3fe;border-color:#e4e2fd}.alert-primary .alert-link{color:#5e57c3}.alert-secondary{color:#f7f7fc;background-color:#fefeff;border-color:#fdfdfe}.alert-secondary .alert-link{color:#c6c6ca}.alert-success{color:#16c995;background-color:#ecfbf7;border-color:#d0f4ea}.alert-success .alert-link{color:#12a177}.alert-info{color:#6a9bf4;background-color:#f3f7fe;border-color:#e1ebfd}.alert-info .alert-link{color:#557cc3}.alert-warning{color:#ffb15c;background-color:#fff9f2;border-color:#ffefde}.alert-warning .alert-link{color:#cc8e4a}.alert-danger{color:#f74f78;background-color:#fef1f4;border-color:#fddce4}.alert-danger .alert-link{color:#c63f60}.alert-light{color:#fff;background-color:#fff;border-color:#fff}.alert-light .alert-link{color:#ccc}.alert-dark{color:#37384e;background-color:#efeff1;border-color:#d7d7dc}.alert-dark .alert-link{color:#2c2d3e}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#f3f3f9;border-radius:.75rem;box-shadow:none}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#766df4;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:1rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, \".\") \". \";counter-increment:section}.list-group-item-action{width:100%;color:#5a5b75;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#766df4;text-decoration:none;background-color:#fff}.list-group-item-action:active{color:#766df4;background-color:#fff}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;color:#37384e;background-color:#fff;border:1px solid rgba(0,0,0,0.085)}.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:#9e9fb4;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#766df4;border-color:#766df4}.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:1rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:1rem;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: 500px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:1rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:1rem;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:1rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:1rem;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:1rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:1rem;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: 1280px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:1rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:1rem;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:1rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:1rem;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:#766df4;background-color:#f1f0fe}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#766df4;background-color:#d9d8e5}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#766df4;border-color:#766df4}.list-group-item-secondary{color:#f7f7fc;background-color:#fefeff}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#f7f7fc;background-color:#e5e5e6}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#f7f7fc;border-color:#f7f7fc}.list-group-item-success{color:#16c995;background-color:#e8faf4}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#16c995;background-color:#d1e1dc}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#16c995;border-color:#16c995}.list-group-item-info{color:#6a9bf4;background-color:#f0f5fe}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#6a9bf4;background-color:#d8dde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#6a9bf4;border-color:#6a9bf4}.list-group-item-warning{color:#ffb15c;background-color:#fff7ef}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#ffb15c;background-color:#e6ded7}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#ffb15c;border-color:#ffb15c}.list-group-item-danger{color:#f74f78;background-color:#feedf2}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#f74f78;background-color:#e5d5da}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#f74f78;border-color:#f74f78}.list-group-item-light{color:#fff;background-color:#fff}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#fff;background-color:#e6e6e6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-dark{color:#37384e;background-color:#ebebed}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#37384e;background-color:#d4d4d5}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#37384e;border-color:#37384e}.btn-close{box-sizing:content-box;width:.625em;height:.625em;padding:.25em .25em;color:#000;background:transparent url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%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/.625em auto no-repeat;border:0;border-radius:.75rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 0 rgba(118,109,244,0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events: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:#fff;background-clip:padding-box;border:1px solid #e9e9f2;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-radius:.75rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.9375rem}.toast-header{display:flex;align-items:center;padding:.5rem 1rem;color:#737491;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(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}.toast-header .btn-close{margin-right:-.5rem;margin-left:1rem}.toast-body{padding:1rem;word-wrap:break-word}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1060;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.2s ease-out;transform:scale(0.9)}@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 #e9e9f2;border-radius:1rem;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);outline:0}.modal-backdrop,.offcanvas-backdrop:not(body){position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade,.fade.offcanvas-backdrop:not(body){opacity:0}.modal-backdrop.show,.show.offcanvas-backdrop:not(body){opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e9e9f2;border-top-left-radius:calc(1rem - 1px);border-top-right-radius:calc(1rem - 1px)}.modal-header .btn-close{padding:.5rem .625rem;margin:-.5rem -.625rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1.25rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #e9e9f2;border-bottom-right-radius:calc(1rem - 1px);border-bottom-left-radius:calc(1rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 500px){.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-content{box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04)}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1280px){.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: 499.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: 1279.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:1080;display:block;margin:.25rem;font-family:var(--bs-font-sans-serif);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:.75rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:1}.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:#2c2d3f}.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:#2c2d3f}.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:#2c2d3f}.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:#2c2d3f}.tooltip-inner{max-width:200px;padding:.3125rem .625rem;color:#fff;text-align:center;background-color:#2c2d3f;border-radius:.375rem}.popover{position:absolute;top:0;left:0 /* rtl:ignore */;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);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 #e9e9f2;border-radius:.75rem;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04)}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid}.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:#d9d9e9}.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>.popover-arrow,.bs-popover-auto[data-popper-placement^=\"right\"]>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.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:#d9d9e9}.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>.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:#d9d9e9}.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 #fff}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=\"left\"]>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.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:#d9d9e9}.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:.75rem 1rem;margin-bottom:0;font-size:1rem;color:#4a4b65;background-color:#fff;border-bottom:1px solid #e6e6e6;border-top-left-radius:calc(.75rem - 1px);border-top-right-radius:calc(.75rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#737491}.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%;padding:0;color:#737491;text-align:center;background:none;border:0;opacity:.6;transition:all 0.3s ease-in-out}@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:#737491;text-decoration:none;outline:0;opacity:1}.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' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{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 [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.15em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.1em}@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}}.offcanvas{position:fixed;bottom:0;z-index:1080;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas-header{display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.offcanvas-header .btn-close{padding:.625rem .75rem;margin:-.625rem -.75rem -.625rem auto}.offcanvas-title{margin-bottom:0;line-height:initial}.offcanvas-body{flex-grow:1;padding:1.25rem 1.5rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:22rem;border-right:0 solid rgba(0,0,0,0);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:22rem;border-left:0 solid rgba(0,0,0,0);transform:translateX(100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:0 solid rgba(0,0,0,0);transform:translateY(100%)}.offcanvas.show{transform:none}.offcanvas-backdrop::before{position:fixed;top:0;left:0;z-index:1079;width:100vw;height:100vh;content:\"\";background-color:rgba(0,0,0,0.5)}.clearfix::after{display:block;clear:both;content:\"\"}.link-primary{color:#766df4}.link-primary:hover,.link-primary:focus{color:#918af6}.link-secondary{color:#f7f7fc}.link-secondary:hover,.link-secondary:focus{color:#f9f9fd}.link-success{color:#16c995}.link-success:hover,.link-success:focus{color:#45d4aa}.link-info{color:#6a9bf4}.link-info:hover,.link-info:focus{color:#88aff6}.link-warning{color:#ffb15c}.link-warning:hover,.link-warning:focus{color:#ffc17d}.link-danger{color:#f74f78}.link-danger:hover,.link-danger:focus{color:#f97293}.link-light{color:#fff}.link-light:hover,.link-light:focus{color:#fff}.link-dark{color:#37384e}.link-dark:hover,.link-dark:focus{color:#2c2d3e}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:\"\"}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-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: 500px){.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: 1280px){.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):not(:focus-within){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 0.625rem -0.1875rem rgba(0,0,0,0.13) !important}.shadow-sm{box-shadow:0 0 0.625rem -0.1875rem rgba(0,0,0,0.13) !important}.shadow-lg{box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04) !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 #e9e9f2 !important}.border-0{border:0 !important}.border-top{border-top:1px solid #e9e9f2 !important}.border-top-0{border-top:0 !important}.border-end{border-right:1px solid #e9e9f2 !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:1px solid #e9e9f2 !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:1px solid #e9e9f2 !important}.border-start-0{border-left:0 !important}.border-primary{border-color:rgba(118,109,244,0.35) !important}.border-success{border-color:rgba(22,201,149,0.35) !important}.border-info{border-color:rgba(106,155,244,0.35) !important}.border-warning{border-color:rgba(255,177,92,0.35) !important}.border-danger{border-color:rgba(247,79,120,0.35) !important}.border-light{border-color:rgba(255,255,255,0.14) !important}.border-dark{border-color:rgba(55,56,78,0.35) !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}.gap-6{gap:5rem !important}.gap-7{gap:6rem !important}.gap-grid-gutter{gap:1.875rem !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-6{margin:5rem !important}.m-7{margin:6rem !important}.m-grid-gutter{margin:1.875rem !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-6{margin-right:5rem !important;margin-left:5rem !important}.mx-7{margin-right:6rem !important;margin-left:6rem !important}.mx-grid-gutter{margin-right:1.875rem !important;margin-left:1.875rem !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-6{margin-top:5rem !important;margin-bottom:5rem !important}.my-7{margin-top:6rem !important;margin-bottom:6rem !important}.my-grid-gutter{margin-top:1.875rem !important;margin-bottom:1.875rem !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-6{margin-top:5rem !important}.mt-7{margin-top:6rem !important}.mt-grid-gutter{margin-top:1.875rem !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-6{margin-right:5rem !important}.me-7{margin-right:6rem !important}.me-grid-gutter{margin-right:1.875rem !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-6{margin-bottom:5rem !important}.mb-7{margin-bottom:6rem !important}.mb-grid-gutter{margin-bottom:1.875rem !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-6{margin-left:5rem !important}.ms-7{margin-left:6rem !important}.ms-grid-gutter{margin-left:1.875rem !important}.ms-auto{margin-left:auto !important}.m-n1{margin:-.25rem !important}.m-n2{margin:-.5rem !important}.m-n3{margin:-1rem !important}.m-n4{margin:-1.5rem !important}.m-n5{margin:-3rem !important}.m-n6{margin:-5rem !important}.m-n7{margin:-6rem !important}.m-ngrid-gutter{margin:-1.875rem !important}.mx-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-n5{margin-right:-3rem !important;margin-left:-3rem !important}.mx-n6{margin-right:-5rem !important;margin-left:-5rem !important}.mx-n7{margin-right:-6rem !important;margin-left:-6rem !important}.mx-ngrid-gutter{margin-right:-1.875rem !important;margin-left:-1.875rem !important}.my-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-n5{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-n6{margin-top:-5rem !important;margin-bottom:-5rem !important}.my-n7{margin-top:-6rem !important;margin-bottom:-6rem !important}.my-ngrid-gutter{margin-top:-1.875rem !important;margin-bottom:-1.875rem !important}.mt-n1{margin-top:-.25rem !important}.mt-n2{margin-top:-.5rem !important}.mt-n3{margin-top:-1rem !important}.mt-n4{margin-top:-1.5rem !important}.mt-n5{margin-top:-3rem !important}.mt-n6{margin-top:-5rem !important}.mt-n7{margin-top:-6rem !important}.mt-ngrid-gutter{margin-top:-1.875rem !important}.me-n1{margin-right:-.25rem !important}.me-n2{margin-right:-.5rem !important}.me-n3{margin-right:-1rem !important}.me-n4{margin-right:-1.5rem !important}.me-n5{margin-right:-3rem !important}.me-n6{margin-right:-5rem !important}.me-n7{margin-right:-6rem !important}.me-ngrid-gutter{margin-right:-1.875rem !important}.mb-n1{margin-bottom:-.25rem !important}.mb-n2{margin-bottom:-.5rem !important}.mb-n3{margin-bottom:-1rem !important}.mb-n4{margin-bottom:-1.5rem !important}.mb-n5{margin-bottom:-3rem !important}.mb-n6{margin-bottom:-5rem !important}.mb-n7{margin-bottom:-6rem !important}.mb-ngrid-gutter{margin-bottom:-1.875rem !important}.ms-n1{margin-left:-.25rem !important}.ms-n2{margin-left:-.5rem !important}.ms-n3{margin-left:-1rem !important}.ms-n4{margin-left:-1.5rem !important}.ms-n5{margin-left:-3rem !important}.ms-n6{margin-left:-5rem !important}.ms-n7{margin-left:-6rem !important}.ms-ngrid-gutter{margin-left:-1.875rem !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}.p-6{padding:5rem !important}.p-7{padding:6rem !important}.p-grid-gutter{padding:1.875rem !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}.px-6{padding-right:5rem !important;padding-left:5rem !important}.px-7{padding-right:6rem !important;padding-left:6rem !important}.px-grid-gutter{padding-right:1.875rem !important;padding-left:1.875rem !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}.py-6{padding-top:5rem !important;padding-bottom:5rem !important}.py-7{padding-top:6rem !important;padding-bottom:6rem !important}.py-grid-gutter{padding-top:1.875rem !important;padding-bottom:1.875rem !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}.pt-6{padding-top:5rem !important}.pt-7{padding-top:6rem !important}.pt-grid-gutter{padding-top:1.875rem !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}.pe-6{padding-right:5rem !important}.pe-7{padding-right:6rem !important}.pe-grid-gutter{padding-right:1.875rem !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}.pb-6{padding-bottom:5rem !important}.pb-7{padding-bottom:6rem !important}.pb-grid-gutter{padding-bottom:1.875rem !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}.ps-6{padding-left:5rem !important}.ps-7{padding-left:6rem !important}.ps-grid-gutter{padding-left:1.875rem !important}.font-monospace{font-family:var(--bs-font-monospace) !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.2875rem + .45vw) !important}.fs-4{font-size:calc(1.2625rem + .15vw) !important}.fs-5{font-size:1.125rem !important}.fs-6{font-size:1rem !important}.fs-xl{font-size:1.25rem !important}.fs-lg{font-size:1.125rem !important}.fs-base{font-size:1rem !important}.fs-md{font-size:.9375rem !important}.fs-sm{font-size:.875rem !important}.fs-ms{font-size:.8125rem !important}.fs-xs{font-size:.75rem !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:700 !important}.fw-bolder{font-weight:bolder !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.5 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:1.5 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !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-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-primary{color:#766df4 !important}.text-secondary{color:#f7f7fc !important}.text-success{color:#16c995 !important}.text-info{color:#6a9bf4 !important}.text-warning{color:#ffb15c !important}.text-danger{color:#f74f78 !important}.text-light{color:#fff !important}.text-dark{color:#37384e !important}.text-white{color:#fff !important}.text-body{color:#737491 !important}.text-muted{color:#9e9fb4 !important}.text-heading{color:#4a4b65 !important}.text-nav{color:#5a5b75 !important}.text-border{color:#e9e9f2 !important}.text-reset{color:inherit !important}.bg-primary{background-color:#766df4 !important}.bg-secondary{background-color:#f7f7fc !important}.bg-success{background-color:#16c995 !important}.bg-info{background-color:#6a9bf4 !important}.bg-warning{background-color:#ffb15c !important}.bg-danger{background-color:#f74f78 !important}.bg-light{background-color:#fff !important}.bg-dark{background-color:#37384e !important}.bg-body{background-color:#fff !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:rgba(0,0,0,0) !important}.bg-darker{background-color:#2c2d3f !important}.bg-black{background-color:#000 !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:.75rem !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:.5rem !important}.rounded-2{border-radius:.75rem !important}.rounded-3{border-radius:1rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-top{border-top-left-radius:.75rem !important;border-top-right-radius:.75rem !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-end{border-top-right-radius:.75rem !important;border-bottom-right-radius:.75rem !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-bottom{border-bottom-right-radius:.75rem !important;border-bottom-left-radius:.75rem !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-start{border-bottom-left-radius:.75rem !important;border-top-left-radius:.75rem !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.bg-none{background:none !important}.bg-faded-primary{background-color:rgba(118,109,244,0.08) !important}.bg-faded-success{background-color:rgba(22,201,149,0.08) !important}.bg-faded-info{background-color:rgba(106,155,244,0.08) !important}.bg-faded-warning{background-color:rgba(255,177,92,0.08) !important}.bg-faded-danger{background-color:rgba(247,79,120,0.08) !important}.bg-faded-light{background-color:rgba(255,255,255,0.08) !important}.bg-faded-dark{background-color:rgba(55,56,78,0.08) !important}.bg-size-cover{background-size:cover !important}.bg-size-contain{background-size:contain !important}.bg-position-center{background-position:center !important}.bg-position-center-y{background-position:left center !important}.bg-position-center-x{background-position:center top !important}.bg-position-top-end{background-position:top right !important}.bg-position-top-start{background-position:top left !important}.bg-position-center-end{background-position:center right !important}.bg-position-center-start{background-position:center left !important}.bg-position-center-bottom{background-position:center bottom !important}.bg-position-bottom-end{background-position:bottom right !important}.bg-position-bottom-start{background-position:bottom left !important}.bg-position-bottom-center{background-position:bottom center !important}.bg-repeat-0{background-repeat:no-repeat !important}.bg-repeat-x{background-repeat:repeat-x !important}.bg-repeat-y{background-repeat:repeat-y !important}.bg-attachment-fixed{background-attachment:fixed !important}.bg-attachment-scroll{background-attachment:scroll !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-60{opacity:.6 !important}.opacity-65{opacity:.65 !important}.opacity-70{opacity:.7 !important}.opacity-75{opacity:.75 !important}.opacity-80{opacity:.8 !important}.opacity-90{opacity:.9 !important}.opacity-100{opacity:1 !important}.text-shadow{text-shadow:0 0.0625rem rgba(0,0,0,0.5) !important}.table-layout-fixed{table-layout:fixed !important}.animation-none{animation:none !important}.zindex-1{z-index:1 !important}.zindex-2{z-index:2 !important}.zindex-3{z-index:3 !important}.zindex-4{z-index:4 !important}.zindex-5{z-index:5 !important}@media (min-width: 500px){.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}.gap-sm-6{gap:5rem !important}.gap-sm-7{gap:6rem !important}.gap-sm-grid-gutter{gap:1.875rem !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-6{margin:5rem !important}.m-sm-7{margin:6rem !important}.m-sm-grid-gutter{margin:1.875rem !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-6{margin-right:5rem !important;margin-left:5rem !important}.mx-sm-7{margin-right:6rem !important;margin-left:6rem !important}.mx-sm-grid-gutter{margin-right:1.875rem !important;margin-left:1.875rem !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-6{margin-top:5rem !important;margin-bottom:5rem !important}.my-sm-7{margin-top:6rem !important;margin-bottom:6rem !important}.my-sm-grid-gutter{margin-top:1.875rem !important;margin-bottom:1.875rem !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-6{margin-top:5rem !important}.mt-sm-7{margin-top:6rem !important}.mt-sm-grid-gutter{margin-top:1.875rem !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-6{margin-right:5rem !important}.me-sm-7{margin-right:6rem !important}.me-sm-grid-gutter{margin-right:1.875rem !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-6{margin-bottom:5rem !important}.mb-sm-7{margin-bottom:6rem !important}.mb-sm-grid-gutter{margin-bottom:1.875rem !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-6{margin-left:5rem !important}.ms-sm-7{margin-left:6rem !important}.ms-sm-grid-gutter{margin-left:1.875rem !important}.ms-sm-auto{margin-left:auto !important}.m-sm-n1{margin:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.m-sm-n3{margin:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.m-sm-n6{margin:-5rem !important}.m-sm-n7{margin:-6rem !important}.m-sm-ngrid-gutter{margin:-1.875rem !important}.mx-sm-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-sm-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-sm-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-sm-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-sm-n5{margin-right:-3rem !important;margin-left:-3rem !important}.mx-sm-n6{margin-right:-5rem !important;margin-left:-5rem !important}.mx-sm-n7{margin-right:-6rem !important;margin-left:-6rem !important}.mx-sm-ngrid-gutter{margin-right:-1.875rem !important;margin-left:-1.875rem !important}.my-sm-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-sm-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-sm-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-sm-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-sm-n5{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-sm-n6{margin-top:-5rem !important;margin-bottom:-5rem !important}.my-sm-n7{margin-top:-6rem !important;margin-bottom:-6rem !important}.my-sm-ngrid-gutter{margin-top:-1.875rem !important;margin-bottom:-1.875rem !important}.mt-sm-n1{margin-top:-.25rem !important}.mt-sm-n2{margin-top:-.5rem !important}.mt-sm-n3{margin-top:-1rem !important}.mt-sm-n4{margin-top:-1.5rem !important}.mt-sm-n5{margin-top:-3rem !important}.mt-sm-n6{margin-top:-5rem !important}.mt-sm-n7{margin-top:-6rem !important}.mt-sm-ngrid-gutter{margin-top:-1.875rem !important}.me-sm-n1{margin-right:-.25rem !important}.me-sm-n2{margin-right:-.5rem !important}.me-sm-n3{margin-right:-1rem !important}.me-sm-n4{margin-right:-1.5rem !important}.me-sm-n5{margin-right:-3rem !important}.me-sm-n6{margin-right:-5rem !important}.me-sm-n7{margin-right:-6rem !important}.me-sm-ngrid-gutter{margin-right:-1.875rem !important}.mb-sm-n1{margin-bottom:-.25rem !important}.mb-sm-n2{margin-bottom:-.5rem !important}.mb-sm-n3{margin-bottom:-1rem !important}.mb-sm-n4{margin-bottom:-1.5rem !important}.mb-sm-n5{margin-bottom:-3rem !important}.mb-sm-n6{margin-bottom:-5rem !important}.mb-sm-n7{margin-bottom:-6rem !important}.mb-sm-ngrid-gutter{margin-bottom:-1.875rem !important}.ms-sm-n1{margin-left:-.25rem !important}.ms-sm-n2{margin-left:-.5rem !important}.ms-sm-n3{margin-left:-1rem !important}.ms-sm-n4{margin-left:-1.5rem !important}.ms-sm-n5{margin-left:-3rem !important}.ms-sm-n6{margin-left:-5rem !important}.ms-sm-n7{margin-left:-6rem !important}.ms-sm-ngrid-gutter{margin-left:-1.875rem !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}.p-sm-6{padding:5rem !important}.p-sm-7{padding:6rem !important}.p-sm-grid-gutter{padding:1.875rem !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}.px-sm-6{padding-right:5rem !important;padding-left:5rem !important}.px-sm-7{padding-right:6rem !important;padding-left:6rem !important}.px-sm-grid-gutter{padding-right:1.875rem !important;padding-left:1.875rem !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}.py-sm-6{padding-top:5rem !important;padding-bottom:5rem !important}.py-sm-7{padding-top:6rem !important;padding-bottom:6rem !important}.py-sm-grid-gutter{padding-top:1.875rem !important;padding-bottom:1.875rem !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}.pt-sm-6{padding-top:5rem !important}.pt-sm-7{padding-top:6rem !important}.pt-sm-grid-gutter{padding-top:1.875rem !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}.pe-sm-6{padding-right:5rem !important}.pe-sm-7{padding-right:6rem !important}.pe-sm-grid-gutter{padding-right:1.875rem !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}.pb-sm-6{padding-bottom:5rem !important}.pb-sm-7{padding-bottom:6rem !important}.pb-sm-grid-gutter{padding-bottom:1.875rem !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}.ps-sm-6{padding-left:5rem !important}.ps-sm-7{padding-left:6rem !important}.ps-sm-grid-gutter{padding-left:1.875rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}.text-sm-wrap{white-space:normal !important}.text-sm-nowrap{white-space:nowrap !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}.gap-md-6{gap:5rem !important}.gap-md-7{gap:6rem !important}.gap-md-grid-gutter{gap:1.875rem !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-6{margin:5rem !important}.m-md-7{margin:6rem !important}.m-md-grid-gutter{margin:1.875rem !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-6{margin-right:5rem !important;margin-left:5rem !important}.mx-md-7{margin-right:6rem !important;margin-left:6rem !important}.mx-md-grid-gutter{margin-right:1.875rem !important;margin-left:1.875rem !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-6{margin-top:5rem !important;margin-bottom:5rem !important}.my-md-7{margin-top:6rem !important;margin-bottom:6rem !important}.my-md-grid-gutter{margin-top:1.875rem !important;margin-bottom:1.875rem !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-6{margin-top:5rem !important}.mt-md-7{margin-top:6rem !important}.mt-md-grid-gutter{margin-top:1.875rem !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-6{margin-right:5rem !important}.me-md-7{margin-right:6rem !important}.me-md-grid-gutter{margin-right:1.875rem !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-6{margin-bottom:5rem !important}.mb-md-7{margin-bottom:6rem !important}.mb-md-grid-gutter{margin-bottom:1.875rem !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-6{margin-left:5rem !important}.ms-md-7{margin-left:6rem !important}.ms-md-grid-gutter{margin-left:1.875rem !important}.ms-md-auto{margin-left:auto !important}.m-md-n1{margin:-.25rem !important}.m-md-n2{margin:-.5rem !important}.m-md-n3{margin:-1rem !important}.m-md-n4{margin:-1.5rem !important}.m-md-n5{margin:-3rem !important}.m-md-n6{margin:-5rem !important}.m-md-n7{margin:-6rem !important}.m-md-ngrid-gutter{margin:-1.875rem !important}.mx-md-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-md-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-md-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-md-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-md-n5{margin-right:-3rem !important;margin-left:-3rem !important}.mx-md-n6{margin-right:-5rem !important;margin-left:-5rem !important}.mx-md-n7{margin-right:-6rem !important;margin-left:-6rem !important}.mx-md-ngrid-gutter{margin-right:-1.875rem !important;margin-left:-1.875rem !important}.my-md-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-md-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-md-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-md-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-md-n5{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-md-n6{margin-top:-5rem !important;margin-bottom:-5rem !important}.my-md-n7{margin-top:-6rem !important;margin-bottom:-6rem !important}.my-md-ngrid-gutter{margin-top:-1.875rem !important;margin-bottom:-1.875rem !important}.mt-md-n1{margin-top:-.25rem !important}.mt-md-n2{margin-top:-.5rem !important}.mt-md-n3{margin-top:-1rem !important}.mt-md-n4{margin-top:-1.5rem !important}.mt-md-n5{margin-top:-3rem !important}.mt-md-n6{margin-top:-5rem !important}.mt-md-n7{margin-top:-6rem !important}.mt-md-ngrid-gutter{margin-top:-1.875rem !important}.me-md-n1{margin-right:-.25rem !important}.me-md-n2{margin-right:-.5rem !important}.me-md-n3{margin-right:-1rem !important}.me-md-n4{margin-right:-1.5rem !important}.me-md-n5{margin-right:-3rem !important}.me-md-n6{margin-right:-5rem !important}.me-md-n7{margin-right:-6rem !important}.me-md-ngrid-gutter{margin-right:-1.875rem !important}.mb-md-n1{margin-bottom:-.25rem !important}.mb-md-n2{margin-bottom:-.5rem !important}.mb-md-n3{margin-bottom:-1rem !important}.mb-md-n4{margin-bottom:-1.5rem !important}.mb-md-n5{margin-bottom:-3rem !important}.mb-md-n6{margin-bottom:-5rem !important}.mb-md-n7{margin-bottom:-6rem !important}.mb-md-ngrid-gutter{margin-bottom:-1.875rem !important}.ms-md-n1{margin-left:-.25rem !important}.ms-md-n2{margin-left:-.5rem !important}.ms-md-n3{margin-left:-1rem !important}.ms-md-n4{margin-left:-1.5rem !important}.ms-md-n5{margin-left:-3rem !important}.ms-md-n6{margin-left:-5rem !important}.ms-md-n7{margin-left:-6rem !important}.ms-md-ngrid-gutter{margin-left:-1.875rem !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}.p-md-6{padding:5rem !important}.p-md-7{padding:6rem !important}.p-md-grid-gutter{padding:1.875rem !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}.px-md-6{padding-right:5rem !important;padding-left:5rem !important}.px-md-7{padding-right:6rem !important;padding-left:6rem !important}.px-md-grid-gutter{padding-right:1.875rem !important;padding-left:1.875rem !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}.py-md-6{padding-top:5rem !important;padding-bottom:5rem !important}.py-md-7{padding-top:6rem !important;padding-bottom:6rem !important}.py-md-grid-gutter{padding-top:1.875rem !important;padding-bottom:1.875rem !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}.pt-md-6{padding-top:5rem !important}.pt-md-7{padding-top:6rem !important}.pt-md-grid-gutter{padding-top:1.875rem !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}.pe-md-6{padding-right:5rem !important}.pe-md-7{padding-right:6rem !important}.pe-md-grid-gutter{padding-right:1.875rem !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}.pb-md-6{padding-bottom:5rem !important}.pb-md-7{padding-bottom:6rem !important}.pb-md-grid-gutter{padding-bottom:1.875rem !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}.ps-md-6{padding-left:5rem !important}.ps-md-7{padding-left:6rem !important}.ps-md-grid-gutter{padding-left:1.875rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}.text-md-wrap{white-space:normal !important}.text-md-nowrap{white-space:nowrap !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}.gap-lg-6{gap:5rem !important}.gap-lg-7{gap:6rem !important}.gap-lg-grid-gutter{gap:1.875rem !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-6{margin:5rem !important}.m-lg-7{margin:6rem !important}.m-lg-grid-gutter{margin:1.875rem !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-6{margin-right:5rem !important;margin-left:5rem !important}.mx-lg-7{margin-right:6rem !important;margin-left:6rem !important}.mx-lg-grid-gutter{margin-right:1.875rem !important;margin-left:1.875rem !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-6{margin-top:5rem !important;margin-bottom:5rem !important}.my-lg-7{margin-top:6rem !important;margin-bottom:6rem !important}.my-lg-grid-gutter{margin-top:1.875rem !important;margin-bottom:1.875rem !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-6{margin-top:5rem !important}.mt-lg-7{margin-top:6rem !important}.mt-lg-grid-gutter{margin-top:1.875rem !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-6{margin-right:5rem !important}.me-lg-7{margin-right:6rem !important}.me-lg-grid-gutter{margin-right:1.875rem !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-6{margin-bottom:5rem !important}.mb-lg-7{margin-bottom:6rem !important}.mb-lg-grid-gutter{margin-bottom:1.875rem !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-6{margin-left:5rem !important}.ms-lg-7{margin-left:6rem !important}.ms-lg-grid-gutter{margin-left:1.875rem !important}.ms-lg-auto{margin-left:auto !important}.m-lg-n1{margin:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.m-lg-n3{margin:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.m-lg-n6{margin:-5rem !important}.m-lg-n7{margin:-6rem !important}.m-lg-ngrid-gutter{margin:-1.875rem !important}.mx-lg-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-lg-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-lg-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-lg-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-lg-n5{margin-right:-3rem !important;margin-left:-3rem !important}.mx-lg-n6{margin-right:-5rem !important;margin-left:-5rem !important}.mx-lg-n7{margin-right:-6rem !important;margin-left:-6rem !important}.mx-lg-ngrid-gutter{margin-right:-1.875rem !important;margin-left:-1.875rem !important}.my-lg-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-lg-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-lg-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-lg-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-lg-n5{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-lg-n6{margin-top:-5rem !important;margin-bottom:-5rem !important}.my-lg-n7{margin-top:-6rem !important;margin-bottom:-6rem !important}.my-lg-ngrid-gutter{margin-top:-1.875rem !important;margin-bottom:-1.875rem !important}.mt-lg-n1{margin-top:-.25rem !important}.mt-lg-n2{margin-top:-.5rem !important}.mt-lg-n3{margin-top:-1rem !important}.mt-lg-n4{margin-top:-1.5rem !important}.mt-lg-n5{margin-top:-3rem !important}.mt-lg-n6{margin-top:-5rem !important}.mt-lg-n7{margin-top:-6rem !important}.mt-lg-ngrid-gutter{margin-top:-1.875rem !important}.me-lg-n1{margin-right:-.25rem !important}.me-lg-n2{margin-right:-.5rem !important}.me-lg-n3{margin-right:-1rem !important}.me-lg-n4{margin-right:-1.5rem !important}.me-lg-n5{margin-right:-3rem !important}.me-lg-n6{margin-right:-5rem !important}.me-lg-n7{margin-right:-6rem !important}.me-lg-ngrid-gutter{margin-right:-1.875rem !important}.mb-lg-n1{margin-bottom:-.25rem !important}.mb-lg-n2{margin-bottom:-.5rem !important}.mb-lg-n3{margin-bottom:-1rem !important}.mb-lg-n4{margin-bottom:-1.5rem !important}.mb-lg-n5{margin-bottom:-3rem !important}.mb-lg-n6{margin-bottom:-5rem !important}.mb-lg-n7{margin-bottom:-6rem !important}.mb-lg-ngrid-gutter{margin-bottom:-1.875rem !important}.ms-lg-n1{margin-left:-.25rem !important}.ms-lg-n2{margin-left:-.5rem !important}.ms-lg-n3{margin-left:-1rem !important}.ms-lg-n4{margin-left:-1.5rem !important}.ms-lg-n5{margin-left:-3rem !important}.ms-lg-n6{margin-left:-5rem !important}.ms-lg-n7{margin-left:-6rem !important}.ms-lg-ngrid-gutter{margin-left:-1.875rem !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}.p-lg-6{padding:5rem !important}.p-lg-7{padding:6rem !important}.p-lg-grid-gutter{padding:1.875rem !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}.px-lg-6{padding-right:5rem !important;padding-left:5rem !important}.px-lg-7{padding-right:6rem !important;padding-left:6rem !important}.px-lg-grid-gutter{padding-right:1.875rem !important;padding-left:1.875rem !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}.py-lg-6{padding-top:5rem !important;padding-bottom:5rem !important}.py-lg-7{padding-top:6rem !important;padding-bottom:6rem !important}.py-lg-grid-gutter{padding-top:1.875rem !important;padding-bottom:1.875rem !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}.pt-lg-6{padding-top:5rem !important}.pt-lg-7{padding-top:6rem !important}.pt-lg-grid-gutter{padding-top:1.875rem !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}.pe-lg-6{padding-right:5rem !important}.pe-lg-7{padding-right:6rem !important}.pe-lg-grid-gutter{padding-right:1.875rem !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}.pb-lg-6{padding-bottom:5rem !important}.pb-lg-7{padding-bottom:6rem !important}.pb-lg-grid-gutter{padding-bottom:1.875rem !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}.ps-lg-6{padding-left:5rem !important}.ps-lg-7{padding-left:6rem !important}.ps-lg-grid-gutter{padding-left:1.875rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}.text-lg-wrap{white-space:normal !important}.text-lg-nowrap{white-space:nowrap !important}}@media (min-width: 1280px){.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}.gap-xl-6{gap:5rem !important}.gap-xl-7{gap:6rem !important}.gap-xl-grid-gutter{gap:1.875rem !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-6{margin:5rem !important}.m-xl-7{margin:6rem !important}.m-xl-grid-gutter{margin:1.875rem !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-6{margin-right:5rem !important;margin-left:5rem !important}.mx-xl-7{margin-right:6rem !important;margin-left:6rem !important}.mx-xl-grid-gutter{margin-right:1.875rem !important;margin-left:1.875rem !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-6{margin-top:5rem !important;margin-bottom:5rem !important}.my-xl-7{margin-top:6rem !important;margin-bottom:6rem !important}.my-xl-grid-gutter{margin-top:1.875rem !important;margin-bottom:1.875rem !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-6{margin-top:5rem !important}.mt-xl-7{margin-top:6rem !important}.mt-xl-grid-gutter{margin-top:1.875rem !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-6{margin-right:5rem !important}.me-xl-7{margin-right:6rem !important}.me-xl-grid-gutter{margin-right:1.875rem !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-6{margin-bottom:5rem !important}.mb-xl-7{margin-bottom:6rem !important}.mb-xl-grid-gutter{margin-bottom:1.875rem !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-6{margin-left:5rem !important}.ms-xl-7{margin-left:6rem !important}.ms-xl-grid-gutter{margin-left:1.875rem !important}.ms-xl-auto{margin-left:auto !important}.m-xl-n1{margin:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.m-xl-n3{margin:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.m-xl-n6{margin:-5rem !important}.m-xl-n7{margin:-6rem !important}.m-xl-ngrid-gutter{margin:-1.875rem !important}.mx-xl-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-xl-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-xl-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-xl-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-xl-n5{margin-right:-3rem !important;margin-left:-3rem !important}.mx-xl-n6{margin-right:-5rem !important;margin-left:-5rem !important}.mx-xl-n7{margin-right:-6rem !important;margin-left:-6rem !important}.mx-xl-ngrid-gutter{margin-right:-1.875rem !important;margin-left:-1.875rem !important}.my-xl-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-xl-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-xl-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-xl-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-xl-n5{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-xl-n6{margin-top:-5rem !important;margin-bottom:-5rem !important}.my-xl-n7{margin-top:-6rem !important;margin-bottom:-6rem !important}.my-xl-ngrid-gutter{margin-top:-1.875rem !important;margin-bottom:-1.875rem !important}.mt-xl-n1{margin-top:-.25rem !important}.mt-xl-n2{margin-top:-.5rem !important}.mt-xl-n3{margin-top:-1rem !important}.mt-xl-n4{margin-top:-1.5rem !important}.mt-xl-n5{margin-top:-3rem !important}.mt-xl-n6{margin-top:-5rem !important}.mt-xl-n7{margin-top:-6rem !important}.mt-xl-ngrid-gutter{margin-top:-1.875rem !important}.me-xl-n1{margin-right:-.25rem !important}.me-xl-n2{margin-right:-.5rem !important}.me-xl-n3{margin-right:-1rem !important}.me-xl-n4{margin-right:-1.5rem !important}.me-xl-n5{margin-right:-3rem !important}.me-xl-n6{margin-right:-5rem !important}.me-xl-n7{margin-right:-6rem !important}.me-xl-ngrid-gutter{margin-right:-1.875rem !important}.mb-xl-n1{margin-bottom:-.25rem !important}.mb-xl-n2{margin-bottom:-.5rem !important}.mb-xl-n3{margin-bottom:-1rem !important}.mb-xl-n4{margin-bottom:-1.5rem !important}.mb-xl-n5{margin-bottom:-3rem !important}.mb-xl-n6{margin-bottom:-5rem !important}.mb-xl-n7{margin-bottom:-6rem !important}.mb-xl-ngrid-gutter{margin-bottom:-1.875rem !important}.ms-xl-n1{margin-left:-.25rem !important}.ms-xl-n2{margin-left:-.5rem !important}.ms-xl-n3{margin-left:-1rem !important}.ms-xl-n4{margin-left:-1.5rem !important}.ms-xl-n5{margin-left:-3rem !important}.ms-xl-n6{margin-left:-5rem !important}.ms-xl-n7{margin-left:-6rem !important}.ms-xl-ngrid-gutter{margin-left:-1.875rem !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}.p-xl-6{padding:5rem !important}.p-xl-7{padding:6rem !important}.p-xl-grid-gutter{padding:1.875rem !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}.px-xl-6{padding-right:5rem !important;padding-left:5rem !important}.px-xl-7{padding-right:6rem !important;padding-left:6rem !important}.px-xl-grid-gutter{padding-right:1.875rem !important;padding-left:1.875rem !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}.py-xl-6{padding-top:5rem !important;padding-bottom:5rem !important}.py-xl-7{padding-top:6rem !important;padding-bottom:6rem !important}.py-xl-grid-gutter{padding-top:1.875rem !important;padding-bottom:1.875rem !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}.pt-xl-6{padding-top:5rem !important}.pt-xl-7{padding-top:6rem !important}.pt-xl-grid-gutter{padding-top:1.875rem !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}.pe-xl-6{padding-right:5rem !important}.pe-xl-7{padding-right:6rem !important}.pe-xl-grid-gutter{padding-right:1.875rem !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}.pb-xl-6{padding-bottom:5rem !important}.pb-xl-7{padding-bottom:6rem !important}.pb-xl-grid-gutter{padding-bottom:1.875rem !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}.ps-xl-6{padding-left:5rem !important}.ps-xl-7{padding-left:6rem !important}.ps-xl-grid-gutter{padding-left:1.875rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}.text-xl-wrap{white-space:normal !important}.text-xl-nowrap{white-space:nowrap !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}.gap-xxl-6{gap:5rem !important}.gap-xxl-7{gap:6rem !important}.gap-xxl-grid-gutter{gap:1.875rem !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-6{margin:5rem !important}.m-xxl-7{margin:6rem !important}.m-xxl-grid-gutter{margin:1.875rem !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-6{margin-right:5rem !important;margin-left:5rem !important}.mx-xxl-7{margin-right:6rem !important;margin-left:6rem !important}.mx-xxl-grid-gutter{margin-right:1.875rem !important;margin-left:1.875rem !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-6{margin-top:5rem !important;margin-bottom:5rem !important}.my-xxl-7{margin-top:6rem !important;margin-bottom:6rem !important}.my-xxl-grid-gutter{margin-top:1.875rem !important;margin-bottom:1.875rem !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-6{margin-top:5rem !important}.mt-xxl-7{margin-top:6rem !important}.mt-xxl-grid-gutter{margin-top:1.875rem !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-6{margin-right:5rem !important}.me-xxl-7{margin-right:6rem !important}.me-xxl-grid-gutter{margin-right:1.875rem !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-6{margin-bottom:5rem !important}.mb-xxl-7{margin-bottom:6rem !important}.mb-xxl-grid-gutter{margin-bottom:1.875rem !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-6{margin-left:5rem !important}.ms-xxl-7{margin-left:6rem !important}.ms-xxl-grid-gutter{margin-left:1.875rem !important}.ms-xxl-auto{margin-left:auto !important}.m-xxl-n1{margin:-.25rem !important}.m-xxl-n2{margin:-.5rem !important}.m-xxl-n3{margin:-1rem !important}.m-xxl-n4{margin:-1.5rem !important}.m-xxl-n5{margin:-3rem !important}.m-xxl-n6{margin:-5rem !important}.m-xxl-n7{margin:-6rem !important}.m-xxl-ngrid-gutter{margin:-1.875rem !important}.mx-xxl-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-xxl-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-xxl-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-xxl-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-xxl-n5{margin-right:-3rem !important;margin-left:-3rem !important}.mx-xxl-n6{margin-right:-5rem !important;margin-left:-5rem !important}.mx-xxl-n7{margin-right:-6rem !important;margin-left:-6rem !important}.mx-xxl-ngrid-gutter{margin-right:-1.875rem !important;margin-left:-1.875rem !important}.my-xxl-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-xxl-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-xxl-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-xxl-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-xxl-n5{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-xxl-n6{margin-top:-5rem !important;margin-bottom:-5rem !important}.my-xxl-n7{margin-top:-6rem !important;margin-bottom:-6rem !important}.my-xxl-ngrid-gutter{margin-top:-1.875rem !important;margin-bottom:-1.875rem !important}.mt-xxl-n1{margin-top:-.25rem !important}.mt-xxl-n2{margin-top:-.5rem !important}.mt-xxl-n3{margin-top:-1rem !important}.mt-xxl-n4{margin-top:-1.5rem !important}.mt-xxl-n5{margin-top:-3rem !important}.mt-xxl-n6{margin-top:-5rem !important}.mt-xxl-n7{margin-top:-6rem !important}.mt-xxl-ngrid-gutter{margin-top:-1.875rem !important}.me-xxl-n1{margin-right:-.25rem !important}.me-xxl-n2{margin-right:-.5rem !important}.me-xxl-n3{margin-right:-1rem !important}.me-xxl-n4{margin-right:-1.5rem !important}.me-xxl-n5{margin-right:-3rem !important}.me-xxl-n6{margin-right:-5rem !important}.me-xxl-n7{margin-right:-6rem !important}.me-xxl-ngrid-gutter{margin-right:-1.875rem !important}.mb-xxl-n1{margin-bottom:-.25rem !important}.mb-xxl-n2{margin-bottom:-.5rem !important}.mb-xxl-n3{margin-bottom:-1rem !important}.mb-xxl-n4{margin-bottom:-1.5rem !important}.mb-xxl-n5{margin-bottom:-3rem !important}.mb-xxl-n6{margin-bottom:-5rem !important}.mb-xxl-n7{margin-bottom:-6rem !important}.mb-xxl-ngrid-gutter{margin-bottom:-1.875rem !important}.ms-xxl-n1{margin-left:-.25rem !important}.ms-xxl-n2{margin-left:-.5rem !important}.ms-xxl-n3{margin-left:-1rem !important}.ms-xxl-n4{margin-left:-1.5rem !important}.ms-xxl-n5{margin-left:-3rem !important}.ms-xxl-n6{margin-left:-5rem !important}.ms-xxl-n7{margin-left:-6rem !important}.ms-xxl-ngrid-gutter{margin-left:-1.875rem !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}.p-xxl-6{padding:5rem !important}.p-xxl-7{padding:6rem !important}.p-xxl-grid-gutter{padding:1.875rem !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}.px-xxl-6{padding-right:5rem !important;padding-left:5rem !important}.px-xxl-7{padding-right:6rem !important;padding-left:6rem !important}.px-xxl-grid-gutter{padding-right:1.875rem !important;padding-left:1.875rem !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}.py-xxl-6{padding-top:5rem !important;padding-bottom:5rem !important}.py-xxl-7{padding-top:6rem !important;padding-bottom:6rem !important}.py-xxl-grid-gutter{padding-top:1.875rem !important;padding-bottom:1.875rem !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}.pt-xxl-6{padding-top:5rem !important}.pt-xxl-7{padding-top:6rem !important}.pt-xxl-grid-gutter{padding-top:1.875rem !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}.pe-xxl-6{padding-right:5rem !important}.pe-xxl-7{padding-right:6rem !important}.pe-xxl-grid-gutter{padding-right:1.875rem !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}.pb-xxl-6{padding-bottom:5rem !important}.pb-xxl-7{padding-bottom:6rem !important}.pb-xxl-grid-gutter{padding-bottom:1.875rem !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}.ps-xxl-6{padding-left:5rem !important}.ps-xxl-7{padding-left:6rem !important}.ps-xxl-grid-gutter{padding-left:1.875rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}.text-xxl-wrap{white-space:normal !important}.text-xxl-nowrap{white-space:nowrap !important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.625rem !important}.fs-4{font-size:1.375rem !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}}html *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%}body{display:flex;flex-direction:column}.page-wrapper{flex:1 0 auto}.footer{flex-shrink:0}a:focus{outline:none}a{transition:color 0.2s ease-in-out}img,figure{max-width:100%;height:auto;vertical-align:middle}svg{max-width:100%}iframe{width:100%}.iframe-full-height-wrap{min-height:18rem;overflow:hidden}.iframe-full-height{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}::selection{background:rgba(118,109,244,0.22)}::-moz-selection{background:rgba(118,109,244,0.22)}@media (min-width: 1280px){.container-fluid,.container-sm,.container-md,.container-lg,.container-xl{padding-right:1.875rem;padding-left:1.875rem}}small,.small{font-weight:inherit}@media (max-width: 767.98px){body{padding-top:0 !important}}button:focus{outline:none}.hr-light{color:rgba(255,255,255,0.14)}h1,.h1,.h1{line-height:1.2}h2,.h2,.h2{line-height:1.25}h3,.h3,.h3{line-height:1.3}h4,.h4,.h4{line-height:1.35}h5,.h5,.h5{line-height:1.4}h6,.h6,.h6{line-height:1.4}ul li,ol li{margin-bottom:.3333333333rem}.list-inline-item:not(:last-child){margin-right:1.25rem}dt{color:#4a4b65;margin-bottom:.25rem;font-weight:600}dd{font-size:.875rem;margin-bottom:1rem}.blockquote{position:relative;padding-left:5.875rem}.blockquote::before{display:block;position:absolute;top:-.75rem;left:0;color:rgba(118,109,244,0.5);font-family:\"around-icons\";font-size:4rem;font-weight:normal;line-height:1;content:\"\"}.blockquote.text-center,.text-center .blockquote{padding-top:5rem;padding-left:0}.blockquote.text-center::before,.text-center .blockquote::before{top:0;left:50%;margin-left:-2rem}.blockquote.text-end,.text-end .blockquote{padding-right:5.875rem;padding-left:0}.blockquote.text-end::before,.text-end .blockquote::before{right:0;left:auto}.blockquote-footer{margin-top:0;font-weight:500}.callout{padding-left:1.5rem;border-left:0.25rem solid #766df4}:not(pre)>code[class*='language-'],pre[class*='language-'],pre{margin:0;padding-top:1.5rem;padding-bottom:1.5rem;background-color:#f7f7fc;font-size:.875em}pre{padding-right:1rem;padding-left:1rem}.code-toolbar :not(pre)>code[class*='language-'],.code-toolbar pre[class*='language-']{padding-top:2rem}code[class*=\"language-\"],pre[class*=\"language-\"],pre{color:#4f5067}.line-numbers .line-numbers-rows{border-right:1px solid #dfdfec}.line-numbers .line-numbers-rows>span::before{color:#9e9fb4}div.code-toolbar>.toolbar{opacity:1}div.code-toolbar>.toolbar button{display:inline-block;margin:.375rem .5rem;padding:.25rem .75rem;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,border-color 0.25s ease-in-out;border-radius:.5rem;border:1px solid rgba(118,109,244,0.35);background-color:transparent;color:#766df4 !important;box-shadow:none}div.code-toolbar>.toolbar button:focus{outline:none;box-shadow:none}div.code-toolbar>.toolbar button:hover{background-color:#766df4;color:#fff !important}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#4e54c8}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#9596ad}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector{color:#4091e3}.token.atrule,.token.attr-value,.token.keyword,.token.string{color:#e3116c}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#36acaa}.token.class-name,.token.function{color:#36acaa}.masonry-grid[data-columns]{margin-right:-.9375rem;margin-left:-.9375rem}.masonry-grid[data-columns]:not(.overflow-hidden){overflow:visible !important}.masonry-grid[data-columns]::after{display:block;clear:both;content:\"\"}.masonry-grid[data-columns] .masonry-grid-item{width:100%;float:left;padding-right:.9375rem;padding-left:.9375rem;padding-bottom:1.875rem}.masonry-grid[data-columns='1'] .masonry-grid-item{width:100%}@media (min-width: 480px){.masonry-grid[data-columns='2'] .masonry-grid-item,.masonry-grid[data-columns='3'] .masonry-grid-item,.masonry-grid[data-columns='4'] .masonry-grid-item,.masonry-grid[data-columns='5'] .masonry-grid-item,.masonry-grid[data-columns='6'] .masonry-grid-item{width:50%}}@media (min-width: 768px){.masonry-grid[data-columns='3'] .masonry-grid-item,.masonry-grid[data-columns='4'] .masonry-grid-item,.masonry-grid[data-columns='5'] .masonry-grid-item,.masonry-grid[data-columns='6'] .masonry-grid-item{width:33.3333333333%}}@media (min-width: 992px){.masonry-grid[data-columns='4'] .masonry-grid-item,.masonry-grid[data-columns='5'] .masonry-grid-item,.masonry-grid[data-columns='6'] .masonry-grid-item{width:25%}}@media (min-width: 1280px){.masonry-grid[data-columns='5'] .masonry-grid-item{width:20%}.masonry-grid[data-columns='6'] .masonry-grid-item{width:16.6666666667%}}.table-dark td{color:rgba(255,255,255,0.75)}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#f7f7fc}.table>:not(:last-child)>:last-child>*{border-bottom-color:#b9b9d6}.table.table-dark>:not(:last-child)>:last-child>*{border-bottom-color:rgba(255,255,255,0.5)}.form-control:disabled,.form-select:disabled{cursor:not-allowed}.form-label-sm{padding-left:1rem}.form-label{padding-left:1.125rem}.form-label-lg{padding-left:1.25rem}.form-check-label{font-size:.875rem}.col-form-label{font-size:.875rem}input[type=\"search\"]::-webkit-search-decoration,input[type=\"search\"]::-webkit-search-cancel-button,input[type=\"search\"]::-webkit-search-results-button,input[type=\"search\"]::-webkit-search-results-decoration{display:none}.form-switch .form-check-input{height:1.25em;border:0;background-color:#e3e3ee}.form-switch .form-check-input:checked{background-color:#766df4}.valid-tooltip,.invalid-tooltip{position:static}.valid-tooltip{color:#16c995}.invalid-tooltip{color:#f74f78}.was-validated :valid ~ .valid-tooltip,.was-validated :invalid ~ .invalid-tooltip,.is-valid ~ .valid-tooltip,.is-invalid ~ .invalid-tooltip{display:inline-block}.was-validated .form-control:invalid ~ .invalid-tooltip,.was-validated .form-control.is-invalid ~ .invalid-tooltip,.was-validated .form-check-input:invalid ~ .invalid-tooltip,.was-validated .form-check-input.is-invalid ~ .invalid-tooltip{display:table}.was-validated .form-control:valid ~ .valid-tooltip,.was-validated .form-control.is-valid ~ .valid-tooltip,.was-validated .form-check-input:valid ~ .valid-tooltip,.was-validated .form-check-input.is-valid ~ .valid-tooltip{display:table}.was-validated .form-control:valid,.was-validated .form-control.is-valid,.was-validated .form-select:valid,.was-validated .form-select.is-valid{border-color:#dfdfeb !important}.was-validated .form-check-input:not(:checked):valid,.was-validated .form-check-input:not(:checked).is-valid{border-color:#dfdfeb !important}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:transparent;border-color:#9e9fb4}.was-validated .form-check-input:valid ~ .form-check-label,.was-validated .form-check-input.is-valid ~ .form-check-label{color:inherit}.was-validated .form-check-input:valid:checked,.was-validated .form-check-input.is-valid:checked{border-color:#766df4;background-color:#766df4;box-shadow:none}.password-toggle{position:relative}.password-toggle .form-control{padding-right:3rem}.password-toggle-btn{position:absolute;top:50%;right:.625rem;margin-bottom:0;padding:.5rem;transform:translateY(-50%);font-size:1.125rem;line-height:1;cursor:pointer}.password-toggle-btn .password-toggle-indicator{transition:color .2s ease-in-out;color:#9e9fb4;font-family:\"around-icons\";font-style:normal}.password-toggle-btn .password-toggle-indicator::before{content:\"\"}.password-toggle-btn .password-toggle-indicator:hover{color:#737491}.password-toggle-btn .password-toggle-check{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.password-toggle-btn .password-toggle-check:checked ~ .password-toggle-indicator::before{content:\"\"}.was-validated .password-toggle .form-control:invalid,.was-validated .password-toggle .form-control.is-invalid,.was-validated .password-toggle .form-control:valid,.was-validated .password-toggle .form-control.is-valid{padding-right:4rem}.was-validated .password-toggle .form-control:invalid+.password-toggle-btn,.was-validated .password-toggle .form-control.is-invalid+.password-toggle-btn,.was-validated .password-toggle .form-control:valid+.password-toggle-btn,.was-validated .password-toggle .form-control.is-valid+.password-toggle-btn{right:2.1rem}.form-option{padding-left:0}.form-option.form-check-inline{margin-right:.25rem}.form-option .form-check-input{border:0;background:none}.form-option-label{position:relative;margin-bottom:0;padding-top:.0625rem;padding-right:.375rem;padding-left:.375rem;transition:color 0.2s ease-in-out,border-color 0.2s ease-in-out;border:1px solid #e9e9f2;border-radius:.5rem;color:#5a5b75;font-size:.9375rem;font-weight:normal;text-align:center;line-height:2.5rem;cursor:pointer}.form-option-size .form-option-label{min-width:2.75rem;height:2.75rem}.form-option-size .form-check-input:checked ~ .form-option-label{border-color:#766df4;background-color:#fff;color:#766df4}.form-option-size .form-option-label:hover{border-color:#cfcfe3;color:#4a4b65}.form-option-color .form-option-label{min-width:1.625rem;height:1.625rem}.form-option-color .form-option-label{border-color:transparent}.form-option-color .form-check-input:checked ~ .form-option-label{border-color:#e9e9f2;color:#766df4}.form-option-color-indicator{display:block;position:absolute;top:50%;left:50%;width:1rem;height:1rem;margin-top:-.5rem;margin-left:-.5rem}.file-drop-area{position:relative;padding:2.5rem 1rem;transition:border-color 0.2s ease-in-out,box-shadow 0.2s ease-in-out;border:2px dashed #dfdfeb;border-radius:1rem;background-color:#fff;text-align:center;cursor:pointer}.file-drop-area .file-drop-input{display:block;position:absolute;top:0;left:0;width:100%;height:100%;background-color:transparent;opacity:0;outline:none;cursor:pointer;z-index:2}.file-drop-area .file-drop-icon{display:block;margin-bottom:.75rem;color:#9e9fb4;font-size:1.5rem}.file-drop-area .file-drop-preview{max-width:16rem;margin-right:auto;margin-bottom:.75rem;margin-left:auto}.file-drop-area .file-drop-message{display:block;font-size:.875rem;margin-bottom:1.25rem}.file-drop-area .btn{position:relative;z-index:3}.file-drop-area:hover{border-color:#c9c9dd}.subscription-status{display:table;border-radius:.5rem;font-size:.8125rem;text-align:center}.subscription-status.status-success,.subscription-status.status-error{margin-top:.5rem;padding:.25rem .375rem}.subscription-status.status-success{background-color:rgba(22,201,149,0.1);color:#119b73}.subscription-status.status-error{background-color:rgba(247,79,120,0.1);color:#f74f78}.signin-form{position:relative;width:652px;min-height:556px !important;padding-bottom:40px;overflow:hidden}.signin-form::before,.signin-form::after{position:absolute;content:''}.signin-form::before{left:0;bottom:0;width:100%;height:556px;background-image:url(../img/account/signin-illustration.png);background-repeat:no-repeat;background-size:cover}.signin-form::after{left:122px;bottom:556px;width:412px;height:100%;background-color:#fff}.signin-form .signin-form-inner{position:relative;max-width:390px;margin:0 auto;padding:32px 30px 0 30px;background-color:#fff;z-index:5}@media (max-width: 499.98px){.signin-form{padding-bottom:0;overflow:visible}.signin-form::before,.signin-form::after{display:none}.signin-form .signin-form-inner{padding:40px 20px;border-radius:1rem;box-shadow:0 0 0.625rem -0.1875rem rgba(0,0,0,0.13)}}.btn-primary{color:#fff}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.show{background-color:#5549f1;border-color:#5549f1;color:#fff}.btn-primary:disabled,.btn-primary.disabled{color:#fff}.btn-secondary{color:#fff}.btn-secondary:hover,.btn-secondary:focus,.btn-secondary:active,.btn-secondary.active,.btn-secondary.show{background-color:#dbdbf2;border-color:#dbdbf2;color:#fff}.btn-secondary:disabled,.btn-secondary.disabled{color:#fff}.btn-success{color:#fff}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.show{background-color:#12a77b;border-color:#12a77b;color:#fff}.btn-success:disabled,.btn-success.disabled{color:#fff}.btn-info{color:#fff}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.show{background-color:#4683f1;border-color:#4683f1;color:#fff}.btn-info:disabled,.btn-info.disabled{color:#fff}.btn-warning{color:#fff}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.show{background-color:#ff9f36;border-color:#ff9f36;color:#fff}.btn-warning:disabled,.btn-warning.disabled{color:#fff}.btn-danger{color:#fff}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.show{background-color:#f52a5c;border-color:#f52a5c;color:#fff}.btn-danger:disabled,.btn-danger.disabled{color:#fff}.btn-dark{color:#fff}.btn-dark:hover,.btn-dark:focus,.btn-dark:active,.btn-dark.active,.btn-dark.show{background-color:#272838;border-color:#272838;color:#fff}.btn-dark:disabled,.btn-dark.disabled{color:#fff}.btn-secondary,.btn-secondary:hover,.btn-secondary:focus,.btn-secondary:active,.btn-secondary.active,.btn-secondary.show{color:#5a5b75}.btn-secondary:disabled,.btn-secondary.disabled{color:#5a5b75}.btn-light{border-color:transparent;background-color:#fff;color:#5a5b75}.btn-light:hover,.btn-light:focus,.btn-light:active,.btn-light.active{border-color:#fff;background-color:#fff}[class^='btn-outline-']:hover,[class^='btn-outline-']:active,[class^='btn-outline-'].active,[class^='btn-outline-'].dropdown-toggle.show,[class*=' btn-outline-']:hover,[class*=' btn-outline-']:active,[class*=' btn-outline-'].active,[class*=' btn-outline-'].dropdown-toggle.show{color:#fff}.btn-outline-primary{border-color:rgba(118,109,244,0.35)}.btn-outline-success{border-color:rgba(22,201,149,0.35)}.btn-outline-info{border-color:rgba(106,155,244,0.35)}.btn-outline-warning{border-color:rgba(255,177,92,0.35)}.btn-outline-danger{border-color:rgba(247,79,120,0.35)}.btn-outline-light{border-color:rgba(255,255,255,0.14)}.btn-outline-dark{border-color:rgba(55,56,78,0.35)}.btn-outline-secondary{border-color:#dfdfeb;color:#5a5b75}.btn-outline-secondary:hover,.btn-outline-secondary:focus,.btn-outline-secondary:active,.btn-outline-secondary.active,.btn-outline-secondary.show{border-color:#9e9fb4;background-color:transparent;color:#4a4b65 !important}.btn-outline-light{border-color:rgba(255,255,255,0.35)}.btn-outline-light:hover,.btn-outline-light:focus,.btn-outline-light:active,.btn-outline-light.active,.btn-outline-light.show{background-color:#fff;color:#4a4b65}.btn-check+.btn-outline-primary:hover,.btn-check+.btn-outline-primary:active{border-color:rgba(118,109,244,0.35);background-color:transparent;color:#766df4}.btn-check:checked+.btn-outline-primary{border-color:transparent;background-color:rgba(118,109,244,0.08);color:#766df4}.btn-check:checked+.btn-outline-primary:active{color:#766df4}[class^='btn-translucent-']:hover,[class^='btn-translucent-']:focus,[class^='btn-translucent-']:active,[class^='btn-translucent-'].active,[class^='btn-translucent-'].show,[class*=' btn-translucent-']:hover,[class*=' btn-translucent-']:focus,[class*=' btn-translucent-']:active,[class*=' btn-translucent-'].active,[class*=' btn-translucent-'].show{color:#fff}.btn-translucent-primary{background-color:rgba(118,109,244,0.08)}.btn-translucent-success{background-color:rgba(22,201,149,0.08)}.btn-translucent-info{background-color:rgba(106,155,244,0.08)}.btn-translucent-warning{background-color:rgba(255,177,92,0.08)}.btn-translucent-danger{background-color:rgba(247,79,120,0.08)}.btn-translucent-light{background-color:rgba(255,255,255,0.08)}.btn-translucent-dark{background-color:rgba(55,56,78,0.08)}.btn-translucent-primary{color:#766df4}.btn-translucent-primary:hover,.btn-translucent-primary:focus,.btn-translucent-primary:active,.btn-translucent-primary.active,.btn-translucent-primary.show{background-color:#766df4}.btn-translucent-success{color:#16c995}.btn-translucent-success:hover,.btn-translucent-success:focus,.btn-translucent-success:active,.btn-translucent-success.active,.btn-translucent-success.show{background-color:#16c995}.btn-translucent-info{color:#6a9bf4}.btn-translucent-info:hover,.btn-translucent-info:focus,.btn-translucent-info:active,.btn-translucent-info.active,.btn-translucent-info.show{background-color:#6a9bf4}.btn-translucent-warning{color:#ffb15c}.btn-translucent-warning:hover,.btn-translucent-warning:focus,.btn-translucent-warning:active,.btn-translucent-warning.active,.btn-translucent-warning.show{background-color:#ffb15c}.btn-translucent-danger{color:#f74f78}.btn-translucent-danger:hover,.btn-translucent-danger:focus,.btn-translucent-danger:active,.btn-translucent-danger.active,.btn-translucent-danger.show{background-color:#f74f78}.btn-translucent-dark{color:#37384e}.btn-translucent-dark:hover,.btn-translucent-dark:focus,.btn-translucent-dark:active,.btn-translucent-dark.active,.btn-translucent-dark.show{background-color:#37384e}.btn-translucent-light{color:#fff}.btn-translucent-light:hover,.btn-translucent-light:focus,.btn-translucent-light:active,.btn-translucent-light.active,.btn-translucent-light.show{background-color:#fff;color:#37384e}.btn-link{font-weight:500;text-decoration:none}.btn-link:hover,.btn-link:focus,.btn-link:active,.btn-link.active,.btn-link.show{text-decoration:underline}.btn-gradient{background-color:#766df4;background-image:linear-gradient(to right, #766df4 0%, #766df4 30%, #6a9bf4 100%)}.btn-gradient,.btn-gradient:hover,.btn-gradient:focus,.btn-gradient:active,.btn-gradient.active,.btn-gradient.show{color:#fff}.btn>[class^='ai-'],.btn>[class*=' ai-']{margin-top:-.125rem;vertical-align:middle;font-size:1rem}.btn-icon{padding:.5625rem .7875rem}.btn-market{display:inline-block;padding:.375rem 1rem;padding-left:3rem;border-radius:1rem;background-position:center left .75rem;background-color:#37384e;background-size:1.5rem 1.5rem;background-repeat:no-repeat;text-decoration:none;white-space:nowrap}.btn-market .btn-market-title{display:block;color:#fff;font-size:1.125rem}.btn-market .btn-market-subtitle{display:block;margin-bottom:-.125rem;color:rgba(255,255,255,0.6);font-size:.75rem}.btn-market:hover{text-decoration:none}.btn-market.btn-outline{transition:background-color 0.25s ease-in-out;border:1px solid rgba(255,255,255,0.15);background-color:transparent}.btn-market.btn-outline:hover{background-color:rgba(255,255,255,0.08)}.btn-apple{background-image:url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMDUgMzA1IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMDUgMzA1OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCI+CjxnIGlkPSJYTUxJRF8yMjhfIj4KCTxwYXRoIGlkPSJYTUxJRF8yMjlfIiBkPSJNNDAuNzM4LDExMi4xMTljLTI1Ljc4NSw0NC43NDUtOS4zOTMsMTEyLjY0OCwxOS4xMjEsMTUzLjgyQzc0LjA5MiwyODYuNTIzLDg4LjUwMiwzMDUsMTA4LjIzOSwzMDUgICBjMC4zNzIsMCwwLjc0NS0wLjAwNywxLjEyNy0wLjAyMmM5LjI3My0wLjM3LDE1Ljk3NC0zLjIyNSwyMi40NTMtNS45ODRjNy4yNzQtMy4xLDE0Ljc5Ny02LjMwNSwyNi41OTctNi4zMDUgICBjMTEuMjI2LDAsMTguMzksMy4xMDEsMjUuMzE4LDYuMDk5YzYuODI4LDIuOTU0LDEzLjg2MSw2LjAxLDI0LjI1Myw1LjgxNWMyMi4yMzItMC40MTQsMzUuODgyLTIwLjM1Miw0Ny45MjUtMzcuOTQxICAgYzEyLjU2Ny0xOC4zNjUsMTguODcxLTM2LjE5NiwyMC45OTgtNDMuMDFsMC4wODYtMC4yNzFjMC40MDUtMS4yMTEtMC4xNjctMi41MzMtMS4zMjgtMy4wNjZjLTAuMDMyLTAuMDE1LTAuMTUtMC4wNjQtMC4xODMtMC4wNzggICBjLTMuOTE1LTEuNjAxLTM4LjI1Ny0xNi44MzYtMzguNjE4LTU4LjM2Yy0wLjMzNS0zMy43MzYsMjUuNzYzLTUxLjYwMSwzMC45OTctNTQuODM5bDAuMjQ0LTAuMTUyICAgYzAuNTY3LTAuMzY1LDAuOTYyLTAuOTQ0LDEuMDk2LTEuNjA2YzAuMTM0LTAuNjYxLTAuMDA2LTEuMzQ5LTAuMzg2LTEuOTA1Yy0xOC4wMTQtMjYuMzYyLTQ1LjYyNC0zMC4zMzUtNTYuNzQtMzAuODEzICAgYy0xLjYxMy0wLjE2MS0zLjI3OC0wLjI0Mi00Ljk1LTAuMjQyYy0xMy4wNTYsMC0yNS41NjMsNC45MzEtMzUuNjExLDguODkzYy02LjkzNiwyLjczNS0xMi45MjcsNS4wOTctMTcuMDU5LDUuMDk3ICAgYy00LjY0MywwLTEwLjY2OC0yLjM5MS0xNy42NDUtNS4xNTljLTkuMzMtMy43MDMtMTkuOTA1LTcuODk5LTMxLjEtNy44OTljLTAuMjY3LDAtMC41MywwLjAwMy0wLjc4OSwwLjAwOCAgIEM3OC44OTQsNzMuNjQzLDU0LjI5OCw4OC41MzUsNDAuNzM4LDExMi4xMTl6IiBmaWxsPSIjRkZGRkZGIi8+Cgk8cGF0aCBpZD0iWE1MSURfMjMwXyIgZD0iTTIxMi4xMDEsMC4wMDJjLTE1Ljc2MywwLjY0Mi0zNC42NzIsMTAuMzQ1LTQ1Ljk3NCwyMy41ODNjLTkuNjA1LDExLjEyNy0xOC45ODgsMjkuNjc5LTE2LjUxNiw0OC4zNzkgICBjMC4xNTUsMS4xNywxLjEwNywyLjA3MywyLjI4NCwyLjE2NGMxLjA2NCwwLjA4MywyLjE1LDAuMTI1LDMuMjMyLDAuMTI2YzE1LjQxMywwLDMyLjA0LTguNTI3LDQzLjM5NS0yMi4yNTcgICBjMTEuOTUxLTE0LjQ5OCwxNy45OTQtMzMuMTA0LDE2LjE2Ni00OS43N0MyMTQuNTQ0LDAuOTIxLDIxMy4zOTUtMC4wNDksMjEyLjEwMSwwLjAwMnoiIGZpbGw9IiNGRkZGRkYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K)}.btn-google{background-image:url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4Ij4KPHBvbHlnb24gc3R5bGU9ImZpbGw6IzVDREFERDsiIHBvaW50cz0iMjkuNTMsMCAyOS41MywyNTEuNTA5IDI5LjUzLDUxMiAyOTkuMDA0LDI1MS41MDkgIi8+Cjxwb2x5Z29uIHN0eWxlPSJmaWxsOiNCREVDQzQ7IiBwb2ludHM9IjM2OS4wNjcsMTgwLjU0NyAyNjIuMTc1LDExOS40NjcgMjkuNTMsMCAyOTkuMDA0LDI1MS41MDkgIi8+Cjxwb2x5Z29uIHN0eWxlPSJmaWxsOiNEQzY4QTE7IiBwb2ludHM9IjI5LjUzLDUxMiAyOS41Myw1MTIgMjYyLjE3NSwzODMuNTUxIDM2OS4wNjcsMzIyLjQ3IDI5OS4wMDQsMjUxLjUwOSAiLz4KPHBhdGggc3R5bGU9ImZpbGw6I0ZGQ0E5NjsiIGQ9Ik0zNjkuMDY3LDE4MC41NDdsLTcwLjA2Myw3MC45NjFsNzAuMDYzLDcwLjk2MWwxMDguNjg4LTYyLjg3N2M2LjI4OC0zLjU5Myw2LjI4OC0xMS42NzcsMC0xNS4yNyAgTDM2OS4wNjcsMTgwLjU0N3oiLz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==)}.btn-windows{background-image:url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDQ4MCA0ODAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ4MCA0ODA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cGF0aCBkPSJNMC4xNzYsMjI0TDAuMDAxLDY3Ljk2M2wxOTItMjYuMDcyVjIyNEgwLjE3NnogTTIyNC4wMDEsMzcuMjQxTDQ3OS45MzcsMHYyMjRIMjI0LjAwMVYzNy4yNDF6IE00NzkuOTk5LDI1NmwtMC4wNjIsMjI0ICAgbC0yNTUuOTM2LTM2LjAwOFYyNTZINDc5Ljk5OXogTTE5Mi4wMDEsNDM5LjkxOEwwLjE1Nyw0MTMuNjIxTDAuMTQ3LDI1NmgxOTEuODU0VjQzOS45MTh6IiBmaWxsPSIjMDBiY2YyIi8+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==)}.btn-amazon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2FpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0idXVpZDo1RDIwODkyNDkzQkZEQjExOTE0QTg1OTBEMzE1MDhDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1QjFCQzQ2QjRGNkQxMUU3OUY5REJEQzBGNkVBQUI5QiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1QjFCQzQ2QTRGNkQxMUU3OUY5REJEQzBGNkVBQUI5QiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2QUM1ODJFMkIxNEExMUUzQkY1NEUzQkNCRjlEODA1RSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2QUM1ODJFM0IxNEExMUUzQkY1NEUzQkNCRjlEODA1RSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4g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)}.btn-scroll-top{display:block;position:fixed;right:-4.125rem;bottom:1.25rem;width:2.75rem;height:2.75rem;transition:right 400ms cubic-bezier(0.68, -0.55, 0.265, 1.55),opacity 0.3s,background-color 0.25s ease-in-out;border-radius:.75rem;background-color:rgba(55,56,78,0.25);color:#fff;text-align:center;opacity:0;z-index:1025}.btn-scroll-top>.btn-scroll-top-icon{font-size:1.125rem;font-weight:bold;line-height:2.625rem}.btn-scroll-top .btn-scroll-top-tooltip{position:absolute;top:50%;right:100%;transform:translateY(-50%);transition:opacity .25s ease-in-out, visibility .25s ease-in-out;visibility:hidden;opacity:0}.btn-scroll-top:hover{background-color:rgba(55,56,78,0.5);color:#fff}.btn-scroll-top:hover .btn-scroll-top-tooltip{visibility:visible;opacity:1}.btn-scroll-top.show{right:1.25rem;opacity:1}.btn-scroll-top.right-15{right:2.1875rem}@media (max-width: 499.98px){.btn-scroll-top{width:2.2916666667rem;height:2.2916666667rem;bottom:1rem}.btn-scroll-top>.btn-scroll-top-icon{line-height:2.2916666667rem}.btn-scroll-top.show{right:1rem}.btn-scroll-top.right-15{right:1.9375rem}}.btn-like,.btn-dislike{display:inline-block;padding:0;padding-left:.625rem;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out,border-color 0.25s ease-in-out;border:0;background:0;color:#7c7d98;font-size:.875rem;text-decoration:none !important;white-space:nowrap;vertical-align:middle}.btn-like::before,.btn-dislike::before{display:inline-block;margin-right:.375rem;font-family:\"around-icons\";font-size:1.25em;vertical-align:middle}.btn-like:first-child,.btn-dislike:first-child{padding-right:.625rem;padding-left:0;border-right:1px solid #e3e3ee}.btn-like:focus,.btn-dislike:focus{outline:none}.btn-like:hover,.btn-dislike:hover{color:#4a4b65}.btn-like::before{margin-top:-.325rem;color:#16c995;content:\"\"}.btn-dislike::before{color:#f74f78;content:\"\"}.btn-social{display:inline-block;width:2.25rem;height:2.25rem;padding:0;border:1px solid transparent;transition:border-color 0.25s ease-in-out,background-color 0.25s ease-in-out,color 0.25s ease-in-out;border-radius:.5rem;background-color:#f3f3f9;color:#6c6d89;font-size:.9375rem;text-align:center;text-decoration:none !important}.btn-social>i{line-height:2.125rem}.btn-social:hover{color:#fff}.btn-social:focus{outline:none}.btn-social:active{transition:none;box-shadow:none !important}.btn-social.bs-light{background-color:rgba(255,255,255,0.08);color:#fff}.btn-social.bs-light:hover{background-color:#fff !important;box-shadow:none !important}.bs-lg{width:2.75rem;height:2.75rem;border-radius:.75rem;font-size:1rem}.bs-lg>i{line-height:2.625rem}.bs-sm{width:1.75rem;height:1.75rem;border-radius:.5rem;font-size:.8125rem}.bs-sm>i{line-height:1.625rem}.bs-outline{border-color:#e5e5ef;background-color:transparent}.bs-outline.bs-light{border-color:rgba(255,255,255,0.14);background-color:transparent}.bs-outline:hover{border-color:transparent}.bs-round{border-radius:50% !important}.bs-facebook:hover{background-color:#3b5998}.bs-facebook:hover.bs-light{color:#3b5998}.bs-twitter:hover{background-color:#1da1f2}.bs-twitter:hover.bs-light{color:#1da1f2}.bs-instagram:hover{background-color:#5851db}.bs-instagram:hover.bs-light{color:#5851db}.bs-google:hover{background-color:#ea4335}.bs-google:hover.bs-light{color:#ea4335}.bs-linkedin:hover{background-color:#0077b5}.bs-linkedin:hover.bs-light{color:#0077b5}.bs-pinterest:hover{background-color:#bd081c}.bs-pinterest:hover.bs-light{color:#bd081c}.bs-tumblr:hover{background-color:#35465c}.bs-tumblr:hover.bs-light{color:#35465c}.bs-behance:hover{background-color:#1769ff}.bs-behance:hover.bs-light{color:#1769ff}.bs-dribbble:hover{background-color:#ea4c89}.bs-dribbble:hover.bs-light{color:#ea4c89}.bs-vk:hover{background-color:#45668e}.bs-vk:hover.bs-light{color:#45668e}.bs-odnoklassniki:hover{background-color:#ed812b}.bs-odnoklassniki:hover.bs-light{color:#ed812b}.bs-skype:hover{background-color:#00aff0}.bs-skype:hover.bs-light{color:#00aff0}.bs-hangouts:hover{background-color:#0f9d58}.bs-hangouts:hover.bs-light{color:#0f9d58}.bs-messenger:hover{background-color:#0084ff}.bs-messenger:hover.bs-light{color:#0084ff}.bs-viber:hover{background-color:#59267c}.bs-viber:hover.bs-light{color:#59267c}.bs-telegram:hover{background-color:#0088cc}.bs-telegram:hover.bs-light{color:#0088cc}.bs-youtube:hover{background-color:#ff0000}.bs-youtube:hover.bs-light{color:#ff0000}.bs-figma:hover{background-color:#a259ff}.bs-figma:hover.bs-light{color:#a259ff}.bs-vimeo:hover{background-color:#1ab7ea}.bs-vimeo:hover.bs-light{color:#1ab7ea}.bs-wechat:hover{background-color:#7bb32e}.bs-wechat:hover.bs-light{color:#7bb32e}.bs-github:hover{background-color:#4078c0}.bs-github:hover.bs-light{color:#4078c0}.bs-gitlab:hover{background-color:#fc6d26}.bs-gitlab:hover.bs-light{color:#fc6d26}.bs-paypal:hover{background-color:#003087}.bs-paypal:hover.bs-light{color:#003087}.bs-slack:hover{background-color:#3eb991}.bs-slack:hover.bs-light{color:#3eb991}.bs-trello:hover{background-color:#0079bf}.bs-trello:hover.bs-light{color:#0079bf}.bs-twitch:hover{background-color:#6441a5}.bs-twitch:hover.bs-light{color:#6441a5}.bs-rss:hover{background-color:#f26522}.bs-rss:hover.bs-light{color:#f26522}.bs-email:hover{background-color:#766df4}.bs-email:hover.bs-light{color:#766df4}.accordion-button{font-size:1.125rem;font-weight:600}.accordion-button:hover{color:#766df4}.accordion-button.no-indicator::after{display:none}.accordion:not(.accordion-flush) .accordion-item{margin-bottom:.75rem;border-radius:1rem;border:1px solid #e9e9f2}.accordion:not(.accordion-flush) .accordion-button{border:0}.accordion:not(.accordion-flush) .accordion-collapse{border:0}.accordion:not(.accordion-flush) .accordion-body{padding-top:0}.dropdown-toggle::after,.dropdown-toggle::before{display:inline-block;font-family:\"around-icons\";font-weight:normal;vertical-align:middle}.dropdown-toggle::after{margin-left:.25rem;content:\"\"}.dropdown-toggle::before{margin-right:.25rem}.dropdown-toggle:not(.dropdown-toggle-split)::before{margin-left:-.25rem}.dropdown-toggle:not(.dropdown-toggle-split)::after{margin-right:-.25rem}.dropdown .dropdown-toggle::before,.dropup .dropdown-toggle::before,.dropend .dropdown-toggle::before{display:none}.dropup .dropdown-toggle::after{content:\"\"}.dropend .dropdown-toggle::after{content:\"\";vertical-align:bottom}.dropstart .dropdown-toggle::before{content:\"\";vertical-align:bottom}.dropstart .dropdown-toggle::after{display:none}.dropdown-menu{box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border:0}.dropdown-menu li{margin-bottom:0}.dropdown-menu li:hover>.dropdown-item{color:#766df4}.dropdown-menu .active>.dropdown-item{color:#766df4}.dropdown-menu.dropdown-menu-dark{border-width:0;box-shadow:none}.dropdown-menu.dropdown-menu-dark li:hover>.dropdown-item{color:#fff}.dropdown-menu.dropdown-menu-dark .active>.dropdown-item{color:#fff}.dropdown-header{margin-bottom:.25rem;padding-top:.425rem;padding-bottom:.85rem;border-bottom:1px solid #e9e9f2;font-size:1rem;font-weight:600}.dropdown-menu-dark .dropdown-header{border-bottom-color:rgba(255,255,255,0.14)}.dropdown-divider{margin:.25rem 0}.dropdown-item{position:relative;width:100%;transition:all 0.25s ease-in-out;font-size:.875rem;font-weight:500}.dropdown-item.active{pointer-events:none;cursor:default}.dropdown-item>i,.dropdown-item .badge{vertical-align:middle}.dropdown-menu.show{animation:fade-in .25s ease-in-out}.dropdown-toggle-split::after{margin-left:-.0625rem !important}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes zoom-in{from{transform:scale(0.85rem);opacity:0}to{transform:scale(1);opacity:1}}.btn-group .btn-outline-secondary:hover,.btn-group .btn-outline-secondary:active,.btn-group .btn-outline-secondary.active{border-color:#e9e9f2 !important}.btn-group-toggle .btn.btn-outline-primary.active,.btn-group-toggle .btn.btn-outline-primary:hover,.btn-group-toggle .btn.btn-outline-primary:focus{border-color:transparent;background-color:rgba(118,109,244,0.08);color:#766df4}.btn-group-toggle .btn.btn-outline-light.active,.btn-group-toggle .btn.btn-outline-light:hover,.btn-group-toggle .btn.btn-outline-light:focus{border-color:transparent;background-color:rgba(255,255,255,0.08);color:#fff}.input-group .position-absolute{z-index:5}.input-group .position-absolute+.form-control,.input-group .position-absolute+.password-toggle .form-control{padding-left:2.5rem}.nav-link:not(.dropdown-toggle).active{pointer-events:none}.nav-link.active{color:#766df4}.nav-light .nav-link{color:rgba(255,255,255,0.7)}.nav-light .nav-link:hover{color:#fff}.nav-light .nav-link.active{color:#fff}.nav-light .nav-link.disabled{color:rgba(255,255,255,0.5)}.nav-tabs{margin-bottom:1.25rem;border:0}.nav-tabs .nav-link{border-radius:.75rem;color:#5a5b75}.nav-tabs .nav-link:hover{color:#766df4}.nav-tabs .nav-link.active{border:1px solid rgba(118,109,244,0.35)}.nav-tabs .nav-link>i{margin-top:-.125rem}.nav-tabs .nav-item{margin-bottom:0}.nav-tabs .nav-item.show .nav-link{border-color:rgba(0,0,0,0)}.nav-tabs .dropdown-menu{margin-top:0;border-radius:.75rem}.nav-tabs-light .nav-link{color:rgba(255,255,255,0.7)}.nav-tabs-light .nav-link:hover{color:#fff}.nav-tabs-light .nav-link.active{border-color:rgba(255,255,255,0.25);color:#fff}.nav-tabs-light .nav-link.disabled{color:rgba(255,255,255,0.5)}.nav-tabs-light .show .nav-link{border-color:rgba(255,255,255,0.25);color:#fff !important}.nav-pills .nav-item{margin-bottom:0}.nav-pills .nav-link{background-color:#f7f7fc;color:#5a5b75;font-size:1rem}.nav-pills .nav-link:hover:not(.active):not([aria-expanded=true]),.nav-pills .nav-link.show{color:#5a5b75;background-color:#e8e8f6}.nav-pills .nav-link.disabled{background-color:transparent;color:#9e9fb4}.nav-pills .nav-link.disabled:hover:not(.active){background-color:transparent}.nav-pills .nav-link i{margin-top:-.25rem}.nav-tabs:not(.nav-fill):not(.nav-justified) .nav-item,.nav-pills .nav-item{margin-right:.75rem}.nav-tabs:not(.nav-fill):not(.nav-justified) .nav-item:last-child,.nav-pills .nav-item:last-child{margin-right:0}.nav-tabs:not(.nav-fill):not(.nav-justified).justify-content-center .nav-item,.nav-pills.justify-content-center .nav-item{margin-right:.375rem;margin-left:.375rem}.nav-tabs:not(.nav-fill):not(.nav-justified).justify-content-end .nav-item,.nav-pills.justify-content-end .nav-item{margin-right:0;margin-left:.75rem}.nav-tabs:not(.nav-fill):not(.nav-justified).flex-column .nav-item,.nav-pills.flex-column .nav-item{margin-right:0;margin-bottom:.75rem;margin-left:0}.nav-tabs:not(.nav-fill):not(.nav-justified).flex-column .nav-item:last-child,.nav-pills.flex-column .nav-item:last-child{margin-bottom:0}.nav-indicator{display:inline-block;width:.3125rem;height:.3125rem;margin-top:-.5rem;margin-left:.375rem;border-radius:50%;background-color:#16c995}.media-tabs .nav-link{padding:.625rem;transition:background-color 0.25s ease-in-out,border-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out;border-color:#e9e9f2;border-radius:1rem}.media-tabs .nav-link>div{transition:opacity .25s ease-in-out;opacity:.72}.media-tabs .nav-link:hover,.media-tabs .nav-link.active{border-color:rgba(118,109,244,0.35);color:#5a5b75}.media-tabs .nav-link:hover>div,.media-tabs .nav-link.active>div{opacity:1}.media-tabs .nav-link.active{background-color:#fff;box-shadow:0.1875rem 0.1875rem 0.625rem -0.125rem rgba(0,0,0,0.09)}.media-tabs.media-tabs-light .nav-link{border-color:rgba(255,255,255,0.14);color:#fff}.media-tabs.media-tabs-light .nav-link:hover{border-color:rgba(255,255,255,0.35)}.media-tabs.media-tabs-light .nav-link.active{color:#5a5b75}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active){.media-tabs .nav-link .media{width:16rem}.media-tabs.flex-column .nav-link .media{width:100%}}.fancy-tabs{justify-content:space-between}.fancy-tabs .nav-link{display:block;position:relative;width:152px;height:152px;border:0;text-align:center}.fancy-tabs .nav-link .fancy-tab-text{position:absolute;top:50%;left:0;width:100%;padding:.5625rem 1.25rem;transform:translateY(-50%);transition:color 0.25s ease-in-out,opacity 0.25s ease-in-out,transform 0.25s ease-in-out;color:#9e9fb4;line-height:1.4;z-index:5}.fancy-tabs .nav-link .fancy-tab-shape,.fancy-tabs .nav-link::before,.fancy-tabs .nav-link::after{display:block;position:absolute;transition:color 0.25s ease-in-out,opacity 0.25s ease-in-out,transform 0.25s ease-in-out;background-repeat:no-repeat;background-position:center;opacity:0;content:''}.fancy-tabs .nav-link .fancy-tab-shape{top:8px;left:9px;width:141px;height:136px;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='141' height='136' viewBox='0 0 141 136'%3e%3cdefs%3e%3clinearGradient x1='100%' y1='56.7401923%' x2='0%' y2='56.7401923%' id='linearGradient-1'%3e%3cstop stop-color='%236a9bf4' offset='0%'%3e%3c/stop%3e%3cstop stop-color='%23766df4' offset='67%'%3e%3c/stop%3e%3cstop stop-color='%23766df4' offset='100%'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3e%3cg transform='translate%28-900.000000, -3315.000000%29' fill='url%28%23linearGradient-1%29'%3e%3cg transform='translate%282.000000, 3141.000000%29'%3e%3cg transform='translate%28506.000000, 167.000000%29'%3e%3cg transform='translate%28383.000000, 0.000000%29'%3e%3cpath d='M27.2602266,25.9990154 C-9.11920392,72.3295589 12.4827547,135.602003 60.1461146,142.008864 C107.809475,148.415726 150,123.490753 150,75.0878442 C150,26.684936 63.6396571,-20.3315281 27.2602266,25.9990154 Z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e\");background-size:cover;z-index:1}.fancy-tabs .nav-link::before{top:1px;left:8px;width:144px;height:140px;transform:scale(0.9);background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='144' height='140' viewBox='0 0 144 140'%3e%3cdefs%3e%3clinearGradient x1='88.6756982%' y1='84.347423%' x2='4.80864136%' y2='26.3388134%' id='linearGradient-1'%3e%3cstop stop-color='%236a9bf4' offset='0%'%3e%3c/stop%3e%3cstop stop-color='%23766df4' offset='67%'%3e%3c/stop%3e%3cstop stop-color='%23766df4' offset='100%'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3e%3cg transform='translate%28-899.000000, -3308.000000%29' fill='url%28%23linearGradient-1%29'%3e%3cg transform='translate%282.000000, 3141.000000%29'%3e%3cg transform='translate%28506.000000, 167.000000%29'%3e%3cg transform='translate%28383.000000, 0.000000%29'%3e%3cpath d='M62.9851149,2.34349468 C7.20709168,21.2388791 -8.98702653,86.0361531 27.6378217,117.472619 C64.2626698,148.909085 126.984793,146.726479 147.304071,115.404978 C167.623349,84.083476 118.763138,-16.5518897 62.9851149,2.34349468 Z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e\");background-size:cover;z-index:2}.fancy-tabs .nav-link::after{top:12px;left:0;width:143px;height:139px;transform:scale(0.8);background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='143' height='139' viewBox='0 0 143 139'%3e%3cdefs%3e%3clinearGradient x1='90.1221807%' y1='17.6023579%' x2='18.1882007%' y2='91.5597184%' id='linearGradient-1'%3e%3cstop stop-color='%236a9bf4' offset='0%'%3e%3c/stop%3e%3cstop stop-color='%23766df4' offset='67%'%3e%3c/stop%3e%3cstop stop-color='%23766df4' offset='100%'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3e%3cg transform='translate%28-891.000000, -3319.000000%29' fill='url%28%23linearGradient-1%29'%3e%3cg transform='translate%282.000000, 3141.000000%29'%3e%3cg transform='translate%28506.000000, 167.000000%29'%3e%3cg transform='translate%28383.000000, 0.000000%29'%3e%3cpath d='M0.226545142,78.6428487 C6.07066962,137.350137 65.4934992,167.748638 104.327822,139.07173 C143.162146,110.394823 155.146053,48.6712687 129.232145,21.7826583 C103.318238,-5.10595204 -5.61757933,19.9355606 0.226545142,78.6428487 Z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e\");background-size:cover;z-index:3}.fancy-tabs .nav-link:hover .fancy-tab-text{color:#5a5b75}.fancy-tabs .nav-link.active{border:0}.fancy-tabs .nav-link.active .fancy-tab-text{color:#fff !important}.fancy-tabs .nav-link.active .fancy-tab-shape{opacity:1}.fancy-tabs .nav-link.active::before,.fancy-tabs .nav-link.active::after{transform:scale(1);opacity:.49}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active){.fancy-tabs .nav-link .fancy-tab-shape::before,.fancy-tabs .nav-link .fancy-tab-shape::after{display:none}.fancy-tabs .nav-link .fancy-tab-shape{width:140px;height:140px;border-radius:50%;background:none;background-color:#766df4}}@supports (-ms-ime-align: auto){.fancy-tabs .nav-link .fancy-tab-shape::before,.fancy-tabs .nav-link .fancy-tab-shape::after{display:none}.fancy-tabs .nav-link .fancy-tab-shape{width:140px;height:140px;border-radius:50%;background:none;background-color:#766df4}}.nav-link-style{display:inline-block;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out,border-color 0.25s ease-in-out;color:#5a5b75;font-weight:500;text-decoration:none}.nav-link-style>i{transition:opacity .25s ease-in-out}.nav-link-style:hover{color:#766df4;text-decoration:none}.nav-link-style:hover>i{opacity:1 !important}.nav-link-style.active{color:#766df4;pointer-events:none;cursor:default}.nav-link-style.active>i{opacity:1 !important}.nav-link-style.nav-link-light{color:rgba(255,255,255,0.7)}.nav-link-style.nav-link-light:hover{color:#fff}.nav-link-style.nav-link-light.active{color:#fff}.nav-heading,.nav-heading a,.nav-heading .nav-heading-title{transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out,border-color 0.25s ease-in-out;color:#4a4b65;font-weight:600;text-decoration:none}.nav-heading:hover,.nav-heading:hover .nav-heading-title,.nav-heading a:hover,.nav-heading a:hover .nav-heading-title,.nav-heading .nav-heading-title:hover,.nav-heading .nav-heading-title:hover .nav-heading-title{color:#766df4;text-decoration:none}.nav-heading.active,.nav-heading a.active,.nav-heading .nav-heading-title.active{color:#766df4;pointer-events:none;cursor:default}.fancy-link{display:inline-block;position:relative;color:#766df4;font-weight:500;text-decoration:none}.fancy-link::after{position:absolute;bottom:0;right:0;width:100%;height:.0625rem;background-color:#766df4;content:''}.fancy-link:hover{color:#766df4;text-decoration:none}.fancy-link:hover::after{animation:linkUnderline .6s ease-in-out}.fancy-link.text-light{color:#fff}.fancy-link.text-light::after{background-color:#fff}.fancy-link.text-light:hover{color:#fff}@keyframes linkUnderline{0%{width:100%}50%{width:0}100%{left:0;width:100%}}.meta-link{transition:color 0.2s ease-in-out;color:#797a95;vertical-align:middle;text-decoration:none}.meta-link:not(.media){display:inline-block}.meta-link:hover{color:#4d4e64;text-decoration:none}.meta-link>i{font-size:1.25em;opacity:.75;vertical-align:middle}.meta-divider{display:inline-block;width:1px;height:1rem;margin:0 .625rem;background-color:#dfdfec;vertical-align:middle}.radio-tab-pane{display:none}.radio-tab-pane.active{display:block}.header{position:relative;z-index:1030}.navbar{padding-top:.375rem;padding-bottom:.375rem}.navbar-shadow{box-shadow:0 0.125rem 0.625rem -0.1875rem rgba(0,0,0,0.1)}.navbar-floating{position:absolute;top:0;left:0;width:100%}.navbar-floating.right-15{right:15px;width:calc(100% - 15px)}.navbar-brand{display:inline-block;font-weight:500}.navbar:not(.navbar-stuck) .navbar-stuck-btn,.navbar-stuck .navbar-btn{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}.navbar-stuck-logo{display:none}.navbar-sticky.navbar-stuck{position:fixed;top:0;left:0;width:100%;animation:navbar-show .25s;background-color:#fff;box-shadow:0 0.125rem 0.625rem -0.1875rem rgba(0,0,0,0.1)}.navbar-sticky.navbar-stuck.right-15,.navbar.fixed-top.right-15{right:15px;width:calc(100% - 15px)}@keyframes navbar-show{from{transform:translateY(-0.75rem);opacity:0}to{transform:translateY(0);opacity:1}}.navbar-search{display:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1090}.navbar-search .container{height:100%;min-height:100%}.navbar-search .form-control,.navbar-search .form-select{border:0 !important;background-color:transparent !important;font-size:1rem;box-shadow:none !important}.navbar-search.show{display:block;animation:fade-in .25s ease-in-out}.navbar-nav{padding-top:1rem}.navbar-nav .nav-item{margin-bottom:0;border-top:1px solid #e9e9f2}.navbar-nav .nav-link{padding:.875rem 1.125rem}.navbar-nav .dropdown-menu{min-width:12.5rem;margin:0;margin-top:-.5rem;background-color:transparent;border-color:transparent;box-shadow:none}.navbar-nav .dropdown-menu .dropdown{margin-right:1.25rem;margin-left:1.25rem;border-left:1px solid #e9e9f2}.navbar-nav .dropdown-menu .dropdown:last-child{margin-bottom:.5rem}.navbar-nav .dropdown-menu .dropdown .dropdown-toggle::after{display:none}.navbar-nav .dropdown-menu .dropdown-menu{display:block;padding-right:1rem;padding-left:1rem}.navbar-tool{position:relative;display:flex;align-items:center;color:#5a5b75}.navbar-tool>a{color:#5a5b75;transition:color 0.25s ease-in-out;text-decoration:none}.navbar-tool>a:hover{color:#37384e;text-decoration:none}.navbar-tool:hover>a{color:#37384e}.navbar-tool .navbar-tool-icon-box{position:relative;width:2.75rem;height:2.75rem;font-size:1.375rem;text-align:center}.navbar-tool .navbar-tool-icon-box>i{line-height:2.75rem}.navbar-tool .navbar-tool-icon-box-img{padding:.125rem;border:1px solid #dfdfec;border-radius:50%}.navbar-tool .navbar-tool-label{display:block;flex-grow:0;flex-shrink:0;padding-left:.625rem;transition:color 0.25s ease-in-out;font-size:.875rem;font-weight:500;text-decoration:none !important;white-space:nowrap}.navbar-tool .navbar-tool-label>small,.navbar-tool .navbar-tool-label>.small{display:block;margin-bottom:-.125rem;font-size:85%;font-weight:normal;opacity:.75}.navbar-tool .navbar-tool-badge{position:absolute;top:.125rem;right:-.5625rem;width:1.125rem;height:1.125rem;border-radius:50%;background-color:#766df4;color:#fff;font-size:.75rem;font-weight:500;text-align:center;line-height:1.125rem}.navbar-tool.dropdown::after{position:absolute;left:0;bottom:-.75rem;width:100%;height:.75rem;content:''}.navbar-tool.dropdown .dropdown-toggle::after{margin-left:.125rem;font-size:1.15em}.navbar-tool .dropdown-menu{margin-top:.5rem !important}@media (max-width: 767.98px){.navbar-tool .dropdown-menu,.navbar-tool.dropdown .dropdown-toggle::after{display:none !important}}.bg-primary .navbar-tool .navbar-tool-badge{color:#766df4;background-color:#fff}.navbar-dark .navbar-nav .nav-item{border-color:rgba(255,255,255,0.14) !important}.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:rgba(255,255,255,0.7)}.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#fff}.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#fff}.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:rgba(255,255,255,0.45)}.navbar-dark .navbar-nav .dropdown-header{color:#fff;border-color:rgba(255,255,255,0.14)}.navbar-dark .nav-link-style{color:rgba(255,255,255,0.7)}.navbar-dark .nav-link-style:hover{color:#fff}.navbar-dark .nav-link-style.active{color:#fff}.navbar-dark .navbar-tool{color:#fff}.navbar-dark .navbar-tool>a{color:#fff}.navbar-dark .navbar-tool:hover>a{color:#fff}.navbar-dark .navbar-tool .navbar-tool-icon-box-img{border-color:rgba(255,255,255,0.15)}@media (min-width: 500px){.navbar-expand-sm.navbar{padding-top:.75rem;padding-bottom:.75rem}.navbar-expand-sm.navbar .offcanvas-body{overflow:visible}.navbar-expand-sm.navbar-sticky.navbar-stuck .navbar-floating-logo{display:none !important}.navbar-expand-sm.navbar-sticky.navbar-stuck .navbar-stuck-logo{display:block}.navbar-expand-sm .navbar-nav{position:relative;padding-top:0}.navbar-expand-sm .navbar-nav .nav-item{border:0}.navbar-expand-sm .navbar-nav .nav-item:hover>.nav-link:not(.disabled){color:#766df4}.navbar-expand-sm .navbar-nav .nav-item.active>.nav-link:not(.disabled){color:#766df4}.navbar-expand-sm .navbar-nav>.dropdown>.dropdown-toggle::after{display:none}.navbar-expand-sm .dropdown-menu{margin-top:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:#e9e9f2;background-color:#fff;border-color:#fff}.navbar-expand-sm .dropdown-menu .dropdown .dropdown-toggle{position:relative;padding-right:1.625rem}.navbar-expand-sm .dropdown-menu .dropdown .dropdown-toggle::after{display:block;position:absolute;top:50%;right:.8666666667rem;transform:translateY(-50%);content:\"\"}.navbar-expand-sm .dropdown-menu .dropdown{margin-right:0;margin-bottom:0;margin-left:0;border-left:0}.navbar-expand-sm .dropdown-menu .dropdown:last-child{margin-bottom:0}.navbar-expand-sm .dropdown-menu .dropdown-menu{display:none;top:0;right:auto;left:100%;width:auto;margin-top:-.5rem;margin-right:0;margin-left:-.25rem;padding-right:0;padding-left:0;border-radius:.75rem;background-color:#fff}.navbar-expand-sm .dropdown-menu.show{display:none}.navbar-expand-sm .dropdown-menu.dropdown-menu-end{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}.navbar-expand-sm .dropdown:hover>.dropdown-menu{display:block;animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.navbar-expand-sm .dropdown-mega{position:static}.navbar-expand-sm .dropdown-mega>.dropdown-menu{width:auto;padding:0 .75rem;overflow:hidden}.navbar-expand-sm .dropdown-mega:hover>.dropdown-menu{display:flex}.navbar-expand-sm .dropdown-mega .dropdown-column{display:block;width:15rem;min-width:15rem;padding:1.5rem .75rem}.navbar-expand-sm .dropdown-mega .dropdown-column.dropdown-column-img{margin-right:.75rem;margin-left:-.75rem;padding-right:1.5rem;padding-left:1.5rem;background-position:center;background-repeat:no-repeat;background-size:cover}.navbar-expand-sm .dropdown-mega .dropdown-column:last-child.dropdown-column-img{margin-right:-.75rem;margin-left:.75rem}.navbar-expand-sm .dropdown-mega .dropdown-column .dropdown-header{padding:0 0 .6375rem 0}.navbar-expand-sm .dropdown-mega .dropdown-column .dropdown-item{padding-right:0;padding-left:0}.navbar-expand-sm.navbar-dark .navbar-nav .nav-item:hover>.nav-link{color:#fff}.navbar-expand-sm.navbar-dark .navbar-nav .nav-item.active>.nav-link{color:#fff}.navbar-expand-sm.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.navbar-expand-sm.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.navbar-expand-sm.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.navbar-expand-sm.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.navbar-expand-sm.navbar-dark .navbar-nav .dropdown-menu .dropdown:hover>.dropdown-item{color:#766df4}.navbar-expand-sm.navbar-dark .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}}@media (min-width: 768px){.navbar-expand-md.navbar{padding-top:.75rem;padding-bottom:.75rem}.navbar-expand-md.navbar .offcanvas-body{overflow:visible}.navbar-expand-md.navbar-sticky.navbar-stuck .navbar-floating-logo{display:none !important}.navbar-expand-md.navbar-sticky.navbar-stuck .navbar-stuck-logo{display:block}.navbar-expand-md .navbar-nav{position:relative;padding-top:0}.navbar-expand-md .navbar-nav .nav-item{border:0}.navbar-expand-md .navbar-nav .nav-item:hover>.nav-link:not(.disabled){color:#766df4}.navbar-expand-md .navbar-nav .nav-item.active>.nav-link:not(.disabled){color:#766df4}.navbar-expand-md .navbar-nav>.dropdown>.dropdown-toggle::after{display:none}.navbar-expand-md .dropdown-menu{margin-top:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:#e9e9f2;background-color:#fff;border-color:#fff}.navbar-expand-md .dropdown-menu .dropdown .dropdown-toggle{position:relative;padding-right:1.625rem}.navbar-expand-md .dropdown-menu .dropdown .dropdown-toggle::after{display:block;position:absolute;top:50%;right:.8666666667rem;transform:translateY(-50%);content:\"\"}.navbar-expand-md .dropdown-menu .dropdown{margin-right:0;margin-bottom:0;margin-left:0;border-left:0}.navbar-expand-md .dropdown-menu .dropdown:last-child{margin-bottom:0}.navbar-expand-md .dropdown-menu .dropdown-menu{display:none;top:0;right:auto;left:100%;width:auto;margin-top:-.5rem;margin-right:0;margin-left:-.25rem;padding-right:0;padding-left:0;border-radius:.75rem;background-color:#fff}.navbar-expand-md .dropdown-menu.show{display:none}.navbar-expand-md .dropdown-menu.dropdown-menu-end{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}.navbar-expand-md .dropdown:hover>.dropdown-menu{display:block;animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.navbar-expand-md .dropdown-mega{position:static}.navbar-expand-md .dropdown-mega>.dropdown-menu{width:auto;padding:0 .75rem;overflow:hidden}.navbar-expand-md .dropdown-mega:hover>.dropdown-menu{display:flex}.navbar-expand-md .dropdown-mega .dropdown-column{display:block;width:15rem;min-width:15rem;padding:1.5rem .75rem}.navbar-expand-md .dropdown-mega .dropdown-column.dropdown-column-img{margin-right:.75rem;margin-left:-.75rem;padding-right:1.5rem;padding-left:1.5rem;background-position:center;background-repeat:no-repeat;background-size:cover}.navbar-expand-md .dropdown-mega .dropdown-column:last-child.dropdown-column-img{margin-right:-.75rem;margin-left:.75rem}.navbar-expand-md .dropdown-mega .dropdown-column .dropdown-header{padding:0 0 .6375rem 0}.navbar-expand-md .dropdown-mega .dropdown-column .dropdown-item{padding-right:0;padding-left:0}.navbar-expand-md.navbar-dark .navbar-nav .nav-item:hover>.nav-link{color:#fff}.navbar-expand-md.navbar-dark .navbar-nav .nav-item.active>.nav-link{color:#fff}.navbar-expand-md.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.navbar-expand-md.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.navbar-expand-md.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.navbar-expand-md.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.navbar-expand-md.navbar-dark .navbar-nav .dropdown-menu .dropdown:hover>.dropdown-item{color:#766df4}.navbar-expand-md.navbar-dark .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}}@media (min-width: 992px){.navbar-expand-lg.navbar{padding-top:.75rem;padding-bottom:.75rem}.navbar-expand-lg.navbar .offcanvas-body{overflow:visible}.navbar-expand-lg.navbar-sticky.navbar-stuck .navbar-floating-logo{display:none !important}.navbar-expand-lg.navbar-sticky.navbar-stuck .navbar-stuck-logo{display:block}.navbar-expand-lg .navbar-nav{position:relative;padding-top:0}.navbar-expand-lg .navbar-nav .nav-item{border:0}.navbar-expand-lg .navbar-nav .nav-item:hover>.nav-link:not(.disabled){color:#766df4}.navbar-expand-lg .navbar-nav .nav-item.active>.nav-link:not(.disabled){color:#766df4}.navbar-expand-lg .navbar-nav>.dropdown>.dropdown-toggle::after{display:none}.navbar-expand-lg .dropdown-menu{margin-top:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:#e9e9f2;background-color:#fff;border-color:#fff}.navbar-expand-lg .dropdown-menu .dropdown .dropdown-toggle{position:relative;padding-right:1.625rem}.navbar-expand-lg .dropdown-menu .dropdown .dropdown-toggle::after{display:block;position:absolute;top:50%;right:.8666666667rem;transform:translateY(-50%);content:\"\"}.navbar-expand-lg .dropdown-menu .dropdown{margin-right:0;margin-bottom:0;margin-left:0;border-left:0}.navbar-expand-lg .dropdown-menu .dropdown:last-child{margin-bottom:0}.navbar-expand-lg .dropdown-menu .dropdown-menu{display:none;top:0;right:auto;left:100%;width:auto;margin-top:-.5rem;margin-right:0;margin-left:-.25rem;padding-right:0;padding-left:0;border-radius:.75rem;background-color:#fff}.navbar-expand-lg .dropdown-menu.show{display:none}.navbar-expand-lg .dropdown-menu.dropdown-menu-end{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}.navbar-expand-lg .dropdown:hover>.dropdown-menu{display:block;animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.navbar-expand-lg .dropdown-mega{position:static}.navbar-expand-lg .dropdown-mega>.dropdown-menu{width:auto;padding:0 .75rem;overflow:hidden}.navbar-expand-lg .dropdown-mega:hover>.dropdown-menu{display:flex}.navbar-expand-lg .dropdown-mega .dropdown-column{display:block;width:15rem;min-width:15rem;padding:1.5rem .75rem}.navbar-expand-lg .dropdown-mega .dropdown-column.dropdown-column-img{margin-right:.75rem;margin-left:-.75rem;padding-right:1.5rem;padding-left:1.5rem;background-position:center;background-repeat:no-repeat;background-size:cover}.navbar-expand-lg .dropdown-mega .dropdown-column:last-child.dropdown-column-img{margin-right:-.75rem;margin-left:.75rem}.navbar-expand-lg .dropdown-mega .dropdown-column .dropdown-header{padding:0 0 .6375rem 0}.navbar-expand-lg .dropdown-mega .dropdown-column .dropdown-item{padding-right:0;padding-left:0}.navbar-expand-lg.navbar-dark .navbar-nav .nav-item:hover>.nav-link{color:#fff}.navbar-expand-lg.navbar-dark .navbar-nav .nav-item.active>.nav-link{color:#fff}.navbar-expand-lg.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.navbar-expand-lg.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.navbar-expand-lg.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.navbar-expand-lg.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.navbar-expand-lg.navbar-dark .navbar-nav .dropdown-menu .dropdown:hover>.dropdown-item{color:#766df4}.navbar-expand-lg.navbar-dark .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}}@media (min-width: 1280px){.navbar-expand-xl.navbar{padding-top:.75rem;padding-bottom:.75rem}.navbar-expand-xl.navbar .offcanvas-body{overflow:visible}.navbar-expand-xl.navbar-sticky.navbar-stuck .navbar-floating-logo{display:none !important}.navbar-expand-xl.navbar-sticky.navbar-stuck .navbar-stuck-logo{display:block}.navbar-expand-xl .navbar-nav{position:relative;padding-top:0}.navbar-expand-xl .navbar-nav .nav-item{border:0}.navbar-expand-xl .navbar-nav .nav-item:hover>.nav-link:not(.disabled){color:#766df4}.navbar-expand-xl .navbar-nav .nav-item.active>.nav-link:not(.disabled){color:#766df4}.navbar-expand-xl .navbar-nav>.dropdown>.dropdown-toggle::after{display:none}.navbar-expand-xl .dropdown-menu{margin-top:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:#e9e9f2;background-color:#fff;border-color:#fff}.navbar-expand-xl .dropdown-menu .dropdown .dropdown-toggle{position:relative;padding-right:1.625rem}.navbar-expand-xl .dropdown-menu .dropdown .dropdown-toggle::after{display:block;position:absolute;top:50%;right:.8666666667rem;transform:translateY(-50%);content:\"\"}.navbar-expand-xl .dropdown-menu .dropdown{margin-right:0;margin-bottom:0;margin-left:0;border-left:0}.navbar-expand-xl .dropdown-menu .dropdown:last-child{margin-bottom:0}.navbar-expand-xl .dropdown-menu .dropdown-menu{display:none;top:0;right:auto;left:100%;width:auto;margin-top:-.5rem;margin-right:0;margin-left:-.25rem;padding-right:0;padding-left:0;border-radius:.75rem;background-color:#fff}.navbar-expand-xl .dropdown-menu.show{display:none}.navbar-expand-xl .dropdown-menu.dropdown-menu-end{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}.navbar-expand-xl .dropdown:hover>.dropdown-menu{display:block;animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.navbar-expand-xl .dropdown-mega{position:static}.navbar-expand-xl .dropdown-mega>.dropdown-menu{width:auto;padding:0 .75rem;overflow:hidden}.navbar-expand-xl .dropdown-mega:hover>.dropdown-menu{display:flex}.navbar-expand-xl .dropdown-mega .dropdown-column{display:block;width:15rem;min-width:15rem;padding:1.5rem .75rem}.navbar-expand-xl .dropdown-mega .dropdown-column.dropdown-column-img{margin-right:.75rem;margin-left:-.75rem;padding-right:1.5rem;padding-left:1.5rem;background-position:center;background-repeat:no-repeat;background-size:cover}.navbar-expand-xl .dropdown-mega .dropdown-column:last-child.dropdown-column-img{margin-right:-.75rem;margin-left:.75rem}.navbar-expand-xl .dropdown-mega .dropdown-column .dropdown-header{padding:0 0 .6375rem 0}.navbar-expand-xl .dropdown-mega .dropdown-column .dropdown-item{padding-right:0;padding-left:0}.navbar-expand-xl.navbar-dark .navbar-nav .nav-item:hover>.nav-link{color:#fff}.navbar-expand-xl.navbar-dark .navbar-nav .nav-item.active>.nav-link{color:#fff}.navbar-expand-xl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.navbar-expand-xl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.navbar-expand-xl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.navbar-expand-xl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.navbar-expand-xl.navbar-dark .navbar-nav .dropdown-menu .dropdown:hover>.dropdown-item{color:#766df4}.navbar-expand-xl.navbar-dark .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}}@media (min-width: 1400px){.navbar-expand-xxl.navbar{padding-top:.75rem;padding-bottom:.75rem}.navbar-expand-xxl.navbar .offcanvas-body{overflow:visible}.navbar-expand-xxl.navbar-sticky.navbar-stuck .navbar-floating-logo{display:none !important}.navbar-expand-xxl.navbar-sticky.navbar-stuck .navbar-stuck-logo{display:block}.navbar-expand-xxl .navbar-nav{position:relative;padding-top:0}.navbar-expand-xxl .navbar-nav .nav-item{border:0}.navbar-expand-xxl .navbar-nav .nav-item:hover>.nav-link:not(.disabled){color:#766df4}.navbar-expand-xxl .navbar-nav .nav-item.active>.nav-link:not(.disabled){color:#766df4}.navbar-expand-xxl .navbar-nav>.dropdown>.dropdown-toggle::after{display:none}.navbar-expand-xxl .dropdown-menu{margin-top:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:#e9e9f2;background-color:#fff;border-color:#fff}.navbar-expand-xxl .dropdown-menu .dropdown .dropdown-toggle{position:relative;padding-right:1.625rem}.navbar-expand-xxl .dropdown-menu .dropdown .dropdown-toggle::after{display:block;position:absolute;top:50%;right:.8666666667rem;transform:translateY(-50%);content:\"\"}.navbar-expand-xxl .dropdown-menu .dropdown{margin-right:0;margin-bottom:0;margin-left:0;border-left:0}.navbar-expand-xxl .dropdown-menu .dropdown:last-child{margin-bottom:0}.navbar-expand-xxl .dropdown-menu .dropdown-menu{display:none;top:0;right:auto;left:100%;width:auto;margin-top:-.5rem;margin-right:0;margin-left:-.25rem;padding-right:0;padding-left:0;border-radius:.75rem;background-color:#fff}.navbar-expand-xxl .dropdown-menu.show{display:none}.navbar-expand-xxl .dropdown-menu.dropdown-menu-end{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}.navbar-expand-xxl .dropdown:hover>.dropdown-menu{display:block;animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.navbar-expand-xxl .dropdown-mega{position:static}.navbar-expand-xxl .dropdown-mega>.dropdown-menu{width:auto;padding:0 .75rem;overflow:hidden}.navbar-expand-xxl .dropdown-mega:hover>.dropdown-menu{display:flex}.navbar-expand-xxl .dropdown-mega .dropdown-column{display:block;width:15rem;min-width:15rem;padding:1.5rem .75rem}.navbar-expand-xxl .dropdown-mega .dropdown-column.dropdown-column-img{margin-right:.75rem;margin-left:-.75rem;padding-right:1.5rem;padding-left:1.5rem;background-position:center;background-repeat:no-repeat;background-size:cover}.navbar-expand-xxl .dropdown-mega .dropdown-column:last-child.dropdown-column-img{margin-right:-.75rem;margin-left:.75rem}.navbar-expand-xxl .dropdown-mega .dropdown-column .dropdown-header{padding:0 0 .6375rem 0}.navbar-expand-xxl .dropdown-mega .dropdown-column .dropdown-item{padding-right:0;padding-left:0}.navbar-expand-xxl.navbar-dark .navbar-nav .nav-item:hover>.nav-link{color:#fff}.navbar-expand-xxl.navbar-dark .navbar-nav .nav-item.active>.nav-link{color:#fff}.navbar-expand-xxl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.navbar-expand-xxl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.navbar-expand-xxl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.navbar-expand-xxl.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.navbar-expand-xxl.navbar-dark .navbar-nav .dropdown-menu .dropdown:hover>.dropdown-item{color:#766df4}.navbar-expand-xxl.navbar-dark .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}}.navbar-expand.navbar{padding-top:.75rem;padding-bottom:.75rem}.navbar-expand.navbar .offcanvas-body{overflow:visible}.navbar-expand.navbar-sticky.navbar-stuck .navbar-floating-logo{display:none !important}.navbar-expand.navbar-sticky.navbar-stuck .navbar-stuck-logo{display:block}.navbar-expand .navbar-nav{position:relative;padding-top:0}.navbar-expand .navbar-nav .nav-item{border:0}.navbar-expand .navbar-nav .nav-item:hover>.nav-link:not(.disabled){color:#766df4}.navbar-expand .navbar-nav .nav-item.active>.nav-link:not(.disabled){color:#766df4}.navbar-expand .navbar-nav>.dropdown>.dropdown-toggle::after{display:none}.navbar-expand .dropdown-menu{margin-top:0;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:#e9e9f2;background-color:#fff;border-color:#fff}.navbar-expand .dropdown-menu .dropdown .dropdown-toggle{position:relative;padding-right:1.625rem}.navbar-expand .dropdown-menu .dropdown .dropdown-toggle::after{display:block;position:absolute;top:50%;right:.8666666667rem;transform:translateY(-50%);content:\"\"}.navbar-expand .dropdown-menu .dropdown{margin-right:0;margin-bottom:0;margin-left:0;border-left:0}.navbar-expand .dropdown-menu .dropdown:last-child{margin-bottom:0}.navbar-expand .dropdown-menu .dropdown-menu{display:none;top:0;right:auto;left:100%;width:auto;margin-top:-.5rem;margin-right:0;margin-left:-.25rem;padding-right:0;padding-left:0;border-radius:.75rem;background-color:#fff}.navbar-expand .dropdown-menu.show{display:none}.navbar-expand .dropdown-menu.dropdown-menu-end{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}.navbar-expand .dropdown:hover>.dropdown-menu{display:block;animation:dropdown-show 0.25s cubic-bezier(0.68, -0.55, 0.265, 1.55)}.navbar-expand .dropdown-mega{position:static}.navbar-expand .dropdown-mega>.dropdown-menu{width:auto;padding:0 .75rem;overflow:hidden}.navbar-expand .dropdown-mega:hover>.dropdown-menu{display:flex}.navbar-expand .dropdown-mega .dropdown-column{display:block;width:15rem;min-width:15rem;padding:1.5rem .75rem}.navbar-expand .dropdown-mega .dropdown-column.dropdown-column-img{margin-right:.75rem;margin-left:-.75rem;padding-right:1.5rem;padding-left:1.5rem;background-position:center;background-repeat:no-repeat;background-size:cover}.navbar-expand .dropdown-mega .dropdown-column:last-child.dropdown-column-img{margin-right:-.75rem;margin-left:.75rem}.navbar-expand .dropdown-mega .dropdown-column .dropdown-header{padding:0 0 .6375rem 0}.navbar-expand .dropdown-mega .dropdown-column .dropdown-item{padding-right:0;padding-left:0}.navbar-expand.navbar-dark .navbar-nav .nav-item:hover>.nav-link{color:#fff}.navbar-expand.navbar-dark .navbar-nav .nav-item.active>.nav-link{color:#fff}.navbar-expand.navbar-dark .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.navbar-expand.navbar-dark .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.navbar-expand.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.navbar-expand.navbar-dark .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.navbar-expand.navbar-dark .navbar-nav .dropdown-menu .dropdown:hover>.dropdown-item{color:#766df4}.navbar-expand.navbar-dark .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}.topbar{position:relative;padding:.625rem .9375rem;color:#6c6d89;font-size:.875rem}.topbar-link{display:inline-block;transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out,border-color 0.25s ease-in-out;color:#6c6d89;font-weight:500;text-decoration:none}.topbar-link:hover{color:#3d3e57;text-decoration:none}.topbar-link.active{color:#3d3e57;user-select:none;cursor:default}.dropdown.show>.topbar-link{color:#3d3e57}.topbar-dark{color:rgba(255,255,255,0.7)}.topbar-dark .topbar-link{color:rgba(255,255,255,0.7)}.topbar-dark .topbar-link:hover{color:#fff}.topbar-dark .topbar-link.active{color:#fff}.topbar-dark .dropdown.show>.topbar-link{color:#fff}@keyframes dropdown-show{from{transform:scale(0.9);opacity:0}to{transform:scale(1);opacity:1}}a.card:hover,a.card-body:hover{text-decoration:none}.card-img,.card-img-top,.card-img-bottom{display:block;position:relative;overflow:hidden;z-index:1}.card-img>img,.card-img-top>img,.card-img-bottom>img{display:block;width:100%}.card-img-gradient::after,.card-img-overlay{display:block;position:absolute;top:0;left:0;width:100%;height:100%;transition:opacity 0.3s ease-in-out;content:'';opacity:0}.card:hover>.card-img-gradient::after,.card:hover>.card-img-overlay{opacity:1}.card-img-gradient::after{background:rgba(118,109,244,0.3);background:linear-gradient(to top, rgba(118,109,244,0.8) 0%, rgba(118,109,244,0.3) 35%, rgba(118,109,244,0) 100%)}.card-img-overlay{display:flex;flex-direction:column;border-radius:1rem;background-color:rgba(74,75,101,0.6);z-index:5}.card-body,.card-header{position:relative;z-index:5}.card-curved-body{overflow:hidden}.card-curved-body .card-body{padding-top:.375rem;z-index:2}.card-curved-body .card-body::before{display:block;position:absolute;top:-20px;left:-15%;width:130%;height:90px;border-radius:50%;background-color:#fff;z-index:-1;content:''}.card-hover{transition:border-color 0.2s ease-in-out,box-shadow 0.2s ease-in-out}.card.card-hover:hover,.card.card-active{border-color:rgba(118,109,244,0.35) !important;box-shadow:0.1875rem 0.1875rem 0.625rem -0.125rem rgba(0,0,0,0.09) !important}.card-hover.border-0::before,.card-active.border-0::before{display:block;position:absolute;top:0;left:0;width:100%;height:100%;transition:opacity .2s ease-in-out;border:1px solid rgba(118,109,244,0.35);border-radius:1rem;content:'';z-index:3;opacity:0}.card-hover.border-0:hover::before,.card-active.border-0:hover::before{opacity:1}.card-hover.border-0 a.card-img,.card-hover.border-0 a.card-img-top,.card-hover.border-0 a.card-img-bottom,.card-active.border-0 a.card-img,.card-active.border-0 a.card-img-top,.card-active.border-0 a.card-img-bottom{z-index:4}.card-active.border-0::before{opacity:1}.card-horizontal .card-img-top,.card-horizontal .card-img-bottom{flex-shrink:0;min-height:15rem;background-position:center;background-repeat:no-repeat;background-size:cover}@media (min-width: 500px){.card-horizontal{flex-direction:row}.card-horizontal .card-body{padding:1.9875rem}.card-horizontal .card-img-top,.card-horizontal .card-img-bottom{width:43%}.card-horizontal .card-img-top{border-radius:0;border-top-left-radius:calc(1rem - 1px);border-bottom-left-radius:calc(1rem - 1px)}.card-horizontal .card-img-top.order-sm-2{border-radius:0;border-top-right-radius:calc(1rem - 1px);border-bottom-right-radius:calc(1rem - 1px)}}.card-flip{border:0;border-radius:0;background-color:transparent;perspective:1000px}.card-flip .card-img,.card-flip .card-img-top,.card-flip .card-img-bottom,.card-flip .card-body{position:static}.card-flip-inner{position:relative;width:100%;height:100%;transition:transform .5s ease-in-out;transform-style:preserve-3d}.card-flip-front,.card-flip-back{border-radius:1rem;backface-visibility:hidden}.card-flip-back{position:absolute;top:0;left:0;width:100%;height:100%;transform:rotateY(180deg);border:1px solid rgba(118,109,244,0.35);background-color:#fff;color:inherit;text-decoration:none;box-shadow:0.1875rem 0.1875rem 0.625rem -0.125rem rgba(0,0,0,0.09)}.card-flip-back .card-body{display:table;width:100%;height:100%;min-height:100%}.card-flip-back .card-body .card-body-inner{display:table-cell;text-align:center;vertical-align:middle}.card-flip-back:hover{color:inherit;text-decoration:none}.card-flip:hover .card-flip-inner{transform:rotateY(180deg)}.card-slide{border:0}.card-slide .card-slide-inner{border-radius:1rem;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(white, black)}.card-slide .card-img{transition:transform .3s ease-in-out}.card-slide .card-body{position:absolute;width:100%;bottom:0;left:0;transform:translateY(125%);transition:transform .3s ease-in-out;background-color:#fff}.card-slide:hover .card-body{transform:translateY(0)}.card-slide:hover .card-img{transform:scale(1.06) translateY(-2rem)}.card-header-tabs{margin-right:-.75rem;margin-bottom:0;margin-left:-.75rem}.card-floating-icon{display:block;position:absolute;top:1rem;right:1rem;width:3rem;height:3rem;transition:all 0.25s ease-in-out;background-color:#fff;border:1px solid #e9e9f2;border-radius:50%;box-shadow:0 0 0.625rem -0.1875rem rgba(0,0,0,0.13);border:0;color:#766df4;font-size:1.1875rem;text-align:center;text-decoration:none;z-index:5}.card-floating-icon>i{line-height:2.875rem;line-height:3rem}.card-hover .card-floating-icon{transform:scale(0.85);opacity:0}.card-hover:hover .card-floating-icon{transform:scale(1);opacity:1}a.card-floating-icon:hover{color:#493ef0}.card-floating-text{position:absolute;right:0;bottom:0;padding:1.5rem;transition:opacity .25s ease-in-out;z-index:5;opacity:0}.card-floating-text>i{margin-top:-.125rem}.card:hover .card-floating-text{opacity:1}.card-body>.blockquote{margin-bottom:0;padding-top:5rem !important;padding-right:0 !important;padding-left:0 !important}.card-body>.blockquote::before{top:0}.card *,.flex-column *{min-height:.01px}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active){.card .card{display:block}}.breadcrumb-item{font-weight:500}.breadcrumb-item::before{margin-top:-.0625rem;font-family:\"around-icons\";font-size:1.2em;font-weight:normal;vertical-align:middle}.breadcrumb-item>a{transition:color 0.25s ease-in-out,background-color 0.25s ease-in-out,box-shadow 0.25s ease-in-out,border-color 0.25s ease-in-out;color:#5a5b75}.breadcrumb-item>a:hover{color:#766df4;text-decoration:none}.breadcrumb-item>a>i{margin-top:-.0625rem;margin-right:.325rem;font-size:1.05em;vertical-align:middle}.breadcrumb-item.active{cursor:default}.breadcrumb-light .breadcrumb-item::before{color:rgba(255,255,255,0.5)}.breadcrumb-light .breadcrumb-item>a{color:#fff}.breadcrumb-light .breadcrumb-item>a:hover{color:#fff}.breadcrumb-light .breadcrumb-item.active{color:rgba(255,255,255,0.5)}.pagination{margin-bottom:0;user-select:none}.page-link{position:relative;transition:color 0.25s ease-in-out,border-color 0.25s ease-in-out;font-weight:500;line-height:1.25}.page-link.page-link-static:hover{border-color:transparent;background-color:rgba(0,0,0,0);color:#5a5b75}.page-link>i{margin-top:-.125rem;font-size:1.5em}.page-item{margin:.15rem}.page-item.active{cursor:default}.pagination .page-link{border-radius:.5rem;font-size:.875rem}.pagination-sm .page-link{border-radius:.5rem;font-size:.8125rem}.pagination-lg .page-link{border-radius:.75rem;font-size:1rem}.pagination-lg .page-link>i{margin-top:0}.entry-nav{display:block;width:100%;max-width:16rem;text-decoration:none}.entry-nav:hover{text-decoration:none}.entry-nav .entry-nav-thumb{width:4rem}.entry-nav .entry-nav-thumb>img{display:block;width:100%}.badge{color:#fff !important}.badge.bg-secondary,.badge.bg-light{color:#4a4b65 !important}.badge-floating{position:absolute;top:1.5rem;left:0;z-index:5}.card:not(.border-0):not(.card-category) .badge-floating{left:-1px}.badge-floating:not(.badge-floating-end){border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.badge-floating.badge-floating-end{left:auto !important;right:0;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.card:not(.border-0):not(.card-category) .badge-floating.badge-floating-end{right:-1px}.badge-lg{padding-top:.625rem;padding-right:.625rem;padding-bottom:.625rem;padding-left:1rem;font-size:1rem;font-weight:500}.badge-lg:not(.badge-floating-end){border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.badge-lg.badge-floating-end{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.alert-secondary{border-color:#e9e9f2;background-color:#f7f7fc}.alert-secondary,.alert-light{color:#737491}.alert-secondary .alert-link,.alert-light .alert-link{color:#4a4b65}.alert-dark{border-color:#37384e;background-color:#37384e;color:#fff}.alert-dark .alert-link{color:#fff}.alert-dismissible{padding-right:3.125rem}.alert-dismissible .btn-close{padding:1.45rem 1.25rem}.alert-link{text-decoration:underline}.alert-link:hover{text-decoration:none}.alert [class^='ai-'],.alert [class*=' ai-']{margin-top:.125rem}.list-group-item{margin-bottom:0}.list-group-item-action{transition:all 0.2s ease-in-out}.list-group-item-action:active{transition:none}.list-group-item-action.list-group-item-primary:hover,.list-group-item-action.list-group-item-primary:active,.list-group-item-action.list-group-item-primary:focus{background-color:rgba(118,109,244,0.2)}.list-group-item-primary.active{background-color:#766df4 !important;border-color:#766df4;box-shadow:none}.list-group-item-action.list-group-item-secondary:hover,.list-group-item-action.list-group-item-secondary:active,.list-group-item-action.list-group-item-secondary:focus{background-color:rgba(247,247,252,0.2)}.list-group-item-secondary.active{background-color:#f7f7fc !important;border-color:#f7f7fc;box-shadow:none}.list-group-item-action.list-group-item-success:hover,.list-group-item-action.list-group-item-success:active,.list-group-item-action.list-group-item-success:focus{background-color:rgba(22,201,149,0.2)}.list-group-item-success.active{background-color:#16c995 !important;border-color:#16c995;box-shadow:none}.list-group-item-action.list-group-item-info:hover,.list-group-item-action.list-group-item-info:active,.list-group-item-action.list-group-item-info:focus{background-color:rgba(106,155,244,0.2)}.list-group-item-info.active{background-color:#6a9bf4 !important;border-color:#6a9bf4;box-shadow:none}.list-group-item-action.list-group-item-warning:hover,.list-group-item-action.list-group-item-warning:active,.list-group-item-action.list-group-item-warning:focus{background-color:rgba(255,177,92,0.2)}.list-group-item-warning.active{background-color:#ffb15c !important;border-color:#ffb15c;box-shadow:none}.list-group-item-action.list-group-item-danger:hover,.list-group-item-action.list-group-item-danger:active,.list-group-item-action.list-group-item-danger:focus{background-color:rgba(247,79,120,0.2)}.list-group-item-danger.active{background-color:#f74f78 !important;border-color:#f74f78;box-shadow:none}.list-group-item-action.list-group-item-light:hover,.list-group-item-action.list-group-item-light:active,.list-group-item-action.list-group-item-light:focus{background-color:rgba(255,255,255,0.2)}.list-group-item-light.active{background-color:#fff !important;border-color:#fff;box-shadow:none}.list-group-item-action.list-group-item-dark:hover,.list-group-item-action.list-group-item-dark:active,.list-group-item-action.list-group-item-dark:focus{background-color:rgba(55,56,78,0.2)}.list-group-item-dark.active{background-color:#37384e !important;border-color:#37384e;box-shadow:none}.list-group-item-secondary,.list-group-item-light{color:#4a4b65 !important}.list-group-item-secondary{background-color:#f7f7fc !important}.list-group-item-light{background-color:#fff !important}.list-group-item-dark{background-color:#37384e !important;color:#fff !important}.toast{box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border-color:transparent}.toast-header{color:#4a4b65;font-weight:600}.toast-header [class*='ai-']{font-size:1.25em}.toast-header:not([class*='bg-']){border-bottom:1px solid #e9e9f2}.modal-view{display:none}.modal-view.active{display:block;animation:fade-in .25s ease-in-out}.popover.bs-popover-bottom .arrow::after,.popover.bs-popover-auto[data-popper-placement^=\"bottom\"] .arrow::after{border-bottom-color:#fff}.popover .popover-arrow{margin:0}.popover-header{font-size:1rem}.popover-body{font-size:.8125rem}.from-top,.from-bottom,.from-left,.from-right,.scale-up,.scale-down,.fade-in{transition:all .4s .3s ease-in-out;opacity:0;backface-visibility:hidden}.from-top{transform:translateY(-2.25rem)}.from-bottom{transform:translateY(2.25rem)}.from-left{transform:translateX(-2.25rem)}.from-right{transform:translateX(2.25rem)}.scale-up{transform:scale(0.85)}.scale-down{transform:scale(1.15)}.delay-1{transition-delay:.5s}.delay-2{transition-delay:.7s}.delay-3{transition-delay:.9s}.delay-4{transition-delay:1.1s}.tns-slide-active .from-top,.tns-slide-active .from-bottom{transform:translateY(0);opacity:1}.tns-slide-active .from-left,.tns-slide-active .from-right{transform:translateX(0);opacity:1}.tns-slide-active .scale-up,.tns-slide-active .scale-down{transform:scale(1);opacity:1}.tns-slide-active .fade-in{opacity:1}.date-picker[readonly]{background-color:#fff}.flatpickr-calendar{width:325px;padding:0 .5rem;border-radius:.75rem;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);border:0}.flatpickr-innerContainer{padding-bottom:1.125rem}.flatpickr-months{padding:.75rem 0}.flatpickr-months svg{vertical-align:top}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{top:.75rem}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#766df4}.flatpickr-current-month .flatpickr-monthDropdown-months{padding:.25rem;appearance:none}.numInputWrapper:hover,.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background-color:#f3f3fb}.flatpickr-day{border-radius:0;border-radius:.75rem}.flatpickr-day:hover:not(.flatpickr-disabled):not(.today):not(.selected){border-color:#f3f3fb;background-color:#f3f3fb}.flatpickr-day.today{border-color:rgba(118,109,244,0.5) !important;color:#766df4 !important}.flatpickr-day.today.selected{color:#fff !important}.flatpickr-day.today:hover{background-color:transparent}.flatpickr-day.selected{border-color:#766df4 !important;background-color:#766df4 !important}.flatpickr-day.flatpickr-disabled{color:#ccccdf !important}.flatpickr-day.nextMonthDay{color:#9091a9}.flatpickr-day.inRange{border-color:#f3f3fb !important;background-color:#f3f3fb !important;box-shadow:-5px 0 0 #f3f3fb,5px 0 0 #f3f3fb}.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.endRange.seleced,.flatpickr-day.endRange:hover{border-color:#766df4 !important;background-color:#766df4 !important}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0;border-radius:0 .75rem .75rem 0}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:0;border-radius:.75rem 0 0 .75rem}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 0 #766df4}.flatpickr-time{margin-bottom:.5rem}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background-color:#f3f3fb}.flatpickr-time input.flatpickr-hour{font-weight:600}.tns-carousel-wrapper{position:relative}.tns-carousel-wrapper .tns-carousel-inner{position:relative;display:flex;overflow:hidden;touch-action:manipulation;user-select:none;opacity:0}.tns-carousel-wrapper .tns-carousel-inner:active{cursor:grab}.tns-carousel-wrapper .tns-carousel-inner.tns-slider{display:block;opacity:1}.tns-carousel-wrapper .tns-carousel-inner>*{backface-visibility:hidden}.tns-carousel-wrapper .tns-carousel-inner.tns-horizontal:not(.tns-gallery){display:flex}.tns-carousel-wrapper .tns-outer{position:relative}@supports (-ms-ime-align: auto){.tns-carousel-wrapper .tns-carousel-inner.tns-horizontal:not(.tns-gallery){display:block}}.tns-carousel-wrapper .tns-nav{position:absolute;top:100%;width:100%;padding-top:1.5rem;text-align:center;white-space:nowrap}.tns-carousel-wrapper .tns-nav ~ .tns-ovh,.tns-carousel-wrapper .tns-nav ~ .tns-inner{margin-bottom:2.75rem}.tns-carousel-wrapper.tns-nav-inside .tns-nav{top:auto;bottom:0;padding-top:0;padding-bottom:1.5rem;z-index:10}.tns-carousel-wrapper.tns-nav-inside .tns-nav ~ .tns-ovh,.tns-carousel-wrapper.tns-nav-inside .tns-nav ~ .tns-inner{margin-bottom:0}[data-nav]{display:inline-block;position:relative;width:.75rem;height:.75rem;margin:0 .25rem;padding:0;border:0;background:none}[data-nav]:focus{outline:none}[data-nav]::before,[data-nav]::after{position:absolute;transition:opacity 0.2s ease-in-out,transform 0.2s ease-in-out;border-radius:50%;content:''}[data-nav]::before{top:50%;left:50%;width:.375rem;height:.375rem;margin-top:-.1875rem;margin-left:-.1875rem;background-color:#766df4}[data-nav]::after{top:0;left:0;width:.75rem;height:.75rem;transform:scale(0.5);border:.125rem solid #766df4;opacity:0}[data-nav].tns-nav-active::before,[data-nav].active::before{opacity:0}[data-nav].tns-nav-active::after,[data-nav].active::after{transform:scale(1);opacity:1}.tns-nav-light [data-nav]::before{background-color:#fff}.tns-nav-light [data-nav]::after{border-color:#fff}.tns-carousel-wrapper .tns-controls{position:absolute;top:100%;width:100%;padding-top:1.75rem;text-align:right;white-space:nowrap}.tns-carousel-wrapper .tns-controls:focus{outline:none}.tns-carousel-wrapper .tns-controls ~ .tns-ovh,.tns-carousel-wrapper .tns-controls ~ .tns-inner{margin-bottom:4.5rem !important}.tns-carousel-wrapper.tns-controls-center .tns-controls{text-align:center}.tns-carousel-wrapper.tns-controls-left .tns-controls{text-align:left}.tns-carousel-wrapper [data-controls]{display:inline-flex;justify-content:center;width:2.75rem;height:2.75rem;transition:all 0.3s ease-in-out;border:1px solid #e9e9f2;border-radius:.75rem;background-color:#fff;color:#737491;font-size:1.25rem;text-align:center}.tns-carousel-wrapper [data-controls]>i{line-height:2.5rem}.tns-carousel-wrapper [data-controls]:hover{border-color:#c9c9df;color:#4a4b65}.tns-carousel-wrapper [data-controls][disabled]{pointer-events:none;opacity:.5;cursor:default}.tns-carousel-wrapper [data-controls='prev']{margin-right:.75rem}.tns-carousel-wrapper.tns-controls-inside .tns-controls{position:static;width:auto;padding:0 !important}.tns-carousel-wrapper.tns-controls-inside .tns-controls ~ .tns-ovh,.tns-carousel-wrapper.tns-controls-inside .tns-controls ~ .tns-inner{margin:0 !important}.tns-carousel-wrapper.tns-controls-inside:not(.tns-nav-inside) .tns-nav ~ .tns-ovh,.tns-carousel-wrapper.tns-controls-inside:not(.tns-nav-inside) .tns-nav ~ .tns-inner{margin-bottom:2.75rem !important}.tns-carousel-wrapper.tns-controls-inside [data-controls]{position:absolute;top:50%;margin-top:-1.375rem;margin-right:0;margin-left:0;z-index:10}.tns-carousel-wrapper.tns-controls-inside [data-controls][disabled]{opacity:0 !important}.tns-carousel-wrapper.tns-controls-inside [data-controls='prev']{left:1.75rem}.tns-carousel-wrapper.tns-controls-inside [data-controls='next']{right:1.75rem}.tns-carousel-wrapper.tns-controls-inside.tns-controls-onhover [data-controls]{opacity:0}.tns-carousel-wrapper.tns-controls-inside.tns-controls-onhover [data-controls='prev']{transform:translateX(1rem)}.tns-carousel-wrapper.tns-controls-inside.tns-controls-onhover [data-controls='next']{transform:translateX(-1rem)}.tns-carousel-wrapper.tns-controls-inside.tns-controls-onhover:hover [data-controls]{transform:none;opacity:1}.tns-carousel-progress{width:100%;max-width:10rem}.tns-carousel-progress .progress{height:.25rem}@media (max-width: 499.98px){.tns-carousel-pager.border-left,.tns-carousel-pager.border-right{border-top:1px solid #e9e9f2 !important;border-right:0 !important;border-left:0 !important}}.tns-frame-phone .tns-carousel:not(.tns-controls-inside) .tns-controls,.tns-frame-phone .tns-carousel:not(.tns-controls-inside) .tns-nav,.tns-frame-browser .tns-carousel:not(.tns-controls-inside) .tns-controls,.tns-frame-browser .tns-carousel:not(.tns-controls-inside) .tns-nav{display:none !important}.tns-frame-phone .tns-carousel:not(.tns-controls-inside) .tns-controls ~ .tns-ovh,.tns-frame-phone .tns-carousel:not(.tns-controls-inside) .tns-controls ~ .tns-inner,.tns-frame-phone .tns-carousel:not(.tns-controls-inside) .tns-nav ~ .tns-ovh,.tns-frame-phone .tns-carousel:not(.tns-controls-inside) .tns-nav ~ .tns-inner,.tns-frame-browser .tns-carousel:not(.tns-controls-inside) .tns-controls ~ .tns-ovh,.tns-frame-browser .tns-carousel:not(.tns-controls-inside) .tns-controls ~ .tns-inner,.tns-frame-browser .tns-carousel:not(.tns-controls-inside) .tns-nav ~ .tns-ovh,.tns-frame-browser .tns-carousel:not(.tns-controls-inside) .tns-nav ~ .tns-inner{margin-bottom:0 !important}.gallery-item{display:block;position:relative;text-decoration:none !important;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(white, black)}.gallery-item>img{display:block;width:100%}.gallery-item::before{display:block;position:absolute;top:0;left:0;width:100%;height:100%;transition:opacity .3s ease-in-out;background-color:rgba(55,56,78,0.55);content:'';opacity:0;z-index:1}.gallery-item::after{display:block;position:absolute;top:50%;left:50%;width:2.875rem;height:2.875rem;margin-top:-1.4375rem;margin-left:-1.4375rem;transform:scale(0.3);color:#fff;font-family:\"around-icons\";font-size:2rem;text-align:center;line-height:2.875rem;content:\"\";z-index:5}.gallery-item .gallery-caption{display:block;position:absolute;left:0;bottom:0;width:100%;padding:1rem .5rem;transform:translateY(0.5rem);color:#fff;font-size:.875rem;text-align:center;z-index:5}.gallery-item::after,.gallery-item .gallery-caption{transition:all .3s ease-in-out;opacity:0}.gallery-item:hover::before,.gallery-item:hover::after,.gallery-item:hover .gallery-caption{transform:none;opacity:1}.gallery-item.gallery-video::after{padding-left:.125rem;transform:none;border-radius:50%;background-color:#fff;color:#5a5b75;font-size:.875rem;font-weight:700;opacity:1;box-shadow:0 0.375rem 1rem -0.25rem rgba(0,0,0,0.2);content:\"\"}.map-popup::after{display:none}.map-popup .gallery-caption{top:50%;bottom:auto;transform:translateY(-50%);font-size:1rem;font-weight:500}.map-popup:hover .gallery-caption{transform:translateY(-50%)}.lg-on{overflow:hidden}.lg-item:focus,.lg:focus,.lg-outer:focus,.lg-inner:focus{outline:none}.comment:not(.token){margin-bottom:2rem;padding-bottom:1.875rem;border-bottom:1px solid #e9e9f2;font-size:.9375rem}.comment:not(.token)>.comment{position:relative;margin-top:1.875rem;margin-bottom:0;padding-bottom:.5rem;padding-left:3.25rem;border-bottom:0}.comment:not(.token)>.comment::before{position:absolute;top:0;left:1.125rem;width:.25rem;height:100%;background-color:#e9e9f2;content:''}@media (max-width: 499.98px){.comment:not(.token)>.comment{padding-left:2.125rem}.comment:not(.token)>.comment::before{left:0}}.btn-video{display:inline-block;flex:0 0 auto;width:5.625rem;height:5.625rem;padding-left:.125rem;transition:background-color 0.3s ease-in-out,color 0.3s ease-in-out,box-shadow 0.3s ease-in-out;border-radius:50%;background-color:#fff;color:#5a5b75;font-size:1.25rem;text-align:center;text-decoration:none;box-shadow:0 0.25rem 1rem -0.25rem rgba(55,56,78,0.2);vertical-align:middle}.btn-video::before{font-family:\"around-icons\";line-height:5.625rem;content:\"\"}.btn-video:hover{color:#766df4;text-decoration:none;box-shadow:0 0.375rem 1.125rem -0.5rem rgba(118,109,244,0.7)}.btn-video-primary{background-color:#766df4;color:#fff;box-shadow:none !important}.btn-video-primary:hover{background-color:#493ef0;color:#fff}.btn-video-sm{width:3.75rem;height:3.75rem;font-size:1rem}.btn-video-sm::before{line-height:3.75rem}.countdown{display:flex;flex-wrap:wrap;font-weight:normal;text-align:center}.countdown .countdown-value{font-weight:600}.countdown .countdown-label{display:block;margin-top:.125rem;margin-left:.125rem;font-size:65%}.countdown .countdown-days,.countdown .countdown-hours,.countdown .countdown-minutes,.countdown .countdown-seconds{margin-right:1rem;margin-bottom:.75rem}.countdown .countdown-seconds{margin-right:0}.ct-line{stroke:#766df4 !important;stroke-width:.125rem}.ct-point{stroke:#766df4 !important;stroke-width:.625rem}.ct-bar{stroke:#766df4 !important;stroke-width:.625rem}.ct-chart-pie .ct-label{fill:#fff;font-size:1rem}.price-switch{display:flex;align-items:center}.price-label{transition:color 0.25s ease-in-out;color:#9e9fb4;font-size:.875rem;font-weight:500}.price-label:first-of-type{color:#4a4b65}.price-switch-on .price-label:first-of-type{color:#9e9fb4}.price-switch-on .price-label:last-of-type{color:#4a4b65}.hotspots{position:relative}.hotspots img{display:block;width:100%}.hotspot{position:absolute;width:3.625rem;height:3.625rem;border-radius:50%;z-index:5;cursor:pointer}.hotspot::before,.hotspot::after{position:absolute;border-radius:50%}.hotspot::before{top:50%;left:50%;width:2.375rem;height:2.375rem;margin-top:-1.1875rem;margin-left:-1.1875rem;transition:background-color 0.3s ease-in-out,color 0.3s ease-in-out;background-color:#fff;color:#766df4;font-family:\"around-icons\";font-size:1rem;text-align:center;line-height:2.375rem;box-shadow:0 0 0.25rem 0 rgba(0,0,0,0.2);content:\"\"}.hotspot::after{top:0;left:0;width:100%;height:100%;border:1px solid #fff;content:''}.hotspot:hover::before{background-color:#766df4;color:#fff}.frame-phone{position:relative;width:320px;margin:0 15px 20px 15px;border:6px solid #37384e;border-radius:36px}.frame-phone::after,.frame-phone::before{display:block;position:absolute;left:-35px;bottom:-10px;width:380px;height:12px;border-radius:50%;background-color:#000;filter:blur(13px);opacity:.55;z-index:-1;content:''}.frame-phone::before{left:5px;width:300px;filter:blur(10px);opacity:.18}.frame-phone-body{position:relative;background-color:#fff;min-height:600px;border-radius:30px;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(white, black)}.frame-phone-body::before,.frame-phone-body::after{position:absolute;background-color:#37384e;content:'';z-index:5}.frame-phone-body::before{top:-24px;left:50%;width:150px;height:48px;margin-left:-75px;border-bottom-right-radius:18px;border-bottom-left-radius:18px}.frame-phone-body::after{bottom:10px;left:50%;width:90px;height:4px;margin-left:-45px;border-radius:2px}.frame-phone-body img{display:block;width:100%;height:100%}.frame-phone-status-bar{display:flex;position:absolute;justify-content:space-between;top:0;left:0;width:100%;padding:.5rem 1.125rem;font-size:.75rem;font-weight:500;z-index:5}.frame-phone-status-bar [class^='fe-']{margin-top:-.25rem;font-size:1.0625rem}@media (max-width: 499.98px){.frame-phone{width:290px}.frame-phone::after,.frame-phone::before{display:none}.frame-phone-body::before{width:120px;margin-left:-60px}}.frame-browser{position:relative;padding:3.5rem 1.5rem 1.5rem 1.5rem;border:1px solid #e3e3ee;border-radius:1.125rem}.frame-browser.border-light{border-color:rgba(255,255,255,0.15) !important}.frame-browser-toolbar{position:absolute;display:flex;align-items:center;top:1rem;left:1.375rem}.frame-browser-body{position:relative;border-radius:.75rem;background-color:#fff;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.06),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);overflow:hidden}.frame-browser-body img{display:block;width:100%}.frame-browser-button{display:inline-block;width:11px;height:11px;margin-right:.625rem;border-radius:50%}.frame-browser-label{position:absolute;top:100%;left:0;width:100%;margin-top:-1.40625rem;text-align:center;z-index:10}.frame-browser-label .tns-carousel-label{display:inline-flex;align-items:center;padding:.75rem 1.125rem;border-radius:.75rem;background-color:#fff;color:#5a5b75;font-size:.875rem;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04);white-space:nowrap}.frame-browser-label .tns-carousel-label>i{margin-right:.5rem;color:#9e9fb4;font-size:1.3em}@media (min-width: 768px){.frame-browser{padding:4rem 2.5rem 2.5rem 2.5rem;border-radius:1.5rem}.frame-browser-toolbar{top:1.25rem;left:1.625rem}.frame-browser-body{border-radius:1rem}}.simplebar-scrollbar::before{background-color:#dfdfeb}.simplebar-scrollbar.simplebar-visible::before{opacity:1}.simplebar-track.simplebar-vertical{width:.5rem}.simplebar-track.simplebar-horizontal{height:.5rem}[data-simplebar-inverse] .simplebar-scrollbar::before{background-color:rgba(255,255,255,0.3)}.jarallax{position:relative;z-index:0}.jarallax .jarallax-img{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;background-position:center !important;background-size:cover !important}@media (max-width: 499.98px){[data-disable-parallax-down='sm']{transform:none !important}}@media (max-width: 767.98px){[data-disable-parallax-down='md']{transform:none !important}}@media (max-width: 991.98px){[data-disable-parallax-down='lg']{transform:none !important}}@media (max-width: 1279.98px){[data-disable-parallax-down='xl']{transform:none !important}}@media (max-width: 1399.98px){[data-disable-parallax-down='xxl']{transform:none !important}}@media (min-width: 500px){[data-disable-parallax-up='sm']{transform:none !important}}@media (min-width: 768px){[data-disable-parallax-up='md']{transform:none !important}}@media (min-width: 992px){[data-disable-parallax-up='lg']{transform:none !important}}@media (min-width: 1280px){[data-disable-parallax-up='xl']{transform:none !important}}@media (min-width: 1400px){[data-disable-parallax-up='xxl']{transform:none !important}}_:-ms-lang(x),.jarallax .jarallax-img{margin:0 !important;position:absolute !important;transform:none !important}.parallax{position:relative}.parallax-layer{position:absolute;top:0;left:0;width:100%;height:100%}.parallax-layer>img{display:block;width:100%}.offcanvas{will-change:transform, box-shadow;transition:transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),box-shadow 0.3s ease;box-shadow:none;visibility:visible !important}.offcanvas:not(.offcanvas-end):not(.offcanvas-bottom){top:0;left:0;width:22rem;border-right:0 solid rgba(0,0,0,0);transform:translateX(-100%)}.offcanvas-header,.offcanvas-footer{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:1.25rem 1.5rem}.bg-dark .offcanvas-header,.bg-dark .offcanvas-footer{background-color:rgba(255,255,255,0.05)}.offcanvas-body{height:100%}.offcanvas-body::-webkit-scrollbar{width:.5rem;background-color:transparent;opacity:0}.offcanvas-body::-webkit-scrollbar-thumb{background-color:#dfdfeb;border-radius:.25rem}.offcanvas-body>.simplebar-track{display:block;background-color:transparent}.offcanvas-body .simplebar-vertical{margin-right:.1875rem}.offcanvas-backdrop:not(body){transition:opacity .25s ease;opacity:0}.offcanvas-backdrop:not(body).show{opacity:.5}.offcanvas-backdrop::before{display:none}.offcanvas-open{overflow:hidden !important}.offcanvas[data-offcanvas-show]{transform:none !important;box-shadow:-0.0625rem 0 0.625rem 0 rgba(0,0,0,0.07),0.3125rem 1.25rem 2.5rem 0 rgba(0,0,0,0.04) !important}.sidebar-toggle{display:none;position:fixed;bottom:0;left:0;width:100%;border-radius:0;z-index:1025}.sidebar-toggle.right-15{right:15px;width:calc(100% - 15px)}@media (min-width: 992px){.offcanvas-expand{transform:none !important}.offcanvas-expand.offcanvas-start,.offcanvas-expand.offcanvas-end,.offcanvas-expand.offcanvas-bottom{transform:none !important}.offcanvas-collapse{display:block;position:static;top:auto !important;right:auto !important;bottom:auto !important;left:auto !important;width:100% !important;max-width:100% !important;height:auto !important;transform:none !important;background-color:transparent}.offcanvas-collapse .offcanvas-header,.offcanvas-collapse .offcanvas-footer{display:none}.offcanvas-collapse .offcanvas-body{padding:0;overflow:initial}.offcanvas-enabled-start{padding-left:23.5rem}.offcanvas-enabled-end{padding-right:23.5rem;padding-left:0}}@media (max-width: 991.98px){.offcanvas-collapse .offcanvas-body .navbar-nav{padding-top:0}.offcanvas-collapse .offcanvas-body .navbar-nav .nav-item{border-top:0;border-bottom:1px solid #e9e9f2 !important}.offcanvas-collapse .offcanvas-body .navbar-nav .nav-link{color:#5a5b75}.offcanvas-collapse .offcanvas-body .navbar-nav .nav-link:hover{color:#766df4}.offcanvas-collapse .offcanvas-body .navbar-nav .nav-link.active{color:#766df4}.offcanvas-collapse .offcanvas-body .navbar-nav .nav-link.disabled{color:#9e9fb4}.offcanvas-collapse .offcanvas-body .navbar-nav .show>.nav-link,.offcanvas-collapse .offcanvas-body .navbar-nav .active>.nav-link{color:#766df4}.offcanvas-collapse .offcanvas-body .navbar-nav .dropdown-menu .dropdown-item{color:#5a5b75}.offcanvas-collapse .offcanvas-body .navbar-nav .dropdown-menu .dropdown-item:hover{color:#766df4}.offcanvas-collapse .offcanvas-body .navbar-nav .dropdown-menu .dropdown-item.active{color:#766df4}.offcanvas-collapse .offcanvas-body .navbar-nav .dropdown-menu .dropdown-item.disabled{color:#9e9fb4}.offcanvas-collapse .offcanvas-body .navbar-nav .dropdown-header{color:#4a4b65;border-color:#e9e9f2}}.widget-nav .nav-link{margin-right:-1.5rem;margin-bottom:.75rem;margin-left:-1.5rem;padding:0 1.5rem}.widget-nav .nav-link.active{position:relative}.widget-nav .nav-link.active::before{display:block;position:absolute;top:0;left:0;width:.125rem;height:100%;background-color:#fff;content:''}.sidebar-toggle{display:none;position:fixed;bottom:0;left:0;width:100%;border-radius:0;z-index:1025}.is-sidebar .footer{padding-bottom:2.25rem}.is-sidebar .sidebar-toggle{display:block}@media (max-width: 991.98px){.is-sidebar .btn-scroll-top{bottom:3.25rem}}@media (min-width: 992px){.sidebar-enabled{position:relative}.sidebar-enabled::before{display:block;position:absolute;top:0;left:0;width:40%;height:100%;background-color:#f7f7fc;content:''}.sidebar-enabled .content{position:relative;padding-left:2.5rem;background-color:#fff;z-index:2}.sidebar-enabled.sidebar-end .content{padding-left:.9375rem;padding-right:2.5rem}.sidebar-enabled.sidebar-end::before{right:0;left:auto}.sidebar{position:relative;background-color:#f7f7fc;z-index:5}.sidebar-toggle{display:none}.is-sidebar .footer{padding-bottom:0}.is-sidebar .sidebar-toggle{display:none}}.widget-title{margin-bottom:1.25rem;font-size:1.125rem}.widget ul,.widget ol{margin:0;padding:0;list-style:none}.widget ul>li,.widget ol>li{display:block;margin-bottom:.375rem}.widget ul>li:last-child,.widget ol>li:last-child{margin-bottom:0}.widget ul>li ul,.widget ul>li ol,.widget ol>li ul,.widget ol>li ol{padding:.25rem 0 .25rem 1.375rem}.widget ul>li ul>li,.widget ul>li ol>li,.widget ol>li ul>li,.widget ol>li ol>li{position:relative;margin-bottom:0;border-left:2px solid #e9e9f2}.widget ul>li ul>li>a,.widget ul>li ol>li>a,.widget ol>li ul>li>a,.widget ol>li ol>li>a{padding-left:1.125rem !important}.widget ul>li ul>li>a::after,.widget ul>li ol>li>a::after,.widget ol>li ul>li>a::after,.widget ol>li ol>li>a::after{position:absolute;left:0;top:50%;width:.75rem;height:1px;background-color:#d6d6e7;content:''}.widget-link{display:block;position:relative;padding:0.25rem 0;transition:color 0.25s ease-in-out;color:#5a5b75;font-weight:500;text-decoration:none}.widget-link:hover{color:#766df4;text-decoration:none}.widget-link.active,.active>.widget-link{color:#766df4;pointer-events:none;cursor:default}.widget-link>small,.widget-link>.small{display:inline-block;font-size:75%;font-weight:normal}.widget-link+ul>li>.widget-link{font-size:87.5%}.widget-light .widget-title{color:#fff}.widget-light .widget-link{color:rgba(255,255,255,0.7);font-weight:normal}.widget-light .widget-link:hover{color:#fff}.widget-light .widget-link.active,.active>.widget-light .widget-link{color:#fff}.widget-categories .widget-link{padding-left:1.25rem}.widget-categories .widget-link::before{position:absolute;top:.0625rem;left:-.1875rem;transition:transform .25s ease-in-out, opacity .15s ease-in-out;font-family:\"around-icons\";font-size:1.25em;content:\"\";opacity:.5}.widget-categories .widget-link:hover::before,.widget-categories .widget-link.active::before{opacity:1}.widget-categories .widget-link+ul>li>.widget-link{padding-left:inherit}.widget-categories .widget-link+ul>li>.widget-link::before{display:none}.widget-categories .active>.widget-link::before{opacity:1}.widget-categories [data-bs-toggle='collapse']{color:#766df4}.widget-categories [data-bs-toggle='collapse']::before{transform:rotate(90deg);opacity:1}.widget-categories [data-bs-toggle='collapse'].collapsed{color:#5a5b75}.widget-categories [data-bs-toggle='collapse'].collapsed::before{transform:none;opacity:.5}.widget-categories [data-bs-toggle='collapse'].collapsed:hover{color:#766df4}.widget-categories [data-bs-toggle='collapse'].collapsed:hover::before{opacity:1}.range-slider-ui{height:.1875rem;margin:3.5rem 0;border:0;background-color:#ececf6;box-shadow:none}.range-slider-ui .noUi-connect{background-color:#766df4}.range-slider-ui .noUi-handle{top:50%;width:1.375rem;height:1.375rem;margin-top:-.6875rem;border:1px solid #e9e9f2;border-radius:50%;box-shadow:0 0.1875rem 0.375rem -0.0625rem rgba(0,0,0,0.15)}.range-slider-ui .noUi-handle::before,.range-slider-ui .noUi-handle::after{display:none}.range-slider-ui .noUi-handle:focus{outline:none}.range-slider-ui .noUi-marker-normal{display:none}.range-slider-ui .noUi-marker-horizontal.noUi-marker{width:1px;background-color:#d6d6e7}.range-slider-ui .noUi-marker-horizontal.noUi-marker-large{height:.75rem}.range-slider-ui .noUi-value{padding-top:.125rem;color:#737491;font-size:.8125rem}.range-slider-ui .noUi-tooltip{padding:.3125rem .625rem;border:0;background-color:#2c2d3f;color:#fff;font-size:.75rem;line-height:1.2;border-radius:.375rem}html:not([dir=rtl]) .range-slider-ui.noUi-horizontal .noUi-handle{right:-.6875rem}.btn-tag{display:inline-block;padding:.375rem .75rem;transition:border-color 0.25s ease-in-out,color 0.25s ease-in-out;border:1px solid #e9e9f2;border-radius:.5rem;background-color:#fff;color:#737491;font-size:.8125rem;font-weight:500;text-decoration:none;white-space:nowrap}.btn-tag:hover{border-color:#cfcfe3;color:#4a4b65;text-decoration:none}.card-product{max-width:20rem;margin-right:auto;margin-left:auto}.card-product .card-body{padding:.75rem 1.25rem;text-align:center}.card-product .card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;padding-right:1.25rem;padding-bottom:1.375rem;padding-left:1.25rem;border:0}.carousel .card-product{max-width:100%}.card-category{border:0}.card-category .card-body{padding:2.25rem 2.25rem}.card-category .card-title{margin-bottom:0}.star-rating{display:inline-block;white-space:nowrap;line-height:1;vertical-align:middle}.star-rating .sr-star{display:inline-block;margin-right:.125rem;color:#bbbbca;font-size:.8125rem;vertical-align:middle}.star-rating .sr-star.active{color:#ffb15c}.star-rating.star-rating-lg .sr-star{font-size:.9375rem}.btn-wishlist,.btn-addtocart,.btn-remove,.btn-details{display:inline-block;position:relative;text-decoration:none}.btn-wishlist .btn-tooltip,.btn-addtocart .btn-tooltip,.btn-remove .btn-tooltip,.btn-details .btn-tooltip{position:absolute;left:50%;bottom:100%;padding:.2083333333rem .4166666667rem;transform:translateX(-50%);transition:opacity .2s ease-in-out;border-radius:.375rem;background-color:#37384e;color:#fff;font-size:.75rem;white-space:nowrap;opacity:0}.btn-wishlist:hover,.btn-addtocart:hover,.btn-remove:hover,.btn-details:hover{text-decoration:none}.btn-wishlist:hover .btn-tooltip,.btn-addtocart:hover .btn-tooltip,.btn-remove:hover .btn-tooltip,.btn-details:hover .btn-tooltip{opacity:1}.btn-wishlist{color:#9e9fb4;font-size:1.25rem}.btn-wishlist:hover{color:#5a5b75}.btn-addtocart{color:#766df4;font-size:1.375rem;white-space:nowrap}.btn-addtocart:hover{color:#493ef0}.btn-addtocart::after{margin-left:.125rem;font-size:.9em;content:'+'}.btn-details{color:#766df4;font-size:1.5rem}.btn-details:hover{color:#493ef0}.btn-remove{position:absolute;top:1rem;right:1rem;transition:opacity 0.2s ease-in-out,color 0.25s ease-in-out;color:#f74f78;font-size:1.125rem;z-index:5}.btn-remove:hover{color:#f51e53}@media (min-width: 500px){.btn-remove{opacity:0}.card:hover>.btn-remove{opacity:1}}.btn-divider{display:inline-block;width:1px;height:1.5rem;margin:0 .75rem;background-color:#e9e9f2}.product-gallery{display:flex}.product-gallery-thumblist{margin-left:-.6rem}.product-gallery-thumblist-item{display:block;position:relative;width:4.375rem;height:4.375rem;margin:.75rem;transition:border-color 0.2s ease-in-out;border:1px solid #e9e9f2;border-radius:1rem;text-decoration:none !important;overflow:hidden}.product-gallery-thumblist-item>img{display:block;width:100%;transition:opacity .2s ease-in-out;border-radius:1rem;opacity:.6}.product-gallery-thumblist-item:hover{border-color:#cfcfe3}.product-gallery-thumblist-item:hover>img{opacity:1}.product-gallery-thumblist-item.active{border-color:rgba(118,109,244,0.35);box-shadow:0.1875rem 0.1875rem 0.625rem -0.125rem rgba(0,0,0,0.09);pointer-events:none;cursor:default}.product-gallery-thumblist-item.active>img{opacity:1}.product-gallery-preview{position:relative;width:100%;margin-top:.75rem}@media (min-width: 500px){.product-gallery-preview{margin-left:.75rem}}.product-gallery-preview-item{position:absolute;top:0;left:0;width:100%;height:100%;transition:opacity 0.3s ease-in-out;opacity:0;z-index:1}.product-gallery-preview-item>img{display:block;width:100%}.product-gallery-preview-item.active{position:relative;opacity:1;z-index:10}@media (max-width: 499.98px){.product-gallery{display:block}.thumblist{display:flex;flex-wrap:wrap;justify-content:center;margin-right:-.9375rem;margin-left:-.9375rem;padding-top:1rem}.thumblist-item{margin:.375rem}}.active-filter{display:inline-block;padding:.375rem .75rem;transition:background-color 0.25s ease-in-out,color 0.25s ease-in-out;border-radius:.5rem;background-color:#f7f7fc;color:#737491;white-space:nowrap;font-size:.875rem;font-weight:500;text-decoration:none}.active-filter:hover{background-color:#ececf8;color:#4a4b65;text-decoration:none}.active-filter::after{display:inline-block;margin-top:-.125rem;margin-left:.3125rem;font-family:\"around-icons\";font-size:1.2em;vertical-align:middle;content:\"\"}@media (min-width: 500px){.order-item{width:18.125rem}}.swap-image{display:inline-block;position:relative;user-select:none}.swap-image .swap-from,.swap-image .swap-to{display:block;transition:opacity .3s ease-in-out}.swap-image .swap-to{position:absolute;top:0;left:0;opacity:0;z-index:0}.swap-image:hover .swap-from,.swap-image.active .swap-from{opacity:0}.swap-image:hover .swap-to,.swap-image.active .swap-to{opacity:1}.card.card-hover:hover .swap-image .swap-from,.card.card-hover:hover .swap-image .swap-to,.card.card-active .swap-image .swap-from,.card.card-active .swap-image .swap-to{transition-duration:.25s}.card.card-hover:hover .swap-image .swap-from,.card.card-active .swap-image .swap-from{opacity:0}.card.card-hover:hover .swap-image .swap-to,.card.card-active .swap-image .swap-to{opacity:1}.view{display:none}.view.show{display:block}.shape{position:absolute;width:100%;overflow:hidden;z-index:2}.shape svg{position:absolute;width:100%;height:100%;top:0;left:0;bottom:0}.shape.bg-light,.shape.bg-body,.shape.bg-primary,.shape.bg-secondary,.shape.bg-dark,.shape.bg-darker{background-color:transparent !important}.shape.bg-light{color:#fff !important}.shape.bg-body{color:#fff !important}.shape.bg-primary{color:#766df4 !important}.shape.bg-secondary{color:#f7f7fc !important}.shape.bg-dark{color:#37384e !important}.shape.bg-darker{color:#2c2d3f !important}.shape-top,.shape-bottom{width:100%;left:0}.shape-right,.shape-left{height:100%;left:0;top:0}.shape-right svg,.shape-left svg{top:-2px;width:auto;height:102%;height:calc(100% + 5px)}.shape-top{top:0;margin-top:-1px}.shape-bottom{bottom:0;margin-bottom:-1px}.shape-right svg{left:auto;right:0;margin-right:-1px}.shape-left svg{left:0;right:auto;margin-left:-1px}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active){.shape-right,.shape-left{display:none}}.shape-slant{padding-bottom:8.7%}.shape-curve-side{padding-bottom:8.4%}.shape-curve{padding-bottom:6.2%}\n","/*!\n * Bootstrap v5.0.0-beta3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"accordion\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"offcanvas\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-bs-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-bs-original-title] { // 1\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n direction: ltr #{\"/* rtl:ignore */\"};\n unicode-bidi: bidi-override;\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-` + + +

+
+ + + + + + + diff --git a/public/js/vendor/imagesloaded/sandbox/progress/progress.js b/public/js/vendor/imagesloaded/sandbox/progress/progress.js new file mode 100644 index 0000000..7c00003 --- /dev/null +++ b/public/js/vendor/imagesloaded/sandbox/progress/progress.js @@ -0,0 +1,111 @@ +/* jshint strict: false */ + +var progressElem, statusElem; +var supportsProgress; +var loadedImageCount, imageCount; + +var container = document.querySelector('#image-container'); +statusElem = document.querySelector('#status'); +progressElem = document.querySelector('progress'); + +supportsProgress = progressElem && + // IE does not support progress + progressElem.toString().indexOf('Unknown') === -1; + +document.querySelector('#add').onclick = function() { + // add new images + var fragment = getItemsFragment(); + container.insertBefore( fragment, container.firstChild ); + // use ImagesLoaded + var imgLoad = imagesLoaded( container ); + imgLoad.on( 'progress', onProgress ); + imgLoad.on( 'always', onAlways ); + // reset progress counter + imageCount = imgLoad.images.length; + resetProgress(); + updateProgress( 0 ); +}; + +// reset container +document.querySelector('#reset').onclick = function() { + empty( container ); +}; + +// ----- set text helper ----- // + +var docElem = document.documentElement; +var textSetter = docElem.textContent !== undefined ? 'textContent' : 'innerText'; + +function setText( elem, value ) { + elem[ textSetter ] = value; +} + +function empty( elem ) { + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } +} + +// ----- ----- // + +// return doc fragment with +function getItemsFragment() { + var fragment = document.createDocumentFragment(); + for ( var i = 0; i < 7; i++ ) { + var item = getImageItem(); + fragment.appendChild( item ); + } + return fragment; +} + +// return an
  • with a in it +function getImageItem() { + var item = document.createElement('li'); + item.className = 'is-loading'; + var img = document.createElement('img'); + var size = Math.random() * 3 + 1; + var width = Math.random() * 110 + 100; + width = Math.round( width * size ); + var height = Math.round( 140 * size ); + var rando = Math.ceil( Math.random() * 1000 ); + // 10% chance of broken image src + // random parameter to prevent cached images + img.src = rando < 100 ? '//foo/broken-' + rando + '.jpg' : + // use picsum for great random images + 'https://picsum.photos/' + width + '/' + height + '/' + '?random'; + item.appendChild( img ); + return item; +} + +// ----- ----- // + +function resetProgress() { + statusElem.style.opacity = 1; + loadedImageCount = 0; + if ( supportsProgress ) { + progressElem.setAttribute( 'max', imageCount ); + } +} + +function updateProgress( value ) { + if ( supportsProgress ) { + progressElem.setAttribute( 'value', value ); + } else { + // if you don't support progress elem + setText( statusElem, value + ' / ' + imageCount ); + } +} + +// triggered after each item is loaded +function onProgress( imgLoad, image ) { + // change class if the image is loaded or broken + image.img.parentNode.className = image.isLoaded ? '' : 'is-broken'; + // update progress element + loadedImageCount++; + updateProgress( loadedImageCount ); +} + +// hide status when done +function onAlways() { + statusElem.style.opacity = 0; +} diff --git a/public/js/vendor/imagesloaded/test/css/tests.css b/public/js/vendor/imagesloaded/test/css/tests.css new file mode 100644 index 0000000..af8a7e8 --- /dev/null +++ b/public/js/vendor/imagesloaded/test/css/tests.css @@ -0,0 +1,41 @@ +img { + display: inline-block; + max-width: 240px; +} + +/* ---- backgrounds ---- */ + +.bg-box { + width: 240px; + height: 240px; + margin: 0 20px 20px 0; + border: 1px solid; + display: inline-block; +} + +.bg-box.tulip { + background: url('http://i.imgur.com/9xYjgCk.jpg'); + background-size: cover; +} + +.bg-box.thunder-cloud { + background: url('../img/thunder-cloud.jpg'); + background-size: contain; +} + +.bg-box.multi { + background: + url("http://i.imgur.com/ZAVN3.png"), + url('http://i.imgur.com/6UdOxeB.png') bottom right, + url(https://picsum.photos/601/401/?random); + background-size: cover; +} + +.bg-box.blue { + background: #09F; +} + +.bg-box.gulls { + background-image: url('http://i.imgur.com/qKhkOKC.jpg'); + background-size: cover; +} diff --git a/public/js/vendor/imagesloaded/test/img/blue-shell.jpg b/public/js/vendor/imagesloaded/test/img/blue-shell.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b47f1e9270e7afd06d9a1d02afb243cd3cda2468 GIT binary patch literal 24555 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 I#9wp&20mn!hX4Qo literal 0 HcmV?d00001 diff --git a/public/js/vendor/imagesloaded/test/img/bowser-jr.jpg b/public/js/vendor/imagesloaded/test/img/bowser-jr.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b1de2a76f76268f079e491c171bcdbecd5968143 GIT binary patch literal 36987 zcmb4p1yr2DvgTlcKyVB0ZowTAd2}002Ph zt?3Ma_Qk~B$P{4m^Q{Hu6$%Ifz{CAR-b(m)@NYjv1bBD^M5K4`5Z}E+LPmQ3CP>K0 zAO0b4B`WHN519WDoc|>-@CXP@t;9b=98V7RG zTyEEMTmyq8(BmTMq_y7m^N>|os7B5M)fOULN#}rqX(YEV9QFJSC1fDo;g1k+|F&znt=-X(Ac5at;e)_ua}a? zwAAB|hvNoDzA3e*C3AOezqPyjtV(?+j!Cmst@BPRv)4sz#-IF6WM2W&<*R~YZf9B7 ztxnDy5knjcB1DN~j=P~n^eu-n;4pZahG@i<^5|IAdIq5%FAs-{v$|Lj_e5Bga;5+E zHvZ|}{-Y6*fy1~j<^-Zp^y61y%XJk-62*Ib>cpQgy0$baj2O;V>{>P>Bpc_&(ymof z8!NG_cuV+}55NcgAABSpMfF<)x=&05tAgdVEgFSBK8mI%r1LTBjHkUv^$B}qYcC;w z*+*JmKrY0SvB@euCW~vVNn#vVNnX*nn}}K3YS^5uwe>elH{}hYhawZ(#I7Wq^<~a% z)KD-r24VM0y0Z3Kp_jEj_DFkYr*|6L;q0@oY*|tAf2p(o*w=qCguwZhV08q$4(0R@ z?s}$=Ub2~<&C&6yI6j#vAugKvvKHxem*-7EU(SiwUEL$$;VXc3p!`upfBtsY9Kwhs z-%9O3Z2t-{ux7)at(=P3GsT?CSdB((&N;tVi&o}@LgLNxh114A_e9Ap{Q@8bwMCNtsc7_8r8)5H+>lA*PNcud{P<@>!R> z$*akQ{e}#n2mG6rc0k>-IMiD@~@N--v6CM2sLr{BZo zKf799lGSqUV&Wa-p^cR9A9lxd_02v;Yb}_$qpJ+rJM(?*UiIzFSv56&ADP+T8eI4{ z63Nui{r!Ovf{ro`0qwoX*g0cX00eyKmN0IN$xhjFJhPptt*LtaNG zaRWq+*@q zO>sHX*;V3ZjU}(%WLfDUZ%&@08}!x~T6xD(A*EAoV@^VW$|($F|Ejec4m zgWGOPG>~1VYu1*qnuDzn!X%@O1Xg8DM*V{L0}{;s=ik*Cd@FO5oRok%*gK$9DP1=l zjjRp|WK_OKme?)8r|UtRRjo`9a&_|1SAo4_@-z32{^3oN=&B!QEBkQ?PHM^gBqrNR zz?CV>bN}3%=^(W)K_v2&B&ISNnO)EPP89#q1NVjxNkK-`I;k)y2d?iAdU3(TBrOVI zDQLYqfZ7E|8XSu8Uhz(HKulNG(-JdZi{4h^5+3dZx%osA7>ZT(0x#e?!n=(ndZz!U ztm2qcCx$tEQZ$tO5ph;!XSgJEb%eBMkdl-~!S*IrU71C?8)Jnp$Fo!rDo~u;>d56= zT%-nWy-bPR4dzFDmZVSgw{>gT3~p_PL}7`kqvN9a;qox&w=tx48+EI+$2Of0Kr<@s z_IW5M3UAj&9I#vvl1Wro{P%LspuyVH?T$0LAF>}CnKFJ+!qcqc$@Jr4VEI zg4-9l_9}@yN=%L9z7thwS?EqSh@S9)l@>+Lf;X@F5zvHBA@(;`^v~=W5MxItgE@Qs zkG{7%fyrs6r5m>O&BkztIJ=G}AWl~U3+68bex|H!tZTj`Z2j1^X@%`Ty zgB2aB6azh;)IS)*hZ4XYqc~iNKFfP%-sgbkSaa7%c*x)u88c2pJl>LaIR z;##rVGat3W6y9*&zTAb@B@|>+r?Mso>E{&s9h0PWrq(;7mm2VbWsKvf^(wK3+bM<+^$q{+osXE-CC}EapUu9!=U8*>YjN6pSaJ ziXQ*2Wybo0s>$}Ou5uvn#CQhOc83X$h3>C+gvx!msOeIq^5NousG4}cMus~}M*d){ zlSt&-Me7lAXHQ`Mt0Cb&{#X9A8EMNQ=%+@lamif-q&l5jy>T{PT;|9+7Ss5V0rd!V z??aj@<`DF<6{5yb;B-UIA2_q2$V~>dYAFd%S(A+`z&mzeuWGR&iTm7r!JA8lCC_W* zlrx;6JFnVJ;1_0|a^V6wkk3$PhQw)3<6QYFLM{lihJzDAy40UM)8oo73EWwcE>d4` z*W*dd-KZ;@bv%PpHf(`93e?L$ZTTL=e$200Vy590oVP@^o&6-gP8T?ZDS$6^qyBWM zVxF=FfFhkZ&AOqc2B>wXCaq_v&WipkzYmTs*lem&~!u%;7#_TPSJ#y&}Y5CE*nyu7l5sCn9TS zryIi#vE}(o5C>Jkz}go32JZzr_%;8yELl-(pyAVm3Xv4@MS8dWjOq?YinG5mVO-A= zTQ<8j%!YY>i}`Y2dbI>}@T8mHDED{Kei|(hTtYiPHEro=n#c_^F=#n-0wlh&ja_LlD6lby@ zc0KozjiUkk(IO@!=*`-(u9%I6iA~;6p4p?ohidF=DKk_LNf}#y^hu6Tbt2EmCTJ-r z3^b&kOOGG~zUTCPNx9o!JsTWOtFI^0AtHD#OQGx} zC><}uJ`us4+Sb<80ELUS-LD=`BqeDNzI(Q8o=;7Tb?ugJ7Zk)iskVC-ZqBq}=tBi5 z4~cjzeFs|H<2-fuDX}d}$+AzUlf-)0l|%}SUB3dHrMD=Uh(d;plfJ0(RSZ#Ey|-*A zPz=_TG^94KNL9_aG&)jRQi3;jbUQXaYb-kL2?*r?<0LmTH(=5*0$Uh7yOO`7U#f5x zV{eBiowJslB+6brz2}eyiAkOyG|n9=VoWytvncDI8-ag}Bqebz)={ZuVQC0(Wig>4 z_eijgF0A`mdDrdk?HMy*Qfob4Pw9P`W7uSb0IZL+1p**7h0%(fs&{vlMQmu6-67q% zp~F-bk!n6bgX+^VJJt^7ftqgPw5VL~hm z&!DuVBu}P!k+;O~47GQUtnYb%>67Mz|2)s-q=A#5GhIl)bW+p_%}9)%r3HFnZYctT z!OAVu%cE($qoa2Iaow8+eC2%1$>tuQY;$PdO|z6nyg{KH-k9byI_2$kn;YM!Dpi|? zR=%{7ng5(P%^L5fz9)@6^S71aZ%YmxCxWxJC#mi*41Y9cA)@>E4H&ZtPW1INAz~0+ z$1N`Vd#V*Ecjb7M4ah}@*$1`3g)==iAcNh^;#h6Xdp?Moa-2{8E!w-8B$$s*(9EmZuOES8@7I*L5H{BGdPrfU^O(^64#(oFW<5(yXIF|F5x1qA z({_C_p1u#dcz|p?2EPL4|GZd4*R9MRDMaF@2@}}ZP8^@HT*Hry>}_BZKG2HWP6ClM z!o+>4igX)_ZP#^#b+gf+4bh4p`OL1OQ}9COz;`$u$r!oS7+*RCo9lqP0VYlsq`e1D z{OjwIddjyWsmS6NuYgZS5vw}3_%U+Pn^q94g9aXk~h zj(f?=N%{%`K6R-2RB$AYAUz+b=n1b17C~EYHD6>C$QA5#r3%Hb%G?bW6!PhbAtdG; zJ}R)QOl6;G9b*|?Wqv0QTFz6*$TfW_Q4IxS^AnS*Uj6tR7CZ<}oqd8UeZ0Z7tsj%m z?tTTtHt{8Agmh4LYdpQ{*o{j;hG{%H3On*L`!mUa6phNUNAx@LR-pbTg+Ru9N5${( zm}ulNA|Jl)1guVm<_$;r-^p0N! zfsNcZzZab3BP^+|v5LoyG&GP6`NshqY3LYh4>GV-zl2Eov!tvnFJ&YmU+qkURaeZ+ zE$dj}f!_n)jS{N+TN}qBhS)xyjS7ZwO*8kL9X|hbbF-#Cp5*%#EMYUEo#~!eSQwd% zZFp@V#6+{+skxGsaFkS#^XD%apFMq+`Y5Mn0`<5gK;2A*$;ABw%xK0DA?!HGXGh02 zN6vg{Ohw5o%$5jWb_<2#!~PLW?6#yl8mnmre7e!B7@c0a)5GL?rHEgJ7a{nWygDUf z^}e2HYGwIdVTHcDD}UIRY$-t7Dc!vN;k%hm)-RFT$F_{?9g?PTcWCOeNHP0$a$<&> zVN58l=Fi3>b11&w{B1>bbvIPDhOf^Z-7VB~R%WjDUI8OCuYm3D*iFuwf+9wlYdmJE zO3M9yt7J6tS@u-fDW)bh*)k!8DW|$EMN12f5^7B2R{&~%3<#H%ZS2Rz1$UC2_1X|R zkgOc~UYLl=4*l~W9T6rd#v>18N*#F4U6*In@)V!iYUHGkCj;5a{TI|o^pam_g6Oht zXOv<@iDN%Zo;XDaR@9Q&D*IclDe`ykcnOV=oQHY;Vp+PjP81a~2FlQyLIg9zycjA8POL$->x7K|lCqq2jnj5|uo&O@ zbok}u*?)qOsrV2}n=W{RY)@^R{u8GVR)a;6DxXfKWZOlmj^T!dIP6^#@Y{TXhkqPe zpoVB&)gK(w+wQy*k>Qgx|9$NSZSn1gv3p9Yj8S%yBFJJ~zuPO|m#5Wx8PZv8D{I@| zb(6B|c6mt6v<0{WbzM2_X-UCDJuL|vh%^+ROJfXqw)_bjbTshOs`K`QH`dUA^NrKa zIlNaF50?Z5gPwa@4auZtS(!82p1VIDvC%1eWPzkdRrQWoLdEWG3>H>=DvsGwIv8!} zVD&6w+b=RaongGhR`O1co`M8?9VH=tm2Q2mjh&DF&CP;_4666G41cD+fXF`ItjRQ^ zurT6PuHktlLp);X5_A-^{sk9 zZOF=2zzYkzQG-MZ1Y2LnGF2hVdz~0+l7&&8;&7>nRXgF?&@s}eM6q$cO1KfS`%r=5 zJH3s=ZZMhkQ}@!t-Rk;U_JrLq+v(d?Xa9(8O2WhwD`+9NMfZ(v8O&4#_F~S8(%B5M z&zGzs()c-_#KYUYo4P5ZW37MH{nI+mgz{Ow6x|Rax}`(P?*C1=GcrnllU%n3H6|qS zkc&48sg9r5So$bxG{;pN5b4upwyT=eh?)6xj?{jtc3R}*9qzJ7q91urNfejdMqSt( zJLJNk`!((ei`8=p%UT(wX=;b9hcvJCZg9PA-rK_>1)o}7hnGF@mpkXx*9rgmpW?nY zRi9{>gL$eFY*>7yvGqdh@-d1)C|b-Drb(twsDG zCdxDV{-wN{)Ji@FtZH1Y%tF7u_9f)(Bq>LQoWF@K z5tRWRekCh7jXyzDfE-__Y_uGKQji;_pt$*>Tp(N0VEGN>kw0o}_vWuHDh)Qumb(|$ z_WRIY)E{}zBCNk&X>V0Oy7_?ia{#%fQfP?0)mhUE zH#cl$?kTz0_eLAqc=X273F8yREqfkQ#ILC*stqx1=-ramkc}Giq-k6_!U^bqP$O}) zkA+?IKVw}pB@|VGI1C*p%njPi_eIRAx=;0Ebx zpzXwS4jEgSg)Hi*@5z`9&?z)94kP-(63N=J2m$aF8Zx3RLWQW9BNs@W!J>E+@w%Cq z)nL~mP^o4u^^bw%L4BtY%=98DW%#eSTJC01Db^l-A0W+!WV;^xoD^s=#q)Daf^O@s zve=rY5?k~_K!WpD-`2@56Tild@&(_3!2y|LLz;nx?eV!}8iAE3R4-oBbDW7Ei~RHx zOoWFClFsr5X3J~Ms~IJXefE8Rv@9s^bVra>EM*Oju;&oLu`pIStKQ>8R!}fFmAVn1 zq0m}NlM%H)WG36K2bF7yNeiH9!8Algpdeu(rs5&X>}=fZ*?Le-x#O{PaFR3N@d|Ju zLia3>aGOkXRJ6`m&{H<@_H3f?nao?BKy$+L^6!m_*T9|A95Ph(qnrOZAg(AOW5W^O zm)8(mJa34Eej_D>MY!QBM_(C?mwFfHrP#09A`NE`gWsZa0Dk}pU&Stn?;&kl*yu!I z1m3IuJTYPLT||dPeijO zrWVz`9(j{+Io;xfxoks0Un;idriPfaFfD?1bu7X_1O_-V>^#_GCA}CvSXb@fP>P98 zZ_hPzW5;Tl7n|kj`Y7&{iW;6jIyPstU-dSIC5L$l^fHQ>!W}4d1DeqY)rjW``m@u0 z5P2!6dgJGqU|oA9TVVDrze;~HwcB;C=1p3SIkj8=+7h3|%tqb|H#y=+J2cxuL5~>R zC}gibKUF{qi7PR7>X)Un8eFa8>38RKHsw#Mv;ZezC0EwKh$UeGjur+Bq=rWxJkVP} zOym8wzj|xbLZd-}1PM&P8q{3rwM)K4)p6{w4mr=8B$fK0H?_KAv{QuLL`EF6s15=}q_%wrfX7+9bn^Z|~qflw!>BGyTlfe8Pt5)D=1zqAqU&O4NT z8_oRI!ub1I7!*4Wm(R@3?@e^}^>ND|l3ckh_14)pqfynwioz=1(<<&bt57JFaPSL~ zb1xJP!h6aY`+-vAqeb$$me%jVkU5Iz*jn%POgV8P{TS|PZ;seC^v>qVQqwN{9`f;!L>PPARD3^u4Xl6&mbX9%^ zI!ScG&ZwjmW!+iD53WVTZw3@b@H$UwMj`|%f~oG!|{la&#sX(+N3=B-t33x&~hJ&QgS?CdVk`PG(q?@ZEc zY8~RhYx}kRS%k`|nCjUZ(iZwu<9hh#enF$jZLcX-wd?M|2gPoqR&}UM-}xy>cyuML zbLX4XYX6wr$5~RD(P7@>r!qgIAeerLI^t+`o=9k>NkfuX13|m-%AVVS!=$S8+zW>d z?UdK4zg7v`Fq*_7jZcN1DP%y`=&7i%*2_k7K6`Lv)Uag72>7XR%+Q9Hg$g2%j|fyE zB`0BUNFg-R9wmp0H)IGJ480$aye+{Hw!9K?U+~PxChbwwv8nX4|0zeF+d$$JSc>84 zQ1rz(U_>acqQW7!l2P~Lm;^oxJeGW!3H7IGoHXSAL$C^=k%z4pTQH0@;qHR+QsNU= z9actqARkr%<>!+Nq8)j9WGAZnE9wLo2z%IA+~D!3b|cr>yGhFZHpBtS8x#1ddRaM{ zHHvcZEY=_d6@}1|{lk=K5zBptpSEA$u%HDe7_zioT^72cxLthk4UDL9=X11ZZq~^h z?&FzW$@vz*z7Jd0mI|1E3KKC-yH`sEQyT2h>O|2&9-?Zp-S9=vu^;J&4Z_Xb*Vltx zg!xBU(QB6L6dP!JV{&_7#_m32H5jLflV4~7%3^YVLYo{~yLKmB(S(XGv+kx>mp^y)4c+Y zT>y6gxh?_*{}XkJZ9>}^6ZEv$J!Xht;?PQr*l{TT)v5|j@jE^e{|L>mlHHCMkWT$x zcFDT1^iQ5*b@4?9dB2Bc;A#5+xQ`JxqsQX&)5N*87R#{`h$5J|n9M?$Xg}ua%vBX;8FgFW9 zvY8^OUMcT4jxlo*aKfGu=9y#Gj_pUcYRPexiTDX+Mppj$pW;j;MMrZ;>D1*Rk6dsn z$+fIo&3*dBUAuOWLF+33cGB>}$k@+dNlonvCgQO<#sow$E;5c|tHS`>$8@V#{_*Iy!It^n`ZQdxrC z=C?|mP~UDaQ|#l9>~!TGfjL#{TvyZbV;P$x@e0kmrlh$a+u}G7kkp}=LUc`Bz^OnE zR6+U#>pn%oeCo#Jk&#H#xKDMzrxViO-ypTyc%AOc-V|dQh0b`UVDJ@BIBX_ic`jt% zAe{{nf4Hg{$YCCB$ns652GnPS>x|oe#8;(bKb?7#bE^Er#^N46P@sU*4R|{*sRNIh{v0Bc(y8S+ zzM<$okY%kUx-ylfLoxLb7P;qRZKh{W9`fQQqrAVxYDshG~ipkN9b+kWBi@dv_Gkc z;k^tDxh70506alv@qZ_;Fp(bANQn{k1y(S$Kjdk=0tU21?#P7nf3}^Tk523Kq!^17 z>rMq09R*k9k9~WY`?j6%rC1y1$1UDx0Lm;2ikzePW(-#pvdG_^!N4CvRi7^l5GCwo zNVy7QOe|8VVj7Obh^VejE*EklFqQ@=juREBdHT_+Qi8(B^a-{3xVx&jwlV%uHc*3z znAF_K*<$fSlAuNj#5+T9$vjI9q3Re(F+~_j0Zs+E0Oz;E1v5m?wo#0&+9L&4AwEcM zja!Q9dODR8mir1^QYmOhUV?7{B>WmCF|?rkN^8I+E}nRpqiy*&%i@8}vmY;N69p}N zdvzZS9I@-MWIptm+Lt~3#dZ)r0O?{UCFl;GqzCEdP+Oq&xNq3r1={nBy_e#3F-{lb z_-M+EZBmG?mazn>x3}^jl{mAk1seYxnQc*j8jC2z`lsGFlD=b}SIh7EZ{2%(hx%6n zERUbdNUt^2K>9PU0PvWhkRmCKwdlJv3pDPl)&VBmsOTSDtOSHqt+Y6Sc$$Z<06&{OT;&j1^cstTECUQ5^c3ef+X@sU@ zJCy=)A%hHHQ20W&jJUCJ)n!p3xzuq(Lktp`cQgZ4pw8Lqp#lY^!%QakY6yaj1f0s- z7caKIvI!{Up?9zhY6=#(`cCwj5jQqd_Zi%J&Ud4n)JC-n-VoroB zph()r6?x_x!Xdu^Sikh^2zLdQxA({F;;-5yV**(qB4E2kb9$r5Ibp{s)aPMis^Ba| zBqsQl!8W=5`caf0(aCnXJT!Hvg(T+6L)Q@$ia;YSN&Q<=t7Bk~;9VQ32DZiEE8rQv zmpwLYLfl-|TYyOMV2nfCiorR}0>Y>kOGIzkr=8v`Tf)cXttpsWs0n4eg)DbYl1v_h zO-`dCfk&!ZrwqFldK)3T4mH&tz!F0rlR7~G8a&|8QF*PE15eiE9I!?yoULT%5Zr0u z5$z(Au;ab4(ou)il99p(YVjIz&3VJ+D=W}RDjM;LifvnuuO8_1p&a3%ZTl%6JGGL%Nr^b{_Q42&-nw4W< z$w|AlN=YmWyKJU7P*9OL^N9Exp1GqvSHhdUJ#oOn;c(_(I3(d}`|%X}Ith!lesa0D zSSnb@b3Uq_I4+PRQq}+$S+$UYQWB31@GhBD&XMAZ%ONP5A)LKG_!qe=vTd!5vu%GN z%B(z^iP=!qP@dB8Tu%*0nq*F3$d|3GLTM1zlrImL;rr z*{-l!!?j1o36~35QE?{>VYTAZ3&ol6*7#xJ@XenGa z^mj`3T(Wul{&f+Na3)F8m{YE3*w!D|jkVL2ttHk|Ax$VP7X}k3;>~%KqPO`)#H*!E zM?n?2I5^{xiLIo8sM)DPI?*I_98~T!vlB`Abd;Is!*(I90dqzW_CBwWW7da_7FUm z{50T5l;gI3W0R3_cPM4Qc_-^tYafq!K4%|xQquRhJqqWTs+hDiZMA`dN&-}>Nv!}^ zBCd(+-U(cqJ0FCcE|?*wXO6#O(nKa@KOYB*?vt7B-`p3z9PMwcL7p$3$j-1&?H^3U z>xk?HLmBNUFe(Eb^z1JQsU}v1Z>yH?Y@7BxO{)W^lX-1zsw1YVn$b2e#ESamFV8Yq zYO9MC&maqn(aPCfsk&|3;;2yVbbVIRQQIoB411?0WEqzMAWJEaBC5()ugpvb9UWeJ zyKf4O$O8dL^-xnS3@DI9(geUaW61nIfj4`yKMHTY&+un$C~8WQXgEEIzWlK?LRjG! zAL%l!|IHf}61rAi(V47dsas;yiKJkVAs*ohpZKHz_K-P}@1U$*7ar>y4y8knh<=u9 zL$MRuoB4UIxT1_0ihTWYem34=bX?>WJMi4y&gRzH^a}#Kc`0(n+|#0dDkqjyJ#|-J zU7RPY?n#v$y%4G8asend5IQN-N|;XA@+BAv#t+cQkI65T4*xBOiD6NVCETk%fViyacrnl`)X0W#O&)x2mWQ z*mr|-L#`C5y4e?-KZYOdpN?wo!ShZ=y7^%#;w@qRK&4kZO* z`&_3NRCeO2{5!PP<-WH^CB(|gBG-zAsW2%}yrID&%6{di+^Q36TKTc;DrA=_6kTOp*t1GyP*q*Jo*;YYvfa{ zd4*&SN%5$<@4e{h6x&=RKL13oAJYHr>=u2n3AgdyH`UjMRkO$-od@ap9duB zbm6`n#@2~ugx1~0+?l(-0#K}H@ek@HulC1C*Q6n4`bepui%Om)+ooQnZ&*nI27pZj z4}s3+6dRnuG!KbVvXmmR%W(qyk<+>I^1X6_W^t8@s`}@y!7;Ri$--tB6qZN?{Q)6V z8#mIeRdAcmacto8X!MYM)vv=qzVr1JGq>X^*{I$kquFc3bP~z;7up_?9t#JiYo)6e zIkFdKRz$LHiPlkMqOho#6GbRQ^bUXK8#*fLfIx#f9-U`}lCNLt5)YIsjlX_0D?FLN zup?QE2rG2`6bg6#z%zWz`)6ftaLsiopV#Uz(rl#?sQDjR5^#8%Yno4RrYNF6hB4jp zn*5yo5Ts9HZOy&A{h)5YAJ)xBnPL}vu$!R#>o?OL$qG((n`>+cyICya?@oKI4lSuB z&&fFT=+=Bk{Ql~>hh0T%z3dm*H&!L@?QGMSzk|xO!hy!i=}eN0GVBv*_^IoL!gQ=q zTHFuDT2zMeDHHP)rE$?oT&k`93^kXiuY*@52c0*&i`Z7j&jmy8@Qbff_a!)N#|Pls z9<83r=D@4pL?kgceSFH)4-5se31|CjpzcVDG2d6!zm^!^1V?`NORq@wU~Wq^folg?6#jTn@-laJ-uyOXD^ZgN1%Q;$zv^q z{)&9&Hl5a82zLJ(w=FPqrngV-6}QFb<4aTWhc(07b$g()??SBMj@R)*j$THDqA_Qs z&GvLLton*9U~6LMZ0|cp69MAcr)bduuY>#FqQk~=FT>ehYzDI;o#9XB8NY zLe^%CfniU{w_S~V)g5)JZ?J^2jO|FRie>|v+MBy+`xEZFb(&y+wGyx?DP({?k|+p^ z59}3llakj8%g_$qx)w7%& zx#IFAIVFB{6P14+X>W5jzqGrg#6QX6@i37z}=g&zN*q94%B)m-o*P_270$ zYiu?L^)Uo3jmO)o`J8!rBe=&USVA+6mHynv#b3)h%63O6fe`z@TOTNToUiY+fEXUE zuc~(*(mRuVaoNIIbtr&annjdeajQ=T_C+#L;mUE-jIgR`$+UO|N!c>%(iq8bSM$*t zNJ&Tv*6(nV(Xvp#Dz{K*Y025W%ox>`>ki9caA@Z!7cMvE?0lYG=dMf{>(tUdOidR( z4$u+6bBb85(9^M2e4n%^JABu)EgeuPsnep};DuN)7rpWKOE?Nmb6qVzy_nQAnc)^mi@;WVRU;YpyPP^4hzKvT<@KJkY z8h;)+`)$jquy(68pQKe`_YOKg+Hl}LLCL}Bh!x$6Z-lHZYpAN7N<&^Qx*n{ z%!R2eCT%BziM)Kq8)nm_LKTl=iO1K_^_^#WH+uJ2hXrD>(q(o~fN(^FTr!ROiV}n$#D5 z9p@h{F7dL#n4vJ^=7TYiDn^DU<2GsCZ1(`>5UiEPZ??mUvSLlB;U>|j)#$4Fz0zAn z>;oFJPkNEeqWR?p4T?frjtQ}W75#v2IvEb(r;7NrB(bBdE@nQ?-ZQ6KMR{YeW6Wb_ zUe=tW{6s%qIlFa5oo?=E6hw3(b{wOJVs1P1RE$XQ@!4#L1NUhFP<~jQ#M{(vpSf`j z?EbYpV8np_g}gZT{c!w#OS%)Y9~OqtBB3918UbpZF^xf_YSyG9Iu}`5%dX=v(ZMY!ppt zNr~B3-gSHZ8lwk=+e$$!RHw8fwNwGsDkspeWfkCYqUdTya`=uMA!&6)?tjPAV6ofo zsLCBZbipT;DjXn>;wPoVoo(yUXXsguxS(zOwL?;e2+GdRriGy209QqQD7AEfq-{tq z7K_!z^7zPJs#A)>9%UR22Y0Lc%lgvq+p7V^F$P8>Cbw3hi11COrRTsm+Hq}^KNX7p zW~5)p!qMF&sx*(3zHcv!+f_Z-36E1Ou(S9p#+;AJQr{+B)Md`}4QtelvM?|G)d=N4 zTM1*>PCk+ycrJ~Q>!tM*>bS~ulWa@cq_*B=gj*jGlB6Mvul$_ zx?DUQN_mv{4Nk^>bAi}J+c1qkoyz;BOo-~nPBqhRukeR0YbK~slpZlMw_lS7YqA~+ zSRqual&*mnh`m61J1g#W1&@3N39J4f8-FNC)tSF@uNuqE&pzg-Qz?;j z0fi=I_|nI5ZMCK{!lKkm@-^EInmqrLiIJ14HEHo^UC{NLA!F#6&2f8P9Uj zo)Dw)=E0@rDt9v!v00pvb3dje_E(&z=TsbL%vL6|&X*cO?Iefq2O7UO3z?rSW9l(Q zhB9R|9-AxfJlhNGMdJl6iO2DOaToHeVD~TpyaA0qJ=~DW1biB?Gz-&QO?ai4Vsc-c z8!g5UpO4rSX=NjcXg}d376F4oJ@V-iLPU(M8q0cx^2M&=nbnGPXE~^+vF#aBmY0V! z%I#Z!?~$`r;?JW1r)4zvlTnc>dF|FgX%JcseQ-h_FQUEsAX|&KHs0PKY25wq)Q=gJ z;q=pk$tOZWlF?oh>-TF2+`q<_5#JjoL?rOM`ATr=TO;MTkzTU?kHK2Sh?mu$eOIjl zyYECF{U+S1+k^b<|7^=I+df;X>ZAEnb_5gU34STX%CVox9_RU?)uP{+-dy1I=n(*#j`HuSE@_S991yPDJ=b5J{NdI`wTy`bbN z`|d?sO*ccEJ5U^X`)N8M;obm5Y$t1)iU^+M@bHG9h^btoPHn8V^U|+7+sHbmu4pJ* zQs0z1!#gAPRy9G#1xySdOU%Zct78MaY^&#`$SBA7#&1JzHmLFrVJHTDSig{n-5PD? zz!4uO@g05#Kl%0Ae;mspHSs{+F4++xI25tuA(PaAHk9dVT+pbwUOqa#eaC4e*(+LZ zQCYPe3D=A*_VXb1guF2byx-{eM_Z@Okx73St|V8?&ZW*@EAK-S0~mBeOAGb48JbtR z_a2B}0d3uflxcoYcV0ZTLu2x;pd(#QFKl~k7v)!g*ajT zt@W(>k?H}N%I5SmRoFY#VHAIE$Z{Tln4<`i?roiy6B*8*=$dtDZ1T9LILCxWX?na% zz&RA?dN@)R;Z8AtR*{aw0e9l1KaR|8N3i%m)hfYaBhY z$~VhOqd)~+RqzC19Ceo7iOj>O2W7uj!7FPqW4J~ zFG0xaD9tc#KV0;%+@rlwFyw3@p^lv>&dUNwSA?w%-;~Sev;AA-=!SKq{V+#-i)}7{ zT`f5W&Psi=_zm-cCFs&)^e4kU@uM0gH5wsnSd4!K?8^5kl@;~e%HGJ{r;ALY(y=8F zV2G&{c|@{k&&gAm4Q55)<$qF4eBfD4X%^;L20B`IegjF4K<3r==fGoLXq%G+EMpJD z{&Q4h{XUiQ*pScK;jaKp+OC}C)4Br0UIw-vlB|tw<-Nz8qgTK}P-@-RDrsj#-uLP?QR>^rG{$aSC7btD3gahtcKU;?a60B>E=@|k zNz3qzD_9M2RU$4!x~cD^MxDOueu(XEcW&Xq(~?OhVcy9)Qgv;pD_;0!W24aKIg|AD z!phR5Ib^%DF+z3ZrilGi$q`kLYSme;=JX1z${vAMGMsv&3C(A!Gki%4LK;&(Meb$d^_ z#WaGV3>V~1NtHU_)(#&d7N@Zq-pa_7>v_Me+BZKW8!rickE?jIMvZ61PLqdK&DsA zC#gB#@ma!sF;wQzDLo8glAU2+>WzwofJiko6hXd{o_dRoGR5UAGfZObt}Rg8!Xo3v z1Z=8LQVic+h-Z_Yko-@?M zb;S<5^x2v`MW~4H*X~_oYbxx`GwHVEU)v?bpa@!?HH(&f3QfL`E+o$(LV?q>?^v#C z{{FXh4_h-Mi5@-Uu*~w*K{WT4h%XtsU+M%6jKKepkMwtLve3Ek`WZ;Qa=Rg;Ep1n= z%v)#-cS*QUjbSDCk%K1HLQBnBoJ#JyDHu^r4?LVeshM0xd)+5zk<`-vdxE-fX^pk; zx3zp-?Vz$hj>Z~s$(5*-^}?@~HSMIYs_?ly}$VG!0*!!oK_AyeIt})cyFIL$4cGoS5KXO-9A9;;k`u_}W?i#E5YA;#EZ$UF?$3@Zj#gay{ zMx9t_K}ZNIzOVmSV;-F3xXn1eTVk9rKNR}?{u#CCuVz%AZwE&Pub*yemZ$E>(IMIA zlIorBu`DCa{q4IzBPx_chW>^=V~8E|O(D#-ytFK3)bhH*mcd;^n4qj(4F>_bnvCTP zQhnru%L}P1M=77xVBwX<8`pt)rbp3C9c8Ie#xhG>1TBe$DXr2vT&fw-@$LWZ84jNj zm_;bPcl9BKtQ*u8pa|^h{Cvb%w-%_~r=rqy9-orJ?4uO^8;h#6sHC?|aanElj9Wus z4?iTDMZI_UR`R!p*g;7ePw~=Ur(Js4>!;&%v=XX1Tp9^{wW-*KA`2E>@mI@8L7vmT*htB4rVw(;Lxj>dI9Ule@yeqMxS#`%#*V2P< z*t6q~Iuc;%&?eX3)f;MP_TQ*_3%4l0=-nGdltxk{r5mKBrMre6O1fj{Mi8WHVCWE- zp+ma629S`3p-ULLoA1jx@42quIsd}5pS}0m_qy-Tl9Q>81PRy2cGEN_4SxbSI=JAm zvU$y_2YTlkVRSiPcXF{buWuDK|ExJm+=ev&N=Yd;$;u=9(|B0NBZfKg+=w8q!jdvx zjxsbSF+S9t#-Z>xqnZC$BX9aS*~ua8vN$sP2-KzU^Q)e3aqF@UO%B~b`YI3oVcp=Eq}kB0IJ4p>|1rtsi6V}Kd5Su2K4S>OqB>P^ z9xw-F!fL?EwCO`T@#@9} zMp480;p$y1;D@hmwWR6eU>9ZA&uD5?ttOMdjl%N`61fT2q}8pmPoro_VaJ_VjQDpH zS-7P}?{(jIomLIjB65cUO#{f-%U7k0$QaLVcoK?;)(_kt8+%$Ihp$W65%elr!-Cy4 zj2bFYs8C8kCbU!0Hi}!O5XwM|DjXxNvhu3*GXXr_tec>$F&}?>P6issIeYbDWyxT{B8MOGCNZxHIbSN}H(V_(>|TT} z#e&H`ykz7B+ejVcYhi#8*a>F#w6WxLOl~U&ndRrd6{DVPI6_2Dvj~YY#)7&;veH(n zSlQjoHl`G0w3$~dz%O5$n)7whga49Y5Q11J*li6N(6#?!qW^Rv5_{|elz#%T20)o8 zThrVE4&1v#Fwjpm?mvJT1SQh;6h))wUgB>E4)aci)e)g^@M!|_RCwolW~>FHDaU0B zv^%xg+F2ttFqmD%>IhKg(!0lXW-?i&%H~gg$ao2tsQ548GBxEJFiCTpmu@zcoF6du zjTbD`j>yQ0Jn+B6exo?@O6C zaD>~`#yS?3aIm*hWomDWXpwE%4bJa)3N4E_jkTK8k69HkN-4w}W`TCfjkABY zI|lsM6OVYmIg@^-vGOJ(#>w~(h40Jgr!N|~<-nlcz}A^o`zmUC7H^S*>W6Lh2ZrCj z+p@gJ6Tkh3qPdhlLjs`%I7e8P;F2`q>L9GAZWF=7`4RRH0V75n>lXAS1gcRxBfEuu z;D8|_&BV5`=>Bg_WM|DesNKQ`itFEfn3Nh~rqP2AWiRECUo*Y$9lAenD06<-e*66g z{C27ESlAjy4A0UI9&F_?`pCa@#0$=ij7d$`B*NTL7JeguHbG?rv9!Vypo%DDt1;Eq z)7p*~Qk*ml1c7pteuh(}Wxu=}M%@J_{aKM8f*h+ zlnhkTELxmuIqp=|KPs8yud_Knc~fm1NaENKpfklLv3%6;7odz&!9T1vcxk~?idRBY zGz6HdLctvUGBV6OU{$-wmui4I#wOHJ%VLj(r6vXjbPHlMt?6Y{OC9AjIF%256z94n z%8DB*d47}k3ZYMWStO@B1qEGB%)GmqT`H$gz_pCvZ{p6V@QLl?kV}QPd(vPiH1GT> zVlsKn(>?!NB=os^f{}4O+BlTt{VCl)DVM9Ht-}iW;A`Zn?vCMp-u82Fi*N0kpZbgF zD$rVBgvw>!>Q2|pKMmPj?sY|JwWmSk`&XWFPDoacpI6k>$+QUhDcO+2tswJYV;G*_{FkMMm*#ExNwx(cIS(X^`Ay5j5T zG+nBDNtqzkMOLExIIXyi1*||@9B=3DhyeIdD0CJH5+rN#m~!EcQv zp#O|K|15GohA7m&Iu~u$GHgo6NNLT_iz-pXKvNP>m`U!&EFtA74rr@n;)48#0&@lX zaUYfEZ~iEl?ftjlqm#OtqZdO+j8v6%r!~%t!(T;i7PMWYMlYku4X81E=o*9_A84r3 z>Yk_1iig9Os%xXLDk#LM2k7ENQvXW2(!;UDqPvlykEaaZ3c^0W`DxReg%nW|V57s;@ zam|g}KdAiQj!?l|*hjpRIAU`ny%0lWC@gGt$h62(OFF(a_Iq^kh6bh6dBjKq+XRp8~(Q=v&M1 z_uG$!zynfS52sVv(kKcvPnwK3IK-1}zQ0~*Dfz`u3y)*(TzrdOvXDgop}bWSNp6NZ zdz#l0YJ@RxXT(>l0QVeGxc*rHv#x8ZFoy1u=voi+Rm@(jufoF)dDA~9;^O0Sep33h zPf^uHA5eeBY@Qx3fpMtZv&Em}gU)=eyJ@(^Dw5vKC#-+^tsR?MyWGF zGmDHj`=}dgh&23xG|Dd|TtRJ(t4qBvRYHF!VREVjMLdgRJj!imf;Ru?`^D^n!+`#= z7ssmM9}q{M;nTa4+yb><(e9pTri(F!{Xt;ULt zGL1t*LcIPzT+#n&7xc)WC{Aj;Wqy)%k<4Ai2uD-kuCYg#hTjh;%qN830xQaX((~ac`WLj? ze5|E9k3R77H;#f*`!N1PVIJi80k5zRcCxo22F7RC-{nTAVz$U(MaYRmDPP{kiPG{3 z#+}59ra4>v{eC{n%v}Uu6JhU#Fo#{(_Oj$lr`k)79Du(FQqgzUO}C)9!kAr0cb6GI zPWFS7h|l?hT^I$P;RDS}QW~U69wc|)Yhb$PvDep>0`;z=5;Gg8FdhQhyFay`NkvnA zN2!N-U_5wBo~EqtI%ITA&Q~KFm5M%EE32fLWVYZkSKg2qgXE)t37Skx4$Q0k95wJ< z`Pk9bT*>@%(boy!mIP3>8e*v;6ufK0l-|zmmV=?HNKUo`ClQ`UD-aX-IuG0;N$kID zXzYZN<13nMp z@s)794$t!XC!b42{in-aQQkfFGB@FzUZ|pgQr=J*Q)ysIviZ}k4g*pB6{FgVh0mP@ zs1p|b8@9{}db>@#-Mu;L)CxYMLaBIlBwA*w(ji_YZD6d=Uum4ALVn-9 zG}?0`%(-pXnQjFcS5@XdfA=zr%1m z{~ea-E+j4VF^TGWevED9j^qD}-~UB;VvZGqUdO%0lWBeIgZ)p&_5VPZ<;OCh2OEIG zVO!%ix~RciF3^<~_tJ3|Tl*$uc0ozGgx;1YQ^th!V_RcevlILF@PyD`G7)>=)o;Mh zQuX%P2(m@tqK*$2g#6hf-tvCoiU*gu-ZT0wEK;v_eeG0bOJV`3etB=~jVF(3#OjhG z?0%E}Tp~%~^HT?KxT~^}=c=gB+6|F|c$3R& zUhKDVqT!)Le6(w=<(3UZ>5E-Wd`=zpwHdPPXac=`K*T?d-&MUrHii;nwFV@`Q5j4W z$iN{*4B`Lkf4C(ogbE3Lw384Mq9~G@Ydenv~A_ z;qA8J&SGryu3JZJZ;~_;g|Al07gg(ab3R&sjqz`P)1EWoUC3}e3hF%E|#A7MW5eBzCCw~!;;sq`toj&Zl_N2u^{wxHN0x6 zQQXV@@*m!3gu&D1=1RO{(K?^f`|5xCcai5L)vPB$yAY>&slGFgCt@RaPOhX+CxXre zPTuL`-wFyimwlPzI7L|YWo(8<5UJEw6J>=rm0Q5BZx4{A+^IWjzh=QP_k`)_+kj}* z>otjGQ$SqqW?`j*9_#f0I|KupXLrvNhD*<_4DmluBuSh>j*Pi#F0os&e4QfwIgEwk zhZco_%ad)hV)JkFLn1bU~yvLK$6I!9Heb+Nw+iQ{wM zC4?R{eJTz8m`WiK*gHc&GR zF%1o9nH`+4-Pz5KaU>>&T!8EzQcX=r6=j31*Ua7aB--CW*{QBpUkrVZO zOalQgHa}7wpCqOy5b$oYp|a4iSQJ zpxaag>9E1aTON-z!~R`;yu!-rG5O@#AdELG7Ja~FC)1MFmP*uiDIHbVwdxg}?sM+V z8w}NB$_}&vPQH)UGM_8)cDC*L&iO|zi&BzQg{`z(UtIg%#Z=psN&KKh?fR6flmp9T z3($r_wXVS5yPcNL6Ac`@)91A?f?q;OS~dCO#j$RjCPUYKv~vvpA*u#i{Emsv@A;_7 zA_P8e>t|$Bsq{e5Y#F!&p!zX!aw${7mSba7UTlo@%@CT~ajIXk4T`0IeZMA^KPWG6 zB_lwAvIc{b1iM{!w1b8E4Fr0WhbJmI{rA_6{DGt;FKq#hPG@%CTTH)_Ee$Kl7;`z9 zRIsptPYN371KA8RV4}D`qdq~qRiY$)leZ4=Ny4=aIUeW%z^gyqq2rF6yX$oeT1O@SdB+%j1npE~*)Z;LEK8!F{72 zF5g}!HR-EVpYV*;+!3_6753TPP0f)<;53MyPoSh=WxBYV$0|i{rD{BQsH{G;3|B$Z zY5~GWH^8^U>NPAVdXO8ZIXad))yC>jfpJudSY1YTKBnU7uWx*p+SMK?lih4w^0c4d zaSX&qL5AQ%>Q+27N=~W@R_6OaB6dlblXH#$OV8y97t1XsjHz(lf@3v`E2{cgaIwI!)N$udDN;y)MVdtoq@p4rS2UlWpTo3%^gk9I>!kZ7h zi4fmI*?e-9F8ND)>*QoH3;H?VD?l3sS@1xc4E3S1G&NBQR2mAup^@(^cRnqXDN9Wv zggzG~T%qrKC;y0}BPGe8$opYf%J5@OtBfd@FGO+uiSUW`Fw)tp9IfS|CZ;9)L#Cy$ zxJ(n}PGfk;pTu0oa*3Ww;GtjB9ij0#NK-DgwBPl`pFv;+s^R@I+#I!c^=ZNkUTY{} zSDdJkf6Djj&aUO`V9~%A@zM`>1M!%~{_bSOZU%%0`wD1WPk-1|myW{z4QtAQ5BB%! z8BUSBPr+qn`hJsHvO4`JNf+b@xjFcWGwEAAN8A6y^Ib7dofyx=!fd7gndN2~h>PWDa0 zN?+2Rl;s~{>Rc#y7ki$rPM@ih?4ENigy+28t`BxnJx&=9?*965QHye5b>OZ@SM*qJ zM(Q!}FM`P8rs=*8Xa-HbC(B|&`zRWaj=L9yQ(7BD9PNwI>^!dSCj1@dWH{M-&nCyWiN9Woc4Hv>dc=< zcBQf5Pd5um=FW<2PSjyX*^Q|!Wap*zNRX&P3CLwz0KsFnv37|_a&5r(H$7epDL$+c z`e38vN7-oO!25zv7LI)HSJB|9oLUJ8%cZ}~v{#j}eNn+`zBzvMd6W~vye!}w){0PT zz`rO-+O#wD6)h4nx@V6~i<)Tgr+eWG`5$2`C_aayU=YqF6&EFx#oSg*KaAEQWa4(7 z8>)=rN@-qhXj*m;SkcF?PWANq3@julz%qrO=*I_@1IJXxMGCdiDJbi&uTa42^aC;jU+!Jsb3k4 z?+4{Do6L1u%J)}6et*;X4MgTZa+7*@DMBhZ;&}+k)ePQfbxfE%xk2VhqNDeBq zWMDO~v_l%HfZ43cA%Ip3b>Ze=(f3cC;isZk)dd|L$F?q;`4SwR6tFYXn)o%ZJB|Co zieRZG(jk3snEC#;FTNp!9fB*}Zw*+IT5xYH@2zFB)tJs@O(K2v4x(m4%GSHJ_%+LW4?=I=W()(kZ+U zeT~3D3sMyQDH zTaSW=mka<~%{-7CXq4C${u@02BcWD|J4@-wXwJP>fAzrEYIFm=1HkjTf(3M5YscB~KXNr~s; z&sj2{0rw2Mu{RE5a)3F7PPa_fYFF4jRKiz93|(fckuiPFL8Uy{-P{+a_>2GoDa*#H zaEPID(Hy^(Sf^)HQW)4L$)JC=a^l!T!h44Vu(tbS`n6pChq-QF0Bh9%2~=%OEsB4i z-6xZa?H;`7x_}(wd2FgI&=#XluoHx~(o6q{@d-dr37*A@-yu_8*k&Tr7Sjj~{F?V( zEoCj=+V@)?*O@kzaO=ryZaq zeveOe9;GI+ zV((Nu+%?xV0gi&{%PR+RZMuCivl_!v+&O8zrz6?33--|tJ68#diKr*52LpjuTWl2GgFKhL$9Grq!V;6438eFOZ6b82R?81 z*mIzsHkr!#;8N~sT?N_3IZM*%X_VMax=9-yMVLq&2QFKA!|+~w6hnP`s@c$Ag~Mqh zsVEg@lr-28oH!yxN>y}kF2hl^95_lXv0S(GQ>H6AmyFH20b35Q6anh*CAajl3}J6G zeQf>UMGd@a_Y1YxeessAaUXqn{BmFT(_(kOF4UXC{pHPX$)z1P$ul zyYAMO%z=j%7TwZfa12YY$@~DEt6u(+3lUgeoZg<0@bp}ao0 zzK;?O6u71LR~L?Bv5IC#{tvdFJ}+j_itLidH9d3Uv4w+X`;i3w7v`v7vrIEydX zQBXNva}M7dq;#m!3K1unD^hQT^$>gdn*$!8oN|=kCGhPvua^qcTNZ9fuKb-Nt9c!@ zU0pNH2q*x-gh&C1u@}WyvzB_Z@uqki)oi;*2QIF~w~F_YRK2#wgENHJ&$CrHf%4em zTCRs%cO4z6+E&cSJ~ly(XBy|cIQ{u$8is%RyjgiJizH7HJRBT__j$uxGev^gyxb{q z)Crct=x2(PtFV&6f%K0DUX9vk^wZ28`(0_xP1#3Nr$EeA&VC0qC`ynrBK>um2gBd# z4ix|CHuRo0G*@0QtGSd1c5zm zs=E-#!heyuK}CEa$fdukZK7Q|O2mfhsL%cYUdbd?Q)c*lLio>sbF1}=X|kDQsjc&^~ zyp*X3DS4FliEQ1@$+gbvF_yyvjh@NLb}58GM3Hlg3mOa2>`e?jrW!B#26b+AB}^{V z6;dApWqrZoZ&3{e+z;DY2M`h5Y8ScwtaL zmzewp#2vT-aZ-$&8hRd~jcfh-V*J^uDuml@sVe!B*x5V&KLLAQXXEzq&7t%%*BX{O zq%1h;#dGS8lN@OU7W&+jG z7zghWAv1d8Icv2Y;p1&&6MfxFN6X&$$b{FO$GU^bc?T<`MMS$>X6RBG&fTITTp(wA zlzqbq^BY^qj=1VkF|*S&{;N&-)t<>MPZ#~O+ky&nin}E0EVQ&&(SD4$F{wJeqlzD> z&P-rdyrsx`4!c#&)@ZwmTlbHUBnYLYf`a}-x8XIgus%baCk4-flSKUYJcJ4AYZNG? zjMR}=@GJ1<`A+Vs=O-f)VPtLNAT0&820Y$$ZS*_dtFGOq@Hf>$XEtzvqiiRQ`*v>& z+GSdfj>s8E`vx`&w!j{Ed_-Hnd|B)T%HJ(lI*>7}>lxQwSwxMEp3)_{#$?xr7d*+` z2!mf>${E9F6opM%My_cy*+czbyZe>FhFEZRNCH&c;vY}Ec;EQ3I&If3gE$e*}WqGdX zk$q3>EGS|#00ntc*3fDu55Zs~zm+!nxdpF2v%x-%7TFuR-K)1@hT}yd{{a0yH85gMT9{*HU8;MT zHGeV3d44yRvqv1-OlY!6;qS1$qR-={4i~#NT=woRZ!XNdrXBi+2TeqXCew8jr>i`L zp(RWja9sA*`b+%WS$l*>ocp`H)MT}}5BRl)X;a7=x}W0rp@MlYEi2VH3L zpZV{m%{g`MS#HUjixuvg`apU%=TE0aW*+6>6caLEl{ldtGsx=Q!bd&EmR2tdWYi1j zQTdF#R*Rc1^7NpI?yCGnSa=AfoOj3wJezXZ+B&!9^;9nK3;d|CT{qEQY;Jv~QkQ6( zA~Dl#H(3>^I1QXM{_UdAb78Yu0M`At2X{P?WCdh3pTF*X$#jIW{GT5A}(5#Ai{%_b4%GdnO9;_7P`^2hlRh{aPE%k*m#+jE5!|xL3u~B2T&72?JKSBadx71PmPN8 zc%eF(A4q4&v;|UcD7MmR%$BgLTlFy`YBk25Q^5;q7%j{|2Y^w1#f(i(=KRO3gMI#f z*X^(Q(3foUd$UigGC$5MZ{G3y`e6FXcF^iw4FtOlC9KPldxqcJIR4*Wxd+35_I@ey;k<@Di#R+6)9RHYu%0-@4|pyQ;j=&FR);0_mA+jL0U^$f z6Q9(%4RHS`2k*<$L zR~E)Tq{)OsgTvWXO%gaEWy`wX@$8EIPVdcY*XWswv(|+mGFDx~J$K1H^AStuR5~?> zPpKeq=d;8pHD1gu#ISP7p@2fDW{ns}nT1AJcOFgB_qxgD`Gp6?bh;HIpfK5*{}8TP zL^@;b*nm`k|KEFz|KIsupG6u|4DwNcaI>y&`O92zm$&Wp5w!Bz2CDa%chsL#i+EYd zor!H-rwD40dV4{W5rZ**~N|bIuX)1hptl) zG~j+Z@4~##YVeM}dGPeaV>v$!!XESEt{TtcO(4F{nC3um%wj5SwnQbKhflzlQZeN} zLznSS%56`0p~*4q>_?@Xt^Ym_{rf4q++83%gP2T##NnLy&s#1xt5Sx8Dt$|XGbWv8 zFT;xnOBL6Z)L-maVUL<5qoo0~^E0Q}j_D&;@0Y+@JN7|3rR+TPTo5;8Opo~yF0!k3 zqoNr9ql-u4@^@h)wln(GD@rE|;$KH?qnu!*ugnLKOR2%~k2}%ml3>a#V`z}hzVRVJZbHreh3 z5^ELX6r#cnEeoS>?Ik63?jm_PjeZv7-1B0L^6Hwu=>Wljl1(6>-(3c%VPTB{^3?on zIqKxK>$uavsm!V()yDCUZxTd%W$L^Oh&N4T2s3L!h>N{I%&Pvd`;%7qUYf~&b$Vm# zC@R*;pR(p1!SL54>5Qh&en(IUxrnloOebw8Q}SxGKhH{YUSN?&vj-^JJC9WMF&GLe z3m}98ie0pN$@hCn84}WAuaTu1bi+}ZL#^k{Cb?cv!BD4q5!q(JYES}n?_~KkIL3vID2IEB1_LCitD=9S9ivFd<7VS!}SeT6fN>kD?Y6)VIhI6Wy zA*EWi{!U*|d9|#wI%z8feCB4Mm$mX{!2z%GlBQHAPwDEp92fQNmn(QRUS)T^7Hz_C zm6E%$cA=qZvL0bmw%)Tu`5BR>;oBc~2J8t#%L1QIyWjB9y^nT5U+r?@`3P~kwDj@=V4E|+}4cEWt7 zd7YV?iaxe&VEpBO0@|;>5?9^B(=JpkLLOgGn)r{-_CYav5f2x>Y=WAwz=nz^tLFs) z%1jtp_TBLFj{paKJqY~wZ=)D3_UQ3_zMnsr#EkUbtgG_S0TBBp(Pa4+k^H|711~^J z$5*U#T*nD4Tx&hC#xhRvq-#_`dIWn;Y^?HZ7sQuMwkL)`JL;v%cSG5xLpQtD&ILN6 z3f>WEgB&v*Y~&R1w;R19!qr>;I`c}Wga?bUo}vLm|DhZ#Topd1=%4RXFDiW`D~9)| zNII(tu)#%Nv?{$LqKbNVG=tVQ(}ue07RE2y#MK(pc8Zq%gl6{Enoc{4sU9vm4!HPf zla=Qkk$_zEpa-G&aW{qnG!KeD^xbm>5(>15eK%I@pcSeHd*H9ASS~W3F`?xtM zGtF;Nlo|JP&Oa_No&t30gdjHSmxM4VIp~>=*v(>07j&8a7Q#bqq zx*P9LjdN-a@9XScm{KJjD3U#jLyXJGSK8KK>C(saQk{-d&CA;CM!Fk4R_wnQUa=@N zVP2FwL%_)7QA&8tS9&{@(3!YnoVNIh&s%_`$@B0e8Wd0H`BwhT%v0y4M|&038@MVg z%-Z+~wV9ksx>89R;2Og;3I9DdJq_p5nsWFn;&Gi-pY2xs#1WZOXXHbyE6;j3S~?4< zxZp1?gAnljOG>0F=F+;umscojh}>l58z`7Nvi9Q>-L^FlqE77}0|LQ!>iV|H-*(zt zUh3>F&ppE^3HIhkaXQ23)-A{YdE2X|nr8I;bPOb*n^Qq2dj5o>J=~Aa96UK8uyCSG z@PF?FG!#Hq!%m^EC7?>ld38cnpgQ+y<->m{pgM_{m?@ES+lv$BVCc#H#fv}`-J?cd z+HVpe%k%eRKavuo=EE{=9#Jlr33qG2A^;M+*tl znfIq^M9e8;?Hgc8uB(&X{4W4?YuvpKBKqibhb#H{t&2CpMlVy`_BnJnb!uqDX~%H$ z7gFQL`1dcuOHN;Lz~2=Zud8^W!7R-*7Fn#GlgT6hv<@kd4D-DW8KStoO-x~uwdASR zs`fHp4Q$U$5p*}YhTbbM4w{0qUBl@*WdnQq1a#9G(?5l!qU!B)_M?WI27|8~+Ngws z%-}3@y!Nw0}chmBp87&LnTzbCvC$ z4}4kw=JgsXtS$S<>fyLA!%|V}i*Sm0vSD1xlfT!E)Jh|x^wHt+I2KRg+w3LI48_)^ zk#`nBN4Kl7gkoV~UKlcNpWntS=;8X~1f^ss;yx0Qim7>YcapW^7K|6dA>8=J& z&9A|dXK(W=n_n2^N?}UUeqQQMRwON7JSmKl-8ABWOn1Jzqh@PW)rxoXyNoN@R%L%v z#tj=DVsMeqnl#W;;5&RnO#cRf>ep5NcKue5Veqp3K-i~vL1Mv~*k!4yULVl4xh#W9;%O<=Hm0`}yW^8Ld~W}K-xp=s+A`K8`NiO;sIaBR9HaSh z_fNC%OzXx^p%78A?&g@ipaYx!K(nWY{io!W#-pifP)6U-UE0Zg#?y&?T(13N^*Mtk zQys^z3tY5D-{`BOMr7rf{Rk9BVp&74@*Co5 zs?z#IJ)@#C;#3{-h*pAP7R}%60ZpGeZ$?3nEYC{=E`bwhFy({if$O#Uri!)6FtMaz z@$AO*;sOa7V60TRW zCZnoSja*iJQ^V!tQUXdRNxfSxE{JlCT%R+F%e>wGWWm1Zq_{Oc z>7X-J5yP9{QOR{i&w}cCEd5PN{S!|%{8eEOiw!D% zHACHgqX$Le-XZMiJT-v%gpmOw#WC_PeZ%`27xR%9#CRatl;J_Ufol9cH6DYQ5u(~H z#q}f&%XFl9{V<9hjDOO*OXsyTm-yyLD=kyRN~R!@jDxt zo{1@r)YwID=67jq)iK5xindh#1S83)eo$UjdFR31gOk#`{5KI-nxL>`+sHPrYEk@b zyhF>X^XI0p9jEP|73IoDEY=FS|C?6$Dh;%Is$as{km*a)g02+|p%$rveG4TBadSB> z>)h%>I5{}q(PwUqJz?-^T7l2$*o1JsFo7fK-uEB_?lq0BjpXxid{<&;{)?yNvPJQT zi9ABXX=V`p=YOynGzPu5?B`GsfLsw>L&dja}Jqb@sCyUfW-*2Z8zz>74TwHE= zz>Ewtg+yB{j~%^%8he^=l1iw#UICwn7uZ$=*`Q1DqUCvG5Rs$DGDS(yuARb{TYWe@ zD!~lDkPg|nBqjf#>IWhB+Y1c`X-03ywjZXfTAmL+^)-AZFXE2N42vRpBXHGf;`}&S zQ&J@8k143R-^lXZB`2h|Ig)FB3dqW-nlnb<_Y6RpaE^G?s#o zS#vQ>R#kbDzm8X{*XCpanUk*23VqrKSkN@`!0iSpt_(N7#LK}3O4+&F*E0`|7b4vV zDF-}Y^4f&GrT#z1hAorcLXA~a?XJOF_LxfHJ;X^VWIi@VxX-_7lR_w&-kB5=P{zt| zi3|ZfX=OBKIW{Z+X82A?`x7|!z0I-1u_wap_C^}h7WDtZ<5a8Ycr5j3Pc%P)%9WDH zr10d<=;@!J_-8K{vt9+kp5C<+FwUPCbB^i$(S)`LP7^ktc}!ECyND>Y zS#=ol_J456$^pA2pYcV1F7+5N!;6)2Y%~PE&JrdnF~UFO*JNqmjobJ**PxtJlU;J%fO%cExWtHt6!^p_#uP(EaNV`eF$GyXU#a9iuBR?lS-mT zM?$#7lql5yY9h`Z>dPBbl?jwr1HRC9tC`4W?0{~i#LC#)NygioM3pk}p26C1ux#PI z>6qN0i)ayva%X1kU-=!d2bQ03bZcM-t0r;F^$t>?x#@;$5_+uRjB!i0+O+HQg8O;< z*ocRp6K}pt!^{1nhwBq_0$=W@yXb_VrSh$5OYO9Nw>E|s!!GflLybNLjoLR@N1T7M z8ucIE;FI_H&#ds{r{bnMVAhXEy<e{irJdyK}1$xK%EBlK}MP=b1N;xloAx_^HmT{?w3;p~k8NU_z zyT-A+lxf1)0nan8Lvbn@h-bdRPh?lacCg$Z8l8z2R1V7Ka^tAs44JjKAg@%x~xTY z57LZ=?{;1NuOjTTZe8~)cU5_h&D&^C%c+&PsAX(Rd2U2FC!3SN^arg3mAvvuQ+~(XwPo)4f-{qaqT?BUl)uQdI-hxKG7ySu^ zrBUATTAMBOvoAfcl?_$pQGnI+Pb8e}VV{!qHX34l5%E@pB9_1_g=l#w(DqcRB45j* zJ&jN4hlNZ|`+?1lD|-N|kv9vN$c@f~e=w*)xKiarA=L0IeJGc@lsws|J9t>K<$}%t zA>A1M9_OFFo%~(y0}jelTBzg~wJ;y;M^?eDQW!K#RX;aefYh@SdReOc`ugp% zXgTq*^GZG9kiC|;WK^c+%(msIEyl5v+iisIeHMnT-uE%2-R=PECoI7Gaky9w*G!Mo4njCaQ*2-t3Ttxr1w50{6_JJE? zMeu~%@T~x$q3~06UBb#NSJu;SZRHl=tr?-C*J{ru;dI?#BW1>5xjAJfXqruKtYdu3QIryCYLQ>(kQ8G91FhwgS<#z*baP_L8Ei(W=?aWJ zwB-$!;t_Q1iX{QYWbxV=@~B$XuM75}>o!m^WzFyVUz(p{(8T1NCDRm>S`s=g|Plybj^?*dr0leLiPGf5<${Z{u-a}4g& zrAhg1tVq@uRR`R*WdjEhT`L+&M`xPVfNRL{SeE*o<^0}%C{d8(-}`O5F(i!)U;anE z#aG*)enw$BQLqi*4E8h=J7M>lKT8RY@?K24d5-RL3E13FI>}tjY&5nFmsDzA50VK zy~J^cYH`w>u$w}+QCz$I5s+43pcSo@1?-9_6<~s#06BXCSh{%p6u(uk>HfnJB9~3e z0FS!SHK*x&(l`k(VoHJYT>)}o_$IlzDu0h#|Ig%%H+qaIYL5t54-!COPP?=QI3^YvkY}>kUS#^7dccJ~M}llz2xoi*kU$prRXPzeOyz-$%#NZ=MA=d+ z$%aqx$Qw`bmuf^JY|uZ)B+w(GV2h%kqWM2KfyxGt6ne}@!7zm;a0THd=C!)rQH~*c z)1cGn*~T3m<%*+L$5v`sYr}xT|19DAmD^hn$-y6GGp4S-pF9$vndb?Q;T?NLt$G)N zOqYLyiel>eaCLob<(39v($XdrN1RM{8;@-9STx`KZR3Wq?|;a|m2-RVgWj#$YkOCF16YV2Rma(1Ta>N&Bm)js#x6uyHA&%H8Q-WCp}+82IdpY^ zYb4yv-y*C((MsFDG1=18BQltR*TpN&TeMAxm|M{uKK-R}IlNQG?(^+)e>Gdyr&V2` zco(s_DKz&`e`As@lW{w4ph{I}uQLq#-Jr~Z^mrtTTTU&SPO+;C+)=9oCr?-d*v;Y#5wy_b{;!`V(j+r!JU7nVD9j$*l%VW4T}HaeRH8#j z+N4diJ~Qp!M1jVf+6X^NK3{R5NwXaqDjHQ*CIKCLHPPSA4b?nYugpOHzsAlzo(Z;% z7LSXjURdFeh#`>Z(*yj z9{rEdi@R$!FMjhI>71l@cuKd`;wNv@_TLh3cq#JGvZC=rlk^11F1I!n1$DcmP;?}t z*z~Gidj4<8rqT2lkb!K_9*&SL@y6pc-_jRuj>8(qMny{f0a&X!=aaD_Q&JEbi>-kbych>W{H?K=OGgoh(!kdH*;t{*001-nJBWIHV| z3U!9urSX%m8StkGin0+kcShuGo|J4#5u}ne5<(WE5S7qJv!qrD<#_2cDbk+d;cc$& zeVTW}OvXVW_d8yid6+fQmLD8cGP~^4TZ_zoD&Jm-H0F!uQxw`~Zt}+IIEo4vGmatk zJV_U!U{xLCe$+;ZKM{MEfr+~vVRvf(uI@886_uPiCYhda&$czT{|qU%rhwFau1@w= zF%k4p4|=QuTMx7}NPV_=3&p4hs%Aupz)F{O%ts9y#8wQCKD!yj5T+1n4wVKa4X@Y? z6xbywp!yttOI7%F%VKbe7|GVv?Q?X$Lq}0BzhSq?M&_$X>-v(hd(WAySJhirCMp+i zxFl%TG2;+XxDJ|AAN)Np(HDQ4(eQ&f@>Qi=c#!#8q(t(Cj)JEP&$(4J|{tFswK0Z+#MOdk0DVgpt`#am2+{L06OW6L3XgQJA}Mc4pHNA?71; z-HzXuF#gF(&e(RX_!{D5ojmM_diz46-<;s-Jka^DYSpfJwd3Xw)%0JrOkh#F0}qS3 z>dT1{xc&wej+IMcH;~p&hNJ`1nbiU`pd>6CiD@;JOMf=XUSA*PM4w98ySD8`Sz5Mq zUBU})=Gz4E&ao%8iAWr!UkJ61mq?Q`cI)iuhm%I{PWePK&t$);Dd^CW{-v?fbVz@0y#nVXp!59 z6@L;3-!P9Jy+8b^(`LE^kQ+Ts1@fc_b8OW?7VCcNx*o4C@jz$}H||+i(!~4u4nvSH zE@?)Acz1nAg5Mhcp7cSB*SILUEW7mfKr%4*>61K`q^YDV$^+HPaD?^*Z{>S-4fWP` zn~TLq`CU3;SZ5(cF0KfdK?^bty;OSiAZVrLk(#H@PrkH0kTh=+aA~EX8~<5%|6>Py9`Qv?gpSGIXHW!!m(Nzf zi#SD??^e34S{wBjqXuwC+i&D=h9{X>PHiLzO>BOa`yNl%7*nZA^zO4*mbNiu)l%ex z;lCW#1`J(M06!e4Js&7ol({UPnsZbnU}|gh?la!iNPFMrMEjd8N^A&#aFT$?+1mnXVI)^10mda zUmAXb+jCZH*VE6yvYK{GLd!|_{V?5=shY>yW=8Ia&Sa-*YdBTr-Zd?VV3`Lgvvq^# zOG6bFyIZJL{V)gK*SN6u>3rN5s^#gNYo`2`W6Ce$;>$ZehYWx|PN)R3te5{%r2pf2 z1^E7U2w3ztYp}=3tF|W>)tSzwRPDC&1wzsrFWNt9sO_u|4%gFH^INZ$IL4oW850ek zcc&TithnYeh=g@YRhfdv+3kw3&FC65nS(v&+J}%8EfDIFiXDZ=f^9QTQ;tp+dA5c5 zr6~E-WhWm7?Az_=L-NNu>~tq;+(@pD6sPZiCuWd@h_GI8K#nN9sUBr!BMh- zi}Fr&7IQCDOm|2nF-lbmb#KEh3Gg?jz>rou@M`48VEmrukd?^DPWM=sVULHyP|YV2mp-my$cFv{SnKm{ z-UF``EmC8EP7)WU9C;nJefM6K@UCyvpAO7YyR_b?W)G&M@6dt^Z~$_xuxYD}dkRxdPZF;s`KV+q<3O5DoH%%h54 z1Z;o(H9etw=?@jAqrV4Px_-d~r#5VbpxDc6q-;ZxEXb=9Tb7x*zY`???gjT>fBmm3 zyX`~QSA%iK>SuB`-ILq576Nq^w;c48XOwr0r1#KcN)*;cxHa|jw1N+BG0uWTvya8M z8Jwp^lbN|Qb{Zi*o-bo(hGhykjxiHI`KELS)d++Kf;$1?2bguxD#k()1o|xL9#kIX zMUx=QSed{_zHB((34wWxTN6UVHmf;hq&5foF{BWGjNFrN>=Qzp^Q6&L-`DBT3707Lo0a#z17~GezOm4 zT}*#PLXF+77o4vX&Px(?fC2X`%(Gl@26xHW$E&VkckL`Gj^pUv#5m&RvNFugtuwwO zkC6dh#gbrarxG0*)9Q_1M%jeQ9e%hBQ>%H0t`A_w=-+4hU1%#y-quHTexT(*+O?_+ zDjf?2hQIYg{mWYPU840b8O+F_gD#X>aNb6D*zr$!4XA(B1{{cgYju}&q*@cojSl)J z{`s%a_kS#aUXAi&bE^73`9_jZ2GG^3djnaEmmA9J%+fb{Vv`oL6EC#m-_y#s_LUsJ z%LBl%6VE)s`!#0aDS2N<(=q6GY2#n7tVg~|90|FXg-e(HL4N*4-ouye9q{99u^Mx_ zEP*#i9@7=pHt3|wb<~P~7blv_^MFn`<)Q3SPEdNMFb1?ACO-G2xl5X6q>l_pW+tg4 zU7f9#J8jdt@?m*!ORw!xGTGfhy5o@St!Pp3R-#9t0fWYU><>p%OUxU=4(!;nW-3B( zd!Bx~YxSb+aSjZJ8|}U1y?CBu=!T%>j;Aqm(Idotj;&jb+R%EIWl+}h$3?Sy{*aK0tl?*1g#WA(9N%`Dmt`@x5ameA4J$-?U36` z^)mVyrbf5ZUU#K0Tqh|Rmg1@)tT(k!!c=!vzBnzX+tRcP@{NAw_uhEGX^Uq_3% literal 0 HcmV?d00001 diff --git a/public/js/vendor/imagesloaded/test/img/thunder-cloud.jpg b/public/js/vendor/imagesloaded/test/img/thunder-cloud.jpg new file mode 100644 index 0000000000000000000000000000000000000000..54fc9a1b74498641586875285c94c6c90a5561af GIT binary patch literal 24588 zcmcG!1yEc~+a^2&4FuP~0KwhegS)#2cXtmEJOcrOyTjn_5Evx5ySuyl@_x17*6zRi zZ#~~zwfEH2Ox5Xg`gHfzw_JU_&A+V!&}1Z}B>+%RPyo~S58!PHAPRtkfrW#GfrEpE zgNKJhKtw}C{P+LkUqy$(AYp-h?+y-=l+_6R|aAJdv z+_>g~UDWw)5%3B6{Z@2nbbt`xMdkbdI}1W=NiO*k=biEyi>0pl%&W>0IG|!q$|Z8OQpABWUos(8*&`;zVYNKmGL%R9;omVttqL;vP~{GAg#toKk;2+$Q7@1>~N9Y(awA2Cc8pupDol= z9tCe;#M|i_uuCBxH5-&CzbX{kzK8Z9GVU)Sa+cXuBg_PStOdK{G>|jUtvc3o< zc^8$M-2mG?PP8tFCf)!pXH1>%BSLl~@|&oS+Lmj_mzgb-tBB($<($6-=>+rDqdC)yLlsslSC=K1EP}O2b{H)VDAtajqrh zlF;E*vr^dLn5&cN)UuWw%merIEa5t_qZD$6*bgHdl@@%Zx=G&v2j}3yn5crl;C*1H z+bvGU)ppiP^@|}v$|kWa(j&p2|GLlKH0SsJM4J9#jkiMhv6#u8&TrHINRsUwmlLV$ zP%tlS>ca2T;WoxAtLP@nVf`cwwpLf&cNOe)WW8Nd8b6XL>%=>YL%@zA4-D&BUas8n z&pG62e(=9zfA<^c*M84hHlghtZ-A3fHu0-M{koJgt(5mAd>?4*`#>pd)E08B6ICTW zv~X?C5ql|Lfo%5XB*bAZK+zss&H-H+`L4Zk>gdoG-?%E_VaRxe0 zc-V~QF%kNI2JL_P3y;KRaJwwIhgObB0u%Z zTeWxu*EsC%bs{9?O3v=qqE4uS`@L;EY8wV$}jLJt1KqJ(j7W6zEXyCIZBsm=5^^T3#~k zN*(GH?OwB(Vn!iWjcOhs!7{{`_}!ZSBFKZsc6}j4xOhS7oH}>WlvOW@To)b7Ey&B_ zVXT6RrH>6v^1U(UYUaLh6mePLK{aBDzirTSp&tQ=aee-Yxv`CtK19Wa0 zr?!6K5=W_9ja&gTicRV|a1IHlNe_LQNrSI>9~bH_Sh`55Xh5Kl_%sA`@eRWbU9G-E6-c z>#yZ`-Qriq9KO~@O|hK%tomv`j`aixp#Xt%PiVC z$47#Fu1y#m8XVxMRX7n^dy<^EJBViKm-nSGVbqK^n=pzc#O0~ppfk}0aW89^*HF zKWB`uzd6#Yg3WD5)@@`nSyB9=ze)d7f8&MkbDLH4jkh;`6J3c(Nq#EN`Y-(&iS^yq zP258|%Q|~1$4fbz!S3vTio;--)8JwAvOa3=;(a7TgRh%TxVC^R0sUdFP1pKY+;Z<# zA%!A&pY1I47mNKHC(o%&kK^+)BbNx5%scKRo>4BBh~@a<%AK}M1qBJ|p+pa>JHJB} z8iUk(?dT6~bVFRO(L+w%A9gqw?U+F(CA?`394Wt-9D6y_?D1+@hZmYa^0l0He~MJx zSn&#{N-|-M`&CIwmHj9eJ`9yRQ!a%Z_9y%XIX~jL)G~)Hd~#DLg%q-@M|1fkuTt;6 z0lbI;*Xrm`qYZPe-~H22Z&sH;`=)Qe+>`%-*QHUEXnELH_7EW_16p2*7qSVYDJNwG z?}a{quFTue?a2VQWMfAnufBuo(YFn^*P3t6P<-GYViAv4>N2H>CDlS&G_(!BIzJ91 zMp!;_JMX-F3BT^WSD`vpa_9N9lZAdk%=SXIHhg<^ym>*ze(K8~B0v`2S^-7T)3hAt zL4HN$tZ?*TK^E^jm!3l9p2hl9pRd6|gqv4{JP*5_CRbl~{L@t{#oUY!A*vS@MN_a#Utbio^~NfAbILHz~u1zqy|6mpx)>^ zRl(-?7X=?_mbvacD_@-vU%kG(0W_m1Q9V7XmKCzlP|x5B@zcd3q=$;=*N(1 z9yspxXSQqYIbQ128qy8bAp8^KY5pBwHa>u79wWf=Z>Gvu(? zh?B*)x@%ZaP&x&^*SEpV%GI!qEmO^jsL|-FWjB8Ruf1<>`%7{`A=G>%7;E36q{-No zO7&ZBabJeqIo+LfRlT`Wnzc@|P83FO5)X)RURwj9Q=OApq?$~9l731>vxrFCRKV{O z&vpFAyjVXyU>HxSm2q@-^(l(&#M)3ITlf77kjH(R=v!rN@6HJZ&}K#3K^Vdo*h8l)p)|W0@{BHA;XM~Y#qL`8Bd|7wfRA`yMS({WADkPd>=dVXuv}xEx)x@fdtnNO(hqsxi2&1gZUU^`xOd3`50bDGvs)p63*$hF;m;LSq_>Ke=uPm73P%S zU+I~-qt%p4X_|;&pI1#RVox^MqsO&lwL!eiDr;^xhw@VkqSbGhodwHuN?C>)N{@`T z?fRz8;iMHw;!!aYZMThMcRNc&KB|q$zM8;4)z1mq-VO3nbG*agA}?my$OO#?JQ4sA)>;i z2jreJS`9xAnj48W&{1f7--{=E>8^F|+CqhyylAvndd7y_ zq!b%McVZ2K;7bGkXIuX8S?k`;th38$MaZ1dEBP!(PI3Vj8>ns3Wv6p<%Kdfc()kgG z=PY!JSo-V@V4pBB^^h5iIy|pHxjt{B3+%rK2kx{U<=kUmT|T<|5~sFzn6w29&B)bd zPB1p1{0!nw^+M0Rv?ug^aIf-i>6hvIyzTN4I%M%mpJr%8SKP+xjMt0Jq`&;&z!X2> zx>=bZDX0TYz?Xkjp9Fou(|!ply;LO^BFR8c<}_hVGD!j*UFx_@=A;{XJr_AAz?-J+ zRu*4;dhl&txhIvX1hx*wr;N1EY5Lm2p?z#+Vr}Ae%r7n7d&kA3v)*E9)9&Uz#$m31 zaL4)Xp5|$_zWkjD#4&94-TnJdw%)(mFzX)p>S4Z1`2oGB{Rd(YAk z=svT|QFuELgp?Q7Hu=i(+zW?qteR=)`dr`(mlXaARO*`FCx7I-jlB1*lzanlqP~+) zsP=*yPx_Yw(0PecJ0@F+T#g-Fb@js@%<_&(ceZ)t`e#7&>y6S<$y5e|Kj z39Y?O#9Q$LXM{zvJm>o~PV2dm_!21=n)bJ0X$#2@{r1DL1|d;?G;J?s?@D|j{b$W<5)6&xVmUNY{W1@^07IxpGBB7Zc{ zKAk3`Fsrk7>z)=>M#$W03f)9&9&$p7MacKj>gO3nws9lB)OXrykQJvPNI5CKV!MD@ zq$9{eS%nYgRT*p(VI6;VjuOD9mJm$78 zy<8H#Z8i@67?ykf_~(Vsd&>{OIJ?0+nbh}2KQ`wL$RakBIKyzFx#WD)IC+CsqI=go!B>8-`{hizoeasaTmW*?fq{h5Kj4cIKk36WVGnCDqDl2u`wE6Y669scghYc`ddm{CayiA|1uCxT?JFL}FuDeYT8H|_m%e&AH%j7Df` ztItoklOO0NCL_yH9ni9Ck83%PC`__NYOnP1y8-#Wl2@1aZPD_ziW3vPPQH8yMc8=t zeiSh9!W3#F5uIFUoucTSsBC|y@0()}mUW!&%^k@D(jfF}8tfsn%%+W=V0)}XezQTR zrGa>ik~e@`*q~6^hXbJ8)T`Rz54(#z1_GTl{5Qb0{>$NOf7%PpoO(+Du5)_O<+SEI z;M%j(_D<`{#xU6f61hC?jgR zZwCl^7k7UN6AI(g)5>Q5-;!N@crunp<6suMr$mai7F%QX_) z4y)@@!a+kjO>0qF8M;5c0zQRCLuY59y_kl{_sD(Ws$cc_-Vx2DP(t;GgGvyw z*>uXPc%Wz8ky9j!X?khgsDN-Ue81vTeSV?(-1?%&kUF{7^`i@=stagQiU;*jDW^f! z!!z<)k|CzJsqp*ohkZ`dG|gnSsRHDh7wf>Fp65I{6Tw%`^LYeTx>VU!S$RyDDkV%! zef%%-{Q)iU$D2DTy~?1(=b6wg@^&2DO$FDk<=NM`D9n%+gbPH+E&EBy?xQ{)gJhJ^1pT1>`(op^`S=FFXk6*z80&jp-cKy88#fcTq8YfoO{(y-|28_p0LPO~Y z6-mvo8DULX%CgjtFh3oS*QMx&%GqmOVSr`Rc8M2!_ExKF$&I&_OuTNrLqgb%mx&j5 zZT?m38>8)P%i>K1UNK;Ix=@m9QolQo6U`A5u+L;?f;778wNFCL|Th! z^${#IHZRK9>N@Y{9;ic^TSw1#F0%BUNd`~7ocjOjlS}9))W{sm*j(lOmQ3<%=aFkG zIU!0{?ebfGEO!=q%6!_wYZLkBTgJdfQP zP!=3AIc2ZBSdL4&7R=#es!KKeKV3==AAF;yHi#qhD$k@WyjS zWyBZornnJf+8)J@AGx`@RfmbI2CIEM*GWz1)V;uzCIM9lr35c~8y*B7w~T63vwzLRpxDeU8Pa zyw;8OjOD7}iPF8D4LOgzGDCku%OUL~_~AOr+7CTn%D)rgK3J@R)zS=z(Onq{o2+(@9$00b~I6rensy~%^C5-dSa-a{0 zFpY7(9CIc?inMA9{ZWd{!xK*ksoBM3q=*{ZQLSCEv~1n+TKMU}MU;h^`zV-lke;P7 z2K49fuzHyw=FGB;c}>4EtDrp{8}{1coU`~Or>+@@O)vJufX8KueCWlqC)>JCk9&J2 zer>>&_wA`n;7llWYIp4d{e<{TU=5zr$0B1aj0pv@rm;akXUlcpI^j3$S$Ng#nBrqg zg}PzeZP$4uZs;6n#!;vTB8O9bRzeHL^>XB9vZ`W1mo4 z6#hWDglKb&C12-9ndXPB4<3<1epxDEp4J{I&9=G!XoU(|wsnz4F=^(hz^}W5JHpA= z;kAGiIIye|)zW&#{9IS5$pX4Ib$q_{Tye0DD#*zG?e3QGkWurH@*+sp!Q)+$wPG`OH=nx*f_Q?94QXdmN6QIUHa#}{#Q)C$UbBae=KPTdd}JPt zXsKgJUc(nsZn-NXCO4Y*_g=znOue~KoBDiDRx-$Xaz&Rx>4=K6?iG1#^_lF%$x}H- zqtnaFdG|I9CHgl!y@dpPg^`=9s8Cn5_pfb6$^lzU}D1%HX&cQ*&Sxra%El| ze5S*U!RR`qrLM-|3am%d4R1W>MiX7izSBb(C(w5qh;Am+0M%m_O)(2$IV~IDRq=a= zrUuyfkea!|5BSL6x8L8uJ@Y2U?sszChJm;RxCC{^EGw^$Z!Q>c#&li`Rl-&ZL)!7y zmOF#CGcTW9R;PqCD(Rw}kUzGtuUi1eLU;H{=0oX7s$0JWrVc1Q`Gumcx&!BCuVW;) zy&D3Ww)&&51ZQGWUSoIlT=pvPPYsi6%`JLr&6#bSsPr06f>QaC4;Joqr*GW%ro>-b zC;jN)^Vg$=@C9ofd=!UYGbc8QkvOeJ>`Uo3n!I8+ZjhThTZ!2YJNoE#vwF5z@3_SQ z;q{l_O(!Aon&Sm-i+T(eIiYk5?%|Fp20=taN+$@!BhiwY|H$-(gdLm5a?S`r$aXq{T3jm%HaDoq|1Qf7%up7|9f`l^^X z!==N%WK`=HdJ0L`7r%pS#|_rlXWQV)4XY=zjx~pf-k-`d4kOQ*dd*ymSeEM_7MXI; zE{9v$e;t?p94h(5M@FDys{b3afn7qDT}fhB=MYTAqKr9T9C9MA4rYOT_8qhNJk$5L zn&5nW*7*8_qV71(80Cq>+yU)O&qYu#qM!^+`A1@EAn!?o%J~3YOJbR2Z03}zCWCG^ zp-D6VL9;;c;!F49#I0%p73JJHEfLV;lcRlZPD9o4&cj#(ao7Y8+jZr8iR07Gy0kMD zV7UDxTZc0bW#ekN7u6|=_9H`6fb)uHk9%W52nk!gXGEQ0Nml&xi<#^r3JADTbyH>N zF#duRd-VDB2-muQw=pAN_*wF7n){M%?vuymJ%t+)M>>ng*5_!4**3=-%BQkWzWqLw zufC((m8Yxm`^f@)F+g8*@IzKg){XAbbqwm5`L^2W9xFl zBr0|fCg@cpqagmhx|$bvxM7)W2uiB|ZDjRxJ3J${I3l?hohcEO9M4tC4lDLc2|F*g zroEjS!G5XJdn&+vSAk>Bd7`cH$Ei(}#zYje+xGR#XH}U!#~Lt8t)e7SCa&MqgEUhA zz}6hQ&B{T4d{OOnv`)Vz8xFE!#D;SUO(EQ}$f!wRZSuyzpJnuEreNz4N*f0z!zA_p zJuLq#AY=9ccOG4^{0$&P3ZEq@O3C46B2oh;?rczA3>fa*9@B{gJ9`_SxOY13LtDgY57eg$dGfOEEwrT;eL_;G)7w z%~i!)J6w+!Y^}1PDD?<6Sto@qglEZBk2~6B6|$iu2DZZZXp0ufS1N)8_9L8W>(6Ec z4ppj!D9u`C6n8j?2N5+ruEDufD$4Q;YKImJEjiP*!Bg-iO_sc~&A55~#mS`QtB#te>FSzn^hCNjWr==I-z$$u2 z1{@OzdVyb9tM!f1ADL2wM0cjH5lcO!yb_u1?l>O>wePj={+`F0NltI-5Kw*;#Y@+| zj5U{7l>@b<@}Ne{1o&T%$!>YuBVIJ!%$Php4Ucua8YYhoHt5=$E!x38Fy$3{JuXE; z4O7OK=j{_ru)7Vm{RUWbs1{Vzdr?EJ#&Aolp0!CN7f)lv10>kJX)%U6Yqe=nGBMFyM+oO?))f}~UuVhiE*cCDpHS=sid)#un`{=sG-Gk!nZ9P1of%dFkk>v5q{ zj=As9S6*%YO-C`zH^!Z{*IPg!lobrow|&iiZ-W1=pur;MyU5~_PGUW>JYV?f*+H(4 zg=%$|^NqMHY5D`;d6W?G+NtX01j^U^=jchS4UrUYO6T81!4Cf&d)8{pEvn)vn@~GJ0;eruc1&-#s+~Q4d)P zkq47>m%HH)83QvK4NKoqq|z(~JIOg?e`QM9nR8=V*nBDyOOc|PvK%Oy;I!*NN3K4^ zyw|(4n+SWF+Y($`GKlhgs3*JcD9U>SJP4f#O^gpGZ|w&RSItTa(vf+l_8$R}`J@@@ z8zn$`K6)`bZvb=u!M&U1cK2s)8-bInH$X$DVP*J>kKi3wh60Db*^c8g!CBWx3K0TB0lOE2rVAr!PJ56ZV!<>6FZU%-QJ6-tbc=O)yFNChY zehqx|^?|+%yDJ{W;~oZ#QT5Zd;ie zd-^A$Ng(7E<2AEW;%8<2iAnyTRAiiGv)MxPU@;e0(hpq{8YW6|h~Xorg$eoZT%SH! zunrf63hMXfFa zMp^3&WvjWA@HNZ()#oPxUqQv=x%5mQYoTB)ZZ+3o1|y&4J*NTk=uO`kzUH1&|6rqU z??>Vry}iA9+&0+dCd%lWLY-TuSEd8DiD`=-bSH(-2}uft?(qZAac*R)xW*YGToUyd zB))!$NtWb43A@38=TWZ0`seS9T5<2jiO?#hZK}boj6+SEC3W>ppCG1f?SybTd4c(w zd2qnQX434{74y{PUPqorz;2*Y) z{X6A&8|x@(jCju^;`+aGdmog1h5CiiR*37(^x!l(jiFia3kmR2Hv&k)E}GEv&RV97 z&UjC5E}C8fqF3?i>mDf4(M)t^>)y$2iye3QWhm!3!ZLaAw zzi$B4Ix#$;MNANAHD6XOkivKxKCw+(OkAyjqqa+sgJP%VjjbDogchSx%X}j3Wvd`C z#?d!^tzxj$<$xBdo5~MQkQN4$s(^1DMo69S^n`MN88QCSPv95F?XO4$dIKC6J+*T* z)?R<7`?Ey-Kc{`L@MHY?V*%TRID>K=6Rm`0R+msf5jb0O$CFy&Cxt^O{rh_=j*bYc zsVlOk3^vi#2cT?0?3o8<=BB;grW<*jG?laF!n8zg1(Rrqs3R)H>aPti??}9|iQFT? zOdr{5K;wWWkA94pnOW!{sd+Qp+^JBr@IWP)t*JU|Kkzm7uv8h*sF6!ul_fl4e)Vre z@t&fQp1Ohh5XY9UArSQfF%NNx^D+d388KA*{bGY9P^?mOgRpUA{#4tN z2Hy$l2_pHOJ2WI2IOQIjgGh!#9d4kmZl#U|hCKy|#_AGwaZ0cF^>wh(2L|<4;KIwINs2JyqIv|Bo~*)I%(X~4S8%cA|6>2iS+KivVoCnz(rwcc zrY@^)TzIC@V`#^zg{q>1kjC!8uMK<4?td0g0O|LV4_FHgN_$K1)Bk?`6!ODqgsjfg z?sTijPI??0tl?mvES(`lWjvo?&J#7WnVb)bt0{PP##sx=w(YyNkqDmLQ_)=Rjb@pp zLt*1fkimOCKni~nx36wq)Nw;K3Kcd7(YJGiC0?GXHgrSGCi?Udej96~)sVVliIsD% zZV0PX__OTP9$yJ48%aZQ!Hb;xLGB#rbRwi**@bIGkbaLeH-2Q?uV%~X>R~%og_IIX zYbICqsWG3o2dTVb`Ux|@KrbGR*emdk7V4Y8NrQU$?ls6nBPSY4kxL6p3*CdX$We{> zd;9vUXY3oJBsTRyKEY8^|X~ zVL2g!z4716Uoc5wK}eg5JX^3<*K)c1W_7d9tQ~K-7XrWZfE$NICjF4e0%u#`Mb#TX zUE%33zIK`ZpD(i^;e{*k0xpx(Z};RdG#>cV89bHwb}lw|QC6GkHLs|O5_ zsPHcLR`E36SpznVAAL`tMSI-Ti;6RKGh)m|`On2z6Y!uOz|Y^Imp=7=$^_m{qQXR90SAcz2v9~8H#q&v0V?5ryIAoNKi)kNuyNlA?I( zaJM-!yM$^L*1O_BEGCjQB@lAPmy0ZmCL#XIED)Q`Rm^@`EIsI>iG8E{psjDf{Z|Xb zMM{;OG9nKMhn}%cV~_0_LrB3Mq4aFu&p6a~cLVl6Vfnc4;tP*mC zwZMlNJE_uM!(;S$vGJ+-{OYp0x8yE%m)MoUFDx*) zSWRL*i0Vq*ay=5F6C_cMUYl&!LP}NBi)|p0p{B-U4Xz{?hI|8wf#qcocxj5Q={Gh# zzor!ZXf80GUaDuc+B1}9pk^6lTvZ_65{DF;)V22J`m|;e?}lwJkDyS?MiYNQGiGVD z5Oo$y+}$5w1m1i8S@H7H^1rQR*(Id26VmA=GX+(Gx{e)T-W4su)$qCZr{&}S$wYn2 zz7S+E&q;KyTOFX2VA2xEjATCZtNzNc)s1}5wWG7T-i??} zsEQpxKA|I}ru-ykz5At<{y-swUWQZ=%kMas3|A;f|Iw4 zs4caxKHHbR1J3GjTkbWcNMYVsFlI^HxFM6jR6=VVe_oQ$S&voI!#)2M&!77h!=+z2 zC5zsjJWY?mGzRifdbv}?)VoN-w5?s0q%GcPdd#U~Z^-Tq;QYkhI!STqeB0K;cadN= zV$51i_wmD@dD5z4Y#93mYjo(rWzqz_*D*!@El*?LyoYkCC!D?Rey^!ZkHE8UqiUDK z_BuNDK8J2MhDf+xNeh2prWkxt{+PNfPp(m~ZP#Ky%gepuZh#N7CRW)t5?p_9&Zm=K zHZfHblZu=X)@t53Mc?lV#!S{keqAf>MfjxAZ_L?E4s=x&kyRdwgsyVSQ$O|al#H+U zefAf!XuYO!@w86k%6eg%Lxg+311S5EB!t)kJ$CGm_Sdf;G9Q2riDZx-<&6^#3^gf3 z2DO$U{xMcrsuTW|{>fWIO(NP!4y~zvpWz4hgM-wGZ-P-3>E@c7MK}mOgUha4xs+2i zFpE^SL=kmT^J)tXt4jNk2*<@^h{2jQ8_F7%*J|o6o-%X{(iGHUQYhifm$FjA51PE1 zhyggYFr%Er`4oU_lC^8Y^brA`q8mT!InSJ1AYCs`SCTmQZ+MP|6>D>f@MU*jE+G?z z-V12544(`Rz4x>5rlX=GRHUKK^D}yaCG`i@o|*YxQXu-G~NJ-`Yf-O zFNPpi1?poi+-M~`8>YbM#iY3bg0TGse(^WJ5Ty`DBYpi@N7PjD^O)eSiQ<^LR$$ra zG;7szWK&H4PevBLA;Ve1BYhRaD%yZq^Or{dn@8UJu>R0s@f-rsAj0UZxKUpC3hZC9 zYGs_o6)b{KQaHXJ^Zmau9qmf93FFPjI{=d8oaN+%35zEhT70A@3YH%@F!rWZgHXZ` zFt&`bSVjo85wdyosVy3#(ORR;!PMuXlFU8K4FUUf2Ag>7lQeEF?D)_< ztKaS0KHsxA^hMEsI6#}e6_g_;1g+^?*~IhZHk_Hs zmvTo#SJ4*3$%W26AqupB~(YOQqN)$k4L@)gmroE#fEi}hq+ zG8oH}datyC8BM{w6ty3AG_(l?=uMo$wJ|M9{t_4V@T#5(DR@VEvmL_r(RX3vl_So1 z+O|)47M>fspVirPzujp&F1J{t3!KLGj&aenSJb_9Z9K_oV>0xKM>!6DlYHi^oG=EN zR34y4rM&?tIyG~Rbd%UmocEZ?QBQF6gL5R^e&Gju5Z4MP?;`{CK=LE(lee!X`l*wJBwSM;k(rE~PxBDUFU zY@FZ9crP@+3Od8K2|ds~b~y|&E!G|>(>(9pRZh)8HbqEni+`qlndrrC7i17c69qI9WGpLPwUT%X2`-f< zf!<9#3&tk))r@`=^6p3xy%Fm(jQN#O5`QOp<~Z-@ef*!0>m7Q~zS51QAv^a~oXH+M zl0o!N;GDa6d~&dwGDvJ_4?ORKKN20y`(F{7nB6faBp#T`ESM!}|J=Cb`~>7D#6HSm-H2OK&x;cFo0}-J z+J0w+s*&0Cfra`qp0~=Q`gmmX#ofoYRx{)h$5MqWqyHQc%;(K%=YlPIpRUt|cJN9oN z$fKMP$GLz=t=^OnQ%P^eR=Dqkr@`;K-9oy9t||>@H56(1-7kPA>C_SyfYN zh)d+P1Z@?We6wp|$?2T$RMeUl6Wx$IHP_JEP8RDL!Y8O7;w5k@$=;Oz#PjZ9-a!%g zDOxw2!Z0FNBk3jW{ovk4b*t)`BjvoASq>6mAOE^ufN5+nv3J! zZ%`LpEySp^JGJD=7U~~=K?e;Q*^Khv`eRCtsXmJdrDY*DPzzf1(?b+VhcH*QxO%o_|5{7x|P8!B~#;V z--GuIxOb_(H49IxO*(3B=1=wsSDU)GRT6>jgtrZF^FUE&tP;|HLA?C5G_Y${_l3Xa>seBBOX1|O%2-p*u5D}C;=or;PE-b}=AsqtFckze0( zyIJc$G9ZFymdd|Q#pR)>>m5s>qr158nHd@V1ua?EO?N|pxs+C7wy3U>@fT#|Qx>+Q z)a1!3n^?W01tnja%iEih&p8-4@!y3rhDyF|nd}yoGiz`T%~^z5AHnAyybz`RjqVhc zKeiO1VA6gMTt^{h+`pM{o*6dxkTqbsAydAm{04^vR3rqnt0{Wo`g+3vRK$Q2ir;p; zbKQpGJ(Q|Xs*LJN)h#6($x6V9PW8WA%<;1MYN)D+6JJ%r9HFz5fxP(sZ7Lsrj{j=7 z!d`|;8Jpvg+k!4Iuf!w{!3)zf;R;x@@0tGrNX%c0(829JI({2zw>o|)!jias z(hON8>WV9&$OLO0R;PxZOVcrRVREgT-Efg^ry2b5eo>&pV3yeRV7;)|_S>^OzhmU9 zG#P$(MVRkZh+%uYEJ`8T$EffV9~%0hGQM~5 z`mPb!lmz9pKTcM(v|RS=4;xW@Pu9fjfh~y+3+6_XK$-mtl&FlH#hS;kbNBvC!ib%c zRlWJZihTIf>e0G#!r&qO_wuSTYP5ICvd*VnEdz40;hARC_g9Ghej^en+fzb=zqP%g zRy`HECQP1H=5-&8_GnWVd#d@Ify@B~(ZhnvR| z8Zr{erB-EGBk(j#rKWO&9bH$%Ow)=vsLA|~l<5Apd@bc1lF8w^We_PICQ&v(U-^iZZzO)gHMSUpr;F%Smmv}gN#&jioeuGM&cZIX1v ztl8%Q48HKWAOo3jC(<5WXwJy0n+#MsF%ZK!#sodJSzk|*bWb&VI9}A;%q|WLvYHJiaoX28(RtC(-46re>#5CWu7-C@!{{9V%&A2aX%){zyG7isy)p_tTEI zz6i7${0e5sQ@Ww|8*>8|km=WiClpwSNF<~Lk||Q8P&5flOU%`z;>X2);7TY)lXBJn zqLyN%Rw&f0rB0JzjYYLU5XPIA8h4Q<#nm) zRN_&3n~15gEQ*|8{?jLcxyJmFC;JUx{rm=q9uwj3Rk5rB$`m`mvcK;@@gLdG`bi-r zR$Xg@7B?a$1y?Pt0J(#=bJ&f@|h%fnQP zw8}^Ppjd_xeXWda^-&F-Z8I{x?B8hN3x$6vP!{0+JpZx%{5?)9)Dy`?1$v%D;SsK6+I!3KDPLTtB;d`Ix<$ z>T0`u;Av_F)V(_Ck?K?v_Vx<*Xo{++z%ib6t&JqmgTG zf5~NP2b|Qi%i~ZR(;ju(abC0-S6ryO@0Rn3Z+9o~n|&K|Yb>Z}A9tT-XRmg4JOkcs zmB@#Wz29sSSV%}sm|Nl8iF7N$-i$ddo+vnIg~=(7%!T10k8csvVmYPqdbmIJjxJme zbsgM!`&7Km(_+x+Y0yW#$Wmnji%_ksQd29d2ij`hq=>7Zj6`>BTu?6OH%Im}u-{@^ z)5^t824|-72kaRUE4<}_EqS~;pg+0faQi>kT96^*w!mPUH$YUjVf!z}K>u)N{S~;7 zeRf7_W+kyZs1a-fX?QjLFRmr^;Vz}%o^NUSqZxGiP5xdfk7=!rI9!eTR>zLB;g;V_ z5WcY90S9L6cI!^f{HgZQ6AFb|!V@Zl$qZM-q=*V*o4hS8hE+vjU#3L3gj!1T731B+ ztqj0msgoHkwUobAc`P#oVS?GG`7M$bw2dbF%?p#291+(3bfDG9P7P1xHvokHT|T*Z z(0SW^|2csFwdRb7D76A-dP){1wMGJmZ#;_L^R%*uo9A*PnssvW55DlSuB;#KTEAW2 zs*iv<@s}@5@_Gy?!zlYLqQ6_1Th;aEjQze#m|63nhlEPy(4>)uFG~d*k$%Drk>GC4 ztz#07WY>oQfx-n#;t1yK7e0oU_qCBL?LKNH}1fruth*q5WkJ>o2sYL20;p-xe)g-sNbz-xVD_buzAnr9Wm z8Eq5UY92f-n?W*rrVCegCwJj0XXN14T(%yig+8C0s#Y<4T+;d$cr@YCtQA-<;#_)> z^sz>EYZ8%~^7p+Ubp-g2H5twHhSE;9@L}HQlKotlz(}r$zfhNXQq5pogUS9fU~JU0K^4Iv8BXcvwfQD>-)a_&)NH|v(6uTX7EnhyM(<@x8>eVxCL<%!^!a{$$pcdqtpiX5_xWwiG^8g8GA0(4M zvWl^6_c$x<3OEl@{!#FwX1IyMy2^pkF8I8S4~i{`DoUY=#;)$-b&1Z)Ci%CRiAWx2 zm2`J6B6UA|6K7AM4?2(P8M#DdfC_)LELs@Nqq#zF2C7n0vyu^&WtCKX?X*35QX?=b z_Z8%!W7({oJV^R1Jnocg%=5*lr%M(yUzA5Qvcz zNWLcIWn2eMd|cZdf{ki7ka-lmZ%n~$87;jT`JJ?npTA!CbI2RIQ>D3 zm4=Nka(s7UOrm3}7Co84cc+HI#7fRRN^uo6oouYj7xz`3?h{2&x;xlyj;z z9OBkr+$|7>Zmbc<3a*$!%_jXWKhkpnSj7dP-RhU_t+32F%J4C(2-e$nN}Jq)6;h%k0Hmd7`IEr-5-xbJaKK$kDuf61QY;8gZUc( zFs7uL$dC3-W0kPd&qV-5mFud<0-4Rv3eV#M5aN=Ya3h!iUZ~3EqVnqv)1N8{eEC?| z9#5^h-Wyz{5jYQ%1`J?&DGkGpO)YW>UE9NH5%Cw-cr&(cM=Z@1?!>>C z_}F*|yL4C=-rexqMAIPml2WAT+4_wDalQ~!um0ftle==2hZ*bPLjw|p991o8u@HsR znVEC@I!zT5GP=iExpjOY6&pw^^TO`=9c3Mk_tH6h;T9|Yo_ycdjaUjws{Kxqe(y(Y zEg*gv9XlDR#m z{dq7`*hw|Mg=J~TGhzs%^&Ig{p>Jc_v*b#9B0yDSOn64qznG! z$A@a`i6O%*C5<-BJ8`^%l$jmn%zWOa9P<*wa{*Hhs_WY#c*0883vJ01n2*8>%v_Rq zy^E=XnCoVI`Bcy&SV;=jYot35MCy&nlNndjnWHS@t6S0qT~YB?#b8=><4Et#_&Za^ zFO5X21tsgz!voH?*GC+je35`$X{pVByx}7~T)w>yW6nyH%)>kI8aD5d#5Mqpviy0^_si z`F=Q zZy)T1WzF`q8fu)T4^ze4lc?A$2np6>|BLwgUch+1!bMK8;%}bj%@3+YX!U$`FA1h5 zc7jPirXHLT6jL1hyMo;3NX<*jKX>=P7__%hWTw9hzG)s8o8WYbxLngDR^x@o6>%8! z%=z4oe}!6o`i{Zct;|&+Dd_S>zQkvf<|-3$g84jZ6Em@5=|%Afw2BEay%cMVhP7q} zsz2^!aU$@Wv31Wc(XiyG-b?mx;GWRY(IvCqk$t4!ta5&sJgD(f(jOhUBOyxP`?^#z zjfbcv3Z!n@N>OF{^4s+O5(h~%Ql@!ceWZLN1dstXpoS9bA-BpsF;sxY?5G5^E!SyAkVv^WxEh} zEZux($f#$o?ohKd`{JMnY5s}*W_+4zj}|Wv z&sZG|58aD%y^?R1)BchQFYx(ZD*7UYek03So{Wwud&7piIf6Tkx)LX3{6Mfu=Y6J>a^X~!FVMKL8^|D7eKacD6Og7 z#1PAFR&MPZl;@p1Sj7;)?EeHAl;?|z#rP?zZWUt!ro)ppZ!2C;?|&+cZTEzPW%g|Y{Sf?f1&nrZU=m{hD0geT4kuQ9TC74%ix1i;qR-yo8^&#K6W7Iw;X zqW<8av`xH3>lwRFd0DSeXd3FFP?j0<6NrN;DmYPsH%SYfq?WqUbU$v|WzrzL7zdvy zzhde&Dr8nVV0&j8;)nHGu}H7zB)fUT%&n4Fy-}~AqKeh{rZT99LO!Rf)##h1^XWWo z1mr7!y(ZsrJ2f!l)(^2+zsSndrkj5q?WuQ%lvpNg+Zs>Mf`Gu8qGVNCembFDgbU z+&sDwS8xg6AMd#%Ex2R5rFbdyw2nB`8$3+=n=nSZnJP|R!}TG*7)&5fK8RT`?m<#Y zFck&qRH|xuWzvW)y&V@r+LTR@-Rexs7S!pzxe`H^ud#k+@AX|$WXITiZ+@22SaDw| z9=!=!HO$0UZ8nhx)0-Qx?-d?_tFZ6g%A`eoy>-1->~TZLP1&=ULWFfy{>js)#aX^S zj~MRuq3?=`hg4TMCkQ^+XUzb_35AXrcl;78N;~63T7)Ku3xsBRYTN8tQd9PK5&a@? zUeGEEftdiuTP{E|*ZnkI6!}W-<)=^uUo885ISyAka$Yh76uAX~{KyEjdIi00f{K-7 z?MSSi3V*904jsijLc?1D1H6GNs=ulN9(i)8t`4q{I_~6KOuJRWU+vrW=j)A9A7deu zQF_v}s}GE}z$WlmTz|v7&PI~uOH~pl{X>&D@;|gC6>cmk2UA{S%oKru54xi&SF6HT@JBOvwc&V@ZpKtWUN+=bf~sr{m$s84z(6L@peS#T!p)j=!p{#4~;v`6&k*r ztnyy!k@&A6r7`T^z+~4Y&2g#pi_|YF3ux%UiR2a2{n*C~Ac=H7;i{4jC_o1^7F za`Lc>Y-gw#y0-7?DXDlhG40Khj#{^QSnKht>CDI4pOI{w1i%v}Yw~ zWw__KW95?9b5pE2_;bbFOyq{Anw9uS-ST_&R(+rruzv&b3RSjh-i+@e`IoRWFlGj7 z!c%po)rraut1-D$u;my8G45DxDwPZYrYiM&cL;{2nQ+~KMa_{7FuC&bhTU zB2plK&&_H)z$w#3`g*(wEy+N-hx&(;;uVG;5P0n^)Vs^|dLJsA=Q(a=UJ` zE-1gMZymFAvHo3frLHCSqrmDDy`)<|+;v)~pneEqwJN>7c}P}eW`RebHmSA1!^{1c zr|aV(bO`Je1XQA#D%7i#W?eMga>=QBM?FGL;XEKa*w&1d&EMnozXr`}r1LeQV&)rp_htK!i?xR0=KQ|coUMuI zM1}54dbf7)KWWj=u2{&-joinC*xpKwXRe6m-Te%Z*jEp(ksv$_bf(mZ^8K7tKs z(ZB_im=t2SkHwb+I6K+%QV!&7F`gLa;{E!sObM?u6P>gJ&gQ{(B z*csA{Fl*LSB*7q5jIFzi^hiRzL8`GYuAV5(z?jcHYCbd#M*0BMhn+Vo%ahYI;?$27 zORQ86sW4iaiBi9~Dwm3xtq?rn&IHH+sXJbEF)M}4ovS}C8gF?bP)bPS9(C15>&vp; z8H|=l9hEhh=F+}ZXu$4C))(MpZ;0j27ONDY> zy{(PXR(Bgk&^j)lw>ifqt7_`&*QMTXV<6i>zdG7VVHbMhsoZu7JD!lx$#;+_O!s8o z$r}eTmgj83?dzWo@~L0pnT(YL*qLd0d22-2hxNA!0~a0}(!V4U_2=BoSey~KqO9>? z{#uv$rVU>L5E-I)A&GIq_}@7O4`1IrHj0m6F?JOmivPwG%h*$TdnbyxzVD-m;F0l6 zIni9h6j6Xj4U;!~osk>IL~h(&Ms~IwrXKgjqS~Z(P42elgYTX(DK5Wv4cd75xkk!$ zXJjqp<6pVy4lUetAIkKUmJIZed~|7;By$@z<@v+^GIK&r|o2VL2u4QFckVIlxx%YFQz+djej) z)Hb_EZF_cP&TpIOc-P@b;}*GT=XL!>&34&$0r4X>T;#!f(==U;09 zdV1LfeIf8%0WN72Y!1rN5Hn(|Q~BBRv&v|A{UO}|q^VM|He+DdC{CH%2`W#7(46Yg z`nHP|`*yNF&wfmqnwf=fJ_FmUaRDSL(`AF66|t}jZ=)_MvIOnfWt-kpC8N?DMPCQh zlc1oMD@K8>4bqU-)n>AXIG*f~b#vFkYei9%9`ZC_q-auA{^A8Qy8}tcvslmWj z1x~e-zd|7{=h@y2*EleBfk)})%RcgkLH8B^(1hS89IL6^QL;jgo(X9dIW{r+)XbCW zLUksMsiCXx#7Pxfz6h@zEmcl8|AtFmD{hp~a)J!}jOd!CT!PKB%L*2Ku~<$?sM3K< z8Mcb)dtAX_oYBfgn4Y}6=LuH%=M$tM7MZunL7vfIhRt{vfdbk zC&j($?BQMcd_ae7jUq1&^d&q^-XWR0{0acLFy6T15R-DDZ0BfwWhwP1!T6gpDP=K; z=uk)F{vogyoKLZiBMwivsQ;e@*#Et{CP3fUFdKDbcyC4Q-uH=UN8tN>UT6q3WiiqE zMTT#1_NrP=$qfK$W04#ArQsW*1o)lXys5D*>eXIKXscuP=@Y}}85xexMH)Iq55E&^ z3Udb7*_q6{rvo(!e!Og`tOhx1SGe2WI;%~bAVii@SBL&yxwn1bQ)&)ixyrGs06ln{ zucfo0L_`rS%$S@31i^5vKm{b#%fpIHy;w&W-?G|~ha&^6oMH&ie61G_yB7Ga^JUpy#(!wq zQ%|ai*_iv0HuWwTxl=vXdnXv}ZIvr;S;?*wPM=p_y%FIVrN|BDHLgkSo)M2!x1E1b z&Pp0(If&~l-Mvm;elpcbNmo3r#ChmGGCd5Y{9jtnMmlr6yUb&wnQW!6ioA@5#xkZ3 zT?@UgAYY+cK>uaeC{oV*0er%$S^u7$SdiP$L6)LEk=U9Fkbok zV*7`~P@gL%_pfvw6E4c!O_iT0No1zD+x74GO-{#Gx4#L{5_)ZUAipu($ghQ(3IYC9 z+>V#5X?sgJc}ss?H}PjH07nQiTcs7tKt1mNju#=x1WZqZWrXL=5SO(pFx6Lc!<95# zpjhS6jN-$2<}II>U#$fyeOn2e<-+}BWGZSrTDV}xEuDm< zv?e@)hL+swKZ1Zg)=IAIdvOPdZSV7nN6Maek^Sji3H_1i8 z{{FQ-qcp+H)H@sM$=S;pR#ONfyJo45Kntu%QV)$Pyr+<6#>7x9#Md+uy zi)l#?Ada3X0WyosCT&Ap>ya2I@+fWouKoG?q{qr%I3jp98=HKDe%%{9^X~1TQ1n{Ol7`1$U!fY6H{` zc(QXSX*mEL#yOZ;=+6kKI3owd?w4HtJz@VWqueZi4jAI8bB)iZ1u%{a*cGs!6!|Hv zPX)ocst+Xo(BxeAt@yRCT)10xVyA+J_n+N}mLDx6c#&Gec?}msK8S@~8!c>h`cZMoxn|c4*b>OK$qKMr7HAFxL;Loc7;xx6s`}^ZL5ix$SGqLrXXjcO9DA(aYt4W zvNqm*eaedB<^p@-LYLltTG0TrtLdp3g&v!YfWfmhFL*HQ(nv6QB(H&iK2u_sq?CQrpFnVnFg?SY-f+Y0N6<=48_x@etfCz2V6dAD?1_|M(+@KM$ zTAP*3l2^!{A<_xNu@0h}A1F&Wct*T_v*T}s-NQ{j zmiN3c@N@fdE`)=o<&u=@m^^M*VO)i+l~6td89(>%f3gw&+X4Kq3B%3Lsp63i!#AOH c#{XF&e3=pYPp`D||5JtkO{4#RmVYMx1M>*IIsgCw literal 0 HcmV?d00001 diff --git a/public/js/vendor/imagesloaded/test/index.html b/public/js/vendor/imagesloaded/test/index.html new file mode 100644 index 0000000..02b04f4 --- /dev/null +++ b/public/js/vendor/imagesloaded/test/index.html @@ -0,0 +1,104 @@ + + + + + + imagesLoaded tests + + + + + + + + + + + + + + + + + + + + + + + + + +

    imagesLoaded tests

    + +
    + +

    Basics

    + +
    + + + + + +
    + + + +

    Locals

    + +
    + + + + +
    + +

    Data URI

    + +
    + + +
    + +

    append

    + +
    + +

    no images

    + +
    + +

    jQuery success

    + +
    + + + +
    + +

    jQuery fail

    + +
    + + + + + +
    + +

    background

    + +
    +
    +
    +
    +
    +
    + + +
    +
    + + + diff --git a/public/js/vendor/imagesloaded/test/unit/append.js b/public/js/vendor/imagesloaded/test/unit/append.js new file mode 100644 index 0000000..7a6b3c8 --- /dev/null +++ b/public/js/vendor/imagesloaded/test/unit/append.js @@ -0,0 +1,30 @@ +QUnit.test( 'append', function( assert ) { + 'use strict'; + + var imgUrls = [ + 'http://i.imgur.com/bwy74ok.jpg', + 'http://i.imgur.com/bAZWoqx.jpg', + 'http://i.imgur.com/PgmEBSB.jpg', + 'http://i.imgur.com/aboaFoB.jpg', + 'http://i.imgur.com/LkmcILl.jpg', + 'http://i.imgur.com/q9zO6tw.jpg' + ]; + + // create images + var fragment = document.createDocumentFragment(); + for ( var i=0, len = imgUrls.length; i < len; i++ ) { + var img = document.createElement('img'); + img.src = imgUrls[i]; + fragment.appendChild( img ); + } + + var elem = document.querySelector('#append'); + elem.appendChild( fragment ); + var done = assert.async(); + + imagesLoaded( elem, { debug: false } ).on( 'always', function() { + assert.ok( 'appended images loaded' ); + done(); + }); + +}); diff --git a/public/js/vendor/imagesloaded/test/unit/background.js b/public/js/vendor/imagesloaded/test/unit/background.js new file mode 100644 index 0000000..ca76fad --- /dev/null +++ b/public/js/vendor/imagesloaded/test/unit/background.js @@ -0,0 +1,70 @@ +QUnit.test( 'background', function( assert ) { + 'use strict'; + + // from Modernizr + var supportsMultiBGs = ( function() { + var style = document.createElement('a').style; + style.cssText = 'background:url(https://),url(https://),red url(https://)'; + return (/(url\s*\(.*?){3}/).test(style.background); + })(); + + var multiBGCount = supportsMultiBGs ? 3 : 0; + var done = assert.async( 14 + multiBGCount ); + + var imgLoad0 = imagesLoaded( '#background .tulip', { background: true }, function() { + assert.ok( true, 'callback triggered on .orange-tree'); + done(); + }); + assert.equal( imgLoad0.images.length, 1, '1 image on .images' ); + + imgLoad0.on( 'progress', function( instance, image, element ) { + assert.ok( element.nodeName == 'DIV', 'progress; element is div'); + assert.ok( image.isLoaded, 'progress; image.isLoaded'); + done(); + }); + + var imgLoad1 = imagesLoaded( '#background .thunder-cloud', { background: true }, function() { + assert.ok( true, 'callback triggered on .thunder-cloud'); + done(); + }); + assert.equal( imgLoad1.images.length, 1, '1 image on .images' ); + + // multiple backgrounds + var imgLoad2 = imagesLoaded( '#background .multi', { background: true }, function() { + assert.ok( true, 'callback triggered on .multi'); + done(); + }); + assert.equal( imgLoad2.images.length, multiBGCount, 'correct multiple BG count on .images' ); + + // multiple elements + var imgLoad3 = imagesLoaded( '#background .bg-box', { background: true }, function() { + assert.ok( true, 'callback triggered on .bg-box'); + var count = 5 + multiBGCount; + assert.equal( imgLoad3.images.length, count, count + ' images on .bg-box' ); + done(); + }); + + imgLoad3.on('progress', function( instance, image/*, element */) { + assert.ok( true, 'progress on .bg-box; ' + image.img.src ); + assert.equal( image.isLoaded, true, 'image.isLoaded == true' ); + done(); + }); + + // background and children + var imgLoad4 = imagesLoaded( '#background .gulls', { background: true } ); + assert.equal( imgLoad4.images.length, 3, '3 images: 1 background and 2 ' ); + + imgLoad4.on( 'progress', function( instance, image ) { + assert.equal( image.isLoaded, true, 'image is loaded' ); + done(); + }); + + // child background selector + var imgLoad5 = imagesLoaded( '#background', { background: '.bg-box' }, function() { + var count = 5 + multiBGCount; + assert.equal( imgLoad5.images.length, count, + count + ' images on .bg-box, with {background: .bg-box}' ); + done(); + }); + +}); diff --git a/public/js/vendor/imagesloaded/test/unit/basics.js b/public/js/vendor/imagesloaded/test/unit/basics.js new file mode 100644 index 0000000..6c502a7 --- /dev/null +++ b/public/js/vendor/imagesloaded/test/unit/basics.js @@ -0,0 +1,28 @@ +QUnit.test( 'basics', function( assert ) { + + 'use strict'; + + var elem = document.querySelector('#basics'); + var images = elem.querySelectorAll('img'); + var done = assert.async( 3 + images.length ); + + var imgLoader = new imagesLoaded( elem, function( obj ) { + assert.ok( true, 'callback function triggered' ); + assert.equal( imgLoader, obj, 'callback argument and instance match' ); + done(); + }); + imgLoader.on( 'done', function() { + assert.ok( true, 'done event triggered' ); + done(); + }); + imgLoader.on( 'always', function() { + assert.ok( true, 'always event triggered' ); + done(); + }); + + imgLoader.on( 'progress', function( loader, image ) { + assert.ok( image.isLoaded, 'image is loaded'); + done(); + }); + +}); diff --git a/public/js/vendor/imagesloaded/test/unit/data-uri.js b/public/js/vendor/imagesloaded/test/unit/data-uri.js new file mode 100644 index 0000000..635f698 --- /dev/null +++ b/public/js/vendor/imagesloaded/test/unit/data-uri.js @@ -0,0 +1,10 @@ +QUnit.test( 'data-uri', function( assert ) { + 'use strict'; + + var done = assert.async(); + imagesLoaded('#data-uri', { debug: false }).on( 'done', function( obj ) { + assert.ok( true, 'data-uri images loaded' ); + assert.equal( obj.images.length, 2, 'instance has 2 images' ); + done(); + }); +}); diff --git a/public/js/vendor/imagesloaded/test/unit/jquery-fail.js b/public/js/vendor/imagesloaded/test/unit/jquery-fail.js new file mode 100644 index 0000000..b2180f6 --- /dev/null +++ b/public/js/vendor/imagesloaded/test/unit/jquery-fail.js @@ -0,0 +1,29 @@ +QUnit.test( 'jquery fail', function( assert ) { + + 'use strict'; + + var $ = window.jQuery; + var $images = $('#jquery-fail img'); + var done = assert.async( 3 + $images.length ); + + $('#jquery-fail').imagesLoaded( function( instance ) { + assert.ok( true, 'callback triggered' ); + assert.ok( instance instanceof imagesLoaded, 'instance instanceof imagesLoaded' ); + done(); + }) + .fail( function( instance ) { + assert.ok( true, 'fail triggered' ); + assert.ok( instance instanceof imagesLoaded, 'instance instanceof imagesLoaded' ); + done(); + }) + .always( function( instance ) { + assert.ok( true, 'always triggered' ); + assert.ok( instance instanceof imagesLoaded, 'instance instanceof imagesLoaded' ); + done(); + }) + .progress( function(/* instance, image */) { + assert.ok( true, 'progress trigged'); + done(); + }); + + }); diff --git a/public/js/vendor/imagesloaded/test/unit/jquery-success.js b/public/js/vendor/imagesloaded/test/unit/jquery-success.js new file mode 100644 index 0000000..f166210 --- /dev/null +++ b/public/js/vendor/imagesloaded/test/unit/jquery-success.js @@ -0,0 +1,28 @@ +QUnit.test( 'jquery success', function( assert ) { + + 'use strict'; + + var $ = window.jQuery; + var done = assert.async( 6 ); + + $('#jquery-success').imagesLoaded( function( instance ) { + assert.ok( true, 'callback triggered' ); + assert.ok( instance instanceof imagesLoaded, 'instance instanceof imagesLoaded' ); + done(); + }) + .done( function( instance ) { + assert.ok( true, 'done triggered' ); + assert.ok( instance instanceof imagesLoaded, 'instance instanceof imagesLoaded' ); + done(); + }) + .always( function( instance ) { + assert.ok( true, 'always triggered' ); + assert.ok( instance instanceof imagesLoaded, 'instance instanceof imagesLoaded' ); + done(); + }) + .progress( function( instance, image ) { + assert.ok( image.isLoaded, 'progress trigged, image is loaded'); + done(); + }); + +}); diff --git a/public/js/vendor/imagesloaded/test/unit/local-files.js b/public/js/vendor/imagesloaded/test/unit/local-files.js new file mode 100644 index 0000000..61da6ae --- /dev/null +++ b/public/js/vendor/imagesloaded/test/unit/local-files.js @@ -0,0 +1,31 @@ +QUnit.test( 'local files', function( assert ) { + 'use strict'; + + var elem = document.querySelector('#locals'); + var done = assert.async( 6 ); + + var imgLoader = new imagesLoaded( elem, function( obj ) { + assert.ok( true, 'callback function triggered' ); + assert.equal( imgLoader, obj, 'callback argument and instance match' ); + done(); + }); + imgLoader.on( 'fail', function() { + assert.ok( true, 'fail event triggered' ); + done(); + }); + imgLoader.on( 'always', function() { + assert.ok( true, 'always event triggered' ); + done(); + }); + + imgLoader.on( 'progress', function( loader, image ) { + assert.ok( true, 'image progressed'); + if ( image.img.src.indexOf('img/not-there.jpg') !== -1 ) { + assert.ok( !image.isLoaded, 'thunder cloud is not loaded' ); + } else { + assert.ok( image.isLoaded, 'image is loaded' ); + } + done(); + }); + +}); diff --git a/public/js/vendor/imagesloaded/test/unit/no-images.js b/public/js/vendor/imagesloaded/test/unit/no-images.js new file mode 100644 index 0000000..8412163 --- /dev/null +++ b/public/js/vendor/imagesloaded/test/unit/no-images.js @@ -0,0 +1,11 @@ +QUnit.test( 'no images', function( assert ) { + 'use strict'; + + var elem = document.querySelector('#no-images'); + var done = assert.async(); + imagesLoaded( elem, function() { + assert.ok( true, 'triggered with no images' ); + done(); + }); + +}); diff --git a/public/js/vendor/imagesloaded/test/unit/non-element.js b/public/js/vendor/imagesloaded/test/unit/non-element.js new file mode 100644 index 0000000..4c9986f --- /dev/null +++ b/public/js/vendor/imagesloaded/test/unit/non-element.js @@ -0,0 +1,24 @@ +QUnit.test( 'dismiss non-element nodes', function( assert ) { + 'use strict'; + + var $ = window.jQuery; + var done = assert.async( 2 ); + + $(' ') + .imagesLoaded(function() { + assert.ok( true, 'elements from jQuery string ok' ); + done(); + }); + + // test fragment + var frag = document.createDocumentFragment(); + var img = new Image(); + img.src = 'https://picsum.photos/403/303/?random'; + frag.appendChild( img ); + var imgLoad = imagesLoaded( frag, function() { + assert.ok( true, 'document fragment ok' ); + assert.equal( imgLoad.images.length, 1, '1 image found' ); + done(); + }); + +}); diff --git a/public/js/vendor/imagesloaded/test/unit/selector-string.js b/public/js/vendor/imagesloaded/test/unit/selector-string.js new file mode 100644 index 0000000..8c43c4b --- /dev/null +++ b/public/js/vendor/imagesloaded/test/unit/selector-string.js @@ -0,0 +1,12 @@ +QUnit.test( 'selector string', function( assert ) { + 'use strict'; + var images = document.querySelectorAll('#basics img'); + var done = assert.async(); + var imgLoad = imagesLoaded('#basics', { debug: true }).on( 'done', function( obj ) { + assert.ok( true, 'selector string worked' ); + assert.ok( obj.images, 'argument has images' ); + assert.equal( obj.images.length, images.length, 'images.length matches' ); + done(); + }); + assert.ok( imgLoad.options.debug, 'debug option set' ); +}); diff --git a/public/js/vendor/imagesloaded/test/unit/single-element.js b/public/js/vendor/imagesloaded/test/unit/single-element.js new file mode 100644 index 0000000..42d7e48 --- /dev/null +++ b/public/js/vendor/imagesloaded/test/unit/single-element.js @@ -0,0 +1,11 @@ +QUnit.test( 'single element', function( assert ) { + 'use strict'; + var elem = document.querySelector('#mario-with-shell'); + var done = assert.async(); + imagesLoaded( elem ).on( 'done', function( obj ) { + assert.ok( true, 'single element worked' ); + assert.ok( obj.images, 'argument has images' ); + assert.equal( obj.images.length, 1, 'images.length = 1' ); + done(); + }); +}); diff --git a/public/js/vendor/jarallax/LICENSE b/public/js/vendor/jarallax/LICENSE new file mode 100644 index 0000000..1604fdb --- /dev/null +++ b/public/js/vendor/jarallax/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2020 nK + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/public/js/vendor/jarallax/README.md b/public/js/vendor/jarallax/README.md new file mode 100644 index 0000000..7685a1b --- /dev/null +++ b/public/js/vendor/jarallax/README.md @@ -0,0 +1,385 @@ +## Just Another Parallax + +Smooth parallax scrolling effect for background images, videos. Code in pure JavaScript with ***NO dependencies*** + jQuery supported. ***YouTube***, ***Vimeo*** and ***Self-Hosted Videos*** parallax supported. + +## [Demo](https://free.nkdev.info/jarallax/) + +## Tested Browsers + +* Latest browsers on Mac and Windows (Chrome, Firefox, Safari, IE11, Edge) +* Latest Chrome on Android +* Latest Safari on iOs + +## Sizes + + File | Gzipped Size +:-----------------------|:------------------------------------------------------------------------------------------------| +jarallax.min.js | ![jarallax.min.js](https://img.badgesize.io/nk-o/jarallax/master/dist/jarallax.min.js?compression=gzip) +jarallax-video.min.js | ![jarallax-video.min.js](https://img.badgesize.io/nk-o/jarallax/master/dist/jarallax-video.min.js?compression=gzip) + +## Usage with WordPress + +[![Advanced WordPress Backgrounds](https://a.nkdev.info/jarallax/awb-preview.jpg)](https://wordpress.org/plugins/advanced-backgrounds/) + +We made WordPress plugin to easily add backgrounds for content in your blog with all Jarallax features. + +Demo: + +Download: + +## Usage with React + +Demo: + +## Getting Started + +### ES6 + +`npm install jarallax --save` + +```javascript +import { + jarallax, + jarallaxVideo +} from 'jarallax'; + +jarallaxVideo(); +``` + +Note: in this way is not available jQuery and data-attribute automatic initialization. Use javascript call instead ([Example](#b-javascript-way)). + +### Browser + +```html + + + + + +``` + +#### CDN + +Link directly from [unpkg](https://unpkg.com/) + +```html + + + + + +``` + +## Supported plugins + +You can add these plugins before jarallax initialize. + +* [object-fit-images](https://github.com/bfred-it/object-fit-images) polyfill for `object-fit` styles; +* [lazysizes](https://github.com/aFarkas/lazysizes) lazy-load images with srcset support; + +## Set up your HTML + +```html + +
    + + Your content here... +
    + + +
    + + + + + Your content here... +
    + + +
    + Your content here... +
    +``` + +### Additional styles + +These styles need to correct background image position before Jarallax initialized: + +```css +.jarallax { + position: relative; + z-index: 0; +} +.jarallax > .jarallax-img { + position: absolute; + object-fit: cover; + /* support for plugin https://github.com/bfred-it/object-fit-images */ + font-family: 'object-fit: cover;'; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} +``` + +You can include it from `dist/jarallax.css`. + +## Call the plugin + +### A. Data attribute way + +```html +
    + + Your content here... +
    +``` + +Note: You can use all available options as data attributes. For example: `data-speed`, `data-img-src`, `data-img-size`, etc... + +### B. JavaScript way + +```javascript +jarallax(document.querySelectorAll('.jarallax'), { + speed: 0.2 +}); +``` + +### C. jQuery way + +```javascript +$('.jarallax').jarallax({ + speed: 0.2 +}); +``` + +## Background Video Usage Examples + +### A. Data attribute way + +```html + +
    + Your content here... +
    + + +
    + Your content here... +
    + + +
    + Your content here... +
    +``` + +Note: for self-hosted videos required 1 video type only, not necessarily use all mp4, webm and ogv. This needs only for maximum compatibility with all browsers. + +### B. JavaScript way + +```javascript +import { jarallax, jarallaxVideo } from 'jarallax'; +jarallaxVideo(); + +jarallax(document.querySelectorAll('.jarallax'), { + speed: 0.2, + videoSrc: 'https://www.youtube.com/watch?v=ab0TSkLe-E0' +}); +``` + +```html +
    +``` + +## Elements Parallax Usage Examples + +Since v1.9.0 there was an extension to allow transform specific elements. This feature is still available, but DEPRECATED. We recommend you to use `laxxx` library . It is much more powerful and has a less code (in cases when you don't want to add parallax backgrounds). + +## Options + +Options can be passed in data attributes or in object when you initialize jarallax from script. + +Name | Type | Default | Description +:--- | :--- | :------ | :---------- +type | string | `scroll` | scroll, scale, opacity, scroll-opacity, scale-opacity. +speed | float | `0.5` | Parallax effect speed. Provide numbers from -1.0 to 2.0. +imgSrc | path | `null` | Image url. By default used image from background. +imgElement | dom / selector | `.jarallax-img` | Image tag that will be used as background. +imgSize | string | `cover` | Image size. If you use `` tag for background, you should add `object-fit` values, else use `background-size` values. +imgPosition | string | `50% 50%` | Image position. If you use `` tag for background, you should add `object-position` values, else use `background-position` values. +imgRepeat | string | `no-repeat` | Image repeat. Supported only `background-position` values. +keepImg | boolean | `false` | Keep `` tag in it's default place after Jarallax inited. +elementInViewport | dom | `null` | Use custom DOM / jQuery element to check if parallax block in viewport. More info here - [Issue 13](https://github.com/nk-o/jarallax/issues/13). +zIndex | number | `-100` | z-index of parallax container. +disableParallax | RegExp / function | - | Disable parallax on specific user agents (using regular expression) or with function return value. The image will be set on the background. +disableVideo | RegExp / function | - | Disable video load on specific user agents (using regular expression) or with function return value. The image will be set on the background. + +### Disable on mobile devices + +You can disable parallax effect and/or video background on mobile devices using option `disableParallax` and/or `disableVideo`. + +Example: + +```javascript +jarallax(document.querySelectorAll('.jarallax'), { + disableParallax: /iPad|iPhone|iPod|Android/, + disableVideo: /iPad|iPhone|iPod|Android/ +}); +``` + +Or using function. Example: + +```javascript +jarallax(document.querySelectorAll('.jarallax'), { + disableParallax: function () { + return /iPad|iPhone|iPod|Android/.test(navigator.userAgent); + }, + disableVideo: function () { + return /iPad|iPhone|iPod|Android/.test(navigator.userAgent); + } +}); +``` + +### Options For Video (+ supported all default options) + +Required `jarallax/jarallax-video.js` file. + +Name | Type | Default | Description +:--- | :--- | :------ | :---------- +videoSrc | string | `null` | You can use Youtube, Vimeo or Self-Hosted videos. Also you can use data attribute `data-jarallax-video`. +videoStartTime | float | `0` | Start time in seconds when video will be started (this value will be applied also after loop). +videoEndTime | float | `0` | End time in seconds when video will be ended. +videoLoop | boolean | `true` | Loop video to play infinitely. +videoPlayOnlyVisible | boolean | `true` | Play video only when it is visible on the screen. +videoLazyLoading | boolean | `true` | Preload videos only when it is visible on the screen. + +### Options For Element Parallax + +Required `jarallax/jarallax-element.js` file. + +Name | Type | Default | Description +:--- | :--- | :------ | :---------- +type | string | `element` | Will only work with `element` value. +speed | mixed | `0 0` | Parallax distance in pixels. Supported Y and X axis. Example: `100 200`. Also you can use data attribute `data-jarallax-element`. +threshold | mixed | `null null` | Specify threshold for the parallax effect to kick in. For example, if you pass `0 0`, the element will start to move only after it has been scrolled to the middle of the viewport. + +## Events + +Events used the same way as Options. + +Name | Description +:--- | :---------- +onScroll | Called when parallax working. Use first argument with calculations. More info [see below](#onscroll-event). +onInit | Called after init end. +onDestroy | Called after destroy. +onCoverImage | Called after cover image. + +### onScroll event + +```javascript +jarallax(document.querySelectorAll('.jarallax'), { + onScroll: function(calculations) { + console.log(calculations); + } +}); +``` + +Console Result: + +```javascript +{ + // parallax section client rect (top, left, width, height) + rect : object, + + // see image below for more info + beforeTop : float, + beforeTopEnd : float, + afterTop : float, + beforeBottom : float, + beforeBottomEnd : float, + afterBottom : float, + + // percent of visible part of section (from 0 to 1) + visiblePercent : float, + + // percent of block position relative to center of viewport from -1 to 1 + fromViewportCenter: float +} +``` + +Calculations example: +[![On Scroll Calculations](https://a.nkdev.info/jarallax/jarallax-calculations.jpg)](https://a.nkdev.info/jarallax/jarallax-calculations.jpg) + +## Methods + +Name | Result | Description +:--- | :----- | :---------- +destroy | - | Destroy Jarallax and set block as it was before plugin init. +isVisible | boolean | Check if parallax block is in viewport. +onResize | - | Fit image and clip parallax container. Called on window resize and load. +onScroll | - | Calculate parallax image position. Called on window scroll. + +### Call methods example + +#### A. JavaScript way + +```javascript +jarallax(document.querySelectorAll('.jarallax'), 'destroy'); +``` + +#### B. jQuery way + +```javascript +$('.jarallax').jarallax('destroy'); +``` + + +## No conflict + +If you already have global ***jarallax*** variable or ***jQuery.fn.jarallax***, you can rename plugin. + +### A. JavaScript way + +```javascript +var newJarallax = jarallax.noConflict(); +``` + +### B. jQuery way + +```javascript +jQuery.fn.newJarallax = jQuery.fn.jarallax.noConflict(); +``` + +## For Developers + +### Installation + +* Run `npm install` in the command line. Or if you need to update some dependencies, run `npm update` + +### Building + +* `npm run dev` to run build and start local server with files watcher +* `npm run build` to run build + +### Linting + +* `npm run js-lint` to show eslint errors +* `npm run js-lint-fix` to automatically fix some of the eslint errors + +### Test + +* `npm run test` to run unit tests + +## Real Usage Examples + +* [Skylith](https://demo.nkdev.info/#skylith) +* [Khaki](https://demo.nkdev.info/#khaki) +* [Godlike](https://demo.nkdev.info/#godlike) +* [Youplay](https://demo.nkdev.info/#youplay) + +## Credits + +Images +Videos diff --git a/public/js/vendor/jarallax/dist/jarallax-element.js b/public/js/vendor/jarallax/dist/jarallax-element.js new file mode 100644 index 0000000..012ddba --- /dev/null +++ b/public/js/vendor/jarallax/dist/jarallax-element.js @@ -0,0 +1,290 @@ +/*! + * Name : DEPRECATED Elements Extension for Jarallax. Use laxxx instead https://github.com/alexfoxy/laxxx + * Version : 1.0.0 + * Author : nK + * GitHub : https://github.com/nk-o/jarallax + */ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(1); + + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); +/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lite_ready__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _jarallax_element_esm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5); + + + +Object(_jarallax_element_esm__WEBPACK_IMPORTED_MODULE_2__["default"])(); // data-jarallax-element initialization + +lite_ready__WEBPACK_IMPORTED_MODULE_0___default()(function () { + if ('undefined' !== typeof global__WEBPACK_IMPORTED_MODULE_1___default.a.jarallax) { + global__WEBPACK_IMPORTED_MODULE_1___default.a.jarallax(document.querySelectorAll('[data-jarallax-element]')); + } +}); + +/***/ }), +/* 2 */ +/***/ (function(module, exports) { + +module.exports = function (callback) { + if (document.readyState === 'complete' || document.readyState === 'interactive') { + // Already ready or interactive, execute callback + callback.call(); + } else if (document.attachEvent) { + // Old browsers + document.attachEvent('onreadystatechange', function () { + if (document.readyState === 'interactive') callback.call(); + }); + } else if (document.addEventListener) { + // Modern browsers + document.addEventListener('DOMContentLoaded', callback); + } +}; + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {var win; + +if (typeof window !== "undefined") { + win = window; +} else if (typeof global !== "undefined") { + win = global; +} else if (typeof self !== "undefined") { + win = self; +} else { + win = {}; +} + +module.exports = win; +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4))) + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var g; // This works in non-strict mode + +g = function () { + return this; +}(); + +try { + // This works if eval is allowed (see CSP) + g = g || new Function("return this")(); +} catch (e) { + // This works if the window reference is available + if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === "object") g = window; +} // g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + + +module.exports = g; + +/***/ }), +/* 5 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return jarallaxElement; }); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_0__); +/* eslint no-case-declarations: "off" */ + +function jarallaxElement() { + var jarallax = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global__WEBPACK_IMPORTED_MODULE_0___default.a.jarallax; + + if ('undefined' === typeof jarallax) { + return; + } + + var Jarallax = jarallax.constructor; // redefine default methods + + ['initImg', 'canInitParallax', 'init', 'destroy', 'clipContainer', 'coverImage', 'isVisible', 'onScroll', 'onResize'].forEach(function (key) { + var def = Jarallax.prototype[key]; + + Jarallax.prototype[key] = function () { + var self = this; + + if ('initImg' === key && null !== self.$item.getAttribute('data-jarallax-element')) { + self.options.type = 'element'; + self.pureOptions.speed = self.$item.getAttribute('data-jarallax-element') || self.pureOptions.speed; + } + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + if ('element' !== self.options.type) { + return def.apply(self, args); + } + + self.pureOptions.threshold = self.$item.getAttribute('data-threshold') || ''; + + switch (key) { + case 'init': + var speedArr = self.pureOptions.speed.split(' '); + self.options.speed = self.pureOptions.speed || 0; + self.options.speedY = speedArr[0] ? parseFloat(speedArr[0]) : 0; + self.options.speedX = speedArr[1] ? parseFloat(speedArr[1]) : 0; + var thresholdArr = self.pureOptions.threshold.split(' '); + self.options.thresholdY = thresholdArr[0] ? parseFloat(thresholdArr[0]) : null; + self.options.thresholdX = thresholdArr[1] ? parseFloat(thresholdArr[1]) : null; + def.apply(self, args); // restore background image if available. + + var originalStylesTag = self.$item.getAttribute('data-jarallax-original-styles'); + + if (originalStylesTag) { + self.$item.setAttribute('style', originalStylesTag); + } + + return true; + + case 'onResize': + var defTransform = self.css(self.$item, 'transform'); + self.css(self.$item, { + transform: '' + }); + var rect = self.$item.getBoundingClientRect(); + self.itemData = { + width: rect.width, + height: rect.height, + y: rect.top + self.getWindowData().y, + x: rect.left + }; + self.css(self.$item, { + transform: defTransform + }); + break; + + case 'onScroll': + var wnd = self.getWindowData(); + var centerPercent = (wnd.y + wnd.height / 2 - self.itemData.y - self.itemData.height / 2) / (wnd.height / 2); + var moveY = centerPercent * self.options.speedY; + var moveX = centerPercent * self.options.speedX; + var my = moveY; + var mx = moveX; + if (null !== self.options.thresholdY && moveY > self.options.thresholdY) my = 0; + if (null !== self.options.thresholdX && moveX > self.options.thresholdX) mx = 0; + self.css(self.$item, { + transform: "translate3d(".concat(mx, "px,").concat(my, "px,0)") + }); + break; + + case 'initImg': + case 'isVisible': + case 'clipContainer': + case 'coverImage': + return true; + // no default + } + + return def.apply(self, args); + }; + }); +} + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/public/js/vendor/jarallax/dist/jarallax-element.min.js b/public/js/vendor/jarallax/dist/jarallax-element.min.js new file mode 100644 index 0000000..e915d77 --- /dev/null +++ b/public/js/vendor/jarallax/dist/jarallax-element.min.js @@ -0,0 +1,7 @@ +/*! + * Name : DEPRECATED Elements Extension for Jarallax. Use laxxx instead https://github.com/alexfoxy/laxxx + * Version : 1.0.0 + * Author : nK + * GitHub : https://github.com/nk-o/jarallax + */!function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){t.exports=n(1)},function(t,e,n){"use strict";n.r(e);var o=n(2),r=n.n(o),i=n(3),a=n.n(i),l=n(5);Object(l.default)(),r()(function(){void 0!==a.a.jarallax&&a.a.jarallax(document.querySelectorAll("[data-jarallax-element]"))})},function(t,e){t.exports=function(t){"complete"===document.readyState||"interactive"===document.readyState?t.call():document.attachEvent?document.attachEvent("onreadystatechange",function(){"interactive"===document.readyState&&t.call()}):document.addEventListener&&document.addEventListener("DOMContentLoaded",t)}},function(n,t,e){(function(t){var e="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{};n.exports=e}).call(this,e(4))},function(t,e){function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var o=function(){return this}();try{o=o||new Function("return this")()}catch(t){"object"===("undefined"==typeof window?"undefined":n(window))&&(o=window)}t.exports=o},function(t,e,n){"use strict";n.r(e),n.d(e,"default",function(){return i});var o=n(3),r=n.n(o);function i(){var t,e=0t.options.thresholdY&&(f=0),null!==t.options.thresholdX&&d>t.options.thresholdX&&(m=0),t.css(t.$item,{transform:"translate3d(".concat(m,"px,").concat(f,"px,0)")});break;case"initImg":case"isVisible":case"clipContainer":case"coverImage":return!0}return h.apply(t,n)}}))}}]); +//# sourceMappingURL=jarallax-element.min.js.map diff --git a/public/js/vendor/jarallax/dist/jarallax-element.min.js.map b/public/js/vendor/jarallax/dist/jarallax-element.min.js.map new file mode 100644 index 0000000..ac42d47 --- /dev/null +++ b/public/js/vendor/jarallax/dist/jarallax-element.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["jarallax-element.js"],"names":["modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","lite_ready__WEBPACK_IMPORTED_MODULE_0__","lite_ready__WEBPACK_IMPORTED_MODULE_0___default","global__WEBPACK_IMPORTED_MODULE_1__","global__WEBPACK_IMPORTED_MODULE_1___default","_jarallax_element_esm__WEBPACK_IMPORTED_MODULE_2__","a","jarallax","document","querySelectorAll","callback","readyState","attachEvent","addEventListener","global","win","window","self","this","_typeof","obj","iterator","constructor","g","Function","e","jarallaxElement","global__WEBPACK_IMPORTED_MODULE_0__","global__WEBPACK_IMPORTED_MODULE_0___default","Jarallax","arguments","length","undefined","forEach","def","$item","getAttribute","options","type","pureOptions","speed","_len","args","Array","_key","apply","threshold","speedArr","split","speedY","parseFloat","speedX","thresholdArr","thresholdY","thresholdX","originalStylesTag","setAttribute","defTransform","css","transform","rect","getBoundingClientRect","itemData","width","height","y","top","getWindowData","x","left","wnd","centerPercent","moveY","moveX","my","mx","concat"],"mappings":"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","file":"jarallax-element.min.js","sourcesContent":["/*!\n * Name : DEPRECATED Elements Extension for Jarallax. Use laxxx instead https://github.com/alexfoxy/laxxx\n * Version : 1.0.0\n * Author : nK \n * GitHub : https://github.com/nk-o/jarallax\n */\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(1);\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);\n/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lite_ready__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jarallax_element_esm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);\n\n\n\nObject(_jarallax_element_esm__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(); // data-jarallax-element initialization\n\nlite_ready__WEBPACK_IMPORTED_MODULE_0___default()(function () {\n if ('undefined' !== typeof global__WEBPACK_IMPORTED_MODULE_1___default.a.jarallax) {\n global__WEBPACK_IMPORTED_MODULE_1___default.a.jarallax(document.querySelectorAll('[data-jarallax-element]'));\n }\n});\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (callback) {\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n // Already ready or interactive, execute callback\n callback.call();\n } else if (document.attachEvent) {\n // Old browsers\n document.attachEvent('onreadystatechange', function () {\n if (document.readyState === 'interactive') callback.call();\n });\n } else if (document.addEventListener) {\n // Modern browsers\n document.addEventListener('DOMContentLoaded', callback);\n }\n};\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var win;\n\nif (typeof window !== \"undefined\") {\n win = window;\n} else if (typeof global !== \"undefined\") {\n win = global;\n} else if (typeof self !== \"undefined\") {\n win = self;\n} else {\n win = {};\n}\n\nmodule.exports = win;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return jarallaxElement; });\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_0__);\n/* eslint no-case-declarations: \"off\" */\n\nfunction jarallaxElement() {\n var jarallax = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global__WEBPACK_IMPORTED_MODULE_0___default.a.jarallax;\n\n if ('undefined' === typeof jarallax) {\n return;\n }\n\n var Jarallax = jarallax.constructor; // redefine default methods\n\n ['initImg', 'canInitParallax', 'init', 'destroy', 'clipContainer', 'coverImage', 'isVisible', 'onScroll', 'onResize'].forEach(function (key) {\n var def = Jarallax.prototype[key];\n\n Jarallax.prototype[key] = function () {\n var self = this;\n\n if ('initImg' === key && null !== self.$item.getAttribute('data-jarallax-element')) {\n self.options.type = 'element';\n self.pureOptions.speed = self.$item.getAttribute('data-jarallax-element') || self.pureOptions.speed;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if ('element' !== self.options.type) {\n return def.apply(self, args);\n }\n\n self.pureOptions.threshold = self.$item.getAttribute('data-threshold') || '';\n\n switch (key) {\n case 'init':\n var speedArr = self.pureOptions.speed.split(' ');\n self.options.speed = self.pureOptions.speed || 0;\n self.options.speedY = speedArr[0] ? parseFloat(speedArr[0]) : 0;\n self.options.speedX = speedArr[1] ? parseFloat(speedArr[1]) : 0;\n var thresholdArr = self.pureOptions.threshold.split(' ');\n self.options.thresholdY = thresholdArr[0] ? parseFloat(thresholdArr[0]) : null;\n self.options.thresholdX = thresholdArr[1] ? parseFloat(thresholdArr[1]) : null;\n def.apply(self, args); // restore background image if available.\n\n var originalStylesTag = self.$item.getAttribute('data-jarallax-original-styles');\n\n if (originalStylesTag) {\n self.$item.setAttribute('style', originalStylesTag);\n }\n\n return true;\n\n case 'onResize':\n var defTransform = self.css(self.$item, 'transform');\n self.css(self.$item, {\n transform: ''\n });\n var rect = self.$item.getBoundingClientRect();\n self.itemData = {\n width: rect.width,\n height: rect.height,\n y: rect.top + self.getWindowData().y,\n x: rect.left\n };\n self.css(self.$item, {\n transform: defTransform\n });\n break;\n\n case 'onScroll':\n var wnd = self.getWindowData();\n var centerPercent = (wnd.y + wnd.height / 2 - self.itemData.y - self.itemData.height / 2) / (wnd.height / 2);\n var moveY = centerPercent * self.options.speedY;\n var moveX = centerPercent * self.options.speedX;\n var my = moveY;\n var mx = moveX;\n if (null !== self.options.thresholdY && moveY > self.options.thresholdY) my = 0;\n if (null !== self.options.thresholdX && moveX > self.options.thresholdX) mx = 0;\n self.css(self.$item, {\n transform: \"translate3d(\".concat(mx, \"px,\").concat(my, \"px,0)\")\n });\n break;\n\n case 'initImg':\n case 'isVisible':\n case 'clipContainer':\n case 'coverImage':\n return true;\n // no default\n }\n\n return def.apply(self, args);\n };\n });\n}\n\n/***/ })\n/******/ ]);"]} \ No newline at end of file diff --git a/public/js/vendor/jarallax/dist/jarallax-video.js b/public/js/vendor/jarallax/dist/jarallax-video.js new file mode 100644 index 0000000..2578400 --- /dev/null +++ b/public/js/vendor/jarallax/dist/jarallax-video.js @@ -0,0 +1,1363 @@ +/*! + * Name : Video Background Extension for Jarallax + * Version : 1.0.1 + * Author : nK + * GitHub : https://github.com/nk-o/jarallax + */ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 6); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */, +/* 1 */, +/* 2 */ +/***/ (function(module, exports) { + +module.exports = function (callback) { + if (document.readyState === 'complete' || document.readyState === 'interactive') { + // Already ready or interactive, execute callback + callback.call(); + } else if (document.attachEvent) { + // Old browsers + document.attachEvent('onreadystatechange', function () { + if (document.readyState === 'interactive') callback.call(); + }); + } else if (document.addEventListener) { + // Modern browsers + document.addEventListener('DOMContentLoaded', callback); + } +}; + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {var win; + +if (typeof window !== "undefined") { + win = window; +} else if (typeof global !== "undefined") { + win = global; +} else if (typeof self !== "undefined") { + win = self; +} else { + win = {}; +} + +module.exports = win; +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4))) + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var g; // This works in non-strict mode + +g = function () { + return this; +}(); + +try { + // This works if eval is allowed (see CSP) + g = g || new Function("return this")(); +} catch (e) { + // This works if the window reference is available + if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === "object") g = window; +} // g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + + +module.exports = g; + +/***/ }), +/* 5 */, +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(7); + + +/***/ }), +/* 7 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var video_worker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2); +/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lite_ready__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _jarallax_video_esm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9); + + + + // add video worker globally to fallback jarallax < 1.10 versions + +global__WEBPACK_IMPORTED_MODULE_1___default.a.VideoWorker = global__WEBPACK_IMPORTED_MODULE_1___default.a.VideoWorker || video_worker__WEBPACK_IMPORTED_MODULE_0__["default"]; +Object(_jarallax_video_esm__WEBPACK_IMPORTED_MODULE_3__["default"])(); // data-jarallax-video initialization + +lite_ready__WEBPACK_IMPORTED_MODULE_2___default()(function () { + if ('undefined' !== typeof global__WEBPACK_IMPORTED_MODULE_1___default.a.jarallax) { + global__WEBPACK_IMPORTED_MODULE_1___default.a.jarallax(document.querySelectorAll('[data-jarallax-video]')); + } +}); + +/***/ }), +/* 8 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return VideoWorker; }); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_0__); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + // Deferred +// thanks http://stackoverflow.com/questions/18096715/implement-deferred-object-without-using-jquery + +function Deferred() { + this.doneCallbacks = []; + this.failCallbacks = []; +} + +Deferred.prototype = { + execute: function execute(list, args) { + var i = list.length; + args = Array.prototype.slice.call(args); + + while (i) { + i -= 1; + list[i].apply(null, args); + } + }, + resolve: function resolve() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + this.execute(this.doneCallbacks, args); + }, + reject: function reject() { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + this.execute(this.failCallbacks, args); + }, + done: function done(callback) { + this.doneCallbacks.push(callback); + }, + fail: function fail(callback) { + this.failCallbacks.push(callback); + } +}; +var ID = 0; +var YoutubeAPIadded = 0; +var VimeoAPIadded = 0; +var loadingYoutubePlayer = 0; +var loadingVimeoPlayer = 0; +var loadingYoutubeDefer = new Deferred(); +var loadingVimeoDefer = new Deferred(); + +var VideoWorker = /*#__PURE__*/function () { + function VideoWorker(url, options) { + _classCallCheck(this, VideoWorker); + + var self = this; + self.url = url; + self.options_default = { + autoplay: false, + loop: false, + mute: false, + volume: 100, + showContols: true, + // start / end video time in seconds + startTime: 0, + endTime: 0 + }; + self.options = self.extend({}, self.options_default, options); // check URL + + self.videoID = self.parseURL(url); // init + + if (self.videoID) { + self.ID = ID; + ID += 1; + self.loadAPI(); + self.init(); + } + } // Extend like jQuery.extend + // eslint-disable-next-line class-methods-use-this + + + _createClass(VideoWorker, [{ + key: "extend", + value: function extend() { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + + var out = args[0] || {}; + Object.keys(args).forEach(function (i) { + if (!args[i]) { + return; + } + + Object.keys(args[i]).forEach(function (key) { + out[key] = args[i][key]; + }); + }); + return out; + } + }, { + key: "parseURL", + value: function parseURL(url) { + // parse youtube ID + function getYoutubeID(ytUrl) { + // eslint-disable-next-line no-useless-escape + var regExp = /.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=)([^#\&\?]*).*/; + var match = ytUrl.match(regExp); + return match && 11 === match[1].length ? match[1] : false; + } // parse vimeo ID + + + function getVimeoID(vmUrl) { + // eslint-disable-next-line no-useless-escape + var regExp = /https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/; + var match = vmUrl.match(regExp); + return match && match[3] ? match[3] : false; + } // parse local string + + + function getLocalVideos(locUrl) { + // eslint-disable-next-line no-useless-escape + var videoFormats = locUrl.split(/,(?=mp4\:|webm\:|ogv\:|ogg\:)/); + var result = {}; + var ready = 0; + videoFormats.forEach(function (val) { + // eslint-disable-next-line no-useless-escape + var match = val.match(/^(mp4|webm|ogv|ogg)\:(.*)/); + + if (match && match[1] && match[2]) { + // eslint-disable-next-line prefer-destructuring + result['ogv' === match[1] ? 'ogg' : match[1]] = match[2]; + ready = 1; + } + }); + return ready ? result : false; + } + + var Youtube = getYoutubeID(url); + var Vimeo = getVimeoID(url); + var Local = getLocalVideos(url); + + if (Youtube) { + this.type = 'youtube'; + return Youtube; + } + + if (Vimeo) { + this.type = 'vimeo'; + return Vimeo; + } + + if (Local) { + this.type = 'local'; + return Local; + } + + return false; + } + }, { + key: "isValid", + value: function isValid() { + return !!this.videoID; + } // events + + }, { + key: "on", + value: function on(name, callback) { + this.userEventsList = this.userEventsList || []; // add new callback in events list + + (this.userEventsList[name] || (this.userEventsList[name] = [])).push(callback); + } + }, { + key: "off", + value: function off(name, callback) { + var _this = this; + + if (!this.userEventsList || !this.userEventsList[name]) { + return; + } + + if (!callback) { + delete this.userEventsList[name]; + } else { + this.userEventsList[name].forEach(function (val, key) { + if (val === callback) { + _this.userEventsList[name][key] = false; + } + }); + } + } + }, { + key: "fire", + value: function fire(name) { + var _this2 = this; + + for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { + args[_key4 - 1] = arguments[_key4]; + } + + if (this.userEventsList && 'undefined' !== typeof this.userEventsList[name]) { + this.userEventsList[name].forEach(function (val) { + // call with all arguments + if (val) { + val.apply(_this2, args); + } + }); + } + } + }, { + key: "play", + value: function play(start) { + var self = this; + + if (!self.player) { + return; + } + + if ('youtube' === self.type && self.player.playVideo) { + if ('undefined' !== typeof start) { + self.player.seekTo(start || 0); + } + + if (global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.PLAYING !== self.player.getPlayerState()) { + self.player.playVideo(); + } + } + + if ('vimeo' === self.type) { + if ('undefined' !== typeof start) { + self.player.setCurrentTime(start); + } + + self.player.getPaused().then(function (paused) { + if (paused) { + self.player.play(); + } + }); + } + + if ('local' === self.type) { + if ('undefined' !== typeof start) { + self.player.currentTime = start; + } + + if (self.player.paused) { + self.player.play(); + } + } + } + }, { + key: "pause", + value: function pause() { + var self = this; + + if (!self.player) { + return; + } + + if ('youtube' === self.type && self.player.pauseVideo) { + if (global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.PLAYING === self.player.getPlayerState()) { + self.player.pauseVideo(); + } + } + + if ('vimeo' === self.type) { + self.player.getPaused().then(function (paused) { + if (!paused) { + self.player.pause(); + } + }); + } + + if ('local' === self.type) { + if (!self.player.paused) { + self.player.pause(); + } + } + } + }, { + key: "mute", + value: function mute() { + var self = this; + + if (!self.player) { + return; + } + + if ('youtube' === self.type && self.player.mute) { + self.player.mute(); + } + + if ('vimeo' === self.type && self.player.setVolume) { + self.player.setVolume(0); + } + + if ('local' === self.type) { + self.$video.muted = true; + } + } + }, { + key: "unmute", + value: function unmute() { + var self = this; + + if (!self.player) { + return; + } + + if ('youtube' === self.type && self.player.mute) { + self.player.unMute(); + } + + if ('vimeo' === self.type && self.player.setVolume) { + self.player.setVolume(self.options.volume); + } + + if ('local' === self.type) { + self.$video.muted = false; + } + } + }, { + key: "setVolume", + value: function setVolume() { + var volume = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var self = this; + + if (!self.player || !volume) { + return; + } + + if ('youtube' === self.type && self.player.setVolume) { + self.player.setVolume(volume); + } + + if ('vimeo' === self.type && self.player.setVolume) { + self.player.setVolume(volume); + } + + if ('local' === self.type) { + self.$video.volume = volume / 100; + } + } + }, { + key: "getVolume", + value: function getVolume(callback) { + var self = this; + + if (!self.player) { + callback(false); + return; + } + + if ('youtube' === self.type && self.player.getVolume) { + callback(self.player.getVolume()); + } + + if ('vimeo' === self.type && self.player.getVolume) { + self.player.getVolume().then(function (volume) { + callback(volume); + }); + } + + if ('local' === self.type) { + callback(self.$video.volume * 100); + } + } + }, { + key: "getMuted", + value: function getMuted(callback) { + var self = this; + + if (!self.player) { + callback(null); + return; + } + + if ('youtube' === self.type && self.player.isMuted) { + callback(self.player.isMuted()); + } + + if ('vimeo' === self.type && self.player.getVolume) { + self.player.getVolume().then(function (volume) { + callback(!!volume); + }); + } + + if ('local' === self.type) { + callback(self.$video.muted); + } + } + }, { + key: "getImageURL", + value: function getImageURL(callback) { + var self = this; + + if (self.videoImage) { + callback(self.videoImage); + return; + } + + if ('youtube' === self.type) { + var availableSizes = ['maxresdefault', 'sddefault', 'hqdefault', '0']; + var step = 0; + var tempImg = new Image(); + + tempImg.onload = function () { + // if no thumbnail, youtube add their own image with width = 120px + if (120 !== (this.naturalWidth || this.width) || step === availableSizes.length - 1) { + // ok + self.videoImage = "https://img.youtube.com/vi/".concat(self.videoID, "/").concat(availableSizes[step], ".jpg"); + callback(self.videoImage); + } else { + // try another size + step += 1; + this.src = "https://img.youtube.com/vi/".concat(self.videoID, "/").concat(availableSizes[step], ".jpg"); + } + }; + + tempImg.src = "https://img.youtube.com/vi/".concat(self.videoID, "/").concat(availableSizes[step], ".jpg"); + } + + if ('vimeo' === self.type) { + var request = new XMLHttpRequest(); + request.open('GET', "https://vimeo.com/api/v2/video/".concat(self.videoID, ".json"), true); + + request.onreadystatechange = function () { + if (4 === this.readyState) { + if (200 <= this.status && 400 > this.status) { + // Success! + var response = JSON.parse(this.responseText); + self.videoImage = response[0].thumbnail_large; + callback(self.videoImage); + } else {// Error :( + } + } + }; + + request.send(); + request = null; + } + } // fallback to the old version. + + }, { + key: "getIframe", + value: function getIframe(callback) { + this.getVideo(callback); + } + }, { + key: "getVideo", + value: function getVideo(callback) { + var self = this; // return generated video block + + if (self.$video) { + callback(self.$video); + return; + } // generate new video block + + + self.onAPIready(function () { + var hiddenDiv; + + if (!self.$video) { + hiddenDiv = document.createElement('div'); + hiddenDiv.style.display = 'none'; + } // Youtube + + + if ('youtube' === self.type) { + self.playerOptions = { + // GDPR Compliance. + host: 'https://www.youtube-nocookie.com', + videoId: self.videoID, + playerVars: { + autohide: 1, + rel: 0, + autoplay: 0, + // autoplay enable on mobile devices + playsinline: 1 + } + }; // hide controls + + if (!self.options.showContols) { + self.playerOptions.playerVars.iv_load_policy = 3; + self.playerOptions.playerVars.modestbranding = 1; + self.playerOptions.playerVars.controls = 0; + self.playerOptions.playerVars.showinfo = 0; + self.playerOptions.playerVars.disablekb = 1; + } // events + + + var ytStarted; + var ytProgressInterval; + self.playerOptions.events = { + onReady: function onReady(e) { + // mute + if (self.options.mute) { + e.target.mute(); + } else if (self.options.volume) { + e.target.setVolume(self.options.volume); + } // autoplay + + + if (self.options.autoplay) { + self.play(self.options.startTime); + } + + self.fire('ready', e); // For seamless loops, set the endTime to 0.1 seconds less than the video's duration + // https://github.com/nk-o/video-worker/issues/2 + + if (self.options.loop && !self.options.endTime) { + var secondsOffset = 0.1; + self.options.endTime = self.player.getDuration() - secondsOffset; + } // volumechange + + + setInterval(function () { + self.getVolume(function (volume) { + if (self.options.volume !== volume) { + self.options.volume = volume; + self.fire('volumechange', e); + } + }); + }, 150); + }, + onStateChange: function onStateChange(e) { + // loop + if (self.options.loop && e.data === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.ENDED) { + self.play(self.options.startTime); + } + + if (!ytStarted && e.data === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.PLAYING) { + ytStarted = 1; + self.fire('started', e); + } + + if (e.data === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.PLAYING) { + self.fire('play', e); + } + + if (e.data === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.PAUSED) { + self.fire('pause', e); + } + + if (e.data === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.ENDED) { + self.fire('ended', e); + } // progress check + + + if (e.data === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.PLAYING) { + ytProgressInterval = setInterval(function () { + self.fire('timeupdate', e); // check for end of video and play again or stop + + if (self.options.endTime && self.player.getCurrentTime() >= self.options.endTime) { + if (self.options.loop) { + self.play(self.options.startTime); + } else { + self.pause(); + } + } + }, 150); + } else { + clearInterval(ytProgressInterval); + } + }, + onError: function onError(e) { + self.fire('error', e); + } + }; + var firstInit = !self.$video; + + if (firstInit) { + var div = document.createElement('div'); + div.setAttribute('id', self.playerID); + hiddenDiv.appendChild(div); + document.body.appendChild(hiddenDiv); + } + + self.player = self.player || new global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.Player(self.playerID, self.playerOptions); + + if (firstInit) { + self.$video = document.getElementById(self.playerID); // get video width and height + + self.videoWidth = parseInt(self.$video.getAttribute('width'), 10) || 1280; + self.videoHeight = parseInt(self.$video.getAttribute('height'), 10) || 720; + } + } // Vimeo + + + if ('vimeo' === self.type) { + self.playerOptions = { + // GDPR Compliance. + dnt: 1, + id: self.videoID, + autopause: 0, + transparent: 0, + autoplay: self.options.autoplay ? 1 : 0, + loop: self.options.loop ? 1 : 0, + muted: self.options.mute ? 1 : 0 + }; + + if (self.options.volume) { + self.playerOptions.volume = self.options.volume; + } // hide controls + + + if (!self.options.showContols) { + self.playerOptions.badge = 0; + self.playerOptions.byline = 0; + self.playerOptions.portrait = 0; + self.playerOptions.title = 0; + self.playerOptions.background = 1; + } + + if (!self.$video) { + var playerOptionsString = ''; + Object.keys(self.playerOptions).forEach(function (key) { + if ('' !== playerOptionsString) { + playerOptionsString += '&'; + } + + playerOptionsString += "".concat(key, "=").concat(encodeURIComponent(self.playerOptions[key])); + }); // we need to create iframe manually because when we create it using API + // js events won't triggers after iframe moved to another place + + self.$video = document.createElement('iframe'); + self.$video.setAttribute('id', self.playerID); + self.$video.setAttribute('src', "https://player.vimeo.com/video/".concat(self.videoID, "?").concat(playerOptionsString)); + self.$video.setAttribute('frameborder', '0'); + self.$video.setAttribute('mozallowfullscreen', ''); + self.$video.setAttribute('allowfullscreen', ''); + hiddenDiv.appendChild(self.$video); + document.body.appendChild(hiddenDiv); + } + + self.player = self.player || new global__WEBPACK_IMPORTED_MODULE_0___default.a.Vimeo.Player(self.$video, self.playerOptions); // set current time for autoplay + + if (self.options.startTime && self.options.autoplay) { + self.player.setCurrentTime(self.options.startTime); + } // get video width and height + + + self.player.getVideoWidth().then(function (width) { + self.videoWidth = width || 1280; + }); + self.player.getVideoHeight().then(function (height) { + self.videoHeight = height || 720; + }); // events + + var vmStarted; + self.player.on('timeupdate', function (e) { + if (!vmStarted) { + self.fire('started', e); + vmStarted = 1; + } + + self.fire('timeupdate', e); // check for end of video and play again or stop + + if (self.options.endTime) { + if (self.options.endTime && e.seconds >= self.options.endTime) { + if (self.options.loop) { + self.play(self.options.startTime); + } else { + self.pause(); + } + } + } + }); + self.player.on('play', function (e) { + self.fire('play', e); // check for the start time and start with it + + if (self.options.startTime && 0 === e.seconds) { + self.play(self.options.startTime); + } + }); + self.player.on('pause', function (e) { + self.fire('pause', e); + }); + self.player.on('ended', function (e) { + self.fire('ended', e); + }); + self.player.on('loaded', function (e) { + self.fire('ready', e); + }); + self.player.on('volumechange', function (e) { + self.fire('volumechange', e); + }); + self.player.on('error', function (e) { + self.fire('error', e); + }); + } // Local + + + function addSourceToLocal(element, src, type) { + var source = document.createElement('source'); + source.src = src; + source.type = type; + element.appendChild(source); + } + + if ('local' === self.type) { + if (!self.$video) { + self.$video = document.createElement('video'); // show controls + + if (self.options.showContols) { + self.$video.controls = true; + } // mute + + + if (self.options.mute) { + self.$video.muted = true; + } else if (self.$video.volume) { + self.$video.volume = self.options.volume / 100; + } // loop + + + if (self.options.loop) { + self.$video.loop = true; + } // autoplay enable on mobile devices + + + self.$video.setAttribute('playsinline', ''); + self.$video.setAttribute('webkit-playsinline', ''); + self.$video.setAttribute('id', self.playerID); + hiddenDiv.appendChild(self.$video); + document.body.appendChild(hiddenDiv); + Object.keys(self.videoID).forEach(function (key) { + addSourceToLocal(self.$video, self.videoID[key], "video/".concat(key)); + }); + } + + self.player = self.player || self.$video; + var locStarted; + self.player.addEventListener('playing', function (e) { + if (!locStarted) { + self.fire('started', e); + } + + locStarted = 1; + }); + self.player.addEventListener('timeupdate', function (e) { + self.fire('timeupdate', e); // check for end of video and play again or stop + + if (self.options.endTime) { + if (self.options.endTime && this.currentTime >= self.options.endTime) { + if (self.options.loop) { + self.play(self.options.startTime); + } else { + self.pause(); + } + } + } + }); + self.player.addEventListener('play', function (e) { + self.fire('play', e); + }); + self.player.addEventListener('pause', function (e) { + self.fire('pause', e); + }); + self.player.addEventListener('ended', function (e) { + self.fire('ended', e); + }); + self.player.addEventListener('loadedmetadata', function () { + // get video width and height + self.videoWidth = this.videoWidth || 1280; + self.videoHeight = this.videoHeight || 720; + self.fire('ready'); // autoplay + + if (self.options.autoplay) { + self.play(self.options.startTime); + } + }); + self.player.addEventListener('volumechange', function (e) { + self.getVolume(function (volume) { + self.options.volume = volume; + }); + self.fire('volumechange', e); + }); + self.player.addEventListener('error', function (e) { + self.fire('error', e); + }); + } + + callback(self.$video); + }); + } + }, { + key: "init", + value: function init() { + var self = this; + self.playerID = "VideoWorker-".concat(self.ID); + } + }, { + key: "loadAPI", + value: function loadAPI() { + var self = this; + + if (YoutubeAPIadded && VimeoAPIadded) { + return; + } + + var src = ''; // load Youtube API + + if ('youtube' === self.type && !YoutubeAPIadded) { + YoutubeAPIadded = 1; + src = 'https://www.youtube.com/iframe_api'; + } // load Vimeo API + + + if ('vimeo' === self.type && !VimeoAPIadded) { + VimeoAPIadded = 1; // Useful when Vimeo API added using RequireJS https://github.com/nk-o/video-worker/pull/7 + + if ('undefined' !== typeof global__WEBPACK_IMPORTED_MODULE_0___default.a.Vimeo) { + return; + } + + src = 'https://player.vimeo.com/api/player.js'; + } + + if (!src) { + return; + } // add script in head section + + + var tag = document.createElement('script'); + var head = document.getElementsByTagName('head')[0]; + tag.src = src; + head.appendChild(tag); + head = null; + tag = null; + } + }, { + key: "onAPIready", + value: function onAPIready(callback) { + var self = this; // Youtube + + if ('youtube' === self.type) { + // Listen for global YT player callback + if (('undefined' === typeof global__WEBPACK_IMPORTED_MODULE_0___default.a.YT || 0 === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.loaded) && !loadingYoutubePlayer) { + // Prevents Ready event from being called twice + loadingYoutubePlayer = 1; // Creates deferred so, other players know when to wait. + + window.onYouTubeIframeAPIReady = function () { + window.onYouTubeIframeAPIReady = null; + loadingYoutubeDefer.resolve('done'); + callback(); + }; + } else if ('object' === _typeof(global__WEBPACK_IMPORTED_MODULE_0___default.a.YT) && 1 === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.loaded) { + callback(); + } else { + loadingYoutubeDefer.done(function () { + callback(); + }); + } + } // Vimeo + + + if ('vimeo' === self.type) { + if ('undefined' === typeof global__WEBPACK_IMPORTED_MODULE_0___default.a.Vimeo && !loadingVimeoPlayer) { + loadingVimeoPlayer = 1; + var vimeoInterval = setInterval(function () { + if ('undefined' !== typeof global__WEBPACK_IMPORTED_MODULE_0___default.a.Vimeo) { + clearInterval(vimeoInterval); + loadingVimeoDefer.resolve('done'); + callback(); + } + }, 20); + } else if ('undefined' !== typeof global__WEBPACK_IMPORTED_MODULE_0___default.a.Vimeo) { + callback(); + } else { + loadingVimeoDefer.done(function () { + callback(); + }); + } + } // Local + + + if ('local' === self.type) { + callback(); + } + } + }]); + + return VideoWorker; +}(); + + + +/***/ }), +/* 9 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return jarallaxVideo; }); +/* harmony import */ var video_worker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_1__); + + +function jarallaxVideo() { + var jarallax = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global__WEBPACK_IMPORTED_MODULE_1___default.a.jarallax; + + if ('undefined' === typeof jarallax) { + return; + } + + var Jarallax = jarallax.constructor; // append video after when block will be visible. + + var defOnScroll = Jarallax.prototype.onScroll; + + Jarallax.prototype.onScroll = function () { + var self = this; + defOnScroll.apply(self); + var isReady = !self.isVideoInserted && self.video && (!self.options.videoLazyLoading || self.isElementInViewport) && !self.options.disableVideo(); + + if (isReady) { + self.isVideoInserted = true; + self.video.getVideo(function (video) { + var $parent = video.parentNode; + self.css(video, { + position: self.image.position, + top: '0px', + left: '0px', + right: '0px', + bottom: '0px', + width: '100%', + height: '100%', + maxWidth: 'none', + maxHeight: 'none', + pointerEvents: 'none', + transformStyle: 'preserve-3d', + backfaceVisibility: 'hidden', + willChange: 'transform,opacity', + margin: 0, + zIndex: -1 + }); + self.$video = video; // add Poster attribute to self-hosted video + + if ('local' === self.video.type) { + if (self.image.src) { + self.$video.setAttribute('poster', self.image.src); + } else if (self.image.$item && 'IMG' === self.image.$item.tagName && self.image.$item.src) { + self.$video.setAttribute('poster', self.image.$item.src); + } + } // insert video tag + + + self.image.$container.appendChild(video); // remove parent video element (created by VideoWorker) + + $parent.parentNode.removeChild($parent); + }); + } + }; // cover video + + + var defCoverImage = Jarallax.prototype.coverImage; + + Jarallax.prototype.coverImage = function () { + var self = this; + var imageData = defCoverImage.apply(self); + var node = self.image.$item ? self.image.$item.nodeName : false; + + if (imageData && self.video && node && ('IFRAME' === node || 'VIDEO' === node)) { + var h = imageData.image.height; + var w = h * self.image.width / self.image.height; + var ml = (imageData.container.width - w) / 2; + var mt = imageData.image.marginTop; + + if (imageData.container.width > w) { + w = imageData.container.width; + h = w * self.image.height / self.image.width; + ml = 0; + mt += (imageData.image.height - h) / 2; + } // add video height over than need to hide controls + + + if ('IFRAME' === node) { + h += 400; + mt -= 200; + } + + self.css(self.$video, { + width: "".concat(w, "px"), + marginLeft: "".concat(ml, "px"), + height: "".concat(h, "px"), + marginTop: "".concat(mt, "px") + }); + } + + return imageData; + }; // init video + + + var defInitImg = Jarallax.prototype.initImg; + + Jarallax.prototype.initImg = function () { + var self = this; + var defaultResult = defInitImg.apply(self); + + if (!self.options.videoSrc) { + self.options.videoSrc = self.$item.getAttribute('data-jarallax-video') || null; + } + + if (self.options.videoSrc) { + self.defaultInitImgResult = defaultResult; + return true; + } + + return defaultResult; + }; + + var defCanInitParallax = Jarallax.prototype.canInitParallax; + + Jarallax.prototype.canInitParallax = function () { + var self = this; + var defaultResult = defCanInitParallax.apply(self); + + if (!self.options.videoSrc) { + return defaultResult; + } // Init video api + + + var video = new video_worker__WEBPACK_IMPORTED_MODULE_0__["default"](self.options.videoSrc, { + autoplay: true, + loop: self.options.videoLoop, + showContols: false, + startTime: self.options.videoStartTime || 0, + endTime: self.options.videoEndTime || 0, + mute: self.options.videoVolume ? 0 : 1, + volume: self.options.videoVolume || 0 + }); + + function resetDefaultImage() { + if (self.image.$default_item) { + self.image.$item = self.image.$default_item; + self.image.$item.style.display = 'block'; // set image width and height + + self.coverImage(); + self.clipContainer(); + self.onScroll(); + } + } + + if (video.isValid()) { + // Force enable parallax. + // When the parallax disabled on mobile devices, we still need to display videos. + // https://github.com/nk-o/jarallax/issues/159 + if (this.options.disableParallax()) { + defaultResult = true; + self.image.position = 'absolute'; + self.options.type = 'scroll'; + self.options.speed = 1; + } // if parallax will not be inited, we can add thumbnail on background. + + + if (!defaultResult) { + if (!self.defaultInitImgResult) { + video.getImageURL(function (url) { + // save default user styles + var curStyle = self.$item.getAttribute('style'); + + if (curStyle) { + self.$item.setAttribute('data-jarallax-original-styles', curStyle); + } // set new background + + + self.css(self.$item, { + 'background-image': "url(\"".concat(url, "\")"), + 'background-position': 'center', + 'background-size': 'cover' + }); + }); + } // init video + + } else { + video.on('ready', function () { + if (self.options.videoPlayOnlyVisible) { + var oldOnScroll = self.onScroll; + + self.onScroll = function () { + oldOnScroll.apply(self); + + if (!self.videoError && (self.options.videoLoop || !self.options.videoLoop && !self.videoEnded)) { + if (self.isVisible()) { + video.play(); + } else { + video.pause(); + } + } + }; + } else { + video.play(); + } + }); + video.on('started', function () { + self.image.$default_item = self.image.$item; + self.image.$item = self.$video; // set video width and height + + self.image.width = self.video.videoWidth || 1280; + self.image.height = self.video.videoHeight || 720; + self.coverImage(); + self.clipContainer(); + self.onScroll(); // hide image + + if (self.image.$default_item) { + self.image.$default_item.style.display = 'none'; + } + }); + video.on('ended', function () { + self.videoEnded = true; + + if (!self.options.videoLoop) { + // show default image if Loop disabled. + resetDefaultImage(); + } + }); + video.on('error', function () { + self.videoError = true; // show default image if video loading error. + + resetDefaultImage(); + }); + self.video = video; // set image if not exists + + if (!self.defaultInitImgResult) { + // set empty image on self-hosted video if not defined + self.image.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'; + + if ('local' !== video.type) { + video.getImageURL(function (url) { + self.image.bgImage = "url(\"".concat(url, "\")"); + self.init(); + }); + return false; + } + } + } + } + + return defaultResult; + }; // Destroy video parallax + + + var defDestroy = Jarallax.prototype.destroy; + + Jarallax.prototype.destroy = function () { + var self = this; + + if (self.image.$default_item) { + self.image.$item = self.image.$default_item; + delete self.image.$default_item; + } + + defDestroy.apply(self); + }; +} + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/public/js/vendor/jarallax/dist/jarallax-video.min.js b/public/js/vendor/jarallax/dist/jarallax-video.min.js new file mode 100644 index 0000000..0cd1ba5 --- /dev/null +++ b/public/js/vendor/jarallax/dist/jarallax-video.min.js @@ -0,0 +1,7 @@ +/*! + * Name : Video Background Extension for Jarallax + * Version : 1.0.1 + * Author : nK + * GitHub : https://github.com/nk-o/jarallax + */!function(o){var i={};function n(e){if(i[e])return i[e].exports;var t=i[e]={i:e,l:!1,exports:{}};return o[e].call(t.exports,t,t.exports,n),t.l=!0,t.exports}n.m=o,n.c=i,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=6)}([,,function(e,t){e.exports=function(e){"complete"===document.readyState||"interactive"===document.readyState?e.call():document.attachEvent?document.attachEvent("onreadystatechange",function(){"interactive"===document.readyState&&e.call()}):document.addEventListener&&document.addEventListener("DOMContentLoaded",e)}},function(o,e,t){(function(e){var t="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{};o.exports=t}).call(this,t(4))},function(e,t){function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":o(window))&&(i=window)}e.exports=i},,function(e,t,o){e.exports=o(7)},function(e,t,o){"use strict";o.r(t);var i=o(8),n=o(3),a=o.n(n),r=o(2),l=o.n(r),p=o(9);a.a.VideoWorker=a.a.VideoWorker||i.default,Object(p.default)(),l()(function(){void 0!==a.a.jarallax&&a.a.jarallax(document.querySelectorAll("[data-jarallax-video]"))})},function(e,t,o){"use strict";o.r(t),o.d(t,"default",function(){return v});var i=o(3),s=o.n(i);function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){for(var o=0;o=u.options.endTime&&(u.options.loop?u.play(u.options.startTime):u.pause())},150):clearInterval(o)},onError:function(e){u.fire("error",e)}},(i=!u.$video)&&((n=document.createElement("div")).setAttribute("id",u.playerID),e.appendChild(n),document.body.appendChild(e)),u.player=u.player||new s.a.YT.Player(u.playerID,u.playerOptions),i&&(u.$video=document.getElementById(u.playerID),u.videoWidth=parseInt(u.$video.getAttribute("width"),10)||1280,u.videoHeight=parseInt(u.$video.getAttribute("height"),10)||720)),"vimeo"===u.type&&(u.playerOptions={dnt:1,id:u.videoID,autopause:0,transparent:0,autoplay:u.options.autoplay?1:0,loop:u.options.loop?1:0,muted:u.options.mute?1:0},u.options.volume&&(u.playerOptions.volume=u.options.volume),u.options.showContols||(u.playerOptions.badge=0,u.playerOptions.byline=0,u.playerOptions.portrait=0,u.playerOptions.title=0,u.playerOptions.background=1),u.$video||(a="",Object.keys(u.playerOptions).forEach(function(e){""!==a&&(a+="&"),a+="".concat(e,"=").concat(encodeURIComponent(u.playerOptions[e]))}),u.$video=document.createElement("iframe"),u.$video.setAttribute("id",u.playerID),u.$video.setAttribute("src","https://player.vimeo.com/video/".concat(u.videoID,"?").concat(a)),u.$video.setAttribute("frameborder","0"),u.$video.setAttribute("mozallowfullscreen",""),u.$video.setAttribute("allowfullscreen",""),e.appendChild(u.$video),document.body.appendChild(e)),u.player=u.player||new s.a.Vimeo.Player(u.$video,u.playerOptions),u.options.startTime&&u.options.autoplay&&u.player.setCurrentTime(u.options.startTime),u.player.getVideoWidth().then(function(e){u.videoWidth=e||1280}),u.player.getVideoHeight().then(function(e){u.videoHeight=e||720}),u.player.on("timeupdate",function(e){r||(u.fire("started",e),r=1),u.fire("timeupdate",e),u.options.endTime&&u.options.endTime&&e.seconds>=u.options.endTime&&(u.options.loop?u.play(u.options.startTime):u.pause())}),u.player.on("play",function(e){u.fire("play",e),u.options.startTime&&0===e.seconds&&u.play(u.options.startTime)}),u.player.on("pause",function(e){u.fire("pause",e)}),u.player.on("ended",function(e){u.fire("ended",e)}),u.player.on("loaded",function(e){u.fire("ready",e)}),u.player.on("volumechange",function(e){u.fire("volumechange",e)}),u.player.on("error",function(e){u.fire("error",e)})),"local"===u.type&&(u.$video||(u.$video=document.createElement("video"),u.options.showContols&&(u.$video.controls=!0),u.options.mute?u.$video.muted=!0:u.$video.volume&&(u.$video.volume=u.options.volume/100),u.options.loop&&(u.$video.loop=!0),u.$video.setAttribute("playsinline",""),u.$video.setAttribute("webkit-playsinline",""),u.$video.setAttribute("id",u.playerID),e.appendChild(u.$video),document.body.appendChild(e),Object.keys(u.videoID).forEach(function(e){var t,o,i,n;t=u.$video,o=u.videoID[e],i="video/".concat(e),(n=document.createElement("source")).src=o,n.type=i,t.appendChild(n)})),u.player=u.player||u.$video,u.player.addEventListener("playing",function(e){l||u.fire("started",e),l=1}),u.player.addEventListener("timeupdate",function(e){u.fire("timeupdate",e),u.options.endTime&&u.options.endTime&&this.currentTime>=u.options.endTime&&(u.options.loop?u.play(u.options.startTime):u.pause())}),u.player.addEventListener("play",function(e){u.fire("play",e)}),u.player.addEventListener("pause",function(e){u.fire("pause",e)}),u.player.addEventListener("ended",function(e){u.fire("ended",e)}),u.player.addEventListener("loadedmetadata",function(){u.videoWidth=this.videoWidth||1280,u.videoHeight=this.videoHeight||720,u.fire("ready"),u.options.autoplay&&u.play(u.options.startTime)}),u.player.addEventListener("volumechange",function(e){u.getVolume(function(e){u.options.volume=e}),u.fire("volumechange",e)}),u.player.addEventListener("error",function(e){u.fire("error",e)})),p(u.$video)})}},{key:"init",value:function(){this.playerID="VideoWorker-".concat(this.ID)}},{key:"loadAPI",value:function(){if(!p||!u){var e,t,o="";if("youtube"!==this.type||p||(p=1,o="https://www.youtube.com/iframe_api"),"vimeo"===this.type&&!u){if(u=1,void 0!==s.a.Vimeo)return;o="https://player.vimeo.com/api/player.js"}o&&(e=document.createElement("script"),t=document.getElementsByTagName("head")[0],e.src=o,t.appendChild(e),e=t=null)}}},{key:"onAPIready",value:function(e){var t;"youtube"===this.type&&(void 0!==s.a.YT&&0!==s.a.YT.loaded||d?"object"===n(s.a.YT)&&1===s.a.YT.loaded?e():y.done(function(){e()}):(d=1,window.onYouTubeIframeAPIReady=function(){window.onYouTubeIframeAPIReady=null,y.resolve("done"),e()})),"vimeo"===this.type&&(void 0!==s.a.Vimeo||c?void 0!==s.a.Vimeo?e():m.done(function(){e()}):(c=1,t=setInterval(function(){void 0!==s.a.Vimeo&&(clearInterval(t),m.resolve("done"),e())},20))),"local"===this.type&&e()}}])&&a(e.prototype,t),o&&a(e,o),i}()},function(e,t,o){"use strict";o.r(t),o.d(t,"default",function(){return n});var r=o(8),i=o(3),p=o.n(i);function n(){var e,t,l,o,n,i,a=0t&&(e=(t=a.container.width)*n.image.height/n.image.width,o=0,i+=(a.image.height-e)/2),"IFRAME"===r&&(e+=400,i-=200),n.css(n.$video,{width:"".concat(t,"px"),marginLeft:"".concat(o,"px"),height:"".concat(e,"px"),marginTop:"".concat(i,"px")})),a},o=e.prototype.initImg,e.prototype.initImg=function(){var e=this,t=o.apply(e);return e.options.videoSrc||(e.options.videoSrc=e.$item.getAttribute("data-jarallax-video")||null),e.options.videoSrc?(e.defaultInitImgResult=t,!0):t},n=e.prototype.canInitParallax,e.prototype.canInitParallax=function(){var o=this,e=n.apply(o);if(!o.options.videoSrc)return e;var t=new r.default(o.options.videoSrc,{autoplay:!0,loop:o.options.videoLoop,showContols:!1,startTime:o.options.videoStartTime||0,endTime:o.options.videoEndTime||0,mute:o.options.videoVolume?0:1,volume:o.options.videoVolume||0});function i(){o.image.$default_item&&(o.image.$item=o.image.$default_item,o.image.$item.style.display="block",o.coverImage(),o.clipContainer(),o.onScroll())}if(t.isValid())if(this.options.disableParallax()&&(e=!0,o.image.position="absolute",o.options.type="scroll",o.options.speed=1),e){if(t.on("ready",function(){var e;o.options.videoPlayOnlyVisible?(e=o.onScroll,o.onScroll=function(){e.apply(o),o.videoError||!o.options.videoLoop&&(o.options.videoLoop||o.videoEnded)||(o.isVisible()?t.play():t.pause())}):t.play()}),t.on("started",function(){o.image.$default_item=o.image.$item,o.image.$item=o.$video,o.image.width=o.video.videoWidth||1280,o.image.height=o.video.videoHeight||720,o.coverImage(),o.clipContainer(),o.onScroll(),o.image.$default_item&&(o.image.$default_item.style.display="none")}),t.on("ended",function(){o.videoEnded=!0,o.options.videoLoop||i()}),t.on("error",function(){o.videoError=!0,i()}),o.video=t,!o.defaultInitImgResult&&(o.image.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7","local"!==t.type))return t.getImageURL(function(e){o.image.bgImage='url("'.concat(e,'")'),o.init()}),!1}else o.defaultInitImgResult||t.getImageURL(function(e){var t=o.$item.getAttribute("style");t&&o.$item.setAttribute("data-jarallax-original-styles",t),o.css(o.$item,{"background-image":'url("'.concat(e,'")'),"background-position":"center","background-size":"cover"})});return e},i=e.prototype.destroy,e.prototype.destroy=function(){var e=this;e.image.$default_item&&(e.image.$item=e.image.$default_item,delete e.image.$default_item),i.apply(e)})}}]); +//# sourceMappingURL=jarallax-video.min.js.map diff --git a/public/js/vendor/jarallax/dist/jarallax-video.min.js.map b/public/js/vendor/jarallax/dist/jarallax-video.min.js.map new file mode 100644 index 0000000..faeb4e1 --- /dev/null +++ b/public/js/vendor/jarallax/dist/jarallax-video.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["jarallax-video.js"],"names":["modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","callback","document","readyState","attachEvent","addEventListener","global","win","window","self","this","_typeof","obj","iterator","constructor","g","Function","e","__webpack_exports__","video_worker__WEBPACK_IMPORTED_MODULE_0__","global__WEBPACK_IMPORTED_MODULE_1__","global__WEBPACK_IMPORTED_MODULE_1___default","lite_ready__WEBPACK_IMPORTED_MODULE_2__","lite_ready__WEBPACK_IMPORTED_MODULE_2___default","_jarallax_video_esm__WEBPACK_IMPORTED_MODULE_3__","a","VideoWorker","jarallax","querySelectorAll","global__WEBPACK_IMPORTED_MODULE_0__","global__WEBPACK_IMPORTED_MODULE_0___default","_defineProperties","target","props","length","descriptor","configurable","writable","Deferred","doneCallbacks","failCallbacks","execute","list","args","Array","slice","apply","resolve","_len","arguments","_key","reject","_len2","_key2","done","push","fail","ID","YoutubeAPIadded","VimeoAPIadded","loadingYoutubePlayer","loadingVimeoPlayer","loadingYoutubeDefer","loadingVimeoDefer","url","options","instance","Constructor","TypeError","_classCallCheck","options_default","autoplay","loop","mute","volume","showContols","startTime","endTime","extend","videoID","parseURL","loadAPI","init","protoProps","staticProps","_len3","_key3","out","keys","forEach","match","videoFormats","result","ready","Youtube","Vimeo","Local","split","val","type","userEventsList","_this","_this2","_len4","_key4","start","player","playVideo","seekTo","YT","PlayerState","PLAYING","getPlayerState","setCurrentTime","getPaused","then","paused","play","currentTime","pauseVideo","pause","setVolume","$video","muted","unMute","undefined","getVolume","isMuted","availableSizes","step","tempImg","request","videoImage","Image","onload","naturalWidth","width","concat","src","XMLHttpRequest","open","onreadystatechange","response","status","JSON","parse","responseText","thumbnail_large","send","getVideo","onAPIready","hiddenDiv","ytStarted","ytProgressInterval","firstInit","div","playerOptionsString","vmStarted","locStarted","createElement","style","display","playerOptions","host","videoId","playerVars","autohide","rel","playsinline","iv_load_policy","modestbranding","controls","showinfo","disablekb","events","onReady","fire","getDuration","setInterval","onStateChange","data","ENDED","PAUSED","getCurrentTime","clearInterval","onError","setAttribute","playerID","appendChild","body","Player","getElementById","videoWidth","parseInt","getAttribute","videoHeight","dnt","id","autopause","transparent","badge","byline","portrait","title","background","encodeURIComponent","getVideoWidth","getVideoHeight","height","on","seconds","element","source","tag","head","getElementsByTagName","vimeoInterval","loaded","onYouTubeIframeAPIReady","jarallaxVideo","Jarallax","defOnScroll","defCoverImage","defInitImg","defCanInitParallax","defDestroy","onScroll","isVideoInserted","video","videoLazyLoading","isElementInViewport","disableVideo","$parent","parentNode","css","position","image","top","left","right","bottom","maxWidth","maxHeight","pointerEvents","transformStyle","backfaceVisibility","willChange","margin","zIndex","$item","tagName","$container","removeChild","coverImage","h","w","ml","mt","imageData","node","nodeName","container","marginTop","marginLeft","initImg","defaultResult","videoSrc","defaultInitImgResult","canInitParallax","videoLoop","videoStartTime","videoEndTime","videoVolume","resetDefaultImage","$default_item","clipContainer","isValid","disableParallax","speed","oldOnScroll","videoPlayOnlyVisible","videoError","videoEnded","isVisible","getImageURL","bgImage","curStyle","background-image","background-position","background-size","destroy"],"mappings":"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","file":"jarallax-video.min.js","sourcesContent":["/*!\n * Name : Video Background Extension for Jarallax\n * Version : 1.0.1\n * Author : nK \n * GitHub : https://github.com/nk-o/jarallax\n */\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 6);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */,\n/* 1 */,\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (callback) {\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n // Already ready or interactive, execute callback\n callback.call();\n } else if (document.attachEvent) {\n // Old browsers\n document.attachEvent('onreadystatechange', function () {\n if (document.readyState === 'interactive') callback.call();\n });\n } else if (document.addEventListener) {\n // Modern browsers\n document.addEventListener('DOMContentLoaded', callback);\n }\n};\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var win;\n\nif (typeof window !== \"undefined\") {\n win = window;\n} else if (typeof global !== \"undefined\") {\n win = global;\n} else if (typeof self !== \"undefined\") {\n win = self;\n} else {\n win = {};\n}\n\nmodule.exports = win;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;\n\n/***/ }),\n/* 5 */,\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(7);\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var video_worker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2);\n/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lite_ready__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jarallax_video_esm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9);\n\n\n\n // add video worker globally to fallback jarallax < 1.10 versions\n\nglobal__WEBPACK_IMPORTED_MODULE_1___default.a.VideoWorker = global__WEBPACK_IMPORTED_MODULE_1___default.a.VideoWorker || video_worker__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\nObject(_jarallax_video_esm__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(); // data-jarallax-video initialization\n\nlite_ready__WEBPACK_IMPORTED_MODULE_2___default()(function () {\n if ('undefined' !== typeof global__WEBPACK_IMPORTED_MODULE_1___default.a.jarallax) {\n global__WEBPACK_IMPORTED_MODULE_1___default.a.jarallax(document.querySelectorAll('[data-jarallax-video]'));\n }\n});\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return VideoWorker; });\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_0__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n // Deferred\n// thanks http://stackoverflow.com/questions/18096715/implement-deferred-object-without-using-jquery\n\nfunction Deferred() {\n this.doneCallbacks = [];\n this.failCallbacks = [];\n}\n\nDeferred.prototype = {\n execute: function execute(list, args) {\n var i = list.length;\n args = Array.prototype.slice.call(args);\n\n while (i) {\n i -= 1;\n list[i].apply(null, args);\n }\n },\n resolve: function resolve() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n this.execute(this.doneCallbacks, args);\n },\n reject: function reject() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n this.execute(this.failCallbacks, args);\n },\n done: function done(callback) {\n this.doneCallbacks.push(callback);\n },\n fail: function fail(callback) {\n this.failCallbacks.push(callback);\n }\n};\nvar ID = 0;\nvar YoutubeAPIadded = 0;\nvar VimeoAPIadded = 0;\nvar loadingYoutubePlayer = 0;\nvar loadingVimeoPlayer = 0;\nvar loadingYoutubeDefer = new Deferred();\nvar loadingVimeoDefer = new Deferred();\n\nvar VideoWorker = /*#__PURE__*/function () {\n function VideoWorker(url, options) {\n _classCallCheck(this, VideoWorker);\n\n var self = this;\n self.url = url;\n self.options_default = {\n autoplay: false,\n loop: false,\n mute: false,\n volume: 100,\n showContols: true,\n // start / end video time in seconds\n startTime: 0,\n endTime: 0\n };\n self.options = self.extend({}, self.options_default, options); // check URL\n\n self.videoID = self.parseURL(url); // init\n\n if (self.videoID) {\n self.ID = ID;\n ID += 1;\n self.loadAPI();\n self.init();\n }\n } // Extend like jQuery.extend\n // eslint-disable-next-line class-methods-use-this\n\n\n _createClass(VideoWorker, [{\n key: \"extend\",\n value: function extend() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var out = args[0] || {};\n Object.keys(args).forEach(function (i) {\n if (!args[i]) {\n return;\n }\n\n Object.keys(args[i]).forEach(function (key) {\n out[key] = args[i][key];\n });\n });\n return out;\n }\n }, {\n key: \"parseURL\",\n value: function parseURL(url) {\n // parse youtube ID\n function getYoutubeID(ytUrl) {\n // eslint-disable-next-line no-useless-escape\n var regExp = /.*(?:youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=)([^#\\&\\?]*).*/;\n var match = ytUrl.match(regExp);\n return match && 11 === match[1].length ? match[1] : false;\n } // parse vimeo ID\n\n\n function getVimeoID(vmUrl) {\n // eslint-disable-next-line no-useless-escape\n var regExp = /https?:\\/\\/(?:www\\.|player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/([^\\/]*)\\/videos\\/|album\\/(\\d+)\\/video\\/|video\\/|)(\\d+)(?:$|\\/|\\?)/;\n var match = vmUrl.match(regExp);\n return match && match[3] ? match[3] : false;\n } // parse local string\n\n\n function getLocalVideos(locUrl) {\n // eslint-disable-next-line no-useless-escape\n var videoFormats = locUrl.split(/,(?=mp4\\:|webm\\:|ogv\\:|ogg\\:)/);\n var result = {};\n var ready = 0;\n videoFormats.forEach(function (val) {\n // eslint-disable-next-line no-useless-escape\n var match = val.match(/^(mp4|webm|ogv|ogg)\\:(.*)/);\n\n if (match && match[1] && match[2]) {\n // eslint-disable-next-line prefer-destructuring\n result['ogv' === match[1] ? 'ogg' : match[1]] = match[2];\n ready = 1;\n }\n });\n return ready ? result : false;\n }\n\n var Youtube = getYoutubeID(url);\n var Vimeo = getVimeoID(url);\n var Local = getLocalVideos(url);\n\n if (Youtube) {\n this.type = 'youtube';\n return Youtube;\n }\n\n if (Vimeo) {\n this.type = 'vimeo';\n return Vimeo;\n }\n\n if (Local) {\n this.type = 'local';\n return Local;\n }\n\n return false;\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return !!this.videoID;\n } // events\n\n }, {\n key: \"on\",\n value: function on(name, callback) {\n this.userEventsList = this.userEventsList || []; // add new callback in events list\n\n (this.userEventsList[name] || (this.userEventsList[name] = [])).push(callback);\n }\n }, {\n key: \"off\",\n value: function off(name, callback) {\n var _this = this;\n\n if (!this.userEventsList || !this.userEventsList[name]) {\n return;\n }\n\n if (!callback) {\n delete this.userEventsList[name];\n } else {\n this.userEventsList[name].forEach(function (val, key) {\n if (val === callback) {\n _this.userEventsList[name][key] = false;\n }\n });\n }\n }\n }, {\n key: \"fire\",\n value: function fire(name) {\n var _this2 = this;\n\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n if (this.userEventsList && 'undefined' !== typeof this.userEventsList[name]) {\n this.userEventsList[name].forEach(function (val) {\n // call with all arguments\n if (val) {\n val.apply(_this2, args);\n }\n });\n }\n }\n }, {\n key: \"play\",\n value: function play(start) {\n var self = this;\n\n if (!self.player) {\n return;\n }\n\n if ('youtube' === self.type && self.player.playVideo) {\n if ('undefined' !== typeof start) {\n self.player.seekTo(start || 0);\n }\n\n if (global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.PLAYING !== self.player.getPlayerState()) {\n self.player.playVideo();\n }\n }\n\n if ('vimeo' === self.type) {\n if ('undefined' !== typeof start) {\n self.player.setCurrentTime(start);\n }\n\n self.player.getPaused().then(function (paused) {\n if (paused) {\n self.player.play();\n }\n });\n }\n\n if ('local' === self.type) {\n if ('undefined' !== typeof start) {\n self.player.currentTime = start;\n }\n\n if (self.player.paused) {\n self.player.play();\n }\n }\n }\n }, {\n key: \"pause\",\n value: function pause() {\n var self = this;\n\n if (!self.player) {\n return;\n }\n\n if ('youtube' === self.type && self.player.pauseVideo) {\n if (global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.PLAYING === self.player.getPlayerState()) {\n self.player.pauseVideo();\n }\n }\n\n if ('vimeo' === self.type) {\n self.player.getPaused().then(function (paused) {\n if (!paused) {\n self.player.pause();\n }\n });\n }\n\n if ('local' === self.type) {\n if (!self.player.paused) {\n self.player.pause();\n }\n }\n }\n }, {\n key: \"mute\",\n value: function mute() {\n var self = this;\n\n if (!self.player) {\n return;\n }\n\n if ('youtube' === self.type && self.player.mute) {\n self.player.mute();\n }\n\n if ('vimeo' === self.type && self.player.setVolume) {\n self.player.setVolume(0);\n }\n\n if ('local' === self.type) {\n self.$video.muted = true;\n }\n }\n }, {\n key: \"unmute\",\n value: function unmute() {\n var self = this;\n\n if (!self.player) {\n return;\n }\n\n if ('youtube' === self.type && self.player.mute) {\n self.player.unMute();\n }\n\n if ('vimeo' === self.type && self.player.setVolume) {\n self.player.setVolume(self.options.volume);\n }\n\n if ('local' === self.type) {\n self.$video.muted = false;\n }\n }\n }, {\n key: \"setVolume\",\n value: function setVolume() {\n var volume = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var self = this;\n\n if (!self.player || !volume) {\n return;\n }\n\n if ('youtube' === self.type && self.player.setVolume) {\n self.player.setVolume(volume);\n }\n\n if ('vimeo' === self.type && self.player.setVolume) {\n self.player.setVolume(volume);\n }\n\n if ('local' === self.type) {\n self.$video.volume = volume / 100;\n }\n }\n }, {\n key: \"getVolume\",\n value: function getVolume(callback) {\n var self = this;\n\n if (!self.player) {\n callback(false);\n return;\n }\n\n if ('youtube' === self.type && self.player.getVolume) {\n callback(self.player.getVolume());\n }\n\n if ('vimeo' === self.type && self.player.getVolume) {\n self.player.getVolume().then(function (volume) {\n callback(volume);\n });\n }\n\n if ('local' === self.type) {\n callback(self.$video.volume * 100);\n }\n }\n }, {\n key: \"getMuted\",\n value: function getMuted(callback) {\n var self = this;\n\n if (!self.player) {\n callback(null);\n return;\n }\n\n if ('youtube' === self.type && self.player.isMuted) {\n callback(self.player.isMuted());\n }\n\n if ('vimeo' === self.type && self.player.getVolume) {\n self.player.getVolume().then(function (volume) {\n callback(!!volume);\n });\n }\n\n if ('local' === self.type) {\n callback(self.$video.muted);\n }\n }\n }, {\n key: \"getImageURL\",\n value: function getImageURL(callback) {\n var self = this;\n\n if (self.videoImage) {\n callback(self.videoImage);\n return;\n }\n\n if ('youtube' === self.type) {\n var availableSizes = ['maxresdefault', 'sddefault', 'hqdefault', '0'];\n var step = 0;\n var tempImg = new Image();\n\n tempImg.onload = function () {\n // if no thumbnail, youtube add their own image with width = 120px\n if (120 !== (this.naturalWidth || this.width) || step === availableSizes.length - 1) {\n // ok\n self.videoImage = \"https://img.youtube.com/vi/\".concat(self.videoID, \"/\").concat(availableSizes[step], \".jpg\");\n callback(self.videoImage);\n } else {\n // try another size\n step += 1;\n this.src = \"https://img.youtube.com/vi/\".concat(self.videoID, \"/\").concat(availableSizes[step], \".jpg\");\n }\n };\n\n tempImg.src = \"https://img.youtube.com/vi/\".concat(self.videoID, \"/\").concat(availableSizes[step], \".jpg\");\n }\n\n if ('vimeo' === self.type) {\n var request = new XMLHttpRequest();\n request.open('GET', \"https://vimeo.com/api/v2/video/\".concat(self.videoID, \".json\"), true);\n\n request.onreadystatechange = function () {\n if (4 === this.readyState) {\n if (200 <= this.status && 400 > this.status) {\n // Success!\n var response = JSON.parse(this.responseText);\n self.videoImage = response[0].thumbnail_large;\n callback(self.videoImage);\n } else {// Error :(\n }\n }\n };\n\n request.send();\n request = null;\n }\n } // fallback to the old version.\n\n }, {\n key: \"getIframe\",\n value: function getIframe(callback) {\n this.getVideo(callback);\n }\n }, {\n key: \"getVideo\",\n value: function getVideo(callback) {\n var self = this; // return generated video block\n\n if (self.$video) {\n callback(self.$video);\n return;\n } // generate new video block\n\n\n self.onAPIready(function () {\n var hiddenDiv;\n\n if (!self.$video) {\n hiddenDiv = document.createElement('div');\n hiddenDiv.style.display = 'none';\n } // Youtube\n\n\n if ('youtube' === self.type) {\n self.playerOptions = {\n // GDPR Compliance.\n host: 'https://www.youtube-nocookie.com',\n videoId: self.videoID,\n playerVars: {\n autohide: 1,\n rel: 0,\n autoplay: 0,\n // autoplay enable on mobile devices\n playsinline: 1\n }\n }; // hide controls\n\n if (!self.options.showContols) {\n self.playerOptions.playerVars.iv_load_policy = 3;\n self.playerOptions.playerVars.modestbranding = 1;\n self.playerOptions.playerVars.controls = 0;\n self.playerOptions.playerVars.showinfo = 0;\n self.playerOptions.playerVars.disablekb = 1;\n } // events\n\n\n var ytStarted;\n var ytProgressInterval;\n self.playerOptions.events = {\n onReady: function onReady(e) {\n // mute\n if (self.options.mute) {\n e.target.mute();\n } else if (self.options.volume) {\n e.target.setVolume(self.options.volume);\n } // autoplay\n\n\n if (self.options.autoplay) {\n self.play(self.options.startTime);\n }\n\n self.fire('ready', e); // For seamless loops, set the endTime to 0.1 seconds less than the video's duration\n // https://github.com/nk-o/video-worker/issues/2\n\n if (self.options.loop && !self.options.endTime) {\n var secondsOffset = 0.1;\n self.options.endTime = self.player.getDuration() - secondsOffset;\n } // volumechange\n\n\n setInterval(function () {\n self.getVolume(function (volume) {\n if (self.options.volume !== volume) {\n self.options.volume = volume;\n self.fire('volumechange', e);\n }\n });\n }, 150);\n },\n onStateChange: function onStateChange(e) {\n // loop\n if (self.options.loop && e.data === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.ENDED) {\n self.play(self.options.startTime);\n }\n\n if (!ytStarted && e.data === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.PLAYING) {\n ytStarted = 1;\n self.fire('started', e);\n }\n\n if (e.data === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.PLAYING) {\n self.fire('play', e);\n }\n\n if (e.data === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.PAUSED) {\n self.fire('pause', e);\n }\n\n if (e.data === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.ENDED) {\n self.fire('ended', e);\n } // progress check\n\n\n if (e.data === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.PlayerState.PLAYING) {\n ytProgressInterval = setInterval(function () {\n self.fire('timeupdate', e); // check for end of video and play again or stop\n\n if (self.options.endTime && self.player.getCurrentTime() >= self.options.endTime) {\n if (self.options.loop) {\n self.play(self.options.startTime);\n } else {\n self.pause();\n }\n }\n }, 150);\n } else {\n clearInterval(ytProgressInterval);\n }\n },\n onError: function onError(e) {\n self.fire('error', e);\n }\n };\n var firstInit = !self.$video;\n\n if (firstInit) {\n var div = document.createElement('div');\n div.setAttribute('id', self.playerID);\n hiddenDiv.appendChild(div);\n document.body.appendChild(hiddenDiv);\n }\n\n self.player = self.player || new global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.Player(self.playerID, self.playerOptions);\n\n if (firstInit) {\n self.$video = document.getElementById(self.playerID); // get video width and height\n\n self.videoWidth = parseInt(self.$video.getAttribute('width'), 10) || 1280;\n self.videoHeight = parseInt(self.$video.getAttribute('height'), 10) || 720;\n }\n } // Vimeo\n\n\n if ('vimeo' === self.type) {\n self.playerOptions = {\n // GDPR Compliance.\n dnt: 1,\n id: self.videoID,\n autopause: 0,\n transparent: 0,\n autoplay: self.options.autoplay ? 1 : 0,\n loop: self.options.loop ? 1 : 0,\n muted: self.options.mute ? 1 : 0\n };\n\n if (self.options.volume) {\n self.playerOptions.volume = self.options.volume;\n } // hide controls\n\n\n if (!self.options.showContols) {\n self.playerOptions.badge = 0;\n self.playerOptions.byline = 0;\n self.playerOptions.portrait = 0;\n self.playerOptions.title = 0;\n self.playerOptions.background = 1;\n }\n\n if (!self.$video) {\n var playerOptionsString = '';\n Object.keys(self.playerOptions).forEach(function (key) {\n if ('' !== playerOptionsString) {\n playerOptionsString += '&';\n }\n\n playerOptionsString += \"\".concat(key, \"=\").concat(encodeURIComponent(self.playerOptions[key]));\n }); // we need to create iframe manually because when we create it using API\n // js events won't triggers after iframe moved to another place\n\n self.$video = document.createElement('iframe');\n self.$video.setAttribute('id', self.playerID);\n self.$video.setAttribute('src', \"https://player.vimeo.com/video/\".concat(self.videoID, \"?\").concat(playerOptionsString));\n self.$video.setAttribute('frameborder', '0');\n self.$video.setAttribute('mozallowfullscreen', '');\n self.$video.setAttribute('allowfullscreen', '');\n hiddenDiv.appendChild(self.$video);\n document.body.appendChild(hiddenDiv);\n }\n\n self.player = self.player || new global__WEBPACK_IMPORTED_MODULE_0___default.a.Vimeo.Player(self.$video, self.playerOptions); // set current time for autoplay\n\n if (self.options.startTime && self.options.autoplay) {\n self.player.setCurrentTime(self.options.startTime);\n } // get video width and height\n\n\n self.player.getVideoWidth().then(function (width) {\n self.videoWidth = width || 1280;\n });\n self.player.getVideoHeight().then(function (height) {\n self.videoHeight = height || 720;\n }); // events\n\n var vmStarted;\n self.player.on('timeupdate', function (e) {\n if (!vmStarted) {\n self.fire('started', e);\n vmStarted = 1;\n }\n\n self.fire('timeupdate', e); // check for end of video and play again or stop\n\n if (self.options.endTime) {\n if (self.options.endTime && e.seconds >= self.options.endTime) {\n if (self.options.loop) {\n self.play(self.options.startTime);\n } else {\n self.pause();\n }\n }\n }\n });\n self.player.on('play', function (e) {\n self.fire('play', e); // check for the start time and start with it\n\n if (self.options.startTime && 0 === e.seconds) {\n self.play(self.options.startTime);\n }\n });\n self.player.on('pause', function (e) {\n self.fire('pause', e);\n });\n self.player.on('ended', function (e) {\n self.fire('ended', e);\n });\n self.player.on('loaded', function (e) {\n self.fire('ready', e);\n });\n self.player.on('volumechange', function (e) {\n self.fire('volumechange', e);\n });\n self.player.on('error', function (e) {\n self.fire('error', e);\n });\n } // Local\n\n\n function addSourceToLocal(element, src, type) {\n var source = document.createElement('source');\n source.src = src;\n source.type = type;\n element.appendChild(source);\n }\n\n if ('local' === self.type) {\n if (!self.$video) {\n self.$video = document.createElement('video'); // show controls\n\n if (self.options.showContols) {\n self.$video.controls = true;\n } // mute\n\n\n if (self.options.mute) {\n self.$video.muted = true;\n } else if (self.$video.volume) {\n self.$video.volume = self.options.volume / 100;\n } // loop\n\n\n if (self.options.loop) {\n self.$video.loop = true;\n } // autoplay enable on mobile devices\n\n\n self.$video.setAttribute('playsinline', '');\n self.$video.setAttribute('webkit-playsinline', '');\n self.$video.setAttribute('id', self.playerID);\n hiddenDiv.appendChild(self.$video);\n document.body.appendChild(hiddenDiv);\n Object.keys(self.videoID).forEach(function (key) {\n addSourceToLocal(self.$video, self.videoID[key], \"video/\".concat(key));\n });\n }\n\n self.player = self.player || self.$video;\n var locStarted;\n self.player.addEventListener('playing', function (e) {\n if (!locStarted) {\n self.fire('started', e);\n }\n\n locStarted = 1;\n });\n self.player.addEventListener('timeupdate', function (e) {\n self.fire('timeupdate', e); // check for end of video and play again or stop\n\n if (self.options.endTime) {\n if (self.options.endTime && this.currentTime >= self.options.endTime) {\n if (self.options.loop) {\n self.play(self.options.startTime);\n } else {\n self.pause();\n }\n }\n }\n });\n self.player.addEventListener('play', function (e) {\n self.fire('play', e);\n });\n self.player.addEventListener('pause', function (e) {\n self.fire('pause', e);\n });\n self.player.addEventListener('ended', function (e) {\n self.fire('ended', e);\n });\n self.player.addEventListener('loadedmetadata', function () {\n // get video width and height\n self.videoWidth = this.videoWidth || 1280;\n self.videoHeight = this.videoHeight || 720;\n self.fire('ready'); // autoplay\n\n if (self.options.autoplay) {\n self.play(self.options.startTime);\n }\n });\n self.player.addEventListener('volumechange', function (e) {\n self.getVolume(function (volume) {\n self.options.volume = volume;\n });\n self.fire('volumechange', e);\n });\n self.player.addEventListener('error', function (e) {\n self.fire('error', e);\n });\n }\n\n callback(self.$video);\n });\n }\n }, {\n key: \"init\",\n value: function init() {\n var self = this;\n self.playerID = \"VideoWorker-\".concat(self.ID);\n }\n }, {\n key: \"loadAPI\",\n value: function loadAPI() {\n var self = this;\n\n if (YoutubeAPIadded && VimeoAPIadded) {\n return;\n }\n\n var src = ''; // load Youtube API\n\n if ('youtube' === self.type && !YoutubeAPIadded) {\n YoutubeAPIadded = 1;\n src = 'https://www.youtube.com/iframe_api';\n } // load Vimeo API\n\n\n if ('vimeo' === self.type && !VimeoAPIadded) {\n VimeoAPIadded = 1; // Useful when Vimeo API added using RequireJS https://github.com/nk-o/video-worker/pull/7\n\n if ('undefined' !== typeof global__WEBPACK_IMPORTED_MODULE_0___default.a.Vimeo) {\n return;\n }\n\n src = 'https://player.vimeo.com/api/player.js';\n }\n\n if (!src) {\n return;\n } // add script in head section\n\n\n var tag = document.createElement('script');\n var head = document.getElementsByTagName('head')[0];\n tag.src = src;\n head.appendChild(tag);\n head = null;\n tag = null;\n }\n }, {\n key: \"onAPIready\",\n value: function onAPIready(callback) {\n var self = this; // Youtube\n\n if ('youtube' === self.type) {\n // Listen for global YT player callback\n if (('undefined' === typeof global__WEBPACK_IMPORTED_MODULE_0___default.a.YT || 0 === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.loaded) && !loadingYoutubePlayer) {\n // Prevents Ready event from being called twice\n loadingYoutubePlayer = 1; // Creates deferred so, other players know when to wait.\n\n window.onYouTubeIframeAPIReady = function () {\n window.onYouTubeIframeAPIReady = null;\n loadingYoutubeDefer.resolve('done');\n callback();\n };\n } else if ('object' === _typeof(global__WEBPACK_IMPORTED_MODULE_0___default.a.YT) && 1 === global__WEBPACK_IMPORTED_MODULE_0___default.a.YT.loaded) {\n callback();\n } else {\n loadingYoutubeDefer.done(function () {\n callback();\n });\n }\n } // Vimeo\n\n\n if ('vimeo' === self.type) {\n if ('undefined' === typeof global__WEBPACK_IMPORTED_MODULE_0___default.a.Vimeo && !loadingVimeoPlayer) {\n loadingVimeoPlayer = 1;\n var vimeoInterval = setInterval(function () {\n if ('undefined' !== typeof global__WEBPACK_IMPORTED_MODULE_0___default.a.Vimeo) {\n clearInterval(vimeoInterval);\n loadingVimeoDefer.resolve('done');\n callback();\n }\n }, 20);\n } else if ('undefined' !== typeof global__WEBPACK_IMPORTED_MODULE_0___default.a.Vimeo) {\n callback();\n } else {\n loadingVimeoDefer.done(function () {\n callback();\n });\n }\n } // Local\n\n\n if ('local' === self.type) {\n callback();\n }\n }\n }]);\n\n return VideoWorker;\n}();\n\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return jarallaxVideo; });\n/* harmony import */ var video_worker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_1__);\n\n\nfunction jarallaxVideo() {\n var jarallax = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global__WEBPACK_IMPORTED_MODULE_1___default.a.jarallax;\n\n if ('undefined' === typeof jarallax) {\n return;\n }\n\n var Jarallax = jarallax.constructor; // append video after when block will be visible.\n\n var defOnScroll = Jarallax.prototype.onScroll;\n\n Jarallax.prototype.onScroll = function () {\n var self = this;\n defOnScroll.apply(self);\n var isReady = !self.isVideoInserted && self.video && (!self.options.videoLazyLoading || self.isElementInViewport) && !self.options.disableVideo();\n\n if (isReady) {\n self.isVideoInserted = true;\n self.video.getVideo(function (video) {\n var $parent = video.parentNode;\n self.css(video, {\n position: self.image.position,\n top: '0px',\n left: '0px',\n right: '0px',\n bottom: '0px',\n width: '100%',\n height: '100%',\n maxWidth: 'none',\n maxHeight: 'none',\n pointerEvents: 'none',\n transformStyle: 'preserve-3d',\n backfaceVisibility: 'hidden',\n willChange: 'transform,opacity',\n margin: 0,\n zIndex: -1\n });\n self.$video = video; // add Poster attribute to self-hosted video\n\n if ('local' === self.video.type) {\n if (self.image.src) {\n self.$video.setAttribute('poster', self.image.src);\n } else if (self.image.$item && 'IMG' === self.image.$item.tagName && self.image.$item.src) {\n self.$video.setAttribute('poster', self.image.$item.src);\n }\n } // insert video tag\n\n\n self.image.$container.appendChild(video); // remove parent video element (created by VideoWorker)\n\n $parent.parentNode.removeChild($parent);\n });\n }\n }; // cover video\n\n\n var defCoverImage = Jarallax.prototype.coverImage;\n\n Jarallax.prototype.coverImage = function () {\n var self = this;\n var imageData = defCoverImage.apply(self);\n var node = self.image.$item ? self.image.$item.nodeName : false;\n\n if (imageData && self.video && node && ('IFRAME' === node || 'VIDEO' === node)) {\n var h = imageData.image.height;\n var w = h * self.image.width / self.image.height;\n var ml = (imageData.container.width - w) / 2;\n var mt = imageData.image.marginTop;\n\n if (imageData.container.width > w) {\n w = imageData.container.width;\n h = w * self.image.height / self.image.width;\n ml = 0;\n mt += (imageData.image.height - h) / 2;\n } // add video height over than need to hide controls\n\n\n if ('IFRAME' === node) {\n h += 400;\n mt -= 200;\n }\n\n self.css(self.$video, {\n width: \"\".concat(w, \"px\"),\n marginLeft: \"\".concat(ml, \"px\"),\n height: \"\".concat(h, \"px\"),\n marginTop: \"\".concat(mt, \"px\")\n });\n }\n\n return imageData;\n }; // init video\n\n\n var defInitImg = Jarallax.prototype.initImg;\n\n Jarallax.prototype.initImg = function () {\n var self = this;\n var defaultResult = defInitImg.apply(self);\n\n if (!self.options.videoSrc) {\n self.options.videoSrc = self.$item.getAttribute('data-jarallax-video') || null;\n }\n\n if (self.options.videoSrc) {\n self.defaultInitImgResult = defaultResult;\n return true;\n }\n\n return defaultResult;\n };\n\n var defCanInitParallax = Jarallax.prototype.canInitParallax;\n\n Jarallax.prototype.canInitParallax = function () {\n var self = this;\n var defaultResult = defCanInitParallax.apply(self);\n\n if (!self.options.videoSrc) {\n return defaultResult;\n } // Init video api\n\n\n var video = new video_worker__WEBPACK_IMPORTED_MODULE_0__[\"default\"](self.options.videoSrc, {\n autoplay: true,\n loop: self.options.videoLoop,\n showContols: false,\n startTime: self.options.videoStartTime || 0,\n endTime: self.options.videoEndTime || 0,\n mute: self.options.videoVolume ? 0 : 1,\n volume: self.options.videoVolume || 0\n });\n\n function resetDefaultImage() {\n if (self.image.$default_item) {\n self.image.$item = self.image.$default_item;\n self.image.$item.style.display = 'block'; // set image width and height\n\n self.coverImage();\n self.clipContainer();\n self.onScroll();\n }\n }\n\n if (video.isValid()) {\n // Force enable parallax.\n // When the parallax disabled on mobile devices, we still need to display videos.\n // https://github.com/nk-o/jarallax/issues/159\n if (this.options.disableParallax()) {\n defaultResult = true;\n self.image.position = 'absolute';\n self.options.type = 'scroll';\n self.options.speed = 1;\n } // if parallax will not be inited, we can add thumbnail on background.\n\n\n if (!defaultResult) {\n if (!self.defaultInitImgResult) {\n video.getImageURL(function (url) {\n // save default user styles\n var curStyle = self.$item.getAttribute('style');\n\n if (curStyle) {\n self.$item.setAttribute('data-jarallax-original-styles', curStyle);\n } // set new background\n\n\n self.css(self.$item, {\n 'background-image': \"url(\\\"\".concat(url, \"\\\")\"),\n 'background-position': 'center',\n 'background-size': 'cover'\n });\n });\n } // init video\n\n } else {\n video.on('ready', function () {\n if (self.options.videoPlayOnlyVisible) {\n var oldOnScroll = self.onScroll;\n\n self.onScroll = function () {\n oldOnScroll.apply(self);\n\n if (!self.videoError && (self.options.videoLoop || !self.options.videoLoop && !self.videoEnded)) {\n if (self.isVisible()) {\n video.play();\n } else {\n video.pause();\n }\n }\n };\n } else {\n video.play();\n }\n });\n video.on('started', function () {\n self.image.$default_item = self.image.$item;\n self.image.$item = self.$video; // set video width and height\n\n self.image.width = self.video.videoWidth || 1280;\n self.image.height = self.video.videoHeight || 720;\n self.coverImage();\n self.clipContainer();\n self.onScroll(); // hide image\n\n if (self.image.$default_item) {\n self.image.$default_item.style.display = 'none';\n }\n });\n video.on('ended', function () {\n self.videoEnded = true;\n\n if (!self.options.videoLoop) {\n // show default image if Loop disabled.\n resetDefaultImage();\n }\n });\n video.on('error', function () {\n self.videoError = true; // show default image if video loading error.\n\n resetDefaultImage();\n });\n self.video = video; // set image if not exists\n\n if (!self.defaultInitImgResult) {\n // set empty image on self-hosted video if not defined\n self.image.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\n\n if ('local' !== video.type) {\n video.getImageURL(function (url) {\n self.image.bgImage = \"url(\\\"\".concat(url, \"\\\")\");\n self.init();\n });\n return false;\n }\n }\n }\n }\n\n return defaultResult;\n }; // Destroy video parallax\n\n\n var defDestroy = Jarallax.prototype.destroy;\n\n Jarallax.prototype.destroy = function () {\n var self = this;\n\n if (self.image.$default_item) {\n self.image.$item = self.image.$default_item;\n delete self.image.$default_item;\n }\n\n defDestroy.apply(self);\n };\n}\n\n/***/ })\n/******/ ]);"]} \ No newline at end of file diff --git a/public/js/vendor/jarallax/dist/jarallax.css b/public/js/vendor/jarallax/dist/jarallax.css new file mode 100644 index 0000000..f12cf97 --- /dev/null +++ b/public/js/vendor/jarallax/dist/jarallax.css @@ -0,0 +1,15 @@ +.jarallax { + position: relative; + z-index: 0; +} +.jarallax > .jarallax-img { + position: absolute; + object-fit: cover; + /* support for plugin https://github.com/bfred-it/object-fit-images */ + font-family: 'object-fit: cover;'; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} \ No newline at end of file diff --git a/public/js/vendor/jarallax/dist/jarallax.js b/public/js/vendor/jarallax/dist/jarallax.js new file mode 100644 index 0000000..50aca9b --- /dev/null +++ b/public/js/vendor/jarallax/dist/jarallax.js @@ -0,0 +1,1033 @@ +/*! + * Name : Just Another Parallax [Jarallax] + * Version : 1.12.5 + * Author : nK + * GitHub : https://github.com/nk-o/jarallax + */ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 10); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */, +/* 1 */, +/* 2 */ +/***/ (function(module, exports) { + +module.exports = function (callback) { + if (document.readyState === 'complete' || document.readyState === 'interactive') { + // Already ready or interactive, execute callback + callback.call(); + } else if (document.attachEvent) { + // Old browsers + document.attachEvent('onreadystatechange', function () { + if (document.readyState === 'interactive') callback.call(); + }); + } else if (document.addEventListener) { + // Modern browsers + document.addEventListener('DOMContentLoaded', callback); + } +}; + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {var win; + +if (typeof window !== "undefined") { + win = window; +} else if (typeof global !== "undefined") { + win = global; +} else if (typeof self !== "undefined") { + win = self; +} else { + win = {}; +} + +module.exports = win; +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4))) + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var g; // This works in non-strict mode + +g = function () { + return this; +}(); + +try { + // This works if eval is allowed (see CSP) + g = g || new Function("return this")(); +} catch (e) { + // This works if the window reference is available + if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === "object") g = window; +} // g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + + +module.exports = g; + +/***/ }), +/* 5 */, +/* 6 */, +/* 7 */, +/* 8 */, +/* 9 */, +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(11); + + +/***/ }), +/* 11 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); +/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lite_ready__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _jarallax_esm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + + + + // no conflict + +var oldPlugin = global__WEBPACK_IMPORTED_MODULE_1__["window"].jarallax; +global__WEBPACK_IMPORTED_MODULE_1__["window"].jarallax = _jarallax_esm__WEBPACK_IMPORTED_MODULE_2__["default"]; + +global__WEBPACK_IMPORTED_MODULE_1__["window"].jarallax.noConflict = function () { + global__WEBPACK_IMPORTED_MODULE_1__["window"].jarallax = oldPlugin; + return this; +}; // jQuery support + + +if ('undefined' !== typeof global__WEBPACK_IMPORTED_MODULE_1__["jQuery"]) { + var jQueryPlugin = function jQueryPlugin() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + Array.prototype.unshift.call(args, this); + var res = _jarallax_esm__WEBPACK_IMPORTED_MODULE_2__["default"].apply(global__WEBPACK_IMPORTED_MODULE_1__["window"], args); + return 'object' !== _typeof(res) ? res : this; + }; + + jQueryPlugin.constructor = _jarallax_esm__WEBPACK_IMPORTED_MODULE_2__["default"].constructor; // no conflict + + var oldJqPlugin = global__WEBPACK_IMPORTED_MODULE_1__["jQuery"].fn.jarallax; + global__WEBPACK_IMPORTED_MODULE_1__["jQuery"].fn.jarallax = jQueryPlugin; + + global__WEBPACK_IMPORTED_MODULE_1__["jQuery"].fn.jarallax.noConflict = function () { + global__WEBPACK_IMPORTED_MODULE_1__["jQuery"].fn.jarallax = oldJqPlugin; + return this; + }; +} // data-jarallax initialization + + +lite_ready__WEBPACK_IMPORTED_MODULE_0___default()(function () { + Object(_jarallax_esm__WEBPACK_IMPORTED_MODULE_2__["default"])(document.querySelectorAll('[data-jarallax]')); +}); + +/***/ }), +/* 12 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); +/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lite_ready__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); +/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_1__); +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + + +var navigator = global__WEBPACK_IMPORTED_MODULE_1__["window"].navigator; +var isIE = -1 < navigator.userAgent.indexOf('MSIE ') || -1 < navigator.userAgent.indexOf('Trident/') || -1 < navigator.userAgent.indexOf('Edge/'); +var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); + +var supportTransform = function () { + var prefixes = 'transform WebkitTransform MozTransform'.split(' '); + var div = document.createElement('div'); + + for (var i = 0; i < prefixes.length; i += 1) { + if (div && div.style[prefixes[i]] !== undefined) { + return prefixes[i]; + } + } + + return false; +}(); + +var $deviceHelper; +/** + * The most popular mobile browsers changes height after page scroll and this generates image jumping. + * We can fix it using this workaround with vh units. + */ + +function getDeviceHeight() { + if (!$deviceHelper && document.body) { + $deviceHelper = document.createElement('div'); + $deviceHelper.style.cssText = 'position: fixed; top: -9999px; left: 0; height: 100vh; width: 0;'; + document.body.appendChild($deviceHelper); + } + + return ($deviceHelper ? $deviceHelper.clientHeight : 0) || global__WEBPACK_IMPORTED_MODULE_1__["window"].innerHeight || document.documentElement.clientHeight; +} // Window height data + + +var wndH; + +function updateWndVars() { + if (isMobile) { + wndH = getDeviceHeight(); + } else { + wndH = global__WEBPACK_IMPORTED_MODULE_1__["window"].innerHeight || document.documentElement.clientHeight; + } +} + +updateWndVars(); +global__WEBPACK_IMPORTED_MODULE_1__["window"].addEventListener('resize', updateWndVars); +global__WEBPACK_IMPORTED_MODULE_1__["window"].addEventListener('orientationchange', updateWndVars); +global__WEBPACK_IMPORTED_MODULE_1__["window"].addEventListener('load', updateWndVars); +lite_ready__WEBPACK_IMPORTED_MODULE_0___default()(function () { + updateWndVars({ + type: 'dom-loaded' + }); +}); // list with all jarallax instances +// need to render all in one scroll/resize event + +var jarallaxList = []; // get all parents of the element. + +function getParents(elem) { + var parents = []; + + while (null !== elem.parentElement) { + elem = elem.parentElement; + + if (1 === elem.nodeType) { + parents.push(elem); + } + } + + return parents; +} + +function updateParallax() { + if (!jarallaxList.length) { + return; + } + + jarallaxList.forEach(function (data, k) { + var instance = data.instance, + oldData = data.oldData; + var clientRect = instance.$item.getBoundingClientRect(); + var newData = { + width: clientRect.width, + height: clientRect.height, + top: clientRect.top, + bottom: clientRect.bottom, + wndW: global__WEBPACK_IMPORTED_MODULE_1__["window"].innerWidth, + wndH: wndH + }; + var isResized = !oldData || oldData.wndW !== newData.wndW || oldData.wndH !== newData.wndH || oldData.width !== newData.width || oldData.height !== newData.height; + var isScrolled = isResized || !oldData || oldData.top !== newData.top || oldData.bottom !== newData.bottom; + jarallaxList[k].oldData = newData; + + if (isResized) { + instance.onResize(); + } + + if (isScrolled) { + instance.onScroll(); + } + }); + global__WEBPACK_IMPORTED_MODULE_1__["window"].requestAnimationFrame(updateParallax); +} + +var instanceID = 0; // Jarallax class + +var Jarallax = /*#__PURE__*/function () { + function Jarallax(item, userOptions) { + _classCallCheck(this, Jarallax); + + var self = this; + self.instanceID = instanceID; + instanceID += 1; + self.$item = item; + self.defaults = { + type: 'scroll', + // type of parallax: scroll, scale, opacity, scale-opacity, scroll-opacity + speed: 0.5, + // supported value from -1 to 2 + imgSrc: null, + imgElement: '.jarallax-img', + imgSize: 'cover', + imgPosition: '50% 50%', + imgRepeat: 'no-repeat', + // supported only for background, not for tag + keepImg: false, + // keep tag in it's default place + elementInViewport: null, + zIndex: -100, + disableParallax: false, + disableVideo: false, + // video + videoSrc: null, + videoStartTime: 0, + videoEndTime: 0, + videoVolume: 0, + videoLoop: true, + videoPlayOnlyVisible: true, + videoLazyLoading: true, + // events + onScroll: null, + // function(calculations) {} + onInit: null, + // function() {} + onDestroy: null, + // function() {} + onCoverImage: null // function() {} + + }; // prepare data-options + + var dataOptions = self.$item.dataset || {}; + var pureDataOptions = {}; + Object.keys(dataOptions).forEach(function (key) { + var loweCaseOption = key.substr(0, 1).toLowerCase() + key.substr(1); + + if (loweCaseOption && 'undefined' !== typeof self.defaults[loweCaseOption]) { + pureDataOptions[loweCaseOption] = dataOptions[key]; + } + }); + self.options = self.extend({}, self.defaults, pureDataOptions, userOptions); + self.pureOptions = self.extend({}, self.options); // prepare 'true' and 'false' strings to boolean + + Object.keys(self.options).forEach(function (key) { + if ('true' === self.options[key]) { + self.options[key] = true; + } else if ('false' === self.options[key]) { + self.options[key] = false; + } + }); // fix speed option [-1.0, 2.0] + + self.options.speed = Math.min(2, Math.max(-1, parseFloat(self.options.speed))); // prepare disableParallax callback + + if ('string' === typeof self.options.disableParallax) { + self.options.disableParallax = new RegExp(self.options.disableParallax); + } + + if (self.options.disableParallax instanceof RegExp) { + var disableParallaxRegexp = self.options.disableParallax; + + self.options.disableParallax = function () { + return disableParallaxRegexp.test(navigator.userAgent); + }; + } + + if ('function' !== typeof self.options.disableParallax) { + self.options.disableParallax = function () { + return false; + }; + } // prepare disableVideo callback + + + if ('string' === typeof self.options.disableVideo) { + self.options.disableVideo = new RegExp(self.options.disableVideo); + } + + if (self.options.disableVideo instanceof RegExp) { + var disableVideoRegexp = self.options.disableVideo; + + self.options.disableVideo = function () { + return disableVideoRegexp.test(navigator.userAgent); + }; + } + + if ('function' !== typeof self.options.disableVideo) { + self.options.disableVideo = function () { + return false; + }; + } // custom element to check if parallax in viewport + + + var elementInVP = self.options.elementInViewport; // get first item from array + + if (elementInVP && 'object' === _typeof(elementInVP) && 'undefined' !== typeof elementInVP.length) { + var _elementInVP = elementInVP; + + var _elementInVP2 = _slicedToArray(_elementInVP, 1); + + elementInVP = _elementInVP2[0]; + } // check if dom element + + + if (!(elementInVP instanceof Element)) { + elementInVP = null; + } + + self.options.elementInViewport = elementInVP; + self.image = { + src: self.options.imgSrc || null, + $container: null, + useImgTag: false, + // position fixed is needed for the most of browsers because absolute position have glitches + // on MacOS with smooth scroll there is a huge lags with absolute position - https://github.com/nk-o/jarallax/issues/75 + // on mobile devices better scrolled with absolute position + position: /iPad|iPhone|iPod|Android/.test(navigator.userAgent) ? 'absolute' : 'fixed' + }; + + if (self.initImg() && self.canInitParallax()) { + self.init(); + } + } // add styles to element + // eslint-disable-next-line class-methods-use-this + + + _createClass(Jarallax, [{ + key: "css", + value: function css(el, styles) { + if ('string' === typeof styles) { + return global__WEBPACK_IMPORTED_MODULE_1__["window"].getComputedStyle(el).getPropertyValue(styles); + } // add transform property with vendor prefix + + + if (styles.transform && supportTransform) { + styles[supportTransform] = styles.transform; + } + + Object.keys(styles).forEach(function (key) { + el.style[key] = styles[key]; + }); + return el; + } // Extend like jQuery.extend + // eslint-disable-next-line class-methods-use-this + + }, { + key: "extend", + value: function extend(out) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + out = out || {}; + Object.keys(args).forEach(function (i) { + if (!args[i]) { + return; + } + + Object.keys(args[i]).forEach(function (key) { + out[key] = args[i][key]; + }); + }); + return out; + } // get window size and scroll position. Useful for extensions + // eslint-disable-next-line class-methods-use-this + + }, { + key: "getWindowData", + value: function getWindowData() { + return { + width: global__WEBPACK_IMPORTED_MODULE_1__["window"].innerWidth || document.documentElement.clientWidth, + height: wndH, + y: document.documentElement.scrollTop + }; + } // Jarallax functions + + }, { + key: "initImg", + value: function initImg() { + var self = this; // find image element + + var $imgElement = self.options.imgElement; + + if ($imgElement && 'string' === typeof $imgElement) { + $imgElement = self.$item.querySelector($imgElement); + } // check if dom element + + + if (!($imgElement instanceof Element)) { + if (self.options.imgSrc) { + $imgElement = new Image(); + $imgElement.src = self.options.imgSrc; + } else { + $imgElement = null; + } + } + + if ($imgElement) { + if (self.options.keepImg) { + self.image.$item = $imgElement.cloneNode(true); + } else { + self.image.$item = $imgElement; + self.image.$itemParent = $imgElement.parentNode; + } + + self.image.useImgTag = true; + } // true if there is img tag + + + if (self.image.$item) { + return true; + } // get image src + + + if (null === self.image.src) { + self.image.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'; + self.image.bgImage = self.css(self.$item, 'background-image'); + } + + return !(!self.image.bgImage || 'none' === self.image.bgImage); + } + }, { + key: "canInitParallax", + value: function canInitParallax() { + return supportTransform && !this.options.disableParallax(); + } + }, { + key: "init", + value: function init() { + var self = this; + var containerStyles = { + position: 'absolute', + top: 0, + left: 0, + width: '100%', + height: '100%', + overflow: 'hidden' + }; + var imageStyles = { + pointerEvents: 'none', + transformStyle: 'preserve-3d', + backfaceVisibility: 'hidden', + willChange: 'transform,opacity' + }; + + if (!self.options.keepImg) { + // save default user styles + var curStyle = self.$item.getAttribute('style'); + + if (curStyle) { + self.$item.setAttribute('data-jarallax-original-styles', curStyle); + } + + if (self.image.useImgTag) { + var curImgStyle = self.image.$item.getAttribute('style'); + + if (curImgStyle) { + self.image.$item.setAttribute('data-jarallax-original-styles', curImgStyle); + } + } + } // set relative position and z-index to the parent + + + if ('static' === self.css(self.$item, 'position')) { + self.css(self.$item, { + position: 'relative' + }); + } + + if ('auto' === self.css(self.$item, 'z-index')) { + self.css(self.$item, { + zIndex: 0 + }); + } // container for parallax image + + + self.image.$container = document.createElement('div'); + self.css(self.image.$container, containerStyles); + self.css(self.image.$container, { + 'z-index': self.options.zIndex + }); // fix for IE https://github.com/nk-o/jarallax/issues/110 + + if (isIE) { + self.css(self.image.$container, { + opacity: 0.9999 + }); + } + + self.image.$container.setAttribute('id', "jarallax-container-".concat(self.instanceID)); + self.$item.appendChild(self.image.$container); // use img tag + + if (self.image.useImgTag) { + imageStyles = self.extend({ + 'object-fit': self.options.imgSize, + 'object-position': self.options.imgPosition, + // support for plugin https://github.com/bfred-it/object-fit-images + 'font-family': "object-fit: ".concat(self.options.imgSize, "; object-position: ").concat(self.options.imgPosition, ";"), + 'max-width': 'none' + }, containerStyles, imageStyles); // use div with background image + } else { + self.image.$item = document.createElement('div'); + + if (self.image.src) { + imageStyles = self.extend({ + 'background-position': self.options.imgPosition, + 'background-size': self.options.imgSize, + 'background-repeat': self.options.imgRepeat, + 'background-image': self.image.bgImage || "url(\"".concat(self.image.src, "\")") + }, containerStyles, imageStyles); + } + } + + if ('opacity' === self.options.type || 'scale' === self.options.type || 'scale-opacity' === self.options.type || 1 === self.options.speed) { + self.image.position = 'absolute'; + } // 1. Check if one of parents have transform style (without this check, scroll transform will be inverted if used parallax with position fixed) + // discussion - https://github.com/nk-o/jarallax/issues/9 + // 2. Check if parents have overflow scroll + + + if ('fixed' === self.image.position) { + var $parents = getParents(self.$item).filter(function (el) { + var styles = global__WEBPACK_IMPORTED_MODULE_1__["window"].getComputedStyle(el); + var parentTransform = styles['-webkit-transform'] || styles['-moz-transform'] || styles.transform; + var overflowRegex = /(auto|scroll)/; + return parentTransform && 'none' !== parentTransform || overflowRegex.test(styles.overflow + styles['overflow-y'] + styles['overflow-x']); + }); + self.image.position = $parents.length ? 'absolute' : 'fixed'; + } // add position to parallax block + + + imageStyles.position = self.image.position; // insert parallax image + + self.css(self.image.$item, imageStyles); + self.image.$container.appendChild(self.image.$item); // set initial position and size + + self.onResize(); + self.onScroll(true); // call onInit event + + if (self.options.onInit) { + self.options.onInit.call(self); + } // remove default user background + + + if ('none' !== self.css(self.$item, 'background-image')) { + self.css(self.$item, { + 'background-image': 'none' + }); + } + + self.addToParallaxList(); + } // add to parallax instances list + + }, { + key: "addToParallaxList", + value: function addToParallaxList() { + jarallaxList.push({ + instance: this + }); + + if (1 === jarallaxList.length) { + global__WEBPACK_IMPORTED_MODULE_1__["window"].requestAnimationFrame(updateParallax); + } + } // remove from parallax instances list + + }, { + key: "removeFromParallaxList", + value: function removeFromParallaxList() { + var self = this; + jarallaxList.forEach(function (data, key) { + if (data.instance.instanceID === self.instanceID) { + jarallaxList.splice(key, 1); + } + }); + } + }, { + key: "destroy", + value: function destroy() { + var self = this; + self.removeFromParallaxList(); // return styles on container as before jarallax init + + var originalStylesTag = self.$item.getAttribute('data-jarallax-original-styles'); + self.$item.removeAttribute('data-jarallax-original-styles'); // null occurs if there is no style tag before jarallax init + + if (!originalStylesTag) { + self.$item.removeAttribute('style'); + } else { + self.$item.setAttribute('style', originalStylesTag); + } + + if (self.image.useImgTag) { + // return styles on img tag as before jarallax init + var originalStylesImgTag = self.image.$item.getAttribute('data-jarallax-original-styles'); + self.image.$item.removeAttribute('data-jarallax-original-styles'); // null occurs if there is no style tag before jarallax init + + if (!originalStylesImgTag) { + self.image.$item.removeAttribute('style'); + } else { + self.image.$item.setAttribute('style', originalStylesTag); + } // move img tag to its default position + + + if (self.image.$itemParent) { + self.image.$itemParent.appendChild(self.image.$item); + } + } // remove additional dom elements + + + if (self.$clipStyles) { + self.$clipStyles.parentNode.removeChild(self.$clipStyles); + } + + if (self.image.$container) { + self.image.$container.parentNode.removeChild(self.image.$container); + } // call onDestroy event + + + if (self.options.onDestroy) { + self.options.onDestroy.call(self); + } // delete jarallax from item + + + delete self.$item.jarallax; + } // it will remove some image overlapping + // overlapping occur due to an image position fixed inside absolute position element + + }, { + key: "clipContainer", + value: function clipContainer() { + // needed only when background in fixed position + if ('fixed' !== this.image.position) { + return; + } + + var self = this; + var rect = self.image.$container.getBoundingClientRect(); + var width = rect.width, + height = rect.height; + + if (!self.$clipStyles) { + self.$clipStyles = document.createElement('style'); + self.$clipStyles.setAttribute('type', 'text/css'); + self.$clipStyles.setAttribute('id', "jarallax-clip-".concat(self.instanceID)); + var head = document.head || document.getElementsByTagName('head')[0]; + head.appendChild(self.$clipStyles); + } // clip is used for old browsers. + // clip-path for modern browsers (also fixes Safari v14 bug https://github.com/nk-o/jarallax/issues/181 ). + + + var styles = "#jarallax-container-".concat(self.instanceID, " {\n clip: rect(0 ").concat(width, "px ").concat(height, "px 0);\n clip: rect(0, ").concat(width, "px, ").concat(height, "px, 0);\n -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);\n clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);\n }"); // add clip styles inline (this method need for support IE8 and less browsers) + + if (self.$clipStyles.styleSheet) { + self.$clipStyles.styleSheet.cssText = styles; + } else { + self.$clipStyles.innerHTML = styles; + } + } + }, { + key: "coverImage", + value: function coverImage() { + var self = this; + var rect = self.image.$container.getBoundingClientRect(); + var contH = rect.height; + var speed = self.options.speed; + var isScroll = 'scroll' === self.options.type || 'scroll-opacity' === self.options.type; + var scrollDist = 0; + var resultH = contH; + var resultMT = 0; // scroll parallax + + if (isScroll) { + // scroll distance and height for image + if (0 > speed) { + scrollDist = speed * Math.max(contH, wndH); + + if (wndH < contH) { + scrollDist -= speed * (contH - wndH); + } + } else { + scrollDist = speed * (contH + wndH); + } // size for scroll parallax + + + if (1 < speed) { + resultH = Math.abs(scrollDist - wndH); + } else if (0 > speed) { + resultH = scrollDist / speed + Math.abs(scrollDist); + } else { + resultH += (wndH - contH) * (1 - speed); + } + + scrollDist /= 2; + } // store scroll distance + + + self.parallaxScrollDistance = scrollDist; // vertical center + + if (isScroll) { + resultMT = (wndH - resultH) / 2; + } else { + resultMT = (contH - resultH) / 2; + } // apply result to item + + + self.css(self.image.$item, { + height: "".concat(resultH, "px"), + marginTop: "".concat(resultMT, "px"), + left: 'fixed' === self.image.position ? "".concat(rect.left, "px") : '0', + width: "".concat(rect.width, "px") + }); // call onCoverImage event + + if (self.options.onCoverImage) { + self.options.onCoverImage.call(self); + } // return some useful data. Used in the video cover function + + + return { + image: { + height: resultH, + marginTop: resultMT + }, + container: rect + }; + } + }, { + key: "isVisible", + value: function isVisible() { + return this.isElementInViewport || false; + } + }, { + key: "onScroll", + value: function onScroll(force) { + var self = this; + var rect = self.$item.getBoundingClientRect(); + var contT = rect.top; + var contH = rect.height; + var styles = {}; // check if in viewport + + var viewportRect = rect; + + if (self.options.elementInViewport) { + viewportRect = self.options.elementInViewport.getBoundingClientRect(); + } + + self.isElementInViewport = 0 <= viewportRect.bottom && 0 <= viewportRect.right && viewportRect.top <= wndH && viewportRect.left <= global__WEBPACK_IMPORTED_MODULE_1__["window"].innerWidth; // stop calculations if item is not in viewport + + if (force ? false : !self.isElementInViewport) { + return; + } // calculate parallax helping variables + + + var beforeTop = Math.max(0, contT); + var beforeTopEnd = Math.max(0, contH + contT); + var afterTop = Math.max(0, -contT); + var beforeBottom = Math.max(0, contT + contH - wndH); + var beforeBottomEnd = Math.max(0, contH - (contT + contH - wndH)); + var afterBottom = Math.max(0, -contT + wndH - contH); + var fromViewportCenter = 1 - 2 * ((wndH - contT) / (wndH + contH)); // calculate on how percent of section is visible + + var visiblePercent = 1; + + if (contH < wndH) { + visiblePercent = 1 - (afterTop || beforeBottom) / contH; + } else if (beforeTopEnd <= wndH) { + visiblePercent = beforeTopEnd / wndH; + } else if (beforeBottomEnd <= wndH) { + visiblePercent = beforeBottomEnd / wndH; + } // opacity + + + if ('opacity' === self.options.type || 'scale-opacity' === self.options.type || 'scroll-opacity' === self.options.type) { + styles.transform = 'translate3d(0,0,0)'; + styles.opacity = visiblePercent; + } // scale + + + if ('scale' === self.options.type || 'scale-opacity' === self.options.type) { + var scale = 1; + + if (0 > self.options.speed) { + scale -= self.options.speed * visiblePercent; + } else { + scale += self.options.speed * (1 - visiblePercent); + } + + styles.transform = "scale(".concat(scale, ") translate3d(0,0,0)"); + } // scroll + + + if ('scroll' === self.options.type || 'scroll-opacity' === self.options.type) { + var positionY = self.parallaxScrollDistance * fromViewportCenter; // fix if parallax block in absolute position + + if ('absolute' === self.image.position) { + positionY -= contT; + } + + styles.transform = "translate3d(0,".concat(positionY, "px,0)"); + } + + self.css(self.image.$item, styles); // call onScroll event + + if (self.options.onScroll) { + self.options.onScroll.call(self, { + section: rect, + beforeTop: beforeTop, + beforeTopEnd: beforeTopEnd, + afterTop: afterTop, + beforeBottom: beforeBottom, + beforeBottomEnd: beforeBottomEnd, + afterBottom: afterBottom, + visiblePercent: visiblePercent, + fromViewportCenter: fromViewportCenter + }); + } + } + }, { + key: "onResize", + value: function onResize() { + this.coverImage(); + this.clipContainer(); + } + }]); + + return Jarallax; +}(); // global definition + + +var plugin = function plugin(items, options) { + // check for dom element + // thanks: http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object + if ('object' === (typeof HTMLElement === "undefined" ? "undefined" : _typeof(HTMLElement)) ? items instanceof HTMLElement : items && 'object' === _typeof(items) && null !== items && 1 === items.nodeType && 'string' === typeof items.nodeName) { + items = [items]; + } + + var len = items.length; + var k = 0; + var ret; + + for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + for (k; k < len; k += 1) { + if ('object' === _typeof(options) || 'undefined' === typeof options) { + if (!items[k].jarallax) { + items[k].jarallax = new Jarallax(items[k], options); + } + } else if (items[k].jarallax) { + // eslint-disable-next-line prefer-spread + ret = items[k].jarallax[options].apply(items[k].jarallax, args); + } + + if ('undefined' !== typeof ret) { + return ret; + } + } + + return items; +}; + +plugin.constructor = Jarallax; +/* harmony default export */ __webpack_exports__["default"] = (plugin); + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/public/js/vendor/jarallax/dist/jarallax.min.js b/public/js/vendor/jarallax/dist/jarallax.min.js new file mode 100644 index 0000000..50fe026 --- /dev/null +++ b/public/js/vendor/jarallax/dist/jarallax.min.js @@ -0,0 +1,7 @@ +/*! + * Name : Just Another Parallax [Jarallax] + * Version : 1.12.5 + * Author : nK + * GitHub : https://github.com/nk-o/jarallax + */!function(n){var o={};function i(e){if(o[e])return o[e].exports;var t=o[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.m=n,i.c=o,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)i.d(n,o,function(e){return t[e]}.bind(null,o));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=10)}([,,function(e,t){e.exports=function(e){"complete"===document.readyState||"interactive"===document.readyState?e.call():document.attachEvent?document.attachEvent("onreadystatechange",function(){"interactive"===document.readyState&&e.call()}):document.addEventListener&&document.addEventListener("DOMContentLoaded",e)}},function(n,e,t){(function(e){var t="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{};n.exports=t}).call(this,t(4))},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o=function(){return this}();try{o=o||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":n(window))&&(o=window)}e.exports=o},,,,,,function(e,t,n){e.exports=n(11)},function(e,t,n){"use strict";n.r(t);var o=n(2),i=n.n(o),a=n(3),r=n(12);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var s,c,u=a.window.jarallax;a.window.jarallax=r.default,a.window.jarallax.noConflict=function(){return a.window.jarallax=u,this},void 0!==a.jQuery&&((s=function(){for(var e=arguments.length,t=new Array(e),n=0;ne.length)&&(t=e.length);for(var n=0,o=new Array(t);n\n * GitHub : https://github.com/nk-o/jarallax\n */\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 10);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */,\n/* 1 */,\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (callback) {\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n // Already ready or interactive, execute callback\n callback.call();\n } else if (document.attachEvent) {\n // Old browsers\n document.attachEvent('onreadystatechange', function () {\n if (document.readyState === 'interactive') callback.call();\n });\n } else if (document.addEventListener) {\n // Modern browsers\n document.addEventListener('DOMContentLoaded', callback);\n }\n};\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var win;\n\nif (typeof window !== \"undefined\") {\n win = window;\n} else if (typeof global !== \"undefined\") {\n win = global;\n} else if (typeof self !== \"undefined\") {\n win = self;\n} else {\n win = {};\n}\n\nmodule.exports = win;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;\n\n/***/ }),\n/* 5 */,\n/* 6 */,\n/* 7 */,\n/* 8 */,\n/* 9 */,\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(11);\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);\n/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lite_ready__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jarallax_esm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n // no conflict\n\nvar oldPlugin = global__WEBPACK_IMPORTED_MODULE_1__[\"window\"].jarallax;\nglobal__WEBPACK_IMPORTED_MODULE_1__[\"window\"].jarallax = _jarallax_esm__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n\nglobal__WEBPACK_IMPORTED_MODULE_1__[\"window\"].jarallax.noConflict = function () {\n global__WEBPACK_IMPORTED_MODULE_1__[\"window\"].jarallax = oldPlugin;\n return this;\n}; // jQuery support\n\n\nif ('undefined' !== typeof global__WEBPACK_IMPORTED_MODULE_1__[\"jQuery\"]) {\n var jQueryPlugin = function jQueryPlugin() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n Array.prototype.unshift.call(args, this);\n var res = _jarallax_esm__WEBPACK_IMPORTED_MODULE_2__[\"default\"].apply(global__WEBPACK_IMPORTED_MODULE_1__[\"window\"], args);\n return 'object' !== _typeof(res) ? res : this;\n };\n\n jQueryPlugin.constructor = _jarallax_esm__WEBPACK_IMPORTED_MODULE_2__[\"default\"].constructor; // no conflict\n\n var oldJqPlugin = global__WEBPACK_IMPORTED_MODULE_1__[\"jQuery\"].fn.jarallax;\n global__WEBPACK_IMPORTED_MODULE_1__[\"jQuery\"].fn.jarallax = jQueryPlugin;\n\n global__WEBPACK_IMPORTED_MODULE_1__[\"jQuery\"].fn.jarallax.noConflict = function () {\n global__WEBPACK_IMPORTED_MODULE_1__[\"jQuery\"].fn.jarallax = oldJqPlugin;\n return this;\n };\n} // data-jarallax initialization\n\n\nlite_ready__WEBPACK_IMPORTED_MODULE_0___default()(function () {\n Object(_jarallax_esm__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(document.querySelectorAll('[data-jarallax]'));\n});\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);\n/* harmony import */ var lite_ready__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lite_ready__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);\n/* harmony import */ var global__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_1__);\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\nvar navigator = global__WEBPACK_IMPORTED_MODULE_1__[\"window\"].navigator;\nvar isIE = -1 < navigator.userAgent.indexOf('MSIE ') || -1 < navigator.userAgent.indexOf('Trident/') || -1 < navigator.userAgent.indexOf('Edge/');\nvar isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n\nvar supportTransform = function () {\n var prefixes = 'transform WebkitTransform MozTransform'.split(' ');\n var div = document.createElement('div');\n\n for (var i = 0; i < prefixes.length; i += 1) {\n if (div && div.style[prefixes[i]] !== undefined) {\n return prefixes[i];\n }\n }\n\n return false;\n}();\n\nvar $deviceHelper;\n/**\n * The most popular mobile browsers changes height after page scroll and this generates image jumping.\n * We can fix it using this workaround with vh units.\n */\n\nfunction getDeviceHeight() {\n if (!$deviceHelper && document.body) {\n $deviceHelper = document.createElement('div');\n $deviceHelper.style.cssText = 'position: fixed; top: -9999px; left: 0; height: 100vh; width: 0;';\n document.body.appendChild($deviceHelper);\n }\n\n return ($deviceHelper ? $deviceHelper.clientHeight : 0) || global__WEBPACK_IMPORTED_MODULE_1__[\"window\"].innerHeight || document.documentElement.clientHeight;\n} // Window height data\n\n\nvar wndH;\n\nfunction updateWndVars() {\n if (isMobile) {\n wndH = getDeviceHeight();\n } else {\n wndH = global__WEBPACK_IMPORTED_MODULE_1__[\"window\"].innerHeight || document.documentElement.clientHeight;\n }\n}\n\nupdateWndVars();\nglobal__WEBPACK_IMPORTED_MODULE_1__[\"window\"].addEventListener('resize', updateWndVars);\nglobal__WEBPACK_IMPORTED_MODULE_1__[\"window\"].addEventListener('orientationchange', updateWndVars);\nglobal__WEBPACK_IMPORTED_MODULE_1__[\"window\"].addEventListener('load', updateWndVars);\nlite_ready__WEBPACK_IMPORTED_MODULE_0___default()(function () {\n updateWndVars({\n type: 'dom-loaded'\n });\n}); // list with all jarallax instances\n// need to render all in one scroll/resize event\n\nvar jarallaxList = []; // get all parents of the element.\n\nfunction getParents(elem) {\n var parents = [];\n\n while (null !== elem.parentElement) {\n elem = elem.parentElement;\n\n if (1 === elem.nodeType) {\n parents.push(elem);\n }\n }\n\n return parents;\n}\n\nfunction updateParallax() {\n if (!jarallaxList.length) {\n return;\n }\n\n jarallaxList.forEach(function (data, k) {\n var instance = data.instance,\n oldData = data.oldData;\n var clientRect = instance.$item.getBoundingClientRect();\n var newData = {\n width: clientRect.width,\n height: clientRect.height,\n top: clientRect.top,\n bottom: clientRect.bottom,\n wndW: global__WEBPACK_IMPORTED_MODULE_1__[\"window\"].innerWidth,\n wndH: wndH\n };\n var isResized = !oldData || oldData.wndW !== newData.wndW || oldData.wndH !== newData.wndH || oldData.width !== newData.width || oldData.height !== newData.height;\n var isScrolled = isResized || !oldData || oldData.top !== newData.top || oldData.bottom !== newData.bottom;\n jarallaxList[k].oldData = newData;\n\n if (isResized) {\n instance.onResize();\n }\n\n if (isScrolled) {\n instance.onScroll();\n }\n });\n global__WEBPACK_IMPORTED_MODULE_1__[\"window\"].requestAnimationFrame(updateParallax);\n}\n\nvar instanceID = 0; // Jarallax class\n\nvar Jarallax = /*#__PURE__*/function () {\n function Jarallax(item, userOptions) {\n _classCallCheck(this, Jarallax);\n\n var self = this;\n self.instanceID = instanceID;\n instanceID += 1;\n self.$item = item;\n self.defaults = {\n type: 'scroll',\n // type of parallax: scroll, scale, opacity, scale-opacity, scroll-opacity\n speed: 0.5,\n // supported value from -1 to 2\n imgSrc: null,\n imgElement: '.jarallax-img',\n imgSize: 'cover',\n imgPosition: '50% 50%',\n imgRepeat: 'no-repeat',\n // supported only for background, not for tag\n keepImg: false,\n // keep tag in it's default place\n elementInViewport: null,\n zIndex: -100,\n disableParallax: false,\n disableVideo: false,\n // video\n videoSrc: null,\n videoStartTime: 0,\n videoEndTime: 0,\n videoVolume: 0,\n videoLoop: true,\n videoPlayOnlyVisible: true,\n videoLazyLoading: true,\n // events\n onScroll: null,\n // function(calculations) {}\n onInit: null,\n // function() {}\n onDestroy: null,\n // function() {}\n onCoverImage: null // function() {}\n\n }; // prepare data-options\n\n var dataOptions = self.$item.dataset || {};\n var pureDataOptions = {};\n Object.keys(dataOptions).forEach(function (key) {\n var loweCaseOption = key.substr(0, 1).toLowerCase() + key.substr(1);\n\n if (loweCaseOption && 'undefined' !== typeof self.defaults[loweCaseOption]) {\n pureDataOptions[loweCaseOption] = dataOptions[key];\n }\n });\n self.options = self.extend({}, self.defaults, pureDataOptions, userOptions);\n self.pureOptions = self.extend({}, self.options); // prepare 'true' and 'false' strings to boolean\n\n Object.keys(self.options).forEach(function (key) {\n if ('true' === self.options[key]) {\n self.options[key] = true;\n } else if ('false' === self.options[key]) {\n self.options[key] = false;\n }\n }); // fix speed option [-1.0, 2.0]\n\n self.options.speed = Math.min(2, Math.max(-1, parseFloat(self.options.speed))); // prepare disableParallax callback\n\n if ('string' === typeof self.options.disableParallax) {\n self.options.disableParallax = new RegExp(self.options.disableParallax);\n }\n\n if (self.options.disableParallax instanceof RegExp) {\n var disableParallaxRegexp = self.options.disableParallax;\n\n self.options.disableParallax = function () {\n return disableParallaxRegexp.test(navigator.userAgent);\n };\n }\n\n if ('function' !== typeof self.options.disableParallax) {\n self.options.disableParallax = function () {\n return false;\n };\n } // prepare disableVideo callback\n\n\n if ('string' === typeof self.options.disableVideo) {\n self.options.disableVideo = new RegExp(self.options.disableVideo);\n }\n\n if (self.options.disableVideo instanceof RegExp) {\n var disableVideoRegexp = self.options.disableVideo;\n\n self.options.disableVideo = function () {\n return disableVideoRegexp.test(navigator.userAgent);\n };\n }\n\n if ('function' !== typeof self.options.disableVideo) {\n self.options.disableVideo = function () {\n return false;\n };\n } // custom element to check if parallax in viewport\n\n\n var elementInVP = self.options.elementInViewport; // get first item from array\n\n if (elementInVP && 'object' === _typeof(elementInVP) && 'undefined' !== typeof elementInVP.length) {\n var _elementInVP = elementInVP;\n\n var _elementInVP2 = _slicedToArray(_elementInVP, 1);\n\n elementInVP = _elementInVP2[0];\n } // check if dom element\n\n\n if (!(elementInVP instanceof Element)) {\n elementInVP = null;\n }\n\n self.options.elementInViewport = elementInVP;\n self.image = {\n src: self.options.imgSrc || null,\n $container: null,\n useImgTag: false,\n // position fixed is needed for the most of browsers because absolute position have glitches\n // on MacOS with smooth scroll there is a huge lags with absolute position - https://github.com/nk-o/jarallax/issues/75\n // on mobile devices better scrolled with absolute position\n position: /iPad|iPhone|iPod|Android/.test(navigator.userAgent) ? 'absolute' : 'fixed'\n };\n\n if (self.initImg() && self.canInitParallax()) {\n self.init();\n }\n } // add styles to element\n // eslint-disable-next-line class-methods-use-this\n\n\n _createClass(Jarallax, [{\n key: \"css\",\n value: function css(el, styles) {\n if ('string' === typeof styles) {\n return global__WEBPACK_IMPORTED_MODULE_1__[\"window\"].getComputedStyle(el).getPropertyValue(styles);\n } // add transform property with vendor prefix\n\n\n if (styles.transform && supportTransform) {\n styles[supportTransform] = styles.transform;\n }\n\n Object.keys(styles).forEach(function (key) {\n el.style[key] = styles[key];\n });\n return el;\n } // Extend like jQuery.extend\n // eslint-disable-next-line class-methods-use-this\n\n }, {\n key: \"extend\",\n value: function extend(out) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n out = out || {};\n Object.keys(args).forEach(function (i) {\n if (!args[i]) {\n return;\n }\n\n Object.keys(args[i]).forEach(function (key) {\n out[key] = args[i][key];\n });\n });\n return out;\n } // get window size and scroll position. Useful for extensions\n // eslint-disable-next-line class-methods-use-this\n\n }, {\n key: \"getWindowData\",\n value: function getWindowData() {\n return {\n width: global__WEBPACK_IMPORTED_MODULE_1__[\"window\"].innerWidth || document.documentElement.clientWidth,\n height: wndH,\n y: document.documentElement.scrollTop\n };\n } // Jarallax functions\n\n }, {\n key: \"initImg\",\n value: function initImg() {\n var self = this; // find image element\n\n var $imgElement = self.options.imgElement;\n\n if ($imgElement && 'string' === typeof $imgElement) {\n $imgElement = self.$item.querySelector($imgElement);\n } // check if dom element\n\n\n if (!($imgElement instanceof Element)) {\n if (self.options.imgSrc) {\n $imgElement = new Image();\n $imgElement.src = self.options.imgSrc;\n } else {\n $imgElement = null;\n }\n }\n\n if ($imgElement) {\n if (self.options.keepImg) {\n self.image.$item = $imgElement.cloneNode(true);\n } else {\n self.image.$item = $imgElement;\n self.image.$itemParent = $imgElement.parentNode;\n }\n\n self.image.useImgTag = true;\n } // true if there is img tag\n\n\n if (self.image.$item) {\n return true;\n } // get image src\n\n\n if (null === self.image.src) {\n self.image.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\n self.image.bgImage = self.css(self.$item, 'background-image');\n }\n\n return !(!self.image.bgImage || 'none' === self.image.bgImage);\n }\n }, {\n key: \"canInitParallax\",\n value: function canInitParallax() {\n return supportTransform && !this.options.disableParallax();\n }\n }, {\n key: \"init\",\n value: function init() {\n var self = this;\n var containerStyles = {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n overflow: 'hidden'\n };\n var imageStyles = {\n pointerEvents: 'none',\n transformStyle: 'preserve-3d',\n backfaceVisibility: 'hidden',\n willChange: 'transform,opacity'\n };\n\n if (!self.options.keepImg) {\n // save default user styles\n var curStyle = self.$item.getAttribute('style');\n\n if (curStyle) {\n self.$item.setAttribute('data-jarallax-original-styles', curStyle);\n }\n\n if (self.image.useImgTag) {\n var curImgStyle = self.image.$item.getAttribute('style');\n\n if (curImgStyle) {\n self.image.$item.setAttribute('data-jarallax-original-styles', curImgStyle);\n }\n }\n } // set relative position and z-index to the parent\n\n\n if ('static' === self.css(self.$item, 'position')) {\n self.css(self.$item, {\n position: 'relative'\n });\n }\n\n if ('auto' === self.css(self.$item, 'z-index')) {\n self.css(self.$item, {\n zIndex: 0\n });\n } // container for parallax image\n\n\n self.image.$container = document.createElement('div');\n self.css(self.image.$container, containerStyles);\n self.css(self.image.$container, {\n 'z-index': self.options.zIndex\n }); // fix for IE https://github.com/nk-o/jarallax/issues/110\n\n if (isIE) {\n self.css(self.image.$container, {\n opacity: 0.9999\n });\n }\n\n self.image.$container.setAttribute('id', \"jarallax-container-\".concat(self.instanceID));\n self.$item.appendChild(self.image.$container); // use img tag\n\n if (self.image.useImgTag) {\n imageStyles = self.extend({\n 'object-fit': self.options.imgSize,\n 'object-position': self.options.imgPosition,\n // support for plugin https://github.com/bfred-it/object-fit-images\n 'font-family': \"object-fit: \".concat(self.options.imgSize, \"; object-position: \").concat(self.options.imgPosition, \";\"),\n 'max-width': 'none'\n }, containerStyles, imageStyles); // use div with background image\n } else {\n self.image.$item = document.createElement('div');\n\n if (self.image.src) {\n imageStyles = self.extend({\n 'background-position': self.options.imgPosition,\n 'background-size': self.options.imgSize,\n 'background-repeat': self.options.imgRepeat,\n 'background-image': self.image.bgImage || \"url(\\\"\".concat(self.image.src, \"\\\")\")\n }, containerStyles, imageStyles);\n }\n }\n\n if ('opacity' === self.options.type || 'scale' === self.options.type || 'scale-opacity' === self.options.type || 1 === self.options.speed) {\n self.image.position = 'absolute';\n } // 1. Check if one of parents have transform style (without this check, scroll transform will be inverted if used parallax with position fixed)\n // discussion - https://github.com/nk-o/jarallax/issues/9\n // 2. Check if parents have overflow scroll\n\n\n if ('fixed' === self.image.position) {\n var $parents = getParents(self.$item).filter(function (el) {\n var styles = global__WEBPACK_IMPORTED_MODULE_1__[\"window\"].getComputedStyle(el);\n var parentTransform = styles['-webkit-transform'] || styles['-moz-transform'] || styles.transform;\n var overflowRegex = /(auto|scroll)/;\n return parentTransform && 'none' !== parentTransform || overflowRegex.test(styles.overflow + styles['overflow-y'] + styles['overflow-x']);\n });\n self.image.position = $parents.length ? 'absolute' : 'fixed';\n } // add position to parallax block\n\n\n imageStyles.position = self.image.position; // insert parallax image\n\n self.css(self.image.$item, imageStyles);\n self.image.$container.appendChild(self.image.$item); // set initial position and size\n\n self.onResize();\n self.onScroll(true); // call onInit event\n\n if (self.options.onInit) {\n self.options.onInit.call(self);\n } // remove default user background\n\n\n if ('none' !== self.css(self.$item, 'background-image')) {\n self.css(self.$item, {\n 'background-image': 'none'\n });\n }\n\n self.addToParallaxList();\n } // add to parallax instances list\n\n }, {\n key: \"addToParallaxList\",\n value: function addToParallaxList() {\n jarallaxList.push({\n instance: this\n });\n\n if (1 === jarallaxList.length) {\n global__WEBPACK_IMPORTED_MODULE_1__[\"window\"].requestAnimationFrame(updateParallax);\n }\n } // remove from parallax instances list\n\n }, {\n key: \"removeFromParallaxList\",\n value: function removeFromParallaxList() {\n var self = this;\n jarallaxList.forEach(function (data, key) {\n if (data.instance.instanceID === self.instanceID) {\n jarallaxList.splice(key, 1);\n }\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var self = this;\n self.removeFromParallaxList(); // return styles on container as before jarallax init\n\n var originalStylesTag = self.$item.getAttribute('data-jarallax-original-styles');\n self.$item.removeAttribute('data-jarallax-original-styles'); // null occurs if there is no style tag before jarallax init\n\n if (!originalStylesTag) {\n self.$item.removeAttribute('style');\n } else {\n self.$item.setAttribute('style', originalStylesTag);\n }\n\n if (self.image.useImgTag) {\n // return styles on img tag as before jarallax init\n var originalStylesImgTag = self.image.$item.getAttribute('data-jarallax-original-styles');\n self.image.$item.removeAttribute('data-jarallax-original-styles'); // null occurs if there is no style tag before jarallax init\n\n if (!originalStylesImgTag) {\n self.image.$item.removeAttribute('style');\n } else {\n self.image.$item.setAttribute('style', originalStylesTag);\n } // move img tag to its default position\n\n\n if (self.image.$itemParent) {\n self.image.$itemParent.appendChild(self.image.$item);\n }\n } // remove additional dom elements\n\n\n if (self.$clipStyles) {\n self.$clipStyles.parentNode.removeChild(self.$clipStyles);\n }\n\n if (self.image.$container) {\n self.image.$container.parentNode.removeChild(self.image.$container);\n } // call onDestroy event\n\n\n if (self.options.onDestroy) {\n self.options.onDestroy.call(self);\n } // delete jarallax from item\n\n\n delete self.$item.jarallax;\n } // it will remove some image overlapping\n // overlapping occur due to an image position fixed inside absolute position element\n\n }, {\n key: \"clipContainer\",\n value: function clipContainer() {\n // needed only when background in fixed position\n if ('fixed' !== this.image.position) {\n return;\n }\n\n var self = this;\n var rect = self.image.$container.getBoundingClientRect();\n var width = rect.width,\n height = rect.height;\n\n if (!self.$clipStyles) {\n self.$clipStyles = document.createElement('style');\n self.$clipStyles.setAttribute('type', 'text/css');\n self.$clipStyles.setAttribute('id', \"jarallax-clip-\".concat(self.instanceID));\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(self.$clipStyles);\n } // clip is used for old browsers.\n // clip-path for modern browsers (also fixes Safari v14 bug https://github.com/nk-o/jarallax/issues/181 ).\n\n\n var styles = \"#jarallax-container-\".concat(self.instanceID, \" {\\n clip: rect(0 \").concat(width, \"px \").concat(height, \"px 0);\\n clip: rect(0, \").concat(width, \"px, \").concat(height, \"px, 0);\\n -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);\\n clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);\\n }\"); // add clip styles inline (this method need for support IE8 and less browsers)\n\n if (self.$clipStyles.styleSheet) {\n self.$clipStyles.styleSheet.cssText = styles;\n } else {\n self.$clipStyles.innerHTML = styles;\n }\n }\n }, {\n key: \"coverImage\",\n value: function coverImage() {\n var self = this;\n var rect = self.image.$container.getBoundingClientRect();\n var contH = rect.height;\n var speed = self.options.speed;\n var isScroll = 'scroll' === self.options.type || 'scroll-opacity' === self.options.type;\n var scrollDist = 0;\n var resultH = contH;\n var resultMT = 0; // scroll parallax\n\n if (isScroll) {\n // scroll distance and height for image\n if (0 > speed) {\n scrollDist = speed * Math.max(contH, wndH);\n\n if (wndH < contH) {\n scrollDist -= speed * (contH - wndH);\n }\n } else {\n scrollDist = speed * (contH + wndH);\n } // size for scroll parallax\n\n\n if (1 < speed) {\n resultH = Math.abs(scrollDist - wndH);\n } else if (0 > speed) {\n resultH = scrollDist / speed + Math.abs(scrollDist);\n } else {\n resultH += (wndH - contH) * (1 - speed);\n }\n\n scrollDist /= 2;\n } // store scroll distance\n\n\n self.parallaxScrollDistance = scrollDist; // vertical center\n\n if (isScroll) {\n resultMT = (wndH - resultH) / 2;\n } else {\n resultMT = (contH - resultH) / 2;\n } // apply result to item\n\n\n self.css(self.image.$item, {\n height: \"\".concat(resultH, \"px\"),\n marginTop: \"\".concat(resultMT, \"px\"),\n left: 'fixed' === self.image.position ? \"\".concat(rect.left, \"px\") : '0',\n width: \"\".concat(rect.width, \"px\")\n }); // call onCoverImage event\n\n if (self.options.onCoverImage) {\n self.options.onCoverImage.call(self);\n } // return some useful data. Used in the video cover function\n\n\n return {\n image: {\n height: resultH,\n marginTop: resultMT\n },\n container: rect\n };\n }\n }, {\n key: \"isVisible\",\n value: function isVisible() {\n return this.isElementInViewport || false;\n }\n }, {\n key: \"onScroll\",\n value: function onScroll(force) {\n var self = this;\n var rect = self.$item.getBoundingClientRect();\n var contT = rect.top;\n var contH = rect.height;\n var styles = {}; // check if in viewport\n\n var viewportRect = rect;\n\n if (self.options.elementInViewport) {\n viewportRect = self.options.elementInViewport.getBoundingClientRect();\n }\n\n self.isElementInViewport = 0 <= viewportRect.bottom && 0 <= viewportRect.right && viewportRect.top <= wndH && viewportRect.left <= global__WEBPACK_IMPORTED_MODULE_1__[\"window\"].innerWidth; // stop calculations if item is not in viewport\n\n if (force ? false : !self.isElementInViewport) {\n return;\n } // calculate parallax helping variables\n\n\n var beforeTop = Math.max(0, contT);\n var beforeTopEnd = Math.max(0, contH + contT);\n var afterTop = Math.max(0, -contT);\n var beforeBottom = Math.max(0, contT + contH - wndH);\n var beforeBottomEnd = Math.max(0, contH - (contT + contH - wndH));\n var afterBottom = Math.max(0, -contT + wndH - contH);\n var fromViewportCenter = 1 - 2 * ((wndH - contT) / (wndH + contH)); // calculate on how percent of section is visible\n\n var visiblePercent = 1;\n\n if (contH < wndH) {\n visiblePercent = 1 - (afterTop || beforeBottom) / contH;\n } else if (beforeTopEnd <= wndH) {\n visiblePercent = beforeTopEnd / wndH;\n } else if (beforeBottomEnd <= wndH) {\n visiblePercent = beforeBottomEnd / wndH;\n } // opacity\n\n\n if ('opacity' === self.options.type || 'scale-opacity' === self.options.type || 'scroll-opacity' === self.options.type) {\n styles.transform = 'translate3d(0,0,0)';\n styles.opacity = visiblePercent;\n } // scale\n\n\n if ('scale' === self.options.type || 'scale-opacity' === self.options.type) {\n var scale = 1;\n\n if (0 > self.options.speed) {\n scale -= self.options.speed * visiblePercent;\n } else {\n scale += self.options.speed * (1 - visiblePercent);\n }\n\n styles.transform = \"scale(\".concat(scale, \") translate3d(0,0,0)\");\n } // scroll\n\n\n if ('scroll' === self.options.type || 'scroll-opacity' === self.options.type) {\n var positionY = self.parallaxScrollDistance * fromViewportCenter; // fix if parallax block in absolute position\n\n if ('absolute' === self.image.position) {\n positionY -= contT;\n }\n\n styles.transform = \"translate3d(0,\".concat(positionY, \"px,0)\");\n }\n\n self.css(self.image.$item, styles); // call onScroll event\n\n if (self.options.onScroll) {\n self.options.onScroll.call(self, {\n section: rect,\n beforeTop: beforeTop,\n beforeTopEnd: beforeTopEnd,\n afterTop: afterTop,\n beforeBottom: beforeBottom,\n beforeBottomEnd: beforeBottomEnd,\n afterBottom: afterBottom,\n visiblePercent: visiblePercent,\n fromViewportCenter: fromViewportCenter\n });\n }\n }\n }, {\n key: \"onResize\",\n value: function onResize() {\n this.coverImage();\n this.clipContainer();\n }\n }]);\n\n return Jarallax;\n}(); // global definition\n\n\nvar plugin = function plugin(items, options) {\n // check for dom element\n // thanks: http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object\n if ('object' === (typeof HTMLElement === \"undefined\" ? \"undefined\" : _typeof(HTMLElement)) ? items instanceof HTMLElement : items && 'object' === _typeof(items) && null !== items && 1 === items.nodeType && 'string' === typeof items.nodeName) {\n items = [items];\n }\n\n var len = items.length;\n var k = 0;\n var ret;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n for (k; k < len; k += 1) {\n if ('object' === _typeof(options) || 'undefined' === typeof options) {\n if (!items[k].jarallax) {\n items[k].jarallax = new Jarallax(items[k], options);\n }\n } else if (items[k].jarallax) {\n // eslint-disable-next-line prefer-spread\n ret = items[k].jarallax[options].apply(items[k].jarallax, args);\n }\n\n if ('undefined' !== typeof ret) {\n return ret;\n }\n }\n\n return items;\n};\n\nplugin.constructor = Jarallax;\n/* harmony default export */ __webpack_exports__[\"default\"] = (plugin);\n\n/***/ })\n/******/ ]);"]} \ No newline at end of file diff --git a/public/js/vendor/jarallax/index.js b/public/js/vendor/jarallax/index.js new file mode 100644 index 0000000..370b79e --- /dev/null +++ b/public/js/vendor/jarallax/index.js @@ -0,0 +1,13 @@ +const jarallax = require( './src/jarallax.esm' ).default; +const jarallaxVideo = require( './src/jarallax-video.esm' ).default; +const jarallaxElement = require( './src/jarallax-element.esm' ).default; + +module.exports = { + jarallax, + jarallaxElement() { + return jarallaxElement( jarallax ); + }, + jarallaxVideo() { + return jarallaxVideo( jarallax ); + }, +}; diff --git a/public/js/vendor/jarallax/package.json b/public/js/vendor/jarallax/package.json new file mode 100644 index 0000000..e60ec9d --- /dev/null +++ b/public/js/vendor/jarallax/package.json @@ -0,0 +1,106 @@ +{ + "_args": [ + [ + "jarallax@1.12.5", + "/Users/rokaux/Sites/around-new" + ] + ], + "_from": "jarallax@1.12.5", + "_id": "jarallax@1.12.5", + "_inBundle": false, + "_integrity": "sha512-UAroxzGnU83DEx5/LbDOHwudG7ovIsX+l15e6zAuKAmYX+rk2gD1Tf+4Ew2LyIq0ImESTIbvJposrfkqKRejPw==", + "_location": "/jarallax", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "jarallax@1.12.5", + "name": "jarallax", + "escapedName": "jarallax", + "rawSpec": "1.12.5", + "saveSpec": null, + "fetchSpec": "1.12.5" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/jarallax/-/jarallax-1.12.5.tgz", + "_spec": "1.12.5", + "_where": "/Users/rokaux/Sites/around-new", + "author": { + "name": "nK", + "email": "https://nkdev.info" + }, + "bugs": { + "url": "https://github.com/nk-o/jarallax/issues" + }, + "dependencies": { + "global": "^4.4.0", + "lite-ready": "^1.0.4", + "video-worker": "^1.1.10" + }, + "description": "Smooth parallax scrolling effect for background images, videos and inline elements. Code in pure JavaScript with NO dependencies + jQuery supported. Youtube, Vimeo and Local Videos parallax supported.", + "devDependencies": { + "@babel/core": "^7.12.9", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/preset-env": "^7.12.7", + "@babel/register": "^7.12.1", + "@types/jquery": "^3.5.4", + "babel-loader": "^8.2.2", + "browser-sync": "^2.26.13", + "del": "^6.0.0", + "eslint-config-nk": "^0.0.17", + "gulp": "^4.0.2", + "gulp-header": "^2.0.9", + "gulp-if": "^3.0.0", + "gulp-load-plugins": "^2.0.6", + "gulp-plumber": "^1.2.1", + "gulp-rename": "^2.0.0", + "gulp-sourcemaps": "^3.0.0", + "gulp-uglify": "^3.0.2", + "gulp-watch": "^5.0.1", + "husky": "^4.3.0", + "jquery": "^3.5.1", + "json-file": "^0.1.0", + "lint-staged": "^10.5.2", + "micromatch": "^4.0.2", + "node-qunit-phantomjs": "^2.1.1", + "object-fit-images": "^3.2.4", + "qunit": "^2.12.0", + "vinyl-named": "^1.1.0", + "webpack-stream": "^6.1.1" + }, + "files": [ + "src", + "dist" + ], + "homepage": "https://github.com/nk-o/jarallax", + "keywords": [ + "parallax", + "image", + "background", + "youtube", + "vimeo", + "video" + ], + "license": "MIT", + "main": "index.js", + "name": "jarallax", + "repository": { + "type": "git", + "url": "git://github.com/nk-o/jarallax.git" + }, + "scripts": { + "build": "gulp build", + "dev": "gulp dev", + "js-lint": "eslint src/ tests/", + "js-lint-fix": "eslint --fix src/ tests/", + "lint-staged": "lint-staged", + "test": "gulp test" + }, + "types": "./typings/index.d.ts", + "version": "1.12.5" +} diff --git a/public/js/vendor/jarallax/src/jarallax-element.esm.js b/public/js/vendor/jarallax/src/jarallax-element.esm.js new file mode 100644 index 0000000..f60899a --- /dev/null +++ b/public/js/vendor/jarallax/src/jarallax-element.esm.js @@ -0,0 +1,90 @@ +/* eslint no-case-declarations: "off" */ +import global from 'global'; + +export default function jarallaxElement( jarallax = global.jarallax ) { + if ( 'undefined' === typeof jarallax ) { + return; + } + + const Jarallax = jarallax.constructor; + + // redefine default methods + [ + 'initImg', + 'canInitParallax', + 'init', + 'destroy', + 'clipContainer', + 'coverImage', + 'isVisible', + 'onScroll', + 'onResize', + ].forEach( ( key ) => { + const def = Jarallax.prototype[ key ]; + Jarallax.prototype[ key ] = function( ...args ) { + const self = this; + + if ( 'initImg' === key && null !== self.$item.getAttribute( 'data-jarallax-element' ) ) { + self.options.type = 'element'; + self.pureOptions.speed = self.$item.getAttribute( 'data-jarallax-element' ) || self.pureOptions.speed; + } + if ( 'element' !== self.options.type ) { + return def.apply( self, args ); + } + + self.pureOptions.threshold = self.$item.getAttribute( 'data-threshold' ) || ''; + + switch ( key ) { + case 'init': + const speedArr = self.pureOptions.speed.split( ' ' ); + self.options.speed = self.pureOptions.speed || 0; + self.options.speedY = speedArr[ 0 ] ? parseFloat( speedArr[ 0 ] ) : 0; + self.options.speedX = speedArr[ 1 ] ? parseFloat( speedArr[ 1 ] ) : 0; + + const thresholdArr = self.pureOptions.threshold.split( ' ' ); + self.options.thresholdY = thresholdArr[ 0 ] ? parseFloat( thresholdArr[ 0 ] ) : null; + self.options.thresholdX = thresholdArr[ 1 ] ? parseFloat( thresholdArr[ 1 ] ) : null; + + def.apply( self, args ); + + // restore background image if available. + const originalStylesTag = self.$item.getAttribute( 'data-jarallax-original-styles' ); + if ( originalStylesTag ) { + self.$item.setAttribute( 'style', originalStylesTag ); + } + + return true; + case 'onResize': + const defTransform = self.css( self.$item, 'transform' ); + self.css( self.$item, { transform: '' } ); + const rect = self.$item.getBoundingClientRect(); + self.itemData = { + width: rect.width, + height: rect.height, + y: rect.top + self.getWindowData().y, + x: rect.left, + }; + self.css( self.$item, { transform: defTransform } ); + break; + case 'onScroll': + const wnd = self.getWindowData(); + const centerPercent = ( wnd.y + wnd.height / 2 - self.itemData.y - self.itemData.height / 2 ) / ( wnd.height / 2 ); + const moveY = centerPercent * self.options.speedY; + const moveX = centerPercent * self.options.speedX; + let my = moveY; + let mx = moveX; + if ( null !== self.options.thresholdY && moveY > self.options.thresholdY ) my = 0; + if ( null !== self.options.thresholdX && moveX > self.options.thresholdX ) mx = 0; + self.css( self.$item, { transform: `translate3d(${ mx }px,${ my }px,0)` } ); + break; + case 'initImg': + case 'isVisible': + case 'clipContainer': + case 'coverImage': + return true; + // no default + } + return def.apply( self, args ); + }; + } ); +} diff --git a/public/js/vendor/jarallax/src/jarallax-element.js b/public/js/vendor/jarallax/src/jarallax-element.js new file mode 100644 index 0000000..520f915 --- /dev/null +++ b/public/js/vendor/jarallax/src/jarallax-element.js @@ -0,0 +1,13 @@ +import domReady from 'lite-ready'; +import global from 'global'; + +import jarallaxElement from './jarallax-element.esm'; + +jarallaxElement(); + +// data-jarallax-element initialization +domReady( () => { + if ( 'undefined' !== typeof global.jarallax ) { + global.jarallax( document.querySelectorAll( '[data-jarallax-element]' ) ); + } +} ); diff --git a/public/js/vendor/jarallax/src/jarallax-video.esm.js b/public/js/vendor/jarallax/src/jarallax-video.esm.js new file mode 100644 index 0000000..017ef3e --- /dev/null +++ b/public/js/vendor/jarallax/src/jarallax-video.esm.js @@ -0,0 +1,267 @@ +import VideoWorker from 'video-worker'; +import global from 'global'; + +export default function jarallaxVideo( jarallax = global.jarallax ) { + if ( 'undefined' === typeof jarallax ) { + return; + } + + const Jarallax = jarallax.constructor; + + // append video after when block will be visible. + const defOnScroll = Jarallax.prototype.onScroll; + Jarallax.prototype.onScroll = function() { + const self = this; + + defOnScroll.apply( self ); + + const isReady = ! self.isVideoInserted + && self.video + && ( ! self.options.videoLazyLoading || self.isElementInViewport ) + && ! self.options.disableVideo(); + + if ( isReady ) { + self.isVideoInserted = true; + + self.video.getVideo( ( video ) => { + const $parent = video.parentNode; + self.css( video, { + position: self.image.position, + top: '0px', + left: '0px', + right: '0px', + bottom: '0px', + width: '100%', + height: '100%', + maxWidth: 'none', + maxHeight: 'none', + pointerEvents: 'none', + transformStyle: 'preserve-3d', + backfaceVisibility: 'hidden', + willChange: 'transform,opacity', + margin: 0, + zIndex: -1, + } ); + self.$video = video; + + // add Poster attribute to self-hosted video + if ( 'local' === self.video.type ) { + if ( self.image.src ) { + self.$video.setAttribute( 'poster', self.image.src ); + } else if ( self.image.$item && 'IMG' === self.image.$item.tagName && self.image.$item.src ) { + self.$video.setAttribute( 'poster', self.image.$item.src ); + } + } + + // insert video tag + self.image.$container.appendChild( video ); + + // remove parent video element (created by VideoWorker) + $parent.parentNode.removeChild( $parent ); + } ); + } + }; + + // cover video + const defCoverImage = Jarallax.prototype.coverImage; + Jarallax.prototype.coverImage = function() { + const self = this; + const imageData = defCoverImage.apply( self ); + const node = self.image.$item ? self.image.$item.nodeName : false; + + if ( imageData && self.video && node && ( 'IFRAME' === node || 'VIDEO' === node ) ) { + let h = imageData.image.height; + let w = ( h * self.image.width ) / self.image.height; + let ml = ( imageData.container.width - w ) / 2; + let mt = imageData.image.marginTop; + + if ( imageData.container.width > w ) { + w = imageData.container.width; + h = ( w * self.image.height ) / self.image.width; + ml = 0; + mt += ( imageData.image.height - h ) / 2; + } + + // add video height over than need to hide controls + if ( 'IFRAME' === node ) { + h += 400; + mt -= 200; + } + + self.css( self.$video, { + width: `${ w }px`, + marginLeft: `${ ml }px`, + height: `${ h }px`, + marginTop: `${ mt }px`, + } ); + } + + return imageData; + }; + + // init video + const defInitImg = Jarallax.prototype.initImg; + Jarallax.prototype.initImg = function() { + const self = this; + const defaultResult = defInitImg.apply( self ); + + if ( ! self.options.videoSrc ) { + self.options.videoSrc = self.$item.getAttribute( 'data-jarallax-video' ) || null; + } + + if ( self.options.videoSrc ) { + self.defaultInitImgResult = defaultResult; + return true; + } + + return defaultResult; + }; + + const defCanInitParallax = Jarallax.prototype.canInitParallax; + Jarallax.prototype.canInitParallax = function() { + const self = this; + let defaultResult = defCanInitParallax.apply( self ); + + if ( ! self.options.videoSrc ) { + return defaultResult; + } + + // Init video api + const video = new VideoWorker( self.options.videoSrc, { + autoplay: true, + loop: self.options.videoLoop, + showContols: false, + startTime: self.options.videoStartTime || 0, + endTime: self.options.videoEndTime || 0, + mute: self.options.videoVolume ? 0 : 1, + volume: self.options.videoVolume || 0, + } ); + + function resetDefaultImage() { + if ( self.image.$default_item ) { + self.image.$item = self.image.$default_item; + self.image.$item.style.display = 'block'; + + // set image width and height + self.coverImage(); + self.clipContainer(); + self.onScroll(); + } + } + + if ( video.isValid() ) { + // Force enable parallax. + // When the parallax disabled on mobile devices, we still need to display videos. + // https://github.com/nk-o/jarallax/issues/159 + if ( this.options.disableParallax() ) { + defaultResult = true; + self.image.position = 'absolute'; + self.options.type = 'scroll'; + self.options.speed = 1; + } + + // if parallax will not be inited, we can add thumbnail on background. + if ( ! defaultResult ) { + if ( ! self.defaultInitImgResult ) { + video.getImageURL( ( url ) => { + // save default user styles + const curStyle = self.$item.getAttribute( 'style' ); + if ( curStyle ) { + self.$item.setAttribute( 'data-jarallax-original-styles', curStyle ); + } + + // set new background + self.css( self.$item, { + 'background-image': `url("${ url }")`, + 'background-position': 'center', + 'background-size': 'cover', + } ); + } ); + } + + // init video + } else { + video.on( 'ready', () => { + if ( self.options.videoPlayOnlyVisible ) { + const oldOnScroll = self.onScroll; + self.onScroll = function() { + oldOnScroll.apply( self ); + if ( ! self.videoError && ( self.options.videoLoop || ( ! self.options.videoLoop && ! self.videoEnded ) ) ) { + if ( self.isVisible() ) { + video.play(); + } else { + video.pause(); + } + } + }; + } else { + video.play(); + } + } ); + video.on( 'started', () => { + self.image.$default_item = self.image.$item; + self.image.$item = self.$video; + + // set video width and height + self.image.width = self.video.videoWidth || 1280; + self.image.height = self.video.videoHeight || 720; + self.coverImage(); + self.clipContainer(); + self.onScroll(); + + // hide image + if ( self.image.$default_item ) { + self.image.$default_item.style.display = 'none'; + } + } ); + + video.on( 'ended', () => { + self.videoEnded = true; + + if ( ! self.options.videoLoop ) { + // show default image if Loop disabled. + resetDefaultImage(); + } + } ); + video.on( 'error', () => { + self.videoError = true; + + // show default image if video loading error. + resetDefaultImage(); + } ); + + self.video = video; + + // set image if not exists + if ( ! self.defaultInitImgResult ) { + // set empty image on self-hosted video if not defined + self.image.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'; + + if ( 'local' !== video.type ) { + video.getImageURL( ( url ) => { + self.image.bgImage = `url("${ url }")`; + self.init(); + } ); + + return false; + } + } + } + } + + return defaultResult; + }; + + // Destroy video parallax + const defDestroy = Jarallax.prototype.destroy; + Jarallax.prototype.destroy = function() { + const self = this; + + if ( self.image.$default_item ) { + self.image.$item = self.image.$default_item; + delete self.image.$default_item; + } + + defDestroy.apply( self ); + }; +} diff --git a/public/js/vendor/jarallax/src/jarallax-video.js b/public/js/vendor/jarallax/src/jarallax-video.js new file mode 100644 index 0000000..55a2d58 --- /dev/null +++ b/public/js/vendor/jarallax/src/jarallax-video.js @@ -0,0 +1,17 @@ +import VideoWorker from 'video-worker'; +import global from 'global'; +import domReady from 'lite-ready'; + +import jarallaxVideo from './jarallax-video.esm'; + +// add video worker globally to fallback jarallax < 1.10 versions +global.VideoWorker = global.VideoWorker || VideoWorker; + +jarallaxVideo(); + +// data-jarallax-video initialization +domReady( () => { + if ( 'undefined' !== typeof global.jarallax ) { + global.jarallax( document.querySelectorAll( '[data-jarallax-video]' ) ); + } +} ); diff --git a/public/js/vendor/jarallax/src/jarallax.css b/public/js/vendor/jarallax/src/jarallax.css new file mode 100644 index 0000000..f12cf97 --- /dev/null +++ b/public/js/vendor/jarallax/src/jarallax.css @@ -0,0 +1,15 @@ +.jarallax { + position: relative; + z-index: 0; +} +.jarallax > .jarallax-img { + position: absolute; + object-fit: cover; + /* support for plugin https://github.com/bfred-it/object-fit-images */ + font-family: 'object-fit: cover;'; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} \ No newline at end of file diff --git a/public/js/vendor/jarallax/src/jarallax.esm.js b/public/js/vendor/jarallax/src/jarallax.esm.js new file mode 100644 index 0000000..ea2a93b --- /dev/null +++ b/public/js/vendor/jarallax/src/jarallax.esm.js @@ -0,0 +1,768 @@ +import domReady from 'lite-ready'; +import { window } from 'global'; + +const { + navigator, +} = window; + +const isIE = -1 < navigator.userAgent.indexOf( 'MSIE ' ) || -1 < navigator.userAgent.indexOf( 'Trident/' ) || -1 < navigator.userAgent.indexOf( 'Edge/' ); +const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( navigator.userAgent ); + +const supportTransform = ( () => { + const prefixes = 'transform WebkitTransform MozTransform'.split( ' ' ); + const div = document.createElement( 'div' ); + for ( let i = 0; i < prefixes.length; i += 1 ) { + if ( div && div.style[ prefixes[ i ] ] !== undefined ) { + return prefixes[ i ]; + } + } + return false; +} )(); + +let $deviceHelper; + +/** + * The most popular mobile browsers changes height after page scroll and this generates image jumping. + * We can fix it using this workaround with vh units. + */ +function getDeviceHeight() { + if ( ! $deviceHelper && document.body ) { + $deviceHelper = document.createElement( 'div' ); + $deviceHelper.style.cssText = 'position: fixed; top: -9999px; left: 0; height: 100vh; width: 0;'; + document.body.appendChild( $deviceHelper ); + } + + return ( $deviceHelper ? $deviceHelper.clientHeight : 0 ) || window.innerHeight || document.documentElement.clientHeight; +} + +// Window height data +let wndH; +function updateWndVars() { + if ( isMobile ) { + wndH = getDeviceHeight(); + } else { + wndH = window.innerHeight || document.documentElement.clientHeight; + } +} +updateWndVars(); +window.addEventListener( 'resize', updateWndVars ); +window.addEventListener( 'orientationchange', updateWndVars ); +window.addEventListener( 'load', updateWndVars ); +domReady( () => { + updateWndVars( { + type: 'dom-loaded', + } ); +} ); + +// list with all jarallax instances +// need to render all in one scroll/resize event +const jarallaxList = []; + +// get all parents of the element. +function getParents( elem ) { + const parents = []; + + while ( null !== elem.parentElement ) { + elem = elem.parentElement; + + if ( 1 === elem.nodeType ) { + parents.push( elem ); + } + } + + return parents; +} + +function updateParallax() { + if ( ! jarallaxList.length ) { + return; + } + + jarallaxList.forEach( ( data, k ) => { + const { + instance, + oldData, + } = data; + + const clientRect = instance.$item.getBoundingClientRect(); + + const newData = { + width: clientRect.width, + height: clientRect.height, + top: clientRect.top, + bottom: clientRect.bottom, + wndW: window.innerWidth, + wndH, + }; + + const isResized = ! oldData + || oldData.wndW !== newData.wndW + || oldData.wndH !== newData.wndH + || oldData.width !== newData.width + || oldData.height !== newData.height; + const isScrolled = isResized + || ! oldData + || oldData.top !== newData.top + || oldData.bottom !== newData.bottom; + + jarallaxList[ k ].oldData = newData; + + if ( isResized ) { + instance.onResize(); + } + if ( isScrolled ) { + instance.onScroll(); + } + } ); + + window.requestAnimationFrame( updateParallax ); +} + +let instanceID = 0; + +// Jarallax class +class Jarallax { + constructor( item, userOptions ) { + const self = this; + + self.instanceID = instanceID; + instanceID += 1; + + self.$item = item; + + self.defaults = { + type: 'scroll', // type of parallax: scroll, scale, opacity, scale-opacity, scroll-opacity + speed: 0.5, // supported value from -1 to 2 + imgSrc: null, + imgElement: '.jarallax-img', + imgSize: 'cover', + imgPosition: '50% 50%', + imgRepeat: 'no-repeat', // supported only for background, not for tag + keepImg: false, // keep tag in it's default place + elementInViewport: null, + zIndex: -100, + disableParallax: false, + disableVideo: false, + + // video + videoSrc: null, + videoStartTime: 0, + videoEndTime: 0, + videoVolume: 0, + videoLoop: true, + videoPlayOnlyVisible: true, + videoLazyLoading: true, + + // events + onScroll: null, // function(calculations) {} + onInit: null, // function() {} + onDestroy: null, // function() {} + onCoverImage: null, // function() {} + }; + + // prepare data-options + const dataOptions = self.$item.dataset || {}; + const pureDataOptions = {}; + Object.keys( dataOptions ).forEach( ( key ) => { + const loweCaseOption = key.substr( 0, 1 ).toLowerCase() + key.substr( 1 ); + if ( loweCaseOption && 'undefined' !== typeof self.defaults[ loweCaseOption ] ) { + pureDataOptions[ loweCaseOption ] = dataOptions[ key ]; + } + } ); + + self.options = self.extend( {}, self.defaults, pureDataOptions, userOptions ); + self.pureOptions = self.extend( {}, self.options ); + + // prepare 'true' and 'false' strings to boolean + Object.keys( self.options ).forEach( ( key ) => { + if ( 'true' === self.options[ key ] ) { + self.options[ key ] = true; + } else if ( 'false' === self.options[ key ] ) { + self.options[ key ] = false; + } + } ); + + // fix speed option [-1.0, 2.0] + self.options.speed = Math.min( 2, Math.max( -1, parseFloat( self.options.speed ) ) ); + + // prepare disableParallax callback + if ( 'string' === typeof self.options.disableParallax ) { + self.options.disableParallax = new RegExp( self.options.disableParallax ); + } + if ( self.options.disableParallax instanceof RegExp ) { + const disableParallaxRegexp = self.options.disableParallax; + self.options.disableParallax = () => disableParallaxRegexp.test( navigator.userAgent ); + } + if ( 'function' !== typeof self.options.disableParallax ) { + self.options.disableParallax = () => false; + } + + // prepare disableVideo callback + if ( 'string' === typeof self.options.disableVideo ) { + self.options.disableVideo = new RegExp( self.options.disableVideo ); + } + if ( self.options.disableVideo instanceof RegExp ) { + const disableVideoRegexp = self.options.disableVideo; + self.options.disableVideo = () => disableVideoRegexp.test( navigator.userAgent ); + } + if ( 'function' !== typeof self.options.disableVideo ) { + self.options.disableVideo = () => false; + } + + // custom element to check if parallax in viewport + let elementInVP = self.options.elementInViewport; + // get first item from array + if ( elementInVP && 'object' === typeof elementInVP && 'undefined' !== typeof elementInVP.length ) { + [ elementInVP ] = elementInVP; + } + // check if dom element + if ( ! ( elementInVP instanceof Element ) ) { + elementInVP = null; + } + self.options.elementInViewport = elementInVP; + + self.image = { + src: self.options.imgSrc || null, + $container: null, + useImgTag: false, + + // position fixed is needed for the most of browsers because absolute position have glitches + // on MacOS with smooth scroll there is a huge lags with absolute position - https://github.com/nk-o/jarallax/issues/75 + // on mobile devices better scrolled with absolute position + position: /iPad|iPhone|iPod|Android/.test( navigator.userAgent ) ? 'absolute' : 'fixed', + }; + + if ( self.initImg() && self.canInitParallax() ) { + self.init(); + } + } + + // add styles to element + // eslint-disable-next-line class-methods-use-this + css( el, styles ) { + if ( 'string' === typeof styles ) { + return window.getComputedStyle( el ).getPropertyValue( styles ); + } + + // add transform property with vendor prefix + if ( styles.transform && supportTransform ) { + styles[ supportTransform ] = styles.transform; + } + + Object.keys( styles ).forEach( ( key ) => { + el.style[ key ] = styles[ key ]; + } ); + return el; + } + + // Extend like jQuery.extend + // eslint-disable-next-line class-methods-use-this + extend( out, ...args ) { + out = out || {}; + + Object.keys( args ).forEach( ( i ) => { + if ( ! args[ i ] ) { + return; + } + Object.keys( args[ i ] ).forEach( ( key ) => { + out[ key ] = args[ i ][ key ]; + } ); + } ); + + return out; + } + + // get window size and scroll position. Useful for extensions + // eslint-disable-next-line class-methods-use-this + getWindowData() { + return { + width: window.innerWidth || document.documentElement.clientWidth, + height: wndH, + y: document.documentElement.scrollTop, + }; + } + + // Jarallax functions + initImg() { + const self = this; + + // find image element + let $imgElement = self.options.imgElement; + if ( $imgElement && 'string' === typeof $imgElement ) { + $imgElement = self.$item.querySelector( $imgElement ); + } + + // check if dom element + if ( ! ( $imgElement instanceof Element ) ) { + if ( self.options.imgSrc ) { + $imgElement = new Image(); + $imgElement.src = self.options.imgSrc; + } else { + $imgElement = null; + } + } + + if ( $imgElement ) { + if ( self.options.keepImg ) { + self.image.$item = $imgElement.cloneNode( true ); + } else { + self.image.$item = $imgElement; + self.image.$itemParent = $imgElement.parentNode; + } + self.image.useImgTag = true; + } + + // true if there is img tag + if ( self.image.$item ) { + return true; + } + + // get image src + if ( null === self.image.src ) { + self.image.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'; + self.image.bgImage = self.css( self.$item, 'background-image' ); + } + return ! ( ! self.image.bgImage || 'none' === self.image.bgImage ); + } + + canInitParallax() { + return supportTransform && ! this.options.disableParallax(); + } + + init() { + const self = this; + const containerStyles = { + position: 'absolute', + top: 0, + left: 0, + width: '100%', + height: '100%', + overflow: 'hidden', + }; + let imageStyles = { + pointerEvents: 'none', + transformStyle: 'preserve-3d', + backfaceVisibility: 'hidden', + willChange: 'transform,opacity', + }; + + if ( ! self.options.keepImg ) { + // save default user styles + const curStyle = self.$item.getAttribute( 'style' ); + if ( curStyle ) { + self.$item.setAttribute( 'data-jarallax-original-styles', curStyle ); + } + if ( self.image.useImgTag ) { + const curImgStyle = self.image.$item.getAttribute( 'style' ); + if ( curImgStyle ) { + self.image.$item.setAttribute( 'data-jarallax-original-styles', curImgStyle ); + } + } + } + + // set relative position and z-index to the parent + if ( 'static' === self.css( self.$item, 'position' ) ) { + self.css( self.$item, { + position: 'relative', + } ); + } + if ( 'auto' === self.css( self.$item, 'z-index' ) ) { + self.css( self.$item, { + zIndex: 0, + } ); + } + + // container for parallax image + self.image.$container = document.createElement( 'div' ); + self.css( self.image.$container, containerStyles ); + self.css( self.image.$container, { + 'z-index': self.options.zIndex, + } ); + + // fix for IE https://github.com/nk-o/jarallax/issues/110 + if ( isIE ) { + self.css( self.image.$container, { + opacity: 0.9999, + } ); + } + + self.image.$container.setAttribute( 'id', `jarallax-container-${ self.instanceID }` ); + self.$item.appendChild( self.image.$container ); + + // use img tag + if ( self.image.useImgTag ) { + imageStyles = self.extend( { + 'object-fit': self.options.imgSize, + 'object-position': self.options.imgPosition, + // support for plugin https://github.com/bfred-it/object-fit-images + 'font-family': `object-fit: ${ self.options.imgSize }; object-position: ${ self.options.imgPosition };`, + 'max-width': 'none', + }, containerStyles, imageStyles ); + + // use div with background image + } else { + self.image.$item = document.createElement( 'div' ); + if ( self.image.src ) { + imageStyles = self.extend( { + 'background-position': self.options.imgPosition, + 'background-size': self.options.imgSize, + 'background-repeat': self.options.imgRepeat, + 'background-image': self.image.bgImage || `url("${ self.image.src }")`, + }, containerStyles, imageStyles ); + } + } + + if ( 'opacity' === self.options.type || 'scale' === self.options.type || 'scale-opacity' === self.options.type || 1 === self.options.speed ) { + self.image.position = 'absolute'; + } + + // 1. Check if one of parents have transform style (without this check, scroll transform will be inverted if used parallax with position fixed) + // discussion - https://github.com/nk-o/jarallax/issues/9 + // 2. Check if parents have overflow scroll + if ( 'fixed' === self.image.position ) { + const $parents = getParents( self.$item ).filter( ( el ) => { + const styles = window.getComputedStyle( el ); + const parentTransform = styles[ '-webkit-transform' ] || styles[ '-moz-transform' ] || styles.transform; + const overflowRegex = /(auto|scroll)/; + + return ( parentTransform && 'none' !== parentTransform ) || overflowRegex.test( styles.overflow + styles[ 'overflow-y' ] + styles[ 'overflow-x' ] ); + } ); + + self.image.position = $parents.length ? 'absolute' : 'fixed'; + } + + // add position to parallax block + imageStyles.position = self.image.position; + + // insert parallax image + self.css( self.image.$item, imageStyles ); + self.image.$container.appendChild( self.image.$item ); + + // set initial position and size + self.onResize(); + self.onScroll( true ); + + // call onInit event + if ( self.options.onInit ) { + self.options.onInit.call( self ); + } + + // remove default user background + if ( 'none' !== self.css( self.$item, 'background-image' ) ) { + self.css( self.$item, { + 'background-image': 'none', + } ); + } + + self.addToParallaxList(); + } + + // add to parallax instances list + addToParallaxList() { + jarallaxList.push( { + instance: this, + } ); + + if ( 1 === jarallaxList.length ) { + window.requestAnimationFrame( updateParallax ); + } + } + + // remove from parallax instances list + removeFromParallaxList() { + const self = this; + + jarallaxList.forEach( ( data, key ) => { + if ( data.instance.instanceID === self.instanceID ) { + jarallaxList.splice( key, 1 ); + } + } ); + } + + destroy() { + const self = this; + + self.removeFromParallaxList(); + + // return styles on container as before jarallax init + const originalStylesTag = self.$item.getAttribute( 'data-jarallax-original-styles' ); + self.$item.removeAttribute( 'data-jarallax-original-styles' ); + // null occurs if there is no style tag before jarallax init + if ( ! originalStylesTag ) { + self.$item.removeAttribute( 'style' ); + } else { + self.$item.setAttribute( 'style', originalStylesTag ); + } + + if ( self.image.useImgTag ) { + // return styles on img tag as before jarallax init + const originalStylesImgTag = self.image.$item.getAttribute( 'data-jarallax-original-styles' ); + self.image.$item.removeAttribute( 'data-jarallax-original-styles' ); + // null occurs if there is no style tag before jarallax init + if ( ! originalStylesImgTag ) { + self.image.$item.removeAttribute( 'style' ); + } else { + self.image.$item.setAttribute( 'style', originalStylesTag ); + } + + // move img tag to its default position + if ( self.image.$itemParent ) { + self.image.$itemParent.appendChild( self.image.$item ); + } + } + + // remove additional dom elements + if ( self.$clipStyles ) { + self.$clipStyles.parentNode.removeChild( self.$clipStyles ); + } + if ( self.image.$container ) { + self.image.$container.parentNode.removeChild( self.image.$container ); + } + + // call onDestroy event + if ( self.options.onDestroy ) { + self.options.onDestroy.call( self ); + } + + // delete jarallax from item + delete self.$item.jarallax; + } + + // it will remove some image overlapping + // overlapping occur due to an image position fixed inside absolute position element + clipContainer() { + // needed only when background in fixed position + if ( 'fixed' !== this.image.position ) { + return; + } + + const self = this; + const rect = self.image.$container.getBoundingClientRect(); + const { width, height } = rect; + + if ( ! self.$clipStyles ) { + self.$clipStyles = document.createElement( 'style' ); + self.$clipStyles.setAttribute( 'type', 'text/css' ); + self.$clipStyles.setAttribute( 'id', `jarallax-clip-${ self.instanceID }` ); + const head = document.head || document.getElementsByTagName( 'head' )[ 0 ]; + head.appendChild( self.$clipStyles ); + } + + // clip is used for old browsers. + // clip-path for modern browsers (also fixes Safari v14 bug https://github.com/nk-o/jarallax/issues/181 ). + const styles = `#jarallax-container-${ self.instanceID } { + clip: rect(0 ${ width }px ${ height }px 0); + clip: rect(0, ${ width }px, ${ height }px, 0); + -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); + clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); + }`; + + // add clip styles inline (this method need for support IE8 and less browsers) + if ( self.$clipStyles.styleSheet ) { + self.$clipStyles.styleSheet.cssText = styles; + } else { + self.$clipStyles.innerHTML = styles; + } + } + + coverImage() { + const self = this; + + const rect = self.image.$container.getBoundingClientRect(); + const contH = rect.height; + const { speed } = self.options; + const isScroll = 'scroll' === self.options.type || 'scroll-opacity' === self.options.type; + let scrollDist = 0; + let resultH = contH; + let resultMT = 0; + + // scroll parallax + if ( isScroll ) { + // scroll distance and height for image + if ( 0 > speed ) { + scrollDist = speed * Math.max( contH, wndH ); + + if ( wndH < contH ) { + scrollDist -= speed * ( contH - wndH ); + } + } else { + scrollDist = speed * ( contH + wndH ); + } + + // size for scroll parallax + if ( 1 < speed ) { + resultH = Math.abs( scrollDist - wndH ); + } else if ( 0 > speed ) { + resultH = scrollDist / speed + Math.abs( scrollDist ); + } else { + resultH += ( wndH - contH ) * ( 1 - speed ); + } + + scrollDist /= 2; + } + + // store scroll distance + self.parallaxScrollDistance = scrollDist; + + // vertical center + if ( isScroll ) { + resultMT = ( wndH - resultH ) / 2; + } else { + resultMT = ( contH - resultH ) / 2; + } + + // apply result to item + self.css( self.image.$item, { + height: `${ resultH }px`, + marginTop: `${ resultMT }px`, + left: 'fixed' === self.image.position ? `${ rect.left }px` : '0', + width: `${ rect.width }px`, + } ); + + // call onCoverImage event + if ( self.options.onCoverImage ) { + self.options.onCoverImage.call( self ); + } + + // return some useful data. Used in the video cover function + return { + image: { + height: resultH, + marginTop: resultMT, + }, + container: rect, + }; + } + + isVisible() { + return this.isElementInViewport || false; + } + + onScroll( force ) { + const self = this; + + const rect = self.$item.getBoundingClientRect(); + const contT = rect.top; + const contH = rect.height; + const styles = {}; + + // check if in viewport + let viewportRect = rect; + if ( self.options.elementInViewport ) { + viewportRect = self.options.elementInViewport.getBoundingClientRect(); + } + self.isElementInViewport = 0 <= viewportRect.bottom + && 0 <= viewportRect.right + && viewportRect.top <= wndH + && viewportRect.left <= window.innerWidth; + + // stop calculations if item is not in viewport + if ( force ? false : ! self.isElementInViewport ) { + return; + } + + // calculate parallax helping variables + const beforeTop = Math.max( 0, contT ); + const beforeTopEnd = Math.max( 0, contH + contT ); + const afterTop = Math.max( 0, -contT ); + const beforeBottom = Math.max( 0, contT + contH - wndH ); + const beforeBottomEnd = Math.max( 0, contH - ( contT + contH - wndH ) ); + const afterBottom = Math.max( 0, -contT + wndH - contH ); + const fromViewportCenter = 1 - 2 * ( ( wndH - contT ) / ( wndH + contH ) ); + + // calculate on how percent of section is visible + let visiblePercent = 1; + if ( contH < wndH ) { + visiblePercent = 1 - ( afterTop || beforeBottom ) / contH; + } else if ( beforeTopEnd <= wndH ) { + visiblePercent = beforeTopEnd / wndH; + } else if ( beforeBottomEnd <= wndH ) { + visiblePercent = beforeBottomEnd / wndH; + } + + // opacity + if ( 'opacity' === self.options.type || 'scale-opacity' === self.options.type || 'scroll-opacity' === self.options.type ) { + styles.transform = 'translate3d(0,0,0)'; + styles.opacity = visiblePercent; + } + + // scale + if ( 'scale' === self.options.type || 'scale-opacity' === self.options.type ) { + let scale = 1; + if ( 0 > self.options.speed ) { + scale -= self.options.speed * visiblePercent; + } else { + scale += self.options.speed * ( 1 - visiblePercent ); + } + styles.transform = `scale(${ scale }) translate3d(0,0,0)`; + } + + // scroll + if ( 'scroll' === self.options.type || 'scroll-opacity' === self.options.type ) { + let positionY = self.parallaxScrollDistance * fromViewportCenter; + + // fix if parallax block in absolute position + if ( 'absolute' === self.image.position ) { + positionY -= contT; + } + + styles.transform = `translate3d(0,${ positionY }px,0)`; + } + + self.css( self.image.$item, styles ); + + // call onScroll event + if ( self.options.onScroll ) { + self.options.onScroll.call( self, { + section: rect, + + beforeTop, + beforeTopEnd, + afterTop, + beforeBottom, + beforeBottomEnd, + afterBottom, + + visiblePercent, + fromViewportCenter, + } ); + } + } + + onResize() { + this.coverImage(); + this.clipContainer(); + } +} + +// global definition +const plugin = function( items, options, ...args ) { + // check for dom element + // thanks: http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object + if ( 'object' === typeof HTMLElement ? items instanceof HTMLElement : items && 'object' === typeof items && null !== items && 1 === items.nodeType && 'string' === typeof items.nodeName ) { + items = [ items ]; + } + + const len = items.length; + let k = 0; + let ret; + + for ( k; k < len; k += 1 ) { + if ( 'object' === typeof options || 'undefined' === typeof options ) { + if ( ! items[ k ].jarallax ) { + items[ k ].jarallax = new Jarallax( items[ k ], options ); + } + } else if ( items[ k ].jarallax ) { + // eslint-disable-next-line prefer-spread + ret = items[ k ].jarallax[ options ].apply( items[ k ].jarallax, args ); + } + if ( 'undefined' !== typeof ret ) { + return ret; + } + } + + return items; +}; +plugin.constructor = Jarallax; + +export default plugin; diff --git a/public/js/vendor/jarallax/src/jarallax.js b/public/js/vendor/jarallax/src/jarallax.js new file mode 100644 index 0000000..e990c7c --- /dev/null +++ b/public/js/vendor/jarallax/src/jarallax.js @@ -0,0 +1,35 @@ +import domReady from 'lite-ready'; +import { window, jQuery } from 'global'; + +import jarallax from './jarallax.esm'; + +// no conflict +const oldPlugin = window.jarallax; +window.jarallax = jarallax; +window.jarallax.noConflict = function() { + window.jarallax = oldPlugin; + return this; +}; + +// jQuery support +if ( 'undefined' !== typeof jQuery ) { + const jQueryPlugin = function( ...args ) { + Array.prototype.unshift.call( args, this ); + const res = jarallax.apply( window, args ); + return 'object' !== typeof res ? res : this; + }; + jQueryPlugin.constructor = jarallax.constructor; + + // no conflict + const oldJqPlugin = jQuery.fn.jarallax; + jQuery.fn.jarallax = jQueryPlugin; + jQuery.fn.jarallax.noConflict = function() { + jQuery.fn.jarallax = oldJqPlugin; + return this; + }; +} + +// data-jarallax initialization +domReady( () => { + jarallax( document.querySelectorAll( '[data-jarallax]' ) ); +} ); diff --git a/public/js/vendor/lg-fullscreen.js/LICENSE.md b/public/js/vendor/lg-fullscreen.js/LICENSE.md new file mode 100644 index 0000000..3ef5a97 --- /dev/null +++ b/public/js/vendor/lg-fullscreen.js/LICENSE.md @@ -0,0 +1,673 @@ +## License + +### Commercial License + +If you want to use lightgallery.js for business, commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Purchase a lightgallery.js Commercial License at https://site.uplabs.com/posts/lightgallery-js + +### Open-source License + +lightgallery.js is free for personal use under the GNU AGPLv3. + +> Copyright (c) 2013-2016 Kushagra Gour + + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. \ No newline at end of file diff --git a/public/js/vendor/lg-fullscreen.js/contributing.md b/public/js/vendor/lg-fullscreen.js/contributing.md new file mode 100644 index 0000000..da46149 --- /dev/null +++ b/public/js/vendor/lg-fullscreen.js/contributing.md @@ -0,0 +1,26 @@ +# Contributing + +You're more than welcome to contribute to this project. Please note: your code may be used as part of a commercial product if merged. + +## Important notes +Please don't edit files in the `dist` subdirectory as they are generated via NPM Script. You'll find source code in the `src` subdirectory! + +### Code style +Regarding code style like indentation and whitespace, **follow the conventions you see used in the source already.** + +## Modifying the code +First, ensure that you have the latest [Node.js](http://nodejs.org/) and [npm](http://npmjs.org/) installed. + +1. Fork and clone the repo. +1. Run `npm install` to get the project's dependencies +1. Run `npm run build` to produce minified version of your library. + +## Submitting pull requests +Pull requests are very welcome. Note that if you are going to propose drastic changes, be sure to open an issue for discussion first, to make sure that your PR will be accepted before you spend effort coding it. + +1. Create a new branch, please don't work in your `master` branch directly. +1. Add failing tests for the change you want to make. Run `npm run build` to see the tests fail. +1. Fix stuff. +1. Run `npm run build` to see if the tests pass. Repeat steps 2-4 until done. +1. Update the documentation to reflect any changes. +1. Push to your fork and submit a pull request. diff --git a/public/js/vendor/lg-fullscreen.js/dist/lg-fullscreen.js b/public/js/vendor/lg-fullscreen.js/dist/lg-fullscreen.js new file mode 100644 index 0000000..c426c88 --- /dev/null +++ b/public/js/vendor/lg-fullscreen.js/dist/lg-fullscreen.js @@ -0,0 +1,131 @@ +/**! + * lg-fullscreen.js | 1.2.0 | May 20th 2020 + * http://sachinchoolur.github.io/lg-fullscreen.js + * Copyright (c) 2016 Sachin N; + * @license GPLv3 + */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.LgFullscreen = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i + --- + + + + + + + + + +``` + +[Demos](http://sachinchoolur.github.io/lightgallery.js/demos/videos.html) +---- + +[Docs](http://sachinchoolur.github.io/lightgallery.js/docs/api.html#lg-fullscreen) +----- + +License +--- + +#### Commercial license +If you want to use lightgallery.js to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Purchase a lightgallery.js Commercial License at [uplabs.com/posts/lightgallery-js](https://www.uplabs.com/posts/lightgallery-js) + +#### Open source license + +If you are creating an open source application under a license compatible with the GNU GPL license v3, you may use this project under the terms of the GPLv3. \ No newline at end of file diff --git a/public/js/vendor/lg-video.js/LICENSE.md b/public/js/vendor/lg-video.js/LICENSE.md new file mode 100644 index 0000000..3ef5a97 --- /dev/null +++ b/public/js/vendor/lg-video.js/LICENSE.md @@ -0,0 +1,673 @@ +## License + +### Commercial License + +If you want to use lightgallery.js for business, commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Purchase a lightgallery.js Commercial License at https://site.uplabs.com/posts/lightgallery-js + +### Open-source License + +lightgallery.js is free for personal use under the GNU AGPLv3. + +> Copyright (c) 2013-2016 Kushagra Gour + + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. \ No newline at end of file diff --git a/public/js/vendor/lg-video.js/contributing.md b/public/js/vendor/lg-video.js/contributing.md new file mode 100644 index 0000000..da46149 --- /dev/null +++ b/public/js/vendor/lg-video.js/contributing.md @@ -0,0 +1,26 @@ +# Contributing + +You're more than welcome to contribute to this project. Please note: your code may be used as part of a commercial product if merged. + +## Important notes +Please don't edit files in the `dist` subdirectory as they are generated via NPM Script. You'll find source code in the `src` subdirectory! + +### Code style +Regarding code style like indentation and whitespace, **follow the conventions you see used in the source already.** + +## Modifying the code +First, ensure that you have the latest [Node.js](http://nodejs.org/) and [npm](http://npmjs.org/) installed. + +1. Fork and clone the repo. +1. Run `npm install` to get the project's dependencies +1. Run `npm run build` to produce minified version of your library. + +## Submitting pull requests +Pull requests are very welcome. Note that if you are going to propose drastic changes, be sure to open an issue for discussion first, to make sure that your PR will be accepted before you spend effort coding it. + +1. Create a new branch, please don't work in your `master` branch directly. +1. Add failing tests for the change you want to make. Run `npm run build` to see the tests fail. +1. Fix stuff. +1. Run `npm run build` to see if the tests pass. Repeat steps 2-4 until done. +1. Update the documentation to reflect any changes. +1. Push to your fork and submit a pull request. diff --git a/public/js/vendor/lg-video.js/dist/lg-video.js b/public/js/vendor/lg-video.js/dist/lg-video.js new file mode 100644 index 0000000..beac331 --- /dev/null +++ b/public/js/vendor/lg-video.js/dist/lg-video.js @@ -0,0 +1,344 @@ +/**! + * lg-video.js | 1.3.0 | November 7th 2020 + * http://sachinchoolur.github.io/lg-video.js + * Copyright (c) 2016 Sachin N; + * @license GPLv3 + */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.LgVideo = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 1 && (_this.core.s.enableSwipe && _this.core.isTouch || _this.core.s.enableDrag && !_this.core.isTouch)) { + utils.on(_this.core.el, 'onSlideClick.lgtm', function () { + var $el = _this.core.___slide[_this.core.index]; + loadOnClick($el); + }); + } else { + + // For IE 9 and bellow + for (var i = 0; i < _this.core.___slide.length; i++) { + + /*jshint loopfunc: true */ + (function (index) { + utils.on(_this.core.___slide[index], 'click.lg', function () { + loadOnClick(_this.core.___slide[index]); + }); + })(i); + } + } + + utils.on(_this.core.el, 'onBeforeSlide.lgtm', function (event) { + + var $videoSlide = _this.core.___slide[event.detail.prevIndex]; + var youtubePlayer = $videoSlide.querySelector('.lg-youtube'); + var vimeoPlayer = $videoSlide.querySelector('.lg-vimeo'); + var dailymotionPlayer = $videoSlide.querySelector('.lg-dailymotion'); + var vkPlayer = $videoSlide.querySelector('.lg-vk'); + var html5Player = $videoSlide.querySelector('.lg-html5'); + if (youtubePlayer) { + youtubePlayer.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*'); + } else if (vimeoPlayer) { + try { + new Vimeo.Player(vimeoPlayer).pause().catch(function (error) { + console.error('Unable to pause the video:', error.name); + }); + } catch (e) { + console.warn('lightGallery:- Make sure you have included https://github.com/vimeo/player.js'); + } + } else if (dailymotionPlayer) { + dailymotionPlayer.contentWindow.postMessage('pause', '*'); + } else if (html5Player) { + if (_this.core.s.videojs) { + try { + videojs(html5Player).pause(); + } catch (e) { + console.error('lightGallery:- Make sure you have included videojs'); + } + } else { + html5Player.pause(); + } + }if (vkPlayer) { + + vkPlayer.setAttribute('src', vkPlayer.getAttribute('src').replace('&autoplay', '&noplay')); + } + + var _src; + if (_this.core.s.dynamic) { + _src = _this.core.s.dynamicEl[event.detail.index].src; + } else { + _src = _this.core.items[event.detail.index].getAttribute('href') || _this.core.items[event.detail.index].getAttribute('data-src'); + } + + var _isVideo = _this.core.isVideo(_src, event.detail.index) || {}; + if (_isVideo.youtube || _isVideo.vimeo || _isVideo.dailymotion || _isVideo.vk) { + utils.addClass(_this.core.outer, 'lg-hide-download'); + } + + //$videoSlide.addClass('lg-complete'); + }); + + utils.on(_this.core.el, 'onAfterSlide.lgtm', function (event) { + utils.removeClass(_this.core.___slide[event.detail.prevIndex], 'lg-video-playing'); + }); + }; + + Video.prototype.loadVideo = function (src, addClass, noposter, index, html) { + var video = ''; + var autoplay = 1; + var a = ''; + var isVideo = this.core.isVideo(src, index) || {}; + + // Enable autoplay for first video if poster doesn't exist + if (noposter) { + if (this.videoLoaded) { + autoplay = 0; + } else { + autoplay = this.core.s.autoplayFirstVideo ? 1 : 0; + } + } + + var videoTitle; + + if (this.core.s.dynamic) { + videoTitle = this.core.s.dynamicEl[index].title; + } else { + videoTitle = this.core.items[index].getAttribute('title'); + if (!videoTitle) { + var firstImage = this.core.items[index].querySelector('img'); + if (firstImage) { + videoTitle = firstImage.getAttribute('alt'); + } + } + } + + videoTitle = videoTitle ? 'title="' + videoTitle + '"' : ''; + + if (isVideo.youtube) { + + a = '?wmode=opaque&autoplay=' + autoplay + '&enablejsapi=1'; + if (this.core.s.youtubePlayerParams) { + a = a + '&' + utils.param(this.core.s.youtubePlayerParams); + } + + video = ''; + } else if (isVideo.vimeo) { + + a = '?autoplay=' + autoplay; + if (this.core.s.vimeoPlayerParams) { + a = a + '&' + utils.param(this.core.s.vimeoPlayerParams); + } + + video = ''; + } else if (isVideo.dailymotion) { + + a = '?wmode=opaque&autoplay=' + autoplay + '&api=postMessage'; + if (this.core.s.dailymotionPlayerParams) { + a = a + '&' + utils.param(this.core.s.dailymotionPlayerParams); + } + + video = ''; + } else if (isVideo.html5) { + var fL = html.substring(0, 1); + if (fL === '.' || fL === '#') { + html = document.querySelector(html).innerHTML; + } + + video = html; + } else if (isVideo.vk) { + + a = '&autoplay=' + autoplay; + if (this.core.s.vkPlayerParams) { + a = a + '&' + utils.param(this.core.s.vkPlayerParams); + } + + video = ''; + } + + return video; + }; + + Video.prototype.destroy = function () { + this.videoLoaded = false; + }; + + window.lgModules.video = Video; +}); + +},{}]},{},[1])(1) +}); diff --git a/public/js/vendor/lg-video.js/dist/lg-video.min.js b/public/js/vendor/lg-video.js/dist/lg-video.min.js new file mode 100644 index 0000000..9049dd0 --- /dev/null +++ b/public/js/vendor/lg-video.js/dist/lg-video.min.js @@ -0,0 +1,7 @@ +/**! + * lg-video.js | 1.3.0 | November 7th 2020 + * http://sachinchoolur.github.io/lg-video.js + * Copyright (c) 2016 Sachin N; + * @license GPLv3 + */ +!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var o;o="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,o.LgVideo=e()}}(function(){var e,o,i;return function(){function e(o,i,t){function l(a,s){if(!i[a]){if(!o[a]){var d="function"==typeof require&&require;if(!s&&d)return d(a,!0);if(r)return r(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var n=i[a]={exports:{}};o[a][0].call(n.exports,function(e){return l(o[a][1][e]||e)},n,n.exports,e,o,i,t)}return i[a].exports}for(var r="function"==typeof require&&require,a=0;a1&&(e.core.s.enableSwipe&&e.core.isTouch||e.core.s.enableDrag&&!e.core.isTouch))utils.on(e.core.el,"onSlideClick.lgtm",function(){var i=e.core.___slide[e.core.index];o(i)});else for(var i=0;i';else if(d.vimeo)s="?autoplay="+a,this.core.s.vimeoPlayerParams&&(s=s+"&"+utils.param(this.core.s.vimeoPlayerParams)),r='';else if(d.dailymotion)s="?wmode=opaque&autoplay="+a+"&api=postMessage",this.core.s.dailymotionPlayerParams&&(s=s+"&"+utils.param(this.core.s.dailymotionPlayerParams)),r='';else if(d.html5){var u=l.substring(0,1);"."!==u&&"#"!==u||(l=document.querySelector(l).innerHTML),r=l}else d.vk&&(s="&autoplay="+a,this.core.s.vkPlayerParams&&(s=s+"&"+utils.param(this.core.s.vkPlayerParams)),r='');return r},i.prototype.destroy=function(){this.videoLoaded=!1},window.lgModules.video=i})},{}]},{},[1])(1)}); \ No newline at end of file diff --git a/public/js/vendor/lg-video.js/package.json b/public/js/vendor/lg-video.js/package.json new file mode 100644 index 0000000..9fa3560 --- /dev/null +++ b/public/js/vendor/lg-video.js/package.json @@ -0,0 +1,87 @@ +{ + "_args": [ + [ + "lg-video.js@1.3.0", + "/Users/rokaux/Sites/around-new" + ] + ], + "_from": "lg-video.js@1.3.0", + "_id": "lg-video.js@1.3.0", + "_inBundle": false, + "_integrity": "sha512-9P/oxBwHhEqHvPqnjxdQFihMw6AlIllHdOXUDAsr+t6D9u9Bcabsncavap6B8QeCVS+uU2wmgW9GFTfT5sg5Vg==", + "_location": "/lg-video.js", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "lg-video.js@1.3.0", + "name": "lg-video.js", + "escapedName": "lg-video.js", + "rawSpec": "1.3.0", + "saveSpec": null, + "fetchSpec": "1.3.0" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/lg-video.js/-/lg-video.js-1.3.0.tgz", + "_spec": "1.3.0", + "_where": "/Users/rokaux/Sites/around-new", + "author": { + "name": "Sachin N", + "email": "sachi77n@gmail.com", + "url": "https://github.com/sachinchoolur" + }, + "bugs": { + "url": "https://github.com/sachinchoolur/lg-video.js/issues" + }, + "dependencies": {}, + "description": "Video module for lightgallery.", + "devDependencies": { + "babel-cli": "^6.5.1", + "babel-core": "^6.5.2", + "babel-plugin-transform-es2015-modules-umd": "^6.5.0", + "babel-plugin-transform-object-assign": "^6.8.0", + "babel-preset-es2015": "^6.5.0", + "babel-preset-es2015-loose": "^7.0.0", + "babelify": "^7.2.0", + "bannerify": "^1.0.1", + "browserify": "^13.0.0", + "install": "^0.4.4", + "jshint": "^2.9.2", + "uglify-js": "^2.4.24", + "watchify": "^3.4.0" + }, + "homepage": "http://sachinchoolur.github.io/lg-video.js", + "keywords": [ + "gallery", + "lightbox", + "image", + "youtube", + "vimeo", + "dailymotion", + "html5 videos", + "thumbnails", + "zoom", + "fullscreen", + "responsive", + "touch", + "drag" + ], + "license": "GPLv3", + "main": "dist/lg-video.js", + "name": "lg-video.js", + "repository": { + "type": "git", + "url": "git+https://github.com/sachinchoolur/lg-video.js.git" + }, + "scripts": { + "build": "npm run build-debug && npm run build-min", + "build-debug": "browserify src/lg-video.js -s LgVideo -t [babelify] -p [bannerify --file .banner ] -o dist/lg-video.js", + "build-min": "uglifyjs dist/lg-video.js --comments '/@license/' -m screw_ie8=true -c screw_ie8=true,unused=false -o dist/lg-video.min.js", + "build-watch": "watchify src/lg-video.js -s LgVideo -t [babelify] -o dist/lg-video.js -v", + "dev": "watchify src/lg-video.js -s LgVideo -t [babelify] -o ../lightgallery.js/lightgallery/js/lg-video.js -v", + "lint": "jshint src" + }, + "version": "1.3.0" +} diff --git a/public/js/vendor/lg-video.js/readme.md b/public/js/vendor/lg-video.js/readme.md new file mode 100644 index 0000000..30aac48 --- /dev/null +++ b/public/js/vendor/lg-video.js/readme.md @@ -0,0 +1,83 @@ +![travis](https://travis-ci.org/sachinchoolur/lg-video.js.svg?branch=master) +![bower](https://img.shields.io/bower/v/lg-video.js.svg) +![npm](https://img.shields.io/npm/v/lg-video.js.svg) + +# Video module for [lightgallery.js](http://sachinchoolur.github.io/lightgallery.js/) +Full featured javascript gallery. Zero dependencies. +![lightgallery](https://raw.githubusercontent.com/sachinchoolur/lightgallery.js/gh-pages/lightgallery.png) + +Main features +--- + +* Youtube Videos Vimeo Dailymotion VK and html5 videos Support. +* Supports Videos posters. +* Supports Videojs. +* Automatically pause video when navigates to different slides. +* Option to add Youtube, Yimeo parameters. +* Automatically load youtube and vimeo thumbnails + +Browser support +--- +lightgallery supports all major browsers including IE 9 and above.. + + +Installation +--- +#### Install with Bower + +You can install lightgallery video plugin using the [Bower](http://bower.io) package manager. + +```sh +$ bower install lg-video.js --save +``` + +#### npm + +You can also find lightgallery video plugin on [npm](http://npmjs.org). + +```sh +$ npm install lg-video.js +``` +#### Download from Github + +You can also directly download lg-video from github. + +#### Include Javascript files +Include lg-video plugin after lightgallery.min.js. +``` html + + --- + + + + + + + + + +``` + +Demos +---- + * [Youtube, Vimeo Video Gallery](http://sachinchoolur.github.io/lightgallery.js/demos/videos.html) + * [Video Gallery Without Poster](http://sachinchoolur.github.io/lightgallery.js/demos/videos.html#video-without-poster) + * [Video Player Parameters](http://sachinchoolur.github.io/lightgallery.js/demos/videos.html#video-player-param) + * [Automatically load thumbnails](http://sachinchoolur.github.io/lightgallery.js/demos/videos.html#auto-thumb) + * [Html5 Video Gallery](http://sachinchoolur.github.io/lightgallery.js/demos/html5-videos.html) + * [Html5 video gallery with videojs](http://sachinchoolur.github.io/lightgallery.js/demos/html5-videos.html#video-without-poster) + +Docs +----- +[Options](http://sachinchoolur.github.io/lightgallery.js/docs/api.html#lg-video) + +License +--- + +#### Commercial license +If you want to use lightgallery.js to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Purchase a lightgallery.js Commercial License at [uplabs.com/posts/lightgallery-js](https://www.uplabs.com/posts/lightgallery-js) + +#### Open source license + +If you are creating an open source application under a license compatible with the GNU GPL license v3, you may use this project under the terms of the GPLv3. + diff --git a/public/js/vendor/lg-zoom.js/LICENSE.md b/public/js/vendor/lg-zoom.js/LICENSE.md new file mode 100644 index 0000000..3ef5a97 --- /dev/null +++ b/public/js/vendor/lg-zoom.js/LICENSE.md @@ -0,0 +1,673 @@ +## License + +### Commercial License + +If you want to use lightgallery.js for business, commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Purchase a lightgallery.js Commercial License at https://site.uplabs.com/posts/lightgallery-js + +### Open-source License + +lightgallery.js is free for personal use under the GNU AGPLv3. + +> Copyright (c) 2013-2016 Kushagra Gour + + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. \ No newline at end of file diff --git a/public/js/vendor/lg-zoom.js/contributing.md b/public/js/vendor/lg-zoom.js/contributing.md new file mode 100644 index 0000000..da46149 --- /dev/null +++ b/public/js/vendor/lg-zoom.js/contributing.md @@ -0,0 +1,26 @@ +# Contributing + +You're more than welcome to contribute to this project. Please note: your code may be used as part of a commercial product if merged. + +## Important notes +Please don't edit files in the `dist` subdirectory as they are generated via NPM Script. You'll find source code in the `src` subdirectory! + +### Code style +Regarding code style like indentation and whitespace, **follow the conventions you see used in the source already.** + +## Modifying the code +First, ensure that you have the latest [Node.js](http://nodejs.org/) and [npm](http://npmjs.org/) installed. + +1. Fork and clone the repo. +1. Run `npm install` to get the project's dependencies +1. Run `npm run build` to produce minified version of your library. + +## Submitting pull requests +Pull requests are very welcome. Note that if you are going to propose drastic changes, be sure to open an issue for discussion first, to make sure that your PR will be accepted before you spend effort coding it. + +1. Create a new branch, please don't work in your `master` branch directly. +1. Add failing tests for the change you want to make. Run `npm run build` to see the tests fail. +1. Fix stuff. +1. Run `npm run build` to see if the tests pass. Repeat steps 2-4 until done. +1. Update the documentation to reflect any changes. +1. Push to your fork and submit a pull request. diff --git a/public/js/vendor/lg-zoom.js/dist/lg-zoom.js b/public/js/vendor/lg-zoom.js/dist/lg-zoom.js new file mode 100644 index 0000000..a4aaf01 --- /dev/null +++ b/public/js/vendor/lg-zoom.js/dist/lg-zoom.js @@ -0,0 +1,715 @@ +/**! + * lg-zoom.js | 1.3.0 | October 14th 2020 + * http://sachinchoolur.github.io/lg-zoom.js + * Copyright (c) 2016 Sachin N; + * @license GPLv3 + */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.LgZoom = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 1) { + utils.addClass(_this.core.outer, 'lg-zoomed'); + } else { + _this.resetZoom(); + } + + if (scale < 1) { + scale = 1; + } + + zoom(scale); + }; + + var actualSize = function actualSize(event, image, index, fromIcon) { + var w = image.clientWidth; + var nw; + if (_this.core.s.dynamic) { + nw = _this.core.s.dynamicEl[index].width || image.naturalWidth || w; + } else { + nw = _this.core.items[index].getAttribute('data-width') || image.naturalWidth || w; + } + + var _scale; + + if (utils.hasClass(_this.core.outer, 'lg-zoomed')) { + scale = 1; + } else { + if (nw > w) { + _scale = nw / w; + scale = _scale || 2; + } + } + + if (fromIcon) { + _this.pageX = window.innerWidth / 2; + _this.pageY = window.innerHeight / 2 + (document.documentElement.scrollTop || document.body.scrollTop); + } else { + _this.pageX = event.pageX || event.targetTouches[0].pageX; + _this.pageY = event.pageY || event.targetTouches[0].pageY; + } + + callScale(); + setTimeout(function () { + utils.removeClass(_this.core.outer, 'lg-grabbing'); + utils.addClass(_this.core.outer, 'lg-grab'); + }, 10); + }; + + var tapped = false; + + // event triggered after appending slide content + utils.on(_this.core.el, 'onAferAppendSlide.lgtmzoom', function (event) { + + var index = event.detail.index; + + // Get the current element + var image = _this.core.___slide[index].querySelector('.lg-image'); + + if (!_this.core.isTouch) { + utils.on(image, 'dblclick', function (event) { + actualSize(event, image, index); + }); + } + + if (_this.core.isTouch) { + utils.on(image, 'touchstart', function (event) { + if (!tapped) { + tapped = setTimeout(function () { + tapped = null; + }, 300); + } else { + clearTimeout(tapped); + tapped = null; + actualSize(event, image, index); + } + + event.preventDefault(); + }); + } + }); + + // Update zoom on resize and orientationchange + utils.on(window, 'resize.lgzoom scroll.lgzoom orientationchange.lgzoom', function () { + _this.pageX = window.innerWidth / 2; + _this.pageY = window.innerHeight / 2 + (document.documentElement.scrollTop || document.body.scrollTop); + zoom(scale); + }); + + utils.on(document.getElementById('lg-zoom-out'), 'click.lg', function () { + if (_this.core.outer.querySelector('.lg-current .lg-image')) { + scale -= _this.core.s.scale; + callScale(); + } + }); + + utils.on(document.getElementById('lg-zoom-in'), 'click.lg', function () { + if (_this.core.outer.querySelector('.lg-current .lg-image')) { + scale += _this.core.s.scale; + callScale(); + } + }); + + utils.on(document.getElementById('lg-actual-size'), 'click.lg', function (event) { + actualSize(event, _this.core.___slide[_this.core.index].querySelector('.lg-image'), _this.core.index, true); + }); + + // Reset zoom on slide change + utils.on(_this.core.el, 'onBeforeSlide.lgtm', function () { + scale = 1; + _this.resetZoom(); + }); + + // Drag option after zoom + if (!_this.core.isTouch) { + _this.zoomDrag(); + } + + if (_this.core.isTouch) { + _this.zoomSwipe(); + } + }; + + Zoom.prototype.getModifier = function (rotateValue, axis, el) { + var originalRotate = rotateValue; + rotateValue = Math.abs(rotateValue); + var transformValues = this.getCurrentTransform(el); + if (!transformValues) { + return 1; + } + var modifier = 1; + if (axis === 'X') { + var flipHorizontalValue = Math.sign(parseFloat(transformValues[0])); + if (rotateValue === 0 || rotateValue === 180) { + modifier = 1; + } else if (rotateValue === 90) { + if (originalRotate === -90 && flipHorizontalValue === 1 || originalRotate === 90 && flipHorizontalValue === -1) { + modifier = -1; + } else { + modifier = 1; + } + } + modifier = modifier * flipHorizontalValue; + } else { + var flipVerticalValue = Math.sign(parseFloat(transformValues[3])); + if (rotateValue === 0 || rotateValue === 180) { + modifier = 1; + } else if (rotateValue === 90) { + var sinX = parseFloat(transformValues[1]); + var sinMinusX = parseFloat(transformValues[2]); + modifier = Math.sign(sinX * sinMinusX * originalRotate * flipVerticalValue); + } + modifier = modifier * flipVerticalValue; + } + return modifier; + }; + + Zoom.prototype.getImageSize = function ($image, rotateValue, axis) { + var imageSizes = { + y: 'offsetHeight', + x: 'offsetWidth' + }; + if (rotateValue === 90) { + // Swap axis + if (axis === 'x') { + axis = 'y'; + } else { + axis = 'x'; + } + } + return $image[imageSizes[axis]]; + }; + + Zoom.prototype.getDragCords = function (e, rotateValue) { + if (rotateValue === 90) { + return { + x: e.pageY, + y: e.pageX + }; + } else { + return { + x: e.pageX, + y: e.pageY + }; + } + }; + Zoom.prototype.getSwipeCords = function (e, rotateValue) { + var x = e.targetTouches[0].pageX; + var y = e.targetTouches[0].pageY; + if (rotateValue === 90) { + return { + x: y, + y: x + }; + } else { + return { + x: x, + y: y + }; + } + }; + + Zoom.prototype.getPossibleDragCords = function ($image, rotateValue) { + + var minY = (this.core.outer.querySelector('.lg').clientHeight - this.getImageSize($image, rotateValue, 'y')) / 2; + var maxY = Math.abs(this.getImageSize($image, rotateValue, 'y') * Math.abs($image.getAttribute('data-scale')) - this.core.outer.querySelector('.lg').clientHeight + minY); + var minX = (this.core.outer.querySelector('.lg').clientWidth - this.getImageSize($image, rotateValue, 'x')) / 2; + var maxX = Math.abs(this.getImageSize($image, rotateValue, 'x') * Math.abs($image.getAttribute('data-scale')) - this.core.outer.querySelector('.lg').clientWidth + minX); + if (rotateValue === 90) { + return { + minY: minX, + maxY: maxX, + minX: minY, + maxX: maxY + }; + } else { + return { + minY: minY, + maxY: maxY, + minX: minX, + maxX: maxX + }; + } + }; + + Zoom.prototype.getDragAllowedAxises = function ($image, rotateValue) { + var allowY = this.getImageSize($image, rotateValue, 'y') * $image.getAttribute('data-scale') > this.core.outer.querySelector('.lg').clientHeight; + var allowX = this.getImageSize($image, rotateValue, 'x') * $image.getAttribute('data-scale') > this.core.outer.querySelector('.lg').clientWidth; + if (rotateValue === 90) { + return { + allowX: allowY, + allowY: allowX + }; + } else { + return { + allowX: allowX, + allowY: allowY + }; + } + }; + + /** + * + * @param {Element} el + * @return matrix(cos(X), sin(X), -sin(X), cos(X), 0, 0); + * Get the current transform value + */ + Zoom.prototype.getCurrentTransform = function (el) { + if (!el) { + return 0; + } + var st = window.getComputedStyle(el, null); + 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') { + return tm.split('(')[1].split(')')[0].split(','); + } + return 0; + }; + + Zoom.prototype.getCurrentRotation = function (el) { + if (!el) { + return 0; + } + var values = this.getCurrentTransform(el); + if (values) { + return Math.round(Math.atan2(values[1], values[0]) * (180 / Math.PI)); + // If you want rotate in 360 + //return (angle < 0 ? angle + 360 : angle); + } + return 0; + }; + + // Reset zoom effect + Zoom.prototype.resetZoom = function () { + utils.removeClass(this.core.outer, 'lg-zoomed'); + for (var i = 0; i < this.core.___slide.length; i++) { + if (this.core.___slide[i].querySelector('.lg-img-wrap')) { + this.core.___slide[i].querySelector('.lg-img-wrap').removeAttribute('style'); + this.core.___slide[i].querySelector('.lg-img-wrap').removeAttribute('data-x'); + this.core.___slide[i].querySelector('.lg-img-wrap').removeAttribute('data-y'); + } + } + + for (var j = 0; j < this.core.___slide.length; j++) { + if (this.core.___slide[j].querySelector('.lg-image')) { + this.core.___slide[j].querySelector('.lg-image').removeAttribute('style'); + this.core.___slide[j].querySelector('.lg-image').removeAttribute('data-scale'); + } + } + + // Reset pagx pagy values to center + this.pageX = window.innerWidth / 2; + this.pageY = window.innerHeight / 2 + (document.documentElement.scrollTop || document.body.scrollTop); + }; + + 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 rotateValue = 0; + var rotateEl; + + for (var i = 0; i < _this.core.___slide.length; i++) { + + /*jshint loopfunc: true */ + utils.on(_this.core.___slide[i], 'touchstart.lg', function (e) { + + if (utils.hasClass(_this.core.outer, 'lg-zoomed')) { + var $image = _this.core.___slide[_this.core.index].querySelector('.lg-object'); + + rotateEl = _this.core.___slide[_this.core.index].querySelector('.lg-img-rotate'); + rotateValue = _this.getCurrentRotation(rotateEl); + + var dragAllowedAxises = _this.getDragAllowedAxises($image, Math.abs(rotateValue)); + allowY = dragAllowedAxises.allowY; + allowX = dragAllowedAxises.allowX; + + if (allowX || allowY) { + e.preventDefault(); + startCoords = _this.getSwipeCords(e, Math.abs(rotateValue)); + } + } + }); + } + + for (var j = 0; j < _this.core.___slide.length; j++) { + + /*jshint loopfunc: true */ + utils.on(_this.core.___slide[j], 'touchmove.lg', function (e) { + + if (utils.hasClass(_this.core.outer, 'lg-zoomed')) { + + var _el = _this.core.___slide[_this.core.index].querySelector('.lg-img-wrap'); + var distanceX; + var distanceY; + + e.preventDefault(); + isMoved = true; + + endCoords = _this.getSwipeCords(e, Math.abs(rotateValue)); + + // reset opacity and transition duration + utils.addClass(_this.core.outer, 'lg-zoom-dragging'); + + if (allowY) { + distanceY = -Math.abs(_el.getAttribute('data-y')) + (endCoords.y - startCoords.y) * _this.getModifier(rotateValue, 'Y', rotateEl); + } else { + distanceY = -Math.abs(_el.getAttribute('data-y')); + } + + if (allowX) { + distanceX = -Math.abs(_el.getAttribute('data-x')) + (endCoords.x - startCoords.x) * _this.getModifier(rotateValue, 'X', rotateEl); + } else { + distanceX = -Math.abs(_el.getAttribute('data-x')); + } + + if (Math.abs(endCoords.x - startCoords.x) > 15 || Math.abs(endCoords.y - startCoords.y) > 15) { + + if (_this.core.s.useLeftForZoom) { + _el.style.left = distanceX + 'px'; + _el.style.top = distanceY + 'px'; + } else { + utils.setVendor(_el, 'Transform', 'translate3d(' + distanceX + 'px, ' + distanceY + 'px, 0)'); + } + } + } + }); + } + + for (var k = 0; k < _this.core.___slide.length; k++) { + + /*jshint loopfunc: true */ + utils.on(_this.core.___slide[k], 'touchend.lg', function () { + if (utils.hasClass(_this.core.outer, 'lg-zoomed')) { + if (isMoved) { + isMoved = false; + utils.removeClass(_this.core.outer, 'lg-zoom-dragging'); + _this.touchendZoom(startCoords, endCoords, allowX, allowY, rotateValue); + } + } + }); + } + }; + + Zoom.prototype.zoomDrag = function () { + + var _this = this; + var startCoords = {}; + var endCoords = {}; + var isDraging = false; + var isMoved = false; + + // Allow x direction drag + var allowX = false; + + // Allow Y direction drag + var allowY = false; + + var rotateValue = 0; + var rotateEl; + + for (var i = 0; i < _this.core.___slide.length; i++) { + + /*jshint loopfunc: true */ + utils.on(_this.core.___slide[i], 'mousedown.lgzoom', function (e) { + + // execute only on .lg-object + var $image = _this.core.___slide[_this.core.index].querySelector('.lg-object'); + + rotateEl = _this.core.___slide[_this.core.index].querySelector('.lg-img-rotate'); + rotateValue = _this.getCurrentRotation(rotateEl); + + var dragAllowedAxises = _this.getDragAllowedAxises($image, Math.abs(rotateValue)); + allowY = dragAllowedAxises.allowY; + allowX = dragAllowedAxises.allowX; + + if (utils.hasClass(_this.core.outer, 'lg-zoomed')) { + if (utils.hasClass(e.target, 'lg-object') && (allowX || allowY)) { + e.preventDefault(); + startCoords = _this.getDragCords(e, Math.abs(rotateValue)); + + isDraging = true; + + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + _this.core.outer.scrollLeft += 1; + _this.core.outer.scrollLeft -= 1; + + utils.removeClass(_this.core.outer, 'lg-grab'); + utils.addClass(_this.core.outer, 'lg-grabbing'); + } + } + }); + } + + utils.on(window, 'mousemove.lgzoom', function (e) { + if (isDraging) { + var _el = _this.core.___slide[_this.core.index].querySelector('.lg-img-wrap'); + var distanceX; + var distanceY; + + isMoved = true; + endCoords = _this.getDragCords(e, Math.abs(rotateValue)); + + // reset opacity and transition duration + utils.addClass(_this.core.outer, 'lg-zoom-dragging'); + + if (allowY) { + distanceY = -Math.abs(_el.getAttribute('data-y')) + (endCoords.y - startCoords.y) * _this.getModifier(rotateValue, 'Y', rotateEl); + } else { + distanceY = -Math.abs(_el.getAttribute('data-y')); + } + + if (allowX) { + distanceX = -Math.abs(_el.getAttribute('data-x')) + (endCoords.x - startCoords.x) * _this.getModifier(rotateValue, 'X', rotateEl); + } else { + distanceX = -Math.abs(_el.getAttribute('data-x')); + } + + if (_this.core.s.useLeftForZoom) { + _el.style.left = distanceX + 'px'; + _el.style.top = distanceY + 'px'; + } else { + utils.setVendor(_el, 'Transform', 'translate3d(' + distanceX + 'px, ' + distanceY + 'px, 0)'); + } + } + }); + + utils.on(window, 'mouseup.lgzoom', function (e) { + + if (isDraging) { + isDraging = false; + utils.removeClass(_this.core.outer, 'lg-zoom-dragging'); + + // Fix for chrome mouse move on click + if (isMoved && (startCoords.x !== endCoords.x || startCoords.y !== endCoords.y)) { + endCoords = _this.getDragCords(e, Math.abs(rotateValue)); + _this.touchendZoom(startCoords, endCoords, allowX, allowY, rotateValue); + } + + isMoved = false; + } + + utils.removeClass(_this.core.outer, 'lg-grabbing'); + utils.addClass(_this.core.outer, 'lg-grab'); + }); + }; + + Zoom.prototype.touchendZoom = function (startCoords, endCoords, allowX, allowY, rotateValue) { + + var _this = this; + var _el = _this.core.___slide[_this.core.index].querySelector('.lg-img-wrap'); + var image = _this.core.___slide[_this.core.index].querySelector('.lg-object'); + var rotateEl = _this.core.___slide[_this.core.index].querySelector('.lg-img-rotate'); + var distanceX = -Math.abs(_el.getAttribute('data-x')) + (endCoords.x - startCoords.x) * _this.getModifier(rotateValue, 'X', rotateEl); + var distanceY = -Math.abs(_el.getAttribute('data-y')) + (endCoords.y - startCoords.y) * _this.getModifier(rotateValue, 'Y', rotateEl); + var possibleDragCords = _this.getPossibleDragCords(image, Math.abs(rotateValue)); + + if (Math.abs(endCoords.x - startCoords.x) > 15 || Math.abs(endCoords.y - startCoords.y) > 15) { + if (allowY) { + if (distanceY <= -possibleDragCords.maxY) { + distanceY = -possibleDragCords.maxY; + } else if (distanceY >= -possibleDragCords.minY) { + distanceY = -possibleDragCords.minY; + } + } + + if (allowX) { + if (distanceX <= -possibleDragCords.maxX) { + distanceX = -possibleDragCords.maxX; + } else if (distanceX >= -possibleDragCords.minX) { + distanceX = -possibleDragCords.minX; + } + } + + if (allowY) { + _el.setAttribute('data-y', Math.abs(distanceY)); + } else { + distanceY = -Math.abs(_el.getAttribute('data-y')); + } + + if (allowX) { + _el.setAttribute('data-x', Math.abs(distanceX)); + } else { + distanceX = -Math.abs(_el.getAttribute('data-x')); + } + + if (_this.core.s.useLeftForZoom) { + _el.style.left = distanceX + 'px'; + _el.style.top = distanceY + 'px'; + } else { + utils.setVendor(_el, 'Transform', 'translate3d(' + distanceX + 'px, ' + distanceY + 'px, 0)'); + } + } + }; + + Zoom.prototype.destroy = function () { + + var _this = this; + + // Unbind all events added by lightGallery zoom plugin + utils.off(_this.core.el, '.lgzoom'); + utils.off(window, '.lgzoom'); + for (var i = 0; i < _this.core.___slide.length; i++) { + utils.off(_this.core.___slide[i], '.lgzoom'); + } + + utils.off(_this.core.el, '.lgtmzoom'); + _this.resetZoom(); + clearTimeout(_this.zoomabletimeout); + _this.zoomabletimeout = false; + }; + + window.lgModules.zoom = Zoom; +}); + +},{}]},{},[1])(1) +}); diff --git a/public/js/vendor/lg-zoom.js/dist/lg-zoom.min.js b/public/js/vendor/lg-zoom.js/dist/lg-zoom.min.js new file mode 100644 index 0000000..93425db --- /dev/null +++ b/public/js/vendor/lg-zoom.js/dist/lg-zoom.min.js @@ -0,0 +1,7 @@ +/**! + * lg-zoom.js | 1.3.0 | October 14th 2020 + * http://sachinchoolur.github.io/lg-zoom.js + * Copyright (c) 2016 Sachin N; + * @license GPLv3 + */ +!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.LgZoom=e()}}(function(){var e,t,o;return function(){function e(t,o,r){function i(l,s){if(!o[l]){if(!t[l]){var n="function"==typeof require&&require;if(!s&&n)return n(l,!0);if(a)return a(l,!0);var u=new Error("Cannot find module '"+l+"'");throw u.code="MODULE_NOT_FOUND",u}var c=o[l]={exports:{}};t[l][0].call(c.exports,function(e){return i(t[l][1][e]||e)},c,c.exports,e,t,o,r)}return o[l].exports}for(var a="function"==typeof require&&require,l=0;l';e.core.s.actualSize&&(t+=''),e.core.s.useLeftForZoom?utils.addClass(e.core.outer,"lg-use-left-for-zoom"):utils.addClass(e.core.outer,"lg-use-transition-for-zoom"),this.core.outer.querySelector(".lg-toolbar").insertAdjacentHTML("beforeend",t),utils.on(e.core.el,"onSlideItemLoad.lgtmzoom",function(t){var o=e.core.s.enableZoomAfter+t.detail.delay;utils.hasClass(document.body,"lg-from-hash")&&t.detail.delay?o=0:utils.removeClass(document.body,"lg-from-hash"),e.zoomabletimeout=setTimeout(function(){utils.addClass(e.core.___slide[t.detail.index],"lg-zoomable")},o+30)});var o=1,r=function t(o){var r=e.core.outer.querySelector(".lg-current .lg-image"),i,a,l=(window.innerWidth-r.clientWidth)/2,s=(window.innerHeight-r.clientHeight)/2+(document.documentElement.scrollTop||document.body.scrollTop);i=e.pageX-l,a=e.pageY-s;var n=(o-1)*i,u=(o-1)*a;utils.setVendor(r,"Transform","scale3d("+o+", "+o+", 1)"),r.setAttribute("data-scale",o),e.core.s.useLeftForZoom?(r.parentElement.style.left=-n+"px",r.parentElement.style.top=-u+"px"):utils.setVendor(r.parentElement,"Transform","translate3d(-"+n+"px, -"+u+"px, 0)"),r.parentElement.setAttribute("data-x",n),r.parentElement.setAttribute("data-y",u)},i=function t(){o>1?utils.addClass(e.core.outer,"lg-zoomed"):e.resetZoom(),o<1&&(o=1),r(o)},a=function t(r,a,l,s){var n=a.clientWidth,u;u=e.core.s.dynamic?e.core.s.dynamicEl[l].width||a.naturalWidth||n:e.core.items[l].getAttribute("data-width")||a.naturalWidth||n;var c;utils.hasClass(e.core.outer,"lg-zoomed")?o=1:u>n&&(c=u/n,o=c||2),s?(e.pageX=window.innerWidth/2,e.pageY=window.innerHeight/2+(document.documentElement.scrollTop||document.body.scrollTop)):(e.pageX=r.pageX||r.targetTouches[0].pageX,e.pageY=r.pageY||r.targetTouches[0].pageY),i(),setTimeout(function(){utils.removeClass(e.core.outer,"lg-grabbing"),utils.addClass(e.core.outer,"lg-grab")},10)},l=!1;utils.on(e.core.el,"onAferAppendSlide.lgtmzoom",function(t){var o=t.detail.index,r=e.core.___slide[o].querySelector(".lg-image");e.core.isTouch||utils.on(r,"dblclick",function(e){a(e,r,o)}),e.core.isTouch&&utils.on(r,"touchstart",function(e){l?(clearTimeout(l),l=null,a(e,r,o)):l=setTimeout(function(){l=null},300),e.preventDefault()})}),utils.on(window,"resize.lgzoom scroll.lgzoom orientationchange.lgzoom",function(){e.pageX=window.innerWidth/2,e.pageY=window.innerHeight/2+(document.documentElement.scrollTop||document.body.scrollTop),r(o)}),utils.on(document.getElementById("lg-zoom-out"),"click.lg",function(){e.core.outer.querySelector(".lg-current .lg-image")&&(o-=e.core.s.scale,i())}),utils.on(document.getElementById("lg-zoom-in"),"click.lg",function(){e.core.outer.querySelector(".lg-current .lg-image")&&(o+=e.core.s.scale,i())}),utils.on(document.getElementById("lg-actual-size"),"click.lg",function(t){a(t,e.core.___slide[e.core.index].querySelector(".lg-image"),e.core.index,!0)}),utils.on(e.core.el,"onBeforeSlide.lgtm",function(){o=1,e.resetZoom()}),e.core.isTouch||e.zoomDrag(),e.core.isTouch&&e.zoomSwipe()},r.prototype.getModifier=function(e,t,o){var r=e;e=Math.abs(e);var i=this.getCurrentTransform(o);if(!i)return 1;var a=1;if("X"===t){var l=Math.sign(parseFloat(i[0]));0===e||180===e?a=1:90===e&&(a=-90===r&&1===l||90===r&&-1===l?-1:1),a*=l}else{var s=Math.sign(parseFloat(i[3]));if(0===e||180===e)a=1;else if(90===e){var n=parseFloat(i[1]),u=parseFloat(i[2]);a=Math.sign(n*u*r*s)}a*=s}return a},r.prototype.getImageSize=function(e,t,o){var r={y:"offsetHeight",x:"offsetWidth"};return 90===t&&(o="x"===o?"y":"x"),e[r[o]]},r.prototype.getDragCords=function(e,t){return 90===t?{x:e.pageY,y:e.pageX}:{x:e.pageX,y:e.pageY}},r.prototype.getSwipeCords=function(e,t){var o=e.targetTouches[0].pageX,r=e.targetTouches[0].pageY;return 90===t?{x:r,y:o}:{x:o,y:r}},r.prototype.getPossibleDragCords=function(e,t){var o=(this.core.outer.querySelector(".lg").clientHeight-this.getImageSize(e,t,"y"))/2,r=Math.abs(this.getImageSize(e,t,"y")*Math.abs(e.getAttribute("data-scale"))-this.core.outer.querySelector(".lg").clientHeight+o),i=(this.core.outer.querySelector(".lg").clientWidth-this.getImageSize(e,t,"x"))/2,a=Math.abs(this.getImageSize(e,t,"x")*Math.abs(e.getAttribute("data-scale"))-this.core.outer.querySelector(".lg").clientWidth+i);return 90===t?{minY:i,maxY:a,minX:o,maxX:r}:{minY:o,maxY:r,minX:i,maxX:a}},r.prototype.getDragAllowedAxises=function(e,t){var o=this.getImageSize(e,t,"y")*e.getAttribute("data-scale")>this.core.outer.querySelector(".lg").clientHeight,r=this.getImageSize(e,t,"x")*e.getAttribute("data-scale")>this.core.outer.querySelector(".lg").clientWidth;return 90===t?{allowX:o,allowY:r}:{allowX:r,allowY:o}},r.prototype.getCurrentTransform=function(e){if(!e)return 0;var t=window.getComputedStyle(e,null),o=t.getPropertyValue("-webkit-transform")||t.getPropertyValue("-moz-transform")||t.getPropertyValue("-ms-transform")||t.getPropertyValue("-o-transform")||t.getPropertyValue("transform")||"none";return"none"!==o?o.split("(")[1].split(")")[0].split(","):0},r.prototype.getCurrentRotation=function(e){if(!e)return 0;var t=this.getCurrentTransform(e);return t?Math.round(Math.atan2(t[1],t[0])*(180/Math.PI)):0},r.prototype.resetZoom=function(){utils.removeClass(this.core.outer,"lg-zoomed");for(var e=0;e15||Math.abs(o.y-t.y)>15)&&(e.core.s.useLeftForZoom?(u.style.left=c+"px",u.style.top=g+"px"):utils.setVendor(u,"Transform","translate3d("+c+"px, "+g+"px, 0)"))}});for(var c=0;c15||Math.abs(t.y-e.y)>15)&&(r&&(c<=-g.maxY?c=-g.maxY:c>=-g.minY&&(c=-g.minY)),o&&(u<=-g.maxX?u=-g.maxX:u>=-g.minX&&(u=-g.minX)),r?l.setAttribute("data-y",Math.abs(c)):c=-Math.abs(l.getAttribute("data-y")),o?l.setAttribute("data-x",Math.abs(u)):u=-Math.abs(l.getAttribute("data-x")),a.core.s.useLeftForZoom?(l.style.left=u+"px",l.style.top=c+"px"):utils.setVendor(l,"Transform","translate3d("+u+"px, "+c+"px, 0)"))},r.prototype.destroy=function(){var e=this;utils.off(e.core.el,".lgzoom"),utils.off(window,".lgzoom");for(var t=0;t + --- + + + + + + + + + +``` + +[Demos](http://sachinchoolur.github.io/lightgallery.js) +---- + +[Docs](http://sachinchoolur.github.io/lightgallery.js/docs/api.html#lg-zoom) +----- + +License +--- + +#### Commercial license +If you want to use lightgallery.js to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Purchase a lightgallery.js Commercial License at [uplabs.com/posts/lightgallery-js](https://www.uplabs.com/posts/lightgallery-js) + +#### Open source license + +If you are creating an open source application under a license compatible with the GNU GPL license v3, you may use this project under the terms of the GPLv3. + diff --git a/public/js/vendor/lightgallery.js/LICENSE.md b/public/js/vendor/lightgallery.js/LICENSE.md new file mode 100644 index 0000000..649e00a --- /dev/null +++ b/public/js/vendor/lightgallery.js/LICENSE.md @@ -0,0 +1,684 @@ +## License + +### Commercial License + +If you want to use lightgallery.js for business, commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Purchase a lightgallery.js Commercial License at https://site.uplabs.com/posts/lightgallery-js + +### Open-source License + +If you are creating an open source application under a license compatible with the GNU GPL license v3, you may use this project under the terms of the GPLv3. + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/public/js/vendor/lightgallery.js/contributing.md b/public/js/vendor/lightgallery.js/contributing.md new file mode 100644 index 0000000..8eec0ab --- /dev/null +++ b/public/js/vendor/lightgallery.js/contributing.md @@ -0,0 +1,29 @@ +# Contributing + +You're more than welcome to contribute to this project. Please note: your code may be used as part of a commercial product if merged. + +## Important notes +Please don't edit files in the `dist` subdirectory as they are generated via npm script. You'll find source code in the `src` subdirectory! + +### Code style +Regarding code style like indentation and whitespace, **follow the conventions you see used in the source already.** + +## Modifying the code +First, ensure that you have the latest [Node.js](http://nodejs.org/) and [npm](http://npmjs.org/) installed. + +1. Fork and clone the repo. +1. Run `npm install` to get the project's dependencies +1. Run `npm run build` to produce minified version of your library. + +## Submitting pull requests +Pull requests are very welcome. Note that if you are going to propose drastic changes, be sure to open an issue for discussion first, to make sure that your PR will be accepted before you spend effort coding it. + +1. Javascript changes of lightgallery plugins should be made in repective github repositoy. +2. SCSS and CSS changes should be made in lightgallery.js repository. Ex: If you want to submit a PR for lightgallery.js thumbnails plugin javacsript changes should be submitted in [lg-thumbnails.js](https://github.com/sachinchoolur/lg-thumbnail.js) repository and SCSS and CSS changes should be submitted in [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js) repository. +2. Create a new branch, please don't work in your `master` branch directly. +1. Add failing tests for the change you want to make. Run `npm run build` to see the tests fail. +1. Fix stuff. +1. Run `npm run build` to see if the tests pass. Repeat steps 2-4 until done. +1. Update the documentation to reflect any changes. +2. Please do not include minified files with the pull request as i will do it myself. +1. Push to your fork and submit a pull request. diff --git a/public/js/vendor/lightgallery.js/dist/css/lg-fb-comment-box.css b/public/js/vendor/lightgallery.js/dist/css/lg-fb-comment-box.css new file mode 100644 index 0000000..b7d58f5 --- /dev/null +++ b/public/js/vendor/lightgallery.js/dist/css/lg-fb-comment-box.css @@ -0,0 +1,31 @@ +.lg-outer.fb-comments .lg-img-wrap { + padding-right: 400px !important; } +.lg-outer.fb-comments .fb-comments { + height: 100%; + overflow-y: auto; + position: absolute; + right: 0; + top: 0; + width: 420px; + z-index: 99999; + background: #fff url("../img/loading.gif") no-repeat scroll center center; } + .lg-outer.fb-comments .fb-comments.fb_iframe_widget { + background-image: none; } + .lg-outer.fb-comments .fb-comments.fb_iframe_widget.fb_iframe_widget_loader { + background: #fff url("../img/loading.gif") no-repeat scroll center center; } +.lg-outer.fb-comments .lg-toolbar { + right: 420px; + width: auto; } +.lg-outer.fb-comments .lg-actions .lg-next { + right: 420px; } +.lg-outer.fb-comments .lg-item { + background-image: none; } + .lg-outer.fb-comments .lg-item.lg-complete .lg-img-wrap { + background-image: none; } +.lg-outer.fb-comments .lg-img-wrap { + background: url(../img/loading.gif) no-repeat scroll center center transparent; } +.lg-outer.fb-comments .lg-sub-html { + padding: 0; + position: static; } + +/*# sourceMappingURL=lg-fb-comment-box.css.map */ diff --git a/public/js/vendor/lightgallery.js/dist/css/lg-fb-comment-box.css.map b/public/js/vendor/lightgallery.js/dist/css/lg-fb-comment-box.css.map new file mode 100644 index 0000000..aa4bb52 --- /dev/null +++ b/public/js/vendor/lightgallery.js/dist/css/lg-fb-comment-box.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "AAGI,kCAAa;EACT,aAAa,EAAE,gBAAgB;AAEnC,kCAAa;EACT,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,CAAC;EACR,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,KAAK;EACZ,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,6DAA6D;EACzE,mDAAmB;IACf,gBAAgB,EAAE,IAAI;IACtB,2EAAyB;MACrB,UAAU,EAAE,6DAA6D;AAIrF,iCAAY;EACR,KAAK,EAAE,KAAK;EACZ,KAAK,EAAE,IAAI;AAEf,0CAAqB;EACjB,KAAK,EAAE,KAAK;AAEhB,8BAAS;EACL,gBAAgB,EAAE,IAAI;EAElB,uDAAY;IACR,gBAAgB,EAAE,IAAI;AAIlC,kCAAa;EACT,UAAU,EAAE,kEAAkE;AAGlF,kCAAa;EACT,OAAO,EAAE,CAAC;EACV,QAAQ,EAAE,MAAM", +"sources": ["../sass/lg-fb-comment-box.scss"], +"names": [], +"file": "lg-fb-comment-box.css" +} diff --git a/public/js/vendor/lightgallery.js/dist/css/lg-fb-comment-box.min.css b/public/js/vendor/lightgallery.js/dist/css/lg-fb-comment-box.min.css new file mode 100644 index 0000000..a3e1131 --- /dev/null +++ b/public/js/vendor/lightgallery.js/dist/css/lg-fb-comment-box.min.css @@ -0,0 +1 @@ +.lg-outer.fb-comments .fb-comments{height:100%;overflow-y:auto;position:absolute;right:0;top:0;width:420px;z-index:99999;background:url(../img/loading.gif) center center no-repeat #fff}.lg-outer.fb-comments .fb-comments.fb_iframe_widget{background-image:none}.lg-outer.fb-comments .fb-comments.fb_iframe_widget.fb_iframe_widget_loader{background:url(../img/loading.gif) center center no-repeat #fff}.lg-outer.fb-comments .lg-toolbar{right:420px;width:auto}.lg-outer.fb-comments .lg-actions .lg-next{right:420px}.lg-outer.fb-comments .lg-item,.lg-outer.fb-comments .lg-item.lg-complete .lg-img-wrap{background-image:none}.lg-outer.fb-comments .lg-img-wrap{padding-right:400px!important;background:url(../img/loading.gif) center center no-repeat}.lg-outer.fb-comments .lg-sub-html{padding:0;position:static} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/dist/css/lg-transitions.css b/public/js/vendor/lightgallery.js/dist/css/lg-transitions.css new file mode 100644 index 0000000..a80062f --- /dev/null +++ b/public/js/vendor/lightgallery.js/dist/css/lg-transitions.css @@ -0,0 +1,776 @@ +.lg-css3.lg-zoom-in .lg-item { + opacity: 0; } + .lg-css3.lg-zoom-in .lg-item.lg-prev-slide { + -webkit-transform: scale3d(1.3, 1.3, 1.3); + transform: scale3d(1.3, 1.3, 1.3); } + .lg-css3.lg-zoom-in .lg-item.lg-next-slide { + -webkit-transform: scale3d(1.3, 1.3, 1.3); + transform: scale3d(1.3, 1.3, 1.3); } + .lg-css3.lg-zoom-in .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-zoom-in .lg-item.lg-prev-slide, .lg-css3.lg-zoom-in .lg-item.lg-next-slide, .lg-css3.lg-zoom-in .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-zoom-in-big .lg-item { + opacity: 0; } + .lg-css3.lg-zoom-in-big .lg-item.lg-prev-slide { + -webkit-transform: scale3d(2, 2, 2); + transform: scale3d(2, 2, 2); } + .lg-css3.lg-zoom-in-big .lg-item.lg-next-slide { + -webkit-transform: scale3d(2, 2, 2); + transform: scale3d(2, 2, 2); } + .lg-css3.lg-zoom-in-big .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-zoom-in-big .lg-item.lg-prev-slide, .lg-css3.lg-zoom-in-big .lg-item.lg-next-slide, .lg-css3.lg-zoom-in-big .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-zoom-out .lg-item { + opacity: 0; } + .lg-css3.lg-zoom-out .lg-item.lg-prev-slide { + -webkit-transform: scale3d(0.7, 0.7, 0.7); + transform: scale3d(0.7, 0.7, 0.7); } + .lg-css3.lg-zoom-out .lg-item.lg-next-slide { + -webkit-transform: scale3d(0.7, 0.7, 0.7); + transform: scale3d(0.7, 0.7, 0.7); } + .lg-css3.lg-zoom-out .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-zoom-out .lg-item.lg-prev-slide, .lg-css3.lg-zoom-out .lg-item.lg-next-slide, .lg-css3.lg-zoom-out .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-zoom-out-big .lg-item { + opacity: 0; } + .lg-css3.lg-zoom-out-big .lg-item.lg-prev-slide { + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); } + .lg-css3.lg-zoom-out-big .lg-item.lg-next-slide { + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); } + .lg-css3.lg-zoom-out-big .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-zoom-out-big .lg-item.lg-prev-slide, .lg-css3.lg-zoom-out-big .lg-item.lg-next-slide, .lg-css3.lg-zoom-out-big .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-zoom-out-in .lg-item { + opacity: 0; } + .lg-css3.lg-zoom-out-in .lg-item.lg-prev-slide { + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); } + .lg-css3.lg-zoom-out-in .lg-item.lg-next-slide { + -webkit-transform: scale3d(2, 2, 2); + transform: scale3d(2, 2, 2); } + .lg-css3.lg-zoom-out-in .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-zoom-out-in .lg-item.lg-prev-slide, .lg-css3.lg-zoom-out-in .lg-item.lg-next-slide, .lg-css3.lg-zoom-out-in .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-zoom-in-out .lg-item { + opacity: 0; } + .lg-css3.lg-zoom-in-out .lg-item.lg-prev-slide { + -webkit-transform: scale3d(2, 2, 2); + transform: scale3d(2, 2, 2); } + .lg-css3.lg-zoom-in-out .lg-item.lg-next-slide { + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); } + .lg-css3.lg-zoom-in-out .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-zoom-in-out .lg-item.lg-prev-slide, .lg-css3.lg-zoom-in-out .lg-item.lg-next-slide, .lg-css3.lg-zoom-in-out .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-soft-zoom .lg-item { + opacity: 0; } + .lg-css3.lg-soft-zoom .lg-item.lg-prev-slide { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); } + .lg-css3.lg-soft-zoom .lg-item.lg-next-slide { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); } + .lg-css3.lg-soft-zoom .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-soft-zoom .lg-item.lg-prev-slide, .lg-css3.lg-soft-zoom .lg-item.lg-next-slide, .lg-css3.lg-soft-zoom .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-scale-up .lg-item { + opacity: 0; } + .lg-css3.lg-scale-up .lg-item.lg-prev-slide { + -moz-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -o-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -ms-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -webkit-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); } + .lg-css3.lg-scale-up .lg-item.lg-next-slide { + -moz-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -o-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -ms-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -webkit-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); } + .lg-css3.lg-scale-up .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-scale-up .lg-item.lg-prev-slide, .lg-css3.lg-scale-up .lg-item.lg-next-slide, .lg-css3.lg-scale-up .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-circular .lg-item { + opacity: 0; } + .lg-css3.lg-slide-circular .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + -o-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); } + .lg-css3.lg-slide-circular .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + -o-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); } + .lg-css3.lg-slide-circular .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-circular .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular .lg-item.lg-next-slide, .lg-css3.lg-slide-circular .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-circular-up .lg-item { + opacity: 0; } + .lg-css3.lg-slide-circular-up .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); } + .lg-css3.lg-slide-circular-up .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); } + .lg-css3.lg-slide-circular-up .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-circular-up .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular-up .lg-item.lg-next-slide, .lg-css3.lg-slide-circular-up .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-circular-down .lg-item { + opacity: 0; } + .lg-css3.lg-slide-circular-down .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); } + .lg-css3.lg-slide-circular-down .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); } + .lg-css3.lg-slide-circular-down .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-circular-down .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular-down .lg-item.lg-next-slide, .lg-css3.lg-slide-circular-down .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-circular-vertical .lg-item { + opacity: 0; } + .lg-css3.lg-slide-circular-vertical .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); + transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); } + .lg-css3.lg-slide-circular-vertical .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); + transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); } + .lg-css3.lg-slide-circular-vertical .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-circular-vertical .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular-vertical .lg-item.lg-next-slide, .lg-css3.lg-slide-circular-vertical .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-circular-vertical-left .lg-item { + opacity: 0; } + .lg-css3.lg-slide-circular-vertical-left .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); } + .lg-css3.lg-slide-circular-vertical-left .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); } + .lg-css3.lg-slide-circular-vertical-left .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-circular-vertical-left .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular-vertical-left .lg-item.lg-next-slide, .lg-css3.lg-slide-circular-vertical-left .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-circular-vertical-down .lg-item { + opacity: 0; } + .lg-css3.lg-slide-circular-vertical-down .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); } + .lg-css3.lg-slide-circular-vertical-down .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); } + .lg-css3.lg-slide-circular-vertical-down .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-circular-vertical-down .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular-vertical-down .lg-item.lg-next-slide, .lg-css3.lg-slide-circular-vertical-down .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-vertical .lg-item { + opacity: 0; } + .lg-css3.lg-slide-vertical .lg-item.lg-prev-slide { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); } + .lg-css3.lg-slide-vertical .lg-item.lg-next-slide { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); } + .lg-css3.lg-slide-vertical .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-vertical .lg-item.lg-prev-slide, .lg-css3.lg-slide-vertical .lg-item.lg-next-slide, .lg-css3.lg-slide-vertical .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-vertical-growth .lg-item { + opacity: 0; } + .lg-css3.lg-slide-vertical-growth .lg-item.lg-prev-slide { + -moz-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); + -o-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); + -ms-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); + -webkit-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); + transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); } + .lg-css3.lg-slide-vertical-growth .lg-item.lg-next-slide { + -moz-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); + -o-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); + -ms-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); + -webkit-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); + transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); } + .lg-css3.lg-slide-vertical-growth .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-vertical-growth .lg-item.lg-prev-slide, .lg-css3.lg-slide-vertical-growth .lg-item.lg-next-slide, .lg-css3.lg-slide-vertical-growth .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-only .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-only .lg-item.lg-prev-slide { + -moz-transform: skew(10deg, 0deg); + -o-transform: skew(10deg, 0deg); + -ms-transform: skew(10deg, 0deg); + -webkit-transform: skew(10deg, 0deg); + transform: skew(10deg, 0deg); } + .lg-css3.lg-slide-skew-only .lg-item.lg-next-slide { + -moz-transform: skew(10deg, 0deg); + -o-transform: skew(10deg, 0deg); + -ms-transform: skew(10deg, 0deg); + -webkit-transform: skew(10deg, 0deg); + transform: skew(10deg, 0deg); } + .lg-css3.lg-slide-skew-only .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg); + -o-transform: skew(0deg, 0deg); + -ms-transform: skew(0deg, 0deg); + -webkit-transform: skew(0deg, 0deg); + transform: skew(0deg, 0deg); + opacity: 1; } + .lg-css3.lg-slide-skew-only .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-only .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-only .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-only-rev .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-only-rev .lg-item.lg-prev-slide { + -moz-transform: skew(-10deg, 0deg); + -o-transform: skew(-10deg, 0deg); + -ms-transform: skew(-10deg, 0deg); + -webkit-transform: skew(-10deg, 0deg); + transform: skew(-10deg, 0deg); } + .lg-css3.lg-slide-skew-only-rev .lg-item.lg-next-slide { + -moz-transform: skew(-10deg, 0deg); + -o-transform: skew(-10deg, 0deg); + -ms-transform: skew(-10deg, 0deg); + -webkit-transform: skew(-10deg, 0deg); + transform: skew(-10deg, 0deg); } + .lg-css3.lg-slide-skew-only-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg); + -o-transform: skew(0deg, 0deg); + -ms-transform: skew(0deg, 0deg); + -webkit-transform: skew(0deg, 0deg); + transform: skew(0deg, 0deg); + opacity: 1; } + .lg-css3.lg-slide-skew-only-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-only-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-only-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-only-y .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-only-y .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, 10deg); + -o-transform: skew(0deg, 10deg); + -ms-transform: skew(0deg, 10deg); + -webkit-transform: skew(0deg, 10deg); + transform: skew(0deg, 10deg); } + .lg-css3.lg-slide-skew-only-y .lg-item.lg-next-slide { + -moz-transform: skew(0deg, 10deg); + -o-transform: skew(0deg, 10deg); + -ms-transform: skew(0deg, 10deg); + -webkit-transform: skew(0deg, 10deg); + transform: skew(0deg, 10deg); } + .lg-css3.lg-slide-skew-only-y .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg); + -o-transform: skew(0deg, 0deg); + -ms-transform: skew(0deg, 0deg); + -webkit-transform: skew(0deg, 0deg); + transform: skew(0deg, 0deg); + opacity: 1; } + .lg-css3.lg-slide-skew-only-y .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-only-y .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-only-y .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-only-y-rev .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, -10deg); + -o-transform: skew(0deg, -10deg); + -ms-transform: skew(0deg, -10deg); + -webkit-transform: skew(0deg, -10deg); + transform: skew(0deg, -10deg); } + .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-next-slide { + -moz-transform: skew(0deg, -10deg); + -o-transform: skew(0deg, -10deg); + -ms-transform: skew(0deg, -10deg); + -webkit-transform: skew(0deg, -10deg); + transform: skew(0deg, -10deg); } + .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg); + -o-transform: skew(0deg, 0deg); + -ms-transform: skew(0deg, 0deg); + -webkit-transform: skew(0deg, 0deg); + transform: skew(0deg, 0deg); + opacity: 1; } + .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew .lg-item.lg-prev-slide { + -moz-transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); + -o-transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); + -ms-transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); + -webkit-transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); + transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); } + .lg-css3.lg-slide-skew .lg-item.lg-next-slide { + -moz-transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); + -o-transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); + -ms-transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); + -webkit-transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); + transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); } + .lg-css3.lg-slide-skew .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew .lg-item.lg-next-slide, .lg-css3.lg-slide-skew .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-rev .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-rev .lg-item.lg-prev-slide { + -moz-transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); + -o-transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); + -ms-transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); + -webkit-transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); + transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); } + .lg-css3.lg-slide-skew-rev .lg-item.lg-next-slide { + -moz-transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); + -o-transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); + -ms-transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); + -webkit-transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); + transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); } + .lg-css3.lg-slide-skew-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-cross .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-cross .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); + -o-transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); + -ms-transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); + -webkit-transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); + transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); } + .lg-css3.lg-slide-skew-cross .lg-item.lg-next-slide { + -moz-transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); + -o-transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); + -ms-transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); + -webkit-transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); + transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); } + .lg-css3.lg-slide-skew-cross .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-cross .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-cross .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-cross .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-cross-rev .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); + -o-transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); + -ms-transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); + -webkit-transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); + transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); } + .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-next-slide { + -moz-transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); + -o-transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); + -ms-transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); + -webkit-transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); + transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); } + .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-ver .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-ver .lg-item.lg-prev-slide { + -moz-transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); + -o-transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); + -ms-transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); + -webkit-transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); + transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); } + .lg-css3.lg-slide-skew-ver .lg-item.lg-next-slide { + -moz-transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); + -o-transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); + -ms-transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); + -webkit-transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); + transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); } + .lg-css3.lg-slide-skew-ver .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-ver .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-ver .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-ver .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-ver-rev .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-prev-slide { + -moz-transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); + -o-transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); + -ms-transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); + -webkit-transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); + transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); } + .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-next-slide { + -moz-transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); + -o-transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); + -ms-transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); + -webkit-transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); + transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); } + .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-ver-cross .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); + -o-transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); + -ms-transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); + -webkit-transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); + transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); } + .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-next-slide { + -moz-transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); + -o-transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); + -ms-transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); + -webkit-transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); + transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); } + .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-ver-cross-rev .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); + -o-transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); + -ms-transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); + -webkit-transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); + transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); } + .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-next-slide { + -moz-transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); + -o-transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); + -ms-transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); + -webkit-transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); + transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); } + .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-lollipop .lg-item { + opacity: 0; } + .lg-css3.lg-lollipop .lg-item.lg-prev-slide { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); } + .lg-css3.lg-lollipop .lg-item.lg-next-slide { + -moz-transform: translate3d(0, 0, 0) scale(0.5); + -o-transform: translate3d(0, 0, 0) scale(0.5); + -ms-transform: translate3d(0, 0, 0) scale(0.5); + -webkit-transform: translate3d(0, 0, 0) scale(0.5); + transform: translate3d(0, 0, 0) scale(0.5); } + .lg-css3.lg-lollipop .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-lollipop .lg-item.lg-prev-slide, .lg-css3.lg-lollipop .lg-item.lg-next-slide, .lg-css3.lg-lollipop .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-lollipop-rev .lg-item { + opacity: 0; } + .lg-css3.lg-lollipop-rev .lg-item.lg-prev-slide { + -moz-transform: translate3d(0, 0, 0) scale(0.5); + -o-transform: translate3d(0, 0, 0) scale(0.5); + -ms-transform: translate3d(0, 0, 0) scale(0.5); + -webkit-transform: translate3d(0, 0, 0) scale(0.5); + transform: translate3d(0, 0, 0) scale(0.5); } + .lg-css3.lg-lollipop-rev .lg-item.lg-next-slide { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); } + .lg-css3.lg-lollipop-rev .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-lollipop-rev .lg-item.lg-prev-slide, .lg-css3.lg-lollipop-rev .lg-item.lg-next-slide, .lg-css3.lg-lollipop-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-rotate .lg-item { + opacity: 0; } + .lg-css3.lg-rotate .lg-item.lg-prev-slide { + -moz-transform: rotate(-360deg); + -o-transform: rotate(-360deg); + -ms-transform: rotate(-360deg); + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); } + .lg-css3.lg-rotate .lg-item.lg-next-slide { + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } + .lg-css3.lg-rotate .lg-item.lg-current { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + opacity: 1; } + .lg-css3.lg-rotate .lg-item.lg-prev-slide, .lg-css3.lg-rotate .lg-item.lg-next-slide, .lg-css3.lg-rotate .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-rotate-rev .lg-item { + opacity: 0; } + .lg-css3.lg-rotate-rev .lg-item.lg-prev-slide { + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } + .lg-css3.lg-rotate-rev .lg-item.lg-next-slide { + -moz-transform: rotate(-360deg); + -o-transform: rotate(-360deg); + -ms-transform: rotate(-360deg); + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); } + .lg-css3.lg-rotate-rev .lg-item.lg-current { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + opacity: 1; } + .lg-css3.lg-rotate-rev .lg-item.lg-prev-slide, .lg-css3.lg-rotate-rev .lg-item.lg-next-slide, .lg-css3.lg-rotate-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-tube .lg-item { + opacity: 0; } + .lg-css3.lg-tube .lg-item.lg-prev-slide { + -moz-transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); + -o-transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); + -ms-transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); + -webkit-transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); + transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); } + .lg-css3.lg-tube .lg-item.lg-next-slide { + -moz-transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); + -o-transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); + -ms-transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); + -webkit-transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); + transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); } + .lg-css3.lg-tube .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-tube .lg-item.lg-prev-slide, .lg-css3.lg-tube .lg-item.lg-next-slide, .lg-css3.lg-tube .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } + +/*# sourceMappingURL=lg-transitions.css.map */ diff --git a/public/js/vendor/lightgallery.js/dist/css/lg-transitions.css.map b/public/js/vendor/lightgallery.js/dist/css/lg-transitions.css.map new file mode 100644 index 0000000..44fd827 --- /dev/null +++ b/public/js/vendor/lightgallery.js/dist/css/lg-transitions.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../sass/lg-transitions.scss","../sass/lg-mixins.scss"], +"names": [], +"file": "lg-transitions.css" +} diff --git a/public/js/vendor/lightgallery.js/dist/css/lg-transitions.min.css b/public/js/vendor/lightgallery.js/dist/css/lg-transitions.min.css new file mode 100644 index 0000000..773ac22 --- /dev/null +++ b/public/js/vendor/lightgallery.js/dist/css/lg-transitions.min.css @@ -0,0 +1 @@ +.lg-css3.lg-zoom-in .lg-item{opacity:0}.lg-css3.lg-zoom-in .lg-item.lg-next-slide,.lg-css3.lg-zoom-in .lg-item.lg-prev-slide{-webkit-transform:scale3d(1.3,1.3,1.3);transform:scale3d(1.3,1.3,1.3)}.lg-css3.lg-zoom-in .lg-item.lg-current{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);opacity:1}.lg-css3.lg-zoom-in .lg-item.lg-current,.lg-css3.lg-zoom-in .lg-item.lg-next-slide,.lg-css3.lg-zoom-in .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-zoom-in-big .lg-item{opacity:0}.lg-css3.lg-zoom-in-big .lg-item.lg-next-slide,.lg-css3.lg-zoom-in-big .lg-item.lg-prev-slide{-webkit-transform:scale3d(2,2,2);transform:scale3d(2,2,2)}.lg-css3.lg-zoom-in-big .lg-item.lg-current{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);opacity:1}.lg-css3.lg-zoom-in-big .lg-item.lg-current,.lg-css3.lg-zoom-in-big .lg-item.lg-next-slide,.lg-css3.lg-zoom-in-big .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-zoom-out .lg-item{opacity:0}.lg-css3.lg-zoom-out .lg-item.lg-next-slide,.lg-css3.lg-zoom-out .lg-item.lg-prev-slide{-webkit-transform:scale3d(.7,.7,.7);transform:scale3d(.7,.7,.7)}.lg-css3.lg-zoom-out .lg-item.lg-current{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);opacity:1}.lg-css3.lg-zoom-out .lg-item.lg-current,.lg-css3.lg-zoom-out .lg-item.lg-next-slide,.lg-css3.lg-zoom-out .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-zoom-out-big .lg-item{opacity:0}.lg-css3.lg-zoom-out-big .lg-item.lg-next-slide,.lg-css3.lg-zoom-out-big .lg-item.lg-prev-slide{-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0)}.lg-css3.lg-zoom-out-big .lg-item.lg-current{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);opacity:1}.lg-css3.lg-zoom-out-big .lg-item.lg-current,.lg-css3.lg-zoom-out-big .lg-item.lg-next-slide,.lg-css3.lg-zoom-out-big .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-zoom-out-in .lg-item{opacity:0}.lg-css3.lg-zoom-out-in .lg-item.lg-prev-slide{-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0)}.lg-css3.lg-zoom-out-in .lg-item.lg-next-slide{-webkit-transform:scale3d(2,2,2);transform:scale3d(2,2,2)}.lg-css3.lg-zoom-out-in .lg-item.lg-current{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);opacity:1}.lg-css3.lg-zoom-out-in .lg-item.lg-current,.lg-css3.lg-zoom-out-in .lg-item.lg-next-slide,.lg-css3.lg-zoom-out-in .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-zoom-in-out .lg-item{opacity:0}.lg-css3.lg-zoom-in-out .lg-item.lg-prev-slide{-webkit-transform:scale3d(2,2,2);transform:scale3d(2,2,2)}.lg-css3.lg-zoom-in-out .lg-item.lg-next-slide{-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0)}.lg-css3.lg-zoom-in-out .lg-item.lg-current{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);opacity:1}.lg-css3.lg-zoom-in-out .lg-item.lg-current,.lg-css3.lg-zoom-in-out .lg-item.lg-next-slide,.lg-css3.lg-zoom-in-out .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-soft-zoom .lg-item{opacity:0}.lg-css3.lg-soft-zoom .lg-item.lg-prev-slide{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}.lg-css3.lg-soft-zoom .lg-item.lg-next-slide{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}.lg-css3.lg-soft-zoom .lg-item.lg-current{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);opacity:1}.lg-css3.lg-soft-zoom .lg-item.lg-current,.lg-css3.lg-soft-zoom .lg-item.lg-next-slide,.lg-css3.lg-soft-zoom .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-scale-up .lg-item{opacity:0}.lg-css3.lg-scale-up .lg-item.lg-next-slide,.lg-css3.lg-scale-up .lg-item.lg-prev-slide{-moz-transform:scale3d(.8,.8,.8) translate3d(0,10%,0);-o-transform:scale3d(.8,.8,.8) translate3d(0,10%,0);-ms-transform:scale3d(.8,.8,.8) translate3d(0,10%,0);-webkit-transform:scale3d(.8,.8,.8) translate3d(0,10%,0);transform:scale3d(.8,.8,.8) translate3d(0,10%,0)}.lg-css3.lg-scale-up .lg-item.lg-current{-moz-transform:scale3d(1,1,1) translate3d(0,0,0);-o-transform:scale3d(1,1,1) translate3d(0,0,0);-ms-transform:scale3d(1,1,1) translate3d(0,0,0);-webkit-transform:scale3d(1,1,1) translate3d(0,0,0);transform:scale3d(1,1,1) translate3d(0,0,0);opacity:1}.lg-css3.lg-scale-up .lg-item.lg-current,.lg-css3.lg-scale-up .lg-item.lg-next-slide,.lg-css3.lg-scale-up .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-slide-circular .lg-item{opacity:0}.lg-css3.lg-slide-circular .lg-item.lg-prev-slide{-moz-transform:scale3d(0,0,0) translate3d(-100%,0,0);-o-transform:scale3d(0,0,0) translate3d(-100%,0,0);-ms-transform:scale3d(0,0,0) translate3d(-100%,0,0);-webkit-transform:scale3d(0,0,0) translate3d(-100%,0,0);transform:scale3d(0,0,0) translate3d(-100%,0,0)}.lg-css3.lg-slide-circular .lg-item.lg-next-slide{-moz-transform:scale3d(0,0,0) translate3d(100%,0,0);-o-transform:scale3d(0,0,0) translate3d(100%,0,0);-ms-transform:scale3d(0,0,0) translate3d(100%,0,0);-webkit-transform:scale3d(0,0,0) translate3d(100%,0,0);transform:scale3d(0,0,0) translate3d(100%,0,0)}.lg-css3.lg-slide-circular .lg-item.lg-current{-moz-transform:scale3d(1,1,1) translate3d(0,0,0);-o-transform:scale3d(1,1,1) translate3d(0,0,0);-ms-transform:scale3d(1,1,1) translate3d(0,0,0);-webkit-transform:scale3d(1,1,1) translate3d(0,0,0);transform:scale3d(1,1,1) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-circular .lg-item.lg-current,.lg-css3.lg-slide-circular .lg-item.lg-next-slide,.lg-css3.lg-slide-circular .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-slide-circular-up .lg-item{opacity:0}.lg-css3.lg-slide-circular-up .lg-item.lg-prev-slide{-moz-transform:scale3d(0,0,0) translate3d(-100%,-100%,0);-o-transform:scale3d(0,0,0) translate3d(-100%,-100%,0);-ms-transform:scale3d(0,0,0) translate3d(-100%,-100%,0);-webkit-transform:scale3d(0,0,0) translate3d(-100%,-100%,0);transform:scale3d(0,0,0) translate3d(-100%,-100%,0)}.lg-css3.lg-slide-circular-up .lg-item.lg-next-slide{-moz-transform:scale3d(0,0,0) translate3d(100%,-100%,0);-o-transform:scale3d(0,0,0) translate3d(100%,-100%,0);-ms-transform:scale3d(0,0,0) translate3d(100%,-100%,0);-webkit-transform:scale3d(0,0,0) translate3d(100%,-100%,0);transform:scale3d(0,0,0) translate3d(100%,-100%,0)}.lg-css3.lg-slide-circular-up .lg-item.lg-current{-moz-transform:scale3d(1,1,1) translate3d(0,0,0);-o-transform:scale3d(1,1,1) translate3d(0,0,0);-ms-transform:scale3d(1,1,1) translate3d(0,0,0);-webkit-transform:scale3d(1,1,1) translate3d(0,0,0);transform:scale3d(1,1,1) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-circular-up .lg-item.lg-current,.lg-css3.lg-slide-circular-up .lg-item.lg-next-slide,.lg-css3.lg-slide-circular-up .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-slide-circular-down .lg-item{opacity:0}.lg-css3.lg-slide-circular-down .lg-item.lg-prev-slide{-moz-transform:scale3d(0,0,0) translate3d(-100%,100%,0);-o-transform:scale3d(0,0,0) translate3d(-100%,100%,0);-ms-transform:scale3d(0,0,0) translate3d(-100%,100%,0);-webkit-transform:scale3d(0,0,0) translate3d(-100%,100%,0);transform:scale3d(0,0,0) translate3d(-100%,100%,0)}.lg-css3.lg-slide-circular-down .lg-item.lg-next-slide{-moz-transform:scale3d(0,0,0) translate3d(100%,100%,0);-o-transform:scale3d(0,0,0) translate3d(100%,100%,0);-ms-transform:scale3d(0,0,0) translate3d(100%,100%,0);-webkit-transform:scale3d(0,0,0) translate3d(100%,100%,0);transform:scale3d(0,0,0) translate3d(100%,100%,0)}.lg-css3.lg-slide-circular-down .lg-item.lg-current{-moz-transform:scale3d(1,1,1) translate3d(0,0,0);-o-transform:scale3d(1,1,1) translate3d(0,0,0);-ms-transform:scale3d(1,1,1) translate3d(0,0,0);-webkit-transform:scale3d(1,1,1) translate3d(0,0,0);transform:scale3d(1,1,1) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-circular-down .lg-item.lg-current,.lg-css3.lg-slide-circular-down .lg-item.lg-next-slide,.lg-css3.lg-slide-circular-down .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-slide-circular-vertical .lg-item{opacity:0}.lg-css3.lg-slide-circular-vertical .lg-item.lg-prev-slide{-moz-transform:scale3d(0,0,0) translate3d(0,-100%,0);-o-transform:scale3d(0,0,0) translate3d(0,-100%,0);-ms-transform:scale3d(0,0,0) translate3d(0,-100%,0);-webkit-transform:scale3d(0,0,0) translate3d(0,-100%,0);transform:scale3d(0,0,0) translate3d(0,-100%,0)}.lg-css3.lg-slide-circular-vertical .lg-item.lg-next-slide{-moz-transform:scale3d(0,0,0) translate3d(0,100%,0);-o-transform:scale3d(0,0,0) translate3d(0,100%,0);-ms-transform:scale3d(0,0,0) translate3d(0,100%,0);-webkit-transform:scale3d(0,0,0) translate3d(0,100%,0);transform:scale3d(0,0,0) translate3d(0,100%,0)}.lg-css3.lg-slide-circular-vertical .lg-item.lg-current{-moz-transform:scale3d(1,1,1) translate3d(0,0,0);-o-transform:scale3d(1,1,1) translate3d(0,0,0);-ms-transform:scale3d(1,1,1) translate3d(0,0,0);-webkit-transform:scale3d(1,1,1) translate3d(0,0,0);transform:scale3d(1,1,1) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-circular-vertical .lg-item.lg-current,.lg-css3.lg-slide-circular-vertical .lg-item.lg-next-slide,.lg-css3.lg-slide-circular-vertical .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-slide-circular-vertical-left .lg-item{opacity:0}.lg-css3.lg-slide-circular-vertical-left .lg-item.lg-prev-slide{-moz-transform:scale3d(0,0,0) translate3d(-100%,-100%,0);-o-transform:scale3d(0,0,0) translate3d(-100%,-100%,0);-ms-transform:scale3d(0,0,0) translate3d(-100%,-100%,0);-webkit-transform:scale3d(0,0,0) translate3d(-100%,-100%,0);transform:scale3d(0,0,0) translate3d(-100%,-100%,0)}.lg-css3.lg-slide-circular-vertical-left .lg-item.lg-next-slide{-moz-transform:scale3d(0,0,0) translate3d(-100%,100%,0);-o-transform:scale3d(0,0,0) translate3d(-100%,100%,0);-ms-transform:scale3d(0,0,0) translate3d(-100%,100%,0);-webkit-transform:scale3d(0,0,0) translate3d(-100%,100%,0);transform:scale3d(0,0,0) translate3d(-100%,100%,0)}.lg-css3.lg-slide-circular-vertical-left .lg-item.lg-current{-moz-transform:scale3d(1,1,1) translate3d(0,0,0);-o-transform:scale3d(1,1,1) translate3d(0,0,0);-ms-transform:scale3d(1,1,1) translate3d(0,0,0);-webkit-transform:scale3d(1,1,1) translate3d(0,0,0);transform:scale3d(1,1,1) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-circular-vertical-left .lg-item.lg-current,.lg-css3.lg-slide-circular-vertical-left .lg-item.lg-next-slide,.lg-css3.lg-slide-circular-vertical-left .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-slide-circular-vertical-down .lg-item{opacity:0}.lg-css3.lg-slide-circular-vertical-down .lg-item.lg-prev-slide{-moz-transform:scale3d(0,0,0) translate3d(100%,-100%,0);-o-transform:scale3d(0,0,0) translate3d(100%,-100%,0);-ms-transform:scale3d(0,0,0) translate3d(100%,-100%,0);-webkit-transform:scale3d(0,0,0) translate3d(100%,-100%,0);transform:scale3d(0,0,0) translate3d(100%,-100%,0)}.lg-css3.lg-slide-circular-vertical-down .lg-item.lg-next-slide{-moz-transform:scale3d(0,0,0) translate3d(100%,100%,0);-o-transform:scale3d(0,0,0) translate3d(100%,100%,0);-ms-transform:scale3d(0,0,0) translate3d(100%,100%,0);-webkit-transform:scale3d(0,0,0) translate3d(100%,100%,0);transform:scale3d(0,0,0) translate3d(100%,100%,0)}.lg-css3.lg-slide-circular-vertical-down .lg-item.lg-current,.lg-css3.lg-slide-vertical-growth .lg-item.lg-current{-o-transform:scale3d(1,1,1) translate3d(0,0,0);-ms-transform:scale3d(1,1,1) translate3d(0,0,0);-webkit-transform:scale3d(1,1,1) translate3d(0,0,0)}.lg-css3.lg-slide-circular-vertical-down .lg-item.lg-current{-moz-transform:scale3d(1,1,1) translate3d(0,0,0);transform:scale3d(1,1,1) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-circular-vertical-down .lg-item.lg-current,.lg-css3.lg-slide-circular-vertical-down .lg-item.lg-next-slide,.lg-css3.lg-slide-circular-vertical-down .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity 1s ease 0s}.lg-css3.lg-slide-vertical .lg-item{opacity:0}.lg-css3.lg-slide-vertical .lg-item.lg-prev-slide{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.lg-css3.lg-slide-vertical .lg-item.lg-next-slide{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.lg-css3.lg-slide-vertical .lg-item.lg-current{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-vertical .lg-item.lg-current,.lg-css3.lg-slide-vertical .lg-item.lg-next-slide,.lg-css3.lg-slide-vertical .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide-vertical-growth .lg-item{opacity:0}.lg-css3.lg-slide-vertical-growth .lg-item.lg-prev-slide{-moz-transform:scale3d(.5,.5,.5) translate3d(0,-150%,0);-o-transform:scale3d(.5,.5,.5) translate3d(0,-150%,0);-ms-transform:scale3d(.5,.5,.5) translate3d(0,-150%,0);-webkit-transform:scale3d(.5,.5,.5) translate3d(0,-150%,0);transform:scale3d(.5,.5,.5) translate3d(0,-150%,0)}.lg-css3.lg-slide-vertical-growth .lg-item.lg-next-slide{-moz-transform:scale3d(.5,.5,.5) translate3d(0,150%,0);-o-transform:scale3d(.5,.5,.5) translate3d(0,150%,0);-ms-transform:scale3d(.5,.5,.5) translate3d(0,150%,0);-webkit-transform:scale3d(.5,.5,.5) translate3d(0,150%,0);transform:scale3d(.5,.5,.5) translate3d(0,150%,0)}.lg-css3.lg-slide-vertical-growth .lg-item.lg-current{-moz-transform:scale3d(1,1,1) translate3d(0,0,0);transform:scale3d(1,1,1) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-vertical-growth .lg-item.lg-current,.lg-css3.lg-slide-vertical-growth .lg-item.lg-next-slide,.lg-css3.lg-slide-vertical-growth .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide-skew-only .lg-item{opacity:0}.lg-css3.lg-slide-skew-only .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-only .lg-item.lg-prev-slide{-moz-transform:skew(10deg,0deg);-o-transform:skew(10deg,0deg);-ms-transform:skew(10deg,0deg);-webkit-transform:skew(10deg,0deg);transform:skew(10deg,0deg)}.lg-css3.lg-slide-skew-only .lg-item.lg-current{-moz-transform:skew(0deg,0deg);-o-transform:skew(0deg,0deg);-ms-transform:skew(0deg,0deg);-webkit-transform:skew(0deg,0deg);transform:skew(0deg,0deg);opacity:1}.lg-css3.lg-slide-skew-only .lg-item.lg-current,.lg-css3.lg-slide-skew-only .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-only .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide-skew-only-rev .lg-item{opacity:0}.lg-css3.lg-slide-skew-only-rev .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-only-rev .lg-item.lg-prev-slide{-moz-transform:skew(-10deg,0deg);-o-transform:skew(-10deg,0deg);-ms-transform:skew(-10deg,0deg);-webkit-transform:skew(-10deg,0deg);transform:skew(-10deg,0deg)}.lg-css3.lg-slide-skew-only-rev .lg-item.lg-current{-moz-transform:skew(0deg,0deg);-o-transform:skew(0deg,0deg);-ms-transform:skew(0deg,0deg);-webkit-transform:skew(0deg,0deg);transform:skew(0deg,0deg);opacity:1}.lg-css3.lg-slide-skew-only-rev .lg-item.lg-current,.lg-css3.lg-slide-skew-only-rev .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-only-rev .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide-skew-only-y .lg-item{opacity:0}.lg-css3.lg-slide-skew-only-y .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-only-y .lg-item.lg-prev-slide{-moz-transform:skew(0deg,10deg);-o-transform:skew(0deg,10deg);-ms-transform:skew(0deg,10deg);-webkit-transform:skew(0deg,10deg);transform:skew(0deg,10deg)}.lg-css3.lg-slide-skew-only-y .lg-item.lg-current{-moz-transform:skew(0deg,0deg);-o-transform:skew(0deg,0deg);-ms-transform:skew(0deg,0deg);-webkit-transform:skew(0deg,0deg);transform:skew(0deg,0deg);opacity:1}.lg-css3.lg-slide-skew-only-y .lg-item.lg-current,.lg-css3.lg-slide-skew-only-y .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-only-y .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide-skew-only-y-rev .lg-item{opacity:0}.lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-prev-slide{-moz-transform:skew(0deg,-10deg);-o-transform:skew(0deg,-10deg);-ms-transform:skew(0deg,-10deg);-webkit-transform:skew(0deg,-10deg);transform:skew(0deg,-10deg)}.lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-current{-moz-transform:skew(0deg,0deg);-o-transform:skew(0deg,0deg);-ms-transform:skew(0deg,0deg);-webkit-transform:skew(0deg,0deg);transform:skew(0deg,0deg);opacity:1}.lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-current,.lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide-skew .lg-item{opacity:0}.lg-css3.lg-slide-skew .lg-item.lg-prev-slide{-moz-transform:skew(20deg,0deg) translate3d(-100%,0,0);-o-transform:skew(20deg,0deg) translate3d(-100%,0,0);-ms-transform:skew(20deg,0deg) translate3d(-100%,0,0);-webkit-transform:skew(20deg,0deg) translate3d(-100%,0,0);transform:skew(20deg,0deg) translate3d(-100%,0,0)}.lg-css3.lg-slide-skew .lg-item.lg-next-slide{-moz-transform:skew(20deg,0deg) translate3d(100%,0,0);-o-transform:skew(20deg,0deg) translate3d(100%,0,0);-ms-transform:skew(20deg,0deg) translate3d(100%,0,0);-webkit-transform:skew(20deg,0deg) translate3d(100%,0,0);transform:skew(20deg,0deg) translate3d(100%,0,0)}.lg-css3.lg-slide-skew .lg-item.lg-current{-moz-transform:skew(0deg,0deg) translate3d(0,0,0);-o-transform:skew(0deg,0deg) translate3d(0,0,0);-ms-transform:skew(0deg,0deg) translate3d(0,0,0);-webkit-transform:skew(0deg,0deg) translate3d(0,0,0);transform:skew(0deg,0deg) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-skew .lg-item.lg-current,.lg-css3.lg-slide-skew .lg-item.lg-next-slide,.lg-css3.lg-slide-skew .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide-skew-rev .lg-item{opacity:0}.lg-css3.lg-slide-skew-rev .lg-item.lg-prev-slide{-moz-transform:skew(-20deg,0deg) translate3d(-100%,0,0);-o-transform:skew(-20deg,0deg) translate3d(-100%,0,0);-ms-transform:skew(-20deg,0deg) translate3d(-100%,0,0);-webkit-transform:skew(-20deg,0deg) translate3d(-100%,0,0);transform:skew(-20deg,0deg) translate3d(-100%,0,0)}.lg-css3.lg-slide-skew-rev .lg-item.lg-next-slide{-moz-transform:skew(-20deg,0deg) translate3d(100%,0,0);-o-transform:skew(-20deg,0deg) translate3d(100%,0,0);-ms-transform:skew(-20deg,0deg) translate3d(100%,0,0);-webkit-transform:skew(-20deg,0deg) translate3d(100%,0,0);transform:skew(-20deg,0deg) translate3d(100%,0,0)}.lg-css3.lg-slide-skew-rev .lg-item.lg-current{-moz-transform:skew(0deg,0deg) translate3d(0,0,0);-o-transform:skew(0deg,0deg) translate3d(0,0,0);-ms-transform:skew(0deg,0deg) translate3d(0,0,0);-webkit-transform:skew(0deg,0deg) translate3d(0,0,0);transform:skew(0deg,0deg) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-skew-rev .lg-item.lg-current,.lg-css3.lg-slide-skew-rev .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-rev .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide-skew-cross .lg-item{opacity:0}.lg-css3.lg-slide-skew-cross .lg-item.lg-prev-slide{-moz-transform:skew(0deg,60deg) translate3d(-100%,0,0);-o-transform:skew(0deg,60deg) translate3d(-100%,0,0);-ms-transform:skew(0deg,60deg) translate3d(-100%,0,0);-webkit-transform:skew(0deg,60deg) translate3d(-100%,0,0);transform:skew(0deg,60deg) translate3d(-100%,0,0)}.lg-css3.lg-slide-skew-cross .lg-item.lg-next-slide{-moz-transform:skew(0deg,60deg) translate3d(100%,0,0);-o-transform:skew(0deg,60deg) translate3d(100%,0,0);-ms-transform:skew(0deg,60deg) translate3d(100%,0,0);-webkit-transform:skew(0deg,60deg) translate3d(100%,0,0);transform:skew(0deg,60deg) translate3d(100%,0,0)}.lg-css3.lg-slide-skew-cross .lg-item.lg-current{-moz-transform:skew(0deg,0deg) translate3d(0,0,0);-o-transform:skew(0deg,0deg) translate3d(0,0,0);-ms-transform:skew(0deg,0deg) translate3d(0,0,0);-webkit-transform:skew(0deg,0deg) translate3d(0,0,0);transform:skew(0deg,0deg) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-skew-cross .lg-item.lg-current,.lg-css3.lg-slide-skew-cross .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-cross .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide-skew-cross-rev .lg-item{opacity:0}.lg-css3.lg-slide-skew-cross-rev .lg-item.lg-prev-slide{-moz-transform:skew(0deg,-60deg) translate3d(-100%,0,0);-o-transform:skew(0deg,-60deg) translate3d(-100%,0,0);-ms-transform:skew(0deg,-60deg) translate3d(-100%,0,0);-webkit-transform:skew(0deg,-60deg) translate3d(-100%,0,0);transform:skew(0deg,-60deg) translate3d(-100%,0,0)}.lg-css3.lg-slide-skew-cross-rev .lg-item.lg-next-slide{-moz-transform:skew(0deg,-60deg) translate3d(100%,0,0);-o-transform:skew(0deg,-60deg) translate3d(100%,0,0);-ms-transform:skew(0deg,-60deg) translate3d(100%,0,0);-webkit-transform:skew(0deg,-60deg) translate3d(100%,0,0);transform:skew(0deg,-60deg) translate3d(100%,0,0)}.lg-css3.lg-slide-skew-cross-rev .lg-item.lg-current{-moz-transform:skew(0deg,0deg) translate3d(0,0,0);-o-transform:skew(0deg,0deg) translate3d(0,0,0);-ms-transform:skew(0deg,0deg) translate3d(0,0,0);-webkit-transform:skew(0deg,0deg) translate3d(0,0,0);transform:skew(0deg,0deg) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-skew-cross-rev .lg-item.lg-current,.lg-css3.lg-slide-skew-cross-rev .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-cross-rev .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide-skew-ver .lg-item{opacity:0}.lg-css3.lg-slide-skew-ver .lg-item.lg-prev-slide{-moz-transform:skew(60deg,0deg) translate3d(0,-100%,0);-o-transform:skew(60deg,0deg) translate3d(0,-100%,0);-ms-transform:skew(60deg,0deg) translate3d(0,-100%,0);-webkit-transform:skew(60deg,0deg) translate3d(0,-100%,0);transform:skew(60deg,0deg) translate3d(0,-100%,0)}.lg-css3.lg-slide-skew-ver .lg-item.lg-next-slide{-moz-transform:skew(60deg,0deg) translate3d(0,100%,0);-o-transform:skew(60deg,0deg) translate3d(0,100%,0);-ms-transform:skew(60deg,0deg) translate3d(0,100%,0);-webkit-transform:skew(60deg,0deg) translate3d(0,100%,0);transform:skew(60deg,0deg) translate3d(0,100%,0)}.lg-css3.lg-slide-skew-ver .lg-item.lg-current{-moz-transform:skew(0deg,0deg) translate3d(0,0,0);-o-transform:skew(0deg,0deg) translate3d(0,0,0);-ms-transform:skew(0deg,0deg) translate3d(0,0,0);-webkit-transform:skew(0deg,0deg) translate3d(0,0,0);transform:skew(0deg,0deg) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-skew-ver .lg-item.lg-current,.lg-css3.lg-slide-skew-ver .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-ver .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide-skew-ver-rev .lg-item{opacity:0}.lg-css3.lg-slide-skew-ver-rev .lg-item.lg-prev-slide{-moz-transform:skew(-60deg,0deg) translate3d(0,-100%,0);-o-transform:skew(-60deg,0deg) translate3d(0,-100%,0);-ms-transform:skew(-60deg,0deg) translate3d(0,-100%,0);-webkit-transform:skew(-60deg,0deg) translate3d(0,-100%,0);transform:skew(-60deg,0deg) translate3d(0,-100%,0)}.lg-css3.lg-slide-skew-ver-rev .lg-item.lg-next-slide{-moz-transform:skew(-60deg,0deg) translate3d(0,100%,0);-o-transform:skew(-60deg,0deg) translate3d(0,100%,0);-ms-transform:skew(-60deg,0deg) translate3d(0,100%,0);-webkit-transform:skew(-60deg,0deg) translate3d(0,100%,0);transform:skew(-60deg,0deg) translate3d(0,100%,0)}.lg-css3.lg-slide-skew-ver-rev .lg-item.lg-current{-moz-transform:skew(0deg,0deg) translate3d(0,0,0);-o-transform:skew(0deg,0deg) translate3d(0,0,0);-ms-transform:skew(0deg,0deg) translate3d(0,0,0);-webkit-transform:skew(0deg,0deg) translate3d(0,0,0);transform:skew(0deg,0deg) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-skew-ver-rev .lg-item.lg-current,.lg-css3.lg-slide-skew-ver-rev .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-ver-rev .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide-skew-ver-cross .lg-item{opacity:0}.lg-css3.lg-slide-skew-ver-cross .lg-item.lg-prev-slide{-moz-transform:skew(0deg,20deg) translate3d(0,-100%,0);-o-transform:skew(0deg,20deg) translate3d(0,-100%,0);-ms-transform:skew(0deg,20deg) translate3d(0,-100%,0);-webkit-transform:skew(0deg,20deg) translate3d(0,-100%,0);transform:skew(0deg,20deg) translate3d(0,-100%,0)}.lg-css3.lg-slide-skew-ver-cross .lg-item.lg-next-slide{-moz-transform:skew(0deg,20deg) translate3d(0,100%,0);-o-transform:skew(0deg,20deg) translate3d(0,100%,0);-ms-transform:skew(0deg,20deg) translate3d(0,100%,0);-webkit-transform:skew(0deg,20deg) translate3d(0,100%,0);transform:skew(0deg,20deg) translate3d(0,100%,0)}.lg-css3.lg-slide-skew-ver-cross .lg-item.lg-current{-moz-transform:skew(0deg,0deg) translate3d(0,0,0);-o-transform:skew(0deg,0deg) translate3d(0,0,0);-ms-transform:skew(0deg,0deg) translate3d(0,0,0);-webkit-transform:skew(0deg,0deg) translate3d(0,0,0);transform:skew(0deg,0deg) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-skew-ver-cross .lg-item.lg-current,.lg-css3.lg-slide-skew-ver-cross .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-ver-cross .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide-skew-ver-cross-rev .lg-item{opacity:0}.lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-prev-slide{-moz-transform:skew(0deg,-20deg) translate3d(0,-100%,0);-o-transform:skew(0deg,-20deg) translate3d(0,-100%,0);-ms-transform:skew(0deg,-20deg) translate3d(0,-100%,0);-webkit-transform:skew(0deg,-20deg) translate3d(0,-100%,0);transform:skew(0deg,-20deg) translate3d(0,-100%,0)}.lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-next-slide{-moz-transform:skew(0deg,-20deg) translate3d(0,100%,0);-o-transform:skew(0deg,-20deg) translate3d(0,100%,0);-ms-transform:skew(0deg,-20deg) translate3d(0,100%,0);-webkit-transform:skew(0deg,-20deg) translate3d(0,100%,0);transform:skew(0deg,-20deg) translate3d(0,100%,0)}.lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-current{-moz-transform:skew(0deg,0deg) translate3d(0,0,0);-o-transform:skew(0deg,0deg) translate3d(0,0,0);-ms-transform:skew(0deg,0deg) translate3d(0,0,0);-webkit-transform:skew(0deg,0deg) translate3d(0,0,0);transform:skew(0deg,0deg) translate3d(0,0,0);opacity:1}.lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-current,.lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-next-slide,.lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-lollipop .lg-item{opacity:0}.lg-css3.lg-lollipop .lg-item.lg-prev-slide{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.lg-css3.lg-lollipop .lg-item.lg-next-slide{-moz-transform:translate3d(0,0,0) scale(.5);-o-transform:translate3d(0,0,0) scale(.5);-ms-transform:translate3d(0,0,0) scale(.5);-webkit-transform:translate3d(0,0,0) scale(.5);transform:translate3d(0,0,0) scale(.5)}.lg-css3.lg-lollipop .lg-item.lg-current{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.lg-css3.lg-lollipop .lg-item.lg-current,.lg-css3.lg-lollipop .lg-item.lg-next-slide,.lg-css3.lg-lollipop .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-lollipop-rev .lg-item{opacity:0}.lg-css3.lg-lollipop-rev .lg-item.lg-prev-slide{-moz-transform:translate3d(0,0,0) scale(.5);-o-transform:translate3d(0,0,0) scale(.5);-ms-transform:translate3d(0,0,0) scale(.5);-webkit-transform:translate3d(0,0,0) scale(.5);transform:translate3d(0,0,0) scale(.5)}.lg-css3.lg-lollipop-rev .lg-item.lg-next-slide{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.lg-css3.lg-lollipop-rev .lg-item.lg-current{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.lg-css3.lg-lollipop-rev .lg-item.lg-current,.lg-css3.lg-lollipop-rev .lg-item.lg-next-slide,.lg-css3.lg-lollipop-rev .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-rotate .lg-item{opacity:0}.lg-css3.lg-rotate .lg-item.lg-prev-slide{-moz-transform:rotate(-360deg);-o-transform:rotate(-360deg);-ms-transform:rotate(-360deg);-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}.lg-css3.lg-rotate .lg-item.lg-next-slide{-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);transform:rotate(360deg)}.lg-css3.lg-rotate .lg-item.lg-current{-moz-transform:rotate(0);-o-transform:rotate(0);-ms-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0);opacity:1}.lg-css3.lg-rotate .lg-item.lg-current,.lg-css3.lg-rotate .lg-item.lg-next-slide,.lg-css3.lg-rotate .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-rotate-rev .lg-item{opacity:0}.lg-css3.lg-rotate-rev .lg-item.lg-prev-slide{-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);-webkit-transform:rotate(360deg);transform:rotate(360deg)}.lg-css3.lg-rotate-rev .lg-item.lg-next-slide{-moz-transform:rotate(-360deg);-o-transform:rotate(-360deg);-ms-transform:rotate(-360deg);-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}.lg-css3.lg-rotate-rev .lg-item.lg-current{-moz-transform:rotate(0);-o-transform:rotate(0);-ms-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0);opacity:1}.lg-css3.lg-rotate-rev .lg-item.lg-current,.lg-css3.lg-rotate-rev .lg-item.lg-next-slide,.lg-css3.lg-rotate-rev .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-tube .lg-item{opacity:0}.lg-css3.lg-tube .lg-item.lg-prev-slide{-moz-transform:scale3d(1,0,1) translate3d(-100%,0,0);-o-transform:scale3d(1,0,1) translate3d(-100%,0,0);-ms-transform:scale3d(1,0,1) translate3d(-100%,0,0);-webkit-transform:scale3d(1,0,1) translate3d(-100%,0,0);transform:scale3d(1,0,1) translate3d(-100%,0,0)}.lg-css3.lg-tube .lg-item.lg-next-slide{-moz-transform:scale3d(1,0,1) translate3d(100%,0,0);-o-transform:scale3d(1,0,1) translate3d(100%,0,0);-ms-transform:scale3d(1,0,1) translate3d(100%,0,0);-webkit-transform:scale3d(1,0,1) translate3d(100%,0,0);transform:scale3d(1,0,1) translate3d(100%,0,0)}.lg-css3.lg-tube .lg-item.lg-current{-moz-transform:scale3d(1,1,1) translate3d(0,0,0);-o-transform:scale3d(1,1,1) translate3d(0,0,0);-ms-transform:scale3d(1,1,1) translate3d(0,0,0);-webkit-transform:scale3d(1,1,1) translate3d(0,0,0);transform:scale3d(1,1,1) translate3d(0,0,0);opacity:1}.lg-css3.lg-tube .lg-item.lg-current,.lg-css3.lg-tube .lg-item.lg-next-slide,.lg-css3.lg-tube .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/dist/css/lightgallery.css b/public/js/vendor/lightgallery.js/dist/css/lightgallery.css new file mode 100644 index 0000000..5310e7d --- /dev/null +++ b/public/js/vendor/lightgallery.js/dist/css/lightgallery.css @@ -0,0 +1,1153 @@ +@font-face { + font-family: 'lg'; + src: url("../fonts/lg.ttf?22t19m") format("truetype"), url("../fonts/lg.woff?22t19m") format("woff"), url("../fonts/lg.svg?22t19m#lg") format("svg"); + font-weight: normal; + font-style: normal; + font-display: block; +} + +.lg-icon { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'lg' !important; + speak: never; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.lg-actions .lg-next, .lg-actions .lg-prev { + background-color: rgba(0, 0, 0, 0.45); + border-radius: 2px; + color: #999; + cursor: pointer; + display: block; + font-size: 22px; + margin-top: -10px; + padding: 8px 10px 9px; + position: absolute; + top: 50%; + z-index: 1080; + outline: none; + border: none; + background-color: transparent; +} + +.lg-actions .lg-next.disabled, .lg-actions .lg-prev.disabled { + pointer-events: none; + opacity: 0.5; +} + +.lg-actions .lg-next:hover, .lg-actions .lg-prev:hover { + color: #FFF; +} + +.lg-actions .lg-next { + right: 20px; +} + +.lg-actions .lg-next:before { + content: "\e095"; +} + +.lg-actions .lg-prev { + left: 20px; +} + +.lg-actions .lg-prev:after { + content: "\e094"; +} + +@-webkit-keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} + +@-moz-keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} + +@-ms-keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} + +@keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} + +@-webkit-keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} + +@-moz-keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} + +@-ms-keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} + +@keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} + +.lg-outer.lg-right-end .lg-object { + -webkit-animation: lg-right-end 0.3s; + -o-animation: lg-right-end 0.3s; + animation: lg-right-end 0.3s; + position: relative; +} + +.lg-outer.lg-left-end .lg-object { + -webkit-animation: lg-left-end 0.3s; + -o-animation: lg-left-end 0.3s; + animation: lg-left-end 0.3s; + position: relative; +} + +.lg-toolbar { + z-index: 1082; + left: 0; + position: absolute; + top: 0; + width: 100%; + background-color: rgba(0, 0, 0, 0.45); +} + +.lg-toolbar .lg-icon { + color: #999; + cursor: pointer; + float: right; + font-size: 24px; + height: 47px; + line-height: 27px; + padding: 10px 0; + text-align: center; + width: 50px; + text-decoration: none !important; + outline: medium none; + background: none; + border: none; + box-shadow: none; + -webkit-transition: color 0.2s linear; + -o-transition: color 0.2s linear; + transition: color 0.2s linear; +} + +.lg-toolbar .lg-icon:hover { + color: #FFF; +} + +.lg-toolbar .lg-close:after { + content: "\e070"; +} + +.lg-toolbar .lg-download:after { + content: "\e0f2"; +} + +.lg-sub-html { + background-color: rgba(0, 0, 0, 0.45); + bottom: 0; + color: #EEE; + font-size: 16px; + left: 0; + padding: 10px 40px; + position: fixed; + right: 0; + text-align: center; + z-index: 1080; +} + +.lg-sub-html h4 { + margin: 0; + font-size: 13px; + font-weight: bold; +} + +.lg-sub-html p { + font-size: 12px; + margin: 5px 0 0; +} + +#lg-counter { + color: #999; + display: inline-block; + font-size: 16px; + padding-left: 20px; + padding-top: 12px; + vertical-align: middle; +} + +.lg-toolbar, .lg-prev, .lg-next { + opacity: 1; + -webkit-transition: -webkit-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear; + -moz-transition: -moz-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear; + -o-transition: -o-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear; + transition: transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear; +} + +.lg-hide-items .lg-prev { + opacity: 0; + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); +} + +.lg-hide-items .lg-next { + opacity: 0; + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); +} + +.lg-hide-items .lg-toolbar { + opacity: 0; + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); +} + +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object { + -webkit-transform: scale3d(0.5, 0.5, 0.5); + transform: scale3d(0.5, 0.5, 0.5); + opacity: 0; + -webkit-transition: -webkit-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + -moz-transition: -moz-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + -o-transition: -o-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + transition: transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + -webkit-transform-origin: 50% 50%; + -moz-transform-origin: 50% 50%; + -ms-transform-origin: 50% 50%; + transform-origin: 50% 50%; +} + +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; +} + +.lg-outer .lg-thumb-outer { + background-color: #0D0A0A; + bottom: 0; + position: absolute; + width: 100%; + z-index: 1080; + max-height: 350px; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; +} + +.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} + +.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: -o-grabbing; + cursor: -ms-grabbing; + cursor: grabbing; +} + +.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; +} + +.lg-outer.lg-thumb-open .lg-thumb-outer { + -webkit-transform: translate3d(0, 0%, 0); + transform: translate3d(0, 0%, 0); +} + +.lg-outer .lg-thumb { + padding: 10px 0; + height: 100%; + margin-bottom: -5px; +} + +.lg-outer .lg-thumb-item { + border-radius: 5px; + cursor: pointer; + float: left; + overflow: hidden; + height: 100%; + border: 2px solid #FFF; + border-radius: 4px; + margin-bottom: 5px; +} + +@media (min-width: 1025px) { + .lg-outer .lg-thumb-item { + -webkit-transition: border-color 0.25s ease; + -o-transition: border-color 0.25s ease; + transition: border-color 0.25s ease; + } +} + +.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover { + border-color: #a90707; +} + +.lg-outer .lg-thumb-item img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.lg-outer.lg-has-thumb .lg-item { + padding-bottom: 120px; +} + +.lg-outer.lg-can-toggle .lg-item { + padding-bottom: 0; +} + +.lg-outer.lg-pull-caption-up .lg-sub-html { + -webkit-transition: bottom 0.25s ease; + -o-transition: bottom 0.25s ease; + transition: bottom 0.25s ease; +} + +.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html { + bottom: 100px; +} + +.lg-outer .lg-toggle-thumb { + background-color: #0D0A0A; + border-radius: 2px 2px 0 0; + color: #999; + cursor: pointer; + font-size: 24px; + height: 39px; + line-height: 27px; + padding: 5px 0; + position: absolute; + right: 20px; + text-align: center; + top: -39px; + width: 50px; + outline: medium none; + border: none; +} + +.lg-outer .lg-toggle-thumb:after { + content: "\e1ff"; +} + +.lg-outer .lg-toggle-thumb:hover { + color: #FFF; +} + +.lg-outer .lg-video-cont { + display: inline-block; + vertical-align: middle; + max-width: 1140px; + max-height: 100%; + width: 100%; + padding: 0 5px; +} + +.lg-outer .lg-video { + width: 100%; + height: 0; + padding-bottom: 56.25%; + overflow: hidden; + position: relative; +} + +.lg-outer .lg-video .lg-object { + display: inline-block; + position: absolute; + top: 0; + left: 0; + width: 100% !important; + height: 100% !important; +} + +.lg-outer .lg-video .lg-video-play { + width: 84px; + height: 59px; + position: absolute; + left: 50%; + top: 50%; + margin-left: -42px; + margin-top: -30px; + z-index: 1080; + cursor: pointer; +} + +.lg-outer .lg-has-vimeo .lg-video-play { + background: url("../img/vimeo-play.png") no-repeat scroll 0 0 transparent; +} + +.lg-outer .lg-has-vimeo:hover .lg-video-play { + background: url("../img/vimeo-play.png") no-repeat scroll 0 -58px transparent; +} + +.lg-outer .lg-has-html5 .lg-video-play { + background: transparent url("../img/video-play.png") no-repeat scroll 0 0; + height: 64px; + margin-left: -32px; + margin-top: -32px; + width: 64px; + opacity: 0.8; +} + +.lg-outer .lg-has-html5:hover .lg-video-play { + opacity: 1; +} + +.lg-outer .lg-has-youtube .lg-video-play { + background: url("../img/youtube-play.png") no-repeat scroll 0 0 transparent; +} + +.lg-outer .lg-has-youtube:hover .lg-video-play { + background: url("../img/youtube-play.png") no-repeat scroll 0 -60px transparent; +} + +.lg-outer .lg-video-object { + width: 100% !important; + height: 100% !important; + position: absolute; + top: 0; + left: 0; +} + +.lg-outer .lg-has-video .lg-video-object { + visibility: hidden; +} + +.lg-outer .lg-has-video.lg-video-playing .lg-object, .lg-outer .lg-has-video.lg-video-playing .lg-video-play { + display: none; +} + +.lg-outer .lg-has-video.lg-video-playing .lg-video-object { + visibility: visible; +} + +.lg-progress-bar { + background-color: #333; + height: 5px; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: 1083; + opacity: 0; + -webkit-transition: opacity 0.08s ease 0s; + -moz-transition: opacity 0.08s ease 0s; + -o-transition: opacity 0.08s ease 0s; + transition: opacity 0.08s ease 0s; +} + +.lg-progress-bar .lg-progress { + background-color: #a90707; + height: 5px; + width: 0; +} + +.lg-progress-bar.lg-start .lg-progress { + width: 100%; +} + +.lg-show-autoplay .lg-progress-bar { + opacity: 1; +} + +.lg-autoplay-button:after { + content: "\e01d"; +} + +.lg-show-autoplay .lg-autoplay-button:after { + content: "\e01a"; +} + +.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap, .lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image { + -webkit-transition-duration: 0s; + transition-duration: 0s; +} + +.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap { + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; +} + +.lg-outer.lg-use-left-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap { + -webkit-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; +} + +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} + +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important; + -moz-transition: -moz-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important; + -o-transition: -o-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important; + transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important; + -webkit-transform-origin: 0 0; + -moz-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} + +#lg-zoom-in:after { + content: "\e311"; +} + +#lg-actual-size { + font-size: 20px; +} + +#lg-actual-size:after { + content: "\e033"; +} + +#lg-zoom-out { + opacity: 0.5; + pointer-events: none; +} + +#lg-zoom-out:after { + content: "\e312"; +} + +.lg-zoomed #lg-zoom-out { + opacity: 1; + pointer-events: auto; +} + +.lg-outer .lg-pager-outer { + bottom: 60px; + left: 0; + position: absolute; + right: 0; + text-align: center; + z-index: 1080; + height: 10px; +} + +.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont { + overflow: visible; +} + +.lg-outer .lg-pager-cont { + cursor: pointer; + display: inline-block; + overflow: hidden; + position: relative; + vertical-align: top; + margin: 0 5px; +} + +.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.lg-outer .lg-pager-cont.lg-pager-active .lg-pager { + box-shadow: 0 0 0 2px white inset; +} + +.lg-outer .lg-pager-thumb-cont { + background-color: #fff; + color: #FFF; + bottom: 100%; + height: 83px; + left: 0; + margin-bottom: 20px; + margin-left: -60px; + opacity: 0; + padding: 5px; + position: absolute; + width: 120px; + border-radius: 3px; + -webkit-transition: opacity 0.15s ease 0s, -webkit-transform 0.15s ease 0s; + -moz-transition: opacity 0.15s ease 0s, -moz-transform 0.15s ease 0s; + -o-transition: opacity 0.15s ease 0s, -o-transform 0.15s ease 0s; + transition: opacity 0.15s ease 0s, transform 0.15s ease 0s; + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); +} + +.lg-outer .lg-pager-thumb-cont img { + width: 100%; + height: 100%; +} + +.lg-outer .lg-pager { + background-color: rgba(255, 255, 255, 0.5); + border-radius: 50%; + box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.7) inset; + display: block; + height: 12px; + -webkit-transition: box-shadow 0.3s ease 0s; + -o-transition: box-shadow 0.3s ease 0s; + transition: box-shadow 0.3s ease 0s; + width: 12px; +} + +.lg-outer .lg-pager:hover, .lg-outer .lg-pager:focus { + box-shadow: 0 0 0 8px white inset; +} + +.lg-outer .lg-caret { + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top: 10px dashed; + bottom: -10px; + display: inline-block; + height: 0; + left: 50%; + margin-left: -5px; + position: absolute; + vertical-align: middle; + width: 0; +} + +.lg-fullscreen:after { + content: "\e20c"; +} + +.lg-fullscreen-on .lg-fullscreen:after { + content: "\e20d"; +} + +.lg-outer #lg-dropdown-overlay { + background-color: rgba(0, 0, 0, 0.25); + bottom: 0; + cursor: default; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1081; + opacity: 0; + visibility: hidden; + -webkit-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; + -o-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; + transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; +} + +.lg-outer.lg-dropdown-active .lg-dropdown, .lg-outer.lg-dropdown-active #lg-dropdown-overlay { + -webkit-transition-delay: 0s; + transition-delay: 0s; + -moz-transform: translate3d(0, 0px, 0); + -o-transform: translate3d(0, 0px, 0); + -ms-transform: translate3d(0, 0px, 0); + -webkit-transform: translate3d(0, 0px, 0); + transform: translate3d(0, 0px, 0); + opacity: 1; + visibility: visible; +} + +.lg-outer.lg-dropdown-active #lg-share { + color: #FFF; +} + +.lg-outer .lg-dropdown { + background-color: #fff; + border-radius: 2px; + font-size: 14px; + list-style-type: none; + margin: 0; + padding: 10px 0; + position: absolute; + right: 0; + text-align: left; + top: 50px; + opacity: 0; + visibility: hidden; + -moz-transform: translate3d(0, 5px, 0); + -o-transform: translate3d(0, 5px, 0); + -ms-transform: translate3d(0, 5px, 0); + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + -webkit-transition: -webkit-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; + -moz-transition: -moz-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; + -o-transition: -o-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; + transition: transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; +} + +.lg-outer .lg-dropdown:after { + content: ""; + display: block; + height: 0; + width: 0; + position: absolute; + border: 8px solid transparent; + border-bottom-color: #FFF; + right: 16px; + top: -16px; +} + +.lg-outer .lg-dropdown > li:last-child { + margin-bottom: 0px; +} + +.lg-outer .lg-dropdown > li:hover a, .lg-outer .lg-dropdown > li:hover .lg-icon { + color: #333; +} + +.lg-outer .lg-dropdown a { + color: #333; + display: block; + white-space: pre; + padding: 4px 12px; + font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif; + font-size: 12px; +} + +.lg-outer .lg-dropdown a:hover { + background-color: rgba(0, 0, 0, 0.07); +} + +.lg-outer .lg-dropdown .lg-dropdown-text { + display: inline-block; + line-height: 1; + margin-top: -3px; + vertical-align: middle; +} + +.lg-outer .lg-dropdown .lg-icon { + color: #333; + display: inline-block; + float: none; + font-size: 20px; + height: auto; + line-height: 1; + margin-right: 8px; + padding: 0; + vertical-align: middle; + width: auto; +} + +.lg-outer #lg-share { + position: relative; +} + +.lg-outer #lg-share:after { + content: "\e80d"; +} + +.lg-outer #lg-share-facebook .lg-icon { + color: #3b5998; +} + +.lg-outer #lg-share-facebook .lg-icon:after { + content: "\e904"; +} + +.lg-outer #lg-share-twitter .lg-icon { + color: #00aced; +} + +.lg-outer #lg-share-twitter .lg-icon:after { + content: "\e907"; +} + +.lg-outer #lg-share-googleplus .lg-icon { + color: #dd4b39; +} + +.lg-outer #lg-share-googleplus .lg-icon:after { + content: "\e905"; +} + +.lg-outer #lg-share-pinterest .lg-icon { + color: #cb2027; +} + +.lg-outer #lg-share-pinterest .lg-icon:after { + content: "\e906"; +} + +.lg-outer .lg-img-rotate { + position: absolute; + padding: 0 5px; + left: 0; + right: 0; + top: 0; + bottom: 0; + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s; + -moz-transition: -moz-transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s; + -o-transition: -o-transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s; + transition: transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s; +} + +.lg-rotate-left:after { + content: "\e900"; +} + +.lg-rotate-right:after { + content: "\e901"; +} + +.lg-icon.lg-flip-hor, .lg-icon.lg-flip-ver { + font-size: 26px; +} + +.lg-flip-hor:after { + content: "\e902"; +} + +.lg-flip-ver:after { + content: "\e903"; +} + +.lg-group { + *zoom: 1; +} + +.lg-group:before, .lg-group:after { + display: table; + content: ""; + line-height: 0; +} + +.lg-group:after { + clear: both; +} + +.lg-outer { + width: 100%; + height: 100%; + position: fixed; + top: 0; + left: 0; + z-index: 1050; + opacity: 0; + outline: none; + -webkit-transition: opacity 0.15s ease 0s; + -o-transition: opacity 0.15s ease 0s; + transition: opacity 0.15s ease 0s; +} + +.lg-outer * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.lg-outer.lg-visible { + opacity: 1; +} + +.lg-outer.lg-css3 .lg-item.lg-prev-slide, .lg-outer.lg-css3 .lg-item.lg-next-slide, .lg-outer.lg-css3 .lg-item.lg-current { + -webkit-transition-duration: inherit !important; + transition-duration: inherit !important; + -webkit-transition-timing-function: inherit !important; + transition-timing-function: inherit !important; +} + +.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-current { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; + opacity: 1; +} + +.lg-outer.lg-grab img.lg-object { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} + +.lg-outer.lg-grabbing img.lg-object { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: -o-grabbing; + cursor: -ms-grabbing; + cursor: grabbing; +} + +.lg-outer .lg { + height: 100%; + width: 100%; + position: relative; + overflow: hidden; + margin-left: auto; + margin-right: auto; + max-width: 100%; + max-height: 100%; +} + +.lg-outer .lg-inner { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; + white-space: nowrap; +} + +.lg-outer .lg-item { + background: url("../img/loading.gif") no-repeat scroll center center transparent; + display: none !important; +} + +.lg-outer.lg-css3 .lg-prev-slide, .lg-outer.lg-css3 .lg-current, .lg-outer.lg-css3 .lg-next-slide { + display: inline-block !important; +} + +.lg-outer.lg-css .lg-current { + display: inline-block !important; +} + +.lg-outer .lg-item, .lg-outer .lg-img-wrap { + display: inline-block; + text-align: center; + position: absolute; + width: 100%; + height: 100%; +} + +.lg-outer .lg-item:before, .lg-outer .lg-img-wrap:before { + content: ""; + display: inline-block; + height: 50%; + width: 1px; + margin-right: -1px; +} + +.lg-outer .lg-img-wrap { + position: absolute; + padding: 0 5px; + left: 0; + right: 0; + top: 0; + bottom: 0; +} + +.lg-outer .lg-item.lg-complete { + background-image: none; +} + +.lg-outer .lg-item.lg-current { + z-index: 1060; +} + +.lg-outer .lg-image { + display: inline-block; + vertical-align: middle; + max-width: 100%; + max-height: 100%; + width: auto !important; + height: auto !important; +} + +.lg-outer.lg-show-after-load .lg-item .lg-object, .lg-outer.lg-show-after-load .lg-item .lg-video-play { + opacity: 0; + -webkit-transition: opacity 0.15s ease 0s; + -o-transition: opacity 0.15s ease 0s; + transition: opacity 0.15s ease 0s; +} + +.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object, .lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play { + opacity: 1; +} + +.lg-outer .lg-empty-html { + display: none; +} + +.lg-outer.lg-hide-download #lg-download { + display: none; +} + +.lg-backdrop { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 1040; + background-color: #000; + opacity: 0; + -webkit-transition: opacity 0.15s ease 0s; + -o-transition: opacity 0.15s ease 0s; + transition: opacity 0.15s ease 0s; +} + +.lg-backdrop.in { + opacity: 1; +} + +.lg-css3.lg-no-trans .lg-prev-slide, .lg-css3.lg-no-trans .lg-next-slide, .lg-css3.lg-no-trans .lg-current { + -webkit-transition: none 0s ease 0s !important; + -moz-transition: none 0s ease 0s !important; + -o-transition: none 0s ease 0s !important; + transition: none 0s ease 0s !important; +} + +.lg-css3.lg-use-css3 .lg-item { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} + +.lg-css3.lg-use-left .lg-item { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} + +.lg-css3.lg-fade .lg-item { + opacity: 0; +} + +.lg-css3.lg-fade .lg-item.lg-current { + opacity: 1; +} + +.lg-css3.lg-fade .lg-item.lg-prev-slide, .lg-css3.lg-fade .lg-item.lg-next-slide, .lg-css3.lg-fade .lg-item.lg-current { + -webkit-transition: opacity 0.1s ease 0s; + -moz-transition: opacity 0.1s ease 0s; + -o-transition: opacity 0.1s ease 0s; + transition: opacity 0.1s ease 0s; +} + +.lg-css3.lg-slide.lg-use-css3 .lg-item { + opacity: 0; +} + +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} + +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); +} + +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; +} + +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-slide.lg-use-left .lg-item { + opacity: 0; + position: absolute; + left: 0; +} + +.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide { + left: -100%; +} + +.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide { + left: 100%; +} + +.lg-css3.lg-slide.lg-use-left .lg-item.lg-current { + left: 0; + opacity: 1; +} + +.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-current { + -webkit-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} diff --git a/public/js/vendor/lightgallery.js/dist/css/lightgallery.css.map b/public/js/vendor/lightgallery.js/dist/css/lightgallery.css.map new file mode 100644 index 0000000..f1b154e --- /dev/null +++ b/public/js/vendor/lightgallery.js/dist/css/lightgallery.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../sass/lg-fonts.scss","../sass/lg-theme-default.scss","../sass/lg-variables.scss","../sass/lg-mixins.scss","../sass/lg-thumbnail.scss","../sass/lg-video.scss","../sass/lg-autoplay.scss","../sass/lg-zoom.scss","../sass/lg-pager.scss","../sass/lg-fullscreen.scss","../sass/lightgallery.scss"], +"names": [], +"file": "lightgallery.css" +} diff --git a/public/js/vendor/lightgallery.js/dist/css/lightgallery.min.css b/public/js/vendor/lightgallery.js/dist/css/lightgallery.min.css new file mode 100644 index 0000000..104d68f --- /dev/null +++ b/public/js/vendor/lightgallery.js/dist/css/lightgallery.min.css @@ -0,0 +1 @@ +@font-face{font-family:lg;src:url(../fonts/lg.ttf?22t19m) format("truetype"),url(../fonts/lg.woff?22t19m) format("woff"),url(../fonts/lg.svg?22t19m#lg) format("svg");font-weight:400;font-style:normal;font-display:block}.lg-icon{font-family:lg!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg-actions .lg-next,.lg-actions .lg-prev{border-radius:2px;color:#999;cursor:pointer;display:block;font-size:22px;margin-top:-10px;padding:8px 10px 9px;position:absolute;top:50%;z-index:1080;outline:0;border:none;background-color:transparent}.lg-actions .lg-next.disabled,.lg-actions .lg-prev.disabled{pointer-events:none;opacity:.5}.lg-actions .lg-next:hover,.lg-actions .lg-prev:hover{color:#FFF}.lg-actions .lg-next{right:20px}.lg-actions .lg-next:before{content:"\e095"}.lg-actions .lg-prev{left:20px}.lg-actions .lg-prev:after{content:"\e094"}@-webkit-keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@-moz-keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@-ms-keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@-webkit-keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}@-moz-keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}@-ms-keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}@keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}.lg-outer.lg-right-end .lg-object{-webkit-animation:lg-right-end .3s;-o-animation:lg-right-end .3s;animation:lg-right-end .3s;position:relative}.lg-outer.lg-left-end .lg-object{-webkit-animation:lg-left-end .3s;-o-animation:lg-left-end .3s;animation:lg-left-end .3s;position:relative}.lg-toolbar{z-index:1082;left:0;position:absolute;top:0;width:100%;background-color:rgba(0,0,0,.45)}.lg-toolbar .lg-icon{color:#999;cursor:pointer;float:right;font-size:24px;height:47px;line-height:27px;padding:10px 0;text-align:center;width:50px;text-decoration:none!important;outline:0;background:0 0;border:none;box-shadow:none;-webkit-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear}.lg-toolbar .lg-icon:hover{color:#FFF}.lg-toolbar .lg-close:after{content:"\e070"}.lg-toolbar .lg-download:after{content:"\e0f2"}.lg-sub-html{background-color:rgba(0,0,0,.45);bottom:0;color:#EEE;font-size:16px;left:0;padding:10px 40px;position:fixed;right:0;text-align:center;z-index:1080}.lg-sub-html h4{margin:0;font-size:13px;font-weight:700}.lg-sub-html p{font-size:12px;margin:5px 0 0}#lg-counter{color:#999;display:inline-block;font-size:16px;padding-left:20px;padding-top:12px;vertical-align:middle}.lg-next,.lg-prev,.lg-toolbar{opacity:1;-webkit-transition:-webkit-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;-moz-transition:-moz-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;-o-transition:-o-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;transition:transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear}.lg-hide-items .lg-prev{opacity:0;-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}.lg-hide-items .lg-next{opacity:0;-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}.lg-hide-items .lg-toolbar{opacity:0;-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object{-webkit-transform:scale3d(.5,.5,.5);transform:scale3d(.5,.5,.5);opacity:0;-webkit-transition:-webkit-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-moz-transition:-moz-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-o-transition:-o-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;transition:transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);opacity:1}.lg-outer .lg-thumb-outer{background-color:#0D0A0A;bottom:0;position:absolute;width:100%;z-index:1080;max-height:350px;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .25s cubic-bezier(0,0,.25,1) 0s;transition:transform .25s cubic-bezier(0,0,.25,1) 0s}.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb{-webkit-transition-duration:0s!important;transition-duration:0s!important}.lg-outer.lg-thumb-open .lg-thumb-outer{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.lg-outer .lg-thumb{padding:10px 0;height:100%;margin-bottom:-5px}.lg-outer .lg-thumb-item{cursor:pointer;float:left;overflow:hidden;height:100%;border:2px solid #FFF;border-radius:4px;margin-bottom:5px}@media (min-width:1025px){.lg-outer .lg-thumb-item{-webkit-transition:border-color .25s ease;-o-transition:border-color .25s ease;transition:border-color .25s ease}}.lg-outer .lg-thumb-item.active,.lg-outer .lg-thumb-item:hover{border-color:#a90707}.lg-outer .lg-thumb-item img{width:100%;height:100%;object-fit:cover}.lg-outer.lg-has-thumb .lg-item{padding-bottom:120px}.lg-outer.lg-can-toggle .lg-item{padding-bottom:0}.lg-outer.lg-pull-caption-up .lg-sub-html{-webkit-transition:bottom .25s ease;-o-transition:bottom .25s ease;transition:bottom .25s ease}.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html{bottom:100px}.lg-outer .lg-toggle-thumb{background-color:#0D0A0A;border-radius:2px 2px 0 0;color:#999;cursor:pointer;font-size:24px;height:39px;line-height:27px;padding:5px 0;position:absolute;right:20px;text-align:center;top:-39px;width:50px;outline:0;border:none}.lg-outer .lg-toggle-thumb:after{content:"\e1ff"}.lg-outer .lg-toggle-thumb:hover{color:#FFF}.lg-outer .lg-video-cont{display:inline-block;vertical-align:middle;max-width:1140px;max-height:100%;width:100%;padding:0 5px}.lg-outer .lg-video{width:100%;height:0;padding-bottom:56.25%;overflow:hidden;position:relative}.lg-outer .lg-video .lg-object{display:inline-block;position:absolute;top:0;left:0;width:100%!important;height:100%!important}.lg-outer .lg-video .lg-video-play{width:84px;height:59px;position:absolute;left:50%;top:50%;margin-left:-42px;margin-top:-30px;z-index:1080;cursor:pointer}.lg-outer .lg-has-vimeo .lg-video-play{background:url(../img/vimeo-play.png) no-repeat}.lg-outer .lg-has-vimeo:hover .lg-video-play{background:url(../img/vimeo-play.png) 0 -58px no-repeat}.lg-outer .lg-has-html5 .lg-video-play{background:url(../img/video-play.png) no-repeat;height:64px;margin-left:-32px;margin-top:-32px;width:64px;opacity:.8}.lg-outer .lg-has-html5:hover .lg-video-play{opacity:1}.lg-outer .lg-has-youtube .lg-video-play{background:url(../img/youtube-play.png) no-repeat}.lg-outer .lg-has-youtube:hover .lg-video-play{background:url(../img/youtube-play.png) 0 -60px no-repeat}.lg-outer .lg-video-object{width:100%!important;height:100%!important;position:absolute;top:0;left:0}.lg-outer .lg-has-video .lg-video-object{visibility:hidden}.lg-outer .lg-has-video.lg-video-playing .lg-object,.lg-outer .lg-has-video.lg-video-playing .lg-video-play{display:none}.lg-outer .lg-has-video.lg-video-playing .lg-video-object{visibility:visible}.lg-progress-bar{background-color:#333;height:5px;left:0;position:absolute;top:0;width:100%;z-index:1083;opacity:0;-webkit-transition:opacity 80ms ease 0s;-moz-transition:opacity 80ms ease 0s;-o-transition:opacity 80ms ease 0s;transition:opacity 80ms ease 0s}.lg-progress-bar .lg-progress{background-color:#a90707;height:5px;width:0}.lg-progress-bar.lg-start .lg-progress{width:100%}.lg-show-autoplay .lg-progress-bar{opacity:1}.lg-autoplay-button:after{content:"\e01d"}.lg-show-autoplay .lg-autoplay-button:after{content:"\e01a"}.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image,.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition-duration:0s;transition-duration:0s}.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition:-webkit-transform .3s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .3s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .3s cubic-bezier(0,0,.25,1) 0s;transition:transform .3s cubic-bezier(0,0,.25,1) 0s}.lg-outer.lg-use-left-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;-moz-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;-o-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:-webkit-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-moz-transition:-moz-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-o-transition:-o-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;transition:transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}#lg-zoom-in:after{content:"\e311"}#lg-actual-size{font-size:20px}#lg-actual-size:after{content:"\e033"}#lg-zoom-out{opacity:.5;pointer-events:none}#lg-zoom-out:after{content:"\e312"}.lg-zoomed #lg-zoom-out{opacity:1;pointer-events:auto}.lg-outer .lg-pager-outer{bottom:60px;left:0;position:absolute;right:0;text-align:center;z-index:1080;height:10px}.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont{overflow:visible}.lg-outer .lg-pager-cont{cursor:pointer;display:inline-block;overflow:hidden;position:relative;vertical-align:top;margin:0 5px}.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.lg-outer .lg-pager-cont.lg-pager-active .lg-pager{box-shadow:0 0 0 2px #fff inset}.lg-outer .lg-pager-thumb-cont{background-color:#fff;color:#FFF;bottom:100%;height:83px;left:0;margin-bottom:20px;margin-left:-60px;opacity:0;padding:5px;position:absolute;width:120px;border-radius:3px;-webkit-transition:opacity .15s ease 0s,-webkit-transform .15s ease 0s;-moz-transition:opacity .15s ease 0s,-moz-transform .15s ease 0s;-o-transition:opacity .15s ease 0s,-o-transform .15s ease 0s;transition:opacity .15s ease 0s,transform .15s ease 0s;-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}.lg-outer .lg-pager-thumb-cont img{width:100%;height:100%}.lg-outer .lg-pager{background-color:rgba(255,255,255,.5);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.7) inset;display:block;height:12px;-webkit-transition:box-shadow .3s ease 0s;-o-transition:box-shadow .3s ease 0s;transition:box-shadow .3s ease 0s;width:12px}.lg-outer .lg-pager:focus,.lg-outer .lg-pager:hover{box-shadow:0 0 0 8px #fff inset}.lg-outer .lg-caret{border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px dashed;bottom:-10px;display:inline-block;height:0;left:50%;margin-left:-5px;position:absolute;vertical-align:middle;width:0}.lg-fullscreen:after{content:"\e20c"}.lg-fullscreen-on .lg-fullscreen:after{content:"\e20d"}.lg-outer #lg-dropdown-overlay{background-color:rgba(0,0,0,.25);bottom:0;cursor:default;left:0;position:fixed;right:0;top:0;z-index:1081;opacity:0;visibility:hidden;-webkit-transition:visibility 0s linear .18s,opacity .18s linear 0s;-o-transition:visibility 0s linear .18s,opacity .18s linear 0s;transition:visibility 0s linear .18s,opacity .18s linear 0s}.lg-outer.lg-dropdown-active #lg-dropdown-overlay,.lg-outer.lg-dropdown-active .lg-dropdown{-webkit-transition-delay:0s;transition-delay:0s;-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1;visibility:visible}.lg-outer.lg-dropdown-active #lg-share{color:#FFF}.lg-outer .lg-dropdown{background-color:#fff;border-radius:2px;font-size:14px;list-style-type:none;margin:0;padding:10px 0;position:absolute;right:0;text-align:left;top:50px;opacity:0;visibility:hidden;-moz-transform:translate3d(0,5px,0);-o-transform:translate3d(0,5px,0);-ms-transform:translate3d(0,5px,0);-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0);-webkit-transition:-webkit-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;-moz-transition:-moz-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;-o-transition:-o-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;transition:transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s}.lg-outer .lg-dropdown:after{content:"";display:block;height:0;width:0;position:absolute;border:8px solid transparent;border-bottom-color:#FFF;right:16px;top:-16px}.lg-outer .lg-dropdown>li:last-child{margin-bottom:0}.lg-outer .lg-dropdown>li:hover .lg-icon,.lg-outer .lg-dropdown>li:hover a{color:#333}.lg-outer .lg-dropdown a{color:#333;display:block;white-space:pre;padding:4px 12px;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px}.lg-outer .lg-dropdown a:hover{background-color:rgba(0,0,0,.07)}.lg-outer .lg-dropdown .lg-dropdown-text{display:inline-block;line-height:1;margin-top:-3px;vertical-align:middle}.lg-outer .lg-dropdown .lg-icon{color:#333;display:inline-block;float:none;font-size:20px;height:auto;line-height:1;margin-right:8px;padding:0;vertical-align:middle;width:auto}.lg-outer,.lg-outer .lg,.lg-outer .lg-inner{height:100%;width:100%}.lg-outer #lg-share{position:relative}.lg-outer #lg-share:after{content:"\e80d"}.lg-outer #lg-share-facebook .lg-icon{color:#3b5998}.lg-outer #lg-share-facebook .lg-icon:after{content:"\e904"}.lg-outer #lg-share-twitter .lg-icon{color:#00aced}.lg-outer #lg-share-twitter .lg-icon:after{content:"\e907"}.lg-outer #lg-share-googleplus .lg-icon{color:#dd4b39}.lg-outer #lg-share-googleplus .lg-icon:after{content:"\e905"}.lg-outer #lg-share-pinterest .lg-icon{color:#cb2027}.lg-outer #lg-share-pinterest .lg-icon:after{content:"\e906"}.lg-outer .lg-img-rotate{position:absolute;padding:0 5px;left:0;right:0;top:0;bottom:0;-webkit-transition:-webkit-transform .3s cubic-bezier(.32,0,.67,0) 0s;-moz-transition:-moz-transform .3s cubic-bezier(.32,0,.67,0) 0s;-o-transition:-o-transform .3s cubic-bezier(.32,0,.67,0) 0s;transition:transform .3s cubic-bezier(.32,0,.67,0) 0s}.lg-rotate-left:after{content:"\e900"}.lg-rotate-right:after{content:"\e901"}.lg-icon.lg-flip-hor,.lg-icon.lg-flip-ver{font-size:26px}.lg-flip-hor:after{content:"\e902"}.lg-flip-ver:after{content:"\e903"}.lg-group:after,.lg-group:before{display:table;content:"";line-height:0}.lg-group:after{clear:both}.lg-outer{position:fixed;top:0;left:0;z-index:1050;opacity:0;outline:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-outer *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lg-outer.lg-visible{opacity:1}.lg-outer.lg-css3 .lg-item.lg-current,.lg-outer.lg-css3 .lg-item.lg-next-slide,.lg-outer.lg-css3 .lg-item.lg-prev-slide{-webkit-transition-duration:inherit!important;transition-duration:inherit!important;-webkit-transition-timing-function:inherit!important;transition-timing-function:inherit!important}.lg-outer.lg-css3.lg-dragging .lg-item.lg-current,.lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide,.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide{-webkit-transition-duration:0s!important;transition-duration:0s!important;opacity:1}.lg-outer.lg-grab img.lg-object{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer.lg-grabbing img.lg-object{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg{position:relative;overflow:hidden;margin-left:auto;margin-right:auto;max-width:100%;max-height:100%}.lg-outer .lg-inner{position:absolute;left:0;top:0;white-space:nowrap}.lg-outer .lg-item{background:url(../img/loading.gif) center center no-repeat;display:none!important}.lg-outer.lg-css .lg-current,.lg-outer.lg-css3 .lg-current,.lg-outer.lg-css3 .lg-next-slide,.lg-outer.lg-css3 .lg-prev-slide{display:inline-block!important}.lg-outer .lg-img-wrap,.lg-outer .lg-item{display:inline-block;text-align:center;position:absolute;width:100%;height:100%}.lg-outer .lg-img-wrap:before,.lg-outer .lg-item:before{content:"";display:inline-block;height:50%;width:1px;margin-right:-1px}.lg-outer .lg-img-wrap{position:absolute;padding:0 5px;left:0;right:0;top:0;bottom:0}.lg-outer .lg-item.lg-complete{background-image:none}.lg-outer .lg-item.lg-current{z-index:1060}.lg-outer .lg-image{display:inline-block;vertical-align:middle;max-width:100%;max-height:100%;width:auto!important;height:auto!important}.lg-outer.lg-show-after-load .lg-item .lg-object,.lg-outer.lg-show-after-load .lg-item .lg-video-play{opacity:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object,.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play{opacity:1}.lg-outer .lg-empty-html,.lg-outer.lg-hide-download #lg-download{display:none}.lg-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1040;background-color:#000;opacity:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-backdrop.in{opacity:1}.lg-css3.lg-no-trans .lg-current,.lg-css3.lg-no-trans .lg-next-slide,.lg-css3.lg-no-trans .lg-prev-slide{-webkit-transition:none 0s ease 0s!important;-moz-transition:none 0s ease 0s!important;-o-transition:none 0s ease 0s!important;transition:none 0s ease 0s!important}.lg-css3.lg-use-css3 .lg-item,.lg-css3.lg-use-left .lg-item{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-css3.lg-fade .lg-item{opacity:0}.lg-css3.lg-fade .lg-item.lg-current{opacity:1}.lg-css3.lg-fade .lg-item.lg-current,.lg-css3.lg-fade .lg-item.lg-next-slide,.lg-css3.lg-fade .lg-item.lg-prev-slide{-webkit-transition:opacity .1s ease 0s;-moz-transition:opacity .1s ease 0s;-o-transition:opacity .1s ease 0s;transition:opacity .1s ease 0s}.lg-css3.lg-slide.lg-use-css3 .lg-item{opacity:0}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide.lg-use-left .lg-item{opacity:0;position:absolute;left:0}.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide{left:-100%}.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide{left:100%}.lg-css3.lg-slide.lg-use-left .lg-item.lg-current{left:0;opacity:1}.lg-css3.lg-slide.lg-use-left .lg-item.lg-current,.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide,.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide{-webkit-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/dist/fonts/lg.svg b/public/js/vendor/lightgallery.js/dist/fonts/lg.svg new file mode 100644 index 0000000..6fffe1b --- /dev/null +++ b/public/js/vendor/lightgallery.js/dist/fonts/lg.svg @@ -0,0 +1,51 @@ + + + + + + +{ + "fontFamily": "lg", + "majorVersion": 1, + "minorVersion": 0, + "fontURL": "https://github.com/sachinchoolur/lightGallery", + "copyright": "sachin", + "license": "MLT", + "licenseURL": "http://opensource.org/licenses/MIT", + "description": "Font generated by IcoMoon.", + "version": "Version 1.0", + "fontId": "lg", + "psName": "lg", + "subFamily": "Regular", + "fullName": "lg" +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/dist/fonts/lg.ttf b/public/js/vendor/lightgallery.js/dist/fonts/lg.ttf new file mode 100644 index 0000000000000000000000000000000000000000..213afec149c3c88e37964274e65b42918bc9ac1c GIT binary patch literal 4432 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
    1TL z$nrv)kAL=Z5lAvw8?Kz-Kfd}AQniUeZS`wW+fBI1JAQ~VILT$~>gbW6RhoL4EUuY| zxcIQVaq?f&r=vCQ^7FEp2WuzLj*JsjsZJ~+)JA@-_!UAb4dA>%C5<^g158HGG=IW%Oo0J)+RIetP;&hpSB^P5?8?eCRc0CnG9NH!vRnF(JI*miEg)jh zP?o|L2QDtMhUuYA;sIV$f&JX#b3M9OegP$E4#NFg$9QgJqhdhxP~ zqLDBvib8U(iadRIqYSgrLPRM_gzu-Mt^ll#P)kDg=W4{IG_X>M!)sz7)T%KirOOx3 zx|DTZgCW=Z5$M>lHeZA>e3!u-+<#)loqNN~i+z{%Jm^M$nfgjFFmz&3rI!vz%RUAl z-qIOAv$a#`;_oe-r~fA=FW4L&B-aYG$ zt=FeM&tF5|%83S+kVK-^g+_Q%7t$)+jkw1cIyh2^q8buyF%-Hii^}NVsZw z5-zL|LB3g(9hyUh^b$2bzf_HZ!g}BDHAPB1?Q~jeFhD=a?UAok+ zx!Qk?*4cF?b$9RiV;v8UJP5t4Kp4c353nrz*0QB%%pj`07_XdT*AM=Hjh@RsW=YMh z25kAb#Q#P(WLNpsESbg(7*MvINnCFRf5;qLXf^FSrJ@bs3d7=Sw1CkHw_SOBeD*fI z{|sw8Y4(a_Z(W{kp&^Q;Z`k&3EehV5^txH3WV8GsutgsPro>hW-V)1>ie2Ukg!tsrYj??Nh zJ>7UieN!;dI&k57SDhgAf`X2McNZ7vqxmRGLuwBEEeR%`p?tn;;F!#w@z7`l|028J z7PYHb7O*H(qt{^!9*bIBY?I@8(j^>cNn`*)a~(+HO4ADFczYEnZWsTMo|F>OIz3Yl zHjmG^?asI~wNwUEj+$SvWkEQ&Y1BH8R=2|rei92&SX1jcrwcn+V*DHzc|VD7_`R3J z{}C?m&+y~D&yV+~_!$}+D_V~wY1>Yd2s_*GQ;l`!dz<8!yX$zNXO%EWzv@SFvjImS z5?co{0@{2hJGe~-+k!rHXN{=1#0Dd=%`ma_IshXO!qHy`=b+C_?st#q!eJUBau-YW za1%OkleA^qcR4z0ZWLw%1Rd9VZ<7ITSu@rzHvu5GOG2eNvi2E4IVRsi`$8Jf z@ClRsIV;D>=%FVjZ;WTOH|k)@k53WsxBd3^1Lsx0{h@{*&Mm1S|9y;aQu`qde+MJ| zVjYaKz>aS;1X+pJNk#2Sa{)eTt$F$>>W58yZ1+U1VBYAd7vvi%ry#sqQ>;x;ypUc}jg#!>Lrfz3rp|s=FPG z5lke>|EMpIELzK?qGLV+i{}g*O@7+F79@ZQgy62thT4xxo0rZTGx#-(ZE@r|iUG3$ z1zgyf%0ZbSS&l8so2;2zFlV=De|Ytyz3nsSW>deY&XJUlFBI`kLb=5{$mwIaquaR2 z?7335?R5Q<@p6zJrt=)yH?g9(vL>A|pYtxvmcQX={!o}hevcnPDBrXPX`v-T+5#%b z0!gR5+J|J`a@h8CIlM%Ub7zw>DhbwZv@p7o!YMDa*lnLwv&EOrVCRvWadr}tYT2fQ zknSD?>Wl;~^;t3**RC^oom$lpg{+T()WKVnv*)^dQ}MpPcZGGn2nImf-soavu}tit zhp4w2*?SZ~S{f?ofO{&gAoF?Ru`OampD`~sWb<%PWQzw1c4%-GStFjfn?5L6XToUW zpHa=NQ`;-uJfrdIyn%i7-+XC_RU>nQa$F{f=1vg7A|RPP77}R!dekH>x2EMse&u_`phmf#0Wu=>s?E z`&aJ0vzJdpM;@TPw^dJ`-2ZXpQS8#E<%2hGg|kZK&lx^7h7guB4#a!sE$wzk@M3Ul zk(xZRe1Q&7gf)+KxZD`fV3gQx2hQw`wwbVne)tQSLCiJGp>%Xkmkt8yleANIy%?V4 zmRq>M`=1VNmqv)r`b>W>4GfvvFC^LHjPZ@be$zz-Rvk DE3HyV literal 0 HcmV?d00001 diff --git a/public/js/vendor/lightgallery.js/dist/img/video-play.png b/public/js/vendor/lightgallery.js/dist/img/video-play.png new file mode 100644 index 0000000000000000000000000000000000000000..4893540369aae6874662e910323239852ecd3fa5 GIT binary patch literal 819 zcmV-31I+x1P)IyNun>562i9|wd+cu?yDZH6V zuYS_@_xH=;;h|JlSDR2k0Wml-4DqS}A(xkz($>~yLJ5O#fLt!;dI5o%!2bTeXA{VqT)^Ywql}G>dHNxEVrl`LytK5mc>XoGZDIj?dwWt< zRprZr(7bK|&XXS<9rg85xKp73rIUB)fR#`vK5HaPl%TGNS!j{0xo^d02q*$vX_dkr)bI6`+6e zB{zuT%}hhwR#Q{sIC({rcsG^!8xm4^MDf4rg@jZ$K8%eFBxHWWr<24jBqVN7hc6`s z34wpnj&Efa5^yv4c5JLe0%{FqCxR_V!2F5|xROY~E@2H7a5XmO0`P%115fj_p<&^@x?uIIL0Q@=s+Bv=0C9kpr8Mq4g1T3Cy0fz%p8x;DGxL1<&GX0xXATpP65!$CfmvE$>`oeg zG7teWh z1Nmx0r)kg*voZD_XIaZ)7IHrCcmdOXd$vxAcqdMHtXt}~4BPyha{;-##9=?2E~Q z?k!f-6oDYm4A$BjGucK^q+1PjbQsS&+1U{v2ugHxcA5}X&U{c;SBD+$?@+*AAiU0{ z%DL7D+S1ypNDs03@)&9Kc&hUu)@BBL`6MSt9)&tYt!RDefku&RMn_J_qRC= z)IqfEuj(Hht|d@F2C$`{aCF`9VBG}DkgOkbtZ^fk(c)c*i$s+*&P<=AQT+9>7eT7P z!1!20z{Utx!_r18a&Az%pQ?=|QX2wBt3A2%!*F~!_1V;0WI|WM(I#>?!^t%`xVl&O z0FFQYbwR>C&Xajs3C?BrWJ&4-<}UWh0lSgU!xrqCnw!hpgy3ic1L@OzLN^kEmYuVbQ!RW_Yj=e=Q(yTV zInEC~P$nk&xuXi)MN{K?$UZkhRvK@`WFX09lBuQN#nlqMl#`iR$Y%SeFIih>T9k+* zJviUez-%*5wjX+4KO0NO_`FBJU{aPiV=^hfV-bPQLmO9-%;ds(3B|zW2T94cWS~_k zZAf-nEt(~Y&hSXdbO=2BS=wi4<;{^A%!=pufLMH$oF;A)3ufVkY|a9z%Z|8xzU)&C`W`TlV;0?w**tsB$aW;;L`*Q$iR zFK|o_65I>ox+_pM7AuH&C}Tg9+n2U85XECkEU3-)>Y7SpXgq|>OuoKiSUJ~hzYF+6 zsTl%GN2z+6CaZMKao+yxsQGS ziL7ud`zdk{^rxA>>8GM@aDSSt7G~%YFOp(JBBWeKw>WYoBL0ebqRx~0*GL~?(nUOr zza~$FvdL04G>Jda9rLdD#+6BS-B!M(mD$z+yE^1)VMs6=TkL081%4C{<{c;-W@Cf- hRzH_mH3~f$_j_ z;0hpx%R?t{5~u_I32Xx1j&(!F1FL{yq8Uelhk?!XK+&_`0q^%1rjhGx>e}80x(s-N zi!r7HJ1!RJTwpf6W&8+u`9gu_0#DOd#zVmOdkXYnAdOfUb9xGN8nH6&1oEN-od^^X zE5i%iaZaH9WZWDb=y>|exDK$Cv#z7*FC!l)RKO4*mv}ISsknw|X`rNe9E_%6AT8a+F!+~ z)2HxwJa(`q&^~HyZM8Ra(xgdz^6@7uS+WG5*T?=(_S4YNUG_9c)WWOR@wTRKNfd%;3R;S+r;oyDN4xYxXQULLF39RoP!&2_9@f z0U0EykwqhUaoLM(-@2Xq?!C{xw{{0hdwYAL2Aisq;g#Lkv13`gb}bv$ZD8j8Gwu6s zb#*nJot=pmtk2odq+ow>t^D&!%3d#H#*7&pJ$jVd+FJV=Rw;%1@GHPi5(#yNm@r`i zPO#i|>uuE4)p7XnVMN63V6_6gBoV*gPb3ntAE|D+IAAnNIY-p@XOG}yjqsc6Id;v8zHKeAd z_Vp!;*-$|!D=TC1;>GrRfb5)XimxrUp9cE)aW{dkEnUkCFTB73lv7etVsGTY%z=y=Jqp0yN;heslO(ch*De-5yO5m~J4p|w<7}io?jxds z5J{l&@0BckW+CO}<@f`By8lrarIfvq2_&q5hJ+5XvXZG&r*gv$H}KZmZ&7qj5hJb| z5%uv-DD4VpApz~%w~xDidKcGUe?4Uz%P1@?q^PI}%d+es6I4hi+J+uDaDbAhOW3es z16cM;X0+B(k3b2nO#_X%$Wj&=85sb~nKOr#t5(w1+Q!u*ug2%|5eY}^Fq1^9)qQhc z0?fr7_FMPj;$mtJ)KFVfOTkqI_Fp&lHYT4P8aRQA0)c@2#iO;h|GMc8(w-!B;;Rk) z1@I^0!C0z*dg8^XSHN-N#W<#bqr{8xr2@W)+m;%23g`f;=r7|7;6Dl*AJAXMKA=ls zV;B8p>;zEQcnkQHSQ!Fr1yG!|j#wF+fltp3^d%rfEQ}X>Dj+xll+ag3DX{xO1q2I$ z)%2F}H(lznt;>5QJ{@pigWj!Vbv9nW&FGEO!pnu z;ZcPE6S1fuc82h4V1*WJ6A}8)bl2+@gQ0gI&>I4C=*Y1HX;&Ju%@a_gwDFp$ezD| zyd7^64i2Ebx)wQg3X}(uu=`GnxEUyfTiUR+X5ggBr0qYzvE|D-^ZTW!>H~OkbFeZq zArb~58DwdJOk5O+>b~=)q%dUOJc9S#%kia4=qN44`YPDGD0O5QdAh)Q90n7i$$>}p_ zU-k#OwrnO+cLbfE2We@s1Z%qQ(tz)b8%Ne({z~fW8wuP$ok&XyT{X2xC5v2ewk3fa^YFe{~V^2LrS6v<6tSqcSgOE$w&M4oGG*4~V zz<-}zMDxEs!WYcIe{~@ei9lBv;PTo~A$IkvS9A3F=V`94wqLFUMvOoNBJOqHiIt2i zdS>f3jy(A!O&|XoZy-SGRRw^BxZQmxLMLvKzDL^dP6c0-lyK&~J$QV+?jT2i2oe!M za9KnPgp%PS-?V2BpFdT?sht%lOA#1e07@YV)_tcD8WQ?rv+LP@v*6S?_NItZ3!peEC(PZZz#&|L&D+2?!FVG0oMrUM$=YPL*0TW zsNeJk0D&R-SYEHak&$p$5_I1Qjkra?0z6Ll-N9cz#IaSY2uH#MuFONFq}UrN;Uwz5 z+dFi)tKE0f*-7fP*V0ydfR@ibC6JSgCoK(0*6urTx%$56h!TD;Qx18A;~u zyMN>lPuT7|(|u>uYY{n4ycox{Byjhg>Ao}Sw20Gv2RS4f(|u>U@3dgs1w2Z>neID{ zNObqzaQek`-)Z@J_ub?4i|M}8BGKJGzi9|D_!H-K<_y6@y{_nmypyYH-XyYDP|<$q;LG*Uvt+kF54002ov JPDHLkV1hwmDQo}$ literal 0 HcmV?d00001 diff --git a/public/js/vendor/lightgallery.js/dist/js/lightgallery.js b/public/js/vendor/lightgallery.js/dist/js/lightgallery.js new file mode 100644 index 0000000..ea490ba --- /dev/null +++ b/public/js/vendor/lightgallery.js/dist/js/lightgallery.js @@ -0,0 +1,1620 @@ +/**! + * lightgallery.js | 1.4.0 | October 13th 2020 + * http://sachinchoolur.github.io/lightgallery.js/ + * Copyright (c) 2016 Sachin N; + * @license GPLv3 + */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Lightgallery = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 2 && arguments[2] !== undefined ? arguments[2] : null; + + if (!el) { + return; + } + + var customEvent = new CustomEvent(event, { + detail: detail + }); + el.dispatchEvent(customEvent); + }, + + Listener: { + uid: 0 + }, + on: function on(el, events, fn) { + var _this = this; + + if (!el) { + return; + } + + events.split(' ').forEach(function (event) { + var _id = _this.getAttribute(el, 'lg-event-uid') || ''; + utils.Listener.uid++; + _id += '&' + utils.Listener.uid; + _this.setAttribute(el, 'lg-event-uid', _id); + utils.Listener[event + utils.Listener.uid] = fn; + el.addEventListener(event.split('.')[0], fn, false); + }); + }, + + off: function off(el, event) { + if (!el) { + return; + } + + var _id = this.getAttribute(el, 'lg-event-uid'); + if (_id) { + _id = _id.split('&'); + for (var i = 0; i < _id.length; i++) { + if (_id[i]) { + var _event = event + _id[i]; + if (_event.substring(0, 1) === '.') { + for (var key in utils.Listener) { + if (utils.Listener.hasOwnProperty(key)) { + if (key.split('.').indexOf(_event.split('.')[1]) > -1) { + el.removeEventListener(key.split('.')[0], utils.Listener[key]); + this.setAttribute(el, 'lg-event-uid', this.getAttribute(el, 'lg-event-uid').replace('&' + _id[i], '')); + delete utils.Listener[key]; + } + } + } + } else { + el.removeEventListener(_event.split('.')[0], utils.Listener[_event]); + this.setAttribute(el, 'lg-event-uid', this.getAttribute(el, 'lg-event-uid').replace('&' + _id[i], '')); + delete utils.Listener[_event]; + } + } + } + } + }, + + param: function param(obj) { + return Object.keys(obj).map(function (k) { + return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]); + }).join('&'); + } + }; + + exports.default = utils; +}); + +},{}],2:[function(require,module,exports){ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(['./lg-utils'], factory); + } else if (typeof exports !== "undefined") { + factory(require('./lg-utils')); + } else { + var mod = { + exports: {} + }; + factory(global.lgUtils); + global.lightgallery = mod.exports; + } +})(this, function (_lgUtils) { + 'use strict'; + + var _lgUtils2 = _interopRequireDefault(_lgUtils); + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + } + + var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + /** Polyfill the CustomEvent() constructor functionality in Internet Explorer 9 and higher */ + (function () { + + if (typeof window.CustomEvent === 'function') { + return false; + } + + function CustomEvent(event, params) { + params = params || { + bubbles: false, + cancelable: false, + detail: undefined + }; + var evt = document.createEvent('CustomEvent'); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + } + + CustomEvent.prototype = window.Event.prototype; + + window.CustomEvent = CustomEvent; + })(); + + window.utils = _lgUtils2.default; + window.lgData = { + uid: 0 + }; + + window.lgModules = {}; + var defaults = { + + mode: 'lg-slide', + + // Ex : 'ease' + cssEasing: 'ease', + + //'for jquery animation' + easing: 'linear', + speed: 600, + height: '100%', + width: '100%', + addClass: '', + startClass: 'lg-start-zoom', + backdropDuration: 150, + + // Set 0, if u don't want to hide the controls + hideBarsDelay: 6000, + + useLeft: false, + + // aria-labelledby attribute fot gallery + ariaLabelledby: '', + + //aria-describedby attribute for gallery + ariaDescribedby: '', + + closable: true, + loop: true, + escKey: true, + keyPress: true, + controls: true, + slideEndAnimatoin: true, + hideControlOnEnd: false, + mousewheel: false, + + getCaptionFromTitleOrAlt: true, + + // .lg-item || '.lg-sub-html' + appendSubHtmlTo: '.lg-sub-html', + + subHtmlSelectorRelative: false, + + /** + * @desc number of preload slides + * will exicute only after the current slide is fully loaded. + * + * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th + * slide will be loaded in the background after the 4th slide is fully loaded.. + * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ... + * + */ + preload: 1, + showAfterLoad: true, + selector: '', + selectWithin: '', + nextHtml: '', + prevHtml: '', + + // 0, 1 + index: false, + + iframeMaxWidth: '100%', + + download: true, + counter: true, + appendCounterTo: '.lg-toolbar', + + swipeThreshold: 50, + enableSwipe: true, + enableDrag: true, + + dynamic: false, + dynamicEl: [], + galleryId: 1, + supportLegacyBrowser: true + }; + + function Plugin(element, options) { + + // Current lightGallery element + this.el = element; + + // lightGallery settings + this.s = _extends({}, defaults, options); + + // When using dynamic mode, ensure dynamicEl is an array + if (this.s.dynamic && this.s.dynamicEl !== 'undefined' && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) { + throw 'When using dynamic mode, you must also define dynamicEl as an Array.'; + } + + // lightGallery modules + this.modules = {}; + + // false when lightgallery complete first slide; + this.lGalleryOn = false; + + this.lgBusy = false; + + // Timeout function for hiding controls; + this.hideBartimeout = false; + + // To determine browser supports for touch events; + this.isTouch = 'ontouchstart' in document.documentElement; + + // Disable hideControlOnEnd if sildeEndAnimation is true + if (this.s.slideEndAnimatoin) { + this.s.hideControlOnEnd = false; + } + + this.items = []; + + // Gallery items + if (this.s.dynamic) { + this.items = this.s.dynamicEl; + } else { + if (this.s.selector === 'this') { + this.items.push(this.el); + } else if (this.s.selector !== '') { + if (this.s.selectWithin) { + this.items = document.querySelector(this.s.selectWithin).querySelectorAll(this.s.selector); + } else { + this.items = this.el.querySelectorAll(this.s.selector); + } + } else { + this.items = this.el.children; + } + } + + // .lg-item + + this.___slide = ''; + + // .lg-outer + this.outer = ''; + + this.init(); + + return this; + } + + Plugin.prototype.init = function () { + + var _this = this; + + // s.preload should not be more than $item.length + if (_this.s.preload > _this.items.length) { + _this.s.preload = _this.items.length; + } + + // if dynamic option is enabled execute immediately + var _hash = window.location.hash; + if (_hash.indexOf('lg=' + this.s.galleryId) > 0) { + + _this.index = parseInt(_hash.split('&slide=')[1], 10); + + _lgUtils2.default.addClass(document.body, 'lg-from-hash'); + if (!_lgUtils2.default.hasClass(document.body, 'lg-on')) { + _lgUtils2.default.addClass(document.body, 'lg-on'); + setTimeout(function () { + _this.build(_this.index); + }); + } + } + + if (_this.s.dynamic) { + + _lgUtils2.default.trigger(this.el, 'onBeforeOpen'); + + _this.index = _this.s.index || 0; + + // prevent accidental double execution + if (!_lgUtils2.default.hasClass(document.body, 'lg-on')) { + _lgUtils2.default.addClass(document.body, 'lg-on'); + setTimeout(function () { + _this.build(_this.index); + }); + } + } else { + + for (var i = 0; i < _this.items.length; i++) { + + /*jshint loopfunc: true */ + (function (index) { + + // Using different namespace for click because click event should not unbind if selector is same object('this') + _lgUtils2.default.on(_this.items[index], 'click.lgcustom', function (e) { + + e.preventDefault(); + + _lgUtils2.default.trigger(_this.el, 'onBeforeOpen'); + + _this.index = _this.s.index || index; + + if (!_lgUtils2.default.hasClass(document.body, 'lg-on')) { + _this.build(_this.index); + _lgUtils2.default.addClass(document.body, 'lg-on'); + } + }); + })(i); + } + } + }; + + Plugin.prototype.build = function (index) { + + var _this = this; + + _this.structure(); + + for (var key in window.lgModules) { + _this.modules[key] = new window.lgModules[key](_this.el); + } + + // initiate slide function + _this.slide(index, false, false); + + if (_this.s.keyPress) { + _this.keyPress(); + } + + if (_this.items.length > 1) { + + _this.arrow(); + + setTimeout(function () { + _this.enableDrag(); + _this.enableSwipe(); + }, 50); + + if (_this.s.mousewheel) { + _this.mousewheel(); + } + } + + _this.counter(); + + _this.closeGallery(); + + _lgUtils2.default.trigger(_this.el, 'onAfterOpen'); + + // Hide controllers if mouse doesn't move for some period + if (_this.s.hideBarsDelay > 0) { + + // Hide controls if user doesn't use mouse or touch after opening gallery + var initialHideBarTimeout = setTimeout(function () { + _lgUtils2.default.addClass(_this.outer, 'lg-hide-items'); + }, _this.s.hideBarsDelay); + _lgUtils2.default.on(_this.outer, 'mousemove.lg click.lg touchstart.lg', function () { + + // Cancel initalHideBarTimout if user uses mouse or touch events + // Before it fires + clearTimeout(initialHideBarTimeout); + + _lgUtils2.default.removeClass(_this.outer, 'lg-hide-items'); + + clearTimeout(_this.hideBartimeout); + + // Timeout will be cleared on each slide movement also + _this.hideBartimeout = setTimeout(function () { + _lgUtils2.default.addClass(_this.outer, 'lg-hide-items'); + }, _this.s.hideBarsDelay); + }); + } + }; + + Plugin.prototype.structure = function () { + var list = ''; + var controls = ''; + var i = 0; + var subHtmlCont = ''; + var template; + var _this = this; + + document.body.insertAdjacentHTML('beforeend', '
    '); + _lgUtils2.default.setVendor(document.querySelector('.lg-backdrop'), 'TransitionDuration', this.s.backdropDuration + 'ms'); + + // Create gallery items + for (i = 0; i < this.items.length; i++) { + list += '
    '; + } + + // Create controlls + if (this.s.controls && this.items.length > 1) { + controls = '
    ' + '' + '' + '
    '; + } + + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + subHtmlCont = '
    '; + } + + var ariaLabelledby = this.s.ariaLabelledby ? 'aria-labelledby="' + this.s.ariaLabelledby + '"' : ''; + var ariaDescribedby = this.s.ariaDescribedby ? 'aria-describedby="' + this.s.ariaDescribedby + '"' : ''; + + template = ''; + + document.body.insertAdjacentHTML('beforeend', template); + this.outer = document.querySelector('.lg-outer'); + this.outer.focus(); + this.___slide = this.outer.querySelectorAll('.lg-item'); + + if (this.s.useLeft) { + _lgUtils2.default.addClass(this.outer, 'lg-use-left'); + + // Set mode lg-slide if use left is true; + this.s.mode = 'lg-slide'; + } else { + _lgUtils2.default.addClass(this.outer, 'lg-use-css3'); + } + + // For fixed height gallery + _this.setTop(); + _lgUtils2.default.on(window, 'resize.lg orientationchange.lg', function () { + setTimeout(function () { + _this.setTop(); + }, 100); + }); + + // add class lg-current to remove initial transition + _lgUtils2.default.addClass(this.___slide[this.index], 'lg-current'); + + // add Class for css support and transition mode + if (this.doCss()) { + _lgUtils2.default.addClass(this.outer, 'lg-css3'); + } else { + _lgUtils2.default.addClass(this.outer, 'lg-css'); + + // Set speed 0 because no animation will happen if browser doesn't support css3 + this.s.speed = 0; + } + + _lgUtils2.default.addClass(this.outer, this.s.mode); + + if (this.s.enableDrag && this.items.length > 1) { + _lgUtils2.default.addClass(this.outer, 'lg-grab'); + } + + if (this.s.showAfterLoad) { + _lgUtils2.default.addClass(this.outer, 'lg-show-after-load'); + } + + if (this.doCss()) { + var inner = this.outer.querySelector('.lg-inner'); + _lgUtils2.default.setVendor(inner, 'TransitionTimingFunction', this.s.cssEasing); + _lgUtils2.default.setVendor(inner, 'TransitionDuration', this.s.speed + 'ms'); + } + + setTimeout(function () { + _lgUtils2.default.addClass(document.querySelector('.lg-backdrop'), 'in'); + }); + + setTimeout(function () { + _lgUtils2.default.addClass(_this.outer, 'lg-visible'); + }, this.s.backdropDuration); + + if (this.s.download) { + this.outer.querySelector('.lg-toolbar').insertAdjacentHTML('beforeend', '
    '); + } + + // Store the current scroll top value to scroll back after closing the gallery.. + this.prevScrollTop = document.documentElement.scrollTop || document.body.scrollTop; + }; + + // For fixed height gallery + Plugin.prototype.setTop = function () { + if (this.s.height !== '100%') { + var wH = window.innerHeight; + var top = (wH - parseInt(this.s.height, 10)) / 2; + var lGallery = this.outer.querySelector('.lg'); + if (wH >= parseInt(this.s.height, 10)) { + lGallery.style.top = top + 'px'; + } else { + lGallery.style.top = '0px'; + } + } + }; + + // Find css3 support + Plugin.prototype.doCss = function () { + // check for css animation support + var support = function support() { + var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition']; + var root = document.documentElement; + var i = 0; + for (i = 0; i < transition.length; i++) { + if (transition[i] in root.style) { + return true; + } + } + }; + + if (support()) { + return true; + } + + return false; + }; + + /** + * @desc Check the given src is video + * @param {String} src + * @return {Object} video type + * Ex:{ youtube : ["//www.youtube.com/watch?v=c0asJgSyxcY", "c0asJgSyxcY"] } + */ + Plugin.prototype.isVideo = function (src, index) { + + var html; + if (this.s.dynamic) { + html = this.s.dynamicEl[index].html; + } else { + html = this.items[index].getAttribute('data-html'); + } + + if (!src && html) { + return { + html5: true + }; + } + + var youtube = src.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i); + var vimeo = src.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i); + var dailymotion = src.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i); + var vk = src.match(/\/\/(?:www\.)?(?:vk\.com|vkontakte\.ru)\/(?:video_ext\.php\?)(.*)/i); + + if (youtube) { + return { + youtube: youtube + }; + } else if (vimeo) { + return { + vimeo: vimeo + }; + } else if (dailymotion) { + return { + dailymotion: dailymotion + }; + } else if (vk) { + return { + vk: vk + }; + } + }; + + /** + * @desc Create image counter + * Ex: 1/10 + */ + Plugin.prototype.counter = function () { + if (this.s.counter) { + this.outer.querySelector(this.s.appendCounterTo).insertAdjacentHTML('beforeend', '
    ' + (parseInt(this.index, 10) + 1) + ' / ' + this.items.length + '
    '); + } + }; + + /** + * @desc add sub-html into the slide + * @param {Number} index - index of the slide + */ + Plugin.prototype.addHtml = function (index) { + var subHtml = null; + var currentEle; + if (this.s.dynamic) { + subHtml = this.s.dynamicEl[index].subHtml; + } else { + currentEle = this.items[index]; + subHtml = currentEle.getAttribute('data-sub-html'); + if (this.s.getCaptionFromTitleOrAlt && !subHtml) { + subHtml = currentEle.getAttribute('title'); + if (subHtml && currentEle.querySelector('img')) { + subHtml = currentEle.querySelector('img').getAttribute('alt'); + } + } + } + + if (typeof subHtml !== 'undefined' && subHtml !== null) { + + // get first letter of subhtml + // if first letter starts with . or # get the html form the jQuery object + var fL = subHtml.substring(0, 1); + if (fL === '.' || fL === '#') { + if (this.s.subHtmlSelectorRelative && !this.s.dynamic) { + subHtml = currentEle.querySelector(subHtml).innerHTML; + } else { + subHtml = document.querySelector(subHtml).innerHTML; + } + } + } else { + subHtml = ''; + } + + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + this.outer.querySelector(this.s.appendSubHtmlTo).innerHTML = subHtml; + } else { + this.___slide[index].insertAdjacentHTML('beforeend', subHtml); + } + + // Add lg-empty-html class if title doesn't exist + if (typeof subHtml !== 'undefined' && subHtml !== null) { + if (subHtml === '') { + _lgUtils2.default.addClass(this.outer.querySelector(this.s.appendSubHtmlTo), 'lg-empty-html'); + } else { + _lgUtils2.default.removeClass(this.outer.querySelector(this.s.appendSubHtmlTo), 'lg-empty-html'); + } + } + + _lgUtils2.default.trigger(this.el, 'onAfterAppendSubHtml', { + index: index + }); + }; + + /** + * @desc Preload slides + * @param {Number} index - index of the slide + */ + Plugin.prototype.preload = function (index) { + var i = 1; + var j = 1; + for (i = 1; i <= this.s.preload; i++) { + if (i >= this.items.length - index) { + break; + } + + this.loadContent(index + i, false, 0); + } + + for (j = 1; j <= this.s.preload; j++) { + if (index - j < 0) { + break; + } + + this.loadContent(index - j, false, 0); + } + }; + + /** + * @desc Load slide content into slide. + * @param {Number} index - index of the slide. + * @param {Boolean} rec - if true call loadcontent() function again. + * @param {Boolean} delay - delay for adding complete class. it is 0 except first time. + */ + Plugin.prototype.loadContent = function (index, rec, delay) { + + var _this = this; + var _hasPoster = false; + var _img; + var _src; + var _poster; + var _srcset; + var _sizes; + var _html; + var _alt; + var getResponsiveSrc = function getResponsiveSrc(srcItms) { + var rsWidth = []; + var rsSrc = []; + for (var i = 0; i < srcItms.length; i++) { + var __src = srcItms[i].split(' '); + + // Manage empty space + if (__src[0] === '') { + __src.splice(0, 1); + } + + rsSrc.push(__src[0]); + rsWidth.push(__src[1]); + } + + var wWidth = window.innerWidth; + for (var j = 0; j < rsWidth.length; j++) { + if (parseInt(rsWidth[j], 10) > wWidth) { + _src = rsSrc[j]; + break; + } + } + }; + + if (_this.s.dynamic) { + + if (_this.s.dynamicEl[index].poster) { + _hasPoster = true; + _poster = _this.s.dynamicEl[index].poster; + } + + _html = _this.s.dynamicEl[index].html; + _src = _this.s.dynamicEl[index].src; + _alt = _this.s.dynamicEl[index].alt; + + if (_this.s.dynamicEl[index].responsive) { + var srcDyItms = _this.s.dynamicEl[index].responsive.split(','); + getResponsiveSrc(srcDyItms); + } + + _srcset = _this.s.dynamicEl[index].srcset; + _sizes = _this.s.dynamicEl[index].sizes; + } else { + + if (_this.items[index].getAttribute('data-poster')) { + _hasPoster = true; + _poster = _this.items[index].getAttribute('data-poster'); + } + + _html = _this.items[index].getAttribute('data-html'); + _src = _this.items[index].getAttribute('href') || _this.items[index].getAttribute('data-src'); + _alt = _this.items[index].getAttribute('title'); + + if (_this.items[index].querySelector('img')) { + _alt = _alt || _this.items[index].querySelector('img').getAttribute('alt'); + } + + if (_this.items[index].getAttribute('data-responsive')) { + var srcItms = _this.items[index].getAttribute('data-responsive').split(','); + getResponsiveSrc(srcItms); + } + + _srcset = _this.items[index].getAttribute('data-srcset'); + _sizes = _this.items[index].getAttribute('data-sizes'); + } + + //if (_src || _srcset || _sizes || _poster) { + + var iframe = false; + if (_this.s.dynamic) { + if (_this.s.dynamicEl[index].iframe) { + iframe = true; + } + } else { + if (_this.items[index].getAttribute('data-iframe') === 'true') { + iframe = true; + } + } + + var _isVideo = _this.isVideo(_src, index); + if (!_lgUtils2.default.hasClass(_this.___slide[index], 'lg-loaded')) { + if (iframe) { + _this.___slide[index].insertAdjacentHTML('afterbegin', '
    '); + } else if (_hasPoster) { + var videoClass = ''; + if (_isVideo && _isVideo.youtube) { + videoClass = 'lg-has-youtube'; + } else if (_isVideo && _isVideo.vimeo) { + videoClass = 'lg-has-vimeo'; + } else { + videoClass = 'lg-has-html5'; + } + + _this.___slide[index].insertAdjacentHTML('beforeend', '
    '); + } else if (_isVideo) { + _this.___slide[index].insertAdjacentHTML('beforeend', '
    '); + _lgUtils2.default.trigger(_this.el, 'hasVideo', { + index: index, + src: _src, + html: _html + }); + } else { + _alt = _alt ? 'alt="' + _alt + '"' : ''; + _this.___slide[index].insertAdjacentHTML('beforeend', '
    '); + } + + _lgUtils2.default.trigger(_this.el, 'onAferAppendSlide', { + index: index + }); + + _img = _this.___slide[index].querySelector('.lg-object'); + if (_sizes) { + _img.setAttribute('sizes', _sizes); + } + + if (_srcset) { + _img.setAttribute('srcset', _srcset); + + if (this.s.supportLegacyBrowser) { + try { + picturefill({ + elements: [_img[0]] + }); + } catch (e) { + console.warn('If you want srcset to be supported for older browsers, ' + 'please include picturefil javascript library in your document.'); + } + } + } + + if (this.s.appendSubHtmlTo !== '.lg-sub-html') { + _this.addHtml(index); + } + + _lgUtils2.default.addClass(_this.___slide[index], 'lg-loaded'); + } + + _lgUtils2.default.on(_this.___slide[index].querySelector('.lg-object'), 'load.lg error.lg', function () { + + // 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 && !_lgUtils2.default.hasClass(document.body, 'lg-from-hash')) { + _speed = delay; + } + + setTimeout(function () { + _lgUtils2.default.addClass(_this.___slide[index], 'lg-complete'); + + _lgUtils2.default.trigger(_this.el, 'onSlideItemLoad', { + index: index, + delay: delay || 0 + }); + }, _speed); + }); + + // @todo check load state for html5 videos + if (_isVideo && _isVideo.html5 && !_hasPoster) { + _lgUtils2.default.addClass(_this.___slide[index], 'lg-complete'); + } + + if (rec === true) { + if (!_lgUtils2.default.hasClass(_this.___slide[index], 'lg-complete')) { + _lgUtils2.default.on(_this.___slide[index].querySelector('.lg-object'), 'load.lg error.lg', function () { + _this.preload(index); + }); + } else { + _this.preload(index); + } + } + + //} + }; + + /** + * @desc slide function for lightgallery + ** Slide() gets call on start + ** ** Set lg.on true once slide() function gets called. + ** Call loadContent() on slide() function inside setTimeout + ** ** On first slide we do not want any animation like slide of fade + ** ** So on first slide( if lg.on if false that is first slide) loadContent() should start loading immediately + ** ** Else loadContent() should wait for the transition to complete. + ** ** So set timeout s.speed + 50 + <=> ** loadContent() will load slide content in to the particular slide + ** ** It has recursion (rec) parameter. if rec === true loadContent() will call preload() function. + ** ** preload will execute only when the previous slide is fully loaded (images iframe) + ** ** avoid simultaneous image load + <=> ** Preload() will check for s.preload value and call loadContent() again accoring to preload value + ** loadContent() <====> Preload(); + + * @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 + */ + Plugin.prototype.slide = function (index, fromTouch, fromThumb) { + + var _prevIndex = 0; + for (var i = 0; i < this.___slide.length; i++) { + if (_lgUtils2.default.hasClass(this.___slide[i], 'lg-current')) { + _prevIndex = i; + break; + } + } + + var _this = this; + + // Prevent if multiple call + // Required for hsh plugin + if (_this.lGalleryOn && _prevIndex === index) { + return; + } + + var _length = this.___slide.length; + var _time = _this.lGalleryOn ? this.s.speed : 0; + var _next = false; + var _prev = false; + + if (!_this.lgBusy) { + + if (this.s.download) { + var _src; + if (_this.s.dynamic) { + _src = _this.s.dynamicEl[index].downloadUrl !== false && (_this.s.dynamicEl[index].downloadUrl || _this.s.dynamicEl[index].src); + } else { + _src = _this.items[index].getAttribute('data-download-url') !== 'false' && (_this.items[index].getAttribute('data-download-url') || _this.items[index].getAttribute('href') || _this.items[index].getAttribute('data-src')); + } + + if (_src) { + document.getElementById('lg-download').setAttribute('href', _src); + _lgUtils2.default.removeClass(_this.outer, 'lg-hide-download'); + } else { + _lgUtils2.default.addClass(_this.outer, 'lg-hide-download'); + } + } + + _lgUtils2.default.trigger(_this.el, 'onBeforeSlide', { + prevIndex: _prevIndex, + index: index, + fromTouch: fromTouch, + fromThumb: fromThumb + }); + + _this.lgBusy = true; + + clearTimeout(_this.hideBartimeout); + + // Add title if this.s.appendSubHtmlTo === lg-sub-html + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + + // wait for slide animation to complete + setTimeout(function () { + _this.addHtml(index); + }, _time); + } + + this.arrowDisable(index); + + if (!fromTouch) { + + // remove all transitions + _lgUtils2.default.addClass(_this.outer, 'lg-no-trans'); + + for (var j = 0; j < this.___slide.length; j++) { + _lgUtils2.default.removeClass(this.___slide[j], 'lg-prev-slide'); + _lgUtils2.default.removeClass(this.___slide[j], 'lg-next-slide'); + } + + if (index < _prevIndex) { + _prev = true; + if (index === 0 && _prevIndex === _length - 1 && !fromThumb) { + _prev = false; + _next = true; + } + } else if (index > _prevIndex) { + _next = true; + if (index === _length - 1 && _prevIndex === 0 && !fromThumb) { + _prev = true; + _next = false; + } + } + + if (_prev) { + + //prevslide + _lgUtils2.default.addClass(this.___slide[index], 'lg-prev-slide'); + _lgUtils2.default.addClass(this.___slide[_prevIndex], 'lg-next-slide'); + } else if (_next) { + + // next slide + _lgUtils2.default.addClass(this.___slide[index], 'lg-next-slide'); + _lgUtils2.default.addClass(this.___slide[_prevIndex], 'lg-prev-slide'); + } + + // give 50 ms for browser to add/remove class + setTimeout(function () { + _lgUtils2.default.removeClass(_this.outer.querySelector('.lg-current'), 'lg-current'); + + //_this.$slide.eq(_prevIndex).removeClass('lg-current'); + _lgUtils2.default.addClass(_this.___slide[index], 'lg-current'); + + // reset all transitions + _lgUtils2.default.removeClass(_this.outer, 'lg-no-trans'); + }, 50); + } else { + + var touchPrev = index - 1; + var touchNext = index + 1; + + if (index === 0 && _prevIndex === _length - 1) { + + // next slide + touchNext = 0; + touchPrev = _length - 1; + } else if (index === _length - 1 && _prevIndex === 0) { + + // prev slide + touchNext = 0; + touchPrev = _length - 1; + } + + _lgUtils2.default.removeClass(_this.outer.querySelector('.lg-prev-slide'), 'lg-prev-slide'); + _lgUtils2.default.removeClass(_this.outer.querySelector('.lg-current'), 'lg-current'); + _lgUtils2.default.removeClass(_this.outer.querySelector('.lg-next-slide'), 'lg-next-slide'); + _lgUtils2.default.addClass(_this.___slide[touchPrev], 'lg-prev-slide'); + _lgUtils2.default.addClass(_this.___slide[touchNext], 'lg-next-slide'); + _lgUtils2.default.addClass(_this.___slide[index], 'lg-current'); + } + + if (_this.lGalleryOn) { + setTimeout(function () { + _this.loadContent(index, true, 0); + }, this.s.speed + 50); + + setTimeout(function () { + _this.lgBusy = false; + _lgUtils2.default.trigger(_this.el, 'onAfterSlide', { + prevIndex: _prevIndex, + index: index, + fromTouch: fromTouch, + fromThumb: fromThumb + }); + }, this.s.speed); + } else { + _this.loadContent(index, true, _this.s.backdropDuration); + + _this.lgBusy = false; + _lgUtils2.default.trigger(_this.el, 'onAfterSlide', { + prevIndex: _prevIndex, + index: index, + fromTouch: fromTouch, + fromThumb: fromThumb + }); + } + + _this.lGalleryOn = true; + + if (this.s.counter) { + if (document.getElementById('lg-counter-current')) { + document.getElementById('lg-counter-current').innerHTML = index + 1; + } + } + } + }; + + /** + * @desc Go to next slide + * @param {Boolean} fromTouch - true if slide function called via touch event + */ + Plugin.prototype.goToNextSlide = function (fromTouch) { + var _this = this; + if (!_this.lgBusy) { + if (_this.index + 1 < _this.___slide.length) { + _this.index++; + _lgUtils2.default.trigger(_this.el, 'onBeforeNextSlide', { + index: _this.index + }); + _this.slide(_this.index, fromTouch, false); + } else { + if (_this.s.loop) { + _this.index = 0; + _lgUtils2.default.trigger(_this.el, 'onBeforeNextSlide', { + index: _this.index + }); + _this.slide(_this.index, fromTouch, false); + } else if (_this.s.slideEndAnimatoin) { + _lgUtils2.default.addClass(_this.outer, 'lg-right-end'); + setTimeout(function () { + _lgUtils2.default.removeClass(_this.outer, 'lg-right-end'); + }, 400); + } + } + } + }; + + /** + * @desc Go to previous slide + * @param {Boolean} fromTouch - true if slide function called via touch event + */ + Plugin.prototype.goToPrevSlide = function (fromTouch) { + var _this = this; + if (!_this.lgBusy) { + if (_this.index > 0) { + _this.index--; + _lgUtils2.default.trigger(_this.el, 'onBeforePrevSlide', { + index: _this.index, + fromTouch: fromTouch + }); + _this.slide(_this.index, fromTouch, false); + } else { + if (_this.s.loop) { + _this.index = _this.items.length - 1; + _lgUtils2.default.trigger(_this.el, 'onBeforePrevSlide', { + index: _this.index, + fromTouch: fromTouch + }); + _this.slide(_this.index, fromTouch, false); + } else if (_this.s.slideEndAnimatoin) { + _lgUtils2.default.addClass(_this.outer, 'lg-left-end'); + setTimeout(function () { + _lgUtils2.default.removeClass(_this.outer, 'lg-left-end'); + }, 400); + } + } + } + }; + + Plugin.prototype.keyPress = function () { + var _this = this; + if (this.items.length > 1) { + _lgUtils2.default.on(window, 'keyup.lg', function (e) { + if (_this.items.length > 1) { + if (e.keyCode === 37) { + e.preventDefault(); + _this.goToPrevSlide(); + } + + if (e.keyCode === 39) { + e.preventDefault(); + _this.goToNextSlide(); + } + } + }); + } + + _lgUtils2.default.on(window, 'keydown.lg', function (e) { + if (_this.s.escKey === true && e.keyCode === 27) { + e.preventDefault(); + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-thumb-open')) { + _this.destroy(); + } else { + _lgUtils2.default.removeClass(_this.outer, 'lg-thumb-open'); + } + } + }); + }; + + Plugin.prototype.arrow = function () { + var _this = this; + _lgUtils2.default.on(this.outer.querySelector('.lg-prev'), 'click.lg', function () { + _this.goToPrevSlide(); + }); + + _lgUtils2.default.on(this.outer.querySelector('.lg-next'), 'click.lg', function () { + _this.goToNextSlide(); + }); + }; + + Plugin.prototype.arrowDisable = function (index) { + + // Disable arrows if s.hideControlOnEnd is true + if (!this.s.loop && this.s.hideControlOnEnd) { + var next = this.outer.querySelector('.lg-next'); + var prev = this.outer.querySelector('.lg-prev'); + if (index + 1 < this.___slide.length) { + next.removeAttribute('disabled'); + _lgUtils2.default.removeClass(next, 'disabled'); + } else { + next.setAttribute('disabled', 'disabled'); + _lgUtils2.default.addClass(next, 'disabled'); + } + + if (index > 0) { + prev.removeAttribute('disabled'); + _lgUtils2.default.removeClass(prev, 'disabled'); + } else { + prev.setAttribute('disabled', 'disabled'); + _lgUtils2.default.addClass(prev, 'disabled'); + } + } + }; + + Plugin.prototype.setTranslate = function (el, xValue, yValue) { + // jQuery supports Automatic CSS prefixing since jQuery 1.8.0 + if (this.s.useLeft) { + el.style.left = xValue; + } else { + _lgUtils2.default.setVendor(el, 'Transform', 'translate3d(' + xValue + 'px, ' + yValue + 'px, 0px)'); + } + }; + + Plugin.prototype.touchMove = function (startCoords, endCoords) { + + var distance = endCoords - startCoords; + + if (Math.abs(distance) > 15) { + // reset opacity and transition duration + _lgUtils2.default.addClass(this.outer, 'lg-dragging'); + + // move current slide + this.setTranslate(this.___slide[this.index], distance, 0); + + // move next and prev slide with current slide + this.setTranslate(document.querySelector('.lg-prev-slide'), -this.___slide[this.index].clientWidth + distance, 0); + this.setTranslate(document.querySelector('.lg-next-slide'), this.___slide[this.index].clientWidth + distance, 0); + } + }; + + Plugin.prototype.touchEnd = function (distance) { + var _this = this; + + // keep slide animation for any mode while dragg/swipe + if (_this.s.mode !== 'lg-slide') { + _lgUtils2.default.addClass(_this.outer, 'lg-slide'); + } + + for (var i = 0; i < this.___slide.length; i++) { + if (!_lgUtils2.default.hasClass(this.___slide[i], 'lg-current') && !_lgUtils2.default.hasClass(this.___slide[i], 'lg-prev-slide') && !_lgUtils2.default.hasClass(this.___slide[i], 'lg-next-slide')) { + this.___slide[i].style.opacity = '0'; + } + } + + // set transition duration + setTimeout(function () { + _lgUtils2.default.removeClass(_this.outer, 'lg-dragging'); + if (distance < 0 && Math.abs(distance) > _this.s.swipeThreshold) { + _this.goToNextSlide(true); + } else if (distance > 0 && Math.abs(distance) > _this.s.swipeThreshold) { + _this.goToPrevSlide(true); + } else if (Math.abs(distance) < 5) { + + // Trigger click if distance is less than 5 pix + _lgUtils2.default.trigger(_this.el, 'onSlideClick'); + } + + for (var i = 0; i < _this.___slide.length; i++) { + _this.___slide[i].removeAttribute('style'); + } + }); + + // remove slide class once drag/swipe is completed if mode is not slide + setTimeout(function () { + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-dragging') && _this.s.mode !== 'lg-slide') { + _lgUtils2.default.removeClass(_this.outer, 'lg-slide'); + } + }, _this.s.speed + 100); + }; + + Plugin.prototype.enableSwipe = function () { + var _this = this; + var startCoords = 0; + var endCoords = 0; + var isMoved = false; + + if (_this.s.enableSwipe && _this.isTouch && _this.doCss()) { + + for (var i = 0; i < _this.___slide.length; i++) { + /*jshint loopfunc: true */ + _lgUtils2.default.on(_this.___slide[i], 'touchstart.lg', function (e) { + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed') && !_this.lgBusy) { + e.preventDefault(); + _this.manageSwipeClass(); + startCoords = e.targetTouches[0].pageX; + } + }); + } + + for (var j = 0; j < _this.___slide.length; j++) { + /*jshint loopfunc: true */ + _lgUtils2.default.on(_this.___slide[j], 'touchmove.lg', function (e) { + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed')) { + e.preventDefault(); + endCoords = e.targetTouches[0].pageX; + _this.touchMove(startCoords, endCoords); + isMoved = true; + } + }); + } + + for (var k = 0; k < _this.___slide.length; k++) { + /*jshint loopfunc: true */ + _lgUtils2.default.on(_this.___slide[k], 'touchend.lg', function () { + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed')) { + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords - startCoords); + } else { + _lgUtils2.default.trigger(_this.el, 'onSlideClick'); + } + } + }); + } + } + }; + + Plugin.prototype.enableDrag = function () { + var _this = this; + var startCoords = 0; + var endCoords = 0; + var isDraging = false; + var isMoved = false; + if (_this.s.enableDrag && !_this.isTouch && _this.doCss()) { + for (var i = 0; i < _this.___slide.length; i++) { + /*jshint loopfunc: true */ + _lgUtils2.default.on(_this.___slide[i], 'mousedown.lg', function (e) { + // execute only on .lg-object + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed')) { + if (_lgUtils2.default.hasClass(e.target, 'lg-object') || _lgUtils2.default.hasClass(e.target, 'lg-video-play')) { + e.preventDefault(); + + if (!_this.lgBusy) { + _this.manageSwipeClass(); + startCoords = e.pageX; + isDraging = true; + + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + _this.outer.scrollLeft += 1; + _this.outer.scrollLeft -= 1; + + // * + + _lgUtils2.default.removeClass(_this.outer, 'lg-grab'); + _lgUtils2.default.addClass(_this.outer, 'lg-grabbing'); + + _lgUtils2.default.trigger(_this.el, 'onDragstart'); + } + } + } + }); + } + + _lgUtils2.default.on(window, 'mousemove.lg', function (e) { + if (isDraging) { + isMoved = true; + endCoords = e.pageX; + _this.touchMove(startCoords, endCoords); + _lgUtils2.default.trigger(_this.el, 'onDragmove'); + } + }); + + _lgUtils2.default.on(window, 'mouseup.lg', function (e) { + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords - startCoords); + _lgUtils2.default.trigger(_this.el, 'onDragend'); + } else if (_lgUtils2.default.hasClass(e.target, 'lg-object') || _lgUtils2.default.hasClass(e.target, 'lg-video-play')) { + _lgUtils2.default.trigger(_this.el, 'onSlideClick'); + } + + // Prevent execution on click + if (isDraging) { + isDraging = false; + _lgUtils2.default.removeClass(_this.outer, 'lg-grabbing'); + _lgUtils2.default.addClass(_this.outer, 'lg-grab'); + } + }); + } + }; + + Plugin.prototype.manageSwipeClass = function () { + var touchNext = this.index + 1; + var touchPrev = this.index - 1; + var length = this.___slide.length; + if (this.s.loop) { + if (this.index === 0) { + touchPrev = length - 1; + } else if (this.index === length - 1) { + touchNext = 0; + } + } + + for (var i = 0; i < this.___slide.length; i++) { + _lgUtils2.default.removeClass(this.___slide[i], 'lg-next-slide'); + _lgUtils2.default.removeClass(this.___slide[i], 'lg-prev-slide'); + } + + if (touchPrev > -1) { + _lgUtils2.default.addClass(this.___slide[touchPrev], 'lg-prev-slide'); + } + + _lgUtils2.default.addClass(this.___slide[touchNext], 'lg-next-slide'); + }; + + Plugin.prototype.mousewheel = function () { + var _this = this; + _lgUtils2.default.on(_this.outer, 'mousewheel.lg', function (e) { + + if (!e.deltaY) { + return; + } + + if (e.deltaY > 0) { + _this.goToPrevSlide(); + } else { + _this.goToNextSlide(); + } + + e.preventDefault(); + }); + }; + + Plugin.prototype.closeGallery = function () { + + var _this = this; + var mousedown = false; + _lgUtils2.default.on(this.outer.querySelector('.lg-close'), 'click.lg', function () { + _this.destroy(); + }); + + if (_this.s.closable) { + + // 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 + _lgUtils2.default.on(_this.outer, 'mousedown.lg', function (e) { + + if (_lgUtils2.default.hasClass(e.target, 'lg-outer') || _lgUtils2.default.hasClass(e.target, 'lg-item') || _lgUtils2.default.hasClass(e.target, 'lg-img-wrap')) { + mousedown = true; + } else { + mousedown = false; + } + }); + + _lgUtils2.default.on(_this.outer, 'mouseup.lg', function (e) { + + if (_lgUtils2.default.hasClass(e.target, 'lg-outer') || _lgUtils2.default.hasClass(e.target, 'lg-item') || _lgUtils2.default.hasClass(e.target, 'lg-img-wrap') && mousedown) { + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-dragging')) { + _this.destroy(); + } + } + }); + } + }; + + Plugin.prototype.destroy = function (d) { + + var _this = this; + + if (!d) { + _lgUtils2.default.trigger(_this.el, 'onBeforeClose'); + } + + document.body.scrollTop = _this.prevScrollTop; + document.documentElement.scrollTop = _this.prevScrollTop; + + /** + * if d is false or undefined destroy will only close the gallery + * plugins instance remains with the element + * + * if d is true destroy will completely remove the plugin + */ + + if (d) { + if (!_this.s.dynamic) { + // only when not using dynamic mode is $items a jquery collection + + for (var i = 0; i < this.items.length; i++) { + _lgUtils2.default.off(this.items[i], '.lg'); + _lgUtils2.default.off(this.items[i], '.lgcustom'); + } + } + + var lguid = _this.el.getAttribute('lg-uid'); + delete window.lgData[lguid]; + _this.el.removeAttribute('lg-uid'); + } + + // Unbind all events added by lightGallery + _lgUtils2.default.off(this.el, '.lgtm'); + + // Distroy all lightGallery modules + for (var key in window.lgModules) { + if (_this.modules[key]) { + _this.modules[key].destroy(d); + } + } + + this.lGalleryOn = false; + + clearTimeout(_this.hideBartimeout); + this.hideBartimeout = false; + _lgUtils2.default.off(window, '.lg'); + _lgUtils2.default.removeClass(document.body, 'lg-on'); + _lgUtils2.default.removeClass(document.body, 'lg-from-hash'); + + if (_this.outer) { + _lgUtils2.default.removeClass(_this.outer, 'lg-visible'); + } + + _lgUtils2.default.removeClass(document.querySelector('.lg-backdrop'), 'in'); + setTimeout(function () { + try { + if (_this.outer) { + _this.outer.parentNode.removeChild(_this.outer); + } + + if (document.querySelector('.lg-backdrop')) { + document.querySelector('.lg-backdrop').parentNode.removeChild(document.querySelector('.lg-backdrop')); + } + + if (!d) { + _lgUtils2.default.trigger(_this.el, 'onCloseAfter'); + } + _this.el.focus(); + } catch (err) {} + }, _this.s.backdropDuration + 50); + }; + + window.lightGallery = function (el, options) { + if (!el) { + return; + } + + try { + if (!el.getAttribute('lg-uid')) { + var uid = 'lg' + window.lgData.uid++; + window.lgData[uid] = new Plugin(el, options); + el.setAttribute('lg-uid', uid); + } else { + window.lgData[el.getAttribute('lg-uid')].init(); + } + } catch (err) { + console.error('lightGallery has not initiated properly', err); + } + }; +}); + +},{"./lg-utils":1}]},{},[2])(2) +}); diff --git a/public/js/vendor/lightgallery.js/dist/js/lightgallery.min.js b/public/js/vendor/lightgallery.js/dist/js/lightgallery.min.js new file mode 100644 index 0000000..c8f89fc --- /dev/null +++ b/public/js/vendor/lightgallery.js/dist/js/lightgallery.min.js @@ -0,0 +1,7 @@ +/**! + * lightgallery.js | 1.4.0 | October 13th 2020 + * http://sachinchoolur.github.io/lightgallery.js/ + * Copyright (c) 2016 Sachin N; + * @license GPLv3 + */ +!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Lightgallery=e()}}(function(){var e,t,s;return function(){function e(t,s,l){function i(r,a){if(!s[r]){if(!t[r]){var d="function"==typeof require&&require;if(!a&&d)return d(r,!0);if(o)return o(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var u=s[r]={exports:{}};t[r][0].call(u.exports,function(e){return i(t[r][1][e]||e)},u,u.exports,e,t,s,l)}return s[r].exports}for(var o="function"==typeof require&&require,r=0;r2&&void 0!==arguments[2]?arguments[2]:null;if(t){var i=new CustomEvent(s,{detail:l});t.dispatchEvent(i)}},Listener:{uid:0},on:function e(s,l,i){var o=this;s&&l.split(" ").forEach(function(e){var l=o.getAttribute(s,"lg-event-uid")||"";t.Listener.uid++,l+="&"+t.Listener.uid,o.setAttribute(s,"lg-event-uid",l),t.Listener[e+t.Listener.uid]=i,s.addEventListener(e.split(".")[0],i,!1)})},off:function e(s,l){if(s){var i=this.getAttribute(s,"lg-event-uid");if(i){i=i.split("&");for(var o=0;o-1&&(s.removeEventListener(a.split(".")[0],t.Listener[a]),this.setAttribute(s,"lg-event-uid",this.getAttribute(s,"lg-event-uid").replace("&"+i[o],"")),delete t.Listener[a]);else s.removeEventListener(r.split(".")[0],t.Listener[r]),this.setAttribute(s,"lg-event-uid",this.getAttribute(s,"lg-event-uid").replace("&"+i[o],"")),delete t.Listener[r]}}}},param:function e(t){return Object.keys(t).map(function(e){return encodeURIComponent(e)+"="+encodeURIComponent(t[e])}).join("&")}};e.default=t})},{}],2:[function(t,s,l){!function(s,i){if("function"==typeof e&&e.amd)e(["./lg-utils"],i);else if(void 0!==l)i(t("./lg-utils"));else{var o={exports:{}};i(s.lgUtils),s.lightgallery=o.exports}}(this,function(e){"use strict";function t(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(this.el=e,this.s=i({},o,t),this.s.dynamic&&"undefined"!==this.s.dynamicEl&&this.s.dynamicEl.constructor===Array&&!this.s.dynamicEl.length)throw"When using dynamic mode, you must also define dynamicEl as an Array.";return this.modules={},this.lGalleryOn=!1,this.lgBusy=!1,this.hideBartimeout=!1,this.isTouch="ontouchstart"in document.documentElement,this.s.slideEndAnimatoin&&(this.s.hideControlOnEnd=!1),this.items=[],this.s.dynamic?this.items=this.s.dynamicEl:"this"===this.s.selector?this.items.push(this.el):""!==this.s.selector?this.s.selectWithin?this.items=document.querySelector(this.s.selectWithin).querySelectorAll(this.s.selector):this.items=this.el.querySelectorAll(this.s.selector):this.items=this.el.children,this.___slide="",this.outer="",this.init(),this}var l=t(e),i=Object.assign||function(e){for(var t=1;te.items.length&&(e.s.preload=e.items.length);var t=window.location.hash;if(t.indexOf("lg="+this.s.galleryId)>0&&(e.index=parseInt(t.split("&slide=")[1],10),l.default.addClass(document.body,"lg-from-hash"),l.default.hasClass(document.body,"lg-on")||(l.default.addClass(document.body,"lg-on"),setTimeout(function(){e.build(e.index)}))),e.s.dynamic)l.default.trigger(this.el,"onBeforeOpen"),e.index=e.s.index||0,l.default.hasClass(document.body,"lg-on")||(l.default.addClass(document.body,"lg-on"),setTimeout(function(){e.build(e.index)}));else for(var s=0;s1&&(t.arrow(),setTimeout(function(){t.enableDrag(),t.enableSwipe()},50),t.s.mousewheel&&t.mousewheel()),t.counter(),t.closeGallery(),l.default.trigger(t.el,"onAfterOpen"),t.s.hideBarsDelay>0){var i=setTimeout(function(){l.default.addClass(t.outer,"lg-hide-items")},t.s.hideBarsDelay);l.default.on(t.outer,"mousemove.lg click.lg touchstart.lg",function(){clearTimeout(i),l.default.removeClass(t.outer,"lg-hide-items"),clearTimeout(t.hideBartimeout),t.hideBartimeout=setTimeout(function(){l.default.addClass(t.outer,"lg-hide-items")},t.s.hideBarsDelay)})}},s.prototype.structure=function(){var e="",t="",s=0,i="",o,r=this;for(document.body.insertAdjacentHTML("beforeend",'
    '),l.default.setVendor(document.querySelector(".lg-backdrop"),"TransitionDuration",this.s.backdropDuration+"ms"),s=0;s';if(this.s.controls&&this.items.length>1&&(t='
    "),".lg-sub-html"===this.s.appendSubHtmlTo&&(i='
    '),o='",document.body.insertAdjacentHTML("beforeend",o),this.outer=document.querySelector(".lg-outer"),this.outer.focus(),this.___slide=this.outer.querySelectorAll(".lg-item"),this.s.useLeft?(l.default.addClass(this.outer,"lg-use-left"),this.s.mode="lg-slide"):l.default.addClass(this.outer,"lg-use-css3"),r.setTop(),l.default.on(window,"resize.lg orientationchange.lg",function(){setTimeout(function(){r.setTop()},100)}),l.default.addClass(this.___slide[this.index],"lg-current"),this.doCss()?l.default.addClass(this.outer,"lg-css3"):(l.default.addClass(this.outer,"lg-css"),this.s.speed=0),l.default.addClass(this.outer,this.s.mode),this.s.enableDrag&&this.items.length>1&&l.default.addClass(this.outer,"lg-grab"),this.s.showAfterLoad&&l.default.addClass(this.outer,"lg-show-after-load"),this.doCss()){var a=this.outer.querySelector(".lg-inner");l.default.setVendor(a,"TransitionTimingFunction",this.s.cssEasing),l.default.setVendor(a,"TransitionDuration",this.s.speed+"ms")}setTimeout(function(){l.default.addClass(document.querySelector(".lg-backdrop"),"in")}),setTimeout(function(){l.default.addClass(r.outer,"lg-visible")},this.s.backdropDuration),this.s.download&&this.outer.querySelector(".lg-toolbar").insertAdjacentHTML("beforeend",''),this.prevScrollTop=document.documentElement.scrollTop||document.body.scrollTop},s.prototype.setTop=function(){if("100%"!==this.s.height){var e=window.innerHeight,t=(e-parseInt(this.s.height,10))/2,s=this.outer.querySelector(".lg");e>=parseInt(this.s.height,10)?s.style.top=t+"px":s.style.top="0px"}},s.prototype.doCss=function(){return!!function e(){var t=["transition","MozTransition","WebkitTransition","OTransition","msTransition","KhtmlTransition"],s=document.documentElement,l=0;for(l=0;l'+(parseInt(this.index,10)+1)+' / '+this.items.length+"")},s.prototype.addHtml=function(e){var t=null,s;if(this.s.dynamic?t=this.s.dynamicEl[e].subHtml:(s=this.items[e],t=s.getAttribute("data-sub-html"),this.s.getCaptionFromTitleOrAlt&&!t&&(t=s.getAttribute("title"))&&s.querySelector("img")&&(t=s.querySelector("img").getAttribute("alt"))),void 0!==t&&null!==t){var i=t.substring(0,1);"."!==i&&"#"!==i||(t=this.s.subHtmlSelectorRelative&&!this.s.dynamic?s.querySelector(t).innerHTML:document.querySelector(t).innerHTML)}else t="";".lg-sub-html"===this.s.appendSubHtmlTo?this.outer.querySelector(this.s.appendSubHtmlTo).innerHTML=t:this.___slide[e].insertAdjacentHTML("beforeend",t),void 0!==t&&null!==t&&(""===t?l.default.addClass(this.outer.querySelector(this.s.appendSubHtmlTo),"lg-empty-html"):l.default.removeClass(this.outer.querySelector(this.s.appendSubHtmlTo),"lg-empty-html")),l.default.trigger(this.el,"onAfterAppendSubHtml",{index:e})},s.prototype.preload=function(e){var t=1,s=1;for(t=1;t<=this.s.preload&&!(t>=this.items.length-e);t++)this.loadContent(e+t,!1,0);for(s=1;s<=this.s.preload&&!(e-s<0);s++)this.loadContent(e-s,!1,0)},s.prototype.loadContent=function(e,t,s){var i=this,o=!1,r,a,d,n,u,c,g,f=function e(t){for(var s=[],l=[],i=0;ir){a=l[d];break}};if(i.s.dynamic){if(i.s.dynamicEl[e].poster&&(o=!0,d=i.s.dynamicEl[e].poster),c=i.s.dynamicEl[e].html,a=i.s.dynamicEl[e].src,g=i.s.dynamicEl[e].alt,i.s.dynamicEl[e].responsive){f(i.s.dynamicEl[e].responsive.split(","))}n=i.s.dynamicEl[e].srcset,u=i.s.dynamicEl[e].sizes}else{if(i.items[e].getAttribute("data-poster")&&(o=!0,d=i.items[e].getAttribute("data-poster")),c=i.items[e].getAttribute("data-html"),a=i.items[e].getAttribute("href")||i.items[e].getAttribute("data-src"),g=i.items[e].getAttribute("title"),i.items[e].querySelector("img")&&(g=g||i.items[e].querySelector("img").getAttribute("alt")),i.items[e].getAttribute("data-responsive")){f(i.items[e].getAttribute("data-responsive").split(","))}n=i.items[e].getAttribute("data-srcset"),u=i.items[e].getAttribute("data-sizes")}var h=!1;i.s.dynamic?i.s.dynamicEl[e].iframe&&(h=!0):"true"===i.items[e].getAttribute("data-iframe")&&(h=!0);var m=i.isVideo(a,e);if(!l.default.hasClass(i.___slide[e],"lg-loaded")){if(h)i.___slide[e].insertAdjacentHTML("afterbegin",'
    ');else if(o){var p="";p=m&&m.youtube?"lg-has-youtube":m&&m.vimeo?"lg-has-vimeo":"lg-has-html5",i.___slide[e].insertAdjacentHTML("beforeend",'
    ')}else m?(i.___slide[e].insertAdjacentHTML("beforeend",'
    '),l.default.trigger(i.el,"hasVideo",{index:e,src:a,html:c})):(g=g?'alt="'+g+'"':"",i.___slide[e].insertAdjacentHTML("beforeend",'
    '));if(l.default.trigger(i.el,"onAferAppendSlide",{index:e}),r=i.___slide[e].querySelector(".lg-object"),u&&r.setAttribute("sizes",u),n&&(r.setAttribute("srcset",n),this.s.supportLegacyBrowser))try{picturefill({elements:[r[0]]})}catch(e){console.warn("If you want srcset to be supported for older browsers, please include picturefil javascript library in your document.")}".lg-sub-html"!==this.s.appendSubHtmlTo&&i.addHtml(e),l.default.addClass(i.___slide[e],"lg-loaded")}l.default.on(i.___slide[e].querySelector(".lg-object"),"load.lg error.lg",function(){var t=0;s&&!l.default.hasClass(document.body,"lg-from-hash")&&(t=s),setTimeout(function(){l.default.addClass(i.___slide[e],"lg-complete"),l.default.trigger(i.el,"onSlideItemLoad",{index:e,delay:s||0})},t)}),m&&m.html5&&!o&&l.default.addClass(i.___slide[e],"lg-complete"),!0===t&&(l.default.hasClass(i.___slide[e],"lg-complete")?i.preload(e):l.default.on(i.___slide[e].querySelector(".lg-object"),"load.lg error.lg",function(){i.preload(e)}))},s.prototype.slide=function(e,t,s){for(var i=0,o=0;oi&&(n=!0,e!==a-1||0!==i||s||(u=!0,n=!1)),u?(l.default.addClass(this.___slide[e],"lg-prev-slide"),l.default.addClass(this.___slide[i],"lg-next-slide")):n&&(l.default.addClass(this.___slide[e],"lg-next-slide"),l.default.addClass(this.___slide[i],"lg-prev-slide")),setTimeout(function(){l.default.removeClass(r.outer.querySelector(".lg-current"),"lg-current"),l.default.addClass(r.___slide[e],"lg-current"),l.default.removeClass(r.outer,"lg-no-trans")},50)}r.lGalleryOn?(setTimeout(function(){r.loadContent(e,!0,0)},this.s.speed+50),setTimeout(function(){r.lgBusy=!1,l.default.trigger(r.el,"onAfterSlide",{prevIndex:i,index:e,fromTouch:t,fromThumb:s})},this.s.speed)):(r.loadContent(e,!0,r.s.backdropDuration),r.lgBusy=!1,l.default.trigger(r.el,"onAfterSlide",{prevIndex:i,index:e,fromTouch:t,fromThumb:s})),r.lGalleryOn=!0,this.s.counter&&document.getElementById("lg-counter-current")&&(document.getElementById("lg-counter-current").innerHTML=e+1)}}},s.prototype.goToNextSlide=function(e){var t=this;t.lgBusy||(t.index+10?(t.index--,l.default.trigger(t.el,"onBeforePrevSlide",{index:t.index,fromTouch:e}),t.slide(t.index,e,!1)):t.s.loop?(t.index=t.items.length-1,l.default.trigger(t.el,"onBeforePrevSlide",{index:t.index,fromTouch:e}),t.slide(t.index,e,!1)):t.s.slideEndAnimatoin&&(l.default.addClass(t.outer,"lg-left-end"),setTimeout(function(){l.default.removeClass(t.outer,"lg-left-end")},400)))},s.prototype.keyPress=function(){var e=this;this.items.length>1&&l.default.on(window,"keyup.lg",function(t){e.items.length>1&&(37===t.keyCode&&(t.preventDefault(),e.goToPrevSlide()),39===t.keyCode&&(t.preventDefault(),e.goToNextSlide()))}),l.default.on(window,"keydown.lg",function(t){!0===e.s.escKey&&27===t.keyCode&&(t.preventDefault(),l.default.hasClass(e.outer,"lg-thumb-open")?l.default.removeClass(e.outer,"lg-thumb-open"):e.destroy())})},s.prototype.arrow=function(){var e=this;l.default.on(this.outer.querySelector(".lg-prev"),"click.lg",function(){e.goToPrevSlide()}),l.default.on(this.outer.querySelector(".lg-next"),"click.lg",function(){e.goToNextSlide()})},s.prototype.arrowDisable=function(e){if(!this.s.loop&&this.s.hideControlOnEnd){var t=this.outer.querySelector(".lg-next"),s=this.outer.querySelector(".lg-prev");e+10?(s.removeAttribute("disabled"),l.default.removeClass(s,"disabled")):(s.setAttribute("disabled","disabled"),l.default.addClass(s,"disabled"))}},s.prototype.setTranslate=function(e,t,s){this.s.useLeft?e.style.left=t:l.default.setVendor(e,"Transform","translate3d("+t+"px, "+s+"px, 0px)")},s.prototype.touchMove=function(e,t){var s=t-e;Math.abs(s)>15&&(l.default.addClass(this.outer,"lg-dragging"),this.setTranslate(this.___slide[this.index],s,0),this.setTranslate(document.querySelector(".lg-prev-slide"),-this.___slide[this.index].clientWidth+s,0),this.setTranslate(document.querySelector(".lg-next-slide"),this.___slide[this.index].clientWidth+s,0))},s.prototype.touchEnd=function(e){var t=this;"lg-slide"!==t.s.mode&&l.default.addClass(t.outer,"lg-slide");for(var s=0;st.s.swipeThreshold?t.goToNextSlide(!0):e>0&&Math.abs(e)>t.s.swipeThreshold?t.goToPrevSlide(!0):Math.abs(e)<5&&l.default.trigger(t.el,"onSlideClick");for(var s=0;s-1&&l.default.addClass(this.___slide[t],"lg-prev-slide"),l.default.addClass(this.___slide[e],"lg-next-slide")},s.prototype.mousewheel=function(){var e=this;l.default.on(e.outer,"mousewheel.lg",function(t){t.deltaY&&(t.deltaY>0?e.goToPrevSlide():e.goToNextSlide(),t.preventDefault())})},s.prototype.closeGallery=function(){var e=this,t=!1;l.default.on(this.outer.querySelector(".lg-close"),"click.lg",function(){e.destroy()}),e.s.closable&&(l.default.on(e.outer,"mousedown.lg",function(e){t=!!(l.default.hasClass(e.target,"lg-outer")||l.default.hasClass(e.target,"lg-item")||l.default.hasClass(e.target,"lg-img-wrap"))}),l.default.on(e.outer,"mouseup.lg",function(s){(l.default.hasClass(s.target,"lg-outer")||l.default.hasClass(s.target,"lg-item")||l.default.hasClass(s.target,"lg-img-wrap")&&t)&&(l.default.hasClass(e.outer,"lg-dragging")||e.destroy())}))},s.prototype.destroy=function(e){var t=this;if(e||l.default.trigger(t.el,"onBeforeClose"),document.body.scrollTop=t.prevScrollTop,document.documentElement.scrollTop=t.prevScrollTop,e){if(!t.s.dynamic)for(var s=0;s 2 && arguments[2] !== undefined ? arguments[2] : null; + + if (!el) { + return; + } + + var customEvent = new CustomEvent(event, { + detail: detail + }); + el.dispatchEvent(customEvent); + }, + + Listener: { + uid: 0 + }, + on: function on(el, events, fn) { + var _this = this; + + if (!el) { + return; + } + + events.split(' ').forEach(function (event) { + var _id = _this.getAttribute(el, 'lg-event-uid') || ''; + utils.Listener.uid++; + _id += '&' + utils.Listener.uid; + _this.setAttribute(el, 'lg-event-uid', _id); + utils.Listener[event + utils.Listener.uid] = fn; + el.addEventListener(event.split('.')[0], fn, false); + }); + }, + + off: function off(el, event) { + if (!el) { + return; + } + + var _id = this.getAttribute(el, 'lg-event-uid'); + if (_id) { + _id = _id.split('&'); + for (var i = 0; i < _id.length; i++) { + if (_id[i]) { + var _event = event + _id[i]; + if (_event.substring(0, 1) === '.') { + for (var key in utils.Listener) { + if (utils.Listener.hasOwnProperty(key)) { + if (key.split('.').indexOf(_event.split('.')[1]) > -1) { + el.removeEventListener(key.split('.')[0], utils.Listener[key]); + this.setAttribute(el, 'lg-event-uid', this.getAttribute(el, 'lg-event-uid').replace('&' + _id[i], '')); + delete utils.Listener[key]; + } + } + } + } else { + el.removeEventListener(_event.split('.')[0], utils.Listener[_event]); + this.setAttribute(el, 'lg-event-uid', this.getAttribute(el, 'lg-event-uid').replace('&' + _id[i], '')); + delete utils.Listener[_event]; + } + } + } + } + }, + + param: function param(obj) { + return Object.keys(obj).map(function (k) { + return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]); + }).join('&'); + } + }; + + exports.default = utils; +}); \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/lib/js/lightgallery.js b/public/js/vendor/lightgallery.js/lib/js/lightgallery.js new file mode 100644 index 0000000..956e271 --- /dev/null +++ b/public/js/vendor/lightgallery.js/lib/js/lightgallery.js @@ -0,0 +1,1451 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(['./lg-utils'], factory); + } else if (typeof exports !== "undefined") { + factory(require('./lg-utils')); + } else { + var mod = { + exports: {} + }; + factory(global.lgUtils); + global.lightgallery = mod.exports; + } +})(this, function (_lgUtils) { + 'use strict'; + + var _lgUtils2 = _interopRequireDefault(_lgUtils); + + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + } + + var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + /** Polyfill the CustomEvent() constructor functionality in Internet Explorer 9 and higher */ + (function () { + + if (typeof window.CustomEvent === 'function') { + return false; + } + + function CustomEvent(event, params) { + params = params || { + bubbles: false, + cancelable: false, + detail: undefined + }; + var evt = document.createEvent('CustomEvent'); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + } + + CustomEvent.prototype = window.Event.prototype; + + window.CustomEvent = CustomEvent; + })(); + + window.utils = _lgUtils2.default; + window.lgData = { + uid: 0 + }; + + window.lgModules = {}; + var defaults = { + + mode: 'lg-slide', + + // Ex : 'ease' + cssEasing: 'ease', + + //'for jquery animation' + easing: 'linear', + speed: 600, + height: '100%', + width: '100%', + addClass: '', + startClass: 'lg-start-zoom', + backdropDuration: 150, + + // Set 0, if u don't want to hide the controls + hideBarsDelay: 6000, + + useLeft: false, + + // aria-labelledby attribute fot gallery + ariaLabelledby: '', + + //aria-describedby attribute for gallery + ariaDescribedby: '', + + closable: true, + loop: true, + escKey: true, + keyPress: true, + controls: true, + slideEndAnimatoin: true, + hideControlOnEnd: false, + mousewheel: false, + + getCaptionFromTitleOrAlt: true, + + // .lg-item || '.lg-sub-html' + appendSubHtmlTo: '.lg-sub-html', + + subHtmlSelectorRelative: false, + + /** + * @desc number of preload slides + * will exicute only after the current slide is fully loaded. + * + * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th + * slide will be loaded in the background after the 4th slide is fully loaded.. + * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ... + * + */ + preload: 1, + showAfterLoad: true, + selector: '', + selectWithin: '', + nextHtml: '', + prevHtml: '', + + // 0, 1 + index: false, + + iframeMaxWidth: '100%', + + download: true, + counter: true, + appendCounterTo: '.lg-toolbar', + + swipeThreshold: 50, + enableSwipe: true, + enableDrag: true, + + dynamic: false, + dynamicEl: [], + galleryId: 1, + supportLegacyBrowser: true + }; + + function Plugin(element, options) { + + // Current lightGallery element + this.el = element; + + // lightGallery settings + this.s = _extends({}, defaults, options); + + // When using dynamic mode, ensure dynamicEl is an array + if (this.s.dynamic && this.s.dynamicEl !== 'undefined' && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) { + throw 'When using dynamic mode, you must also define dynamicEl as an Array.'; + } + + // lightGallery modules + this.modules = {}; + + // false when lightgallery complete first slide; + this.lGalleryOn = false; + + this.lgBusy = false; + + // Timeout function for hiding controls; + this.hideBartimeout = false; + + // To determine browser supports for touch events; + this.isTouch = 'ontouchstart' in document.documentElement; + + // Disable hideControlOnEnd if sildeEndAnimation is true + if (this.s.slideEndAnimatoin) { + this.s.hideControlOnEnd = false; + } + + this.items = []; + + // Gallery items + if (this.s.dynamic) { + this.items = this.s.dynamicEl; + } else { + if (this.s.selector === 'this') { + this.items.push(this.el); + } else if (this.s.selector !== '') { + if (this.s.selectWithin) { + this.items = document.querySelector(this.s.selectWithin).querySelectorAll(this.s.selector); + } else { + this.items = this.el.querySelectorAll(this.s.selector); + } + } else { + this.items = this.el.children; + } + } + + // .lg-item + + this.___slide = ''; + + // .lg-outer + this.outer = ''; + + this.init(); + + return this; + } + + Plugin.prototype.init = function () { + + var _this = this; + + // s.preload should not be more than $item.length + if (_this.s.preload > _this.items.length) { + _this.s.preload = _this.items.length; + } + + // if dynamic option is enabled execute immediately + var _hash = window.location.hash; + if (_hash.indexOf('lg=' + this.s.galleryId) > 0) { + + _this.index = parseInt(_hash.split('&slide=')[1], 10); + + _lgUtils2.default.addClass(document.body, 'lg-from-hash'); + if (!_lgUtils2.default.hasClass(document.body, 'lg-on')) { + _lgUtils2.default.addClass(document.body, 'lg-on'); + setTimeout(function () { + _this.build(_this.index); + }); + } + } + + if (_this.s.dynamic) { + + _lgUtils2.default.trigger(this.el, 'onBeforeOpen'); + + _this.index = _this.s.index || 0; + + // prevent accidental double execution + if (!_lgUtils2.default.hasClass(document.body, 'lg-on')) { + _lgUtils2.default.addClass(document.body, 'lg-on'); + setTimeout(function () { + _this.build(_this.index); + }); + } + } else { + + for (var i = 0; i < _this.items.length; i++) { + + /*jshint loopfunc: true */ + (function (index) { + + // Using different namespace for click because click event should not unbind if selector is same object('this') + _lgUtils2.default.on(_this.items[index], 'click.lgcustom', function (e) { + + e.preventDefault(); + + _lgUtils2.default.trigger(_this.el, 'onBeforeOpen'); + + _this.index = _this.s.index || index; + + if (!_lgUtils2.default.hasClass(document.body, 'lg-on')) { + _this.build(_this.index); + _lgUtils2.default.addClass(document.body, 'lg-on'); + } + }); + })(i); + } + } + }; + + Plugin.prototype.build = function (index) { + + var _this = this; + + _this.structure(); + + for (var key in window.lgModules) { + _this.modules[key] = new window.lgModules[key](_this.el); + } + + // initiate slide function + _this.slide(index, false, false); + + if (_this.s.keyPress) { + _this.keyPress(); + } + + if (_this.items.length > 1) { + + _this.arrow(); + + setTimeout(function () { + _this.enableDrag(); + _this.enableSwipe(); + }, 50); + + if (_this.s.mousewheel) { + _this.mousewheel(); + } + } + + _this.counter(); + + _this.closeGallery(); + + _lgUtils2.default.trigger(_this.el, 'onAfterOpen'); + + // Hide controllers if mouse doesn't move for some period + if (_this.s.hideBarsDelay > 0) { + + // Hide controls if user doesn't use mouse or touch after opening gallery + var initialHideBarTimeout = setTimeout(function () { + _lgUtils2.default.addClass(_this.outer, 'lg-hide-items'); + }, _this.s.hideBarsDelay); + _lgUtils2.default.on(_this.outer, 'mousemove.lg click.lg touchstart.lg', function () { + + // Cancel initalHideBarTimout if user uses mouse or touch events + // Before it fires + clearTimeout(initialHideBarTimeout); + + _lgUtils2.default.removeClass(_this.outer, 'lg-hide-items'); + + clearTimeout(_this.hideBartimeout); + + // Timeout will be cleared on each slide movement also + _this.hideBartimeout = setTimeout(function () { + _lgUtils2.default.addClass(_this.outer, 'lg-hide-items'); + }, _this.s.hideBarsDelay); + }); + } + }; + + Plugin.prototype.structure = function () { + var list = ''; + var controls = ''; + var i = 0; + var subHtmlCont = ''; + var template; + var _this = this; + + document.body.insertAdjacentHTML('beforeend', '
    '); + _lgUtils2.default.setVendor(document.querySelector('.lg-backdrop'), 'TransitionDuration', this.s.backdropDuration + 'ms'); + + // Create gallery items + for (i = 0; i < this.items.length; i++) { + list += '
    '; + } + + // Create controlls + if (this.s.controls && this.items.length > 1) { + controls = '
    ' + '' + '' + '
    '; + } + + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + subHtmlCont = '
    '; + } + + var ariaLabelledby = this.s.ariaLabelledby ? 'aria-labelledby="' + this.s.ariaLabelledby + '"' : ''; + var ariaDescribedby = this.s.ariaDescribedby ? 'aria-describedby="' + this.s.ariaDescribedby + '"' : ''; + + template = ''; + + document.body.insertAdjacentHTML('beforeend', template); + this.outer = document.querySelector('.lg-outer'); + this.outer.focus(); + this.___slide = this.outer.querySelectorAll('.lg-item'); + + if (this.s.useLeft) { + _lgUtils2.default.addClass(this.outer, 'lg-use-left'); + + // Set mode lg-slide if use left is true; + this.s.mode = 'lg-slide'; + } else { + _lgUtils2.default.addClass(this.outer, 'lg-use-css3'); + } + + // For fixed height gallery + _this.setTop(); + _lgUtils2.default.on(window, 'resize.lg orientationchange.lg', function () { + setTimeout(function () { + _this.setTop(); + }, 100); + }); + + // add class lg-current to remove initial transition + _lgUtils2.default.addClass(this.___slide[this.index], 'lg-current'); + + // add Class for css support and transition mode + if (this.doCss()) { + _lgUtils2.default.addClass(this.outer, 'lg-css3'); + } else { + _lgUtils2.default.addClass(this.outer, 'lg-css'); + + // Set speed 0 because no animation will happen if browser doesn't support css3 + this.s.speed = 0; + } + + _lgUtils2.default.addClass(this.outer, this.s.mode); + + if (this.s.enableDrag && this.items.length > 1) { + _lgUtils2.default.addClass(this.outer, 'lg-grab'); + } + + if (this.s.showAfterLoad) { + _lgUtils2.default.addClass(this.outer, 'lg-show-after-load'); + } + + if (this.doCss()) { + var inner = this.outer.querySelector('.lg-inner'); + _lgUtils2.default.setVendor(inner, 'TransitionTimingFunction', this.s.cssEasing); + _lgUtils2.default.setVendor(inner, 'TransitionDuration', this.s.speed + 'ms'); + } + + setTimeout(function () { + _lgUtils2.default.addClass(document.querySelector('.lg-backdrop'), 'in'); + }); + + setTimeout(function () { + _lgUtils2.default.addClass(_this.outer, 'lg-visible'); + }, this.s.backdropDuration); + + if (this.s.download) { + this.outer.querySelector('.lg-toolbar').insertAdjacentHTML('beforeend', ''); + } + + // Store the current scroll top value to scroll back after closing the gallery.. + this.prevScrollTop = document.documentElement.scrollTop || document.body.scrollTop; + }; + + // For fixed height gallery + Plugin.prototype.setTop = function () { + if (this.s.height !== '100%') { + var wH = window.innerHeight; + var top = (wH - parseInt(this.s.height, 10)) / 2; + var lGallery = this.outer.querySelector('.lg'); + if (wH >= parseInt(this.s.height, 10)) { + lGallery.style.top = top + 'px'; + } else { + lGallery.style.top = '0px'; + } + } + }; + + // Find css3 support + Plugin.prototype.doCss = function () { + // check for css animation support + var support = function support() { + var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition']; + var root = document.documentElement; + var i = 0; + for (i = 0; i < transition.length; i++) { + if (transition[i] in root.style) { + return true; + } + } + }; + + if (support()) { + return true; + } + + return false; + }; + + /** + * @desc Check the given src is video + * @param {String} src + * @return {Object} video type + * Ex:{ youtube : ["//www.youtube.com/watch?v=c0asJgSyxcY", "c0asJgSyxcY"] } + */ + Plugin.prototype.isVideo = function (src, index) { + + var html; + if (this.s.dynamic) { + html = this.s.dynamicEl[index].html; + } else { + html = this.items[index].getAttribute('data-html'); + } + + if (!src && html) { + return { + html5: true + }; + } + + var youtube = src.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i); + var vimeo = src.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i); + var dailymotion = src.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i); + var vk = src.match(/\/\/(?:www\.)?(?:vk\.com|vkontakte\.ru)\/(?:video_ext\.php\?)(.*)/i); + + if (youtube) { + return { + youtube: youtube + }; + } else if (vimeo) { + return { + vimeo: vimeo + }; + } else if (dailymotion) { + return { + dailymotion: dailymotion + }; + } else if (vk) { + return { + vk: vk + }; + } + }; + + /** + * @desc Create image counter + * Ex: 1/10 + */ + Plugin.prototype.counter = function () { + if (this.s.counter) { + this.outer.querySelector(this.s.appendCounterTo).insertAdjacentHTML('beforeend', '
    ' + (parseInt(this.index, 10) + 1) + ' / ' + this.items.length + '
    '); + } + }; + + /** + * @desc add sub-html into the slide + * @param {Number} index - index of the slide + */ + Plugin.prototype.addHtml = function (index) { + var subHtml = null; + var currentEle; + if (this.s.dynamic) { + subHtml = this.s.dynamicEl[index].subHtml; + } else { + currentEle = this.items[index]; + subHtml = currentEle.getAttribute('data-sub-html'); + if (this.s.getCaptionFromTitleOrAlt && !subHtml) { + subHtml = currentEle.getAttribute('title'); + if (subHtml && currentEle.querySelector('img')) { + subHtml = currentEle.querySelector('img').getAttribute('alt'); + } + } + } + + if (typeof subHtml !== 'undefined' && subHtml !== null) { + + // get first letter of subhtml + // if first letter starts with . or # get the html form the jQuery object + var fL = subHtml.substring(0, 1); + if (fL === '.' || fL === '#') { + if (this.s.subHtmlSelectorRelative && !this.s.dynamic) { + subHtml = currentEle.querySelector(subHtml).innerHTML; + } else { + subHtml = document.querySelector(subHtml).innerHTML; + } + } + } else { + subHtml = ''; + } + + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + this.outer.querySelector(this.s.appendSubHtmlTo).innerHTML = subHtml; + } else { + this.___slide[index].insertAdjacentHTML('beforeend', subHtml); + } + + // Add lg-empty-html class if title doesn't exist + if (typeof subHtml !== 'undefined' && subHtml !== null) { + if (subHtml === '') { + _lgUtils2.default.addClass(this.outer.querySelector(this.s.appendSubHtmlTo), 'lg-empty-html'); + } else { + _lgUtils2.default.removeClass(this.outer.querySelector(this.s.appendSubHtmlTo), 'lg-empty-html'); + } + } + + _lgUtils2.default.trigger(this.el, 'onAfterAppendSubHtml', { + index: index + }); + }; + + /** + * @desc Preload slides + * @param {Number} index - index of the slide + */ + Plugin.prototype.preload = function (index) { + var i = 1; + var j = 1; + for (i = 1; i <= this.s.preload; i++) { + if (i >= this.items.length - index) { + break; + } + + this.loadContent(index + i, false, 0); + } + + for (j = 1; j <= this.s.preload; j++) { + if (index - j < 0) { + break; + } + + this.loadContent(index - j, false, 0); + } + }; + + /** + * @desc Load slide content into slide. + * @param {Number} index - index of the slide. + * @param {Boolean} rec - if true call loadcontent() function again. + * @param {Boolean} delay - delay for adding complete class. it is 0 except first time. + */ + Plugin.prototype.loadContent = function (index, rec, delay) { + + var _this = this; + var _hasPoster = false; + var _img; + var _src; + var _poster; + var _srcset; + var _sizes; + var _html; + var _alt; + var getResponsiveSrc = function getResponsiveSrc(srcItms) { + var rsWidth = []; + var rsSrc = []; + for (var i = 0; i < srcItms.length; i++) { + var __src = srcItms[i].split(' '); + + // Manage empty space + if (__src[0] === '') { + __src.splice(0, 1); + } + + rsSrc.push(__src[0]); + rsWidth.push(__src[1]); + } + + var wWidth = window.innerWidth; + for (var j = 0; j < rsWidth.length; j++) { + if (parseInt(rsWidth[j], 10) > wWidth) { + _src = rsSrc[j]; + break; + } + } + }; + + if (_this.s.dynamic) { + + if (_this.s.dynamicEl[index].poster) { + _hasPoster = true; + _poster = _this.s.dynamicEl[index].poster; + } + + _html = _this.s.dynamicEl[index].html; + _src = _this.s.dynamicEl[index].src; + _alt = _this.s.dynamicEl[index].alt; + + if (_this.s.dynamicEl[index].responsive) { + var srcDyItms = _this.s.dynamicEl[index].responsive.split(','); + getResponsiveSrc(srcDyItms); + } + + _srcset = _this.s.dynamicEl[index].srcset; + _sizes = _this.s.dynamicEl[index].sizes; + } else { + + if (_this.items[index].getAttribute('data-poster')) { + _hasPoster = true; + _poster = _this.items[index].getAttribute('data-poster'); + } + + _html = _this.items[index].getAttribute('data-html'); + _src = _this.items[index].getAttribute('href') || _this.items[index].getAttribute('data-src'); + _alt = _this.items[index].getAttribute('title'); + + if (_this.items[index].querySelector('img')) { + _alt = _alt || _this.items[index].querySelector('img').getAttribute('alt'); + } + + if (_this.items[index].getAttribute('data-responsive')) { + var srcItms = _this.items[index].getAttribute('data-responsive').split(','); + getResponsiveSrc(srcItms); + } + + _srcset = _this.items[index].getAttribute('data-srcset'); + _sizes = _this.items[index].getAttribute('data-sizes'); + } + + //if (_src || _srcset || _sizes || _poster) { + + var iframe = false; + if (_this.s.dynamic) { + if (_this.s.dynamicEl[index].iframe) { + iframe = true; + } + } else { + if (_this.items[index].getAttribute('data-iframe') === 'true') { + iframe = true; + } + } + + var _isVideo = _this.isVideo(_src, index); + if (!_lgUtils2.default.hasClass(_this.___slide[index], 'lg-loaded')) { + if (iframe) { + _this.___slide[index].insertAdjacentHTML('afterbegin', '
    '); + } else if (_hasPoster) { + var videoClass = ''; + if (_isVideo && _isVideo.youtube) { + videoClass = 'lg-has-youtube'; + } else if (_isVideo && _isVideo.vimeo) { + videoClass = 'lg-has-vimeo'; + } else { + videoClass = 'lg-has-html5'; + } + + _this.___slide[index].insertAdjacentHTML('beforeend', '
    '); + } else if (_isVideo) { + _this.___slide[index].insertAdjacentHTML('beforeend', '
    '); + _lgUtils2.default.trigger(_this.el, 'hasVideo', { + index: index, + src: _src, + html: _html + }); + } else { + _alt = _alt ? 'alt="' + _alt + '"' : ''; + _this.___slide[index].insertAdjacentHTML('beforeend', '
    '); + } + + _lgUtils2.default.trigger(_this.el, 'onAferAppendSlide', { + index: index + }); + + _img = _this.___slide[index].querySelector('.lg-object'); + if (_sizes) { + _img.setAttribute('sizes', _sizes); + } + + if (_srcset) { + _img.setAttribute('srcset', _srcset); + + if (this.s.supportLegacyBrowser) { + try { + picturefill({ + elements: [_img[0]] + }); + } catch (e) { + console.warn('If you want srcset to be supported for older browsers, ' + 'please include picturefil javascript library in your document.'); + } + } + } + + if (this.s.appendSubHtmlTo !== '.lg-sub-html') { + _this.addHtml(index); + } + + _lgUtils2.default.addClass(_this.___slide[index], 'lg-loaded'); + } + + _lgUtils2.default.on(_this.___slide[index].querySelector('.lg-object'), 'load.lg error.lg', function () { + + // 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 && !_lgUtils2.default.hasClass(document.body, 'lg-from-hash')) { + _speed = delay; + } + + setTimeout(function () { + _lgUtils2.default.addClass(_this.___slide[index], 'lg-complete'); + + _lgUtils2.default.trigger(_this.el, 'onSlideItemLoad', { + index: index, + delay: delay || 0 + }); + }, _speed); + }); + + // @todo check load state for html5 videos + if (_isVideo && _isVideo.html5 && !_hasPoster) { + _lgUtils2.default.addClass(_this.___slide[index], 'lg-complete'); + } + + if (rec === true) { + if (!_lgUtils2.default.hasClass(_this.___slide[index], 'lg-complete')) { + _lgUtils2.default.on(_this.___slide[index].querySelector('.lg-object'), 'load.lg error.lg', function () { + _this.preload(index); + }); + } else { + _this.preload(index); + } + } + + //} + }; + + /** + * @desc slide function for lightgallery + ** Slide() gets call on start + ** ** Set lg.on true once slide() function gets called. + ** Call loadContent() on slide() function inside setTimeout + ** ** On first slide we do not want any animation like slide of fade + ** ** So on first slide( if lg.on if false that is first slide) loadContent() should start loading immediately + ** ** Else loadContent() should wait for the transition to complete. + ** ** So set timeout s.speed + 50 + <=> ** loadContent() will load slide content in to the particular slide + ** ** It has recursion (rec) parameter. if rec === true loadContent() will call preload() function. + ** ** preload will execute only when the previous slide is fully loaded (images iframe) + ** ** avoid simultaneous image load + <=> ** Preload() will check for s.preload value and call loadContent() again accoring to preload value + ** loadContent() <====> Preload(); + + * @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 + */ + Plugin.prototype.slide = function (index, fromTouch, fromThumb) { + + var _prevIndex = 0; + for (var i = 0; i < this.___slide.length; i++) { + if (_lgUtils2.default.hasClass(this.___slide[i], 'lg-current')) { + _prevIndex = i; + break; + } + } + + var _this = this; + + // Prevent if multiple call + // Required for hsh plugin + if (_this.lGalleryOn && _prevIndex === index) { + return; + } + + var _length = this.___slide.length; + var _time = _this.lGalleryOn ? this.s.speed : 0; + var _next = false; + var _prev = false; + + if (!_this.lgBusy) { + + if (this.s.download) { + var _src; + if (_this.s.dynamic) { + _src = _this.s.dynamicEl[index].downloadUrl !== false && (_this.s.dynamicEl[index].downloadUrl || _this.s.dynamicEl[index].src); + } else { + _src = _this.items[index].getAttribute('data-download-url') !== 'false' && (_this.items[index].getAttribute('data-download-url') || _this.items[index].getAttribute('href') || _this.items[index].getAttribute('data-src')); + } + + if (_src) { + document.getElementById('lg-download').setAttribute('href', _src); + _lgUtils2.default.removeClass(_this.outer, 'lg-hide-download'); + } else { + _lgUtils2.default.addClass(_this.outer, 'lg-hide-download'); + } + } + + _lgUtils2.default.trigger(_this.el, 'onBeforeSlide', { + prevIndex: _prevIndex, + index: index, + fromTouch: fromTouch, + fromThumb: fromThumb + }); + + _this.lgBusy = true; + + clearTimeout(_this.hideBartimeout); + + // Add title if this.s.appendSubHtmlTo === lg-sub-html + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + + // wait for slide animation to complete + setTimeout(function () { + _this.addHtml(index); + }, _time); + } + + this.arrowDisable(index); + + if (!fromTouch) { + + // remove all transitions + _lgUtils2.default.addClass(_this.outer, 'lg-no-trans'); + + for (var j = 0; j < this.___slide.length; j++) { + _lgUtils2.default.removeClass(this.___slide[j], 'lg-prev-slide'); + _lgUtils2.default.removeClass(this.___slide[j], 'lg-next-slide'); + } + + if (index < _prevIndex) { + _prev = true; + if (index === 0 && _prevIndex === _length - 1 && !fromThumb) { + _prev = false; + _next = true; + } + } else if (index > _prevIndex) { + _next = true; + if (index === _length - 1 && _prevIndex === 0 && !fromThumb) { + _prev = true; + _next = false; + } + } + + if (_prev) { + + //prevslide + _lgUtils2.default.addClass(this.___slide[index], 'lg-prev-slide'); + _lgUtils2.default.addClass(this.___slide[_prevIndex], 'lg-next-slide'); + } else if (_next) { + + // next slide + _lgUtils2.default.addClass(this.___slide[index], 'lg-next-slide'); + _lgUtils2.default.addClass(this.___slide[_prevIndex], 'lg-prev-slide'); + } + + // give 50 ms for browser to add/remove class + setTimeout(function () { + _lgUtils2.default.removeClass(_this.outer.querySelector('.lg-current'), 'lg-current'); + + //_this.$slide.eq(_prevIndex).removeClass('lg-current'); + _lgUtils2.default.addClass(_this.___slide[index], 'lg-current'); + + // reset all transitions + _lgUtils2.default.removeClass(_this.outer, 'lg-no-trans'); + }, 50); + } else { + + var touchPrev = index - 1; + var touchNext = index + 1; + + if (index === 0 && _prevIndex === _length - 1) { + + // next slide + touchNext = 0; + touchPrev = _length - 1; + } else if (index === _length - 1 && _prevIndex === 0) { + + // prev slide + touchNext = 0; + touchPrev = _length - 1; + } + + _lgUtils2.default.removeClass(_this.outer.querySelector('.lg-prev-slide'), 'lg-prev-slide'); + _lgUtils2.default.removeClass(_this.outer.querySelector('.lg-current'), 'lg-current'); + _lgUtils2.default.removeClass(_this.outer.querySelector('.lg-next-slide'), 'lg-next-slide'); + _lgUtils2.default.addClass(_this.___slide[touchPrev], 'lg-prev-slide'); + _lgUtils2.default.addClass(_this.___slide[touchNext], 'lg-next-slide'); + _lgUtils2.default.addClass(_this.___slide[index], 'lg-current'); + } + + if (_this.lGalleryOn) { + setTimeout(function () { + _this.loadContent(index, true, 0); + }, this.s.speed + 50); + + setTimeout(function () { + _this.lgBusy = false; + _lgUtils2.default.trigger(_this.el, 'onAfterSlide', { + prevIndex: _prevIndex, + index: index, + fromTouch: fromTouch, + fromThumb: fromThumb + }); + }, this.s.speed); + } else { + _this.loadContent(index, true, _this.s.backdropDuration); + + _this.lgBusy = false; + _lgUtils2.default.trigger(_this.el, 'onAfterSlide', { + prevIndex: _prevIndex, + index: index, + fromTouch: fromTouch, + fromThumb: fromThumb + }); + } + + _this.lGalleryOn = true; + + if (this.s.counter) { + if (document.getElementById('lg-counter-current')) { + document.getElementById('lg-counter-current').innerHTML = index + 1; + } + } + } + }; + + /** + * @desc Go to next slide + * @param {Boolean} fromTouch - true if slide function called via touch event + */ + Plugin.prototype.goToNextSlide = function (fromTouch) { + var _this = this; + if (!_this.lgBusy) { + if (_this.index + 1 < _this.___slide.length) { + _this.index++; + _lgUtils2.default.trigger(_this.el, 'onBeforeNextSlide', { + index: _this.index + }); + _this.slide(_this.index, fromTouch, false); + } else { + if (_this.s.loop) { + _this.index = 0; + _lgUtils2.default.trigger(_this.el, 'onBeforeNextSlide', { + index: _this.index + }); + _this.slide(_this.index, fromTouch, false); + } else if (_this.s.slideEndAnimatoin) { + _lgUtils2.default.addClass(_this.outer, 'lg-right-end'); + setTimeout(function () { + _lgUtils2.default.removeClass(_this.outer, 'lg-right-end'); + }, 400); + } + } + } + }; + + /** + * @desc Go to previous slide + * @param {Boolean} fromTouch - true if slide function called via touch event + */ + Plugin.prototype.goToPrevSlide = function (fromTouch) { + var _this = this; + if (!_this.lgBusy) { + if (_this.index > 0) { + _this.index--; + _lgUtils2.default.trigger(_this.el, 'onBeforePrevSlide', { + index: _this.index, + fromTouch: fromTouch + }); + _this.slide(_this.index, fromTouch, false); + } else { + if (_this.s.loop) { + _this.index = _this.items.length - 1; + _lgUtils2.default.trigger(_this.el, 'onBeforePrevSlide', { + index: _this.index, + fromTouch: fromTouch + }); + _this.slide(_this.index, fromTouch, false); + } else if (_this.s.slideEndAnimatoin) { + _lgUtils2.default.addClass(_this.outer, 'lg-left-end'); + setTimeout(function () { + _lgUtils2.default.removeClass(_this.outer, 'lg-left-end'); + }, 400); + } + } + } + }; + + Plugin.prototype.keyPress = function () { + var _this = this; + if (this.items.length > 1) { + _lgUtils2.default.on(window, 'keyup.lg', function (e) { + if (_this.items.length > 1) { + if (e.keyCode === 37) { + e.preventDefault(); + _this.goToPrevSlide(); + } + + if (e.keyCode === 39) { + e.preventDefault(); + _this.goToNextSlide(); + } + } + }); + } + + _lgUtils2.default.on(window, 'keydown.lg', function (e) { + if (_this.s.escKey === true && e.keyCode === 27) { + e.preventDefault(); + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-thumb-open')) { + _this.destroy(); + } else { + _lgUtils2.default.removeClass(_this.outer, 'lg-thumb-open'); + } + } + }); + }; + + Plugin.prototype.arrow = function () { + var _this = this; + _lgUtils2.default.on(this.outer.querySelector('.lg-prev'), 'click.lg', function () { + _this.goToPrevSlide(); + }); + + _lgUtils2.default.on(this.outer.querySelector('.lg-next'), 'click.lg', function () { + _this.goToNextSlide(); + }); + }; + + Plugin.prototype.arrowDisable = function (index) { + + // Disable arrows if s.hideControlOnEnd is true + if (!this.s.loop && this.s.hideControlOnEnd) { + var next = this.outer.querySelector('.lg-next'); + var prev = this.outer.querySelector('.lg-prev'); + if (index + 1 < this.___slide.length) { + next.removeAttribute('disabled'); + _lgUtils2.default.removeClass(next, 'disabled'); + } else { + next.setAttribute('disabled', 'disabled'); + _lgUtils2.default.addClass(next, 'disabled'); + } + + if (index > 0) { + prev.removeAttribute('disabled'); + _lgUtils2.default.removeClass(prev, 'disabled'); + } else { + prev.setAttribute('disabled', 'disabled'); + _lgUtils2.default.addClass(prev, 'disabled'); + } + } + }; + + Plugin.prototype.setTranslate = function (el, xValue, yValue) { + // jQuery supports Automatic CSS prefixing since jQuery 1.8.0 + if (this.s.useLeft) { + el.style.left = xValue; + } else { + _lgUtils2.default.setVendor(el, 'Transform', 'translate3d(' + xValue + 'px, ' + yValue + 'px, 0px)'); + } + }; + + Plugin.prototype.touchMove = function (startCoords, endCoords) { + + var distance = endCoords - startCoords; + + if (Math.abs(distance) > 15) { + // reset opacity and transition duration + _lgUtils2.default.addClass(this.outer, 'lg-dragging'); + + // move current slide + this.setTranslate(this.___slide[this.index], distance, 0); + + // move next and prev slide with current slide + this.setTranslate(document.querySelector('.lg-prev-slide'), -this.___slide[this.index].clientWidth + distance, 0); + this.setTranslate(document.querySelector('.lg-next-slide'), this.___slide[this.index].clientWidth + distance, 0); + } + }; + + Plugin.prototype.touchEnd = function (distance) { + var _this = this; + + // keep slide animation for any mode while dragg/swipe + if (_this.s.mode !== 'lg-slide') { + _lgUtils2.default.addClass(_this.outer, 'lg-slide'); + } + + for (var i = 0; i < this.___slide.length; i++) { + if (!_lgUtils2.default.hasClass(this.___slide[i], 'lg-current') && !_lgUtils2.default.hasClass(this.___slide[i], 'lg-prev-slide') && !_lgUtils2.default.hasClass(this.___slide[i], 'lg-next-slide')) { + this.___slide[i].style.opacity = '0'; + } + } + + // set transition duration + setTimeout(function () { + _lgUtils2.default.removeClass(_this.outer, 'lg-dragging'); + if (distance < 0 && Math.abs(distance) > _this.s.swipeThreshold) { + _this.goToNextSlide(true); + } else if (distance > 0 && Math.abs(distance) > _this.s.swipeThreshold) { + _this.goToPrevSlide(true); + } else if (Math.abs(distance) < 5) { + + // Trigger click if distance is less than 5 pix + _lgUtils2.default.trigger(_this.el, 'onSlideClick'); + } + + for (var i = 0; i < _this.___slide.length; i++) { + _this.___slide[i].removeAttribute('style'); + } + }); + + // remove slide class once drag/swipe is completed if mode is not slide + setTimeout(function () { + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-dragging') && _this.s.mode !== 'lg-slide') { + _lgUtils2.default.removeClass(_this.outer, 'lg-slide'); + } + }, _this.s.speed + 100); + }; + + Plugin.prototype.enableSwipe = function () { + var _this = this; + var startCoords = 0; + var endCoords = 0; + var isMoved = false; + + if (_this.s.enableSwipe && _this.isTouch && _this.doCss()) { + + for (var i = 0; i < _this.___slide.length; i++) { + /*jshint loopfunc: true */ + _lgUtils2.default.on(_this.___slide[i], 'touchstart.lg', function (e) { + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed') && !_this.lgBusy) { + e.preventDefault(); + _this.manageSwipeClass(); + startCoords = e.targetTouches[0].pageX; + } + }); + } + + for (var j = 0; j < _this.___slide.length; j++) { + /*jshint loopfunc: true */ + _lgUtils2.default.on(_this.___slide[j], 'touchmove.lg', function (e) { + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed')) { + e.preventDefault(); + endCoords = e.targetTouches[0].pageX; + _this.touchMove(startCoords, endCoords); + isMoved = true; + } + }); + } + + for (var k = 0; k < _this.___slide.length; k++) { + /*jshint loopfunc: true */ + _lgUtils2.default.on(_this.___slide[k], 'touchend.lg', function () { + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed')) { + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords - startCoords); + } else { + _lgUtils2.default.trigger(_this.el, 'onSlideClick'); + } + } + }); + } + } + }; + + Plugin.prototype.enableDrag = function () { + var _this = this; + var startCoords = 0; + var endCoords = 0; + var isDraging = false; + var isMoved = false; + if (_this.s.enableDrag && !_this.isTouch && _this.doCss()) { + for (var i = 0; i < _this.___slide.length; i++) { + /*jshint loopfunc: true */ + _lgUtils2.default.on(_this.___slide[i], 'mousedown.lg', function (e) { + // execute only on .lg-object + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-zoomed')) { + if (_lgUtils2.default.hasClass(e.target, 'lg-object') || _lgUtils2.default.hasClass(e.target, 'lg-video-play')) { + e.preventDefault(); + + if (!_this.lgBusy) { + _this.manageSwipeClass(); + startCoords = e.pageX; + isDraging = true; + + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + _this.outer.scrollLeft += 1; + _this.outer.scrollLeft -= 1; + + // * + + _lgUtils2.default.removeClass(_this.outer, 'lg-grab'); + _lgUtils2.default.addClass(_this.outer, 'lg-grabbing'); + + _lgUtils2.default.trigger(_this.el, 'onDragstart'); + } + } + } + }); + } + + _lgUtils2.default.on(window, 'mousemove.lg', function (e) { + if (isDraging) { + isMoved = true; + endCoords = e.pageX; + _this.touchMove(startCoords, endCoords); + _lgUtils2.default.trigger(_this.el, 'onDragmove'); + } + }); + + _lgUtils2.default.on(window, 'mouseup.lg', function (e) { + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords - startCoords); + _lgUtils2.default.trigger(_this.el, 'onDragend'); + } else if (_lgUtils2.default.hasClass(e.target, 'lg-object') || _lgUtils2.default.hasClass(e.target, 'lg-video-play')) { + _lgUtils2.default.trigger(_this.el, 'onSlideClick'); + } + + // Prevent execution on click + if (isDraging) { + isDraging = false; + _lgUtils2.default.removeClass(_this.outer, 'lg-grabbing'); + _lgUtils2.default.addClass(_this.outer, 'lg-grab'); + } + }); + } + }; + + Plugin.prototype.manageSwipeClass = function () { + var touchNext = this.index + 1; + var touchPrev = this.index - 1; + var length = this.___slide.length; + if (this.s.loop) { + if (this.index === 0) { + touchPrev = length - 1; + } else if (this.index === length - 1) { + touchNext = 0; + } + } + + for (var i = 0; i < this.___slide.length; i++) { + _lgUtils2.default.removeClass(this.___slide[i], 'lg-next-slide'); + _lgUtils2.default.removeClass(this.___slide[i], 'lg-prev-slide'); + } + + if (touchPrev > -1) { + _lgUtils2.default.addClass(this.___slide[touchPrev], 'lg-prev-slide'); + } + + _lgUtils2.default.addClass(this.___slide[touchNext], 'lg-next-slide'); + }; + + Plugin.prototype.mousewheel = function () { + var _this = this; + _lgUtils2.default.on(_this.outer, 'mousewheel.lg', function (e) { + + if (!e.deltaY) { + return; + } + + if (e.deltaY > 0) { + _this.goToPrevSlide(); + } else { + _this.goToNextSlide(); + } + + e.preventDefault(); + }); + }; + + Plugin.prototype.closeGallery = function () { + + var _this = this; + var mousedown = false; + _lgUtils2.default.on(this.outer.querySelector('.lg-close'), 'click.lg', function () { + _this.destroy(); + }); + + if (_this.s.closable) { + + // 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 + _lgUtils2.default.on(_this.outer, 'mousedown.lg', function (e) { + + if (_lgUtils2.default.hasClass(e.target, 'lg-outer') || _lgUtils2.default.hasClass(e.target, 'lg-item') || _lgUtils2.default.hasClass(e.target, 'lg-img-wrap')) { + mousedown = true; + } else { + mousedown = false; + } + }); + + _lgUtils2.default.on(_this.outer, 'mouseup.lg', function (e) { + + if (_lgUtils2.default.hasClass(e.target, 'lg-outer') || _lgUtils2.default.hasClass(e.target, 'lg-item') || _lgUtils2.default.hasClass(e.target, 'lg-img-wrap') && mousedown) { + if (!_lgUtils2.default.hasClass(_this.outer, 'lg-dragging')) { + _this.destroy(); + } + } + }); + } + }; + + Plugin.prototype.destroy = function (d) { + + var _this = this; + + if (!d) { + _lgUtils2.default.trigger(_this.el, 'onBeforeClose'); + } + + document.body.scrollTop = _this.prevScrollTop; + document.documentElement.scrollTop = _this.prevScrollTop; + + /** + * if d is false or undefined destroy will only close the gallery + * plugins instance remains with the element + * + * if d is true destroy will completely remove the plugin + */ + + if (d) { + if (!_this.s.dynamic) { + // only when not using dynamic mode is $items a jquery collection + + for (var i = 0; i < this.items.length; i++) { + _lgUtils2.default.off(this.items[i], '.lg'); + _lgUtils2.default.off(this.items[i], '.lgcustom'); + } + } + + var lguid = _this.el.getAttribute('lg-uid'); + delete window.lgData[lguid]; + _this.el.removeAttribute('lg-uid'); + } + + // Unbind all events added by lightGallery + _lgUtils2.default.off(this.el, '.lgtm'); + + // Distroy all lightGallery modules + for (var key in window.lgModules) { + if (_this.modules[key]) { + _this.modules[key].destroy(d); + } + } + + this.lGalleryOn = false; + + clearTimeout(_this.hideBartimeout); + this.hideBartimeout = false; + _lgUtils2.default.off(window, '.lg'); + _lgUtils2.default.removeClass(document.body, 'lg-on'); + _lgUtils2.default.removeClass(document.body, 'lg-from-hash'); + + if (_this.outer) { + _lgUtils2.default.removeClass(_this.outer, 'lg-visible'); + } + + _lgUtils2.default.removeClass(document.querySelector('.lg-backdrop'), 'in'); + setTimeout(function () { + try { + if (_this.outer) { + _this.outer.parentNode.removeChild(_this.outer); + } + + if (document.querySelector('.lg-backdrop')) { + document.querySelector('.lg-backdrop').parentNode.removeChild(document.querySelector('.lg-backdrop')); + } + + if (!d) { + _lgUtils2.default.trigger(_this.el, 'onCloseAfter'); + } + _this.el.focus(); + } catch (err) {} + }, _this.s.backdropDuration + 50); + }; + + window.lightGallery = function (el, options) { + if (!el) { + return; + } + + try { + if (!el.getAttribute('lg-uid')) { + var uid = 'lg' + window.lgData.uid++; + window.lgData[uid] = new Plugin(el, options); + el.setAttribute('lg-uid', uid); + } else { + window.lgData[el.getAttribute('lg-uid')].init(); + } + } catch (err) { + console.error('lightGallery has not initiated properly', err); + } + }; +}); \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/package.json b/public/js/vendor/lightgallery.js/package.json new file mode 100644 index 0000000..6ce661f --- /dev/null +++ b/public/js/vendor/lightgallery.js/package.json @@ -0,0 +1,93 @@ +{ + "_args": [ + [ + "lightgallery.js@1.4.0", + "/Users/rokaux/Sites/around-new" + ] + ], + "_from": "lightgallery.js@1.4.0", + "_id": "lightgallery.js@1.4.0", + "_inBundle": false, + "_integrity": "sha512-TK7auNMSz0sPjotq/VtKH/fe8GPkVRlmFf8F3zVsbFccLJL4r3U1VON+IggyE8Wy04QwbFQxTIIMqL7blibGSA==", + "_location": "/lightgallery.js", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "lightgallery.js@1.4.0", + "name": "lightgallery.js", + "escapedName": "lightgallery.js", + "rawSpec": "1.4.0", + "saveSpec": null, + "fetchSpec": "1.4.0" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/lightgallery.js/-/lightgallery.js-1.4.0.tgz", + "_spec": "1.4.0", + "_where": "/Users/rokaux/Sites/around-new", + "author": { + "name": "Sachin N", + "email": "sachi77n@gmail.com", + "url": "https://github.com/sachinchoolur" + }, + "bugs": { + "url": "https://github.com/sachinchoolur/lightgallery.js/issues" + }, + "dependencies": {}, + "description": "Full featured lightbox gallery. Zero dependencies", + "devDependencies": { + "babel-cli": "^6.5.1", + "babel-core": "^6.5.2", + "babel-plugin-transform-es2015-modules-umd": "^6.5.0", + "babel-plugin-transform-object-assign": "^6.8.0", + "babel-preset-es2015": "^6.5.0", + "babel-preset-es2015-loose": "^7.0.0", + "babelify": "^7.2.0", + "bannerify": "^1.0.1", + "browserify": "^13.0.0", + "clean-css": "^3.4.19", + "copyfiles": "^1.0.0", + "install": "^0.4.4", + "jshint": "^2.12.0", + "uglify-js": "^2.4.24", + "watchify": "^3.11.1" + }, + "homepage": "http://sachinchoolur.github.io/lightgallery.js/", + "keywords": [ + "gallery", + "lightbox", + "image", + "youtube", + "vimeo", + "dailymotion", + "html5 videos", + "thumbnails", + "zoom", + "fullscreen", + "responsive", + "touch", + "drag" + ], + "license": "GPLv3", + "main": "lib/js/lightgallery.js", + "name": "lightgallery.js", + "repository": { + "type": "git", + "url": "git+https://github.com/sachinchoolur/lightgallery.js.git" + }, + "scripts": { + "build": "npm run copyfiles && npm run css && npm run build-debug && npm run build-min", + "build-debug": "browserify src/js/lightgallery.js -s Lightgallery -t [babelify] -p [bannerify --file .banner ] -o dist/js/lightgallery.js", + "build-min": "uglifyjs dist/js/lightgallery.js --comments '/!/' -m screw_ie8=true -c screw_ie8=true,unused=false -o dist/js/lightgallery.min.js", + "copyfiles": "copyfiles -u 1 ./src/fonts/** dist && copyfiles -u 1 ./src/img/** dist && copyfiles -u 1 ./src/css/** dist", + "css": "cleancss -o dist/css/lightgallery.min.css dist/css/lightgallery.css && cleancss -o dist/css/lg-fb-comment-box.min.css dist/css/lg-fb-comment-box.css && cleancss -o dist/css/lg-transitions.min.css dist/css/lg-transitions.css", + "dev": "watchify src/js/lightgallery.js -s Lightgallery -t [babelify] -o /Users/sachin/workspace/lightgallery-js/gh-pages/lightgallery.js/lightgallery/js/lightgallery.js -v", + "lint": "jshint src", + "prepublish": "babel src --out-dir lib --loose all", + "watch": "watchify src/js/lightgallery.js -s Lightgallery -t [babelify] -o dist/js/lightgallery.js -v" + }, + "style": "dist/css/lightgallery.css", + "version": "1.4.0" +} diff --git a/public/js/vendor/lightgallery.js/readme.md b/public/js/vendor/lightgallery.js/readme.md new file mode 100644 index 0000000..f5669a7 --- /dev/null +++ b/public/js/vendor/lightgallery.js/readme.md @@ -0,0 +1,205 @@ +# lightgallery.js + +![travis](https://travis-ci.org/sachinchoolur/lightgallery.js.svg?branch=master) +![bower](https://img.shields.io/bower/v/lightgallery.js.svg) +![npm](https://img.shields.io/npm/v/lightgallery.js.svg) + +Full featured JavaScript lightbox gallery. No dependencies. + +![lightgallery](https://raw.githubusercontent.com/sachinchoolur/lightgallery.js/gh-pages/lightgallery.png) + +## Demo + +* [lightgallery demo](https://sachinchoolur.github.io/lightgallery.js/) +* [Codepen demo](https://codepen.io/sachinchoolur/pen/qNyvGW) + +## Main features + +* Fully responsive. +* Modular architecture with built in plugins. +* Touch support for mobile devices. +* Mouse drag supports for desktops. +* Double-click/Double-tap to see actual size of the image. +* Animated thumbnails. +* Social media sharing. +* YouTube, Vimeo, Dailymotion, VK and HTML5 video support. +* 20+ Hardware-Accelerated CSS3 transitions. +* Dynamic mode. +* Full screen support. +* Supports zoom. +* Browser history API. +* Responsive images. +* HTML iframe support. +* Multiple instances on one page. +* Easily customizable via CSS (SCSS) and Settings. +* Smart image preloading and code optimization. +* Keyboard Navigation for desktop. +* Font icon support. +* Rotate, flip images. +* Accessibility support. +* And many more. + +## Browser support + +lightgallery supports all major browsers including IE 9 and above. + +## Installation + +### Install with NPM + +You can install `lightgallery.js` using the [npm](https://www.npmjs.com/) package manager. + +```sh +npm install lightgallery.js +``` + +You can also find `lightgallery.js` on [Yarn](https://yarnpkg.com/) and [Bower](http://bower.io). +### Yarn +```sh +yarn add lightgallery.js +``` +### Bower + +```sh +bower install lightgallery.js --save +``` + + +### CDN + +http://www.jsdelivr.com/projects/lightgallery.js + +### Download from GitHub + +You can also directly download lightgallery from GitHub. + +## Include CSS and JavaScript files + +First of all add lightgallery.css in the `` of the document. + +```html + + + +``` + +Then include `lightgallery.min.js` into your document. +If you want to include any lightgallery plugin you can include it after `lightgallery.min.js`. + +```html + + ... + + + + + + + +``` + +Lightgallery also supports AMD, CommonJS and ES6 modules. +When you use AMD make sure that lightgallery.js is loaded before lightgallery modules. + +```js +require(['./lightgallery.js'], function() { + require(["./lg-zoom.js", "./lg-thumbnail.js"], function(){ + lightGallery(document.getElementById('lightgallery')); + }); +}); +``` + +## The markup + +lightgallery does not force you to use any kind of markup. You can use whatever markup you want. +But i suggest you to use the following markup. +[Here](https://sachinchoolur.github.io/lightgallery.js/demos/html-markup.html) +you can find the detailed examples of different kinds of markup. + +```html +
    + + + + + + + ... +
    +``` + +## Call the plugin + +Finally you need to initiate the gallery by adding the following code. + +```js + +``` + +## Support lightgallery + +If you like lightgallery please support the project by staring the repository or tweet about this project. + +## Resources + +* [API Reference](https://sachinchoolur.github.io/lightgallery.js/docs/api.html) +* [Events](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#events) +* [Methods](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#methods) +* [Data Attributes](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#attributes) +* [Dynamic variables](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#dynamic) +* [Sass variables](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#sass) +* [Module API](https://sachinchoolur.github.io/lightgallery.js/docs/plugin-api.html) + +## Demos + +* Thumbnails + * [Gallery with animated thumbnails](https://sachinchoolur.github.io/lightgallery.js/demos/) + * [Gallery without animated thumbnails](https://sachinchoolur.github.io/lightgallery.js/demos/#normal-thumb) +* YouTube, Vimeo Video Gallery + * [YouTube, Vimeo Video Gallery](https://sachinchoolur.github.io/lightgallery.js/demos/videos.html) + * [Video Gallery Without Poster](https://sachinchoolur.github.io/lightgallery.js/demos/videos.html#video-without-poster) + * [Video Player Parameters](https://sachinchoolur.github.io/lightgallery.js/demos/videos.html#video-player-param) + * [Automatically load thumbnails](https://sachinchoolur.github.io/lightgallery.js/demos/videos.html#auto-thumb) +* HTML5 Video Gallery + * [HTML5 Video Gallery](https://sachinchoolur.github.io/lightgallery.js/demos/html5-videos.html) + * [HTML5 video gallery with videojs](https://sachinchoolur.github.io/lightgallery.js/demos/html5-videos.html#video-without-poster) +* [Transitions](https://sachinchoolur.github.io/lightgallery.js/demos/transitions.html) +* [Dynamic](https://sachinchoolur.github.io/lightgallery.js/demos/dynamic.html) +* [Events](https://sachinchoolur.github.io/lightgallery.js/demos/events.html) +* [Methods](https://sachinchoolur.github.io/lightgallery.js/demos/methods.html) +* [Iframe. External websites, Google map etc.](https://sachinchoolur.github.io/lightgallery.js/demos/iframe.html) +* [Captions](https://sachinchoolur.github.io/lightgallery.js/demos/captions.html) +* Responsive images + * [Responsive images](https://sachinchoolur.github.io/lightgallery.js/demos/responsive.html) + * [Responsive images with HTML5 srcset](https://sachinchoolur.github.io/lightgallery.js/demos/responsive.html#srcset-demo) +* [Gallery with fixed size](https://sachinchoolur.github.io/lightgallery.js/demos/fixed-size.html) +* [HTML Markup](https://sachinchoolur.github.io/lightgallery.js/demos/html-markup.html) +* [Facebook comments](https://sachinchoolur.github.io/lightgallery.js/demos/comment-box.html) +* [Easing](https://sachinchoolur.github.io/lightgallery.js/demos/easing.html) +* [History/hash plugin](https://sachinchoolur.github.io/lightgallery.js/demos/hash.html) +* [Social media share](https://sachinchoolur.github.io/lightgallery.js/demos/share.html) + +## Built in modules + +1. Thumbnail - [GItHub](https://github.com/sachinchoolur/lg-thumbnail.js) - [Docs](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#lg-thumbnial) +2. Autoplay - [GItHub](https://github.com/sachinchoolur/lg-autoplay.js) - [Docs](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#lg-autoplay) +3. Video - [GItHub](https://github.com/sachinchoolur/lg-video.js) - [Docs](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#lg-video) +4. Fullscreen - [GItHub](https://github.com/sachinchoolur/lg-fullscreen.js) - [Docs](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#lg-fullscreen) +5. Pager - [GItHub](https://github.com/sachinchoolur/lg-pager.js) - [Docs](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#lg-pager) +6. Zoom - [GItHub](https://github.com/sachinchoolur/lg-zoom.js) - [Docs](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#lg-zoom) +7. Hash - [GItHub](https://github.com/sachinchoolur/lg-hash.js) - [Docs](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#lg-hash) +8. Share - [GItHub](https://github.com/sachinchoolur/lg-share.js) - [Docs](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#lg-share) +8. Rotate - [GItHub](https://github.com/sachinchoolur/lg-rotate.js) - [Docs](https://sachinchoolur.github.io/lightgallery.js/docs/api.html#lg-rotate) + +License +--- + +#### Commercial license +If you want to use lightgallery.js to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Purchase a lightgallery.js Commercial License at [uplabs.com/posts/lightgallery-js](https://www.uplabs.com/posts/lightgallery-js) + +#### Open source license + +If you are creating an open source application under a license compatible with the GNU GPL license v3, you may use this project under the terms of the GPLv3. + diff --git a/public/js/vendor/lightgallery.js/src/css/lg-fb-comment-box.css b/public/js/vendor/lightgallery.js/src/css/lg-fb-comment-box.css new file mode 100644 index 0000000..b7d58f5 --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/css/lg-fb-comment-box.css @@ -0,0 +1,31 @@ +.lg-outer.fb-comments .lg-img-wrap { + padding-right: 400px !important; } +.lg-outer.fb-comments .fb-comments { + height: 100%; + overflow-y: auto; + position: absolute; + right: 0; + top: 0; + width: 420px; + z-index: 99999; + background: #fff url("../img/loading.gif") no-repeat scroll center center; } + .lg-outer.fb-comments .fb-comments.fb_iframe_widget { + background-image: none; } + .lg-outer.fb-comments .fb-comments.fb_iframe_widget.fb_iframe_widget_loader { + background: #fff url("../img/loading.gif") no-repeat scroll center center; } +.lg-outer.fb-comments .lg-toolbar { + right: 420px; + width: auto; } +.lg-outer.fb-comments .lg-actions .lg-next { + right: 420px; } +.lg-outer.fb-comments .lg-item { + background-image: none; } + .lg-outer.fb-comments .lg-item.lg-complete .lg-img-wrap { + background-image: none; } +.lg-outer.fb-comments .lg-img-wrap { + background: url(../img/loading.gif) no-repeat scroll center center transparent; } +.lg-outer.fb-comments .lg-sub-html { + padding: 0; + position: static; } + +/*# sourceMappingURL=lg-fb-comment-box.css.map */ diff --git a/public/js/vendor/lightgallery.js/src/css/lg-transitions.css b/public/js/vendor/lightgallery.js/src/css/lg-transitions.css new file mode 100644 index 0000000..a80062f --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/css/lg-transitions.css @@ -0,0 +1,776 @@ +.lg-css3.lg-zoom-in .lg-item { + opacity: 0; } + .lg-css3.lg-zoom-in .lg-item.lg-prev-slide { + -webkit-transform: scale3d(1.3, 1.3, 1.3); + transform: scale3d(1.3, 1.3, 1.3); } + .lg-css3.lg-zoom-in .lg-item.lg-next-slide { + -webkit-transform: scale3d(1.3, 1.3, 1.3); + transform: scale3d(1.3, 1.3, 1.3); } + .lg-css3.lg-zoom-in .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-zoom-in .lg-item.lg-prev-slide, .lg-css3.lg-zoom-in .lg-item.lg-next-slide, .lg-css3.lg-zoom-in .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-zoom-in-big .lg-item { + opacity: 0; } + .lg-css3.lg-zoom-in-big .lg-item.lg-prev-slide { + -webkit-transform: scale3d(2, 2, 2); + transform: scale3d(2, 2, 2); } + .lg-css3.lg-zoom-in-big .lg-item.lg-next-slide { + -webkit-transform: scale3d(2, 2, 2); + transform: scale3d(2, 2, 2); } + .lg-css3.lg-zoom-in-big .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-zoom-in-big .lg-item.lg-prev-slide, .lg-css3.lg-zoom-in-big .lg-item.lg-next-slide, .lg-css3.lg-zoom-in-big .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-zoom-out .lg-item { + opacity: 0; } + .lg-css3.lg-zoom-out .lg-item.lg-prev-slide { + -webkit-transform: scale3d(0.7, 0.7, 0.7); + transform: scale3d(0.7, 0.7, 0.7); } + .lg-css3.lg-zoom-out .lg-item.lg-next-slide { + -webkit-transform: scale3d(0.7, 0.7, 0.7); + transform: scale3d(0.7, 0.7, 0.7); } + .lg-css3.lg-zoom-out .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-zoom-out .lg-item.lg-prev-slide, .lg-css3.lg-zoom-out .lg-item.lg-next-slide, .lg-css3.lg-zoom-out .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-zoom-out-big .lg-item { + opacity: 0; } + .lg-css3.lg-zoom-out-big .lg-item.lg-prev-slide { + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); } + .lg-css3.lg-zoom-out-big .lg-item.lg-next-slide { + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); } + .lg-css3.lg-zoom-out-big .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-zoom-out-big .lg-item.lg-prev-slide, .lg-css3.lg-zoom-out-big .lg-item.lg-next-slide, .lg-css3.lg-zoom-out-big .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-zoom-out-in .lg-item { + opacity: 0; } + .lg-css3.lg-zoom-out-in .lg-item.lg-prev-slide { + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); } + .lg-css3.lg-zoom-out-in .lg-item.lg-next-slide { + -webkit-transform: scale3d(2, 2, 2); + transform: scale3d(2, 2, 2); } + .lg-css3.lg-zoom-out-in .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-zoom-out-in .lg-item.lg-prev-slide, .lg-css3.lg-zoom-out-in .lg-item.lg-next-slide, .lg-css3.lg-zoom-out-in .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-zoom-in-out .lg-item { + opacity: 0; } + .lg-css3.lg-zoom-in-out .lg-item.lg-prev-slide { + -webkit-transform: scale3d(2, 2, 2); + transform: scale3d(2, 2, 2); } + .lg-css3.lg-zoom-in-out .lg-item.lg-next-slide { + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); } + .lg-css3.lg-zoom-in-out .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-zoom-in-out .lg-item.lg-prev-slide, .lg-css3.lg-zoom-in-out .lg-item.lg-next-slide, .lg-css3.lg-zoom-in-out .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-soft-zoom .lg-item { + opacity: 0; } + .lg-css3.lg-soft-zoom .lg-item.lg-prev-slide { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); } + .lg-css3.lg-soft-zoom .lg-item.lg-next-slide { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); } + .lg-css3.lg-soft-zoom .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; } + .lg-css3.lg-soft-zoom .lg-item.lg-prev-slide, .lg-css3.lg-soft-zoom .lg-item.lg-next-slide, .lg-css3.lg-soft-zoom .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-scale-up .lg-item { + opacity: 0; } + .lg-css3.lg-scale-up .lg-item.lg-prev-slide { + -moz-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -o-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -ms-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -webkit-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); } + .lg-css3.lg-scale-up .lg-item.lg-next-slide { + -moz-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -o-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -ms-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -webkit-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); } + .lg-css3.lg-scale-up .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-scale-up .lg-item.lg-prev-slide, .lg-css3.lg-scale-up .lg-item.lg-next-slide, .lg-css3.lg-scale-up .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-circular .lg-item { + opacity: 0; } + .lg-css3.lg-slide-circular .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + -o-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); } + .lg-css3.lg-slide-circular .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + -o-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); } + .lg-css3.lg-slide-circular .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-circular .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular .lg-item.lg-next-slide, .lg-css3.lg-slide-circular .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-circular-up .lg-item { + opacity: 0; } + .lg-css3.lg-slide-circular-up .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); } + .lg-css3.lg-slide-circular-up .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); } + .lg-css3.lg-slide-circular-up .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-circular-up .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular-up .lg-item.lg-next-slide, .lg-css3.lg-slide-circular-up .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-circular-down .lg-item { + opacity: 0; } + .lg-css3.lg-slide-circular-down .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); } + .lg-css3.lg-slide-circular-down .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); } + .lg-css3.lg-slide-circular-down .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-circular-down .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular-down .lg-item.lg-next-slide, .lg-css3.lg-slide-circular-down .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-circular-vertical .lg-item { + opacity: 0; } + .lg-css3.lg-slide-circular-vertical .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); + transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); } + .lg-css3.lg-slide-circular-vertical .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); + transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); } + .lg-css3.lg-slide-circular-vertical .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-circular-vertical .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular-vertical .lg-item.lg-next-slide, .lg-css3.lg-slide-circular-vertical .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-circular-vertical-left .lg-item { + opacity: 0; } + .lg-css3.lg-slide-circular-vertical-left .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); + transform: scale3d(0, 0, 0) translate3d(-100%, -100%, 0); } + .lg-css3.lg-slide-circular-vertical-left .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); + transform: scale3d(0, 0, 0) translate3d(-100%, 100%, 0); } + .lg-css3.lg-slide-circular-vertical-left .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-circular-vertical-left .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular-vertical-left .lg-item.lg-next-slide, .lg-css3.lg-slide-circular-vertical-left .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-circular-vertical-down .lg-item { + opacity: 0; } + .lg-css3.lg-slide-circular-vertical-down .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); + transform: scale3d(0, 0, 0) translate3d(100%, -100%, 0); } + .lg-css3.lg-slide-circular-vertical-down .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); + transform: scale3d(0, 0, 0) translate3d(100%, 100%, 0); } + .lg-css3.lg-slide-circular-vertical-down .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-circular-vertical-down .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular-vertical-down .lg-item.lg-next-slide, .lg-css3.lg-slide-circular-vertical-down .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; } +.lg-css3.lg-slide-vertical .lg-item { + opacity: 0; } + .lg-css3.lg-slide-vertical .lg-item.lg-prev-slide { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); } + .lg-css3.lg-slide-vertical .lg-item.lg-next-slide { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); } + .lg-css3.lg-slide-vertical .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-vertical .lg-item.lg-prev-slide, .lg-css3.lg-slide-vertical .lg-item.lg-next-slide, .lg-css3.lg-slide-vertical .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-vertical-growth .lg-item { + opacity: 0; } + .lg-css3.lg-slide-vertical-growth .lg-item.lg-prev-slide { + -moz-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); + -o-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); + -ms-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); + -webkit-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); + transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); } + .lg-css3.lg-slide-vertical-growth .lg-item.lg-next-slide { + -moz-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); + -o-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); + -ms-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); + -webkit-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); + transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); } + .lg-css3.lg-slide-vertical-growth .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-slide-vertical-growth .lg-item.lg-prev-slide, .lg-css3.lg-slide-vertical-growth .lg-item.lg-next-slide, .lg-css3.lg-slide-vertical-growth .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-only .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-only .lg-item.lg-prev-slide { + -moz-transform: skew(10deg, 0deg); + -o-transform: skew(10deg, 0deg); + -ms-transform: skew(10deg, 0deg); + -webkit-transform: skew(10deg, 0deg); + transform: skew(10deg, 0deg); } + .lg-css3.lg-slide-skew-only .lg-item.lg-next-slide { + -moz-transform: skew(10deg, 0deg); + -o-transform: skew(10deg, 0deg); + -ms-transform: skew(10deg, 0deg); + -webkit-transform: skew(10deg, 0deg); + transform: skew(10deg, 0deg); } + .lg-css3.lg-slide-skew-only .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg); + -o-transform: skew(0deg, 0deg); + -ms-transform: skew(0deg, 0deg); + -webkit-transform: skew(0deg, 0deg); + transform: skew(0deg, 0deg); + opacity: 1; } + .lg-css3.lg-slide-skew-only .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-only .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-only .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-only-rev .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-only-rev .lg-item.lg-prev-slide { + -moz-transform: skew(-10deg, 0deg); + -o-transform: skew(-10deg, 0deg); + -ms-transform: skew(-10deg, 0deg); + -webkit-transform: skew(-10deg, 0deg); + transform: skew(-10deg, 0deg); } + .lg-css3.lg-slide-skew-only-rev .lg-item.lg-next-slide { + -moz-transform: skew(-10deg, 0deg); + -o-transform: skew(-10deg, 0deg); + -ms-transform: skew(-10deg, 0deg); + -webkit-transform: skew(-10deg, 0deg); + transform: skew(-10deg, 0deg); } + .lg-css3.lg-slide-skew-only-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg); + -o-transform: skew(0deg, 0deg); + -ms-transform: skew(0deg, 0deg); + -webkit-transform: skew(0deg, 0deg); + transform: skew(0deg, 0deg); + opacity: 1; } + .lg-css3.lg-slide-skew-only-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-only-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-only-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-only-y .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-only-y .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, 10deg); + -o-transform: skew(0deg, 10deg); + -ms-transform: skew(0deg, 10deg); + -webkit-transform: skew(0deg, 10deg); + transform: skew(0deg, 10deg); } + .lg-css3.lg-slide-skew-only-y .lg-item.lg-next-slide { + -moz-transform: skew(0deg, 10deg); + -o-transform: skew(0deg, 10deg); + -ms-transform: skew(0deg, 10deg); + -webkit-transform: skew(0deg, 10deg); + transform: skew(0deg, 10deg); } + .lg-css3.lg-slide-skew-only-y .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg); + -o-transform: skew(0deg, 0deg); + -ms-transform: skew(0deg, 0deg); + -webkit-transform: skew(0deg, 0deg); + transform: skew(0deg, 0deg); + opacity: 1; } + .lg-css3.lg-slide-skew-only-y .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-only-y .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-only-y .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-only-y-rev .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, -10deg); + -o-transform: skew(0deg, -10deg); + -ms-transform: skew(0deg, -10deg); + -webkit-transform: skew(0deg, -10deg); + transform: skew(0deg, -10deg); } + .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-next-slide { + -moz-transform: skew(0deg, -10deg); + -o-transform: skew(0deg, -10deg); + -ms-transform: skew(0deg, -10deg); + -webkit-transform: skew(0deg, -10deg); + transform: skew(0deg, -10deg); } + .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg); + -o-transform: skew(0deg, 0deg); + -ms-transform: skew(0deg, 0deg); + -webkit-transform: skew(0deg, 0deg); + transform: skew(0deg, 0deg); + opacity: 1; } + .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew .lg-item.lg-prev-slide { + -moz-transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); + -o-transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); + -ms-transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); + -webkit-transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); + transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); } + .lg-css3.lg-slide-skew .lg-item.lg-next-slide { + -moz-transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); + -o-transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); + -ms-transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); + -webkit-transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); + transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); } + .lg-css3.lg-slide-skew .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew .lg-item.lg-next-slide, .lg-css3.lg-slide-skew .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-rev .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-rev .lg-item.lg-prev-slide { + -moz-transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); + -o-transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); + -ms-transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); + -webkit-transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); + transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); } + .lg-css3.lg-slide-skew-rev .lg-item.lg-next-slide { + -moz-transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); + -o-transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); + -ms-transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); + -webkit-transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); + transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); } + .lg-css3.lg-slide-skew-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-cross .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-cross .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); + -o-transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); + -ms-transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); + -webkit-transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); + transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); } + .lg-css3.lg-slide-skew-cross .lg-item.lg-next-slide { + -moz-transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); + -o-transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); + -ms-transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); + -webkit-transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); + transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); } + .lg-css3.lg-slide-skew-cross .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-cross .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-cross .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-cross .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-cross-rev .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); + -o-transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); + -ms-transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); + -webkit-transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); + transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); } + .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-next-slide { + -moz-transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); + -o-transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); + -ms-transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); + -webkit-transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); + transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); } + .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-ver .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-ver .lg-item.lg-prev-slide { + -moz-transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); + -o-transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); + -ms-transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); + -webkit-transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); + transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); } + .lg-css3.lg-slide-skew-ver .lg-item.lg-next-slide { + -moz-transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); + -o-transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); + -ms-transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); + -webkit-transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); + transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); } + .lg-css3.lg-slide-skew-ver .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-ver .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-ver .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-ver .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-ver-rev .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-prev-slide { + -moz-transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); + -o-transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); + -ms-transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); + -webkit-transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); + transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); } + .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-next-slide { + -moz-transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); + -o-transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); + -ms-transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); + -webkit-transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); + transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); } + .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-ver-cross .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); + -o-transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); + -ms-transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); + -webkit-transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); + transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); } + .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-next-slide { + -moz-transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); + -o-transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); + -ms-transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); + -webkit-transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); + transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); } + .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-slide-skew-ver-cross-rev .lg-item { + opacity: 0; } + .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); + -o-transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); + -ms-transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); + -webkit-transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); + transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); } + .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-next-slide { + -moz-transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); + -o-transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); + -ms-transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); + -webkit-transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); + transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); } + .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; } + .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-lollipop .lg-item { + opacity: 0; } + .lg-css3.lg-lollipop .lg-item.lg-prev-slide { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); } + .lg-css3.lg-lollipop .lg-item.lg-next-slide { + -moz-transform: translate3d(0, 0, 0) scale(0.5); + -o-transform: translate3d(0, 0, 0) scale(0.5); + -ms-transform: translate3d(0, 0, 0) scale(0.5); + -webkit-transform: translate3d(0, 0, 0) scale(0.5); + transform: translate3d(0, 0, 0) scale(0.5); } + .lg-css3.lg-lollipop .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-lollipop .lg-item.lg-prev-slide, .lg-css3.lg-lollipop .lg-item.lg-next-slide, .lg-css3.lg-lollipop .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-lollipop-rev .lg-item { + opacity: 0; } + .lg-css3.lg-lollipop-rev .lg-item.lg-prev-slide { + -moz-transform: translate3d(0, 0, 0) scale(0.5); + -o-transform: translate3d(0, 0, 0) scale(0.5); + -ms-transform: translate3d(0, 0, 0) scale(0.5); + -webkit-transform: translate3d(0, 0, 0) scale(0.5); + transform: translate3d(0, 0, 0) scale(0.5); } + .lg-css3.lg-lollipop-rev .lg-item.lg-next-slide { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); } + .lg-css3.lg-lollipop-rev .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-lollipop-rev .lg-item.lg-prev-slide, .lg-css3.lg-lollipop-rev .lg-item.lg-next-slide, .lg-css3.lg-lollipop-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-rotate .lg-item { + opacity: 0; } + .lg-css3.lg-rotate .lg-item.lg-prev-slide { + -moz-transform: rotate(-360deg); + -o-transform: rotate(-360deg); + -ms-transform: rotate(-360deg); + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); } + .lg-css3.lg-rotate .lg-item.lg-next-slide { + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } + .lg-css3.lg-rotate .lg-item.lg-current { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + opacity: 1; } + .lg-css3.lg-rotate .lg-item.lg-prev-slide, .lg-css3.lg-rotate .lg-item.lg-next-slide, .lg-css3.lg-rotate .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-rotate-rev .lg-item { + opacity: 0; } + .lg-css3.lg-rotate-rev .lg-item.lg-prev-slide { + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } + .lg-css3.lg-rotate-rev .lg-item.lg-next-slide { + -moz-transform: rotate(-360deg); + -o-transform: rotate(-360deg); + -ms-transform: rotate(-360deg); + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); } + .lg-css3.lg-rotate-rev .lg-item.lg-current { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + opacity: 1; } + .lg-css3.lg-rotate-rev .lg-item.lg-prev-slide, .lg-css3.lg-rotate-rev .lg-item.lg-next-slide, .lg-css3.lg-rotate-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } +.lg-css3.lg-tube .lg-item { + opacity: 0; } + .lg-css3.lg-tube .lg-item.lg-prev-slide { + -moz-transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); + -o-transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); + -ms-transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); + -webkit-transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); + transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); } + .lg-css3.lg-tube .lg-item.lg-next-slide { + -moz-transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); + -o-transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); + -ms-transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); + -webkit-transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); + transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); } + .lg-css3.lg-tube .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; } + .lg-css3.lg-tube .lg-item.lg-prev-slide, .lg-css3.lg-tube .lg-item.lg-next-slide, .lg-css3.lg-tube .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; } + +/*# sourceMappingURL=lg-transitions.css.map */ diff --git a/public/js/vendor/lightgallery.js/src/css/lightgallery.css b/public/js/vendor/lightgallery.js/src/css/lightgallery.css new file mode 100644 index 0000000..5310e7d --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/css/lightgallery.css @@ -0,0 +1,1153 @@ +@font-face { + font-family: 'lg'; + src: url("../fonts/lg.ttf?22t19m") format("truetype"), url("../fonts/lg.woff?22t19m") format("woff"), url("../fonts/lg.svg?22t19m#lg") format("svg"); + font-weight: normal; + font-style: normal; + font-display: block; +} + +.lg-icon { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'lg' !important; + speak: never; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.lg-actions .lg-next, .lg-actions .lg-prev { + background-color: rgba(0, 0, 0, 0.45); + border-radius: 2px; + color: #999; + cursor: pointer; + display: block; + font-size: 22px; + margin-top: -10px; + padding: 8px 10px 9px; + position: absolute; + top: 50%; + z-index: 1080; + outline: none; + border: none; + background-color: transparent; +} + +.lg-actions .lg-next.disabled, .lg-actions .lg-prev.disabled { + pointer-events: none; + opacity: 0.5; +} + +.lg-actions .lg-next:hover, .lg-actions .lg-prev:hover { + color: #FFF; +} + +.lg-actions .lg-next { + right: 20px; +} + +.lg-actions .lg-next:before { + content: "\e095"; +} + +.lg-actions .lg-prev { + left: 20px; +} + +.lg-actions .lg-prev:after { + content: "\e094"; +} + +@-webkit-keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} + +@-moz-keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} + +@-ms-keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} + +@keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} + +@-webkit-keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} + +@-moz-keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} + +@-ms-keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} + +@keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} + +.lg-outer.lg-right-end .lg-object { + -webkit-animation: lg-right-end 0.3s; + -o-animation: lg-right-end 0.3s; + animation: lg-right-end 0.3s; + position: relative; +} + +.lg-outer.lg-left-end .lg-object { + -webkit-animation: lg-left-end 0.3s; + -o-animation: lg-left-end 0.3s; + animation: lg-left-end 0.3s; + position: relative; +} + +.lg-toolbar { + z-index: 1082; + left: 0; + position: absolute; + top: 0; + width: 100%; + background-color: rgba(0, 0, 0, 0.45); +} + +.lg-toolbar .lg-icon { + color: #999; + cursor: pointer; + float: right; + font-size: 24px; + height: 47px; + line-height: 27px; + padding: 10px 0; + text-align: center; + width: 50px; + text-decoration: none !important; + outline: medium none; + background: none; + border: none; + box-shadow: none; + -webkit-transition: color 0.2s linear; + -o-transition: color 0.2s linear; + transition: color 0.2s linear; +} + +.lg-toolbar .lg-icon:hover { + color: #FFF; +} + +.lg-toolbar .lg-close:after { + content: "\e070"; +} + +.lg-toolbar .lg-download:after { + content: "\e0f2"; +} + +.lg-sub-html { + background-color: rgba(0, 0, 0, 0.45); + bottom: 0; + color: #EEE; + font-size: 16px; + left: 0; + padding: 10px 40px; + position: fixed; + right: 0; + text-align: center; + z-index: 1080; +} + +.lg-sub-html h4 { + margin: 0; + font-size: 13px; + font-weight: bold; +} + +.lg-sub-html p { + font-size: 12px; + margin: 5px 0 0; +} + +#lg-counter { + color: #999; + display: inline-block; + font-size: 16px; + padding-left: 20px; + padding-top: 12px; + vertical-align: middle; +} + +.lg-toolbar, .lg-prev, .lg-next { + opacity: 1; + -webkit-transition: -webkit-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear; + -moz-transition: -moz-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear; + -o-transition: -o-transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear; + transition: transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear; +} + +.lg-hide-items .lg-prev { + opacity: 0; + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); +} + +.lg-hide-items .lg-next { + opacity: 0; + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); +} + +.lg-hide-items .lg-toolbar { + opacity: 0; + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); +} + +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object { + -webkit-transform: scale3d(0.5, 0.5, 0.5); + transform: scale3d(0.5, 0.5, 0.5); + opacity: 0; + -webkit-transition: -webkit-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + -moz-transition: -moz-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + -o-transition: -o-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + transition: transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + -webkit-transform-origin: 50% 50%; + -moz-transform-origin: 50% 50%; + -ms-transform-origin: 50% 50%; + transform-origin: 50% 50%; +} + +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; +} + +.lg-outer .lg-thumb-outer { + background-color: #0D0A0A; + bottom: 0; + position: absolute; + width: 100%; + z-index: 1080; + max-height: 350px; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; +} + +.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} + +.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: -o-grabbing; + cursor: -ms-grabbing; + cursor: grabbing; +} + +.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; +} + +.lg-outer.lg-thumb-open .lg-thumb-outer { + -webkit-transform: translate3d(0, 0%, 0); + transform: translate3d(0, 0%, 0); +} + +.lg-outer .lg-thumb { + padding: 10px 0; + height: 100%; + margin-bottom: -5px; +} + +.lg-outer .lg-thumb-item { + border-radius: 5px; + cursor: pointer; + float: left; + overflow: hidden; + height: 100%; + border: 2px solid #FFF; + border-radius: 4px; + margin-bottom: 5px; +} + +@media (min-width: 1025px) { + .lg-outer .lg-thumb-item { + -webkit-transition: border-color 0.25s ease; + -o-transition: border-color 0.25s ease; + transition: border-color 0.25s ease; + } +} + +.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover { + border-color: #a90707; +} + +.lg-outer .lg-thumb-item img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.lg-outer.lg-has-thumb .lg-item { + padding-bottom: 120px; +} + +.lg-outer.lg-can-toggle .lg-item { + padding-bottom: 0; +} + +.lg-outer.lg-pull-caption-up .lg-sub-html { + -webkit-transition: bottom 0.25s ease; + -o-transition: bottom 0.25s ease; + transition: bottom 0.25s ease; +} + +.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html { + bottom: 100px; +} + +.lg-outer .lg-toggle-thumb { + background-color: #0D0A0A; + border-radius: 2px 2px 0 0; + color: #999; + cursor: pointer; + font-size: 24px; + height: 39px; + line-height: 27px; + padding: 5px 0; + position: absolute; + right: 20px; + text-align: center; + top: -39px; + width: 50px; + outline: medium none; + border: none; +} + +.lg-outer .lg-toggle-thumb:after { + content: "\e1ff"; +} + +.lg-outer .lg-toggle-thumb:hover { + color: #FFF; +} + +.lg-outer .lg-video-cont { + display: inline-block; + vertical-align: middle; + max-width: 1140px; + max-height: 100%; + width: 100%; + padding: 0 5px; +} + +.lg-outer .lg-video { + width: 100%; + height: 0; + padding-bottom: 56.25%; + overflow: hidden; + position: relative; +} + +.lg-outer .lg-video .lg-object { + display: inline-block; + position: absolute; + top: 0; + left: 0; + width: 100% !important; + height: 100% !important; +} + +.lg-outer .lg-video .lg-video-play { + width: 84px; + height: 59px; + position: absolute; + left: 50%; + top: 50%; + margin-left: -42px; + margin-top: -30px; + z-index: 1080; + cursor: pointer; +} + +.lg-outer .lg-has-vimeo .lg-video-play { + background: url("../img/vimeo-play.png") no-repeat scroll 0 0 transparent; +} + +.lg-outer .lg-has-vimeo:hover .lg-video-play { + background: url("../img/vimeo-play.png") no-repeat scroll 0 -58px transparent; +} + +.lg-outer .lg-has-html5 .lg-video-play { + background: transparent url("../img/video-play.png") no-repeat scroll 0 0; + height: 64px; + margin-left: -32px; + margin-top: -32px; + width: 64px; + opacity: 0.8; +} + +.lg-outer .lg-has-html5:hover .lg-video-play { + opacity: 1; +} + +.lg-outer .lg-has-youtube .lg-video-play { + background: url("../img/youtube-play.png") no-repeat scroll 0 0 transparent; +} + +.lg-outer .lg-has-youtube:hover .lg-video-play { + background: url("../img/youtube-play.png") no-repeat scroll 0 -60px transparent; +} + +.lg-outer .lg-video-object { + width: 100% !important; + height: 100% !important; + position: absolute; + top: 0; + left: 0; +} + +.lg-outer .lg-has-video .lg-video-object { + visibility: hidden; +} + +.lg-outer .lg-has-video.lg-video-playing .lg-object, .lg-outer .lg-has-video.lg-video-playing .lg-video-play { + display: none; +} + +.lg-outer .lg-has-video.lg-video-playing .lg-video-object { + visibility: visible; +} + +.lg-progress-bar { + background-color: #333; + height: 5px; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: 1083; + opacity: 0; + -webkit-transition: opacity 0.08s ease 0s; + -moz-transition: opacity 0.08s ease 0s; + -o-transition: opacity 0.08s ease 0s; + transition: opacity 0.08s ease 0s; +} + +.lg-progress-bar .lg-progress { + background-color: #a90707; + height: 5px; + width: 0; +} + +.lg-progress-bar.lg-start .lg-progress { + width: 100%; +} + +.lg-show-autoplay .lg-progress-bar { + opacity: 1; +} + +.lg-autoplay-button:after { + content: "\e01d"; +} + +.lg-show-autoplay .lg-autoplay-button:after { + content: "\e01a"; +} + +.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap, .lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image { + -webkit-transition-duration: 0s; + transition-duration: 0s; +} + +.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap { + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; +} + +.lg-outer.lg-use-left-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap { + -webkit-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: left 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, top 0.3s cubic-bezier(0, 0, 0.25, 1) 0s; +} + +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} + +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important; + -moz-transition: -moz-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important; + -o-transition: -o-transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important; + transition: transform 0.3s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important; + -webkit-transform-origin: 0 0; + -moz-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} + +#lg-zoom-in:after { + content: "\e311"; +} + +#lg-actual-size { + font-size: 20px; +} + +#lg-actual-size:after { + content: "\e033"; +} + +#lg-zoom-out { + opacity: 0.5; + pointer-events: none; +} + +#lg-zoom-out:after { + content: "\e312"; +} + +.lg-zoomed #lg-zoom-out { + opacity: 1; + pointer-events: auto; +} + +.lg-outer .lg-pager-outer { + bottom: 60px; + left: 0; + position: absolute; + right: 0; + text-align: center; + z-index: 1080; + height: 10px; +} + +.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont { + overflow: visible; +} + +.lg-outer .lg-pager-cont { + cursor: pointer; + display: inline-block; + overflow: hidden; + position: relative; + vertical-align: top; + margin: 0 5px; +} + +.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.lg-outer .lg-pager-cont.lg-pager-active .lg-pager { + box-shadow: 0 0 0 2px white inset; +} + +.lg-outer .lg-pager-thumb-cont { + background-color: #fff; + color: #FFF; + bottom: 100%; + height: 83px; + left: 0; + margin-bottom: 20px; + margin-left: -60px; + opacity: 0; + padding: 5px; + position: absolute; + width: 120px; + border-radius: 3px; + -webkit-transition: opacity 0.15s ease 0s, -webkit-transform 0.15s ease 0s; + -moz-transition: opacity 0.15s ease 0s, -moz-transform 0.15s ease 0s; + -o-transition: opacity 0.15s ease 0s, -o-transform 0.15s ease 0s; + transition: opacity 0.15s ease 0s, transform 0.15s ease 0s; + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); +} + +.lg-outer .lg-pager-thumb-cont img { + width: 100%; + height: 100%; +} + +.lg-outer .lg-pager { + background-color: rgba(255, 255, 255, 0.5); + border-radius: 50%; + box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.7) inset; + display: block; + height: 12px; + -webkit-transition: box-shadow 0.3s ease 0s; + -o-transition: box-shadow 0.3s ease 0s; + transition: box-shadow 0.3s ease 0s; + width: 12px; +} + +.lg-outer .lg-pager:hover, .lg-outer .lg-pager:focus { + box-shadow: 0 0 0 8px white inset; +} + +.lg-outer .lg-caret { + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top: 10px dashed; + bottom: -10px; + display: inline-block; + height: 0; + left: 50%; + margin-left: -5px; + position: absolute; + vertical-align: middle; + width: 0; +} + +.lg-fullscreen:after { + content: "\e20c"; +} + +.lg-fullscreen-on .lg-fullscreen:after { + content: "\e20d"; +} + +.lg-outer #lg-dropdown-overlay { + background-color: rgba(0, 0, 0, 0.25); + bottom: 0; + cursor: default; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1081; + opacity: 0; + visibility: hidden; + -webkit-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; + -o-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; + transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; +} + +.lg-outer.lg-dropdown-active .lg-dropdown, .lg-outer.lg-dropdown-active #lg-dropdown-overlay { + -webkit-transition-delay: 0s; + transition-delay: 0s; + -moz-transform: translate3d(0, 0px, 0); + -o-transform: translate3d(0, 0px, 0); + -ms-transform: translate3d(0, 0px, 0); + -webkit-transform: translate3d(0, 0px, 0); + transform: translate3d(0, 0px, 0); + opacity: 1; + visibility: visible; +} + +.lg-outer.lg-dropdown-active #lg-share { + color: #FFF; +} + +.lg-outer .lg-dropdown { + background-color: #fff; + border-radius: 2px; + font-size: 14px; + list-style-type: none; + margin: 0; + padding: 10px 0; + position: absolute; + right: 0; + text-align: left; + top: 50px; + opacity: 0; + visibility: hidden; + -moz-transform: translate3d(0, 5px, 0); + -o-transform: translate3d(0, 5px, 0); + -ms-transform: translate3d(0, 5px, 0); + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + -webkit-transition: -webkit-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; + -moz-transition: -moz-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; + -o-transition: -o-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; + transition: transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; +} + +.lg-outer .lg-dropdown:after { + content: ""; + display: block; + height: 0; + width: 0; + position: absolute; + border: 8px solid transparent; + border-bottom-color: #FFF; + right: 16px; + top: -16px; +} + +.lg-outer .lg-dropdown > li:last-child { + margin-bottom: 0px; +} + +.lg-outer .lg-dropdown > li:hover a, .lg-outer .lg-dropdown > li:hover .lg-icon { + color: #333; +} + +.lg-outer .lg-dropdown a { + color: #333; + display: block; + white-space: pre; + padding: 4px 12px; + font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif; + font-size: 12px; +} + +.lg-outer .lg-dropdown a:hover { + background-color: rgba(0, 0, 0, 0.07); +} + +.lg-outer .lg-dropdown .lg-dropdown-text { + display: inline-block; + line-height: 1; + margin-top: -3px; + vertical-align: middle; +} + +.lg-outer .lg-dropdown .lg-icon { + color: #333; + display: inline-block; + float: none; + font-size: 20px; + height: auto; + line-height: 1; + margin-right: 8px; + padding: 0; + vertical-align: middle; + width: auto; +} + +.lg-outer #lg-share { + position: relative; +} + +.lg-outer #lg-share:after { + content: "\e80d"; +} + +.lg-outer #lg-share-facebook .lg-icon { + color: #3b5998; +} + +.lg-outer #lg-share-facebook .lg-icon:after { + content: "\e904"; +} + +.lg-outer #lg-share-twitter .lg-icon { + color: #00aced; +} + +.lg-outer #lg-share-twitter .lg-icon:after { + content: "\e907"; +} + +.lg-outer #lg-share-googleplus .lg-icon { + color: #dd4b39; +} + +.lg-outer #lg-share-googleplus .lg-icon:after { + content: "\e905"; +} + +.lg-outer #lg-share-pinterest .lg-icon { + color: #cb2027; +} + +.lg-outer #lg-share-pinterest .lg-icon:after { + content: "\e906"; +} + +.lg-outer .lg-img-rotate { + position: absolute; + padding: 0 5px; + left: 0; + right: 0; + top: 0; + bottom: 0; + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s; + -moz-transition: -moz-transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s; + -o-transition: -o-transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s; + transition: transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s; +} + +.lg-rotate-left:after { + content: "\e900"; +} + +.lg-rotate-right:after { + content: "\e901"; +} + +.lg-icon.lg-flip-hor, .lg-icon.lg-flip-ver { + font-size: 26px; +} + +.lg-flip-hor:after { + content: "\e902"; +} + +.lg-flip-ver:after { + content: "\e903"; +} + +.lg-group { + *zoom: 1; +} + +.lg-group:before, .lg-group:after { + display: table; + content: ""; + line-height: 0; +} + +.lg-group:after { + clear: both; +} + +.lg-outer { + width: 100%; + height: 100%; + position: fixed; + top: 0; + left: 0; + z-index: 1050; + opacity: 0; + outline: none; + -webkit-transition: opacity 0.15s ease 0s; + -o-transition: opacity 0.15s ease 0s; + transition: opacity 0.15s ease 0s; +} + +.lg-outer * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.lg-outer.lg-visible { + opacity: 1; +} + +.lg-outer.lg-css3 .lg-item.lg-prev-slide, .lg-outer.lg-css3 .lg-item.lg-next-slide, .lg-outer.lg-css3 .lg-item.lg-current { + -webkit-transition-duration: inherit !important; + transition-duration: inherit !important; + -webkit-transition-timing-function: inherit !important; + transition-timing-function: inherit !important; +} + +.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-current { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; + opacity: 1; +} + +.lg-outer.lg-grab img.lg-object { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} + +.lg-outer.lg-grabbing img.lg-object { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: -o-grabbing; + cursor: -ms-grabbing; + cursor: grabbing; +} + +.lg-outer .lg { + height: 100%; + width: 100%; + position: relative; + overflow: hidden; + margin-left: auto; + margin-right: auto; + max-width: 100%; + max-height: 100%; +} + +.lg-outer .lg-inner { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; + white-space: nowrap; +} + +.lg-outer .lg-item { + background: url("../img/loading.gif") no-repeat scroll center center transparent; + display: none !important; +} + +.lg-outer.lg-css3 .lg-prev-slide, .lg-outer.lg-css3 .lg-current, .lg-outer.lg-css3 .lg-next-slide { + display: inline-block !important; +} + +.lg-outer.lg-css .lg-current { + display: inline-block !important; +} + +.lg-outer .lg-item, .lg-outer .lg-img-wrap { + display: inline-block; + text-align: center; + position: absolute; + width: 100%; + height: 100%; +} + +.lg-outer .lg-item:before, .lg-outer .lg-img-wrap:before { + content: ""; + display: inline-block; + height: 50%; + width: 1px; + margin-right: -1px; +} + +.lg-outer .lg-img-wrap { + position: absolute; + padding: 0 5px; + left: 0; + right: 0; + top: 0; + bottom: 0; +} + +.lg-outer .lg-item.lg-complete { + background-image: none; +} + +.lg-outer .lg-item.lg-current { + z-index: 1060; +} + +.lg-outer .lg-image { + display: inline-block; + vertical-align: middle; + max-width: 100%; + max-height: 100%; + width: auto !important; + height: auto !important; +} + +.lg-outer.lg-show-after-load .lg-item .lg-object, .lg-outer.lg-show-after-load .lg-item .lg-video-play { + opacity: 0; + -webkit-transition: opacity 0.15s ease 0s; + -o-transition: opacity 0.15s ease 0s; + transition: opacity 0.15s ease 0s; +} + +.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object, .lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play { + opacity: 1; +} + +.lg-outer .lg-empty-html { + display: none; +} + +.lg-outer.lg-hide-download #lg-download { + display: none; +} + +.lg-backdrop { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 1040; + background-color: #000; + opacity: 0; + -webkit-transition: opacity 0.15s ease 0s; + -o-transition: opacity 0.15s ease 0s; + transition: opacity 0.15s ease 0s; +} + +.lg-backdrop.in { + opacity: 1; +} + +.lg-css3.lg-no-trans .lg-prev-slide, .lg-css3.lg-no-trans .lg-next-slide, .lg-css3.lg-no-trans .lg-current { + -webkit-transition: none 0s ease 0s !important; + -moz-transition: none 0s ease 0s !important; + -o-transition: none 0s ease 0s !important; + transition: none 0s ease 0s !important; +} + +.lg-css3.lg-use-css3 .lg-item { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} + +.lg-css3.lg-use-left .lg-item { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} + +.lg-css3.lg-fade .lg-item { + opacity: 0; +} + +.lg-css3.lg-fade .lg-item.lg-current { + opacity: 1; +} + +.lg-css3.lg-fade .lg-item.lg-prev-slide, .lg-css3.lg-fade .lg-item.lg-next-slide, .lg-css3.lg-fade .lg-item.lg-current { + -webkit-transition: opacity 0.1s ease 0s; + -moz-transition: opacity 0.1s ease 0s; + -o-transition: opacity 0.1s ease 0s; + transition: opacity 0.1s ease 0s; +} + +.lg-css3.lg-slide.lg-use-css3 .lg-item { + opacity: 0; +} + +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} + +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); +} + +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; +} + +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-slide.lg-use-left .lg-item { + opacity: 0; + position: absolute; + left: 0; +} + +.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide { + left: -100%; +} + +.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide { + left: 100%; +} + +.lg-css3.lg-slide.lg-use-left .lg-item.lg-current { + left: 0; + opacity: 1; +} + +.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-left .lg-item.lg-current { + -webkit-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} diff --git a/public/js/vendor/lightgallery.js/src/fonts/lg.svg b/public/js/vendor/lightgallery.js/src/fonts/lg.svg new file mode 100644 index 0000000..6fffe1b --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/fonts/lg.svg @@ -0,0 +1,51 @@ + + + + + + +{ + "fontFamily": "lg", + "majorVersion": 1, + "minorVersion": 0, + "fontURL": "https://github.com/sachinchoolur/lightGallery", + "copyright": "sachin", + "license": "MLT", + "licenseURL": "http://opensource.org/licenses/MIT", + "description": "Font generated by IcoMoon.", + "version": "Version 1.0", + "fontId": "lg", + "psName": "lg", + "subFamily": "Regular", + "fullName": "lg" +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/src/fonts/lg.ttf b/public/js/vendor/lightgallery.js/src/fonts/lg.ttf new file mode 100644 index 0000000000000000000000000000000000000000..213afec149c3c88e37964274e65b42918bc9ac1c GIT binary patch literal 4432 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 DE3HyV literal 0 HcmV?d00001 diff --git a/public/js/vendor/lightgallery.js/src/img/video-play.png b/public/js/vendor/lightgallery.js/src/img/video-play.png new file mode 100644 index 0000000000000000000000000000000000000000..4893540369aae6874662e910323239852ecd3fa5 GIT binary patch literal 819 zcmV-31I+x1P)IyNun>562i9|wd+cu?yDZH6V zuYS_@_xH=;;h|JlSDR2k0Wml-4DqS}A(xkz($>~yLJ5O#fLt!;dI5o%!2bTeXA{VqT)^Ywql}G>dHNxEVrl`LytK5mc>XoGZDIj?dwWt< zRprZr(7bK|&XXS<9rg85xKp73rIUB)fR#`vK5HaPl%TGNS!j{0xo^d02q*$vX_dkr)bI6`+6e zB{zuT%}hhwR#Q{sIC({rcsG^!8xm4^MDf4rg@jZ$K8%eFBxHWWr<24jBqVN7hc6`s z34wpnj&Efa5^yv4c5JLe0%{FqCxR_V!2F5|xROY~E@2H7a5XmO0`P%115fj_p<&^@x?uIIL0Q@=s+Bv=0C9kpr8Mq4g1T3Cy0fz%p8x;DGxL1<&GX0xXATpP65!$CfmvE$>`oeg zG7teWh z1Nmx0r)kg*voZD_XIaZ)7IHrCcmdOXd$vxAcqdMHtXt}~4BPyha{;-##9=?2E~Q z?k!f-6oDYm4A$BjGucK^q+1PjbQsS&+1U{v2ugHxcA5}X&U{c;SBD+$?@+*AAiU0{ z%DL7D+S1ypNDs03@)&9Kc&hUu)@BBL`6MSt9)&tYt!RDefku&RMn_J_qRC= z)IqfEuj(Hht|d@F2C$`{aCF`9VBG}DkgOkbtZ^fk(c)c*i$s+*&P<=AQT+9>7eT7P z!1!20z{Utx!_r18a&Az%pQ?=|QX2wBt3A2%!*F~!_1V;0WI|WM(I#>?!^t%`xVl&O z0FFQYbwR>C&Xajs3C?BrWJ&4-<}UWh0lSgU!xrqCnw!hpgy3ic1L@OzLN^kEmYuVbQ!RW_Yj=e=Q(yTV zInEC~P$nk&xuXi)MN{K?$UZkhRvK@`WFX09lBuQN#nlqMl#`iR$Y%SeFIih>T9k+* zJviUez-%*5wjX+4KO0NO_`FBJU{aPiV=^hfV-bPQLmO9-%;ds(3B|zW2T94cWS~_k zZAf-nEt(~Y&hSXdbO=2BS=wi4<;{^A%!=pufLMH$oF;A)3ufVkY|a9z%Z|8xzU)&C`W`TlV;0?w**tsB$aW;;L`*Q$iR zFK|o_65I>ox+_pM7AuH&C}Tg9+n2U85XECkEU3-)>Y7SpXgq|>OuoKiSUJ~hzYF+6 zsTl%GN2z+6CaZMKao+yxsQGS ziL7ud`zdk{^rxA>>8GM@aDSSt7G~%YFOp(JBBWeKw>WYoBL0ebqRx~0*GL~?(nUOr zza~$FvdL04G>Jda9rLdD#+6BS-B!M(mD$z+yE^1)VMs6=TkL081%4C{<{c;-W@Cf- hRzH_mH3~f$_j_ z;0hpx%R?t{5~u_I32Xx1j&(!F1FL{yq8Uelhk?!XK+&_`0q^%1rjhGx>e}80x(s-N zi!r7HJ1!RJTwpf6W&8+u`9gu_0#DOd#zVmOdkXYnAdOfUb9xGN8nH6&1oEN-od^^X zE5i%iaZaH9WZWDb=y>|exDK$Cv#z7*FC!l)RKO4*mv}ISsknw|X`rNe9E_%6AT8a+F!+~ z)2HxwJa(`q&^~HyZM8Ra(xgdz^6@7uS+WG5*T?=(_S4YNUG_9c)WWOR@wTRKNfd%;3R;S+r;oyDN4xYxXQULLF39RoP!&2_9@f z0U0EykwqhUaoLM(-@2Xq?!C{xw{{0hdwYAL2Aisq;g#Lkv13`gb}bv$ZD8j8Gwu6s zb#*nJot=pmtk2odq+ow>t^D&!%3d#H#*7&pJ$jVd+FJV=Rw;%1@GHPi5(#yNm@r`i zPO#i|>uuE4)p7XnVMN63V6_6gBoV*gPb3ntAE|D+IAAnNIY-p@XOG}yjqsc6Id;v8zHKeAd z_Vp!;*-$|!D=TC1;>GrRfb5)XimxrUp9cE)aW{dkEnUkCFTB73lv7etVsGTY%z=y=Jqp0yN;heslO(ch*De-5yO5m~J4p|w<7}io?jxds z5J{l&@0BckW+CO}<@f`By8lrarIfvq2_&q5hJ+5XvXZG&r*gv$H}KZmZ&7qj5hJb| z5%uv-DD4VpApz~%w~xDidKcGUe?4Uz%P1@?q^PI}%d+es6I4hi+J+uDaDbAhOW3es z16cM;X0+B(k3b2nO#_X%$Wj&=85sb~nKOr#t5(w1+Q!u*ug2%|5eY}^Fq1^9)qQhc z0?fr7_FMPj;$mtJ)KFVfOTkqI_Fp&lHYT4P8aRQA0)c@2#iO;h|GMc8(w-!B;;Rk) z1@I^0!C0z*dg8^XSHN-N#W<#bqr{8xr2@W)+m;%23g`f;=r7|7;6Dl*AJAXMKA=ls zV;B8p>;zEQcnkQHSQ!Fr1yG!|j#wF+fltp3^d%rfEQ}X>Dj+xll+ag3DX{xO1q2I$ z)%2F}H(lznt;>5QJ{@pigWj!Vbv9nW&FGEO!pnu z;ZcPE6S1fuc82h4V1*WJ6A}8)bl2+@gQ0gI&>I4C=*Y1HX;&Ju%@a_gwDFp$ezD| zyd7^64i2Ebx)wQg3X}(uu=`GnxEUyfTiUR+X5ggBr0qYzvE|D-^ZTW!>H~OkbFeZq zArb~58DwdJOk5O+>b~=)q%dUOJc9S#%kia4=qN44`YPDGD0O5QdAh)Q90n7i$$>}p_ zU-k#OwrnO+cLbfE2We@s1Z%qQ(tz)b8%Ne({z~fW8wuP$ok&XyT{X2xC5v2ewk3fa^YFe{~V^2LrS6v<6tSqcSgOE$w&M4oGG*4~V zz<-}zMDxEs!WYcIe{~@ei9lBv;PTo~A$IkvS9A3F=V`94wqLFUMvOoNBJOqHiIt2i zdS>f3jy(A!O&|XoZy-SGRRw^BxZQmxLMLvKzDL^dP6c0-lyK&~J$QV+?jT2i2oe!M za9KnPgp%PS-?V2BpFdT?sht%lOA#1e07@YV)_tcD8WQ?rv+LP@v*6S?_NItZ3!peEC(PZZz#&|L&D+2?!FVG0oMrUM$=YPL*0TW zsNeJk0D&R-SYEHak&$p$5_I1Qjkra?0z6Ll-N9cz#IaSY2uH#MuFONFq}UrN;Uwz5 z+dFi)tKE0f*-7fP*V0ydfR@ibC6JSgCoK(0*6urTx%$56h!TD;Qx18A;~u zyMN>lPuT7|(|u>uYY{n4ycox{Byjhg>Ao}Sw20Gv2RS4f(|u>U@3dgs1w2Z>neID{ zNObqzaQek`-)Z@J_ub?4i|M}8BGKJGzi9|D_!H-K<_y6@y{_nmypyYH-XyYDP|<$q;LG*Uvt+kF54002ov JPDHLkV1hwmDQo}$ literal 0 HcmV?d00001 diff --git a/public/js/vendor/lightgallery.js/src/js/lg-utils.js b/public/js/vendor/lightgallery.js/src/js/lg-utils.js new file mode 100644 index 0000000..d19d1b9 --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/js/lg-utils.js @@ -0,0 +1,136 @@ + +var utils = { + getAttribute: function(el, label) { + return el[label]; + }, + + setAttribute: function(el, label, value) { + el[label] = value; + }, + wrap: function(el, className) { + if (!el) { + return; + } + + var wrapper = document.createElement('div'); + wrapper.className = className; + el.parentNode.insertBefore(wrapper, el); + el.parentNode.removeChild(el); + wrapper.appendChild(el); + }, + + addClass: function(el, className) { + if (!el) { + return; + } + + if (el.classList) { + el.classList.add(className); + } else { + el.className += ' ' + className; + } + }, + + removeClass: function(el, className) { + if (!el) { + return; + } + + if (el.classList) { + el.classList.remove(className); + } else { + el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); + } + }, + + hasClass: function(el, className) { + if (el.classList) { + return el.classList.contains(className); + } else { + return new RegExp('(^| )' + className + '( |$)', 'gi').test(el.className); + } + }, + + // ex Transform + // ex TransitionTimingFunction + setVendor: function(el, property, value) { + if (!el) { + return; + } + + el.style[property.charAt(0).toLowerCase() + property.slice(1)] = value; + el.style['webkit' + property] = value; + el.style['moz' + property] = value; + el.style['ms' + property] = value; + el.style['o' + property] = value; + }, + + trigger: function(el, event, detail = null) { + if (!el) { + return; + } + + let customEvent = new CustomEvent(event, { + detail: detail + }); + el.dispatchEvent(customEvent); + }, + + Listener: { + uid: 0 + }, + on: function(el, events, fn) { + if (!el) { + return; + } + + events.split(' ').forEach(event => { + var _id = this.getAttribute(el, 'lg-event-uid') || ''; + utils.Listener.uid++; + _id += '&' + utils.Listener.uid; + this.setAttribute(el, 'lg-event-uid', _id); + utils.Listener[event + utils.Listener.uid] = fn; + el.addEventListener(event.split('.')[0], fn, false); + }); + }, + + off: function(el, event) { + if (!el) { + return; + } + + var _id = this.getAttribute(el, 'lg-event-uid'); + if (_id) { + _id = _id.split('&'); + for (var i = 0; i < _id.length; i++) { + if (_id[i]) { + var _event = event + _id[i]; + if (_event.substring(0, 1) === '.') { + for (var key in utils.Listener) { + if (utils.Listener.hasOwnProperty(key)) { + if (key.split('.').indexOf(_event.split('.')[1]) > -1) { + el.removeEventListener(key.split('.')[0], utils.Listener[key]); + this.setAttribute(el, 'lg-event-uid', this.getAttribute(el, 'lg-event-uid').replace('&' + _id[i], '')); + delete utils.Listener[key]; + } + } + } + } else { + el.removeEventListener(_event.split('.')[0], utils.Listener[_event]); + this.setAttribute(el, 'lg-event-uid', this.getAttribute(el, 'lg-event-uid').replace('&' + _id[i], '')); + delete utils.Listener[_event]; + } + } + } + } + }, + + param: function(obj) { + return Object.keys(obj).map(function(k) { + return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]); + }).join('&'); + } +}; + +export +default utils; diff --git a/public/js/vendor/lightgallery.js/src/js/lightgallery.js b/public/js/vendor/lightgallery.js/src/js/lightgallery.js new file mode 100644 index 0000000..182f418 --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/js/lightgallery.js @@ -0,0 +1,1455 @@ +/** Polyfill the CustomEvent() constructor functionality in Internet Explorer 9 and higher */ +(function() { + + if (typeof window.CustomEvent === 'function') { + return false; + } + + function CustomEvent(event, params) { + params = params || { + bubbles: false, + cancelable: false, + detail: undefined + }; + var evt = document.createEvent('CustomEvent'); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + } + + CustomEvent.prototype = window.Event.prototype; + + window.CustomEvent = CustomEvent; +})(); + +import utils from './lg-utils'; +window.utils = utils; +window.lgData = { + uid: 0 +}; + +window.lgModules = {}; +var defaults = { + + mode: 'lg-slide', + + // Ex : 'ease' + cssEasing: 'ease', + + //'for jquery animation' + easing: 'linear', + speed: 600, + height: '100%', + width: '100%', + addClass: '', + startClass: 'lg-start-zoom', + backdropDuration: 150, + + // Set 0, if u don't want to hide the controls + hideBarsDelay: 6000, + + useLeft: false, + + // aria-labelledby attribute fot gallery + ariaLabelledby: '', + + //aria-describedby attribute for gallery + ariaDescribedby: '', + + closable: true, + loop: true, + escKey: true, + keyPress: true, + controls: true, + slideEndAnimatoin: true, + hideControlOnEnd: false, + mousewheel: false, + + getCaptionFromTitleOrAlt: true, + + // .lg-item || '.lg-sub-html' + appendSubHtmlTo: '.lg-sub-html', + + subHtmlSelectorRelative: false, + + /** + * @desc number of preload slides + * will exicute only after the current slide is fully loaded. + * + * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th + * slide will be loaded in the background after the 4th slide is fully loaded.. + * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ... + * + */ + preload: 1, + showAfterLoad: true, + selector: '', + selectWithin: '', + nextHtml: '', + prevHtml: '', + + // 0, 1 + index: false, + + iframeMaxWidth: '100%', + + download: true, + counter: true, + appendCounterTo: '.lg-toolbar', + + swipeThreshold: 50, + enableSwipe: true, + enableDrag: true, + + dynamic: false, + dynamicEl: [], + galleryId: 1, + supportLegacyBrowser: true +}; + +function Plugin(element, options) { + + // Current lightGallery element + this.el = element; + + // lightGallery settings + this.s = Object.assign({}, defaults, options); + + // When using dynamic mode, ensure dynamicEl is an array + if (this.s.dynamic && this.s.dynamicEl !== 'undefined' && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) { + throw ('When using dynamic mode, you must also define dynamicEl as an Array.'); + } + + // lightGallery modules + this.modules = {}; + + // false when lightgallery complete first slide; + this.lGalleryOn = false; + + this.lgBusy = false; + + // Timeout function for hiding controls; + this.hideBartimeout = false; + + // To determine browser supports for touch events; + this.isTouch = ('ontouchstart' in document.documentElement); + + // Disable hideControlOnEnd if sildeEndAnimation is true + if (this.s.slideEndAnimatoin) { + this.s.hideControlOnEnd = false; + } + + this.items = []; + + // Gallery items + if (this.s.dynamic) { + this.items = this.s.dynamicEl; + } else { + if (this.s.selector === 'this') { + this.items.push(this.el); + } else if (this.s.selector !== '') { + if (this.s.selectWithin) { + this.items = document.querySelector(this.s.selectWithin).querySelectorAll(this.s.selector); + } else { + this.items = this.el.querySelectorAll(this.s.selector); + } + } else { + this.items = this.el.children; + } + } + + // .lg-item + + this.___slide = ''; + + // .lg-outer + this.outer = ''; + + this.init(); + + return this; +} + +Plugin.prototype.init = function() { + + var _this = this; + + // s.preload should not be more than $item.length + if (_this.s.preload > _this.items.length) { + _this.s.preload = _this.items.length; + } + + // if dynamic option is enabled execute immediately + var _hash = window.location.hash; + if (_hash.indexOf('lg=' + this.s.galleryId) > 0) { + + _this.index = parseInt(_hash.split('&slide=')[1], 10); + + utils.addClass(document.body, 'lg-from-hash'); + if (!utils.hasClass(document.body, 'lg-on')) { + utils.addClass(document.body, 'lg-on'); + setTimeout(function() { + _this.build(_this.index); + }); + } + } + + if (_this.s.dynamic) { + + utils.trigger(this.el, 'onBeforeOpen'); + + _this.index = _this.s.index || 0; + + // prevent accidental double execution + if (!utils.hasClass(document.body, 'lg-on')) { + utils.addClass(document.body, 'lg-on'); + setTimeout(function() { + _this.build(_this.index); + }); + } + } else { + + for (var i = 0; i < _this.items.length; i++) { + + /*jshint loopfunc: true */ + (function(index) { + + // Using different namespace for click because click event should not unbind if selector is same object('this') + utils.on(_this.items[index], 'click.lgcustom', (e) => { + + e.preventDefault(); + + utils.trigger(_this.el, 'onBeforeOpen'); + + _this.index = _this.s.index || index; + + if (!utils.hasClass(document.body, 'lg-on')) { + _this.build(_this.index); + utils.addClass(document.body, 'lg-on'); + } + }); + + })(i); + + } + + } + +}; + +Plugin.prototype.build = function(index) { + + var _this = this; + + _this.structure(); + + for (var key in window.lgModules) { + _this.modules[key] = new window.lgModules[key](_this.el); + } + + // initiate slide function + _this.slide(index, false, false); + + if (_this.s.keyPress) { + _this.keyPress(); + } + + if (_this.items.length > 1) { + + _this.arrow(); + + setTimeout(function() { + _this.enableDrag(); + _this.enableSwipe(); + }, 50); + + if (_this.s.mousewheel) { + _this.mousewheel(); + } + } + + _this.counter(); + + _this.closeGallery(); + + utils.trigger(_this.el, 'onAfterOpen'); + + // Hide controllers if mouse doesn't move for some period + if(_this.s.hideBarsDelay > 0) { + + // Hide controls if user doesn't use mouse or touch after opening gallery + const initialHideBarTimeout = setTimeout(function() { + utils.addClass(_this.outer, 'lg-hide-items'); + }, _this.s.hideBarsDelay); + utils.on(_this.outer, 'mousemove.lg click.lg touchstart.lg', function() { + + // Cancel initalHideBarTimout if user uses mouse or touch events + // Before it fires + clearTimeout(initialHideBarTimeout); + + utils.removeClass(_this.outer, 'lg-hide-items'); + + clearTimeout(_this.hideBartimeout); + + // Timeout will be cleared on each slide movement also + _this.hideBartimeout = setTimeout(function() { + utils.addClass(_this.outer, 'lg-hide-items'); + }, _this.s.hideBarsDelay); + + }); + } + +}; + +Plugin.prototype.structure = function() { + var list = ''; + var controls = ''; + var i = 0; + var subHtmlCont = ''; + var template; + var _this = this; + + document.body.insertAdjacentHTML('beforeend', '
    '); + utils.setVendor(document.querySelector('.lg-backdrop'), 'TransitionDuration', this.s.backdropDuration + 'ms'); + + // Create gallery items + for (i = 0; i < this.items.length; i++) { + list += '
    '; + } + + // Create controlls + if (this.s.controls && this.items.length > 1) { + controls = '
    ' + + '' + + '' + + '
    '; + } + + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + subHtmlCont = '
    '; + } + + var ariaLabelledby = this.s.ariaLabelledby ? + 'aria-labelledby="' + this.s.ariaLabelledby + '"' : ''; + var ariaDescribedby = this.s.ariaDescribedby ? + 'aria-describedby="' + this.s.ariaDescribedby + '"' : ''; + + template = ''; + + document.body.insertAdjacentHTML('beforeend', template); + this.outer = document.querySelector('.lg-outer'); + this.outer.focus(); + this.___slide = this.outer.querySelectorAll('.lg-item'); + + if (this.s.useLeft) { + utils.addClass(this.outer, 'lg-use-left'); + + // Set mode lg-slide if use left is true; + this.s.mode = 'lg-slide'; + } else { + utils.addClass(this.outer, 'lg-use-css3'); + } + + // For fixed height gallery + _this.setTop(); + utils.on(window, 'resize.lg orientationchange.lg', function() { + setTimeout(function() { + _this.setTop(); + }, 100); + }); + + // add class lg-current to remove initial transition + utils.addClass(this.___slide[this.index], 'lg-current'); + + // add Class for css support and transition mode + if (this.doCss()) { + utils.addClass(this.outer, 'lg-css3'); + } else { + utils.addClass(this.outer, 'lg-css'); + + // Set speed 0 because no animation will happen if browser doesn't support css3 + this.s.speed = 0; + } + + utils.addClass(this.outer, this.s.mode); + + if (this.s.enableDrag && this.items.length > 1) { + utils.addClass(this.outer, 'lg-grab'); + } + + if (this.s.showAfterLoad) { + utils.addClass(this.outer, 'lg-show-after-load'); + } + + if (this.doCss()) { + let inner = this.outer.querySelector('.lg-inner'); + utils.setVendor(inner, 'TransitionTimingFunction', this.s.cssEasing); + utils.setVendor(inner, 'TransitionDuration', this.s.speed + 'ms'); + } + + setTimeout(function() { + utils.addClass(document.querySelector('.lg-backdrop'), 'in'); + }); + + + setTimeout(function() { + utils.addClass(_this.outer, 'lg-visible'); + }, this.s.backdropDuration); + + if (this.s.download) { + this.outer.querySelector('.lg-toolbar').insertAdjacentHTML('beforeend', '
    '); + } + + // Store the current scroll top value to scroll back after closing the gallery.. + this.prevScrollTop = (document.documentElement.scrollTop || document.body.scrollTop) + +}; + +// For fixed height gallery +Plugin.prototype.setTop = function() { + if (this.s.height !== '100%') { + let wH = window.innerHeight; + let top = (wH - parseInt(this.s.height, 10)) / 2; + let lGallery = this.outer.querySelector('.lg'); + if (wH >= parseInt(this.s.height, 10)) { + lGallery.style.top = top + 'px'; + } else { + lGallery.style.top = '0px'; + } + } +}; + +// Find css3 support +Plugin.prototype.doCss = function() { + // check for css animation support + var support = function() { + var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition']; + var root = document.documentElement; + var i = 0; + for (i = 0; i < transition.length; i++) { + if (transition[i] in root.style) { + return true; + } + } + }; + + if (support()) { + return true; + } + + return false; +}; + +/** + * @desc Check the given src is video + * @param {String} src + * @return {Object} video type + * Ex:{ youtube : ["//www.youtube.com/watch?v=c0asJgSyxcY", "c0asJgSyxcY"] } + */ +Plugin.prototype.isVideo = function(src, index) { + + var html; + if (this.s.dynamic) { + html = this.s.dynamicEl[index].html; + } else { + html = this.items[index].getAttribute('data-html'); + } + + if (!src && html) { + return { + html5: true + }; + } + + var youtube = src.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i); + var vimeo = src.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i); + var dailymotion = src.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i); + var vk = src.match(/\/\/(?:www\.)?(?:vk\.com|vkontakte\.ru)\/(?:video_ext\.php\?)(.*)/i); + + if (youtube) { + return { + youtube: youtube + }; + } else if (vimeo) { + return { + vimeo: vimeo + }; + } else if (dailymotion) { + return { + dailymotion: dailymotion + }; + } else if (vk) { + return { + vk: vk + }; + } +}; + +/** + * @desc Create image counter + * Ex: 1/10 + */ +Plugin.prototype.counter = function() { + if (this.s.counter) { + this.outer.querySelector(this.s.appendCounterTo).insertAdjacentHTML('beforeend', '
    ' + (parseInt(this.index, 10) + 1) + ' / ' + this.items.length + '
    '); + } +}; + +/** + * @desc add sub-html into the slide + * @param {Number} index - index of the slide + */ +Plugin.prototype.addHtml = function(index) { + var subHtml = null; + var currentEle; + if (this.s.dynamic) { + subHtml = this.s.dynamicEl[index].subHtml; + } else { + currentEle = this.items[index]; + subHtml = currentEle.getAttribute('data-sub-html'); + if (this.s.getCaptionFromTitleOrAlt && !subHtml) { + subHtml = currentEle.getAttribute('title'); + if (subHtml && currentEle.querySelector('img')) { + subHtml = currentEle.querySelector('img').getAttribute('alt'); + } + } + } + + if (typeof subHtml !== 'undefined' && subHtml !== null) { + + // get first letter of subhtml + // if first letter starts with . or # get the html form the jQuery object + var fL = subHtml.substring(0, 1); + if (fL === '.' || fL === '#') { + if (this.s.subHtmlSelectorRelative && !this.s.dynamic) { + subHtml = currentEle.querySelector(subHtml).innerHTML; + } else { + subHtml = document.querySelector(subHtml).innerHTML; + } + } + } else { + subHtml = ''; + } + + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + this.outer.querySelector(this.s.appendSubHtmlTo).innerHTML = subHtml; + } else { + this.___slide[index].insertAdjacentHTML('beforeend', subHtml); + } + + // Add lg-empty-html class if title doesn't exist + if (typeof subHtml !== 'undefined' && subHtml !== null) { + if (subHtml === '') { + utils.addClass(this.outer.querySelector(this.s.appendSubHtmlTo), 'lg-empty-html'); + } else { + utils.removeClass(this.outer.querySelector(this.s.appendSubHtmlTo), 'lg-empty-html'); + } + } + + utils.trigger(this.el, 'onAfterAppendSubHtml', { + index: index + }); +}; + +/** + * @desc Preload slides + * @param {Number} index - index of the slide + */ +Plugin.prototype.preload = function(index) { + var i = 1; + var j = 1; + for (i = 1; i <= this.s.preload; i++) { + if (i >= this.items.length - index) { + break; + } + + this.loadContent(index + i, false, 0); + } + + for (j = 1; j <= this.s.preload; j++) { + if (index - j < 0) { + break; + } + + this.loadContent(index - j, false, 0); + } +}; + +/** + * @desc Load slide content into slide. + * @param {Number} index - index of the slide. + * @param {Boolean} rec - if true call loadcontent() function again. + * @param {Boolean} delay - delay for adding complete class. it is 0 except first time. + */ +Plugin.prototype.loadContent = function(index, rec, delay) { + + var _this = this; + var _hasPoster = false; + var _img; + var _src; + var _poster; + var _srcset; + var _sizes; + var _html; + var _alt; + var getResponsiveSrc = function(srcItms) { + var rsWidth = []; + var rsSrc = []; + for (var i = 0; i < srcItms.length; i++) { + var __src = srcItms[i].split(' '); + + // Manage empty space + if (__src[0] === '') { + __src.splice(0, 1); + } + + rsSrc.push(__src[0]); + rsWidth.push(__src[1]); + } + + var wWidth = window.innerWidth; + for (var j = 0; j < rsWidth.length; j++) { + if (parseInt(rsWidth[j], 10) > wWidth) { + _src = rsSrc[j]; + break; + } + } + }; + + if (_this.s.dynamic) { + + if (_this.s.dynamicEl[index].poster) { + _hasPoster = true; + _poster = _this.s.dynamicEl[index].poster; + } + + _html = _this.s.dynamicEl[index].html; + _src = _this.s.dynamicEl[index].src; + _alt = _this.s.dynamicEl[index].alt; + + if (_this.s.dynamicEl[index].responsive) { + var srcDyItms = _this.s.dynamicEl[index].responsive.split(','); + getResponsiveSrc(srcDyItms); + } + + _srcset = _this.s.dynamicEl[index].srcset; + _sizes = _this.s.dynamicEl[index].sizes; + + } else { + + if (_this.items[index].getAttribute('data-poster')) { + _hasPoster = true; + _poster = _this.items[index].getAttribute('data-poster'); + } + + _html = _this.items[index].getAttribute('data-html'); + _src = _this.items[index].getAttribute('href') || _this.items[index].getAttribute('data-src'); + _alt = _this.items[index].getAttribute('title'); + + if (_this.items[index].querySelector('img')) { + _alt = _alt || _this.items[index].querySelector('img').getAttribute('alt'); + } + + if (_this.items[index].getAttribute('data-responsive')) { + var srcItms = _this.items[index].getAttribute('data-responsive').split(','); + getResponsiveSrc(srcItms); + } + + _srcset = _this.items[index].getAttribute('data-srcset'); + _sizes = _this.items[index].getAttribute('data-sizes'); + + } + + //if (_src || _srcset || _sizes || _poster) { + + var iframe = false; + if (_this.s.dynamic) { + if (_this.s.dynamicEl[index].iframe) { + iframe = true; + } + } else { + if (_this.items[index].getAttribute('data-iframe') === 'true') { + iframe = true; + } + } + + var _isVideo = _this.isVideo(_src, index); + if (!utils.hasClass(_this.___slide[index], 'lg-loaded')) { + if (iframe) { + _this.___slide[index].insertAdjacentHTML('afterbegin', '
    '); + } else if (_hasPoster) { + var videoClass = ''; + if (_isVideo && _isVideo.youtube) { + videoClass = 'lg-has-youtube'; + } else if (_isVideo && _isVideo.vimeo) { + videoClass = 'lg-has-vimeo'; + } else { + videoClass = 'lg-has-html5'; + } + + _this.___slide[index].insertAdjacentHTML('beforeend', '
    '); + + } else if (_isVideo) { + _this.___slide[index].insertAdjacentHTML('beforeend', '
    '); + utils.trigger(_this.el, 'hasVideo', { + index: index, + src: _src, + html: _html + }); + } else { + _alt = _alt ? 'alt="' + _alt + '"' : ''; + _this.___slide[index].insertAdjacentHTML('beforeend', '
    '); + } + + utils.trigger(_this.el, 'onAferAppendSlide', { + index: index + }); + + _img = _this.___slide[index].querySelector('.lg-object'); + if (_sizes) { + _img.setAttribute('sizes', _sizes); + } + + if (_srcset) { + _img.setAttribute('srcset', _srcset); + + if (this.s.supportLegacyBrowser) { + try { + picturefill({ + elements: [_img[0]] + }); + } catch (e) { + console.warn('If you want srcset to be supported for older browsers, ' + + 'please include picturefil javascript library in your document.'); + } + } + } + + if (this.s.appendSubHtmlTo !== '.lg-sub-html') { + _this.addHtml(index); + } + + utils.addClass(_this.___slide[index], 'lg-loaded'); + } + + utils.on(_this.___slide[index].querySelector('.lg-object'), 'load.lg error.lg', function() { + + // 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 && !utils.hasClass(document.body, 'lg-from-hash')) { + _speed = delay; + } + + setTimeout(function() { + utils.addClass(_this.___slide[index], 'lg-complete'); + + utils.trigger(_this.el, 'onSlideItemLoad', { + index: index, + delay: delay || 0 + }); + }, _speed); + + }); + + // @todo check load state for html5 videos + if (_isVideo && _isVideo.html5 && !_hasPoster) { + utils.addClass(_this.___slide[index], 'lg-complete'); + } + + if (rec === true) { + if (!utils.hasClass(_this.___slide[index], 'lg-complete')) { + utils.on(_this.___slide[index].querySelector('.lg-object'), 'load.lg error.lg', function() { + _this.preload(index); + }); + } else { + _this.preload(index); + } + } + + //} +}; + +/** +* @desc slide function for lightgallery + ** Slide() gets call on start + ** ** Set lg.on true once slide() function gets called. + ** Call loadContent() on slide() function inside setTimeout + ** ** On first slide we do not want any animation like slide of fade + ** ** So on first slide( if lg.on if false that is first slide) loadContent() should start loading immediately + ** ** Else loadContent() should wait for the transition to complete. + ** ** So set timeout s.speed + 50 +<=> ** loadContent() will load slide content in to the particular slide + ** ** It has recursion (rec) parameter. if rec === true loadContent() will call preload() function. + ** ** preload will execute only when the previous slide is fully loaded (images iframe) + ** ** avoid simultaneous image load +<=> ** Preload() will check for s.preload value and call loadContent() again accoring to preload value + ** loadContent() <====> Preload(); + +* @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 +*/ +Plugin.prototype.slide = function(index, fromTouch, fromThumb) { + + var _prevIndex = 0; + for (var i = 0; i < this.___slide.length; i++) { + if (utils.hasClass(this.___slide[i], 'lg-current')) { + _prevIndex = i; + break; + } + } + + var _this = this; + + // Prevent if multiple call + // Required for hsh plugin + if (_this.lGalleryOn && (_prevIndex === index)) { + return; + } + + var _length = this.___slide.length; + var _time = _this.lGalleryOn ? this.s.speed : 0; + var _next = false; + var _prev = false; + + if (!_this.lgBusy) { + + if (this.s.download) { + var _src; + if (_this.s.dynamic) { + _src = _this.s.dynamicEl[index].downloadUrl !== false && (_this.s.dynamicEl[index].downloadUrl || _this.s.dynamicEl[index].src); + } else { + _src = _this.items[index].getAttribute('data-download-url') !== 'false' && (_this.items[index].getAttribute('data-download-url') || _this.items[index].getAttribute('href') || _this.items[index].getAttribute('data-src')); + + } + + if (_src) { + document.getElementById('lg-download').setAttribute('href', _src); + utils.removeClass(_this.outer, 'lg-hide-download'); + } else { + utils.addClass(_this.outer, 'lg-hide-download'); + } + } + + utils.trigger(_this.el, 'onBeforeSlide', { + prevIndex: _prevIndex, + index: index, + fromTouch: fromTouch, + fromThumb: fromThumb + }); + + _this.lgBusy = true; + + clearTimeout(_this.hideBartimeout); + + // Add title if this.s.appendSubHtmlTo === lg-sub-html + if (this.s.appendSubHtmlTo === '.lg-sub-html') { + + // wait for slide animation to complete + setTimeout(function() { + _this.addHtml(index); + }, _time); + } + + this.arrowDisable(index); + + if (!fromTouch) { + + // remove all transitions + utils.addClass(_this.outer, 'lg-no-trans'); + + for (var j = 0; j < this.___slide.length; j++) { + utils.removeClass(this.___slide[j], 'lg-prev-slide'); + utils.removeClass(this.___slide[j], 'lg-next-slide'); + } + + if (index < _prevIndex) { + _prev = true; + if ((index === 0) && (_prevIndex === _length - 1) && !fromThumb) { + _prev = false; + _next = true; + } + } else if (index > _prevIndex) { + _next = true; + if ((index === _length - 1) && (_prevIndex === 0) && !fromThumb) { + _prev = true; + _next = false; + } + } + + if (_prev) { + + //prevslide + utils.addClass(this.___slide[index], 'lg-prev-slide'); + utils.addClass(this.___slide[_prevIndex], 'lg-next-slide'); + } else if (_next) { + + // next slide + utils.addClass(this.___slide[index], 'lg-next-slide'); + utils.addClass(this.___slide[_prevIndex], 'lg-prev-slide'); + } + + // give 50 ms for browser to add/remove class + setTimeout(function() { + utils.removeClass(_this.outer.querySelector('.lg-current'), 'lg-current'); + + //_this.$slide.eq(_prevIndex).removeClass('lg-current'); + utils.addClass(_this.___slide[index], 'lg-current'); + + // reset all transitions + utils.removeClass(_this.outer, 'lg-no-trans'); + }, 50); + } else { + + var touchPrev = index - 1; + var touchNext = index + 1; + + if ((index === 0) && (_prevIndex === _length - 1)) { + + // next slide + touchNext = 0; + touchPrev = _length - 1; + } else if ((index === _length - 1) && (_prevIndex === 0)) { + + // prev slide + touchNext = 0; + touchPrev = _length - 1; + } + + utils.removeClass(_this.outer.querySelector('.lg-prev-slide'), 'lg-prev-slide'); + utils.removeClass(_this.outer.querySelector('.lg-current'), 'lg-current'); + utils.removeClass(_this.outer.querySelector('.lg-next-slide'), 'lg-next-slide'); + utils.addClass(_this.___slide[touchPrev], 'lg-prev-slide'); + utils.addClass(_this.___slide[touchNext], 'lg-next-slide'); + utils.addClass(_this.___slide[index], 'lg-current'); + } + + if (_this.lGalleryOn) { + setTimeout(function() { + _this.loadContent(index, true, 0); + }, this.s.speed + 50); + + setTimeout(function() { + _this.lgBusy = false; + utils.trigger(_this.el, 'onAfterSlide', { + prevIndex: _prevIndex, + index: index, + fromTouch: fromTouch, + fromThumb: fromThumb + }); + }, this.s.speed); + + } else { + _this.loadContent(index, true, _this.s.backdropDuration); + + _this.lgBusy = false; + utils.trigger(_this.el, 'onAfterSlide', { + prevIndex: _prevIndex, + index: index, + fromTouch: fromTouch, + fromThumb: fromThumb + }); + } + + _this.lGalleryOn = true; + + if (this.s.counter) { + if (document.getElementById('lg-counter-current')) { + document.getElementById('lg-counter-current').innerHTML = index + 1; + } + } + + } + +}; + +/** + * @desc Go to next slide + * @param {Boolean} fromTouch - true if slide function called via touch event + */ +Plugin.prototype.goToNextSlide = function(fromTouch) { + var _this = this; + if (!_this.lgBusy) { + if ((_this.index + 1) < _this.___slide.length) { + _this.index++; + utils.trigger(_this.el, 'onBeforeNextSlide', { + index: _this.index + }); + _this.slide(_this.index, fromTouch, false); + } else { + if (_this.s.loop) { + _this.index = 0; + utils.trigger(_this.el, 'onBeforeNextSlide', { + index: _this.index + }); + _this.slide(_this.index, fromTouch, false); + } else if (_this.s.slideEndAnimatoin) { + utils.addClass(_this.outer, 'lg-right-end'); + setTimeout(function() { + utils.removeClass(_this.outer, 'lg-right-end'); + }, 400); + } + } + } +}; + +/** + * @desc Go to previous slide + * @param {Boolean} fromTouch - true if slide function called via touch event + */ +Plugin.prototype.goToPrevSlide = function(fromTouch) { + var _this = this; + if (!_this.lgBusy) { + if (_this.index > 0) { + _this.index--; + utils.trigger(_this.el, 'onBeforePrevSlide', { + index: _this.index, + fromTouch: fromTouch + }); + _this.slide(_this.index, fromTouch, false); + } else { + if (_this.s.loop) { + _this.index = _this.items.length - 1; + utils.trigger(_this.el, 'onBeforePrevSlide', { + index: _this.index, + fromTouch: fromTouch + }); + _this.slide(_this.index, fromTouch, false); + } else if (_this.s.slideEndAnimatoin) { + utils.addClass(_this.outer, 'lg-left-end'); + setTimeout(function() { + utils.removeClass(_this.outer, 'lg-left-end'); + }, 400); + } + } + } +}; + +Plugin.prototype.keyPress = function() { + var _this = this; + if (this.items.length > 1) { + utils.on(window, 'keyup.lg', function(e) { + if (_this.items.length > 1) { + if (e.keyCode === 37) { + e.preventDefault(); + _this.goToPrevSlide(); + } + + if (e.keyCode === 39) { + e.preventDefault(); + _this.goToNextSlide(); + } + } + }); + } + + utils.on(window, 'keydown.lg', function(e) { + if (_this.s.escKey === true && e.keyCode === 27) { + e.preventDefault(); + if (!utils.hasClass(_this.outer, 'lg-thumb-open')) { + _this.destroy(); + } else { + utils.removeClass(_this.outer, 'lg-thumb-open'); + } + } + }); +}; + +Plugin.prototype.arrow = function() { + var _this = this; + utils.on(this.outer.querySelector('.lg-prev'), 'click.lg', function() { + _this.goToPrevSlide(); + }); + + utils.on(this.outer.querySelector('.lg-next'), 'click.lg', function() { + _this.goToNextSlide(); + }); +}; + +Plugin.prototype.arrowDisable = function(index) { + + // Disable arrows if s.hideControlOnEnd is true + if (!this.s.loop && this.s.hideControlOnEnd) { + let next = this.outer.querySelector('.lg-next'); + let prev = this.outer.querySelector('.lg-prev'); + if ((index + 1) < this.___slide.length) { + next.removeAttribute('disabled'); + utils.removeClass(next, 'disabled'); + } else { + next.setAttribute('disabled', 'disabled'); + utils.addClass(next, 'disabled'); + } + + if (index > 0) { + prev.removeAttribute('disabled'); + utils.removeClass(prev, 'disabled'); + } else { + prev.setAttribute('disabled', 'disabled'); + utils.addClass(prev, 'disabled'); + } + } +}; + +Plugin.prototype.setTranslate = function(el, xValue, yValue) { + // jQuery supports Automatic CSS prefixing since jQuery 1.8.0 + if (this.s.useLeft) { + el.style.left = xValue; + } else { + utils.setVendor(el, 'Transform', 'translate3d(' + (xValue) + 'px, ' + yValue + 'px, 0px)'); + } +}; + +Plugin.prototype.touchMove = function(startCoords, endCoords) { + + var distance = endCoords - startCoords; + + if (Math.abs(distance) > 15) { + // reset opacity and transition duration + utils.addClass(this.outer, 'lg-dragging'); + + // move current slide + this.setTranslate(this.___slide[this.index], distance, 0); + + // move next and prev slide with current slide + this.setTranslate(document.querySelector('.lg-prev-slide'), -this.___slide[this.index].clientWidth + distance, 0); + this.setTranslate(document.querySelector('.lg-next-slide'), this.___slide[this.index].clientWidth + distance, 0); + } +}; + +Plugin.prototype.touchEnd = function(distance) { + var _this = this; + + // keep slide animation for any mode while dragg/swipe + if (_this.s.mode !== 'lg-slide') { + utils.addClass(_this.outer, 'lg-slide'); + } + + for (var i = 0; i < this.___slide.length; i++) { + if (!utils.hasClass(this.___slide[i], 'lg-current') && !utils.hasClass(this.___slide[i], 'lg-prev-slide') && !utils.hasClass(this.___slide[i], 'lg-next-slide')) { + this.___slide[i].style.opacity = '0'; + } + } + + // set transition duration + setTimeout(function() { + utils.removeClass(_this.outer, 'lg-dragging'); + if ((distance < 0) && (Math.abs(distance) > _this.s.swipeThreshold)) { + _this.goToNextSlide(true); + } else if ((distance > 0) && (Math.abs(distance) > _this.s.swipeThreshold)) { + _this.goToPrevSlide(true); + } else if (Math.abs(distance) < 5) { + + // Trigger click if distance is less than 5 pix + utils.trigger(_this.el, 'onSlideClick'); + } + + for (var i = 0; i < _this.___slide.length; i++) { + _this.___slide[i].removeAttribute('style'); + } + }); + + // remove slide class once drag/swipe is completed if mode is not slide + setTimeout(function() { + if (!utils.hasClass(_this.outer, 'lg-dragging') && _this.s.mode !== 'lg-slide') { + utils.removeClass(_this.outer, 'lg-slide'); + } + }, _this.s.speed + 100); + +}; + +Plugin.prototype.enableSwipe = function() { + var _this = this; + var startCoords = 0; + var endCoords = 0; + var isMoved = false; + + if (_this.s.enableSwipe && _this.isTouch && _this.doCss()) { + + for (var i = 0; i < _this.___slide.length; i++) { + /*jshint loopfunc: true */ + utils.on(_this.___slide[i], 'touchstart.lg', function(e) { + if (!utils.hasClass(_this.outer, 'lg-zoomed') && !_this.lgBusy) { + e.preventDefault(); + _this.manageSwipeClass(); + startCoords = e.targetTouches[0].pageX; + } + }); + } + + for (var j = 0; j < _this.___slide.length; j++) { + /*jshint loopfunc: true */ + utils.on(_this.___slide[j], 'touchmove.lg', function(e) { + if (!utils.hasClass(_this.outer, 'lg-zoomed')) { + e.preventDefault(); + endCoords = e.targetTouches[0].pageX; + _this.touchMove(startCoords, endCoords); + isMoved = true; + } + }); + } + + for (var k = 0; k < _this.___slide.length; k++) { + /*jshint loopfunc: true */ + utils.on(_this.___slide[k], 'touchend.lg', function() { + if (!utils.hasClass(_this.outer, 'lg-zoomed')) { + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords - startCoords); + } else { + utils.trigger(_this.el, 'onSlideClick'); + } + } + }); + } + } + +}; + +Plugin.prototype.enableDrag = function() { + var _this = this; + var startCoords = 0; + var endCoords = 0; + var isDraging = false; + var isMoved = false; + if (_this.s.enableDrag && !_this.isTouch && _this.doCss()) { + for (var i = 0; i < _this.___slide.length; i++) { + /*jshint loopfunc: true */ + utils.on(_this.___slide[i], 'mousedown.lg', function(e) { + // execute only on .lg-object + if (!utils.hasClass(_this.outer, 'lg-zoomed')) { + if (utils.hasClass(e.target, 'lg-object') || utils.hasClass(e.target, 'lg-video-play')) { + e.preventDefault(); + + if (!_this.lgBusy) { + _this.manageSwipeClass(); + startCoords = e.pageX; + isDraging = true; + + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + _this.outer.scrollLeft += 1; + _this.outer.scrollLeft -= 1; + + // * + + utils.removeClass(_this.outer, 'lg-grab'); + utils.addClass(_this.outer, 'lg-grabbing'); + + utils.trigger(_this.el, 'onDragstart'); + } + + } + } + }); + } + + utils.on(window, 'mousemove.lg', function(e) { + if (isDraging) { + isMoved = true; + endCoords = e.pageX; + _this.touchMove(startCoords, endCoords); + utils.trigger(_this.el, 'onDragmove'); + } + }); + + utils.on(window, 'mouseup.lg', function(e) { + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords - startCoords); + utils.trigger(_this.el, 'onDragend'); + } else if (utils.hasClass(e.target, 'lg-object') || utils.hasClass(e.target, 'lg-video-play')) { + utils.trigger(_this.el, 'onSlideClick'); + } + + // Prevent execution on click + if (isDraging) { + isDraging = false; + utils.removeClass(_this.outer, 'lg-grabbing'); + utils.addClass(_this.outer, 'lg-grab'); + } + }); + + } +}; + +Plugin.prototype.manageSwipeClass = function() { + var touchNext = this.index + 1; + var touchPrev = this.index - 1; + var length = this.___slide.length; + if (this.s.loop) { + if (this.index === 0) { + touchPrev = length - 1; + } else if (this.index === length - 1) { + touchNext = 0; + } + } + + for (var i = 0; i < this.___slide.length; i++) { + utils.removeClass(this.___slide[i], 'lg-next-slide'); + utils.removeClass(this.___slide[i], 'lg-prev-slide'); + } + + if (touchPrev > -1) { + utils.addClass(this.___slide[touchPrev], 'lg-prev-slide'); + } + + utils.addClass(this.___slide[touchNext], 'lg-next-slide'); +}; + +Plugin.prototype.mousewheel = function() { + var _this = this; + utils.on(_this.outer, 'mousewheel.lg', function(e) { + + if (!e.deltaY) { + return; + } + + if (e.deltaY > 0) { + _this.goToPrevSlide(); + } else { + _this.goToNextSlide(); + } + + e.preventDefault(); + }); + +}; + +Plugin.prototype.closeGallery = function() { + + var _this = this; + var mousedown = false; + utils.on(this.outer.querySelector('.lg-close'), 'click.lg', function() { + _this.destroy(); + }); + + if (_this.s.closable) { + + // 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 + utils.on(_this.outer, 'mousedown.lg', function(e) { + + if (utils.hasClass(e.target, 'lg-outer') || utils.hasClass(e.target, 'lg-item') || utils.hasClass(e.target, 'lg-img-wrap')) { + mousedown = true; + } else { + mousedown = false; + } + + }); + + utils.on(_this.outer, 'mouseup.lg', function(e) { + + if (utils.hasClass(e.target, 'lg-outer') || utils.hasClass(e.target, 'lg-item') || utils.hasClass(e.target, 'lg-img-wrap') && mousedown) { + if (!utils.hasClass(_this.outer, 'lg-dragging')) { + _this.destroy(); + } + } + + }); + + } + +}; + +Plugin.prototype.destroy = function(d) { + + var _this = this; + + if (!d) { + utils.trigger(_this.el, 'onBeforeClose'); + } + + document.body.scrollTop = _this.prevScrollTop; + document.documentElement.scrollTop = _this.prevScrollTop; + + /** + * if d is false or undefined destroy will only close the gallery + * plugins instance remains with the element + * + * if d is true destroy will completely remove the plugin + */ + + if (d) { + if (!_this.s.dynamic) { + // only when not using dynamic mode is $items a jquery collection + + for (var i = 0; i < this.items.length; i++) { + utils.off(this.items[i], '.lg'); + utils.off(this.items[i], '.lgcustom'); + } + } + + let lguid = _this.el.getAttribute('lg-uid'); + delete window.lgData[lguid]; + _this.el.removeAttribute('lg-uid'); + } + + // Unbind all events added by lightGallery + utils.off(this.el, '.lgtm'); + + // Distroy all lightGallery modules + for (var key in window.lgModules) { + if (_this.modules[key]) { + _this.modules[key].destroy(d); + } + } + + this.lGalleryOn = false; + + clearTimeout(_this.hideBartimeout); + this.hideBartimeout = false; + utils.off(window, '.lg'); + utils.removeClass(document.body, 'lg-on'); + utils.removeClass(document.body, 'lg-from-hash'); + + if (_this.outer) { + utils.removeClass(_this.outer, 'lg-visible'); + } + + utils.removeClass(document.querySelector('.lg-backdrop'), 'in'); + setTimeout(function() { + try { + if (_this.outer) { + _this.outer.parentNode.removeChild(_this.outer); + } + + if (document.querySelector('.lg-backdrop')) { + document.querySelector('.lg-backdrop').parentNode.removeChild(document.querySelector('.lg-backdrop')); + } + + if (!d) { + utils.trigger(_this.el, 'onCloseAfter'); + } + _this.el.focus(); + } catch (err) {} + + }, _this.s.backdropDuration + 50); +}; + +window.lightGallery = function(el, options) { + if (!el) { + return; + } + + try { + if (!el.getAttribute('lg-uid')) { + let uid = 'lg' + window.lgData.uid++; + window.lgData[uid] = new Plugin(el, options); + el.setAttribute('lg-uid', uid); + } else { + window.lgData[el.getAttribute('lg-uid')].init(); + } + } catch (err) { + console.error('lightGallery has not initiated properly', err); + } +}; diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-animations.scss b/public/js/vendor/lightgallery.js/src/sass/lg-animations.scss new file mode 100644 index 0000000..8ae9484 --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-animations.scss @@ -0,0 +1,714 @@ +.lg-css3 { + // Remove all transition effects + &.lg-no-trans { + .lg-prev-slide, .lg-next-slide, .lg-current { + @include transitionCustom(none 0s ease 0s !important); + } + } + + &.lg-use-css3 { + .lg-item { + will-change: transform, opacity; + } + } + + &.lg-use-left { + .lg-item { + will-change: left, opacity; + } + } + + &.lg-zoom-in { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include scale3d(2, 2, 2); + } + + &.lg-next-slide { + @include scale3d(2, 2, 2); + } + + &.lg-current { + @include scale3d(1, 1, 1); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-zoom-out { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include scale3d(0, 0, 0); + } + + &.lg-next-slide { + @include scale3d(0, 0, 0); + } + + &.lg-current { + @include scale3d(1, 1, 1); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-zoom-out-in { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include scale3d(0, 0, 0); + } + + &.lg-next-slide { + @include scale3d(2, 2, 2); + } + + &.lg-current { + @include scale3d(1, 1, 1); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-zoom-in-out { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include scale3d(2, 2, 2); + } + + &.lg-next-slide { + @include scale3d(0, 0, 0); + } + + &.lg-current { + @include scale3d(1, 1, 1); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-soft-zoom { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include scale3d(1.2, 1.2, 1.2); + } + + &.lg-next-slide { + @include scale3d(0.8, 0.8, 0.8); + } + + &.lg-current { + @include scale3d(1, 1, 1); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-slide-circular { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0, 0, 0) translate3d(-100%, 0, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0, 0, 0) translate3d(100%, 0, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + // sec + &.lg-slide-circular-up { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0, 0, 0) translate3d(-100%, -100%, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0, 0, 0) translate3d(100%, -100%, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + // sec + &.lg-slide-circular-down { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0, 0, 0) translate3d(-100%, 100%, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0, 0, 0) translate3d(100%, 100%, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-slide-circular-vertical { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0, 0, 0) translate3d(0, -100%, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0, 0, 0) translate3d(0, 100%, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + // sec + &.lg-slide-circular-vertical-left { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0, 0, 0) translate3d(-100%, -100%, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0, 0, 0) translate3d(-100%, 100%, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + // sec + &.lg-slide-circular-vertical-down { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0, 0, 0) translate3d(100%, -100%, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0, 0, 0) translate3d(100%, 100%, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-slide-vertical { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include translate3d(0, -100%, 0); + } + + &.lg-next-slide { + @include translate3d(0, 100%, 0); + } + + &.lg-current { + @include translate3d(0, 0, 0); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-vertical-growth { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-only { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(60deg, 0deg)); + } + + &.lg-next-slide { + @include transform(skew(60deg, 0deg)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-only-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(-60deg, 0deg)); + } + + &.lg-next-slide { + @include transform(skew(-60deg, 0deg)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-only-y { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(0deg, 60deg)); + } + + &.lg-next-slide { + @include transform(skew(0deg, 60deg)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-only-y-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(0deg, -60deg)); + } + + &.lg-next-slide { + @include transform(skew(0deg, -60deg)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(60deg, 0deg) translate3d(-100%, 0%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(60deg, 0deg) translate3d(100%, 0%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(-60deg, 0deg) translate3d(-100%, 0%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(-60deg, 0deg) translate3d(100%, 0%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-cross { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(0deg, 60deg) translate3d(-100%, 0%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(0deg, 60deg) translate3d(100%, 0%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-cross-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(0deg, -60deg) translate3d(-100%, 0%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(0deg, -60deg) translate3d(100%, 0%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-ver { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(60deg, 0deg) translate3d(0, -100%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(60deg, 0deg) translate3d(0, 100%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-ver-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(-60deg, 0deg) translate3d(0, -100%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(-60deg, 0deg) translate3d(0, 100%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-ver-cross { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(0deg, 60deg) translate3d(0, -100%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(0deg, 60deg) translate3d(0, 100%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-ver-cross-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(0deg, -60deg) translate3d(0, -100%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(0deg, -60deg) translate3d(0, 100%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-lollipop { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include translate3d(-100%, 0, 0); + } + + &.lg-next-slide { + @include transform(translate3d(0, 0, 0) scale(0.5)); + } + + &.lg-current { + @include translate3d(0, 0, 0); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-lollipop-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(translate3d(0, 0, 0) scale(0.5)); + } + + &.lg-next-slide { + @include translate3d(100%, 0, 0); + } + + &.lg-current { + @include translate3d(0, 0, 0); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-rotate { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(rotate(-360deg)); + } + + &.lg-next-slide { + @include transform(rotate(360deg)); + } + + &.lg-current { + @include transform(rotate(0deg)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-rotate-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(rotate(360deg)); + } + + &.lg-next-slide { + @include transform(rotate(-360deg)); + } + + &.lg-current { + @include transform(rotate(0deg)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-tube { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(1, 0, 1) translate3d(-100%, 0, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(1, 0, 1) translate3d(100%, 0, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } +} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-autoplay.scss b/public/js/vendor/lightgallery.js/src/sass/lg-autoplay.scss new file mode 100644 index 0000000..dbb856b --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-autoplay.scss @@ -0,0 +1,36 @@ +.lg-progress-bar { + background-color: $lg-progress-bar-bg; + height: $lg-progress-bar-height; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: $zindex-progressbar; + opacity: 0; + @include transitionCustom(opacity 0.08s ease 0s); + + .lg-progress { + background-color: $lg-progress-bar-active-bg; + height: $lg-progress-bar-height; + width: 0; + } + + &.lg-start { + .lg-progress { + width: 100%; + } + } + + .lg-show-autoplay & { + opacity: 1; + } +} + +.lg-autoplay-button { + &:after { + .lg-show-autoplay & { + content: "\e01a"; + } + content: "\e01d"; + } +} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-fb-comment-box.scss b/public/js/vendor/lightgallery.js/src/sass/lg-fb-comment-box.scss new file mode 100644 index 0000000..6185902 --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-fb-comment-box.scss @@ -0,0 +1,46 @@ +@import "lg-variables"; +@import "lg-mixins"; +.lg-outer.fb-comments{ + .lg-img-wrap { + padding-right: 400px !important; + } + .fb-comments { + height: 100%; + overflow-y: auto; + position: absolute; + right: 0; + top: 0; + width: 420px; + z-index: 99999; + background: #fff url("#{$lg-path-images}/loading.gif") no-repeat scroll center center; + &.fb_iframe_widget { + background-image: none; + &.fb_iframe_widget_loader{ + background: #fff url("#{$lg-path-images}/loading.gif") no-repeat scroll center center; + } + } + } + .lg-toolbar { + right: 420px; + width: auto; + } + .lg-actions .lg-next { + right: 420px; + } + .lg-item { + background-image: none; + &.lg-complete{ + .lg-img-wrap{ + background-image: none; + } + } + } + .lg-img-wrap { + background: url("#{$lg-path-images}/loading.gif") no-repeat scroll center center transparent; + } + + .lg-sub-html { + padding: 0; + position: static; + } +} diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-fonts.scss b/public/js/vendor/lightgallery.js/src/sass/lg-fonts.scss new file mode 100644 index 0000000..9129451 --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-fonts.scss @@ -0,0 +1,26 @@ +// font icons support +@font-face { + font-family: 'lg'; + src: + url('#{$lg-path-fonts}/lg.ttf?22t19m') format('truetype'), + url('#{$lg-path-fonts}/lg.woff?22t19m') format('woff'), + url('#{$lg-path-fonts}/lg.svg?22t19m#lg') format('svg'); + font-weight: normal; + font-style: normal; + font-display: block; +} + +.lg-icon { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'lg' !important; + speak: never; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-fullscreen.scss b/public/js/vendor/lightgallery.js/src/sass/lg-fullscreen.scss new file mode 100644 index 0000000..b036a1c --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-fullscreen.scss @@ -0,0 +1,9 @@ +.lg-fullscreen { + &:after { + content: "\e20c"; + + .lg-fullscreen-on & { + content: "\e20d"; + } + } +} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-mixins.scss b/public/js/vendor/lightgallery.js/src/sass/lg-mixins.scss new file mode 100644 index 0000000..4e235c9 --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-mixins.scss @@ -0,0 +1,330 @@ +// Vendor Prefixes +// +// All vendor mixins are deprecated as of v3.2.0 due to the introduction of +// Autoprefixer in our Gruntfile. They will be removed in v4. + +// - Animations +// - Backface visibility +// - Box shadow +// - Box sizing +// - Content columns +// - Hyphens +// - Placeholder text +// - Transformations +// - Transitions +// - User Select +// - cursor grab + +// Animations +@mixin animation($animation) { + -webkit-animation: $animation; + -o-animation: $animation; + animation: $animation; +} + +@mixin animation-name($name) { + -webkit-animation-name: $name; + animation-name: $name; +} + +@mixin animation-duration($duration) { + -webkit-animation-duration: $duration; + animation-duration: $duration; +} + +@mixin animation-timing-function($timing-function) { + -webkit-animation-timing-function: $timing-function; + animation-timing-function: $timing-function; +} + +@mixin animation-delay($delay) { + -webkit-animation-delay: $delay; + animation-delay: $delay; +} + +@mixin animation-iteration-count($iteration-count) { + -webkit-animation-iteration-count: $iteration-count; + animation-iteration-count: $iteration-count; +} + +@mixin animation-direction($direction) { + -webkit-animation-direction: $direction; + animation-direction: $direction; +} + +@mixin animation-fill-mode($fill-mode) { + -webkit-animation-fill-mode: $fill-mode; + animation-fill-mode: $fill-mode; +} + +@mixin keyframes($name) { + @-webkit-keyframes #{$name} { + @content; + } + + @-moz-keyframes #{$name} { + @content; + } + + @-ms-keyframes #{$name} { + @content; + } + + @keyframes #{$name} { + @content; + } +} + +// Backface visibility +// Prevent browsers from flickering when using CSS 3D transforms. +// Default value is `visible`, but can be changed to `hidden` + +@mixin backface-visibility($visibility) { + -webkit-backface-visibility: $visibility; + -moz-backface-visibility: $visibility; + backface-visibility: $visibility; +} + +// Drop shadows +// +// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's +// supported browsers that have box shadow capabilities now support it. + +@mixin box-shadow($shadow...) { + -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1 + box-shadow: $shadow; +} + +// Box sizing +@mixin box-sizing($boxmodel) { + -webkit-box-sizing: $boxmodel; + -moz-box-sizing: $boxmodel; + box-sizing: $boxmodel; +} + +// CSS3 Content Columns +@mixin content-columns($column-count, $column-gap: $grid-gutter-width) { + -webkit-column-count: $column-count; + -moz-column-count: $column-count; + column-count: $column-count; + -webkit-column-gap: $column-gap; + -moz-column-gap: $column-gap; + column-gap: $column-gap; +} + +// Optional hyphenation +@mixin hyphens($mode: auto) { + word-wrap: break-word; + -webkit-hyphens: $mode; + -moz-hyphens: $mode; + -ms-hyphens: $mode; // IE10+ + -o-hyphens: $mode; + hyphens: $mode; +} + +// Transformations +@mixin scale($ratio...) { + -webkit-transform: scale($ratio); + -ms-transform: scale($ratio); // IE9 only + -o-transform: scale($ratio); + transform: scale($ratio); +} + +@mixin scaleX($ratio) { + -webkit-transform: scaleX($ratio); + -ms-transform: scaleX($ratio); // IE9 only + -o-transform: scaleX($ratio); + transform: scaleX($ratio); +} + +@mixin scaleY($ratio) { + -webkit-transform: scaleY($ratio); + -ms-transform: scaleY($ratio); // IE9 only + -o-transform: scaleY($ratio); + transform: scaleY($ratio); +} + +@mixin skew($x, $y) { + -webkit-transform: skewX($x) skewY($y); + -ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+ + -o-transform: skewX($x) skewY($y); + transform: skewX($x) skewY($y); +} + +@mixin translate($x, $y) { + -webkit-transform: translate($x, $y); + -ms-transform: translate($x, $y); // IE9 only + -o-transform: translate($x, $y); + transform: translate($x, $y); +} + +@mixin translate3d($x, $y, $z) { + -webkit-transform: translate3d($x, $y, $z); + transform: translate3d($x, $y, $z); +} + +@mixin scale3d($x, $y, $z) { + -webkit-transform: scale3d($x, $y, $z); + transform: scale3d($x, $y, $z); +} + +@mixin rotate($degrees) { + -webkit-transform: rotate($degrees); + -ms-transform: rotate($degrees); // IE9 only + -o-transform: rotate($degrees); + transform: rotate($degrees); +} + +@mixin rotateX($degrees) { + -webkit-transform: rotateX($degrees); + -ms-transform: rotateX($degrees); // IE9 only + -o-transform: rotateX($degrees); + transform: rotateX($degrees); +} + +@mixin rotateY($degrees) { + -webkit-transform: rotateY($degrees); + -ms-transform: rotateY($degrees); // IE9 only + -o-transform: rotateY($degrees); + transform: rotateY($degrees); +} + +@mixin perspective($perspective) { + -webkit-perspective: $perspective; + -moz-perspective: $perspective; + perspective: $perspective; +} + +@mixin perspective-origin($perspective) { + -webkit-perspective-origin: $perspective; + -moz-perspective-origin: $perspective; + perspective-origin: $perspective; +} + +@mixin transform-origin($origin) { + -webkit-transform-origin: $origin; + -moz-transform-origin: $origin; + -ms-transform-origin: $origin; // IE9 only + transform-origin: $origin; +} + +@mixin transform($transforms) { + -moz-transform: $transforms; + -o-transform: $transforms; + -ms-transform: $transforms; + -webkit-transform: $transforms; + transform: $transforms; +} + +// Transitions + +@mixin transition($transition...) { + -webkit-transition: $transition; + -o-transition: $transition; + transition: $transition; +} + +@mixin transition-property($transition-property...) { + -webkit-transition-property: $transition-property; + transition-property: $transition-property; +} + +@mixin transition-delay($transition-delay) { + -webkit-transition-delay: $transition-delay; + transition-delay: $transition-delay; +} + +@mixin transition-duration($transition-duration...) { + -webkit-transition-duration: $transition-duration; + transition-duration: $transition-duration; +} + +@mixin transition-timing-function($timing-function) { + -webkit-transition-timing-function: $timing-function; + transition-timing-function: $timing-function; +} + +@mixin transition-transform($transition...) { + -webkit-transition: -webkit-transform $transition; + -moz-transition: -moz-transform $transition; + -o-transition: -o-transform $transition; + transition: transform $transition; +} + +// transition custom + +@function prefix($property, $prefixes: webkit moz o ms) { + $vendor-prefixed-properties: transform background-clip background-size; + $result: (); + + @each $prefix in $prefixes { + @if index($vendor-prefixed-properties, $property) { + $property: -#{$prefix}-#{$property}; + } + $result: append($result, $property); + } + @return $result; +} + +@function trans-prefix($transition, $prefix: moz) { + $prefixed: (); + + @each $trans in $transition { + $prop-name: nth($trans, 1); + $vendor-prop-name: prefix($prop-name, $prefix); + $prop-vals: nth($trans, 2); + $prefixed: append($prefixed, $vendor-prop-name $prop-vals, comma); + } + @return $prefixed; +} + +@mixin transitionCustom($values...) { + $transitions: (); + + @each $declaration in $values { + $prop: nth($declaration, 1); + $prop-opts: (); + $length: length($declaration); + + @if $length >= 2 { + @for $i from 2 through $length { + $prop-opts: append($prop-opts, nth($declaration, $i)); + } + } + $trans: $prop, $prop-opts; + $transitions: append($transitions, $trans, comma); + } + -webkit-transition: trans-prefix($transitions, webkit); + -moz-transition: trans-prefix($transitions, moz); + -o-transition: trans-prefix($transitions, o); + transition: $values; +} + +// User select +// For selecting text on the page + +@mixin user-select($select) { + -webkit-user-select: $select; + -moz-user-select: $select; + -ms-user-select: $select; // IE10+ + user-select: $select; +} + +// mouse grab + +@mixin grab-cursor { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} + +@mixin grabbing-cursor { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: -o-grabbing; + cursor: -ms-grabbing; + cursor: grabbing; +} diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-pager.scss b/public/js/vendor/lightgallery.js/src/sass/lg-pager.scss new file mode 100644 index 0000000..f730a8a --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-pager.scss @@ -0,0 +1,89 @@ +.lg-outer { + .lg-pager-outer { + bottom: 60px; + left: 0; + position: absolute; + right: 0; + text-align: center; + z-index: $zindex-pager; + height: 10px; + + &.lg-pager-hover { + .lg-pager-cont { + overflow: visible; + } + } + } + + .lg-pager-cont { + cursor: pointer; + display: inline-block; + overflow: hidden; + position: relative; + vertical-align: top; + margin: 0 5px; + + &:hover { + .lg-pager-thumb-cont { + opacity: 1; + @include translate3d(0, 0, 0); + } + } + + &.lg-pager-active { + .lg-pager { + box-shadow: 0 0 0 2px white inset; + } + } + } + + .lg-pager-thumb-cont { + background-color: #fff; + color: #FFF; + bottom: 100%; + height: 83px; + left: 0; + margin-bottom: 20px; + margin-left: -60px; + opacity: 0; + padding: 5px; + position: absolute; + width: 120px; + border-radius: 3px; + @include transitionCustom(opacity 0.15s ease 0s, transform 0.15s ease 0s); + @include translate3d(0, 5px, 0); + + img { + width: 100%; + height: 100%; + } + } + + .lg-pager { + background-color: rgba(255, 255, 255, 0.5); + border-radius: 50%; + box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.7) inset; + display: block; + height: 12px; + @include transition(box-shadow 0.3s ease 0s); + width: 12px; + + &:hover, &:focus { + box-shadow: 0 0 0 8px white inset; + } + } + + .lg-caret { + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top: 10px dashed; + bottom: -10px; + display: inline-block; + height: 0; + left: 50%; + margin-left: -5px; + position: absolute; + vertical-align: middle; + width: 0; + } +} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-rotate.scss b/public/js/vendor/lightgallery.js/src/sass/lg-rotate.scss new file mode 100644 index 0000000..451b6b4 --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-rotate.scss @@ -0,0 +1,38 @@ +@import "lg-variables"; +@import "lg-mixins"; +.lg-outer { + .lg-img-rotate { + position: absolute; + padding: 0 5px; + left: 0; + right: 0; + top: 0; + bottom: 0; + @include transitionCustom(transform 0.3s cubic-bezier(0.32, 0, 0.67, 0) 0s); + } +} +.lg-rotate-left { + &:after { + content: "\e900"; + } +} +.lg-rotate-right { + &:after { + content: "\e901"; + } +} +.lg-icon { + &.lg-flip-hor, &.lg-flip-ver { + font-size: 26px; + } +} +.lg-flip-hor { + &:after { + content: "\e902"; + } +} +.lg-flip-ver { + &:after { + content: "\e903"; + } +} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-share.scss b/public/js/vendor/lightgallery.js/src/sass/lg-share.scss new file mode 100644 index 0000000..d0451cb --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-share.scss @@ -0,0 +1,135 @@ +@import "lg-variables"; +@import "lg-mixins"; +.lg-outer { + + #lg-dropdown-overlay { + background-color: rgba(0, 0, 0, 0.25); + bottom: 0; + cursor: default; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: $zindex-toolbar - 1; + opacity: 0; + visibility: hidden; + @include transition(visibility 0s linear 0.18s, opacity 0.18s linear 0s); + } + &.lg-dropdown-active{ + .lg-dropdown, #lg-dropdown-overlay { + @include transition-delay(0s); + @include transform(translate3d(0, 0px, 0)); + opacity: 1; + visibility: visible; + } + #lg-share { + color: #FFF; + } + } + .lg-dropdown { + background-color: #fff; + border-radius: 2px; + font-size: 14px; + list-style-type: none; + margin: 0; + padding: 10px 0; + position: absolute; + right: 0; + text-align: left; + top: 50px; + opacity: 0; + visibility: hidden; + @include transform(translate3d(0, 5px, 0)); + @include transitionCustom(transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s); + + &:after { + content: ""; + display: block; + height: 0; + width: 0; + position: absolute; + border: 8px solid transparent; + border-bottom-color: #FFF; + right: 16px; + top: -16px + } + > li { + &:last-child { + margin-bottom: 0px; + } + &:hover { + a, .lg-icon { + color: #333; + } + } + } + a { + color: #333; + display: block; + white-space: pre; + padding: 4px 12px; + font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif; + font-size: 12px; + &:hover { + background-color: rgba(0, 0, 0, 0.07); + } + + } + .lg-dropdown-text { + display: inline-block; + line-height: 1; + margin-top: -3px; + vertical-align: middle; + } + .lg-icon { + color: #333; + display: inline-block; + float: none; + font-size: 20px; + height: auto; + line-height: 1; + margin-right: 8px; + padding: 0; + vertical-align: middle; + width: auto; + } + } + #lg-share { + position: relative; + &:after { + content: "\e80d"; + } + } + #lg-share-facebook { + .lg-icon{ + color: #3b5998; + &:after { + content: "\e904"; + } + } + } + #lg-share-twitter { + .lg-icon{ + color: #00aced; + &:after { + content: "\e907"; + } + } + } + #lg-share-googleplus { + .lg-icon{ + color: #dd4b39; + &:after { + content: "\e905"; + } + } + } + #lg-share-pinterest { + .lg-icon{ + color: #cb2027; + &:after { + content: "\e906"; + } + } + } +} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-theme-default.scss b/public/js/vendor/lightgallery.js/src/sass/lg-theme-default.scss new file mode 100644 index 0000000..2c6e6a8 --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-theme-default.scss @@ -0,0 +1,212 @@ +// default theme +.lg-actions { + .lg-next, .lg-prev { + background-color: $lg-next-prev-bg; + border-radius: $lg-border-radius-base; + color: $lg-next-prev-color; + cursor: pointer; + display: block; + font-size: 22px; + margin-top: -10px; + padding: 8px 10px 9px; + position: absolute; + top: 50%; + z-index: $zindex-controls; + outline: none; + border: none; + background-color: transparent; + + &.disabled { + pointer-events: none; + opacity: 0.5; + } + + &:hover { + color: $lg-next-prev-hover-color; + } + } + + .lg-next { + right: 20px; + + &:before { + content: "\e095"; + } + } + + .lg-prev { + left: 20px; + + &:after { + content: "\e094"; + } + } +} + +@include keyframes(lg-right-end) { + 0% { + left: 0; + } + + 50% { + left: -30px; + } + + 100% { + left: 0; + } +} + + +@include keyframes(lg-left-end) { + 0% { + left: 0; + } + + 50% { + left: 30px; + } + + 100% { + left: 0; + } +} + + +.lg-outer { + &.lg-right-end { + .lg-object { + @include animation(lg-right-end 0.3s); + position: relative; + } + } + + &.lg-left-end { + .lg-object { + @include animation(lg-left-end 0.3s); + position: relative; + } + } +} + +// lg toolbar +.lg-toolbar { + z-index: $zindex-toolbar; + left: 0; + position: absolute; + top: 0; + width: 100%; + background-color: $lg-toolbar-bg; + + .lg-icon { + color: $lg-toolbar-icon-color; + cursor: pointer; + float: right; + font-size: 24px; + height: 47px; + line-height: 27px; + padding: 10px 0; + text-align: center; + width: 50px; + text-decoration: none !important; + outline: medium none; + background: none; + border: none; + box-shadow: none; + @include transition(color 0.2s linear); + + &:hover { + color: $lg-toolbar-icon-hover-color; + } + } + + .lg-close { + &:after { + content: "\e070"; + } + } + + .lg-download { + &:after { + content: "\e0f2"; + } + } +} + +// lightGallery title +.lg-sub-html { + background-color: $lg-sub-html-bg; + bottom: 0; + color: $lg-sub-html-color; + font-size: 16px; + left: 0; + padding: 10px 40px; + position: fixed; + right: 0; + text-align: center; + z-index: $zindex-subhtml; + + h4 { + margin: 0; + font-size: 13px; + font-weight: bold; + } + + p { + font-size: 12px; + margin: 5px 0 0; + } +} + +// lg image counter +#lg-counter { + color: $lg-icon-color; + display: inline-block; + font-size: $lg-counter-font-size; + padding-left: 20px; + padding-top: 12px; + vertical-align: middle; +} + +// for idle state +.lg-toolbar, .lg-prev, .lg-next { + opacity: 1; + @include transitionCustom(transform 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.35s cubic-bezier(0, 0, 0.25, 1) 0s, color 0.2s linear); +} + +.lg-hide-items { + .lg-prev { + opacity: 0; + @include translate3d(-10px, 0, 0); + } + + .lg-next { + opacity: 0; + @include translate3d(10px, 0, 0); + } + + .lg-toolbar { + opacity: 0; + @include translate3d(0, -10px, 0); + } +} + +// Starting effect +body:not(.lg-from-hash){ + .lg-outer { + &.lg-start-zoom{ + .lg-object{ + @include scale3d(0.5, 0.5, 0.5); + opacity: 0; + @include transitionCustom(transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important); + @include transform-origin(50% 50%); + } + .lg-item.lg-complete{ + .lg-object{ + @include scale3d(1, 1, 1); + opacity: 1; + } + } + } + } +} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-thumbnail.scss b/public/js/vendor/lightgallery.js/src/sass/lg-thumbnail.scss new file mode 100644 index 0000000..362b5e4 --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-thumbnail.scss @@ -0,0 +1,113 @@ +.lg-outer { + .lg-thumb-outer { + background-color: $lg-thumb-bg; + bottom: 0; + position: absolute; + width: 100%; + z-index: $zindex-thumbnail; + max-height: 350px; + @include translate3d(0, 100%, 0); + @include transitionCustom(transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s); + + &.lg-grab { + .lg-thumb-item { + @include grab-cursor; + } + } + + &.lg-grabbing { + .lg-thumb-item { + @include grabbing-cursor; + } + } + + &.lg-dragging { + .lg-thumb { + @include transition-duration(0s !important); + } + } + } + &.lg-thumb-open{ + .lg-thumb-outer { + @include translate3d(0, 0%, 0); + } + } + + .lg-thumb { + padding: 10px 0; + height: 100%; + margin-bottom: -5px; + } + + .lg-thumb-item { + border-radius: 5px; + cursor: pointer; + float: left; + overflow: hidden; + height: 100%; + border: 2px solid #FFF; + border-radius: 4px; + margin-bottom: 5px; + @media (min-width: 1025px) { + @include transition(border-color 0.25s ease); + } + + &.active, &:hover { + border-color: $lg-theme-highlight; + } + + img { + width: 100%; + height: 100%; + object-fit: cover; + } + } + + &.lg-has-thumb { + .lg-item { + padding-bottom: 120px; + } + } + + &.lg-can-toggle { + .lg-item { + padding-bottom: 0; + } + } + &.lg-pull-caption-up{ + .lg-sub-html { + @include transition(bottom 0.25s ease); + } + &.lg-thumb-open{ + .lg-sub-html { + bottom: 100px; + } + } + } + + .lg-toggle-thumb { + background-color: $lg-thumb-toggle-bg; + border-radius: $lg-border-radius-base $lg-border-radius-base 0 0; + color: $lg-thumb-toggle-color; + cursor: pointer; + font-size: 24px; + height: 39px; + line-height: 27px; + padding: 5px 0; + position: absolute; + right: 20px; + text-align: center; + top: -39px; + width: 50px; + outline: medium none; + border: none; + + &:after { + content: "\e1ff"; + } + + &:hover { + color: $lg-thumb-toggle-hover-color; + } + } +} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-transitions.scss b/public/js/vendor/lightgallery.js/src/sass/lg-transitions.scss new file mode 100644 index 0000000..c352668 --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-transitions.scss @@ -0,0 +1,766 @@ +@import "lg-variables"; +@import "lg-mixins"; + +.lg-css3 { + &.lg-zoom-in { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include scale3d(1.3, 1.3, 1.3); + } + + &.lg-next-slide { + @include scale3d(1.3, 1.3, 1.3); + } + + &.lg-current { + @include scale3d(1, 1, 1); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-zoom-in-big { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include scale3d(2, 2, 2); + } + + &.lg-next-slide { + @include scale3d(2, 2, 2); + } + + &.lg-current { + @include scale3d(1, 1, 1); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-zoom-out { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include scale3d(0.7, 0.7, 0.7); + } + + &.lg-next-slide { + @include scale3d(0.7, 0.7, 0.7); + } + + &.lg-current { + @include scale3d(1, 1, 1); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + &.lg-zoom-out-big { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include scale3d(0, 0, 0); + } + + &.lg-next-slide { + @include scale3d(0, 0, 0); + } + + &.lg-current { + @include scale3d(1, 1, 1); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-zoom-out-in { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include scale3d(0, 0, 0); + } + + &.lg-next-slide { + @include scale3d(2, 2, 2); + } + + &.lg-current { + @include scale3d(1, 1, 1); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-zoom-in-out { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include scale3d(2, 2, 2); + } + + &.lg-next-slide { + @include scale3d(0, 0, 0); + } + + &.lg-current { + @include scale3d(1, 1, 1); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-soft-zoom { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include scale3d(1.1, 1.1, 1.1); + } + + &.lg-next-slide { + @include scale3d(0.9, 0.9, 0.9); + } + + &.lg-current { + @include scale3d(1, 1, 1); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-scale-up { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-slide-circular { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0, 0, 0) translate3d(-100%, 0, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0, 0, 0) translate3d(100%, 0, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + // sec + &.lg-slide-circular-up { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0, 0, 0) translate3d(-100%, -100%, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0, 0, 0) translate3d(100%, -100%, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + // sec + &.lg-slide-circular-down { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0, 0, 0) translate3d(-100%, 100%, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0, 0, 0) translate3d(100%, 100%, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-slide-circular-vertical { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0, 0, 0) translate3d(0, -100%, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0, 0, 0) translate3d(0, 100%, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + // sec + &.lg-slide-circular-vertical-left { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0, 0, 0) translate3d(-100%, -100%, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0, 0, 0) translate3d(-100%, 100%, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + // sec + &.lg-slide-circular-vertical-down { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0, 0, 0) translate3d(100%, -100%, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0, 0, 0) translate3d(100%, 100%, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s); + } + } + } + + &.lg-slide-vertical { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include translate3d(0, -100%, 0); + } + + &.lg-next-slide { + @include translate3d(0, 100%, 0); + } + + &.lg-current { + @include translate3d(0, 0, 0); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-vertical-growth { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-only { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(10deg, 0deg)); + } + + &.lg-next-slide { + @include transform(skew(10deg, 0deg)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-only-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(-10deg, 0deg)); + } + + &.lg-next-slide { + @include transform(skew(-10deg, 0deg)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-only-y { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(0deg, 10deg)); + } + + &.lg-next-slide { + @include transform(skew(0deg, 10deg)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-only-y-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(0deg, -10deg)); + } + + &.lg-next-slide { + @include transform(skew(0deg, -10deg)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(20deg, 0deg) translate3d(-100%, 0%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(20deg, 0deg) translate3d(100%, 0%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(-20deg, 0deg) translate3d(-100%, 0%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(-20deg, 0deg) translate3d(100%, 0%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-cross { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(0deg, 60deg) translate3d(-100%, 0%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(0deg, 60deg) translate3d(100%, 0%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-cross-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(0deg, -60deg) translate3d(-100%, 0%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(0deg, -60deg) translate3d(100%, 0%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-ver { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(60deg, 0deg) translate3d(0, -100%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(60deg, 0deg) translate3d(0, 100%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-ver-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(-60deg, 0deg) translate3d(0, -100%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(-60deg, 0deg) translate3d(0, 100%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-ver-cross { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(0deg, 20deg) translate3d(0, -100%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(0deg, 20deg) translate3d(0, 100%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-slide-skew-ver-cross-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(skew(0deg, -20deg) translate3d(0, -100%, 0px)); + } + + &.lg-next-slide { + @include transform(skew(0deg, -20deg) translate3d(0, 100%, 0px)); + } + + &.lg-current { + @include transform(skew(0deg, 0deg) translate3d(0%, 0%, 0px)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-lollipop { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include translate3d(-100%, 0, 0); + } + + &.lg-next-slide { + @include transform(translate3d(0, 0, 0) scale(0.5)); + } + + &.lg-current { + @include translate3d(0, 0, 0); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-lollipop-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(translate3d(0, 0, 0) scale(0.5)); + } + + &.lg-next-slide { + @include translate3d(100%, 0, 0); + } + + &.lg-current { + @include translate3d(0, 0, 0); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-rotate { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(rotate(-360deg)); + } + + &.lg-next-slide { + @include transform(rotate(360deg)); + } + + &.lg-current { + @include transform(rotate(0deg)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-rotate-rev { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(rotate(360deg)); + } + + &.lg-next-slide { + @include transform(rotate(-360deg)); + } + + &.lg-current { + @include transform(rotate(0deg)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-tube { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include transform(scale3d(1, 0, 1) translate3d(-100%, 0, 0)); + } + + &.lg-next-slide { + @include transform(scale3d(1, 0, 1) translate3d(100%, 0, 0)); + } + + &.lg-current { + @include transform(scale3d(1, 1, 1) translate3d(0, 0, 0)); + opacity: 1; + } + + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } +} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-variables.scss b/public/js/vendor/lightgallery.js/src/sass/lg-variables.scss new file mode 100644 index 0000000..60046b9 --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-variables.scss @@ -0,0 +1,57 @@ +$backdrop-opacity: 1 !default; +$lg-toolbar-bg: rgba(0, 0, 0, 0.45) !default; +$lg-border-radius-base: 2px !default; +$lg-theme-highlight: rgb(169, 7, 7) !default; +$lg-theme: #0D0A0A !default; + +// basic icon colours +$lg-icon-bg: rgba(0, 0, 0, 0.45) !default; +$lg-icon-color: #999 !default; +$lg-icon-hover-color: #FFF !default; + +// counter +$lg-counter-color: #e6e6e6 !default; +$lg-counter-font-size: 16px !default; + +// Next prev icons +$lg-next-prev-bg: $lg-icon-bg !default; +$lg-next-prev-color: $lg-icon-color !default; +$lg-next-prev-hover-color: $lg-icon-hover-color !default; + +// toolbar icons +$lg-toolbar-icon-color: $lg-icon-color !default; +$lg-toolbar-icon-hover-color: $lg-icon-hover-color !default; + +// autoplay progress bar +$lg-progress-bar-bg: #333 !default; +$lg-progress-bar-active-bg: $lg-theme-highlight !default; +$lg-progress-bar-height: 5px !default; + +// paths +$lg-path-fonts: '../fonts'!default; +$lg-path-images: '../img'!default; + +// Zoom plugin +$zoom-transition-duration: 0.3s !default; + +// Sub html - titile +$lg-sub-html-bg: rgba(0, 0, 0, 0.45) !default; +$lg-sub-html-color: #EEE !default; + +// thumbnail toggle button +$lg-thumb-toggle-bg: #0D0A0A !default; +$lg-thumb-toggle-color: $lg-icon-color !default; +$lg-thumb-toggle-hover-color: $lg-icon-hover-color !default; +$lg-thumb-bg: #0D0A0A !default; + +// z-index +$zindex-outer: 1050 !default; +$zindex-progressbar: 1083 !default; +$zindex-controls: 1080 !default; +$zindex-toolbar: 1082 !default; +$zindex-subhtml: 1080 !default; +$zindex-thumbnail: 1080 !default; +$zindex-pager: 1080 !default; +$zindex-playbutton: 1080 !default; +$zindex-item: 1060 !default; +$zindex-backdrop: 1040 !default; diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-video.scss b/public/js/vendor/lightgallery.js/src/sass/lg-video.scss new file mode 100644 index 0000000..863abc0 --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-video.scss @@ -0,0 +1,103 @@ +.lg-outer { + .lg-video-cont { + display: inline-block; + vertical-align: middle; + max-width: 1140px; + max-height: 100%; + width: 100%; + padding: 0 5px; + } + + .lg-video { + width: 100%; + height: 0; + padding-bottom: 56.25%; + overflow: hidden; + position: relative; + + .lg-object { + display: inline-block; + position: absolute; + top: 0; + left: 0; + width: 100% !important; + height: 100% !important; + } + + .lg-video-play { + width: 84px; + height: 59px; + position: absolute; + left: 50%; + top: 50%; + margin-left: -42px; + margin-top: -30px; + z-index: $zindex-playbutton; + cursor: pointer; + } + } + + .lg-has-vimeo{ + .lg-video-play{ + background: url("#{$lg-path-images}/vimeo-play.png") no-repeat scroll 0 0 transparent; + } + &:hover{ + .lg-video-play{ + background: url("#{$lg-path-images}/vimeo-play.png") no-repeat scroll 0 -58px transparent; + } + + } + } + + .lg-has-html5{ + .lg-video-play{ + background: transparent url("#{$lg-path-images}/video-play.png") no-repeat scroll 0 0; + height: 64px; + margin-left: -32px; + margin-top: -32px; + width: 64px; + opacity: 0.8; + } + &:hover{ + .lg-video-play{ + opacity: 1 + } + + } + } + + .lg-has-youtube{ + .lg-video-play{ + background: url("#{$lg-path-images}/youtube-play.png") no-repeat scroll 0 0 transparent; + } + &:hover{ + .lg-video-play{ + background: url("#{$lg-path-images}/youtube-play.png") no-repeat scroll 0 -60px transparent; + } + + } + } + .lg-video-object { + width: 100% !important; + height: 100% !important; + position: absolute; + top: 0; + left: 0; + } + + .lg-has-video { + .lg-video-object { + visibility: hidden; + } + + &.lg-video-playing { + .lg-object, .lg-video-play { + display: none; + } + + .lg-video-object { + visibility: visible; + } + } + } +} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/src/sass/lg-zoom.scss b/public/js/vendor/lightgallery.js/src/sass/lg-zoom.scss new file mode 100644 index 0000000..42fb32f --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lg-zoom.scss @@ -0,0 +1,69 @@ +.lg-outer { + // reset transition duration + &.lg-css3.lg-zoom-dragging { + .lg-item.lg-complete.lg-zoomable { + .lg-img-wrap, .lg-image { + @include transition-duration(0s); + } + } + } + &.lg-use-transition-for-zoom { + .lg-item.lg-complete.lg-zoomable { + .lg-img-wrap { + @include transitionCustom(transform $zoom-transition-duration cubic-bezier(0, 0, 0.25, 1) 0s); + } + } + } + &.lg-use-left-for-zoom { + .lg-item.lg-complete.lg-zoomable { + .lg-img-wrap { + @include transitionCustom(left $zoom-transition-duration cubic-bezier(0, 0, 0.25, 1) 0s, top $zoom-transition-duration cubic-bezier(0, 0, 0.25, 1) 0s); + } + } + } + + .lg-item.lg-complete.lg-zoomable{ + + .lg-img-wrap { + @include translate3d(0, 0, 0); + @include backface-visibility(hidden); + } + + .lg-image { + // Translate required for zoom + @include scale3d(1, 1, 1); + @include transitionCustom(transform $zoom-transition-duration cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.15s !important); + @include transform-origin(0 0); + @include backface-visibility(hidden); + } + } + +} + +// zoom buttons +#lg-zoom-in { + &:after { + content: "\e311"; + } +} + +#lg-actual-size { + font-size: 20px; + &:after { + content: "\e033"; + } +} + +#lg-zoom-out { + opacity: 0.5; + pointer-events: none; + + &:after { + content: "\e312"; + } + + .lg-zoomed & { + opacity: 1; + pointer-events: auto; + } +} \ No newline at end of file diff --git a/public/js/vendor/lightgallery.js/src/sass/lightgallery.scss b/public/js/vendor/lightgallery.js/src/sass/lightgallery.scss new file mode 100644 index 0000000..edcb96e --- /dev/null +++ b/public/js/vendor/lightgallery.js/src/sass/lightgallery.scss @@ -0,0 +1,293 @@ +// Core variables and mixins +@import "lg-variables"; +@import "lg-mixins"; +@import "lg-fonts"; +@import "lg-theme-default"; +@import "lg-thumbnail"; +@import "lg-video"; +@import "lg-autoplay"; +@import "lg-zoom"; +@import "lg-pager"; +@import "lg-fullscreen"; +@import "lg-share"; +@import "lg-rotate"; + +// Clearfix +.lg-group { + *zoom: 1; +} + +.lg-group:before, .lg-group:after { + display: table; + content: ""; + line-height: 0; +} + +.lg-group:after { + clear: both; +} + +// lightgallery core +.lg-outer { + width: 100%; + height: 100%; + position: fixed; + top: 0; + left: 0; + z-index: $zindex-outer; + opacity: 0; + outline: none; + // For start/end transition + @include transition(opacity 0.15s ease 0s); + + * { + @include box-sizing(border-box); + } + + &.lg-visible { + opacity: 1; + } + + // Set transition speed and timing function + &.lg-css3 { + .lg-item { + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transition-duration(inherit !important); + @include transition-timing-function(inherit !important); + } + } + } + + // Remove transition while dragging + &.lg-css3.lg-dragging { + .lg-item { + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transition-duration(0s !important); + opacity: 1; + } + } + } + + // Set cursor grab while dragging + &.lg-grab { + img.lg-object { + @include grab-cursor; + } + } + + &.lg-grabbing { + img.lg-object { + @include grabbing-cursor; + } + } + + .lg { + height: 100%; + width: 100%; + position: relative; + overflow: hidden; + margin-left: auto; + margin-right: auto; + max-width: 100%; + max-height: 100%; + } + + .lg-inner { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; + white-space: nowrap; + } + + .lg-item { + background: url("#{$lg-path-images}/loading.gif") no-repeat scroll center center transparent; + display: none !important; + } + &.lg-css3{ + .lg-prev-slide, .lg-current, .lg-next-slide{ + display: inline-block !important; + } + } + &.lg-css{ + .lg-current{ + display: inline-block !important; + } + } + + .lg-item, .lg-img-wrap { + display: inline-block; + text-align: center; + position: absolute; + width: 100%; + height: 100%; + + &:before { + content: ""; + display: inline-block; + height: 50%; + width: 1px; + margin-right: -1px; + } + } + + .lg-img-wrap { + position: absolute; + padding: 0 5px; + left: 0; + right: 0; + top: 0; + bottom: 0 + } + + .lg-item { + &.lg-complete { + background-image: none; + } + + &.lg-current { + z-index: $zindex-item; + } + } + + .lg-image { + display: inline-block; + vertical-align: middle; + max-width: 100%; + max-height: 100%; + width: auto !important; + height: auto !important; + } + + &.lg-show-after-load { + .lg-item { + .lg-object, .lg-video-play { + opacity: 0; + @include transition(opacity 0.15s ease 0s); + } + + &.lg-complete { + .lg-object, .lg-video-play { + opacity: 1; + } + } + } + } + + // Hide title div if empty + .lg-empty-html { + display: none; + } + + &.lg-hide-download{ + #lg-download{ + display: none; + } + } +} +.lg-backdrop{ + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: $zindex-backdrop; + background-color: #000; + opacity: 0; + @include transition(opacity 0.15s ease 0s); + &.in{ + opacity: $backdrop-opacity; + } +} + +// Default slide animations. Should be placed at the bottom of the animation css +.lg-css3 { + + // Remove all transition effects + &.lg-no-trans { + .lg-prev-slide, .lg-next-slide, .lg-current { + @include transitionCustom(none 0s ease 0s !important); + } + } + + &.lg-use-css3 { + .lg-item { + @include backface-visibility(hidden); + } + } + + &.lg-use-left { + .lg-item { + @include backface-visibility(hidden); + } + } + + // Fade mode + &.lg-fade { + .lg-item { + opacity: 0; + + &.lg-current { + opacity: 1; + } + + // transition timing property and duration will be over written from javascript + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(opacity 0.1s ease 0s); + } + } + } + + &.lg-slide { + &.lg-use-css3 { + .lg-item { + opacity: 0; + + &.lg-prev-slide { + @include translate3d(-100%, 0, 0); + } + + &.lg-next-slide { + @include translate3d(100%, 0, 0); + } + + &.lg-current { + @include translate3d(0, 0, 0); + opacity: 1; + } + + // transition timing property and duration will be over written from javascript + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + + &.lg-use-left { + .lg-item { + opacity: 0; + position: absolute; + left: 0; + + &.lg-prev-slide { + left: -100%; + } + + &.lg-next-slide { + left: 100%; + } + + &.lg-current { + left: 0; + opacity: 1; + } + + // transition timing property and duration will be over written from javascript + &.lg-prev-slide, &.lg-next-slide, &.lg-current { + @include transitionCustom(left 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s); + } + } + } + } +} \ No newline at end of file diff --git a/public/js/vendor/nouislider/CHANGELOG.MD b/public/js/vendor/nouislider/CHANGELOG.MD new file mode 100644 index 0000000..69486f3 --- /dev/null +++ b/public/js/vendor/nouislider/CHANGELOG.MD @@ -0,0 +1,189 @@ +# Changelog + +### 14.7.0 (*2021-04-06*) +- noUiSlider is now build with Typescript. This release contains no further changes. + +### 14.6.4 (*2021-03-18*) +- Fixed: Fixed `updateOptions` with falsy value for `start` (#1127); + +### 14.6.3 (*2020-11-19*) +- Fixed: Fixed removing namespaced event listeners, internal listeners getting removed (#1109); + +### 14.6.2 (*2020-09-16*) +- Fixed: Ignore erroneous mouse events on taps for iOS 13.4 (#1095); +- Added: `exactInput` argument to `set` and `setHandle` methods (#436, #1094); + +### 14.6.1 (*2020-08-17*) +- Fixed: Pips in count mode ignores pip at end of range (#1088); + +### 14.6.0 (*2020-06-27*) +- Added: `keyboardPageMultiplier` and `keyboardDefaultStep` options (#1083); +- Fixed: Ignore erroneous tap events for iOS (#1057, #1079); + +### 14.5.0 (*2020-05-20*) +- Added: Support for `margin`, `padding` and `limit` on non-linear sliders (#911, #1030, #1031, #1071); + +### 14.4.0 (*2020-05-06*) +- Added: `getOrigins` and `getTooltips` methods; +- Added: Default styling to support merging overlapping tooltips (#1032); + +### 14.3.0 (*2020-05-05*) +- Added: Default `cssClasses` are now exposed and can be modified; +- Fixed: Destroying sliders with multiple classes in `cssClasses` fails (#1069); + +### 14.2.0 (*2020-03-27*) +- Added: Slider api as event parameter (#1058); +- Added: Allow multiple classes in `cssClasses` option (#1054); +- Fixed: Slider not working within shadow DOM (#1060); +- Fixed: Last pip not rendered if it is also the first and at the slider edge (#1063); + +### 14.1.1 (*2019-12-15*) +- Fixed: Text direction is not correctly determined when the slider is not in the DOM (#1038); + +### 14.1.0 (*2019-12-04*) +- Fixed: Styling requires a root `html` node, so noUiSlider can't be used in shadow dom (#1035); +- Added: Support for PageUp/PageDown and Home/End keys in keyboard support (#1036); + +### 14.0.3 (*2019-10-10*) +- Fixed: Initialising handle values near the slider edge does not always respect `margin` (#1009); + +### 14.0.2 (*2019-06-28*) +- Fixed: Keyboard interaction uses formatter when it does not need to (#1000); + +### 14.0.1 (*2019-06-21*) +- Fixed: Visual regression in Safari caused by fixing #987 (#998); + +### 14.0.0 (*2019-06-20*) +- Fixed: `change` & `slide` events should fire on keyboard control (#994); +- Fixed: `.noUi-origin` overflows document on vertical sliders (#987); +- Fixed: Clicking to right of handle doesn't move it when it's at the same point as another (#965); +- Added: Additional documentation on number formatting (#978, #985); + +### 13.1.5 (*2019-04-24*) +- Fixed: Full-range padding (#880); + +### 13.1.4 (*2019-03-20*) +- Fixed: Keyboard interaction does not work with `snap` option (#961); + +### 13.1.3 (*2019-03-15*) +- Fixed: Keyboard interaction allows handles to "push" other handles (#960); +- Fixed: Update event fires for all handles during keyboard interaction (#960); + +### 13.1.2 (*2019-03-13*) +- Fixed: Handle disappears in Safari on tap (#927); +- Fixed: Disabled slider still accepts keyboard interaction (#953); + +### 13.1.1 (*2019-02-14*) +- Fixed: Slider hang when using a zero-length range (#948); + +### 13.1.0 (*2019-02-08*) +- Fixed: Updating `pips` using `updateOptions` (#933); +- Added: Updating `tooltips` using `updateOptions` (#946); + +### 13.0.0 (*2019-02-06*) +noUiSlider 13 does not include any breaking API changes. +Keyboard support is now built-in, so any custom implementations should be removed when upgrading. +Alternatively, built-in keyboard support can be disabled using `keyboardSupport: false`. +- Added: Built-in keyboard support (#724); +- Added: `.noUi-touch-area` element (#924); +- Fixed: Dragging a range does not check for handle disabled state (#938); +- Fixed: Incorrect CSS transform in pips (#931); + +### 12.1.0 (*2018-10-25*) +- Added: `unconstrained` behaviour (#747, #815, #913); +- Added: `setHandle` API (#917); +- Changed: point to `nouislider.js` in `package.json`.`main` (#921); + +### 12.0.0 (*2018-09-14*) +- Change: License changed to MIT; +- Change: Build process is now based on NPM scripts, phasing out the Grunt task runner. +- Fixed: Aria values are now as per spec (#889); +- Change: Pips formatting are now written as HTML (#875); +- Change: The `filter` option is now called for all pips (#754); +- Added: The `filter` option can now return `-1` to hide a pip (#754); +- Added: `keyboardSupport` option (#867, #895); +- Added: `documentElement` option (#821); + +### 11.1.0 (*2018-04-02*) +- Change: `null` options are now handled consistently (#856); +- Fixed: Missing transform origin in IE9 (#870); +- Fixed: `padding` on one side of the slider could not exceed `50%` (#865); + +### 11.0.3 (*2018-01-21*) +Refactor of source code. There are no meaningful changes in the distributed files; + +### 11.0.2 (*2018-01-20*) +- Fixed: Slider ignores clicks on `.noUi-target` outside of `.noUi-base` (#842); +- Fixed: `.noUi-origin` moving out of the page causes horizontal scrolling (#852); +- Fixed: Relative `.noUi-handle` has unintended margin (#854); + +### 11.0.0 (*2018-01-12*) +noUiSlider 11 does not include any breaking API changes. +Unless major changes were made to the stylesheet or you specifically depend +on the handle/connect order in the DOM, there should be no issues upgrading. +- Change: Use CSS transforms for handle movement, resulting in a massive performance improvement (#718); +- Change: Support multitouch by default; +- Change: Handle stacking is now on `.noUi-origin` instead of `.noUi-handle`; +- Added: A `.noUi-connects` element holding all `.noUi-connect` elements; +- Added: `[data-value]` property for `.noUi-value` in pips (#733); +- Added: `padding` option can now take an array for different padding values at both sides of a slider (#822); +- Removed: `useRequestAnimationFrame` option. No longer needed with CSS transforms; +- Removed: `multitouch` option. Now enabled by default; +- Fixed: Slider could ignore end events it should handle (#704, #805, #834); +- Fixed: Stop depending on array type (#801); +- Fixed: `set` method might bypass margin option (#823); +- Fixed: Alignment of pips for RTL sliders (#795); +- Fixed: Several issues regarding pips (#812, #826, #832); + +### 10.1.0 (*2017-07-26*) +- Added: `multitouch` option (#793); + +### 10.0.0 (*2017-05-28*) +- Change: Change event listeners to be passive (#785); +- Fixed: Pips are now updated when calling `updateOptions` (#669); +- Fixed: Content Security Policy issue with pips; +- Added: `removePips` method; +- Added: aria support (#685); +- Added: `ariaFormat` option (controls `aria-valuetext`); +- Fixed: throw a better error when mistakenly trying to initialize noUiSlider with `null` (#658); +- Fixed: Made order of events consistent and documented it (#775); +- Fixed: Border radius of connect bar, white space wrapping of tooltips (#773, #774); +- Fixed: Slider now uses `ownerDocument` instead of `document` (#767); + +### 9.2.0 (*2017-01-17*) +- Added: Version number to exceptions; +- Added: `noUiSlider.version` holds current version number; +- Added: Throw exception on invalid `pips` configuration (#721); +- Added: Merged pull request that uses less preprocessor to generate CSS (#735); + +### 9.1.0 (*2016-12-10*) +- Fixed: Slider not properly handling multitouch (#700, #704); +- Fixed: Removed a querySelector for the currently active handle (#720); +- Fixed: Removed iOS/webkit flashes on tap; +- Fixed: Incorrect error when using margin/limit with a step smaller than 0 (#736); +- Fixed: Drag option using incorrect cursor arrows (#681); +- Added: New `padding` option (#711); +- Added: Re-introduced `.noUi-handle-lower` and `.noUi-handle-upper` classes removed in 9.0.0; +- Added: Compatibility for legacy `connect` options removed in 9.0.0; + +### 9.0.0 (*2016-09-26*) +- Added: Support for **more than 2 handles**; +- Added: `format` option can be updated (#641); +- Added: `reset` method the return slider to start values (#673); +- Change: `connect` option is now implemented as a separate node; +- Change: all event arguments, including the handle number, are now in slider order; +- Change: `updateOptions` now **modifies the original options** object. The reference in `slider.noUiSlider.options` remains up to date (#678); +- Change: more events fire when using various `behaviour` options (#664); +- Change: on `rtl` sliders, handles are now visually positioned from the sliders `right`/`bottom` edge; +- Change: events for `rtl` sliders now fire in the same order as for `ltr` sliders (with incremental handleNumbers); +- Change: internal `Spectrum` component is no longer `direction` aware; +- Change: `limit` and `margin` must be divisible by `step` (if set); +- Removed: `.noUi-stacking` class. Handles now stack themselves; +- ~~Removed~~ (returned in 9.1.0): `.noUi-handle-lower` and `.noUi-handle-upper` classes; +- Removed: `.noUi-background`. Use `.noUi-target` instead; +- ~~Removed~~ (backward compatibility in 9.1.0): `connect: 'lower'` and `connect: 'upper'`. These settings are replaced by `connect: [true, false]`; +- Fixed: default tooltip color (#687); +- Fixed: `margin` and `limit` calculated improperly after calling `updateOptions` with a new `range` option; +- Fixed: `range` option was required in update, even when not updating it (#682); +- Fixed: Cursor styling is now consistent for disabled handles and sliders (#644); +- Fixed: Sliders now ignore touches when the screen is touched multiple times (#649, #663, #668); diff --git a/public/js/vendor/nouislider/LICENSE.md b/public/js/vendor/nouislider/LICENSE.md new file mode 100644 index 0000000..98f4ca2 --- /dev/null +++ b/public/js/vendor/nouislider/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Léon Gersen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/public/js/vendor/nouislider/README.md b/public/js/vendor/nouislider/README.md new file mode 100644 index 0000000..50fc731 --- /dev/null +++ b/public/js/vendor/nouislider/README.md @@ -0,0 +1,41 @@ +# noUiSlider + +noUiSlider is a lightweight JavaScript range slider. + +- **No dependencies** +- All modern browsers and IE > 9 are supported +- Fully **responsive** +- **Multi-touch support** on Android, iOS and Windows devices +- Accessible with `aria` and keyboard support +- Tons of [examples](https://refreshless.com/nouislider/examples) and answered [Stack Overflow questions](https://stackoverflow.com/questions/tagged/nouislider) + +License +------- +noUiSlider is licensed [MIT](https://choosealicense.com/licenses/mit/). + +It can be used **for free** and **without any attribution**, in any personal or commercial project. + +[Documentation](https://refreshless.com/nouislider/) +------- +An extensive documentation, including **examples**, **options** and **configuration details**, is available here: + +[noUiSlider documentation](https://refreshless.com/nouislider/). + +Contributing +------------ + +See [Contributing](CONTRIBUTING.md). + +Sponsorship +----------- + +noUiSlider is a stable project that still receives a lot of feature requests. A lot of these are interesting, but require a good amount of effort to implement, test and document. Sponsorship of this project will allow me to spend some more of my time on these feature requests. + +Please consider sponsoring the project by clicking the "❤ Sponsor" button above. Thanks! + +Tooling +------- + +Cross-browser testing kindly provided by BrowserStack. + +[![Tested with BrowserStack](documentation/assets/browserstack-logo-380x90.png)](http://browserstack.com/) diff --git a/public/js/vendor/nouislider/distribute/nouislider.css b/public/js/vendor/nouislider/distribute/nouislider.css new file mode 100644 index 0000000..fbc025d --- /dev/null +++ b/public/js/vendor/nouislider/distribute/nouislider.css @@ -0,0 +1,310 @@ +/*! nouislider - 14.7.0 - 4/6/2021 */ +/* Functional styling; + * These styles are required for noUiSlider to function. + * You don't need to change these rules to apply your design. + */ +.noUi-target, +.noUi-target * { + -webkit-touch-callout: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-user-select: none; + -ms-touch-action: none; + touch-action: none; + -ms-user-select: none; + -moz-user-select: none; + user-select: none; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.noUi-target { + position: relative; +} +.noUi-base, +.noUi-connects { + width: 100%; + height: 100%; + position: relative; + z-index: 1; +} +/* Wrapper for all connect elements. + */ +.noUi-connects { + overflow: hidden; + z-index: 0; +} +.noUi-connect, +.noUi-origin { + will-change: transform; + position: absolute; + z-index: 1; + top: 0; + right: 0; + -ms-transform-origin: 0 0; + -webkit-transform-origin: 0 0; + -webkit-transform-style: preserve-3d; + transform-origin: 0 0; + transform-style: flat; +} +.noUi-connect { + height: 100%; + width: 100%; +} +.noUi-origin { + height: 10%; + width: 10%; +} +/* Offset direction + */ +.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin { + left: 0; + right: auto; +} +/* Give origins 0 height/width so they don't interfere with clicking the + * connect elements. + */ +.noUi-vertical .noUi-origin { + width: 0; +} +.noUi-horizontal .noUi-origin { + height: 0; +} +.noUi-handle { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + position: absolute; +} +.noUi-touch-area { + height: 100%; + width: 100%; +} +.noUi-state-tap .noUi-connect, +.noUi-state-tap .noUi-origin { + -webkit-transition: transform 0.3s; + transition: transform 0.3s; +} +.noUi-state-drag * { + cursor: inherit !important; +} +/* Slider size and handle placement; + */ +.noUi-horizontal { + height: 18px; +} +.noUi-horizontal .noUi-handle { + width: 34px; + height: 28px; + right: -17px; + top: -6px; +} +.noUi-vertical { + width: 18px; +} +.noUi-vertical .noUi-handle { + width: 28px; + height: 34px; + right: -6px; + top: -17px; +} +.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle { + left: -17px; + right: auto; +} +/* Styling; + * Giving the connect element a border radius causes issues with using transform: scale + */ +.noUi-target { + background: #FAFAFA; + border-radius: 4px; + border: 1px solid #D3D3D3; + box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB; +} +.noUi-connects { + border-radius: 3px; +} +.noUi-connect { + background: #3FB8AF; +} +/* Handles and cursors; + */ +.noUi-draggable { + cursor: ew-resize; +} +.noUi-vertical .noUi-draggable { + cursor: ns-resize; +} +.noUi-handle { + border: 1px solid #D9D9D9; + border-radius: 3px; + background: #FFF; + cursor: default; + box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB; +} +.noUi-active { + box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB; +} +/* Handle stripes; + */ +.noUi-handle:before, +.noUi-handle:after { + content: ""; + display: block; + position: absolute; + height: 14px; + width: 1px; + background: #E8E7E6; + left: 14px; + top: 6px; +} +.noUi-handle:after { + left: 17px; +} +.noUi-vertical .noUi-handle:before, +.noUi-vertical .noUi-handle:after { + width: 14px; + height: 1px; + left: 6px; + top: 14px; +} +.noUi-vertical .noUi-handle:after { + top: 17px; +} +/* Disabled state; + */ +[disabled] .noUi-connect { + background: #B8B8B8; +} +[disabled].noUi-target, +[disabled].noUi-handle, +[disabled] .noUi-handle { + cursor: not-allowed; +} +/* Base; + * + */ +.noUi-pips, +.noUi-pips * { + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.noUi-pips { + position: absolute; + color: #999; +} +/* Values; + * + */ +.noUi-value { + position: absolute; + white-space: nowrap; + text-align: center; +} +.noUi-value-sub { + color: #ccc; + font-size: 10px; +} +/* Markings; + * + */ +.noUi-marker { + position: absolute; + background: #CCC; +} +.noUi-marker-sub { + background: #AAA; +} +.noUi-marker-large { + background: #AAA; +} +/* Horizontal layout; + * + */ +.noUi-pips-horizontal { + padding: 10px 0; + height: 80px; + top: 100%; + left: 0; + width: 100%; +} +.noUi-value-horizontal { + -webkit-transform: translate(-50%, 50%); + transform: translate(-50%, 50%); +} +.noUi-rtl .noUi-value-horizontal { + -webkit-transform: translate(50%, 50%); + transform: translate(50%, 50%); +} +.noUi-marker-horizontal.noUi-marker { + margin-left: -1px; + width: 2px; + height: 5px; +} +.noUi-marker-horizontal.noUi-marker-sub { + height: 10px; +} +.noUi-marker-horizontal.noUi-marker-large { + height: 15px; +} +/* Vertical layout; + * + */ +.noUi-pips-vertical { + padding: 0 10px; + height: 100%; + top: 0; + left: 100%; +} +.noUi-value-vertical { + -webkit-transform: translate(0, -50%); + transform: translate(0, -50%); + padding-left: 25px; +} +.noUi-rtl .noUi-value-vertical { + -webkit-transform: translate(0, 50%); + transform: translate(0, 50%); +} +.noUi-marker-vertical.noUi-marker { + width: 5px; + height: 2px; + margin-top: -1px; +} +.noUi-marker-vertical.noUi-marker-sub { + width: 10px; +} +.noUi-marker-vertical.noUi-marker-large { + width: 15px; +} +.noUi-tooltip { + display: block; + position: absolute; + border: 1px solid #D9D9D9; + border-radius: 3px; + background: #fff; + color: #000; + padding: 5px; + text-align: center; + white-space: nowrap; +} +.noUi-horizontal .noUi-tooltip { + -webkit-transform: translate(-50%, 0); + transform: translate(-50%, 0); + left: 50%; + bottom: 120%; +} +.noUi-vertical .noUi-tooltip { + -webkit-transform: translate(0, -50%); + transform: translate(0, -50%); + top: 50%; + right: 120%; +} +.noUi-horizontal .noUi-origin > .noUi-tooltip { + -webkit-transform: translate(50%, 0); + transform: translate(50%, 0); + left: auto; + bottom: 10px; +} +.noUi-vertical .noUi-origin > .noUi-tooltip { + -webkit-transform: translate(0, -18px); + transform: translate(0, -18px); + top: auto; + right: 28px; +} diff --git a/public/js/vendor/nouislider/distribute/nouislider.js b/public/js/vendor/nouislider/distribute/nouislider.js new file mode 100644 index 0000000..470cc10 --- /dev/null +++ b/public/js/vendor/nouislider/distribute/nouislider.js @@ -0,0 +1,2178 @@ +/*! nouislider - 14.7.0 - 4/6/2021 */ +(function(factory) { + if (typeof define === "function" && define.amd) { + define([], factory); + } else if (typeof exports === "object") { + module.exports = factory(); + } else { + window.noUiSlider = factory(); + } +})(function() { + "use strict"; + var VERSION = "14.7.0"; + //region Helper Methods + function isValidFormatter(entry) { + return typeof entry === "object" && typeof entry.to === "function" && typeof entry.from === "function"; + } + function removeElement(el) { + el.parentElement.removeChild(el); + } + function isSet(value) { + return value !== null && value !== undefined; + } + // Bindable version + function preventDefault(e) { + e.preventDefault(); + } + // Removes duplicates from an array. + function unique(array) { + return array.filter(function (a) { + return !this[a] ? (this[a] = true) : false; + }, {}); + } + // Round a value to the closest 'to'. + function closest(value, to) { + return Math.round(value / to) * to; + } + // Current position of an element relative to the document. + function offset(elem, orientation) { + var rect = elem.getBoundingClientRect(); + var doc = elem.ownerDocument; + var docElem = doc.documentElement; + var pageOffset = getPageOffset(doc); + // getBoundingClientRect contains left scroll in Chrome on Android. + // I haven't found a feature detection that proves this. Worst case + // scenario on mis-match: the 'tap' feature on horizontal sliders breaks. + if (/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)) { + pageOffset.x = 0; + } + return orientation ? rect.top + pageOffset.y - docElem.clientTop : rect.left + pageOffset.x - docElem.clientLeft; + } + // Checks whether a value is numerical. + function isNumeric(a) { + return typeof a === "number" && !isNaN(a) && isFinite(a); + } + // Sets a class and removes it after [duration] ms. + function addClassFor(element, className, duration) { + if (duration > 0) { + addClass(element, className); + setTimeout(function () { + removeClass(element, className); + }, duration); + } + } + // Limits a value to 0 - 100 + function limit(a) { + return Math.max(Math.min(a, 100), 0); + } + // Wraps a variable as an array, if it isn't one yet. + // Note that an input array is returned by reference! + function asArray(a) { + return Array.isArray(a) ? a : [a]; + } + // Counts decimals + function countDecimals(numStr) { + numStr = String(numStr); + var pieces = numStr.split("."); + return pieces.length > 1 ? pieces[1].length : 0; + } + // http://youmightnotneedjquery.com/#add_class + function addClass(el, className) { + if (el.classList && !/\s/.test(className)) { + el.classList.add(className); + } + else { + el.className += " " + className; + } + } + // http://youmightnotneedjquery.com/#remove_class + function removeClass(el, className) { + if (el.classList && !/\s/.test(className)) { + el.classList.remove(className); + } + else { + el.className = el.className.replace(new RegExp("(^|\\b)" + className.split(" ").join("|") + "(\\b|$)", "gi"), " "); + } + } + // https://plainjs.com/javascript/attributes/adding-removing-and-testing-for-classes-9/ + function hasClass(el, className) { + return el.classList ? el.classList.contains(className) : new RegExp("\\b" + className + "\\b").test(el.className); + } + // https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY#Notes + function getPageOffset(doc) { + var supportPageOffset = window.pageXOffset !== undefined; + var isCSS1Compat = (doc.compatMode || "") === "CSS1Compat"; + var x = supportPageOffset + ? window.pageXOffset + : isCSS1Compat + ? doc.documentElement.scrollLeft + : doc.body.scrollLeft; + var y = supportPageOffset ? window.pageYOffset : isCSS1Compat ? doc.documentElement.scrollTop : doc.body.scrollTop; + return { + x: x, + y: y + }; + } + // we provide a function to compute constants instead + // of accessing window.* as soon as the module needs it + // so that we do not compute anything if not needed + function getActions() { + // Determine the events to bind. IE11 implements pointerEvents without + // a prefix, which breaks compatibility with the IE10 implementation. + return window.navigator.pointerEnabled + ? { + start: "pointerdown", + move: "pointermove", + end: "pointerup" + } + : window.navigator.msPointerEnabled + ? { + start: "MSPointerDown", + move: "MSPointerMove", + end: "MSPointerUp" + } + : { + start: "mousedown touchstart", + move: "mousemove touchmove", + end: "mouseup touchend" + }; + } + // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md + // Issue #785 + function getSupportsPassive() { + var supportsPassive = false; + /* eslint-disable */ + try { + var opts = Object.defineProperty({}, "passive", { + get: function () { + supportsPassive = true; + } + }); + window.addEventListener("test", null, opts); + } + catch (e) { } + /* eslint-enable */ + return supportsPassive; + } + function getSupportsTouchActionNone() { + return window.CSS && CSS.supports && CSS.supports("touch-action", "none"); + } + //endregion + //region Range Calculation + // Determine the size of a sub-range in relation to a full range. + function subRangeRatio(pa, pb) { + return 100 / (pb - pa); + } + // (percentage) How many percent is this value of this range? + function fromPercentage(range, value, startRange) { + return (value * 100) / (range[startRange + 1] - range[startRange]); + } + // (percentage) Where is this value on this range? + function toPercentage(range, value) { + return fromPercentage(range, range[0] < 0 ? value + Math.abs(range[0]) : value - range[0], 0); + } + // (value) How much is this percentage on this range? + function isPercentage(range, value) { + return (value * (range[1] - range[0])) / 100 + range[0]; + } + function getJ(value, arr) { + var j = 1; + while (value >= arr[j]) { + j += 1; + } + return j; + } + // (percentage) Input a value, find where, on a scale of 0-100, it applies. + function toStepping(xVal, xPct, value) { + if (value >= xVal.slice(-1)[0]) { + return 100; + } + var j = getJ(value, xVal); + var va = xVal[j - 1]; + var vb = xVal[j]; + var pa = xPct[j - 1]; + var pb = xPct[j]; + return pa + toPercentage([va, vb], value) / subRangeRatio(pa, pb); + } + // (value) Input a percentage, find where it is on the specified range. + function fromStepping(xVal, xPct, value) { + // There is no range group that fits 100 + if (value >= 100) { + return xVal.slice(-1)[0]; + } + var j = getJ(value, xPct); + var va = xVal[j - 1]; + var vb = xVal[j]; + var pa = xPct[j - 1]; + var pb = xPct[j]; + return isPercentage([va, vb], (value - pa) * subRangeRatio(pa, pb)); + } + // (percentage) Get the step that applies at a certain value. + function getStep(xPct, xSteps, snap, value) { + if (value === 100) { + return value; + } + var j = getJ(value, xPct); + var a = xPct[j - 1]; + var b = xPct[j]; + // If 'snap' is set, steps are used as fixed points on the slider. + if (snap) { + // Find the closest position, a or b. + if (value - a > (b - a) / 2) { + return b; + } + return a; + } + if (!xSteps[j - 1]) { + return value; + } + return xPct[j - 1] + closest(value - xPct[j - 1], xSteps[j - 1]); + } + function handleEntryPoint(index, value, that) { + var percentage; + // Wrap numerical input in an array. + if (typeof value === "number") { + value = [value]; + } + // Reject any invalid input, by testing whether value is an array. + if (!Array.isArray(value)) { + throw new Error("noUiSlider (" + VERSION + "): 'range' contains invalid value."); + } + // Covert min/max syntax to 0 and 100. + if (index === "min") { + percentage = 0; + } + else if (index === "max") { + percentage = 100; + } + else { + percentage = parseFloat(index); + } + // Check for correct input. + if (!isNumeric(percentage) || !isNumeric(value[0])) { + throw new Error("noUiSlider (" + VERSION + "): 'range' value isn't numeric."); + } + // Store values. + that.xPct.push(percentage); + that.xVal.push(value[0]); + // NaN will evaluate to false too, but to keep + // logging clear, set step explicitly. Make sure + // not to override the 'step' setting with false. + if (!percentage) { + if (!isNaN(value[1])) { + that.xSteps[0] = value[1]; + } + } + else { + that.xSteps.push(isNaN(value[1]) ? false : value[1]); + } + that.xHighestCompleteStep.push(0); + } + function handleStepPoint(i, n, that) { + // Ignore 'false' stepping. + if (!n) { + return; + } + // Step over zero-length ranges (#948); + if (that.xVal[i] === that.xVal[i + 1]) { + that.xSteps[i] = that.xHighestCompleteStep[i] = that.xVal[i]; + return; + } + // Factor to range ratio + that.xSteps[i] = + fromPercentage([that.xVal[i], that.xVal[i + 1]], n, 0) / subRangeRatio(that.xPct[i], that.xPct[i + 1]); + var totalSteps = (that.xVal[i + 1] - that.xVal[i]) / that.xNumSteps[i]; + var highestStep = Math.ceil(Number(totalSteps.toFixed(3)) - 1); + var step = that.xVal[i] + that.xNumSteps[i] * highestStep; + that.xHighestCompleteStep[i] = step; + } + //endregion + //region Spectrum + function Spectrum(entry, snap, singleStep) { + this.xPct = []; + this.xVal = []; + this.xSteps = [singleStep || false]; + this.xNumSteps = [false]; + this.xHighestCompleteStep = []; + this.snap = snap; + var index; + var ordered = []; // [0, 'min'], [1, '50%'], [2, 'max'] + // Map the object keys to an array. + for (index in entry) { + if (entry.hasOwnProperty(index)) { + ordered.push([entry[index], index]); + } + } + // Sort all entries by value (numeric sort). + if (ordered.length && typeof ordered[0][0] === "object") { + ordered.sort(function (a, b) { + return a[0][0] - b[0][0]; + }); + } + else { + ordered.sort(function (a, b) { + return a[0] - b[0]; + }); + } + // Convert all entries to subranges. + for (index = 0; index < ordered.length; index++) { + handleEntryPoint(ordered[index][1], ordered[index][0], this); + } + // Store the actual step values. + // xSteps is sorted in the same order as xPct and xVal. + this.xNumSteps = this.xSteps.slice(0); + // Convert all numeric steps to the percentage of the subrange they represent. + for (index = 0; index < this.xNumSteps.length; index++) { + handleStepPoint(index, this.xNumSteps[index], this); + } + } + Spectrum.prototype.getDistance = function (value) { + var index; + var distances = []; + for (index = 0; index < this.xNumSteps.length - 1; index++) { + // last "range" can't contain step size as it is purely an endpoint. + var step = this.xNumSteps[index]; + if (step && (value / step) % 1 !== 0) { + throw new Error("noUiSlider (" + + VERSION + + "): 'limit', 'margin' and 'padding' of " + + this.xPct[index] + + "% range must be divisible by step."); + } + // Calculate percentual distance in current range of limit, margin or padding + distances[index] = fromPercentage(this.xVal, value, index); + } + return distances; + }; + // Calculate the percentual distance over the whole scale of ranges. + // direction: 0 = backwards / 1 = forwards + Spectrum.prototype.getAbsoluteDistance = function (value, distances, direction) { + var xPct_index = 0; + // Calculate range where to start calculation + if (value < this.xPct[this.xPct.length - 1]) { + while (value > this.xPct[xPct_index + 1]) { + xPct_index++; + } + } + else if (value === this.xPct[this.xPct.length - 1]) { + xPct_index = this.xPct.length - 2; + } + // If looking backwards and the value is exactly at a range separator then look one range further + if (!direction && value === this.xPct[xPct_index + 1]) { + xPct_index++; + } + var start_factor; + var rest_factor = 1; + var rest_rel_distance = distances[xPct_index]; + var range_pct = 0; + var rel_range_distance = 0; + var abs_distance_counter = 0; + var range_counter = 0; + // Calculate what part of the start range the value is + if (direction) { + start_factor = (value - this.xPct[xPct_index]) / (this.xPct[xPct_index + 1] - this.xPct[xPct_index]); + } + else { + start_factor = (this.xPct[xPct_index + 1] - value) / (this.xPct[xPct_index + 1] - this.xPct[xPct_index]); + } + // Do until the complete distance across ranges is calculated + while (rest_rel_distance > 0) { + // Calculate the percentage of total range + range_pct = this.xPct[xPct_index + 1 + range_counter] - this.xPct[xPct_index + range_counter]; + // Detect if the margin, padding or limit is larger then the current range and calculate + if (distances[xPct_index + range_counter] * rest_factor + 100 - start_factor * 100 > 100) { + // If larger then take the percentual distance of the whole range + rel_range_distance = range_pct * start_factor; + // Rest factor of relative percentual distance still to be calculated + rest_factor = (rest_rel_distance - 100 * start_factor) / distances[xPct_index + range_counter]; + // Set start factor to 1 as for next range it does not apply. + start_factor = 1; + } + else { + // If smaller or equal then take the percentual distance of the calculate percentual part of that range + rel_range_distance = ((distances[xPct_index + range_counter] * range_pct) / 100) * rest_factor; + // No rest left as the rest fits in current range + rest_factor = 0; + } + if (direction) { + abs_distance_counter = abs_distance_counter - rel_range_distance; + // Limit range to first range when distance becomes outside of minimum range + if (this.xPct.length + range_counter >= 1) { + range_counter--; + } + } + else { + abs_distance_counter = abs_distance_counter + rel_range_distance; + // Limit range to last range when distance becomes outside of maximum range + if (this.xPct.length - range_counter >= 1) { + range_counter++; + } + } + // Rest of relative percentual distance still to be calculated + rest_rel_distance = distances[xPct_index + range_counter] * rest_factor; + } + return value + abs_distance_counter; + }; + Spectrum.prototype.toStepping = function (value) { + value = toStepping(this.xVal, this.xPct, value); + return value; + }; + Spectrum.prototype.fromStepping = function (value) { + return fromStepping(this.xVal, this.xPct, value); + }; + Spectrum.prototype.getStep = function (value) { + value = getStep(this.xPct, this.xSteps, this.snap, value); + return value; + }; + Spectrum.prototype.getDefaultStep = function (value, isDown, size) { + var j = getJ(value, this.xPct); + // When at the top or stepping down, look at the previous sub-range + if (value === 100 || (isDown && value === this.xPct[j - 1])) { + j = Math.max(j - 1, 1); + } + return (this.xVal[j] - this.xVal[j - 1]) / size; + }; + Spectrum.prototype.getNearbySteps = function (value) { + var j = getJ(value, this.xPct); + return { + stepBefore: { + startValue: this.xVal[j - 2], + step: this.xNumSteps[j - 2], + highestStep: this.xHighestCompleteStep[j - 2] + }, + thisStep: { + startValue: this.xVal[j - 1], + step: this.xNumSteps[j - 1], + highestStep: this.xHighestCompleteStep[j - 1] + }, + stepAfter: { + startValue: this.xVal[j], + step: this.xNumSteps[j], + highestStep: this.xHighestCompleteStep[j] + } + }; + }; + Spectrum.prototype.countStepDecimals = function () { + var stepDecimals = this.xNumSteps.map(countDecimals); + return Math.max.apply(null, stepDecimals); + }; + // Outside testing + Spectrum.prototype.convert = function (value) { + return this.getStep(this.toStepping(value)); + }; + //endregion + //region Options + /* Every input option is tested and parsed. This'll prevent + endless validation in internal methods. These tests are + structured with an item for every option available. An + option can be marked as required by setting the 'r' flag. + The testing function is provided with three arguments: + - The provided value for the option; + - A reference to the options object; + - The name for the option; + + The testing function returns false when an error is detected, + or true when everything is OK. It can also modify the option + object, to make sure all values can be correctly looped elsewhere. */ + //region Defaults + var defaultFormatter = { + to: function (value) { + return value !== undefined && value.toFixed(2); + }, + from: Number + }; + var cssClasses = { + target: "target", + base: "base", + origin: "origin", + handle: "handle", + handleLower: "handle-lower", + handleUpper: "handle-upper", + touchArea: "touch-area", + horizontal: "horizontal", + vertical: "vertical", + background: "background", + connect: "connect", + connects: "connects", + ltr: "ltr", + rtl: "rtl", + textDirectionLtr: "txt-dir-ltr", + textDirectionRtl: "txt-dir-rtl", + draggable: "draggable", + drag: "state-drag", + tap: "state-tap", + active: "active", + tooltip: "tooltip", + pips: "pips", + pipsHorizontal: "pips-horizontal", + pipsVertical: "pips-vertical", + marker: "marker", + markerHorizontal: "marker-horizontal", + markerVertical: "marker-vertical", + markerNormal: "marker-normal", + markerLarge: "marker-large", + markerSub: "marker-sub", + value: "value", + valueHorizontal: "value-horizontal", + valueVertical: "value-vertical", + valueNormal: "value-normal", + valueLarge: "value-large", + valueSub: "value-sub" + }; + // Namespaces of internal event listeners + var INTERNAL_EVENT_NS = { + tooltips: ".__tooltips", + aria: ".__aria" + }; + //endregion + function validateFormat(entry) { + // Any object with a to and from method is supported. + if (isValidFormatter(entry)) { + return true; + } + throw new Error("noUiSlider (" + VERSION + "): 'format' requires 'to' and 'from' methods."); + } + function testStep(parsed, entry) { + if (!isNumeric(entry)) { + throw new Error("noUiSlider (" + VERSION + "): 'step' is not numeric."); + } + // The step option can still be used to set stepping + // for linear sliders. Overwritten if set in 'range'. + parsed.singleStep = entry; + } + function testKeyboardPageMultiplier(parsed, entry) { + if (!isNumeric(entry)) { + throw new Error("noUiSlider (" + VERSION + "): 'keyboardPageMultiplier' is not numeric."); + } + parsed.keyboardPageMultiplier = entry; + } + function testKeyboardDefaultStep(parsed, entry) { + if (!isNumeric(entry)) { + throw new Error("noUiSlider (" + VERSION + "): 'keyboardDefaultStep' is not numeric."); + } + parsed.keyboardDefaultStep = entry; + } + function testRange(parsed, entry) { + // Filter incorrect input. + if (typeof entry !== "object" || Array.isArray(entry)) { + throw new Error("noUiSlider (" + VERSION + "): 'range' is not an object."); + } + // Catch missing start or end. + if (entry.min === undefined || entry.max === undefined) { + throw new Error("noUiSlider (" + VERSION + "): Missing 'min' or 'max' in 'range'."); + } + // Catch equal start or end. + if (entry.min === entry.max) { + throw new Error("noUiSlider (" + VERSION + "): 'range' 'min' and 'max' cannot be equal."); + } + parsed.spectrum = new Spectrum(entry, parsed.snap, parsed.singleStep); + } + function testStart(parsed, entry) { + entry = asArray(entry); + // Validate input. Values aren't tested, as the public .val method + // will always provide a valid location. + if (!Array.isArray(entry) || !entry.length) { + throw new Error("noUiSlider (" + VERSION + "): 'start' option is incorrect."); + } + // Store the number of handles. + parsed.handles = entry.length; + // When the slider is initialized, the .val method will + // be called with the start options. + parsed.start = entry; + } + function testSnap(parsed, entry) { + // Enforce 100% stepping within subranges. + parsed.snap = entry; + if (typeof entry !== "boolean") { + throw new Error("noUiSlider (" + VERSION + "): 'snap' option must be a boolean."); + } + } + function testAnimate(parsed, entry) { + // Enforce 100% stepping within subranges. + parsed.animate = entry; + if (typeof entry !== "boolean") { + throw new Error("noUiSlider (" + VERSION + "): 'animate' option must be a boolean."); + } + } + function testAnimationDuration(parsed, entry) { + parsed.animationDuration = entry; + if (typeof entry !== "number") { + throw new Error("noUiSlider (" + VERSION + "): 'animationDuration' option must be a number."); + } + } + function testConnect(parsed, entry) { + var connect = [false]; + var i; + // Map legacy options + if (entry === "lower") { + entry = [true, false]; + } + else if (entry === "upper") { + entry = [false, true]; + } + // Handle boolean options + if (entry === true || entry === false) { + for (i = 1; i < parsed.handles; i++) { + connect.push(entry); + } + connect.push(false); + } + // Reject invalid input + else if (!Array.isArray(entry) || !entry.length || entry.length !== parsed.handles + 1) { + throw new Error("noUiSlider (" + VERSION + "): 'connect' option doesn't match handle count."); + } + else { + connect = entry; + } + parsed.connect = connect; + } + function testOrientation(parsed, entry) { + // Set orientation to an a numerical value for easy + // array selection. + switch (entry) { + case "horizontal": + parsed.ort = 0; + break; + case "vertical": + parsed.ort = 1; + break; + default: + throw new Error("noUiSlider (" + VERSION + "): 'orientation' option is invalid."); + } + } + function testMargin(parsed, entry) { + if (!isNumeric(entry)) { + throw new Error("noUiSlider (" + VERSION + "): 'margin' option must be numeric."); + } + // Issue #582 + if (entry === 0) { + return; + } + parsed.margin = parsed.spectrum.getDistance(entry); + } + function testLimit(parsed, entry) { + if (!isNumeric(entry)) { + throw new Error("noUiSlider (" + VERSION + "): 'limit' option must be numeric."); + } + parsed.limit = parsed.spectrum.getDistance(entry); + if (!parsed.limit || parsed.handles < 2) { + throw new Error("noUiSlider (" + VERSION + "): 'limit' option is only supported on linear sliders with 2 or more handles."); + } + } + function testPadding(parsed, entry) { + var index; + if (!isNumeric(entry) && !Array.isArray(entry)) { + throw new Error("noUiSlider (" + VERSION + "): 'padding' option must be numeric or array of exactly 2 numbers."); + } + if (Array.isArray(entry) && !(entry.length === 2 || isNumeric(entry[0]) || isNumeric(entry[1]))) { + throw new Error("noUiSlider (" + VERSION + "): 'padding' option must be numeric or array of exactly 2 numbers."); + } + if (entry === 0) { + return; + } + if (!Array.isArray(entry)) { + entry = [entry, entry]; + } + // 'getDistance' returns false for invalid values. + parsed.padding = [parsed.spectrum.getDistance(entry[0]), parsed.spectrum.getDistance(entry[1])]; + for (index = 0; index < parsed.spectrum.xNumSteps.length - 1; index++) { + // last "range" can't contain step size as it is purely an endpoint. + if (parsed.padding[0][index] < 0 || parsed.padding[1][index] < 0) { + throw new Error("noUiSlider (" + VERSION + "): 'padding' option must be a positive number(s)."); + } + } + var totalPadding = entry[0] + entry[1]; + var firstValue = parsed.spectrum.xVal[0]; + var lastValue = parsed.spectrum.xVal[parsed.spectrum.xVal.length - 1]; + if (totalPadding / (lastValue - firstValue) > 1) { + throw new Error("noUiSlider (" + VERSION + "): 'padding' option must not exceed 100% of the range."); + } + } + function testDirection(parsed, entry) { + // Set direction as a numerical value for easy parsing. + // Invert connection for RTL sliders, so that the proper + // handles get the connect/background classes. + switch (entry) { + case "ltr": + parsed.dir = 0; + break; + case "rtl": + parsed.dir = 1; + break; + default: + throw new Error("noUiSlider (" + VERSION + "): 'direction' option was not recognized."); + } + } + function testBehaviour(parsed, entry) { + // Make sure the input is a string. + if (typeof entry !== "string") { + throw new Error("noUiSlider (" + VERSION + "): 'behaviour' must be a string containing options."); + } + // Check if the string contains any keywords. + // None are required. + var tap = entry.indexOf("tap") >= 0; + var drag = entry.indexOf("drag") >= 0; + var fixed = entry.indexOf("fixed") >= 0; + var snap = entry.indexOf("snap") >= 0; + var hover = entry.indexOf("hover") >= 0; + var unconstrained = entry.indexOf("unconstrained") >= 0; + if (fixed) { + if (parsed.handles !== 2) { + throw new Error("noUiSlider (" + VERSION + "): 'fixed' behaviour must be used with 2 handles"); + } + // Use margin to enforce fixed state + testMargin(parsed, parsed.start[1] - parsed.start[0]); + } + if (unconstrained && (parsed.margin || parsed.limit)) { + throw new Error("noUiSlider (" + VERSION + "): 'unconstrained' behaviour cannot be used with margin or limit"); + } + parsed.events = { + tap: tap || snap, + drag: drag, + fixed: fixed, + snap: snap, + hover: hover, + unconstrained: unconstrained + }; + } + function testTooltips(parsed, entry) { + if (entry === false) { + return; + } + if (entry === true) { + parsed.tooltips = []; + for (var i = 0; i < parsed.handles; i++) { + parsed.tooltips.push(true); + } + } + else { + parsed.tooltips = asArray(entry); + if (parsed.tooltips.length !== parsed.handles) { + throw new Error("noUiSlider (" + VERSION + "): must pass a formatter for all handles."); + } + parsed.tooltips.forEach(function (formatter) { + if (typeof formatter !== "boolean" && + (typeof formatter !== "object" || typeof formatter.to !== "function")) { + throw new Error("noUiSlider (" + VERSION + "): 'tooltips' must be passed a formatter or 'false'."); + } + }); + } + } + function testAriaFormat(parsed, entry) { + parsed.ariaFormat = entry; + validateFormat(entry); + } + function testFormat(parsed, entry) { + parsed.format = entry; + validateFormat(entry); + } + function testKeyboardSupport(parsed, entry) { + parsed.keyboardSupport = entry; + if (typeof entry !== "boolean") { + throw new Error("noUiSlider (" + VERSION + "): 'keyboardSupport' option must be a boolean."); + } + } + function testDocumentElement(parsed, entry) { + // This is an advanced option. Passed values are used without validation. + parsed.documentElement = entry; + } + function testCssPrefix(parsed, entry) { + if (typeof entry !== "string" && entry !== false) { + throw new Error("noUiSlider (" + VERSION + "): 'cssPrefix' must be a string or `false`."); + } + parsed.cssPrefix = entry; + } + function testCssClasses(parsed, entry) { + if (typeof entry !== "object") { + throw new Error("noUiSlider (" + VERSION + "): 'cssClasses' must be an object."); + } + if (typeof parsed.cssPrefix === "string") { + parsed.cssClasses = {}; + for (var key in entry) { + if (!entry.hasOwnProperty(key)) { + continue; + } + parsed.cssClasses[key] = parsed.cssPrefix + entry[key]; + } + } + else { + parsed.cssClasses = entry; + } + } + // Test all developer settings and parse to assumption-safe values. + function testOptions(options) { + // To prove a fix for #537, freeze options here. + // If the object is modified, an error will be thrown. + // Object.freeze(options); + var parsed = { + margin: 0, + limit: 0, + padding: 0, + animate: true, + animationDuration: 300, + ariaFormat: defaultFormatter, + format: defaultFormatter + }; + // Tests are executed in the order they are presented here. + var tests = { + step: { r: false, t: testStep }, + keyboardPageMultiplier: { r: false, t: testKeyboardPageMultiplier }, + keyboardDefaultStep: { r: false, t: testKeyboardDefaultStep }, + start: { r: true, t: testStart }, + connect: { r: true, t: testConnect }, + direction: { r: true, t: testDirection }, + snap: { r: false, t: testSnap }, + animate: { r: false, t: testAnimate }, + animationDuration: { r: false, t: testAnimationDuration }, + range: { r: true, t: testRange }, + orientation: { r: false, t: testOrientation }, + margin: { r: false, t: testMargin }, + limit: { r: false, t: testLimit }, + padding: { r: false, t: testPadding }, + behaviour: { r: true, t: testBehaviour }, + ariaFormat: { r: false, t: testAriaFormat }, + format: { r: false, t: testFormat }, + tooltips: { r: false, t: testTooltips }, + keyboardSupport: { r: true, t: testKeyboardSupport }, + documentElement: { r: false, t: testDocumentElement }, + cssPrefix: { r: true, t: testCssPrefix }, + cssClasses: { r: true, t: testCssClasses } + }; + var defaults = { + connect: false, + direction: "ltr", + behaviour: "tap", + orientation: "horizontal", + keyboardSupport: true, + cssPrefix: "noUi-", + cssClasses: cssClasses, + keyboardPageMultiplier: 5, + keyboardDefaultStep: 10 + }; + // AriaFormat defaults to regular format, if any. + if (options.format && !options.ariaFormat) { + options.ariaFormat = options.format; + } + // Run all options through a testing mechanism to ensure correct + // input. It should be noted that options might get modified to + // be handled properly. E.g. wrapping integers in arrays. + Object.keys(tests).forEach(function (name) { + // If the option isn't set, but it is required, throw an error. + if (!isSet(options[name]) && defaults[name] === undefined) { + if (tests[name].r) { + throw new Error("noUiSlider (" + VERSION + "): '" + name + "' is required."); + } + return true; + } + tests[name].t(parsed, !isSet(options[name]) ? defaults[name] : options[name]); + }); + // Forward pips options + parsed.pips = options.pips; + // All recent browsers accept unprefixed transform. + // We need -ms- for IE9 and -webkit- for older Android; + // Assume use of -webkit- if unprefixed and -ms- are not supported. + // https://caniuse.com/#feat=transforms2d + var d = document.createElement("div"); + var msPrefix = d.style.msTransform !== undefined; + var noPrefix = d.style.transform !== undefined; + parsed.transformRule = noPrefix ? "transform" : msPrefix ? "msTransform" : "webkitTransform"; + // Pips don't move, so we can place them using left/top. + var styles = [["left", "top"], ["right", "bottom"]]; + parsed.style = styles[parsed.dir][parsed.ort]; + return parsed; + } + //endregion + function scope(target, options, originalOptions) { + var actions = getActions(); + var supportsTouchActionNone = getSupportsTouchActionNone(); + var supportsPassive = supportsTouchActionNone && getSupportsPassive(); + // All variables local to 'scope' are prefixed with 'scope_' + // Slider DOM Nodes + var scope_Target = target; + var scope_Base; + var scope_Handles; + var scope_Connects; + var scope_Pips; + var scope_Tooltips; + // Slider state values + var scope_Spectrum = options.spectrum; + var scope_Values = []; + var scope_Locations = []; + var scope_HandleNumbers = []; + var scope_ActiveHandlesCount = 0; + var scope_Events = {}; + // Exposed API + var scope_Self; + // Document Nodes + var scope_Document = target.ownerDocument; + var scope_DocumentElement = options.documentElement || scope_Document.documentElement; + var scope_Body = scope_Document.body; + // Pips constants + var PIPS_NONE = -1; + var PIPS_NO_VALUE = 0; + var PIPS_LARGE_VALUE = 1; + var PIPS_SMALL_VALUE = 2; + // For horizontal sliders in standard ltr documents, + // make .noUi-origin overflow to the left so the document doesn't scroll. + var scope_DirOffset = scope_Document.dir === "rtl" || options.ort === 1 ? 0 : 100; + // Creates a node, adds it to target, returns the new node. + function addNodeTo(addTarget, className) { + var div = scope_Document.createElement("div"); + if (className) { + addClass(div, className); + } + addTarget.appendChild(div); + return div; + } + // Append a origin to the base + function addOrigin(base, handleNumber) { + var origin = addNodeTo(base, options.cssClasses.origin); + var handle = addNodeTo(origin, options.cssClasses.handle); + addNodeTo(handle, options.cssClasses.touchArea); + handle.setAttribute("data-handle", handleNumber); + if (options.keyboardSupport) { + // https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex + // 0 = focusable and reachable + handle.setAttribute("tabindex", "0"); + handle.addEventListener("keydown", function (event) { + return eventKeydown(event, handleNumber); + }); + } + handle.setAttribute("role", "slider"); + handle.setAttribute("aria-orientation", options.ort ? "vertical" : "horizontal"); + if (handleNumber === 0) { + addClass(handle, options.cssClasses.handleLower); + } + else if (handleNumber === options.handles - 1) { + addClass(handle, options.cssClasses.handleUpper); + } + return origin; + } + // Insert nodes for connect elements + function addConnect(base, add) { + if (!add) { + return false; + } + return addNodeTo(base, options.cssClasses.connect); + } + // Add handles to the slider base. + function addElements(connectOptions, base) { + var connectBase = addNodeTo(base, options.cssClasses.connects); + scope_Handles = []; + scope_Connects = []; + scope_Connects.push(addConnect(connectBase, connectOptions[0])); + // [::::O====O====O====] + // connectOptions = [0, 1, 1, 1] + for (var i = 0; i < options.handles; i++) { + // Keep a list of all added handles. + scope_Handles.push(addOrigin(base, i)); + scope_HandleNumbers[i] = i; + scope_Connects.push(addConnect(connectBase, connectOptions[i + 1])); + } + } + // Initialize a single slider. + function addSlider(addTarget) { + // Apply classes and data to the target. + addClass(addTarget, options.cssClasses.target); + if (options.dir === 0) { + addClass(addTarget, options.cssClasses.ltr); + } + else { + addClass(addTarget, options.cssClasses.rtl); + } + if (options.ort === 0) { + addClass(addTarget, options.cssClasses.horizontal); + } + else { + addClass(addTarget, options.cssClasses.vertical); + } + var textDirection = getComputedStyle(addTarget).direction; + if (textDirection === "rtl") { + addClass(addTarget, options.cssClasses.textDirectionRtl); + } + else { + addClass(addTarget, options.cssClasses.textDirectionLtr); + } + return addNodeTo(addTarget, options.cssClasses.base); + } + function addTooltip(handle, handleNumber) { + if (!options.tooltips[handleNumber]) { + return false; + } + return addNodeTo(handle.firstChild, options.cssClasses.tooltip); + } + function isSliderDisabled() { + return scope_Target.hasAttribute("disabled"); + } + // Disable the slider dragging if any handle is disabled + function isHandleDisabled(handleNumber) { + var handleOrigin = scope_Handles[handleNumber]; + return handleOrigin.hasAttribute("disabled"); + } + function removeTooltips() { + if (scope_Tooltips) { + removeEvent("update" + INTERNAL_EVENT_NS.tooltips); + scope_Tooltips.forEach(function (tooltip) { + if (tooltip) { + removeElement(tooltip); + } + }); + scope_Tooltips = null; + } + } + // The tooltips option is a shorthand for using the 'update' event. + function tooltips() { + removeTooltips(); + // Tooltips are added with options.tooltips in original order. + scope_Tooltips = scope_Handles.map(addTooltip); + bindEvent("update" + INTERNAL_EVENT_NS.tooltips, function (values, handleNumber, unencoded) { + if (!scope_Tooltips[handleNumber]) { + return; + } + var formattedValue = values[handleNumber]; + if (options.tooltips[handleNumber] !== true) { + formattedValue = options.tooltips[handleNumber].to(unencoded[handleNumber]); + } + scope_Tooltips[handleNumber].innerHTML = formattedValue; + }); + } + function aria() { + removeEvent("update" + INTERNAL_EVENT_NS.aria); + bindEvent("update" + INTERNAL_EVENT_NS.aria, function (values, handleNumber, unencoded, tap, positions) { + // Update Aria Values for all handles, as a change in one changes min and max values for the next. + scope_HandleNumbers.forEach(function (index) { + var handle = scope_Handles[index]; + var min = checkHandlePosition(scope_Locations, index, 0, true, true, true); + var max = checkHandlePosition(scope_Locations, index, 100, true, true, true); + var now = positions[index]; + // Formatted value for display + var text = options.ariaFormat.to(unencoded[index]); + // Map to slider range values + min = scope_Spectrum.fromStepping(min).toFixed(1); + max = scope_Spectrum.fromStepping(max).toFixed(1); + now = scope_Spectrum.fromStepping(now).toFixed(1); + handle.children[0].setAttribute("aria-valuemin", min); + handle.children[0].setAttribute("aria-valuemax", max); + handle.children[0].setAttribute("aria-valuenow", now); + handle.children[0].setAttribute("aria-valuetext", text); + }); + }); + } + function getGroup(mode, values, stepped) { + // Use the range. + if (mode === "range" || mode === "steps") { + return scope_Spectrum.xVal; + } + if (mode === "count") { + if (values < 2) { + throw new Error("noUiSlider (" + VERSION + "): 'values' (>= 2) required for mode 'count'."); + } + // Divide 0 - 100 in 'count' parts. + var interval = values - 1; + var spread = 100 / interval; + values = []; + // List these parts and have them handled as 'positions'. + while (interval--) { + values[interval] = interval * spread; + } + values.push(100); + mode = "positions"; + } + if (mode === "positions") { + // Map all percentages to on-range values. + return values.map(function (value) { + return scope_Spectrum.fromStepping(stepped ? scope_Spectrum.getStep(value) : value); + }); + } + if (mode === "values") { + // If the value must be stepped, it needs to be converted to a percentage first. + if (stepped) { + return values.map(function (value) { + // Convert to percentage, apply step, return to value. + return scope_Spectrum.fromStepping(scope_Spectrum.getStep(scope_Spectrum.toStepping(value))); + }); + } + // Otherwise, we can simply use the values. + return values; + } + } + function generateSpread(density, mode, group) { + function safeIncrement(value, increment) { + // Avoid floating point variance by dropping the smallest decimal places. + return (value + increment).toFixed(7) / 1; + } + var indexes = {}; + var firstInRange = scope_Spectrum.xVal[0]; + var lastInRange = scope_Spectrum.xVal[scope_Spectrum.xVal.length - 1]; + var ignoreFirst = false; + var ignoreLast = false; + var prevPct = 0; + // Create a copy of the group, sort it and filter away all duplicates. + group = unique(group.slice().sort(function (a, b) { + return a - b; + })); + // Make sure the range starts with the first element. + if (group[0] !== firstInRange) { + group.unshift(firstInRange); + ignoreFirst = true; + } + // Likewise for the last one. + if (group[group.length - 1] !== lastInRange) { + group.push(lastInRange); + ignoreLast = true; + } + group.forEach(function (current, index) { + // Get the current step and the lower + upper positions. + var step; + var i; + var q; + var low = current; + var high = group[index + 1]; + var newPct; + var pctDifference; + var pctPos; + var type; + var steps; + var realSteps; + var stepSize; + var isSteps = mode === "steps"; + // When using 'steps' mode, use the provided steps. + // Otherwise, we'll step on to the next subrange. + if (isSteps) { + step = scope_Spectrum.xNumSteps[index]; + } + // Default to a 'full' step. + if (!step) { + step = high - low; + } + // Low can be 0, so test for false. Index 0 is already handled. + if (low === false) { + return; + } + // If high is undefined we are at the last subrange. Make sure it iterates once (#1088) + if (high === undefined) { + high = low; + } + // Make sure step isn't 0, which would cause an infinite loop (#654) + step = Math.max(step, 0.0000001); + // Find all steps in the subrange. + for (i = low; i <= high; i = safeIncrement(i, step)) { + // Get the percentage value for the current step, + // calculate the size for the subrange. + newPct = scope_Spectrum.toStepping(i); + pctDifference = newPct - prevPct; + steps = pctDifference / density; + realSteps = Math.round(steps); + // This ratio represents the amount of percentage-space a point indicates. + // For a density 1 the points/percentage = 1. For density 2, that percentage needs to be re-divided. + // Round the percentage offset to an even number, then divide by two + // to spread the offset on both sides of the range. + stepSize = pctDifference / realSteps; + // Divide all points evenly, adding the correct number to this subrange. + // Run up to <= so that 100% gets a point, event if ignoreLast is set. + for (q = 1; q <= realSteps; q += 1) { + // The ratio between the rounded value and the actual size might be ~1% off. + // Correct the percentage offset by the number of points + // per subrange. density = 1 will result in 100 points on the + // full range, 2 for 50, 4 for 25, etc. + pctPos = prevPct + q * stepSize; + indexes[pctPos.toFixed(5)] = [scope_Spectrum.fromStepping(pctPos), 0]; + } + // Determine the point type. + type = group.indexOf(i) > -1 ? PIPS_LARGE_VALUE : isSteps ? PIPS_SMALL_VALUE : PIPS_NO_VALUE; + // Enforce the 'ignoreFirst' option by overwriting the type for 0. + if (!index && ignoreFirst && i !== high) { + type = 0; + } + if (!(i === high && ignoreLast)) { + // Mark the 'type' of this point. 0 = plain, 1 = real value, 2 = step value. + indexes[newPct.toFixed(5)] = [i, type]; + } + // Update the percentage count. + prevPct = newPct; + } + }); + return indexes; + } + function addMarking(spread, filterFunc, formatter) { + var element = scope_Document.createElement("div"); + var valueSizeClasses = []; + valueSizeClasses[PIPS_NO_VALUE] = options.cssClasses.valueNormal; + valueSizeClasses[PIPS_LARGE_VALUE] = options.cssClasses.valueLarge; + valueSizeClasses[PIPS_SMALL_VALUE] = options.cssClasses.valueSub; + var markerSizeClasses = []; + markerSizeClasses[PIPS_NO_VALUE] = options.cssClasses.markerNormal; + markerSizeClasses[PIPS_LARGE_VALUE] = options.cssClasses.markerLarge; + markerSizeClasses[PIPS_SMALL_VALUE] = options.cssClasses.markerSub; + var valueOrientationClasses = [options.cssClasses.valueHorizontal, options.cssClasses.valueVertical]; + var markerOrientationClasses = [options.cssClasses.markerHorizontal, options.cssClasses.markerVertical]; + addClass(element, options.cssClasses.pips); + addClass(element, options.ort === 0 ? options.cssClasses.pipsHorizontal : options.cssClasses.pipsVertical); + function getClasses(type, source) { + var a = source === options.cssClasses.value; + var orientationClasses = a ? valueOrientationClasses : markerOrientationClasses; + var sizeClasses = a ? valueSizeClasses : markerSizeClasses; + return source + " " + orientationClasses[options.ort] + " " + sizeClasses[type]; + } + function addSpread(offset, value, type) { + // Apply the filter function, if it is set. + type = filterFunc ? filterFunc(value, type) : type; + if (type === PIPS_NONE) { + return; + } + // Add a marker for every point + var node = addNodeTo(element, false); + node.className = getClasses(type, options.cssClasses.marker); + node.style[options.style] = offset + "%"; + // Values are only appended for points marked '1' or '2'. + if (type > PIPS_NO_VALUE) { + node = addNodeTo(element, false); + node.className = getClasses(type, options.cssClasses.value); + node.setAttribute("data-value", value); + node.style[options.style] = offset + "%"; + node.innerHTML = formatter.to(value); + } + } + // Append all points. + Object.keys(spread).forEach(function (offset) { + addSpread(offset, spread[offset][0], spread[offset][1]); + }); + return element; + } + function removePips() { + if (scope_Pips) { + removeElement(scope_Pips); + scope_Pips = null; + } + } + function pips(grid) { + // Fix #669 + removePips(); + var mode = grid.mode; + var density = grid.density || 1; + var filter = grid.filter || false; + var values = grid.values || false; + var stepped = grid.stepped || false; + var group = getGroup(mode, values, stepped); + var spread = generateSpread(density, mode, group); + var format = grid.format || { + to: Math.round + }; + scope_Pips = scope_Target.appendChild(addMarking(spread, filter, format)); + return scope_Pips; + } + // Shorthand for base dimensions. + function baseSize() { + var rect = scope_Base.getBoundingClientRect(); + var alt = "offset" + ["Width", "Height"][options.ort]; + return options.ort === 0 ? rect.width || scope_Base[alt] : rect.height || scope_Base[alt]; + } + // Handler for attaching events trough a proxy. + function attachEvent(events, element, callback, data) { + // This function can be used to 'filter' events to the slider. + // element is a node, not a nodeList + var method = function (e) { + e = fixEvent(e, data.pageOffset, data.target || element); + // fixEvent returns false if this event has a different target + // when handling (multi-) touch events; + if (!e) { + return false; + } + // doNotReject is passed by all end events to make sure released touches + // are not rejected, leaving the slider "stuck" to the cursor; + if (isSliderDisabled() && !data.doNotReject) { + return false; + } + // Stop if an active 'tap' transition is taking place. + if (hasClass(scope_Target, options.cssClasses.tap) && !data.doNotReject) { + return false; + } + // Ignore right or middle clicks on start #454 + if (events === actions.start && e.buttons !== undefined && e.buttons > 1) { + return false; + } + // Ignore right or middle clicks on start #454 + if (data.hover && e.buttons) { + return false; + } + // 'supportsPassive' is only true if a browser also supports touch-action: none in CSS. + // iOS safari does not, so it doesn't get to benefit from passive scrolling. iOS does support + // touch-action: manipulation, but that allows panning, which breaks + // sliders after zooming/on non-responsive pages. + // See: https://bugs.webkit.org/show_bug.cgi?id=133112 + if (!supportsPassive) { + e.preventDefault(); + } + e.calcPoint = e.points[options.ort]; + // Call the event handler with the event [ and additional data ]. + callback(e, data); + }; + var methods = []; + // Bind a closure on the target for every event type. + events.split(" ").forEach(function (eventName) { + element.addEventListener(eventName, method, supportsPassive ? { passive: true } : false); + methods.push([eventName, method]); + }); + return methods; + } + // Provide a clean event with standardized offset values. + function fixEvent(e, pageOffset, eventTarget) { + // Filter the event to register the type, which can be + // touch, mouse or pointer. Offset changes need to be + // made on an event specific basis. + var touch = e.type.indexOf("touch") === 0; + var mouse = e.type.indexOf("mouse") === 0; + var pointer = e.type.indexOf("pointer") === 0; + var x; + var y; + // IE10 implemented pointer events with a prefix; + if (e.type.indexOf("MSPointer") === 0) { + pointer = true; + } + // Erroneous events seem to be passed in occasionally on iOS/iPadOS after user finishes interacting with + // the slider. They appear to be of type MouseEvent, yet they don't have usual properties set. Ignore + // events that have no touches or buttons associated with them. (#1057, #1079, #1095) + if (e.type === "mousedown" && !e.buttons && !e.touches) { + return false; + } + // The only thing one handle should be concerned about is the touches that originated on top of it. + if (touch) { + // Returns true if a touch originated on the target. + var isTouchOnTarget = function (checkTouch) { + return (checkTouch.target === eventTarget || + eventTarget.contains(checkTouch.target) || + (checkTouch.target.shadowRoot && checkTouch.target.shadowRoot.contains(eventTarget))); + }; + // In the case of touchstart events, we need to make sure there is still no more than one + // touch on the target so we look amongst all touches. + if (e.type === "touchstart") { + var targetTouches = Array.prototype.filter.call(e.touches, isTouchOnTarget); + // Do not support more than one touch per handle. + if (targetTouches.length > 1) { + return false; + } + x = targetTouches[0].pageX; + y = targetTouches[0].pageY; + } + else { + // In the other cases, find on changedTouches is enough. + var targetTouch = Array.prototype.find.call(e.changedTouches, isTouchOnTarget); + // Cancel if the target touch has not moved. + if (!targetTouch) { + return false; + } + x = targetTouch.pageX; + y = targetTouch.pageY; + } + } + pageOffset = pageOffset || getPageOffset(scope_Document); + if (mouse || pointer) { + x = e.clientX + pageOffset.x; + y = e.clientY + pageOffset.y; + } + e.pageOffset = pageOffset; + e.points = [x, y]; + e.cursor = mouse || pointer; // Fix #435 + return e; + } + // Translate a coordinate in the document to a percentage on the slider + function calcPointToPercentage(calcPoint) { + var location = calcPoint - offset(scope_Base, options.ort); + var proposal = (location * 100) / baseSize(); + // Clamp proposal between 0% and 100% + // Out-of-bound coordinates may occur when .noUi-base pseudo-elements + // are used (e.g. contained handles feature) + proposal = limit(proposal); + return options.dir ? 100 - proposal : proposal; + } + // Find handle closest to a certain percentage on the slider + function getClosestHandle(clickedPosition) { + var smallestDifference = 100; + var handleNumber = false; + scope_Handles.forEach(function (handle, index) { + // Disabled handles are ignored + if (isHandleDisabled(index)) { + return; + } + var handlePosition = scope_Locations[index]; + var differenceWithThisHandle = Math.abs(handlePosition - clickedPosition); + // Initial state + var clickAtEdge = differenceWithThisHandle === 100 && smallestDifference === 100; + // Difference with this handle is smaller than the previously checked handle + var isCloser = differenceWithThisHandle < smallestDifference; + var isCloserAfter = differenceWithThisHandle <= smallestDifference && clickedPosition > handlePosition; + if (isCloser || isCloserAfter || clickAtEdge) { + handleNumber = index; + smallestDifference = differenceWithThisHandle; + } + }); + return handleNumber; + } + // Fire 'end' when a mouse or pen leaves the document. + function documentLeave(event, data) { + if (event.type === "mouseout" && event.target.nodeName === "HTML" && event.relatedTarget === null) { + eventEnd(event, data); + } + } + // Handle movement on document for handle and range drag. + function eventMove(event, data) { + // Fix #498 + // Check value of .buttons in 'start' to work around a bug in IE10 mobile (data.buttonsProperty). + // https://connect.microsoft.com/IE/feedback/details/927005/mobile-ie10-windows-phone-buttons-property-of-pointermove-event-always-zero + // IE9 has .buttons and .which zero on mousemove. + // Firefox breaks the spec MDN defines. + if (navigator.appVersion.indexOf("MSIE 9") === -1 && event.buttons === 0 && data.buttonsProperty !== 0) { + return eventEnd(event, data); + } + // Check if we are moving up or down + var movement = (options.dir ? -1 : 1) * (event.calcPoint - data.startCalcPoint); + // Convert the movement into a percentage of the slider width/height + var proposal = (movement * 100) / data.baseSize; + moveHandles(movement > 0, proposal, data.locations, data.handleNumbers); + } + // Unbind move events on document, call callbacks. + function eventEnd(event, data) { + // The handle is no longer active, so remove the class. + if (data.handle) { + removeClass(data.handle, options.cssClasses.active); + scope_ActiveHandlesCount -= 1; + } + // Unbind the move and end events, which are added on 'start'. + data.listeners.forEach(function (c) { + scope_DocumentElement.removeEventListener(c[0], c[1]); + }); + if (scope_ActiveHandlesCount === 0) { + // Remove dragging class. + removeClass(scope_Target, options.cssClasses.drag); + setZindex(); + // Remove cursor styles and text-selection events bound to the body. + if (event.cursor) { + scope_Body.style.cursor = ""; + scope_Body.removeEventListener("selectstart", preventDefault); + } + } + data.handleNumbers.forEach(function (handleNumber) { + fireEvent("change", handleNumber); + fireEvent("set", handleNumber); + fireEvent("end", handleNumber); + }); + } + // Bind move events on document. + function eventStart(event, data) { + // Ignore event if any handle is disabled + if (data.handleNumbers.some(isHandleDisabled)) { + return false; + } + var handle; + if (data.handleNumbers.length === 1) { + var handleOrigin = scope_Handles[data.handleNumbers[0]]; + handle = handleOrigin.children[0]; + scope_ActiveHandlesCount += 1; + // Mark the handle as 'active' so it can be styled. + addClass(handle, options.cssClasses.active); + } + // A drag should never propagate up to the 'tap' event. + event.stopPropagation(); + // Record the event listeners. + var listeners = []; + // Attach the move and end events. + var moveEvent = attachEvent(actions.move, scope_DocumentElement, eventMove, { + // The event target has changed so we need to propagate the original one so that we keep + // relying on it to extract target touches. + target: event.target, + handle: handle, + listeners: listeners, + startCalcPoint: event.calcPoint, + baseSize: baseSize(), + pageOffset: event.pageOffset, + handleNumbers: data.handleNumbers, + buttonsProperty: event.buttons, + locations: scope_Locations.slice() + }); + var endEvent = attachEvent(actions.end, scope_DocumentElement, eventEnd, { + target: event.target, + handle: handle, + listeners: listeners, + doNotReject: true, + handleNumbers: data.handleNumbers + }); + var outEvent = attachEvent("mouseout", scope_DocumentElement, documentLeave, { + target: event.target, + handle: handle, + listeners: listeners, + doNotReject: true, + handleNumbers: data.handleNumbers + }); + // We want to make sure we pushed the listeners in the listener list rather than creating + // a new one as it has already been passed to the event handlers. + listeners.push.apply(listeners, moveEvent.concat(endEvent, outEvent)); + // Text selection isn't an issue on touch devices, + // so adding cursor styles can be skipped. + if (event.cursor) { + // Prevent the 'I' cursor and extend the range-drag cursor. + scope_Body.style.cursor = getComputedStyle(event.target).cursor; + // Mark the target with a dragging state. + if (scope_Handles.length > 1) { + addClass(scope_Target, options.cssClasses.drag); + } + // Prevent text selection when dragging the handles. + // In noUiSlider <= 9.2.0, this was handled by calling preventDefault on mouse/touch start/move, + // which is scroll blocking. The selectstart event is supported by FireFox starting from version 52, + // meaning the only holdout is iOS Safari. This doesn't matter: text selection isn't triggered there. + // The 'cursor' flag is false. + // See: http://caniuse.com/#search=selectstart + scope_Body.addEventListener("selectstart", preventDefault, false); + } + data.handleNumbers.forEach(function (handleNumber) { + fireEvent("start", handleNumber); + }); + } + // Move closest handle to tapped location. + function eventTap(event) { + // The tap event shouldn't propagate up + event.stopPropagation(); + var proposal = calcPointToPercentage(event.calcPoint); + var handleNumber = getClosestHandle(proposal); + // Tackle the case that all handles are 'disabled'. + if (handleNumber === false) { + return false; + } + // Flag the slider as it is now in a transitional state. + // Transition takes a configurable amount of ms (default 300). Re-enable the slider after that. + if (!options.events.snap) { + addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration); + } + setHandle(handleNumber, proposal, true, true); + setZindex(); + fireEvent("slide", handleNumber, true); + fireEvent("update", handleNumber, true); + fireEvent("change", handleNumber, true); + fireEvent("set", handleNumber, true); + if (options.events.snap) { + eventStart(event, { handleNumbers: [handleNumber] }); + } + } + // Fires a 'hover' event for a hovered mouse/pen position. + function eventHover(event) { + var proposal = calcPointToPercentage(event.calcPoint); + var to = scope_Spectrum.getStep(proposal); + var value = scope_Spectrum.fromStepping(to); + Object.keys(scope_Events).forEach(function (targetEvent) { + if ("hover" === targetEvent.split(".")[0]) { + scope_Events[targetEvent].forEach(function (callback) { + callback.call(scope_Self, value); + }); + } + }); + } + // Handles keydown on focused handles + // Don't move the document when pressing arrow keys on focused handles + function eventKeydown(event, handleNumber) { + if (isSliderDisabled() || isHandleDisabled(handleNumber)) { + return false; + } + var horizontalKeys = ["Left", "Right"]; + var verticalKeys = ["Down", "Up"]; + var largeStepKeys = ["PageDown", "PageUp"]; + var edgeKeys = ["Home", "End"]; + if (options.dir && !options.ort) { + // On an right-to-left slider, the left and right keys act inverted + horizontalKeys.reverse(); + } + else if (options.ort && !options.dir) { + // On a top-to-bottom slider, the up and down keys act inverted + verticalKeys.reverse(); + largeStepKeys.reverse(); + } + // Strip "Arrow" for IE compatibility. https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key + var key = event.key.replace("Arrow", ""); + var isLargeDown = key === largeStepKeys[0]; + var isLargeUp = key === largeStepKeys[1]; + var isDown = key === verticalKeys[0] || key === horizontalKeys[0] || isLargeDown; + var isUp = key === verticalKeys[1] || key === horizontalKeys[1] || isLargeUp; + var isMin = key === edgeKeys[0]; + var isMax = key === edgeKeys[1]; + if (!isDown && !isUp && !isMin && !isMax) { + return true; + } + event.preventDefault(); + var to; + if (isUp || isDown) { + var multiplier = options.keyboardPageMultiplier; + var direction = isDown ? 0 : 1; + var steps = getNextStepsForHandle(handleNumber); + var step = steps[direction]; + // At the edge of a slider, do nothing + if (step === null) { + return false; + } + // No step set, use the default of 10% of the sub-range + if (step === false) { + step = scope_Spectrum.getDefaultStep(scope_Locations[handleNumber], isDown, options.keyboardDefaultStep); + } + if (isLargeUp || isLargeDown) { + step *= multiplier; + } + // Step over zero-length ranges (#948); + step = Math.max(step, 0.0000001); + // Decrement for down steps + step = (isDown ? -1 : 1) * step; + to = scope_Values[handleNumber] + step; + } + else if (isMax) { + // End key + to = options.spectrum.xVal[options.spectrum.xVal.length - 1]; + } + else { + // Home key + to = options.spectrum.xVal[0]; + } + setHandle(handleNumber, scope_Spectrum.toStepping(to), true, true); + fireEvent("slide", handleNumber); + fireEvent("update", handleNumber); + fireEvent("change", handleNumber); + fireEvent("set", handleNumber); + return false; + } + // Attach events to several slider parts. + function bindSliderEvents(behaviour) { + // Attach the standard drag event to the handles. + if (!behaviour.fixed) { + scope_Handles.forEach(function (handle, index) { + // These events are only bound to the visual handle + // element, not the 'real' origin element. + attachEvent(actions.start, handle.children[0], eventStart, { + handleNumbers: [index] + }); + }); + } + // Attach the tap event to the slider base. + if (behaviour.tap) { + attachEvent(actions.start, scope_Base, eventTap, {}); + } + // Fire hover events + if (behaviour.hover) { + attachEvent(actions.move, scope_Base, eventHover, { + hover: true + }); + } + // Make the range draggable. + if (behaviour.drag) { + scope_Connects.forEach(function (connect, index) { + if (connect === false || index === 0 || index === scope_Connects.length - 1) { + return; + } + var handleBefore = scope_Handles[index - 1]; + var handleAfter = scope_Handles[index]; + var eventHolders = [connect]; + addClass(connect, options.cssClasses.draggable); + // When the range is fixed, the entire range can + // be dragged by the handles. The handle in the first + // origin will propagate the start event upward, + // but it needs to be bound manually on the other. + if (behaviour.fixed) { + eventHolders.push(handleBefore.children[0]); + eventHolders.push(handleAfter.children[0]); + } + eventHolders.forEach(function (eventHolder) { + attachEvent(actions.start, eventHolder, eventStart, { + handles: [handleBefore, handleAfter], + handleNumbers: [index - 1, index] + }); + }); + }); + } + } + // Attach an event to this slider, possibly including a namespace + function bindEvent(namespacedEvent, callback) { + scope_Events[namespacedEvent] = scope_Events[namespacedEvent] || []; + scope_Events[namespacedEvent].push(callback); + // If the event bound is 'update,' fire it immediately for all handles. + if (namespacedEvent.split(".")[0] === "update") { + scope_Handles.forEach(function (a, index) { + fireEvent("update", index); + }); + } + } + function isInternalNamespace(namespace) { + return namespace === INTERNAL_EVENT_NS.aria || namespace === INTERNAL_EVENT_NS.tooltips; + } + // Undo attachment of event + function removeEvent(namespacedEvent) { + var event = namespacedEvent && namespacedEvent.split(".")[0]; + var namespace = event ? namespacedEvent.substring(event.length) : namespacedEvent; + Object.keys(scope_Events).forEach(function (bind) { + var tEvent = bind.split(".")[0]; + var tNamespace = bind.substring(tEvent.length); + if ((!event || event === tEvent) && (!namespace || namespace === tNamespace)) { + // only delete protected internal event if intentional + if (!isInternalNamespace(tNamespace) || namespace === tNamespace) { + delete scope_Events[bind]; + } + } + }); + } + // External event handling + function fireEvent(eventName, handleNumber, tap) { + Object.keys(scope_Events).forEach(function (targetEvent) { + var eventType = targetEvent.split(".")[0]; + if (eventName === eventType) { + scope_Events[targetEvent].forEach(function (callback) { + callback.call( + // Use the slider public API as the scope ('this') + scope_Self, + // Return values as array, so arg_1[arg_2] is always valid. + scope_Values.map(options.format.to), + // Handle index, 0 or 1 + handleNumber, + // Un-formatted slider values + scope_Values.slice(), + // Event is fired by tap, true or false + tap || false, + // Left offset of the handle, in relation to the slider + scope_Locations.slice(), + // add the slider public API to an accessible parameter when this is unavailable + scope_Self); + }); + } + }); + } + // Split out the handle positioning logic so the Move event can use it, too + function checkHandlePosition(reference, handleNumber, to, lookBackward, lookForward, getValue) { + var distance; + // For sliders with multiple handles, limit movement to the other handle. + // Apply the margin option by adding it to the handle positions. + if (scope_Handles.length > 1 && !options.events.unconstrained) { + if (lookBackward && handleNumber > 0) { + distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber - 1], options.margin, 0); + to = Math.max(to, distance); + } + if (lookForward && handleNumber < scope_Handles.length - 1) { + distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber + 1], options.margin, 1); + to = Math.min(to, distance); + } + } + // The limit option has the opposite effect, limiting handles to a + // maximum distance from another. Limit must be > 0, as otherwise + // handles would be unmovable. + if (scope_Handles.length > 1 && options.limit) { + if (lookBackward && handleNumber > 0) { + distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber - 1], options.limit, 0); + to = Math.min(to, distance); + } + if (lookForward && handleNumber < scope_Handles.length - 1) { + distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber + 1], options.limit, 1); + to = Math.max(to, distance); + } + } + // The padding option keeps the handles a certain distance from the + // edges of the slider. Padding must be > 0. + if (options.padding) { + if (handleNumber === 0) { + distance = scope_Spectrum.getAbsoluteDistance(0, options.padding[0], 0); + to = Math.max(to, distance); + } + if (handleNumber === scope_Handles.length - 1) { + distance = scope_Spectrum.getAbsoluteDistance(100, options.padding[1], 1); + to = Math.min(to, distance); + } + } + to = scope_Spectrum.getStep(to); + // Limit percentage to the 0 - 100 range + to = limit(to); + // Return false if handle can't move + if (to === reference[handleNumber] && !getValue) { + return false; + } + return to; + } + // Uses slider orientation to create CSS rules. a = base value; + function inRuleOrder(v, a) { + var o = options.ort; + return (o ? a : v) + ", " + (o ? v : a); + } + // Moves handle(s) by a percentage + // (bool, % to move, [% where handle started, ...], [index in scope_Handles, ...]) + function moveHandles(upward, proposal, locations, handleNumbers) { + var proposals = locations.slice(); + var b = [!upward, upward]; + var f = [upward, !upward]; + // Copy handleNumbers so we don't change the dataset + handleNumbers = handleNumbers.slice(); + // Check to see which handle is 'leading'. + // If that one can't move the second can't either. + if (upward) { + handleNumbers.reverse(); + } + // Step 1: get the maximum percentage that any of the handles can move + if (handleNumbers.length > 1) { + handleNumbers.forEach(function (handleNumber, o) { + var to = checkHandlePosition(proposals, handleNumber, proposals[handleNumber] + proposal, b[o], f[o], false); + // Stop if one of the handles can't move. + if (to === false) { + proposal = 0; + } + else { + proposal = to - proposals[handleNumber]; + proposals[handleNumber] = to; + } + }); + } + // If using one handle, check backward AND forward + else { + b = f = [true]; + } + var state = false; + // Step 2: Try to set the handles with the found percentage + handleNumbers.forEach(function (handleNumber, o) { + state = setHandle(handleNumber, locations[handleNumber] + proposal, b[o], f[o]) || state; + }); + // Step 3: If a handle moved, fire events + if (state) { + handleNumbers.forEach(function (handleNumber) { + fireEvent("update", handleNumber); + fireEvent("slide", handleNumber); + }); + } + } + // Takes a base value and an offset. This offset is used for the connect bar size. + // In the initial design for this feature, the origin element was 1% wide. + // Unfortunately, a rounding bug in Chrome makes it impossible to implement this feature + // in this manner: https://bugs.chromium.org/p/chromium/issues/detail?id=798223 + function transformDirection(a, b) { + return options.dir ? 100 - a - b : a; + } + // Updates scope_Locations and scope_Values, updates visual state + function updateHandlePosition(handleNumber, to) { + // Update locations. + scope_Locations[handleNumber] = to; + // Convert the value to the slider stepping/range. + scope_Values[handleNumber] = scope_Spectrum.fromStepping(to); + var translation = 10 * (transformDirection(to, 0) - scope_DirOffset); + var translateRule = "translate(" + inRuleOrder(translation + "%", "0") + ")"; + scope_Handles[handleNumber].style[options.transformRule] = translateRule; + updateConnect(handleNumber); + updateConnect(handleNumber + 1); + } + // Handles before the slider middle are stacked later = higher, + // Handles after the middle later is lower + // [[7] [8] .......... | .......... [5] [4] + function setZindex() { + scope_HandleNumbers.forEach(function (handleNumber) { + var dir = scope_Locations[handleNumber] > 50 ? -1 : 1; + var zIndex = 3 + (scope_Handles.length + dir * handleNumber); + scope_Handles[handleNumber].style.zIndex = zIndex; + }); + } + // Test suggested values and apply margin, step. + // if exactInput is true, don't run checkHandlePosition, then the handle can be placed in between steps (#436) + function setHandle(handleNumber, to, lookBackward, lookForward, exactInput) { + if (!exactInput) { + to = checkHandlePosition(scope_Locations, handleNumber, to, lookBackward, lookForward, false); + } + if (to === false) { + return false; + } + updateHandlePosition(handleNumber, to); + return true; + } + // Updates style attribute for connect nodes + function updateConnect(index) { + // Skip connects set to false + if (!scope_Connects[index]) { + return; + } + var l = 0; + var h = 100; + if (index !== 0) { + l = scope_Locations[index - 1]; + } + if (index !== scope_Connects.length - 1) { + h = scope_Locations[index]; + } + // We use two rules: + // 'translate' to change the left/top offset; + // 'scale' to change the width of the element; + // As the element has a width of 100%, a translation of 100% is equal to 100% of the parent (.noUi-base) + var connectWidth = h - l; + var translateRule = "translate(" + inRuleOrder(transformDirection(l, connectWidth) + "%", "0") + ")"; + var scaleRule = "scale(" + inRuleOrder(connectWidth / 100, "1") + ")"; + scope_Connects[index].style[options.transformRule] = translateRule + " " + scaleRule; + } + // Parses value passed to .set method. Returns current value if not parse-able. + function resolveToValue(to, handleNumber) { + // Setting with null indicates an 'ignore'. + // Inputting 'false' is invalid. + if (to === null || to === false || to === undefined) { + return scope_Locations[handleNumber]; + } + // If a formatted number was passed, attempt to decode it. + if (typeof to === "number") { + to = String(to); + } + to = options.format.from(to); + to = scope_Spectrum.toStepping(to); + // If parsing the number failed, use the current value. + if (to === false || isNaN(to)) { + return scope_Locations[handleNumber]; + } + return to; + } + // Set the slider value. + function valueSet(input, fireSetEvent, exactInput) { + var values = asArray(input); + var isInit = scope_Locations[0] === undefined; + // Event fires by default + fireSetEvent = fireSetEvent === undefined ? true : !!fireSetEvent; + // Animation is optional. + // Make sure the initial values were set before using animated placement. + if (options.animate && !isInit) { + addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration); + } + // First pass, without lookAhead but with lookBackward. Values are set from left to right. + scope_HandleNumbers.forEach(function (handleNumber) { + setHandle(handleNumber, resolveToValue(values[handleNumber], handleNumber), true, false, exactInput); + }); + var i = scope_HandleNumbers.length === 1 ? 0 : 1; + // Secondary passes. Now that all base values are set, apply constraints. + // Iterate all handles to ensure constraints are applied for the entire slider (Issue #1009) + for (; i < scope_HandleNumbers.length; ++i) { + scope_HandleNumbers.forEach(function (handleNumber) { + setHandle(handleNumber, scope_Locations[handleNumber], true, true, exactInput); + }); + } + setZindex(); + scope_HandleNumbers.forEach(function (handleNumber) { + fireEvent("update", handleNumber); + // Fire the event only for handles that received a new value, as per #579 + if (values[handleNumber] !== null && fireSetEvent) { + fireEvent("set", handleNumber); + } + }); + } + // Reset slider to initial values + function valueReset(fireSetEvent) { + valueSet(options.start, fireSetEvent); + } + // Set value for a single handle + function valueSetHandle(handleNumber, value, fireSetEvent, exactInput) { + // Ensure numeric input + handleNumber = Number(handleNumber); + if (!(handleNumber >= 0 && handleNumber < scope_HandleNumbers.length)) { + throw new Error("noUiSlider (" + VERSION + "): invalid handle number, got: " + handleNumber); + } + // Look both backward and forward, since we don't want this handle to "push" other handles (#960); + // The exactInput argument can be used to ignore slider stepping (#436) + setHandle(handleNumber, resolveToValue(value, handleNumber), true, true, exactInput); + fireEvent("update", handleNumber); + if (fireSetEvent) { + fireEvent("set", handleNumber); + } + } + // Get the slider value. + function valueGet() { + var values = scope_Values.map(options.format.to); + // If only one handle is used, return a single value. + if (values.length === 1) { + return values[0]; + } + return values; + } + // Removes classes from the root and empties it. + function destroy() { + // remove protected internal listeners + removeEvent(INTERNAL_EVENT_NS.aria); + removeEvent(INTERNAL_EVENT_NS.tooltips); + for (var key in options.cssClasses) { + if (!options.cssClasses.hasOwnProperty(key)) { + continue; + } + removeClass(scope_Target, options.cssClasses[key]); + } + while (scope_Target.firstChild) { + scope_Target.removeChild(scope_Target.firstChild); + } + delete scope_Target.noUiSlider; + } + function getNextStepsForHandle(handleNumber) { + var location = scope_Locations[handleNumber]; + var nearbySteps = scope_Spectrum.getNearbySteps(location); + var value = scope_Values[handleNumber]; + var increment = nearbySteps.thisStep.step; + var decrement = null; + // If snapped, directly use defined step value + if (options.snap) { + return [ + value - nearbySteps.stepBefore.startValue || null, + nearbySteps.stepAfter.startValue - value || null + ]; + } + // If the next value in this step moves into the next step, + // the increment is the start of the next step - the current value + if (increment !== false) { + if (value + increment > nearbySteps.stepAfter.startValue) { + increment = nearbySteps.stepAfter.startValue - value; + } + } + // If the value is beyond the starting point + if (value > nearbySteps.thisStep.startValue) { + decrement = nearbySteps.thisStep.step; + } + else if (nearbySteps.stepBefore.step === false) { + decrement = false; + } + // If a handle is at the start of a step, it always steps back into the previous step first + else { + decrement = value - nearbySteps.stepBefore.highestStep; + } + // Now, if at the slider edges, there is no in/decrement + if (location === 100) { + increment = null; + } + else if (location === 0) { + decrement = null; + } + // As per #391, the comparison for the decrement step can have some rounding issues. + var stepDecimals = scope_Spectrum.countStepDecimals(); + // Round per #391 + if (increment !== null && increment !== false) { + increment = Number(increment.toFixed(stepDecimals)); + } + if (decrement !== null && decrement !== false) { + decrement = Number(decrement.toFixed(stepDecimals)); + } + return [decrement, increment]; + } + // Get the current step size for the slider. + function getNextSteps() { + return scope_HandleNumbers.map(getNextStepsForHandle); + } + // Updateable: margin, limit, padding, step, range, animate, snap + function updateOptions(optionsToUpdate, fireSetEvent) { + // Spectrum is created using the range, snap, direction and step options. + // 'snap' and 'step' can be updated. + // If 'snap' and 'step' are not passed, they should remain unchanged. + var v = valueGet(); + var updateAble = [ + "margin", + "limit", + "padding", + "range", + "animate", + "snap", + "step", + "format", + "pips", + "tooltips" + ]; + // Only change options that we're actually passed to update. + updateAble.forEach(function (name) { + // Check for undefined. null removes the value. + if (optionsToUpdate[name] !== undefined) { + originalOptions[name] = optionsToUpdate[name]; + } + }); + var newOptions = testOptions(originalOptions); + // Load new options into the slider state + updateAble.forEach(function (name) { + if (optionsToUpdate[name] !== undefined) { + options[name] = newOptions[name]; + } + }); + scope_Spectrum = newOptions.spectrum; + // Limit, margin and padding depend on the spectrum but are stored outside of it. (#677) + options.margin = newOptions.margin; + options.limit = newOptions.limit; + options.padding = newOptions.padding; + // Update pips, removes existing. + if (options.pips) { + pips(options.pips); + } + else { + removePips(); + } + // Update tooltips, removes existing. + if (options.tooltips) { + tooltips(); + } + else { + removeTooltips(); + } + // Invalidate the current positioning so valueSet forces an update. + scope_Locations = []; + valueSet(isSet(optionsToUpdate.start) ? optionsToUpdate.start : v, fireSetEvent); + } + // Initialization steps + function setupSlider() { + // Create the base element, initialize HTML and set classes. + // Add handles and connect elements. + scope_Base = addSlider(scope_Target); + addElements(options.connect, scope_Base); + // Attach user events. + bindSliderEvents(options.events); + // Use the public value method to set the start values. + valueSet(options.start); + if (options.pips) { + pips(options.pips); + } + if (options.tooltips) { + tooltips(); + } + aria(); + } + setupSlider(); + // noinspection JSUnusedGlobalSymbols + scope_Self = { + destroy: destroy, + steps: getNextSteps, + on: bindEvent, + off: removeEvent, + get: valueGet, + set: valueSet, + setHandle: valueSetHandle, + reset: valueReset, + // Exposed for unit testing, don't use this in your application. + __moveHandles: function (a, b, c) { + moveHandles(a, b, scope_Locations, c); + }, + options: originalOptions, + updateOptions: updateOptions, + target: scope_Target, + removePips: removePips, + removeTooltips: removeTooltips, + getTooltips: function () { + return scope_Tooltips; + }, + getOrigins: function () { + return scope_Handles; + }, + pips: pips // Issue #594 + }; + return scope_Self; + } + // Run the standard initializer + function initialize(target, originalOptions) { + if (!target || !target.nodeName) { + throw new Error("noUiSlider (" + VERSION + "): create requires a single element, got: " + target); + } + // Throw an error if the slider was already initialized. + if (target.noUiSlider) { + throw new Error("noUiSlider (" + VERSION + "): Slider was already initialized."); + } + // Test the options and create the slider environment; + var options = testOptions(originalOptions); + var api = scope(target, options, originalOptions); + target.noUiSlider = api; + return api; + } + // Use an object instead of a function for future expandability; + return { + // Exposed for unit testing, don't use this in your application. + __spectrum: Spectrum, + version: VERSION, + // A reference to the default classes, allows global changes. + // Use the cssClasses option for changes to one slider. + cssClasses: cssClasses, + create: initialize + }; +}); diff --git a/public/js/vendor/nouislider/distribute/nouislider.min.css b/public/js/vendor/nouislider/distribute/nouislider.min.css new file mode 100644 index 0000000..7cb96f4 --- /dev/null +++ b/public/js/vendor/nouislider/distribute/nouislider.min.css @@ -0,0 +1,2 @@ +/*! nouislider - 14.7.0 - 4/6/2021 */ +.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative}.noUi-base,.noUi-connects{width:100%;height:100%;position:relative;z-index:1}.noUi-connects{overflow:hidden;z-index:0}.noUi-connect,.noUi-origin{will-change:transform;position:absolute;z-index:1;top:0;right:0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;-webkit-transform-style:preserve-3d;transform-origin:0 0;transform-style:flat}.noUi-connect{height:100%;width:100%}.noUi-origin{height:10%;width:10%}.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin{left:0;right:auto}.noUi-vertical .noUi-origin{width:0}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute}.noUi-touch-area{height:100%;width:100%}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{-webkit-transition:transform .3s;transition:transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;right:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;right:-6px;top:-17px}.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle{left:-17px;right:auto}.noUi-target{background:#FAFAFA;border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-connects{border-radius:3px}.noUi-connect{background:#3FB8AF}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#B8B8B8}[disabled] .noUi-handle,[disabled].noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;white-space:nowrap;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#CCC}.noUi-marker-sub{background:#AAA}.noUi-marker-large{background:#AAA}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.noUi-rtl .noUi-value-horizontal{-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);padding-left:25px}.noUi-rtl .noUi-value-vertical{-webkit-transform:translate(0,50%);transform:translate(0,50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #D9D9D9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);top:50%;right:120%}.noUi-horizontal .noUi-origin>.noUi-tooltip{-webkit-transform:translate(50%,0);transform:translate(50%,0);left:auto;bottom:10px}.noUi-vertical .noUi-origin>.noUi-tooltip{-webkit-transform:translate(0,-18px);transform:translate(0,-18px);top:auto;right:28px} \ No newline at end of file diff --git a/public/js/vendor/nouislider/distribute/nouislider.min.js b/public/js/vendor/nouislider/distribute/nouislider.min.js new file mode 100644 index 0000000..493c0a7 --- /dev/null +++ b/public/js/vendor/nouislider/distribute/nouislider.min.js @@ -0,0 +1,2 @@ +/*! nouislider - 14.7.0 - 4/6/2021 */ +!function(t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():window.noUiSlider=t()}(function(){"use strict";var lt="14.7.0";function ut(t){t.parentElement.removeChild(t)}function ct(t){return null!=t}function pt(t){t.preventDefault()}function o(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}function ft(t,e,r){0=e[r];)r+=1;return r}function r(t,e,r){if(r>=t.slice(-1)[0])return 100;var n,i,o=f(r,t),s=t[o-1],a=t[o],l=e[o-1],u=e[o];return l+(i=r,p(n=[s,a],n[0]<0?i+Math.abs(n[0]):i-n[0],0)/c(l,u))}function n(t,e,r,n){if(100===n)return n;var i,o,s=f(n,t),a=t[s-1],l=t[s];return r?(l-a)/2this.xPct[i+1];)i++;else t===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);r||t!==this.xPct[i+1]||i++;var o=1,s=e[i],a=0,l=0,u=0,c=0;for(n=r?(t-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):(this.xPct[i+1]-t)/(this.xPct[i+1]-this.xPct[i]);0= 2) required for mode 'count'.");var n=e-1,i=100/n;for(e=[];n--;)e[n]=n*i;e.push(100),t="positions"}return"positions"===t?e.map(function(t){return y.fromStepping(r?y.getStep(t):t)}):"values"===t?r?e.map(function(t){return y.fromStepping(y.getStep(y.toStepping(t)))}):e:void 0}(n,t.values||!1,t.stepped||!1),a=(m=i,g=n,v=s,b={},e=y.xVal[0],r=y.xVal[y.xVal.length-1],S=x=!1,w=0,(v=v.slice().sort(function(t,e){return t-e}).filter(function(t){return!this[t]&&(this[t]=!0)},{}))[0]!==e&&(v.unshift(e),x=!0),v[v.length-1]!==r&&(v.push(r),S=!0),v.forEach(function(t,e){var r,n,i,o,s,a,l,u,c,p,f=t,d=v[e+1],h="steps"===g;if(h&&(r=y.xNumSteps[e]),r||(r=d-f),!1!==f)for(void 0===d&&(d=f),r=Math.max(r,1e-7),n=f;n<=d;n=(n+r).toFixed(7)/1){for(u=(s=(o=y.toStepping(n))-w)/m,p=s/(c=Math.round(u)),i=1;i<=c;i+=1)b[(a=w+i*p).toFixed(5)]=[y.fromStepping(a),0];l=-1r.stepAfter.startValue&&(i=r.stepAfter.startValue-n),o=n>r.thisStep.startValue?r.thisStep.step:!1!==r.stepBefore.step&&n-r.stepBefore.highestStep,100===e?i=null:0===e&&(o=null);var s=y.countStepDecimals();return null!==i&&!1!==i&&(i=Number(i.toFixed(s))),null!==o&&!1!==o&&(o=Number(o.toFixed(s))),[o,i]}return mt(e=h,b.cssClasses.target),0===b.dir?mt(e,b.cssClasses.ltr):mt(e,b.cssClasses.rtl),0===b.ort?mt(e,b.cssClasses.horizontal):mt(e,b.cssClasses.vertical),mt(e,"rtl"===getComputedStyle(e).direction?b.cssClasses.textDirectionRtl:b.cssClasses.textDirectionLtr),l=V(e,b.cssClasses.base),function(t,e){var r=V(e,b.cssClasses.connects);u=[],(s=[]).push(M(r,t[0]));for(var n=0;n` + +Of course, when you've installed via npm, and use browserify/babel, you can also simply do: +`import Parallax from 'parallax-js'` or +`const Parallax = require('parallax-js')` + +### Create your HTML elements + +Each Parallax.js instance needs a container element, the scene. You're free to identify it by any means you want, but for now, let's use an ID: + +```html +
    +
    +``` + +Per default, all direct child elements of the scene will become moving objects, the layers. You can change this to a custom query selector, but again, we're going with the easiest approach for now: + +```html +
    +
    My first Layer!
    +
    My second Layer!
    +
    +``` + +While all other options and parameters are optional, with sane defaults, and can be set programatically, each layer needs a `data-depth` attribute. The movement applied to each layer will be multiplied by its depth attribute. + +```html +
    +
    My first Layer!
    +
    My second Layer!
    +
    +``` + +## 1.3 Run Parallax + +As soon as your DOM is ready and loaded, you can create a new Parallax.js instance, providing your scene element as first parameter. + +```javascript +var scene = document.getElementById('scene'); +var parallaxInstance = new Parallax(scene); +``` + +That's it, you're running Parallax.js now! + +# 2. Configuration + +## 2.1 Programmatic vs Declarative + +Most configuration settings can be declared either as data-value attribute of the scene element, or property of the configuration object. The programmatic approach will take priority over the data-value attributes set in the HTML. +Some options can also be set at run-time via instance methods. + +Declarative: + +```html +
    +
    My first Layer!
    +
    My second Layer!
    +
    +``` + +Programmatic: + +```javascript +var scene = document.getElementById('scene'); +var parallaxInstance = new Parallax(scene, { + relativeInput: true +}); +``` + +Using Methods at Runtime: + +```javascript +parallaxInstance.friction(0.2, 0.2); +``` + +## 2.2 Configuration Options + +### relativeInput + +Property: **relativeInput** +Attribute: **data-relative-input** + +Value: *boolean* +Default: *false* + +Makes mouse input relative to the position of the scene element. +No effect when gyroscope is used. + +### clipRelativeInput + +Property: **clipRelativeInput** +Attribute: **data-clip-relative-input** + +Value: *boolean* +Default: *false* + +Clips mouse input to the bounds of the scene. This means the movement stops as soon as the edge of the scene element is reached by the cursor. +No effect when gyroscope is used, or `hoverOnly` is active. + +### hoverOnly + +Property: **hoverOnly** +Attribute: **data-hover-only** + +Value: *boolean* +Default: *false* + +Parallax will only be in effect while the cursor is over the scene element, otherwise all layers move back to their initial position. Works best in combination with `relativeInput`. +No effect when gyroscope is used. + +### inputElement + +Property: **inputElement** +Attribute: **data-input-element** +Method: **setInputElement(HTMLElement)** + +Value: *null* or *HTMLElement* / *String* +Default: *null* + +Allows usage of a different element for cursor input. +The configuration property expects an HTMLElement, the data value attribute a query selector string. +Will only work in combination with `relativeInput`, setting `hoverOnly` might make sense too. +No effect when gyroscope is used. + +### calibrateX & calibrateY + +Property: **calibrateX** & **calibrateY** +Attribute: **data-calibrate-x** & **data-calibrate-y** +Method: **calibrate(x, y)** + +Value: *boolean* +Default: *false* for X, *true* for Y + +Caches the initial X/Y axis value on initialization and calculates motion relative to this. +No effect when cursor is used. + +### invertX & invertY + +Property: **invertX** & **invertY** +Attribute: **data-invert-x** & **data-invert-y** +Method: **invert(x, y)** + +Value: *boolean* +Default: *true* + +Inverts the movement of the layers relative to the input. Setting both of these values to *false* will cause the layers to move with the device motion or cursor. + +### limitX & limitY + +Property: **limitX** & **limitY** +Attribute: **data-limit-x** & **data-limit-y** +Method: **limit(x, y)** + +Value: *false* or *integer* +Default: *false* + +Limits the movement of layers on the respective axis. Leaving this value at false gives complete freedom to the movement. + +### scalarX & scalarY + +Property: **scalarX** & **scalarY** +Attribute: **data-scalar-x** & **data-scalar-y** +Method: **scalar(x, y)** + +Value: *float* +Default: *10.0* + +Multiplies the input motion by this value, increasing or decreasing the movement speed and range. + +### frictionX & frictionY + +Property: **frictionX** & **frictionY** +Attribute: **data-friction-x** & **data-friction-y** +Method: **friction(x, y)** + +Value: *float* between *0* and *1* +Default: *0.1* + +Amount of friction applied to the layers. At *1* the layers will instantly go to their new positions, everything below 1 adds some easing. +The default value of *0.1* adds some sensible easing. Try *0.15* or *0.075* for some difference. + +### originX & originY + +Property: **originX** & **originY** +Attribute: **data-origin-x** & **data-origin-y** +Method: **origin(x, y)** + +Value: *float* between *0* and *1* +Default: *0.5* + +X and Y origin of the mouse input. The default of *0.5* refers to the center of the screen or element, *0* is the left (X axis) or top (Y axis) border, 1 the right or bottom. +No effect when gyroscope is used. + +### precision + +Property: **precision** +Attribute: **data-precision** + +Value: *integer* +Default: *1* + +Decimals the element positions will be rounded to. *1* is a sensible default which you should not need to change in the next few years, unless you have a very interesting and unique setup. + +### selector + +Property: **selector** +Attribute: **data-selector** + +Value: *null* or *string* +Default: *null* + +String that will be fed to querySelectorAll on the scene element to select the layer elements. When *null*, will simply select all direct child elements. +Use `.layer` for legacy behaviour, selecting only child elements having the class name *layer*. + +### pointerEvents + +Property: **pointerEvents** +Attribute: **data-pointer-events** + +Value: *boolean* +Default: *false* + +Set to *true* to enable interactions with the scene and layer elements. When set to the default of *false*, the CSS attribute `pointer-events: none` will be applied for performance reasons. +Setting this to *true* alone will not be enough to fully interact with all layers, since they will be overlapping. You have to either set `position: absolute` on all layer child elements, or keep **pointerEvents** at *false* and set `pointer-events: all` for the interactable elements only. + +### onReady + +Property: **onReady** + +Value: *null* or *function* +Default: *null* + +Callback function that will be called as soon as the Parallax instance has finished its setup. This might currently take up to 1000ms (`calibrationDelay * 2`). + +# 3. Methods + +In addition to the configuration methods outlined in the section above, there are a few more publicly accessible methods: + +### enable() + +Enables a disabled Parallax instance. + +### disable() + +Disables a running Parallax instance. + +### destroy() + +Completely destroys a Parallax instance, allowing it to be garbage collected. + +### version() + +Returns the version number of the Parallax library. + +# 4. Development + +## 4.1 Running the Project + +1. Clone the Repository `git clone git@github.com:wagerfield/parallax.git` +2. Open the working directory `cd parallax` +3. Install dependencies `npm install` +4. Run development server `gulp watch` +5. Open [http://localhost:9000/](http://localhost:9000/) in browser + +## 4.2 Opening an Issue + +If you need help relating the direct usage of this library in a project of yours, provide us with a working, running example of your work. This can be a GitHub repository, a ZIP file containing your work, a project on CodePen or JSFiddle, you name it. +*Do not complain about something not working without giving us some way to help you.* Thank you! + +# 5. FAQ + +### How can I use this Library with jQuery? + +jQuery will not prevent you from using this library in any way. If you want to use jQuery for selecting your Parallax scene element, you can do so too. + +```javascript +var scene = $('#scene').get(0); +var parallaxInstance = new Parallax(scene); +``` + +### How can I interact with my layers? + +Check out the section on the configuration option `pointerEvents` above. + +### How do I get the demo files to work? + +Either download compiled_with_examples.zip from the [GitHub Releases](https://github.com/wagerfield/parallax/releases) section, or follow section 4.1 + +*More to be added soon...* + + +# 6. Information + +## 6.1 License + +This project is licensed under the terms of the [MIT](http://www.opensource.org/licenses/mit-license.php) License. Enjoy! + +## 6.2 Authors + +Matthew Wagerfield: [@wagerfield](http://twitter.com/wagerfield) +René Roth: [Website](http://reneroth.org/) diff --git a/public/js/vendor/parallax-js/bower.json b/public/js/vendor/parallax-js/bower.json new file mode 100644 index 0000000..5052317 --- /dev/null +++ b/public/js/vendor/parallax-js/bower.json @@ -0,0 +1,26 @@ +{ + "name": "parallax", + "description": "Parallax Engine that reacts to the orientation of a smart device.", + "license": "MIT", + "homepage": "http://wagerfield.github.io/parallax/", + "authors": [ + "Matthew Wagerfield " + ], + "main": [ + "deploy/parallax.js", + "deploy/jquery.parallax.js" + ], + "ignore": [ + "**/.*", + "assets", + "source", + "examples" + ], + "keywords": [ + "parallax", + "gyroscope", + "jquery", + "javascript", + "library" + ] +} diff --git a/public/js/vendor/parallax-js/dist/parallax.js b/public/js/vendor/parallax-js/dist/parallax.js new file mode 100644 index 0000000..c14d431 --- /dev/null +++ b/public/js/vendor/parallax-js/dist/parallax.js @@ -0,0 +1,1021 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Parallax = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + +},{}],4:[function(require,module,exports){ +(function (global){ +var now = require('performance-now') + , root = typeof window === 'undefined' ? global : window + , vendors = ['moz', 'webkit'] + , suffix = 'AnimationFrame' + , raf = root['request' + suffix] + , caf = root['cancel' + suffix] || root['cancelRequest' + suffix] + +for(var i = 0; !raf && i < vendors.length; i++) { + raf = root[vendors[i] + 'Request' + suffix] + caf = root[vendors[i] + 'Cancel' + suffix] + || root[vendors[i] + 'CancelRequest' + suffix] +} + +// Some versions of FF have rAF but not cAF +if(!raf || !caf) { + var last = 0 + , id = 0 + , queue = [] + , frameDuration = 1000 / 60 + + raf = function(callback) { + if(queue.length === 0) { + var _now = now() + , next = Math.max(0, frameDuration - (_now - last)) + last = next + _now + setTimeout(function() { + var cp = queue.slice(0) + // Clear queue here to prevent + // callbacks from appending listeners + // to the current frame's queue + queue.length = 0 + for(var i = 0; i < cp.length; i++) { + if(!cp[i].cancelled) { + try{ + cp[i].callback(last) + } catch(e) { + setTimeout(function() { throw e }, 0) + } + } + } + }, Math.round(next)) + } + queue.push({ + handle: ++id, + callback: callback, + cancelled: false + }) + return id + } + + caf = function(handle) { + for(var i = 0; i < queue.length; i++) { + if(queue[i].handle === handle) { + queue[i].cancelled = true + } + } + } +} + +module.exports = function(fn) { + // Wrap in a new function to prevent + // `cancel` potentially being assigned + // to the native rAF function + return raf.call(root, fn) +} +module.exports.cancel = function() { + caf.apply(root, arguments) +} +module.exports.polyfill = function() { + root.requestAnimationFrame = raf + root.cancelAnimationFrame = caf +} + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"performance-now":2}],5:[function(require,module,exports){ +'use strict'; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +/** +* Parallax.js +* @author Matthew Wagerfield - @wagerfield, René Roth - mail@reneroth.org +* @description Creates a parallax effect between an array of layers, +* driving the motion from the gyroscope output of a smartdevice. +* If no gyroscope is available, the cursor position is used. +*/ + +var rqAnFr = require('raf'); +var objectAssign = require('object-assign'); + +var helpers = { + propertyCache: {}, + vendors: [null, ['-webkit-', 'webkit'], ['-moz-', 'Moz'], ['-o-', 'O'], ['-ms-', 'ms']], + + clamp: function clamp(value, min, max) { + return min < max ? value < min ? min : value > max ? max : value : value < max ? max : value > min ? min : value; + }, + data: function data(element, name) { + return helpers.deserialize(element.getAttribute('data-' + name)); + }, + deserialize: function deserialize(value) { + if (value === 'true') { + return true; + } else if (value === 'false') { + return false; + } else if (value === 'null') { + return null; + } else if (!isNaN(parseFloat(value)) && isFinite(value)) { + return parseFloat(value); + } else { + return value; + } + }, + camelCase: function camelCase(value) { + return value.replace(/-+(.)?/g, function (match, character) { + return character ? character.toUpperCase() : ''; + }); + }, + accelerate: function accelerate(element) { + helpers.css(element, 'transform', 'translate3d(0,0,0) rotate(0.0001deg)'); + helpers.css(element, 'transform-style', 'preserve-3d'); + helpers.css(element, 'backface-visibility', 'hidden'); + }, + transformSupport: function transformSupport(value) { + var element = document.createElement('div'), + propertySupport = false, + propertyValue = null, + featureSupport = false, + cssProperty = null, + jsProperty = null; + for (var i = 0, l = helpers.vendors.length; i < l; i++) { + if (helpers.vendors[i] !== null) { + cssProperty = helpers.vendors[i][0] + 'transform'; + jsProperty = helpers.vendors[i][1] + 'Transform'; + } else { + cssProperty = 'transform'; + jsProperty = 'transform'; + } + if (element.style[jsProperty] !== undefined) { + propertySupport = true; + break; + } + } + switch (value) { + case '2D': + featureSupport = propertySupport; + break; + case '3D': + if (propertySupport) { + var body = document.body || document.createElement('body'), + documentElement = document.documentElement, + documentOverflow = documentElement.style.overflow, + isCreatedBody = false; + + if (!document.body) { + isCreatedBody = true; + documentElement.style.overflow = 'hidden'; + documentElement.appendChild(body); + body.style.overflow = 'hidden'; + body.style.background = ''; + } + + body.appendChild(element); + element.style[jsProperty] = 'translate3d(1px,1px,1px)'; + propertyValue = window.getComputedStyle(element).getPropertyValue(cssProperty); + featureSupport = propertyValue !== undefined && propertyValue.length > 0 && propertyValue !== 'none'; + documentElement.style.overflow = documentOverflow; + body.removeChild(element); + + if (isCreatedBody) { + body.removeAttribute('style'); + body.parentNode.removeChild(body); + } + } + break; + } + return featureSupport; + }, + css: function css(element, property, value) { + var jsProperty = helpers.propertyCache[property]; + if (!jsProperty) { + for (var i = 0, l = helpers.vendors.length; i < l; i++) { + if (helpers.vendors[i] !== null) { + jsProperty = helpers.camelCase(helpers.vendors[i][1] + '-' + property); + } else { + jsProperty = property; + } + if (element.style[jsProperty] !== undefined) { + helpers.propertyCache[property] = jsProperty; + break; + } + } + } + element.style[jsProperty] = value; + } +}; + +var MAGIC_NUMBER = 30, + DEFAULTS = { + relativeInput: false, + clipRelativeInput: false, + inputElement: null, + hoverOnly: false, + calibrationThreshold: 100, + calibrationDelay: 500, + supportDelay: 500, + calibrateX: false, + calibrateY: true, + invertX: true, + invertY: true, + limitX: false, + limitY: false, + scalarX: 10.0, + scalarY: 10.0, + frictionX: 0.1, + frictionY: 0.1, + originX: 0.5, + originY: 0.5, + pointerEvents: false, + precision: 1, + onReady: null, + selector: null +}; + +var Parallax = function () { + function Parallax(element, options) { + _classCallCheck(this, Parallax); + + this.element = element; + + var data = { + calibrateX: helpers.data(this.element, 'calibrate-x'), + calibrateY: helpers.data(this.element, 'calibrate-y'), + invertX: helpers.data(this.element, 'invert-x'), + invertY: helpers.data(this.element, 'invert-y'), + limitX: helpers.data(this.element, 'limit-x'), + limitY: helpers.data(this.element, 'limit-y'), + scalarX: helpers.data(this.element, 'scalar-x'), + scalarY: helpers.data(this.element, 'scalar-y'), + frictionX: helpers.data(this.element, 'friction-x'), + frictionY: helpers.data(this.element, 'friction-y'), + originX: helpers.data(this.element, 'origin-x'), + originY: helpers.data(this.element, 'origin-y'), + pointerEvents: helpers.data(this.element, 'pointer-events'), + precision: helpers.data(this.element, 'precision'), + relativeInput: helpers.data(this.element, 'relative-input'), + clipRelativeInput: helpers.data(this.element, 'clip-relative-input'), + hoverOnly: helpers.data(this.element, 'hover-only'), + inputElement: document.querySelector(helpers.data(this.element, 'input-element')), + selector: helpers.data(this.element, 'selector') + }; + + for (var key in data) { + if (data[key] === null) { + delete data[key]; + } + } + + objectAssign(this, DEFAULTS, data, options); + + if (!this.inputElement) { + this.inputElement = this.element; + } + + this.calibrationTimer = null; + this.calibrationFlag = true; + this.enabled = false; + this.depthsX = []; + this.depthsY = []; + this.raf = null; + + this.bounds = null; + this.elementPositionX = 0; + this.elementPositionY = 0; + this.elementWidth = 0; + this.elementHeight = 0; + + this.elementCenterX = 0; + this.elementCenterY = 0; + + this.elementRangeX = 0; + this.elementRangeY = 0; + + this.calibrationX = 0; + this.calibrationY = 0; + + this.inputX = 0; + this.inputY = 0; + + this.motionX = 0; + this.motionY = 0; + + this.velocityX = 0; + this.velocityY = 0; + + this.onMouseMove = this.onMouseMove.bind(this); + this.onDeviceOrientation = this.onDeviceOrientation.bind(this); + this.onDeviceMotion = this.onDeviceMotion.bind(this); + this.onOrientationTimer = this.onOrientationTimer.bind(this); + this.onMotionTimer = this.onMotionTimer.bind(this); + this.onCalibrationTimer = this.onCalibrationTimer.bind(this); + this.onAnimationFrame = this.onAnimationFrame.bind(this); + this.onWindowResize = this.onWindowResize.bind(this); + + this.windowWidth = null; + this.windowHeight = null; + this.windowCenterX = null; + this.windowCenterY = null; + this.windowRadiusX = null; + this.windowRadiusY = null; + this.portrait = false; + this.desktop = !navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i); + this.motionSupport = !!window.DeviceMotionEvent && !this.desktop; + this.orientationSupport = !!window.DeviceOrientationEvent && !this.desktop; + this.orientationStatus = 0; + this.motionStatus = 0; + + this.initialise(); + } + + _createClass(Parallax, [{ + key: 'initialise', + value: function initialise() { + if (this.transform2DSupport === undefined) { + this.transform2DSupport = helpers.transformSupport('2D'); + this.transform3DSupport = helpers.transformSupport('3D'); + } + + // Configure Context Styles + if (this.transform3DSupport) { + helpers.accelerate(this.element); + } + + var style = window.getComputedStyle(this.element); + if (style.getPropertyValue('position') === 'static') { + this.element.style.position = 'relative'; + } + + // Pointer events + if (!this.pointerEvents) { + this.element.style.pointerEvents = 'none'; + } + + // Setup + this.updateLayers(); + this.updateDimensions(); + this.enable(); + this.queueCalibration(this.calibrationDelay); + } + }, { + key: 'doReadyCallback', + value: function doReadyCallback() { + if (this.onReady) { + this.onReady(); + } + } + }, { + key: 'updateLayers', + value: function updateLayers() { + if (this.selector) { + this.layers = this.element.querySelectorAll(this.selector); + } else { + this.layers = this.element.children; + } + + if (!this.layers.length) { + console.warn('ParallaxJS: Your scene does not have any layers.'); + } + + this.depthsX = []; + this.depthsY = []; + + for (var index = 0; index < this.layers.length; index++) { + var layer = this.layers[index]; + + if (this.transform3DSupport) { + helpers.accelerate(layer); + } + + layer.style.position = index ? 'absolute' : 'relative'; + layer.style.display = 'block'; + layer.style.left = 0; + layer.style.top = 0; + + var depth = helpers.data(layer, 'depth') || 0; + this.depthsX.push(helpers.data(layer, 'depth-x') || depth); + this.depthsY.push(helpers.data(layer, 'depth-y') || depth); + } + } + }, { + key: 'updateDimensions', + value: function updateDimensions() { + this.windowWidth = window.innerWidth; + this.windowHeight = window.innerHeight; + this.windowCenterX = this.windowWidth * this.originX; + this.windowCenterY = this.windowHeight * this.originY; + this.windowRadiusX = Math.max(this.windowCenterX, this.windowWidth - this.windowCenterX); + this.windowRadiusY = Math.max(this.windowCenterY, this.windowHeight - this.windowCenterY); + } + }, { + key: 'updateBounds', + value: function updateBounds() { + this.bounds = this.inputElement.getBoundingClientRect(); + this.elementPositionX = this.bounds.left; + this.elementPositionY = this.bounds.top; + this.elementWidth = this.bounds.width; + this.elementHeight = this.bounds.height; + this.elementCenterX = this.elementWidth * this.originX; + this.elementCenterY = this.elementHeight * this.originY; + this.elementRangeX = Math.max(this.elementCenterX, this.elementWidth - this.elementCenterX); + this.elementRangeY = Math.max(this.elementCenterY, this.elementHeight - this.elementCenterY); + } + }, { + key: 'queueCalibration', + value: function queueCalibration(delay) { + clearTimeout(this.calibrationTimer); + this.calibrationTimer = setTimeout(this.onCalibrationTimer, delay); + } + }, { + key: 'enable', + value: function enable() { + if (this.enabled) { + return; + } + this.enabled = true; + + if (this.orientationSupport) { + this.portrait = false; + window.addEventListener('deviceorientation', this.onDeviceOrientation); + this.detectionTimer = setTimeout(this.onOrientationTimer, this.supportDelay); + } else if (this.motionSupport) { + this.portrait = false; + window.addEventListener('devicemotion', this.onDeviceMotion); + this.detectionTimer = setTimeout(this.onMotionTimer, this.supportDelay); + } else { + this.calibrationX = 0; + this.calibrationY = 0; + this.portrait = false; + window.addEventListener('mousemove', this.onMouseMove); + this.doReadyCallback(); + } + + window.addEventListener('resize', this.onWindowResize); + this.raf = rqAnFr(this.onAnimationFrame); + } + }, { + key: 'disable', + value: function disable() { + if (!this.enabled) { + return; + } + this.enabled = false; + + if (this.orientationSupport) { + window.removeEventListener('deviceorientation', this.onDeviceOrientation); + } else if (this.motionSupport) { + window.removeEventListener('devicemotion', this.onDeviceMotion); + } else { + window.removeEventListener('mousemove', this.onMouseMove); + } + + window.removeEventListener('resize', this.onWindowResize); + rqAnFr.cancel(this.raf); + } + }, { + key: 'calibrate', + value: function calibrate(x, y) { + this.calibrateX = x === undefined ? this.calibrateX : x; + this.calibrateY = y === undefined ? this.calibrateY : y; + } + }, { + key: 'invert', + value: function invert(x, y) { + this.invertX = x === undefined ? this.invertX : x; + this.invertY = y === undefined ? this.invertY : y; + } + }, { + key: 'friction', + value: function friction(x, y) { + this.frictionX = x === undefined ? this.frictionX : x; + this.frictionY = y === undefined ? this.frictionY : y; + } + }, { + key: 'scalar', + value: function scalar(x, y) { + this.scalarX = x === undefined ? this.scalarX : x; + this.scalarY = y === undefined ? this.scalarY : y; + } + }, { + key: 'limit', + value: function limit(x, y) { + this.limitX = x === undefined ? this.limitX : x; + this.limitY = y === undefined ? this.limitY : y; + } + }, { + key: 'origin', + value: function origin(x, y) { + this.originX = x === undefined ? this.originX : x; + this.originY = y === undefined ? this.originY : y; + } + }, { + key: 'setInputElement', + value: function setInputElement(element) { + this.inputElement = element; + this.updateDimensions(); + } + }, { + key: 'setPosition', + value: function setPosition(element, x, y) { + x = x.toFixed(this.precision) + 'px'; + y = y.toFixed(this.precision) + 'px'; + if (this.transform3DSupport) { + helpers.css(element, 'transform', 'translate3d(' + x + ',' + y + ',0)'); + } else if (this.transform2DSupport) { + helpers.css(element, 'transform', 'translate(' + x + ',' + y + ')'); + } else { + element.style.left = x; + element.style.top = y; + } + } + }, { + key: 'onOrientationTimer', + value: function onOrientationTimer() { + if (this.orientationSupport && this.orientationStatus === 0) { + this.disable(); + this.orientationSupport = false; + this.enable(); + } else { + this.doReadyCallback(); + } + } + }, { + key: 'onMotionTimer', + value: function onMotionTimer() { + if (this.motionSupport && this.motionStatus === 0) { + this.disable(); + this.motionSupport = false; + this.enable(); + } else { + this.doReadyCallback(); + } + } + }, { + key: 'onCalibrationTimer', + value: function onCalibrationTimer() { + this.calibrationFlag = true; + } + }, { + key: 'onWindowResize', + value: function onWindowResize() { + this.updateDimensions(); + } + }, { + key: 'onAnimationFrame', + value: function onAnimationFrame() { + this.updateBounds(); + var calibratedInputX = this.inputX - this.calibrationX, + calibratedInputY = this.inputY - this.calibrationY; + if (Math.abs(calibratedInputX) > this.calibrationThreshold || Math.abs(calibratedInputY) > this.calibrationThreshold) { + this.queueCalibration(0); + } + if (this.portrait) { + this.motionX = this.calibrateX ? calibratedInputY : this.inputY; + this.motionY = this.calibrateY ? calibratedInputX : this.inputX; + } else { + this.motionX = this.calibrateX ? calibratedInputX : this.inputX; + this.motionY = this.calibrateY ? calibratedInputY : this.inputY; + } + this.motionX *= this.elementWidth * (this.scalarX / 100); + this.motionY *= this.elementHeight * (this.scalarY / 100); + if (!isNaN(parseFloat(this.limitX))) { + this.motionX = helpers.clamp(this.motionX, -this.limitX, this.limitX); + } + if (!isNaN(parseFloat(this.limitY))) { + this.motionY = helpers.clamp(this.motionY, -this.limitY, this.limitY); + } + this.velocityX += (this.motionX - this.velocityX) * this.frictionX; + this.velocityY += (this.motionY - this.velocityY) * this.frictionY; + for (var index = 0; index < this.layers.length; index++) { + var layer = this.layers[index], + depthX = this.depthsX[index], + depthY = this.depthsY[index], + xOffset = this.velocityX * (depthX * (this.invertX ? -1 : 1)), + yOffset = this.velocityY * (depthY * (this.invertY ? -1 : 1)); + this.setPosition(layer, xOffset, yOffset); + } + this.raf = rqAnFr(this.onAnimationFrame); + } + }, { + key: 'rotate', + value: function rotate(beta, gamma) { + // Extract Rotation + var x = (beta || 0) / MAGIC_NUMBER, + // -90 :: 90 + y = (gamma || 0) / MAGIC_NUMBER; // -180 :: 180 + + // Detect Orientation Change + var portrait = this.windowHeight > this.windowWidth; + if (this.portrait !== portrait) { + this.portrait = portrait; + this.calibrationFlag = true; + } + + if (this.calibrationFlag) { + this.calibrationFlag = false; + this.calibrationX = x; + this.calibrationY = y; + } + + this.inputX = x; + this.inputY = y; + } + }, { + key: 'onDeviceOrientation', + value: function onDeviceOrientation(event) { + var beta = event.beta; + var gamma = event.gamma; + if (beta !== null && gamma !== null) { + this.orientationStatus = 1; + this.rotate(beta, gamma); + } + } + }, { + key: 'onDeviceMotion', + value: function onDeviceMotion(event) { + var beta = event.rotationRate.beta; + var gamma = event.rotationRate.gamma; + if (beta !== null && gamma !== null) { + this.motionStatus = 1; + this.rotate(beta, gamma); + } + } + }, { + key: 'onMouseMove', + value: function onMouseMove(event) { + var clientX = event.clientX, + clientY = event.clientY; + + // reset input to center if hoverOnly is set and we're not hovering the element + if (this.hoverOnly && (clientX < this.elementPositionX || clientX > this.elementPositionX + this.elementWidth || clientY < this.elementPositionY || clientY > this.elementPositionY + this.elementHeight)) { + this.inputX = 0; + this.inputY = 0; + return; + } + + if (this.relativeInput) { + // Clip mouse coordinates inside element bounds. + if (this.clipRelativeInput) { + clientX = Math.max(clientX, this.elementPositionX); + clientX = Math.min(clientX, this.elementPositionX + this.elementWidth); + clientY = Math.max(clientY, this.elementPositionY); + clientY = Math.min(clientY, this.elementPositionY + this.elementHeight); + } + // Calculate input relative to the element. + if (this.elementRangeX && this.elementRangeY) { + this.inputX = (clientX - this.elementPositionX - this.elementCenterX) / this.elementRangeX; + this.inputY = (clientY - this.elementPositionY - this.elementCenterY) / this.elementRangeY; + } + } else { + // Calculate input relative to the window. + if (this.windowRadiusX && this.windowRadiusY) { + this.inputX = (clientX - this.windowCenterX) / this.windowRadiusX; + this.inputY = (clientY - this.windowCenterY) / this.windowRadiusY; + } + } + } + }, { + key: 'destroy', + value: function destroy() { + this.disable(); + + clearTimeout(this.calibrationTimer); + clearTimeout(this.detectionTimer); + + this.element.removeAttribute('style'); + for (var index = 0; index < this.layers.length; index++) { + this.layers[index].removeAttribute('style'); + } + + delete this.element; + delete this.layers; + } + }, { + key: 'version', + value: function version() { + return '3.1.0'; + } + }]); + + return Parallax; +}(); + +module.exports = Parallax; + +},{"object-assign":1,"raf":4}]},{},[5])(5) +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvb2JqZWN0LWFzc2lnbi9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9wZXJmb3JtYW5jZS1ub3cvbGliL3BlcmZvcm1hbmNlLW5vdy5qcyIsIm5vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMiLCJub2RlX21vZHVsZXMvcmFmL2luZGV4LmpzIiwic3JjL3BhcmFsbGF4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQzFGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQ3BDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUNEO0FBQ0Q7QUFDQSxZQUFHLEtBQUssYUFBTCxJQUFzQixLQUFLLGFBQTlCLEVBQTZDO0FBQzNDLGVBQUssTUFBTCxHQUFjLENBQUMsVUFBVSxLQUFLLGdCQUFmLEdBQWtDLEtBQUssY0FBeEMsSUFBMEQsS0FBSyxhQUE3RTtBQUNBLGVBQUssTUFBTCxHQUFjLENBQUMsVUFBVSxLQUFLLGdCQUFmLEdBQWtDLEtBQUssY0FBeEMsSUFBMEQsS0FBSyxhQUE3RTtBQUNEO0FBQ0YsT0FiRCxNQWFPO0FBQ0w7QUFDQSxZQUFHLEtBQUssYUFBTCxJQUFzQixLQUFLLGFBQTlCLEVBQTZDO0FBQzNDLGVBQUssTUFBTCxHQUFjLENBQUMsVUFBVSxLQUFLLGFBQWhCLElBQWlDLEtBQUssYUFBcEQ7QUFDQSxlQUFLLE1BQUwsR0FBYyxDQUFDLFVBQVUsS0FBSyxhQUFoQixJQUFpQyxLQUFLLGFBQXBEO0FBQ0Q7QUFDRjtBQUNGOzs7OEJBRVM7QUFDUixXQUFLLE9BQUw7O0FBRUEsbUJBQWEsS0FBSyxnQkFBbEI7QUFDQSxtQkFBYSxLQUFLLGNBQWxCOztBQUVBLFdBQUssT0FBTCxDQUFhLGVBQWIsQ0FBNkIsT0FBN0I7QUFDQSxXQUFLLElBQUksUUFBUSxDQUFqQixFQUFvQixRQUFRLEtBQUssTUFBTCxDQUFZLE1BQXhDLEVBQWdELE9BQWhELEVBQXlEO0FBQ3ZELGFBQUssTUFBTCxDQUFZLEtBQVosRUFBbUIsZUFBbkIsQ0FBbUMsT0FBbkM7QUFDRDs7QUFFRCxhQUFPLEtBQUssT0FBWjtBQUNBLGFBQU8sS0FBSyxNQUFaO0FBQ0Q7Ozs4QkFFUztBQUNSLGFBQU8sT0FBUDtBQUNEOzs7Ozs7QUFJSCxPQUFPLE9BQVAsR0FBaUIsUUFBakIiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwiLypcbm9iamVjdC1hc3NpZ25cbihjKSBTaW5kcmUgU29yaHVzXG5AbGljZW5zZSBNSVRcbiovXG5cbid1c2Ugc3RyaWN0Jztcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG52YXIgZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgcHJvcElzRW51bWVyYWJsZSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XG5cbmZ1bmN0aW9uIHRvT2JqZWN0KHZhbCkge1xuXHRpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignT2JqZWN0LmFzc2lnbiBjYW5ub3QgYmUgY2FsbGVkIHdpdGggbnVsbCBvciB1bmRlZmluZWQnKTtcblx0fVxuXG5cdHJldHVybiBPYmplY3QodmFsKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkVXNlTmF0aXZlKCkge1xuXHR0cnkge1xuXHRcdGlmICghT2JqZWN0LmFzc2lnbikge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIERldGVjdCBidWdneSBwcm9wZXJ0eSBlbnVtZXJhdGlvbiBvcmRlciBpbiBvbGRlciBWOCB2ZXJzaW9ucy5cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTQxMThcblx0XHR2YXIgdGVzdDEgPSBuZXcgU3RyaW5nKCdhYmMnKTsgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3LXdyYXBwZXJzXG5cdFx0dGVzdDFbNV0gPSAnZGUnO1xuXHRcdGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0ZXN0MSlbMF0gPT09ICc1Jykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTMwNTZcblx0XHR2YXIgdGVzdDIgPSB7fTtcblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IDEwOyBpKyspIHtcblx0XHRcdHRlc3QyWydfJyArIFN0cmluZy5mcm9tQ2hhckNvZGUoaSldID0gaTtcblx0XHR9XG5cdFx0dmFyIG9yZGVyMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRlc3QyKS5tYXAoZnVuY3Rpb24gKG4pIHtcblx0XHRcdHJldHVybiB0ZXN0MltuXTtcblx0XHR9KTtcblx0XHRpZiAob3JkZXIyLmpvaW4oJycpICE9PSAnMDEyMzQ1Njc4OScpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHQvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zMDU2XG5cdFx0dmFyIHRlc3QzID0ge307XG5cdFx0J2FiY2RlZmdoaWprbG1ub3BxcnN0Jy5zcGxpdCgnJykuZm9yRWFjaChmdW5jdGlvbiAobGV0dGVyKSB7XG5cdFx0XHR0ZXN0M1tsZXR0ZXJdID0gbGV0dGVyO1xuXHRcdH0pO1xuXHRcdGlmIChPYmplY3Qua2V5cyhPYmplY3QuYXNzaWduKHt9LCB0ZXN0MykpLmpvaW4oJycpICE9PVxuXHRcdFx0XHQnYWJjZGVmZ2hpamtsbW5vcHFyc3QnKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRydWU7XG5cdH0gY2F0Y2ggKGVycikge1xuXHRcdC8vIFdlIGRvbid0IGV4cGVjdCBhbnkgb2YgdGhlIGFib3ZlIHRvIHRocm93LCBidXQgYmV0dGVyIHRvIGJlIHNhZmUuXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc2hvdWxkVXNlTmF0aXZlKCkgPyBPYmplY3QuYXNzaWduIDogZnVuY3Rpb24gKHRhcmdldCwgc291cmNlKSB7XG5cdHZhciBmcm9tO1xuXHR2YXIgdG8gPSB0b09iamVjdCh0YXJnZXQpO1xuXHR2YXIgc3ltYm9scztcblxuXHRmb3IgKHZhciBzID0gMTsgcyA8IGFyZ3VtZW50cy5sZW5ndGg7IHMrKykge1xuXHRcdGZyb20gPSBPYmplY3QoYXJndW1lbnRzW3NdKTtcblxuXHRcdGZvciAodmFyIGtleSBpbiBmcm9tKSB7XG5cdFx0XHRpZiAoaGFzT3duUHJvcGVydHkuY2FsbChmcm9tLCBrZXkpKSB7XG5cdFx0XHRcdHRvW2tleV0gPSBmcm9tW2tleV07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKGdldE93blByb3BlcnR5U3ltYm9scykge1xuXHRcdFx0c3ltYm9scyA9IGdldE93blByb3BlcnR5U3ltYm9scyhmcm9tKTtcblx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgc3ltYm9scy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRpZiAocHJvcElzRW51bWVyYWJsZS5jYWxsKGZyb20sIHN5bWJvbHNbaV0pKSB7XG5cdFx0XHRcdFx0dG9bc3ltYm9sc1tpXV0gPSBmcm9tW3N5bWJvbHNbaV1dO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHRvO1xufTtcbiIsIi8vIEdlbmVyYXRlZCBieSBDb2ZmZWVTY3JpcHQgMS4xMi4yXG4oZnVuY3Rpb24oKSB7XG4gIHZhciBnZXROYW5vU2Vjb25kcywgaHJ0aW1lLCBsb2FkVGltZSwgbW9kdWxlTG9hZFRpbWUsIG5vZGVMb2FkVGltZSwgdXBUaW1lO1xuXG4gIGlmICgodHlwZW9mIHBlcmZvcm1hbmNlICE9PSBcInVuZGVmaW5lZFwiICYmIHBlcmZvcm1hbmNlICE9PSBudWxsKSAmJiBwZXJmb3JtYW5jZS5ub3cpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHBlcmZvcm1hbmNlLm5vdygpO1xuICAgIH07XG4gIH0gZWxzZSBpZiAoKHR5cGVvZiBwcm9jZXNzICE9PSBcInVuZGVmaW5lZFwiICYmIHByb2Nlc3MgIT09IG51bGwpICYmIHByb2Nlc3MuaHJ0aW1lKSB7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiAoZ2V0TmFub1NlY29uZHMoKSAtIG5vZGVMb2FkVGltZSkgLyAxZTY7XG4gICAgfTtcbiAgICBocnRpbWUgPSBwcm9jZXNzLmhydGltZTtcbiAgICBnZXROYW5vU2Vjb25kcyA9IGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIGhyO1xuICAgICAgaHIgPSBocnRpbWUoKTtcbiAgICAgIHJldHVybiBoclswXSAqIDFlOSArIGhyWzFdO1xuICAgIH07XG4gICAgbW9kdWxlTG9hZFRpbWUgPSBnZXROYW5vU2Vjb25kcygpO1xuICAgIHVwVGltZSA9IHByb2Nlc3MudXB0aW1lKCkgKiAxZTk7XG4gICAgbm9kZUxvYWRUaW1lID0gbW9kdWxlTG9hZFRpbWUgLSB1cFRpbWU7XG4gIH0gZWxzZSBpZiAoRGF0ZS5ub3cpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIERhdGUubm93KCkgLSBsb2FkVGltZTtcbiAgICB9O1xuICAgIGxvYWRUaW1lID0gRGF0ZS5ub3coKTtcbiAgfSBlbHNlIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gbG9hZFRpbWU7XG4gICAgfTtcbiAgICBsb2FkVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICB9XG5cbn0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBlcmZvcm1hbmNlLW5vdy5qcy5tYXBcbiIsIi8vIHNoaW0gZm9yIHVzaW5nIHByb2Nlc3MgaW4gYnJvd3NlclxudmFyIHByb2Nlc3MgPSBtb2R1bGUuZXhwb3J0cyA9IHt9O1xuXG4vLyBjYWNoZWQgZnJvbSB3aGF0ZXZlciBnbG9iYWwgaXMgcHJlc2VudCBzbyB0aGF0IHRlc3QgcnVubmVycyB0aGF0IHN0dWIgaXRcbi8vIGRvbid0IGJyZWFrIHRoaW5ncy4gIEJ1dCB3ZSBuZWVkIHRvIHdyYXAgaXQgaW4gYSB0cnkgY2F0Y2ggaW4gY2FzZSBpdCBpc1xuLy8gd3JhcHBlZCBpbiBzdHJpY3QgbW9kZSBjb2RlIHdoaWNoIGRvZXNuJ3QgZGVmaW5lIGFueSBnbG9iYWxzLiAgSXQncyBpbnNpZGUgYVxuLy8gZnVuY3Rpb24gYmVjYXVzZSB0cnkvY2F0Y2hlcyBkZW9wdGltaXplIGluIGNlcnRhaW4gZW5naW5lcy5cblxudmFyIGNhY2hlZFNldFRpbWVvdXQ7XG52YXIgY2FjaGVkQ2xlYXJUaW1lb3V0O1xuXG5mdW5jdGlvbiBkZWZhdWx0U2V0VGltb3V0KCkge1xuICAgIHRocm93IG5ldyBFcnJvcignc2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCcpO1xufVxuZnVuY3Rpb24gZGVmYXVsdENsZWFyVGltZW91dCAoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbihmdW5jdGlvbiAoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKHR5cGVvZiBzZXRUaW1lb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBkZWZhdWx0U2V0VGltb3V0O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gZGVmYXVsdFNldFRpbW91dDtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjbGVhclRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGRlZmF1bHRDbGVhclRpbWVvdXQ7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGRlZmF1bHRDbGVhclRpbWVvdXQ7XG4gICAgfVxufSAoKSlcbmZ1bmN0aW9uIHJ1blRpbWVvdXQoZnVuKSB7XG4gICAgaWYgKGNhY2hlZFNldFRpbWVvdXQgPT09IHNldFRpbWVvdXQpIHtcbiAgICAgICAgLy9ub3JtYWwgZW52aXJvbWVudHMgaW4gc2FuZSBzaXR1YXRpb25zXG4gICAgICAgIHJldHVybiBzZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfVxuICAgIC8vIGlmIHNldFRpbWVvdXQgd2Fzbid0IGF2YWlsYWJsZSBidXQgd2FzIGxhdHRlciBkZWZpbmVkXG4gICAgaWYgKChjYWNoZWRTZXRUaW1lb3V0ID09PSBkZWZhdWx0U2V0VGltb3V0IHx8ICFjYWNoZWRTZXRUaW1lb3V0KSAmJiBzZXRUaW1lb3V0KSB7XG4gICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBzZXRUaW1lb3V0O1xuICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW4sIDApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyB3aGVuIHdoZW4gc29tZWJvZHkgaGFzIHNjcmV3ZWQgd2l0aCBzZXRUaW1lb3V0IGJ1dCBubyBJLkUuIG1hZGRuZXNzXG4gICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfSBjYXRjaChlKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIGluIEkuRS4gYnV0IHRoZSBzY3JpcHQgaGFzIGJlZW4gZXZhbGVkIHNvIEkuRS4gZG9lc24ndCB0cnVzdCB0aGUgZ2xvYmFsIG9iamVjdCB3aGVuIGNhbGxlZCBub3JtYWxseVxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbChudWxsLCBmdW4sIDApO1xuICAgICAgICB9IGNhdGNoKGUpe1xuICAgICAgICAgICAgLy8gc2FtZSBhcyBhYm92ZSBidXQgd2hlbiBpdCdzIGEgdmVyc2lvbiBvZiBJLkUuIHRoYXQgbXVzdCBoYXZlIHRoZSBnbG9iYWwgb2JqZWN0IGZvciAndGhpcycsIGhvcGZ1bGx5IG91ciBjb250ZXh0IGNvcnJlY3Qgb3RoZXJ3aXNlIGl0IHdpbGwgdGhyb3cgYSBnbG9iYWwgZXJyb3JcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwodGhpcywgZnVuLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG59XG5mdW5jdGlvbiBydW5DbGVhclRpbWVvdXQobWFya2VyKSB7XG4gICAgaWYgKGNhY2hlZENsZWFyVGltZW91dCA9PT0gY2xlYXJUaW1lb3V0KSB7XG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xuICAgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfVxuICAgIC8vIGlmIGNsZWFyVGltZW91dCB3YXNuJ3QgYXZhaWxhYmxlIGJ1dCB3YXMgbGF0dGVyIGRlZmluZWRcbiAgICBpZiAoKGNhY2hlZENsZWFyVGltZW91dCA9PT0gZGVmYXVsdENsZWFyVGltZW91dCB8fCAhY2FjaGVkQ2xlYXJUaW1lb3V0KSAmJiBjbGVhclRpbWVvdXQpIHtcbiAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gY2xlYXJUaW1lb3V0O1xuICAgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIC8vIHdoZW4gd2hlbiBzb21lYm9keSBoYXMgc2NyZXdlZCB3aXRoIHNldFRpbWVvdXQgYnV0IG5vIEkuRS4gbWFkZG5lc3NcbiAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH0gY2F0Y2ggKGUpe1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0ICB0cnVzdCB0aGUgZ2xvYmFsIG9iamVjdCB3aGVuIGNhbGxlZCBub3JtYWxseVxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKG51bGwsIG1hcmtlcik7XG4gICAgICAgIH0gY2F0Y2ggKGUpe1xuICAgICAgICAgICAgLy8gc2FtZSBhcyBhYm92ZSBidXQgd2hlbiBpdCdzIGEgdmVyc2lvbiBvZiBJLkUuIHRoYXQgbXVzdCBoYXZlIHRoZSBnbG9iYWwgb2JqZWN0IGZvciAndGhpcycsIGhvcGZ1bGx5IG91ciBjb250ZXh0IGNvcnJlY3Qgb3RoZXJ3aXNlIGl0IHdpbGwgdGhyb3cgYSBnbG9iYWwgZXJyb3IuXG4gICAgICAgICAgICAvLyBTb21lIHZlcnNpb25zIG9mIEkuRS4gaGF2ZSBkaWZmZXJlbnQgcnVsZXMgZm9yIGNsZWFyVGltZW91dCB2cyBzZXRUaW1lb3V0XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwodGhpcywgbWFya2VyKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbn1cbnZhciBxdWV1ZSA9IFtdO1xudmFyIGRyYWluaW5nID0gZmFsc2U7XG52YXIgY3VycmVudFF1ZXVlO1xudmFyIHF1ZXVlSW5kZXggPSAtMTtcblxuZnVuY3Rpb24gY2xlYW5VcE5leHRUaWNrKCkge1xuICAgIGlmICghZHJhaW5pbmcgfHwgIWN1cnJlbnRRdWV1ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGRyYWluaW5nID0gZmFsc2U7XG4gICAgaWYgKGN1cnJlbnRRdWV1ZS5sZW5ndGgpIHtcbiAgICAgICAgcXVldWUgPSBjdXJyZW50UXVldWUuY29uY2F0KHF1ZXVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBxdWV1ZUluZGV4ID0gLTE7XG4gICAgfVxuICAgIGlmIChxdWV1ZS5sZW5ndGgpIHtcbiAgICAgICAgZHJhaW5RdWV1ZSgpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZHJhaW5RdWV1ZSgpIHtcbiAgICBpZiAoZHJhaW5pbmcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgdGltZW91dCA9IHJ1blRpbWVvdXQoY2xlYW5VcE5leHRUaWNrKTtcbiAgICBkcmFpbmluZyA9IHRydWU7XG5cbiAgICB2YXIgbGVuID0gcXVldWUubGVuZ3RoO1xuICAgIHdoaWxlKGxlbikge1xuICAgICAgICBjdXJyZW50UXVldWUgPSBxdWV1ZTtcbiAgICAgICAgcXVldWUgPSBbXTtcbiAgICAgICAgd2hpbGUgKCsrcXVldWVJbmRleCA8IGxlbikge1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRRdWV1ZSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRRdWV1ZVtxdWV1ZUluZGV4XS5ydW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBxdWV1ZUluZGV4ID0gLTE7XG4gICAgICAgIGxlbiA9IHF1ZXVlLmxlbmd0aDtcbiAgICB9XG4gICAgY3VycmVudFF1ZXVlID0gbnVsbDtcbiAgICBkcmFpbmluZyA9IGZhbHNlO1xuICAgIHJ1bkNsZWFyVGltZW91dCh0aW1lb3V0KTtcbn1cblxucHJvY2Vzcy5uZXh0VGljayA9IGZ1bmN0aW9uIChmdW4pIHtcbiAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSk7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBhcmdzW2kgLSAxXSA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBxdWV1ZS5wdXNoKG5ldyBJdGVtKGZ1biwgYXJncykpO1xuICAgIGlmIChxdWV1ZS5sZW5ndGggPT09IDEgJiYgIWRyYWluaW5nKSB7XG4gICAgICAgIHJ1blRpbWVvdXQoZHJhaW5RdWV1ZSk7XG4gICAgfVxufTtcblxuLy8gdjggbGlrZXMgcHJlZGljdGlibGUgb2JqZWN0c1xuZnVuY3Rpb24gSXRlbShmdW4sIGFycmF5KSB7XG4gICAgdGhpcy5mdW4gPSBmdW47XG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xufVxuSXRlbS5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuZnVuLmFwcGx5KG51bGwsIHRoaXMuYXJyYXkpO1xufTtcbnByb2Nlc3MudGl0bGUgPSAnYnJvd3Nlcic7XG5wcm9jZXNzLmJyb3dzZXIgPSB0cnVlO1xucHJvY2Vzcy5lbnYgPSB7fTtcbnByb2Nlc3MuYXJndiA9IFtdO1xucHJvY2Vzcy52ZXJzaW9uID0gJyc7IC8vIGVtcHR5IHN0cmluZyB0byBhdm9pZCByZWdleHAgaXNzdWVzXG5wcm9jZXNzLnZlcnNpb25zID0ge307XG5cbmZ1bmN0aW9uIG5vb3AoKSB7fVxuXG5wcm9jZXNzLm9uID0gbm9vcDtcbnByb2Nlc3MuYWRkTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5vbmNlID0gbm9vcDtcbnByb2Nlc3Mub2ZmID0gbm9vcDtcbnByb2Nlc3MucmVtb3ZlTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5yZW1vdmVBbGxMaXN0ZW5lcnMgPSBub29wO1xucHJvY2Vzcy5lbWl0ID0gbm9vcDtcbnByb2Nlc3MucHJlcGVuZExpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3MucHJlcGVuZE9uY2VMaXN0ZW5lciA9IG5vb3A7XG5cbnByb2Nlc3MubGlzdGVuZXJzID0gZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuIFtdIH1cblxucHJvY2Vzcy5iaW5kaW5nID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkJyk7XG59O1xuXG5wcm9jZXNzLmN3ZCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcvJyB9O1xucHJvY2Vzcy5jaGRpciA9IGZ1bmN0aW9uIChkaXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCcpO1xufTtcbnByb2Nlc3MudW1hc2sgPSBmdW5jdGlvbigpIHsgcmV0dXJuIDA7IH07XG4iLCJ2YXIgbm93ID0gcmVxdWlyZSgncGVyZm9ybWFuY2Utbm93JylcbiAgLCByb290ID0gdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiB3aW5kb3dcbiAgLCB2ZW5kb3JzID0gWydtb3onLCAnd2Via2l0J11cbiAgLCBzdWZmaXggPSAnQW5pbWF0aW9uRnJhbWUnXG4gICwgcmFmID0gcm9vdFsncmVxdWVzdCcgKyBzdWZmaXhdXG4gICwgY2FmID0gcm9vdFsnY2FuY2VsJyArIHN1ZmZpeF0gfHwgcm9vdFsnY2FuY2VsUmVxdWVzdCcgKyBzdWZmaXhdXG5cbmZvcih2YXIgaSA9IDA7ICFyYWYgJiYgaSA8IHZlbmRvcnMubGVuZ3RoOyBpKyspIHtcbiAgcmFmID0gcm9vdFt2ZW5kb3JzW2ldICsgJ1JlcXVlc3QnICsgc3VmZml4XVxuICBjYWYgPSByb290W3ZlbmRvcnNbaV0gKyAnQ2FuY2VsJyArIHN1ZmZpeF1cbiAgICAgIHx8IHJvb3RbdmVuZG9yc1tpXSArICdDYW5jZWxSZXF1ZXN0JyArIHN1ZmZpeF1cbn1cblxuLy8gU29tZSB2ZXJzaW9ucyBvZiBGRiBoYXZlIHJBRiBidXQgbm90IGNBRlxuaWYoIXJhZiB8fCAhY2FmKSB7XG4gIHZhciBsYXN0ID0gMFxuICAgICwgaWQgPSAwXG4gICAgLCBxdWV1ZSA9IFtdXG4gICAgLCBmcmFtZUR1cmF0aW9uID0gMTAwMCAvIDYwXG5cbiAgcmFmID0gZnVuY3Rpb24oY2FsbGJhY2spIHtcbiAgICBpZihxdWV1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHZhciBfbm93ID0gbm93KClcbiAgICAgICAgLCBuZXh0ID0gTWF0aC5tYXgoMCwgZnJhbWVEdXJhdGlvbiAtIChfbm93IC0gbGFzdCkpXG4gICAgICBsYXN0ID0gbmV4dCArIF9ub3dcbiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBjcCA9IHF1ZXVlLnNsaWNlKDApXG4gICAgICAgIC8vIENsZWFyIHF1ZXVlIGhlcmUgdG8gcHJldmVudFxuICAgICAgICAvLyBjYWxsYmFja3MgZnJvbSBhcHBlbmRpbmcgbGlzdGVuZXJzXG4gICAgICAgIC8vIHRvIHRoZSBjdXJyZW50IGZyYW1lJ3MgcXVldWVcbiAgICAgICAgcXVldWUubGVuZ3RoID0gMFxuICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgY3AubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZighY3BbaV0uY2FuY2VsbGVkKSB7XG4gICAgICAgICAgICB0cnl7XG4gICAgICAgICAgICAgIGNwW2ldLmNhbGxiYWNrKGxhc3QpXG4gICAgICAgICAgICB9IGNhdGNoKGUpIHtcbiAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgdGhyb3cgZSB9LCAwKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSwgTWF0aC5yb3VuZChuZXh0KSlcbiAgICB9XG4gICAgcXVldWUucHVzaCh7XG4gICAgICBoYW5kbGU6ICsraWQsXG4gICAgICBjYWxsYmFjazogY2FsbGJhY2ssXG4gICAgICBjYW5jZWxsZWQ6IGZhbHNlXG4gICAgfSlcbiAgICByZXR1cm4gaWRcbiAgfVxuXG4gIGNhZiA9IGZ1bmN0aW9uKGhhbmRsZSkge1xuICAgIGZvcih2YXIgaSA9IDA7IGkgPCBxdWV1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYocXVldWVbaV0uaGFuZGxlID09PSBoYW5kbGUpIHtcbiAgICAgICAgcXVldWVbaV0uY2FuY2VsbGVkID0gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGZuKSB7XG4gIC8vIFdyYXAgaW4gYSBuZXcgZnVuY3Rpb24gdG8gcHJldmVudFxuICAvLyBgY2FuY2VsYCBwb3RlbnRpYWxseSBiZWluZyBhc3NpZ25lZFxuICAvLyB0byB0aGUgbmF0aXZlIHJBRiBmdW5jdGlvblxuICByZXR1cm4gcmFmLmNhbGwocm9vdCwgZm4pXG59XG5tb2R1bGUuZXhwb3J0cy5jYW5jZWwgPSBmdW5jdGlvbigpIHtcbiAgY2FmLmFwcGx5KHJvb3QsIGFyZ3VtZW50cylcbn1cbm1vZHVsZS5leHBvcnRzLnBvbHlmaWxsID0gZnVuY3Rpb24oKSB7XG4gIHJvb3QucmVxdWVzdEFuaW1hdGlvbkZyYW1lID0gcmFmXG4gIHJvb3QuY2FuY2VsQW5pbWF0aW9uRnJhbWUgPSBjYWZcbn1cbiIsIi8qKlxuKiBQYXJhbGxheC5qc1xuKiBAYXV0aG9yIE1hdHRoZXcgV2FnZXJmaWVsZCAtIEB3YWdlcmZpZWxkLCBSZW7DqSBSb3RoIC0gbWFpbEByZW5lcm90aC5vcmdcbiogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBwYXJhbGxheCBlZmZlY3QgYmV0d2VlbiBhbiBhcnJheSBvZiBsYXllcnMsXG4qICAgICAgICAgICAgICBkcml2aW5nIHRoZSBtb3Rpb24gZnJvbSB0aGUgZ3lyb3Njb3BlIG91dHB1dCBvZiBhIHNtYXJ0ZGV2aWNlLlxuKiAgICAgICAgICAgICAgSWYgbm8gZ3lyb3Njb3BlIGlzIGF2YWlsYWJsZSwgdGhlIGN1cnNvciBwb3NpdGlvbiBpcyB1c2VkLlxuKi9cblxuY29uc3QgcnFBbkZyID0gcmVxdWlyZSgncmFmJylcbmNvbnN0IG9iamVjdEFzc2lnbiA9IHJlcXVpcmUoJ29iamVjdC1hc3NpZ24nKVxuXG5jb25zdCBoZWxwZXJzID0ge1xuICBwcm9wZXJ0eUNhY2hlOiB7fSxcbiAgdmVuZG9yczogW251bGwsIFsnLXdlYmtpdC0nLCd3ZWJraXQnXSwgWyctbW96LScsJ01veiddLCBbJy1vLScsJ08nXSwgWyctbXMtJywnbXMnXV0sXG5cbiAgY2xhbXAodmFsdWUsIG1pbiwgbWF4KSB7XG4gICAgcmV0dXJuIG1pbiA8IG1heFxuICAgICAgPyAodmFsdWUgPCBtaW4gPyBtaW4gOiB2YWx1ZSA+IG1heCA/IG1heCA6IHZhbHVlKVxuICAgICAgOiAodmFsdWUgPCBtYXggPyBtYXggOiB2YWx1ZSA+IG1pbiA/IG1pbiA6IHZhbHVlKVxuICB9LFxuXG4gIGRhdGEoZWxlbWVudCwgbmFtZSkge1xuICAgIHJldHVybiBoZWxwZXJzLmRlc2VyaWFsaXplKGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLScrbmFtZSkpXG4gIH0sXG5cbiAgZGVzZXJpYWxpemUodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09ICd0cnVlJykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAnZmFsc2UnKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAnbnVsbCcpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfSBlbHNlIGlmICghaXNOYU4ocGFyc2VGbG9hdCh2YWx1ZSkpICYmIGlzRmluaXRlKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB2YWx1ZVxuICAgIH1cbiAgfSxcblxuICBjYW1lbENhc2UodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvLSsoLik/L2csIChtYXRjaCwgY2hhcmFjdGVyKSA9PiB7XG4gICAgICByZXR1cm4gY2hhcmFjdGVyID8gY2hhcmFjdGVyLnRvVXBwZXJDYXNlKCkgOiAnJ1xuICAgIH0pXG4gIH0sXG5cbiAgYWNjZWxlcmF0ZShlbGVtZW50KSB7XG4gICAgaGVscGVycy5jc3MoZWxlbWVudCwgJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUzZCgwLDAsMCkgcm90YXRlKDAuMDAwMWRlZyknKVxuICAgIGhlbHBlcnMuY3NzKGVsZW1lbnQsICd0cmFuc2Zvcm0tc3R5bGUnLCAncHJlc2VydmUtM2QnKVxuICAgIGhlbHBlcnMuY3NzKGVsZW1lbnQsICdiYWNrZmFjZS12aXNpYmlsaXR5JywgJ2hpZGRlbicpXG4gIH0sXG5cbiAgdHJhbnNmb3JtU3VwcG9ydCh2YWx1ZSkge1xuICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksXG4gICAgICAgIHByb3BlcnR5U3VwcG9ydCA9IGZhbHNlLFxuICAgICAgICBwcm9wZXJ0eVZhbHVlID0gbnVsbCxcbiAgICAgICAgZmVhdHVyZVN1cHBvcnQgPSBmYWxzZSxcbiAgICAgICAgY3NzUHJvcGVydHkgPSBudWxsLFxuICAgICAgICBqc1Byb3BlcnR5ID0gbnVsbFxuICAgIGZvciAobGV0IGkgPSAwLCBsID0gaGVscGVycy52ZW5kb3JzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKGhlbHBlcnMudmVuZG9yc1tpXSAhPT0gbnVsbCkge1xuICAgICAgICBjc3NQcm9wZXJ0eSA9IGhlbHBlcnMudmVuZG9yc1tpXVswXSArICd0cmFuc2Zvcm0nXG4gICAgICAgIGpzUHJvcGVydHkgPSBoZWxwZXJzLnZlbmRvcnNbaV1bMV0gKyAnVHJhbnNmb3JtJ1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY3NzUHJvcGVydHkgPSAndHJhbnNmb3JtJ1xuICAgICAgICBqc1Byb3BlcnR5ID0gJ3RyYW5zZm9ybSdcbiAgICAgIH1cbiAgICAgIGlmIChlbGVtZW50LnN0eWxlW2pzUHJvcGVydHldICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcHJvcGVydHlTdXBwb3J0ID0gdHJ1ZVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2godmFsdWUpIHtcbiAgICAgIGNhc2UgJzJEJzpcbiAgICAgICAgZmVhdHVyZVN1cHBvcnQgPSBwcm9wZXJ0eVN1cHBvcnRcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJzNEJzpcbiAgICAgICAgaWYgKHByb3BlcnR5U3VwcG9ydCkge1xuICAgICAgICAgIGxldCBib2R5ID0gZG9jdW1lbnQuYm9keSB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdib2R5JyksXG4gICAgICAgICAgICAgIGRvY3VtZW50RWxlbWVudCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxcbiAgICAgICAgICAgICAgZG9jdW1lbnRPdmVyZmxvdyA9IGRvY3VtZW50RWxlbWVudC5zdHlsZS5vdmVyZmxvdyxcbiAgICAgICAgICAgICAgaXNDcmVhdGVkQm9keSA9IGZhbHNlXG5cbiAgICAgICAgICBpZiAoIWRvY3VtZW50LmJvZHkpIHtcbiAgICAgICAgICAgIGlzQ3JlYXRlZEJvZHkgPSB0cnVlXG4gICAgICAgICAgICBkb2N1bWVudEVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJ1xuICAgICAgICAgICAgZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKGJvZHkpXG4gICAgICAgICAgICBib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbidcbiAgICAgICAgICAgIGJvZHkuc3R5bGUuYmFja2dyb3VuZCA9ICcnXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KVxuICAgICAgICAgIGVsZW1lbnQuc3R5bGVbanNQcm9wZXJ0eV0gPSAndHJhbnNsYXRlM2QoMXB4LDFweCwxcHgpJ1xuICAgICAgICAgIHByb3BlcnR5VmFsdWUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKGNzc1Byb3BlcnR5KVxuICAgICAgICAgIGZlYXR1cmVTdXBwb3J0ID0gcHJvcGVydHlWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BlcnR5VmFsdWUubGVuZ3RoID4gMCAmJiBwcm9wZXJ0eVZhbHVlICE9PSAnbm9uZSdcbiAgICAgICAgICBkb2N1bWVudEVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSBkb2N1bWVudE92ZXJmbG93XG4gICAgICAgICAgYm9keS5yZW1vdmVDaGlsZChlbGVtZW50KVxuXG4gICAgICAgICAgaWYgKCBpc0NyZWF0ZWRCb2R5ICkge1xuICAgICAgICAgICAgYm9keS5yZW1vdmVBdHRyaWJ1dGUoJ3N0eWxlJylcbiAgICAgICAgICAgIGJvZHkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChib2R5KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgIH1cbiAgICByZXR1cm4gZmVhdHVyZVN1cHBvcnRcbiAgfSxcblxuICBjc3MoZWxlbWVudCwgcHJvcGVydHksIHZhbHVlKSB7XG4gICAgbGV0IGpzUHJvcGVydHkgPSBoZWxwZXJzLnByb3BlcnR5Q2FjaGVbcHJvcGVydHldXG4gICAgaWYgKCFqc1Byb3BlcnR5KSB7XG4gICAgICBmb3IgKGxldCBpID0gMCwgbCA9IGhlbHBlcnMudmVuZG9ycy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaWYgKGhlbHBlcnMudmVuZG9yc1tpXSAhPT0gbnVsbCkge1xuICAgICAgICAgIGpzUHJvcGVydHkgPSBoZWxwZXJzLmNhbWVsQ2FzZShoZWxwZXJzLnZlbmRvcnNbaV1bMV0gKyAnLScgKyBwcm9wZXJ0eSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBqc1Byb3BlcnR5ID0gcHJvcGVydHlcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWxlbWVudC5zdHlsZVtqc1Byb3BlcnR5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaGVscGVycy5wcm9wZXJ0eUNhY2hlW3Byb3BlcnR5XSA9IGpzUHJvcGVydHlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGVsZW1lbnQuc3R5bGVbanNQcm9wZXJ0eV0gPSB2YWx1ZVxuICB9XG5cbn1cblxuY29uc3QgTUFHSUNfTlVNQkVSID0gMzAsXG4gICAgICBERUZBVUxUUyA9IHtcbiAgICAgICAgcmVsYXRpdmVJbnB1dDogZmFsc2UsXG4gICAgICAgIGNsaXBSZWxhdGl2ZUlucHV0OiBmYWxzZSxcbiAgICAgICAgaW5wdXRFbGVtZW50OiBudWxsLFxuICAgICAgICBob3Zlck9ubHk6IGZhbHNlLFxuICAgICAgICBjYWxpYnJhdGlvblRocmVzaG9sZDogMTAwLFxuICAgICAgICBjYWxpYnJhdGlvbkRlbGF5OiA1MDAsXG4gICAgICAgIHN1cHBvcnREZWxheTogNTAwLFxuICAgICAgICBjYWxpYnJhdGVYOiBmYWxzZSxcbiAgICAgICAgY2FsaWJyYXRlWTogdHJ1ZSxcbiAgICAgICAgaW52ZXJ0WDogdHJ1ZSxcbiAgICAgICAgaW52ZXJ0WTogdHJ1ZSxcbiAgICAgICAgbGltaXRYOiBmYWxzZSxcbiAgICAgICAgbGltaXRZOiBmYWxzZSxcbiAgICAgICAgc2NhbGFyWDogMTAuMCxcbiAgICAgICAgc2NhbGFyWTogMTAuMCxcbiAgICAgICAgZnJpY3Rpb25YOiAwLjEsXG4gICAgICAgIGZyaWN0aW9uWTogMC4xLFxuICAgICAgICBvcmlnaW5YOiAwLjUsXG4gICAgICAgIG9yaWdpblk6IDAuNSxcbiAgICAgICAgcG9pbnRlckV2ZW50czogZmFsc2UsXG4gICAgICAgIHByZWNpc2lvbjogMSxcbiAgICAgICAgb25SZWFkeTogbnVsbCxcbiAgICAgICAgc2VsZWN0b3I6IG51bGxcbiAgICAgIH1cblxuY2xhc3MgUGFyYWxsYXgge1xuICBjb25zdHJ1Y3RvcihlbGVtZW50LCBvcHRpb25zKSB7XG5cbiAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50XG5cbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgY2FsaWJyYXRlWDogaGVscGVycy5kYXRhKHRoaXMuZWxlbWVudCwgJ2NhbGlicmF0ZS14JyksXG4gICAgICBjYWxpYnJhdGVZOiBoZWxwZXJzLmRhdGEodGhpcy5lbGVtZW50LCAnY2FsaWJyYXRlLXknKSxcbiAgICAgIGludmVydFg6IGhlbHBlcnMuZGF0YSh0aGlzLmVsZW1lbnQsICdpbnZlcnQteCcpLFxuICAgICAgaW52ZXJ0WTogaGVscGVycy5kYXRhKHRoaXMuZWxlbWVudCwgJ2ludmVydC15JyksXG4gICAgICBsaW1pdFg6IGhlbHBlcnMuZGF0YSh0aGlzLmVsZW1lbnQsICdsaW1pdC14JyksXG4gICAgICBsaW1pdFk6IGhlbHBlcnMuZGF0YSh0aGlzLmVsZW1lbnQsICdsaW1pdC15JyksXG4gICAgICBzY2FsYXJYOiBoZWxwZXJzLmRhdGEodGhpcy5lbGVtZW50LCAnc2NhbGFyLXgnKSxcbiAgICAgIHNjYWxhclk6IGhlbHBlcnMuZGF0YSh0aGlzLmVsZW1lbnQsICdzY2FsYXIteScpLFxuICAgICAgZnJpY3Rpb25YOiBoZWxwZXJzLmRhdGEodGhpcy5lbGVtZW50LCAnZnJpY3Rpb24teCcpLFxuICAgICAgZnJpY3Rpb25ZOiBoZWxwZXJzLmRhdGEodGhpcy5lbGVtZW50LCAnZnJpY3Rpb24teScpLFxuICAgICAgb3JpZ2luWDogaGVscGVycy5kYXRhKHRoaXMuZWxlbWVudCwgJ29yaWdpbi14JyksXG4gICAgICBvcmlnaW5ZOiBoZWxwZXJzLmRhdGEodGhpcy5lbGVtZW50LCAnb3JpZ2luLXknKSxcbiAgICAgIHBvaW50ZXJFdmVudHM6IGhlbHBlcnMuZGF0YSh0aGlzLmVsZW1lbnQsICdwb2ludGVyLWV2ZW50cycpLFxuICAgICAgcHJlY2lzaW9uOiBoZWxwZXJzLmRhdGEodGhpcy5lbGVtZW50LCAncHJlY2lzaW9uJyksXG4gICAgICByZWxhdGl2ZUlucHV0OiBoZWxwZXJzLmRhdGEodGhpcy5lbGVtZW50LCAncmVsYXRpdmUtaW5wdXQnKSxcbiAgICAgIGNsaXBSZWxhdGl2ZUlucHV0OiBoZWxwZXJzLmRhdGEodGhpcy5lbGVtZW50LCAnY2xpcC1yZWxhdGl2ZS1pbnB1dCcpLFxuICAgICAgaG92ZXJPbmx5OiBoZWxwZXJzLmRhdGEodGhpcy5lbGVtZW50LCAnaG92ZXItb25seScpLFxuICAgICAgaW5wdXRFbGVtZW50OiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGhlbHBlcnMuZGF0YSh0aGlzLmVsZW1lbnQsICdpbnB1dC1lbGVtZW50JykpLFxuICAgICAgc2VsZWN0b3I6IGhlbHBlcnMuZGF0YSh0aGlzLmVsZW1lbnQsICdzZWxlY3RvcicpXG4gICAgfVxuXG4gICAgZm9yIChsZXQga2V5IGluIGRhdGEpIHtcbiAgICAgIGlmIChkYXRhW2tleV0gPT09IG51bGwpIHtcbiAgICAgICAgZGVsZXRlIGRhdGFba2V5XVxuICAgICAgfVxuICAgIH1cblxuICAgIG9iamVjdEFzc2lnbih0aGlzLCBERUZBVUxUUywgZGF0YSwgb3B0aW9ucylcblxuICAgIGlmKCF0aGlzLmlucHV0RWxlbWVudCkge1xuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRcbiAgICB9XG5cbiAgICB0aGlzLmNhbGlicmF0aW9uVGltZXIgPSBudWxsXG4gICAgdGhpcy5jYWxpYnJhdGlvbkZsYWcgPSB0cnVlXG4gICAgdGhpcy5lbmFibGVkID0gZmFsc2VcbiAgICB0aGlzLmRlcHRoc1ggPSBbXVxuICAgIHRoaXMuZGVwdGhzWSA9IFtdXG4gICAgdGhpcy5yYWYgPSBudWxsXG5cbiAgICB0aGlzLmJvdW5kcyA9IG51bGxcbiAgICB0aGlzLmVsZW1lbnRQb3NpdGlvblggPSAwXG4gICAgdGhpcy5lbGVtZW50UG9zaXRpb25ZID0gMFxuICAgIHRoaXMuZWxlbWVudFdpZHRoID0gMFxuICAgIHRoaXMuZWxlbWVudEhlaWdodCA9IDBcblxuICAgIHRoaXMuZWxlbWVudENlbnRlclggPSAwXG4gICAgdGhpcy5lbGVtZW50Q2VudGVyWSA9IDBcblxuICAgIHRoaXMuZWxlbWVudFJhbmdlWCA9IDBcbiAgICB0aGlzLmVsZW1lbnRSYW5nZVkgPSAwXG5cbiAgICB0aGlzLmNhbGlicmF0aW9uWCA9IDBcbiAgICB0aGlzLmNhbGlicmF0aW9uWSA9IDBcblxuICAgIHRoaXMuaW5wdXRYID0gMFxuICAgIHRoaXMuaW5wdXRZID0gMFxuXG4gICAgdGhpcy5tb3Rpb25YID0gMFxuICAgIHRoaXMubW90aW9uWSA9IDBcblxuICAgIHRoaXMudmVsb2NpdHlYID0gMFxuICAgIHRoaXMudmVsb2NpdHlZID0gMFxuXG4gICAgdGhpcy5vbk1vdXNlTW92ZSA9IHRoaXMub25Nb3VzZU1vdmUuYmluZCh0aGlzKVxuICAgIHRoaXMub25EZXZpY2VPcmllbnRhdGlvbiA9IHRoaXMub25EZXZpY2VPcmllbnRhdGlvbi5iaW5kKHRoaXMpXG4gICAgdGhpcy5vbkRldmljZU1vdGlvbiA9IHRoaXMub25EZXZpY2VNb3Rpb24uYmluZCh0aGlzKVxuICAgIHRoaXMub25PcmllbnRhdGlvblRpbWVyID0gdGhpcy5vbk9yaWVudGF0aW9uVGltZXIuYmluZCh0aGlzKVxuICAgIHRoaXMub25Nb3Rpb25UaW1lciA9IHRoaXMub25Nb3Rpb25UaW1lci5iaW5kKHRoaXMpXG4gICAgdGhpcy5vbkNhbGlicmF0aW9uVGltZXIgPSB0aGlzLm9uQ2FsaWJyYXRpb25UaW1lci5iaW5kKHRoaXMpXG4gICAgdGhpcy5vbkFuaW1hdGlvbkZyYW1lID0gdGhpcy5vbkFuaW1hdGlvbkZyYW1lLmJpbmQodGhpcylcbiAgICB0aGlzLm9uV2luZG93UmVzaXplID0gdGhpcy5vbldpbmRvd1Jlc2l6ZS5iaW5kKHRoaXMpXG5cbiAgICB0aGlzLndpbmRvd1dpZHRoID0gbnVsbFxuICAgIHRoaXMud2luZG93SGVpZ2h0ID0gbnVsbFxuICAgIHRoaXMud2luZG93Q2VudGVyWCA9IG51bGxcbiAgICB0aGlzLndpbmRvd0NlbnRlclkgPSBudWxsXG4gICAgdGhpcy53aW5kb3dSYWRpdXNYID0gbnVsbFxuICAgIHRoaXMud2luZG93UmFkaXVzWSA9IG51bGxcbiAgICB0aGlzLnBvcnRyYWl0ID0gZmFsc2VcbiAgICB0aGlzLmRlc2t0b3AgPSAhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvKGlQaG9uZXxpUG9kfGlQYWR8QW5kcm9pZHxCbGFja0JlcnJ5fEJCMTB8bW9iaXx0YWJsZXR8b3BlcmEgbWluaXxuZXh1cyA3KS9pKVxuICAgIHRoaXMubW90aW9uU3VwcG9ydCA9ICEhd2luZG93LkRldmljZU1vdGlvbkV2ZW50ICYmICF0aGlzLmRlc2t0b3BcbiAgICB0aGlzLm9yaWVudGF0aW9uU3VwcG9ydCA9ICEhd2luZG93LkRldmljZU9yaWVudGF0aW9uRXZlbnQgJiYgIXRoaXMuZGVza3RvcFxuICAgIHRoaXMub3JpZW50YXRpb25TdGF0dXMgPSAwXG4gICAgdGhpcy5tb3Rpb25TdGF0dXMgPSAwXG5cbiAgICB0aGlzLmluaXRpYWxpc2UoKVxuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICBpZiAodGhpcy50cmFuc2Zvcm0yRFN1cHBvcnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy50cmFuc2Zvcm0yRFN1cHBvcnQgPSBoZWxwZXJzLnRyYW5zZm9ybVN1cHBvcnQoJzJEJylcbiAgICAgIHRoaXMudHJhbnNmb3JtM0RTdXBwb3J0ID0gaGVscGVycy50cmFuc2Zvcm1TdXBwb3J0KCczRCcpXG4gICAgfVxuXG4gICAgLy8gQ29uZmlndXJlIENvbnRleHQgU3R5bGVzXG4gICAgaWYgKHRoaXMudHJhbnNmb3JtM0RTdXBwb3J0KSB7XG4gICAgICBoZWxwZXJzLmFjY2VsZXJhdGUodGhpcy5lbGVtZW50KVxuICAgIH1cblxuICAgIGxldCBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudClcbiAgICBpZiAoc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgncG9zaXRpb24nKSA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdyZWxhdGl2ZSdcbiAgICB9XG5cbiAgICAvLyBQb2ludGVyIGV2ZW50c1xuICAgIGlmKCF0aGlzLnBvaW50ZXJFdmVudHMpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnXG4gICAgfVxuXG4gICAgLy8gU2V0dXBcbiAgICB0aGlzLnVwZGF0ZUxheWVycygpXG4gICAgdGhpcy51cGRhdGVEaW1lbnNpb25zKClcbiAgICB0aGlzLmVuYWJsZSgpXG4gICAgdGhpcy5xdWV1ZUNhbGlicmF0aW9uKHRoaXMuY2FsaWJyYXRpb25EZWxheSlcbiAgfVxuXG4gIGRvUmVhZHlDYWxsYmFjaygpIHtcbiAgICBpZih0aGlzLm9uUmVhZHkpIHtcbiAgICAgIHRoaXMub25SZWFkeSgpXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlTGF5ZXJzKCkge1xuICAgIGlmKHRoaXMuc2VsZWN0b3IpIHtcbiAgICAgIHRoaXMubGF5ZXJzID0gdGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5zZWxlY3RvcilcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sYXllcnMgPSB0aGlzLmVsZW1lbnQuY2hpbGRyZW5cbiAgICB9XG5cbiAgICBpZighdGhpcy5sYXllcnMubGVuZ3RoKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1BhcmFsbGF4SlM6IFlvdXIgc2NlbmUgZG9lcyBub3QgaGF2ZSBhbnkgbGF5ZXJzLicpXG4gICAgfVxuXG4gICAgdGhpcy5kZXB0aHNYID0gW11cbiAgICB0aGlzLmRlcHRoc1kgPSBbXVxuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMubGF5ZXJzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgbGV0IGxheWVyID0gdGhpcy5sYXllcnNbaW5kZXhdXG5cbiAgICAgIGlmICh0aGlzLnRyYW5zZm9ybTNEU3VwcG9ydCkge1xuICAgICAgICBoZWxwZXJzLmFjY2VsZXJhdGUobGF5ZXIpXG4gICAgICB9XG5cbiAgICAgIGxheWVyLnN0eWxlLnBvc2l0aW9uID0gaW5kZXggPyAnYWJzb2x1dGUnIDogJ3JlbGF0aXZlJ1xuICAgICAgbGF5ZXIuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICAgIGxheWVyLnN0eWxlLmxlZnQgPSAwXG4gICAgICBsYXllci5zdHlsZS50b3AgPSAwXG5cbiAgICAgIGxldCBkZXB0aCA9IGhlbHBlcnMuZGF0YShsYXllciwgJ2RlcHRoJykgfHwgMFxuICAgICAgdGhpcy5kZXB0aHNYLnB1c2goaGVscGVycy5kYXRhKGxheWVyLCAnZGVwdGgteCcpIHx8IGRlcHRoKVxuICAgICAgdGhpcy5kZXB0aHNZLnB1c2goaGVscGVycy5kYXRhKGxheWVyLCAnZGVwdGgteScpIHx8IGRlcHRoKVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZURpbWVuc2lvbnMoKSB7XG4gICAgdGhpcy53aW5kb3dXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoXG4gICAgdGhpcy53aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHRcbiAgICB0aGlzLndpbmRvd0NlbnRlclggPSB0aGlzLndpbmRvd1dpZHRoICogdGhpcy5vcmlnaW5YXG4gICAgdGhpcy53aW5kb3dDZW50ZXJZID0gdGhpcy53aW5kb3dIZWlnaHQgKiB0aGlzLm9yaWdpbllcbiAgICB0aGlzLndpbmRvd1JhZGl1c1ggPSBNYXRoLm1heCh0aGlzLndpbmRvd0NlbnRlclgsIHRoaXMud2luZG93V2lkdGggLSB0aGlzLndpbmRvd0NlbnRlclgpXG4gICAgdGhpcy53aW5kb3dSYWRpdXNZID0gTWF0aC5tYXgodGhpcy53aW5kb3dDZW50ZXJZLCB0aGlzLndpbmRvd0hlaWdodCAtIHRoaXMud2luZG93Q2VudGVyWSlcbiAgfVxuXG4gIHVwZGF0ZUJvdW5kcygpIHtcbiAgICB0aGlzLmJvdW5kcyA9IHRoaXMuaW5wdXRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgdGhpcy5lbGVtZW50UG9zaXRpb25YID0gdGhpcy5ib3VuZHMubGVmdFxuICAgIHRoaXMuZWxlbWVudFBvc2l0aW9uWSA9IHRoaXMuYm91bmRzLnRvcFxuICAgIHRoaXMuZWxlbWVudFdpZHRoID0gdGhpcy5ib3VuZHMud2lkdGhcbiAgICB0aGlzLmVsZW1lbnRIZWlnaHQgPSB0aGlzLmJvdW5kcy5oZWlnaHRcbiAgICB0aGlzLmVsZW1lbnRDZW50ZXJYID0gdGhpcy5lbGVtZW50V2lkdGggKiB0aGlzLm9yaWdpblhcbiAgICB0aGlzLmVsZW1lbnRDZW50ZXJZID0gdGhpcy5lbGVtZW50SGVpZ2h0ICogdGhpcy5vcmlnaW5ZXG4gICAgdGhpcy5lbGVtZW50UmFuZ2VYID0gTWF0aC5tYXgodGhpcy5lbGVtZW50Q2VudGVyWCwgdGhpcy5lbGVtZW50V2lkdGggLSB0aGlzLmVsZW1lbnRDZW50ZXJYKVxuICAgIHRoaXMuZWxlbWVudFJhbmdlWSA9IE1hdGgubWF4KHRoaXMuZWxlbWVudENlbnRlclksIHRoaXMuZWxlbWVudEhlaWdodCAtIHRoaXMuZWxlbWVudENlbnRlclkpXG4gIH1cblxuICBxdWV1ZUNhbGlicmF0aW9uKGRlbGF5KSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuY2FsaWJyYXRpb25UaW1lcilcbiAgICB0aGlzLmNhbGlicmF0aW9uVGltZXIgPSBzZXRUaW1lb3V0KHRoaXMub25DYWxpYnJhdGlvblRpbWVyLCBkZWxheSlcbiAgfVxuXG4gIGVuYWJsZSgpIHtcbiAgICBpZiAodGhpcy5lbmFibGVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5lbmFibGVkID0gdHJ1ZVxuXG4gICAgaWYgKHRoaXMub3JpZW50YXRpb25TdXBwb3J0KSB7XG4gICAgICB0aGlzLnBvcnRyYWl0ID0gZmFsc2VcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdkZXZpY2VvcmllbnRhdGlvbicsIHRoaXMub25EZXZpY2VPcmllbnRhdGlvbilcbiAgICAgIHRoaXMuZGV0ZWN0aW9uVGltZXIgPSBzZXRUaW1lb3V0KHRoaXMub25PcmllbnRhdGlvblRpbWVyLCB0aGlzLnN1cHBvcnREZWxheSlcbiAgICB9IGVsc2UgaWYgKHRoaXMubW90aW9uU3VwcG9ydCkge1xuICAgICAgdGhpcy5wb3J0cmFpdCA9IGZhbHNlXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZGV2aWNlbW90aW9uJywgdGhpcy5vbkRldmljZU1vdGlvbilcbiAgICAgIHRoaXMuZGV0ZWN0aW9uVGltZXIgPSBzZXRUaW1lb3V0KHRoaXMub25Nb3Rpb25UaW1lciwgdGhpcy5zdXBwb3J0RGVsYXkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FsaWJyYXRpb25YID0gMFxuICAgICAgdGhpcy5jYWxpYnJhdGlvblkgPSAwXG4gICAgICB0aGlzLnBvcnRyYWl0ID0gZmFsc2VcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLm9uTW91c2VNb3ZlKVxuICAgICAgdGhpcy5kb1JlYWR5Q2FsbGJhY2soKVxuICAgIH1cblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uV2luZG93UmVzaXplKVxuICAgIHRoaXMucmFmID0gcnFBbkZyKHRoaXMub25BbmltYXRpb25GcmFtZSlcbiAgfVxuXG4gIGRpc2FibGUoKSB7XG4gICAgaWYgKCF0aGlzLmVuYWJsZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLmVuYWJsZWQgPSBmYWxzZVxuXG4gICAgaWYgKHRoaXMub3JpZW50YXRpb25TdXBwb3J0KSB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignZGV2aWNlb3JpZW50YXRpb24nLCB0aGlzLm9uRGV2aWNlT3JpZW50YXRpb24pXG4gICAgfSBlbHNlIGlmICh0aGlzLm1vdGlvblN1cHBvcnQpIHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdkZXZpY2Vtb3Rpb24nLCB0aGlzLm9uRGV2aWNlTW90aW9uKVxuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZSlcbiAgICB9XG5cbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbldpbmRvd1Jlc2l6ZSlcbiAgICBycUFuRnIuY2FuY2VsKHRoaXMucmFmKVxuICB9XG5cbiAgY2FsaWJyYXRlKHgsIHkpIHtcbiAgICB0aGlzLmNhbGlicmF0ZVggPSB4ID09PSB1bmRlZmluZWQgPyB0aGlzLmNhbGlicmF0ZVggOiB4XG4gICAgdGhpcy5jYWxpYnJhdGVZID0geSA9PT0gdW5kZWZpbmVkID8gdGhpcy5jYWxpYnJhdGVZIDogeVxuICB9XG5cbiAgaW52ZXJ0KHgsIHkpIHtcbiAgICB0aGlzLmludmVydFggPSB4ID09PSB1bmRlZmluZWQgPyB0aGlzLmludmVydFggOiB4XG4gICAgdGhpcy5pbnZlcnRZID0geSA9PT0gdW5kZWZpbmVkID8gdGhpcy5pbnZlcnRZIDogeVxuICB9XG5cbiAgZnJpY3Rpb24oeCwgeSkge1xuICAgIHRoaXMuZnJpY3Rpb25YID0geCA9PT0gdW5kZWZpbmVkID8gdGhpcy5mcmljdGlvblggOiB4XG4gICAgdGhpcy5mcmljdGlvblkgPSB5ID09PSB1bmRlZmluZWQgPyB0aGlzLmZyaWN0aW9uWSA6IHlcbiAgfVxuXG4gIHNjYWxhcih4LCB5KSB7XG4gICAgdGhpcy5zY2FsYXJYID0geCA9PT0gdW5kZWZpbmVkID8gdGhpcy5zY2FsYXJYIDogeFxuICAgIHRoaXMuc2NhbGFyWSA9IHkgPT09IHVuZGVmaW5lZCA/IHRoaXMuc2NhbGFyWSA6IHlcbiAgfVxuXG4gIGxpbWl0KHgsIHkpIHtcbiAgICB0aGlzLmxpbWl0WCA9IHggPT09IHVuZGVmaW5lZCA/IHRoaXMubGltaXRYIDogeFxuICAgIHRoaXMubGltaXRZID0geSA9PT0gdW5kZWZpbmVkID8gdGhpcy5saW1pdFkgOiB5XG4gIH1cblxuICBvcmlnaW4oeCwgeSkge1xuICAgIHRoaXMub3JpZ2luWCA9IHggPT09IHVuZGVmaW5lZCA/IHRoaXMub3JpZ2luWCA6IHhcbiAgICB0aGlzLm9yaWdpblkgPSB5ID09PSB1bmRlZmluZWQgPyB0aGlzLm9yaWdpblkgOiB5XG4gIH1cblxuICBzZXRJbnB1dEVsZW1lbnQoZWxlbWVudCkge1xuICAgIHRoaXMuaW5wdXRFbGVtZW50ID0gZWxlbWVudFxuICAgIHRoaXMudXBkYXRlRGltZW5zaW9ucygpXG4gIH1cblxuICBzZXRQb3NpdGlvbihlbGVtZW50LCB4LCB5KSB7XG4gICAgeCA9IHgudG9GaXhlZCh0aGlzLnByZWNpc2lvbikgKyAncHgnXG4gICAgeSA9IHkudG9GaXhlZCh0aGlzLnByZWNpc2lvbikgKyAncHgnXG4gICAgaWYgKHRoaXMudHJhbnNmb3JtM0RTdXBwb3J0KSB7XG4gICAgICBoZWxwZXJzLmNzcyhlbGVtZW50LCAndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZTNkKCcgKyB4ICsgJywnICsgeSArICcsMCknKVxuICAgIH0gZWxzZSBpZiAodGhpcy50cmFuc2Zvcm0yRFN1cHBvcnQpIHtcbiAgICAgIGhlbHBlcnMuY3NzKGVsZW1lbnQsICd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKCcgKyB4ICsgJywnICsgeSArICcpJylcbiAgICB9IGVsc2Uge1xuICAgICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0geFxuICAgICAgZWxlbWVudC5zdHlsZS50b3AgPSB5XG4gICAgfVxuICB9XG5cbiAgb25PcmllbnRhdGlvblRpbWVyKCkge1xuICAgIGlmICh0aGlzLm9yaWVudGF0aW9uU3VwcG9ydCAmJiB0aGlzLm9yaWVudGF0aW9uU3RhdHVzID09PSAwKSB7XG4gICAgICB0aGlzLmRpc2FibGUoKVxuICAgICAgdGhpcy5vcmllbnRhdGlvblN1cHBvcnQgPSBmYWxzZVxuICAgICAgdGhpcy5lbmFibGUoKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRvUmVhZHlDYWxsYmFjaygpXG4gICAgfVxuICB9XG5cbiAgb25Nb3Rpb25UaW1lcigpIHtcbiAgICBpZiAodGhpcy5tb3Rpb25TdXBwb3J0ICYmIHRoaXMubW90aW9uU3RhdHVzID09PSAwKSB7XG4gICAgICB0aGlzLmRpc2FibGUoKVxuICAgICAgdGhpcy5tb3Rpb25TdXBwb3J0ID0gZmFsc2VcbiAgICAgIHRoaXMuZW5hYmxlKClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kb1JlYWR5Q2FsbGJhY2soKVxuICAgIH1cbiAgfVxuXG4gIG9uQ2FsaWJyYXRpb25UaW1lcigpIHtcbiAgICB0aGlzLmNhbGlicmF0aW9uRmxhZyA9IHRydWVcbiAgfVxuXG4gIG9uV2luZG93UmVzaXplKCkge1xuICAgIHRoaXMudXBkYXRlRGltZW5zaW9ucygpXG4gIH1cblxuICBvbkFuaW1hdGlvbkZyYW1lKCkge1xuICAgIHRoaXMudXBkYXRlQm91bmRzKClcbiAgICBsZXQgY2FsaWJyYXRlZElucHV0WCA9IHRoaXMuaW5wdXRYIC0gdGhpcy5jYWxpYnJhdGlvblgsXG4gICAgICAgIGNhbGlicmF0ZWRJbnB1dFkgPSB0aGlzLmlucHV0WSAtIHRoaXMuY2FsaWJyYXRpb25ZXG4gICAgaWYgKChNYXRoLmFicyhjYWxpYnJhdGVkSW5wdXRYKSA+IHRoaXMuY2FsaWJyYXRpb25UaHJlc2hvbGQpIHx8IChNYXRoLmFicyhjYWxpYnJhdGVkSW5wdXRZKSA+IHRoaXMuY2FsaWJyYXRpb25UaHJlc2hvbGQpKSB7XG4gICAgICB0aGlzLnF1ZXVlQ2FsaWJyYXRpb24oMClcbiAgICB9XG4gICAgaWYgKHRoaXMucG9ydHJhaXQpIHtcbiAgICAgIHRoaXMubW90aW9uWCA9IHRoaXMuY2FsaWJyYXRlWCA/IGNhbGlicmF0ZWRJbnB1dFkgOiB0aGlzLmlucHV0WVxuICAgICAgdGhpcy5tb3Rpb25ZID0gdGhpcy5jYWxpYnJhdGVZID8gY2FsaWJyYXRlZElucHV0WCA6IHRoaXMuaW5wdXRYXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW90aW9uWCA9IHRoaXMuY2FsaWJyYXRlWCA/IGNhbGlicmF0ZWRJbnB1dFggOiB0aGlzLmlucHV0WFxuICAgICAgdGhpcy5tb3Rpb25ZID0gdGhpcy5jYWxpYnJhdGVZID8gY2FsaWJyYXRlZElucHV0WSA6IHRoaXMuaW5wdXRZXG4gICAgfVxuICAgIHRoaXMubW90aW9uWCAqPSB0aGlzLmVsZW1lbnRXaWR0aCAqICh0aGlzLnNjYWxhclggLyAxMDApXG4gICAgdGhpcy5tb3Rpb25ZICo9IHRoaXMuZWxlbWVudEhlaWdodCAqICh0aGlzLnNjYWxhclkgLyAxMDApXG4gICAgaWYgKCFpc05hTihwYXJzZUZsb2F0KHRoaXMubGltaXRYKSkpIHtcbiAgICAgIHRoaXMubW90aW9uWCA9IGhlbHBlcnMuY2xhbXAodGhpcy5tb3Rpb25YLCAtdGhpcy5saW1pdFgsIHRoaXMubGltaXRYKVxuICAgIH1cbiAgICBpZiAoIWlzTmFOKHBhcnNlRmxvYXQodGhpcy5saW1pdFkpKSkge1xuICAgICAgdGhpcy5tb3Rpb25ZID0gaGVscGVycy5jbGFtcCh0aGlzLm1vdGlvblksIC10aGlzLmxpbWl0WSwgdGhpcy5saW1pdFkpXG4gICAgfVxuICAgIHRoaXMudmVsb2NpdHlYICs9ICh0aGlzLm1vdGlvblggLSB0aGlzLnZlbG9jaXR5WCkgKiB0aGlzLmZyaWN0aW9uWFxuICAgIHRoaXMudmVsb2NpdHlZICs9ICh0aGlzLm1vdGlvblkgLSB0aGlzLnZlbG9jaXR5WSkgKiB0aGlzLmZyaWN0aW9uWVxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLmxheWVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGxldCBsYXllciA9IHRoaXMubGF5ZXJzW2luZGV4XSxcbiAgICAgICAgICBkZXB0aFggPSB0aGlzLmRlcHRoc1hbaW5kZXhdLFxuICAgICAgICAgIGRlcHRoWSA9IHRoaXMuZGVwdGhzWVtpbmRleF0sXG4gICAgICAgICAgeE9mZnNldCA9IHRoaXMudmVsb2NpdHlYICogKGRlcHRoWCAqICh0aGlzLmludmVydFggPyAtMSA6IDEpKSxcbiAgICAgICAgICB5T2Zmc2V0ID0gdGhpcy52ZWxvY2l0eVkgKiAoZGVwdGhZICogKHRoaXMuaW52ZXJ0WSA/IC0xIDogMSkpXG4gICAgICB0aGlzLnNldFBvc2l0aW9uKGxheWVyLCB4T2Zmc2V0LCB5T2Zmc2V0KVxuICAgIH1cbiAgICB0aGlzLnJhZiA9IHJxQW5Gcih0aGlzLm9uQW5pbWF0aW9uRnJhbWUpXG4gIH1cblxuICByb3RhdGUoYmV0YSwgZ2FtbWEpe1xuICAgIC8vIEV4dHJhY3QgUm90YXRpb25cbiAgICBsZXQgeCA9IChiZXRhIHx8IDApIC8gTUFHSUNfTlVNQkVSLCAvLyAgLTkwIDo6IDkwXG4gICAgICAgIHkgPSAoZ2FtbWEgfHwgMCkgLyBNQUdJQ19OVU1CRVIgLy8gLTE4MCA6OiAxODBcblxuICAgIC8vIERldGVjdCBPcmllbnRhdGlvbiBDaGFuZ2VcbiAgICBsZXQgcG9ydHJhaXQgPSB0aGlzLndpbmRvd0hlaWdodCA+IHRoaXMud2luZG93V2lkdGhcbiAgICBpZiAodGhpcy5wb3J0cmFpdCAhPT0gcG9ydHJhaXQpIHtcbiAgICAgIHRoaXMucG9ydHJhaXQgPSBwb3J0cmFpdFxuICAgICAgdGhpcy5jYWxpYnJhdGlvbkZsYWcgPSB0cnVlXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2FsaWJyYXRpb25GbGFnKSB7XG4gICAgICB0aGlzLmNhbGlicmF0aW9uRmxhZyA9IGZhbHNlXG4gICAgICB0aGlzLmNhbGlicmF0aW9uWCA9IHhcbiAgICAgIHRoaXMuY2FsaWJyYXRpb25ZID0geVxuICAgIH1cblxuICAgIHRoaXMuaW5wdXRYID0geFxuICAgIHRoaXMuaW5wdXRZID0geVxuICB9XG5cbiAgb25EZXZpY2VPcmllbnRhdGlvbihldmVudCkge1xuICAgIGxldCBiZXRhID0gZXZlbnQuYmV0YVxuICAgIGxldCBnYW1tYSA9IGV2ZW50LmdhbW1hXG4gICAgaWYgKGJldGEgIT09IG51bGwgJiYgZ2FtbWEgIT09IG51bGwpIHtcbiAgICAgIHRoaXMub3JpZW50YXRpb25TdGF0dXMgPSAxXG4gICAgICB0aGlzLnJvdGF0ZShiZXRhLCBnYW1tYSlcbiAgICB9XG4gIH1cblxuICBvbkRldmljZU1vdGlvbihldmVudCkge1xuICAgIGxldCBiZXRhID0gZXZlbnQucm90YXRpb25SYXRlLmJldGFcbiAgICBsZXQgZ2FtbWEgPSBldmVudC5yb3RhdGlvblJhdGUuZ2FtbWFcbiAgICBpZiAoYmV0YSAhPT0gbnVsbCAmJiBnYW1tYSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5tb3Rpb25TdGF0dXMgPSAxXG4gICAgICB0aGlzLnJvdGF0ZShiZXRhLCBnYW1tYSlcbiAgICB9XG4gIH1cblxuICBvbk1vdXNlTW92ZShldmVudCkge1xuICAgIGxldCBjbGllbnRYID0gZXZlbnQuY2xpZW50WCxcbiAgICAgICAgY2xpZW50WSA9IGV2ZW50LmNsaWVudFlcblxuICAgIC8vIHJlc2V0IGlucHV0IHRvIGNlbnRlciBpZiBob3Zlck9ubHkgaXMgc2V0IGFuZCB3ZSdyZSBub3QgaG92ZXJpbmcgdGhlIGVsZW1lbnRcbiAgICBpZih0aGlzLmhvdmVyT25seSAmJlxuICAgICAgKChjbGllbnRYIDwgdGhpcy5lbGVtZW50UG9zaXRpb25YIHx8IGNsaWVudFggPiB0aGlzLmVsZW1lbnRQb3NpdGlvblggKyB0aGlzLmVsZW1lbnRXaWR0aCkgfHxcbiAgICAgIChjbGllbnRZIDwgdGhpcy5lbGVtZW50UG9zaXRpb25ZIHx8IGNsaWVudFkgPiB0aGlzLmVsZW1lbnRQb3NpdGlvblkgKyB0aGlzLmVsZW1lbnRIZWlnaHQpKSkge1xuICAgICAgICB0aGlzLmlucHV0WCA9IDBcbiAgICAgICAgdGhpcy5pbnB1dFkgPSAwXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgaWYgKHRoaXMucmVsYXRpdmVJbnB1dCkge1xuICAgICAgLy8gQ2xpcCBtb3VzZSBjb29yZGluYXRlcyBpbnNpZGUgZWxlbWVudCBib3VuZHMuXG4gICAgICBpZiAodGhpcy5jbGlwUmVsYXRpdmVJbnB1dCkge1xuICAgICAgICBjbGllbnRYID0gTWF0aC5tYXgoY2xpZW50WCwgdGhpcy5lbGVtZW50UG9zaXRpb25YKVxuICAgICAgICBjbGllbnRYID0gTWF0aC5taW4oY2xpZW50WCwgdGhpcy5lbGVtZW50UG9zaXRpb25YICsgdGhpcy5lbGVtZW50V2lkdGgpXG4gICAgICAgIGNsaWVudFkgPSBNYXRoLm1heChjbGllbnRZLCB0aGlzLmVsZW1lbnRQb3NpdGlvblkpXG4gICAgICAgIGNsaWVudFkgPSBNYXRoLm1pbihjbGllbnRZLCB0aGlzLmVsZW1lbnRQb3NpdGlvblkgKyB0aGlzLmVsZW1lbnRIZWlnaHQpXG4gICAgICB9XG4gICAgICAvLyBDYWxjdWxhdGUgaW5wdXQgcmVsYXRpdmUgdG8gdGhlIGVsZW1lbnQuXG4gICAgICBpZih0aGlzLmVsZW1lbnRSYW5nZVggJiYgdGhpcy5lbGVtZW50UmFuZ2VZKSB7XG4gICAgICAgIHRoaXMuaW5wdXRYID0gKGNsaWVudFggLSB0aGlzLmVsZW1lbnRQb3NpdGlvblggLSB0aGlzLmVsZW1lbnRDZW50ZXJYKSAvIHRoaXMuZWxlbWVudFJhbmdlWFxuICAgICAgICB0aGlzLmlucHV0WSA9IChjbGllbnRZIC0gdGhpcy5lbGVtZW50UG9zaXRpb25ZIC0gdGhpcy5lbGVtZW50Q2VudGVyWSkgLyB0aGlzLmVsZW1lbnRSYW5nZVlcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ2FsY3VsYXRlIGlucHV0IHJlbGF0aXZlIHRvIHRoZSB3aW5kb3cuXG4gICAgICBpZih0aGlzLndpbmRvd1JhZGl1c1ggJiYgdGhpcy53aW5kb3dSYWRpdXNZKSB7XG4gICAgICAgIHRoaXMuaW5wdXRYID0gKGNsaWVudFggLSB0aGlzLndpbmRvd0NlbnRlclgpIC8gdGhpcy53aW5kb3dSYWRpdXNYXG4gICAgICAgIHRoaXMuaW5wdXRZID0gKGNsaWVudFkgLSB0aGlzLndpbmRvd0NlbnRlclkpIC8gdGhpcy53aW5kb3dSYWRpdXNZXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLmRpc2FibGUoKVxuXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuY2FsaWJyYXRpb25UaW1lcilcbiAgICBjbGVhclRpbWVvdXQodGhpcy5kZXRlY3Rpb25UaW1lcilcblxuICAgIHRoaXMuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ3N0eWxlJylcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5sYXllcnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICB0aGlzLmxheWVyc1tpbmRleF0ucmVtb3ZlQXR0cmlidXRlKCdzdHlsZScpXG4gICAgfVxuXG4gICAgZGVsZXRlIHRoaXMuZWxlbWVudFxuICAgIGRlbGV0ZSB0aGlzLmxheWVyc1xuICB9XG5cbiAgdmVyc2lvbigpIHtcbiAgICByZXR1cm4gJzMuMS4wJ1xuICB9XG5cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBQYXJhbGxheFxuIl19 diff --git a/public/js/vendor/parallax-js/dist/parallax.min.js b/public/js/vendor/parallax-js/dist/parallax.min.js new file mode 100644 index 0000000..48b368c --- /dev/null +++ b/public/js/vendor/parallax-js/dist/parallax.min.js @@ -0,0 +1,2 @@ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Parallax=t()}}(function(){return function t(e,i,n){function o(r,a){if(!i[r]){if(!e[r]){var l="function"==typeof require&&require;if(!a&&l)return l(r,!0);if(s)return s(r,!0);var h=new Error("Cannot find module '"+r+"'");throw h.code="MODULE_NOT_FOUND",h}var u=i[r]={exports:{}};e[r][0].call(u.exports,function(t){var i=e[r][1][t];return o(i||t)},u,u.exports,t,e,i,n)}return i[r].exports}for(var s="function"==typeof require&&require,r=0;r1)for(var i=1;ii?i:t:te?e:t},data:function(t,e){return a.deserialize(t.getAttribute("data-"+e))},deserialize:function(t){return"true"===t||"false"!==t&&("null"===t?null:!isNaN(parseFloat(t))&&isFinite(t)?parseFloat(t):t)},camelCase:function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},accelerate:function(t){a.css(t,"transform","translate3d(0,0,0) rotate(0.0001deg)"),a.css(t,"transform-style","preserve-3d"),a.css(t,"backface-visibility","hidden")},transformSupport:function(t){for(var e=document.createElement("div"),i=!1,n=null,o=!1,s=null,r=null,l=0,h=a.vendors.length;l0&&"none"!==n,c.style.overflow=d,u.removeChild(e),m&&(u.removeAttribute("style"),u.parentNode.removeChild(u))}}return o},css:function(t,e,i){var n=a.propertyCache[e];if(!n)for(var o=0,s=a.vendors.length;othis.calibrationThreshold||Math.abs(e)>this.calibrationThreshold)&&this.queueCalibration(0),this.portrait?(this.motionX=this.calibrateX?e:this.inputY,this.motionY=this.calibrateY?t:this.inputX):(this.motionX=this.calibrateX?t:this.inputX,this.motionY=this.calibrateY?e:this.inputY),this.motionX*=this.elementWidth*(this.scalarX/100),this.motionY*=this.elementHeight*(this.scalarY/100),isNaN(parseFloat(this.limitX))||(this.motionX=a.clamp(this.motionX,-this.limitX,this.limitX)),isNaN(parseFloat(this.limitY))||(this.motionY=a.clamp(this.motionY,-this.limitY,this.limitY)),this.velocityX+=(this.motionX-this.velocityX)*this.frictionX,this.velocityY+=(this.motionY-this.velocityY)*this.frictionY;for(var i=0;ithis.windowWidth;this.portrait!==o&&(this.portrait=o,this.calibrationFlag=!0),this.calibrationFlag&&(this.calibrationFlag=!1,this.calibrationX=i,this.calibrationY=n),this.inputX=i,this.inputY=n}},{key:"onDeviceOrientation",value:function(t){var e=t.beta,i=t.gamma;null!==e&&null!==i&&(this.orientationStatus=1,this.rotate(e,i))}},{key:"onDeviceMotion",value:function(t){var e=t.rotationRate.beta,i=t.rotationRate.gamma;null!==e&&null!==i&&(this.motionStatus=1,this.rotate(e,i))}},{key:"onMouseMove",value:function(t){var e=t.clientX,i=t.clientY;if(this.hoverOnly&&(ethis.elementPositionX+this.elementWidth||ithis.elementPositionY+this.elementHeight))return this.inputX=0,void(this.inputY=0);this.relativeInput?(this.clipRelativeInput&&(e=Math.max(e,this.elementPositionX),e=Math.min(e,this.elementPositionX+this.elementWidth),i=Math.max(i,this.elementPositionY),i=Math.min(i,this.elementPositionY+this.elementHeight)),this.elementRangeX&&this.elementRangeY&&(this.inputX=(e-this.elementPositionX-this.elementCenterX)/this.elementRangeX,this.inputY=(i-this.elementPositionY-this.elementCenterY)/this.elementRangeY)):this.windowRadiusX&&this.windowRadiusY&&(this.inputX=(e-this.windowCenterX)/this.windowRadiusX,this.inputY=(i-this.windowCenterY)/this.windowRadiusY)}},{key:"destroy",value:function(){this.disable(),clearTimeout(this.calibrationTimer),clearTimeout(this.detectionTimer),this.element.removeAttribute("style");for(var t=0;t 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function() {\n root.requestAnimationFrame = raf\n root.cancelAnimationFrame = caf\n}\n","/**\n* Parallax.js\n* @author Matthew Wagerfield - @wagerfield, René Roth - mail@reneroth.org\n* @description Creates a parallax effect between an array of layers,\n* driving the motion from the gyroscope output of a smartdevice.\n* If no gyroscope is available, the cursor position is used.\n*/\n\nconst rqAnFr = require('raf')\nconst objectAssign = require('object-assign')\n\nconst helpers = {\n propertyCache: {},\n vendors: [null, ['-webkit-','webkit'], ['-moz-','Moz'], ['-o-','O'], ['-ms-','ms']],\n\n clamp(value, min, max) {\n return min < max\n ? (value < min ? min : value > max ? max : value)\n : (value < max ? max : value > min ? min : value)\n },\n\n data(element, name) {\n return helpers.deserialize(element.getAttribute('data-'+name))\n },\n\n deserialize(value) {\n if (value === 'true') {\n return true\n } else if (value === 'false') {\n return false\n } else if (value === 'null') {\n return null\n } else if (!isNaN(parseFloat(value)) && isFinite(value)) {\n return parseFloat(value)\n } else {\n return value\n }\n },\n\n camelCase(value) {\n return value.replace(/-+(.)?/g, (match, character) => {\n return character ? character.toUpperCase() : ''\n })\n },\n\n accelerate(element) {\n helpers.css(element, 'transform', 'translate3d(0,0,0) rotate(0.0001deg)')\n helpers.css(element, 'transform-style', 'preserve-3d')\n helpers.css(element, 'backface-visibility', 'hidden')\n },\n\n transformSupport(value) {\n let element = document.createElement('div'),\n propertySupport = false,\n propertyValue = null,\n featureSupport = false,\n cssProperty = null,\n jsProperty = null\n for (let i = 0, l = helpers.vendors.length; i < l; i++) {\n if (helpers.vendors[i] !== null) {\n cssProperty = helpers.vendors[i][0] + 'transform'\n jsProperty = helpers.vendors[i][1] + 'Transform'\n } else {\n cssProperty = 'transform'\n jsProperty = 'transform'\n }\n if (element.style[jsProperty] !== undefined) {\n propertySupport = true\n break\n }\n }\n switch(value) {\n case '2D':\n featureSupport = propertySupport\n break\n case '3D':\n if (propertySupport) {\n let body = document.body || document.createElement('body'),\n documentElement = document.documentElement,\n documentOverflow = documentElement.style.overflow,\n isCreatedBody = false\n\n if (!document.body) {\n isCreatedBody = true\n documentElement.style.overflow = 'hidden'\n documentElement.appendChild(body)\n body.style.overflow = 'hidden'\n body.style.background = ''\n }\n\n body.appendChild(element)\n element.style[jsProperty] = 'translate3d(1px,1px,1px)'\n propertyValue = window.getComputedStyle(element).getPropertyValue(cssProperty)\n featureSupport = propertyValue !== undefined && propertyValue.length > 0 && propertyValue !== 'none'\n documentElement.style.overflow = documentOverflow\n body.removeChild(element)\n\n if ( isCreatedBody ) {\n body.removeAttribute('style')\n body.parentNode.removeChild(body)\n }\n }\n break\n }\n return featureSupport\n },\n\n css(element, property, value) {\n let jsProperty = helpers.propertyCache[property]\n if (!jsProperty) {\n for (let i = 0, l = helpers.vendors.length; i < l; i++) {\n if (helpers.vendors[i] !== null) {\n jsProperty = helpers.camelCase(helpers.vendors[i][1] + '-' + property)\n } else {\n jsProperty = property\n }\n if (element.style[jsProperty] !== undefined) {\n helpers.propertyCache[property] = jsProperty\n break\n }\n }\n }\n element.style[jsProperty] = value\n }\n\n}\n\nconst MAGIC_NUMBER = 30,\n DEFAULTS = {\n relativeInput: false,\n clipRelativeInput: false,\n inputElement: null,\n hoverOnly: false,\n calibrationThreshold: 100,\n calibrationDelay: 500,\n supportDelay: 500,\n calibrateX: false,\n calibrateY: true,\n invertX: true,\n invertY: true,\n limitX: false,\n limitY: false,\n scalarX: 10.0,\n scalarY: 10.0,\n frictionX: 0.1,\n frictionY: 0.1,\n originX: 0.5,\n originY: 0.5,\n pointerEvents: false,\n precision: 1,\n onReady: null,\n selector: null\n }\n\nclass Parallax {\n constructor(element, options) {\n\n this.element = element\n\n const data = {\n calibrateX: helpers.data(this.element, 'calibrate-x'),\n calibrateY: helpers.data(this.element, 'calibrate-y'),\n invertX: helpers.data(this.element, 'invert-x'),\n invertY: helpers.data(this.element, 'invert-y'),\n limitX: helpers.data(this.element, 'limit-x'),\n limitY: helpers.data(this.element, 'limit-y'),\n scalarX: helpers.data(this.element, 'scalar-x'),\n scalarY: helpers.data(this.element, 'scalar-y'),\n frictionX: helpers.data(this.element, 'friction-x'),\n frictionY: helpers.data(this.element, 'friction-y'),\n originX: helpers.data(this.element, 'origin-x'),\n originY: helpers.data(this.element, 'origin-y'),\n pointerEvents: helpers.data(this.element, 'pointer-events'),\n precision: helpers.data(this.element, 'precision'),\n relativeInput: helpers.data(this.element, 'relative-input'),\n clipRelativeInput: helpers.data(this.element, 'clip-relative-input'),\n hoverOnly: helpers.data(this.element, 'hover-only'),\n inputElement: document.querySelector(helpers.data(this.element, 'input-element')),\n selector: helpers.data(this.element, 'selector')\n }\n\n for (let key in data) {\n if (data[key] === null) {\n delete data[key]\n }\n }\n\n objectAssign(this, DEFAULTS, data, options)\n\n if(!this.inputElement) {\n this.inputElement = this.element\n }\n\n this.calibrationTimer = null\n this.calibrationFlag = true\n this.enabled = false\n this.depthsX = []\n this.depthsY = []\n this.raf = null\n\n this.bounds = null\n this.elementPositionX = 0\n this.elementPositionY = 0\n this.elementWidth = 0\n this.elementHeight = 0\n\n this.elementCenterX = 0\n this.elementCenterY = 0\n\n this.elementRangeX = 0\n this.elementRangeY = 0\n\n this.calibrationX = 0\n this.calibrationY = 0\n\n this.inputX = 0\n this.inputY = 0\n\n this.motionX = 0\n this.motionY = 0\n\n this.velocityX = 0\n this.velocityY = 0\n\n this.onMouseMove = this.onMouseMove.bind(this)\n this.onDeviceOrientation = this.onDeviceOrientation.bind(this)\n this.onDeviceMotion = this.onDeviceMotion.bind(this)\n this.onOrientationTimer = this.onOrientationTimer.bind(this)\n this.onMotionTimer = this.onMotionTimer.bind(this)\n this.onCalibrationTimer = this.onCalibrationTimer.bind(this)\n this.onAnimationFrame = this.onAnimationFrame.bind(this)\n this.onWindowResize = this.onWindowResize.bind(this)\n\n this.windowWidth = null\n this.windowHeight = null\n this.windowCenterX = null\n this.windowCenterY = null\n this.windowRadiusX = null\n this.windowRadiusY = null\n this.portrait = false\n this.desktop = !navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i)\n this.motionSupport = !!window.DeviceMotionEvent && !this.desktop\n this.orientationSupport = !!window.DeviceOrientationEvent && !this.desktop\n this.orientationStatus = 0\n this.motionStatus = 0\n\n this.initialise()\n }\n\n initialise() {\n if (this.transform2DSupport === undefined) {\n this.transform2DSupport = helpers.transformSupport('2D')\n this.transform3DSupport = helpers.transformSupport('3D')\n }\n\n // Configure Context Styles\n if (this.transform3DSupport) {\n helpers.accelerate(this.element)\n }\n\n let style = window.getComputedStyle(this.element)\n if (style.getPropertyValue('position') === 'static') {\n this.element.style.position = 'relative'\n }\n\n // Pointer events\n if(!this.pointerEvents) {\n this.element.style.pointerEvents = 'none'\n }\n\n // Setup\n this.updateLayers()\n this.updateDimensions()\n this.enable()\n this.queueCalibration(this.calibrationDelay)\n }\n\n doReadyCallback() {\n if(this.onReady) {\n this.onReady()\n }\n }\n\n updateLayers() {\n if(this.selector) {\n this.layers = this.element.querySelectorAll(this.selector)\n } else {\n this.layers = this.element.children\n }\n\n if(!this.layers.length) {\n console.warn('ParallaxJS: Your scene does not have any layers.')\n }\n\n this.depthsX = []\n this.depthsY = []\n\n for (let index = 0; index < this.layers.length; index++) {\n let layer = this.layers[index]\n\n if (this.transform3DSupport) {\n helpers.accelerate(layer)\n }\n\n layer.style.position = index ? 'absolute' : 'relative'\n layer.style.display = 'block'\n layer.style.left = 0\n layer.style.top = 0\n\n let depth = helpers.data(layer, 'depth') || 0\n this.depthsX.push(helpers.data(layer, 'depth-x') || depth)\n this.depthsY.push(helpers.data(layer, 'depth-y') || depth)\n }\n }\n\n updateDimensions() {\n this.windowWidth = window.innerWidth\n this.windowHeight = window.innerHeight\n this.windowCenterX = this.windowWidth * this.originX\n this.windowCenterY = this.windowHeight * this.originY\n this.windowRadiusX = Math.max(this.windowCenterX, this.windowWidth - this.windowCenterX)\n this.windowRadiusY = Math.max(this.windowCenterY, this.windowHeight - this.windowCenterY)\n }\n\n updateBounds() {\n this.bounds = this.inputElement.getBoundingClientRect()\n this.elementPositionX = this.bounds.left\n this.elementPositionY = this.bounds.top\n this.elementWidth = this.bounds.width\n this.elementHeight = this.bounds.height\n this.elementCenterX = this.elementWidth * this.originX\n this.elementCenterY = this.elementHeight * this.originY\n this.elementRangeX = Math.max(this.elementCenterX, this.elementWidth - this.elementCenterX)\n this.elementRangeY = Math.max(this.elementCenterY, this.elementHeight - this.elementCenterY)\n }\n\n queueCalibration(delay) {\n clearTimeout(this.calibrationTimer)\n this.calibrationTimer = setTimeout(this.onCalibrationTimer, delay)\n }\n\n enable() {\n if (this.enabled) {\n return\n }\n this.enabled = true\n\n if (this.orientationSupport) {\n this.portrait = false\n window.addEventListener('deviceorientation', this.onDeviceOrientation)\n this.detectionTimer = setTimeout(this.onOrientationTimer, this.supportDelay)\n } else if (this.motionSupport) {\n this.portrait = false\n window.addEventListener('devicemotion', this.onDeviceMotion)\n this.detectionTimer = setTimeout(this.onMotionTimer, this.supportDelay)\n } else {\n this.calibrationX = 0\n this.calibrationY = 0\n this.portrait = false\n window.addEventListener('mousemove', this.onMouseMove)\n this.doReadyCallback()\n }\n\n window.addEventListener('resize', this.onWindowResize)\n this.raf = rqAnFr(this.onAnimationFrame)\n }\n\n disable() {\n if (!this.enabled) {\n return\n }\n this.enabled = false\n\n if (this.orientationSupport) {\n window.removeEventListener('deviceorientation', this.onDeviceOrientation)\n } else if (this.motionSupport) {\n window.removeEventListener('devicemotion', this.onDeviceMotion)\n } else {\n window.removeEventListener('mousemove', this.onMouseMove)\n }\n\n window.removeEventListener('resize', this.onWindowResize)\n rqAnFr.cancel(this.raf)\n }\n\n calibrate(x, y) {\n this.calibrateX = x === undefined ? this.calibrateX : x\n this.calibrateY = y === undefined ? this.calibrateY : y\n }\n\n invert(x, y) {\n this.invertX = x === undefined ? this.invertX : x\n this.invertY = y === undefined ? this.invertY : y\n }\n\n friction(x, y) {\n this.frictionX = x === undefined ? this.frictionX : x\n this.frictionY = y === undefined ? this.frictionY : y\n }\n\n scalar(x, y) {\n this.scalarX = x === undefined ? this.scalarX : x\n this.scalarY = y === undefined ? this.scalarY : y\n }\n\n limit(x, y) {\n this.limitX = x === undefined ? this.limitX : x\n this.limitY = y === undefined ? this.limitY : y\n }\n\n origin(x, y) {\n this.originX = x === undefined ? this.originX : x\n this.originY = y === undefined ? this.originY : y\n }\n\n setInputElement(element) {\n this.inputElement = element\n this.updateDimensions()\n }\n\n setPosition(element, x, y) {\n x = x.toFixed(this.precision) + 'px'\n y = y.toFixed(this.precision) + 'px'\n if (this.transform3DSupport) {\n helpers.css(element, 'transform', 'translate3d(' + x + ',' + y + ',0)')\n } else if (this.transform2DSupport) {\n helpers.css(element, 'transform', 'translate(' + x + ',' + y + ')')\n } else {\n element.style.left = x\n element.style.top = y\n }\n }\n\n onOrientationTimer() {\n if (this.orientationSupport && this.orientationStatus === 0) {\n this.disable()\n this.orientationSupport = false\n this.enable()\n } else {\n this.doReadyCallback()\n }\n }\n\n onMotionTimer() {\n if (this.motionSupport && this.motionStatus === 0) {\n this.disable()\n this.motionSupport = false\n this.enable()\n } else {\n this.doReadyCallback()\n }\n }\n\n onCalibrationTimer() {\n this.calibrationFlag = true\n }\n\n onWindowResize() {\n this.updateDimensions()\n }\n\n onAnimationFrame() {\n this.updateBounds()\n let calibratedInputX = this.inputX - this.calibrationX,\n calibratedInputY = this.inputY - this.calibrationY\n if ((Math.abs(calibratedInputX) > this.calibrationThreshold) || (Math.abs(calibratedInputY) > this.calibrationThreshold)) {\n this.queueCalibration(0)\n }\n if (this.portrait) {\n this.motionX = this.calibrateX ? calibratedInputY : this.inputY\n this.motionY = this.calibrateY ? calibratedInputX : this.inputX\n } else {\n this.motionX = this.calibrateX ? calibratedInputX : this.inputX\n this.motionY = this.calibrateY ? calibratedInputY : this.inputY\n }\n this.motionX *= this.elementWidth * (this.scalarX / 100)\n this.motionY *= this.elementHeight * (this.scalarY / 100)\n if (!isNaN(parseFloat(this.limitX))) {\n this.motionX = helpers.clamp(this.motionX, -this.limitX, this.limitX)\n }\n if (!isNaN(parseFloat(this.limitY))) {\n this.motionY = helpers.clamp(this.motionY, -this.limitY, this.limitY)\n }\n this.velocityX += (this.motionX - this.velocityX) * this.frictionX\n this.velocityY += (this.motionY - this.velocityY) * this.frictionY\n for (let index = 0; index < this.layers.length; index++) {\n let layer = this.layers[index],\n depthX = this.depthsX[index],\n depthY = this.depthsY[index],\n xOffset = this.velocityX * (depthX * (this.invertX ? -1 : 1)),\n yOffset = this.velocityY * (depthY * (this.invertY ? -1 : 1))\n this.setPosition(layer, xOffset, yOffset)\n }\n this.raf = rqAnFr(this.onAnimationFrame)\n }\n\n rotate(beta, gamma){\n // Extract Rotation\n let x = (beta || 0) / MAGIC_NUMBER, // -90 :: 90\n y = (gamma || 0) / MAGIC_NUMBER // -180 :: 180\n\n // Detect Orientation Change\n let portrait = this.windowHeight > this.windowWidth\n if (this.portrait !== portrait) {\n this.portrait = portrait\n this.calibrationFlag = true\n }\n\n if (this.calibrationFlag) {\n this.calibrationFlag = false\n this.calibrationX = x\n this.calibrationY = y\n }\n\n this.inputX = x\n this.inputY = y\n }\n\n onDeviceOrientation(event) {\n let beta = event.beta\n let gamma = event.gamma\n if (beta !== null && gamma !== null) {\n this.orientationStatus = 1\n this.rotate(beta, gamma)\n }\n }\n\n onDeviceMotion(event) {\n let beta = event.rotationRate.beta\n let gamma = event.rotationRate.gamma\n if (beta !== null && gamma !== null) {\n this.motionStatus = 1\n this.rotate(beta, gamma)\n }\n }\n\n onMouseMove(event) {\n let clientX = event.clientX,\n clientY = event.clientY\n\n // reset input to center if hoverOnly is set and we're not hovering the element\n if(this.hoverOnly &&\n ((clientX < this.elementPositionX || clientX > this.elementPositionX + this.elementWidth) ||\n (clientY < this.elementPositionY || clientY > this.elementPositionY + this.elementHeight))) {\n this.inputX = 0\n this.inputY = 0\n return\n }\n\n if (this.relativeInput) {\n // Clip mouse coordinates inside element bounds.\n if (this.clipRelativeInput) {\n clientX = Math.max(clientX, this.elementPositionX)\n clientX = Math.min(clientX, this.elementPositionX + this.elementWidth)\n clientY = Math.max(clientY, this.elementPositionY)\n clientY = Math.min(clientY, this.elementPositionY + this.elementHeight)\n }\n // Calculate input relative to the element.\n if(this.elementRangeX && this.elementRangeY) {\n this.inputX = (clientX - this.elementPositionX - this.elementCenterX) / this.elementRangeX\n this.inputY = (clientY - this.elementPositionY - this.elementCenterY) / this.elementRangeY\n }\n } else {\n // Calculate input relative to the window.\n if(this.windowRadiusX && this.windowRadiusY) {\n this.inputX = (clientX - this.windowCenterX) / this.windowRadiusX\n this.inputY = (clientY - this.windowCenterY) / this.windowRadiusY\n }\n }\n }\n\n destroy() {\n this.disable()\n\n clearTimeout(this.calibrationTimer)\n clearTimeout(this.detectionTimer)\n\n this.element.removeAttribute('style')\n for (let index = 0; index < this.layers.length; index++) {\n this.layers[index].removeAttribute('style')\n }\n\n delete this.element\n delete this.layers\n }\n\n version() {\n return '3.1.0'\n }\n\n}\n\nmodule.exports = Parallax\n"]} \ No newline at end of file diff --git a/public/js/vendor/parallax-js/gulpfile.js b/public/js/vendor/parallax-js/gulpfile.js new file mode 100644 index 0000000..bb73618 --- /dev/null +++ b/public/js/vendor/parallax-js/gulpfile.js @@ -0,0 +1,88 @@ +const gulp = require('gulp') +const path = require('path') + +const autoprefixer = require('autoprefixer') +const babelify = require('babelify') +const browserify = require('browserify') +const browsersync = require('browser-sync').create() +const buffer = require('vinyl-buffer') +const notifier = require('node-notifier') +const postcss = require('gulp-postcss') +const rename = require('gulp-rename'); +const rimraf = require('rimraf') +const sass = require('gulp-sass') +const source = require('vinyl-source-stream') +const sourcemaps = require('gulp-sourcemaps') +const uglify = require('gulp-uglify') +const util = require('gulp-util') + +gulp.task('clean', (cb) => { + rimraf('./dist', cb) +}) + +gulp.task('build', ['clean'], () => { + gulp.start('build:js', 'build:scss') +}) + +function showError(arg) { + notifier.notify({ + title: 'Error', + message: '' + arg, + sound: 'Basso' + }) + console.log(arg) + this.emit('end') +} + +gulp.task('build:scss', () => { + return gulp.src(path.join('examples', 'assets', 'styles.scss')) + .pipe(sass({ + outputStyle: 'nested', + precision: 10, + includePaths: ['.', 'node_modules'], + onError: showError + }).on('error', function(error) { + showError(error) + this.emit('end') + })) + .pipe(postcss([ + autoprefixer({ + browsers: ['last 2 versions', 'Firefox ESR', 'Explorer >= 9', 'Android >= 4.0', '> 2%'] + }) + ])) + .pipe(gulp.dest(path.join('examples', 'assets'))) + .pipe(browsersync.stream({match: '**/*.css'})) +}) + +gulp.task('build:js', () => { + return browserify({entries: path.join('src', 'parallax.js'), debug: true, standalone: 'Parallax'}) + .transform("babelify", {presets: ["es2015"]}) + .bundle() + .on('error', showError) + .pipe(source('parallax.js')) + .pipe(buffer()) + .pipe(gulp.dest('dist')) + .pipe(rename('parallax.min.js')) + .pipe(sourcemaps.init({loadMaps: true})) + .pipe(uglify()) + .on('error', showError) + .pipe(sourcemaps.write('./')) + .pipe(gulp.dest('dist')) + .pipe(browsersync.stream({match: path.join('**','*.js')})) +}) +gulp.task('watch', ['build'], () => { + browsersync.init({ + notify: false, + port: 9000, + server: { + baseDir: [path.join('examples', 'pages'), path.join('examples', 'assets'), 'dist'], + directory: true + } + }) + + gulp.watch(path.join('src', '*.js'), ['build:js']) + gulp.watch(path.join('examples', 'assets', '*.scss'), ['build:scss']) + gulp.watch(path.join('examples', 'pages', '*.html'), browsersync.reload) +}) + +gulp.task('default', ['watch']) diff --git a/public/js/vendor/parallax-js/package.json b/public/js/vendor/parallax-js/package.json new file mode 100644 index 0000000..a7d26b2 --- /dev/null +++ b/public/js/vendor/parallax-js/package.json @@ -0,0 +1,80 @@ +{ + "_args": [ + [ + "parallax-js@3.1.0", + "/Users/rokaux/Sites/around-new" + ] + ], + "_from": "parallax-js@3.1.0", + "_id": "parallax-js@3.1.0", + "_inBundle": false, + "_integrity": "sha512-UONoPKSQykeNvFcemDPxYYDU/T89LSffoaZAwOMhDp0ABhmFPwthgn2GrfB7An9Qo+8nPZIuQeZsh2pWn1qN3A==", + "_location": "/parallax-js", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "parallax-js@3.1.0", + "name": "parallax-js", + "escapedName": "parallax-js", + "rawSpec": "3.1.0", + "saveSpec": null, + "fetchSpec": "3.1.0" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/parallax-js/-/parallax-js-3.1.0.tgz", + "_spec": "3.1.0", + "_where": "/Users/rokaux/Sites/around-new", + "author": { + "name": "Matthew Wagerfield", + "email": "matthew@wagerfield.com" + }, + "bugs": { + "url": "https://github.com/wagerfield/parallax/issues" + }, + "dependencies": { + "object-assign": "^4.1.1", + "raf": "^3.3.0" + }, + "description": "Parallax Engine that reacts to the orientation of a smart device.", + "devDependencies": { + "autoprefixer": "^7.1.4", + "babel-preset-es2015": "^6.24.1", + "babelify": "^7.3.0", + "browser-sync": "^2.18.13", + "browserify": "^14.0.0", + "gulp": "^3.9.1", + "gulp-postcss": "^7.0.0", + "gulp-rename": "^1.2.2", + "gulp-sass": "^3.1.0", + "gulp-sourcemaps": "^2.6.1", + "gulp-uglify": "^3.0.0", + "gulp-util": "^3.0.8", + "node-notifier": "^5.0.2", + "rimraf": "^2.5.4", + "vinyl-buffer": "^1.0.0", + "vinyl-source-stream": "^1.1.0" + }, + "directories": { + "example": "examples" + }, + "homepage": "http://wagerfield.github.io/parallax/", + "keywords": [ + "parallax", + "gyroscope", + "jquery", + "javascript", + "library" + ], + "license": "MIT", + "main": "dist/parallax.js", + "name": "parallax-js", + "repository": { + "type": "git", + "url": "git://github.com/wagerfield/parallax.git" + }, + "scripts": {}, + "version": "3.1.0" +} diff --git a/public/js/vendor/parallax-js/src/parallax.js b/public/js/vendor/parallax-js/src/parallax.js new file mode 100644 index 0000000..3c345b3 --- /dev/null +++ b/public/js/vendor/parallax-js/src/parallax.js @@ -0,0 +1,593 @@ +/** +* Parallax.js +* @author Matthew Wagerfield - @wagerfield, René Roth - mail@reneroth.org +* @description Creates a parallax effect between an array of layers, +* driving the motion from the gyroscope output of a smartdevice. +* If no gyroscope is available, the cursor position is used. +*/ + +const rqAnFr = require('raf') +const objectAssign = require('object-assign') + +const helpers = { + propertyCache: {}, + vendors: [null, ['-webkit-','webkit'], ['-moz-','Moz'], ['-o-','O'], ['-ms-','ms']], + + clamp(value, min, max) { + return min < max + ? (value < min ? min : value > max ? max : value) + : (value < max ? max : value > min ? min : value) + }, + + data(element, name) { + return helpers.deserialize(element.getAttribute('data-'+name)) + }, + + deserialize(value) { + if (value === 'true') { + return true + } else if (value === 'false') { + return false + } else if (value === 'null') { + return null + } else if (!isNaN(parseFloat(value)) && isFinite(value)) { + return parseFloat(value) + } else { + return value + } + }, + + camelCase(value) { + return value.replace(/-+(.)?/g, (match, character) => { + return character ? character.toUpperCase() : '' + }) + }, + + accelerate(element) { + helpers.css(element, 'transform', 'translate3d(0,0,0) rotate(0.0001deg)') + helpers.css(element, 'transform-style', 'preserve-3d') + helpers.css(element, 'backface-visibility', 'hidden') + }, + + transformSupport(value) { + let element = document.createElement('div'), + propertySupport = false, + propertyValue = null, + featureSupport = false, + cssProperty = null, + jsProperty = null + for (let i = 0, l = helpers.vendors.length; i < l; i++) { + if (helpers.vendors[i] !== null) { + cssProperty = helpers.vendors[i][0] + 'transform' + jsProperty = helpers.vendors[i][1] + 'Transform' + } else { + cssProperty = 'transform' + jsProperty = 'transform' + } + if (element.style[jsProperty] !== undefined) { + propertySupport = true + break + } + } + switch(value) { + case '2D': + featureSupport = propertySupport + break + case '3D': + if (propertySupport) { + let body = document.body || document.createElement('body'), + documentElement = document.documentElement, + documentOverflow = documentElement.style.overflow, + isCreatedBody = false + + if (!document.body) { + isCreatedBody = true + documentElement.style.overflow = 'hidden' + documentElement.appendChild(body) + body.style.overflow = 'hidden' + body.style.background = '' + } + + body.appendChild(element) + element.style[jsProperty] = 'translate3d(1px,1px,1px)' + propertyValue = window.getComputedStyle(element).getPropertyValue(cssProperty) + featureSupport = propertyValue !== undefined && propertyValue.length > 0 && propertyValue !== 'none' + documentElement.style.overflow = documentOverflow + body.removeChild(element) + + if ( isCreatedBody ) { + body.removeAttribute('style') + body.parentNode.removeChild(body) + } + } + break + } + return featureSupport + }, + + css(element, property, value) { + let jsProperty = helpers.propertyCache[property] + if (!jsProperty) { + for (let i = 0, l = helpers.vendors.length; i < l; i++) { + if (helpers.vendors[i] !== null) { + jsProperty = helpers.camelCase(helpers.vendors[i][1] + '-' + property) + } else { + jsProperty = property + } + if (element.style[jsProperty] !== undefined) { + helpers.propertyCache[property] = jsProperty + break + } + } + } + element.style[jsProperty] = value + } + +} + +const MAGIC_NUMBER = 30, + DEFAULTS = { + relativeInput: false, + clipRelativeInput: false, + inputElement: null, + hoverOnly: false, + calibrationThreshold: 100, + calibrationDelay: 500, + supportDelay: 500, + calibrateX: false, + calibrateY: true, + invertX: true, + invertY: true, + limitX: false, + limitY: false, + scalarX: 10.0, + scalarY: 10.0, + frictionX: 0.1, + frictionY: 0.1, + originX: 0.5, + originY: 0.5, + pointerEvents: false, + precision: 1, + onReady: null, + selector: null + } + +class Parallax { + constructor(element, options) { + + this.element = element + + const data = { + calibrateX: helpers.data(this.element, 'calibrate-x'), + calibrateY: helpers.data(this.element, 'calibrate-y'), + invertX: helpers.data(this.element, 'invert-x'), + invertY: helpers.data(this.element, 'invert-y'), + limitX: helpers.data(this.element, 'limit-x'), + limitY: helpers.data(this.element, 'limit-y'), + scalarX: helpers.data(this.element, 'scalar-x'), + scalarY: helpers.data(this.element, 'scalar-y'), + frictionX: helpers.data(this.element, 'friction-x'), + frictionY: helpers.data(this.element, 'friction-y'), + originX: helpers.data(this.element, 'origin-x'), + originY: helpers.data(this.element, 'origin-y'), + pointerEvents: helpers.data(this.element, 'pointer-events'), + precision: helpers.data(this.element, 'precision'), + relativeInput: helpers.data(this.element, 'relative-input'), + clipRelativeInput: helpers.data(this.element, 'clip-relative-input'), + hoverOnly: helpers.data(this.element, 'hover-only'), + inputElement: document.querySelector(helpers.data(this.element, 'input-element')), + selector: helpers.data(this.element, 'selector') + } + + for (let key in data) { + if (data[key] === null) { + delete data[key] + } + } + + objectAssign(this, DEFAULTS, data, options) + + if(!this.inputElement) { + this.inputElement = this.element + } + + this.calibrationTimer = null + this.calibrationFlag = true + this.enabled = false + this.depthsX = [] + this.depthsY = [] + this.raf = null + + this.bounds = null + this.elementPositionX = 0 + this.elementPositionY = 0 + this.elementWidth = 0 + this.elementHeight = 0 + + this.elementCenterX = 0 + this.elementCenterY = 0 + + this.elementRangeX = 0 + this.elementRangeY = 0 + + this.calibrationX = 0 + this.calibrationY = 0 + + this.inputX = 0 + this.inputY = 0 + + this.motionX = 0 + this.motionY = 0 + + this.velocityX = 0 + this.velocityY = 0 + + this.onMouseMove = this.onMouseMove.bind(this) + this.onDeviceOrientation = this.onDeviceOrientation.bind(this) + this.onDeviceMotion = this.onDeviceMotion.bind(this) + this.onOrientationTimer = this.onOrientationTimer.bind(this) + this.onMotionTimer = this.onMotionTimer.bind(this) + this.onCalibrationTimer = this.onCalibrationTimer.bind(this) + this.onAnimationFrame = this.onAnimationFrame.bind(this) + this.onWindowResize = this.onWindowResize.bind(this) + + this.windowWidth = null + this.windowHeight = null + this.windowCenterX = null + this.windowCenterY = null + this.windowRadiusX = null + this.windowRadiusY = null + this.portrait = false + this.desktop = !navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i) + this.motionSupport = !!window.DeviceMotionEvent && !this.desktop + this.orientationSupport = !!window.DeviceOrientationEvent && !this.desktop + this.orientationStatus = 0 + this.motionStatus = 0 + + this.initialise() + } + + initialise() { + if (this.transform2DSupport === undefined) { + this.transform2DSupport = helpers.transformSupport('2D') + this.transform3DSupport = helpers.transformSupport('3D') + } + + // Configure Context Styles + if (this.transform3DSupport) { + helpers.accelerate(this.element) + } + + let style = window.getComputedStyle(this.element) + if (style.getPropertyValue('position') === 'static') { + this.element.style.position = 'relative' + } + + // Pointer events + if(!this.pointerEvents) { + this.element.style.pointerEvents = 'none' + } + + // Setup + this.updateLayers() + this.updateDimensions() + this.enable() + this.queueCalibration(this.calibrationDelay) + } + + doReadyCallback() { + if(this.onReady) { + this.onReady() + } + } + + updateLayers() { + if(this.selector) { + this.layers = this.element.querySelectorAll(this.selector) + } else { + this.layers = this.element.children + } + + if(!this.layers.length) { + console.warn('ParallaxJS: Your scene does not have any layers.') + } + + this.depthsX = [] + this.depthsY = [] + + for (let index = 0; index < this.layers.length; index++) { + let layer = this.layers[index] + + if (this.transform3DSupport) { + helpers.accelerate(layer) + } + + layer.style.position = index ? 'absolute' : 'relative' + layer.style.display = 'block' + layer.style.left = 0 + layer.style.top = 0 + + let depth = helpers.data(layer, 'depth') || 0 + this.depthsX.push(helpers.data(layer, 'depth-x') || depth) + this.depthsY.push(helpers.data(layer, 'depth-y') || depth) + } + } + + updateDimensions() { + this.windowWidth = window.innerWidth + this.windowHeight = window.innerHeight + this.windowCenterX = this.windowWidth * this.originX + this.windowCenterY = this.windowHeight * this.originY + this.windowRadiusX = Math.max(this.windowCenterX, this.windowWidth - this.windowCenterX) + this.windowRadiusY = Math.max(this.windowCenterY, this.windowHeight - this.windowCenterY) + } + + updateBounds() { + this.bounds = this.inputElement.getBoundingClientRect() + this.elementPositionX = this.bounds.left + this.elementPositionY = this.bounds.top + this.elementWidth = this.bounds.width + this.elementHeight = this.bounds.height + this.elementCenterX = this.elementWidth * this.originX + this.elementCenterY = this.elementHeight * this.originY + this.elementRangeX = Math.max(this.elementCenterX, this.elementWidth - this.elementCenterX) + this.elementRangeY = Math.max(this.elementCenterY, this.elementHeight - this.elementCenterY) + } + + queueCalibration(delay) { + clearTimeout(this.calibrationTimer) + this.calibrationTimer = setTimeout(this.onCalibrationTimer, delay) + } + + enable() { + if (this.enabled) { + return + } + this.enabled = true + + if (this.orientationSupport) { + this.portrait = false + window.addEventListener('deviceorientation', this.onDeviceOrientation) + this.detectionTimer = setTimeout(this.onOrientationTimer, this.supportDelay) + } else if (this.motionSupport) { + this.portrait = false + window.addEventListener('devicemotion', this.onDeviceMotion) + this.detectionTimer = setTimeout(this.onMotionTimer, this.supportDelay) + } else { + this.calibrationX = 0 + this.calibrationY = 0 + this.portrait = false + window.addEventListener('mousemove', this.onMouseMove) + this.doReadyCallback() + } + + window.addEventListener('resize', this.onWindowResize) + this.raf = rqAnFr(this.onAnimationFrame) + } + + disable() { + if (!this.enabled) { + return + } + this.enabled = false + + if (this.orientationSupport) { + window.removeEventListener('deviceorientation', this.onDeviceOrientation) + } else if (this.motionSupport) { + window.removeEventListener('devicemotion', this.onDeviceMotion) + } else { + window.removeEventListener('mousemove', this.onMouseMove) + } + + window.removeEventListener('resize', this.onWindowResize) + rqAnFr.cancel(this.raf) + } + + calibrate(x, y) { + this.calibrateX = x === undefined ? this.calibrateX : x + this.calibrateY = y === undefined ? this.calibrateY : y + } + + invert(x, y) { + this.invertX = x === undefined ? this.invertX : x + this.invertY = y === undefined ? this.invertY : y + } + + friction(x, y) { + this.frictionX = x === undefined ? this.frictionX : x + this.frictionY = y === undefined ? this.frictionY : y + } + + scalar(x, y) { + this.scalarX = x === undefined ? this.scalarX : x + this.scalarY = y === undefined ? this.scalarY : y + } + + limit(x, y) { + this.limitX = x === undefined ? this.limitX : x + this.limitY = y === undefined ? this.limitY : y + } + + origin(x, y) { + this.originX = x === undefined ? this.originX : x + this.originY = y === undefined ? this.originY : y + } + + setInputElement(element) { + this.inputElement = element + this.updateDimensions() + } + + setPosition(element, x, y) { + x = x.toFixed(this.precision) + 'px' + y = y.toFixed(this.precision) + 'px' + if (this.transform3DSupport) { + helpers.css(element, 'transform', 'translate3d(' + x + ',' + y + ',0)') + } else if (this.transform2DSupport) { + helpers.css(element, 'transform', 'translate(' + x + ',' + y + ')') + } else { + element.style.left = x + element.style.top = y + } + } + + onOrientationTimer() { + if (this.orientationSupport && this.orientationStatus === 0) { + this.disable() + this.orientationSupport = false + this.enable() + } else { + this.doReadyCallback() + } + } + + onMotionTimer() { + if (this.motionSupport && this.motionStatus === 0) { + this.disable() + this.motionSupport = false + this.enable() + } else { + this.doReadyCallback() + } + } + + onCalibrationTimer() { + this.calibrationFlag = true + } + + onWindowResize() { + this.updateDimensions() + } + + onAnimationFrame() { + this.updateBounds() + let calibratedInputX = this.inputX - this.calibrationX, + calibratedInputY = this.inputY - this.calibrationY + if ((Math.abs(calibratedInputX) > this.calibrationThreshold) || (Math.abs(calibratedInputY) > this.calibrationThreshold)) { + this.queueCalibration(0) + } + if (this.portrait) { + this.motionX = this.calibrateX ? calibratedInputY : this.inputY + this.motionY = this.calibrateY ? calibratedInputX : this.inputX + } else { + this.motionX = this.calibrateX ? calibratedInputX : this.inputX + this.motionY = this.calibrateY ? calibratedInputY : this.inputY + } + this.motionX *= this.elementWidth * (this.scalarX / 100) + this.motionY *= this.elementHeight * (this.scalarY / 100) + if (!isNaN(parseFloat(this.limitX))) { + this.motionX = helpers.clamp(this.motionX, -this.limitX, this.limitX) + } + if (!isNaN(parseFloat(this.limitY))) { + this.motionY = helpers.clamp(this.motionY, -this.limitY, this.limitY) + } + this.velocityX += (this.motionX - this.velocityX) * this.frictionX + this.velocityY += (this.motionY - this.velocityY) * this.frictionY + for (let index = 0; index < this.layers.length; index++) { + let layer = this.layers[index], + depthX = this.depthsX[index], + depthY = this.depthsY[index], + xOffset = this.velocityX * (depthX * (this.invertX ? -1 : 1)), + yOffset = this.velocityY * (depthY * (this.invertY ? -1 : 1)) + this.setPosition(layer, xOffset, yOffset) + } + this.raf = rqAnFr(this.onAnimationFrame) + } + + rotate(beta, gamma){ + // Extract Rotation + let x = (beta || 0) / MAGIC_NUMBER, // -90 :: 90 + y = (gamma || 0) / MAGIC_NUMBER // -180 :: 180 + + // Detect Orientation Change + let portrait = this.windowHeight > this.windowWidth + if (this.portrait !== portrait) { + this.portrait = portrait + this.calibrationFlag = true + } + + if (this.calibrationFlag) { + this.calibrationFlag = false + this.calibrationX = x + this.calibrationY = y + } + + this.inputX = x + this.inputY = y + } + + onDeviceOrientation(event) { + let beta = event.beta + let gamma = event.gamma + if (beta !== null && gamma !== null) { + this.orientationStatus = 1 + this.rotate(beta, gamma) + } + } + + onDeviceMotion(event) { + let beta = event.rotationRate.beta + let gamma = event.rotationRate.gamma + if (beta !== null && gamma !== null) { + this.motionStatus = 1 + this.rotate(beta, gamma) + } + } + + onMouseMove(event) { + let clientX = event.clientX, + clientY = event.clientY + + // reset input to center if hoverOnly is set and we're not hovering the element + if(this.hoverOnly && + ((clientX < this.elementPositionX || clientX > this.elementPositionX + this.elementWidth) || + (clientY < this.elementPositionY || clientY > this.elementPositionY + this.elementHeight))) { + this.inputX = 0 + this.inputY = 0 + return + } + + if (this.relativeInput) { + // Clip mouse coordinates inside element bounds. + if (this.clipRelativeInput) { + clientX = Math.max(clientX, this.elementPositionX) + clientX = Math.min(clientX, this.elementPositionX + this.elementWidth) + clientY = Math.max(clientY, this.elementPositionY) + clientY = Math.min(clientY, this.elementPositionY + this.elementHeight) + } + // Calculate input relative to the element. + if(this.elementRangeX && this.elementRangeY) { + this.inputX = (clientX - this.elementPositionX - this.elementCenterX) / this.elementRangeX + this.inputY = (clientY - this.elementPositionY - this.elementCenterY) / this.elementRangeY + } + } else { + // Calculate input relative to the window. + if(this.windowRadiusX && this.windowRadiusY) { + this.inputX = (clientX - this.windowCenterX) / this.windowRadiusX + this.inputY = (clientY - this.windowCenterY) / this.windowRadiusY + } + } + } + + destroy() { + this.disable() + + clearTimeout(this.calibrationTimer) + clearTimeout(this.detectionTimer) + + this.element.removeAttribute('style') + for (let index = 0; index < this.layers.length; index++) { + this.layers[index].removeAttribute('style') + } + + delete this.element + delete this.layers + } + + version() { + return '3.1.0' + } + +} + +module.exports = Parallax diff --git a/public/js/vendor/parallax-js/yarn.lock b/public/js/vendor/parallax-js/yarn.lock new file mode 100644 index 0000000..0e5dabf --- /dev/null +++ b/public/js/vendor/parallax-js/yarn.lock @@ -0,0 +1,4367 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +JSONStream@^1.0.3: + version "1.3.0" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.0.tgz#680ab9ac6572a8a1a207e0b38721db1c77b215e5" + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abbrev@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +accepts@1.3.3, accepts@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" + dependencies: + mime-types "~2.1.11" + negotiator "0.6.1" + +acorn-jsx@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn-object-spread@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/acorn-object-spread/-/acorn-object-spread-1.0.0.tgz#48ead0f4a8eb16995a17a0db9ffc6acaada4ba68" + dependencies: + acorn "^3.1.0" + +acorn@4.X: + version "4.0.11" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" + +acorn@^1.0.3: + version "1.2.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-1.2.2.tgz#c8ce27de0acc76d896d2b1fad3df588d9e82f014" + +acorn@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7" + +acorn@^3.0.4, acorn@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +after@0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +anymatch@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + dependencies: + arrify "^1.0.0" + micromatch "^2.1.5" + +aproba@^1.0.3: + version "1.1.1" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + +are-we-there-yet@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.0 || ^1.1.13" + +argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + +array-filter@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-map@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" + +array-reduce@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" + +array-uniq@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +arraybuffer.slice@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asn1.js@^4.0.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + dependencies: + util "0.10.3" + +astw@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astw/-/astw-2.0.0.tgz#08121ac8288d35611c0ceec663f6cd545604897d" + dependencies: + acorn "^1.0.3" + +async-each-series@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + +async@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@~0.2.6: + version "0.2.10" + resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +atob@~1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773" + +autoprefixer@^6.7.2: + version "6.7.2" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.2.tgz#172ab07b998ae9b957530928a59a40be54a45023" + dependencies: + browserslist "^1.7.1" + caniuse-db "^1.0.30000618" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^5.2.11" + postcss-value-parser "^3.2.3" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + +babel-code-frame@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + +babel-core@^6.0.14, babel-core@^6.22.0: + version "6.22.1" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.22.1.tgz#9c5fd658ba1772d28d721f6d25d968fc7ae21648" + dependencies: + babel-code-frame "^6.22.0" + babel-generator "^6.22.0" + babel-helpers "^6.22.0" + babel-messages "^6.22.0" + babel-register "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.1" + babel-types "^6.22.0" + babylon "^6.11.0" + convert-source-map "^1.1.0" + debug "^2.1.1" + json5 "^0.5.0" + lodash "^4.2.0" + minimatch "^3.0.2" + path-is-absolute "^1.0.0" + private "^0.1.6" + slash "^1.0.0" + source-map "^0.5.0" + +babel-generator@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.22.0.tgz#d642bf4961911a8adc7c692b0c9297f325cda805" + dependencies: + babel-messages "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.2.0" + source-map "^0.5.0" + +babel-helper-builder-binary-assignment-operator-visitor@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz#29df56be144d81bdeac08262bfa41d2c5e91cdcd" + dependencies: + babel-helper-explode-assignable-expression "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-helper-call-delegate@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef" + dependencies: + babel-helper-hoist-variables "^6.22.0" + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-helper-define-map@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.22.0.tgz#9544e9502b2d6dfe7d00ff60e82bd5a7a89e95b7" + dependencies: + babel-helper-function-name "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + lodash "^4.2.0" + +babel-helper-explode-assignable-expression@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz#c97bf76eed3e0bae4048121f2b9dae1a4e7d0478" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-helper-function-name@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.22.0.tgz#51f1bdc4bb89b15f57a9b249f33d742816dcbefc" + dependencies: + babel-helper-get-function-arity "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-helper-get-function-arity@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-helper-hoist-variables@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-helper-optimise-call-expression@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.22.0.tgz#f8d5d4b40a6e2605a6a7f9d537b581bea3756d15" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-helper-regex@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz#79f532be1647b1f0ee3474b5f5c3da58001d247d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + lodash "^4.2.0" + +babel-helper-remap-async-to-generator@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz#2186ae73278ed03b8b15ced089609da981053383" + dependencies: + babel-helper-function-name "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-helper-replace-supers@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.22.0.tgz#1fcee2270657548908c34db16bcc345f9850cf42" + dependencies: + babel-helper-optimise-call-expression "^6.22.0" + babel-messages "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-helpers@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.22.0.tgz#d275f55f2252b8101bff07bc0c556deda657392c" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.22.0" + +babel-messages@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.22.0.tgz#36066a214f1217e4ed4164867669ecb39e3ea575" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-trailing-function-commas@^6.13.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + +babel-plugin-transform-async-to-generator@^6.8.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz#194b6938ec195ad36efc4c33a971acf00d8cd35e" + dependencies: + babel-helper-remap-async-to-generator "^6.22.0" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.6.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.22.0.tgz#00d6e3a0bebdcfe7536b9d653b44a9141e63e47e" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + lodash "^4.2.0" + +babel-plugin-transform-es2015-classes@^6.6.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.22.0.tgz#54d44998fd823d9dca15292324161c331c1b6f14" + dependencies: + babel-helper-define-map "^6.22.0" + babel-helper-function-name "^6.22.0" + babel-helper-optimise-call-expression "^6.22.0" + babel-helper-replace-supers "^6.22.0" + babel-messages "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-computed-properties@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.22.0" + +babel-plugin-transform-es2015-destructuring@^6.6.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.22.0.tgz#8e0af2f885a0b2cf999d47c4c1dd23ce88cfa4c6" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.6.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz#672397031c21610d72dd2bbb0ba9fb6277e1c36b" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-for-of@^6.6.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.22.0.tgz#180467ad63aeea592a1caeee4bf1c8b3e2616265" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104" + dependencies: + babel-helper-function-name "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-literals@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.8.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz#bf69cd34889a41c33d90dfb740e0091ccff52f21" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + +babel-plugin-transform-es2015-modules-commonjs@^6.22.0, babel-plugin-transform-es2015-modules-commonjs@^6.6.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.22.0.tgz#6ca04e22b8e214fb50169730657e7a07dc941145" + dependencies: + babel-plugin-transform-strict-mode "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.12.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.22.0.tgz#810cd0cd025a08383b84236b92c6e31f88e644ad" + dependencies: + babel-helper-hoist-variables "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + +babel-plugin-transform-es2015-modules-umd@^6.12.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.22.0.tgz#60d0ba3bd23258719c64391d9bf492d648dc0fae" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + +babel-plugin-transform-es2015-object-super@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc" + dependencies: + babel-helper-replace-supers "^6.22.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.6.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.22.0.tgz#57076069232019094f27da8c68bb7162fe208dbb" + dependencies: + babel-helper-call-delegate "^6.22.0" + babel-helper-get-function-arity "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-shorthand-properties@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-spread@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz#ab316829e866ee3f4b9eb96939757d19a5bc4593" + dependencies: + babel-helper-regex "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-template-literals@^6.6.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.6.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.22.0.tgz#87faf2336d3b6a97f68c4d906b0cd0edeae676e1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz#8d9cc27e7ee1decfe65454fb986452a04a613d20" + dependencies: + babel-helper-regex "^6.22.0" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.8.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz#d57c8335281918e54ef053118ce6eb108468084d" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.22.0" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-regenerator@^6.6.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6" + dependencies: + regenerator-transform "0.9.8" + +babel-plugin-transform-strict-mode@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-preset-env@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.1.8.tgz#c46734c6233c3f87d177513773db3cf3c1758aaa" + dependencies: + babel-plugin-check-es2015-constants "^6.3.13" + babel-plugin-syntax-trailing-function-commas "^6.13.0" + babel-plugin-transform-async-to-generator "^6.8.0" + babel-plugin-transform-es2015-arrow-functions "^6.3.13" + babel-plugin-transform-es2015-block-scoped-functions "^6.3.13" + babel-plugin-transform-es2015-block-scoping "^6.6.0" + babel-plugin-transform-es2015-classes "^6.6.0" + babel-plugin-transform-es2015-computed-properties "^6.3.13" + babel-plugin-transform-es2015-destructuring "^6.6.0" + babel-plugin-transform-es2015-duplicate-keys "^6.6.0" + babel-plugin-transform-es2015-for-of "^6.6.0" + babel-plugin-transform-es2015-function-name "^6.3.13" + babel-plugin-transform-es2015-literals "^6.3.13" + babel-plugin-transform-es2015-modules-amd "^6.8.0" + babel-plugin-transform-es2015-modules-commonjs "^6.6.0" + babel-plugin-transform-es2015-modules-systemjs "^6.12.0" + babel-plugin-transform-es2015-modules-umd "^6.12.0" + babel-plugin-transform-es2015-object-super "^6.3.13" + babel-plugin-transform-es2015-parameters "^6.6.0" + babel-plugin-transform-es2015-shorthand-properties "^6.3.13" + babel-plugin-transform-es2015-spread "^6.3.13" + babel-plugin-transform-es2015-sticky-regex "^6.3.13" + babel-plugin-transform-es2015-template-literals "^6.6.0" + babel-plugin-transform-es2015-typeof-symbol "^6.6.0" + babel-plugin-transform-es2015-unicode-regex "^6.3.13" + babel-plugin-transform-exponentiation-operator "^6.8.0" + babel-plugin-transform-regenerator "^6.6.0" + browserslist "^1.4.0" + +babel-register@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.22.0.tgz#a61dd83975f9ca4a9e7d6eff3059494cd5ea4c63" + dependencies: + babel-core "^6.22.0" + babel-runtime "^6.22.0" + core-js "^2.4.0" + home-or-tmp "^2.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + source-map-support "^0.4.2" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-template@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.22.0.tgz#403d110905a4626b317a2a1fcb8f3b73204b2edb" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + babylon "^6.11.0" + lodash "^4.2.0" + +babel-traverse@^6.22.0, babel-traverse@^6.22.1: + version "6.22.1" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.22.1.tgz#3b95cd6b7427d6f1f757704908f2fc9748a5f59f" + dependencies: + babel-code-frame "^6.22.0" + babel-messages "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + babylon "^6.15.0" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + +babel-types@^6.19.0, babel-types@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.22.0.tgz#2a447e8d0ea25d2512409e4175479fd78cc8b1db" + dependencies: + babel-runtime "^6.22.0" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + +babelify@^7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/babelify/-/babelify-7.3.0.tgz#aa56aede7067fd7bd549666ee16dc285087e88e5" + dependencies: + babel-core "^6.0.14" + object-assign "^4.0.0" + +babylon@^6.11.0, babylon@^6.15.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e" + +backo2@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + +balanced-match@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +base64-arraybuffer@0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" + +base64-js@^1.0.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" + +base64id@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f" + +batch@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464" + +bcrypt-pbkdf@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + dependencies: + tweetnacl "^0.14.3" + +beeper@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" + +better-assert@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" + dependencies: + callsite "1.0.0" + +binary-extensions@^1.0.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" + +bl@^0.9.1: + version "0.9.5" + resolved "https://registry.yarnpkg.com/bl/-/bl-0.9.5.tgz#c06b797af085ea00bc527afc8efcf11de2232054" + dependencies: + readable-stream "~1.0.26" + +blob@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +brace-expansion@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + dependencies: + balanced-match "^0.4.1" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +brorand@^1.0.1: + version "1.0.7" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.0.7.tgz#6677fa5e4901bdbf9c9ec2a748e28dca407a9bfc" + +browser-pack@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.0.2.tgz#f86cd6cef4f5300c8e63e07a4d512f65fbff4531" + dependencies: + JSONStream "^1.0.3" + combine-source-map "~0.7.1" + defined "^1.0.0" + through2 "^2.0.0" + umd "^3.0.0" + +browser-resolve@^1.11.0, browser-resolve@^1.7.0: + version "1.11.2" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" + dependencies: + resolve "1.1.7" + +browser-sync-client@2.4.4: + version "2.4.4" + resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.4.4.tgz#e2a6c27f770e0ad0ffed76964dfb6a971fcf55eb" + dependencies: + etag "^1.7.0" + fresh "^0.3.0" + +browser-sync-ui@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-0.6.3.tgz#640a537c180689303d5be92bc476b9ebc441c0bc" + dependencies: + async-each-series "0.1.1" + connect-history-api-fallback "^1.1.0" + immutable "^3.7.6" + server-destroy "1.0.1" + stream-throttle "^0.1.3" + weinre "^2.0.0-pre-I0Z7U9OV" + +browser-sync@^2.18.7: + version "2.18.7" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.18.7.tgz#12d93b875d2c4dba815246cead0fcdff94a62907" + dependencies: + browser-sync-client "2.4.4" + browser-sync-ui "0.6.3" + bs-recipes "1.3.4" + chokidar "1.6.1" + connect "3.5.0" + dev-ip "^1.0.1" + easy-extender "2.3.2" + eazy-logger "3.0.2" + emitter-steward "^1.0.0" + fs-extra "1.0.0" + http-proxy "1.15.2" + immutable "3.8.1" + localtunnel "1.8.2" + micromatch "2.3.11" + opn "4.0.2" + portscanner "2.1.1" + qs "6.2.1" + resp-modifier "6.0.2" + rx "4.1.0" + serve-index "1.8.0" + serve-static "1.11.1" + server-destroy "1.0.1" + socket.io "1.6.0" + socket.io-client "1.6.0" + ua-parser-js "0.7.12" + yargs "6.4.0" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a" + dependencies: + buffer-xor "^1.0.2" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + inherits "^2.0.1" + +browserify-cipher@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.0.tgz#10773910c3c206d5420a46aad8694f820b85968f" + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@~0.1.2: + version "0.1.4" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" + dependencies: + pako "~0.2.0" + +browserify@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/browserify/-/browserify-14.0.0.tgz#67e6cfe7acb2fb1a1908e8a763452306de0bcf38" + dependencies: + JSONStream "^1.0.3" + assert "^1.4.0" + browser-pack "^6.0.1" + browser-resolve "^1.11.0" + browserify-zlib "~0.1.2" + buffer "^5.0.2" + cached-path-relative "^1.0.0" + concat-stream "~1.5.1" + console-browserify "^1.1.0" + constants-browserify "~1.0.0" + crypto-browserify "^3.0.0" + defined "^1.0.0" + deps-sort "^2.0.0" + domain-browser "~1.1.0" + duplexer2 "~0.1.2" + events "~1.1.0" + glob "^7.1.0" + has "^1.0.0" + htmlescape "^1.1.0" + https-browserify "~0.0.0" + inherits "~2.0.1" + insert-module-globals "^7.0.0" + labeled-stream-splicer "^2.0.0" + module-deps "^4.0.8" + os-browserify "~0.1.1" + parents "^1.0.1" + path-browserify "~0.0.0" + process "~0.11.0" + punycode "^1.3.2" + querystring-es3 "~0.2.0" + read-only-stream "^2.0.0" + readable-stream "^2.0.2" + resolve "^1.1.4" + shasum "^1.0.0" + shell-quote "^1.6.1" + stream-browserify "^2.0.0" + stream-http "^2.0.0" + string_decoder "~0.10.0" + subarg "^1.0.0" + syntax-error "^1.1.1" + through2 "^2.0.0" + timers-browserify "^1.0.1" + tty-browserify "~0.0.0" + url "~0.11.0" + util "~0.10.1" + vm-browserify "~0.0.1" + xtend "^4.0.0" + +browserslist@^1.4.0, browserslist@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.1.tgz#cc9bd193979a2a4b09fdb3df6003fefe48ccefe1" + dependencies: + caniuse-db "^1.0.30000617" + electron-to-chromium "^1.2.1" + +bs-recipes@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.3.4.tgz#0d2d4d48a718c8c044769fdc4f89592dc8b69585" + +buble@^0.12.0: + version "0.12.5" + resolved "https://registry.yarnpkg.com/buble/-/buble-0.12.5.tgz#c66ffe92f9f4a3c65d3256079b711e2bd0bc5013" + dependencies: + acorn "^3.1.0" + acorn-jsx "^3.0.1" + acorn-object-spread "^1.0.0" + chalk "^1.1.3" + magic-string "^0.14.0" + minimist "^1.2.0" + os-homedir "^1.0.1" + +bubleify@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/bubleify/-/bubleify-0.5.1.tgz#f65c47cee31b80cad8b9e747bbe187d7fe51e927" + dependencies: + buble "^0.12.0" + object-assign "^4.0.1" + +buffer-shims@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + +buffer-xor@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + +buffer@^5.0.2: + version "5.0.5" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.5.tgz#35c9393244a90aff83581063d16f0882cecc9418" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + +cached-path-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.0.tgz#d1094c577fbd9a8b8bd43c96af6188aa205d05f4" + +callsite@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^1.0.2, camelcase@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +caniuse-db@^1.0.30000617, caniuse-db@^1.0.30000618: + version "1.0.30000622" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000622.tgz#9d9690b577384990a58e33ebb903a14da735e5fd" + +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chokidar@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +cipher-base@^1.0.0, cipher-base@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07" + dependencies: + inherits "^2.0.1" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^3.0.3, cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + +clone@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" + +clone@^1.0.0, clone@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +combine-source-map@~0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.7.2.tgz#0870312856b307a87cc4ac486f3a9a62aeccc09e" + dependencies: + convert-source-map "~1.1.0" + inline-source-map "~0.6.0" + lodash.memoize "~3.0.3" + source-map "~0.5.3" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commander@^2.2.0, commander@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +component-bind@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" + +component-emitter@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3" + +component-emitter@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + +component-inherit@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@~1.5.0, concat-stream@~1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" + dependencies: + inherits "~2.0.1" + readable-stream "~2.0.0" + typedarray "~0.0.5" + +connect-history-api-fallback@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169" + +connect@1.x: + version "1.9.2" + resolved "https://registry.yarnpkg.com/connect/-/connect-1.9.2.tgz#42880a22e9438ae59a8add74e437f58ae8e52807" + dependencies: + formidable "1.0.x" + mime ">= 0.0.1" + qs ">= 0.4.0" + +connect@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.5.0.tgz#b357525a0b4c1f50599cd983e1d9efeea9677198" + dependencies: + debug "~2.2.0" + finalhandler "0.5.0" + parseurl "~1.3.1" + utils-merge "1.0.0" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +constants-browserify@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + +convert-source-map@1.X, convert-source-map@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" + +convert-source-map@~1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +core-js@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.1.1.tgz#817f2c2039347a1e9bf7d090c0923e53f749ca82" + dependencies: + js-yaml "^3.4.3" + minimist "^1.2.0" + object-assign "^4.1.0" + os-homedir "^1.0.1" + parse-json "^2.2.0" + require-from-string "^1.1.0" + +create-ecdh@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad" + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + ripemd160 "^1.0.0" + sha.js "^2.3.6" + +create-hmac@^1.1.0, create-hmac@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170" + dependencies: + create-hash "^1.1.0" + inherits "^2.0.1" + +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +crypto-browserify@^3.0.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522" + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + +css@2.X: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css/-/css-2.2.1.tgz#73a4c81de85db664d4ee674f7d47085e3b2d55dc" + dependencies: + inherits "^2.0.1" + source-map "^0.1.38" + source-map-resolve "^0.3.0" + urix "^0.1.0" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +dateformat@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" + +debug-fabulous@0.0.X: + version "0.0.4" + resolved "https://registry.yarnpkg.com/debug-fabulous/-/debug-fabulous-0.0.4.tgz#fa071c5d87484685424807421ca4b16b0b1a0763" + dependencies: + debug "2.X" + lazy-debug-legacy "0.0.X" + object-assign "4.1.0" + +debug@2.2.0, debug@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +debug@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c" + dependencies: + ms "0.7.2" + +debug@2.X, debug@^2.1.1, debug@^2.2.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" + dependencies: + ms "0.7.2" + +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-extend@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + +defaults@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + dependencies: + clone "^1.0.2" + +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + +deprecated@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" + +deps-sort@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.0.tgz#091724902e84658260eb910748cccd1af6e21fb5" + dependencies: + JSONStream "^1.0.3" + shasum "^1.0.0" + subarg "^1.0.0" + through2 "^2.0.0" + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +detect-file@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" + dependencies: + fs-exists-sync "^0.1.0" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detect-newline@2.X: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + +detective@^4.0.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/detective/-/detective-4.3.2.tgz#77697e2e7947ac3fe7c8e26a6d6f115235afa91c" + dependencies: + acorn "^3.1.0" + defined "^1.0.0" + +dev-ip@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" + +diffie-hellman@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +domain-browser@~1.1.0: + version "1.1.7" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" + +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + dependencies: + readable-stream "~1.1.9" + +duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + dependencies: + readable-stream "^2.0.2" + +easy-extender@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.2.tgz#3d3248febe2b159607316d8f9cf491c16648221d" + dependencies: + lodash "^3.10.1" + +eazy-logger@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-3.0.2.tgz#a325aa5e53d13a2225889b2ac4113b2b9636f4fc" + dependencies: + tfunk "^3.0.1" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +electron-to-chromium@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.2.tgz#e41bc9488c88e3cfa1e94bde28e8420d7d47c47c" + +elliptic@^6.0.0: + version "6.3.3" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f" + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + inherits "^2.0.1" + +emitter-steward@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/emitter-steward/-/emitter-steward-1.0.0.tgz#f3411ade9758a7565df848b2da0cbbd1b46cbd64" + +encodeurl@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" + +end-of-stream@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" + dependencies: + once "~1.3.0" + +engine.io-client@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.0.tgz#7b730e4127414087596d9be3c88d2bc5fdb6cf5c" + dependencies: + component-emitter "1.2.1" + component-inherit "0.0.3" + debug "2.3.3" + engine.io-parser "1.3.1" + has-cors "1.1.0" + indexof "0.0.1" + parsejson "0.0.3" + parseqs "0.0.5" + parseuri "0.0.5" + ws "1.1.1" + xmlhttprequest-ssl "1.5.3" + yeast "0.1.2" + +engine.io-parser@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.1.tgz#9554f1ae33107d6fbd170ca5466d2f833f6a07cf" + dependencies: + after "0.8.1" + arraybuffer.slice "0.0.6" + base64-arraybuffer "0.1.5" + blob "0.0.4" + has-binary "0.1.6" + wtf-8 "1.0.0" + +engine.io@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.0.tgz#3eeb5f264cb75dbbec1baaea26d61f5a4eace2aa" + dependencies: + accepts "1.3.3" + base64id "0.1.0" + cookie "0.3.1" + debug "2.3.3" + engine.io-parser "1.3.1" + ws "1.1.1" + +error-ex@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" + dependencies: + is-arrayish "^0.2.1" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-string-regexp@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +esprima@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +etag@^1.7.0, etag@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" + +eventemitter3@1.x.x: + version "1.2.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" + +events@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +evp_bytestokey@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53" + dependencies: + create-hash "^1.1.1" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +expand-tilde@^1.2.1, expand-tilde@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" + dependencies: + os-homedir "^1.0.1" + +express@2.5.x: + version "2.5.11" + resolved "https://registry.yarnpkg.com/express/-/express-2.5.11.tgz#4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0" + dependencies: + connect "1.x" + mime "1.2.4" + mkdirp "0.3.0" + qs "0.4.x" + +extend@^3.0.0, extend@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extsprintf@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + +fancy-log@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948" + dependencies: + chalk "^1.1.1" + time-stamp "^1.0.0" + +filename-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +finalhandler@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" + dependencies: + debug "~2.2.0" + escape-html "~1.0.3" + on-finished "~2.3.0" + statuses "~1.3.0" + unpipe "~1.0.0" + +find-index@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +findup-sync@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" + dependencies: + detect-file "^0.1.0" + is-glob "^2.0.1" + micromatch "^2.3.7" + resolve-dir "^0.1.0" + +fined@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.0.2.tgz#5b28424b760d7598960b7ef8480dff8ad3660e97" + dependencies: + expand-tilde "^1.2.1" + lodash.assignwith "^4.0.7" + lodash.isempty "^4.2.1" + lodash.isplainobject "^4.0.4" + lodash.isstring "^4.0.1" + lodash.pick "^4.2.1" + parse-filepath "^1.0.1" + +first-chunk-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" + +flagged-respawn@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" + +for-in@^0.1.5: + version "0.1.6" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" + +for-own@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" + dependencies: + for-in "^0.1.5" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +formidable@1.0.x: + version "1.0.17" + resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.17.tgz#ef5491490f9433b705faa77249c99029ae348559" + +fresh@0.3.0, fresh@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" + +fs-exists-sync@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" + +fs-extra@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + klaw "^1.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.0.17" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz#8537f3f12272678765b4fd6528c0f1f66f8f4558" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.29" + +fstream-ignore@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" + +gauge@~2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" + dependencies: + globule "~0.1.0" + +gaze@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" + dependencies: + globule "^1.0.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +getpass@^0.1.1: + version "0.1.6" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob-stream@^3.1.5: + version "3.1.18" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" + dependencies: + glob "^4.3.1" + glob2base "^0.0.12" + minimatch "^2.0.1" + ordered-read-streams "^0.1.0" + through2 "^0.6.1" + unique-stream "^1.0.0" + +glob-watcher@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" + dependencies: + gaze "^0.5.1" + +glob2base@^0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" + dependencies: + find-index "^0.1.1" + +glob@^4.3.1: + version "4.5.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "^2.0.1" + once "^1.3.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.0, glob@~7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~3.1.21: + version "3.1.21" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" + dependencies: + graceful-fs "~1.2.0" + inherits "1" + minimatch "~0.2.11" + +global-modules@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" + dependencies: + global-prefix "^0.1.4" + is-windows "^0.2.0" + +global-prefix@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" + dependencies: + homedir-polyfill "^1.0.0" + ini "^1.3.4" + is-windows "^0.2.0" + which "^1.2.12" + +globals@^9.0.0: + version "9.14.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" + +globule@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.1.0.tgz#c49352e4dc183d85893ee825385eb994bb6df45f" + dependencies: + glob "~7.1.1" + lodash "~4.16.4" + minimatch "~3.0.2" + +globule@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" + dependencies: + glob "~3.1.21" + lodash "~1.0.1" + minimatch "~0.2.11" + +glogg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" + dependencies: + sparkles "^1.0.0" + +graceful-fs@4.X, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +graceful-fs@^3.0.0: + version "3.0.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" + dependencies: + natives "^1.1.0" + +graceful-fs@~1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + +gulp-postcss@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/gulp-postcss/-/gulp-postcss-6.3.0.tgz#33ee9723e59c302f33d707fc4b7398b10f032bff" + dependencies: + gulp-util "^3.0.8" + postcss "^5.2.10" + postcss-load-config "^1.1.0" + vinyl-sourcemaps-apply "^0.2.1" + +gulp-rename@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817" + +gulp-sass@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-3.1.0.tgz#53dc4b68a1f5ddfe4424ab4c247655269a8b74b7" + dependencies: + gulp-util "^3.0" + lodash.clonedeep "^4.3.2" + node-sass "^4.2.0" + through2 "^2.0.0" + vinyl-sourcemaps-apply "^0.2.0" + +gulp-sourcemaps@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-2.4.1.tgz#8f65dc5c0d07b2fd5c88bc60ec7f13e56716bf74" + dependencies: + acorn "4.X" + convert-source-map "1.X" + css "2.X" + debug-fabulous "0.0.X" + detect-newline "2.X" + graceful-fs "4.X" + source-map "0.X" + strip-bom "3.X" + through2 "2.X" + vinyl "1.X" + +gulp-uglify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/gulp-uglify/-/gulp-uglify-2.0.1.tgz#e8cfb831014fc9ff2e055e33785861830d499365" + dependencies: + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash "^4.13.1" + make-error-cause "^1.1.1" + through2 "^2.0.0" + uglify-js "2.7.5" + uglify-save-license "^0.4.1" + vinyl-sourcemaps-apply "^0.2.0" + +gulp-util@^3.0, gulp-util@^3.0.0, gulp-util@^3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^2.0.0" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulp@^3.9.1: + version "3.9.1" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" + dependencies: + archy "^1.0.0" + chalk "^1.0.0" + deprecated "^0.0.1" + gulp-util "^3.0.0" + interpret "^1.0.0" + liftoff "^2.1.0" + minimist "^1.1.0" + orchestrator "^0.3.0" + pretty-hrtime "^1.0.0" + semver "^4.1.0" + tildify "^1.0.0" + v8flags "^2.0.2" + vinyl-fs "^0.3.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + dependencies: + glogg "^1.0.0" + +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-binary@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10" + dependencies: + isarray "0.0.1" + +has-binary@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c" + dependencies: + isarray "0.0.1" + +has-cors@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-gulplog@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" + dependencies: + sparkles "^1.0.0" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +hash.js@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573" + dependencies: + inherits "^2.0.1" + +hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +homedir-polyfill@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz#7a0d097863d886c0fabbdcd37bf1758d8becf8a5" + +htmlescape@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351" + +http-errors@~1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" + dependencies: + inherits "2.0.3" + setprototypeof "1.0.2" + statuses ">= 1.3.1 < 2" + +http-proxy@1.15.2: + version "1.15.2" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.15.2.tgz#642fdcaffe52d3448d2bda3b0079e9409064da31" + dependencies: + eventemitter3 "1.x.x" + requires-port "1.x.x" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" + +ieee754@^1.1.4: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" + +immutable@3.8.1, immutable@^3.7.6: + version "3.8.1" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" + +in-publish@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" + +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@^1.3.4, ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +inline-source-map@~0.6.0: + version "0.6.2" + resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5" + dependencies: + source-map "~0.5.3" + +insert-module-globals@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.0.1.tgz#c03bf4e01cb086d5b5e5ace8ad0afe7889d638c3" + dependencies: + JSONStream "^1.0.3" + combine-source-map "~0.7.1" + concat-stream "~1.5.1" + is-buffer "^1.1.0" + lexical-scope "^1.2.0" + process "~0.11.0" + through2 "^2.0.0" + xtend "^4.0.0" + +interpret@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" + +invariant@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +is-absolute@^0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb" + dependencies: + is-relative "^0.2.1" + is-windows "^0.2.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.0.2, is-buffer@^1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-dotfile@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-my-json-valid@^2.12.4: + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-number-like@^1.0.3: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-like/-/is-number-like-1.0.7.tgz#a38d6b0fd2cd4282449128859eed86c03fd23552" + dependencies: + bubleify "^0.5.1" + lodash.isfinite "^3.3.2" + +is-number@^2.0.2, is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-relative@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" + dependencies: + is-unc-path "^0.1.1" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-unc-path@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" + dependencies: + unc-path-regex "^0.1.0" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-windows@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" + +isarray@0.0.1, isarray@~0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +jodid25519@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" + dependencies: + jsbn "~0.1.0" + +js-base64@^2.1.9: + version "2.1.9" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" + +js-tokens@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" + +js-yaml@^3.4.3: + version "3.8.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.1.tgz#782ba50200be7b9e5a8537001b7804db3ad02628" + dependencies: + argparse "^1.0.7" + esprima "^3.1.1" + +jsbn@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz#611c23e814db375527df851193db59dd2af27f45" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsonparse@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.0.tgz#85fc245b1d9259acc6941960b905adf64e7de0e8" + +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + +jsprim@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + dependencies: + extsprintf "1.0.2" + json-schema "0.2.3" + verror "1.3.6" + +kind-of@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" + dependencies: + is-buffer "^1.0.2" + +klaw@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + optionalDependencies: + graceful-fs "^4.1.9" + +labeled-stream-splicer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz#a52e1d138024c00b86b1c0c91f677918b8ae0a59" + dependencies: + inherits "^2.0.1" + isarray "~0.0.1" + stream-splicer "^2.0.0" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lazy-debug-legacy@0.0.X: + version "0.0.1" + resolved "https://registry.yarnpkg.com/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz#537716c0776e4cf79e3ed1b621f7658c2911b1b1" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +lexical-scope@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-1.2.0.tgz#fcea5edc704a4b3a8796cdca419c3a0afaf22df4" + dependencies: + astw "^2.0.0" + +liftoff@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.3.0.tgz#a98f2ff67183d8ba7cfaca10548bd7ff0550b385" + dependencies: + extend "^3.0.0" + findup-sync "^0.4.2" + fined "^1.0.1" + flagged-respawn "^0.3.2" + lodash.isplainobject "^4.0.4" + lodash.isstring "^4.0.1" + lodash.mapvalues "^4.4.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +limiter@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.0.tgz#6e2bd12ca3fcdaa11f224e2e53c896df3f08d913" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +localtunnel@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.8.2.tgz#913051e8328b51f75ad8a22ad1f5c5b8c599a359" + dependencies: + debug "2.2.0" + openurl "1.1.0" + request "2.78.0" + yargs "3.29.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash._reescape@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" + +lodash._reevaluate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + +lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + +lodash.assignwith@^4.0.7: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz#127a97f02adc41751a954d24b0de17e100e038eb" + +lodash.clonedeep@^4.3.2: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + dependencies: + lodash._root "^3.0.0" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.isempty@^4.2.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" + +lodash.isfinite@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" + +lodash.isplainobject@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.mapvalues@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" + +lodash.memoize@~3.0.3: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" + +lodash.mergewith@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55" + +lodash.pick@^4.2.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + +lodash@^3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + +lodash@^4.0.0, lodash@^4.13.1, lodash@^4.2.0: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +lodash@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" + +lodash@~4.16.4: + version "4.16.6" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + +lru-cache@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" + dependencies: + pseudomap "^1.0.1" + yallist "^2.0.0" + +magic-string@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.14.0.tgz#57224aef1701caeed273b17a39a956e72b172462" + dependencies: + vlq "^0.2.1" + +make-error-cause@^1.1.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/make-error-cause/-/make-error-cause-1.2.2.tgz#df0388fcd0b37816dff0a5fb8108939777dcbc9d" + dependencies: + make-error "^1.2.0" + +make-error@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.2.1.tgz#9a6dfb4844423b9f145806728d05c6e935670e75" + +map-cache@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +micromatch@2.3.11, micromatch@^2.1.5, micromatch@^2.3.7: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +miller-rabin@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d" + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@~1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" + +mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.7: + version "2.1.14" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" + dependencies: + mime-db "~1.26.0" + +mime@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.4.tgz#11b5fdaf29c2509255176b80ad520294f5de92b7" + +mime@1.3.4, "mime@>= 0.0.1": + version "1.3.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + +minimalistic-assert@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" + +minimatch@^2.0.1: + version "2.0.10" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" + dependencies: + brace-expansion "^1.0.0" + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimatch@~0.2.11: + version "0.2.14" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +mkdirp@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" + +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +module-deps@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-4.0.8.tgz#55fd70623399706c3288bef7a609ff1e8c0ed2bb" + dependencies: + JSONStream "^1.0.3" + browser-resolve "^1.7.0" + cached-path-relative "^1.0.0" + concat-stream "~1.5.0" + defined "^1.0.0" + detective "^4.0.0" + duplexer2 "^0.1.2" + inherits "^2.0.1" + parents "^1.0.0" + readable-stream "^2.0.2" + resolve "^1.1.3" + stream-combiner2 "^1.1.1" + subarg "^1.0.0" + through2 "^2.0.0" + xtend "^4.0.0" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +ms@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" + +multipipe@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" + dependencies: + duplexer2 "0.0.2" + +nan@^2.3.0, nan@^2.3.2: + version "2.5.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2" + +natives@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.0.tgz#e9ff841418a6b2ec7a495e939984f78f163e6e31" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +node-gyp@^3.3.1: + version "3.5.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.5.0.tgz#a8fe5e611d079ec16348a3eb960e78e11c85274a" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + minimatch "^3.0.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "2" + rimraf "2" + semver "2.x || 3.x || 4 || 5" + tar "^2.0.0" + which "1" + +node-notifier@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.0.2.tgz#4438449fe69e321f941cef943986b0797032701b" + dependencies: + growly "^1.3.0" + semver "^5.3.0" + shellwords "^0.1.0" + which "^1.2.12" + +node-pre-gyp@^0.6.29: + version "0.6.33" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz#640ac55198f6a925972e0c16c4ac26a034d5ecc9" + dependencies: + mkdirp "~0.5.1" + nopt "~3.0.6" + npmlog "^4.0.1" + rc "~1.1.6" + request "^2.79.0" + rimraf "~2.5.4" + semver "~5.3.0" + tar "~2.2.1" + tar-pack "~3.3.0" + +node-sass@^4.2.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.5.0.tgz#532e37bad0ce587348c831535dbc98ea4289508b" + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash.assign "^4.2.0" + lodash.clonedeep "^4.3.2" + lodash.mergewith "^4.6.0" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.3.2" + node-gyp "^3.3.1" + npmlog "^4.0.0" + request "^2.61.0" + sass-graph "^2.1.1" + stdout-stream "^1.4.0" + +node-uuid@~1.4.7: + version "1.4.7" + resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" + +"nopt@2 || 3", nopt@3.0.x, nopt@~3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.1" + set-blocking "~2.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + +object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-component@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" + +object-path@^0.9.0: + version "0.9.2" + resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +once@~1.3.0, once@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +openurl@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.0.tgz#e2f2189d999c04823201f083f0f1a7cd8903187a" + +opn@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +options@>=0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" + +orchestrator@^0.3.0: + version "0.3.8" + resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e" + dependencies: + end-of-stream "~0.1.5" + sequencify "~0.0.7" + stream-consume "~0.1.0" + +ordered-read-streams@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" + +os-browserify@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54" + +os-homedir@^1.0.0, os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +pako@~0.2.0: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + +parents@^1.0.0, parents@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751" + dependencies: + path-platform "~0.11.15" + +parse-asn1@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.0.0.tgz#35060f6d5015d37628c770f4e091a0b5a278bc23" + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + +parse-filepath@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73" + dependencies: + is-absolute "^0.2.3" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + +parsejson@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab" + dependencies: + better-assert "~1.0.0" + +parseqs@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" + dependencies: + better-assert "~1.0.0" + +parseuri@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" + dependencies: + better-assert "~1.0.0" + +parseurl@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" + +path-browserify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-platform@~0.11.15: + version "0.11.15" + resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + dependencies: + path-root-regex "^0.1.0" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pbkdf2@^3.0.3: + version "3.0.9" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693" + dependencies: + create-hmac "^1.1.2" + +performance-now@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +portscanner@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.1.1.tgz#eabb409e4de24950f5a2a516d35ae769343fbb96" + dependencies: + async "1.5.2" + is-number-like "^1.0.3" + +postcss-load-config@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.1.0.tgz#1c3c217608642448c03bebf3c32b1b28985293f9" + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + postcss-load-options "^1.1.0" + postcss-load-plugins "^2.2.0" + +postcss-load-options@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.1.0.tgz#e39215d154a19f69f9cb6052bffad4a82f09f354" + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + +postcss-load-plugins@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.2.0.tgz#84ef9cf36e637810ac5265e03f6d4c48ead83314" + dependencies: + cosmiconfig "^2.1.1" + object-assign "^4.1.0" + +postcss-value-parser@^3.2.3: + version "3.3.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + +postcss@^5.2.10, postcss@^5.2.11: + version "5.2.12" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.12.tgz#6a2b15e35dd65634441bb0961fa796904c7890e0" + dependencies: + chalk "^1.1.3" + js-base64 "^2.1.9" + source-map "^0.5.6" + supports-color "^3.2.3" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-hrtime@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + +private@^0.1.6: + version "0.1.7" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +process@~0.11.0: + version "0.11.9" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1" + +pseudomap@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +public-encrypt@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +punycode@^1.3.2, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +qs@0.4.x: + version "0.4.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-0.4.2.tgz#3cac4c861e371a8c9c4770ac23cda8de639b8e5f" + +qs@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" + +"qs@>= 0.4.0", qs@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" + +querystring-es3@~0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +raf@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.3.0.tgz#93845eeffc773f8129039f677f80a36044eee2c3" + dependencies: + performance-now "~0.2.0" + +randomatic@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + dependencies: + is-number "^2.0.2" + kind-of "^3.0.2" + +randombytes@^2.0.0, randombytes@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec" + +range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +rc@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~1.0.4" + +read-only-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-2.0.0.tgz#2724fd6a8113d73764ac288d4386270c1dbf17f0" + dependencies: + readable-stream "^2.0.2" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.26: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.0, readable-stream@^2.1.5: + version "2.2.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@~2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +regenerate@^1.2.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" + +regenerator-runtime@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" + +regenerator-transform@0.9.8: + version "0.9.8" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + dependencies: + is-equal-shallow "^0.1.3" + is-primitive "^2.0.0" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + +request@2, request@2.78.0, request@^2.61.0: + version "2.78.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + +request@^2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-from-string@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +requires-port@1.x.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + +resolve-dir@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" + dependencies: + expand-tilde "^1.2.2" + global-modules "^0.2.3" + +resolve-url@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resolve@^1.1.3, resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7: + version "1.2.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c" + +resp-modifier@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/resp-modifier/-/resp-modifier-6.0.2.tgz#b124de5c4fbafcba541f48ffa73970f4aa456b4f" + dependencies: + debug "^2.2.0" + minimatch "^3.0.2" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@2, rimraf@^2.5.4, rimraf@~2.5.1, rimraf@~2.5.4: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +ripemd160@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e" + +rx@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + +sass-graph@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.1.2.tgz#965104be23e8103cb7e5f710df65935b317da57b" + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + yargs "^4.7.1" + +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.3.0, semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +semver@^4.1.0: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + +send@0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a" + dependencies: + debug "~2.2.0" + depd "~1.1.0" + destroy "~1.0.4" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.7.0" + fresh "0.3.0" + http-errors "~1.5.0" + mime "1.3.4" + ms "0.7.1" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.3.0" + +sequencify@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" + +serve-index@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz#7c5d96c13fb131101f93c1c5774f8516a1e78d3b" + dependencies: + accepts "~1.3.3" + batch "0.5.3" + debug "~2.2.0" + escape-html "~1.0.3" + http-errors "~1.5.0" + mime-types "~2.1.11" + parseurl "~1.3.1" + +serve-static@1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805" + dependencies: + encodeurl "~1.0.1" + escape-html "~1.0.3" + parseurl "~1.3.1" + send "0.14.1" + +server-destroy@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +setprototypeof@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" + +sha.js@^2.3.6, sha.js@~2.4.4: + version "2.4.8" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" + dependencies: + inherits "^2.0.1" + +shasum@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/shasum/-/shasum-1.0.2.tgz#e7012310d8f417f4deb5712150e5678b87ae565f" + dependencies: + json-stable-stringify "~0.0.0" + sha.js "~2.4.4" + +shell-quote@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" + dependencies: + array-filter "~0.0.0" + array-map "~0.0.0" + array-reduce "~0.0.0" + jsonify "~0.0.0" + +shellwords@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.0.tgz#66afd47b6a12932d9071cbfd98a52e785cd0ba14" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +socket.io-adapter@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b" + dependencies: + debug "2.3.3" + socket.io-parser "2.3.1" + +socket.io-client@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.6.0.tgz#5b668f4f771304dfeed179064708386fa6717853" + dependencies: + backo2 "1.0.2" + component-bind "1.0.0" + component-emitter "1.2.1" + debug "2.3.3" + engine.io-client "1.8.0" + has-binary "0.1.7" + indexof "0.0.1" + object-component "0.0.3" + parseuri "0.0.5" + socket.io-parser "2.3.1" + to-array "0.1.4" + +socket.io-parser@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0" + dependencies: + component-emitter "1.1.2" + debug "2.2.0" + isarray "0.0.1" + json3 "3.3.2" + +socket.io@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.6.0.tgz#3e40d932637e6bd923981b25caf7c53e83b6e2e1" + dependencies: + debug "2.3.3" + engine.io "1.8.0" + has-binary "0.1.7" + object-assign "4.1.0" + socket.io-adapter "0.5.0" + socket.io-client "1.6.0" + socket.io-parser "2.3.1" + +source-map-resolve@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761" + dependencies: + atob "~1.1.0" + resolve-url "~0.2.1" + source-map-url "~0.3.0" + urix "~0.1.0" + +source-map-support@^0.4.2: + version "0.4.11" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322" + dependencies: + source-map "^0.5.3" + +source-map-url@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9" + +source-map@0.X, source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + +source-map@^0.1.38: + version "0.1.43" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" + dependencies: + amdefine ">=0.0.4" + +sparkles@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jodid25519 "^1.0.0" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +"statuses@>= 1.3.1 < 2", statuses@~1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + +stdout-stream@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b" + dependencies: + readable-stream "^2.0.1" + +stream-browserify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-combiner2@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" + dependencies: + duplexer2 "~0.1.0" + readable-stream "^2.0.2" + +stream-consume@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" + +stream-http@^2.0.0: + version "2.6.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.6.3.tgz#4c3ddbf9635968ea2cfd4e48d43de5def2625ac3" + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.1.0" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-splicer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-2.0.0.tgz#1b63be438a133e4b671cc1935197600175910d83" + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.2" + +stream-throttle@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3" + dependencies: + commander "^2.2.0" + limiter "^1.0.5" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string_decoder@~0.10.0, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +stringstream@~0.0.4: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-bom@3.X: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-bom@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" + dependencies: + first-chunk-stream "^1.0.0" + is-utf8 "^0.2.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + +subarg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" + dependencies: + minimist "^1.1.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +syntax-error@^1.1.1: + version "1.1.6" + resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.1.6.tgz#b4549706d386cc1c1dc7c2423f18579b6cade710" + dependencies: + acorn "^2.7.0" + +tar-pack@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" + dependencies: + debug "~2.2.0" + fstream "~1.0.10" + fstream-ignore "~1.0.5" + once "~1.3.3" + readable-stream "~2.1.4" + rimraf "~2.5.1" + tar "~2.2.1" + uid-number "~0.0.6" + +tar@^2.0.0, tar@~2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +tfunk@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-3.1.0.tgz#38e4414fc64977d87afdaa72facb6d29f82f7b5b" + dependencies: + chalk "^1.1.1" + object-path "^0.9.0" + +through2@2.X, through2@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +through2@^0.6.1: + version "0.6.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" + dependencies: + readable-stream ">=1.0.33-1 <1.1.0-0" + xtend ">=4.0.0 <4.1.0-0" + +"through@>=2.2.7 <3": + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +tildify@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" + dependencies: + os-homedir "^1.0.0" + +time-stamp@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" + +timers-browserify@^1.0.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" + dependencies: + process "~0.11.0" + +to-array@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + +to-fast-properties@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" + +tough-cookie@~2.3.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + dependencies: + punycode "^1.4.1" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +tty-browserify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +typedarray@~0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +ua-parser-js@0.7.12: + version "0.7.12" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" + +uglify-js@2.7.5, uglify-js@^2.7.5: + version "2.7.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" + dependencies: + async "~0.2.6" + source-map "~0.5.1" + uglify-to-browserify "~1.0.0" + yargs "~3.10.0" + +uglify-save-license@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/uglify-save-license/-/uglify-save-license-0.4.1.tgz#95726c17cc6fd171c3617e3bf4d8d82aa8c4cce1" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +uid-number@~0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +ultron@1.0.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" + +umd@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e" + +unc-path-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + +underscore@1.7.x: + version "1.7.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" + +unique-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" + +unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +urix@^0.1.0, urix@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + +url@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util@0.10.3, util@~0.10.1: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +utils-merge@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" + +uuid@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + +v8flags@^2.0.2: + version "2.0.11" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" + dependencies: + user-home "^1.1.1" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +verror@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + dependencies: + extsprintf "1.0.2" + +vinyl-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/vinyl-buffer/-/vinyl-buffer-1.0.0.tgz#ca067ea08431d507722b1de5083f602616ebc234" + dependencies: + bl "^0.9.1" + through2 "^0.6.1" + +vinyl-fs@^0.3.0: + version "0.3.14" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" + dependencies: + defaults "^1.0.0" + glob-stream "^3.1.5" + glob-watcher "^0.0.6" + graceful-fs "^3.0.0" + mkdirp "^0.5.0" + strip-bom "^1.0.0" + through2 "^0.6.1" + vinyl "^0.4.0" + +vinyl-source-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vinyl-source-stream/-/vinyl-source-stream-1.1.0.tgz#44cbe5108205279deb0c5653c094a2887938b1ab" + dependencies: + through2 "^0.6.1" + vinyl "^0.4.3" + +vinyl-sourcemaps-apply@^0.2.0, vinyl-sourcemaps-apply@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" + dependencies: + source-map "^0.5.1" + +vinyl@1.X: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^0.4.0, vinyl@^0.4.3: + version "0.4.6" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" + dependencies: + clone "^0.2.0" + clone-stats "^0.0.1" + +vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vlq@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.1.tgz#14439d711891e682535467f8587c5630e4222a6c" + +vm-browserify@~0.0.1: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + dependencies: + indexof "0.0.1" + +weinre@^2.0.0-pre-I0Z7U9OV: + version "2.0.0-pre-I0Z7U9OV" + resolved "https://registry.yarnpkg.com/weinre/-/weinre-2.0.0-pre-I0Z7U9OV.tgz#fef8aa223921f7b40bbbbd4c3ed4302f6fd0a813" + dependencies: + express "2.5.x" + nopt "3.0.x" + underscore "1.7.x" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which@1, which@^1.2.12, which@^1.2.9: + version "1.2.12" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" + dependencies: + isexe "^1.1.1" + +wide-align@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + dependencies: + string-width "^1.0.1" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +window-size@^0.1.2: + version "0.1.4" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" + +window-size@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +ws@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018" + dependencies: + options ">=0.0.5" + ultron "1.0.x" + +wtf-8@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a" + +xmlhttprequest-ssl@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" + +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.0, y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yallist@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" + +yargs-parser@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" + dependencies: + camelcase "^3.0.0" + lodash.assign "^4.0.6" + +yargs-parser@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" + dependencies: + camelcase "^3.0.0" + +yargs@3.29.0: + version "3.29.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.29.0.tgz#1aab9660eae79d8b8f675bcaeeab6ee34c2cf69c" + dependencies: + camelcase "^1.2.1" + cliui "^3.0.3" + decamelize "^1.0.0" + os-locale "^1.4.0" + window-size "^0.1.2" + y18n "^3.2.0" + +yargs@6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + window-size "^0.2.0" + y18n "^3.2.1" + yargs-parser "^4.1.0" + +yargs@^4.7.1: + version "4.8.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0" + dependencies: + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + lodash.assign "^4.0.3" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.1" + which-module "^1.0.0" + window-size "^0.2.0" + y18n "^3.2.1" + yargs-parser "^2.4.1" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + +yeast@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" diff --git a/public/js/vendor/prismjs/CHANGELOG.md b/public/js/vendor/prismjs/CHANGELOG.md new file mode 100644 index 0000000..9341f91 --- /dev/null +++ b/public/js/vendor/prismjs/CHANGELOG.md @@ -0,0 +1,2326 @@ +# Prism Changelog + +## 1.23.0 (2020-12-31) + +### New components + +* __Apex__ ([#2622](https://github.com/PrismJS/prism/issues/2622)) [`f0e2b70e`](https://github.com/PrismJS/prism/commit/f0e2b70e) +* __DataWeave__ ([#2659](https://github.com/PrismJS/prism/issues/2659)) [`0803525b`](https://github.com/PrismJS/prism/commit/0803525b) +* __PromQL__ ([#2628](https://github.com/PrismJS/prism/issues/2628)) [`8831c706`](https://github.com/PrismJS/prism/commit/8831c706) + +### Updated components + +* Fixed multiple vulnerable regexes ([#2584](https://github.com/PrismJS/prism/issues/2584)) [`c2f6a644`](https://github.com/PrismJS/prism/commit/c2f6a644) +* __Apache Configuration__ + * Update directive-flag to match `=` ([#2612](https://github.com/PrismJS/prism/issues/2612)) [`00bf00e3`](https://github.com/PrismJS/prism/commit/00bf00e3) +* __C-like__ + * Made all comments greedy ([#2680](https://github.com/PrismJS/prism/issues/2680)) [`0a3932fe`](https://github.com/PrismJS/prism/commit/0a3932fe) +* __C__ + * Better class name and macro name detection ([#2585](https://github.com/PrismJS/prism/issues/2585)) [`129faf5c`](https://github.com/PrismJS/prism/commit/129faf5c) +* __Content-Security-Policy__ + * Added missing directives and keywords ([#2664](https://github.com/PrismJS/prism/issues/2664)) [`f1541342`](https://github.com/PrismJS/prism/commit/f1541342) + * Do not highlight directive names with adjacent hyphens ([#2662](https://github.com/PrismJS/prism/issues/2662)) [`a7ccc16d`](https://github.com/PrismJS/prism/commit/a7ccc16d) +* __CSS__ + * Better HTML `style` attribute tokenization ([#2569](https://github.com/PrismJS/prism/issues/2569)) [`b04cbafe`](https://github.com/PrismJS/prism/commit/b04cbafe) +* __Java__ + * Improved package and class name detection ([#2599](https://github.com/PrismJS/prism/issues/2599)) [`0889bc7c`](https://github.com/PrismJS/prism/commit/0889bc7c) + * Added Java 15 keywords ([#2567](https://github.com/PrismJS/prism/issues/2567)) [`73f81c89`](https://github.com/PrismJS/prism/commit/73f81c89) +* __Java stack trace__ + * Added support stack frame element class loaders and modules ([#2658](https://github.com/PrismJS/prism/issues/2658)) [`0bb4f096`](https://github.com/PrismJS/prism/commit/0bb4f096) +* __Julia__ + * Removed constants that are not exported by default ([#2601](https://github.com/PrismJS/prism/issues/2601)) [`093c8175`](https://github.com/PrismJS/prism/commit/093c8175) +* __Kotlin__ + * Added support for backticks in function names ([#2489](https://github.com/PrismJS/prism/issues/2489)) [`a5107d5c`](https://github.com/PrismJS/prism/commit/a5107d5c) +* __Latte__ + * Fixed exponential backtracking ([#2682](https://github.com/PrismJS/prism/issues/2682)) [`89f1e182`](https://github.com/PrismJS/prism/commit/89f1e182) +* __Markdown__ + * Improved URL tokenization ([#2678](https://github.com/PrismJS/prism/issues/2678)) [`2af3e2c2`](https://github.com/PrismJS/prism/commit/2af3e2c2) + * Added support for YAML front matter ([#2634](https://github.com/PrismJS/prism/issues/2634)) [`5cf9cfbc`](https://github.com/PrismJS/prism/commit/5cf9cfbc) +* __PHP__ + * Added support for PHP 7.4 + other major improvements ([#2566](https://github.com/PrismJS/prism/issues/2566)) [`38808e64`](https://github.com/PrismJS/prism/commit/38808e64) + * Added support for PHP 8.0 features ([#2591](https://github.com/PrismJS/prism/issues/2591)) [`df922d90`](https://github.com/PrismJS/prism/commit/df922d90) + * Removed C-like dependency ([#2619](https://github.com/PrismJS/prism/issues/2619)) [`89ebb0b7`](https://github.com/PrismJS/prism/commit/89ebb0b7) + * Fixed exponential backtracking ([#2684](https://github.com/PrismJS/prism/issues/2684)) [`37b9c9a1`](https://github.com/PrismJS/prism/commit/37b9c9a1) +* __Sass (Scss)__ + * Added support for Sass modules ([#2643](https://github.com/PrismJS/prism/issues/2643)) [`deb238a6`](https://github.com/PrismJS/prism/commit/deb238a6) +* __Scheme__ + * Fixed number pattern ([#2648](https://github.com/PrismJS/prism/issues/2648)) [`e01ecd00`](https://github.com/PrismJS/prism/commit/e01ecd00) + * Fixed function and function-like false positives ([#2611](https://github.com/PrismJS/prism/issues/2611)) [`7951ca24`](https://github.com/PrismJS/prism/commit/7951ca24) +* __Shell session__ + * Fixed false positives because of links in command output ([#2649](https://github.com/PrismJS/prism/issues/2649)) [`8e76a978`](https://github.com/PrismJS/prism/commit/8e76a978) +* __TSX__ + * Temporary fix for the collisions of JSX tags and TS generics ([#2596](https://github.com/PrismJS/prism/issues/2596)) [`25bdb494`](https://github.com/PrismJS/prism/commit/25bdb494) + +### Updated plugins + +* Made Autoloader and Diff Highlight compatible ([#2580](https://github.com/PrismJS/prism/issues/2580)) [`7a74497a`](https://github.com/PrismJS/prism/commit/7a74497a) +* __Copy to Clipboard Button__ + * Set `type="button"` attribute for copy to clipboard plugin ([#2593](https://github.com/PrismJS/prism/issues/2593)) [`f59a85f1`](https://github.com/PrismJS/prism/commit/f59a85f1) +* __File Highlight__ + * Fixed IE compatibility problem ([#2656](https://github.com/PrismJS/prism/issues/2656)) [`3f4ae00d`](https://github.com/PrismJS/prism/commit/3f4ae00d) +* __Line Highlight__ + * Fixed top offset in combination with Line numbers ([#2237](https://github.com/PrismJS/prism/issues/2237)) [`b40f8f4b`](https://github.com/PrismJS/prism/commit/b40f8f4b) + * Fixed print background color ([#2668](https://github.com/PrismJS/prism/issues/2668)) [`cdb24abe`](https://github.com/PrismJS/prism/commit/cdb24abe) +* __Line Numbers__ + * Fixed null reference ([#2605](https://github.com/PrismJS/prism/issues/2605)) [`7cdfe556`](https://github.com/PrismJS/prism/commit/7cdfe556) +* __Treeview__ + * Fixed icons on dark themes ([#2631](https://github.com/PrismJS/prism/issues/2631)) [`7266e32f`](https://github.com/PrismJS/prism/commit/7266e32f) +* __Unescaped Markup__ + * Refactoring ([#2445](https://github.com/PrismJS/prism/issues/2445)) [`fc602822`](https://github.com/PrismJS/prism/commit/fc602822) + +### Other + +* Readme: Added alternative link for Chinese translation [`071232b4`](https://github.com/PrismJS/prism/commit/071232b4) +* Readme: Removed broken icon for Chinese translation ([#2670](https://github.com/PrismJS/prism/issues/2670)) [`2ea202b9`](https://github.com/PrismJS/prism/commit/2ea202b9) +* Readme: Grammar adjustments ([#2629](https://github.com/PrismJS/prism/issues/2629)) [`f217ab75`](https://github.com/PrismJS/prism/commit/f217ab75) +* __Core__ + * Moved pattern matching + lookbehind logic into function ([#2633](https://github.com/PrismJS/prism/issues/2633)) [`24574406`](https://github.com/PrismJS/prism/commit/24574406) + * Fixed bug with greedy matching ([#2632](https://github.com/PrismJS/prism/issues/2632)) [`8fa8dd24`](https://github.com/PrismJS/prism/commit/8fa8dd24) +* __Infrastructure__ + * Migrate from TravisCI -> GitHub Actions ([#2606](https://github.com/PrismJS/prism/issues/2606)) [`69132045`](https://github.com/PrismJS/prism/commit/69132045) + * Added Dangerfile and provide bundle size info ([#2608](https://github.com/PrismJS/prism/issues/2608)) [`9df20c5e`](https://github.com/PrismJS/prism/commit/9df20c5e) + * New `start` script to start local server ([#2491](https://github.com/PrismJS/prism/issues/2491)) [`0604793c`](https://github.com/PrismJS/prism/commit/0604793c) + * Added test for exponential backtracking ([#2590](https://github.com/PrismJS/prism/issues/2590)) [`05afbb10`](https://github.com/PrismJS/prism/commit/05afbb10) + * Added test for polynomial backtracking ([#2597](https://github.com/PrismJS/prism/issues/2597)) [`e644178b`](https://github.com/PrismJS/prism/commit/e644178b) + * Tests: Better pretty print ([#2600](https://github.com/PrismJS/prism/issues/2600)) [`8bfcc819`](https://github.com/PrismJS/prism/commit/8bfcc819) + * Tests: Fixed sorted language list test ([#2623](https://github.com/PrismJS/prism/issues/2623)) [`2d3a1267`](https://github.com/PrismJS/prism/commit/2d3a1267) + * Tests: Stricter pattern for nice-token-names test ([#2588](https://github.com/PrismJS/prism/issues/2588)) [`0df60be1`](https://github.com/PrismJS/prism/commit/0df60be1) + * Tests: Added strict checks for `Prism.languages.extend` ([#2572](https://github.com/PrismJS/prism/issues/2572)) [`8828500e`](https://github.com/PrismJS/prism/commit/8828500e) +* __Website__ + * Test page: Added "Share" option ([#2575](https://github.com/PrismJS/prism/issues/2575)) [`b5f4f10e`](https://github.com/PrismJS/prism/commit/b5f4f10e) + * Test page: Don't trigger ad-blockers with class ([#2677](https://github.com/PrismJS/prism/issues/2677)) [`df0738e9`](https://github.com/PrismJS/prism/commit/df0738e9) + * Thousands -> millions [`9f82de50`](https://github.com/PrismJS/prism/commit/9f82de50) + * Unescaped Markup: More doc regarding comments ([#2652](https://github.com/PrismJS/prism/issues/2652)) [`add3736a`](https://github.com/PrismJS/prism/commit/add3736a) + * Website: Added and updated documentation ([#2654](https://github.com/PrismJS/prism/issues/2654)) [`8e660495`](https://github.com/PrismJS/prism/commit/8e660495) + * Website: Updated and improved guide on "Extending Prism" page ([#2586](https://github.com/PrismJS/prism/issues/2586)) [`8e1f38ff`](https://github.com/PrismJS/prism/commit/8e1f38ff) + +## 1.22.0 (2020-10-10) + +### New components + +* __Birb__ ([#2542](https://github.com/PrismJS/prism/issues/2542)) [`4d31e22a`](https://github.com/PrismJS/prism/commit/4d31e22a) +* __BSL (1C:Enterprise)__ & __OneScript__ ([#2520](https://github.com/PrismJS/prism/issues/2520)) [`5c33f0bb`](https://github.com/PrismJS/prism/commit/5c33f0bb) +* __MongoDB__ ([#2518](https://github.com/PrismJS/prism/issues/2518)) [`004eaa74`](https://github.com/PrismJS/prism/commit/004eaa74) +* __Naninovel Script__ ([#2494](https://github.com/PrismJS/prism/issues/2494)) [`388ad996`](https://github.com/PrismJS/prism/commit/388ad996) +* __PureScript__ ([#2526](https://github.com/PrismJS/prism/issues/2526)) [`ad748a00`](https://github.com/PrismJS/prism/commit/ad748a00) +* __SML__ & __SML/NJ__ ([#2537](https://github.com/PrismJS/prism/issues/2537)) [`cb75d9e2`](https://github.com/PrismJS/prism/commit/cb75d9e2) +* __Stan__ ([#2490](https://github.com/PrismJS/prism/issues/2490)) [`2da2beba`](https://github.com/PrismJS/prism/commit/2da2beba) +* __TypoScript__ & __TSConfig__ ([#2505](https://github.com/PrismJS/prism/issues/2505)) [`bf115f47`](https://github.com/PrismJS/prism/commit/bf115f47) + +### Updated components + +* Removed duplicate alternatives in various languages ([#2524](https://github.com/PrismJS/prism/issues/2524)) [`fa2225ff`](https://github.com/PrismJS/prism/commit/fa2225ff) +* __Haskell__ + * Improvements ([#2535](https://github.com/PrismJS/prism/issues/2535)) [`e023044c`](https://github.com/PrismJS/prism/commit/e023044c) +* __JS Extras__ + * Highlight import and export bindings ([#2533](https://github.com/PrismJS/prism/issues/2533)) [`c51ababb`](https://github.com/PrismJS/prism/commit/c51ababb) + * Added control-flow keywords ([#2529](https://github.com/PrismJS/prism/issues/2529)) [`bcef22af`](https://github.com/PrismJS/prism/commit/bcef22af) +* __PHP__ + * Added `match` keyword (PHP 8.0) ([#2574](https://github.com/PrismJS/prism/issues/2574)) [`1761513e`](https://github.com/PrismJS/prism/commit/1761513e) +* __Processing__ + * Fixed function pattern ([#2564](https://github.com/PrismJS/prism/issues/2564)) [`35cbc02f`](https://github.com/PrismJS/prism/commit/35cbc02f) +* __Regex__ + * Changed how languages embed regexes ([#2532](https://github.com/PrismJS/prism/issues/2532)) [`f62ca787`](https://github.com/PrismJS/prism/commit/f62ca787) +* __Rust__ + * Fixed Unicode char literals ([#2550](https://github.com/PrismJS/prism/issues/2550)) [`3b4f14ca`](https://github.com/PrismJS/prism/commit/3b4f14ca) +* __Scheme__ + * Added support for R7RS syntax ([#2525](https://github.com/PrismJS/prism/issues/2525)) [`e4f6ccac`](https://github.com/PrismJS/prism/commit/e4f6ccac) +* __Shell session__ + * Added aliases ([#2548](https://github.com/PrismJS/prism/issues/2548)) [`bfb36748`](https://github.com/PrismJS/prism/commit/bfb36748) + * Highlight all commands after the start of any Heredoc string ([#2509](https://github.com/PrismJS/prism/issues/2509)) [`6c921801`](https://github.com/PrismJS/prism/commit/6c921801) +* __YAML__ + * Improved key pattern ([#2561](https://github.com/PrismJS/prism/issues/2561)) [`59853a52`](https://github.com/PrismJS/prism/commit/59853a52) + +### Updated plugins + +* __Autoloader__ + * Fixed file detection regexes ([#2549](https://github.com/PrismJS/prism/issues/2549)) [`d36ea993`](https://github.com/PrismJS/prism/commit/d36ea993) +* __Match braces__ + * Fixed JS interpolation punctuation ([#2541](https://github.com/PrismJS/prism/issues/2541)) [`6b47133d`](https://github.com/PrismJS/prism/commit/6b47133d) +* __Show Language__ + * Added title for plain text ([#2555](https://github.com/PrismJS/prism/issues/2555)) [`a409245e`](https://github.com/PrismJS/prism/commit/a409245e) + +### Other + +* Tests: Added an option to accept the actual token stream ([#2515](https://github.com/PrismJS/prism/issues/2515)) [`bafab634`](https://github.com/PrismJS/prism/commit/bafab634) +* __Core__ + * Docs: Minor improvement ([#2513](https://github.com/PrismJS/prism/issues/2513)) [`206dc80f`](https://github.com/PrismJS/prism/commit/206dc80f) +* __Infrastructure__ + * JSDoc: Fixed line ends ([#2523](https://github.com/PrismJS/prism/issues/2523)) [`bf169e5f`](https://github.com/PrismJS/prism/commit/bf169e5f) +* __Website__ + * Website: Added new SB101 tutorial replacing the Crambler one ([#2576](https://github.com/PrismJS/prism/issues/2576)) [`655f985c`](https://github.com/PrismJS/prism/commit/655f985c) + * Website: Fix typo on homepage by adding missing word add ([#2570](https://github.com/PrismJS/prism/issues/2570)) [`8ae6a4ba`](https://github.com/PrismJS/prism/commit/8ae6a4ba) + * Custom class: Improved doc ([#2512](https://github.com/PrismJS/prism/issues/2512)) [`5ad6cb23`](https://github.com/PrismJS/prism/commit/5ad6cb23) + +## 1.21.0 (2020-08-06) + +### New components + +* __.ignore__ & __.gitignore__ & __.hgignore__ & __.npmignore__ ([#2481](https://github.com/PrismJS/prism/issues/2481)) [`3fcce6fe`](https://github.com/PrismJS/prism/commit/3fcce6fe) +* __Agda__ ([#2430](https://github.com/PrismJS/prism/issues/2430)) [`3a127c7d`](https://github.com/PrismJS/prism/commit/3a127c7d) +* __AL__ ([#2300](https://github.com/PrismJS/prism/issues/2300)) [`de21eb64`](https://github.com/PrismJS/prism/commit/de21eb64) +* __Cypher__ ([#2459](https://github.com/PrismJS/prism/issues/2459)) [`398e2943`](https://github.com/PrismJS/prism/commit/398e2943) +* __Dhall__ ([#2473](https://github.com/PrismJS/prism/issues/2473)) [`649e51e5`](https://github.com/PrismJS/prism/commit/649e51e5) +* __EditorConfig__ ([#2471](https://github.com/PrismJS/prism/issues/2471)) [`ed8fff91`](https://github.com/PrismJS/prism/commit/ed8fff91) +* __HLSL__ ([#2318](https://github.com/PrismJS/prism/issues/2318)) [`87a5c7ae`](https://github.com/PrismJS/prism/commit/87a5c7ae) +* __JS stack trace__ ([#2418](https://github.com/PrismJS/prism/issues/2418)) [`ae0327b3`](https://github.com/PrismJS/prism/commit/ae0327b3) +* __PeopleCode__ ([#2302](https://github.com/PrismJS/prism/issues/2302)) [`bd4d8165`](https://github.com/PrismJS/prism/commit/bd4d8165) +* __PureBasic__ ([#2369](https://github.com/PrismJS/prism/issues/2369)) [`d0c1c70d`](https://github.com/PrismJS/prism/commit/d0c1c70d) +* __Racket__ ([#2315](https://github.com/PrismJS/prism/issues/2315)) [`053016ef`](https://github.com/PrismJS/prism/commit/053016ef) +* __Smali__ ([#2419](https://github.com/PrismJS/prism/issues/2419)) [`22eb5cad`](https://github.com/PrismJS/prism/commit/22eb5cad) +* __Structured Text (IEC 61131-3)__ ([#2311](https://github.com/PrismJS/prism/issues/2311)) [`8704cdfb`](https://github.com/PrismJS/prism/commit/8704cdfb) +* __UnrealScript__ ([#2305](https://github.com/PrismJS/prism/issues/2305)) [`1093ceb3`](https://github.com/PrismJS/prism/commit/1093ceb3) +* __WarpScript__ ([#2307](https://github.com/PrismJS/prism/issues/2307)) [`cde5b0fa`](https://github.com/PrismJS/prism/commit/cde5b0fa) +* __XML doc (.net)__ ([#2340](https://github.com/PrismJS/prism/issues/2340)) [`caec5e30`](https://github.com/PrismJS/prism/commit/caec5e30) +* __YANG__ ([#2467](https://github.com/PrismJS/prism/issues/2467)) [`ed1df1e1`](https://github.com/PrismJS/prism/commit/ed1df1e1) + +### Updated components + +* Markup & JSON: Added new aliases ([#2390](https://github.com/PrismJS/prism/issues/2390)) [`9782cfe6`](https://github.com/PrismJS/prism/commit/9782cfe6) +* Fixed several cases of exponential backtracking ([#2268](https://github.com/PrismJS/prism/issues/2268)) [`7a554b5f`](https://github.com/PrismJS/prism/commit/7a554b5f) +* __APL__ + * Added `⍥` ([#2409](https://github.com/PrismJS/prism/issues/2409)) [`0255cb6a`](https://github.com/PrismJS/prism/commit/0255cb6a) +* __AutoHotkey__ + * Added missing `format` built-in ([#2450](https://github.com/PrismJS/prism/issues/2450)) [`7c66cfc4`](https://github.com/PrismJS/prism/commit/7c66cfc4) + * Improved comments and other improvements ([#2412](https://github.com/PrismJS/prism/issues/2412)) [`ddf3cc62`](https://github.com/PrismJS/prism/commit/ddf3cc62) + * Added missing definitions ([#2400](https://github.com/PrismJS/prism/issues/2400)) [`4fe03676`](https://github.com/PrismJS/prism/commit/4fe03676) +* __Bash__ + * Added `composer` command ([#2298](https://github.com/PrismJS/prism/issues/2298)) [`044dd271`](https://github.com/PrismJS/prism/commit/044dd271) +* __Batch__ + * Fix escaped double quote ([#2485](https://github.com/PrismJS/prism/issues/2485)) [`f0f8210c`](https://github.com/PrismJS/prism/commit/f0f8210c) +* __C__ + * Improved macros and expressions ([#2440](https://github.com/PrismJS/prism/issues/2440)) [`8a72fa6f`](https://github.com/PrismJS/prism/commit/8a72fa6f) + * Improved macros ([#2320](https://github.com/PrismJS/prism/issues/2320)) [`fdcf7ed2`](https://github.com/PrismJS/prism/commit/fdcf7ed2) +* __C#__ + * Improved pattern matching ([#2411](https://github.com/PrismJS/prism/issues/2411)) [`7f341fc1`](https://github.com/PrismJS/prism/commit/7f341fc1) + * Fixed adjacent string interpolations ([#2402](https://github.com/PrismJS/prism/issues/2402)) [`2a2e79ed`](https://github.com/PrismJS/prism/commit/2a2e79ed) +* __C++__ + * Added support for default comparison operator ([#2426](https://github.com/PrismJS/prism/issues/2426)) [`8e9d161c`](https://github.com/PrismJS/prism/commit/8e9d161c) + * Improved class name detection ([#2348](https://github.com/PrismJS/prism/issues/2348)) [`e3fe9040`](https://github.com/PrismJS/prism/commit/e3fe9040) + * Fixed `enum class` class names ([#2342](https://github.com/PrismJS/prism/issues/2342)) [`30b4e254`](https://github.com/PrismJS/prism/commit/30b4e254) +* __Content-Security-Policy__ + * Fixed directives ([#2461](https://github.com/PrismJS/prism/issues/2461)) [`537a9e80`](https://github.com/PrismJS/prism/commit/537a9e80) +* __CSS__ + * Improved url and added keywords ([#2432](https://github.com/PrismJS/prism/issues/2432)) [`964de5a1`](https://github.com/PrismJS/prism/commit/964de5a1) +* __CSS Extras__ + * Optimized `class` and `id` patterns ([#2359](https://github.com/PrismJS/prism/issues/2359)) [`fdbc4473`](https://github.com/PrismJS/prism/commit/fdbc4473) + * Renamed `attr-{name,value}` tokens and added tokens for combinators and selector lists ([#2373](https://github.com/PrismJS/prism/issues/2373)) [`e523f5d0`](https://github.com/PrismJS/prism/commit/e523f5d0) +* __Dart__ + * Added missing keywords ([#2355](https://github.com/PrismJS/prism/issues/2355)) [`4172ab6f`](https://github.com/PrismJS/prism/commit/4172ab6f) +* __Diff__ + * Added `prefix` token ([#2281](https://github.com/PrismJS/prism/issues/2281)) [`fd432a5b`](https://github.com/PrismJS/prism/commit/fd432a5b) +* __Docker__ + * Fixed strings inside comments ([#2428](https://github.com/PrismJS/prism/issues/2428)) [`37273a6f`](https://github.com/PrismJS/prism/commit/37273a6f) +* __EditorConfig__ + * Trim spaces before key and section title ([#2482](https://github.com/PrismJS/prism/issues/2482)) [`0c30c582`](https://github.com/PrismJS/prism/commit/0c30c582) +* __EJS__ + * Added `eta` alias ([#2282](https://github.com/PrismJS/prism/issues/2282)) [`0cfb6c5f`](https://github.com/PrismJS/prism/commit/0cfb6c5f) +* __GLSL__ + * Improvements ([#2321](https://github.com/PrismJS/prism/issues/2321)) [`33e49956`](https://github.com/PrismJS/prism/commit/33e49956) +* __GraphQL__ + * Added missing keywords ([#2407](https://github.com/PrismJS/prism/issues/2407)) [`de8ed16d`](https://github.com/PrismJS/prism/commit/de8ed16d) + * Added support for multi-line strings and descriptions ([#2406](https://github.com/PrismJS/prism/issues/2406)) [`9e64c62e`](https://github.com/PrismJS/prism/commit/9e64c62e) +* __Io__ + * Fixed operator pattern ([#2365](https://github.com/PrismJS/prism/issues/2365)) [`d6055771`](https://github.com/PrismJS/prism/commit/d6055771) +* __Java__ + * Fixed `namespace` token ([#2295](https://github.com/PrismJS/prism/issues/2295)) [`62e184bb`](https://github.com/PrismJS/prism/commit/62e184bb) +* __JavaDoc__ + * Improvements ([#2324](https://github.com/PrismJS/prism/issues/2324)) [`032910ba`](https://github.com/PrismJS/prism/commit/032910ba) +* __JavaScript__ + * Improved regex detection ([#2465](https://github.com/PrismJS/prism/issues/2465)) [`4f55052f`](https://github.com/PrismJS/prism/commit/4f55052f) + * Improved `get`/`set` and parameter detection ([#2387](https://github.com/PrismJS/prism/issues/2387)) [`ed715158`](https://github.com/PrismJS/prism/commit/ed715158) + * Added support for logical assignment operators ([#2378](https://github.com/PrismJS/prism/issues/2378)) [`b28f21b7`](https://github.com/PrismJS/prism/commit/b28f21b7) +* __JSDoc__ + * Improvements ([#2466](https://github.com/PrismJS/prism/issues/2466)) [`2805ae35`](https://github.com/PrismJS/prism/commit/2805ae35) +* __JSON__ + * Greedy comments ([#2479](https://github.com/PrismJS/prism/issues/2479)) [`158caf52`](https://github.com/PrismJS/prism/commit/158caf52) +* __Julia__ + * Improved strings, comments, and other patterns ([#2363](https://github.com/PrismJS/prism/issues/2363)) [`81cf2344`](https://github.com/PrismJS/prism/commit/81cf2344) +* __Kotlin__ + * Added `kt` and `kts` aliases ([#2474](https://github.com/PrismJS/prism/issues/2474)) [`67f97e2e`](https://github.com/PrismJS/prism/commit/67f97e2e) +* __Markup__ + * Added tokens inside DOCTYPE ([#2349](https://github.com/PrismJS/prism/issues/2349)) [`9c7bc820`](https://github.com/PrismJS/prism/commit/9c7bc820) + * Added `attr-equals` alias for the attribute `=` sign ([#2350](https://github.com/PrismJS/prism/issues/2350)) [`96a0116e`](https://github.com/PrismJS/prism/commit/96a0116e) + * Added alias for named entities ([#2351](https://github.com/PrismJS/prism/issues/2351)) [`ab1e34ae`](https://github.com/PrismJS/prism/commit/ab1e34ae) + * Added support for SSML ([#2306](https://github.com/PrismJS/prism/issues/2306)) [`eb70070d`](https://github.com/PrismJS/prism/commit/eb70070d) +* __Objective-C__ + * Added `objc` alias ([#2331](https://github.com/PrismJS/prism/issues/2331)) [`67c6b7af`](https://github.com/PrismJS/prism/commit/67c6b7af) +* __PowerShell__ + * New functions pattern bases on naming conventions ([#2301](https://github.com/PrismJS/prism/issues/2301)) [`fec39bcf`](https://github.com/PrismJS/prism/commit/fec39bcf) +* __Protocol Buffers__ + * Added support for RPC syntax ([#2414](https://github.com/PrismJS/prism/issues/2414)) [`939a17c4`](https://github.com/PrismJS/prism/commit/939a17c4) +* __Pug__ + * Improved class and id detection in tags ([#2358](https://github.com/PrismJS/prism/issues/2358)) [`7f948ecb`](https://github.com/PrismJS/prism/commit/7f948ecb) +* __Python__ + * Fixed empty multiline strings ([#2344](https://github.com/PrismJS/prism/issues/2344)) [`c9324476`](https://github.com/PrismJS/prism/commit/c9324476) +* __Regex__ + * Added aliases and minor improvements ([#2325](https://github.com/PrismJS/prism/issues/2325)) [`8a72830a`](https://github.com/PrismJS/prism/commit/8a72830a) +* __Ren'py__ + * Added `rpy` alias ([#2385](https://github.com/PrismJS/prism/issues/2385)) [`4935b5ca`](https://github.com/PrismJS/prism/commit/4935b5ca) +* __Ruby__ + * Optimized `regex` and `string` patterns ([#2354](https://github.com/PrismJS/prism/issues/2354)) [`b526e8c0`](https://github.com/PrismJS/prism/commit/b526e8c0) +* __Rust__ + * Improvements ([#2464](https://github.com/PrismJS/prism/issues/2464)) [`2ff40fe0`](https://github.com/PrismJS/prism/commit/2ff40fe0) + * Improvements ([#2332](https://github.com/PrismJS/prism/issues/2332)) [`194c5429`](https://github.com/PrismJS/prism/commit/194c5429) +* __SAS__ + * Improved macro string functions ([#2463](https://github.com/PrismJS/prism/issues/2463)) [`278316ca`](https://github.com/PrismJS/prism/commit/278316ca) + * Handle edge case of string macro functions ([#2451](https://github.com/PrismJS/prism/issues/2451)) [`a0a9f1ef`](https://github.com/PrismJS/prism/commit/a0a9f1ef) + * Improved comments in `proc groovy` and `proc lua` ([#2392](https://github.com/PrismJS/prism/issues/2392)) [`475a5903`](https://github.com/PrismJS/prism/commit/475a5903) +* __Scheme__ + * Adjusted lookbehind for literals ([#2396](https://github.com/PrismJS/prism/issues/2396)) [`1e3f542b`](https://github.com/PrismJS/prism/commit/1e3f542b) + * Improved lambda parameter ([#2346](https://github.com/PrismJS/prism/issues/2346)) [`1946918a`](https://github.com/PrismJS/prism/commit/1946918a) + * Consistent lookaheads ([#2322](https://github.com/PrismJS/prism/issues/2322)) [`d2541d54`](https://github.com/PrismJS/prism/commit/d2541d54) + * Improved boolean ([#2316](https://github.com/PrismJS/prism/issues/2316)) [`e27e65af`](https://github.com/PrismJS/prism/commit/e27e65af) + * Added missing special keywords ([#2304](https://github.com/PrismJS/prism/issues/2304)) [`ac297ba5`](https://github.com/PrismJS/prism/commit/ac297ba5) + * Improvements ([#2263](https://github.com/PrismJS/prism/issues/2263)) [`9a49f78f`](https://github.com/PrismJS/prism/commit/9a49f78f) +* __Solidity (Ethereum)__ + * Added `sol` alias ([#2382](https://github.com/PrismJS/prism/issues/2382)) [`6352213a`](https://github.com/PrismJS/prism/commit/6352213a) +* __SQL__ + * Added PostgreSQL `RETURNING` keyword ([#2476](https://github.com/PrismJS/prism/issues/2476)) [`bea7a585`](https://github.com/PrismJS/prism/commit/bea7a585) +* __Stylus__ + * Fixed comments breaking declarations + minor improvements ([#2372](https://github.com/PrismJS/prism/issues/2372)) [`6d663b6e`](https://github.com/PrismJS/prism/commit/6d663b6e) + * New tokens and other improvements ([#2368](https://github.com/PrismJS/prism/issues/2368)) [`2c10ef8a`](https://github.com/PrismJS/prism/commit/2c10ef8a) + * Fixed comments breaking strings and URLs ([#2361](https://github.com/PrismJS/prism/issues/2361)) [`0d65d6c9`](https://github.com/PrismJS/prism/commit/0d65d6c9) +* __T4 Text Templates (VB)__ + * Use the correct VB variant ([#2341](https://github.com/PrismJS/prism/issues/2341)) [`b6093339`](https://github.com/PrismJS/prism/commit/b6093339) +* __TypeScript__ + * Added `asserts` keyword and other improvements ([#2280](https://github.com/PrismJS/prism/issues/2280)) [`a197cfcd`](https://github.com/PrismJS/prism/commit/a197cfcd) +* __Visual Basic__ + * Added VBA alias ([#2469](https://github.com/PrismJS/prism/issues/2469)) [`78161d60`](https://github.com/PrismJS/prism/commit/78161d60) + * Added `until` keyword ([#2423](https://github.com/PrismJS/prism/issues/2423)) [`a13ee8d9`](https://github.com/PrismJS/prism/commit/a13ee8d9) + * Added missing keywords ([#2376](https://github.com/PrismJS/prism/issues/2376)) [`ba5ac1da`](https://github.com/PrismJS/prism/commit/ba5ac1da) + +### Updated plugins + +* File Highlight & JSONP Highlight update ([#1974](https://github.com/PrismJS/prism/issues/1974)) [`afea17d9`](https://github.com/PrismJS/prism/commit/afea17d9) +* Added general de/activation mechanism for plugins ([#2434](https://github.com/PrismJS/prism/issues/2434)) [`a36e96ab`](https://github.com/PrismJS/prism/commit/a36e96ab) +* __Autoloader__ + * Fixed bug breaking Autoloader ([#2449](https://github.com/PrismJS/prism/issues/2449)) [`a3416bf3`](https://github.com/PrismJS/prism/commit/a3416bf3) + * Fixed `data-dependencies` and extensions ([#2326](https://github.com/PrismJS/prism/issues/2326)) [`1654b25f`](https://github.com/PrismJS/prism/commit/1654b25f) + * Improved path detection and other minor improvements ([#2245](https://github.com/PrismJS/prism/issues/2245)) [`5cdc3251`](https://github.com/PrismJS/prism/commit/5cdc3251) +* __Command Line__ + * Some refactoring ([#2290](https://github.com/PrismJS/prism/issues/2290)) [`8c9c2896`](https://github.com/PrismJS/prism/commit/8c9c2896) + * Correctly rehighlight elements ([#2291](https://github.com/PrismJS/prism/issues/2291)) [`e6b2c6fc`](https://github.com/PrismJS/prism/commit/e6b2c6fc) +* __Line Highlight__ + * Added linkable line numbers ([#2328](https://github.com/PrismJS/prism/issues/2328)) [`eb82e804`](https://github.com/PrismJS/prism/commit/eb82e804) +* __Line Numbers__ + * Improved resize performance ([#2125](https://github.com/PrismJS/prism/issues/2125)) [`b96ed225`](https://github.com/PrismJS/prism/commit/b96ed225) + * Fixed TypeError when `lineNumberWrapper` is null ([#2337](https://github.com/PrismJS/prism/issues/2337)) [`4b61661d`](https://github.com/PrismJS/prism/commit/4b61661d) + * Exposed `_resizeElement` function ([#2288](https://github.com/PrismJS/prism/issues/2288)) [`893f2a79`](https://github.com/PrismJS/prism/commit/893f2a79) +* __Previewers__ + * Fixed XSS ([#2506](https://github.com/PrismJS/prism/issues/2506)) [`8bba4880`](https://github.com/PrismJS/prism/commit/8bba4880) +* __Unescaped Markup__ + * No longer requires `Prism.languages.markup` ([#2444](https://github.com/PrismJS/prism/issues/2444)) [`af132dd3`](https://github.com/PrismJS/prism/commit/af132dd3) + +### Updated themes + +* __Coy__ + * Minor improvements ([#2176](https://github.com/PrismJS/prism/issues/2176)) [`7109c18c`](https://github.com/PrismJS/prism/commit/7109c18c) +* __Default__ + * Added a comment that declares the background color of `operator` tokens as intentional ([#2309](https://github.com/PrismJS/prism/issues/2309)) [`937e2691`](https://github.com/PrismJS/prism/commit/937e2691) +* __Okaidia__ + * Update comment text color to meet WCAG contrast recommendations to AA level ([#2292](https://github.com/PrismJS/prism/issues/2292)) [`06495f90`](https://github.com/PrismJS/prism/commit/06495f90) + +### Other + +* Changelog: Fixed v1.20.0 release date [`cb6349e2`](https://github.com/PrismJS/prism/commit/cb6349e2) +* __Core__ + * Fixed greedy matching bug ([#2032](https://github.com/PrismJS/prism/issues/2032)) [`40285203`](https://github.com/PrismJS/prism/commit/40285203) + * Added JSDoc ([#1782](https://github.com/PrismJS/prism/issues/1782)) [`4ff555be`](https://github.com/PrismJS/prism/commit/4ff555be) +* __Infrastructure__ + * Update Git repo URL in package.json ([#2334](https://github.com/PrismJS/prism/issues/2334)) [`10f43275`](https://github.com/PrismJS/prism/commit/10f43275) + * Added docs to ignore files ([#2437](https://github.com/PrismJS/prism/issues/2437)) [`05c9f20b`](https://github.com/PrismJS/prism/commit/05c9f20b) + * Added `npm run build` command ([#2356](https://github.com/PrismJS/prism/issues/2356)) [`ff74a610`](https://github.com/PrismJS/prism/commit/ff74a610) + * gulp: Improved `inlineRegexSource` ([#2296](https://github.com/PrismJS/prism/issues/2296)) [`abb800dd`](https://github.com/PrismJS/prism/commit/abb800dd) + * gulp: Fixed language map ([#2283](https://github.com/PrismJS/prism/issues/2283)) [`11053193`](https://github.com/PrismJS/prism/commit/11053193) + * gulp: Removed `premerge` task ([#2357](https://github.com/PrismJS/prism/issues/2357)) [`5ff7932b`](https://github.com/PrismJS/prism/commit/5ff7932b) + * Tests are now faster ([#2165](https://github.com/PrismJS/prism/issues/2165)) [`e756be3f`](https://github.com/PrismJS/prism/commit/e756be3f) + * Tests: Added extra newlines in pretty token streams ([#2070](https://github.com/PrismJS/prism/issues/2070)) [`681adeef`](https://github.com/PrismJS/prism/commit/681adeef) + * Tests: Added test for identifier support across all languages ([#2371](https://github.com/PrismJS/prism/issues/2371)) [`48fac3b2`](https://github.com/PrismJS/prism/commit/48fac3b2) + * Tests: Added test to sort the language list ([#2222](https://github.com/PrismJS/prism/issues/2222)) [`a3758728`](https://github.com/PrismJS/prism/commit/a3758728) + * Tests: Always pretty-print token streams ([#2421](https://github.com/PrismJS/prism/issues/2421)) [`583e7eb5`](https://github.com/PrismJS/prism/commit/583e7eb5) + * Tests: Always use `components.json` ([#2370](https://github.com/PrismJS/prism/issues/2370)) [`e416341f`](https://github.com/PrismJS/prism/commit/e416341f) + * Tests: Better error messages for pattern tests ([#2364](https://github.com/PrismJS/prism/issues/2364)) [`10ca6433`](https://github.com/PrismJS/prism/commit/10ca6433) + * Tests: Included `console` in VM context ([#2353](https://github.com/PrismJS/prism/issues/2353)) [`b4ed5ded`](https://github.com/PrismJS/prism/commit/b4ed5ded) +* __Website__ + * Fixed typos "Prims" ([#2455](https://github.com/PrismJS/prism/issues/2455)) [`dfa5498a`](https://github.com/PrismJS/prism/commit/dfa5498a) + * New assets directory for all web-only files ([#2180](https://github.com/PrismJS/prism/issues/2180)) [`91fdd0b1`](https://github.com/PrismJS/prism/commit/91fdd0b1) + * Improvements ([#2053](https://github.com/PrismJS/prism/issues/2053)) [`ce0fa227`](https://github.com/PrismJS/prism/commit/ce0fa227) + * Fixed Treeview page ([#2484](https://github.com/PrismJS/prism/issues/2484)) [`a0efa40b`](https://github.com/PrismJS/prism/commit/a0efa40b) + * Line Numbers: Fixed class name on website [`453079bf`](https://github.com/PrismJS/prism/commit/453079bf) + * Line Numbers: Improved documentation ([#2456](https://github.com/PrismJS/prism/issues/2456)) [`447429f0`](https://github.com/PrismJS/prism/commit/447429f0) + * Line Numbers: Style inline code on website ([#2435](https://github.com/PrismJS/prism/issues/2435)) [`ad9c13e2`](https://github.com/PrismJS/prism/commit/ad9c13e2) + * Filter highlightAll: Fixed typo ([#2391](https://github.com/PrismJS/prism/issues/2391)) [`55bf7ec1`](https://github.com/PrismJS/prism/commit/55bf7ec1) + +## 1.20.0 (2020-04-04) + +### New components + +* __Concurnas__ ([#2206](https://github.com/PrismJS/prism/issues/2206)) [`b24f7348`](https://github.com/PrismJS/prism/commit/b24f7348) +* __DAX__ ([#2248](https://github.com/PrismJS/prism/issues/2248)) [`9227853f`](https://github.com/PrismJS/prism/commit/9227853f) +* __Excel Formula__ ([#2219](https://github.com/PrismJS/prism/issues/2219)) [`bf4f7bfa`](https://github.com/PrismJS/prism/commit/bf4f7bfa) +* __Factor__ ([#2203](https://github.com/PrismJS/prism/issues/2203)) [`f941102e`](https://github.com/PrismJS/prism/commit/f941102e) +* __LLVM IR__ ([#2221](https://github.com/PrismJS/prism/issues/2221)) [`43efde2e`](https://github.com/PrismJS/prism/commit/43efde2e) +* __PowerQuery__ ([#2250](https://github.com/PrismJS/prism/issues/2250)) [`8119e57b`](https://github.com/PrismJS/prism/commit/8119e57b) +* __Solution file__ ([#2213](https://github.com/PrismJS/prism/issues/2213)) [`15983d52`](https://github.com/PrismJS/prism/commit/15983d52) + +### Updated components + +* __Bash__ + * Added support for escaped quotes ([#2256](https://github.com/PrismJS/prism/issues/2256)) [`328d0e0e`](https://github.com/PrismJS/prism/commit/328d0e0e) +* __BBcode__ + * Added "shortcode" alias ([#2273](https://github.com/PrismJS/prism/issues/2273)) [`57eebced`](https://github.com/PrismJS/prism/commit/57eebced) +* __C/C++/OpenCL C__ + * Improvements ([#2196](https://github.com/PrismJS/prism/issues/2196)) [`674f4b35`](https://github.com/PrismJS/prism/commit/674f4b35) +* __C__ + * Improvemed `comment` pattern ([#2229](https://github.com/PrismJS/prism/issues/2229)) [`fa630726`](https://github.com/PrismJS/prism/commit/fa630726) +* __C#__ + * Fixed keywords in type lists blocking type names ([#2277](https://github.com/PrismJS/prism/issues/2277)) [`947a55bd`](https://github.com/PrismJS/prism/commit/947a55bd) + * C# improvements ([#1444](https://github.com/PrismJS/prism/issues/1444)) [`42b15463`](https://github.com/PrismJS/prism/commit/42b15463) +* __C++__ + * Added C++20 keywords ([#2236](https://github.com/PrismJS/prism/issues/2236)) [`462ad57e`](https://github.com/PrismJS/prism/commit/462ad57e) +* __CSS__ + * Fixed `url()` containing "@" ([#2272](https://github.com/PrismJS/prism/issues/2272)) [`504a63ba`](https://github.com/PrismJS/prism/commit/504a63ba) +* __CSS Extras__ + * Added support for the selector function ([#2201](https://github.com/PrismJS/prism/issues/2201)) [`2e0eff76`](https://github.com/PrismJS/prism/commit/2e0eff76) +* __Elixir__ + * Added support for attributes names ending with `?` ([#2182](https://github.com/PrismJS/prism/issues/2182)) [`5450e24c`](https://github.com/PrismJS/prism/commit/5450e24c) +* __Java__ + * Added `record` keyword ([#2185](https://github.com/PrismJS/prism/issues/2185)) [`47910b5c`](https://github.com/PrismJS/prism/commit/47910b5c) +* __Markdown__ + * Added support for nested lists ([#2228](https://github.com/PrismJS/prism/issues/2228)) [`73c8a376`](https://github.com/PrismJS/prism/commit/73c8a376) +* __OpenCL__ + * Require C ([#2231](https://github.com/PrismJS/prism/issues/2231)) [`26626ded`](https://github.com/PrismJS/prism/commit/26626ded) +* __PHPDoc__ + * Fixed exponential backtracking ([#2198](https://github.com/PrismJS/prism/issues/2198)) [`3b42536e`](https://github.com/PrismJS/prism/commit/3b42536e) +* __Ruby__ + * Fixed exponential backtracking ([#2225](https://github.com/PrismJS/prism/issues/2225)) [`c5de5aa8`](https://github.com/PrismJS/prism/commit/c5de5aa8) +* __SAS__ + * Fixed SAS' "peerDependencies" ([#2230](https://github.com/PrismJS/prism/issues/2230)) [`7d8ff7ea`](https://github.com/PrismJS/prism/commit/7d8ff7ea) +* __Shell session__ + * Improvements ([#2208](https://github.com/PrismJS/prism/issues/2208)) [`bd16bd57`](https://github.com/PrismJS/prism/commit/bd16bd57) +* __Visual Basic__ + * Added support for comments with line continuations ([#2195](https://github.com/PrismJS/prism/issues/2195)) [`a7d67ca3`](https://github.com/PrismJS/prism/commit/a7d67ca3) +* __YAML__ + * Improvements ([#2226](https://github.com/PrismJS/prism/issues/2226)) [`5362ba16`](https://github.com/PrismJS/prism/commit/5362ba16) + * Fixed highlighting of anchors and aliases ([#2217](https://github.com/PrismJS/prism/issues/2217)) [`6124c974`](https://github.com/PrismJS/prism/commit/6124c974) + +### New plugins + +* __Treeview__ ([#2265](https://github.com/PrismJS/prism/issues/2265)) [`be909b18`](https://github.com/PrismJS/prism/commit/be909b18) + +### Updated plugins + +* __Inline Color__ + * Support for (semi-)transparent colors and minor improvements ([#2223](https://github.com/PrismJS/prism/issues/2223)) [`8d2c5a3e`](https://github.com/PrismJS/prism/commit/8d2c5a3e) +* __Keep Markup__ + * Remove self & document from IIFE arguments ([#2258](https://github.com/PrismJS/prism/issues/2258)) [`3c043338`](https://github.com/PrismJS/prism/commit/3c043338) +* __Toolbar__ + * `data-toolbar-order` is now inherited ([#2205](https://github.com/PrismJS/prism/issues/2205)) [`238f1163`](https://github.com/PrismJS/prism/commit/238f1163) + +### Other + +* Updated all `String.propotype.replace` calls for literal strings [`5d7aab56`](https://github.com/PrismJS/prism/commit/5d7aab56) +* __Core__ + * Linked list implementation for `matchGrammar` ([#1909](https://github.com/PrismJS/prism/issues/1909)) [`2d4c94cd`](https://github.com/PrismJS/prism/commit/2d4c94cd) + * Faster `Token.stringify` ([#2171](https://github.com/PrismJS/prism/issues/2171)) [`f683972e`](https://github.com/PrismJS/prism/commit/f683972e) + * Fixed scope problem in script mode ([#2184](https://github.com/PrismJS/prism/issues/2184)) [`984e5d2e`](https://github.com/PrismJS/prism/commit/984e5d2e) +* __Infrastructure__ + * Travis: Updated NodeJS versions ([#2246](https://github.com/PrismJS/prism/issues/2246)) [`e635260b`](https://github.com/PrismJS/prism/commit/e635260b) + * gulp: Inline regex source improvement ([#2227](https://github.com/PrismJS/prism/issues/2227)) [`67afc5ad`](https://github.com/PrismJS/prism/commit/67afc5ad) + * Tests: Added new pattern check for octal escapes ([#2189](https://github.com/PrismJS/prism/issues/2189)) [`81e1c3dd`](https://github.com/PrismJS/prism/commit/81e1c3dd) + * Tests: Fixed optional dependencies in pattern tests ([#2242](https://github.com/PrismJS/prism/issues/2242)) [`1e3070a2`](https://github.com/PrismJS/prism/commit/1e3070a2) + * Tests: Added test for zero-width lookbehinds ([#2220](https://github.com/PrismJS/prism/issues/2220)) [`7d03ece4`](https://github.com/PrismJS/prism/commit/7d03ece4) + * Added tests for examples ([#2216](https://github.com/PrismJS/prism/issues/2216)) [`1f7a245c`](https://github.com/PrismJS/prism/commit/1f7a245c) +* __Website__ + * Removed invalid strings from C# example ([#2266](https://github.com/PrismJS/prism/issues/2266)) [`c917a8ca`](https://github.com/PrismJS/prism/commit/c917a8ca) + * Fixed Diff highlight plugin page title ([#2233](https://github.com/PrismJS/prism/issues/2233)) [`a82770f8`](https://github.com/PrismJS/prism/commit/a82770f8) + * Added link to `prism-liquibase` Bash language extension. ([#2191](https://github.com/PrismJS/prism/issues/2191)) [`0bf73dc7`](https://github.com/PrismJS/prism/commit/0bf73dc7) + * Examples: Updated content header ([#2232](https://github.com/PrismJS/prism/issues/2232)) [`6232878b`](https://github.com/PrismJS/prism/commit/6232878b) + * Website: Added Coy bug to the known failures page. ([#2170](https://github.com/PrismJS/prism/issues/2170)) [`e9dab85e`](https://github.com/PrismJS/prism/commit/e9dab85e) + +## 1.19.0 (2020-01-13) + +### New components + +* __Latte__ ([#2140](https://github.com/PrismJS/prism/issues/2140)) [`694a81b8`](https://github.com/PrismJS/prism/commit/694a81b8) +* __Neon__ ([#2140](https://github.com/PrismJS/prism/issues/2140)) [`694a81b8`](https://github.com/PrismJS/prism/commit/694a81b8) +* __QML__ ([#2139](https://github.com/PrismJS/prism/issues/2139)) [`c40d96c6`](https://github.com/PrismJS/prism/commit/c40d96c6) + +### Updated components + +* __Handlebars__ + * Added support for `:` and improved the `variable` pattern ([#2172](https://github.com/PrismJS/prism/issues/2172)) [`ef4d29d9`](https://github.com/PrismJS/prism/commit/ef4d29d9) +* __JavaScript__ + * Added support for keywords after a spread operator ([#2148](https://github.com/PrismJS/prism/issues/2148)) [`1f3f8929`](https://github.com/PrismJS/prism/commit/1f3f8929) + * Better regex detection ([#2158](https://github.com/PrismJS/prism/issues/2158)) [`a23d8f84`](https://github.com/PrismJS/prism/commit/a23d8f84) +* __Markdown__ + * Better language detection for code blocks ([#2114](https://github.com/PrismJS/prism/issues/2114)) [`d7ad48f9`](https://github.com/PrismJS/prism/commit/d7ad48f9) +* __OCaml__ + * Improvements ([#2179](https://github.com/PrismJS/prism/issues/2179)) [`2a570fd4`](https://github.com/PrismJS/prism/commit/2a570fd4) +* __PHP__ + * Fixed exponential runtime of a pattern ([#2157](https://github.com/PrismJS/prism/issues/2157)) [`24c8f833`](https://github.com/PrismJS/prism/commit/24c8f833) +* __React JSX__ + * Improved spread operator in tag attributes ([#2159](https://github.com/PrismJS/prism/issues/2159)) [`fd857e7b`](https://github.com/PrismJS/prism/commit/fd857e7b) + * Made `$` a valid character for attribute names ([#2144](https://github.com/PrismJS/prism/issues/2144)) [`f018cf04`](https://github.com/PrismJS/prism/commit/f018cf04) +* __Reason__ + * Added support for single line comments ([#2150](https://github.com/PrismJS/prism/issues/2150)) [`7f1c55b7`](https://github.com/PrismJS/prism/commit/7f1c55b7) +* __Ruby__ + * Override 'class-name' definition ([#2135](https://github.com/PrismJS/prism/issues/2135)) [`401d4b02`](https://github.com/PrismJS/prism/commit/401d4b02) +* __SAS__ + * Added CASL support ([#2112](https://github.com/PrismJS/prism/issues/2112)) [`99d979a0`](https://github.com/PrismJS/prism/commit/99d979a0) + +### Updated plugins + +* __Custom Class__ + * Fixed TypeError when mapper is undefined ([#2167](https://github.com/PrismJS/prism/issues/2167)) [`543f04d7`](https://github.com/PrismJS/prism/commit/543f04d7) + +### Updated themes + +* Added missing `.token` selector ([#2161](https://github.com/PrismJS/prism/issues/2161)) [`86780457`](https://github.com/PrismJS/prism/commit/86780457) + +### Other + +* Added a check for redundant dependency declarations ([#2142](https://github.com/PrismJS/prism/issues/2142)) [`a06aca06`](https://github.com/PrismJS/prism/commit/a06aca06) +* Added a check for examples ([#2128](https://github.com/PrismJS/prism/issues/2128)) [`0b539136`](https://github.com/PrismJS/prism/commit/0b539136) +* Added silent option to `loadLanguages` ([#2147](https://github.com/PrismJS/prism/issues/2147)) [`191b4116`](https://github.com/PrismJS/prism/commit/191b4116) +* __Infrastructure__ + * Dependencies: Improved `getLoader` ([#2151](https://github.com/PrismJS/prism/issues/2151)) [`199bdcae`](https://github.com/PrismJS/prism/commit/199bdcae) + * Updated gulp to v4.0.2 ([#2178](https://github.com/PrismJS/prism/issues/2178)) [`e5678a00`](https://github.com/PrismJS/prism/commit/e5678a00) +* __Website__ + * Custom Class: Fixed examples ([#2160](https://github.com/PrismJS/prism/issues/2160)) [`0c2fe405`](https://github.com/PrismJS/prism/commit/0c2fe405) + * Added documentation for new dependency API ([#2141](https://github.com/PrismJS/prism/issues/2141)) [`59068d67`](https://github.com/PrismJS/prism/commit/59068d67) + +## 1.18.0 (2020-01-04) + +### New components + +* __ANTLR4__ ([#2063](https://github.com/PrismJS/prism/issues/2063)) [`aaaa29a8`](https://github.com/PrismJS/prism/commit/aaaa29a8) +* __AQL__ ([#2025](https://github.com/PrismJS/prism/issues/2025)) [`3fdb7d55`](https://github.com/PrismJS/prism/commit/3fdb7d55) +* __BBcode__ ([#2095](https://github.com/PrismJS/prism/issues/2095)) [`aaf13aa6`](https://github.com/PrismJS/prism/commit/aaf13aa6) +* __BrightScript__ ([#2096](https://github.com/PrismJS/prism/issues/2096)) [`631f1e34`](https://github.com/PrismJS/prism/commit/631f1e34) +* __Embedded Lua templating__ ([#2050](https://github.com/PrismJS/prism/issues/2050)) [`0b771c90`](https://github.com/PrismJS/prism/commit/0b771c90) +* __Firestore security rules__ ([#2010](https://github.com/PrismJS/prism/issues/2010)) [`9f722586`](https://github.com/PrismJS/prism/commit/9f722586) +* __FreeMarker Template Language__ ([#2080](https://github.com/PrismJS/prism/issues/2080)) [`2f3da7e8`](https://github.com/PrismJS/prism/commit/2f3da7e8) +* __GDScript__ ([#2006](https://github.com/PrismJS/prism/issues/2006)) [`e2b99f40`](https://github.com/PrismJS/prism/commit/e2b99f40) +* __MoonScript__ ([#2100](https://github.com/PrismJS/prism/issues/2100)) [`f31946b3`](https://github.com/PrismJS/prism/commit/f31946b3) +* __Robot Framework__ (only the plain text format) ([#2034](https://github.com/PrismJS/prism/issues/2034)) [`f7eaa618`](https://github.com/PrismJS/prism/commit/f7eaa618) +* __Solidity (Ethereum)__ ([#2031](https://github.com/PrismJS/prism/issues/2031)) [`cc2cf3f7`](https://github.com/PrismJS/prism/commit/cc2cf3f7) +* __SPARQL__ ([#2033](https://github.com/PrismJS/prism/issues/2033)) [`c42f877d`](https://github.com/PrismJS/prism/commit/c42f877d) +* __SQF: Status Quo Function (Arma 3)__ ([#2079](https://github.com/PrismJS/prism/issues/2079)) [`cfac94ec`](https://github.com/PrismJS/prism/commit/cfac94ec) +* __Turtle__ & __TriG__ ([#2012](https://github.com/PrismJS/prism/issues/2012)) [`508d57ac`](https://github.com/PrismJS/prism/commit/508d57ac) +* __Zig__ ([#2019](https://github.com/PrismJS/prism/issues/2019)) [`a7cf56b7`](https://github.com/PrismJS/prism/commit/a7cf56b7) + +### Updated components + +* Minor improvements for C-like and Clojure ([#2064](https://github.com/PrismJS/prism/issues/2064)) [`7db0cab3`](https://github.com/PrismJS/prism/commit/7db0cab3) +* Inlined some unnecessary rest properties ([#2082](https://github.com/PrismJS/prism/issues/2082)) [`ad3fa443`](https://github.com/PrismJS/prism/commit/ad3fa443) +* __AQL__ + * Disallow unclosed multiline comments again ([#2089](https://github.com/PrismJS/prism/issues/2089)) [`717ace02`](https://github.com/PrismJS/prism/commit/717ace02) + * Allow unclosed multi-line comments ([#2058](https://github.com/PrismJS/prism/issues/2058)) [`f3c6ba59`](https://github.com/PrismJS/prism/commit/f3c6ba59) + * More pseudo keywords ([#2055](https://github.com/PrismJS/prism/issues/2055)) [`899574eb`](https://github.com/PrismJS/prism/commit/899574eb) + * Added missing keyword + minor improvements ([#2047](https://github.com/PrismJS/prism/issues/2047)) [`32a4c422`](https://github.com/PrismJS/prism/commit/32a4c422) +* __Clojure__ + * Added multiline strings (lisp style) ([#2061](https://github.com/PrismJS/prism/issues/2061)) [`8ea685b8`](https://github.com/PrismJS/prism/commit/8ea685b8) +* __CSS Extras__ + * CSS Extras & PHP: Fixed too greedy number token ([#2009](https://github.com/PrismJS/prism/issues/2009)) [`ebe363f4`](https://github.com/PrismJS/prism/commit/ebe363f4) +* __D__ + * Fixed strings ([#2029](https://github.com/PrismJS/prism/issues/2029)) [`010a0157`](https://github.com/PrismJS/prism/commit/010a0157) +* __Groovy__ + * Minor improvements ([#2036](https://github.com/PrismJS/prism/issues/2036)) [`fb618331`](https://github.com/PrismJS/prism/commit/fb618331) +* __Java__ + * Added missing `::` operator ([#2101](https://github.com/PrismJS/prism/issues/2101)) [`ee7fdbee`](https://github.com/PrismJS/prism/commit/ee7fdbee) + * Added support for new Java 13 syntax ([#2060](https://github.com/PrismJS/prism/issues/2060)) [`a7b95dd3`](https://github.com/PrismJS/prism/commit/a7b95dd3) +* __JavaScript__ + * Added Optional Chaining and Nullish Coalescing ([#2084](https://github.com/PrismJS/prism/issues/2084)) [`fdb7de0d`](https://github.com/PrismJS/prism/commit/fdb7de0d) + * Tokenize `:` as an operator ([#2073](https://github.com/PrismJS/prism/issues/2073)) [`0e5c48d1`](https://github.com/PrismJS/prism/commit/0e5c48d1) +* __Less__ + * Fixed exponential backtracking ([#2016](https://github.com/PrismJS/prism/issues/2016)) [`d03d19b4`](https://github.com/PrismJS/prism/commit/d03d19b4) +* __Markup__ + * Improved doctype pattern ([#2094](https://github.com/PrismJS/prism/issues/2094)) [`99994c58`](https://github.com/PrismJS/prism/commit/99994c58) +* __Python__ + * Fixed decorators ([#2018](https://github.com/PrismJS/prism/issues/2018)) [`5b8a16d9`](https://github.com/PrismJS/prism/commit/5b8a16d9) +* __Robot Framework__ + * Rename "robot-framework" to "robotframework" ([#2113](https://github.com/PrismJS/prism/issues/2113)) [`baa78774`](https://github.com/PrismJS/prism/commit/baa78774) +* __Ruby__ + * Made `true` and `false` booleans ([#2098](https://github.com/PrismJS/prism/issues/2098)) [`68d1c472`](https://github.com/PrismJS/prism/commit/68d1c472) + * Added missing keywords ([#2097](https://github.com/PrismJS/prism/issues/2097)) [`f460eafc`](https://github.com/PrismJS/prism/commit/f460eafc) +* __SAS__ + * Added support for embedded Groovy and Lua code ([#2091](https://github.com/PrismJS/prism/issues/2091)) [`3640b3f2`](https://github.com/PrismJS/prism/commit/3640b3f2) + * Minor improvements ([#2085](https://github.com/PrismJS/prism/issues/2085)) [`07020c7a`](https://github.com/PrismJS/prism/commit/07020c7a) + * Fixed `proc-args` token by removing backreferences from string pattern ([#2013](https://github.com/PrismJS/prism/issues/2013)) [`af5a36ae`](https://github.com/PrismJS/prism/commit/af5a36ae) + * Major improvements ([#1981](https://github.com/PrismJS/prism/issues/1981)) [`076f6155`](https://github.com/PrismJS/prism/commit/076f6155) +* __Smalltalk__ + * Fixed single quote character literal ([#2041](https://github.com/PrismJS/prism/issues/2041)) [`1aabcd17`](https://github.com/PrismJS/prism/commit/1aabcd17) +* __Turtle__ + * Minor improvements ([#2038](https://github.com/PrismJS/prism/issues/2038)) [`8ccd258b`](https://github.com/PrismJS/prism/commit/8ccd258b) +* __TypeScript__ + * Added missing keyword `undefined` ([#2088](https://github.com/PrismJS/prism/issues/2088)) [`c8b48b9f`](https://github.com/PrismJS/prism/commit/c8b48b9f) + +### Updated plugins + +* New Match Braces plugin ([#1944](https://github.com/PrismJS/prism/issues/1944)) [`365faade`](https://github.com/PrismJS/prism/commit/365faade) +* New Inline color plugin ([#2007](https://github.com/PrismJS/prism/issues/2007)) [`8403e453`](https://github.com/PrismJS/prism/commit/8403e453) +* New Filter highlightAll plugin ([#2074](https://github.com/PrismJS/prism/issues/2074)) [`a7f70090`](https://github.com/PrismJS/prism/commit/a7f70090) +* __Custom Class__ + * New class adder feature ([#2075](https://github.com/PrismJS/prism/issues/2075)) [`dab7998e`](https://github.com/PrismJS/prism/commit/dab7998e) +* __File Highlight__ + * Made the download button its own plugin ([#1840](https://github.com/PrismJS/prism/issues/1840)) [`c6c62a69`](https://github.com/PrismJS/prism/commit/c6c62a69) + +### Other + +* Issue template improvements ([#2069](https://github.com/PrismJS/prism/issues/2069)) [`53f07b1b`](https://github.com/PrismJS/prism/commit/53f07b1b) +* Readme: Links now use HTTPS if available ([#2045](https://github.com/PrismJS/prism/issues/2045)) [`6cd0738a`](https://github.com/PrismJS/prism/commit/6cd0738a) +* __Core__ + * Fixed null reference ([#2106](https://github.com/PrismJS/prism/issues/2106)) [`0fd062d5`](https://github.com/PrismJS/prism/commit/0fd062d5) + * Fixed race condition caused by deferring the script ([#2103](https://github.com/PrismJS/prism/issues/2103)) [`a3785ec9`](https://github.com/PrismJS/prism/commit/a3785ec9) + * Minor improvements ([#1973](https://github.com/PrismJS/prism/issues/1973)) [`2d858e0a`](https://github.com/PrismJS/prism/commit/2d858e0a) + * Fixed greedy partial lookbehinds not working ([#2030](https://github.com/PrismJS/prism/issues/2030)) [`174ed103`](https://github.com/PrismJS/prism/commit/174ed103) + * Fixed greedy targeting bug ([#1932](https://github.com/PrismJS/prism/issues/1932)) [`e864d518`](https://github.com/PrismJS/prism/commit/e864d518) + * Doubly check the `manual` flag ([#1957](https://github.com/PrismJS/prism/issues/1957)) [`d49f0f26`](https://github.com/PrismJS/prism/commit/d49f0f26) + * IE11 workaround for `currentScript` ([#2104](https://github.com/PrismJS/prism/issues/2104)) [`2108c60f`](https://github.com/PrismJS/prism/commit/2108c60f) +* __Infrastructure__ + * gulp: Fixed changes task [`2f495905`](https://github.com/PrismJS/prism/commit/2f495905) + * npm: Added `.github` folder to npm ignore ([#2052](https://github.com/PrismJS/prism/issues/2052)) [`1af89e06`](https://github.com/PrismJS/prism/commit/1af89e06) + * npm: Updated dependencies to fix 122 vulnerabilities ([#1997](https://github.com/PrismJS/prism/issues/1997)) [`3af5d744`](https://github.com/PrismJS/prism/commit/3af5d744) + * Tests: New test for unused capturing groups ([#1996](https://github.com/PrismJS/prism/issues/1996)) [`c187e229`](https://github.com/PrismJS/prism/commit/c187e229) + * Tests: Simplified error message format ([#2056](https://github.com/PrismJS/prism/issues/2056)) [`007c9af4`](https://github.com/PrismJS/prism/commit/007c9af4) + * Tests: New test for nice names ([#1911](https://github.com/PrismJS/prism/issues/1911)) [`3fda5c95`](https://github.com/PrismJS/prism/commit/3fda5c95) + * Standardized dependency logic implementation ([#1998](https://github.com/PrismJS/prism/issues/1998)) [`7a4a0c7c`](https://github.com/PrismJS/prism/commit/7a4a0c7c) +* __Website__ + * Added @mAAdhaTTah and @RunDevelopment to credits and footer [`5d07aa7c`](https://github.com/PrismJS/prism/commit/5d07aa7c) + * Added plugin descriptions to plugin list ([#2076](https://github.com/PrismJS/prism/issues/2076)) [`cdfa60ac`](https://github.com/PrismJS/prism/commit/cdfa60ac) + * Use HTTPS link to alistapart.com ([#2044](https://github.com/PrismJS/prism/issues/2044)) [`8bcc1b85`](https://github.com/PrismJS/prism/commit/8bcc1b85) + * Fixed the Toolbar plugin's overflow issue ([#1966](https://github.com/PrismJS/prism/issues/1966)) [`56a8711c`](https://github.com/PrismJS/prism/commit/56a8711c) + * FAQ update ([#1977](https://github.com/PrismJS/prism/issues/1977)) [`8a572af5`](https://github.com/PrismJS/prism/commit/8a572af5) + * Use modern JavaScript in the NodeJS usage section ([#1942](https://github.com/PrismJS/prism/issues/1942)) [`5c68a556`](https://github.com/PrismJS/prism/commit/5c68a556) + * Improved test page performance for Chromium ([#2020](https://github.com/PrismJS/prism/issues/2020)) [`3509f3e5`](https://github.com/PrismJS/prism/commit/3509f3e5) + * Fixed alias example in extending page ([#2011](https://github.com/PrismJS/prism/issues/2011)) [`7cb65eec`](https://github.com/PrismJS/prism/commit/7cb65eec) + * Robot Framework: Renamed example file ([#2126](https://github.com/PrismJS/prism/issues/2126)) [`9908ca69`](https://github.com/PrismJS/prism/commit/9908ca69) + +## 1.17.1 (2019-07-21) + +### Other + +* __Infrastructure__ + * Add .DS_Store to npmignore [`c2229ec2`](https://github.com/PrismJS/prism/commit/c2229ec2) + +## 1.17.0 (2019-07-21) + +### New components + +* __DNS zone file__ ([#1961](https://github.com/PrismJS/prism/issues/1961)) [`bb84f98c`](https://github.com/PrismJS/prism/commit/bb84f98c) +* __JQ__ ([#1896](https://github.com/PrismJS/prism/issues/1896)) [`73d964be`](https://github.com/PrismJS/prism/commit/73d964be) +* __JS Templates__: Syntax highlighting inside tagged template literals ([#1931](https://github.com/PrismJS/prism/issues/1931)) [`c8844286`](https://github.com/PrismJS/prism/commit/c8844286) +* __LilyPond__ ([#1967](https://github.com/PrismJS/prism/issues/1967)) [`5d992fc5`](https://github.com/PrismJS/prism/commit/5d992fc5) +* __PascaLIGO__ ([#1947](https://github.com/PrismJS/prism/issues/1947)) [`858201c7`](https://github.com/PrismJS/prism/commit/858201c7) +* __PC-Axis__ ([#1940](https://github.com/PrismJS/prism/issues/1940)) [`473f7fbd`](https://github.com/PrismJS/prism/commit/473f7fbd) +* __Shell session__ ([#1892](https://github.com/PrismJS/prism/issues/1892)) [`96044979`](https://github.com/PrismJS/prism/commit/96044979) +* __Splunk SPL__ ([#1962](https://github.com/PrismJS/prism/issues/1962)) [`c93c066b`](https://github.com/PrismJS/prism/commit/c93c066b) + +### New plugins + +* __Diff Highlight__: Syntax highlighting inside diff blocks ([#1889](https://github.com/PrismJS/prism/issues/1889)) [`e7702ae1`](https://github.com/PrismJS/prism/commit/e7702ae1) + +### Updated components + +* __Bash__ + * Major improvements ([#1443](https://github.com/PrismJS/prism/issues/1443)) [`363281b3`](https://github.com/PrismJS/prism/commit/363281b3) +* __C#__ + * Added `cs` alias ([#1899](https://github.com/PrismJS/prism/issues/1899)) [`a8164559`](https://github.com/PrismJS/prism/commit/a8164559) +* __C++__ + * Fixed number pattern ([#1887](https://github.com/PrismJS/prism/issues/1887)) [`3de29e72`](https://github.com/PrismJS/prism/commit/3de29e72) +* __CSS__ + * Extended `url` inside ([#1874](https://github.com/PrismJS/prism/issues/1874)) [`f0a10669`](https://github.com/PrismJS/prism/commit/f0a10669) + * Removed unnecessary flag and modifier ([#1875](https://github.com/PrismJS/prism/issues/1875)) [`74050c68`](https://github.com/PrismJS/prism/commit/74050c68) +* __CSS Extras__ + * Added `even` & `odd` keywords to `n-th` pattern ([#1872](https://github.com/PrismJS/prism/issues/1872)) [`5e5a3e00`](https://github.com/PrismJS/prism/commit/5e5a3e00) +* __F#__ + * Improved character literals ([#1956](https://github.com/PrismJS/prism/issues/1956)) [`d58d2aeb`](https://github.com/PrismJS/prism/commit/d58d2aeb) +* __JavaScript__ + * Fixed escaped template interpolation ([#1931](https://github.com/PrismJS/prism/issues/1931)) [`c8844286`](https://github.com/PrismJS/prism/commit/c8844286) + * Added support for private fields ([#1950](https://github.com/PrismJS/prism/issues/1950)) [`7bd08327`](https://github.com/PrismJS/prism/commit/7bd08327) + * Added support for numeric separators ([#1895](https://github.com/PrismJS/prism/issues/1895)) [`6068bf18`](https://github.com/PrismJS/prism/commit/6068bf18) + * Increased bracket count of interpolation expressions in template strings ([#1845](https://github.com/PrismJS/prism/issues/1845)) [`c13d6e7d`](https://github.com/PrismJS/prism/commit/c13d6e7d) + * Added support for the `s` regex flag ([#1846](https://github.com/PrismJS/prism/issues/1846)) [`9e164935`](https://github.com/PrismJS/prism/commit/9e164935) + * Formatting: Added missing semicolon ([#1856](https://github.com/PrismJS/prism/issues/1856)) [`e2683959`](https://github.com/PrismJS/prism/commit/e2683959) +* __JSON__ + * Kinda fixed comment issue ([#1853](https://github.com/PrismJS/prism/issues/1853)) [`cbe05ec3`](https://github.com/PrismJS/prism/commit/cbe05ec3) +* __Julia__ + * Added `struct` keyword ([#1941](https://github.com/PrismJS/prism/issues/1941)) [`feb1b6f5`](https://github.com/PrismJS/prism/commit/feb1b6f5) + * Highlight `Inf` and `NaN` as constants ([#1921](https://github.com/PrismJS/prism/issues/1921)) [`2141129f`](https://github.com/PrismJS/prism/commit/2141129f) + * Added `in` keyword ([#1918](https://github.com/PrismJS/prism/issues/1918)) [`feb3187f`](https://github.com/PrismJS/prism/commit/feb3187f) +* __LaTeX__ + * Added TeX and ConTeXt alias ([#1915](https://github.com/PrismJS/prism/issues/1915)) [`5ad58a75`](https://github.com/PrismJS/prism/commit/5ad58a75) + * Added support for $$ equations [`6f53f749`](https://github.com/PrismJS/prism/commit/6f53f749) +* __Markdown__ + * Markdown: Added support for auto-loading code block languages ([#1898](https://github.com/PrismJS/prism/issues/1898)) [`05823e88`](https://github.com/PrismJS/prism/commit/05823e88) + * Improved URLs ([#1955](https://github.com/PrismJS/prism/issues/1955)) [`b9ec6fd8`](https://github.com/PrismJS/prism/commit/b9ec6fd8) + * Added support for nested bold and italic expressions ([#1897](https://github.com/PrismJS/prism/issues/1897)) [`11903721`](https://github.com/PrismJS/prism/commit/11903721) + * Added support for tables ([#1848](https://github.com/PrismJS/prism/issues/1848)) [`cedb8e84`](https://github.com/PrismJS/prism/commit/cedb8e84) +* __Perl__ + * Added `return` keyword ([#1943](https://github.com/PrismJS/prism/issues/1943)) [`2f39de97`](https://github.com/PrismJS/prism/commit/2f39de97) +* __Protocol Buffers__ + * Full support for PB2 and PB3 syntax + numerous other improvements ([#1948](https://github.com/PrismJS/prism/issues/1948)) [`de10bd1d`](https://github.com/PrismJS/prism/commit/de10bd1d) +* __reST (reStructuredText)__ + * Fixed exponentially backtracking pattern ([#1986](https://github.com/PrismJS/prism/issues/1986)) [`8b5d67a3`](https://github.com/PrismJS/prism/commit/8b5d67a3) +* __Rust__ + * Added `async` and `await` keywords. ([#1882](https://github.com/PrismJS/prism/issues/1882)) [`4faa3314`](https://github.com/PrismJS/prism/commit/4faa3314) + * Improved punctuation and operators ([#1839](https://github.com/PrismJS/prism/issues/1839)) [`a42b1557`](https://github.com/PrismJS/prism/commit/a42b1557) +* __Sass (Scss)__ + * Fixed exponential url pattern ([#1938](https://github.com/PrismJS/prism/issues/1938)) [`4b6b6e8b`](https://github.com/PrismJS/prism/commit/4b6b6e8b) +* __Scheme__ + * Added support for rational number literals ([#1964](https://github.com/PrismJS/prism/issues/1964)) [`e8811d22`](https://github.com/PrismJS/prism/commit/e8811d22) +* __TOML__ + * Minor improvements ([#1917](https://github.com/PrismJS/prism/issues/1917)) [`3e181241`](https://github.com/PrismJS/prism/commit/3e181241) +* __Visual Basic__ + * Added support for interpolation strings ([#1971](https://github.com/PrismJS/prism/issues/1971)) [`4a2c90c1`](https://github.com/PrismJS/prism/commit/4a2c90c1) + +### Updated plugins + +* __Autolinker__ + * Improved component path guessing ([#1928](https://github.com/PrismJS/prism/issues/1928)) [`452d5c7d`](https://github.com/PrismJS/prism/commit/452d5c7d) + * Improved URL regex ([#1842](https://github.com/PrismJS/prism/issues/1842)) [`eb28b62b`](https://github.com/PrismJS/prism/commit/eb28b62b) +* __Autoloader__ + * Fixed and improved callbacks ([#1935](https://github.com/PrismJS/prism/issues/1935)) [`b19f512f`](https://github.com/PrismJS/prism/commit/b19f512f) +* __Command Line__ + * Fix for uncaught errors for empty 'commandLine' object. ([#1862](https://github.com/PrismJS/prism/issues/1862)) [`c24831b5`](https://github.com/PrismJS/prism/commit/c24831b5) +* __Copy to Clipboard Button__ + * Switch anchor to button ([#1926](https://github.com/PrismJS/prism/issues/1926)) [`79880197`](https://github.com/PrismJS/prism/commit/79880197) +* __Custom Class__ + * Added mapper functions for language specific transformations ([#1873](https://github.com/PrismJS/prism/issues/1873)) [`acceb3b5`](https://github.com/PrismJS/prism/commit/acceb3b5) +* __Line Highlight__ + * Batching DOM read/writes to avoid reflows ([#1865](https://github.com/PrismJS/prism/issues/1865)) [`632ce00c`](https://github.com/PrismJS/prism/commit/632ce00c) +* __Toolbar__ + * Added `className` option for toolbar items ([#1951](https://github.com/PrismJS/prism/issues/1951)) [`5ab28bbe`](https://github.com/PrismJS/prism/commit/5ab28bbe) + * Set opacity to 1 when focus is within ([#1927](https://github.com/PrismJS/prism/issues/1927)) [`0b1662dd`](https://github.com/PrismJS/prism/commit/0b1662dd) + +### Updated themes + +* __Funky__ + * Fixed typo ([#1960](https://github.com/PrismJS/prism/issues/1960)) [`7d056591`](https://github.com/PrismJS/prism/commit/7d056591) + +### Other + +* README: Added npm downloads badge ([#1934](https://github.com/PrismJS/prism/issues/1934)) [`d673d701`](https://github.com/PrismJS/prism/commit/d673d701) +* README: Minor changes ([#1857](https://github.com/PrismJS/prism/issues/1857)) [`77e403cb`](https://github.com/PrismJS/prism/commit/77e403cb) +* Clearer description for the highlighting bug report template ([#1850](https://github.com/PrismJS/prism/issues/1850)) [`2f9c9261`](https://github.com/PrismJS/prism/commit/2f9c9261) +* More language examples ([#1917](https://github.com/PrismJS/prism/issues/1917)) [`3e181241`](https://github.com/PrismJS/prism/commit/3e181241) +* __Core__ + * Removed `env.elements` from `before-highlightall` hook ([#1968](https://github.com/PrismJS/prism/issues/1968)) [`9d9e2ca4`](https://github.com/PrismJS/prism/commit/9d9e2ca4) + * Made `language-none` the default language ([#1858](https://github.com/PrismJS/prism/issues/1858)) [`fd691c52`](https://github.com/PrismJS/prism/commit/fd691c52) + * Removed `parent` from the `wrap` hook's environment ([#1837](https://github.com/PrismJS/prism/issues/1837)) [`65a4e894`](https://github.com/PrismJS/prism/commit/65a4e894) +* __Infrastructure__ + * gulp: Split `gulpfile.js` and expanded `changes` task ([#1835](https://github.com/PrismJS/prism/issues/1835)) [`033c5ad8`](https://github.com/PrismJS/prism/commit/033c5ad8) + * gulp: JSON formatting for partly generated files ([#1933](https://github.com/PrismJS/prism/issues/1933)) [`d4373f3a`](https://github.com/PrismJS/prism/commit/d4373f3a) + * gulp: Use `async` functions & drop testing on Node v6 ([#1783](https://github.com/PrismJS/prism/issues/1783)) [`0dd44d53`](https://github.com/PrismJS/prism/commit/0dd44d53) + * Tests: `lookbehind` test for patterns ([#1890](https://github.com/PrismJS/prism/issues/1890)) [`3ba786cd`](https://github.com/PrismJS/prism/commit/3ba786cd) + * Tests: Added test for empty regexes ([#1847](https://github.com/PrismJS/prism/issues/1847)) [`c1e6a7fd`](https://github.com/PrismJS/prism/commit/c1e6a7fd) +* __Website__ + * Added tutorial for using PrismJS with React ([#1979](https://github.com/PrismJS/prism/issues/1979)) [`f1e16c7b`](https://github.com/PrismJS/prism/commit/f1e16c7b) + * Update footer's GitHub repository URL and capitalisation of "GitHub" ([#1983](https://github.com/PrismJS/prism/issues/1983)) [`bab744a6`](https://github.com/PrismJS/prism/commit/bab744a6) + * Added known failures page ([#1876](https://github.com/PrismJS/prism/issues/1876)) [`36a5fa0e`](https://github.com/PrismJS/prism/commit/36a5fa0e) + * Added basic usage for CDNs ([#1924](https://github.com/PrismJS/prism/issues/1924)) [`922ec555`](https://github.com/PrismJS/prism/commit/922ec555) + * New tutorial for Drupal ([#1859](https://github.com/PrismJS/prism/issues/1859)) [`d2089d83`](https://github.com/PrismJS/prism/commit/d2089d83) + * Updated website page styles to not interfere with themes ([#1952](https://github.com/PrismJS/prism/issues/1952)) [`b6543853`](https://github.com/PrismJS/prism/commit/b6543853) + * Download page: Improved performance for Chromium-based browsers ([#1907](https://github.com/PrismJS/prism/issues/1907)) [`11f18e36`](https://github.com/PrismJS/prism/commit/11f18e36) + * Download page: Fixed Edge's word wrap ([#1920](https://github.com/PrismJS/prism/issues/1920)) [`5d191b92`](https://github.com/PrismJS/prism/commit/5d191b92) + * Examples page: Minor improvements ([#1919](https://github.com/PrismJS/prism/issues/1919)) [`a16d4a25`](https://github.com/PrismJS/prism/commit/a16d4a25) + * Extending page: Fixed typo + new alias section ([#1949](https://github.com/PrismJS/prism/issues/1949)) [`24c8e717`](https://github.com/PrismJS/prism/commit/24c8e717) + * Extending page: Added "Creating a new language definition" section ([#1925](https://github.com/PrismJS/prism/issues/1925)) [`ddf81233`](https://github.com/PrismJS/prism/commit/ddf81233) + * Test page: Use `prism-core.js` instead of `prism.js` ([#1908](https://github.com/PrismJS/prism/issues/1908)) [`0853e694`](https://github.com/PrismJS/prism/commit/0853e694) + * Copy to clipboard: Fixed typo ([#1869](https://github.com/PrismJS/prism/issues/1869)) [`59d4323f`](https://github.com/PrismJS/prism/commit/59d4323f) + * JSONP Highlight: Fixed examples ([#1877](https://github.com/PrismJS/prism/issues/1877)) [`f8ae465d`](https://github.com/PrismJS/prism/commit/f8ae465d) + * Line numbers: Fixed typo on webpage ([#1838](https://github.com/PrismJS/prism/issues/1838)) [`0f16eb87`](https://github.com/PrismJS/prism/commit/0f16eb87) + +## 1.16.0 (2019-03-24) + +### New components + +* __ANBF__ ([#1753](https://github.com/PrismJS/prism/issues/1753)) [`6d98f0e7`](https://github.com/PrismJS/prism/commit/6d98f0e7) +* __BNF__ & __RBNF__ ([#1754](https://github.com/PrismJS/prism/issues/1754)) [`1df96c55`](https://github.com/PrismJS/prism/commit/1df96c55) +* __CIL__ ([#1593](https://github.com/PrismJS/prism/issues/1593)) [`38def334`](https://github.com/PrismJS/prism/commit/38def334) +* __CMake__ ([#1820](https://github.com/PrismJS/prism/issues/1820)) [`30779976`](https://github.com/PrismJS/prism/commit/30779976) +* __Doc comment__ ([#1541](https://github.com/PrismJS/prism/issues/1541)) [`493d19ef`](https://github.com/PrismJS/prism/commit/493d19ef) +* __EBNF__ ([#1756](https://github.com/PrismJS/prism/issues/1756)) [`13e1c97d`](https://github.com/PrismJS/prism/commit/13e1c97d) +* __EJS__ ([#1769](https://github.com/PrismJS/prism/issues/1769)) [`c37c90df`](https://github.com/PrismJS/prism/commit/c37c90df) +* __G-code__ ([#1572](https://github.com/PrismJS/prism/issues/1572)) [`2288c25e`](https://github.com/PrismJS/prism/commit/2288c25e) +* __GameMaker Language__ ([#1551](https://github.com/PrismJS/prism/issues/1551)) [`e529edd8`](https://github.com/PrismJS/prism/commit/e529edd8) +* __HCL__ ([#1594](https://github.com/PrismJS/prism/issues/1594)) [`c939df8e`](https://github.com/PrismJS/prism/commit/c939df8e) +* __Java stack trace__ ([#1520](https://github.com/PrismJS/prism/issues/1520)) [`4a8219a4`](https://github.com/PrismJS/prism/commit/4a8219a4) +* __JavaScript Extras__ ([#1743](https://github.com/PrismJS/prism/issues/1743)) [`bb628606`](https://github.com/PrismJS/prism/commit/bb628606) +* __JSON5__ ([#1744](https://github.com/PrismJS/prism/issues/1744)) [`64dc049d`](https://github.com/PrismJS/prism/commit/64dc049d) +* __N1QL__ ([#1620](https://github.com/PrismJS/prism/issues/1620)) [`7def8f5c`](https://github.com/PrismJS/prism/commit/7def8f5c) +* __Nand To Tetris HDL__ ([#1710](https://github.com/PrismJS/prism/issues/1710)) [`b94b56c1`](https://github.com/PrismJS/prism/commit/b94b56c1) +* __Regex__ ([#1682](https://github.com/PrismJS/prism/issues/1682)) [`571704cb`](https://github.com/PrismJS/prism/commit/571704cb) +* __T4__ ([#1699](https://github.com/PrismJS/prism/issues/1699)) [`16f2ad06`](https://github.com/PrismJS/prism/commit/16f2ad06) +* __TOML__ ([#1488](https://github.com/PrismJS/prism/issues/1488)) [`5b6ad70d`](https://github.com/PrismJS/prism/commit/5b6ad70d) +* __Vala__ ([#1658](https://github.com/PrismJS/prism/issues/1658)) [`b48c012c`](https://github.com/PrismJS/prism/commit/b48c012c) + +### Updated components + +* Fixed dependencies of Pug and Pure ([#1759](https://github.com/PrismJS/prism/issues/1759)) [`c9a32674`](https://github.com/PrismJS/prism/commit/c9a32674) +* Add file extensions support for major languages ([#1478](https://github.com/PrismJS/prism/issues/1478)) [`0c8f6504`](https://github.com/PrismJS/prism/commit/0c8f6504) +* Fixed patterns which can match the empty string ([#1775](https://github.com/PrismJS/prism/issues/1775)) [`86dd3e42`](https://github.com/PrismJS/prism/commit/86dd3e42) +* More variables for better code compression ([#1489](https://github.com/PrismJS/prism/issues/1489)) [`bc53e093`](https://github.com/PrismJS/prism/commit/bc53e093) +* Added missing aliases ([#1830](https://github.com/PrismJS/prism/issues/1830)) [`8d28c74c`](https://github.com/PrismJS/prism/commit/8d28c74c) +* Replaced all occurrences of `new RegExp` with `RegExp` ([#1493](https://github.com/PrismJS/prism/issues/1493)) [`44fed4d3`](https://github.com/PrismJS/prism/commit/44fed4d3) +* Added missing aliases to components.json ([#1503](https://github.com/PrismJS/prism/issues/1503)) [`2fb66e04`](https://github.com/PrismJS/prism/commit/2fb66e04) +* __Apacheconf__ + * Apache config: Minor improvements + new keyword ([#1823](https://github.com/PrismJS/prism/issues/1823)) [`a91be7b2`](https://github.com/PrismJS/prism/commit/a91be7b2) +* __AsciiDoc__ + * Added `adoc` alias for AsciiDoc ([#1685](https://github.com/PrismJS/prism/issues/1685)) [`88434f7a`](https://github.com/PrismJS/prism/commit/88434f7a) +* __Bash__ + * Add additional commands to bash ([#1577](https://github.com/PrismJS/prism/issues/1577)) [`a2230c38`](https://github.com/PrismJS/prism/commit/a2230c38) + * Added `yarn add` to bash functions ([#1731](https://github.com/PrismJS/prism/issues/1731)) [`3a32cb75`](https://github.com/PrismJS/prism/commit/3a32cb75) + * Added `pnpm` function to Bash ([#1734](https://github.com/PrismJS/prism/issues/1734)) [`fccfb98d`](https://github.com/PrismJS/prism/commit/fccfb98d) +* __Batch__ + * Remove batch's shell alias ([#1543](https://github.com/PrismJS/prism/issues/1543)) [`7155e60f`](https://github.com/PrismJS/prism/commit/7155e60f) +* __C__ + * Improve C language ([#1697](https://github.com/PrismJS/prism/issues/1697)) [`7eccea5c`](https://github.com/PrismJS/prism/commit/7eccea5c) +* __C-like__ + * Simplify function pattern of C-like language ([#1552](https://github.com/PrismJS/prism/issues/1552)) [`b520e1b6`](https://github.com/PrismJS/prism/commit/b520e1b6) +* __C/C++/Java__ + * Operator fixes ([#1528](https://github.com/PrismJS/prism/issues/1528)) [`7af8f8be`](https://github.com/PrismJS/prism/commit/7af8f8be) +* __C#__ + * Improvements to C# operator and punctuation ([#1532](https://github.com/PrismJS/prism/issues/1532)) [`3b1e0916`](https://github.com/PrismJS/prism/commit/3b1e0916) +* __CSS__ + * Fix tokenizing !important ([#1585](https://github.com/PrismJS/prism/issues/1585)) [`c1d6cb85`](https://github.com/PrismJS/prism/commit/c1d6cb85) + * Added the comma to the list of CSS punctuation [`7ea2ff28`](https://github.com/PrismJS/prism/commit/7ea2ff28) + * CSS: Comma punctuation ([#1632](https://github.com/PrismJS/prism/issues/1632)) [`1b812386`](https://github.com/PrismJS/prism/commit/1b812386) + * Reuse CSS selector pattern in CSS Extras ([#1637](https://github.com/PrismJS/prism/issues/1637)) [`e2f2fd19`](https://github.com/PrismJS/prism/commit/e2f2fd19) + * Fixed CSS extra variable ([#1649](https://github.com/PrismJS/prism/issues/1649)) [`9de47d3a`](https://github.com/PrismJS/prism/commit/9de47d3a) + * Identify CSS units and variables ([#1450](https://github.com/PrismJS/prism/issues/1450)) [`5fcee966`](https://github.com/PrismJS/prism/commit/5fcee966) + * Allow multiline CSS at-rules ([#1676](https://github.com/PrismJS/prism/issues/1676)) [`4f6f3c7d`](https://github.com/PrismJS/prism/commit/4f6f3c7d) + * CSS: Highlight attribute selector ([#1671](https://github.com/PrismJS/prism/issues/1671)) [`245b59d4`](https://github.com/PrismJS/prism/commit/245b59d4) + * CSS: Selectors can contain any string ([#1638](https://github.com/PrismJS/prism/issues/1638)) [`a2d445d0`](https://github.com/PrismJS/prism/commit/a2d445d0) + * CSS extras: Highlighting for pseudo class arguments ([#1650](https://github.com/PrismJS/prism/issues/1650)) [`70a40414`](https://github.com/PrismJS/prism/commit/70a40414) +* __Django__ + * Django/Jinja2 improvements ([#1800](https://github.com/PrismJS/prism/issues/1800)) [`f2467488`](https://github.com/PrismJS/prism/commit/f2467488) +* __F#__ + * Chars can only contain one character ([#1570](https://github.com/PrismJS/prism/issues/1570)) [`f96b083a`](https://github.com/PrismJS/prism/commit/f96b083a) + * Improve F# ([#1573](https://github.com/PrismJS/prism/issues/1573)) [`00bfc969`](https://github.com/PrismJS/prism/commit/00bfc969) +* __GraphQL__ + * Improved field highlighting for GraphQL ([#1711](https://github.com/PrismJS/prism/issues/1711)) [`44aeffb9`](https://github.com/PrismJS/prism/commit/44aeffb9) + * Added GraphQL improvements and tests ([#1788](https://github.com/PrismJS/prism/issues/1788)) [`b2298b12`](https://github.com/PrismJS/prism/commit/b2298b12) +* __Haskell__ + * Added `hs` alias for Haskell ([#1831](https://github.com/PrismJS/prism/issues/1831)) [`64baec3c`](https://github.com/PrismJS/prism/commit/64baec3c) +* __HTTP__ + * Improved HTTP content highlighting ([#1598](https://github.com/PrismJS/prism/issues/1598)) [`1b75da90`](https://github.com/PrismJS/prism/commit/1b75da90) +* __Ini__ + * Add support for # comments to INI language ([#1730](https://github.com/PrismJS/prism/issues/1730)) [`baf6bb0c`](https://github.com/PrismJS/prism/commit/baf6bb0c) +* __Java__ + * Add Java 10 support ([#1549](https://github.com/PrismJS/prism/issues/1549)) [`8c981a22`](https://github.com/PrismJS/prism/commit/8c981a22) + * Added module keywords to Java. ([#1655](https://github.com/PrismJS/prism/issues/1655)) [`6e250a5f`](https://github.com/PrismJS/prism/commit/6e250a5f) + * Improve Java ([#1474](https://github.com/PrismJS/prism/issues/1474)) [`81bd8f0b`](https://github.com/PrismJS/prism/commit/81bd8f0b) +* __JavaScript__ + * Fix regex for `catch` and `finally` ([#1527](https://github.com/PrismJS/prism/issues/1527)) [`ebd1b9a6`](https://github.com/PrismJS/prism/commit/ebd1b9a6) + * Highlighting of supposed classes and functions ([#1482](https://github.com/PrismJS/prism/issues/1482)) [`c40f6047`](https://github.com/PrismJS/prism/commit/c40f6047) + * Added support for JS BigInt literals ([#1542](https://github.com/PrismJS/prism/issues/1542)) [`2b62e57b`](https://github.com/PrismJS/prism/commit/2b62e57b) + * Fixed lowercase supposed class names ([#1544](https://github.com/PrismJS/prism/issues/1544)) [`a47c05ad`](https://github.com/PrismJS/prism/commit/a47c05ad) + * Fixes regex for JS examples ([#1591](https://github.com/PrismJS/prism/issues/1591)) [`b41fb8f1`](https://github.com/PrismJS/prism/commit/b41fb8f1) + * Improve regex detection in JS ([#1473](https://github.com/PrismJS/prism/issues/1473)) [`2a4758ab`](https://github.com/PrismJS/prism/commit/2a4758ab) + * Identify JavaScript function parameters ([#1446](https://github.com/PrismJS/prism/issues/1446)) [`0cc8c56a`](https://github.com/PrismJS/prism/commit/0cc8c56a) + * Improved JavaScript parameter recognization ([#1722](https://github.com/PrismJS/prism/issues/1722)) [`57a92035`](https://github.com/PrismJS/prism/commit/57a92035) + * Make `undefined` a keyword in JS ([#1740](https://github.com/PrismJS/prism/issues/1740)) [`d9fa29a8`](https://github.com/PrismJS/prism/commit/d9fa29a8) + * Fix `function-variable` in JS ([#1739](https://github.com/PrismJS/prism/issues/1739)) [`bfbea4d6`](https://github.com/PrismJS/prism/commit/bfbea4d6) + * Improved JS constant pattern ([#1737](https://github.com/PrismJS/prism/issues/1737)) [`7bcec584`](https://github.com/PrismJS/prism/commit/7bcec584) + * Improved JS function pattern ([#1736](https://github.com/PrismJS/prism/issues/1736)) [`8378ac83`](https://github.com/PrismJS/prism/commit/8378ac83) + * JS: Fixed variables named "async" ([#1738](https://github.com/PrismJS/prism/issues/1738)) [`3560c643`](https://github.com/PrismJS/prism/commit/3560c643) + * JS: Keyword fix ([#1808](https://github.com/PrismJS/prism/issues/1808)) [`f2d8e1c7`](https://github.com/PrismJS/prism/commit/f2d8e1c7) +* __JSON__ / __JSONP__ + * Fix bugs in JSON language ([#1479](https://github.com/PrismJS/prism/issues/1479)) [`74fe81c6`](https://github.com/PrismJS/prism/commit/74fe81c6) + * Adds support for comments in JSON ([#1595](https://github.com/PrismJS/prism/issues/1595)) [`8720b3e6`](https://github.com/PrismJS/prism/commit/8720b3e6) + * Cleaned up JSON ([#1596](https://github.com/PrismJS/prism/issues/1596)) [`da474c77`](https://github.com/PrismJS/prism/commit/da474c77) + * Added `keyword` alias to JSON's `null` ([#1733](https://github.com/PrismJS/prism/issues/1733)) [`eee06649`](https://github.com/PrismJS/prism/commit/eee06649) + * Fix JSONP support ([#1745](https://github.com/PrismJS/prism/issues/1745)) [`b5041cf9`](https://github.com/PrismJS/prism/commit/b5041cf9) + * Fixed JSON/JSONP examples ([#1765](https://github.com/PrismJS/prism/issues/1765)) [`ae4842db`](https://github.com/PrismJS/prism/commit/ae4842db) +* __JSX__ + * React component tags are styled as classes in JSX ([#1519](https://github.com/PrismJS/prism/issues/1519)) [`3e1a9a3d`](https://github.com/PrismJS/prism/commit/3e1a9a3d) + * Support JSX/TSX class-name with dot ([#1725](https://github.com/PrismJS/prism/issues/1725)) [`4362e42c`](https://github.com/PrismJS/prism/commit/4362e42c) +* __Less__ + * Remove useless insertBefore in LESS ([#1629](https://github.com/PrismJS/prism/issues/1629)) [`86d31793`](https://github.com/PrismJS/prism/commit/86d31793) +* __Lisp__ + * Fix Lisp exponential string pattern ([#1763](https://github.com/PrismJS/prism/issues/1763)) [`5bd182c0`](https://github.com/PrismJS/prism/commit/5bd182c0)) +* __Markdown__ + * Added strike support to markdown ([#1563](https://github.com/PrismJS/prism/issues/1563)) [`9d2fddc2`](https://github.com/PrismJS/prism/commit/9d2fddc2) + * Fixed Markdown headers ([#1557](https://github.com/PrismJS/prism/issues/1557)) [`c6584290`](https://github.com/PrismJS/prism/commit/c6584290) + * Add support for code blocks in Markdown ([#1562](https://github.com/PrismJS/prism/issues/1562)) [`b0717e70`](https://github.com/PrismJS/prism/commit/b0717e70) + * Markdown: The 'md' alias is now recognized by hooks ([#1771](https://github.com/PrismJS/prism/issues/1771)) [`8ca3d65b`](https://github.com/PrismJS/prism/commit/8ca3d65b) +* __Markup__ + * Decouple XML from Markup ([#1603](https://github.com/PrismJS/prism/issues/1603)) [`0030a4ef`](https://github.com/PrismJS/prism/commit/0030a4ef) + * Fix for markup attributes ([#1752](https://github.com/PrismJS/prism/issues/1752)) [`c3862a24`](https://github.com/PrismJS/prism/commit/c3862a24) + * Markup: Added support for CSS and JS inside of CDATAs ([#1660](https://github.com/PrismJS/prism/issues/1660)) [`57127701`](https://github.com/PrismJS/prism/commit/57127701) + * Markup `addInline` improvements ([#1798](https://github.com/PrismJS/prism/issues/1798)) [`af67c32e`](https://github.com/PrismJS/prism/commit/af67c32e) +* __Markup Templating__ + * Markup-templating improvements ([#1653](https://github.com/PrismJS/prism/issues/1653)) [`b62e282b`](https://github.com/PrismJS/prism/commit/b62e282b) +* __nginx__ + * Add new keywords to nginx ([#1587](https://github.com/PrismJS/prism/issues/1587)) [`0d73f7f5`](https://github.com/PrismJS/prism/commit/0d73f7f5) +* __PHP__ + * Update PHP keywords ([#1690](https://github.com/PrismJS/prism/issues/1690)) [`55fb0f8e`](https://github.com/PrismJS/prism/commit/55fb0f8e) + * Improve recognition of constants in PHP ([#1688](https://github.com/PrismJS/prism/issues/1688)) [`f1026b4b`](https://github.com/PrismJS/prism/commit/f1026b4b) + * Made false, true, and null constants in PHP ([#1694](https://github.com/PrismJS/prism/issues/1694)) [`439e3bd7`](https://github.com/PrismJS/prism/commit/439e3bd7) + * PHP: Fixed closing tag issue ([#1652](https://github.com/PrismJS/prism/issues/1652)) [`289ddd9b`](https://github.com/PrismJS/prism/commit/289ddd9b) +* __Python__ + * Operator keywords are now keywords ([#1617](https://github.com/PrismJS/prism/issues/1617)) [`1d1fb800`](https://github.com/PrismJS/prism/commit/1d1fb800) + * Add decorator support to Python ([#1639](https://github.com/PrismJS/prism/issues/1639)) [`2577b6e6`](https://github.com/PrismJS/prism/commit/2577b6e6) + * Improvements to Python F-strings and string prefixes ([#1642](https://github.com/PrismJS/prism/issues/1642)) [`a69c2b62`](https://github.com/PrismJS/prism/commit/a69c2b62) +* __Reason__ + * Added additional operators to Reason ([#1648](https://github.com/PrismJS/prism/issues/1648)) [`8b1bb469`](https://github.com/PrismJS/prism/commit/8b1bb469) +* __Ruby__ + * Consistent Ruby method highlighting ([#1523](https://github.com/PrismJS/prism/issues/1523)) [`72775919`](https://github.com/PrismJS/prism/commit/72775919) + * Ruby/ERB: Fixed block comments ([#1768](https://github.com/PrismJS/prism/issues/1768)) [`c805f859`](https://github.com/PrismJS/prism/commit/c805f859) +* __Rust__ + * Add missing keywords ([#1634](https://github.com/PrismJS/prism/issues/1634)) [`3590edde`](https://github.com/PrismJS/prism/commit/3590edde) +* __SAS__ + * Added new SAS keywords ([#1784](https://github.com/PrismJS/prism/issues/1784)) [`3b396ef5`](https://github.com/PrismJS/prism/commit/3b396ef5) +* __Scheme__ + * Fix function without arguments in scheme language ([#1463](https://github.com/PrismJS/prism/issues/1463)) [`12a827e7`](https://github.com/PrismJS/prism/commit/12a827e7) + * Scheme improvements ([#1556](https://github.com/PrismJS/prism/issues/1556)) [`225dd3f7`](https://github.com/PrismJS/prism/commit/225dd3f7) + * Fixed operator-like functions in Scheme ([#1467](https://github.com/PrismJS/prism/issues/1467)) [`f8c8add2`](https://github.com/PrismJS/prism/commit/f8c8add2) + * Scheme: Minor improvements ([#1814](https://github.com/PrismJS/prism/issues/1814)) [`191830f2`](https://github.com/PrismJS/prism/commit/191830f2) +* __SCSS__ + * Fixed that selector pattern can take exponential time ([#1499](https://github.com/PrismJS/prism/issues/1499)) [`0f75d9d4`](https://github.com/PrismJS/prism/commit/0f75d9d4) + * Move SCSS `property` definition ([#1633](https://github.com/PrismJS/prism/issues/1633)) [`0536fb14`](https://github.com/PrismJS/prism/commit/0536fb14) + * Add `keyword` alias for SCSS' `null` ([#1735](https://github.com/PrismJS/prism/issues/1735)) [`bd0378f0`](https://github.com/PrismJS/prism/commit/bd0378f0) +* __Smalltalk__ + * Allowed empty strings and comments ([#1747](https://github.com/PrismJS/prism/issues/1747)) [`5fd7577a`](https://github.com/PrismJS/prism/commit/5fd7577a) +* __Smarty__ + * Removed useless `insertBefore` call in Smarty ([#1677](https://github.com/PrismJS/prism/issues/1677)) [`bc49c361`](https://github.com/PrismJS/prism/commit/bc49c361) +* __SQL__ + * Added support for quote escapes to SQL strings ([#1500](https://github.com/PrismJS/prism/issues/1500)) [`a59a7926`](https://github.com/PrismJS/prism/commit/a59a7926) + * SQL Quoted variables are now greedy ([#1510](https://github.com/PrismJS/prism/issues/1510)) [`42d119a2`](https://github.com/PrismJS/prism/commit/42d119a2) +* __TypeScript__ + * Enhance definitions in TypeScript component ([#1522](https://github.com/PrismJS/prism/issues/1522)) [`11695629`](https://github.com/PrismJS/prism/commit/11695629) +* __YAML__ + * Allow YAML strings to have trailing comments ([#1602](https://github.com/PrismJS/prism/issues/1602)) [`1c5f28a9`](https://github.com/PrismJS/prism/commit/1c5f28a9) + +### Updated plugins + +* Better class name detection for plugins ([#1772](https://github.com/PrismJS/prism/issues/1772)) [`c9762c6f`](https://github.com/PrismJS/prism/commit/c9762c6f) +* __Autolinker__ + * Fix Autolinker url-decoding all tokens ([#1723](https://github.com/PrismJS/prism/issues/1723)) [`8cf20d49`](https://github.com/PrismJS/prism/commit/8cf20d49) +* __Autoloader__ + * Resolved variable name clash ([#1568](https://github.com/PrismJS/prism/issues/1568)) [`bfa5a8d9`](https://github.com/PrismJS/prism/commit/bfa5a8d9) + * Autoloader: Fixed the directory of scripts ([#1828](https://github.com/PrismJS/prism/issues/1828)) [`fd4c764f`](https://github.com/PrismJS/prism/commit/fd4c764f) + * Autoloader: Added support for aliases ([#1829](https://github.com/PrismJS/prism/issues/1829)) [`52889b5b`](https://github.com/PrismJS/prism/commit/52889b5b) +* __Command Line__ + * Fixed class regex for Command Line plugin ([#1566](https://github.com/PrismJS/prism/issues/1566)) [`9f6e5026`](https://github.com/PrismJS/prism/commit/9f6e5026) +* __File Highlight__ + * Prevent double-loading & add scope to File Highlight ([#1586](https://github.com/PrismJS/prism/issues/1586)) [`10239c14`](https://github.com/PrismJS/prism/commit/10239c14) +* __JSONP Highlight__ + * Cleanup JSONP highlight code ([#1674](https://github.com/PrismJS/prism/issues/1674)) [`28489698`](https://github.com/PrismJS/prism/commit/28489698) + * Fix typos & other issues in JSONP docs ([#1672](https://github.com/PrismJS/prism/issues/1672)) [`cd058a91`](https://github.com/PrismJS/prism/commit/cd058a91) + * JSONP highlight: Fixed minified adapter names ([#1793](https://github.com/PrismJS/prism/issues/1793)) [`5dd8f916`](https://github.com/PrismJS/prism/commit/5dd8f916) +* __Keep Markup__ + * Add unit tests to the Keep Markup plugin ([#1646](https://github.com/PrismJS/prism/issues/1646)) [`a944c418`](https://github.com/PrismJS/prism/commit/a944c418) +* __Line Numbers__ + * Added inheritance for the `line-numbers` class ([#1799](https://github.com/PrismJS/prism/issues/1799)) [`14be7489`](https://github.com/PrismJS/prism/commit/14be7489) +* __Previewers__ + * Fixed Previewers bug [#1496](https://github.com/PrismJS/prism/issues/1496) ([#1497](https://github.com/PrismJS/prism/issues/1497)) [`4b56f3c1`](https://github.com/PrismJS/prism/commit/4b56f3c1) +* __Show Invisibles__ + * Updated styles of show invisibles ([#1607](https://github.com/PrismJS/prism/issues/1607)) [`2ba62268`](https://github.com/PrismJS/prism/commit/2ba62268) + * Corrected load order of Show Invisibles ([#1612](https://github.com/PrismJS/prism/issues/1612)) [`6e0c6e86`](https://github.com/PrismJS/prism/commit/6e0c6e86) + * Show invisibles inside tokens ([#1610](https://github.com/PrismJS/prism/issues/1610)) [`1090b253`](https://github.com/PrismJS/prism/commit/1090b253) +* __Show Language__ + * Show Language plugin alias support and improvements ([#1683](https://github.com/PrismJS/prism/issues/1683)) [`4c66d72c`](https://github.com/PrismJS/prism/commit/4c66d72c) +* __Toolbar__ + * Toolbar: Minor improvements ([#1818](https://github.com/PrismJS/prism/issues/1818)) [`3ad47047`](https://github.com/PrismJS/prism/commit/3ad47047) + +### Updated themes + +* Normalized the font-size of pre and code ([#1791](https://github.com/PrismJS/prism/issues/1791)) [`878ef295`](https://github.com/PrismJS/prism/commit/878ef295) +* __Coy__ + * Correct typo ([#1508](https://github.com/PrismJS/prism/issues/1508)) [`c322fc80`](https://github.com/PrismJS/prism/commit/c322fc80) + +### Other changes + +* __Core__ + * `insertBefore` now correctly updates references ([#1531](https://github.com/PrismJS/prism/issues/1531)) [`9dfec340`](https://github.com/PrismJS/prism/commit/9dfec340) + * Invoke `callback` after `after-highlight` hook ([#1588](https://github.com/PrismJS/prism/issues/1588)) [`bfbe4464`](https://github.com/PrismJS/prism/commit/bfbe4464) + * Improve `Prism.util.type` performance ([#1545](https://github.com/PrismJS/prism/issues/1545)) [`2864fe24`](https://github.com/PrismJS/prism/commit/2864fe24) + * Remove unused `insertBefore` overload ([#1631](https://github.com/PrismJS/prism/issues/1631)) [`39686e12`](https://github.com/PrismJS/prism/commit/39686e12) + * Ignore duplicates in insertBefore ([#1628](https://github.com/PrismJS/prism/issues/1628)) [`d33d259c`](https://github.com/PrismJS/prism/commit/d33d259c) + * Remove the Prism.tokenize language parameter ([#1654](https://github.com/PrismJS/prism/issues/1654)) [`fbf0b094`](https://github.com/PrismJS/prism/commit/fbf0b094) + * Call `insert-before` hook properly ([#1709](https://github.com/PrismJS/prism/issues/1709)) [`393ab164`](https://github.com/PrismJS/prism/commit/393ab164) + * Improved languages.DFS and util.clone ([#1506](https://github.com/PrismJS/prism/issues/1506)) [`152a68ef`](https://github.com/PrismJS/prism/commit/152a68ef) + * Core: Avoid redeclaring variables in util.clone ([#1778](https://github.com/PrismJS/prism/issues/1778)) [`b06f532f`](https://github.com/PrismJS/prism/commit/b06f532f) + * Made prism-core a little more editor friendly ([#1776](https://github.com/PrismJS/prism/issues/1776)) [`bac09f0a`](https://github.com/PrismJS/prism/commit/bac09f0a) + * Applied Array.isArray ([#1804](https://github.com/PrismJS/prism/issues/1804)) [`11d0f75e`](https://github.com/PrismJS/prism/commit/11d0f75e) +* __Infrastructure__ + * Linkify changelog more + add missing PR references [`2a100db7`](https://github.com/PrismJS/prism/commit/2a100db7) + * Set default indentation size ([#1516](https://github.com/PrismJS/prism/issues/1516)) [`e63d1597`](https://github.com/PrismJS/prism/commit/e63d1597) + * Add travis repo badge to readme ([#1561](https://github.com/PrismJS/prism/issues/1561)) [`716923f4`](https://github.com/PrismJS/prism/commit/716923f4) + * Update README.md ([#1553](https://github.com/PrismJS/prism/issues/1553)) [`6d1a2c61`](https://github.com/PrismJS/prism/commit/6d1a2c61) + * Mention Prism Themes in README ([#1625](https://github.com/PrismJS/prism/issues/1625)) [`5db04656`](https://github.com/PrismJS/prism/commit/5db04656) + * Fixed CHANGELOG.md ([#1707](https://github.com/PrismJS/prism/issues/1707)) [`b1f8a65d`](https://github.com/PrismJS/prism/commit/b1f8a65d) ([#1704](https://github.com/PrismJS/prism/issues/1704)) [`66d2104a`](https://github.com/PrismJS/prism/commit/66d2104a) + * Change tested NodeJS versions ([#1651](https://github.com/PrismJS/prism/issues/1651)) [`6ec71e0b`](https://github.com/PrismJS/prism/commit/6ec71e0b) + * Inline regex source with gulp ([#1537](https://github.com/PrismJS/prism/issues/1537)) [`e894fc89`](https://github.com/PrismJS/prism/commit/e894fc89) ([#1716](https://github.com/PrismJS/prism/issues/1716)) [`217a6ea4`](https://github.com/PrismJS/prism/commit/217a6ea4) + * Improve gulp error messages with pump ([#1741](https://github.com/PrismJS/prism/issues/1741)) [`671f4ca0`](https://github.com/PrismJS/prism/commit/671f4ca0) + * Update gulp to version 4.0.0 ([#1779](https://github.com/PrismJS/prism/issues/1779)) [`06627f6a`](https://github.com/PrismJS/prism/commit/06627f6a) + * gulp: Refactoring ([#1780](https://github.com/PrismJS/prism/issues/1780)) [`6c9fe257`](https://github.com/PrismJS/prism/commit/6c9fe257) + * npm: Updated all dependencies ([#1742](https://github.com/PrismJS/prism/issues/1742)) [`9d908d5a`](https://github.com/PrismJS/prism/commit/9d908d5a) + * Tests: Pretty-printed token stream ([#1801](https://github.com/PrismJS/prism/issues/1801)) [`9ea6d600`](https://github.com/PrismJS/prism/commit/9ea6d600) + * Refactored tests ([#1795](https://github.com/PrismJS/prism/issues/1795)) [`832a9643`](https://github.com/PrismJS/prism/commit/832a9643) + * Added issue templates ([#1805](https://github.com/PrismJS/prism/issues/1805)) [`dedb475f`](https://github.com/PrismJS/prism/commit/dedb475f) + * npm: Fixed `test` script ([#1809](https://github.com/PrismJS/prism/issues/1809)) [`bc649dfa`](https://github.com/PrismJS/prism/commit/bc649dfa) + * Add command to generate CHANGELOG [`212666d3`](https://github.com/PrismJS/prism/commit/212666d3) + * Name in composer.json set to lowercase ([#1824](https://github.com/PrismJS/prism/issues/1824)) [`4f78f1d6`](https://github.com/PrismJS/prism/commit/4f78f1d6) + * Added alias tests ([#1832](https://github.com/PrismJS/prism/issues/1832)) [`5c1a6fb2`](https://github.com/PrismJS/prism/commit/5c1a6fb2) + * Travis: Fail when changed files are detected ([#1819](https://github.com/PrismJS/prism/issues/1819)) [`66b44e3b`](https://github.com/PrismJS/prism/commit/66b44e3b) + * Tests: Additional checks for Prism functions ([#1803](https://github.com/PrismJS/prism/issues/1803)) [`c3e74ea3`](https://github.com/PrismJS/prism/commit/c3e74ea3) + * Adjusted .npmignore ([#1834](https://github.com/PrismJS/prism/issues/1834)) [`29a30c62`](https://github.com/PrismJS/prism/commit/29a30c62) +* __Website__ + * Add Python triple-quoted strings "known failure" ([#1449](https://github.com/PrismJS/prism/issues/1449)) [`334c7bca`](https://github.com/PrismJS/prism/commit/334c7bca) + * Updated index.html to fix broken instructions ([#1462](https://github.com/PrismJS/prism/issues/1462)) [`7418dfdd`](https://github.com/PrismJS/prism/commit/7418dfdd) + * Improve download page typography ([#1484](https://github.com/PrismJS/prism/issues/1484)) [`b1c2f4df`](https://github.com/PrismJS/prism/commit/b1c2f4df) + * Fixed peer dependencies in download page ([#1491](https://github.com/PrismJS/prism/issues/1491)) [`9d15ff6e`](https://github.com/PrismJS/prism/commit/9d15ff6e) + * Fixed empty link in extending ([#1507](https://github.com/PrismJS/prism/issues/1507)) [`74916d48`](https://github.com/PrismJS/prism/commit/74916d48) + * Display language aliases ([#1626](https://github.com/PrismJS/prism/issues/1626)) [`654b527b`](https://github.com/PrismJS/prism/commit/654b527b) + * Clean up Previewers' page ([#1630](https://github.com/PrismJS/prism/issues/1630)) [`b0d1823c`](https://github.com/PrismJS/prism/commit/b0d1823c) + * Updated website table of contents styles ([#1681](https://github.com/PrismJS/prism/issues/1681)) [`efdd96c3`](https://github.com/PrismJS/prism/commit/efdd96c3) + * Added new third-party tutorial for using Prism in Gutenberg ([#1701](https://github.com/PrismJS/prism/issues/1701)) [`ff9ccbe5`](https://github.com/PrismJS/prism/commit/ff9ccbe5) + * Remove dead tutorial ([#1702](https://github.com/PrismJS/prism/issues/1702)) [`e2d3bc7e`](https://github.com/PrismJS/prism/commit/e2d3bc7e) + * Fix downloads page fetching from GitHub([#1684](https://github.com/PrismJS/prism/issues/1684)) [`dbd3555e`](https://github.com/PrismJS/prism/commit/dbd3555e) + * Remove parentheses from download page ([#1627](https://github.com/PrismJS/prism/issues/1627)) [`2ce0666d`](https://github.com/PrismJS/prism/commit/2ce0666d) + * Line Numbers plugin instructions clarifications ([#1719](https://github.com/PrismJS/prism/issues/1719)) [`00f4f04f`](https://github.com/PrismJS/prism/commit/00f4f04f) + * Fixed Toolbar plugin example ([#1726](https://github.com/PrismJS/prism/issues/1726)) [`5311ca32`](https://github.com/PrismJS/prism/commit/5311ca32) + * Test page: Show tokens option ([#1757](https://github.com/PrismJS/prism/issues/1757)) [`729cb28b`](https://github.com/PrismJS/prism/commit/729cb28b) + * Some encouragement for visitors of PrismJS.com to request new languages ([#1760](https://github.com/PrismJS/prism/issues/1760)) [`ea769e0b`](https://github.com/PrismJS/prism/commit/ea769e0b) + * Docs: Added missing parameter ([#1774](https://github.com/PrismJS/prism/issues/1774)) [`18f2921d`](https://github.com/PrismJS/prism/commit/18f2921d) + * More persistent test page ([#1529](https://github.com/PrismJS/prism/issues/1529)) [`3100fa31`](https://github.com/PrismJS/prism/commit/3100fa31) + * Added scripts directory ([#1781](https://github.com/PrismJS/prism/issues/1781)) [`439ea1ee`](https://github.com/PrismJS/prism/commit/439ea1ee) + * Fixed download page ([#1811](https://github.com/PrismJS/prism/issues/1811)) [`77c57446`](https://github.com/PrismJS/prism/commit/77c57446) + +## 1.15.0 (2018-06-16) + +### New components + +* __Template Tookit 2__ ([#1418](https://github.com/PrismJS/prism/issues/1418)) [[`e063992`](https://github.com/PrismJS/prism/commit/e063992)] +* __XQuery__ ([#1411](https://github.com/PrismJS/prism/issues/1411)) [[`e326cb0`](https://github.com/PrismJS/prism/commit/e326cb0)] +* __TAP__ ([#1430](https://github.com/PrismJS/prism/issues/1430)) [[`8c2b71f`](https://github.com/PrismJS/prism/commit/8c2b71f)] + +### Updated components + +* __HTTP__ + * Absolute path is a valid request uri ([#1388](https://github.com/PrismJS/prism/issues/1388)) [[`f6e81cb`](https://github.com/PrismJS/prism/commit/f6e81cb)] +* __Kotlin__ + * Add keywords of Kotlin and modify it's number pattern. ([#1389](https://github.com/PrismJS/prism/issues/1389)) [[`1bf73b0`](https://github.com/PrismJS/prism/commit/1bf73b0)] + * Add `typealias` keyword ([#1437](https://github.com/PrismJS/prism/issues/1437)) [[`a21fdee`](https://github.com/PrismJS/prism/commit/a21fdee)] +* __JavaScript__ + * Improve Regexp pattern [[`5b043cf`](https://github.com/PrismJS/prism/commit/5b043cf)] + * Add support for one level of nesting inside template strings. Fix [#1397](https://github.com/PrismJS/prism/issues/1397) [[`db2d0eb`](https://github.com/PrismJS/prism/commit/db2d0eb)] +* __Elixir__ + * Elixir: Fix attributes consuming punctuation. Fix [#1392](https://github.com/PrismJS/prism/issues/1392) [[`dac0485`](https://github.com/PrismJS/prism/commit/dac0485)] +* __Bash__ + * Change reserved keyword reference ([#1396](https://github.com/PrismJS/prism/issues/1396)) [[`b94f01f`](https://github.com/PrismJS/prism/commit/b94f01f)] +* __PowerShell__ + * Allow for one level of nesting in expressions inside strings. Fix [#1407](https://github.com/PrismJS/prism/issues/1407) [[`9272d6f`](https://github.com/PrismJS/prism/commit/9272d6f)] +* __JSX__ + * Allow for two levels of nesting inside JSX tags. Fix [#1408](https://github.com/PrismJS/prism/issues/1408) [[`f1cd7c5`](https://github.com/PrismJS/prism/commit/f1cd7c5)] + * Add support for fragments short syntax. Fix [#1421](https://github.com/PrismJS/prism/issues/1421) [[`38ce121`](https://github.com/PrismJS/prism/commit/38ce121)] +* __Pascal__ + * Add `objectpascal` as an alias to `pascal` ([#1426](https://github.com/PrismJS/prism/issues/1426)) [[`a0bfc84`](https://github.com/PrismJS/prism/commit/a0bfc84)] +* __Swift__ + * Fix Swift 'protocol' keyword ([#1440](https://github.com/PrismJS/prism/issues/1440)) [[`081e318`](https://github.com/PrismJS/prism/commit/081e318)] + +### Updated plugins + +* __File Highlight__ + * Fix issue causing the Download button to show up on every code blocks. [[`cd22499`](https://github.com/PrismJS/prism/commit/cd22499)] + * Simplify lang regex on File Highlight plugin ([#1399](https://github.com/PrismJS/prism/issues/1399)) [[`7bc9a4a`](https://github.com/PrismJS/prism/commit/7bc9a4a)] +* __Show Language__ + * Don't process language if block language not set ([#1410](https://github.com/PrismJS/prism/issues/1410)) [[`c111869`](https://github.com/PrismJS/prism/commit/c111869)] +* __Autoloader__ + * ASP.NET should require C# [[`fa328bb`](https://github.com/PrismJS/prism/commit/fa328bb)] +* __Line Numbers__ + * Make line-numbers styles more specific ([#1434](https://github.com/PrismJS/prism/issues/1434), [#1435](https://github.com/PrismJS/prism/issues/1435)) [[`9ee4f54`](https://github.com/PrismJS/prism/commit/9ee4f54)] + +### Updated themes + +* Add .token.class-name to rest of themes ([#1360](https://github.com/PrismJS/prism/issues/1360)) [[`f356dfe`](https://github.com/PrismJS/prism/commit/f356dfe)] + +### Other changes + +* __Website__ + * Site now loads over HTTPS! + * Use HTTPS / canonical URLs ([#1390](https://github.com/PrismJS/prism/issues/1390)) [[`95146c8`](https://github.com/PrismJS/prism/commit/95146c8)] + * Added Angular tutorial link [[`c436a7c`](https://github.com/PrismJS/prism/commit/c436a7c)] + * Use rel="icon" instead of rel="shortcut icon" ([#1398](https://github.com/PrismJS/prism/issues/1398)) [[`d95f8fb`](https://github.com/PrismJS/prism/commit/d95f8fb)] + * Fix Download page not handling multiple dependencies when from Redownload URL [[`c2ff248`](https://github.com/PrismJS/prism/commit/c2ff248)] + * Update documentation for node & webpack usage [[`1e99e96`](https://github.com/PrismJS/prism/commit/1e99e96)] +* Handle optional dependencies in `loadLanguages()` ([#1417](https://github.com/PrismJS/prism/issues/1417)) [[`84935ac`](https://github.com/PrismJS/prism/commit/84935ac)] +* Add Chinese translation [[`f2b1964`](https://github.com/PrismJS/prism/commit/f2b1964)] + +## 1.14.0 (2018-04-11) + +### New components +* __GEDCOM__ ([#1385](https://github.com/PrismJS/prism/issues/1385)) [[`6e0b20a`](https://github.com/PrismJS/prism/commit/6e0b20a)] +* __Lisp__ ([#1297](https://github.com/PrismJS/prism/issues/1297)) [[`46468f8`](https://github.com/PrismJS/prism/commit/46468f8)] +* __Markup Templating__ ([#1367](https://github.com/PrismJS/prism/issues/1367)) [[`5f9c078`](https://github.com/PrismJS/prism/commit/5f9c078)] +* __Soy__ ([#1387](https://github.com/PrismJS/prism/issues/1387)) [[`b4509bf`](https://github.com/PrismJS/prism/commit/b4509bf)] +* __Velocity__ ([#1378](https://github.com/PrismJS/prism/issues/1378)) [[`5a524f7`](https://github.com/PrismJS/prism/commit/5a524f7)] +* __Visual Basic__ ([#1382](https://github.com/PrismJS/prism/issues/1382)) [[`c673ec2`](https://github.com/PrismJS/prism/commit/c673ec2)] +* __WebAssembly__ ([#1386](https://github.com/PrismJS/prism/issues/1386)) [[`c28d8c5`](https://github.com/PrismJS/prism/commit/c28d8c5)] + +### Updated components +* __Bash__: + * Add curl to the list of common functions. Close [#1160](https://github.com/PrismJS/prism/issues/1160) [[`1bfc084`](https://github.com/PrismJS/prism/commit/1bfc084)] +* __C-like__: + * Make single-line comments greedy. Fix [#1337](https://github.com/PrismJS/prism/issues/1337). Make sure [#1340](https://github.com/PrismJS/prism/issues/1340) stays fixed. [[`571f2c5`](https://github.com/PrismJS/prism/commit/571f2c5)] +* __C#__: + * More generic class-name highlighting. Fix [#1365](https://github.com/PrismJS/prism/issues/1365) [[`a6837d2`](https://github.com/PrismJS/prism/commit/a6837d2)] + * More specific class-name highlighting. Fix [#1371](https://github.com/PrismJS/prism/issues/1371) [[`0a95f69`](https://github.com/PrismJS/prism/commit/0a95f69)] +* __Eiffel__: + * Fix verbatim strings. Fix [#1379](https://github.com/PrismJS/prism/issues/1379) [[`04df41b`](https://github.com/PrismJS/prism/commit/04df41b)] +* __Elixir__ + * Make regexps greedy, remove comment hacks. Update known failures and tests. [[`e93d61f`](https://github.com/PrismJS/prism/commit/e93d61f)] +* __ERB__: + * Make highlighting work properly in NodeJS ([#1367](https://github.com/PrismJS/prism/issues/1367)) [[`5f9c078`](https://github.com/PrismJS/prism/commit/5f9c078)] +* __Fortran__: + * Make single-line comments greedy. Update known failures and tests. [[`c083b78`](https://github.com/PrismJS/prism/commit/c083b78)] +* __Handlebars__: + * Make highlighting work properly in NodeJS ([#1367](https://github.com/PrismJS/prism/issues/1367)) [[`5f9c078`](https://github.com/PrismJS/prism/commit/5f9c078)] +* __Java__: + * Add support for generics. Fix [#1351](https://github.com/PrismJS/prism/issues/1351) [[`a5cf302`](https://github.com/PrismJS/prism/commit/a5cf302)] +* __JavaScript__: + * Add support for constants. Fix [#1348](https://github.com/PrismJS/prism/issues/1348) [[`9084481`](https://github.com/PrismJS/prism/commit/9084481)] + * Improve Regex matching [[`172d351`](https://github.com/PrismJS/prism/commit/172d351)] +* __JSX__: + * Fix highlighting of empty objects. Fix [#1364](https://github.com/PrismJS/prism/issues/1364) [[`b26bbb8`](https://github.com/PrismJS/prism/commit/b26bbb8)] +* __Monkey__: + * Make comments greedy. Update known failures and tests. [[`d7b2b43`](https://github.com/PrismJS/prism/commit/d7b2b43)] +* __PHP__: + * Make highlighting work properly in NodeJS ([#1367](https://github.com/PrismJS/prism/issues/1367)) [[`5f9c078`](https://github.com/PrismJS/prism/commit/5f9c078)] +* __Puppet__: + * Make heredoc, comments, regexps and strings greedy. Update known failures and tests. [[`0c139d1`](https://github.com/PrismJS/prism/commit/0c139d1)] +* __Q__: + * Make comments greedy. Update known failures and tests. [[`a0f5081`](https://github.com/PrismJS/prism/commit/a0f5081)] +* __Ruby__: + * Make multi-line comments greedy, remove single-line comment hack. Update known failures and tests. [[`b0e34fb`](https://github.com/PrismJS/prism/commit/b0e34fb)] +* __SQL__: + * Add missing keywords. Fix [#1374](https://github.com/PrismJS/prism/issues/1374) [[`238b195`](https://github.com/PrismJS/prism/commit/238b195)] + +### Updated plugins +* __Command Line__: + * Command Line: Allow specifying output prefix using data-filter-output attribute. ([#856](https://github.com/PrismJS/prism/issues/856)) [[`094d546`](https://github.com/PrismJS/prism/commit/094d546)] +* __File Highlight__: + * Add option to provide a download button, when used with the Toolbar plugin. Fix [#1030](https://github.com/PrismJS/prism/issues/1030) [[`9f22952`](https://github.com/PrismJS/prism/commit/9f22952)] + +### Updated themes +* __Default__: + * Reach AA contrast ratio level ([#1296](https://github.com/PrismJS/prism/issues/1296)) [[`8aea939`](https://github.com/PrismJS/prism/commit/8aea939)] + +### Other changes +* Website: Remove broken third-party tutorials from homepage [[`0efd6e1`](https://github.com/PrismJS/prism/commit/0efd6e1)] +* Docs: Mention `loadLanguages()` function on homepage in the nodeJS section. Close [#972](https://github.com/PrismJS/prism/issues/972), close [#593](https://github.com/PrismJS/prism/issues/593) [[`4a14d20`](https://github.com/PrismJS/prism/commit/4a14d20)] +* Core: Greedy patterns should always be matched against the full string. Fix [#1355](https://github.com/PrismJS/prism/issues/1355) [[`294efaa`](https://github.com/PrismJS/prism/commit/294efaa)] +* Crystal: Update known failures. [[`e1d2d42`](https://github.com/PrismJS/prism/commit/e1d2d42)] +* D: Update known failures and tests. [[`13d9991`](https://github.com/PrismJS/prism/commit/13d9991)] +* Markdown: Update known failures. [[`5b6c76d`](https://github.com/PrismJS/prism/commit/5b6c76d)] +* Matlab: Update known failures. [[`259b6fc`](https://github.com/PrismJS/prism/commit/259b6fc)] +* Website: Remove non-existent anchor to failures. Reword on homepage to make is less misleading. [[`8c0911a`](https://github.com/PrismJS/prism/commit/8c0911a)] +* Website: Add link to Keep Markup plugin in FAQ [[`e8cb6d4`](https://github.com/PrismJS/prism/commit/e8cb6d4)] +* Test suite: Memory leak in vm.runInNewContext() seems fixed. Revert [[`9a4b6fa`](https://github.com/PrismJS/prism/commit/9a4b6fa)] to drastically improve tests execution time. [[`9bceece`](https://github.com/PrismJS/prism/commit/9bceece), [`7c7602b`](https://github.com/PrismJS/prism/commit/7c7602b)] +* Gulp: Don't minify `components/index.js` [[`689227b`](https://github.com/PrismJS/prism/commit/689227b)] +* Website: Fix theme selection on Download page, when theme is in query string or hash. [[`b4d3063`](https://github.com/PrismJS/prism/commit/b4d3063)] +* Update JSPM config to also include unminified components. Close [#995](https://github.com/PrismJS/prism/issues/995) [[`218f160`](https://github.com/PrismJS/prism/commit/218f160)] +* Core: Fix support for language alias containing dash `-` [[`659ea31`](https://github.com/PrismJS/prism/commit/659ea31)] + +## 1.13.0 (2018-03-21) + +### New components +* __ERB__ [[`e6213ac`](https://github.com/PrismJS/prism/commit/e6213ac)] +* __PL/SQL__ ([#1338](https://github.com/PrismJS/prism/issues/1338)) [[`3599e6a`](https://github.com/PrismJS/prism/commit/3599e6a)] + +### Updated components +* __JSX__: + * Add support for plain text inside tags ([#1357](https://github.com/PrismJS/prism/issues/1357)) [[`2b8321d`](https://github.com/PrismJS/prism/commit/2b8321d)] +* __Markup__: + * Make tags greedy. Fix [#1356](https://github.com/PrismJS/prism/issues/1356) [[`af834be`](https://github.com/PrismJS/prism/commit/af834be)] +* __Powershell__: + * Add lookbehind to fix function interpolation inside strings. Fix [#1361](https://github.com/PrismJS/prism/issues/1361) [[`d2c026e`](https://github.com/PrismJS/prism/commit/d2c026e)] +* __Rust__: + * Improve char pattern so that lifetime annotations are matched better. Fix [#1353](https://github.com/PrismJS/prism/issues/1353) [[`efdccbf`](https://github.com/PrismJS/prism/commit/efdccbf)] + +### Updated themes +* __Default__: + * Add color for class names [[`8572474`](https://github.com/PrismJS/prism/commit/8572474)] +* __Coy__: + * Inherit pre's height on code, so it does not break on Download page. [[`c6c7fd1`](https://github.com/PrismJS/prism/commit/c6c7fd1)] + +### Other changes +* Website: Auto-generate example headers [[`c3ed5b5`](https://github.com/PrismJS/prism/commit/c3ed5b5)] +* Core: Allow cloning of circular structures. ([#1345](https://github.com/PrismJS/prism/issues/1345)) [[`f90d555`](https://github.com/PrismJS/prism/commit/f90d555)] +* Core: Generate components.js from components.json and make it exportable to nodeJS. ([#1354](https://github.com/PrismJS/prism/issues/1354)) [[`ba60df0`](https://github.com/PrismJS/prism/commit/ba60df0)] +* Website: Improve appearance of theme selector [[`0460cad`](https://github.com/PrismJS/prism/commit/0460cad)] +* Website: Check stored theme by default + link both theme selectors together. Close [#1038](https://github.com/PrismJS/prism/issues/1038) [[`212dd4e`](https://github.com/PrismJS/prism/commit/212dd4e)] +* Tests: Use the new components.js file directly [[`0e1a8b7`](https://github.com/PrismJS/prism/commit/0e1a8b7)] +* Update .npmignore Close [#1274](https://github.com/PrismJS/prism/issues/1274) [[`a52319a`](https://github.com/PrismJS/prism/commit/a52319a)] +* Add a loadLanguages() function for easy component loading on NodeJS ([#1359](https://github.com/PrismJS/prism/issues/1359)) [[`a5331a6`](https://github.com/PrismJS/prism/commit/a5331a6)] + +## 1.12.2 (2018-03-08) + +### Other changes +* Test against NodeJS 4, 6, 8 and 9 ([#1329](https://github.com/PrismJS/prism/issues/1329)) [[`97b7d0a`](https://github.com/PrismJS/prism/commit/97b7d0a)] +* Stop testing against NodeJS 0.10 and 0.12 [[`df01b1b`](https://github.com/PrismJS/prism/commit/df01b1b)] + +## 1.12.1 (2018-03-08) + +### Updated components +* __C-like__: + * Revert [[`b98e5b9`](https://github.com/PrismJS/prism/commit/b98e5b9)] to fix [#1340](https://github.com/PrismJS/prism/issues/1340). Reopened [#1337](https://github.com/PrismJS/prism/issues/1337). [[`cebacdf`](https://github.com/PrismJS/prism/commit/cebacdf)] +* __JSX__: + * Allow for one level of nested curly braces inside tag attribute value. Fix [#1335](https://github.com/PrismJS/prism/issues/1335) [[`05bf67d`](https://github.com/PrismJS/prism/commit/05bf67d)] +* __Ruby__: + * Ensure module syntax is not confused with symbols. Fix [#1336](https://github.com/PrismJS/prism/issues/1336) [[`31a2a69`](https://github.com/PrismJS/prism/commit/31a2a69)] + +## 1.12.0 (2018-03-07) + +### New components +* __ARFF__ ([#1327](https://github.com/PrismJS/prism/issues/1327)) [[`0bc98ac`](https://github.com/PrismJS/prism/commit/0bc98ac)] +* __Clojure__ ([#1311](https://github.com/PrismJS/prism/issues/1311)) [[`8b4d3bd`](https://github.com/PrismJS/prism/commit/8b4d3bd)] +* __Liquid__ ([#1326](https://github.com/PrismJS/prism/issues/1326)) [[`f0b2c9e`](https://github.com/PrismJS/prism/commit/f0b2c9e)] + +### Updated components +* __Bash__: + * Add shell as an alias ([#1321](https://github.com/PrismJS/prism/issues/1321)) [[`67e16a2`](https://github.com/PrismJS/prism/commit/67e16a2)] + * Add support for quoted command substitution. Fix [#1287](https://github.com/PrismJS/prism/issues/1287) [[`63fc215`](https://github.com/PrismJS/prism/commit/63fc215)] +* __C#__: + * Add "dotnet" alias. [[`405867c`](https://github.com/PrismJS/prism/commit/405867c)] +* __C-like__: + * Change order of comment patterns and make multi-line one greedy. Fix [#1337](https://github.com/PrismJS/prism/issues/1337) [[`b98e5b9`](https://github.com/PrismJS/prism/commit/b98e5b9)] +* __NSIS__: + * Add support for NSIS 3.03 ([#1288](https://github.com/PrismJS/prism/issues/1288)) [[`bd1e98b`](https://github.com/PrismJS/prism/commit/bd1e98b)] + * Add missing NSIS commands ([#1289](https://github.com/PrismJS/prism/issues/1289)) [[`ad2948f`](https://github.com/PrismJS/prism/commit/ad2948f)] +* __PHP__: + * Add support for string interpolation inside double-quoted strings. Fix [#1146](https://github.com/PrismJS/prism/issues/1146) [[`9f1f8d6`](https://github.com/PrismJS/prism/commit/9f1f8d6)] + * Add support for Heredoc and Nowdoc strings [[`5d7223c`](https://github.com/PrismJS/prism/commit/5d7223c)] + * Fix shell-comment failure now that strings are greedy [[`ad25d22`](https://github.com/PrismJS/prism/commit/ad25d22)] +* __PowerShell__: + * Add support for two levels of nested brackets inside namespace pattern. Fixes [#1317](https://github.com/PrismJS/prism/issues/1317) [[`3bc3e9c`](https://github.com/PrismJS/prism/commit/3bc3e9c)] +* __Ruby__: + * Add keywords "protected", "private" and "public" [[`4593837`](https://github.com/PrismJS/prism/commit/4593837)] +* __Rust__: + * Add support for lifetime-annotation and => operator. Fix [#1339](https://github.com/PrismJS/prism/issues/1339) [[`926f6f8`](https://github.com/PrismJS/prism/commit/926f6f8)] +* __Scheme__: + * Don't highlight first number of a list as a function. Fix [#1331](https://github.com/PrismJS/prism/issues/1331) [[`51bff80`](https://github.com/PrismJS/prism/commit/51bff80)] +* __SQL__: + * Add missing keywords and functions, fix numbers [[`de29d4a`](https://github.com/PrismJS/prism/commit/de29d4a)] + +### Updated plugins +* __Autolinker__: + * Allow more chars in query string and hash to match more URLs. Fix [#1142](https://github.com/PrismJS/prism/issues/1142) [[`109bd6f`](https://github.com/PrismJS/prism/commit/109bd6f)] +* __Copy to Clipboard__: + * Bump ClipboardJS to 2.0.0 and remove hack ([#1314](https://github.com/PrismJS/prism/issues/1314)) [[`e9f410e`](https://github.com/PrismJS/prism/commit/e9f410e)] +* __Toolbar__: + * Prevent scrolling toolbar with content ([#1305](https://github.com/PrismJS/prism/issues/1305), [#1314](https://github.com/PrismJS/prism/issues/1314)) [[`84eeb89`](https://github.com/PrismJS/prism/commit/84eeb89)] +* __Unescaped Markup__: + * Use msMatchesSelector for IE11 and below. Fix [#1302](https://github.com/PrismJS/prism/issues/1302) [[`c246c1a`](https://github.com/PrismJS/prism/commit/c246c1a)] +* __WebPlatform Docs__: + * WebPlatform Docs plugin: Fix links. Fixes [#1290](https://github.com/PrismJS/prism/issues/1290) [[`7a9dbe0`](https://github.com/PrismJS/prism/commit/7a9dbe0)] + +### Other changes +* Fix Autoloader's demo page [[`3dddac9`](https://github.com/PrismJS/prism/commit/3dddac9)] +* Download page: Use hash instead of query-string for redownload URL. Fix [#1263](https://github.com/PrismJS/prism/issues/1263) [[`b03c02a`](https://github.com/PrismJS/prism/commit/b03c02a)] +* Core: Don't thow an error if lookbehing is used without anything matching. [[`e0cd47f`](https://github.com/PrismJS/prism/commit/e0cd47f)] +* Docs: Fix link to the `` element specification in HTML5 [[`a84263f`](https://github.com/PrismJS/prism/commit/a84263f)] +* Docs: Mention support for `lang-xxxx` class. Close [#1312](https://github.com/PrismJS/prism/issues/1312) [[`a9e76db`](https://github.com/PrismJS/prism/commit/a9e76db)] +* Docs: Add note on `async` parameter to clarify the requirement of using a single bundled file. Closes [#1249](https://github.com/PrismJS/prism/issues/1249) [[`eba0235`](https://github.com/PrismJS/prism/commit/eba0235)] + +## 1.11.0 (2018-02-05) + +### New components +* __Content-Security-Policy (CSP)__ ([#1275](https://github.com/PrismJS/prism/issues/1275)) [[`b08cae5`](https://github.com/PrismJS/prism/commit/b08cae5)] +* __HTTP Public-Key-Pins (HPKP)__ ([#1275](https://github.com/PrismJS/prism/issues/1275)) [[`b08cae5`](https://github.com/PrismJS/prism/commit/b08cae5)] +* __HTTP String-Transport-Security (HSTS)__ ([#1275](https://github.com/PrismJS/prism/issues/1275)) [[`b08cae5`](https://github.com/PrismJS/prism/commit/b08cae5)] +* __React TSX__ ([#1280](https://github.com/PrismJS/prism/issues/1280)) [[`fbe82b8`](https://github.com/PrismJS/prism/commit/fbe82b8)] + +### Updated components +* __C++__: + * Add C++ platform-independent types ([#1271](https://github.com/PrismJS/prism/issues/1271)) [[`3da238f`](https://github.com/PrismJS/prism/commit/3da238f)] +* __TypeScript__: + * Improve typescript with builtins ([#1277](https://github.com/PrismJS/prism/issues/1277)) [[`5de1b1f`](https://github.com/PrismJS/prism/commit/5de1b1f)] + +### Other changes +* Fix passing of non-enumerable Error properties from the child test runner ([#1276](https://github.com/PrismJS/prism/issues/1276)) [[`38df653`](https://github.com/PrismJS/prism/commit/38df653)] + +## 1.10.0 (2018-01-17) + +### New components +* __6502 Assembly__ ([#1245](https://github.com/PrismJS/prism/issues/1245)) [[`2ece18b`](https://github.com/PrismJS/prism/commit/2ece18b)] +* __Elm__ ([#1174](https://github.com/PrismJS/prism/issues/1174)) [[`d6da70e`](https://github.com/PrismJS/prism/commit/d6da70e)] +* __IchigoJam BASIC__ ([#1246](https://github.com/PrismJS/prism/issues/1246)) [[`cf840be`](https://github.com/PrismJS/prism/commit/cf840be)] +* __Io__ ([#1251](https://github.com/PrismJS/prism/issues/1251)) [[`84ed3ed`](https://github.com/PrismJS/prism/commit/84ed3ed)] + +### Updated components +* __BASIC__: + * Make strings greedy [[`60114d0`](https://github.com/PrismJS/prism/commit/60114d0)] +* __C++__: + * Add C++11 raw string feature ([#1254](https://github.com/PrismJS/prism/issues/1254)) [[`71595be`](https://github.com/PrismJS/prism/commit/71595be)] + +### Updated plugins +* __Autoloader__: + * Add support for `data-autoloader-path` ([#1242](https://github.com/PrismJS/prism/issues/1242)) [[`39360d6`](https://github.com/PrismJS/prism/commit/39360d6)] +* __Previewers__: + * New plugin combining previous plugins Previewer: Base, Previewer: Angle, Previewer: Color, Previewer: Easing, Previewer: Gradient and Previewer: Time. ([#1244](https://github.com/PrismJS/prism/issues/1244)) [[`28e4b4c`](https://github.com/PrismJS/prism/commit/28e4b4c)] +* __Unescaped Markup__: + * Make it work with any language ([#1265](https://github.com/PrismJS/prism/issues/1265)) [[`7bcdae7`](https://github.com/PrismJS/prism/commit/7bcdae7)] + +### Other changes +* Add attribute `style` in `package.json` ([#1256](https://github.com/PrismJS/prism/issues/1256)) [[`a9b6785`](https://github.com/PrismJS/prism/commit/a9b6785)] + +## 1.9.0 (2017-12-06) + +### New components +* __Flow__ [[`d27b70d`](https://github.com/PrismJS/prism/commit/d27b70d)] + +### Updated components +* __CSS__: + * Unicode characters in CSS properties ([#1227](https://github.com/PrismJS/prism/issues/1227)) [[`f234ea4`](https://github.com/PrismJS/prism/commit/f234ea4)] +* __JSX__: + * JSX: Improve highlighting support. Fix [#1235](https://github.com/PrismJS/prism/issues/1235) and [#1236](https://github.com/PrismJS/prism/issues/1236) [[`f41c5cd`](https://github.com/PrismJS/prism/commit/f41c5cd)] +* __Markup__: + * Make CSS and JS inclusions in Markup greedy. Fix [#1240](https://github.com/PrismJS/prism/issues/1240) [[`7dc1e45`](https://github.com/PrismJS/prism/commit/7dc1e45)] +* __PHP__: + * Add support for multi-line strings. Fix [#1233](https://github.com/PrismJS/prism/issues/1233) [[`9a542a0`](https://github.com/PrismJS/prism/commit/9a542a0)] + +### Updated plugins +* __Copy to clipboard__: + * Fix test for native Clipboard. Fix [#1241](https://github.com/PrismJS/prism/issues/1241) [[`e7b5e82`](https://github.com/PrismJS/prism/commit/e7b5e82)] + * Copy to clipboard: Update to v1.7.1. Fix [#1220](https://github.com/PrismJS/prism/issues/1220) [[`a1b85e3`](https://github.com/PrismJS/prism/commit/a1b85e3), [`af50e44`](https://github.com/PrismJS/prism/commit/af50e44)] +* __Line highlight__: + * Fixes to compatibility of line number and line higlight plugins ([#1194](https://github.com/PrismJS/prism/issues/1194)) [[`e63058f`](https://github.com/PrismJS/prism/commit/e63058f), [`3842a91`](https://github.com/PrismJS/prism/commit/3842a91)] +* __Unescaped Markup__: + * Fix ambiguity in documentation by improving examples. Fix [#1197](https://github.com/PrismJS/prism/issues/1197) [[`924784a`](https://github.com/PrismJS/prism/commit/924784a)] + +### Other changes +* Allow any element being root instead of document. ([#1230](https://github.com/PrismJS/prism/issues/1230)) [[`69f2e2c`](https://github.com/PrismJS/prism/commit/69f2e2c), [`6e50d44`](https://github.com/PrismJS/prism/commit/6e50d44)] +* Coy Theme: The 'height' element makes code blocks the height of the browser canvas. ([#1224](https://github.com/PrismJS/prism/issues/1224)) [[`ac219d7`](https://github.com/PrismJS/prism/commit/ac219d7)] +* Download page: Fix implicitly declared variable [[`f986551`](https://github.com/PrismJS/prism/commit/f986551)] +* Download page: Add version number at the beginning of the generated files. Fix [#788](https://github.com/PrismJS/prism/issues/788) [[`928790d`](https://github.com/PrismJS/prism/commit/928790d)] + +## 1.8.4 (2017-11-05) + +### Updated components + +* __ABAP__: + * Regexp optimisation [[`e7b411e`](https://github.com/PrismJS/prism/commit/e7b411e)] +* __ActionScript__: + * Fix XML regex + optimise [[`75d00d7`](https://github.com/PrismJS/prism/commit/75d00d7)] +* __Ada__: + * Regexp simplification [[`e881fe3`](https://github.com/PrismJS/prism/commit/e881fe3)] +* __Apacheconf__: + * Regexp optimisation [[`a065e61`](https://github.com/PrismJS/prism/commit/a065e61)] +* __APL__: + * Regexp simplification [[`33297c4`](https://github.com/PrismJS/prism/commit/33297c4)] +* __AppleScript__: + * Regexp optimisation [[`d879f36`](https://github.com/PrismJS/prism/commit/d879f36)] +* __Arduino__: + * Don't use captures if not needed [[`16b338f`](https://github.com/PrismJS/prism/commit/16b338f)] +* __ASP.NET__: + * Regexp optimisation [[`438926c`](https://github.com/PrismJS/prism/commit/438926c)] +* __AutoHotkey__: + * Regexp simplification + don't use captures if not needed [[`5edfd2f`](https://github.com/PrismJS/prism/commit/5edfd2f)] +* __Bash__: + * Regexp optimisation and simplification [[`75b9b29`](https://github.com/PrismJS/prism/commit/75b9b29)] +* __Bro__: + * Regexp simplification + don't use captures if not needed [[`d4b9003`](https://github.com/PrismJS/prism/commit/d4b9003)] +* __C__: + * Regexp optimisation + don't use captures if not needed [[`f61d487`](https://github.com/PrismJS/prism/commit/f61d487)] +* __C++__: + * Fix operator regexp + regexp simplification + don't use captures if not needed [[`ffeb26e`](https://github.com/PrismJS/prism/commit/ffeb26e)] +* __C#__: + * Remove duplicates in keywords + regexp optimisation + don't use captures if not needed [[`d28d178`](https://github.com/PrismJS/prism/commit/d28d178)] +* __C-like__: + * Regexp simplification + don't use captures if not needed [[`918e0ff`](https://github.com/PrismJS/prism/commit/918e0ff)] +* __CoffeeScript__: + * Regexp optimisation + don't use captures if not needed [[`5895978`](https://github.com/PrismJS/prism/commit/5895978)] +* __Crystal__: + * Remove trailing comma [[`16979a3`](https://github.com/PrismJS/prism/commit/16979a3)] +* __CSS__: + * Regexp simplification + don't use captures if not needed + handle multi-line style attributes [[`43d9f36`](https://github.com/PrismJS/prism/commit/43d9f36)] +* __CSS Extras__: + * Regexp simplification [[`134ed70`](https://github.com/PrismJS/prism/commit/134ed70)] +* __D__: + * Regexp optimisation [[`fbe39c9`](https://github.com/PrismJS/prism/commit/fbe39c9)] +* __Dart__: + * Regexp optimisation [[`f24e919`](https://github.com/PrismJS/prism/commit/f24e919)] +* __Django__: + * Regexp optimisation [[`a95c51d`](https://github.com/PrismJS/prism/commit/a95c51d)] +* __Docker__: + * Regexp optimisation [[`27f99ff`](https://github.com/PrismJS/prism/commit/27f99ff)] +* __Eiffel__: + * Regexp optimisation [[`b7cdea2`](https://github.com/PrismJS/prism/commit/b7cdea2)] +* __Elixir__: + * Regexp optimisation + uniform behavior between ~r and ~s [[`5d12e80`](https://github.com/PrismJS/prism/commit/5d12e80)] +* __Erlang__: + * Regexp optimisation [[`7547f83`](https://github.com/PrismJS/prism/commit/7547f83)] +* __F#__: + * Regexp optimisation + don't use captures if not needed [[`7753fc4`](https://github.com/PrismJS/prism/commit/7753fc4)] +* __Gherkin__: + * Regexp optimisation + don't use captures if not needed + added explanation comment on table-body regexp [[`f26197a`](https://github.com/PrismJS/prism/commit/f26197a)] +* __Git__: + * Regexp optimisation [[`b9483b9`](https://github.com/PrismJS/prism/commit/b9483b9)] +* __GLSL__: + * Regexp optimisation [[`e66d21b`](https://github.com/PrismJS/prism/commit/e66d21b)] +* __Go__: + * Regexp optimisation + don't use captures if not needed [[`88caabb`](https://github.com/PrismJS/prism/commit/88caabb)] +* __GraphQL__: + * Regexp optimisation and simplification [[`2474f06`](https://github.com/PrismJS/prism/commit/2474f06)] +* __Groovy__: + * Regexp optimisation + don't use captures if not needed [[`e74e00c`](https://github.com/PrismJS/prism/commit/e74e00c)] +* __Haml__: + * Regexp optimisation + don't use captures if not needed + fix typo in comment [[`23e3b43`](https://github.com/PrismJS/prism/commit/23e3b43)] +* __Handlebars__: + * Regexp optimisation + don't use captures if not needed [[`09dbfce`](https://github.com/PrismJS/prism/commit/09dbfce)] +* __Haskell__: + * Regexp simplification + don't use captures if not needed [[`f11390a`](https://github.com/PrismJS/prism/commit/f11390a)] +* __HTTP__: + * Regexp simplification + don't use captures if not needed [[`37ef24e`](https://github.com/PrismJS/prism/commit/37ef24e)] +* __Icon__: + * Regexp optimisation [[`9cf64a0`](https://github.com/PrismJS/prism/commit/9cf64a0)] +* __J__: + * Regexp simplification [[`de15150`](https://github.com/PrismJS/prism/commit/de15150)] +* __Java__: + * Don't use captures if not needed [[`96b35c8`](https://github.com/PrismJS/prism/commit/96b35c8)] +* __JavaScript__: + * Regexp optimisation + don't use captures if not needed [[`93d4002`](https://github.com/PrismJS/prism/commit/93d4002)] +* __Jolie__: + * Regexp optimisation + don't use captures if not needed + remove duplicates in keywords [[`a491f9e`](https://github.com/PrismJS/prism/commit/a491f9e)] +* __JSON__: + * Make strings greedy, remove negative look-ahead for ":". Fix [#1204](https://github.com/PrismJS/prism/issues/1204) [[`98acd2d`](https://github.com/PrismJS/prism/commit/98acd2d)] + * Regexp optimisation + don't use captures if not needed [[`8fc1b03`](https://github.com/PrismJS/prism/commit/8fc1b03)] +* __JSX__: + * Regexp optimisation + handle spread operator as a whole [[`28de4e2`](https://github.com/PrismJS/prism/commit/28de4e2)] +* __Julia__: + * Regexp optimisation and simplification [[`12684c0`](https://github.com/PrismJS/prism/commit/12684c0)] +* __Keyman__: + * Regexp optimisation + don't use captures if not needed [[`9726087`](https://github.com/PrismJS/prism/commit/9726087)] +* __Kotlin__: + * Regexp simplification [[`12ff8dc`](https://github.com/PrismJS/prism/commit/12ff8dc)] +* __LaTeX__: + * Regexp optimisation and simplification [[`aa426b0`](https://github.com/PrismJS/prism/commit/aa426b0)] +* __LiveScript__: + * Make interpolated strings greedy + fix variable and identifier regexps [[`c581049`](https://github.com/PrismJS/prism/commit/c581049)] +* __LOLCODE__: + * Don't use captures if not needed [[`52903af`](https://github.com/PrismJS/prism/commit/52903af)] +* __Makefile__: + * Regexp optimisation [[`20ae2e5`](https://github.com/PrismJS/prism/commit/20ae2e5)] +* __Markdown__: + * Don't use captures if not needed [[`f489a1e`](https://github.com/PrismJS/prism/commit/f489a1e)] +* __Markup__: + * Regexp optimisation + fix punctuation inside attr-value [[`ea380c6`](https://github.com/PrismJS/prism/commit/ea380c6)] +* __MATLAB__: + * Make strings greedy + handle line feeds better [[`4cd4f01`](https://github.com/PrismJS/prism/commit/4cd4f01)] +* __Monkey__: + * Don't use captures if not needed [[`7f47140`](https://github.com/PrismJS/prism/commit/7f47140)] +* __N4JS__: + * Don't use captures if not needed [[`2d3f9df`](https://github.com/PrismJS/prism/commit/2d3f9df)] +* __NASM__: + * Regexp optimisation and simplification + don't use captures if not needed [[`9937428`](https://github.com/PrismJS/prism/commit/9937428)] +* __nginx__: + * Remove trailing comma + remove duplicates in keywords [[`c6e7195`](https://github.com/PrismJS/prism/commit/c6e7195)] +* __NSIS__: + * Regexp optimisation + don't use captures if not needed [[`beeb107`](https://github.com/PrismJS/prism/commit/beeb107)] +* __Objective-C__: + * Don't use captures if not needed [[`9be0f88`](https://github.com/PrismJS/prism/commit/9be0f88)] +* __OCaml__: + * Regexp simplification [[`5f5f38c`](https://github.com/PrismJS/prism/commit/5f5f38c)] +* __OpenCL__: + * Don't use captures if not needed [[`5e70f1d`](https://github.com/PrismJS/prism/commit/5e70f1d)] +* __Oz__: + * Fix atom regexp [[`9320e92`](https://github.com/PrismJS/prism/commit/9320e92)] +* __PARI/GP__: + * Regexp optimisation [[`2c7b59b`](https://github.com/PrismJS/prism/commit/2c7b59b)] +* __Parser__: + * Regexp simplification [[`569d511`](https://github.com/PrismJS/prism/commit/569d511)] +* __Perl__: + * Regexp optimisation and simplification + don't use captures if not needed [[`0fe4cf6`](https://github.com/PrismJS/prism/commit/0fe4cf6)] +* __PHP__: + * Don't use captures if not needed Golmote [[`5235f18`](https://github.com/PrismJS/prism/commit/5235f18)] +* __PHP Extras__: + * Add word boundary after global keywords + don't use captures if not needed [[`9049a2a`](https://github.com/PrismJS/prism/commit/9049a2a)] +* __PowerShell__: + * Regexp optimisation + don't use captures if not needed [[`0d05957`](https://github.com/PrismJS/prism/commit/0d05957)] +* __Processing__: + * Regexp simplification [[`8110d38`](https://github.com/PrismJS/prism/commit/8110d38)] +* __.properties__: + * Regexp optimisation [[`678b621`](https://github.com/PrismJS/prism/commit/678b621)] +* __Protocol Buffers__: + * Don't use captures if not needed [[`3e256d8`](https://github.com/PrismJS/prism/commit/3e256d8)] +* __Pug__: + * Don't use captures if not needed [[`76dc925`](https://github.com/PrismJS/prism/commit/76dc925)] +* __Pure__: + * Make inline-lang greedy [[`92318b0`](https://github.com/PrismJS/prism/commit/92318b0)] +* __Python__: + * Add Python builtin function highlighting ([#1205](https://github.com/PrismJS/prism/issues/1205)) [[`2169c99`](https://github.com/PrismJS/prism/commit/2169c99)] + * Python: Add highlighting to functions with space between name and parentheses ([#1207](https://github.com/PrismJS/prism/issues/1207)) [[`3badd8a`](https://github.com/PrismJS/prism/commit/3badd8a)] + * Make triple-quoted strings greedy + regexp optimisation and simplification [[`f09f9f5`](https://github.com/PrismJS/prism/commit/f09f9f5)] +* __Qore__: + * Regexp simplification [[`69459f0`](https://github.com/PrismJS/prism/commit/69459f0)] +* __R__: + * Regexp optimisation [[`06a9da4`](https://github.com/PrismJS/prism/commit/06a9da4)] +* __Reason__: + * Regexp optimisation + don't use capture if not needed [[`19d79b4`](https://github.com/PrismJS/prism/commit/19d79b4)] +* __Ren'py__: + * Make strings greedy + don't use captures if not needed [[`91d84d9`](https://github.com/PrismJS/prism/commit/91d84d9)] +* __reST__: + * Regexp simplification + don't use captures if not needed [[`1a8b3e9`](https://github.com/PrismJS/prism/commit/1a8b3e9)] +* __Rip__: + * Regexp optimisation [[`d7f0ee8`](https://github.com/PrismJS/prism/commit/d7f0ee8)] +* __Ruby__: + * Regexp optimisation and simplification + don't use captures if not needed [[`4902ed4`](https://github.com/PrismJS/prism/commit/4902ed4)] +* __Rust__: + * Regexp optimisation and simplification + don't use captures if not needed [[`cc9d874`](https://github.com/PrismJS/prism/commit/cc9d874)] +* __Sass__: + * Regexp simplification Golmote [[`165d957`](https://github.com/PrismJS/prism/commit/165d957)] +* __Scala__: + * Regexp optimisation Golmote [[`5f50c12`](https://github.com/PrismJS/prism/commit/5f50c12)] +* __Scheme__: + * Regexp optimisation [[`bd19b04`](https://github.com/PrismJS/prism/commit/bd19b04)] +* __SCSS__: + * Regexp simplification [[`c60b7d4`](https://github.com/PrismJS/prism/commit/c60b7d4)] +* __Smalltalk__: + * Regexp simplification [[`41a2c76`](https://github.com/PrismJS/prism/commit/41a2c76)] +* __Smarty__: + * Regexp optimisation and simplification [[`e169be9`](https://github.com/PrismJS/prism/commit/e169be9)] +* __SQL__: + * Regexp optimisation [[`a6244a4`](https://github.com/PrismJS/prism/commit/a6244a4)] +* __Stylus__: + * Regexp optimisation [[`df9506c`](https://github.com/PrismJS/prism/commit/df9506c)] +* __Swift__: + * Don't use captures if not needed [[`a2d737a`](https://github.com/PrismJS/prism/commit/a2d737a)] +* __Tcl__: + * Regexp simplification + don't use captures if not needed [[`f0b8a33`](https://github.com/PrismJS/prism/commit/f0b8a33)] +* __Textile__: + * Regexp optimisation + don't use captures if not needed [[`08139ad`](https://github.com/PrismJS/prism/commit/08139ad)] +* __Twig__: + * Regexp optimisation and simplification + don't use captures if not needed [[`0b10fd0`](https://github.com/PrismJS/prism/commit/0b10fd0)] +* __TypeScript__: + * Don't use captures if not needed [[`e296caf`](https://github.com/PrismJS/prism/commit/e296caf)] +* __Verilog__: + * Regexp simplification [[`1b24b34`](https://github.com/PrismJS/prism/commit/1b24b34)] +* __VHDL__: + * Regexp optimisation and simplification [[`7af36df`](https://github.com/PrismJS/prism/commit/7af36df)] +* __vim__: + * Remove duplicates in keywords [[`700505e`](https://github.com/PrismJS/prism/commit/700505e)] +* __Wiki markup__: + * Fix escaping consistency [[`1fd690d`](https://github.com/PrismJS/prism/commit/1fd690d)] +* __YAML__: + * Regexp optimisation + don't use captures if not needed [[`1fd690d`](https://github.com/PrismJS/prism/commit/1fd690d)] + +### Other changes +* Remove comments spellcheck for AMP validation ([#1106](https://github.com/PrismJS/prism/issues/1106)) [[`de996d7`](https://github.com/PrismJS/prism/commit/de996d7)] +* Prevent error from throwing when element does not have a parentNode in highlightElement. [[`c33be19`](https://github.com/PrismJS/prism/commit/c33be19)] +* Provide a way to load Prism from inside a Worker without listening to messages. ([#1188](https://github.com/PrismJS/prism/issues/1188)) [[`d09982d`](https://github.com/PrismJS/prism/commit/d09982d)] + +## 1.8.3 (2017-10-19) + +### Other changes + +* Fix inclusion tests for Pug [[`955c2ab`](https://github.com/PrismJS/prism/commit/955c2ab)] + +## 1.8.2 (2017-10-19) + +### Updated components +* __Jade__: + * Jade has been renamed to __Pug__ ([#1201](https://github.com/PrismJS/prism/issues/1201)) [[`bcfef7c`](https://github.com/PrismJS/prism/commit/bcfef7c)] +* __JavaScript__: + * Better highlighting of functions ([#1190](https://github.com/PrismJS/prism/issues/1190)) [[`8ee2cd3`](https://github.com/PrismJS/prism/commit/8ee2cd3)] + +### Update plugins +* __Copy to clipboard__: + * Fix error occurring when using in Chrome 61+ ([#1206](https://github.com/PrismJS/prism/issues/1206)) [[`b41d571`](https://github.com/PrismJS/prism/commit/b41d571)] +* __Show invisibles__: + * Prevent error when using with Autoloader plugin ([#1195](https://github.com/PrismJS/prism/issues/1195)) [[`ed8bdb5`](https://github.com/PrismJS/prism/commit/ed8bdb5)] + +## 1.8.1 (2017-09-16) + +### Other changes + +* Add Arduino to components.js [[`290a3c6`](https://github.com/PrismJS/prism/commit/290a3c6)] + +## 1.8.0 (2017-09-16) + +### New components + +* __Arduino__ ([#1184](https://github.com/PrismJS/prism/issues/1184)) [[`edf2454`](https://github.com/PrismJS/prism/commit/edf2454)] +* __OpenCL__ ([#1175](https://github.com/PrismJS/prism/issues/1175)) [[`131e8fa`](https://github.com/PrismJS/prism/commit/131e8fa)] + +### Updated plugins + +* __Autolinker__: + * Silently catch any error thrown by decodeURIComponent. Fixes [#1186](https://github.com/PrismJS/prism/issues/1186) [[`2e43fcf`](https://github.com/PrismJS/prism/commit/2e43fcf)] + +## 1.7.0 (2017-09-09) + +### New components + +* __Django/Jinja2__ ([#1085](https://github.com/PrismJS/prism/issues/1085)) [[`345b1b2`](https://github.com/PrismJS/prism/commit/345b1b2)] +* __N4JS__ ([#1141](https://github.com/PrismJS/prism/issues/1141)) [[`eaa8ebb`](https://github.com/PrismJS/prism/commit/eaa8ebb)] +* __Ren'py__ ([#658](https://github.com/PrismJS/prism/issues/658)) [[`7ab4013`](https://github.com/PrismJS/prism/commit/7ab4013)] +* __VB.Net__ ([#1122](https://github.com/PrismJS/prism/issues/1122)) [[`5400651`](https://github.com/PrismJS/prism/commit/5400651)] + +### Updated components + +* __APL__: + * Add left shoe underbar and right shoe underbar ([#1072](https://github.com/PrismJS/prism/issues/1072)) [[`12238c5`](https://github.com/PrismJS/prism/commit/12238c5)] + * Update prism-apl.js ([#1126](https://github.com/PrismJS/prism/issues/1126)) [[`a5f3cdb`](https://github.com/PrismJS/prism/commit/a5f3cdb)] +* __C__: + * Add more keywords and constants for C. ([#1029](https://github.com/PrismJS/prism/issues/1029)) [[`43a388e`](https://github.com/PrismJS/prism/commit/43a388e)] +* __C#__: + * Fix wrong highlighting when three slashes appear inside string. Fix [#1091](https://github.com/PrismJS/prism/issues/1091) [[`dfb6f17`](https://github.com/PrismJS/prism/commit/dfb6f17)] +* __C-like__: + * Add support for unclosed block comments. Close [#828](https://github.com/PrismJS/prism/issues/828) [[`3426ed1`](https://github.com/PrismJS/prism/commit/3426ed1)] +* __Crystal__: + * Update Crystal keywords ([#1092](https://github.com/PrismJS/prism/issues/1092)) [[`125bff1`](https://github.com/PrismJS/prism/commit/125bff1)] +* __CSS Extras__: + * Support CSS #RRGGBBAA ([#1139](https://github.com/PrismJS/prism/issues/1139)) [[`07a6806`](https://github.com/PrismJS/prism/commit/07a6806)] +* __Docker__: + * Add dockerfile alias for docker language ([#1164](https://github.com/PrismJS/prism/issues/1164)) [[`601c47f`](https://github.com/PrismJS/prism/commit/601c47f)] + * Update the list of keywords for dockerfiles ([#1180](https://github.com/PrismJS/prism/issues/1180)) [[`f0d73e0`](https://github.com/PrismJS/prism/commit/f0d73e0)] +* __Eiffel__: + * Add class-name highlighting for Eiffel ([#471](https://github.com/PrismJS/prism/issues/471)) [[`cd03587`](https://github.com/PrismJS/prism/commit/cd03587)] +* __Handlebars__: + * Check for possible pre-existing marker strings in Handlebars [[`7a1a404`](https://github.com/PrismJS/prism/commit/7a1a404)] +* __JavaScript__: + * Properly match every operator as a whole token. Fix [#1133](https://github.com/PrismJS/prism/issues/1133) [[`9f649fb`](https://github.com/PrismJS/prism/commit/9f649fb)] + * Allows uppercase prefixes in JS number literals ([#1151](https://github.com/PrismJS/prism/issues/1151)) [[`d4ee904`](https://github.com/PrismJS/prism/commit/d4ee904)] + * Reduced backtracking in regex pattern. Fix [#1159](https://github.com/PrismJS/prism/issues/1159) [[`ac09e97`](https://github.com/PrismJS/prism/commit/ac09e97)] +* __JSON__: + * Fix property and string patterns performance. Fix [#1080](https://github.com/PrismJS/prism/issues/1080) [[`0ca1353`](https://github.com/PrismJS/prism/commit/0ca1353)] +* __JSX__: + * JSX spread operator break. Fixes [#1061](https://github.com/PrismJS/prism/issues/1061) ([#1094](https://github.com/PrismJS/prism/issues/1094)) [[`561bceb`](https://github.com/PrismJS/prism/commit/561bceb)] + * Fix highlighting of attributes containing spaces [[`867ea42`](https://github.com/PrismJS/prism/commit/867ea42)] + * Improved performance for tags (when not matching) Fix [#1152](https://github.com/PrismJS/prism/issues/1152) [[`b0fe103`](https://github.com/PrismJS/prism/commit/b0fe103)] +* __LOLCODE__: + * Make strings greedy Golmote [[`1a5e7a4`](https://github.com/PrismJS/prism/commit/1a5e7a4)] +* __Markup__: + * Support HTML entities in attribute values ([#1143](https://github.com/PrismJS/prism/issues/1143)) [[`1d5047d`](https://github.com/PrismJS/prism/commit/1d5047d)] +* __NSIS__: + * Update patterns ([#1033](https://github.com/PrismJS/prism/issues/1033)) [[`01a59d8`](https://github.com/PrismJS/prism/commit/01a59d8)] + * Add support for NSIS 3.02 ([#1169](https://github.com/PrismJS/prism/issues/1169)) [[`393b5f7`](https://github.com/PrismJS/prism/commit/393b5f7)] +* __PHP__: + * Fix the PHP language ([#1100](https://github.com/PrismJS/prism/issues/1100)) [[`1453fa7`](https://github.com/PrismJS/prism/commit/1453fa7)] + * Check for possible pre-existing marker strings in PHP [[`36bc560`](https://github.com/PrismJS/prism/commit/36bc560)] +* __Ruby__: + * Fix slash regex performance. Fix [#1083](https://github.com/PrismJS/prism/issues/1083) [[`a708730`](https://github.com/PrismJS/prism/commit/a708730)] + * Add support for =begin =end comments. Manual merge of [#1121](https://github.com/PrismJS/prism/issues/1121). [[`62cdaf8`](https://github.com/PrismJS/prism/commit/62cdaf8)] +* __Smarty__: + * Check for possible pre-existing marker strings in Smarty [[`5df26e2`](https://github.com/PrismJS/prism/commit/5df26e2)] +* __TypeScript__: + * Update typescript keywords ([#1064](https://github.com/PrismJS/prism/issues/1064)) [[`52020a0`](https://github.com/PrismJS/prism/commit/52020a0)] + * Chmod -x prism-typescript component ([#1145](https://github.com/PrismJS/prism/issues/1145)) [[`afe0542`](https://github.com/PrismJS/prism/commit/afe0542)] +* __YAML__: + * Make strings greedy (partial fix for [#1075](https://github.com/PrismJS/prism/issues/1075)) [[`565a2cc`](https://github.com/PrismJS/prism/commit/565a2cc)] + +### Updated plugins + +* __Autolinker__: + * Fixed an rendering issue for encoded urls ([#1173](https://github.com/PrismJS/prism/issues/1173)) [[`abc007f`](https://github.com/PrismJS/prism/commit/abc007f)] +* __Custom Class__: + * Add missing noCSS property for the Custom Class plugin [[`ba64f8d`](https://github.com/PrismJS/prism/commit/ba64f8d)] + * Added a default for classMap. Fixes [#1137](https://github.com/PrismJS/prism/issues/1137). ([#1157](https://github.com/PrismJS/prism/issues/1157)) [[`5400af9`](https://github.com/PrismJS/prism/commit/5400af9)] +* __Keep Markup__: + * Store highlightedCode after reinserting markup. Fix [#1127](https://github.com/PrismJS/prism/issues/1127) [[`6df2ceb`](https://github.com/PrismJS/prism/commit/6df2ceb)] +* __Line Highlight__: + * Cleanup left-over line-highlight tags before other plugins run [[`79b723d`](https://github.com/PrismJS/prism/commit/79b723d)] + * Avoid conflict between line-highlight and other plugins [[`224fdb8`](https://github.com/PrismJS/prism/commit/224fdb8)] +* __Line Numbers__: + * Support soft wrap for line numbers plugin ([#584](https://github.com/PrismJS/prism/issues/584)) [[`849f1d6`](https://github.com/PrismJS/prism/commit/849f1d6)] + * Plugins fixes (unescaped-markup, line-numbers) ([#1012](https://github.com/PrismJS/prism/issues/1012)) [[`3fb7cf8`](https://github.com/PrismJS/prism/commit/3fb7cf8)] +* __Normalize Whitespace__: + * Add Node.js support for the normalize-whitespace plugin [[`6c7dae2`](https://github.com/PrismJS/prism/commit/6c7dae2)] +* __Unescaped Markup__: + * Plugins fixes (unescaped-markup, line-numbers) ([#1012](https://github.com/PrismJS/prism/issues/1012)) [[`3fb7cf8`](https://github.com/PrismJS/prism/commit/3fb7cf8)] + +### Updated themes +* __Coy__: + * Scroll 'Coy' background with contents ([#1163](https://github.com/PrismJS/prism/issues/1163)) [[`310990b`](https://github.com/PrismJS/prism/commit/310990b)] + +### Other changes + +* Initial implementation of manual highlighting ([#1087](https://github.com/PrismJS/prism/issues/1087)) [[`bafc4cb`](https://github.com/PrismJS/prism/commit/bafc4cb)] +* Remove dead link in Third-party tutorials section. Fixes [#1028](https://github.com/PrismJS/prism/issues/1028) [[`dffadc6`](https://github.com/PrismJS/prism/commit/dffadc6)] +* Most languages now use the greedy flag for better highlighting [[`7549ecc`](https://github.com/PrismJS/prism/commit/7549ecc)] +* .npmignore: Unignore components.js ([#1108](https://github.com/PrismJS/prism/issues/1108)) [[`1f699e7`](https://github.com/PrismJS/prism/commit/1f699e7)] +* Run before-highlight and after-highlight hooks even when no grammar is found. Fix [#1134](https://github.com/PrismJS/prism/issues/1134) [[`70cb472`](https://github.com/PrismJS/prism/commit/70cb472)] +* Replace [\w\W] with [\s\S] and [0-9] with \d in regexes ([#1107](https://github.com/PrismJS/prism/issues/1107)) [[`8aa2cc4`](https://github.com/PrismJS/prism/commit/8aa2cc4)] +* Fix corner cases for the greedy flag ([#1095](https://github.com/PrismJS/prism/issues/1095)) [[`6530709`](https://github.com/PrismJS/prism/commit/6530709)] +* Add Third Party Tutorial ([#1156](https://github.com/PrismJS/prism/issues/1156)) [[`c34e57b`](https://github.com/PrismJS/prism/commit/c34e57b)] +* Add Composer support ([#648](https://github.com/PrismJS/prism/issues/648)) [[`2989633`](https://github.com/PrismJS/prism/commit/2989633)] +* Remove IE8 plugin ([#992](https://github.com/PrismJS/prism/issues/992)) [[`25788eb`](https://github.com/PrismJS/prism/commit/25788eb)] +* Website: remove width and height on logo.svg, so it becomes scalable. Close [#1005](https://github.com/PrismJS/prism/issues/1005) [[`0621ff7`](https://github.com/PrismJS/prism/commit/0621ff7)] +* Remove yarn.lock ([#1098](https://github.com/PrismJS/prism/issues/1098)) [[`11eed25`](https://github.com/PrismJS/prism/commit/11eed25)] + +## 1.6.0 (2016-12-03) + +### New components + +* __.properties__ ([#980](https://github.com/PrismJS/prism/issues/980)) [[`be6219a`](https://github.com/PrismJS/prism/commit/be6219a)] +* __Ada__ ([#949](https://github.com/PrismJS/prism/issues/949)) [[`65619f7`](https://github.com/PrismJS/prism/commit/65619f7)] +* __GraphQL__ ([#971](https://github.com/PrismJS/prism/issues/971)) [[`e018087`](https://github.com/PrismJS/prism/commit/e018087)] +* __Jolie__ ([#1014](https://github.com/PrismJS/prism/issues/1014)) [[`dfc1941`](https://github.com/PrismJS/prism/commit/dfc1941)] +* __LiveScript__ ([#982](https://github.com/PrismJS/prism/issues/982)) [[`62e258c`](https://github.com/PrismJS/prism/commit/62e258c)] +* __Reason__ (Fixes [#1046](https://github.com/PrismJS/prism/issues/1046)) [[`3cae6ce`](https://github.com/PrismJS/prism/commit/3cae6ce)] +* __Xojo__ ([#994](https://github.com/PrismJS/prism/issues/994)) [[`0224b7c`](https://github.com/PrismJS/prism/commit/0224b7c)] + +### Updated components + +* __APL__: + * Add iota underbar ([#1024](https://github.com/PrismJS/prism/issues/1024)) [[`3c5c89a`](https://github.com/PrismJS/prism/commit/3c5c89a), [`ac21d33`](https://github.com/PrismJS/prism/commit/ac21d33)] +* __AsciiDoc__: + * Optimized block regexps to prevent struggling on large files. Fixes [#1001](https://github.com/PrismJS/prism/issues/1001). [[`1a86d34`](https://github.com/PrismJS/prism/commit/1a86d34)] +* __Bash__: + * Add `npm` to function list ([#969](https://github.com/PrismJS/prism/issues/969)) [[`912bdfe`](https://github.com/PrismJS/prism/commit/912bdfe)] +* __CSS__: + * Make CSS strings greedy. Fix [#1013](https://github.com/PrismJS/prism/issues/1013). [[`e57e26d`](https://github.com/PrismJS/prism/commit/e57e26d)] +* __CSS Extras__: + * Match attribute inside selectors [[`13fed76`](https://github.com/PrismJS/prism/commit/13fed76)] +* __Groovy__: + * Fix order of decoding entities in groovy. Fixes [#1049](https://github.com/PrismJS/prism/issues/1049) ([#1050](https://github.com/PrismJS/prism/issues/1050)) [[`d75da8e`](https://github.com/PrismJS/prism/commit/d75da8e)] +* __Ini__: + * Remove important token in ini definition ([#1047](https://github.com/PrismJS/prism/issues/1047)) [[`fe8ad8b`](https://github.com/PrismJS/prism/commit/fe8ad8b)] +* __JavaScript__: + * Add exponentiation & spread/rest operator ([#991](https://github.com/PrismJS/prism/issues/991)) [[`b2de65a`](https://github.com/PrismJS/prism/commit/b2de65a), [`268d01e`](https://github.com/PrismJS/prism/commit/268d01e)] +* __JSON__: + * JSON: Fixed issues with properties and strings + added tests. Fix [#1025](https://github.com/PrismJS/prism/issues/1025) [[`25a541d`](https://github.com/PrismJS/prism/commit/25a541d)] +* __Markup__: + * Allow for dots in Markup tag names, but not in HTML tags included in Textile. Fixes [#888](https://github.com/PrismJS/prism/issues/888). [[`31ea66b`](https://github.com/PrismJS/prism/commit/31ea66b)] + * Make doctype case-insensitive ([#1009](https://github.com/PrismJS/prism/issues/1009)) [[`3dd7219`](https://github.com/PrismJS/prism/commit/3dd7219)] +* __NSIS__: + * Updated patterns ([#1032](https://github.com/PrismJS/prism/issues/1032)) [[`76ba1b8`](https://github.com/PrismJS/prism/commit/76ba1b8)] +* __PHP__: + * Make comments greedy. Fix [#197](https://github.com/PrismJS/prism/issues/197) [[`318aab3`](https://github.com/PrismJS/prism/commit/318aab3)] +* __PowerShell__: + * Fix highlighting of empty comments ([#977](https://github.com/PrismJS/prism/issues/977)) [[`4fda477`](https://github.com/PrismJS/prism/commit/4fda477)] +* __Puppet__: + * Fix over-greedy regexp detection ([#978](https://github.com/PrismJS/prism/issues/978)) [[`105be25`](https://github.com/PrismJS/prism/commit/105be25)] +* __Ruby__: + * Fix typo `Fload` to `Float` in prism-ruby.js ([#1023](https://github.com/PrismJS/prism/issues/1023)) [[`22cb018`](https://github.com/PrismJS/prism/commit/22cb018)] + * Make strings greedy. Fixes [#1048](https://github.com/PrismJS/prism/issues/1048) [[`8b0520a`](https://github.com/PrismJS/prism/commit/8b0520a)] +* __SCSS__: + * Alias statement as keyword. Fix [#246](https://github.com/PrismJS/prism/issues/246) [[`fd09391`](https://github.com/PrismJS/prism/commit/fd09391)] + * Highlight variables inside selectors and properties. [[`d6b5c2f`](https://github.com/PrismJS/prism/commit/d6b5c2f)] + * Highlight parent selector [[`8f5f1fa`](https://github.com/PrismJS/prism/commit/8f5f1fa)] +* __TypeScript__: + * Add missing `from` keyword to typescript & set `ts` as alias. ([#1042](https://github.com/PrismJS/prism/issues/1042)) [[`cba78f3`](https://github.com/PrismJS/prism/commit/cba78f3)] + +### New plugins + +* __Copy to Clipboard__ ([#891](https://github.com/PrismJS/prism/issues/891)) [[`07b81ac`](https://github.com/PrismJS/prism/commit/07b81ac)] +* __Custom Class__ ([#950](https://github.com/PrismJS/prism/issues/950)) [[`a0bd686`](https://github.com/PrismJS/prism/commit/a0bd686)] +* __Data-URI Highlight__ ([#996](https://github.com/PrismJS/prism/issues/996)) [[`bdca61b`](https://github.com/PrismJS/prism/commit/bdca61b)] +* __Toolbar__ ([#891](https://github.com/PrismJS/prism/issues/891)) [[`07b81ac`](https://github.com/PrismJS/prism/commit/07b81ac)] + +### Updated plugins + +* __Autoloader__: + * Updated documentation for Autoloader plugin [[`b4f3423`](https://github.com/PrismJS/prism/commit/b4f3423)] + * Download all grammars as a zip from Autoloader plugin page ([#981](https://github.com/PrismJS/prism/issues/981)) [[`0d0a007`](https://github.com/PrismJS/prism/commit/0d0a007), [`5c815d3`](https://github.com/PrismJS/prism/commit/5c815d3)] + * Removed duplicated script on Autoloader plugin page [[`9671996`](https://github.com/PrismJS/prism/commit/9671996)] + * Don't try to load "none" component. Fix [#1000](https://github.com/PrismJS/prism/issues/1000) [[`f89b0b9`](https://github.com/PrismJS/prism/commit/f89b0b9)] +* __WPD__: + * Fix at-rule detection + don't process if language is not handled [[`2626728`](https://github.com/PrismJS/prism/commit/2626728)] + +### Other changes + +* Improvement to greedy-flag ([#967](https://github.com/PrismJS/prism/issues/967)) [[`500121b`](https://github.com/PrismJS/prism/commit/500121b), [`9893489`](https://github.com/PrismJS/prism/commit/9893489)] +* Add setTimeout fallback for requestAnimationFrame. Fixes [#987](https://github.com/PrismJS/prism/issues/987). ([#988](https://github.com/PrismJS/prism/issues/988)) [[`c9bdcd3`](https://github.com/PrismJS/prism/commit/c9bdcd3)] +* Added aria-hidden attributes on elements created by the Line Highlight and Line Numbers plugins. Fixes [#574](https://github.com/PrismJS/prism/issues/574). [[`e5587a7`](https://github.com/PrismJS/prism/commit/e5587a7)] +* Don't insert space before ">" when there is no attributes [[`3dc8c9e`](https://github.com/PrismJS/prism/commit/3dc8c9e)] +* Added missing hooks-related tests for AsciiDoc, Groovy, Handlebars, Markup, PHP and Smarty [[`c1a0c1b`](https://github.com/PrismJS/prism/commit/c1a0c1b)] +* Fix issue when using Line numbers plugin and Normalise whitespace plugin together with Handlebars, PHP or Smarty. Fix [#1018](https://github.com/PrismJS/prism/issues/1018), [#997](https://github.com/PrismJS/prism/issues/997), [#935](https://github.com/PrismJS/prism/issues/935). Revert [#998](https://github.com/PrismJS/prism/issues/998). [[`86aa3d2`](https://github.com/PrismJS/prism/commit/86aa3d2)] +* Optimized logo ([#990](https://github.com/PrismJS/prism/issues/990)) ([#1002](https://github.com/PrismJS/prism/issues/1002)) [[`f69e570`](https://github.com/PrismJS/prism/commit/f69e570), [`218fd25`](https://github.com/PrismJS/prism/commit/218fd25)] +* Remove unneeded prefixed CSS ([#989](https://github.com/PrismJS/prism/issues/989)) [[`5e56833`](https://github.com/PrismJS/prism/commit/5e56833)] +* Optimize images ([#1007](https://github.com/PrismJS/prism/issues/1007)) [[`b2fa6d5`](https://github.com/PrismJS/prism/commit/b2fa6d5)] +* Add yarn.lock to .gitignore ([#1035](https://github.com/PrismJS/prism/issues/1035)) [[`03ecf74`](https://github.com/PrismJS/prism/commit/03ecf74)] +* Fix greedy flag bug. Fixes [#1039](https://github.com/PrismJS/prism/issues/1039) [[`32cd99f`](https://github.com/PrismJS/prism/commit/32cd99f)] +* Ruby: Fix test after [#1023](https://github.com/PrismJS/prism/issues/1023) [[`b15d43b`](https://github.com/PrismJS/prism/commit/b15d43b)] +* Ini: Fix test after [#1047](https://github.com/PrismJS/prism/issues/1047) [[`25cdd3f`](https://github.com/PrismJS/prism/commit/25cdd3f)] +* Reduce risk of XSS ([#1051](https://github.com/PrismJS/prism/issues/1051)) [[`17e33bc`](https://github.com/PrismJS/prism/commit/17e33bc)] +* env.code can be modified by before-sanity-check hook even when using language-none. Fix [#1066](https://github.com/PrismJS/prism/issues/1066) [[`83bafbd`](https://github.com/PrismJS/prism/commit/83bafbd)] + + +## 1.5.1 (2016-06-05) + +### Updated components + +* __Normalize Whitespace__: + * Add class that disables the normalize whitespace plugin [[`9385c54`](https://github.com/PrismJS/prism/commit/9385c54)] +* __JavaScript Language__: + * Rearrange the `string` and `template-string` token in JavaScript [[`1158e46`](https://github.com/PrismJS/prism/commit/1158e46)] +* __SQL Language__: + * add delimeter and delimeters keywords to sql ([#958](https://github.com/PrismJS/prism/pull/958)) [[`a9ef24e`](https://github.com/PrismJS/prism/commit/a9ef24e)] + * add AUTO_INCREMENT and DATE keywords to sql ([#954](https://github.com/PrismJS/prism/pull/954)) [[`caea2af`](https://github.com/PrismJS/prism/commit/caea2af)] +* __Diff Language__: + * Highlight diff lines with only + or - ([#952](https://github.com/PrismJS/prism/pull/952)) [[`4d0526f`](https://github.com/PrismJS/prism/commit/4d0526f)] + +### Other changes + +* Allow for asynchronous loading of prism.js ([#959](https://github.com/PrismJS/prism/pull/959)) +* Use toLowerCase on language names ([#957](https://github.com/PrismJS/prism/pull/957)) [[`acd9508`](https://github.com/PrismJS/prism/commit/acd9508)] +* link to index for basic usage - fixes [#945](https://github.com/PrismJS/prism/issues/945) ([#946](https://github.com/PrismJS/prism/pull/946)) [[`6c772d8`](https://github.com/PrismJS/prism/commit/6c772d8)] +* Fixed monospace typo ([#953](https://github.com/PrismJS/prism/pull/953)) [[`e6c3498`](https://github.com/PrismJS/prism/commit/e6c3498)] + +## 1.5.0 (2016-05-01) + +### New components + +* __Bro Language__ ([#925](https://github.com/PrismJS/prism/pull/925)) +* __Protocol Buffers Language__ ([#938](https://github.com/PrismJS/prism/pull/938)) [[`ae4a4f2`](https://github.com/PrismJS/prism/commit/ae4a4f2)] + +### Updated components + +* __Keep Markup__: + * Fix Keep Markup plugin incorrect highlighting ([#880](https://github.com/PrismJS/prism/pull/880)) [[`24841ef`](https://github.com/PrismJS/prism/commit/24841ef)] +* __Groovy Language__: + * Fix double HTML-encoding bug in Groovy language [[`24a0936`](https://github.com/PrismJS/prism/commit/24a0936)] +* __Java Language__: + * Adding annotation token for Java ([#905](https://github.com/PrismJS/prism/pull/905)) [[`367ace6`](https://github.com/PrismJS/prism/commit/367ace6)] +* __SAS Language__: + * Add missing keywords for SAS ([#922](https://github.com/PrismJS/prism/pull/922)) +* __YAML Language__: + * fix hilighting of YAML keys on first line of code block ([#943](https://github.com/PrismJS/prism/pull/943)) [[`f19db81`](https://github.com/PrismJS/prism/commit/f19db81)] +* __C# Language__: + * Support for generic methods in csharp [[`6f75735`](https://github.com/PrismJS/prism/commit/6f75735)] + +### New plugins + +* __Unescaped Markup__ [[`07d77e5`](https://github.com/PrismJS/prism/commit/07d77e5)] +* __Normalize Whitespace__ ([#847](https://github.com/PrismJS/prism/pull/847)) [[`e86ec01`](https://github.com/PrismJS/prism/commit/e86ec01)] + +### Other changes + +* Add JSPM support [[`ad048ab`](https://github.com/PrismJS/prism/commit/ad048ab)] +* update linear-gradient syntax from `left` to `to right` [[`cd234dc`](https://github.com/PrismJS/prism/commit/cd234dc)] +* Add after-property to allow ordering of plugins [[`224b7a1`](https://github.com/PrismJS/prism/commit/224b7a1)] +* Partial solution for the "Comment-like substrings"-problem [[`2705c50`](https://github.com/PrismJS/prism/commit/2705c50)] +* Add property 'aliasTitles' to components.js [[`54400fb`](https://github.com/PrismJS/prism/commit/54400fb)] +* Add before-highlightall hook [[`70a8602`](https://github.com/PrismJS/prism/commit/70a8602)] +* Fix catastrophic backtracking regex issues in JavaScript [[`ab65be2`](https://github.com/PrismJS/prism/commit/ab65be2)] + +## 1.4.1 (2016-02-03) + +### Other changes + +* Fix DFS bug in Prism core [[`b86c727`](https://github.com/PrismJS/prism/commit/b86c727)] + +## 1.4.0 (2016-02-03) + +### New components + +* __Solarized Light__ ([#855](https://github.com/PrismJS/prism/pull/855)) [[`70846ba`](https://github.com/PrismJS/prism/commit/70846ba)] +* __JSON__ ([#370](https://github.com/PrismJS/prism/pull/370)) [[`ad2fcd0`](https://github.com/PrismJS/prism/commit/ad2fcd0)] + +### Updated components + +* __Show Language__: + * Remove data-language attribute ([#840](https://github.com/PrismJS/prism/pull/840)) [[`eb9a83c`](https://github.com/PrismJS/prism/commit/eb9a83c)] + * Allow custom label without a language mapping ([#837](https://github.com/PrismJS/prism/pull/837)) [[`7e74aef`](https://github.com/PrismJS/prism/commit/7e74aef)] +* __JSX__: + * Better Nesting in JSX attributes ([#842](https://github.com/PrismJS/prism/pull/842)) [[`971dda7`](https://github.com/PrismJS/prism/commit/971dda7)] +* __File Highlight__: + * Defer File Highlight until the full DOM has loaded. ([#844](https://github.com/PrismJS/prism/pull/844)) [[`6f995ef`](https://github.com/PrismJS/prism/commit/6f995ef)] +* __Coy Theme__: + * Fix coy theme shadows ([#865](https://github.com/PrismJS/prism/pull/865)) [[`58d2337`](https://github.com/PrismJS/prism/commit/58d2337)] +* __Show Invisibles__: + * Ensure show-invisibles compat with autoloader ([#874](https://github.com/PrismJS/prism/pull/874)) [[`c3cfb1f`](https://github.com/PrismJS/prism/commit/c3cfb1f)] + * Add support for the space character for the show-invisibles plugin ([#876](https://github.com/PrismJS/prism/pull/876)) [[`05442d3`](https://github.com/PrismJS/prism/commit/05442d3)] + +### New plugins + +* __Command Line__ ([#831](https://github.com/PrismJS/prism/pull/831)) [[`8378906`](https://github.com/PrismJS/prism/commit/8378906)] + +### Other changes + +* Use document.currentScript instead of document.getElementsByTagName() [[`fa98743`](https://github.com/PrismJS/prism/commit/fa98743)] +* Add prefix for Firefox selection and move prefixed rule first [[`6d54717`](https://github.com/PrismJS/prism/commit/6d54717)] +* No background for `` in `
    ` [[`8c310bc`](https://github.com/PrismJS/prism/commit/8c310bc)]
    +* Fixing to initial copyright year [[`69cbf7a`](https://github.com/PrismJS/prism/commit/69cbf7a)]
    +* Simplify the “lang” regex [[`417f54a`](https://github.com/PrismJS/prism/commit/417f54a)]
    +* Fix broken heading links [[`a7f9e62`](https://github.com/PrismJS/prism/commit/a7f9e62)]
    +* Prevent infinite recursion in DFS [[`02894e1`](https://github.com/PrismJS/prism/commit/02894e1)]
    +* Fix incorrect page title [[`544b56f`](https://github.com/PrismJS/prism/commit/544b56f)]
    +* Link scss to webplatform wiki [[`08d979a`](https://github.com/PrismJS/prism/commit/08d979a)]
    +* Revert white-space to normal when code is inline instead of in a pre [[`1a971b5`](https://github.com/PrismJS/prism/commit/1a971b5)]
    +
    +## 1.3.0 (2015-10-26)
    +
    +### New components
    +
    +* __AsciiDoc__ ([#800](https://github.com/PrismJS/prism/issues/800)) [[`6803ca0`](https://github.com/PrismJS/prism/commit/6803ca0)]
    +* __Haxe__ ([#811](https://github.com/PrismJS/prism/issues/811)) [[`bd44341`](https://github.com/PrismJS/prism/commit/bd44341)]
    +* __Icon__ ([#803](https://github.com/PrismJS/prism/issues/803)) [[`b43c5f3`](https://github.com/PrismJS/prism/commit/b43c5f3)]
    +* __Kotlin__ ([#814](https://github.com/PrismJS/prism/issues/814)) [[`e8a31a5`](https://github.com/PrismJS/prism/commit/e8a31a5)]
    +* __Lua__ ([#804](https://github.com/PrismJS/prism/issues/804)) [[`a36bc4a`](https://github.com/PrismJS/prism/commit/a36bc4a)]
    +* __Nix__ ([#795](https://github.com/PrismJS/prism/issues/795)) [[`9b275c8`](https://github.com/PrismJS/prism/commit/9b275c8)]
    +* __Oz__ ([#805](https://github.com/PrismJS/prism/issues/805)) [[`388c53f`](https://github.com/PrismJS/prism/commit/388c53f)]
    +* __PARI/GP__ ([#802](https://github.com/PrismJS/prism/issues/802)) [[`253c035`](https://github.com/PrismJS/prism/commit/253c035)]
    +* __Parser__ ([#808](https://github.com/PrismJS/prism/issues/808)) [[`a953b3a`](https://github.com/PrismJS/prism/commit/a953b3a)]
    +* __Puppet__ ([#813](https://github.com/PrismJS/prism/issues/813)) [[`81933ee`](https://github.com/PrismJS/prism/commit/81933ee)]
    +* __Roboconf__ ([#812](https://github.com/PrismJS/prism/issues/812)) [[`f5db346`](https://github.com/PrismJS/prism/commit/f5db346)]
    +
    +### Updated components
    +
    +* __C__:
    +	* Highlight directives in preprocessor lines ([#801](https://github.com/PrismJS/prism/issues/801)) [[`ad316a3`](https://github.com/PrismJS/prism/commit/ad316a3)]
    +* __C#__:
    +	* Highlight directives in preprocessor lines ([#801](https://github.com/PrismJS/prism/issues/801)) [[`ad316a3`](https://github.com/PrismJS/prism/commit/ad316a3)]
    +	* Fix detection of float numbers ([#806](https://github.com/PrismJS/prism/issues/806)) [[`1dae72b`](https://github.com/PrismJS/prism/commit/1dae72b)]
    +* __F#__:
    +	* Highlight directives in preprocessor lines ([#801](https://github.com/PrismJS/prism/issues/801)) [[`ad316a3`](https://github.com/PrismJS/prism/commit/ad316a3)]
    +* __JavaScript__:
    +	* Highlight true and false as booleans ([#801](https://github.com/PrismJS/prism/issues/801)) [[`ad316a3`](https://github.com/PrismJS/prism/commit/ad316a3)]
    +* __Python__:
    +	* Highlight triple-quoted strings before comments. Fix [#815](https://github.com/PrismJS/prism/issues/815) [[`90fbf0b`](https://github.com/PrismJS/prism/commit/90fbf0b)]
    +
    +### New plugins
    +
    +* __Previewer: Time__ ([#790](https://github.com/PrismJS/prism/issues/790)) [[`88173de`](https://github.com/PrismJS/prism/commit/88173de)]
    +* __Previewer: Angle__ ([#791](https://github.com/PrismJS/prism/issues/791)) [[`a434c86`](https://github.com/PrismJS/prism/commit/a434c86)]
    +
    +### Other changes
    +
    +* Increase mocha's timeout [[`f1c41db`](https://github.com/PrismJS/prism/commit/f1c41db)]
    +* Prevent most errors in IE8. Fix [#9](https://github.com/PrismJS/prism/issues/9) [[`9652d75`](https://github.com/PrismJS/prism/commit/9652d75)]
    +* Add U.S. Web Design Standards on homepage. Fix [#785](https://github.com/PrismJS/prism/issues/785) [[`e10d48b`](https://github.com/PrismJS/prism/commit/e10d48b), [`79ebbf8`](https://github.com/PrismJS/prism/commit/79ebbf8), [`2f7088d`](https://github.com/PrismJS/prism/commit/2f7088d)]
    +* Added gulp task to autolink PRs and commits in changelog [[`5ec4e4d`](https://github.com/PrismJS/prism/commit/5ec4e4d)]
    +* Use child processes to run each set of tests, in order to deal with the memory leak in vm.runInNewContext() [[`9a4b6fa`](https://github.com/PrismJS/prism/commit/9a4b6fa)]
    +
    +## 1.2.0 (2015-10-07)
    +
    +### New components
    +
    +* __Batch__ ([#781](https://github.com/PrismJS/prism/issues/781)) [[`eab5b06`](https://github.com/PrismJS/prism/commit/eab5b06)]
    +
    +### Updated components
    +
    +* __ASP.NET__:
    +	* Simplified pattern for `
    +
    +
    +
    +```
    +
    +note: you should replace `@latest` to the latest version (ex `@2.4.3`), if you want to lock to a specific version.
    +You can find the full list of modules available [there](https://unpkg.com/simplebar@latest/dist/).
    +
    +### Usage
    +
    +Check out the [React](https://github.com/Grsmto/simplebar/blob/master/examples/react/src/App.js) and [Vue](https://github.com/Grsmto/simplebar/blob/master/examples/vue/src/App.vue) examples.
    +
    +If you are using Gatsby, please see [#345](https://github.com/Grsmto/simplebar/issues/345).
    +
    +If you are using a module loader (like Webpack) you first need to load SimpleBar:
    +
    +```js
    +import 'simplebar'; // or "import SimpleBar from 'simplebar';" if you want to use it manually.
    +import 'simplebar/dist/simplebar.css';
    +```
    +
    +Set `data-simplebar` on the element you want your custom scrollbar. You're done.
    +
    +```html
    +
    +``` + +**Don't forget to import both css and js in your project!** + +### Noscript support + +To make sure your elements are scrollable when JavaScript is disabled, it's important to include this snippet in your `` to reset scrolling: + +```js + +``` + +### :warning: Warning! + +SimpleBar is **not intended to be used on the `body` element!** I don't recommend wrapping your entire web page inside a custom scroll as it will often badly affect the user experience (slower scroll performance compared to the native body scroll, no native scroll behaviours like click on track, etc.). Do it at your own risk! SimpleBar is meant to improve the experience of **internal web page scrolling**; such as a chat box or a small scrolling area. **Please read the [caveats](#5-caveats) section first to be aware of the limitations!** + +### Troubleshooting + +If you are experiencing issues when setting up SimpleBar, it is most likely because your styles are clashing with SimpleBar ones. Make sure the element you are setting SimpleBar on does not override any SimpleBar css properties! **We recommend to not style that element at all and use an inner element instead.** + +### Sponsors + +Thanks to BrowserStack for sponsoring open source projects and letting us test SimpleBar for free. + + + + +--- + +1. [Documentation](#1-documentation) +2. [Browsers support](#2-browsers-support) +3. [Demo](#3-demo) +4. [How it works](#4-how-it-works) +5. [Caveats](#5-caveats) +6. [Changelog](#6-changelog) +7. [Credits](#7-credits) + +## 1. Documentation + +### Other usages + +You can start SimpleBar manually if you need to: + +```js +new SimpleBar(document.getElementById('myElement')); +``` + +or + +```js +Array.prototype.forEach.call( + document.querySelectorAll('.myElements'), + el => new SimpleBar() +); +``` + +If you want to use jQuery: + +```js +new SimpleBar($('#myElement')[0]); +``` + +or + +```js +$('.myElements').each(element, new SimpleBar()); +``` + +### Styling + +The default styling is applied with CSS. There is no "built-in" way to style the scrollbar, you just need to override the default CSS. + +Ex, to change the color of the scrollbar: +```css +.simplebar-scrollbar::before { + background-color: red; +} +``` + +### Options + +Options can be applied to the plugin during initialization: + +```js +new SimpleBar(document.getElementById('myElement'), { + option1: value1, + option2: value2 +}); +``` + +or using data-attributes: + +```html +
    +``` + +Available options are: + +#### autoHide + +By default SimpleBar automatically hides the scrollbar if the user is not scrolling (it emulates Mac OSX Lion's scrollbar). You can make the scrollbar always visible by setting the `autoHide` option to `false`: + +```js +new SimpleBar(document.getElementById('myElement'), { autoHide: false }); +``` + +Default value is `true`. + +You can also control the animation via CSS as it's a simple CSS opacity transition. + +#### classNames + +It is possible to change the default class names that SimpleBar uses. To get your own styles to work refer to `simplebar.css` to get an idea how to setup your css. + +- `content` represents the wrapper for the content being scrolled. +- `scrollContent` represents the container containing the elements being scrolled. +- `scrollbar` defines the style of the scrollbar with which the user can interact to scroll the content. +- `track` styles the area surrounding the `scrollbar`. + +```js +classNames: { + // defaults + content: 'simplebar-content', + scrollContent: 'simplebar-scroll-content', + scrollbar: 'simplebar-scrollbar', + track: 'simplebar-track' +} +``` + +#### forceVisible + +You can force the track to be visible (same behaviour as `overflow: scroll`) using the `forceVisible` option: + +``` +forceVisible: true|'x'|'y' (default to `false`) +``` + +By default, SimpleBar behave like `overflow: auto`. + +#### direction (RTL support) + +You can activate RTL support by passing the `direction` option: + +``` +direction: 'rtl' (default to `ltr`) +``` + +You will need both `data-simplebar-direction='rtl'` and a css rule with `direction: rtl`. + +#### timeout + +Define the delay until the scrollbar hides. Has no effect if `autoHide` is `false`. + +Default value is `1000`. + +#### clickOnTrack + +Controls the click on track behaviour. + +Default to `true`. + +#### scrollbarMinSize / scrollbarMaxSize + +Controls the min and max size of the scrollbar in `px`. + +Default for `scrollbarMinSize` is `25`. +Default for `scrollbarMaxSize` is `0` (no max size). + +### Apply scroll vertically only + +Simply define in css `overflow-x: hidden` on your element. + +### Notifying the plugin of content changes + +#### Note: you shouldn't need to use these functions as SimpleBar takes care of that automatically. This is for advanced usage only. + +If later on you dynamically modify your content, for instance changing its height or width, or adding or removing content, you should recalculate the scrollbars like so: + +```js +const simpleBar = new SimpleBar(document.getElementById('myElement')); +simpleBar.recalculate(); +``` + +### Trigger programmatical scrolling + +If you want to access to the original scroll element, you can retrieve it via a getter: + +```js +const simpleBar = new SimpleBar(document.getElementById('myElement')); +simpleBar.getScrollElement(); +``` + +### Subscribe to `scroll` event + +You can subscribe to the `scroll` event, just like you do with native scrolling elements: + +```js +const simpleBar = new SimpleBar(document.getElementById('myElement')); +simpleBar.getScrollElement().addEventListener('scroll', function(...)); +``` + +### Add content dynamically + +You can retrieve the element containing data like this: + +```js +const simpleBar = new SimpleBar(document.getElementById('myElement')); +simpleBar.getContentElement(); +``` + +### Disable Mutation Observer (core package only) + +```js +SimpleBar.removeObserver(); +``` + +### Retrieve SimpleBar instance from data-simplebar nodes + +```js +SimpleBar.instances.get(document.querySelector('[data-simplebar]'])) +``` + +### Unmount/destroy + +```js +const simpleBar = new SimpleBar(document.getElementById('myElement')); + +simpleBar.unMount() +``` + +:warning: **Calling this function will not restore the default scrollbar!** + +A common usecase is to only want SimpleBar on desktop/wider screens, but instead of trying to mount/unmount the plugin based on screen size, you should instead simply never mount it in the first place. + +For example if you want it only on desktop you can first test for screen size using `matchMedia`: + +```js +if (window.matchMedia('(min-width: 600px)') { + new SimpleBar(..) +} +``` + +### Non-JS fallback + +SimpleBar hides the browser's default scrollbars, which obviously is undesirable if the user has JavaScript disabled. To restore the browser's scrollbars you can include the following `noscript` element in your document's `head`: + +```html + +``` + +## 2. Browsers support + +SimpleBar has been tested on the following browsers: Chrome, Firefox, Safari, Edge, IE11. + +Notice: IE10 doesn't support `MutationObserver` so you will still need to instantiate SimpleBar manually and call `recalculate()` as needed (or you can just use a polyfill for `MutationObserver`). + +If you want to apply SimpleBar on an SVG element on IE11, you will need a [polyfill for `classList`](https://github.com/eligrey/classList.js/blob/master/classList.js). + +IE9 is not supported anymore (because we use `translate3d` to position the scrollbar) so please use SimpleBar v1 if you really need it. + +## 3. Demo + +https://grsmto.github.io/simplebar/ + +## 4. How it works + +SimpleBar only does one thing: replace the browser's default scrollbars with a custom CSS-styled scrollbar without sacrificing performance. Unlike most other plugins, SimpleBar doesn't mimic scroll behaviour with Javascript, which typically causes jank and strange scrolling behaviour. You keep the awesomeness of native scrolling… with a custom scrollbar! +Design your scrollbar how you like, with CSS, across all browsers. + +For the most part SimpleBar uses the browser's native scrolling functionality, but replaces the conventional scrollbar with a custom CSS-styled scrollbar. The plugin listens for scroll events and redraws the custom scrollbar accordingly. + +Key to this technique is hiding the native browser scrollbar. The scrollable element is made slightly wider/taller than its containing element, effectively hiding the scrollbar from view. + +## 5. Caveats + +- SimpleBar can't be used on the ``, `