Photo Gallery by Envira – Responsive Image Gallery for WordPress - Version 1.5.4

Version Description

  • Fix: Error with lightbox script causing it not to load in some instances.
Download this release

Release Info

Developer griffinjt
Plugin Icon 128x128 Photo Gallery by Envira – Responsive Image Gallery for WordPress
Version 1.5.4
Comparing to
See all releases

Code changes from version 1.5.0.6 to 1.5.4

assets/css/envira.css CHANGED
@@ -1 +1,1012 @@
1
- .envira-gallery-wrap,.envira-gallery-wrap *,.envira-tags-filter-list,.envira-tags-filter-list *{background:none;border:0 none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;float:none;font-size:100%;height:auto;letter-spacing:normal;list-style:none;outline:none;position:static;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;width:auto;visibility:visible;overflow:visible;margin:0;padding:0;line-height:1;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-shadow:none;-moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;box-shadow:none;-webkit-appearance:none;transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none;-ms-transition:none}.envira-tags-filter-list{clear:both;margin:0 0 10px 0}.envira-tags-filter-list li.envira-tags-filter,.envira-tags-filter-list li.envira-tag-filter{float:left;margin:0 20px 10px 0}.envira-tags-filter-list .envira-tag-filter-link{font-size:13px;font-weight:bold}.envira-breadcrumbs{display:block;margin:0 0 20px 0;padding:10px;background:#eee}.envira-breadcrumbs a{text-decoration:none}.envira-gallery-wrap{width:100%;margin:0 auto 20px auto}.envira-gallery-wrap .envira-pagination{margin:0 0 20px 0}.envira-gallery-wrap .envira-gallery-description{clear:both}.envira-gallery-wrap .envira-gallery-public{width:100%;margin:0 auto 20px auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.envira-gallery-wrap .envira-gallery-public.envira-clear{clear:both}.envira-gallery-wrap .envira-gallery-public.envira-clear:after{clear:both;content:'.';display:block;height:0;line-height:0;overflow:auto;visibility:hidden;zoom:1}.envira-gallery-wrap .envira-gallery-public .envira-gallery-item-inner{position:relative}.envira-gallery-wrap .envira-gallery-public .envira-gallery-item-inner .envira-gallery-position-overlay{box-sizing:border-box;position:absolute;overflow:visible;z-index:999}.envira-gallery-wrap .envira-gallery-public .envira-gallery-item-inner .envira-gallery-position-overlay.envira-gallery-top-left{top:0;left:0;padding:5px 0 0 5px}.envira-gallery-wrap .envira-gallery-public .envira-gallery-item-inner .envira-gallery-position-overlay.envira-gallery-top-right{top:0;right:0;padding:5px 5px 0 0;text-align:right}.envira-gallery-wrap .envira-gallery-public .envira-gallery-item-inner .envira-gallery-position-overlay.envira-gallery-bottom-left{bottom:0;left:0;padding:0 0 5px 5px}.envira-gallery-wrap .envira-gallery-public .envira-gallery-item-inner .envira-gallery-position-overlay.envira-gallery-bottom-right{bottom:0;right:0;padding:0 5px 5px 0;text-align:right}.envira-gallery-wrap .envira-gallery-public .envira-gallery-item{float:left}.envira-gallery-wrap .envira-gallery-public .envira-gallery-item>.envira-gallery-link{display:block;outline:none;border:0 none;position:relative}.envira-gallery-wrap .envira-gallery-public .envira-gallery-item img{float:none;display:block;margin:0 auto;padding:0;max-width:100%}.envira-gallery-wrap .envira-gallery-public .envira-gallery-item iframe,.envira-gallery-wrap .envira-gallery-public .envira-gallery-item video{display:block;margin:0 auto;width:100%}.envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item{clear:both;width:100%}.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item{width:50%}.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(2n+1){clear:both}.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item{width:33.33%}.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(3n+1){clear:both}.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item{width:25%;margin:0;padding:0;box-sizing:border-box}.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(4n+1){clear:both}.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item{width:20%}.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(5n+1){clear:both}.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item{width:16.66%}.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(6n+1){clear:both}.envira-gallery-wrap .envira-gallery-public.enviratope .envira-gallery-item{clear:none !important}.envira-gallery-wrap .envira-gallery-public.envira-gallery-css-animations .envira-gallery-item img{opacity:0;transition:all .2s ease-in-out}.envira-gallery-wrap .envira-gallery-public.envira-gallery-css-animations .envira-gallery-item a:hover img{opacity:1 !important}.envira-gallery-public.justified-gallery .envira-gallery-item-inner{position:absolute}.envira-gallery-wrap.envira-gallery-rtl .envira-gallery-public .envira-gallery-item{float:right}@media only screen and (max-width: 768px){.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item{width:33%}.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(4n+1){clear:none}.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(3n+1){clear:both}.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item{width:33%}.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(5n+1){clear:none}.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(3n+1){clear:both}.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item{width:33%}.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(6n+1){clear:none}.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(3n+1){clear:both}.envira-gallery-wrap .envira-gallery-public.enviratope .envira-gallery-item{clear:none !important}}@media only screen and (max-width: 459px){.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item,.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item,.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item,.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item,.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item{width:50% !important}.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(3n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(4n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(5n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(6n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(3n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(4n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(5n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(6n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(3n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(4n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(5n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(6n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(3n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(4n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(5n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(6n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(3n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(4n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(5n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(6n+1){clear:none !important}.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(2n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(2n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(2n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(2n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(2n+1){clear:both !important}.envira-gallery-wrap .envira-gallery-public.enviratope .envira-gallery-item{clear:none !important}}@media only screen and (max-width: 320px){.envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item,.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item,.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item,.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item,.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item,.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item{width:100% !important}.envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item:nth-child(2n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item:nth-child(3n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item:nth-child(4n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item:nth-child(5n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item:nth-child(6n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(2n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(3n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(4n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(5n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(6n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(2n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(3n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(4n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(5n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(6n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(2n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(3n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(4n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(5n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(6n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(2n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(3n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(4n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(5n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(6n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(2n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(3n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(4n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(5n+1),.envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(6n+1){clear:both}.envira-gallery-wrap .envira-gallery-public.enviratope .envira-gallery-item{clear:none !important}}/*! envirabox v2.1.5 fancyapps.com | fancyapps.com/envirabox/#license */.envirabox-wrap,.envirabox-skin,.envirabox-outer,.envirabox-inner,.envirabox-image,.envirabox-wrap iframe,.envirabox-wrap object,.envirabox-nav,.envirabox-nav span,.envirabox-tmp,.envirabox-buttons,.envirabox-thumbs,.envirabox-wrap *,.envirabox-thumbs *,.envirabox-buttons *{background:none;border:0 none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;float:none;font-size:100%;height:auto;letter-spacing:normal;list-style:none;outline:none;position:static;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;width:auto;visibility:visible;overflow:visible;margin:0;padding:0;line-height:1;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-shadow:none;-moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;box-shadow:none;-webkit-appearance:none;transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none;-ms-transition:none}.envirabox-wrap{position:absolute;top:0;left:0;z-index:988020}.envirabox-skin{position:relative;background:#f9f9f9;color:#444;text-shadow:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.envirabox-opened{z-index:988030}.envirabox-opened .envirabox-skin{-webkit-box-shadow:0 10px 25px rgba(0,0,0,0.5);-moz-box-shadow:0 10px 25px rgba(0,0,0,0.5);box-shadow:0 10px 25px rgba(0,0,0,0.5)}.envirabox-outer,.envirabox-inner{position:relative}.envirabox-inner{overflow:hidden}.envirabox-inner .envirabox-position-overlay{box-sizing:border-box;position:absolute;overflow:visible;z-index:988041;padding:0}.envirabox-inner .envirabox-position-overlay.envira-gallery-top-left{top:0;left:0}.envirabox-inner .envirabox-position-overlay.envira-gallery-top-right{top:0;right:0;text-align:right}.envirabox-inner .envirabox-position-overlay.envira-gallery-bottom-left{bottom:0;left:0}.envirabox-inner .envirabox-position-overlay.envira-gallery-bottom-right{bottom:0;right:0;text-align:right}.envirabox-type-iframe .envirabox-inner{-webkit-overflow-scrolling:touch}.envirabox-error{color:#444;font:13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;margin:0;padding:15px;white-space:nowrap}.envirabox-image,.envirabox-iframe{display:block;width:100%;height:100%}.envirabox-image{max-width:100%;max-height:100%}#envirabox-loading,.envirabox-close,.envirabox-prev span,.envirabox-next span{background-image:url("images/envirabox_sprite.png")}#envirabox-loading{position:fixed;top:50%;left:50%;margin-top:-22px;margin-left:-22px;background-position:0 -108px;opacity:0.8;cursor:pointer;z-index:988060}#envirabox-loading div{width:44px;height:44px;background:url("images/envirabox_loading.gif") center center no-repeat}.envirabox-close{position:absolute;top:-18px;right:-18px;width:36px;height:36px;cursor:pointer;z-index:988040}.envirabox-nav{position:absolute;top:0;width:40%;height:100%;cursor:pointer;text-decoration:none;background:transparent url("images/blank.gif");-webkit-tap-highlight-color:transparent;z-index:988040}.envirabox-prev{left:0}.envirabox-next{right:0}.envirabox-prev.envirabox-arrows-outside{left:-100px}.envirabox-next.envirabox-arrows-outside{right:-100px}.envirabox-nav span{position:absolute;top:50%;width:36px;height:34px;margin-top:-18px;cursor:pointer;z-index:988040;visibility:hidden}body.envira-touch .envirabox-nav span{visibility:visible}.envirabox-prev span{left:10px;background-position:0 -36px}.envirabox-next span{right:10px;background-position:0 -72px}.envirabox-nav:hover span{visibility:visible}.envirabox-tmp{position:absolute;top:-99999px;left:-99999px;max-width:99999px;max-height:99999px;overflow:visible !important}a.envirabox-close,a.envirabox-nav,a.fancy-close:hover,a.envirabox-nav:hover{border:0}.envirabox-lock{overflow:visible !important;width:auto}.envirabox-lock body{overflow:hidden !important}.envirabox-lock-test{overflow-y:hidden !important}.envirabox-overlay{position:absolute;top:0;left:0;overflow:hidden;display:none;z-index:988010;background:url("images/envirabox_overlay.png")}.envirabox-overlay-fixed{position:fixed;bottom:0;right:0}.envirabox-lock .envirabox-overlay{overflow:auto;overflow-y:scroll}.envirabox-title{visibility:hidden;font-size:13px;line-height:20px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;position:relative;text-shadow:none;z-index:988090}.envirabox-opened .envirabox-title{visibility:visible}.envirabox-title-float-wrap{position:absolute;bottom:auto;right:50%;margin-top:20px;z-index:988050;text-align:center}.envirabox-title-float-wrap .child{display:inline-block;margin-right:-100%;padding:2px 20px;background:transparent;background:rgba(0,0,0,0.8);-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;text-shadow:0 1px 2px #222;color:#FFF;line-height:24px;white-space:nowrap}.envirabox-title-float-wrap.envirabox-title-text-wrap .child{white-space:normal}.envirabox-title-outside-wrap{position:relative;margin-top:10px;color:#fff}.envirabox-title-inside-wrap{padding-top:10px}.envirabox-title-over-wrap{position:absolute;bottom:0;left:0;color:#fff;padding:10px;background:#000;background:rgba(0,0,0,0.8)}#envirabox-buttons{position:fixed;left:0;width:100%;z-index:988050}#envirabox-buttons.top{top:10px}#envirabox-buttons.bottom{bottom:10px}#envirabox-buttons.bottom.has-padding{bottom:80px}#envirabox-buttons.top.has-padding{top:80px}#envirabox-buttons ul{display:block;width:auto;height:30px;margin:0 auto;padding:0;list-style:none;border:1px solid #111;border-radius:3px;-webkit-box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05);-moz-box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05);background:#323232;background:-moz-linear-gradient(top, #444 0%, #343434 50%, #292929 50%, #333 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #444), color-stop(50%, #343434), color-stop(50%, #292929), color-stop(100%, #333));background:-webkit-linear-gradient(top, #444 0%, #343434 50%, #292929 50%, #333 100%);background:-o-linear-gradient(top, #444 0%, #343434 50%, #292929 50%, #333 100%);background:-ms-linear-gradient(top, #444 0%, #343434 50%, #292929 50%, #333 100%);background:linear-gradient(top, #444 0%, #343434 50%, #292929 50%, #333 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#444444', endColorstr='#222222',GradientType=0 )}#envirabox-buttons ul li{float:left;margin:0;padding:0}#envirabox-buttons ul li#envirabox-buttons-title span{display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:30px;padding:0 10px;color:#fff}#envirabox-buttons a{display:block;width:30px;height:30px;text-indent:-9999px;background-color:transparent;background-image:url("images/envirabox_buttons.png");background-repeat:no-repeat;outline:none;opacity:0.8}#envirabox-buttons a:hover{opacity:1}#envirabox-buttons a.btnPrev{background-position:5px 0}#envirabox-buttons a.btnNext{background-position:-33px 0;border-right:1px solid #3e3e3e}#envirabox-buttons a.btnPlay{background-position:0 -30px}#envirabox-buttons a.btnPlayOn{background-position:-30px -30px}#envirabox-buttons a.btnToggle,#envirabox-buttons a.btnFullscreen{background-position:3px -60px;border-left:1px solid #111;border-right:1px solid #3e3e3e;width:35px}#envirabox-buttons a.btnToggleOn,#envirabox-buttons a.btnFullscreenOn{background-position:-27px -60px}#envirabox-buttons a.btnClose{border-left:1px solid #111;width:35px;background-position:-56px 0px}#envirabox-buttons a.btnDisabled{opacity:0.4;cursor:default}#envirabox-thumbs{position:fixed;left:0;width:100%;overflow:hidden;z-index:988050;box-sizing:border-box}#envirabox-thumbs.top{top:2px}#envirabox-thumbs.top.has-other-content{top:50px}#envirabox-thumbs.bottom{bottom:2px}#envirabox-thumbs.bottom.has-other-content{bottom:50px}#envirabox-thumbs.inline{position:absolute}#envirabox-thumbs *{box-sizing:border-box}#envirabox-thumbs ul{position:relative;list-style:none;margin:0;padding:0}#envirabox-thumbs ul li{border:3px solid #fff;float:left;margin:5px;opacity:1}#envirabox-thumbs ul li.active{opacity:0.75;border:3px solid #888}#envirabox-thumbs ul li:hover{opacity:0.75}#envirabox-thumbs ul li a{display:block;position:relative;overflow:hidden;border:1px solid #222;background:#111;outline:none}#envirabox-thumbs ul li img{display:block;position:relative;border:0;padding:0;max-width:none}@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx){#envirabox-loading,.envirabox-close,.envirabox-prev span,.envirabox-next span{background-image:url("images/envirabox_sprite@2x.png");background-size:44px 152px}#envirabox-loading div{background-image:url("images/envirabox_loading@2x.gif");background-size:24px 24px}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* ==========================================================================
2
+ Envira Gallery Styles
3
+ ========================================================================== */
4
+ /**
5
+ * Envira Gallery - Reset
6
+ */
7
+ .envira-gallery-wrap,
8
+ .envira-gallery-wrap *,
9
+ .envira-tags-filter-list,
10
+ .envira-tags-filter-list * {
11
+ background: none;
12
+ border: 0 none;
13
+ border-radius: 0;
14
+ -webkit-border-radius: 0;
15
+ -moz-border-radius: 0;
16
+ float: none;
17
+ font-size: 100%;
18
+ height: auto;
19
+ letter-spacing: normal;
20
+ list-style: none;
21
+ outline: none;
22
+ position: static;
23
+ text-decoration: none;
24
+ text-indent: 0;
25
+ text-shadow: none;
26
+ text-transform: none;
27
+ width: auto;
28
+ visibility: visible;
29
+ overflow: visible;
30
+ margin: 0;
31
+ padding: 0;
32
+ line-height: 1;
33
+ box-sizing: border-box;
34
+ -webkit-box-sizing: border-box;
35
+ -moz-box-sizing: border-box;
36
+ -webkit-box-shadow: none;
37
+ -moz-box-shadow: none;
38
+ -ms-box-shadow: none;
39
+ -o-box-shadow: none;
40
+ box-shadow: none;
41
+ -webkit-appearance: none;
42
+ transition: none;
43
+ -webkit-transition: none;
44
+ -moz-transition: none;
45
+ -o-transition: none;
46
+ -ms-transition: none; }
47
+
48
+ /**
49
+ * Tags Addon
50
+ */
51
+ .envira-tags-filter-list {
52
+ clear: both;
53
+ margin: 0 0 10px 0; }
54
+ .envira-tags-filter-list li.envira-tags-filter,
55
+ .envira-tags-filter-list li.envira-tag-filter {
56
+ float: left;
57
+ margin: 0 20px 10px 0; }
58
+ .envira-tags-filter-list .envira-tag-filter-link {
59
+ font-size: 13px;
60
+ font-weight: bold; }
61
+
62
+ /**
63
+ * Breadcrumbs Addon
64
+ */
65
+ .envira-breadcrumbs {
66
+ display: block;
67
+ margin: 0 0 20px 0;
68
+ padding: 10px;
69
+ background: #eee; }
70
+ .envira-breadcrumbs a {
71
+ text-decoration: none; }
72
+
73
+ /**
74
+ * Main Wrapper
75
+ */
76
+ .envira-gallery-wrap {
77
+ width: 100%;
78
+ margin: 0 auto 20px auto;
79
+ /**
80
+ * Pagination Addon
81
+ */
82
+ /**
83
+ * Description
84
+ */
85
+ /**
86
+ * Inner Wrapper
87
+ */ }
88
+ .envira-gallery-wrap .envira-pagination {
89
+ margin: 0 0 20px 0; }
90
+ .envira-gallery-wrap .envira-gallery-description {
91
+ clear: both; }
92
+ .envira-gallery-wrap .envira-gallery-public {
93
+ width: 100%;
94
+ margin: 0 auto 20px auto;
95
+ -webkit-box-sizing: border-box;
96
+ -moz-box-sizing: border-box;
97
+ box-sizing: border-box;
98
+ /**
99
+ * Clearing
100
+ */
101
+ /**
102
+ * Inner
103
+ */
104
+ /**
105
+ * Gallery Item
106
+ */
107
+ /**
108
+ * Column Widths and Clearing
109
+ */
110
+ /**
111
+ * Optional: Isotope
112
+ * - if enabled, .enviratope is added to .envira-gallery-public
113
+ * - no clearing on gallery items
114
+ */
115
+ /**
116
+ * Optional: CSS Animations
117
+ * - if enabled, .envira-gallery-css-animations is added to .envira-gallery-public
118
+ */ }
119
+ .envira-gallery-wrap .envira-gallery-public.envira-clear {
120
+ clear: both; }
121
+ .envira-gallery-wrap .envira-gallery-public.envira-clear:after {
122
+ clear: both;
123
+ content: '.';
124
+ display: block;
125
+ height: 0;
126
+ line-height: 0;
127
+ overflow: auto;
128
+ visibility: hidden;
129
+ zoom: 1; }
130
+ .envira-gallery-wrap .envira-gallery-public .envira-gallery-item-inner {
131
+ position: relative;
132
+ /**
133
+ * Dynamic Positioning
134
+ */ }
135
+ .envira-gallery-wrap .envira-gallery-public .envira-gallery-item-inner .envira-gallery-position-overlay {
136
+ box-sizing: border-box;
137
+ position: absolute;
138
+ overflow: visible;
139
+ z-index: 999;
140
+ /**
141
+ * Top Left
142
+ */
143
+ /**
144
+ * Top Right
145
+ */
146
+ /**
147
+ * Bottom Left
148
+ */
149
+ /**
150
+ * Bottom Right
151
+ */ }
152
+ .envira-gallery-wrap .envira-gallery-public .envira-gallery-item-inner .envira-gallery-position-overlay.envira-gallery-top-left {
153
+ top: 0;
154
+ left: 0;
155
+ padding: 5px 0 0 5px; }
156
+ .envira-gallery-wrap .envira-gallery-public .envira-gallery-item-inner .envira-gallery-position-overlay.envira-gallery-top-right {
157
+ top: 0;
158
+ right: 0;
159
+ padding: 5px 5px 0 0;
160
+ text-align: right; }
161
+ .envira-gallery-wrap .envira-gallery-public .envira-gallery-item-inner .envira-gallery-position-overlay.envira-gallery-bottom-left {
162
+ bottom: 0;
163
+ left: 0;
164
+ padding: 0 0 5px 5px; }
165
+ .envira-gallery-wrap .envira-gallery-public .envira-gallery-item-inner .envira-gallery-position-overlay.envira-gallery-bottom-right {
166
+ bottom: 0;
167
+ right: 0;
168
+ padding: 0 5px 5px 0;
169
+ text-align: right; }
170
+ .envira-gallery-wrap .envira-gallery-public .envira-gallery-item {
171
+ float: left;
172
+ /**
173
+ * Link
174
+ */
175
+ /**
176
+ * Image
177
+ */
178
+ /**
179
+ * Videos
180
+ */ }
181
+ .envira-gallery-wrap .envira-gallery-public .envira-gallery-item > .envira-gallery-link {
182
+ display: block;
183
+ outline: none;
184
+ border: 0 none;
185
+ position: relative; }
186
+ .envira-gallery-wrap .envira-gallery-public .envira-gallery-item img {
187
+ float: none;
188
+ display: block;
189
+ margin: 0 auto;
190
+ padding: 0;
191
+ max-width: 100%; }
192
+ .envira-gallery-wrap .envira-gallery-public .envira-gallery-item iframe, .envira-gallery-wrap .envira-gallery-public .envira-gallery-item video {
193
+ display: block;
194
+ margin: 0 auto;
195
+ width: 100%; }
196
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item {
197
+ clear: both;
198
+ width: 100%; }
199
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item {
200
+ width: 50%; }
201
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(2n+1) {
202
+ clear: both; }
203
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item {
204
+ width: 33.33%; }
205
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(3n+1) {
206
+ clear: both; }
207
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item {
208
+ width: 25%;
209
+ margin: 0;
210
+ padding: 0;
211
+ box-sizing: border-box; }
212
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(4n+1) {
213
+ clear: both; }
214
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item {
215
+ width: 20%; }
216
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(5n+1) {
217
+ clear: both; }
218
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item {
219
+ width: 16.66%; }
220
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(6n+1) {
221
+ clear: both; }
222
+ .envira-gallery-wrap .envira-gallery-public.enviratope .envira-gallery-item {
223
+ clear: none !important; }
224
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-css-animations {
225
+ /**
226
+ * Gallery Item
227
+ */ }
228
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-css-animations .envira-gallery-item {
229
+ /**
230
+ * Image
231
+ */
232
+ /**
233
+ * Image Hover
234
+ * - Always force opacity: 1, as the CSS Opacity setting for images may be less e.g. 0.5
235
+ */ }
236
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-css-animations .envira-gallery-item img {
237
+ opacity: 0;
238
+ transition: all .2s ease-in-out; }
239
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-css-animations .envira-gallery-item a:hover img {
240
+ opacity: 1 !important; }
241
+
242
+ /**
243
+ * Main Wrapper
244
+ */
245
+ .envira-gallery-public.justified-gallery {
246
+ /**
247
+ * Inner
248
+ */
249
+ /* .envira-gallery-description {
250
+ &.envira-gallery-description-above {
251
+ display: table;
252
+ }
253
+ }*/ }
254
+ .envira-gallery-public.justified-gallery .envira-gallery-item-inner {
255
+ position: absolute; }
256
+
257
+ /**
258
+ * RTL Support
259
+ */
260
+ .envira-gallery-wrap.envira-gallery-rtl {
261
+ /**
262
+ * Inner Wrapper
263
+ */ }
264
+ .envira-gallery-wrap.envira-gallery-rtl .envira-gallery-public {
265
+ /**
266
+ * Gallery Item
267
+ */ }
268
+ .envira-gallery-wrap.envira-gallery-rtl .envira-gallery-public .envira-gallery-item {
269
+ float: right; }
270
+
271
+ /**
272
+ * Mobile Landscape Size to Tablet Portrait (devices and browsers)
273
+ * - Envira Gallery Columns: If 4, 5 or 6, reduce to 3 columns. Isotope will detect change + resize automatically.
274
+ */
275
+ @media only screen and (max-width: 768px) {
276
+ /**
277
+ * Main Wrapper
278
+ */
279
+ .envira-gallery-wrap {
280
+ /**
281
+ * Inner Wrapper
282
+ */ }
283
+ .envira-gallery-wrap .envira-gallery-public {
284
+ /**
285
+ * Column Widths and Clearing
286
+ */
287
+ /**
288
+ * Optional: Isotope
289
+ * - if enabled, .enviratope is added to .envira-gallery-public
290
+ * - no clearing on gallery items
291
+ */ }
292
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item {
293
+ width: 33%; }
294
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(4n+1) {
295
+ clear: none; }
296
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(3n+1) {
297
+ clear: both; }
298
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item {
299
+ width: 33%; }
300
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(5n+1) {
301
+ clear: none; }
302
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(3n+1) {
303
+ clear: both; }
304
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item {
305
+ width: 33%; }
306
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(6n+1) {
307
+ clear: none; }
308
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(3n+1) {
309
+ clear: both; }
310
+ .envira-gallery-wrap .envira-gallery-public.enviratope .envira-gallery-item {
311
+ clear: none !important; } }
312
+ /**
313
+ * Mobile Landscape (devices and browsers)
314
+ * - Envira Gallery Columns: Reduce to 2 column. Isotope will detect change + resize automatically.
315
+ */
316
+ @media only screen and (max-width: 459px) {
317
+ /**
318
+ * Main Wrapper
319
+ */
320
+ .envira-gallery-wrap {
321
+ /**
322
+ * Inner Wrapper
323
+ */ }
324
+ .envira-gallery-wrap .envira-gallery-public {
325
+ /**
326
+ * Column Widths and Clearing
327
+ */
328
+ /**
329
+ * Optional: Isotope
330
+ * - if enabled, .enviratope is added to .envira-gallery-public
331
+ * - no clearing on gallery items
332
+ */ }
333
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item, .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item, .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item, .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item, .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item {
334
+ width: 50% !important; }
335
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(3n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(4n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(5n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(6n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(3n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(4n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(5n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(6n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(3n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(4n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(5n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(6n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(3n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(4n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(5n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(6n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(3n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(4n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(5n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(6n+1) {
336
+ clear: none !important; }
337
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(2n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(2n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(2n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(2n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(2n+1) {
338
+ clear: both !important; }
339
+ .envira-gallery-wrap .envira-gallery-public.enviratope .envira-gallery-item {
340
+ clear: none !important; } }
341
+ /**
342
+ * Mobile Portrait (devices and browsers)
343
+ * - Envira Gallery Columns: Reduce to 1 column. Isotope will detect change + resize automatically.
344
+ */
345
+ @media only screen and (max-width: 320px) {
346
+ /**
347
+ * Main Wrapper
348
+ */
349
+ .envira-gallery-wrap {
350
+ /**
351
+ * Inner Wrapper
352
+ */ }
353
+ .envira-gallery-wrap .envira-gallery-public {
354
+ /**
355
+ * Column Widths and Clearing
356
+ */
357
+ /**
358
+ * Optional: Isotope
359
+ * - if enabled, .enviratope is added to .envira-gallery-public
360
+ * - no clearing on gallery items
361
+ */ }
362
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item, .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item, .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item, .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item, .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item, .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item {
363
+ width: 100% !important; }
364
+ .envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item:nth-child(2n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item:nth-child(3n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item:nth-child(4n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item:nth-child(5n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-1-columns .envira-gallery-item:nth-child(6n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(2n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(3n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(4n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(5n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-2-columns .envira-gallery-item:nth-child(6n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(2n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(3n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(4n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(5n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-3-columns .envira-gallery-item:nth-child(6n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(2n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(3n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(4n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(5n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-4-columns .envira-gallery-item:nth-child(6n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(2n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(3n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(4n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(5n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-5-columns .envira-gallery-item:nth-child(6n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(2n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(3n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(4n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(5n+1), .envira-gallery-wrap .envira-gallery-public.envira-gallery-6-columns .envira-gallery-item:nth-child(6n+1) {
365
+ clear: both; }
366
+ .envira-gallery-wrap .envira-gallery-public.enviratope .envira-gallery-item {
367
+ clear: none !important; } }
368
+ /* ==========================================================================
369
+ Envira Lightbox Gallery Styles
370
+ ========================================================================== */
371
+ .envirabox-wrap,
372
+ .envirabox-skin,
373
+ .envirabox-outer,
374
+ .envirabox-inner,
375
+ .envirabox-image,
376
+ .envirabox-wrap iframe,
377
+ .envirabox-wrap object,
378
+ .envirabox-nav,
379
+ .envirabox-nav span,
380
+ .envirabox-tmp,
381
+ .envirabox-buttons,
382
+ .envirabox-thumbs,
383
+ .envirabox-wrap *,
384
+ .envirabox-thumbs *,
385
+ .envirabox-buttons * {
386
+ background: none;
387
+ border: 0 none;
388
+ border-radius: 0;
389
+ -webkit-border-radius: 0;
390
+ -moz-border-radius: 0;
391
+ float: none;
392
+ font-size: 100%;
393
+ height: auto;
394
+ letter-spacing: normal;
395
+ list-style: none;
396
+ outline: none;
397
+ position: static;
398
+ text-decoration: none;
399
+ text-indent: 0;
400
+ text-shadow: none;
401
+ text-transform: none;
402
+ width: auto;
403
+ visibility: visible;
404
+ overflow: visible;
405
+ margin: 0;
406
+ padding: 0;
407
+ line-height: 1;
408
+ box-sizing: border-box;
409
+ -webkit-box-sizing: border-box;
410
+ -moz-box-sizing: border-box;
411
+ -webkit-box-shadow: none;
412
+ -moz-box-shadow: none;
413
+ -ms-box-shadow: none;
414
+ -o-box-shadow: none;
415
+ box-shadow: none;
416
+ -webkit-appearance: none;
417
+ transition: none;
418
+ -webkit-transition: none;
419
+ -moz-transition: none;
420
+ -o-transition: none;
421
+ -ms-transition: none; }
422
+
423
+ .envirabox-wrap {
424
+ position: absolute;
425
+ top: 0;
426
+ left: 0;
427
+ z-index: 988020; }
428
+
429
+ .envirabox-skin {
430
+ position: relative;
431
+ background: #f9f9f9;
432
+ color: #444;
433
+ text-shadow: none;
434
+ -webkit-border-radius: 4px;
435
+ -moz-border-radius: 4px;
436
+ border-radius: 4px; }
437
+
438
+ .envirabox-opened {
439
+ z-index: 988030; }
440
+
441
+ .envirabox-opened .envirabox-skin {
442
+ -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
443
+ -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
444
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); }
445
+
446
+ .envirabox-outer, .envirabox-inner {
447
+ position: relative; }
448
+
449
+ .envirabox-inner {
450
+ overflow: hidden;
451
+ /**
452
+ * Dynamic Positioning
453
+ */ }
454
+ .envirabox-inner .envirabox-position-overlay {
455
+ box-sizing: border-box;
456
+ position: absolute;
457
+ overflow: visible;
458
+ z-index: 988041;
459
+ /* Beat the prev/next controls */
460
+ padding: 0;
461
+ /**
462
+ * Top Left
463
+ */
464
+ /**
465
+ * Top Right
466
+ */
467
+ /**
468
+ * Bottom Left
469
+ */
470
+ /**
471
+ * Bottom Right
472
+ */ }
473
+ .envirabox-inner .envirabox-position-overlay.envira-gallery-top-left {
474
+ top: 0;
475
+ left: 0; }
476
+ .envirabox-inner .envirabox-position-overlay.envira-gallery-top-right {
477
+ top: 0;
478
+ right: 0;
479
+ text-align: right; }
480
+ .envirabox-inner .envirabox-position-overlay.envira-gallery-bottom-left {
481
+ bottom: 0;
482
+ left: 0; }
483
+ .envirabox-inner .envirabox-position-overlay.envira-gallery-bottom-right {
484
+ bottom: 0;
485
+ right: 0;
486
+ text-align: right; }
487
+
488
+ .envirabox-type-iframe .envirabox-inner {
489
+ -webkit-overflow-scrolling: touch; }
490
+
491
+ .envirabox-error {
492
+ color: #444;
493
+ font: 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
494
+ margin: 0;
495
+ padding: 15px;
496
+ white-space: nowrap; }
497
+
498
+ .envirabox-image, .envirabox-iframe {
499
+ display: block;
500
+ width: 100%;
501
+ height: 100%; }
502
+
503
+ .envirabox-image {
504
+ max-width: 100%;
505
+ max-height: 100%; }
506
+
507
+ #envirabox-loading, .envirabox-close, .envirabox-prev span, .envirabox-next span {
508
+ background-image: url("images/envirabox_sprite.png"); }
509
+
510
+ #envirabox-loading {
511
+ position: fixed;
512
+ top: 50%;
513
+ left: 50%;
514
+ margin-top: -22px;
515
+ margin-left: -22px;
516
+ background-position: 0 -108px;
517
+ opacity: 0.8;
518
+ cursor: pointer;
519
+ z-index: 988060; }
520
+
521
+ #envirabox-loading div {
522
+ width: 44px;
523
+ height: 44px;
524
+ background: url("images/envirabox_loading.gif") center center no-repeat; }
525
+
526
+ .envirabox-close {
527
+ position: absolute;
528
+ top: -18px;
529
+ right: -18px;
530
+ width: 36px;
531
+ height: 36px;
532
+ cursor: pointer;
533
+ z-index: 988040; }
534
+
535
+ .envirabox-nav {
536
+ position: absolute;
537
+ top: 0;
538
+ width: 40%;
539
+ height: 100%;
540
+ cursor: pointer;
541
+ text-decoration: none;
542
+ background: transparent url("images/blank.gif");
543
+ /* helps IE */
544
+ -webkit-tap-highlight-color: transparent;
545
+ z-index: 988040; }
546
+
547
+ .envirabox-prev {
548
+ left: 0; }
549
+
550
+ .envirabox-next {
551
+ right: 0; }
552
+
553
+ .envirabox-prev.envirabox-arrows-outside {
554
+ left: -100px; }
555
+
556
+ .envirabox-next.envirabox-arrows-outside {
557
+ right: -100px; }
558
+
559
+ .envirabox-nav span {
560
+ position: absolute;
561
+ top: 50%;
562
+ width: 36px;
563
+ height: 34px;
564
+ margin-top: -18px;
565
+ cursor: pointer;
566
+ z-index: 988040;
567
+ visibility: hidden; }
568
+
569
+ body.envira-touch .envirabox-nav span {
570
+ visibility: visible; }
571
+
572
+ .envirabox-prev span {
573
+ left: 10px;
574
+ background-position: 0 -36px; }
575
+
576
+ .envirabox-next span {
577
+ right: 10px;
578
+ background-position: 0 -72px; }
579
+
580
+ .envirabox-nav:hover span {
581
+ visibility: visible; }
582
+
583
+ .envirabox-tmp {
584
+ position: absolute;
585
+ top: -99999px;
586
+ left: -99999px;
587
+ max-width: 99999px;
588
+ max-height: 99999px;
589
+ overflow: visible !important; }
590
+
591
+ a.envirabox-close,
592
+ a.envirabox-nav,
593
+ a.fancy-close:hover,
594
+ a.envirabox-nav:hover {
595
+ border: 0; }
596
+
597
+ /* Overlay helper */
598
+ .envirabox-lock {
599
+ overflow: visible !important;
600
+ width: auto; }
601
+
602
+ .envirabox-lock body {
603
+ overflow: hidden !important; }
604
+
605
+ .envirabox-lock-test {
606
+ overflow-y: hidden !important; }
607
+
608
+ .envirabox-overlay {
609
+ position: absolute;
610
+ top: 0;
611
+ left: 0;
612
+ overflow: hidden;
613
+ display: none;
614
+ z-index: 988010;
615
+ background: url("images/envirabox_overlay.png"); }
616
+
617
+ .envirabox-overlay-fixed {
618
+ position: fixed;
619
+ bottom: 0;
620
+ right: 0; }
621
+
622
+ .envirabox-lock .envirabox-overlay {
623
+ overflow: auto;
624
+ overflow-y: scroll; }
625
+
626
+ /* Title helper */
627
+ .envirabox-title {
628
+ visibility: hidden;
629
+ font-size: 13px;
630
+ line-height: 20px;
631
+ font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
632
+ position: relative;
633
+ text-shadow: none;
634
+ z-index: 988090; }
635
+
636
+ .envirabox-opened .envirabox-title {
637
+ visibility: visible; }
638
+
639
+ .envirabox-title-float-wrap {
640
+ position: absolute;
641
+ bottom: auto;
642
+ right: 50%;
643
+ margin-top: 20px;
644
+ z-index: 988050;
645
+ text-align: center; }
646
+
647
+ .envirabox-title-float-wrap .child {
648
+ display: inline-block;
649
+ margin-right: -100%;
650
+ padding: 2px 20px;
651
+ background: transparent;
652
+ /* Fallback for web browsers that doesn't support RGBa */
653
+ background: rgba(0, 0, 0, 0.8);
654
+ -webkit-border-radius: 15px;
655
+ -moz-border-radius: 15px;
656
+ border-radius: 15px;
657
+ text-shadow: 0 1px 2px #222;
658
+ color: #FFF;
659
+ line-height: 24px;
660
+ white-space: nowrap; }
661
+
662
+ .envirabox-title-float-wrap.envirabox-title-text-wrap .child {
663
+ white-space: normal; }
664
+
665
+ .envirabox-title-outside-wrap {
666
+ position: relative;
667
+ margin-top: 10px;
668
+ color: #fff; }
669
+
670
+ .envirabox-title-inside-wrap {
671
+ padding-top: 10px; }
672
+
673
+ .envirabox-title-over-wrap {
674
+ position: absolute;
675
+ bottom: 0;
676
+ left: 0;
677
+ color: #fff;
678
+ padding: 10px;
679
+ background: #000;
680
+ background: rgba(0, 0, 0, 0.8); }
681
+
682
+ #envirabox-buttons {
683
+ position: fixed;
684
+ left: 0;
685
+ width: 100%;
686
+ z-index: 988050; }
687
+
688
+ #envirabox-buttons.top {
689
+ top: 10px; }
690
+
691
+ #envirabox-buttons.bottom {
692
+ bottom: 10px; }
693
+
694
+ /* Allows for thumbnails to be displayed */
695
+ #envirabox-buttons.bottom.has-padding {
696
+ bottom: 80px; }
697
+
698
+ #envirabox-buttons.top.has-padding {
699
+ top: 80px; }
700
+
701
+ #envirabox-buttons ul {
702
+ display: block;
703
+ width: auto;
704
+ height: 30px;
705
+ margin: 0 auto;
706
+ padding: 0;
707
+ list-style: none;
708
+ border: 1px solid #111;
709
+ border-radius: 3px;
710
+ -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
711
+ -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
712
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
713
+ background: #323232;
714
+ background: -moz-linear-gradient(top, #444444 0%, #343434 50%, #292929 50%, #333333 100%);
715
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #444444), color-stop(50%, #343434), color-stop(50%, #292929), color-stop(100%, #333333));
716
+ background: -webkit-linear-gradient(top, #444444 0%, #343434 50%, #292929 50%, #333333 100%);
717
+ background: -o-linear-gradient(top, #444444 0%, #343434 50%, #292929 50%, #333333 100%);
718
+ background: -ms-linear-gradient(top, #444444 0%, #343434 50%, #292929 50%, #333333 100%);
719
+ background: linear-gradient(top, #444444 0%, #343434 50%, #292929 50%, #333333 100%);
720
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#444444', endColorstr='#222222',GradientType=0 ); }
721
+
722
+ #envirabox-buttons ul li {
723
+ float: left;
724
+ margin: 0;
725
+ padding: 0; }
726
+
727
+ #envirabox-buttons ul li#envirabox-buttons-title span {
728
+ display: block;
729
+ font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
730
+ font-size: 13px;
731
+ line-height: 30px;
732
+ padding: 0 10px;
733
+ color: #fff; }
734
+
735
+ #envirabox-buttons a {
736
+ display: block;
737
+ width: 30px;
738
+ height: 30px;
739
+ text-indent: -9999px;
740
+ background-color: transparent;
741
+ background-image: url("images/envirabox_buttons.png");
742
+ background-repeat: no-repeat;
743
+ outline: none;
744
+ opacity: 0.8; }
745
+
746
+ #envirabox-buttons a:hover {
747
+ opacity: 1; }
748
+
749
+ #envirabox-buttons a.btnPrev {
750
+ background-position: 5px 0; }
751
+
752
+ #envirabox-buttons a.btnNext {
753
+ background-position: -33px 0;
754
+ border-right: 1px solid #3e3e3e; }
755
+
756
+ #envirabox-buttons a.btnPlay {
757
+ background-position: 0 -30px; }
758
+
759
+ #envirabox-buttons a.btnPlayOn {
760
+ background-position: -30px -30px; }
761
+
762
+ #envirabox-buttons a.btnToggle,
763
+ #envirabox-buttons a.btnFullscreen {
764
+ background-position: 3px -60px;
765
+ border-left: 1px solid #111;
766
+ border-right: 1px solid #3e3e3e;
767
+ width: 35px; }
768
+
769
+ #envirabox-buttons a.btnToggleOn,
770
+ #envirabox-buttons a.btnFullscreenOn {
771
+ background-position: -27px -60px; }
772
+
773
+ #envirabox-buttons a.btnClose {
774
+ border-left: 1px solid #111;
775
+ width: 35px;
776
+ background-position: -56px 0px; }
777
+
778
+ #envirabox-buttons a.btnDisabled {
779
+ opacity: 0.4;
780
+ cursor: default; }
781
+
782
+ /**
783
+ * Lightbox: Thumbnails Helper
784
+ */
785
+ #envirabox-thumbs {
786
+ position: fixed;
787
+ left: 0;
788
+ width: 100%;
789
+ overflow: hidden;
790
+ z-index: 988050;
791
+ box-sizing: border-box; }
792
+ #envirabox-thumbs.top {
793
+ top: 2px; }
794
+ #envirabox-thumbs.top.has-other-content {
795
+ top: 50px; }
796
+ #envirabox-thumbs.bottom {
797
+ bottom: 2px; }
798
+ #envirabox-thumbs.bottom.has-other-content {
799
+ bottom: 50px; }
800
+ #envirabox-thumbs.inline {
801
+ position: absolute; }
802
+ #envirabox-thumbs * {
803
+ box-sizing: border-box; }
804
+
805
+ #envirabox-thumbs ul {
806
+ position: relative;
807
+ list-style: none;
808
+ margin: 0;
809
+ padding: 0; }
810
+
811
+ #envirabox-thumbs ul li {
812
+ border: 3px solid #fff;
813
+ float: left;
814
+ margin: 5px;
815
+ opacity: 1; }
816
+
817
+ #envirabox-thumbs ul li.active {
818
+ opacity: 0.75;
819
+ border: 3px solid #888; }
820
+
821
+ #envirabox-thumbs ul li:hover {
822
+ opacity: 0.75; }
823
+
824
+ #envirabox-thumbs ul li a {
825
+ display: block;
826
+ position: relative;
827
+ overflow: hidden;
828
+ border: 1px solid #222;
829
+ background: #111;
830
+ outline: none; }
831
+
832
+ #envirabox-thumbs ul li img {
833
+ display: block;
834
+ position: relative;
835
+ border: 0;
836
+ padding: 0;
837
+ max-width: none; }
838
+
839
+ /* Retina stuff */
840
+ @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
841
+ #envirabox-loading, .envirabox-close, .envirabox-prev span, .envirabox-next span {
842
+ background-image: url("images/envirabox_sprite@2x.png");
843
+ background-size: 44px 152px; }
844
+
845
+ #envirabox-loading div {
846
+ background-image: url("images/envirabox_loading@2x.gif");
847
+ background-size: 24px 24px; } }
848
+ /*
849
+ #content img{
850
+ height: 0;
851
+ width: 0;
852
+ padding: 35px 120px; // adjust that depend on your image size
853
+ background-image: url('YOUR_IMAGE_PATH');
854
+ background-repeat: no-repeat;
855
+ }*/
856
+ /*.envira-gallery-public a.envira-gallery-link {
857
+ background-image: url("../images/placeholders/spinner.gif");
858
+ background-repeat: no-repeat;
859
+ background-position: center;
860
+ background-size: 25%;
861
+ display: inline-block;
862
+ background-color: #f1f1f1;
863
+ color: transparent; }*/
864
+ /*.envira-gallery-public img.envira-gallery-image {
865
+ opacity: 0.0; }*/
866
+ /*
867
+
868
+
869
+
870
+ .meter {
871
+ box-sizing: unset;
872
+ height: 20px;
873
+ position: relative;
874
+ margin: 10px 0 10px 0;
875
+ background: #555;
876
+ -moz-border-radius: 25px;
877
+ -webkit-border-radius: 25px;
878
+ border-radius: 25px;
879
+ padding: 10px;
880
+ -webkit-box-shadow: inset 0 -1px 1px rgba(255,255,255,0.3);
881
+ -moz-box-shadow : inset 0 -1px 1px rgba(255,255,255,0.3);
882
+ box-shadow : inset 0 -1px 1px rgba(255,255,255,0.3);
883
+ }
884
+ .meter > span {
885
+ display: block;
886
+ height: 100%;
887
+ -webkit-border-top-right-radius: 8px;
888
+ -webkit-border-bottom-right-radius: 8px;
889
+ -moz-border-radius-topright: 8px;
890
+ -moz-border-radius-bottomright: 8px;
891
+ border-top-right-radius: 8px;
892
+ border-bottom-right-radius: 8px;
893
+ -webkit-border-top-left-radius: 20px;
894
+ -webkit-border-bottom-left-radius: 20px;
895
+ -moz-border-radius-topleft: 20px;
896
+ -moz-border-radius-bottomleft: 20px;
897
+ border-top-left-radius: 20px;
898
+ border-bottom-left-radius: 20px;
899
+ background-color: rgb(43,194,83);
900
+ background-image: -webkit-gradient(
901
+ linear,
902
+ left bottom,
903
+ left top,
904
+ color-stop(0, rgb(43,194,83)),
905
+ color-stop(1, rgb(84,240,84))
906
+ );
907
+ background-image: -moz-linear-gradient(
908
+ center bottom,
909
+ rgb(43,194,83) 37%,
910
+ rgb(84,240,84) 69%
911
+ );
912
+ -webkit-box-shadow:
913
+ inset 0 2px 9px rgba(255,255,255,0.3),
914
+ inset 0 -2px 6px rgba(0,0,0,0.4);
915
+ -moz-box-shadow:
916
+ inset 0 2px 9px rgba(255,255,255,0.3),
917
+ inset 0 -2px 6px rgba(0,0,0,0.4);
918
+ box-shadow:
919
+ inset 0 2px 9px rgba(255,255,255,0.3),
920
+ inset 0 -2px 6px rgba(0,0,0,0.4);
921
+ position: relative;
922
+ overflow: hidden;
923
+ }
924
+ .meter > span:after, .animate > span > span {
925
+ content: "";
926
+ position: absolute;
927
+ top: 0; left: 0; bottom: 0; right: 0;
928
+ background-image:
929
+ -webkit-gradient(linear, 0 0, 100% 100%,
930
+ color-stop(.25, rgba(255, 255, 255, .2)),
931
+ color-stop(.25, transparent), color-stop(.5, transparent),
932
+ color-stop(.5, rgba(255, 255, 255, .2)),
933
+ color-stop(.75, rgba(255, 255, 255, .2)),
934
+ color-stop(.75, transparent), to(transparent)
935
+ );
936
+ background-image:
937
+ -moz-linear-gradient(
938
+ -45deg,
939
+ rgba(255, 255, 255, .2) 25%,
940
+ transparent 25%,
941
+ transparent 50%,
942
+ rgba(255, 255, 255, .2) 50%,
943
+ rgba(255, 255, 255, .2) 75%,
944
+ transparent 75%,
945
+ transparent
946
+ );
947
+ z-index: 1;
948
+ -webkit-background-size: 50px 50px;
949
+ -moz-background-size: 50px 50px;
950
+ background-size: 50px 50px;
951
+ -webkit-animation: move 2s linear infinite;
952
+ -moz-animation: move 2s linear infinite;
953
+ -webkit-border-top-right-radius: 8px;
954
+ -webkit-border-bottom-right-radius: 8px;
955
+ -moz-border-radius-topright: 8px;
956
+ -moz-border-radius-bottomright: 8px;
957
+ border-top-right-radius: 8px;
958
+ border-bottom-right-radius: 8px;
959
+ -webkit-border-top-left-radius: 20px;
960
+ -webkit-border-bottom-left-radius: 20px;
961
+ -moz-border-radius-topleft: 20px;
962
+ -moz-border-radius-bottomleft: 20px;
963
+ border-top-left-radius: 20px;
964
+ border-bottom-left-radius: 20px;
965
+ overflow: hidden;
966
+ }
967
+
968
+ .animate > span:after {
969
+ display: none;
970
+ }
971
+
972
+ @-webkit-keyframes move {
973
+ 0% {
974
+ background-position: 0 0;
975
+ }
976
+ 100% {
977
+ background-position: 50px 50px;
978
+ }
979
+ }
980
+
981
+ @-moz-keyframes move {
982
+ 0% {
983
+ background-position: 0 0;
984
+ }
985
+ 100% {
986
+ background-position: 50px 50px;
987
+ }
988
+ }
989
+
990
+
991
+ .orange > span {
992
+ background-color: #f1a165;
993
+ background-image: -moz-linear-gradient(top, #f1a165, #f36d0a);
994
+ background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #f1a165),color-stop(1, #f36d0a));
995
+ background-image: -webkit-linear-gradient(#f1a165, #f36d0a);
996
+ }
997
+
998
+ .red > span {
999
+ background-color: #f0a3a3;
1000
+ background-image: -moz-linear-gradient(top, #f0a3a3, #f42323);
1001
+ background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #f0a3a3),color-stop(1, #f42323));
1002
+ background-image: -webkit-linear-gradient(#f0a3a3, #f42323);
1003
+ }
1004
+
1005
+ .nostripes > span > span, .nostripes > span:after {
1006
+ -webkit-animation: none;
1007
+ -moz-animation: none;
1008
+ background-image: none;
1009
+ }
1010
+
1011
+
1012
+ */
assets/css/fancybox.css ADDED
@@ -0,0 +1,350 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #envirabox-wrap,
2
+ #envirabox-wrap *,
3
+ #envirabox-overlay {
4
+ box-sizing: content-box;
5
+ -webkit-box-sizing: content-box;
6
+ -moz-box-sizing: content-box;
7
+ }
8
+
9
+ #envirabox-loading, .envirabox-close, #envirabox-left #envirabox-left-ico, #envirabox-right #envirabox-right-ico {
10
+ background-image: url('images/envirabox_sprite.png');
11
+ }
12
+
13
+ #envirabox-loading {
14
+ position: fixed;
15
+ top: 50%;
16
+ left: 50%;
17
+ margin-top: -22px;
18
+ margin-left: -22px;
19
+ background-position: 0 -108px;
20
+ opacity: 0.8;
21
+ cursor: pointer;
22
+ z-index: 988100;
23
+ display: none;
24
+ }
25
+
26
+ #envirabox-loading div {
27
+ width: 44px;
28
+ height: 44px;
29
+ background: url('images/envirabox_loading.gif') center center no-repeat;
30
+ }
31
+
32
+ #envirabox-overlay {
33
+ position: absolute;
34
+ top: 0;
35
+ left: 0;
36
+ width: 100%;
37
+ z-index: 988010;
38
+ display: none;
39
+ background: url('images/envirabox_overlay.png');
40
+ background-color: rgba(0,0,0,.9) !important;
41
+ }
42
+
43
+ #envirabox-tmp {
44
+ padding: 0;
45
+ margin: 0;
46
+ border: 0;
47
+ overflow: auto;
48
+ display: none;
49
+ }
50
+
51
+ #envirabox-wrap {
52
+ position: absolute;
53
+ top: 0;
54
+ left: 0;
55
+ padding: 20px;
56
+ z-index: 988020;
57
+ outline: none;
58
+ display: none;
59
+ }
60
+
61
+ #envirabox-outer {
62
+ position: relative;
63
+ width: 100%;
64
+ height: 100%;
65
+ background: #fff;
66
+ -webkit-border-radius: 4px;
67
+ -moz-border-radius: 4px;
68
+ border-radius: 4px;
69
+ }
70
+
71
+ #envirabox-content {
72
+ width: 0;
73
+ height: 0;
74
+ padding: 0;
75
+ outline: none;
76
+ position: relative;
77
+ overflow: hidden;
78
+ z-index: 988021;
79
+ border: 0px solid #fff;
80
+ -webkit-box-shadow: 0 10px 25px rgba(0,0,0,0.5);
81
+ -moz-box-shadow: 0 10px 25px rgba(0,0,0,0.5);
82
+ box-shadow: 0 10px 25px rgba(0,0,0,0.5);
83
+ -webkit-border-radius: 4px;
84
+ -moz-border-radius: 4px;
85
+ border-radius: 4px;
86
+ }
87
+
88
+ #envirabox-hide-sel-frame {
89
+ position: absolute;
90
+ top: 0;
91
+ left: 0;
92
+ width: 100%;
93
+ height: 100%;
94
+ background: transparent;
95
+ z-index: 988020;
96
+ }
97
+
98
+ #envirabox-close {
99
+ position: absolute;
100
+ top: -18px;
101
+ right: -18px;
102
+ width: 36px;
103
+ height: 36px;
104
+ z-index: 988040;
105
+ cursor: pointer;
106
+ display: none;
107
+ background-image: url("images/envirabox_sprite.png");
108
+ }
109
+
110
+ #envirabox-error {
111
+ color: #444;
112
+ font: normal 12px/20px Arial;
113
+ padding: 14px;
114
+ margin: 0;
115
+ }
116
+
117
+ #envirabox-img {
118
+ width: 100%;
119
+ height: 100%;
120
+ padding: 0;
121
+ margin: 0;
122
+ border: none;
123
+ outline: none;
124
+ line-height: 0;
125
+ vertical-align: top;
126
+ }
127
+
128
+ #envirabox-frame {
129
+ width: 100%;
130
+ height: 100%;
131
+ border: none;
132
+ display: block;
133
+ }
134
+
135
+ #envirabox-left, #envirabox-right {
136
+ position: absolute;
137
+ bottom: 0px;
138
+ height: 100%;
139
+ width: 35%;
140
+ cursor: pointer;
141
+ outline: none;
142
+ background: transparent url('images/blank.gif');
143
+ z-index: 988040;
144
+ display: none;
145
+ }
146
+
147
+ #envirabox-left {
148
+ left: 0px;
149
+ }
150
+
151
+ #envirabox-right {
152
+ right: 0px;
153
+ }
154
+
155
+ #envirabox-left-ico, #envirabox-right-ico {
156
+ position: absolute;
157
+ top: 50%;
158
+ left: -9999px;
159
+ width: 36px;
160
+ height: 34px;
161
+ margin-top: -15px;
162
+ cursor: pointer;
163
+ z-index: 988040;
164
+ display: block;
165
+ }
166
+
167
+ #envirabox-left-ico {
168
+ background-position: 0 -36px;
169
+ }
170
+
171
+ #envirabox-right-ico {
172
+ background-position: 0 -72px;
173
+ }
174
+
175
+ #envirabox-left:hover, #envirabox-right:hover {
176
+ visibility: visible; /* IE6 */
177
+ }
178
+
179
+ body.envira-touch #envirabox-left span,
180
+ #envirabox-left:hover span {
181
+ left: 20px;
182
+ }
183
+
184
+ #envirabox-right:hover span,
185
+ body.envira-touch #envirabox-right span {
186
+ left: auto;
187
+ right: 20px;
188
+ }
189
+
190
+ body.envira-touch #envirabox-left,
191
+ body.envira-touch #envirabox-right {
192
+ visibility: visible;
193
+ }
194
+
195
+ #envirabox-title {
196
+ font-family: Helvetica;
197
+ font-size: 12px;
198
+ z-index: 988025;
199
+ }
200
+
201
+ #envirabox-title.envirabox-title-inside {
202
+ padding-bottom: 12px;
203
+ background: #fff;
204
+ font-size: 13px;
205
+ line-height: 20px;
206
+ font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
207
+ position: relative;
208
+ text-shadow: none;
209
+ z-index: 988090;
210
+ margin-left: 0 !important;
211
+ margin-right: 0 !important;
212
+ padding-left: 15px;
213
+ padding-right: 15px;
214
+ margin-top: -6px;
215
+ -webkit-border-bottom-right-radius: 4px;
216
+ -webkit-border-bottom-left-radius: 4px;
217
+ -moz-border-radius-bottomright: 4px;
218
+ -moz-border-radius-bottomleft: 4px;
219
+ border-bottom-right-radius: 4px;
220
+ border-bottom-left-radius: 4px;
221
+ }
222
+
223
+ #envirabox-title.envirabox-title-outside {
224
+ padding-top: 10px;
225
+ color: #fff;
226
+ font-size: 13px;
227
+ line-height: 20px;
228
+ font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
229
+ position: relative;
230
+ text-shadow: none;
231
+ padding-left: 0 !important;
232
+ }
233
+
234
+ #envirabox-title-outside {
235
+ color: #fff;
236
+ font-size: 13px;
237
+ line-height: 20px;
238
+ font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
239
+ position: relative;
240
+ text-shadow: none;
241
+ }
242
+
243
+ .envirabox-title-over {
244
+ position: absolute;
245
+ bottom: 0;
246
+ left: 0;
247
+ color: #FFF;
248
+ text-align: left;
249
+ }
250
+
251
+ #envirabox-title-over {
252
+ padding: 10px;
253
+ background: #000;
254
+ background: rgba(0,0,0,.8);
255
+ display: inline-block;
256
+ font-size: 13px;
257
+ line-height: 20px;
258
+ font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
259
+ position: relative;
260
+ text-shadow: none;
261
+ }
262
+
263
+ .envirabox-title-float {
264
+ position: absolute;
265
+ left: 0;
266
+ bottom: -20px;
267
+ height: 32px;
268
+ }
269
+
270
+ #envirabox-title-float-wrap {
271
+ border: none;
272
+ border-collapse: collapse;
273
+ width: auto;
274
+ }
275
+
276
+ #envirabox-title-float-wrap tbody,
277
+ #envirabox-title-float-wrap td {
278
+ border: none;
279
+ white-space: nowrap;
280
+ }
281
+
282
+ #envirabox-title-float-left {
283
+ padding: 0 0 0 15px;
284
+ }
285
+
286
+ #envirabox-title-float-main {
287
+ display: inline-block;
288
+ margin-right: -100%;
289
+ padding: 2px 20px;
290
+ background: transparent;
291
+ background: rgba(0,0,0,0.8);
292
+ -webkit-border-radius: 15px;
293
+ -moz-border-radius: 15px;
294
+ border-radius: 15px;
295
+ text-shadow: 0 1px 2px #222;
296
+ color: #FFF;
297
+ line-height: 24px;
298
+ white-space: nowrap;
299
+ }
300
+
301
+ #envirabox-title-float-right {
302
+ padding: 0 0 0 15px;
303
+ }
304
+
305
+ /* IE6 */
306
+
307
+ .envirabox-ie6 #envirabox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/envirabox/fancy_close.png', sizingMethod='scale'); }
308
+
309
+ .envirabox-ie6 #envirabox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/envirabox/fancy_nav_left.png', sizingMethod='scale'); }
310
+ .envirabox-ie6 #envirabox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/envirabox/fancy_nav_right.png', sizingMethod='scale'); }
311
+
312
+ .envirabox-ie6 #envirabox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/envirabox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; }
313
+ .envirabox-ie6 #envirabox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/envirabox/fancy_title_left.png', sizingMethod='scale'); }
314
+ .envirabox-ie6 #envirabox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/envirabox/fancy_title_main.png', sizingMethod='scale'); }
315
+ .envirabox-ie6 #envirabox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/envirabox/fancy_title_right.png', sizingMethod='scale'); }
316
+
317
+ .envirabox-ie6 #envirabox-bg-w, .envirabox-ie6 #envirabox-bg-e, .envirabox-ie6 #envirabox-left, .envirabox-ie6 #envirabox-right, #envirabox-hide-sel-frame {
318
+ height: expression(this.parentNode.clientHeight + "px");
319
+ }
320
+
321
+ #envirabox-loading.envirabox-ie6 {
322
+ position: absolute; margin-top: 0;
323
+ top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px');
324
+ }
325
+
326
+ #envirabox-loading.envirabox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/envirabox/fancy_loading.png', sizingMethod='scale'); }
327
+
328
+ /* IE6, IE7, IE8 */
329
+
330
+ .envirabox-ie .envirabox-bg { background: transparent !important; }
331
+
332
+ @media
333
+ only screen and (-webkit-min-device-pixel-ratio: 2),
334
+ only screen and ( min--moz-device-pixel-ratio: 2),
335
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
336
+ only screen and ( min-device-pixel-ratio: 2),
337
+ only screen and ( min-resolution: 192dpi),
338
+ only screen and ( min-resolution: 2dppx) {
339
+
340
+ #envirabox-loading, .envirabox-close, #envirabox-left #envirabox-left-ico, #envirabox-right #envirabox-right-ico, #envirabox-close {
341
+ background-image: url('images/envirabox_sprite@2x.png');
342
+ background-size: 44px 152px;
343
+ }
344
+
345
+ #envirabox-loading div {
346
+ background-image: url('images/envirabox_loading@2x.gif');
347
+ background-size: 24px 24px;
348
+ }
349
+
350
+ }
assets/css/images/fancy_title_over.png ADDED
Binary file
assets/js/envira.js CHANGED
@@ -3,6 +3,7 @@
3
  */
4
  // @codekit-append "lib/jquery.justifiedGallery.js";
5
  // @codekit-append "lib/enviraJustifiedGallery-extensions.js";
 
6
  // @codekit-append "lib/touchswipe.js";
7
  // @codekit-append "lib/mousewheel.js";
8
  // @codekit-append "lib/imagesloaded.js";
@@ -37,25 +38,25 @@ jQuery( document ).ready( function( $ ) {
37
  function jg_effect_desaturate(src) {
38
  var supportsCanvas = !!document.createElement('canvas').getContext;
39
  if (supportsCanvas) {
40
- var canvas = document.createElement('canvas'),
41
- context = canvas.getContext('2d'),
42
- imageData, px, length, i = 0, gray,
43
  img = new Image();
44
-
45
  img.src = src;
46
  canvas.width = img.width;
47
  canvas.height = img.height;
48
  context.drawImage(img, 0, 0);
49
-
50
  imageData = context.getImageData(0, 0, canvas.width, canvas.height);
51
  px = imageData.data;
52
  length = px.length;
53
-
54
  for (; i < length; i += 4) {
55
  gray = px[i] * .3 + px[i + 1] * .59 + px[i + 2] * .11;
56
  px[i] = px[i + 1] = px[i + 2] = gray;
57
  }
58
-
59
  context.putImageData(imageData, 0, 0);
60
  return canvas.toDataURL();
61
  } else {
@@ -66,16 +67,16 @@ function jg_effect_desaturate(src) {
66
  function jg_effect_threshold(src) {
67
  var supportsCanvas = !!document.createElement('canvas').getContext;
68
  if (supportsCanvas) {
69
- var canvas = document.createElement('canvas'),
70
- context = canvas.getContext('2d'),
71
- imageData, px, length, i = 0, gray,
72
  img = new Image();
73
-
74
  img.src = src;
75
  canvas.width = img.width;
76
  canvas.height = img.height;
77
  context.drawImage(img, 0, 0);
78
-
79
  imageData = context.getImageData(0, 0, canvas.width, canvas.height);
80
  px = imageData.data;
81
  length = px.length;
@@ -89,7 +90,7 @@ function jg_effect_threshold(src) {
89
  var v = (0.2126*r + 0.7152*g + 0.0722*b >= threshold) ? 255 : 0;
90
  px[i] = px[i+1] = px[i+2] = v
91
  }
92
-
93
  context.putImageData(imageData, 0, 0);
94
  return canvas.toDataURL();
95
  } else {
@@ -100,113 +101,113 @@ function jg_effect_threshold(src) {
100
  function jg_effect_blur(src) {
101
  var supportsCanvas = !!document.createElement('canvas').getContext;
102
  if (supportsCanvas) {
103
- var canvas = document.createElement('canvas'),
104
- context = canvas.getContext('2d'),
105
  imageData, px, length, i = 0, gray, top_x = 0, top_y = 0, radius = 30, iterations = 1
106
  img = new Image();
107
-
108
  img.src = src;
109
  canvas.width = img.width;
110
  canvas.height = img.height;
111
  context.drawImage(img, 0, 0);
112
 
113
- var imageData;
114
  var width = img.width;
115
  var height = img.height;
116
 
117
  imageData = context.getImageData( top_x, top_y, width, height );
118
  var pixels = imageData.data;
119
-
120
- var rsum,gsum,bsum,asum,x,y,i,p,p1,p2,yp,yi,yw,idx;
121
  var wm = width - 1;
122
  var hm = height - 1;
123
  var wh = width * height;
124
  var rad1 = radius + 1;
125
-
126
  var r = [];
127
  var g = [];
128
  var b = [];
129
-
130
  var mul_sum = mul_table[radius];
131
  var shg_sum = shg_table[radius];
132
-
133
  var vmin = [];
134
  var vmax = [];
135
-
136
  while ( iterations-- > 0 ){
137
  yw = yi = 0;
138
-
139
  for ( y=0; y < height; y++ ){
140
  rsum = pixels[yw] * rad1;
141
  gsum = pixels[yw+1] * rad1;
142
  bsum = pixels[yw+2] * rad1;
143
-
144
  for( i = 1; i <= radius; i++ ){
145
  p = yw + (((i > wm ? wm : i )) << 2 );
146
  rsum += pixels[p++];
147
  gsum += pixels[p++];
148
  bsum += pixels[p++];
149
  }
150
-
151
  for ( x = 0; x < width; x++ ){
152
  r[yi] = rsum;
153
  g[yi] = gsum;
154
  b[yi] = bsum;
155
-
156
  if( y==0) {
157
  vmin[x] = ( ( p = x + rad1) < wm ? p : wm ) << 2;
158
  vmax[x] = ( ( p = x - radius) > 0 ? p << 2 : 0 );
159
- }
160
-
161
  p1 = yw + vmin[x];
162
  p2 = yw + vmax[x];
163
-
164
  rsum += pixels[p1++] - pixels[p2++];
165
  gsum += pixels[p1++] - pixels[p2++];
166
  bsum += pixels[p1++] - pixels[p2++];
167
-
168
  yi++;
169
  }
170
  yw += ( width << 2 );
171
  }
172
-
173
  for ( x = 0; x < width; x++ ){
174
  yp = x;
175
  rsum = r[yp] * rad1;
176
  gsum = g[yp] * rad1;
177
  bsum = b[yp] * rad1;
178
-
179
  for( i = 1; i <= radius; i++ ){
180
  yp += ( i > hm ? 0 : width );
181
  rsum += r[yp];
182
  gsum += g[yp];
183
  bsum += b[yp];
184
  }
185
-
186
  yi = x << 2;
187
  for ( y = 0; y < height; y++){
188
  pixels[yi] = (rsum * mul_sum) >>> shg_sum;
189
  pixels[yi+1] = (gsum * mul_sum) >>> shg_sum;
190
  pixels[yi+2] = (bsum * mul_sum) >>> shg_sum;
191
-
192
  if( x == 0 ) {
193
  vmin[y] = ( ( p = y + rad1) < hm ? p : hm ) * width;
194
  vmax[y] = ( ( p = y - radius) > 0 ? p * width : 0 );
195
- }
196
-
197
  p1 = x + vmin[y];
198
  p2 = x + vmax[y];
199
 
200
  rsum += r[p1] - r[p2];
201
  gsum += g[p1] - g[p2];
202
  bsum += b[p1] - b[p2];
203
-
204
  yi += width << 2;
205
  }
206
  }
207
  }
208
  context.putImageData( imageData, top_x, top_y );
209
-
210
  return canvas.toDataURL();
211
 
212
  } else {
@@ -228,5 +229,5 @@ function jg_effect_vintage( img ) {
228
  lighten: .1
229
 
230
  };
231
- new VintageJS(img, options, effect);
232
  }
3
  */
4
  // @codekit-append "lib/jquery.justifiedGallery.js";
5
  // @codekit-append "lib/enviraJustifiedGallery-extensions.js";
6
+ // @codekit-append "lib/touchsupport.js";
7
  // @codekit-append "lib/touchswipe.js";
8
  // @codekit-append "lib/mousewheel.js";
9
  // @codekit-append "lib/imagesloaded.js";
38
  function jg_effect_desaturate(src) {
39
  var supportsCanvas = !!document.createElement('canvas').getContext;
40
  if (supportsCanvas) {
41
+ var canvas = document.createElement('canvas'),
42
+ context = canvas.getContext('2d'),
43
+ imageData, px, length, i = 0, gray,
44
  img = new Image();
45
+
46
  img.src = src;
47
  canvas.width = img.width;
48
  canvas.height = img.height;
49
  context.drawImage(img, 0, 0);
50
+
51
  imageData = context.getImageData(0, 0, canvas.width, canvas.height);
52
  px = imageData.data;
53
  length = px.length;
54
+
55
  for (; i < length; i += 4) {
56
  gray = px[i] * .3 + px[i + 1] * .59 + px[i + 2] * .11;
57
  px[i] = px[i + 1] = px[i + 2] = gray;
58
  }
59
+
60
  context.putImageData(imageData, 0, 0);
61
  return canvas.toDataURL();
62
  } else {
67
  function jg_effect_threshold(src) {
68
  var supportsCanvas = !!document.createElement('canvas').getContext;
69
  if (supportsCanvas) {
70
+ var canvas = document.createElement('canvas'),
71
+ context = canvas.getContext('2d'),
72
+ imageData, px, length, i = 0, gray,
73
  img = new Image();
74
+
75
  img.src = src;
76
  canvas.width = img.width;
77
  canvas.height = img.height;
78
  context.drawImage(img, 0, 0);
79
+
80
  imageData = context.getImageData(0, 0, canvas.width, canvas.height);
81
  px = imageData.data;
82
  length = px.length;
90
  var v = (0.2126*r + 0.7152*g + 0.0722*b >= threshold) ? 255 : 0;
91
  px[i] = px[i+1] = px[i+2] = v
92
  }
93
+
94
  context.putImageData(imageData, 0, 0);
95
  return canvas.toDataURL();
96
  } else {
101
  function jg_effect_blur(src) {
102
  var supportsCanvas = !!document.createElement('canvas').getContext;
103
  if (supportsCanvas) {
104
+ var canvas = document.createElement('canvas'),
105
+ context = canvas.getContext('2d'),
106
  imageData, px, length, i = 0, gray, top_x = 0, top_y = 0, radius = 30, iterations = 1
107
  img = new Image();
108
+
109
  img.src = src;
110
  canvas.width = img.width;
111
  canvas.height = img.height;
112
  context.drawImage(img, 0, 0);
113
 
114
+ var imageData;
115
  var width = img.width;
116
  var height = img.height;
117
 
118
  imageData = context.getImageData( top_x, top_y, width, height );
119
  var pixels = imageData.data;
120
+
121
+ var rsum,gsum,bsum,asum,x,y,i,p,p1,p2,yp,yi,yw,idx;
122
  var wm = width - 1;
123
  var hm = height - 1;
124
  var wh = width * height;
125
  var rad1 = radius + 1;
126
+
127
  var r = [];
128
  var g = [];
129
  var b = [];
130
+
131
  var mul_sum = mul_table[radius];
132
  var shg_sum = shg_table[radius];
133
+
134
  var vmin = [];
135
  var vmax = [];
136
+
137
  while ( iterations-- > 0 ){
138
  yw = yi = 0;
139
+
140
  for ( y=0; y < height; y++ ){
141
  rsum = pixels[yw] * rad1;
142
  gsum = pixels[yw+1] * rad1;
143
  bsum = pixels[yw+2] * rad1;
144
+
145
  for( i = 1; i <= radius; i++ ){
146
  p = yw + (((i > wm ? wm : i )) << 2 );
147
  rsum += pixels[p++];
148
  gsum += pixels[p++];
149
  bsum += pixels[p++];
150
  }
151
+
152
  for ( x = 0; x < width; x++ ){
153
  r[yi] = rsum;
154
  g[yi] = gsum;
155
  b[yi] = bsum;
156
+
157
  if( y==0) {
158
  vmin[x] = ( ( p = x + rad1) < wm ? p : wm ) << 2;
159
  vmax[x] = ( ( p = x - radius) > 0 ? p << 2 : 0 );
160
+ }
161
+
162
  p1 = yw + vmin[x];
163
  p2 = yw + vmax[x];
164
+
165
  rsum += pixels[p1++] - pixels[p2++];
166
  gsum += pixels[p1++] - pixels[p2++];
167
  bsum += pixels[p1++] - pixels[p2++];
168
+
169
  yi++;
170
  }
171
  yw += ( width << 2 );
172
  }
173
+
174
  for ( x = 0; x < width; x++ ){
175
  yp = x;
176
  rsum = r[yp] * rad1;
177
  gsum = g[yp] * rad1;
178
  bsum = b[yp] * rad1;
179
+
180
  for( i = 1; i <= radius; i++ ){
181
  yp += ( i > hm ? 0 : width );
182
  rsum += r[yp];
183
  gsum += g[yp];
184
  bsum += b[yp];
185
  }
186
+
187
  yi = x << 2;
188
  for ( y = 0; y < height; y++){
189
  pixels[yi] = (rsum * mul_sum) >>> shg_sum;
190
  pixels[yi+1] = (gsum * mul_sum) >>> shg_sum;
191
  pixels[yi+2] = (bsum * mul_sum) >>> shg_sum;
192
+
193
  if( x == 0 ) {
194
  vmin[y] = ( ( p = y + rad1) < hm ? p : hm ) * width;
195
  vmax[y] = ( ( p = y - radius) > 0 ? p * width : 0 );
196
+ }
197
+
198
  p1 = x + vmin[y];
199
  p2 = x + vmax[y];
200
 
201
  rsum += r[p1] - r[p2];
202
  gsum += g[p1] - g[p2];
203
  bsum += b[p1] - b[p2];
204
+
205
  yi += width << 2;
206
  }
207
  }
208
  }
209
  context.putImageData( imageData, top_x, top_y );
210
+
211
  return canvas.toDataURL();
212
 
213
  } else {
229
  lighten: .1
230
 
231
  };
232
+ new VintageJS(img, options, effect);
233
  }
assets/js/lib/fancybox.js CHANGED
@@ -1,2038 +1,837 @@
1
- // Envirabox 2.1.5
2
- ;(function (window, document, $, undefined) {
3
- "use strict";
4
-
5
- var H = $("html"),
6
- W = $(window),
7
- D = $(document),
8
- F = $.envirabox = function () {
9
- F.open.apply( this, arguments );
10
- },
11
- IE = navigator.userAgent.match(/msie/i),
12
- didUpdate = null,
13
- isTouch = document.createTouch !== undefined,
14
-
15
- isQuery = function(obj) {
16
- return obj && obj.hasOwnProperty && obj instanceof $;
17
- },
18
- isString = function(str) {
19
- return str && $.type(str) === "string";
20
- },
21
- isPercentage = function(str) {
22
- return isString(str) && str.indexOf('%') > 0;
23
- },
24
- isScrollable = function(el) {
25
- return (el && !(el.style.overflow && el.style.overflow === 'hidden') && ((el.clientWidth && el.scrollWidth > el.clientWidth) || (el.clientHeight && el.scrollHeight > el.clientHeight)));
26
- },
27
- getScalar = function(orig, dim) {
28
- var value = parseInt(orig, 10) || 0;
29
-
30
- if (dim && isPercentage(orig)) {
31
- value = F.getViewport()[ dim ] / 100 * value;
32
- }
33
-
34
- return Math.ceil(value);
35
- },
36
- getValue = function(value, dim) {
37
- return getScalar(value, dim) + 'px';
38
- };
39
-
40
- $.extend(F, {
41
- // The current version of envirabox
42
- version: '2.1.5',
43
-
44
- defaults: {
45
- padding : 15,
46
- margin : 40,
47
-
48
- width : 800,
49
- height : 600,
50
- minWidth : 100,
51
- minHeight : 100,
52
- maxWidth : 9999,
53
- maxHeight : 9999,
54
- pixelRatio: 1, // Set to 2 for retina display support
55
-
56
- autoSize : true,
57
- autoHeight : false,
58
- autoWidth : false,
59
-
60
- autoResize : true,
61
- autoCenter : !isTouch,
62
- fitToView : true,
63
- aspectRatio : false,
64
- topRatio : 0.5,
65
- leftRatio : 0.5,
66
-
67
- scrolling : 'auto', // 'auto', 'yes' or 'no'
68
- wrapCSS : '',
69
-
70
- arrows : true,
71
- closeBtn : true,
72
- closeClick : false,
73
- nextClick : false,
74
- mouseWheel : true,
75
- autoPlay : false,
76
- playSpeed : 3000,
77
- preload : 3,
78
- modal : false,
79
- loop : true,
80
-
81
- ajax : {
82
- dataType : 'html',
83
- headers : { 'X-envirabox': true }
84
- },
85
- iframe : {
86
- scrolling : 'auto',
87
- preload : true
88
- },
89
- swf : {
90
- wmode: 'transparent',
91
- allowfullscreen : 'true',
92
- allowscriptaccess : 'always'
93
- },
94
-
95
- keys : {
96
- next : {
97
- 13 : 'left', // enter
98
- 34 : 'up', // page down
99
- 39 : 'left', // right arrow
100
- 40 : 'up' // down arrow
101
- },
102
- prev : {
103
- 8 : 'right', // backspace
104
- 33 : 'down', // page up
105
- 37 : 'right', // left arrow
106
- 38 : 'down' // up arrow
107
- },
108
- close : [27], // escape key
109
- play : [32], // space - start/stop slideshow
110
- toggle : [70] // letter "f" - toggle fullscreen
111
- },
112
-
113
- direction : {
114
- next : 'left',
115
- prev : 'right'
116
- },
117
-
118
- scrollOutside : true,
119
-
120
- // Override some properties
121
- index : 0,
122
- type : null,
123
- href : null,
124
- content : null,
125
- title : null,
126
-
127
- // HTML templates
128
- tpl: {
129
- wrap : '<div class="envirabox-wrap" tabIndex="-1"><div class="envirabox-skin"><div class="envirabox-outer"><div class="envirabox-inner"></div></div></div></div>',
130
- image : '<img class="envirabox-image" src="{href}" />',
131
- iframe : '<iframe id="envirabox-frame{rnd}" name="envirabox-frame{rnd}" class="envirabox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen' + (IE ? ' allowtransparency="true"' : '') + '></iframe>',
132
- error : '<p class="envirabox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',
133
- closeBtn : '<a title="Close" class="envirabox-item envirabox-close" href="javascript:;"></a>',
134
- next : '<a title="Next" class="envirabox-nav envirabox-next" href="javascript:;"><span></span></a>',
135
- prev : '<a title="Previous" class="envirabox-nav envirabox-prev" href="javascript:;"><span></span></a>'
136
- },
137
-
138
- // Properties for each animation type
139
- // Opening envirabox
140
- openEffect : 'fade', // 'elastic', 'fade' or 'none'
141
- openSpeed : 250,
142
- openEasing : 'swing',
143
- openOpacity : true,
144
- openMethod : 'zoomIn',
145
-
146
- // Closing envirabox
147
- closeEffect : 'fade', // 'elastic', 'fade' or 'none'
148
- closeSpeed : 250,
149
- closeEasing : 'swing',
150
- closeOpacity : true,
151
- closeMethod : 'zoomOut',
152
-
153
- // Changing next gallery item
154
- nextEffect : 'elastic', // 'elastic', 'fade' or 'none'
155
- nextSpeed : 250,
156
- nextEasing : 'swing',
157
- nextMethod : 'changeIn',
158
-
159
- // Changing previous gallery item
160
- prevEffect : 'elastic', // 'elastic', 'fade' or 'none'
161
- prevSpeed : 250,
162
- prevEasing : 'swing',
163
- prevMethod : 'changeOut',
164
-
165
- // Enable default helpers
166
- helpers : {
167
- overlay : true,
168
- title : true
169
- },
170
-
171
- // Callbacks
172
- onCancel : $.noop, // If canceling
173
- beforeLoad : $.noop, // Before loading
174
- afterLoad : $.noop, // After loading
175
- beforeShow : $.noop, // Before changing in current item
176
- afterShow : $.noop, // After opening
177
- beforeChange : $.noop, // Before changing gallery item
178
- beforeClose : $.noop, // Before closing
179
- afterClose : $.noop // After closing
180
- },
181
-
182
- //Current state
183
- group : {}, // Selected group
184
- opts : {}, // Group options
185
- previous : null, // Previous element
186
- coming : null, // Element being loaded
187
- current : null, // Currently loaded element
188
- isActive : false, // Is activated
189
- isOpen : false, // Is currently open
190
- isOpened : false, // Have been fully opened at least once
191
-
192
- wrap : null,
193
- skin : null,
194
- outer : null,
195
- inner : null,
196
-
197
- player : {
198
- timer : null,
199
- isActive : false
200
- },
201
-
202
- // Loaders
203
- ajaxLoad : null,
204
- imgPreload : null,
205
-
206
- // Some collections
207
- transitions : {},
208
- helpers : {},
209
-
210
- /*
211
- * Static methods
212
- */
213
-
214
- open: function (group, opts, images) {
215
- if (!group) {
216
- return;
217
- }
218
-
219
- if (images) {
220
- group = images;
221
- }
222
-
223
- if (!$.isPlainObject(opts)) {
224
- opts = {};
225
- }
226
-
227
- // Close if already active
228
- if (false === F.close(true)) {
229
- return;
230
- }
231
-
232
- // Normalize group
233
- if (!$.isArray(group)) {
234
- group = isQuery(group) ? $(group).get() : [group];
235
- }
236
-
237
- // Recheck if the type of each element is `object` and set content type (image, ajax, etc)
238
- $.each(group, function(i, element) {
239
- var obj = {},
240
- href,
241
- title,
242
- content,
243
- type,
244
- rez,
245
- hrefParts,
246
- selector;
247
-
248
- if ($.type(element) === "object") {
249
- // Check if is DOM element
250
- if (element.nodeType) {
251
- element = $(element);
252
- }
253
-
254
- if (isQuery(element)) {
255
- obj = {
256
- href : element.data('envirabox-href') || element.attr('href'),
257
- title : $('<div/>').text( element.data('envirabox-title') || element.attr('title') ).html(),
258
- isDom : true,
259
- element : element
260
- };
261
-
262
- if ($.metadata) {
263
- $.extend(true, obj, element.metadata());
264
- }
265
-
266
- } else {
267
- obj = element;
268
- }
269
- }
270
-
271
- href = opts.href || obj.href || (isString(element) ? element : null);
272
- title = opts.title !== undefined ? opts.title : obj.title || '';
273
-
274
- content = opts.content || obj.content;
275
- type = content ? 'html' : (opts.type || obj.type);
276
-
277
- if (!type && obj.isDom) {
278
- type = element.data('envirabox-type');
279
-
280
- if (!type) {
281
- rez = element.prop('class').match(/envirabox\.(\w+)/);
282
- type = rez ? rez[1] : null;
283
- }
284
- }
285
-
286
- if (isString(href)) {
287
- // Try to guess the content type
288
- if (!type) {
289
- if (F.isImage(href)) {
290
- type = 'image';
291
-
292
- } else if (F.isSWF(href)) {
293
- type = 'swf';
294
-
295
- } else if (href.charAt(0) === '#') {
296
- type = 'inline';
297
-
298
- } else if (isString(element)) {
299
- type = 'html';
300
- content = element;
301
- }
302
- }
303
-
304
- // Split url into two pieces with source url and content selector, e.g,
305
- // "/mypage.html #my_id" will load "/mypage.html" and display element having id "my_id"
306
- if (type === 'ajax') {
307
- hrefParts = href.split(/\s+/, 2);
308
- href = hrefParts.shift();
309
- selector = hrefParts.shift();
310
- }
311
- }
312
-
313
- if (!content) {
314
- if (type === 'inline') {
315
- if (href) {
316
- content = $( isString(href) ? href.replace(/.*(?=#[^\s]+$)/, '') : href ); //strip for ie7
317
-
318
- } else if (obj.isDom) {
319
- content = element;
320
- }
321
-
322
- } else if (type === 'html') {
323
- content = href;
324
-
325
- } else if (!type && !href && obj.isDom) {
326
- type = 'inline';
327
- content = element;
328
- }
329
- }
330
-
331
- $.extend(obj, {
332
- href : href,
333
- type : type,
334
- content : content,
335
- title : title,
336
- selector : selector
337
- });
338
-
339
- group[ i ] = obj;
340
- });
341
-
342
- // Extend the defaults
343
- F.opts = $.extend(true, {}, F.defaults, opts);
344
-
345
- // All options are merged recursive except keys
346
- if (opts.keys !== undefined) {
347
- F.opts.keys = opts.keys ? $.extend({}, F.defaults.keys, opts.keys) : false;
348
- }
349
-
350
- F.group = group;
351
-
352
- return F._start(F.opts.index);
353
- },
354
-
355
- // Cancel image loading or abort ajax request
356
- cancel: function () {
357
- var coming = F.coming;
358
-
359
- if (coming && false === F.trigger('onCancel')) {
360
- return;
361
- }
362
-
363
- F.hideLoading();
364
-
365
- if (!coming) {
366
- return;
367
- }
368
-
369
- if (F.ajaxLoad) {
370
- F.ajaxLoad.abort();
371
- }
372
-
373
- F.ajaxLoad = null;
374
-
375
- if (F.imgPreload) {
376
- F.imgPreload.onload = F.imgPreload.onerror = null;
377
- }
378
-
379
- if (coming.wrap) {
380
- coming.wrap.stop(true, true).trigger('onReset').remove();
381
- }
382
-
383
- F.coming = null;
384
-
385
- // If the first item has been canceled, then clear everything
386
- if (!F.current) {
387
- F._afterZoomOut( coming );
388
- }
389
- },
390
-
391
- // Start closing animation if is open; remove immediately if opening/closing
392
- close: function (event) {
393
- F.cancel();
394
-
395
- if (false === F.trigger('beforeClose')) {
396
- return;
397
- }
398
-
399
- F.unbindEvents();
400
-
401
- if (!F.isActive) {
402
- return;
403
- }
404
-
405
- if (!F.isOpen || event === true) {
406
- $('.envirabox-wrap').stop(true).trigger('onReset').remove();
407
-
408
- F._afterZoomOut();
409
-
410
- } else {
411
- F.isOpen = F.isOpened = false;
412
- F.isClosing = true;
413
-
414
- $('.envirabox-item, .envirabox-nav').remove();
415
-
416
- F.wrap.stop(true, true).removeClass('envirabox-opened');
417
-
418
- F.transitions[ F.current.closeMethod ]();
419
- }
420
- },
421
-
422
- // Manage slideshow:
423
- // $.envirabox.play(); - toggle slideshow
424
- // $.envirabox.play( true ); - start
425
- // $.envirabox.play( false ); - stop
426
- play: function ( action ) {
427
- var clear = function () {
428
- clearTimeout(F.player.timer);
429
- },
430
- set = function () {
431
- clear();
432
-
433
- if (F.current && F.player.isActive) {
434
- F.player.timer = setTimeout(F.next, F.current.playSpeed);
435
- }
436
- },
437
- stop = function () {
438
- clear();
439
-
440
- D.unbind('.player');
441
-
442
- F.player.isActive = false;
443
-
444
- F.trigger('onPlayEnd');
445
- },
446
- start = function () {
447
- if (F.current && (F.current.loop || F.current.index < F.group.length - 1)) {
448
- F.player.isActive = true;
449
-
450
- D.bind({
451
- 'onCancel.player beforeClose.player' : stop,
452
- 'onUpdate.player' : set,
453
- 'beforeLoad.player' : clear
454
- });
455
-
456
- set();
457
-
458
- F.trigger('onPlayStart');
459
- }
460
- };
461
-
462
- if (action === true || (!F.player.isActive && action !== false)) {
463
- start();
464
- } else {
465
- stop();
466
- }
467
- },
468
-
469
- // Navigate to next gallery item
470
- next: function ( direction ) {
471
- var current = F.current;
472
-
473
- if (current) {
474
- if (!isString(direction)) {
475
- direction = current.direction.next;
476
- }
477
-
478
- F.jumpto(current.index + 1, direction, 'next');
479
- }
480
- },
481
-
482
- // Navigate to previous gallery item
483
- prev: function ( direction ) {
484
- var current = F.current;
485
-
486
- if (current) {
487
- if (!isString(direction)) {
488
- direction = current.direction.prev;
489
- }
490
-
491
- F.jumpto(current.index - 1, direction, 'prev');
492
- }
493
- },
494
-
495
- // Navigate to gallery item by index
496
- jumpto: function ( index, direction, router ) {
497
- var current = F.current;
498
-
499
- if (!current) {
500
- return;
501
- }
502
-
503
- index = getScalar(index);
504
-
505
- F.direction = direction || current.direction[ (index >= current.index ? 'next' : 'prev') ];
506
- F.router = router || 'jumpto';
507
-
508
- if (current.loop) {
509
- if (index < 0) {
510
- index = current.group.length + (index % current.group.length);
511
- }
512
-
513
- index = index % current.group.length;
514
- }
515
-
516
- if (current.group[ index ] !== undefined) {
517
- F.cancel();
518
-
519
- F._start(index);
520
- }
521
- },
522
-
523
- // Center inside viewport and toggle position type to fixed or absolute if needed
524
- reposition: function (e, onlyAbsolute) {
525
- var current = F.current,
526
- wrap = current ? current.wrap : null,
527
- pos;
528
-
529
- if (wrap) {
530
- pos = F._getPosition(onlyAbsolute);
531
-
532
- if (e && e.type === 'scroll') {
533
- delete pos.position;
534
-
535
- wrap.stop(true, true).animate(pos, 200);
536
-
537
- } else {
538
- wrap.css(pos);
539
-
540
- current.pos = $.extend({}, current.dim, pos);
541
- }
542
- }
543
- },
544
-
545
- update: function (e) {
546
- var type = (e && e.originalEvent && e.originalEvent.type),
547
- anyway = !type || type === 'orientationchange';
548
-
549
- if (anyway) {
550
- clearTimeout(didUpdate);
551
-
552
- didUpdate = null;
553
- }
554
-
555
- if (!F.isOpen || didUpdate) {
556
- return;
557
- }
558
-
559
- didUpdate = setTimeout(function() {
560
- var current = F.current;
561
-
562
- if (!current || F.isClosing) {
563
- return;
564
- }
565
-
566
- F.wrap.removeClass('envirabox-tmp');
567
-
568
- if (anyway || type === 'load' || (type === 'resize' && current.autoResize)) {
569
- F._setDimension();
570
- }
571
-
572
- if (!(type === 'scroll' && current.canShrink)) {
573
- F.reposition(e);
574
- }
575
-
576
- F.trigger('onUpdate');
577
-
578
- didUpdate = null;
579
-
580
- }, (anyway && !isTouch ? 0 : 300));
581
- },
582
-
583
- // Shrink content to fit inside viewport or restore if resized
584
- toggle: function ( action ) {
585
- if (F.isOpen) {
586
- F.current.fitToView = $.type(action) === "boolean" ? action : !F.current.fitToView;
587
-
588
- // Help browser to restore document dimensions
589
- if (isTouch) {
590
- F.wrap.removeAttr('style').addClass('envirabox-tmp');
591
-
592
- F.trigger('onUpdate');
593
- }
594
-
595
- F.update();
596
- }
597
- },
598
-
599
- hideLoading: function () {
600
- D.unbind('.loading');
601
-
602
- $('#envirabox-loading').remove();
603
- },
604
-
605
- showLoading: function () {
606
- var el, viewport;
607
-
608
- F.hideLoading();
609
-
610
- el = $('<div id="envirabox-loading"><div></div></div>').click(F.cancel).appendTo('body');
611
-
612
- // If user will press the escape-button, the request will be canceled
613
- D.bind('keydown.loading', function(e) {
614
- if ((e.which || e.keyCode) === 27) {
615
- e.preventDefault();
616
-
617
- F.cancel();
618
- }
619
- });
620
-
621
- if (!F.defaults.fixed) {
622
- viewport = F.getViewport();
623
-
624
- el.css({
625
- position : 'absolute',
626
- top : (viewport.h * 0.5) + viewport.y,
627
- left : (viewport.w * 0.5) + viewport.x
628
- });
629
- }
630
-
631
- F.trigger('onLoading');
632
- },
633
-
634
- getViewport: function () {
635
- var locked = (F.current && F.current.locked) || false,
636
- rez = {
637
- x: W.scrollLeft(),
638
- y: W.scrollTop()
639
- };
640
-
641
- if (locked && locked.length) {
642
- rez.w = locked[0].clientWidth;
643
- rez.h = locked[0].clientHeight;
644
-
645
- } else {
646
- // See http://bugs.jquery.com/ticket/6724
647
- rez.w = isTouch && window.innerWidth ? window.innerWidth : W.width();
648
- rez.h = isTouch && window.innerHeight ? window.innerHeight : W.height();
649
- }
650
-
651
- return rez;
652
- },
653
-
654
- // Unbind the keyboard / clicking actions
655
- unbindEvents: function () {
656
- if (F.wrap && isQuery(F.wrap)) {
657
- F.wrap.unbind('.fb');
658
- }
659
-
660
- D.unbind('.fb');
661
- W.unbind('.fb');
662
- },
663
-
664
- bindEvents: function () {
665
- var current = F.current,
666
- keys;
667
-
668
- if (!current) {
669
- return;
670
- }
671
-
672
- // Changing document height on iOS devices triggers a 'resize' event,
673
- // that can change document height... repeating infinitely
674
- W.bind('orientationchange.fb' + (isTouch ? '' : ' resize.fb') + (current.autoCenter && !current.locked ? ' scroll.fb' : ''), F.update);
675
-
676
- keys = current.keys;
677
-
678
- if (keys) {
679
- D.bind('keydown.fb', function (e) {
680
- var code = e.which || e.keyCode,
681
- target = e.target || e.srcElement;
682
-
683
- // Skip esc key if loading, because showLoading will cancel preloading
684
- if (code === 27 && F.coming) {
685
- return false;
686
- }
687
-
688
- // Ignore key combinations and key events within form elements
689
- if (!e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey && !(target && (target.type || $(target).is('[contenteditable]')))) {
690
- $.each(keys, function(i, val) {
691
- if (current.group.length > 1 && val[ code ] !== undefined) {
692
- F[ i ]( val[ code ] );
693
-
694
- e.preventDefault();
695
- return false;
696
- }
697
-
698
- if ($.inArray(code, val) > -1) {
699
- F[ i ] ();
700
-
701
- e.preventDefault();
702
- return false;
703
- }
704
- });
705
- }
706
- });
707
- }
708
-
709
- if ($.fn.mousewheel && current.mouseWheel) {
710
- F.wrap.bind('mousewheel.fb', function (e, delta, deltaX, deltaY) {
711
- var target = e.target || null,
712
- parent = $(target),
713
- canScroll = false;
714
-
715
- while (parent.length) {
716
- if (canScroll || parent.is('.envirabox-skin') || parent.is('.envirabox-wrap')) {
717
- break;
718
- }
719
-
720
- canScroll = isScrollable( parent[0] );
721
- parent = $(parent).parent();
722
- }
723
-
724
- if (delta !== 0 && !canScroll) {
725
- if (F.group.length > 1 && !current.canShrink) {
726
- if (deltaY > 0 || deltaX > 0) {
727
- F.prev( deltaY > 0 ? 'down' : 'left' );
728
-
729
- } else if (deltaY < 0 || deltaX < 0) {
730
- F.next( deltaY < 0 ? 'up' : 'right' );
731
- }
732
-
733
- e.preventDefault();
734
- }
735
- }
736
- });
737
- }
738
- },
739
-
740
- trigger: function (event, o) {
741
- var ret, obj = o || F.coming || F.current;
742
-
743
- if (obj) {
744
- if ($.isFunction( obj[event] )) {
745
- ret = obj[event].apply(obj, Array.prototype.slice.call(arguments, 1));
746
- }
747
-
748
- if (ret === false) {
749
- return false;
750
- }
751
-
752
- if (obj.helpers) {
753
- $.each(obj.helpers, function (helper, opts) {
754
- if (opts && F.helpers[helper] && $.isFunction(F.helpers[helper][event])) {
755
- F.helpers[helper][event]($.extend(true, {}, F.helpers[helper].defaults, opts), obj);
756
- }
757
- });
758
- }
759
- }
760
-
761
- D.trigger(event);
762
- },
763
-
764
- isImage: function (str) {
765
- return isString(str) && str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i);
766
- },
767
-
768
- isSWF: function (str) {
769
- return isString(str) && str.match(/\.(swf)((\?|#).*)?$/i);
770
- },
771
-
772
- _start: function (index) {
773
- var coming = {},
774
- obj,
775
- href,
776
- type,
777
- margin,
778
- padding;
779
-
780
- index = getScalar( index );
781
- obj = F.group[ index ] || null;
782
-
783
- if (!obj) {
784
- return false;
785
- }
786
-
787
- coming = $.extend(true, {}, F.opts, obj);
788
-
789
- // Convert margin and padding properties to array - top, right, bottom, left
790
- margin = coming.margin;
791
- padding = coming.padding;
792
-
793
- if ($.type(margin) === 'number') {
794
- coming.margin = [margin, margin, margin, margin];
795
- }
796
-
797
- if ($.type(padding) === 'number') {
798
- coming.padding = [padding, padding, padding, padding];
799
- }
800
-
801
- // 'modal' propery is just a shortcut
802
- if (coming.modal) {
803
- $.extend(true, coming, {
804
- closeBtn : false,
805
- closeClick : false,
806
- nextClick : false,
807
- arrows : false,
808
- mouseWheel : false,
809
- keys : null,
810
- helpers: {
811
- overlay : {
812
- closeClick : false
813
- }
814
- }
815
- });
816
- }
817
-
818
- // 'autoSize' property is a shortcut, too
819
- if (coming.autoSize) {
820
- coming.autoWidth = coming.autoHeight = true;
821
- }
822
-
823
- if (coming.width === 'auto') {
824
- coming.autoWidth = true;
825
- }
826
-
827
- if (coming.height === 'auto') {
828
- coming.autoHeight = true;
829
- }
830
-
831
- /*
832
- * Add reference to the group, so it`s possible to access from callbacks, example:
833
- * afterLoad : function() {
834
- * this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
835
- * }
836
- */
837
-
838
- coming.group = F.group;
839
- coming.index = index;
840
-
841
- // Give a chance for callback or helpers to update coming item (type, title, etc)
842
- F.coming = coming;
843
-
844
- if (false === F.trigger('beforeLoad')) {
845
- F.coming = null;
846
-
847
- return;
848
- }
849
-
850
- type = coming.type;
851
- href = coming.href;
852
-
853
- if (!type) {
854
- F.coming = null;
855
-
856
- //If we can not determine content type then drop silently or display next/prev item if looping through gallery
857
- if (F.current && F.router && F.router !== 'jumpto') {
858
- F.current.index = index;
859
-
860
- return F[ F.router ]( F.direction );
861
- }
862
-
863
- return false;
864
- }
865
-
866
- F.isActive = true;
867
-
868
- if (type === 'image' || type === 'swf') {
869
- coming.autoHeight = coming.autoWidth = false;
870
- coming.scrolling = 'visible';
871
- }
872
-
873
- if (type === 'image') {
874
- coming.aspectRatio = true;
875
- }
876
-
877
- if (type === 'iframe' && isTouch) {
878
- coming.scrolling = 'scroll';
879
- }
880
-
881
- // Build the neccessary markup
882
- coming.wrap = $(coming.tpl.wrap).addClass('envirabox-' + (isTouch ? 'mobile' : 'desktop') + ' envirabox-type-' + type + ' envirabox-tmp ' + coming.wrapCSS).appendTo( coming.parent || 'body' );
883
-
884
- $.extend(coming, {
885
- skin : $('.envirabox-skin', coming.wrap),
886
- outer : $('.envirabox-outer', coming.wrap),
887
- inner : $('.envirabox-inner', coming.wrap)
888
- });
889
-
890
- $.each(["Top", "Right", "Bottom", "Left"], function(i, v) {
891
- coming.skin.css('padding' + v, getValue(coming.padding[ i ]));
892
- });
893
-
894
- F.trigger('onReady');
895
-
896
- // Check before try to load; 'inline' and 'html' types need content, others - href
897
- if (type === 'inline' || type === 'html') {
898
- if (!coming.content || !coming.content.length) {
899
- return F._error( 'content' );
900
- }
901
-
902
- } else if (!href) {
903
- return F._error( 'href' );
904
- }
905
-
906
- if (type === 'image') {
907
- F._loadImage();
908
-
909
- } else if (type === 'ajax') {
910
- F._loadAjax();
911
-
912
- } else if (type === 'iframe') {
913
- F._loadIframe();
914
-
915
- } else {
916
- F._afterLoad();
917
- }
918
- },
919
-
920
- _error: function ( type ) {
921
- $.extend(F.coming, {
922
- type : 'html',
923
- autoWidth : true,
924
- autoHeight : true,
925
- minWidth : 0,
926
- minHeight : 0,
927
- scrolling : 'no',
928
- hasError : type,
929
- content : F.coming.tpl.error
930
- });
931
-
932
- F._afterLoad();
933
- },
934
-
935
- _loadImage: function () {
936
- // Reset preload image so it is later possible to check "complete" property
937
- var img = F.imgPreload = new Image();
938
-
939
- img.onload = function () {
940
- this.onload = this.onerror = null;
941
-
942
- F.coming.width = this.width / F.opts.pixelRatio;
943
- F.coming.height = this.height / F.opts.pixelRatio;
944
-
945
- F._afterLoad();
946
- };
947
-
948
- img.onerror = function () {
949
- this.onload = this.onerror = null;
950
-
951
- F._error( 'image' );
952
- };
953
-
954
- img.src = F.coming.href;
955
-
956
- if (img.complete !== true) {
957
- F.showLoading();
958
- }
959
- },
960
-
961
- _loadAjax: function () {
962
- var coming = F.coming;
963
-
964
- F.showLoading();
965
-
966
- F.ajaxLoad = $.ajax($.extend({}, coming.ajax, {
967
- url: coming.href,
968
- error: function (jqXHR, textStatus) {
969
- if (F.coming && textStatus !== 'abort') {
970
- F._error( 'ajax', jqXHR );
971
-
972
- } else {
973
- F.hideLoading();
974
- }
975
- },
976
- success: function (data, textStatus) {
977
- if (textStatus === 'success') {
978
- coming.content = data;
979
-
980
- F._afterLoad();
981
- }
982
- }
983
- }));
984
- },
985
-
986
- _loadIframe: function() {
987
- var coming = F.coming,
988
- iframe = $(coming.tpl.iframe.replace(/\{rnd\}/g, new Date().getTime()))
989
- .attr('scrolling', isTouch ? 'auto' : coming.iframe.scrolling)
990
- .attr('src', coming.href);
991
-
992
- // This helps IE
993
- $(coming.wrap).bind('onReset', function () {
994
- try {
995
- $(this).find('iframe').hide().attr('src', '//about:blank').end().empty();
996
- } catch (e) {}
997
- });
998
-
999
- if (coming.iframe.preload) {
1000
- F.showLoading();
1001
-
1002
- iframe.one('load', function() {
1003
- $(this).data('ready', 1);
1004
-
1005
- // iOS will lose scrolling if we resize
1006
- if (!isTouch) {
1007
- $(this).bind('load.fb', F.update);
1008
- }
1009
-
1010
- // Without this trick:
1011
- // - iframe won't scroll on iOS devices
1012
- // - IE7 sometimes displays empty iframe
1013
- $(this).parents('.envirabox-wrap').width('100%').removeClass('envirabox-tmp').show();
1014
-
1015
- F._afterLoad();
1016
- });
1017
- }
1018
-
1019
- coming.content = iframe.appendTo( coming.inner );
1020
-
1021
- if (!coming.iframe.preload) {
1022
- F._afterLoad();
1023
- }
1024
- },
1025
-
1026
- _preloadImages: function() {
1027
- var group = F.group,
1028
- current = F.current,
1029
- len = group.length,
1030
- cnt = current.preload ? Math.min(current.preload, len - 1) : 0,
1031
- item,
1032
- i;
1033
-
1034
- for (i = 1; i <= cnt; i += 1) {
1035
- item = group[ (current.index + i ) % len ];
1036
-
1037
- if (item.type === 'image' && item.href) {
1038
- new Image().src = item.href;
1039
- }
1040
- }
1041
- },
1042
-
1043
- _afterLoad: function () {
1044
- var coming = F.coming,
1045
- previous = F.current,
1046
- placeholder = 'envirabox-placeholder',
1047
- current,
1048
- content,
1049
- type,
1050
- scrolling,
1051
- href,
1052
- embed;
1053
-
1054
- F.hideLoading();
1055
-
1056
- if (!coming || F.isActive === false) {
1057
- return;
1058
- }
1059
-
1060
- if (false === F.trigger('afterLoad', coming, previous)) {
1061
- coming.wrap.stop(true).trigger('onReset').remove();
1062
-
1063
- F.coming = null;
1064
-
1065
- return;
1066
- }
1067
-
1068
- if (previous) {
1069
- F.trigger('beforeChange', previous);
1070
-
1071
- previous.wrap.stop(true).removeClass('envirabox-opened')
1072
- .find('.envirabox-item, .envirabox-nav')
1073
- .remove();
1074
- }
1075
-
1076
- F.unbindEvents();
1077
-
1078
- current = coming;
1079
- content = coming.content;
1080
- type = coming.type;
1081
- scrolling = coming.scrolling;
1082
-
1083
- $.extend(F, {
1084
- wrap : current.wrap,
1085
- skin : current.skin,
1086
- outer : current.outer,
1087
- inner : current.inner,
1088
- current : current,
1089
- previous : previous
1090
- });
1091
-
1092
- href = current.href;
1093
-
1094
- switch (type) {
1095
- case 'inline':
1096
- case 'ajax':
1097
- case 'html':
1098
- if (current.selector) {
1099
- content = $('<div>').html(content).find(current.selector);
1100
-
1101
- } else if (isQuery(content)) {
1102
- if (!content.data(placeholder)) {
1103
- content.data(placeholder, $('<div class="' + placeholder + '"></div>').insertAfter( content ).hide() );
1104
- }
1105
-
1106
- content = content.show().detach();
1107
-
1108
- current.wrap.bind('onReset', function () {
1109
- if ($(this).find(content).length) {
1110
- content.hide().replaceAll( content.data(placeholder) ).data(placeholder, false);
1111
- }
1112
- });
1113
- }
1114
- break;
1115
-
1116
- case 'image':
1117
- content = current.tpl.image.replace(/\{href\}/g, href);
1118
- break;
1119
-
1120
- case 'swf':
1121
- content = '<object id="envirabox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="' + href + '"></param>';
1122
- embed = '';
1123
-
1124
- $.each(current.swf, function(name, val) {
1125
- content += '<param name="' + name + '" value="' + val + '"></param>';
1126
- embed += ' ' + name + '="' + val + '"';
1127
- });
1128
-
1129
- content += '<embed src="' + href + '" type="application/x-shockwave-flash" width="100%" height="100%"' + embed + '></embed></object>';
1130
- break;
1131
- }
1132
-
1133
- if (!(isQuery(content) && content.parent().is(current.inner))) {
1134
- current.inner.append( content );
1135
- }
1136
-
1137
- // Give a chance for helpers or callbacks to update elements
1138
- F.trigger('beforeShow');
1139
-
1140
- // Set scrolling before calculating dimensions
1141
- current.inner.css('overflow', scrolling === 'yes' ? 'scroll' : (scrolling === 'no' ? 'hidden' : scrolling));
1142
-
1143
- // Set initial dimensions and start position
1144
- F._setDimension();
1145
-
1146
- F.reposition();
1147
-
1148
- F.isOpen = false;
1149
- F.coming = null;
1150
-
1151
- F.bindEvents();
1152
-
1153
- if (!F.isOpened) {
1154
- $('.envirabox-wrap').not( current.wrap ).stop(true).trigger('onReset').remove();
1155
-
1156
- } else if (previous.prevMethod) {
1157
- F.transitions[ previous.prevMethod ]();
1158
- }
1159
-
1160
- F.transitions[ F.isOpened ? current.nextMethod : current.openMethod ]();
1161
-
1162
- F._preloadImages();
1163
- },
1164
-
1165
- _setDimension: function () {
1166
- var viewport = F.getViewport(),
1167
- steps = 0,
1168
- canShrink = false,
1169
- canExpand = false,
1170
- wrap = F.wrap,
1171
- skin = F.skin,
1172
- inner = F.inner,
1173
- current = F.current,
1174
- width = current.width,
1175
- height = current.height,
1176
- minWidth = current.minWidth,
1177
- minHeight = current.minHeight,
1178
- maxWidth = current.maxWidth,
1179
- maxHeight = current.maxHeight,
1180
- scrolling = current.scrolling,
1181
- scrollOut = current.scrollOutside ? current.scrollbarWidth : 0,
1182
- margin = current.margin,
1183
- wMargin = getScalar(margin[1] + margin[3]),
1184
- hMargin = getScalar(margin[0] + margin[2]),
1185
- wPadding,
1186
- hPadding,
1187
- wSpace,
1188
- hSpace,
1189
- origWidth,
1190
- origHeight,
1191
- origMaxWidth,
1192
- origMaxHeight,
1193
- ratio,
1194
- width_,
1195
- height_,
1196
- maxWidth_,
1197
- maxHeight_,
1198
- iframe,
1199
- body;
1200
-
1201
- // Reset dimensions so we could re-check actual size
1202
- wrap.add(skin).add(inner).width('auto').height('auto').removeClass('envirabox-tmp');
1203
-
1204
- wPadding = getScalar(skin.outerWidth(true) - skin.width());
1205
- hPadding = getScalar(skin.outerHeight(true) - skin.height());
1206
-
1207
- // Any space between content and viewport (margin, padding, border, title)
1208
- wSpace = wMargin + wPadding;
1209
- hSpace = hMargin + hPadding;
1210
-
1211
- origWidth = isPercentage(width) ? (viewport.w - wSpace) * getScalar(width) / 100 : width;
1212
- origHeight = isPercentage(height) ? (viewport.h - hSpace) * getScalar(height) / 100 : height;
1213
-
1214
- // console.log ( "origWidth = " + origWidth );
1215
- // console.log ( "origHeight = " + origWidth );
1216
- // console.log ( "width = " + width );
1217
- // console.log ( "height = " + height );
1218
- // console.log ( "isPercentage(width) = " + isPercentage(width) );
1219
- // console.log ( "isPercentage(height) = " + isPercentage(height) );
1220
-
1221
- if (current.type === 'iframe') {
1222
- iframe = current.content;
1223
-
1224
- if (current.autoHeight && iframe.data('ready') === 1) {
1225
- try {
1226
- if (iframe[0].contentWindow.document.location) {
1227
- inner.width( origWidth ).height(9999);
1228
-
1229
- body = iframe.contents().find('body');
1230
-
1231
- if (scrollOut) {
1232
- body.css('overflow-x', 'hidden');
1233
- }
1234
-
1235
- origHeight = body.outerHeight(true);
1236
- }
1237
-
1238
- } catch (e) {}
1239
- }
1240
-
1241
- } else if (current.autoWidth || current.autoHeight) {
1242
- inner.addClass( 'envirabox-tmp' );
1243
-
1244
- // Set width or height in case we need to calculate only one dimension
1245
- if (!current.autoWidth) {
1246
- inner.width( origWidth );
1247
- }
1248
-
1249
- if (!current.autoHeight) {
1250
- inner.height( origHeight );
1251
- }
1252
-
1253
- if (current.autoWidth) {
1254
- origWidth = inner.width();
1255
- }
1256
-
1257
- if (current.autoHeight) {
1258
- origHeight = inner.height();
1259
- }
1260
-
1261
- inner.removeClass( 'envirabox-tmp' );
1262
- }
1263
-
1264
- width = getScalar( origWidth );
1265
- height = getScalar( origHeight );
1266
-
1267
- // console.log ( "width = " + width );
1268
- // console.log ( "height = " + height );
1269
-
1270
- ratio = origWidth / origHeight;
1271
-
1272
- // Calculations for the content
1273
- minWidth = getScalar(isPercentage(minWidth) ? getScalar(minWidth, 'w') - wSpace : minWidth);
1274
- maxWidth = getScalar(isPercentage(maxWidth) ? getScalar(maxWidth, 'w') - wSpace : maxWidth);
1275
-
1276
- minHeight = getScalar(isPercentage(minHeight) ? getScalar(minHeight, 'h') - hSpace : minHeight);
1277
- maxHeight = getScalar(isPercentage(maxHeight) ? getScalar(maxHeight, 'h') - hSpace : maxHeight);
1278
-
1279
- // These will be used to determine if wrap can fit in the viewport
1280
- origMaxWidth = maxWidth;
1281
- origMaxHeight = maxHeight;
1282
-
1283
- if (current.fitToView) {
1284
- maxWidth = Math.min(viewport.w - wSpace, maxWidth);
1285
- maxHeight = Math.min(viewport.h - hSpace, maxHeight);
1286
- }
1287
-
1288
- maxWidth_ = viewport.w - wMargin;
1289
- maxHeight_ = viewport.h - hMargin;
1290
-
1291
- if (current.aspectRatio) {
1292
- if (width > maxWidth) {
1293
- width = maxWidth;
1294
- height = getScalar(width / ratio);
1295
- }
1296
-
1297
- if (height > maxHeight) {
1298
- height = maxHeight;
1299
- width = getScalar(height * ratio);
1300
- }
1301
-
1302
- if (width < minWidth) {
1303
- width = minWidth;
1304
- height = getScalar(width / ratio);
1305
- }
1306
-
1307
- if (height < minHeight) {
1308
- height = minHeight;
1309
- width = getScalar(height * ratio);
1310
- }
1311
-
1312
- } else {
1313
- width = Math.max(minWidth, Math.min(width, maxWidth));
1314
-
1315
- if (current.autoHeight && current.type !== 'iframe') {
1316
- inner.width( width );
1317
-
1318
- height = inner.height();
1319
- }
1320
-
1321
- height = Math.max(minHeight, Math.min(height, maxHeight));
1322
- }
1323
-
1324
- // Try to fit inside viewport (including the title)
1325
- if (current.fitToView) {
1326
- inner.width( width ).height( height );
1327
-
1328
- wrap.width( width + wPadding );
1329
-
1330
- // Real wrap dimensions
1331
- width_ = wrap.width();
1332
- height_ = wrap.height();
1333
-
1334
- if (current.aspectRatio) {
1335
- while ((width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight) {
1336
- if (steps++ > 19) {
1337
- break;
1338
- }
1339
-
1340
- height = Math.max(minHeight, Math.min(maxHeight, height - 10));
1341
- width = getScalar(height * ratio);
1342
-
1343
- if (width < minWidth) {
1344
- width = minWidth;
1345
- height = getScalar(width / ratio);
1346
- }
1347
-
1348
- if (width > maxWidth) {
1349
- width = maxWidth;
1350
- height = getScalar(width / ratio);
1351
- }
1352
-
1353
- inner.width( width ).height( height );
1354
-
1355
- wrap.width( width + wPadding );
1356
-
1357
- width_ = wrap.width();
1358
- height_ = wrap.height();
1359
- }
1360
-
1361
- } else {
1362
- width = Math.max(minWidth, Math.min(width, width - (width_ - maxWidth_)));
1363
- height = Math.max(minHeight, Math.min(height, height - (height_ - maxHeight_)));
1364
- }
1365
- }
1366
-
1367
- if (scrollOut && scrolling === 'auto' && height < origHeight && (width + wPadding + scrollOut) < maxWidth_) {
1368
- width += scrollOut;
1369
- }
1370
-
1371
- // console.log( "before width: " + width);
1372
- // console.log( "before height: " + height);
1373
-
1374
- // width = width - (width * 0.01);
1375
- // height = height - (height * 0.01);
1376
-
1377
- // console.log( "after width: " + width);
1378
- // console.log( "after height: " + height);
1379
-
1380
- inner.width( width ).height( height );
1381
-
1382
- wrap.width( width + wPadding );
1383
-
1384
- width_ = wrap.width();
1385
- height_ = wrap.height();
1386
-
1387
- canShrink = (width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight;
1388
- canExpand = current.aspectRatio ? (width < origMaxWidth && height < origMaxHeight && width < origWidth && height < origHeight) : ((width < origMaxWidth || height < origMaxHeight) && (width < origWidth || height < origHeight));
1389
-
1390
- $.extend(current, {
1391
- dim : {
1392
- width : getValue( width_ ),
1393
- height : getValue( height_ )
1394
- },
1395
- origWidth : origWidth,
1396
- origHeight : origHeight,
1397
- canShrink : canShrink,
1398
- canExpand : canExpand,
1399
- wPadding : wPadding,
1400
- hPadding : hPadding,
1401
- wrapSpace : height_ - skin.outerHeight(true),
1402
- skinSpace : skin.height() - height
1403
- });
1404
-
1405
- if (!iframe && current.autoHeight && height > minHeight && height < maxHeight && !canExpand) {
1406
- inner.height('auto');
1407
- }
1408
- },
1409
-
1410
- _getPosition: function (onlyAbsolute) {
1411
- var current = F.current,
1412
- viewport = F.getViewport(),
1413
- margin = current.margin,
1414
- width = F.wrap.width() + margin[1] + margin[3],
1415
- height = F.wrap.height() + margin[0] + margin[2],
1416
- rez = {
1417
- position: 'absolute',
1418
- top : margin[0],
1419
- left : margin[3]
1420
- };
1421
-
1422
- // Check for floating title and adjust height.
1423
- if (current.helpers.title.type && 'float' == current.helpers.title.type) {
1424
- height = height + $('.envirabox-skin .envirabox-title').height();
1425
  }
1426
-
1427
- if (current.autoCenter && current.fixed && !onlyAbsolute && height <= viewport.h && width <= viewport.w) {
1428
- rez.position = 'fixed';
1429
-
1430
- } else if (!current.locked) {
1431
- rez.top += viewport.y;
1432
- rez.left += viewport.x;
1433
- }
1434
-
1435
- rez.top = getValue(Math.max(rez.top, rez.top + ((viewport.h - height) * current.topRatio)));
1436
- rez.left = getValue(Math.max(rez.left, rez.left + ((viewport.w - width) * current.leftRatio)));
1437
-
1438
- return rez;
1439
- },
1440
-
1441
- _afterZoomIn: function () {
1442
- var current = F.current;
1443
-
1444
- if (!current) {
1445
- return;
1446
- }
1447
-
1448
- F.isOpen = F.isOpened = true;
1449
-
1450
- F.wrap.css('overflow', 'visible').addClass('envirabox-opened').hide().show(0);
1451
-
1452
- F.update();
1453
-
1454
- // Assign a click event
1455
- if ( current.closeClick || (current.nextClick && F.group.length > 1) ) {
1456
- F.inner.css('cursor', 'pointer').bind('click.fb', function(e) {
1457
- if (!$(e.target).is('a') && !$(e.target).parent().is('a')) {
1458
- e.preventDefault();
1459
-
1460
- F[ current.closeClick ? 'close' : 'next' ]();
1461
- }
1462
- });
1463
- }
1464
-
1465
- // Create a close button
1466
- if (current.closeBtn) {
1467
- $(current.tpl.closeBtn).appendTo(F.skin).bind('click.fb', function(e) {
1468
- e.preventDefault();
1469
-
1470
- F.close();
1471
- });
1472
- }
1473
-
1474
- // Create navigation arrows
1475
- if (current.arrows && F.group.length > 1) {
1476
- if (current.loop || current.index > 0) {
1477
- $(current.tpl.prev).appendTo(F.outer).bind('click.fb', F.prev);
1478
- }
1479
-
1480
- if (current.loop || current.index < F.group.length - 1) {
1481
- $(current.tpl.next).appendTo(F.outer).bind('click.fb', F.next);
1482
- }
1483
- }
1484
-
1485
- F.trigger('afterShow');
1486
-
1487
- // Stop the slideshow if this is the last item
1488
- if (!current.loop && current.index === current.group.length - 1) {
1489
-
1490
- F.play( false );
1491
-
1492
- } else if (F.opts.autoPlay && !F.player.isActive) {
1493
- F.opts.autoPlay = false;
1494
-
1495
- F.play(true);
1496
- }
1497
- },
1498
-
1499
- _afterZoomOut: function ( obj ) {
1500
- obj = obj || F.current;
1501
-
1502
- $('.envirabox-wrap').trigger('onReset').remove();
1503
-
1504
- $.extend(F, {
1505
- group : {},
1506
- opts : {},
1507
- router : false,
1508
- current : null,
1509
- isActive : false,
1510
- isOpened : false,
1511
- isOpen : false,
1512
- isClosing : false,
1513
- wrap : null,
1514
- skin : null,
1515
- outer : null,
1516
- inner : null
1517
- });
1518
-
1519
- F.trigger('afterClose', obj);
1520
- }
1521
- });
1522
-
1523
- /*
1524
- * Default transitions
1525
- */
1526
-
1527
- F.transitions = {
1528
- getOrigPosition: function () {
1529
- var current = F.current,
1530
- element = current.element,
1531
- orig = current.orig,
1532
- pos = {},
1533
- width = 50,
1534
- height = 50,
1535
- hPadding = current.hPadding,
1536
- wPadding = current.wPadding,
1537
- viewport = F.getViewport();
1538
-
1539
- if (!orig && current.isDom && element.is(':visible')) {
1540
- orig = element.find('img:first');
1541
-
1542
- if (!orig.length) {
1543
- orig = element;
1544
- }
1545
- }
1546
-
1547
- if (isQuery(orig)) {
1548
- pos = orig.offset();
1549
-
1550
- if (orig.is('img')) {
1551
- width = orig.outerWidth();
1552
- height = orig.outerHeight();
1553
- }
1554
-
1555
- } else {
1556
- pos.top = viewport.y + (viewport.h - height) * current.topRatio;
1557
- pos.left = viewport.x + (viewport.w - width) * current.leftRatio;
1558
- }
1559
-
1560
- if (F.wrap.css('position') === 'fixed' || current.locked) {
1561
- pos.top -= viewport.y;
1562
- pos.left -= viewport.x;
1563
- }
1564
-
1565
- pos = {
1566
- top : getValue(pos.top - hPadding * current.topRatio),
1567
- left : getValue(pos.left - wPadding * current.leftRatio),
1568
- width : getValue(width + wPadding),
1569
- height : getValue(height + hPadding)
1570
- };
1571
-
1572
- return pos;
1573
- },
1574
-
1575
- step: function (now, fx) {
1576
- var ratio,
1577
- padding,
1578
- value,
1579
- prop = fx.prop,
1580
- current = F.current,
1581
- wrapSpace = current.wrapSpace,
1582
- skinSpace = current.skinSpace;
1583
-
1584
- if (prop === 'width' || prop === 'height') {
1585
- ratio = fx.end === fx.start ? 1 : (now - fx.start) / (fx.end - fx.start);
1586
-
1587
- if (F.isClosing) {
1588
- ratio = 1 - ratio;
1589
- }
1590
-
1591
- padding = prop === 'width' ? current.wPadding : current.hPadding;
1592
- value = now - padding;
1593
-
1594
- F.skin[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) ) );
1595
- F.inner[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) - (skinSpace * ratio) ) );
1596
- }
1597
- },
1598
-
1599
- zoomIn: function () {
1600
- var current = F.current,
1601
- startPos = current.pos,
1602
- effect = current.openEffect,
1603
- elastic = effect === 'elastic',
1604
- endPos = $.extend({opacity : 1}, startPos);
1605
-
1606
- // Remove "position" property that breaks older IE
1607
- delete endPos.position;
1608
-
1609
- if (elastic) {
1610
- startPos = this.getOrigPosition();
1611
-
1612
- if (current.openOpacity) {
1613
- startPos.opacity = 0.1;
1614
- }
1615
-
1616
- } else if (effect === 'fade') {
1617
- startPos.opacity = 0.1;
1618
- }
1619
-
1620
- F.wrap.css(startPos).animate(endPos, {
1621
- duration : effect === 'none' ? 0 : current.openSpeed,
1622
- easing : current.openEasing,
1623
- step : elastic ? this.step : null,
1624
- complete : F._afterZoomIn
1625
- });
1626
- },
1627
-
1628
- zoomOut: function () {
1629
- var current = F.current,
1630
- effect = current.closeEffect,
1631
- elastic = effect === 'elastic',
1632
- endPos = {opacity : 0.1};
1633
-
1634
- if (elastic) {
1635
- endPos = this.getOrigPosition();
1636
-
1637
- if (current.closeOpacity) {
1638
- endPos.opacity = 0.1;
1639
- }
1640
- }
1641
-
1642
- F.wrap.animate(endPos, {
1643
- duration : effect === 'none' ? 0 : current.closeSpeed,
1644
- easing : current.closeEasing,
1645
- step : elastic ? this.step : null,
1646
- complete : F._afterZoomOut
1647
- });
1648
- },
1649
-
1650
- changeIn: function () {
1651
- var current = F.current,
1652
- effect = current.nextEffect,
1653
- startPos = current.pos,
1654
- endPos = { opacity : 1 },
1655
- direction = F.direction,
1656
- distance = 200,
1657
- field;
1658
-
1659
- startPos.opacity = 0.1;
1660
-
1661
- if (effect === 'elastic') {
1662
- field = direction === 'down' || direction === 'up' ? 'top' : 'left';
1663
-
1664
- if (direction === 'down' || direction === 'right') {
1665
- startPos[ field ] = getValue(getScalar(startPos[ field ]) - distance);
1666
- endPos[ field ] = '+=' + distance + 'px';
1667
-
1668
- } else {
1669
- startPos[ field ] = getValue(getScalar(startPos[ field ]) + distance);
1670
- endPos[ field ] = '-=' + distance + 'px';
1671
- }
1672
- }
1673
-
1674
- // Workaround for http://bugs.jquery.com/ticket/12273
1675
- if (effect === 'none') {
1676
- F._afterZoomIn();
1677
-
1678
- } else {
1679
- F.wrap.css(startPos).animate(endPos, {
1680
- duration : current.nextSpeed,
1681
- easing : current.nextEasing,
1682
- complete : F._afterZoomIn
1683
- });
1684
- }
1685
- },
1686
-
1687
- changeOut: function () {
1688
- var previous = F.previous,
1689
- effect = previous.prevEffect,
1690
- endPos = { opacity : 0.1 },
1691
- direction = F.direction,
1692
- distance = 200;
1693
-
1694
- if (effect === 'elastic') {
1695
- endPos[ direction === 'down' || direction === 'up' ? 'top' : 'left' ] = ( direction === 'up' || direction === 'left' ? '-' : '+' ) + '=' + distance + 'px';
1696
- }
1697
-
1698
- previous.wrap.animate(endPos, {
1699
- duration : effect === 'none' ? 0 : previous.prevSpeed,
1700
- easing : previous.prevEasing,
1701
- complete : function () {
1702
- $(this).trigger('onReset').remove();
1703
- }
1704
- });
1705
- }
1706
- };
1707
-
1708
- /*
1709
- * Overlay helper
1710
- */
1711
-
1712
- F.helpers.overlay = {
1713
- defaults : {
1714
- closeClick : true, // if true, envirabox will be closed when user clicks on the overlay
1715
- speedOut : 200, // duration of fadeOut animation
1716
- showEarly : true, // indicates if should be opened immediately or wait until the content is ready
1717
- css : {}, // custom CSS properties
1718
- locked : !isTouch, // if true, the content will be locked into overlay
1719
- fixed : true // if false, the overlay CSS position property will not be set to "fixed"
1720
- },
1721
-
1722
- overlay : null, // current handle
1723
- fixed : false, // indicates if the overlay has position "fixed"
1724
- el : $('html'), // element that contains "the lock"
1725
-
1726
- // Public methods
1727
- create : function(opts) {
1728
- var parent;
1729
-
1730
- opts = $.extend({}, this.defaults, opts);
1731
-
1732
- if (this.overlay) {
1733
- this.close();
1734
- }
1735
-
1736
- parent = F.coming ? F.coming.parent : opts.parent;
1737
-
1738
- this.overlay = $('<div class="envirabox-overlay"></div>').appendTo( parent && parent.lenth ? parent : 'body' );
1739
- this.fixed = false;
1740
-
1741
- if (opts.fixed && F.defaults.fixed) {
1742
- this.overlay.addClass('envirabox-overlay-fixed');
1743
-
1744
- this.fixed = true;
1745
- }
1746
- },
1747
-
1748
- open : function(opts) {
1749
- var that = this;
1750
-
1751
- opts = $.extend({}, this.defaults, opts);
1752
-
1753
- if (this.overlay) {
1754
- this.overlay.unbind('.overlay').width('auto').height('auto');
1755
-
1756
- } else {
1757
- this.create(opts);
1758
- }
1759
-
1760
- if (!this.fixed) {
1761
- W.bind('resize.overlay', $.proxy( this.update, this) );
1762
-
1763
- this.update();
1764
- }
1765
-
1766
- if (opts.closeClick) {
1767
- this.overlay.bind('click.overlay', function(e) {
1768
- if ($(e.target).hasClass('envirabox-overlay')) {
1769
- if (F.isActive) {
1770
- F.close();
1771
- } else {
1772
- that.close();
1773
- }
1774
-
1775
- return false;
1776
- }
1777
- });
1778
- }
1779
-
1780
- this.overlay.css( opts.css ).show();
1781
- },
1782
-
1783
- close : function() {
1784
- W.unbind('resize.overlay');
1785
-
1786
- if (this.el.hasClass('envirabox-lock')) {
1787
- $('.envirabox-margin').removeClass('envirabox-margin');
1788
-
1789
- this.el.removeClass('envirabox-lock');
1790
-
1791
- W.scrollTop( this.scrollV ).scrollLeft( this.scrollH );
1792
- }
1793
-
1794
- $('.envirabox-overlay').remove().hide();
1795
-
1796
- $.extend(this, {
1797
- overlay : null,
1798
- fixed : false
1799
- });
1800
- },
1801
-
1802
- // Private, callbacks
1803
-
1804
- update : function () {
1805
- var width = '100%', offsetWidth;
1806
-
1807
- // Reset width/height so it will not mess
1808
- this.overlay.width(width).height('100%');
1809
-
1810
- // jQuery does not return reliable result for IE
1811
- if (IE) {
1812
- offsetWidth = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth);
1813
-
1814
- if (D.width() > offsetWidth) {
1815
- width = D.width();
1816
- }
1817
-
1818
- } else if (D.width() > W.width()) {
1819
- width = D.width();
1820
- }
1821
-
1822
-
1823
- this.overlay.width(width).height(D.height());
1824
- },
1825
-
1826
- // This is where we can manipulate DOM, because later it would cause iframes to reload
1827
- onReady : function (opts, obj) {
1828
- var overlay = this.overlay;
1829
-
1830
- $('.envirabox-overlay').stop(true, true);
1831
-
1832
- if (!overlay) {
1833
- this.create(opts);
1834
- }
1835
-
1836
- if (opts.locked && this.fixed && obj.fixed) {
1837
- obj.locked = this.overlay.append( obj.wrap );
1838
- obj.fixed = false;
1839
- }
1840
-
1841
- if (opts.showEarly === true) {
1842
- this.beforeShow.apply(this, arguments);
1843
- }
1844
- },
1845
-
1846
- beforeShow : function(opts, obj) {
1847
- if (obj.locked && !this.el.hasClass('envirabox-lock')) {
1848
- if (this.fixPosition !== false) {
1849
- $('*').filter(function(){
1850
- return ($(this).css('position') === 'fixed' && !$(this).hasClass("envirabox-overlay") && !$(this).hasClass("envirabox-wrap") );
1851
- }).addClass('envirabox-margin');
1852
- }
1853
-
1854
- this.el.addClass('envirabox-margin');
1855
-
1856
- this.scrollV = W.scrollTop();
1857
- this.scrollH = W.scrollLeft();
1858
-
1859
- this.el.addClass('envirabox-lock');
1860
-
1861
- W.scrollTop( this.scrollV ).scrollLeft( this.scrollH );
1862
- }
1863
-
1864
- this.open(opts);
1865
- },
1866
-
1867
- onUpdate : function() {
1868
- if (!this.fixed) {
1869
- this.update();
1870
- }
1871
- },
1872
-
1873
- afterClose: function (opts) {
1874
- // Remove overlay if exists and envirabox is not opening
1875
- // (e.g., it is not being open using afterClose callback)
1876
- if (this.overlay && !F.coming) {
1877
- this.overlay.fadeOut(opts.speedOut, $.proxy( this.close, this ));
1878
- }
1879
- }
1880
- };
1881
-
1882
- /*
1883
- * Title helper
1884
- */
1885
-
1886
- F.helpers.title = {
1887
- defaults : {
1888
- type : 'float', // 'float', 'inside', 'outside' or 'over',
1889
- position : 'bottom' // 'top' or 'bottom'
1890
- },
1891
-
1892
- beforeShow: function (opts) {
1893
- var current = F.current,
1894
- text = current.title,
1895
- type = opts.type,
1896
- title,
1897
- target;
1898
-
1899
- if ($.isFunction(text)) {
1900
- text = text.call(current.element, current);
1901
- }
1902
-
1903
- if (!isString(text) || $.trim(text) === '') {
1904
- return;
1905
- }
1906
-
1907
- title = $('<div class="envirabox-title envirabox-title-' + type + '-wrap">' + text + '</div>');
1908
-
1909
- switch (type) {
1910
- case 'inside':
1911
- target = F.skin;
1912
- break;
1913
-
1914
- case 'outside':
1915
- target = F.wrap;
1916
- break;
1917
-
1918
- case 'over':
1919
- target = F.inner;
1920
- break;
1921
-
1922
- default: // 'float'
1923
- target = F.skin;
1924
-
1925
- title.appendTo('body');
1926
-
1927
- if (IE) {
1928
- title.width( title.width() );
1929
- }
1930
-
1931
- title.wrapInner('<span class="child"></span>');
1932
-
1933
- //Increase bottom margin so this title will also fit into viewport
1934
- F.current.margin[2] += Math.abs( getScalar(title.css('margin-bottom')) );
1935
- break;
1936
- }
1937
-
1938
- title[ (opts.position === 'top' ? 'prependTo' : 'appendTo') ](target);
1939
- }
1940
- };
1941
-
1942
- // jQuery plugin initialization
1943
- $.fn.envirabox = function (options, images) {
1944
- var index,
1945
- that = $(this),
1946
- selector = this.selector || '',
1947
- run = function(e) {
1948
- var what = $(this).blur(),
1949
- idx = index,
1950
- relType,
1951
- relVal;
1952
-
1953
- if (!(e.ctrlKey || e.altKey || e.shiftKey || e.metaKey) && !what.is('.envirabox-wrap')) {
1954
- relType = options.groupAttr || 'data-envirabox-group';
1955
- relVal = what.attr(relType);
1956
-
1957
- if (!relVal) {
1958
- relType = 'rel';
1959
- relVal = what.get(0)[ relType ];
1960
- }
1961
-
1962
- if (relVal && relVal !== '' && relVal !== 'nofollow') {
1963
- what = selector.length ? $(selector) : that;
1964
- what = what.filter('[' + relType + '="' + relVal + '"]');
1965
- idx = what.index(this);
1966
- }
1967
-
1968
- options.index = idx;
1969
-
1970
- // Stop an event from bubbling if everything is fine
1971
- if (F.open(what, options, images) !== false) {
1972
- e.preventDefault();
1973
- }
1974
- }
1975
- };
1976
-
1977
- options = options || {};
1978
- index = options.index || 0;
1979
-
1980
- if (!selector || options.live === false) {
1981
- that.unbind('click.fb-start').bind('click.fb-start', run);
1982
-
1983
- } else {
1984
- D.undelegate(selector, 'click.fb-start').delegate(selector + ":not('.envirabox-item, .envirabox-nav')", 'click.fb-start', run);
1985
- }
1986
-
1987
- this.filter('[data-envirabox-start=1]').trigger('click');
1988
-
1989
- return this;
1990
- };
1991
-
1992
- // Tests that need a body at doc ready
1993
- D.ready(function() {
1994
- var w1, w2;
1995
-
1996
- if ( $.scrollbarWidth === undefined ) {
1997
- // http://benalman.com/projects/jquery-misc-plugins/#scrollbarwidth
1998
- $.scrollbarWidth = function() {
1999
- var parent = $('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo('body'),
2000
- child = parent.children(),
2001
- width = child.innerWidth() - child.height( 99 ).innerWidth();
2002
-
2003
- parent.remove();
2004
-
2005
- return width;
2006
- };
2007
- }
2008
-
2009
- if ( $.support.fixedPosition === undefined ) {
2010
- $.support.fixedPosition = (function() {
2011
- var elem = $('<div style="position:fixed;top:20px;"></div>').appendTo('body'),
2012
- fixed = ( elem[0].offsetTop === 20 || elem[0].offsetTop === 15 );
2013
-
2014
- elem.remove();
2015
-
2016
- return fixed;
2017
- }());
2018
- }
2019
-
2020
- $.extend(F.defaults, {
2021
- scrollbarWidth : $.scrollbarWidth(),
2022
- fixed : $.support.fixedPosition,
2023
- parent : $('body')
2024
- });
2025
-
2026
- //Get real width of page scroll-bar
2027
- w1 = $(window).width();
2028
-
2029
- H.addClass('envirabox-lock-test');
2030
-
2031
- w2 = $(window).width();
2032
-
2033
- H.removeClass('envirabox-lock-test');
2034
-
2035
- $("<style type='text/css'>.envirabox-margin{margin-right:" + (w2 - w1) + "px;}</style>").appendTo("head");
2036
- });
2037
-
2038
- }(window, document, jQuery));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // envirabox v1.3.4
2
+ (function(B) {
3
+ var L, T, Q, M, d, m, J, A, O, z, C = 0,
4
+ H = {}, j = [],
5
+ e = 0,
6
+ G = {}, y = [],
7
+ f = null,
8
+ o = new Image(),
9
+ i = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,
10
+ k = /[^\.]\.(swf)\s*$/i,
11
+ p, N = 1,
12
+ h = 0,
13
+ t = "",
14
+ b, c, P = false,
15
+ s = B.extend(B("<div/>")[0], {
16
+ prop: 0
17
+ }),
18
+ S = false,
19
+ r = function() {
20
+ T.hide();
21
+ o.onerror = o.onload = null;
22
+ if (f) {
23
+ f.abort()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  }
25
+ L.empty()
26
+ }, x = function() {
27
+ if (false === H.onError(j, C, H)) {
28
+ T.hide();
29
+ P = false;
30
+ return
31
+ }
32
+ H.titleShow = false;
33
+ H.width = "auto";
34
+ H.height = "auto";
35
+ L.html('<p id="envirabox-error">The requested content cannot be loaded.<br />Please try again later.</p>');
36
+ n()
37
+ }, w = function() {
38
+ var Z = j[C],
39
+ W, Y, ab, aa, V, X;
40
+ r();
41
+ H = B.extend({}, B.fn.envirabox.defaults, (typeof B(Z).data("envirabox") == "undefined" ? H : B(Z).data("envirabox")));
42
+ X = H.onStart(j, C, H);
43
+ if (X === false) {
44
+ P = false;
45
+ return
46
+ } else {
47
+ if (typeof X == "object") {
48
+ H = B.extend(H, X)
49
+ }
50
+ }
51
+ ab = H.title || (Z.nodeName ? B(Z).attr("title") : Z.title) || "";
52
+ if (Z.nodeName && !H.orig) {
53
+ H.orig = B(Z).children("img:first").length ? B(Z).children("img:first") : B(Z)
54
+ }
55
+ if (ab === "" && H.orig && H.titleFromAlt) {
56
+ ab = H.orig.attr("alt")
57
+ }
58
+ W = H.href || (Z.nodeName ? B(Z).attr("href") : Z.href) || null;
59
+ if ((/^(?:javascript)/i).test(W) || W == "#") {
60
+ W = null
61
+ }
62
+ if (H.type) {
63
+ Y = H.type;
64
+ if (!W) {
65
+ W = H.content
66
+ }
67
+ } else {
68
+ if (H.content) {
69
+ Y = "html"
70
+ } else {
71
+ if (W) {
72
+ if (W.match(i)) {
73
+ Y = "image"
74
+ } else {
75
+ if (W.match(k)) {
76
+ Y = "swf"
77
+ } else {
78
+ if (B(Z).hasClass("iframe")) {
79
+ Y = "iframe"
80
+ } else {
81
+ if (W.indexOf("#") === 0) {
82
+ Y = "inline"
83
+ } else {
84
+ Y = "ajax"
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+ } if (!Y) {
92
+ x();
93
+ return
94
+ }
95
+ if (Y == "inline") {
96
+ Z = W.substr(W.indexOf("#"));
97
+ Y = B(Z).length > 0 ? "inline" : "ajax"
98
+ }
99
+ H.type = Y;
100
+ H.href = W;
101
+ H.title = ab;
102
+ if (H.autoDimensions) {
103
+ if (H.type == "html" || H.type == "inline" || H.type == "ajax") {
104
+ H.width = "auto";
105
+ H.height = "auto"
106
+ } else {
107
+ H.autoDimensions = false
108
+ }
109
+ }
110
+ if (H.modal) {
111
+ H.overlayShow = true;
112
+ H.hideOnOverlayClick = false;
113
+ H.hideOnContentClick = false;
114
+ H.enableEscapeButton = false;
115
+ H.showCloseButton = false
116
+ }
117
+ H.padding = parseInt(H.padding, 10);
118
+ H.margin = parseInt(H.margin, 10);
119
+ L.css("padding", (H.padding + H.margin));
120
+ B(".envirabox-inline-tmp").unbind("envirabox-cancel").bind("envirabox-change", function() {
121
+ B(this).replaceWith(m.children())
122
+ });
123
+ switch (Y) {
124
+ case "html":
125
+ L.html(H.content);
126
+ n();
127
+ break;
128
+ case "inline":
129
+ if (B(Z).parent().is("#envirabox-content") === true) {
130
+ P = false;
131
+ return
132
+ }
133
+ B('<div class="envirabox-inline-tmp" />').hide().insertBefore(B(Z)).bind("envirabox-cleanup", function() {
134
+ B(this).replaceWith(m.children())
135
+ }).bind("envirabox-cancel", function() {
136
+ B(this).replaceWith(L.children())
137
+ });
138
+ B(Z).appendTo(L);
139
+ n();
140
+ break;
141
+ case "image":
142
+ P = false;
143
+ B.envirabox.showActivity();
144
+ o = new Image();
145
+ o.onerror = function() {
146
+ x()
147
+ };
148
+ o.onload = function() {
149
+ P = true;
150
+ o.onerror = o.onload = null;
151
+ F()
152
+ };
153
+ o.src = W;
154
+ break;
155
+ case "swf":
156
+ H.scrolling = "no";
157
+ aa = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + H.width + '" height="' + H.height + '"><param name="movie" value="' + W + '"></param>';
158
+ V = "";
159
+ B.each(H.swf, function(ac, ad) {
160
+ aa += '<param name="' + ac + '" value="' + ad + '"></param>';
161
+ V += " " + ac + '="' + ad + '"'
162
+ });
163
+ aa += '<embed src="' + W + '" type="application/x-shockwave-flash" width="' + H.width + '" height="' + H.height + '"' + V + "></embed></object>";
164
+ L.html(aa);
165
+ n();
166
+ break;
167
+ case "ajax":
168
+ P = false;
169
+ B.envirabox.showActivity();
170
+ H.ajax.win = H.ajax.success;
171
+ f = B.ajax(B.extend({}, H.ajax, {
172
+ url: W,
173
+ data: H.ajax.data || {},
174
+ error: function(ac, ae, ad) {
175
+ if (ac.status > 0) {
176
+ x()
177
+ }
178
+ },
179
+ success: function(ad, af, ac) {
180
+ var ae = typeof ac == "object" ? ac : f;
181
+ if (ae.status == 200) {
182
+ if (typeof H.ajax.win == "function") {
183
+ X = H.ajax.win(W, ad, af, ac);
184
+ if (X === false) {
185
+ T.hide();
186
+ return
187
+ } else {
188
+ if (typeof X == "string" || typeof X == "object") {
189
+ ad = X
190
+ }
191
+ }
192
+ }
193
+ L.html(ad);
194
+ n()
195
+ }
196
+ }
197
+ }));
198
+ break;
199
+ case "iframe":
200
+ E();
201
+ break
202
+ }
203
+ }, n = function() {
204
+ var V = H.width,
205
+ W = H.height;
206
+ if (V.toString().indexOf("%") > -1) {
207
+ V = parseInt((B(window).width() - (H.margin * 2)) * parseFloat(V) / 100, 10) + "px"
208
+ } else {
209
+ V = V == "auto" ? "auto" : V + "px"
210
+ } if (W.toString().indexOf("%") > -1) {
211
+ W = parseInt((B(window).height() - (H.margin * 2)) * parseFloat(W) / 100, 10) + "px"
212
+ } else {
213
+ W = W == "auto" ? "auto" : W + "px"
214
+ }
215
+ L.wrapInner('<div style="width:' + V + ";height:" + W + ";overflow: " + (H.scrolling == "auto" ? "auto" : (H.scrolling == "yes" ? "scroll" : "hidden")) + ';position:relative;"></div>');
216
+ H.width = L.width();
217
+ H.height = L.height();
218
+ E()
219
+ }, F = function() {
220
+ H.width = o.width;
221
+ H.height = o.height;
222
+ B("<img />").attr({
223
+ id: "envirabox-img",
224
+ src: o.src,
225
+ alt: H.title
226
+ }).appendTo(L);
227
+ E()
228
+ }, E = function() {
229
+ var W, V;
230
+ T.hide();
231
+ if (M.is(":visible") && false === G.onCleanup(y, e, G)) {
232
+ B.event.trigger("envirabox-cancel");
233
+ P = false;
234
+ return
235
+ }
236
+ P = true;
237
+ B(m.add(Q)).unbind();
238
+ B(window).unbind("resize.fb scroll.fb");
239
+ B(document).unbind("keydown.fb");
240
+ if (M.is(":visible") && G.titlePosition !== "outside") {
241
+ M.css("height", M.height())
242
+ }
243
+ y = j;
244
+ e = C;
245
+ G = H;
246
+ if (G.overlayShow) {
247
+ Q.css({
248
+ "background-color": G.overlayColor,
249
+ opacity: G.overlayOpacity,
250
+ cursor: G.hideOnOverlayClick ? "pointer" : "auto",
251
+ height: B(document).height()
252
+ });
253
+ if (!Q.is(":visible")) {
254
+ if (S) {
255
+ B("select:not(#envirabox-tmp select)").filter(function() {
256
+ return this.style.visibility !== "hidden"
257
+ }).css({
258
+ visibility: "hidden"
259
+ }).one("envirabox-cleanup", function() {
260
+ this.style.visibility = "inherit"
261
+ })
262
+ }
263
+ Q.show()
264
+ }
265
+ } else {
266
+ Q.hide()
267
+ }
268
+ c = R();
269
+ l();
270
+ if (M.is(":visible")) {
271
+ B(J.add(O).add(z)).hide();
272
+ W = M.position(), b = {
273
+ top: W.top,
274
+ left: W.left,
275
+ width: M.width(),
276
+ height: M.height()
277
+ };
278
+ V = (b.width == c.width && b.height == c.height);
279
+ m.fadeTo(G.changeFade, 0.3, function() {
280
+ var X = function() {
281
+ m.html(L.contents()).fadeTo(G.changeFade, 1, v)
282
+ };
283
+ B.event.trigger("envirabox-change");
284
+ m.empty().removeAttr("filter").css({
285
+ "border-width": G.padding,
286
+ width: c.width - G.padding * 2,
287
+ height: H.autoDimensions ? "auto" : c.height - h - G.padding * 2
288
+ });
289
+ if (V) {
290
+ X()
291
+ } else {
292
+ s.prop = 0;
293
+ B(s).animate({
294
+ prop: 1
295
+ }, {
296
+ duration: G.changeSpeed,
297
+ easing: G.easingChange,
298
+ step: U,
299
+ complete: X
300
+ })
301
+ }
302
+ });
303
+ return
304
+ }
305
+ M.removeAttr("style");
306
+ m.css("border-width", G.padding);
307
+ if (G.transitionIn == "elastic") {
308
+ b = I();
309
+ m.html(L.contents());
310
+ M.show();
311
+ if (G.opacity) {
312
+ c.opacity = 0
313
+ }
314
+ s.prop = 0;
315
+ B(s).animate({
316
+ prop: 1
317
+ }, {
318
+ duration: G.speedIn,
319
+ easing: G.easingIn,
320
+ step: U,
321
+ complete: v
322
+ });
323
+ return
324
+ }
325
+ if (G.titlePosition == "inside" && h > 0) {
326
+ A.show()
327
+ }
328
+ m.css({
329
+ width: c.width - G.padding * 2,
330
+ height: H.autoDimensions ? "auto" : c.height - h - G.padding * 2
331
+ }).html(L.contents());
332
+ M.css(c).fadeIn(G.transitionIn == "none" ? 0 : G.speedIn, v)
333
+ }, D = function(V) {
334
+ if (V && V.length) {
335
+ if (G.titlePosition == "float") {
336
+ return '<table id="envirabox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="envirabox-title-float-left"></td><td id="envirabox-title-float-main">' + V + '</td><td id="envirabox-title-float-right"></td></tr></table>'
337
+ }
338
+ return '<div id="envirabox-title-' + G.titlePosition + '">' + V + "</div>"
339
+ }
340
+ return false
341
+ }, l = function() {
342
+ t = G.title || "";
343
+ h = 0;
344
+ A.empty().removeAttr("style").removeClass();
345
+ if (G.titleShow === false) {
346
+ A.hide();
347
+ return
348
+ }
349
+ t = B.isFunction(G.titleFormat) ? G.titleFormat(t, y, e, G) : D(t);
350
+ if (!t || t === "") {
351
+ A.hide();
352
+ return
353
+ }
354
+ A.addClass("envirabox-title-" + G.titlePosition).html(t).appendTo("body").show();
355
+ switch (G.titlePosition) {
356
+ case "inside":
357
+ A.css({
358
+ width: c.width - (G.padding * 2),
359
+ marginLeft: G.padding,
360
+ marginRight: G.padding
361
+ });
362
+ h = A.outerHeight(true);
363
+ A.appendTo(d);
364
+ c.height += h;
365
+ break;
366
+ case "over":
367
+ A.css({
368
+ marginLeft: G.padding,
369
+ width: c.width - (G.padding * 2),
370
+ bottom: G.padding
371
+ }).appendTo(d);
372
+ break;
373
+ case "float":
374
+ A.css("left", parseInt((A.width() - c.width - 40) / 2, 10) * -1).appendTo(M);
375
+ break;
376
+ default:
377
+ A.css({
378
+ width: c.width - (G.padding * 2),
379
+ paddingLeft: G.padding,
380
+ paddingRight: G.padding
381
+ }).appendTo(M);
382
+ break
383
+ }
384
+ A.hide()
385
+ }, g = function() {
386
+ if (G.enableEscapeButton || G.enableKeyboardNav) {
387
+ B(document).bind("keydown.fb", function(V) {
388
+ if (V.keyCode == 27 && G.enableEscapeButton) {
389
+ V.preventDefault();
390
+ B.envirabox.close()
391
+ } else {
392
+ if ((V.keyCode == 37 || V.keyCode == 39) && G.enableKeyboardNav && V.target.tagName !== "INPUT" && V.target.tagName !== "TEXTAREA" && V.target.tagName !== "SELECT") {
393
+ V.preventDefault();
394
+ B.envirabox[V.keyCode == 37 ? "prev" : "next"]()
395
+ }
396
+ }
397
+ })
398
+ }
399
+ if (!G.showNavArrows) {
400
+ O.hide();
401
+ z.hide();
402
+ return
403
+ }
404
+ if ((G.cyclic && y.length > 1) || e !== 0) {
405
+ O.show()
406
+ }
407
+ if ((G.cyclic && y.length > 1) || e != (y.length - 1)) {
408
+ z.show()
409
+ }
410
+ }, v = function() {
411
+ if (!B.support.opacity) {
412
+ m.get(0).style.removeAttribute("filter");
413
+ M.get(0).style.removeAttribute("filter")
414
+ }
415
+ if (H.autoDimensions) {
416
+ m.css("height", "auto")
417
+ }
418
+ M.css("height", "auto");
419
+ if (t && t.length) {
420
+ A.show()
421
+ }
422
+ if (G.showCloseButton) {
423
+ J.show()
424
+ }
425
+ g();
426
+ if (G.hideOnContentClick) {
427
+ m.bind("click", B.envirabox.close)
428
+ }
429
+ if (G.hideOnOverlayClick) {
430
+ Q.bind("click", B.envirabox.close)
431
+ }
432
+ B(window).bind("resize.fb", B.envirabox.resize);
433
+ if (G.centerOnScroll) {
434
+ B(window).bind("scroll.fb", B.envirabox.center)
435
+ }
436
+ if (G.type == "iframe") {
437
+ B('<iframe id="envirabox-frame" name="envirabox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" scrolling="' + H.scrolling + '" src="' + G.href + '"></iframe>').appendTo(m)
438
+ }
439
+ M.show();
440
+ P = false;
441
+ B.envirabox.center();
442
+ G.onComplete(y, e, G);
443
+ K()
444
+ }, K = function() {
445
+ var V, W;
446
+ if ((y.length - 1) > e) {
447
+ V = y[e + 1].href;
448
+ if (typeof V !== "undefined" && V.match(i)) {
449
+ W = new Image();
450
+ W.src = V
451
+ }
452
+ }
453
+ if (e > 0) {
454
+ V = y[e - 1].href;
455
+ if (typeof V !== "undefined" && V.match(i)) {
456
+ W = new Image();
457
+ W.src = V
458
+ }
459
+ }
460
+ }, U = function(W) {
461
+ var V = {
462
+ width: parseInt(b.width + (c.width - b.width) * W, 10),
463
+ height: parseInt(b.height + (c.height - b.height) * W, 10),
464
+ top: parseInt(b.top + (c.top - b.top) * W, 10),
465
+ left: parseInt(b.left + (c.left - b.left) * W, 10)
466
+ };
467
+ if (typeof c.opacity !== "undefined") {
468
+ V.opacity = W < 0.5 ? 0.5 : W
469
+ }
470
+ M.css(V);
471
+ m.css({
472
+ width: V.width - G.padding * 2,
473
+ height: V.height - (h * W) - G.padding * 2
474
+ })
475
+ }, u = function() {
476
+ return [B(window).width() - (G.margin * 2), B(window).height() - (G.margin * 2), B(document).scrollLeft() + G.margin, B(document).scrollTop() + G.margin]
477
+ }, R = function() {
478
+ var V = u(),
479
+ Z = {}, W = G.autoScale,
480
+ X = G.padding * 2,
481
+ Y;
482
+ if (G.width.toString().indexOf("%") > -1) {
483
+ Z.width = parseInt((V[0] * parseFloat(G.width)) / 100, 10)
484
+ } else {
485
+ Z.width = G.width + X
486
+ } if (G.height.toString().indexOf("%") > -1) {
487
+ Z.height = parseInt((V[1] * parseFloat(G.height)) / 100, 10)
488
+ } else {
489
+ Z.height = G.height + X
490
+ } if (W && (Z.width > V[0] || Z.height > V[1])) {
491
+ if (H.type == "image" || H.type == "swf") {
492
+ Y = (G.width) / (G.height);
493
+ if ((Z.width) > V[0]) {
494
+ Z.width = V[0];
495
+ Z.height = parseInt(((Z.width - X) / Y) + X, 10)
496
+ }
497
+ if ((Z.height) > V[1]) {
498
+ Z.height = V[1];
499
+ Z.width = parseInt(((Z.height - X) * Y) + X, 10)
500
+ }
501
+ } else {
502
+ Z.width = Math.min(Z.width, V[0]);
503
+ Z.height = Math.min(Z.height, V[1])
504
+ }
505
+ }
506
+ Z.top = parseInt(Math.max(V[3] - 20, V[3] + ((V[1] - Z.height - 40) * 0.5)), 10);
507
+ Z.left = parseInt(Math.max(V[2] - 20, V[2] + ((V[0] - Z.width - 40) * 0.5)), 10);
508
+ return Z
509
+ }, q = function(V) {
510
+ var W = V.offset();
511
+ W.top += parseInt(V.css("paddingTop"), 10) || 0;
512
+ W.left += parseInt(V.css("paddingLeft"), 10) || 0;
513
+ W.top += parseInt(V.css("border-top-width"), 10) || 0;
514
+ W.left += parseInt(V.css("border-left-width"), 10) || 0;
515
+ W.width = V.width();
516
+ W.height = V.height();
517
+ return W
518
+ }, I = function() {
519
+ var Y = H.orig ? B(H.orig) : false,
520
+ X = {}, W, V;
521
+ if (Y && Y.length) {
522
+ W = q(Y);
523
+ X = {
524
+ width: W.width + (G.padding * 2),
525
+ height: W.height + (G.padding * 2),
526
+ top: W.top - G.padding - 20,
527
+ left: W.left - G.padding - 20
528
+ }
529
+ } else {
530
+ V = u();
531
+ X = {
532
+ width: G.padding * 2,
533
+ height: G.padding * 2,
534
+ top: parseInt(V[3] + V[1] * 0.5, 10),
535
+ left: parseInt(V[2] + V[0] * 0.5, 10)
536
+ }
537
+ }
538
+ return X
539
+ }, a = function() {
540
+ if (!T.is(":visible")) {
541
+ clearInterval(p);
542
+ return
543
+ }
544
+ B("div", T).css("top", (N * -40) + "px");
545
+ N = (N + 1) % 12
546
+ };
547
+ B.fn.envirabox = function(V) {
548
+ if (!B(this).length) {
549
+ return this
550
+ }
551
+ B(this).data("envirabox", B.extend({}, V, (B.metadata ? B(this).metadata() : {}))).unbind("click.fb").bind("click.fb", function(X) {
552
+ X.preventDefault();
553
+ if (P) {
554
+ return
555
+ }
556
+ P = true;
557
+ B(this).blur();
558
+ j = [];
559
+ C = 0;
560
+ var W = B(this).attr("rel") || "";
561
+ if (!W || W == "" || W === "nofollow") {
562
+ j.push(this)
563
+ } else {
564
+ j = B("a[rel=" + W + "], area[rel=" + W + "]");
565
+ C = j.index(this)
566
+ }
567
+ w();
568
+ return
569
+ });
570
+ return this
571
+ };
572
+ B.envirabox = function(Y) {
573
+ var X;
574
+ if (P) {
575
+ return
576
+ }
577
+ P = true;
578
+ X = typeof arguments[1] !== "undefined" ? arguments[1] : {};
579
+ j = [];
580
+ C = parseInt(X.index, 10) || 0;
581
+ if (B.isArray(Y)) {
582
+ for (var W = 0, V = Y.length; W < V; W++) {
583
+ if (typeof Y[W] == "object") {
584
+ B(Y[W]).data("envirabox", B.extend({}, X, Y[W]))
585
+ } else {
586
+ Y[W] = B({}).data("envirabox", B.extend({
587
+ content: Y[W]
588
+ }, X))
589
+ }
590
+ }
591
+ j = jQuery.merge(j, Y)
592
+ } else {
593
+ if (typeof Y == "object") {
594
+ B(Y).data("envirabox", B.extend({}, X, Y))
595
+ } else {
596
+ Y = B({}).data("envirabox", B.extend({
597
+ content: Y
598
+ }, X))
599
+ }
600
+ j.push(Y)
601
+ } if (C > j.length || C < 0) {
602
+ C = 0
603
+ }
604
+ w()
605
+ };
606
+ B.envirabox.showActivity = function() {
607
+ clearInterval(p);
608
+ T.show();
609
+ p = setInterval(a, 66)
610
+ };
611
+ B.envirabox.hideActivity = function() {
612
+ T.hide()
613
+ };
614
+ B.envirabox.next = function() {
615
+ return B.envirabox.pos(e + 1)
616
+ };
617
+ B.envirabox.prev = function() {
618
+ return B.envirabox.pos(e - 1)
619
+ };
620
+ B.envirabox.pos = function(V) {
621
+ if (P) {
622
+ return
623
+ }
624
+ V = parseInt(V);
625
+ j = y;
626
+ if (V > -1 && V < y.length) {
627
+ C = V;
628
+ w()
629
+ } else {
630
+ if (G.cyclic && y.length > 1) {
631
+ C = V >= y.length ? 0 : y.length - 1;
632
+ w()
633
+ }
634
+ }
635
+ return
636
+ };
637
+ B.envirabox.cancel = function() {
638
+ if (P) {
639
+ return
640
+ }
641
+ P = true;
642
+ B.event.trigger("envirabox-cancel");
643
+ r();
644
+ H.onCancel(j, C, H);
645
+ P = false
646
+ };
647
+ B.envirabox.close = function() {
648
+ if (P || M.is(":hidden")) {
649
+ return
650
+ }
651
+ P = true;
652
+ if (G && false === G.onCleanup(y, e, G)) {
653
+ P = false;
654
+ return
655
+ }
656
+ r();
657
+ B(J.add(O).add(z)).hide();
658
+ B(m.add(Q)).unbind();
659
+ B(window).unbind("resize.fb scroll.fb");
660
+ B(document).unbind("keydown.fb");
661
+ m.find("iframe").attr("src", S && /^https/i.test(window.location.href || "") ? "javascript:void(false)" : "about:blank");
662
+ if (G.titlePosition !== "inside") {
663
+ A.empty()
664
+ }
665
+ M.stop();
666
+
667
+ function V() {
668
+ Q.fadeOut("fast");
669
+ A.empty().hide();
670
+ M.hide();
671
+ B.event.trigger("envirabox-cleanup");
672
+ m.empty();
673
+ G.onClosed(y, e, G);
674
+ y = H = [];
675
+ e = C = 0;
676
+ G = H = {};
677
+ P = false
678
+ }
679
+ if (G.transitionOut == "elastic") {
680
+ b = I();
681
+ var W = M.position();
682
+ c = {
683
+ top: W.top,
684
+ left: W.left,
685
+ width: M.width(),
686
+ height: M.height()
687
+ };
688
+ if (G.opacity) {
689
+ c.opacity = 1
690
+ }
691
+ A.empty().hide();
692
+ s.prop = 1;
693
+ B(s).animate({
694
+ prop: 0
695
+ }, {
696
+ duration: G.speedOut,
697
+ easing: G.easingOut,
698
+ step: U,
699
+ complete: V
700
+ })
701
+ } else {
702
+ M.fadeOut(G.transitionOut == "none" ? 0 : G.speedOut, V)
703
+ }
704
+ };
705
+ B.envirabox.resize = function() {
706
+ if (Q.is(":visible")) {
707
+ Q.css("height", B(document).height())
708
+ }
709
+ var W, V;
710
+ c = R();
711
+ l();
712
+ A.show();
713
+ W = M.position(), b = {
714
+ top: W.top,
715
+ left: W.left,
716
+ width: M.width(),
717
+ height: M.height()
718
+ };
719
+ V = (b.width == c.width && b.height == c.height);
720
+ if (V) {} else {
721
+ s.prop = 0;
722
+ B(s).animate({
723
+ prop: 1
724
+ }, {
725
+ duration: G.changeSpeed,
726
+ easing: G.easingChange,
727
+ step: U
728
+ })
729
+ }
730
+ m.css({
731
+ width: c.width - G.padding * 2,
732
+ height: H.autoDimensions ? "auto" : c.height - h - G.padding * 2
733
+ });
734
+ M.css(c);
735
+ B.envirabox.center(true)
736
+ };
737
+ B.envirabox.center = function() {
738
+ var V, W;
739
+ if (P) {
740
+ return
741
+ }
742
+ W = arguments[0] === true ? 1 : 0;
743
+ V = u();
744
+ if (!W && (M.width() > V[0] || M.height() > V[1])) {
745
+ return
746
+ }
747
+ M.stop().animate({
748
+ top: parseInt(Math.max(V[3] - 20, V[3] + ((V[1] - m.height() - 40) * 0.5) - G.padding)),
749
+ left: parseInt(Math.max(V[2] - 20, V[2] + ((V[0] - m.width() - 40) * 0.5) - G.padding))
750
+ }, typeof arguments[0] == "number" ? arguments[0] : 200)
751
+ };
752
+ B.envirabox.init = function() {
753
+ if (B("#envirabox-wrap").length) {
754
+ return
755
+ }
756
+ B("body").append(L = B('<div id="envirabox-tmp"></div>'), T = B('<div id="envirabox-loading"><div></div></div>'), Q = B('<div id="envirabox-overlay"></div>'), M = B('<div id="envirabox-wrap"></div>'));
757
+ d = B('<div id="envirabox-outer"></div>').append('<div class="envirabox-bg" id="envirabox-bg-n"></div><div class="envirabox-bg" id="envirabox-bg-ne"></div><div class="envirabox-bg" id="envirabox-bg-e"></div><div class="envirabox-bg" id="envirabox-bg-se"></div><div class="envirabox-bg" id="envirabox-bg-s"></div><div class="envirabox-bg" id="envirabox-bg-sw"></div><div class="envirabox-bg" id="envirabox-bg-w"></div><div class="envirabox-bg" id="envirabox-bg-nw"></div>').appendTo(M);
758
+ d.append(m = B('<div id="envirabox-content"></div>'), J = B('<a id="envirabox-close"></a>'), A = B('<div id="envirabox-title"></div>'), O = B('<a href="javascript:;" id="envirabox-left"><span class="fancy-ico" id="envirabox-left-ico"></span></a>'), z = B('<a href="javascript:;" id="envirabox-right"><span class="fancy-ico" id="envirabox-right-ico"></span></a>'));
759
+ J.click(B.envirabox.close);
760
+ T.click(B.envirabox.cancel);
761
+ O.click(function(V) {
762
+ V.preventDefault();
763
+ B.envirabox.prev()
764
+ });
765
+ z.click(function(V) {
766
+ V.preventDefault();
767
+ B.envirabox.next()
768
+ });
769
+ if (B.fn.mousewheel) {
770
+ M.bind("mousewheel.fb", function(V, W) {
771
+ if (P) {
772
+ V.preventDefault()
773
+ } else {
774
+ if (B(V.target).get(0).clientHeight == 0 || B(V.target).get(0).scrollHeight === B(V.target).get(0).clientHeight) {
775
+ V.preventDefault();
776
+ B.envirabox[W > 0 ? "prev" : "next"]()
777
+ }
778
+ }
779
+ })
780
+ }
781
+ if (!B.support.opacity) {
782
+ M.addClass("envirabox-ie")
783
+ }
784
+ if (S) {
785
+ T.addClass("envirabox-ie6");
786
+ M.addClass("envirabox-ie6");
787
+ B('<iframe id="envirabox-hide-sel-frame" src="' + (/^https/i.test(window.location.href || "") ? "javascript:void(false)" : "about:blank") + '" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo(d)
788
+ }
789
+ };
790
+ B.fn.envirabox.defaults = {
791
+ padding: 10,
792
+ margin: 40,
793
+ opacity: false,
794
+ modal: false,
795
+ cyclic: false,
796
+ scrolling: "auto",
797
+ width: 560,
798
+ height: 340,
799
+ autoScale: true,
800
+ autoDimensions: true,
801
+ centerOnScroll: false,
802
+ ajax: {},
803
+ swf: {
804
+ wmode: "transparent"
805
+ },
806
+ hideOnOverlayClick: true,
807
+ hideOnContentClick: false,
808
+ overlayShow: true,
809
+ overlayOpacity: 0.7,
810
+ overlayColor: "#777",
811
+ titleShow: true,
812
+ titlePosition: "float",
813
+ titleFormat: null,
814
+ titleFromAlt: false,
815
+ transitionIn: "fade",
816
+ transitionOut: "fade",
817
+ speedIn: 300,
818
+ speedOut: 300,
819
+ changeSpeed: 300,
820
+ changeFade: "fast",
821
+ easingIn: "swing",
822
+ easingOut: "swing",
823
+ showCloseButton: true,
824
+ showNavArrows: true,
825
+ enableEscapeButton: true,
826
+ enableKeyboardNav: true,
827
+ onStart: function() {},
828
+ onCancel: function() {},
829
+ onComplete: function() {},
830
+ onCleanup: function() {},
831
+ onClosed: function() {},
832
+ onError: function() {}
833
+ };
834
+ B(document).ready(function() {
835
+ B.envirabox.init()
836
+ })
837
+ })(jQuery);
assets/js/min/envira-min.js CHANGED
@@ -1,4 +1,4 @@
1
- function jg_effect_desaturate(t){var e=!!document.createElement("canvas").getContext;if(e){var i=document.createElement("canvas"),n=i.getContext("2d"),o,r,s,a=0,h,l=new Image;for(l.src=t,i.width=l.width,i.height=l.height,n.drawImage(l,0,0),o=n.getImageData(0,0,i.width,i.height),r=o.data,s=r.length;s>a;a+=4)h=.3*r[a]+.59*r[a+1]+.11*r[a+2],r[a]=r[a+1]=r[a+2]=h;return n.putImageData(o,0,0),i.toDataURL()}return t}function jg_effect_threshold(t){var e=!!document.createElement("canvas").getContext;if(e){var i=document.createElement("canvas"),n=i.getContext("2d"),o,r,s,a=0,h,l=new Image;l.src=t,i.width=l.width,i.height=l.height,n.drawImage(l,0,0),o=n.getImageData(0,0,i.width,i.height),r=o.data,s=r.length,threshold=120;for(var a=0;s>a;a+=4){var u=r[a],d=r[a+1],c=r[a+2],p=.2126*u+.7152*d+.0722*c>=threshold?255:0;r[a]=r[a+1]=r[a+2]=p}return n.putImageData(o,0,0),i.toDataURL()}return t}function jg_effect_blur(t){var e=!!document.createElement("canvas").getContext;if(e){var i=document.createElement("canvas"),n=i.getContext("2d"),o,r,s,a=0,h,l=0,u=0,d=30,c=1;img=new Image,img.src=t,i.width=img.width,i.height=img.height,n.drawImage(img,0,0);var o,p=img.width,f=img.height;o=n.getImageData(l,u,p,f);for(var g=o.data,m,v,y,w,b,x,a,S,I,E,_,C,T,R,z=p-1,j=f-1,O=p*f,L=d+1,k=[],M=[],D=[],H=mul_table[d],W=shg_table[d],A=[],P=[];c-- >0;){for(T=C=0,x=0;f>x;x++){for(m=g[T]*L,v=g[T+1]*L,y=g[T+2]*L,a=1;d>=a;a++)S=T+((a>z?z:a)<<2),m+=g[S++],v+=g[S++],y+=g[S++];for(b=0;p>b;b++)k[C]=m,M[C]=v,D[C]=y,0==x&&(A[b]=((S=b+L)<z?S:z)<<2,P[b]=(S=b-d)>0?S<<2:0),I=T+A[b],E=T+P[b],m+=g[I++]-g[E++],v+=g[I++]-g[E++],y+=g[I++]-g[E++],C++;T+=p<<2}for(b=0;p>b;b++){for(_=b,m=k[_]*L,v=M[_]*L,y=D[_]*L,a=1;d>=a;a++)_+=a>j?0:p,m+=k[_],v+=M[_],y+=D[_];for(C=b<<2,x=0;f>x;x++)g[C]=m*H>>>W,g[C+1]=v*H>>>W,g[C+2]=y*H>>>W,0==b&&(A[x]=((S=x+L)<j?S:j)*p,P[x]=(S=x-d)>0?S*p:0),I=b+A[x],E=b+P[x],m+=k[I]-k[E],v+=M[I]-M[E],y+=D[I]-D[E],C+=p<<2}}return n.putImageData(o,l,u),i.toDataURL()}return t}function jg_effect_vintage(t){var e={onError:function(){alert("ERROR")}},i={vignette:1,sepia:!0,noise:50,desaturate:.2,lighten:.1};new VintageJS(t,e,i)}function boxBlurImage(t,e,i,n,o){var r=document.getElementById(t),s=r.naturalWidth,a=r.naturalHeight,h=document.getElementById(e);h.style.width=s+"px",h.style.height=a+"px",h.width=s,h.height=a;var l=h.getContext("2d");l.clearRect(0,0,s,a),l.drawImage(r,0,0),isNaN(i)||1>i||(n?boxBlurCanvasRGBA(e,0,0,s,a,i,o):boxBlurCanvasRGB(e,0,0,s,a,i,o))}function boxBlurCanvasRGBA(t,e,i,n,o,r,s){if(!(isNaN(r)||1>r)){r|=0,isNaN(s)&&(s=1),s|=0,s>3&&(s=3),1>s&&(s=1);var a=document.getElementById(t),h=a.getContext("2d"),l;try{try{l=h.getImageData(e,i,n,o)}catch(u){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"),l=h.getImageData(e,i,n,o)}catch(u){throw alert("Cannot access local image"),new Error("unable to access local image data: "+u);return}}}catch(u){throw alert("Cannot access image"),new Error("unable to access image data: "+u);return}for(var d=l.data,c,p,f,g,m,v,y,w,b,x,S,I,E,_,C,T=n-1,R=o-1,z=n*o,j=r+1,O=mul_table[r],L=shg_table[r],k=[],M=[],D=[],H=[],W=[],A=[];s-- >0;){for(E=I=0,v=0;o>v;v++){for(c=d[E]*j,p=d[E+1]*j,f=d[E+2]*j,g=d[E+3]*j,y=1;r>=y;y++)w=E+((y>T?T:y)<<2),c+=d[w++],p+=d[w++],f+=d[w++],g+=d[w];for(m=0;n>m;m++)k[I]=c,M[I]=p,D[I]=f,H[I]=g,0==v&&(W[m]=((w=m+j)<T?w:T)<<2,A[m]=(w=m-r)>0?w<<2:0),b=E+W[m],x=E+A[m],c+=d[b++]-d[x++],p+=d[b++]-d[x++],f+=d[b++]-d[x++],g+=d[b]-d[x],I++;E+=n<<2}for(m=0;n>m;m++){for(S=m,c=k[S]*j,p=M[S]*j,f=D[S]*j,g=H[S]*j,y=1;r>=y;y++)S+=y>R?0:n,c+=k[S],p+=M[S],f+=D[S],g+=H[S];for(I=m<<2,v=0;o>v;v++)d[I+3]=C=g*O>>>L,C>0?(C=255/C,d[I]=(c*O>>>L)*C,d[I+1]=(p*O>>>L)*C,d[I+2]=(f*O>>>L)*C):d[I]=d[I+1]=d[I+2]=0,0==m&&(W[v]=((w=v+j)<R?w:R)*n,A[v]=(w=v-r)>0?w*n:0),b=m+W[v],x=m+A[v],c+=k[b]-k[x],p+=M[b]-M[x],f+=D[b]-D[x],g+=H[b]-H[x],I+=n<<2}}h.putImageData(l,e,i)}}function boxBlurCanvasRGB(t,e,i,n,o,r,s){if(!(isNaN(r)||1>r)){r|=0,isNaN(s)&&(s=1),s|=0,s>3&&(s=3),1>s&&(s=1);var a=t,h=a.getContext("2d"),l;try{try{l=h.getImageData(e,i,n,o)}catch(u){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"),l=h.getImageData(e,i,n,o)}catch(u){throw alert("Cannot access local image"),new Error("unable to access local image data: "+u);return}}}catch(u){throw alert("Cannot access image"),new Error("unable to access image data: "+u);return}for(var d=l.data,c,p,f,g,m,v,y,w,b,x,S,I,E,_,C=n-1,T=o-1,R=n*o,z=r+1,j=[],O=[],L=[],k=mul_table[r],M=shg_table[r],D=[],H=[];s-- >0;){for(E=I=0,v=0;o>v;v++){for(c=d[E]*z,p=d[E+1]*z,f=d[E+2]*z,y=1;r>=y;y++)w=E+((y>C?C:y)<<2),c+=d[w++],p+=d[w++],f+=d[w++];for(m=0;n>m;m++)j[I]=c,O[I]=p,L[I]=f,0==v&&(D[m]=((w=m+z)<C?w:C)<<2,H[m]=(w=m-r)>0?w<<2:0),b=E+D[m],x=E+H[m],c+=d[b++]-d[x++],p+=d[b++]-d[x++],f+=d[b++]-d[x++],I++;E+=n<<2}for(m=0;n>m;m++){for(S=m,c=j[S]*z,p=O[S]*z,f=L[S]*z,y=1;r>=y;y++)S+=y>T?0:n,c+=j[S],p+=O[S],f+=L[S];for(I=m<<2,v=0;o>v;v++)d[I]=c*k>>>M,d[I+1]=p*k>>>M,d[I+2]=f*k>>>M,0==m&&(D[v]=((w=v+z)<T?w:T)*n,H[v]=(w=v-r)>0?w*n:0),b=m+D[v],x=m+H[v],c+=j[b]-j[x],p+=O[b]-O[x],f+=L[b]-L[x],I+=n<<2}}h.putImageData(l,e,i)}}jQuery(document).ready(function($){$("body").on("click",'div.envirabox-title a[href*="#"]:not([href="#"])',function(t){return location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname?($.envirabox.close(),!1):void 0})}),function($){function t(){return $("body").height()>$(window).height()}var e=function(t,e){this.settings=e,this.checkSettings(),this.imgAnalyzerTimeout=null,this.entries=null,this.buildingRow={entriesBuff:[],width:0,height:0,aspectRatio:0},this.lastAnalyzedIndex=-1,this["yield"]={every:2,flushed:0},this.border=e.border>=0?e.border:e.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges(),this.offY=this.border,this.rows=0,this.spinner={phase:0,timeSlot:150,$el:$('<div class="spinner"><span></span><span></span><span></span></div>'),intervalId:null},this.checkWidthIntervalId=null,this.galleryWidth=t.width(),this.$gallery=t};e.prototype.getSuffix=function(t,e){var i,n;for(i=t>e?t:e,n=0;n<this.suffixRanges.length;n++)if(i<=this.suffixRanges[n])return this.settings.sizeRangeSuffixes[this.suffixRanges[n]];return this.settings.sizeRangeSuffixes[this.suffixRanges[n-1]]},e.prototype.removeSuffix=function(t,e){return t.substring(0,t.length-e.length)},e.prototype.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},e.prototype.getUsedSuffix=function(t){for(var e in this.settings.sizeRangeSuffixes)if(this.settings.sizeRangeSuffixes.hasOwnProperty(e)){if(0===this.settings.sizeRangeSuffixes[e].length)continue;if(this.endsWith(t,this.settings.sizeRangeSuffixes[e]))return this.settings.sizeRangeSuffixes[e]}return""},e.prototype.newSrc=function(t,e,i){var n;if(this.settings.thumbnailPath)n=this.settings.thumbnailPath(t,e,i);else{var o=t.match(this.settings.extension),r=null!==o?o[0]:"";n=t.replace(this.settings.extension,""),n=this.removeSuffix(n,this.getUsedSuffix(n)),n+=this.getSuffix(e,i)+r}return n},e.prototype.showImg=function(t,e){this.settings.cssAnimation?(t.addClass("entry-visible"),e&&e()):t.stop().fadeTo(this.settings.imagesAnimationDuration,1,e)},e.prototype.extractImgSrcFromImage=function(t){var e="undefined"!=typeof t.data("safe-src")?t.data("safe-src"):t.attr("src");return t.data("jg.originalSrc",e),e},e.prototype.imgFromEntry=function(t){var e=t.find("> img");return 0===e.length&&(e=t.find("> a > img")),0===e.length?null:e},e.prototype.captionFromEntry=function(t){var e=t.find("> .caption");return 0===e.length?null:e},e.prototype.displayEntry=function(t,e,i,n,o,r){t.width(n),t.height(r),t.css("top",i),t.css("left",e);var s=this.imgFromEntry(t);if(null!==s){s.css("width",n),s.css("height",o),s.css("margin-left",-n/2),s.css("margin-top",-o/2);var a=s.attr("src"),h=this.newSrc(a,n,o);s.one("error",function(){s.attr("src",s.data("jg.originalSrc"))});var l=function(){a!==h&&s.attr("src",h)};"skipped"===t.data("jg.loaded")?this.onImageEvent(a,$.proxy(function(){this.showImg(t,l),t.data("jg.loaded",!0)},this)):this.showImg(t,l)}else this.showImg(t);this.displayEntryCaption(t)},e.prototype.displayEntryCaption=function(t){var e=this.imgFromEntry(t);if(null!==e&&this.settings.captions){var i=this.captionFromEntry(t);if(null===i){var n=e.attr("alt");this.isValidCaption(n)||(n=t.attr("title")),this.isValidCaption(n)&&(i=$('<div class="caption">'+n+"</div>"),t.append(i),t.data("jg.createdCaption",!0))}null!==i&&(this.settings.cssAnimation||i.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity),this.addCaptionEventsHandlers(t))}else this.removeCaptionEventsHandlers(t)},e.prototype.isValidCaption=function(t){return"undefined"!=typeof t&&t.length>0},e.prototype.onEntryMouseEnterForCaption=function(t){var e=this.captionFromEntry($(t.currentTarget));this.settings.cssAnimation?e.addClass("caption-visible").removeClass("caption-hidden"):e.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.visibleOpacity)},e.prototype.onEntryMouseLeaveForCaption=function(t){var e=this.captionFromEntry($(t.currentTarget));this.settings.cssAnimation?e.removeClass("caption-visible").removeClass("caption-hidden"):e.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.nonVisibleOpacity)},e.prototype.addCaptionEventsHandlers=function(t){var e=t.data("jg.captionMouseEvents");"undefined"==typeof e&&(e={mouseenter:$.proxy(this.onEntryMouseEnterForCaption,this),mouseleave:$.proxy(this.onEntryMouseLeaveForCaption,this)},t.on("mouseenter",void 0,void 0,e.mouseenter),t.on("mouseleave",void 0,void 0,e.mouseleave),t.data("jg.captionMouseEvents",e))},e.prototype.removeCaptionEventsHandlers=function(t){var e=t.data("jg.captionMouseEvents");"undefined"!=typeof e&&(t.off("mouseenter",void 0,e.mouseenter),t.off("mouseleave",void 0,e.mouseleave),t.removeData("jg.captionMouseEvents"))},e.prototype.prepareBuildingRow=function(t){var e,i,n,o,r,s=!0,a=0,h=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,l=h/this.buildingRow.aspectRatio,u=this.settings.rowHeight,d=this.buildingRow.width/h>this.settings.justifyThreshold;if(t&&"hide"===this.settings.lastRow&&!d){for(e=0;e<this.buildingRow.entriesBuff.length;e++)i=this.buildingRow.entriesBuff[e],this.settings.cssAnimation?i.removeClass("entry-visible"):i.stop().fadeTo(0,0);return-1}for(t&&!d&&"justify"!==this.settings.lastRow&&"hide"!==this.settings.lastRow&&(s=!1,this.rows>0&&(u=(this.offY-this.border-this.settings.margins*this.rows)/this.rows,s=u*this.buildingRow.aspectRatio/h>this.settings.justifyThreshold)),e=0;e<this.buildingRow.entriesBuff.length;e++)i=this.buildingRow.entriesBuff[e],n=i.data("jg.width")/i.data("jg.height"),s?(o=e===this.buildingRow.entriesBuff.length-1?h:l*n,r=l):(o=u*n,r=u),h-=Math.round(o),i.data("jg.jwidth",Math.round(o)),i.data("jg.jheight",Math.ceil(r)),(0===e||a>r)&&(a=r);return this.settings.fixedHeight&&a>this.settings.rowHeight&&(a=this.settings.rowHeight),this.buildingRow.height=a,s},e.prototype.clearBuildingRow=function(){this.buildingRow.entriesBuff=[],this.buildingRow.aspectRatio=0,this.buildingRow.width=0},e.prototype.flushRow=function(t){var e=this.settings,i,n,o=this.border,r;if(n=this.prepareBuildingRow(t),t&&"hide"===e.lastRow&&-1===n)return void this.clearBuildingRow();if(this.maxRowHeight.isPercentage?this.maxRowHeight.value*e.rowHeight<this.buildingRow.height&&(this.buildingRow.height=this.maxRowHeight.value*e.rowHeight):this.maxRowHeight.value>0&&this.maxRowHeight.value<this.buildingRow.height&&(this.buildingRow.height=this.maxRowHeight.value),"center"===e.lastRow||"right"===e.lastRow){var s=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*e.margins;for(r=0;r<this.buildingRow.entriesBuff.length;r++)i=this.buildingRow.entriesBuff[r],s-=i.data("jg.jwidth");"center"===e.lastRow?o+=s/2:"right"===e.lastRow&&(o+=s)}for(r=0;r<this.buildingRow.entriesBuff.length;r++)i=this.buildingRow.entriesBuff[r],this.displayEntry(i,o,this.offY,i.data("jg.jwidth"),i.data("jg.jheight"),this.buildingRow.height),o+=i.data("jg.jwidth")+e.margins;this.galleryHeightToSet=this.offY+this.buildingRow.height+this.border,this.$gallery.height(this.galleryHeightToSet+this.getSpinnerHeight()),(!t||this.buildingRow.height<=e.rowHeight&&n)&&(this.offY+=this.buildingRow.height+e.margins,this.rows+=1,this.clearBuildingRow(),this.$gallery.trigger("jg.rowflush"))};var i=!1;e.prototype.checkWidth=function(){this.checkWidthIntervalId=setInterval($.proxy(function(){var e=parseFloat(this.$gallery.width());t()===i?Math.abs(e-this.galleryWidth)>this.settings.refreshSensitivity&&(this.galleryWidth=e,this.rewind(),this.startImgAnalyzer(!0)):(i=t(),this.galleryWidth=e)},this),this.settings.refreshTime)},e.prototype.isSpinnerActive=function(){return null!==this.spinner.intervalId},e.prototype.getSpinnerHeight=function(){return this.spinner.$el.innerHeight()},e.prototype.stopLoadingSpinnerAnimation=function(){clearInterval(this.spinner.intervalId),this.spinner.intervalId=null,this.$gallery.height(this.$gallery.height()-this.getSpinnerHeight()),this.spinner.$el.detach()},e.prototype.startLoadingSpinnerAnimation=function(){var t=this.spinner,e=t.$el.find("span");clearInterval(t.intervalId),this.$gallery.append(t.$el),this.$gallery.height(this.offY+this.buildingRow.height+this.getSpinnerHeight()),t.intervalId=setInterval(function(){t.phase<e.length?e.eq(t.phase).fadeTo(t.timeSlot,1):e.eq(t.phase-e.length).fadeTo(t.timeSlot,0),t.phase=(t.phase+1)%(2*e.length)},t.timeSlot)},e.prototype.rewind=function(){this.lastAnalyzedIndex=-1,this.offY=this.border,this.rows=0,this.clearBuildingRow()},e.prototype.updateEntries=function(t){return this.entries=this.$gallery.find(this.settings.selector).toArray(),0===this.entries.length?!1:(this.settings.filter?this.modifyEntries(this.filterArray,t):this.modifyEntries(this.resetFilters,t),$.isFunction(this.settings.sort)?this.modifyEntries(this.sortArray,t):this.settings.randomize&&this.modifyEntries(this.shuffleArray,t),!0)},e.prototype.insertToGallery=function(t){var e=this;$.each(t,function(){$(this).appendTo(e.$gallery)})},e.prototype.shuffleArray=function(t){var e,i,n;for(e=t.length-1;e>0;e--)i=Math.floor(Math.random()*(e+1)),n=t[e],t[e]=t[i],t[i]=n;return this.insertToGallery(t),t},e.prototype.sortArray=function(t){return t.sort(this.settings.sort),this.insertToGallery(t),t},e.prototype.resetFilters=function(t){for(var e=0;e<t.length;e++)$(t[e]).removeClass("jg-filtered");return t},e.prototype.filterArray=function(t){var e=this.settings;return"string"===$.type(e.filter)?t.filter(function(t){var i=$(t);return i.is(e.filter)?(i.removeClass("jg-filtered"),!0):(i.addClass("jg-filtered"),!1)}):$.isFunction(e.filter)?t.filter(e.filter):void 0},e.prototype.modifyEntries=function(t,e){var i=e?this.entries.splice(this.lastAnalyzedIndex+1,this.entries.length-this.lastAnalyzedIndex-1):this.entries;i=t.call(this,i),this.entries=e?this.entries.concat(i):i},e.prototype.destroy=function(){clearInterval(this.checkWidthIntervalId),$.each(this.entries,$.proxy(function(t,e){var i=$(e);i.css("width",""),i.css("height",""),i.css("top",""),i.css("left",""),i.data("jg.loaded",void 0),i.removeClass("jg-entry");var n=this.imgFromEntry(i);n.css("width",""),n.css("height",""),n.css("margin-left",""),n.css("margin-top",""),n.attr("src",n.data("jg.originalSrc")),n.data("jg.originalSrc",void 0),this.removeCaptionEventsHandlers(i);var o=this.captionFromEntry(i);i.data("jg.createdCaption")?(i.data("jg.createdCaption",void 0),null!==o&&o.remove()):null!==o&&o.fadeTo(0,1)},this)),this.$gallery.css("height",""),this.$gallery.removeClass("justified-gallery"),this.$gallery.data("jg.controller",void 0)},e.prototype.analyzeImages=function(t){for(var e=this.lastAnalyzedIndex+1;e<this.entries.length;e++){var i=$(this.entries[e]);if(i.data("jg.loaded")===!0||"skipped"===i.data("jg.loaded")){var n=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,o=i.data("jg.width")/i.data("jg.height");if(n/(this.buildingRow.aspectRatio+o)<this.settings.rowHeight&&(this.flushRow(!1),++this["yield"].flushed>=this["yield"].every))return void this.startImgAnalyzer(t);this.buildingRow.entriesBuff.push(i),this.buildingRow.aspectRatio+=o,this.buildingRow.width+=o*this.settings.rowHeight,this.lastAnalyzedIndex=e}else if("error"!==i.data("jg.loaded"))return}this.buildingRow.entriesBuff.length>0&&this.flushRow(!0),this.isSpinnerActive()&&this.stopLoadingSpinnerAnimation(),this.stopImgAnalyzerStarter(),this.$gallery.trigger(t?"jg.resize":"jg.complete"),this.$gallery.height(this.galleryHeightToSet)},e.prototype.stopImgAnalyzerStarter=function(){this["yield"].flushed=0,null!==this.imgAnalyzerTimeout&&clearTimeout(this.imgAnalyzerTimeout)},e.prototype.startImgAnalyzer=function(t){var e=this;this.stopImgAnalyzerStarter(),this.imgAnalyzerTimeout=setTimeout(function(){e.analyzeImages(t)},.001)},e.prototype.onImageEvent=function(t,e,i){if(e||i){var n=new Image,o=$(n);e&&o.one("load",function(){o.off("load error"),e(n)}),i&&o.one("error",function(){o.off("load error"),i(n)}),n.src=t}},e.prototype.init=function(){var t=!1,e=!1,i=this;$.each(this.entries,function(n,o){var r=$(o),s=i.imgFromEntry(r);if(r.addClass("jg-entry"),r.data("jg.loaded")!==!0&&"skipped"!==r.data("jg.loaded"))if(null!==i.settings.rel&&r.attr("rel",i.settings.rel),null!==i.settings.target&&r.attr("target",i.settings.target),null!==s){var a=i.extractImgSrcFromImage(s);if(s.attr("src",a),i.settings.waitThumbnailsLoad===!1){var h=parseFloat(s.attr("width")),l=parseFloat(s.attr("height"));if(!isNaN(h)&&!isNaN(l))return r.data("jg.width",h),r.data("jg.height",l),r.data("jg.loaded","skipped"),e=!0,i.startImgAnalyzer(!1),!0}r.data("jg.loaded",!1),t=!0,i.isSpinnerActive()||i.startLoadingSpinnerAnimation(),i.onImageEvent(a,function(t){r.data("jg.width",t.width),r.data("jg.height",t.height),r.data("jg.loaded",!0),i.startImgAnalyzer(!1)},function(){r.data("jg.loaded","error"),i.startImgAnalyzer(!1)})}else r.data("jg.loaded",!0),r.data("jg.width",r.width()|parseFloat(r.css("width"))|1),r.data("jg.height",r.height()|parseFloat(r.css("height"))|1)}),t||e||this.startImgAnalyzer(!1),this.checkWidth()},e.prototype.checkOrConvertNumber=function(t,e){if("string"===$.type(t[e])&&(t[e]=parseFloat(t[e])),"number"!==$.type(t[e]))throw e+" must be a number";if(isNaN(t[e]))throw"invalid number for "+e},e.prototype.checkSizeRangesSuffixes=function(){if("object"!==$.type(this.settings.sizeRangeSuffixes))throw"sizeRangeSuffixes must be defined and must be an object";var t=[];for(var e in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(e)&&t.push(e);for(var i={0:""},n=0;n<t.length;n++)if("string"===$.type(t[n]))try{var o=parseInt(t[n].replace(/^[a-z]+/,""),10);i[o]=this.settings.sizeRangeSuffixes[t[n]]}catch(r){throw"sizeRangeSuffixes keys must contains correct numbers ("+r+")"}else i[t[n]]=this.settings.sizeRangeSuffixes[t[n]];this.settings.sizeRangeSuffixes=i},e.prototype.retrieveMaxRowHeight=function(){var t={};if("string"===$.type(this.settings.maxRowHeight))this.settings.maxRowHeight.match(/^[0-9]+%$/)?(t.value=parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1])/100,t.isPercentage=!1):(t.value=parseFloat(this.settings.maxRowHeight),t.isPercentage=!0);else{if("number"!==$.type(this.settings.maxRowHeight))throw"maxRowHeight must be a number or a percentage";t.value=this.settings.maxRowHeight,t.isPercentage=!1}if(isNaN(t.value))throw"invalid number for maxRowHeight";return t.isPercentage?t.value<100&&(t.value=100):t.value>0&&t.value<this.settings.rowHeight&&(t.value=this.settings.rowHeight),t},e.prototype.checkSettings=function(){this.checkSizeRangesSuffixes(),this.checkOrConvertNumber(this.settings,"rowHeight"),this.checkOrConvertNumber(this.settings,"margins"),this.checkOrConvertNumber(this.settings,"border");var t=["justify","nojustify","left","center","right","hide"];if(-1===t.indexOf(this.settings.lastRow))throw"lastRow must be one of: "+t.join(", ");if(this.checkOrConvertNumber(this.settings,"justifyThreshold"),this.settings.justifyThreshold<0||this.settings.justifyThreshold>1)throw"justifyThreshold must be in the interval [0,1]";if("boolean"!==$.type(this.settings.cssAnimation))throw"cssAnimation must be a boolean";if("boolean"!==$.type(this.settings.captions))throw"captions must be a boolean";if(this.checkOrConvertNumber(this.settings.captionSettings,"animationDuration"),this.checkOrConvertNumber(this.settings.captionSettings,"visibleOpacity"),this.settings.captionSettings.visibleOpacity<0||this.settings.captionSettings.visibleOpacity>1)throw"captionSettings.visibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings.captionSettings,"nonVisibleOpacity"),this.settings.captionSettings.nonVisibleOpacity<0||this.settings.captionSettings.nonVisibleOpacity>1)throw"captionSettings.nonVisibleOpacity must be in the interval [0, 1]";if("boolean"!==$.type(this.settings.fixedHeight))throw"fixedHeight must be a boolean";if(this.checkOrConvertNumber(this.settings,"imagesAnimationDuration"),this.checkOrConvertNumber(this.settings,"refreshTime"),this.checkOrConvertNumber(this.settings,"refreshSensitivity"),"boolean"!==$.type(this.settings.randomize))throw"randomize must be a boolean";if("string"!==$.type(this.settings.selector))throw"selector must be a string";if(this.settings.sort!==!1&&!$.isFunction(this.settings.sort))throw"sort must be false or a comparison function";if(this.settings.filter!==!1&&!$.isFunction(this.settings.filter)&&"string"!==$.type(this.settings.filter))throw"filter must be false, a string or a filter function"},e.prototype.retrieveSuffixRanges=function(){var t=[];for(var e in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(e)&&t.push(parseInt(e,10));return t.sort(function(t,e){return t>e?1:e>t?-1:0}),t},e.prototype.updateSettings=function(t){this.settings=$.extend({},this.settings,t),this.checkSettings(),this.border=this.settings.border>=0?this.settings.border:this.settings.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges()},$.fn.justifiedGallery=function(t){return this.each(function(i,n){var o=$(n);o.addClass("justified-gallery");var r=o.data("jg.controller");if("undefined"==typeof r){if("undefined"!=typeof t&&null!==t&&"object"!==$.type(t)){if("destroy"===t)return;throw"The argument must be an object"}r=new e(o,$.extend({},$.fn.justifiedGallery.defaults,t)),o.data("jg.controller",r)}else if("norewind"===t);else{if("destroy"===t)return void r.destroy();r.updateSettings(t),r.rewind()}r.updateEntries("norewind"===t)&&r.init()})},$.fn.justifiedGallery.defaults={sizeRangeSuffixes:{},thumbnailPath:void 0,rowHeight:120,maxRowHeight:-1,margins:1,border:-1,lastRow:"nojustify",justifyThreshold:.9,fixedHeight:!1,waitThumbnailsLoad:!0,captions:!0,cssAnimation:!1,imagesAnimationDuration:500,captionSettings:{animationDuration:500,visibleOpacity:.7,nonVisibleOpacity:0},rel:null,target:null,extension:/\.[^.\\/]+$/,refreshTime:200,refreshSensitivity:0,randomize:!1,sort:!1,filter:!1,selector:"> a, > div:not(.spinner)"}}(jQuery),function($){var t=$.fn.justifiedGallery,e={};$.fn.enviraJustifiedGallery=function(){var i=t.apply(this,arguments);return e=i.data("jg.controller"),e.displayEntryCaption=function(t){var e=this.imgFromEntry(t);if(null!==e&&this.settings.captions){var i=this.captionFromEntry(t);if(null===i){var n=e.data("envira-caption");this.isValidCaption(n)&&(i=$('<div class="caption">'+n+"</div>"),t.append(i),t.data("jg.createdCaption",!0))}null!==i&&(this.settings.cssAnimation||i.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity),this.addCaptionEventsHandlers(t))}else this.removeCaptionEventsHandlers(t)},e}}(jQuery),/*!
2
  * vintageJS
3
  * Add a retro/vintage effect to images using the HTML5 canvas element
4
  *
@@ -6,6 +6,6 @@ function jg_effect_desaturate(t){var e=!!document.createElement("canvas").getCon
6
  * @author Robert Fleischmann <rendro87@gmail.com>
7
  * @version 1.1.5
8
  */
9
- !function(t,e){"function"==typeof define&&define.amd?define("vintagejs",["jquery"],function(i){return t.VintageJS=e(i)}):"object"==typeof exports?module.exports=e(require("jquery")):t.VintageJS=e(jQuery)}(this,function(t){var e=function(t,e,i){if(0==t instanceof HTMLImageElement)throw"The element (1st parameter) must be an instance of HTMLImageElement";var n,o,r,s,a,h,l,u,d,c=new Image,p=new Image,f=document.createElement("canvas"),g=f.getContext("2d"),m={onStart:function(){},onStop:function(){},onError:function(){},mime:"image/jpeg"},v={curves:!1,screen:!1,desaturate:!1,vignette:!1,lighten:!1,noise:!1,viewFinder:!1,sepia:!1,brightness:!1,contrast:!1};c.onerror=m.onError,c.onload=function(){h=f.width=c.width,l=f.height=c.height,n()},p.onerror=m.onError,p.onload=function(){g.clearRect(0,0,h,l),g.drawImage(p,0,0,h,l),(window.vjsImageCache||(window.vjsImageCache={}))[d]=g.getImageData(0,0,h,l).data,n()},o=function(t){m.onStart(),u={};for(var e in v)u[e]=t[e]||v[e];s=[],u.viewFinder&&s.push(u.viewFinder),c.src==a?n():c.src=a},n=function(){if(0===s.length)return r();var t=s.pop();return d=[h,l,t].join("-"),window.vjsImageCache&&window.vjsImageCache[d]?n():void(p.src=t)},r=function(){var e,i,n;g.clearRect(0,0,h,l),g.drawImage(c,0,0,h,l),(u.vignette||u.lighten)&&(e=Math.sqrt(Math.pow(h/2,2)+Math.pow(l/2,2))),u.vignette&&(g.globalCompositeOperation="source-over",i=g.createRadialGradient(h/2,l/2,0,h/2,l/2,e),i.addColorStop(0,"rgba(0,0,0,0)"),i.addColorStop(.5,"rgba(0,0,0,0)"),i.addColorStop(1,["rgba(0,0,0,",u.vignette,")"].join("")),g.fillStyle=i,g.fillRect(0,0,h,l)),u.lighten&&(g.globalCompositeOperation="lighter",i=g.createRadialGradient(h/2,l/2,0,h/2,l/2,e),i.addColorStop(0,["rgba(255,255,255,",u.lighten,")"].join("")),i.addColorStop(.5,"rgba(255,255,255,0)"),i.addColorStop(1,"rgba(0,0,0,0)"),g.fillStyle=i,g.fillRect(0,0,h,l)),n=g.getImageData(0,0,h,l);var o,r,s,a,d,p,f,v,y,w=n.data;u.contrast&&(y=259*(u.contrast+255)/(255*(259-u.contrast))),u.viewFinder&&(v=window.vjsImageCache[[h,l,u.viewFinder].join("-")]);for(var b=h*l;b>=0;--b)for(o=b<<2,u.curves&&(w[o]=u.curves.r[w[o]],w[o+1]=u.curves.g[w[o+1]],w[o+2]=u.curves.b[w[o+2]]),u.contrast&&(w[o]=y*(w[o]-128)+128,w[o+1]=y*(w[o+1]-128)+128,w[o+2]=y*(w[o+2]-128)+128),u.brightness&&(w[o]+=u.brightness,w[o+1]+=u.brightness,w[o+2]+=u.brightness),u.screen&&(w[o]=255-(255-w[o])*(255-u.screen.r*u.screen.a)/255,w[o+1]=255-(255-w[o+1])*(255-u.screen.g*u.screen.a)/255,w[o+2]=255-(255-w[o+2])*(255-u.screen.b*u.screen.a)/255),u.noise&&(f=u.noise-Math.random()*u.noise/2,w[o]+=f,w[o+1]+=f,w[o+2]+=f),u.viewFinder&&(w[o]=w[o]*v[o]/255,w[o+1]=w[o+1]*v[o+1]/255,w[o+2]=w[o+2]*v[o+2]/255),u.sepia&&(s=w[o],a=w[o+1],d=w[o+2],w[o]=.393*s+.769*a+.189*d,w[o+1]=.349*s+.686*a+.168*d,w[o+2]=.272*s+.534*a+.131*d),u.desaturate&&(p=(w[o]+w[o+1]+w[o+2])/3,w[o]+=(p-w[o])*u.desaturate,w[o+1]+=(p-w[o+1])*u.desaturate,w[o+2]+=(p-w[o+2])*u.desaturate),r=2;r>=0;--r)w[o+r]=~~(w[o+r]>255?255:w[o+r]<0?0:w[o+r]);g.putImageData(n,0,0),t.src=g.canvas.toDataURL(m.mime),m.onStop()},a=t.src,e=e||{};for(var y in m)m[y]=e[y]||m[y];return i&&o(i),{apply:function(){a=t.src},reset:function(){t.src=a},vintage:o}};return t.fn.vintage=function(i,n){return this.each(function(){t.data(this,"vintageJS")||t.data(this,"vintageJS",new e(this,i,n))})},e});var mul_table=[1,57,41,21,203,34,97,73,227,91,149,62,105,45,39,137,241,107,3,173,39,71,65,238,219,101,187,87,81,151,141,133,249,117,221,209,197,187,177,169,5,153,73,139,133,127,243,233,223,107,103,99,191,23,177,171,165,159,77,149,9,139,135,131,253,245,119,231,224,109,211,103,25,195,189,23,45,175,171,83,81,79,155,151,147,9,141,137,67,131,129,251,123,30,235,115,113,221,217,53,13,51,50,49,193,189,185,91,179,175,43,169,83,163,5,79,155,19,75,147,145,143,35,69,17,67,33,65,255,251,247,243,239,59,29,229,113,111,219,27,213,105,207,51,201,199,49,193,191,47,93,183,181,179,11,87,43,85,167,165,163,161,159,157,155,77,19,75,37,73,145,143,141,35,138,137,135,67,33,131,129,255,63,250,247,61,121,239,237,117,29,229,227,225,111,55,109,216,213,211,209,207,205,203,201,199,197,195,193,48,190,47,93,185,183,181,179,178,176,175,173,171,85,21,167,165,41,163,161,5,79,157,78,154,153,19,75,149,74,147,73,144,143,71,141,140,139,137,17,135,134,133,66,131,65,129,1],shg_table=[0,9,10,10,14,12,14,14,16,15,16,15,16,15,15,17,18,17,12,18,16,17,17,19,19,18,19,18,18,19,19,19,20,19,20,20,20,20,20,20,15,20,19,20,20,20,21,21,21,20,20,20,21,18,21,21,21,21,20,21,17,21,21,21,22,22,21,22,22,21,22,21,19,22,22,19,20,22,22,21,21,21,22,22,22,18,22,22,21,22,22,23,22,20,23,22,22,23,23,21,19,21,21,21,23,23,23,22,23,23,21,23,22,23,18,22,23,20,22,23,23,23,21,22,20,22,21,22,24,24,24,24,24,22,21,24,23,23,24,21,24,23,24,22,24,24,22,24,24,22,23,24,24,24,20,23,22,23,24,24,24,24,24,24,24,23,21,23,22,23,24,24,24,22,24,24,24,23,22,24,24,25,23,25,25,23,24,25,25,24,22,25,25,25,24,23,24,25,25,25,25,25,25,25,25,25,25,25,25,23,25,23,24,25,25,25,25,25,25,25,25,25,24,22,25,25,23,25,25,20,24,25,24,25,25,22,24,25,24,25,24,25,25,24,25,25,25,25,22,25,25,25,24,25,24,25,18];!function(t){"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],t):t(jQuery)}(function($){"use strict";function t(t){return!t||void 0!==t.allowPageScroll||void 0===t.swipe&&void 0===t.swipeStatus||(t.allowPageScroll=h),void 0!==t.click&&void 0===t.tap&&(t.tap=t.click),t||(t={}),t=$.extend({},$.fn.swipe.defaults,t),this.each(function(){var i=$(this),n=i.data(T);n||(n=new e(this,t),i.data(T,n))})}function e(t,e){function g(t){if(!(lt()||$(t.target).closest(e.excludedElements,$t).length>0)){var i=t.originalEvent?t.originalEvent:t,n,o=E?i.touches[0]:i;return Vt=b,E?Ut=i.touches.length:t.preventDefault(),Dt=0,Ht=null,qt=null,Wt=0,At=0,Pt=0,Bt=1,Ft=0,Yt=ft(),Nt=vt(),at(),!E||Ut===e.fingers||e.fingers===y||q()?(dt(0,o),Qt=Ct(),2==Ut&&(dt(1,i.touches[1]),At=Pt=bt(Yt[0].start,Yt[1].start)),(e.swipeStatus||e.pinchStatus)&&(n=M(i,Vt))):n=!1,n===!1?(Vt=I,M(i,Vt),n):(e.hold&&(te=setTimeout($.proxy(function(){$t.trigger("hold",[i.target]),e.hold&&(n=e.hold.call($t,i,i.target))},this),e.longTapThreshold)),ut(!0),null)}}function R(t){var i=t.originalEvent?t.originalEvent:t;if(Vt!==S&&Vt!==I&&!ht()){var n,o=E?i.touches[0]:i,r=ct(o);if(Gt=Ct(),E&&(Ut=i.touches.length),e.hold&&clearTimeout(te),Vt=x,2==Ut&&(0==At?(dt(1,i.touches[1]),At=Pt=bt(Yt[0].start,Yt[1].start)):(ct(i.touches[1]),Pt=bt(Yt[0].end,Yt[1].end),qt=St(Yt[0].end,Yt[1].end)),Bt=xt(At,Pt),Ft=Math.abs(At-Pt)),Ut===e.fingers||e.fingers===y||!E||q()){if(Ht=_t(r.start,r.end),B(t,Ht),Dt=It(r.start,r.end),Wt=wt(),gt(Ht,Dt),(e.swipeStatus||e.pinchStatus)&&(n=M(i,Vt)),!e.triggerOnTouchEnd||e.triggerOnTouchLeave){var s=!0;if(e.triggerOnTouchLeave){var a=Tt(this);s=Rt(r.end,a)}!e.triggerOnTouchEnd&&s?Vt=k(x):e.triggerOnTouchLeave&&!s&&(Vt=k(S)),Vt!=I&&Vt!=S||M(i,Vt)}}else Vt=I,M(i,Vt);n===!1&&(Vt=I,M(i,Vt))}}function z(t){var i=t.originalEvent;return E&&i.touches.length>0?(st(),!0):(ht()&&(Ut=Zt),Gt=Ct(),Wt=wt(),W()||!H()?(Vt=I,M(i,Vt)):e.triggerOnTouchEnd||0==e.triggerOnTouchEnd&&Vt===x?(t.preventDefault(),Vt=S,M(i,Vt)):!e.triggerOnTouchEnd&&X()?(Vt=S,D(i,Vt,c)):Vt===x&&(Vt=I,M(i,Vt)),ut(!1),null)}function j(){Ut=0,Gt=0,Qt=0,At=0,Pt=0,Bt=1,at(),ut(!1)}function O(t){var i=t.originalEvent;e.triggerOnTouchLeave&&(Vt=k(S),M(i,Vt))}function L(){$t.unbind(jt,g),$t.unbind(Mt,j),$t.unbind(Ot,R),$t.unbind(Lt,z),kt&&$t.unbind(kt,O),ut(!1)}function k(t){var i=t,n=P(),o=H(),r=W();return!n||r?i=I:!o||t!=x||e.triggerOnTouchEnd&&!e.triggerOnTouchLeave?!o&&t==S&&e.triggerOnTouchLeave&&(i=I):i=S,i}function M(t,e){var i=void 0;return Y()||U()?i=D(t,e,u):(N()||q())&&i!==!1&&(i=D(t,e,d)),ot()&&i!==!1?i=D(t,e,p):rt()&&i!==!1?i=D(t,e,f):nt()&&i!==!1&&(i=D(t,e,c)),e===I&&j(t),e===S&&(E?0==t.touches.length&&j(t):j(t)),i}function D(t,h,l){var g=void 0;if(l==u){if($t.trigger("swipeStatus",[h,Ht||null,Dt||0,Wt||0,Ut,Yt]),e.swipeStatus&&(g=e.swipeStatus.call($t,t,h,Ht||null,Dt||0,Wt||0,Ut,Yt),g===!1))return!1;if(h==S&&V()){if($t.trigger("swipe",[Ht,Dt,Wt,Ut,Yt]),e.swipe&&(g=e.swipe.call($t,t,Ht,Dt,Wt,Ut,Yt),g===!1))return!1;switch(Ht){case i:$t.trigger("swipeLeft",[Ht,Dt,Wt,Ut,Yt]),e.swipeLeft&&(g=e.swipeLeft.call($t,t,Ht,Dt,Wt,Ut,Yt));break;case n:$t.trigger("swipeRight",[Ht,Dt,Wt,Ut,Yt]),e.swipeRight&&(g=e.swipeRight.call($t,t,Ht,Dt,Wt,Ut,Yt));break;case o:$t.trigger("swipeUp",[Ht,Dt,Wt,Ut,Yt]),e.swipeUp&&(g=e.swipeUp.call($t,t,Ht,Dt,Wt,Ut,Yt));break;case r:$t.trigger("swipeDown",[Ht,Dt,Wt,Ut,Yt]),e.swipeDown&&(g=e.swipeDown.call($t,t,Ht,Dt,Wt,Ut,Yt))}}}if(l==d){if($t.trigger("pinchStatus",[h,qt||null,Ft||0,Wt||0,Ut,Bt,Yt]),e.pinchStatus&&(g=e.pinchStatus.call($t,t,h,qt||null,Ft||0,Wt||0,Ut,Bt,Yt),g===!1))return!1;if(h==S&&F())switch(qt){case s:$t.trigger("pinchIn",[qt||null,Ft||0,Wt||0,Ut,Bt,Yt]),e.pinchIn&&(g=e.pinchIn.call($t,t,qt||null,Ft||0,Wt||0,Ut,Bt,Yt));break;case a:$t.trigger("pinchOut",[qt||null,Ft||0,Wt||0,Ut,Bt,Yt]),e.pinchOut&&(g=e.pinchOut.call($t,t,qt||null,Ft||0,Wt||0,Ut,Bt,Yt))}}return l==c?h!==I&&h!==S||(clearTimeout(Kt),clearTimeout(te),Z()&&!tt()?(Jt=Ct(),Kt=setTimeout($.proxy(function(){Jt=null,$t.trigger("tap",[t.target]),e.tap&&(g=e.tap.call($t,t,t.target))},this),e.doubleTapThreshold)):(Jt=null,$t.trigger("tap",[t.target]),e.tap&&(g=e.tap.call($t,t,t.target)))):l==p?h!==I&&h!==S||(clearTimeout(Kt),Jt=null,$t.trigger("doubletap",[t.target]),e.doubleTap&&(g=e.doubleTap.call($t,t,t.target))):l==f&&(h!==I&&h!==S||(clearTimeout(Kt),Jt=null,$t.trigger("longtap",[t.target]),e.longTap&&(g=e.longTap.call($t,t,t.target)))),g}function H(){var t=!0;return null!==e.threshold&&(t=Dt>=e.threshold),t}function W(){var t=!1;return null!==e.cancelThreshold&&null!==Ht&&(t=mt(Ht)-Dt>=e.cancelThreshold),t}function A(){return null!==e.pinchThreshold?Ft>=e.pinchThreshold:!0}function P(){var t;return t=e.maxTimeThreshold?!(Wt>=e.maxTimeThreshold):!0}function B(t,s){if(e.allowPageScroll===h||q())t.preventDefault();else{var a=e.allowPageScroll===l;switch(s){case i:(e.swipeLeft&&a||!a&&e.allowPageScroll!=m)&&t.preventDefault();break;case n:(e.swipeRight&&a||!a&&e.allowPageScroll!=m)&&t.preventDefault();break;case o:(e.swipeUp&&a||!a&&e.allowPageScroll!=v)&&t.preventDefault();break;case r:(e.swipeDown&&a||!a&&e.allowPageScroll!=v)&&t.preventDefault()}}}function F(){var t=Q(),e=G(),i=A();return t&&e&&i}function q(){return!!(e.pinchStatus||e.pinchIn||e.pinchOut)}function N(){return!(!F()||!q())}function V(){var t=P(),e=H(),i=Q(),n=G(),o=W(),r=!o&&n&&i&&e&&t;return r}function U(){return!!(e.swipe||e.swipeStatus||e.swipeLeft||e.swipeRight||e.swipeUp||e.swipeDown)}function Y(){return!(!V()||!U())}function Q(){return Ut===e.fingers||e.fingers===y||!E}function G(){return 0!==Yt[0].end.x}function X(){return!!e.tap}function Z(){return!!e.doubleTap}function J(){return!!e.longTap}function K(){if(null==Jt)return!1;var t=Ct();return Z()&&t-Jt<=e.doubleTapThreshold}function tt(){return K()}function et(){return(1===Ut||!E)&&(isNaN(Dt)||Dt<e.threshold)}function it(){return Wt>e.longTapThreshold&&w>Dt}function nt(){return!(!et()||!X())}function ot(){return!(!K()||!Z())}function rt(){return!(!it()||!J())}function st(){Xt=Ct(),Zt=event.touches.length+1}function at(){Xt=0,Zt=0}function ht(){var t=!1;if(Xt){var i=Ct()-Xt;i<=e.fingerReleaseThreshold&&(t=!0)}return t}function lt(){return!($t.data(T+"_intouch")!==!0)}function ut(t){t===!0?($t.bind(Ot,R),$t.bind(Lt,z),kt&&$t.bind(kt,O)):($t.unbind(Ot,R,!1),$t.unbind(Lt,z,!1),kt&&$t.unbind(kt,O,!1)),$t.data(T+"_intouch",t===!0)}function dt(t,e){var i=void 0!==e.identifier?e.identifier:0;return Yt[t].identifier=i,Yt[t].start.x=Yt[t].end.x=e.pageX||e.clientX,Yt[t].start.y=Yt[t].end.y=e.pageY||e.clientY,Yt[t]}function ct(t){var e=void 0!==t.identifier?t.identifier:0,i=pt(e);return i.end.x=t.pageX||t.clientX,i.end.y=t.pageY||t.clientY,i}function pt(t){for(var e=0;e<Yt.length;e++)if(Yt[e].identifier==t)return Yt[e]}function ft(){for(var t=[],e=0;5>=e;e++)t.push({start:{x:0,y:0},end:{x:0,y:0},identifier:0});return t}function gt(t,e){e=Math.max(e,mt(t)),Nt[t].distance=e}function mt(t){return Nt[t]?Nt[t].distance:void 0}function vt(){var t={};return t[i]=yt(i),t[n]=yt(n),t[o]=yt(o),t[r]=yt(r),t}function yt(t){return{direction:t,distance:0}}function wt(){return Gt-Qt}function bt(t,e){var i=Math.abs(t.x-e.x),n=Math.abs(t.y-e.y);return Math.round(Math.sqrt(i*i+n*n))}function xt(t,e){var i=e/t*1;return i.toFixed(2)}function St(){return 1>Bt?a:s}function It(t,e){return Math.round(Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)))}function Et(t,e){var i=t.x-e.x,n=e.y-t.y,o=Math.atan2(n,i),r=Math.round(180*o/Math.PI);return 0>r&&(r=360-Math.abs(r)),r}function _t(t,e){var s=Et(t,e);return 45>=s&&s>=0?i:360>=s&&s>=315?i:s>=135&&225>=s?n:s>45&&135>s?r:o}function Ct(){var t=new Date;return t.getTime()}function Tt(t){t=$(t);var e=t.offset(),i={left:e.left,right:e.left+t.outerWidth(),top:e.top,bottom:e.top+t.outerHeight()};return i}function Rt(t,e){return t.x>e.left&&t.x<e.right&&t.y>e.top&&t.y<e.bottom}var zt=E||C||!e.fallbackToMouseEvents,jt=zt?C?_?"MSPointerDown":"pointerdown":"touchstart":"mousedown",Ot=zt?C?_?"MSPointerMove":"pointermove":"touchmove":"mousemove",Lt=zt?C?_?"MSPointerUp":"pointerup":"touchend":"mouseup",kt=zt?null:"mouseleave",Mt=C?_?"MSPointerCancel":"pointercancel":"touchcancel",Dt=0,Ht=null,Wt=0,At=0,Pt=0,Bt=1,Ft=0,qt=0,Nt=null,$t=$(t),Vt="start",Ut=0,Yt=null,Qt=0,Gt=0,Xt=0,Zt=0,Jt=0,Kt=null,te=null;try{$t.bind(jt,g),$t.bind(Mt,j)}catch(ee){$.error("events not supported "+jt+","+Mt+" on jQuery.swipe")}this.enable=function(){return $t.bind(jt,g),$t.bind(Mt,j),$t},this.disable=function(){return L(),$t},this.destroy=function(){L(),$t.data(T,null),$t=null},this.option=function(t,i){if(void 0!==e[t]){if(void 0===i)return e[t];e[t]=i}else $.error("Option "+t+" does not exist on jQuery.swipe.options");return null}}var i="left",n="right",o="up",r="down",s="in",a="out",h="none",l="auto",u="swipe",d="pinch",c="tap",p="doubletap",f="longtap",g="hold",m="horizontal",v="vertical",y="all",w=10,b="start",x="move",S="end",I="cancel",E="ontouchstart"in window,_=window.navigator.msPointerEnabled&&!window.navigator.pointerEnabled,C=window.navigator.pointerEnabled||window.navigator.msPointerEnabled,T="TouchSwipe",R={fingers:1,threshold:75,cancelThreshold:null,pinchThreshold:20,maxTimeThreshold:null,fingerReleaseThreshold:250,longTapThreshold:500,doubleTapThreshold:200,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,pinchIn:null,pinchOut:null,pinchStatus:null,click:null,tap:null,doubleTap:null,longTap:null,hold:null,triggerOnTouchEnd:!0,triggerOnTouchLeave:!1,allowPageScroll:"auto",fallbackToMouseEvents:!0,excludedElements:"label, button, input, select, textarea, a, .noSwipe"};$.fn.swipe=function(e){var i=$(this),n=i.data(T);if(n&&"string"==typeof e){if(n[e])return n[e].apply(this,Array.prototype.slice.call(arguments,1));$.error("Method "+e+" does not exist on jQuery.swipe")}else if(!(n||"object"!=typeof e&&e))return t.apply(this,arguments);return i},$.fn.swipe.defaults=R,$.fn.swipe.phases={PHASE_START:b,PHASE_MOVE:x,PHASE_END:S,PHASE_CANCEL:I},$.fn.swipe.directions={LEFT:i,RIGHT:n,UP:o,DOWN:r,IN:s,OUT:a},$.fn.swipe.pageScroll={NONE:h,HORIZONTAL:m,VERTICAL:v,AUTO:l},$.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:y}}),function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?module.exports=t:t(jQuery)}(function($){function t(t){var n=t||window.event,o=r.call(arguments,1),h=0,u=0,d=0,c=0,p=0,f=0;if(t=$.event.fix(n),t.type="mousewheel","detail"in n&&(d=-1*n.detail),"wheelDelta"in n&&(d=n.wheelDelta),"wheelDeltaY"in n&&(d=n.wheelDeltaY),"wheelDeltaX"in n&&(u=-1*n.wheelDeltaX),"axis"in n&&n.axis===n.HORIZONTAL_AXIS&&(u=-1*d,d=0),h=0===d?u:d,"deltaY"in n&&(d=-1*n.deltaY,h=d),"deltaX"in n&&(u=n.deltaX,0===d&&(h=-1*u)),0!==d||0!==u){if(1===n.deltaMode){var g=$.data(this,"mousewheel-line-height");h*=g,d*=g,u*=g}else if(2===n.deltaMode){var m=$.data(this,"mousewheel-page-height");h*=m,d*=m,u*=m}if(c=Math.max(Math.abs(d),Math.abs(u)),(!a||a>c)&&(a=c,i(n,c)&&(a/=40)),i(n,c)&&(h/=40,u/=40,d/=40),h=Math[h>=1?"floor":"ceil"](h/a),u=Math[u>=1?"floor":"ceil"](u/a),d=Math[d>=1?"floor":"ceil"](d/a),l.settings.normalizeOffset&&this.getBoundingClientRect){var v=this.getBoundingClientRect();p=t.clientX-v.left,f=t.clientY-v.top}return t.deltaX=u,t.deltaY=d,t.deltaFactor=a,t.offsetX=p,t.offsetY=f,t.deltaMode=0,o.unshift(t,h,u,d),s&&clearTimeout(s),s=setTimeout(e,200),($.event.dispatch||$.event.handle).apply(this,o)}}function e(){a=null}function i(t,e){return l.settings.adjustOldDeltas&&"mousewheel"===t.type&&e%120===0}var n=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],o="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],r=Array.prototype.slice,s,a;if($.event.fixHooks)for(var h=n.length;h;)$.event.fixHooks[n[--h]]=$.event.mouseHooks;var l=$.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var e=o.length;e;)this.addEventListener(o[--e],t,!1);else this.onmousewheel=t;$.data(this,"mousewheel-line-height",l.getLineHeight(this)),$.data(this,"mousewheel-page-height",l.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var e=o.length;e;)this.removeEventListener(o[--e],t,!1);else this.onmousewheel=null;$.removeData(this,"mousewheel-line-height"),$.removeData(this,"mousewheel-page-height")},getLineHeight:function(t){var e=$(t),i=e["offsetParent"in $.fn?"offsetParent":"parent"]();return i.length||(i=$("body")),parseInt(i.css("fontSize"),10)||parseInt(e.css("fontSize"),10)||16},getPageHeight:function(t){return $(t).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};$.fn.extend({mousewheel:function(t){return t?this.bind("mousewheel",t):this.trigger("mousewheel")},unmousewheel:function(t){return this.unbind("mousewheel",t)}})}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}(this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||[];return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var r=this._onceEvents&&this._onceEvents[t];o;){var s=r&&r[o];s&&(this.off(t,o),delete r[o]),o.apply(this,e),n+=s?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.enviraImagesLoaded=e(t,t.EvEmitter)}(window,function t(e,i){function n(t,e){for(var i in e)t[i]=e[i];return t}function o(t){var e=[];if(Array.isArray(t))e=t;else if("number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e}function r(t,e,i){return this instanceof r?("string"==typeof t&&(t=document.querySelectorAll(t)),this.elements=o(t),this.options=n({},this.options),"function"==typeof e?i=e:n(this.options,e),i&&this.on("always",i),this.getImages(),$&&(this.jqDeferred=new $.Deferred),void setTimeout(function(){this.check()}.bind(this))):new r(t,e,i)}function s(t){this.img=t}function a(t,e){this.url=t,this.element=e,this.img=new Image}var $=e.jQuery,h=e.console;r.prototype=Object.create(i.prototype),r.prototype.options={},r.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},r.prototype.addElementImages=function(t){"IMG"==t.nodeName&&this.addImage(t),this.options.background===!0&&this.addElementBackgroundImages(t);var e=t.nodeType;if(e&&l[e]){for(var i=t.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var r=t.querySelectorAll(this.options.background);for(n=0;n<r.length;n++){var s=r[n];this.addElementBackgroundImages(s)}}}};var l={1:!0,9:!0,11:!0};return r.prototype.addElementBackgroundImages=function(t){var e=getComputedStyle(t);if(e)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(e.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,t),n=i.exec(e.backgroundImage)}},r.prototype.addImage=function(t){var e=new s(t);this.images.push(e)},r.prototype.addBackground=function(t,e){var i=new a(t,e);this.images.push(i)},r.prototype.check=function(){function t(t,i,n){setTimeout(function(){e.progress(t,i,n)})}var e=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(e){e.once("progress",t),e.check()}):void this.complete()},r.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&h&&h.log("progress: "+i,t,e)},r.prototype.complete=function(){var t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){var e=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[e](this)}},s.prototype=Object.create(i.prototype),s.prototype.check=function(){var t=this.getIsImageComplete();return t?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},s.prototype.getIsImageComplete=function(){return this.img.complete&&void 0!==this.img.naturalWidth},s.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.img,e])},s.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},s.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},s.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},s.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},a.prototype=Object.create(s.prototype),a.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url;var t=this.getIsImageComplete();t&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},a.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},a.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},r.makeJQueryPlugin=function(t){t=t||e.jQuery,t&&($=t,$.fn.enviraImagesLoaded=function(t,e){var i=new r(this,t,e);return i.jqDeferred.promise($(this))})},r.makeJQueryPlugin(),r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function e(t,i){"use strict";function n(e,n,$){function s(t,i,n){var o,r="$()."+e+'("'+i+'")';return t.each(function(t,s){var h=$.data(s,e);if(!h)return void a(e+" not initialized. Cannot call methods, i.e. "+r);var l=h[i];if(!l||"_"==i.charAt(0))return void a(r+" is not a valid method");var u=l.apply(h,n);o=void 0===o?u:o}),void 0!==o?o:t}function h(t,i){t.each(function(t,o){var r=$.data(o,e);r?(r.option(i),r._init()):(r=new n(o,i),$.data(o,e,r))})}$=$||i||t.jQuery,$&&(n.prototype.option||(n.prototype.option=function(t){$.isPlainObject(t)&&(this.options=$.extend(!0,this.options,t))}),$.fn[e]=function(t){if("string"==typeof t){var e=r.call(arguments,1);return s(this,t,e)}return h(this,t),this},o($))}function o($){!$||$&&$.bridget||($.bridget=n)}var r=Array.prototype.slice,s=t.console,a="undefined"==typeof s?function(){}:function(t){s.error(t)};return o(i||t.jQuery),n}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}(this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var r=this._onceEvents&&this._onceEvents[t];o;){var s=r&&r[o];s&&(this.off(t,o),delete r[o]),o.apply(this,e),n+=s?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return e()}):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function i(){"use strict";function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;h>e;e++){var i=a[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||s("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}function o(){if(!l){l=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);r.isBoxSizeOuter=u=200==t(o.width),i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var s={};s.width=e.offsetWidth,s.height=e.offsetHeight;for(var l=s.isBorderBox="border-box"==r.boxSizing,d=0;h>d;d++){var c=a[d],p=r[c],f=parseFloat(p);s[c]=isNaN(f)?0:f}var g=s.paddingLeft+s.paddingRight,m=s.paddingTop+s.paddingBottom,v=s.marginLeft+s.marginRight,y=s.marginTop+s.marginBottom,w=s.borderLeftWidth+s.borderRightWidth,b=s.borderTopWidth+s.borderBottomWidth,x=l&&u,S=t(r.width);S!==!1&&(s.width=S+(x?0:g+w));var I=t(r.height);return I!==!1&&(s.height=I+(x?0:m+b)),s.innerWidth=s.width-(g+w),s.innerHeight=s.height-(m+b),s.outerWidth=s.width+v,s.outerHeight=s.height+y,s}}var s="undefined"==typeof console?e:function(t){console.error(t)},a=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],h=a.length,l=!1,u;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function n(){"use strict";var t=function(){var t=Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i],o=n+"MatchesSelector";if(t[o])return o}}();return function e(i,n){return i[t](n)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function o(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e},i.makeArray=function(t){var e=[];if(Array.isArray(t))e=t;else if(t&&"number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e},i.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},i.getParent=function(t,i){for(;t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,n){t=i.makeArray(t);var o=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!n)return void o.push(t);e(t,n)&&o.push(t);for(var i=t.querySelectorAll(n),r=0;r<i.length;r++)o.push(i[r])}}),o},i.debounceMethod=function(t,e,i){var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];t&&clearTimeout(t);var e=arguments,r=this;this[o]=setTimeout(function(){n.apply(r,e),delete r[o]},i||100)}},i.docReady=function(t){"complete"==document.readyState?t():document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var n=t.console;return i.htmlInit=function(e,o){i.docReady(function(){var r=i.toDashed(o),s="data-"+r,a=document.querySelectorAll("["+s+"]"),h=document.querySelectorAll(".js-"+r),l=i.makeArray(a).concat(i.makeArray(h)),u=s+"-options",d=t.jQuery;l.forEach(function(t){var i=t.getAttribute(s)||t.getAttribute(u),r;try{r=i&&JSON.parse(i)}catch(a){return void(n&&n.error("Error parsing "+s+" on "+t.className+": "+a))}var h=new e(t,r);d&&d.data(t,o,h)})})},i}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function r(t,e){"use strict";function i(t){for(var e in t)return!1;return e=null,!0}function n(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}var r=document.documentElement.style,s="string"==typeof r.transition?"transition":"WebkitTransition",a="string"==typeof r.transform?"transform":"WebkitTransform",h={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[s],l={transform:a,transition:s,transitionDuration:s+"Duration",transitionProperty:s+"Property",transitionDelay:s+"Delay"},u=n.prototype=Object.create(t.prototype);u.constructor=n,u._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},u.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},u.getSize=function(){this.size=e(this.element)},u.css=function(t){var e=this.element.style;for(var i in t){var n=l[i]||i;e[n]=t[i]}},u.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),n=t[e?"left":"right"],o=t[i?"top":"bottom"],r=this.layout.size,s=-1!=n.indexOf("%")?parseFloat(n)/100*r.width:parseInt(n,10),a=-1!=o.indexOf("%")?parseFloat(o)/100*r.height:parseInt(o,10);s=isNaN(s)?0:s,a=isNaN(a)?0:a,s-=e?r.paddingLeft:r.paddingRight,a-=i?r.paddingTop:r.paddingBottom,this.position.x=s,this.position.y=a},u.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",r=i?"left":"right",s=i?"right":"left",a=this.position.x+t[o];e[r]=this.getXValue(a),e[s]="";var h=n?"paddingTop":"paddingBottom",l=n?"top":"bottom",u=n?"bottom":"top",d=this.position.y+t[h];e[l]=this.getYValue(d),e[u]="",this.css(e),this.emitEvent("layout",[this])},u.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},u.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px";
10
- },u._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=parseInt(t,10),r=parseInt(e,10),s=o===this.position.x&&r===this.position.y;if(this.setPosition(t,e),s&&!this.isTransitioning)return void this.layoutPosition();var a=t-i,h=e-n,l={};l.transform=this.getTranslate(a,h),this.transition({to:l,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},u.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop");return t=i?t:-t,e=n?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},u.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},u.moveTo=u._transitionTo,u.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},u._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},u.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var d="opacity,"+o(a);u.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:d,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(h,this,!1)}},u.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},u.onotransitionend=function(t){this.ontransitionend(t)};var c={"-webkit-transform":"transform"};u.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=c[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n]}this.emitEvent("transitionEnd",[this])}},u.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(h,this,!1),this.isTransitioning=!1},u._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var p={transitionProperty:"",transitionDuration:"",transitionDelay:""};return u.removeTransitionStyles=function(){this.css(p)},u.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},u.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},u.remove=function(){return s&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},u.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},u.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},u.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},u.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},u.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},u.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},n}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,n,o,r){return e(t,i,n,o,r)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item)}(window,function s(t,e,i,n,o){"use strict";function r(t,e){var i=n.getQueryElement(t);if(!i)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,l&&(this.$element=l(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e);var o=++d;this.element.outlayerGUID=o,c[o]=this,this._create();var r=this._getOption("initLayout");r&&this.layout()}function s(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],n=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var o=f[n]||1;return i*o}var h=t.console,l=t.jQuery,u=function(){},d=0,c={};r.namespace="outlayer",r.Item=o,r.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var p=r.prototype;n.extend(p,e.prototype),p.option=function(t){n.extend(this.options,t)},p._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},r.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},p._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize()},p.reloadItems=function(){this.items=this._itemize(this.element.children)},p._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var r=e[o],s=new i(r,this);n.push(s)}return n},p._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},p.getItemElements=function(){return this.items.map(function(t){return t.element})},p.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},p._init=p.layout,p._resetLayout=function(){this.getSize()},p.getSize=function(){this.size=i(this.element)},p._getMeasurement=function(t,e){var n=this.options[t],o;n?("string"==typeof n?o=this.element.querySelector(n):n instanceof HTMLElement&&(o=n),this[t]=o?i(o)[e]:n):this[t]=0},p.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},p._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},p._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var n=this._getItemLayoutPosition(t);n.item=t,n.isInstant=e||t.isLayoutInstant,i.push(n)},this),this._processLayoutQueue(i)}},p._getItemLayoutPosition=function(){return{x:0,y:0}},p._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},p.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},p._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},p._postLayout=function(){this.resizeContainer()},p.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},p._getContainerSize=u,p._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},p._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+"Complete",null,[e])}function n(){s++,s==r&&i()}var o=this,r=e.length;if(!e||!r)return void i();var s=0;e.forEach(function(e){e.once(t,n)})},p.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),l)if(this.$element=this.$element||l(this.element),e){var o=l.Event(e);o.type=t,this.$element.trigger(o,i)}else this.$element.trigger(t,i)},p.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},p.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},p.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},p.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){n.removeFrom(this.stamps,t),this.unignore(t)},this)},p._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},p._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},p._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},p._manageStamp=u,p._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t),r={left:e.left-n.left-o.marginLeft,top:e.top-n.top-o.marginTop,right:n.right-e.right-o.marginRight,bottom:n.bottom-e.bottom-o.marginBottom};return r},p.handleEvent=n.handleEvent,p.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},p.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},p.onresize=function(){this.resize()},n.debounceMethod(r,"onresize",100),p.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},p.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},p.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},p.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},p.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},p.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},p.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},p.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},p.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},p.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},p.getItems=function(t){t=n.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},p.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),n.removeFrom(this.items,t)},this)},p.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete c[e],delete this.element.outlayerGUID,l&&l.removeData(this.element,this.constructor.namespace)},r.data=function(t){t=n.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&c[e]},r.create=function(t,e){var i=s(r);return i.defaults=n.extend({},r.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},r.compatOptions),i.namespace=t,i.data=r.data,i.Item=s(o),n.htmlInit(i,t),l&&l.bridget&&l.bridget(t,i),i};var f={ms:1,s:1e3};return r.Item=o,r}),function(t,e){"function"==typeof define&&define.amd?define("enviratope/item",["outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer")):(t.Enviratope=t.Enviratope||{},t.Enviratope.Item=e(t.Outlayer))}(window,function a(t){"use strict";function e(){t.Item.apply(this,arguments)}var i=e.prototype=Object.create(t.Item.prototype),n=i._create;i._create=function(){this.id=this.layout.itemGUID++,n.call(this),this.sortData={}},i.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var t=this.layout.options.getSortData,e=this.layout._sorters;for(var i in t){var n=e[i];this.sortData[i]=n(this.element,this)}}};var o=i.destroy;return i.destroy=function(){o.apply(this,arguments),this.css({display:""})},e}),function(t,e){"function"==typeof define&&define.amd?define("enviratope/layout-mode",["get-size/get-size","outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("get-size"),require("outlayer")):(t.Enviratope=t.Enviratope||{},t.Enviratope.LayoutMode=e(t.getSize,t.Outlayer))}(window,function h(t,e){"use strict";function i(t){this.enviratope=t,t&&(this.options=t.options[this.namespace],this.element=t.element,this.items=t.filteredItems,this.size=t.size)}var n=i.prototype,o=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout","_getOption"];return o.forEach(function(t){n[t]=function(){return e.prototype[t].apply(this.enviratope,arguments)}}),n.needsVerticalResizeLayout=function(){var e=t(this.enviratope.element),i=this.enviratope.size&&e;return i&&e.innerHeight!=this.enviratope.size.innerHeight},n._getMeasurement=function(){this.enviratope._getMeasurement.apply(this,arguments)},n.getColumnWidth=function(){this.getSegmentSize("column","Width")},n.getRowHeight=function(){this.getSegmentSize("row","Height")},n.getSegmentSize=function(t,e){var i=t+e,n="outer"+e;if(this._getMeasurement(i,n),!this[i]){var o=this.getFirstItemSize();this[i]=o&&o[n]||this.enviratope.size["inner"+e]}},n.getFirstItemSize=function(){var e=this.enviratope.filteredItems[0];return e&&e.element&&t(e.element)},n.layout=function(){this.enviratope.layout.apply(this.enviratope,arguments)},n.getSize=function(){this.enviratope.getSize(),this.size=this.enviratope.size},i.modes={},i.create=function(t,e){function o(){i.apply(this,arguments)}return o.prototype=Object.create(n),o.prototype.constructor=o,e&&(o.options=e),o.prototype.namespace=t,i.modes[t]=o,o},i}),function(t,e){"function"==typeof define&&define.amd?define("masonry/masonry",["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function l(t,e){var i=t.create("masonry");return i.compatOptions.fitWidth="isFitWidth",i.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0},i.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var n=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,r=o/n,s=n-o%n,a=s&&1>s?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},i.prototype.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},i.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this._getColGroup(n),r=Math.min.apply(Math,o),s=o.indexOf(r),a={x:this.columnWidth*s,y:r},h=r+t.size.outerHeight,l=this.cols+1-o.length,u=0;l>u;u++)this.colYs[s+u]=h;return a},i.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++){var o=this.colYs.slice(n,n+t);e[n]=Math.max.apply(Math,o)}return e},i.prototype._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var l=this._getOption("originTop"),u=(l?n.top:n.bottom)+i.outerHeight,d=a;h>=d;d++)this.colYs[d]=Math.max(u,this.colYs[d])},i.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},i.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.prototype.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i}),function(t,e){"function"==typeof define&&define.amd?define("enviratope/layout-modes/masonry",["../layout-mode","masonry/masonry"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode"),require("masonry-layout")):e(t.Enviratope.LayoutMode,t.Masonry)}(window,function u(t,e){"use strict";var i=t.create("masonry"),n=i.prototype,o={_getElementOffset:!0,layout:!0,_getMeasurement:!0};for(var r in e.prototype)o[r]||(n[r]=e.prototype[r]);var s=n.measureColumns;n.measureColumns=function(){this.items=this.enviratope.filteredItems,s.call(this)};var a=n._getOption;return n._getOption=function(t){return"fitWidth"==t?void 0!==this.options.isFitWidth?this.options.isFitWidth:this.options.fitWidth:a.apply(this.enviratope,arguments)},i}),function(t,e){"function"==typeof define&&define.amd?define("enviratope/layout-modes/fit-rows",["../layout-mode"],e):"object"==typeof exports?module.exports=e(require("../layout-mode")):e(t.Enviratope.LayoutMode)}(window,function d(t){"use strict";var e=t.create("fitRows"),i=e.prototype;return i._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},i._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth+this.gutter,i=this.enviratope.size.innerWidth+this.gutter;0!==this.x&&e+this.x>i&&(this.x=0,this.y=this.maxY);var n={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=e,n},i._getContainerSize=function(){return{height:this.maxY}},e}),function(t,e){"function"==typeof define&&define.amd?define("enviratope/layout-modes/vertical",["../layout-mode"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode")):e(t.Enviratope.LayoutMode)}(window,function c(t){"use strict";var e=t.create("vertical",{horizontalAlignment:0}),i=e.prototype;return i._resetLayout=function(){this.y=0},i._getItemLayoutPosition=function(t){t.getSize();var e=(this.enviratope.size.innerWidth-t.size.outerWidth)*this.options.horizontalAlignment,i=this.y;return this.y+=t.size.outerHeight,{x:e,y:i}},i._getContainerSize=function(){return{height:this.y}},e}),function(t,e){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","desandro-matches-selector/matches-selector","fizzy-ui-utils/utils","./item","./layout-mode","./layout-modes/masonry","./layout-modes/fit-rows","./layout-modes/vertical"],function(i,n,o,r,s,a){return e(t,i,n,o,r,s,a)}):"object"==typeof module&&module.exports?module.exports=e(t,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("./item"),require("./layout-mode"),require("./layout-modes/masonry"),require("./layout-modes/fit-rows"),require("./layout-modes/vertical")):t.Enviratope=e(t,t.Outlayer,t.getSize,t.matchesSelector,t.fizzyUIUtils,t.Enviratope.Item,t.Enviratope.LayoutMode)}(window,function p(t,e,i,n,o,r,s){function a(t,e){return function i(n,o){for(var r=0;r<t.length;r++){var s=t[r],a=n.sortData[s],h=o.sortData[s];if(a>h||h>a){var l=void 0!==e[s]?e[s]:e,u=l?1:-1;return(a>h?1:-1)*u}}return 0}}var h=t.jQuery,l=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},u=e.create("enviratope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});u.Item=r,u.LayoutMode=s;var d=u.prototype;d._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),e.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var t in s.modes)this._initLayoutMode(t)},d.reloadItems=function(){this.itemGUID=0,e.prototype.reloadItems.call(this)},d._itemize=function(){for(var t=e.prototype._itemize.apply(this,arguments),i=0;i<t.length;i++){var n=t[i];n.id=this.itemGUID++}return this._updateItemsSortData(t),t},d._initLayoutMode=function(t){var e=s.modes[t],i=this.options[t]||{};this.options[t]=e.options?o.extend(e.options,i):i,this.modes[t]=new e(this)},d.layout=function(){return!this._isLayoutInited&&this._getOption("initLayout")?void this.arrange():void this._layout()},d._layout=function(){var t=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,t),this._isLayoutInited=!0},d.arrange=function(t){this.option(t),this._getIsInstant();var e=this._filter(this.items);this.filteredItems=e.matches,this._bindArrangeComplete(),this._isInstant?this._noTransition(this._hideReveal,[e]):this._hideReveal(e),this._sort(),this._layout()},d._init=d.arrange,d._hideReveal=function(t){this.reveal(t.needReveal),this.hide(t.needHide)},d._getIsInstant=function(){var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;return this._isInstant=e,e},d._bindArrangeComplete=function(){function t(){e&&i&&n&&o.dispatchEvent("arrangeComplete",null,[o.filteredItems])}var e,i,n,o=this;this.once("layoutComplete",function(){e=!0,t()}),this.once("hideComplete",function(){i=!0,t()}),this.once("revealComplete",function(){n=!0,t()})},d._filter=function(t){var e=this.options.filter;e=e||"*";for(var i=[],n=[],o=[],r=this._getFilterTest(e),s=0;s<t.length;s++){var a=t[s];if(!a.isIgnored){var h=r(a);h&&i.push(a),h&&a.isHidden?n.push(a):h||a.isHidden||o.push(a)}}return{matches:i,needReveal:n,needHide:o}},d._getFilterTest=function(t){return h&&this.options.isJQueryFiltering?function(e){return h(e.element).is(t)}:"function"==typeof t?function(e){return t(e.element)}:function(e){return n(e.element,t)}},d.updateSortData=function(t){var e;t?(t=o.makeArray(t),e=this.getItems(t)):e=this.items,this._getSorters(),this._updateItemsSortData(e)},d._getSorters=function(){var t=this.options.getSortData;for(var e in t){var i=t[e];this._sorters[e]=c(i)}},d._updateItemsSortData=function(t){for(var e=t&&t.length,i=0;e&&e>i;i++){var n=t[i];n.updateSortData()}};var c=function(){function t(t){if("string"!=typeof t)return t;var i=l(t).split(" "),n=i[0],o=n.match(/^\[(.+)\]$/),r=o&&o[1],s=e(r,n),a=u.sortDataParsers[i[1]];return t=a?function(t){return t&&a(s(t))}:function(t){return t&&s(t)}}function e(t,e){return t?function i(e){return e.getAttribute(t)}:function n(t){var i=t.querySelector(e);return i&&i.textContent}}return t}();u.sortDataParsers={parseInt:function(t){return parseInt(t,10)},parseFloat:function(t){return parseFloat(t)}},d._sort=function(){var t=this.options.sortBy;if(t){var e=[].concat.apply(t,this.sortHistory),i=a(e,this.options.sortAscending);this.filteredItems.sort(i),t!=this.sortHistory[0]&&this.sortHistory.unshift(t)}},d._mode=function(){var t=this.options.layoutMode,e=this.modes[t];if(!e)throw new Error("No layout mode: "+t);return e.options=this.options[t],e},d._resetLayout=function(){e.prototype._resetLayout.call(this),this._mode()._resetLayout()},d._getItemLayoutPosition=function(t){return this._mode()._getItemLayoutPosition(t)},d._manageStamp=function(t){this._mode()._manageStamp(t)},d._getContainerSize=function(){return this._mode()._getContainerSize()},d.needsResizeLayout=function(){return this._mode().needsResizeLayout()},d.appended=function(t){var e=this.addItems(t);if(e.length){var i=this._filterRevealAdded(e);this.filteredItems=this.filteredItems.concat(i)}},d.prepended=function(t){var e=this._itemize(t);if(e.length){this._resetLayout(),this._manageStamps();var i=this._filterRevealAdded(e);this.layoutItems(this.filteredItems),this.filteredItems=i.concat(this.filteredItems),this.items=e.concat(this.items)}},d._filterRevealAdded=function(t){var e=this._filter(t);return this.hide(e.needHide),this.reveal(e.matches),this.layoutItems(e.matches,!0),e.matches},d.insert=function(t){var e=this.addItems(t);if(e.length){var i,n,o=e.length;for(i=0;o>i;i++)n=e[i],this.element.appendChild(n.element);var r=this._filter(e).matches;for(i=0;o>i;i++)e[i].isLayoutInstant=!0;for(this.arrange(),i=0;o>i;i++)delete e[i].isLayoutInstant;this.reveal(r)}};var p=d.remove;return d.remove=function(t){t=o.makeArray(t);var e=this.getItems(t);p.call(this,t);for(var i=e&&e.length,n=0;i&&i>n;n++){var r=e[n];o.removeFrom(this.filteredItems,r)}},d.shuffle=function(){for(var t=0;t<this.items.length;t++){var e=this.items[t];e.sortData.random=Math.random()}this.options.sortBy="random",this._sort(),this._layout()},d._noTransition=function(t,e){var i=this.options.transitionDuration;this.options.transitionDuration=0;var n=t.apply(this,e);return this.options.transitionDuration=i,n},d.getFilteredItemElements=function(){return this.filteredItems.map(function(t){return t.element})},u}),function(t,e,$,i){"use strict";var n=$("html"),o=$(t),r=$(e),s=$.envirabox=function(){s.open.apply(this,arguments)},a=navigator.userAgent.match(/msie/i),h=null,l=e.createTouch!==i,u=function(t){return t&&t.hasOwnProperty&&t instanceof $},d=function(t){return t&&"string"===$.type(t)},c=function(t){return d(t)&&t.indexOf("%")>0},p=function(t){return t&&!(t.style.overflow&&"hidden"===t.style.overflow)&&(t.clientWidth&&t.scrollWidth>t.clientWidth||t.clientHeight&&t.scrollHeight>t.clientHeight)},f=function(t,e){var i=parseInt(t,10)||0;return e&&c(t)&&(i=s.getViewport()[e]/100*i),Math.ceil(i)},g=function(t,e){return f(t,e)+"px"};$.extend(s,{version:"2.1.5",defaults:{padding:15,margin:40,width:800,height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,pixelRatio:1,autoSize:!0,autoHeight:!1,autoWidth:!1,autoResize:!0,autoCenter:!l,fitToView:!0,aspectRatio:!1,topRatio:.5,leftRatio:.5,scrolling:"auto",wrapCSS:"",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,playSpeed:3e3,preload:3,modal:!1,loop:!0,ajax:{dataType:"html",headers:{"X-envirabox":!0}},iframe:{scrolling:"auto",preload:!0},swf:{wmode:"transparent",allowfullscreen:"true",allowscriptaccess:"always"},keys:{next:{13:"left",34:"up",39:"left",40:"up"},prev:{8:"right",33:"down",37:"right",38:"down"},close:[27],play:[32],toggle:[70]},direction:{next:"left",prev:"right"},scrollOutside:!0,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="envirabox-wrap" tabIndex="-1"><div class="envirabox-skin"><div class="envirabox-outer"><div class="envirabox-inner"></div></div></div></div>',image:'<img class="envirabox-image" src="{href}" />',iframe:'<iframe id="envirabox-frame{rnd}" name="envirabox-frame{rnd}" class="envirabox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+(a?' allowtransparency="true"':"")+"></iframe>",error:'<p class="envirabox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="envirabox-item envirabox-close" href="javascript:;"></a>',next:'<a title="Next" class="envirabox-nav envirabox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="envirabox-nav envirabox-prev" href="javascript:;"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0,openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:$.noop,beforeLoad:$.noop,afterLoad:$.noop,beforeShow:$.noop,afterShow:$.noop,beforeChange:$.noop,beforeClose:$.noop,afterClose:$.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1,isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(t,e,n){return t&&(n&&(t=n),$.isPlainObject(e)||(e={}),!1!==s.close(!0))?($.isArray(t)||(t=u(t)?$(t).get():[t]),$.each(t,function(n,o){var r={},a,h,l,c,p,f,g;"object"===$.type(o)&&(o.nodeType&&(o=$(o)),u(o)?(r={href:o.data("envirabox-href")||o.attr("href"),title:$("<div/>").text(o.data("envirabox-title")||o.attr("title")).html(),isDom:!0,element:o},$.metadata&&$.extend(!0,r,o.metadata())):r=o),a=e.href||r.href||(d(o)?o:null),h=e.title!==i?e.title:r.title||"",l=e.content||r.content,c=l?"html":e.type||r.type,!c&&r.isDom&&(c=o.data("envirabox-type"),c||(p=o.prop("class").match(/envirabox\.(\w+)/),c=p?p[1]:null)),d(a)&&(c||(s.isImage(a)?c="image":s.isSWF(a)?c="swf":"#"===a.charAt(0)?c="inline":d(o)&&(c="html",l=o)),"ajax"===c&&(f=a.split(/\s+/,2),a=f.shift(),g=f.shift())),l||("inline"===c?a?l=$(d(a)?a.replace(/.*(?=#[^\s]+$)/,""):a):r.isDom&&(l=o):"html"===c?l=a:c||a||!r.isDom||(c="inline",l=o)),$.extend(r,{href:a,type:c,content:l,title:h,selector:g}),t[n]=r}),s.opts=$.extend(!0,{},s.defaults,e),e.keys!==i&&(s.opts.keys=e.keys?$.extend({},s.defaults.keys,e.keys):!1),s.group=t,s._start(s.opts.index)):void 0},cancel:function(){var t=s.coming;t&&!1===s.trigger("onCancel")||(s.hideLoading(),t&&(s.ajaxLoad&&s.ajaxLoad.abort(),s.ajaxLoad=null,s.imgPreload&&(s.imgPreload.onload=s.imgPreload.onerror=null),t.wrap&&t.wrap.stop(!0,!0).trigger("onReset").remove(),s.coming=null,s.current||s._afterZoomOut(t)))},close:function(t){s.cancel(),!1!==s.trigger("beforeClose")&&(s.unbindEvents(),s.isActive&&(s.isOpen&&t!==!0?(s.isOpen=s.isOpened=!1,s.isClosing=!0,$(".envirabox-item, .envirabox-nav").remove(),s.wrap.stop(!0,!0).removeClass("envirabox-opened"),s.transitions[s.current.closeMethod]()):($(".envirabox-wrap").stop(!0).trigger("onReset").remove(),s._afterZoomOut())))},play:function(t){var e=function(){clearTimeout(s.player.timer)},i=function(){e(),s.current&&s.player.isActive&&(s.player.timer=setTimeout(s.next,s.current.playSpeed))},n=function(){e(),r.unbind(".player"),s.player.isActive=!1,s.trigger("onPlayEnd")},o=function(){s.current&&(s.current.loop||s.current.index<s.group.length-1)&&(s.player.isActive=!0,r.bind({"onCancel.player beforeClose.player":n,"onUpdate.player":i,"beforeLoad.player":e}),i(),s.trigger("onPlayStart"))};t===!0||!s.player.isActive&&t!==!1?o():n()},next:function(t){var e=s.current;e&&(d(t)||(t=e.direction.next),s.jumpto(e.index+1,t,"next"))},prev:function(t){var e=s.current;e&&(d(t)||(t=e.direction.prev),s.jumpto(e.index-1,t,"prev"))},jumpto:function(t,e,n){var o=s.current;o&&(t=f(t),s.direction=e||o.direction[t>=o.index?"next":"prev"],s.router=n||"jumpto",o.loop&&(0>t&&(t=o.group.length+t%o.group.length),t%=o.group.length),o.group[t]!==i&&(s.cancel(),s._start(t)))},reposition:function(t,e){var i=s.current,n=i?i.wrap:null,o;n&&(o=s._getPosition(e),t&&"scroll"===t.type?(delete o.position,n.stop(!0,!0).animate(o,200)):(n.css(o),i.pos=$.extend({},i.dim,o)))},update:function(t){var e=t&&t.originalEvent&&t.originalEvent.type,i=!e||"orientationchange"===e;i&&(clearTimeout(h),h=null),s.isOpen&&!h&&(h=setTimeout(function(){var n=s.current;n&&!s.isClosing&&(s.wrap.removeClass("envirabox-tmp"),(i||"load"===e||"resize"===e&&n.autoResize)&&s._setDimension(),"scroll"===e&&n.canShrink||s.reposition(t),s.trigger("onUpdate"),h=null)},i&&!l?0:300))},toggle:function(t){s.isOpen&&(s.current.fitToView="boolean"===$.type(t)?t:!s.current.fitToView,l&&(s.wrap.removeAttr("style").addClass("envirabox-tmp"),
11
- s.trigger("onUpdate")),s.update())},hideLoading:function(){r.unbind(".loading"),$("#envirabox-loading").remove()},showLoading:function(){var t,e;s.hideLoading(),t=$('<div id="envirabox-loading"><div></div></div>').click(s.cancel).appendTo("body"),r.bind("keydown.loading",function(t){27===(t.which||t.keyCode)&&(t.preventDefault(),s.cancel())}),s.defaults.fixed||(e=s.getViewport(),t.css({position:"absolute",top:.5*e.h+e.y,left:.5*e.w+e.x})),s.trigger("onLoading")},getViewport:function(){var e=s.current&&s.current.locked||!1,i={x:o.scrollLeft(),y:o.scrollTop()};return e&&e.length?(i.w=e[0].clientWidth,i.h=e[0].clientHeight):(i.w=l&&t.innerWidth?t.innerWidth:o.width(),i.h=l&&t.innerHeight?t.innerHeight:o.height()),i},unbindEvents:function(){s.wrap&&u(s.wrap)&&s.wrap.unbind(".fb"),r.unbind(".fb"),o.unbind(".fb")},bindEvents:function(){var t=s.current,e;t&&(o.bind("orientationchange.fb"+(l?"":" resize.fb")+(t.autoCenter&&!t.locked?" scroll.fb":""),s.update),e=t.keys,e&&r.bind("keydown.fb",function(n){var o=n.which||n.keyCode,r=n.target||n.srcElement;return 27===o&&s.coming?!1:void(n.ctrlKey||n.altKey||n.shiftKey||n.metaKey||r&&(r.type||$(r).is("[contenteditable]"))||$.each(e,function(e,r){return t.group.length>1&&r[o]!==i?(s[e](r[o]),n.preventDefault(),!1):$.inArray(o,r)>-1?(s[e](),n.preventDefault(),!1):void 0}))}),$.fn.mousewheel&&t.mouseWheel&&s.wrap.bind("mousewheel.fb",function(e,i,n,o){for(var r=e.target||null,a=$(r),h=!1;a.length&&!(h||a.is(".envirabox-skin")||a.is(".envirabox-wrap"));)h=p(a[0]),a=$(a).parent();0===i||h||s.group.length>1&&!t.canShrink&&(o>0||n>0?s.prev(o>0?"down":"left"):(0>o||0>n)&&s.next(0>o?"up":"right"),e.preventDefault())}))},trigger:function(t,e){var i,n=e||s.coming||s.current;if(n){if($.isFunction(n[t])&&(i=n[t].apply(n,Array.prototype.slice.call(arguments,1))),i===!1)return!1;n.helpers&&$.each(n.helpers,function(e,i){i&&s.helpers[e]&&$.isFunction(s.helpers[e][t])&&s.helpers[e][t]($.extend(!0,{},s.helpers[e].defaults,i),n)})}r.trigger(t)},isImage:function(t){return d(t)&&t.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(t){return d(t)&&t.match(/\.(swf)((\?|#).*)?$/i)},_start:function(t){var e={},i,n,o,r,a;if(t=f(t),i=s.group[t]||null,!i)return!1;if(e=$.extend(!0,{},s.opts,i),r=e.margin,a=e.padding,"number"===$.type(r)&&(e.margin=[r,r,r,r]),"number"===$.type(a)&&(e.padding=[a,a,a,a]),e.modal&&$.extend(!0,e,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}}),e.autoSize&&(e.autoWidth=e.autoHeight=!0),"auto"===e.width&&(e.autoWidth=!0),"auto"===e.height&&(e.autoHeight=!0),e.group=s.group,e.index=t,s.coming=e,!1===s.trigger("beforeLoad"))return void(s.coming=null);if(o=e.type,n=e.href,!o)return s.coming=null,s.current&&s.router&&"jumpto"!==s.router?(s.current.index=t,s[s.router](s.direction)):!1;if(s.isActive=!0,"image"!==o&&"swf"!==o||(e.autoHeight=e.autoWidth=!1,e.scrolling="visible"),"image"===o&&(e.aspectRatio=!0),"iframe"===o&&l&&(e.scrolling="scroll"),e.wrap=$(e.tpl.wrap).addClass("envirabox-"+(l?"mobile":"desktop")+" envirabox-type-"+o+" envirabox-tmp "+e.wrapCSS).appendTo(e.parent||"body"),$.extend(e,{skin:$(".envirabox-skin",e.wrap),outer:$(".envirabox-outer",e.wrap),inner:$(".envirabox-inner",e.wrap)}),$.each(["Top","Right","Bottom","Left"],function(t,i){e.skin.css("padding"+i,g(e.padding[t]))}),s.trigger("onReady"),"inline"===o||"html"===o){if(!e.content||!e.content.length)return s._error("content")}else if(!n)return s._error("href");"image"===o?s._loadImage():"ajax"===o?s._loadAjax():"iframe"===o?s._loadIframe():s._afterLoad()},_error:function(t){$.extend(s.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:t,content:s.coming.tpl.error}),s._afterLoad()},_loadImage:function(){var t=s.imgPreload=new Image;t.onload=function(){this.onload=this.onerror=null,s.coming.width=this.width/s.opts.pixelRatio,s.coming.height=this.height/s.opts.pixelRatio,s._afterLoad()},t.onerror=function(){this.onload=this.onerror=null,s._error("image")},t.src=s.coming.href,t.complete!==!0&&s.showLoading()},_loadAjax:function(){var t=s.coming;s.showLoading(),s.ajaxLoad=$.ajax($.extend({},t.ajax,{url:t.href,error:function(t,e){s.coming&&"abort"!==e?s._error("ajax",t):s.hideLoading()},success:function(e,i){"success"===i&&(t.content=e,s._afterLoad())}}))},_loadIframe:function(){var t=s.coming,e=$(t.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",l?"auto":t.iframe.scrolling).attr("src",t.href);$(t.wrap).bind("onReset",function(){try{$(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(t){}}),t.iframe.preload&&(s.showLoading(),e.one("load",function(){$(this).data("ready",1),l||$(this).bind("load.fb",s.update),$(this).parents(".envirabox-wrap").width("100%").removeClass("envirabox-tmp").show(),s._afterLoad()})),t.content=e.appendTo(t.inner),t.iframe.preload||s._afterLoad()},_preloadImages:function(){var t=s.group,e=s.current,i=t.length,n=e.preload?Math.min(e.preload,i-1):0,o,r;for(r=1;n>=r;r+=1)o=t[(e.index+r)%i],"image"===o.type&&o.href&&((new Image).src=o.href)},_afterLoad:function(){var t=s.coming,e=s.current,i="envirabox-placeholder",n,o,r,a,h,l;if(s.hideLoading(),t&&s.isActive!==!1){if(!1===s.trigger("afterLoad",t,e))return t.wrap.stop(!0).trigger("onReset").remove(),void(s.coming=null);switch(e&&(s.trigger("beforeChange",e),e.wrap.stop(!0).removeClass("envirabox-opened").find(".envirabox-item, .envirabox-nav").remove()),s.unbindEvents(),n=t,o=t.content,r=t.type,a=t.scrolling,$.extend(s,{wrap:n.wrap,skin:n.skin,outer:n.outer,inner:n.inner,current:n,previous:e}),h=n.href,r){case"inline":case"ajax":case"html":n.selector?o=$("<div>").html(o).find(n.selector):u(o)&&(o.data(i)||o.data(i,$('<div class="'+i+'"></div>').insertAfter(o).hide()),o=o.show().detach(),n.wrap.bind("onReset",function(){$(this).find(o).length&&o.hide().replaceAll(o.data(i)).data(i,!1)}));break;case"image":o=n.tpl.image.replace(/\{href\}/g,h);break;case"swf":o='<object id="envirabox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+h+'"></param>',l="",$.each(n.swf,function(t,e){o+='<param name="'+t+'" value="'+e+'"></param>',l+=" "+t+'="'+e+'"'}),o+='<embed src="'+h+'" type="application/x-shockwave-flash" width="100%" height="100%"'+l+"></embed></object>"}u(o)&&o.parent().is(n.inner)||n.inner.append(o),s.trigger("beforeShow"),n.inner.css("overflow","yes"===a?"scroll":"no"===a?"hidden":a),s._setDimension(),s.reposition(),s.isOpen=!1,s.coming=null,s.bindEvents(),s.isOpened?e.prevMethod&&s.transitions[e.prevMethod]():$(".envirabox-wrap").not(n.wrap).stop(!0).trigger("onReset").remove(),s.transitions[s.isOpened?n.nextMethod:n.openMethod](),s._preloadImages()}},_setDimension:function(){var t=s.getViewport(),e=0,i=!1,n=!1,o=s.wrap,r=s.skin,a=s.inner,h=s.current,l=h.width,u=h.height,d=h.minWidth,p=h.minHeight,m=h.maxWidth,v=h.maxHeight,y=h.scrolling,w=h.scrollOutside?h.scrollbarWidth:0,b=h.margin,x=f(b[1]+b[3]),S=f(b[0]+b[2]),I,E,_,C,T,R,z,j,O,L,k,M,D,H,W;if(o.add(r).add(a).width("auto").height("auto").removeClass("envirabox-tmp"),I=f(r.outerWidth(!0)-r.width()),E=f(r.outerHeight(!0)-r.height()),_=x+I,C=S+E,T=c(l)?(t.w-_)*f(l)/100:l,R=c(u)?(t.h-C)*f(u)/100:u,"iframe"===h.type){if(H=h.content,h.autoHeight&&1===H.data("ready"))try{H[0].contentWindow.document.location&&(a.width(T).height(9999),W=H.contents().find("body"),w&&W.css("overflow-x","hidden"),R=W.outerHeight(!0))}catch(A){}}else(h.autoWidth||h.autoHeight)&&(a.addClass("envirabox-tmp"),h.autoWidth||a.width(T),h.autoHeight||a.height(R),h.autoWidth&&(T=a.width()),h.autoHeight&&(R=a.height()),a.removeClass("envirabox-tmp"));if(l=f(T),u=f(R),O=T/R,d=f(c(d)?f(d,"w")-_:d),m=f(c(m)?f(m,"w")-_:m),p=f(c(p)?f(p,"h")-C:p),v=f(c(v)?f(v,"h")-C:v),z=m,j=v,h.fitToView&&(m=Math.min(t.w-_,m),v=Math.min(t.h-C,v)),M=t.w-x,D=t.h-S,h.aspectRatio?(l>m&&(l=m,u=f(l/O)),u>v&&(u=v,l=f(u*O)),d>l&&(l=d,u=f(l/O)),p>u&&(u=p,l=f(u*O))):(l=Math.max(d,Math.min(l,m)),h.autoHeight&&"iframe"!==h.type&&(a.width(l),u=a.height()),u=Math.max(p,Math.min(u,v))),h.fitToView)if(a.width(l).height(u),o.width(l+I),L=o.width(),k=o.height(),h.aspectRatio)for(;(L>M||k>D)&&l>d&&u>p&&!(e++>19);)u=Math.max(p,Math.min(v,u-10)),l=f(u*O),d>l&&(l=d,u=f(l/O)),l>m&&(l=m,u=f(l/O)),a.width(l).height(u),o.width(l+I),L=o.width(),k=o.height();else l=Math.max(d,Math.min(l,l-(L-M))),u=Math.max(p,Math.min(u,u-(k-D)));w&&"auto"===y&&R>u&&M>l+I+w&&(l+=w),a.width(l).height(u),o.width(l+I),L=o.width(),k=o.height(),i=(L>M||k>D)&&l>d&&u>p,n=h.aspectRatio?z>l&&j>u&&T>l&&R>u:(z>l||j>u)&&(T>l||R>u),$.extend(h,{dim:{width:g(L),height:g(k)},origWidth:T,origHeight:R,canShrink:i,canExpand:n,wPadding:I,hPadding:E,wrapSpace:k-r.outerHeight(!0),skinSpace:r.height()-u}),!H&&h.autoHeight&&u>p&&v>u&&!n&&a.height("auto")},_getPosition:function(t){var e=s.current,i=s.getViewport(),n=e.margin,o=s.wrap.width()+n[1]+n[3],r=s.wrap.height()+n[0]+n[2],a={position:"absolute",top:n[0],left:n[3]};return e.helpers.title.type&&"float"==e.helpers.title.type&&(r+=$(".envirabox-skin .envirabox-title").height()),e.autoCenter&&e.fixed&&!t&&r<=i.h&&o<=i.w?a.position="fixed":e.locked||(a.top+=i.y,a.left+=i.x),a.top=g(Math.max(a.top,a.top+(i.h-r)*e.topRatio)),a.left=g(Math.max(a.left,a.left+(i.w-o)*e.leftRatio)),a},_afterZoomIn:function(){var t=s.current;t&&(s.isOpen=s.isOpened=!0,s.wrap.css("overflow","visible").addClass("envirabox-opened").hide().show(0),s.update(),(t.closeClick||t.nextClick&&s.group.length>1)&&s.inner.css("cursor","pointer").bind("click.fb",function(e){$(e.target).is("a")||$(e.target).parent().is("a")||(e.preventDefault(),s[t.closeClick?"close":"next"]())}),t.closeBtn&&$(t.tpl.closeBtn).appendTo(s.skin).bind("click.fb",function(t){t.preventDefault(),s.close()}),t.arrows&&s.group.length>1&&((t.loop||t.index>0)&&$(t.tpl.prev).appendTo(s.outer).bind("click.fb",s.prev),(t.loop||t.index<s.group.length-1)&&$(t.tpl.next).appendTo(s.outer).bind("click.fb",s.next)),s.trigger("afterShow"),t.loop||t.index!==t.group.length-1?s.opts.autoPlay&&!s.player.isActive&&(s.opts.autoPlay=!1,s.play(!0)):s.play(!1))},_afterZoomOut:function(t){t=t||s.current,$(".envirabox-wrap").trigger("onReset").remove(),$.extend(s,{group:{},opts:{},router:!1,current:null,isActive:!1,isOpened:!1,isOpen:!1,isClosing:!1,wrap:null,skin:null,outer:null,inner:null}),s.trigger("afterClose",t)}}),s.transitions={getOrigPosition:function(){var t=s.current,e=t.element,i=t.orig,n={},o=50,r=50,a=t.hPadding,h=t.wPadding,l=s.getViewport();return!i&&t.isDom&&e.is(":visible")&&(i=e.find("img:first"),i.length||(i=e)),u(i)?(n=i.offset(),i.is("img")&&(o=i.outerWidth(),r=i.outerHeight())):(n.top=l.y+(l.h-r)*t.topRatio,n.left=l.x+(l.w-o)*t.leftRatio),("fixed"===s.wrap.css("position")||t.locked)&&(n.top-=l.y,n.left-=l.x),n={top:g(n.top-a*t.topRatio),left:g(n.left-h*t.leftRatio),width:g(o+h),height:g(r+a)}},step:function(t,e){var i,n,o,r=e.prop,a=s.current,h=a.wrapSpace,l=a.skinSpace;"width"!==r&&"height"!==r||(i=e.end===e.start?1:(t-e.start)/(e.end-e.start),s.isClosing&&(i=1-i),n="width"===r?a.wPadding:a.hPadding,o=t-n,s.skin[r](f("width"===r?o:o-h*i)),s.inner[r](f("width"===r?o:o-h*i-l*i)))},zoomIn:function(){var t=s.current,e=t.pos,i=t.openEffect,n="elastic"===i,o=$.extend({opacity:1},e);delete o.position,n?(e=this.getOrigPosition(),t.openOpacity&&(e.opacity=.1)):"fade"===i&&(e.opacity=.1),s.wrap.css(e).animate(o,{duration:"none"===i?0:t.openSpeed,easing:t.openEasing,step:n?this.step:null,complete:s._afterZoomIn})},zoomOut:function(){var t=s.current,e=t.closeEffect,i="elastic"===e,n={opacity:.1};i&&(n=this.getOrigPosition(),t.closeOpacity&&(n.opacity=.1)),s.wrap.animate(n,{duration:"none"===e?0:t.closeSpeed,easing:t.closeEasing,step:i?this.step:null,complete:s._afterZoomOut})},changeIn:function(){var t=s.current,e=t.nextEffect,i=t.pos,n={opacity:1},o=s.direction,r=200,a;i.opacity=.1,"elastic"===e&&(a="down"===o||"up"===o?"top":"left","down"===o||"right"===o?(i[a]=g(f(i[a])-r),n[a]="+="+r+"px"):(i[a]=g(f(i[a])+r),n[a]="-="+r+"px")),"none"===e?s._afterZoomIn():s.wrap.css(i).animate(n,{duration:t.nextSpeed,easing:t.nextEasing,complete:s._afterZoomIn})},changeOut:function(){var t=s.previous,e=t.prevEffect,i={opacity:.1},n=s.direction,o=200;"elastic"===e&&(i["down"===n||"up"===n?"top":"left"]=("up"===n||"left"===n?"-":"+")+"="+o+"px"),t.wrap.animate(i,{duration:"none"===e?0:t.prevSpeed,easing:t.prevEasing,complete:function(){$(this).trigger("onReset").remove()}})}},s.helpers.overlay={defaults:{closeClick:!0,speedOut:200,showEarly:!0,css:{},locked:!l,fixed:!0},overlay:null,fixed:!1,el:$("html"),create:function(t){var e;t=$.extend({},this.defaults,t),this.overlay&&this.close(),e=s.coming?s.coming.parent:t.parent,this.overlay=$('<div class="envirabox-overlay"></div>').appendTo(e&&e.lenth?e:"body"),this.fixed=!1,t.fixed&&s.defaults.fixed&&(this.overlay.addClass("envirabox-overlay-fixed"),this.fixed=!0)},open:function(t){var e=this;t=$.extend({},this.defaults,t),this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(t),this.fixed||(o.bind("resize.overlay",$.proxy(this.update,this)),this.update()),t.closeClick&&this.overlay.bind("click.overlay",function(t){return $(t.target).hasClass("envirabox-overlay")?(s.isActive?s.close():e.close(),!1):void 0}),this.overlay.css(t.css).show()},close:function(){o.unbind("resize.overlay"),this.el.hasClass("envirabox-lock")&&($(".envirabox-margin").removeClass("envirabox-margin"),this.el.removeClass("envirabox-lock"),o.scrollTop(this.scrollV).scrollLeft(this.scrollH)),$(".envirabox-overlay").remove().hide(),$.extend(this,{overlay:null,fixed:!1})},update:function(){var t="100%",i;this.overlay.width(t).height("100%"),a?(i=Math.max(e.documentElement.offsetWidth,e.body.offsetWidth),r.width()>i&&(t=r.width())):r.width()>o.width()&&(t=r.width()),this.overlay.width(t).height(r.height())},onReady:function(t,e){var i=this.overlay;$(".envirabox-overlay").stop(!0,!0),i||this.create(t),t.locked&&this.fixed&&e.fixed&&(e.locked=this.overlay.append(e.wrap),e.fixed=!1),t.showEarly===!0&&this.beforeShow.apply(this,arguments)},beforeShow:function(t,e){e.locked&&!this.el.hasClass("envirabox-lock")&&(this.fixPosition!==!1&&$("*").filter(function(){return"fixed"===$(this).css("position")&&!$(this).hasClass("envirabox-overlay")&&!$(this).hasClass("envirabox-wrap")}).addClass("envirabox-margin"),this.el.addClass("envirabox-margin"),this.scrollV=o.scrollTop(),this.scrollH=o.scrollLeft(),this.el.addClass("envirabox-lock"),o.scrollTop(this.scrollV).scrollLeft(this.scrollH)),this.open(t)},onUpdate:function(){this.fixed||this.update()},afterClose:function(t){this.overlay&&!s.coming&&this.overlay.fadeOut(t.speedOut,$.proxy(this.close,this))}},s.helpers.title={defaults:{type:"float",position:"bottom"},beforeShow:function(t){var e=s.current,i=e.title,n=t.type,o,r;if($.isFunction(i)&&(i=i.call(e.element,e)),d(i)&&""!==$.trim(i)){switch(o=$('<div class="envirabox-title envirabox-title-'+n+'-wrap">'+i+"</div>"),n){case"inside":r=s.skin;break;case"outside":r=s.wrap;break;case"over":r=s.inner;break;default:r=s.skin,o.appendTo("body"),a&&o.width(o.width()),o.wrapInner('<span class="child"></span>'),s.current.margin[2]+=Math.abs(f(o.css("margin-bottom")))}o["top"===t.position?"prependTo":"appendTo"](r)}}},$.fn.envirabox=function(t,e){var i,n=$(this),o=this.selector||"",a=function(r){var a=$(this).blur(),h=i,l,u;r.ctrlKey||r.altKey||r.shiftKey||r.metaKey||a.is(".envirabox-wrap")||(l=t.groupAttr||"data-envirabox-group",u=a.attr(l),u||(l="rel",u=a.get(0)[l]),u&&""!==u&&"nofollow"!==u&&(a=o.length?$(o):n,a=a.filter("["+l+'="'+u+'"]'),h=a.index(this)),t.index=h,s.open(a,t,e)!==!1&&r.preventDefault())};return t=t||{},i=t.index||0,o&&t.live!==!1?r.undelegate(o,"click.fb-start").delegate(o+":not('.envirabox-item, .envirabox-nav')","click.fb-start",a):n.unbind("click.fb-start").bind("click.fb-start",a),this.filter("[data-envirabox-start=1]").trigger("click"),this},r.ready(function(){var e,o;$.scrollbarWidth===i&&($.scrollbarWidth=function(){var t=$('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),e=t.children(),i=e.innerWidth()-e.height(99).innerWidth();return t.remove(),i}),$.support.fixedPosition===i&&($.support.fixedPosition=function(){var t=$('<div style="position:fixed;top:20px;"></div>').appendTo("body"),e=20===t[0].offsetTop||15===t[0].offsetTop;return t.remove(),e}()),$.extend(s.defaults,{scrollbarWidth:$.scrollbarWidth(),fixed:$.support.fixedPosition,parent:$("body")}),e=$(t).width(),n.addClass("envirabox-lock-test"),o=$(t).width(),n.removeClass("envirabox-lock-test"),$("<style type='text/css'>.envirabox-margin{margin-right:"+(o-e)+"px;}</style>").appendTo("head")})}(window,document,jQuery),function($){var t=$.envirabox;t.helpers.buttons={defaults:{skipSingle:!1,position:"top",inline:!1,tpl:'<div id="envirabox-buttons"><ul><li><a class="btnPrev" title="Previous" href="javascript:;"></a></li><li><a class="btnPlay" title="Start slideshow" href="javascript:;"></a></li><li><a class="btnNext" title="Next" href="javascript:;"></a></li><li><a class="btnToggle" title="Toggle size" href="javascript:;"></a></li><li><a class="btnClose" title="Close" href="javascript:;"></a></li></ul></div>'},list:null,buttons:null,beforeLoad:function(t,e){return t.skipSingle&&e.group.length<2?(e.helpers.buttons=!1,void(e.closeBtn=!0)):(e.margin["bottom"===t.position?2:0]+=30,void 0!=e.helpers.thumbs&&"top"==t.position&&"top"==e.helpers.thumbs.position&&(e.helpers.thumbs.position="top has-other-content"),void(void 0!=e.helpers.thumbs&&"bottom"==t.position&&"bottom"==e.helpers.thumbs.position&&(e.helpers.thumbs.position="bottom has-other-content")))},onPlayStart:function(){this.buttons&&this.buttons.play.attr("title","Pause slideshow").addClass("btnPlayOn")},onPlayEnd:function(){this.buttons&&this.buttons.play.attr("title","Start slideshow").removeClass("btnPlayOn")},afterShow:function(e,i){var n=this.buttons;n||(this.list=$(e.tpl).addClass(e.position).appendTo("body"),e.inline&&this.list.addClass("inline"),n={prev:this.list.find(".btnPrev").click(t.prev),next:this.list.find(".btnNext").click(t.next),play:this.list.find(".btnPlay").click(t.play),toggle:this.list.find(".btnToggle").click(t.toggle),close:this.list.find(".btnClose").click(t.close)}),i.index>0||i.loop?n.prev.removeClass("btnDisabled"):n.prev.addClass("btnDisabled"),i.loop||i.index<i.group.length-1?(n.next.removeClass("btnDisabled"),n.play.removeClass("btnDisabled")):(n.next.addClass("btnDisabled"),n.play.addClass("btnDisabled")),this.buttons=n,this.onUpdate(e,i)},onUpdate:function(t,e){var i;this.buttons&&(i=this.buttons.toggle.removeClass("btnDisabled btnToggleOn"),e.canShrink?i.addClass("btnToggleOn"):e.canExpand||i.addClass("btnDisabled"))},beforeClose:function(){this.list&&this.list.remove(),this.list=null,this.buttons=null}}}(jQuery),function($){"use strict";var t=$.envirabox,e=function(t,e,i){return i=i||"","object"===$.type(i)&&(i=$.param(i,!0)),$.each(e,function(e,i){t=t.replace("$"+e,i||"")}),i.length&&(t+=(t.indexOf("?")>0?"&":"?")+i),t};t.helpers.media={defaults:{youtube:{matcher:/(youtube\.com|youtu\.be|youtube-nocookie\.com)\/(watch\?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*)).*/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"opaque",enablejsapi:1},type:"iframe",url:"//www.youtube.com/embed/$3"},vimeo:{matcher:/(?:vimeo(?:pro)?.com)\/(?:[^\d]+)?(\d+)(?:.*)/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1},type:"iframe",url:"//player.vimeo.com/video/$1"},metacafe:{matcher:/metacafe.com\/(?:watch|fplayer)\/([\w\-]{1,10})/,params:{autoPlay:"yes"},type:"swf",url:function(t,e,i){return i.swf.flashVars="playerVars="+$.param(e,!0),"//www.metacafe.com/fplayer/"+t[1]+"/.swf"}},dailymotion:{matcher:/dailymotion.com\/video\/(.*)\/?(.*)/,params:{additionalInfos:0,autoStart:1},type:"swf",url:"//www.dailymotion.com/swf/video/$1"},twitvid:{matcher:/twitvid\.com\/([a-zA-Z0-9_\-\?\=]+)/i,params:{autoplay:0},type:"iframe",url:"//www.twitvid.com/embed.php?guid=$1"},twitpic:{matcher:/twitpic\.com\/(?!(?:place|photos|events)\/)([a-zA-Z0-9\?\=\-]+)/i,type:"image",url:"//twitpic.com/show/full/$1/"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},google_maps:{matcher:/maps\.google\.([a-z]{2,3}(\.[a-z]{2})?)\/(\?ll=|maps\?)(.*)/i,type:"iframe",url:function(t){return"//maps.google."+t[1]+"/"+t[3]+t[4]+"&output="+(t[4].indexOf("layer=c")>0?"svembed":"embed")}}},beforeLoad:function(t,i){var n=i.href||"",o=!1,r,s,a,h;for(r in t)if(t.hasOwnProperty(r)&&(s=t[r],a=n.match(s.matcher))){o=s.type,h=$.extend(!0,{},s.params,i[r]||($.isPlainObject(t[r])?t[r].params:null)),n="function"===$.type(s.url)?s.url.call(this,a,h,i):e(s.url,a,h);break}o&&(i.href=n,i.type=o,i.autoHeight=!1)}}}(jQuery),function($){var t=$.envirabox;t.helpers.thumbs={defaults:{width:50,height:50,position:"bottom",inline:!1,source:function(t){var e;return t.element&&(e=$(t.element).find("img").attr("src")),!e&&"image"===t.type&&t.href&&(e=t.href),e}},wrap:null,list:null,width:0,init:function(t,e){var i=this,n,o=t.width,r=t.height,s=t.source;n="";for(var a=0;a<e.group.length;a++)n+='<li><a style="width:'+o+"px;height:"+r+'px;" href="javascript:jQuery.envirabox.jumpto('+a+');"></a></li>';this.wrap=$('<div id="envirabox-thumbs"></div>').addClass(t.position).appendTo("body"),this.list=$("<ul>"+n+"</ul>").appendTo(this.wrap),$.each(e.group,function(t){var n=e.group[t],a=s(n);a&&$("<img />").load(function(){var e=this.width,n=this.height,s,a,h;i.list&&e&&n&&(s=e/o,a=n/r,h=i.list.children().eq(t).find("a"),s>=1&&a>=1&&(s>a?(e=Math.floor(e/a),n=r):(e=o,n=Math.floor(n/s))),$(this).css({width:e,height:n,top:Math.floor(r/2-n/2),left:Math.floor(o/2-e/2)}),h.width(o).height(r),$(this).hide().appendTo(h).fadeIn(300))}).attr("src",a).attr("title",n.title)});var h=this.list.children().eq(0),l=$("a",$(h));this.width=parseInt(l.css("border-left-width"))+parseInt(l.css("border-left-width"))+parseInt(h.css("margin-left"))+parseInt(h.css("margin-right"))+parseInt(h.css("width")),this.list.width(this.width*e.group.length).css("left",Math.floor(.5*$(window).width()-(e.index*this.width+.5*this.width)))},beforeLoad:function(t,e){return e.group.length<2?void(e.helpers.thumbs=!1):void(e.margin["top"===t.position?0:2]+=t.height+15)},afterShow:function(t,e){this.list?this.onUpdate(t,e):this.init(t,e),t.inline&&this.wrap.addClass("inline"),this.list.children().removeClass("active").eq(e.index).addClass("active")},onUpdate:function(t,e){this.list&&this.list.stop(!0).animate({left:Math.floor(.5*$(window).width()-(e.index*this.width+.5*this.width))},150)},beforeClose:function(){this.wrap&&this.wrap.remove(),this.wrap=null,this.list=null,this.width=0}}}(jQuery),function($){"use strict";var t=$.envirabox,e=function(t,e,i){return i=i||"","object"===$.type(i)&&(i=$.param(i,!0)),t};t.helpers.video={defaults:{autoplay:0,playpause:0,progress:0,current:0,duration:0,volume:0},beforeLoad:function(t,e){var i=/\.(mp4|flv|ogv|webm|MP4|FLV|OGV|WEBM)$/i.test(e.href);if(i){var n="";switch(e.href.split(".").pop()){case"mp4":n="video/mp4";break;case"ogv":n="video/ogg";break;case"ogg":n="application/ogg";break;case"webm":n="video/webm"}var o=$('a[href="'+e.href+'"]').attr("data-video-width"),r=$('a[href="'+e.href+'"]').attr("data-video-height");e.content='<div class="envira-video-container" style="max-width:'+o+"px;max-height:"+r+'px;"><video class="envira-video" width="'+o+'" height="'+r+'" preload="metadata" style="width:'+o+"px;height:"+o+'px;"><source type="'+n+'" src="'+e.href+'" /></video></div>',e.type="html";var s=[];1===t.playpause&&s.push("playpause"),1===t.progress&&s.push("progress"),1===t.current&&s.push("current"),1===t.duration&&s.push("duration"),1===t.volume&&s.push("volume")}},afterShow:function(t,e){var i=/\.(mp4|flv|ogv|webm|MP4|FLV|OGV|WEBM)$/i.test(e.href);if(i){var n=[];1===t.playpause&&n.push("playpause"),1===t.progress&&n.push("progress"),1===t.current&&n.push("current"),1===t.duration&&n.push("duration"),1===t.volume&&n.push("volume");var o=$(".envira-video").mediaelementplayer({features:n,videoWidth:"100%",videoHeight:"100%",enableAutosize:!0,success:function(e,i){1===t.autoplay&&e.addEventListener("canplay",function(){e.play()},!1)}});setTimeout(function(){$(window).trigger("resize")},500)}}}}(jQuery);
1
+ function jg_effect_desaturate(t){var e=!!document.createElement("canvas").getContext;if(e){var i=document.createElement("canvas"),n=i.getContext("2d"),o,r,s,a=0,h,u=new Image;for(u.src=t,i.width=u.width,i.height=u.height,n.drawImage(u,0,0),o=n.getImageData(0,0,i.width,i.height),r=o.data,s=r.length;s>a;a+=4)h=.3*r[a]+.59*r[a+1]+.11*r[a+2],r[a]=r[a+1]=r[a+2]=h;return n.putImageData(o,0,0),i.toDataURL()}return t}function jg_effect_threshold(t){var e=!!document.createElement("canvas").getContext;if(e){var i=document.createElement("canvas"),n=i.getContext("2d"),o,r,s,a=0,h,u=new Image;u.src=t,i.width=u.width,i.height=u.height,n.drawImage(u,0,0),o=n.getImageData(0,0,i.width,i.height),r=o.data,s=r.length,threshold=120;for(var a=0;s>a;a+=4){var l=r[a],d=r[a+1],c=r[a+2],f=.2126*l+.7152*d+.0722*c>=threshold?255:0;r[a]=r[a+1]=r[a+2]=f}return n.putImageData(o,0,0),i.toDataURL()}return t}function jg_effect_blur(t){var e=!!document.createElement("canvas").getContext;if(e){var i=document.createElement("canvas"),n=i.getContext("2d"),o,r,s,a=0,h,u=0,l=0,d=30,c=1;img=new Image,img.src=t,i.width=img.width,i.height=img.height,n.drawImage(img,0,0);var o,f=img.width,g=img.height;o=n.getImageData(u,l,f,g);for(var p=o.data,m,v,y,w,b,x,a,I,S,E,_,T,R,z,j=f-1,C=g-1,O=f*g,L=d+1,D=[],A=[],M=[],k=mul_table[d],H=shg_table[d],W=[],B=[];c-- >0;){for(R=T=0,x=0;g>x;x++){for(m=p[R]*L,v=p[R+1]*L,y=p[R+2]*L,a=1;d>=a;a++)I=R+((a>j?j:a)<<2),m+=p[I++],v+=p[I++],y+=p[I++];for(b=0;f>b;b++)D[T]=m,A[T]=v,M[T]=y,0==x&&(W[b]=((I=b+L)<j?I:j)<<2,B[b]=(I=b-d)>0?I<<2:0),S=R+W[b],E=R+B[b],m+=p[S++]-p[E++],v+=p[S++]-p[E++],y+=p[S++]-p[E++],T++;R+=f<<2}for(b=0;f>b;b++){for(_=b,m=D[_]*L,v=A[_]*L,y=M[_]*L,a=1;d>=a;a++)_+=a>C?0:f,m+=D[_],v+=A[_],y+=M[_];for(T=b<<2,x=0;g>x;x++)p[T]=m*k>>>H,p[T+1]=v*k>>>H,p[T+2]=y*k>>>H,0==b&&(W[x]=((I=x+L)<C?I:C)*f,B[x]=(I=x-d)>0?I*f:0),S=b+W[x],E=b+B[x],m+=D[S]-D[E],v+=A[S]-A[E],y+=M[S]-M[E],T+=f<<2}}return n.putImageData(o,u,l),i.toDataURL()}return t}function jg_effect_vintage(t){var e={onError:function(){alert("ERROR")}},i={vignette:1,sepia:!0,noise:50,desaturate:.2,lighten:.1};new VintageJS(t,e,i)}function boxBlurImage(t,e,i,n,o){var r=document.getElementById(t),s=r.naturalWidth,a=r.naturalHeight,h=document.getElementById(e);h.style.width=s+"px",h.style.height=a+"px",h.width=s,h.height=a;var u=h.getContext("2d");u.clearRect(0,0,s,a),u.drawImage(r,0,0),isNaN(i)||1>i||(n?boxBlurCanvasRGBA(e,0,0,s,a,i,o):boxBlurCanvasRGB(e,0,0,s,a,i,o))}function boxBlurCanvasRGBA(t,e,i,n,o,r,s){if(!(isNaN(r)||1>r)){r|=0,isNaN(s)&&(s=1),s|=0,s>3&&(s=3),1>s&&(s=1);var a=document.getElementById(t),h=a.getContext("2d"),u;try{try{u=h.getImageData(e,i,n,o)}catch(l){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"),u=h.getImageData(e,i,n,o)}catch(l){throw alert("Cannot access local image"),new Error("unable to access local image data: "+l);return}}}catch(l){throw alert("Cannot access image"),new Error("unable to access image data: "+l);return}for(var d=u.data,c,f,g,p,m,v,y,w,b,x,I,S,E,_,T,R=n-1,z=o-1,j=n*o,C=r+1,O=mul_table[r],L=shg_table[r],D=[],A=[],M=[],k=[],H=[],W=[];s-- >0;){for(E=S=0,v=0;o>v;v++){for(c=d[E]*C,f=d[E+1]*C,g=d[E+2]*C,p=d[E+3]*C,y=1;r>=y;y++)w=E+((y>R?R:y)<<2),c+=d[w++],f+=d[w++],g+=d[w++],p+=d[w];for(m=0;n>m;m++)D[S]=c,A[S]=f,M[S]=g,k[S]=p,0==v&&(H[m]=((w=m+C)<R?w:R)<<2,W[m]=(w=m-r)>0?w<<2:0),b=E+H[m],x=E+W[m],c+=d[b++]-d[x++],f+=d[b++]-d[x++],g+=d[b++]-d[x++],p+=d[b]-d[x],S++;E+=n<<2}for(m=0;n>m;m++){for(I=m,c=D[I]*C,f=A[I]*C,g=M[I]*C,p=k[I]*C,y=1;r>=y;y++)I+=y>z?0:n,c+=D[I],f+=A[I],g+=M[I],p+=k[I];for(S=m<<2,v=0;o>v;v++)d[S+3]=T=p*O>>>L,T>0?(T=255/T,d[S]=(c*O>>>L)*T,d[S+1]=(f*O>>>L)*T,d[S+2]=(g*O>>>L)*T):d[S]=d[S+1]=d[S+2]=0,0==m&&(H[v]=((w=v+C)<z?w:z)*n,W[v]=(w=v-r)>0?w*n:0),b=m+H[v],x=m+W[v],c+=D[b]-D[x],f+=A[b]-A[x],g+=M[b]-M[x],p+=k[b]-k[x],S+=n<<2}}h.putImageData(u,e,i)}}function boxBlurCanvasRGB(t,e,i,n,o,r,s){if(!(isNaN(r)||1>r)){r|=0,isNaN(s)&&(s=1),s|=0,s>3&&(s=3),1>s&&(s=1);var a=t,h=a.getContext("2d"),u;try{try{u=h.getImageData(e,i,n,o)}catch(l){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"),u=h.getImageData(e,i,n,o)}catch(l){throw alert("Cannot access local image"),new Error("unable to access local image data: "+l);return}}}catch(l){throw alert("Cannot access image"),new Error("unable to access image data: "+l);return}for(var d=u.data,c,f,g,p,m,v,y,w,b,x,I,S,E,_,T=n-1,R=o-1,z=n*o,j=r+1,C=[],O=[],L=[],D=mul_table[r],A=shg_table[r],M=[],k=[];s-- >0;){for(E=S=0,v=0;o>v;v++){for(c=d[E]*j,f=d[E+1]*j,g=d[E+2]*j,y=1;r>=y;y++)w=E+((y>T?T:y)<<2),c+=d[w++],f+=d[w++],g+=d[w++];for(m=0;n>m;m++)C[S]=c,O[S]=f,L[S]=g,0==v&&(M[m]=((w=m+j)<T?w:T)<<2,k[m]=(w=m-r)>0?w<<2:0),b=E+M[m],x=E+k[m],c+=d[b++]-d[x++],f+=d[b++]-d[x++],g+=d[b++]-d[x++],S++;E+=n<<2}for(m=0;n>m;m++){for(I=m,c=C[I]*j,f=O[I]*j,g=L[I]*j,y=1;r>=y;y++)I+=y>R?0:n,c+=C[I],f+=O[I],g+=L[I];for(S=m<<2,v=0;o>v;v++)d[S]=c*D>>>A,d[S+1]=f*D>>>A,d[S+2]=g*D>>>A,0==m&&(M[v]=((w=v+j)<R?w:R)*n,k[v]=(w=v-r)>0?w*n:0),b=m+M[v],x=m+k[v],c+=C[b]-C[x],f+=O[b]-O[x],g+=L[b]-L[x],S+=n<<2}}h.putImageData(u,e,i)}}jQuery(document).ready(function($){$("body").on("click",'div.envirabox-title a[href*="#"]:not([href="#"])',function(t){return location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname?($.envirabox.close(),!1):void 0})}),function($){function t(){return $("body").height()>$(window).height()}var e=function(t,e){this.settings=e,this.checkSettings(),this.imgAnalyzerTimeout=null,this.entries=null,this.buildingRow={entriesBuff:[],width:0,height:0,aspectRatio:0},this.lastAnalyzedIndex=-1,this["yield"]={every:2,flushed:0},this.border=e.border>=0?e.border:e.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges(),this.offY=this.border,this.rows=0,this.spinner={phase:0,timeSlot:150,$el:$('<div class="spinner"><span></span><span></span><span></span></div>'),intervalId:null},this.checkWidthIntervalId=null,this.galleryWidth=t.width(),this.$gallery=t};e.prototype.getSuffix=function(t,e){var i,n;for(i=t>e?t:e,n=0;n<this.suffixRanges.length;n++)if(i<=this.suffixRanges[n])return this.settings.sizeRangeSuffixes[this.suffixRanges[n]];return this.settings.sizeRangeSuffixes[this.suffixRanges[n-1]]},e.prototype.removeSuffix=function(t,e){return t.substring(0,t.length-e.length)},e.prototype.endsWith=function(t,e){return-1!==t.indexOf(e,t.length-e.length)},e.prototype.getUsedSuffix=function(t){for(var e in this.settings.sizeRangeSuffixes)if(this.settings.sizeRangeSuffixes.hasOwnProperty(e)){if(0===this.settings.sizeRangeSuffixes[e].length)continue;if(this.endsWith(t,this.settings.sizeRangeSuffixes[e]))return this.settings.sizeRangeSuffixes[e]}return""},e.prototype.newSrc=function(t,e,i){var n;if(this.settings.thumbnailPath)n=this.settings.thumbnailPath(t,e,i);else{var o=t.match(this.settings.extension),r=null!==o?o[0]:"";n=t.replace(this.settings.extension,""),n=this.removeSuffix(n,this.getUsedSuffix(n)),n+=this.getSuffix(e,i)+r}return n},e.prototype.showImg=function(t,e){this.settings.cssAnimation?(t.addClass("entry-visible"),e&&e()):t.stop().fadeTo(this.settings.imagesAnimationDuration,1,e)},e.prototype.extractImgSrcFromImage=function(t){var e="undefined"!=typeof t.data("safe-src")?t.data("safe-src"):t.attr("src");return t.data("jg.originalSrc",e),e},e.prototype.imgFromEntry=function(t){var e=t.find("> img");return 0===e.length&&(e=t.find("> a > img")),0===e.length?null:e},e.prototype.captionFromEntry=function(t){var e=t.find("> .caption");return 0===e.length?null:e},e.prototype.displayEntry=function(t,e,i,n,o,r){t.width(n),t.height(r),t.css("top",i),t.css("left",e);var s=this.imgFromEntry(t);if(null!==s){s.css("width",n),s.css("height",o),s.css("margin-left",-n/2),s.css("margin-top",-o/2);var a=s.attr("src"),h=this.newSrc(a,n,o);s.one("error",function(){s.attr("src",s.data("jg.originalSrc"))});var u=function(){a!==h&&s.attr("src",h)};"skipped"===t.data("jg.loaded")?this.onImageEvent(a,$.proxy(function(){this.showImg(t,u),t.data("jg.loaded",!0)},this)):this.showImg(t,u)}else this.showImg(t);this.displayEntryCaption(t)},e.prototype.displayEntryCaption=function(t){var e=this.imgFromEntry(t);if(null!==e&&this.settings.captions){var i=this.captionFromEntry(t);if(null===i){var n=e.attr("alt");this.isValidCaption(n)||(n=t.attr("title")),this.isValidCaption(n)&&(i=$('<div class="caption">'+n+"</div>"),t.append(i),t.data("jg.createdCaption",!0))}null!==i&&(this.settings.cssAnimation||i.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity),this.addCaptionEventsHandlers(t))}else this.removeCaptionEventsHandlers(t)},e.prototype.isValidCaption=function(t){return"undefined"!=typeof t&&t.length>0},e.prototype.onEntryMouseEnterForCaption=function(t){var e=this.captionFromEntry($(t.currentTarget));this.settings.cssAnimation?e.addClass("caption-visible").removeClass("caption-hidden"):e.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.visibleOpacity)},e.prototype.onEntryMouseLeaveForCaption=function(t){var e=this.captionFromEntry($(t.currentTarget));this.settings.cssAnimation?e.removeClass("caption-visible").removeClass("caption-hidden"):e.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.nonVisibleOpacity)},e.prototype.addCaptionEventsHandlers=function(t){var e=t.data("jg.captionMouseEvents");"undefined"==typeof e&&(e={mouseenter:$.proxy(this.onEntryMouseEnterForCaption,this),mouseleave:$.proxy(this.onEntryMouseLeaveForCaption,this)},t.on("mouseenter",void 0,void 0,e.mouseenter),t.on("mouseleave",void 0,void 0,e.mouseleave),t.data("jg.captionMouseEvents",e))},e.prototype.removeCaptionEventsHandlers=function(t){var e=t.data("jg.captionMouseEvents");"undefined"!=typeof e&&(t.off("mouseenter",void 0,e.mouseenter),t.off("mouseleave",void 0,e.mouseleave),t.removeData("jg.captionMouseEvents"))},e.prototype.prepareBuildingRow=function(t){var e,i,n,o,r,s=!0,a=0,h=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,u=h/this.buildingRow.aspectRatio,l=this.settings.rowHeight,d=this.buildingRow.width/h>this.settings.justifyThreshold;if(t&&"hide"===this.settings.lastRow&&!d){for(e=0;e<this.buildingRow.entriesBuff.length;e++)i=this.buildingRow.entriesBuff[e],this.settings.cssAnimation?i.removeClass("entry-visible"):i.stop().fadeTo(0,0);return-1}for(t&&!d&&"justify"!==this.settings.lastRow&&"hide"!==this.settings.lastRow&&(s=!1,this.rows>0&&(l=(this.offY-this.border-this.settings.margins*this.rows)/this.rows,s=l*this.buildingRow.aspectRatio/h>this.settings.justifyThreshold)),e=0;e<this.buildingRow.entriesBuff.length;e++)i=this.buildingRow.entriesBuff[e],n=i.data("jg.width")/i.data("jg.height"),s?(o=e===this.buildingRow.entriesBuff.length-1?h:u*n,r=u):(o=l*n,r=l),h-=Math.round(o),i.data("jg.jwidth",Math.round(o)),i.data("jg.jheight",Math.ceil(r)),(0===e||a>r)&&(a=r);return this.settings.fixedHeight&&a>this.settings.rowHeight&&(a=this.settings.rowHeight),this.buildingRow.height=a,s},e.prototype.clearBuildingRow=function(){this.buildingRow.entriesBuff=[],this.buildingRow.aspectRatio=0,this.buildingRow.width=0},e.prototype.flushRow=function(t){var e=this.settings,i,n,o=this.border,r;if(n=this.prepareBuildingRow(t),t&&"hide"===e.lastRow&&-1===n)return void this.clearBuildingRow();if(this.maxRowHeight.isPercentage?this.maxRowHeight.value*e.rowHeight<this.buildingRow.height&&(this.buildingRow.height=this.maxRowHeight.value*e.rowHeight):this.maxRowHeight.value>0&&this.maxRowHeight.value<this.buildingRow.height&&(this.buildingRow.height=this.maxRowHeight.value),"center"===e.lastRow||"right"===e.lastRow){var s=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*e.margins;for(r=0;r<this.buildingRow.entriesBuff.length;r++)i=this.buildingRow.entriesBuff[r],s-=i.data("jg.jwidth");"center"===e.lastRow?o+=s/2:"right"===e.lastRow&&(o+=s)}for(r=0;r<this.buildingRow.entriesBuff.length;r++)i=this.buildingRow.entriesBuff[r],this.displayEntry(i,o,this.offY,i.data("jg.jwidth"),i.data("jg.jheight"),this.buildingRow.height),o+=i.data("jg.jwidth")+e.margins;this.galleryHeightToSet=this.offY+this.buildingRow.height+this.border,this.$gallery.height(this.galleryHeightToSet+this.getSpinnerHeight()),(!t||this.buildingRow.height<=e.rowHeight&&n)&&(this.offY+=this.buildingRow.height+e.margins,this.rows+=1,this.clearBuildingRow(),this.$gallery.trigger("jg.rowflush"))};var i=!1;e.prototype.checkWidth=function(){this.checkWidthIntervalId=setInterval($.proxy(function(){var e=parseFloat(this.$gallery.width());t()===i?Math.abs(e-this.galleryWidth)>this.settings.refreshSensitivity&&(this.galleryWidth=e,this.rewind(),this.startImgAnalyzer(!0)):(i=t(),this.galleryWidth=e)},this),this.settings.refreshTime)},e.prototype.isSpinnerActive=function(){return null!==this.spinner.intervalId},e.prototype.getSpinnerHeight=function(){return this.spinner.$el.innerHeight()},e.prototype.stopLoadingSpinnerAnimation=function(){clearInterval(this.spinner.intervalId),this.spinner.intervalId=null,this.$gallery.height(this.$gallery.height()-this.getSpinnerHeight()),this.spinner.$el.detach()},e.prototype.startLoadingSpinnerAnimation=function(){var t=this.spinner,e=t.$el.find("span");clearInterval(t.intervalId),this.$gallery.append(t.$el),this.$gallery.height(this.offY+this.buildingRow.height+this.getSpinnerHeight()),t.intervalId=setInterval(function(){t.phase<e.length?e.eq(t.phase).fadeTo(t.timeSlot,1):e.eq(t.phase-e.length).fadeTo(t.timeSlot,0),t.phase=(t.phase+1)%(2*e.length)},t.timeSlot)},e.prototype.rewind=function(){this.lastAnalyzedIndex=-1,this.offY=this.border,this.rows=0,this.clearBuildingRow()},e.prototype.updateEntries=function(t){return this.entries=this.$gallery.find(this.settings.selector).toArray(),0===this.entries.length?!1:(this.settings.filter?this.modifyEntries(this.filterArray,t):this.modifyEntries(this.resetFilters,t),$.isFunction(this.settings.sort)?this.modifyEntries(this.sortArray,t):this.settings.randomize&&this.modifyEntries(this.shuffleArray,t),!0)},e.prototype.insertToGallery=function(t){var e=this;$.each(t,function(){$(this).appendTo(e.$gallery)})},e.prototype.shuffleArray=function(t){var e,i,n;for(e=t.length-1;e>0;e--)i=Math.floor(Math.random()*(e+1)),n=t[e],t[e]=t[i],t[i]=n;return this.insertToGallery(t),t},e.prototype.sortArray=function(t){return t.sort(this.settings.sort),this.insertToGallery(t),t},e.prototype.resetFilters=function(t){for(var e=0;e<t.length;e++)$(t[e]).removeClass("jg-filtered");return t},e.prototype.filterArray=function(t){var e=this.settings;return"string"===$.type(e.filter)?t.filter(function(t){var i=$(t);return i.is(e.filter)?(i.removeClass("jg-filtered"),!0):(i.addClass("jg-filtered"),!1)}):$.isFunction(e.filter)?t.filter(e.filter):void 0},e.prototype.modifyEntries=function(t,e){var i=e?this.entries.splice(this.lastAnalyzedIndex+1,this.entries.length-this.lastAnalyzedIndex-1):this.entries;i=t.call(this,i),this.entries=e?this.entries.concat(i):i},e.prototype.destroy=function(){clearInterval(this.checkWidthIntervalId),$.each(this.entries,$.proxy(function(t,e){var i=$(e);i.css("width",""),i.css("height",""),i.css("top",""),i.css("left",""),i.data("jg.loaded",void 0),i.removeClass("jg-entry");var n=this.imgFromEntry(i);n.css("width",""),n.css("height",""),n.css("margin-left",""),n.css("margin-top",""),n.attr("src",n.data("jg.originalSrc")),n.data("jg.originalSrc",void 0),this.removeCaptionEventsHandlers(i);var o=this.captionFromEntry(i);i.data("jg.createdCaption")?(i.data("jg.createdCaption",void 0),null!==o&&o.remove()):null!==o&&o.fadeTo(0,1)},this)),this.$gallery.css("height",""),this.$gallery.removeClass("justified-gallery"),this.$gallery.data("jg.controller",void 0)},e.prototype.analyzeImages=function(t){for(var e=this.lastAnalyzedIndex+1;e<this.entries.length;e++){var i=$(this.entries[e]);if(i.data("jg.loaded")===!0||"skipped"===i.data("jg.loaded")){var n=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,o=i.data("jg.width")/i.data("jg.height");if(n/(this.buildingRow.aspectRatio+o)<this.settings.rowHeight&&(this.flushRow(!1),++this["yield"].flushed>=this["yield"].every))return void this.startImgAnalyzer(t);this.buildingRow.entriesBuff.push(i),this.buildingRow.aspectRatio+=o,this.buildingRow.width+=o*this.settings.rowHeight,this.lastAnalyzedIndex=e}else if("error"!==i.data("jg.loaded"))return}this.buildingRow.entriesBuff.length>0&&this.flushRow(!0),this.isSpinnerActive()&&this.stopLoadingSpinnerAnimation(),this.stopImgAnalyzerStarter(),this.$gallery.trigger(t?"jg.resize":"jg.complete"),this.$gallery.height(this.galleryHeightToSet)},e.prototype.stopImgAnalyzerStarter=function(){this["yield"].flushed=0,null!==this.imgAnalyzerTimeout&&clearTimeout(this.imgAnalyzerTimeout)},e.prototype.startImgAnalyzer=function(t){var e=this;this.stopImgAnalyzerStarter(),this.imgAnalyzerTimeout=setTimeout(function(){e.analyzeImages(t)},.001)},e.prototype.onImageEvent=function(t,e,i){if(e||i){var n=new Image,o=$(n);e&&o.one("load",function(){o.off("load error"),e(n)}),i&&o.one("error",function(){o.off("load error"),i(n)}),n.src=t}},e.prototype.init=function(){var t=!1,e=!1,i=this;$.each(this.entries,function(n,o){var r=$(o),s=i.imgFromEntry(r);if(r.addClass("jg-entry"),r.data("jg.loaded")!==!0&&"skipped"!==r.data("jg.loaded"))if(null!==i.settings.rel&&r.attr("rel",i.settings.rel),null!==i.settings.target&&r.attr("target",i.settings.target),null!==s){var a=i.extractImgSrcFromImage(s);if(s.attr("src",a),i.settings.waitThumbnailsLoad===!1){var h=parseFloat(s.attr("width")),u=parseFloat(s.attr("height"));if(!isNaN(h)&&!isNaN(u))return r.data("jg.width",h),r.data("jg.height",u),r.data("jg.loaded","skipped"),e=!0,i.startImgAnalyzer(!1),!0}r.data("jg.loaded",!1),t=!0,i.isSpinnerActive()||i.startLoadingSpinnerAnimation(),i.onImageEvent(a,function(t){r.data("jg.width",t.width),r.data("jg.height",t.height),r.data("jg.loaded",!0),i.startImgAnalyzer(!1)},function(){r.data("jg.loaded","error"),i.startImgAnalyzer(!1)})}else r.data("jg.loaded",!0),r.data("jg.width",r.width()|parseFloat(r.css("width"))|1),r.data("jg.height",r.height()|parseFloat(r.css("height"))|1)}),t||e||this.startImgAnalyzer(!1),this.checkWidth()},e.prototype.checkOrConvertNumber=function(t,e){if("string"===$.type(t[e])&&(t[e]=parseFloat(t[e])),"number"!==$.type(t[e]))throw e+" must be a number";if(isNaN(t[e]))throw"invalid number for "+e},e.prototype.checkSizeRangesSuffixes=function(){if("object"!==$.type(this.settings.sizeRangeSuffixes))throw"sizeRangeSuffixes must be defined and must be an object";var t=[];for(var e in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(e)&&t.push(e);for(var i={0:""},n=0;n<t.length;n++)if("string"===$.type(t[n]))try{var o=parseInt(t[n].replace(/^[a-z]+/,""),10);i[o]=this.settings.sizeRangeSuffixes[t[n]]}catch(r){throw"sizeRangeSuffixes keys must contains correct numbers ("+r+")"}else i[t[n]]=this.settings.sizeRangeSuffixes[t[n]];this.settings.sizeRangeSuffixes=i},e.prototype.retrieveMaxRowHeight=function(){var t={};if("string"===$.type(this.settings.maxRowHeight))this.settings.maxRowHeight.match(/^[0-9]+%$/)?(t.value=parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1])/100,t.isPercentage=!1):(t.value=parseFloat(this.settings.maxRowHeight),t.isPercentage=!0);else{if("number"!==$.type(this.settings.maxRowHeight))throw"maxRowHeight must be a number or a percentage";t.value=this.settings.maxRowHeight,t.isPercentage=!1}if(isNaN(t.value))throw"invalid number for maxRowHeight";return t.isPercentage?t.value<100&&(t.value=100):t.value>0&&t.value<this.settings.rowHeight&&(t.value=this.settings.rowHeight),t},e.prototype.checkSettings=function(){this.checkSizeRangesSuffixes(),this.checkOrConvertNumber(this.settings,"rowHeight"),this.checkOrConvertNumber(this.settings,"margins"),this.checkOrConvertNumber(this.settings,"border");var t=["justify","nojustify","left","center","right","hide"];if(-1===t.indexOf(this.settings.lastRow))throw"lastRow must be one of: "+t.join(", ");if(this.checkOrConvertNumber(this.settings,"justifyThreshold"),this.settings.justifyThreshold<0||this.settings.justifyThreshold>1)throw"justifyThreshold must be in the interval [0,1]";if("boolean"!==$.type(this.settings.cssAnimation))throw"cssAnimation must be a boolean";if("boolean"!==$.type(this.settings.captions))throw"captions must be a boolean";if(this.checkOrConvertNumber(this.settings.captionSettings,"animationDuration"),this.checkOrConvertNumber(this.settings.captionSettings,"visibleOpacity"),this.settings.captionSettings.visibleOpacity<0||this.settings.captionSettings.visibleOpacity>1)throw"captionSettings.visibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings.captionSettings,"nonVisibleOpacity"),this.settings.captionSettings.nonVisibleOpacity<0||this.settings.captionSettings.nonVisibleOpacity>1)throw"captionSettings.nonVisibleOpacity must be in the interval [0, 1]";if("boolean"!==$.type(this.settings.fixedHeight))throw"fixedHeight must be a boolean";if(this.checkOrConvertNumber(this.settings,"imagesAnimationDuration"),this.checkOrConvertNumber(this.settings,"refreshTime"),this.checkOrConvertNumber(this.settings,"refreshSensitivity"),"boolean"!==$.type(this.settings.randomize))throw"randomize must be a boolean";if("string"!==$.type(this.settings.selector))throw"selector must be a string";if(this.settings.sort!==!1&&!$.isFunction(this.settings.sort))throw"sort must be false or a comparison function";if(this.settings.filter!==!1&&!$.isFunction(this.settings.filter)&&"string"!==$.type(this.settings.filter))throw"filter must be false, a string or a filter function"},e.prototype.retrieveSuffixRanges=function(){var t=[];for(var e in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(e)&&t.push(parseInt(e,10));return t.sort(function(t,e){return t>e?1:e>t?-1:0}),t},e.prototype.updateSettings=function(t){this.settings=$.extend({},this.settings,t),this.checkSettings(),this.border=this.settings.border>=0?this.settings.border:this.settings.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges()},$.fn.justifiedGallery=function(t){return this.each(function(i,n){var o=$(n);o.addClass("justified-gallery");var r=o.data("jg.controller");if("undefined"==typeof r){if("undefined"!=typeof t&&null!==t&&"object"!==$.type(t)){if("destroy"===t)return;throw"The argument must be an object"}r=new e(o,$.extend({},$.fn.justifiedGallery.defaults,t)),o.data("jg.controller",r)}else if("norewind"===t);else{if("destroy"===t)return void r.destroy();r.updateSettings(t),r.rewind()}r.updateEntries("norewind"===t)&&r.init()})},$.fn.justifiedGallery.defaults={sizeRangeSuffixes:{},thumbnailPath:void 0,rowHeight:120,maxRowHeight:-1,margins:1,border:-1,lastRow:"nojustify",justifyThreshold:.9,fixedHeight:!1,waitThumbnailsLoad:!0,captions:!0,cssAnimation:!1,imagesAnimationDuration:500,captionSettings:{animationDuration:500,visibleOpacity:.7,nonVisibleOpacity:0},rel:null,target:null,extension:/\.[^.\\/]+$/,refreshTime:200,refreshSensitivity:0,randomize:!1,sort:!1,filter:!1,selector:"> a, > div:not(.spinner)"}}(jQuery),function($){var t=$.fn.justifiedGallery,e={};$.fn.enviraJustifiedGallery=function(){var i=t.apply(this,arguments);return e=i.data("jg.controller"),e.displayEntryCaption=function(t){var e=this.imgFromEntry(t);if(null!==e&&this.settings.captions){var i=this.captionFromEntry(t);if(null===i){var n=e.data("envira-caption");this.isValidCaption(n)&&(i=$('<div class="caption">'+n+"</div>"),t.append(i),t.data("jg.createdCaption",!0))}null!==i&&(this.settings.cssAnimation||i.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity),this.addCaptionEventsHandlers(t))}else this.removeCaptionEventsHandlers(t)},e}}(jQuery),/*!
2
  * vintageJS
3
  * Add a retro/vintage effect to images using the HTML5 canvas element
4
  *
6
  * @author Robert Fleischmann <rendro87@gmail.com>
7
  * @version 1.1.5
8
  */
9
+ !function(t,e){"function"==typeof define&&define.amd?define("vintagejs",["jquery"],function(i){return t.VintageJS=e(i)}):"object"==typeof exports?module.exports=e(require("jquery")):t.VintageJS=e(jQuery)}(this,function(t){var e=function(t,e,i){if(0==t instanceof HTMLImageElement)throw"The element (1st parameter) must be an instance of HTMLImageElement";var n,o,r,s,a,h,u,l,d,c=new Image,f=new Image,g=document.createElement("canvas"),p=g.getContext("2d"),m={onStart:function(){},onStop:function(){},onError:function(){},mime:"image/jpeg"},v={curves:!1,screen:!1,desaturate:!1,vignette:!1,lighten:!1,noise:!1,viewFinder:!1,sepia:!1,brightness:!1,contrast:!1};c.onerror=m.onError,c.onload=function(){h=g.width=c.width,u=g.height=c.height,n()},f.onerror=m.onError,f.onload=function(){p.clearRect(0,0,h,u),p.drawImage(f,0,0,h,u),(window.vjsImageCache||(window.vjsImageCache={}))[d]=p.getImageData(0,0,h,u).data,n()},o=function(t){m.onStart(),l={};for(var e in v)l[e]=t[e]||v[e];s=[],l.viewFinder&&s.push(l.viewFinder),c.src==a?n():c.src=a},n=function(){if(0===s.length)return r();var t=s.pop();return d=[h,u,t].join("-"),window.vjsImageCache&&window.vjsImageCache[d]?n():void(f.src=t)},r=function(){var e,i,n;p.clearRect(0,0,h,u),p.drawImage(c,0,0,h,u),(l.vignette||l.lighten)&&(e=Math.sqrt(Math.pow(h/2,2)+Math.pow(u/2,2))),l.vignette&&(p.globalCompositeOperation="source-over",i=p.createRadialGradient(h/2,u/2,0,h/2,u/2,e),i.addColorStop(0,"rgba(0,0,0,0)"),i.addColorStop(.5,"rgba(0,0,0,0)"),i.addColorStop(1,["rgba(0,0,0,",l.vignette,")"].join("")),p.fillStyle=i,p.fillRect(0,0,h,u)),l.lighten&&(p.globalCompositeOperation="lighter",i=p.createRadialGradient(h/2,u/2,0,h/2,u/2,e),i.addColorStop(0,["rgba(255,255,255,",l.lighten,")"].join("")),i.addColorStop(.5,"rgba(255,255,255,0)"),i.addColorStop(1,"rgba(0,0,0,0)"),p.fillStyle=i,p.fillRect(0,0,h,u)),n=p.getImageData(0,0,h,u);var o,r,s,a,d,f,g,v,y,w=n.data;l.contrast&&(y=259*(l.contrast+255)/(255*(259-l.contrast))),l.viewFinder&&(v=window.vjsImageCache[[h,u,l.viewFinder].join("-")]);for(var b=h*u;b>=0;--b)for(o=b<<2,l.curves&&(w[o]=l.curves.r[w[o]],w[o+1]=l.curves.g[w[o+1]],w[o+2]=l.curves.b[w[o+2]]),l.contrast&&(w[o]=y*(w[o]-128)+128,w[o+1]=y*(w[o+1]-128)+128,w[o+2]=y*(w[o+2]-128)+128),l.brightness&&(w[o]+=l.brightness,w[o+1]+=l.brightness,w[o+2]+=l.brightness),l.screen&&(w[o]=255-(255-w[o])*(255-l.screen.r*l.screen.a)/255,w[o+1]=255-(255-w[o+1])*(255-l.screen.g*l.screen.a)/255,w[o+2]=255-(255-w[o+2])*(255-l.screen.b*l.screen.a)/255),l.noise&&(g=l.noise-Math.random()*l.noise/2,w[o]+=g,w[o+1]+=g,w[o+2]+=g),l.viewFinder&&(w[o]=w[o]*v[o]/255,w[o+1]=w[o+1]*v[o+1]/255,w[o+2]=w[o+2]*v[o+2]/255),l.sepia&&(s=w[o],a=w[o+1],d=w[o+2],w[o]=.393*s+.769*a+.189*d,w[o+1]=.349*s+.686*a+.168*d,w[o+2]=.272*s+.534*a+.131*d),l.desaturate&&(f=(w[o]+w[o+1]+w[o+2])/3,w[o]+=(f-w[o])*l.desaturate,w[o+1]+=(f-w[o+1])*l.desaturate,w[o+2]+=(f-w[o+2])*l.desaturate),r=2;r>=0;--r)w[o+r]=~~(w[o+r]>255?255:w[o+r]<0?0:w[o+r]);p.putImageData(n,0,0),t.src=p.canvas.toDataURL(m.mime),m.onStop()},a=t.src,e=e||{};for(var y in m)m[y]=e[y]||m[y];return i&&o(i),{apply:function(){a=t.src},reset:function(){t.src=a},vintage:o}};return t.fn.vintage=function(i,n){return this.each(function(){t.data(this,"vintageJS")||t.data(this,"vintageJS",new e(this,i,n))})},e});var mul_table=[1,57,41,21,203,34,97,73,227,91,149,62,105,45,39,137,241,107,3,173,39,71,65,238,219,101,187,87,81,151,141,133,249,117,221,209,197,187,177,169,5,153,73,139,133,127,243,233,223,107,103,99,191,23,177,171,165,159,77,149,9,139,135,131,253,245,119,231,224,109,211,103,25,195,189,23,45,175,171,83,81,79,155,151,147,9,141,137,67,131,129,251,123,30,235,115,113,221,217,53,13,51,50,49,193,189,185,91,179,175,43,169,83,163,5,79,155,19,75,147,145,143,35,69,17,67,33,65,255,251,247,243,239,59,29,229,113,111,219,27,213,105,207,51,201,199,49,193,191,47,93,183,181,179,11,87,43,85,167,165,163,161,159,157,155,77,19,75,37,73,145,143,141,35,138,137,135,67,33,131,129,255,63,250,247,61,121,239,237,117,29,229,227,225,111,55,109,216,213,211,209,207,205,203,201,199,197,195,193,48,190,47,93,185,183,181,179,178,176,175,173,171,85,21,167,165,41,163,161,5,79,157,78,154,153,19,75,149,74,147,73,144,143,71,141,140,139,137,17,135,134,133,66,131,65,129,1],shg_table=[0,9,10,10,14,12,14,14,16,15,16,15,16,15,15,17,18,17,12,18,16,17,17,19,19,18,19,18,18,19,19,19,20,19,20,20,20,20,20,20,15,20,19,20,20,20,21,21,21,20,20,20,21,18,21,21,21,21,20,21,17,21,21,21,22,22,21,22,22,21,22,21,19,22,22,19,20,22,22,21,21,21,22,22,22,18,22,22,21,22,22,23,22,20,23,22,22,23,23,21,19,21,21,21,23,23,23,22,23,23,21,23,22,23,18,22,23,20,22,23,23,23,21,22,20,22,21,22,24,24,24,24,24,22,21,24,23,23,24,21,24,23,24,22,24,24,22,24,24,22,23,24,24,24,20,23,22,23,24,24,24,24,24,24,24,23,21,23,22,23,24,24,24,22,24,24,24,23,22,24,24,25,23,25,25,23,24,25,25,24,22,25,25,25,24,23,24,25,25,25,25,25,25,25,25,25,25,25,25,23,25,23,24,25,25,25,25,25,25,25,25,25,24,22,25,25,23,25,25,20,24,25,24,25,25,22,24,25,24,25,24,25,25,24,25,25,25,25,22,25,25,25,24,25,24,25,18];jQuery(document).ready(function($){var t="ontouchstart"in document.documentElement;t&&$("body").addClass("envira-touch")}),function(t){"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],t):t(jQuery)}(function($){"use strict";function t(t){return!t||void 0!==t.allowPageScroll||void 0===t.swipe&&void 0===t.swipeStatus||(t.allowPageScroll=h),void 0!==t.click&&void 0===t.tap&&(t.tap=t.click),t||(t={}),t=$.extend({},$.fn.swipe.defaults,t),this.each(function(){var i=$(this),n=i.data(R);n||(n=new e(this,t),i.data(R,n))})}function e(t,e){function p(t){if(!(ut()||$(t.target).closest(e.excludedElements,Yt).length>0)){var i=t.originalEvent?t.originalEvent:t,n,o=E?i.touches[0]:i;return Ut=b,E?$t=i.touches.length:t.preventDefault(),Mt=0,kt=null,Nt=null,Ht=0,Wt=0,Bt=0,Pt=1,Ft=0,Qt=gt(),qt=vt(),at(),!E||$t===e.fingers||e.fingers===y||N()?(dt(0,o),Gt=Tt(),2==$t&&(dt(1,i.touches[1]),Wt=Bt=bt(Qt[0].start,Qt[1].start)),(e.swipeStatus||e.pinchStatus)&&(n=A(i,Ut))):n=!1,n===!1?(Ut=S,A(i,Ut),n):(e.hold&&(te=setTimeout($.proxy(function(){Yt.trigger("hold",[i.target]),e.hold&&(n=e.hold.call(Yt,i,i.target))},this),e.longTapThreshold)),lt(!0),null)}}function z(t){var i=t.originalEvent?t.originalEvent:t;if(Ut!==I&&Ut!==S&&!ht()){var n,o=E?i.touches[0]:i,r=ct(o);if(Vt=Tt(),E&&($t=i.touches.length),e.hold&&clearTimeout(te),Ut=x,2==$t&&(0==Wt?(dt(1,i.touches[1]),Wt=Bt=bt(Qt[0].start,Qt[1].start)):(ct(i.touches[1]),Bt=bt(Qt[0].end,Qt[1].end),Nt=It(Qt[0].end,Qt[1].end)),Pt=xt(Wt,Bt),Ft=Math.abs(Wt-Bt)),$t===e.fingers||e.fingers===y||!E||N()){if(kt=_t(r.start,r.end),P(t,kt),Mt=St(r.start,r.end),Ht=wt(),pt(kt,Mt),(e.swipeStatus||e.pinchStatus)&&(n=A(i,Ut)),!e.triggerOnTouchEnd||e.triggerOnTouchLeave){var s=!0;if(e.triggerOnTouchLeave){var a=Rt(this);s=zt(r.end,a)}!e.triggerOnTouchEnd&&s?Ut=D(x):e.triggerOnTouchLeave&&!s&&(Ut=D(I)),Ut!=S&&Ut!=I||A(i,Ut)}}else Ut=S,A(i,Ut);n===!1&&(Ut=S,A(i,Ut))}}function j(t){var i=t.originalEvent;return E&&i.touches.length>0?(st(),!0):(ht()&&($t=Jt),Vt=Tt(),Ht=wt(),H()||!k()?(Ut=S,A(i,Ut)):e.triggerOnTouchEnd||0==e.triggerOnTouchEnd&&Ut===x?(t.preventDefault(),Ut=I,A(i,Ut)):!e.triggerOnTouchEnd&&X()?(Ut=I,M(i,Ut,c)):Ut===x&&(Ut=S,A(i,Ut)),lt(!1),null)}function C(){$t=0,Vt=0,Gt=0,Wt=0,Bt=0,Pt=1,at(),lt(!1)}function O(t){var i=t.originalEvent;e.triggerOnTouchLeave&&(Ut=D(I),A(i,Ut))}function L(){Yt.unbind(Ct,p),Yt.unbind(At,C),Yt.unbind(Ot,z),Yt.unbind(Lt,j),Dt&&Yt.unbind(Dt,O),lt(!1)}function D(t){var i=t,n=B(),o=k(),r=H();return!n||r?i=S:!o||t!=x||e.triggerOnTouchEnd&&!e.triggerOnTouchLeave?!o&&t==I&&e.triggerOnTouchLeave&&(i=S):i=I,i}function A(t,e){var i=void 0;return Q()||U()?i=M(t,e,l):(q()||N())&&i!==!1&&(i=M(t,e,d)),ot()&&i!==!1?i=M(t,e,f):rt()&&i!==!1?i=M(t,e,g):nt()&&i!==!1&&(i=M(t,e,c)),e===S&&C(t),e===I&&(E?0==t.touches.length&&C(t):C(t)),i}function M(t,h,u){var p=void 0;if(u==l){if(Yt.trigger("swipeStatus",[h,kt||null,Mt||0,Ht||0,$t,Qt]),e.swipeStatus&&(p=e.swipeStatus.call(Yt,t,h,kt||null,Mt||0,Ht||0,$t,Qt),p===!1))return!1;if(h==I&&Y()){if(Yt.trigger("swipe",[kt,Mt,Ht,$t,Qt]),e.swipe&&(p=e.swipe.call(Yt,t,kt,Mt,Ht,$t,Qt),p===!1))return!1;switch(kt){case i:Yt.trigger("swipeLeft",[kt,Mt,Ht,$t,Qt]),e.swipeLeft&&(p=e.swipeLeft.call(Yt,t,kt,Mt,Ht,$t,Qt));break;case n:Yt.trigger("swipeRight",[kt,Mt,Ht,$t,Qt]),e.swipeRight&&(p=e.swipeRight.call(Yt,t,kt,Mt,Ht,$t,Qt));break;case o:Yt.trigger("swipeUp",[kt,Mt,Ht,$t,Qt]),e.swipeUp&&(p=e.swipeUp.call(Yt,t,kt,Mt,Ht,$t,Qt));break;case r:Yt.trigger("swipeDown",[kt,Mt,Ht,$t,Qt]),e.swipeDown&&(p=e.swipeDown.call(Yt,t,kt,Mt,Ht,$t,Qt))}}}if(u==d){if(Yt.trigger("pinchStatus",[h,Nt||null,Ft||0,Ht||0,$t,Pt,Qt]),e.pinchStatus&&(p=e.pinchStatus.call(Yt,t,h,Nt||null,Ft||0,Ht||0,$t,Pt,Qt),p===!1))return!1;if(h==I&&F())switch(Nt){case s:Yt.trigger("pinchIn",[Nt||null,Ft||0,Ht||0,$t,Pt,Qt]),e.pinchIn&&(p=e.pinchIn.call(Yt,t,Nt||null,Ft||0,Ht||0,$t,Pt,Qt));break;case a:Yt.trigger("pinchOut",[Nt||null,Ft||0,Ht||0,$t,Pt,Qt]),e.pinchOut&&(p=e.pinchOut.call(Yt,t,Nt||null,Ft||0,Ht||0,$t,Pt,Qt))}}return u==c?h!==S&&h!==I||(clearTimeout(Kt),clearTimeout(te),J()&&!tt()?(Zt=Tt(),Kt=setTimeout($.proxy(function(){Zt=null,Yt.trigger("tap",[t.target]),e.tap&&(p=e.tap.call(Yt,t,t.target))},this),e.doubleTapThreshold)):(Zt=null,Yt.trigger("tap",[t.target]),e.tap&&(p=e.tap.call(Yt,t,t.target)))):u==f?h!==S&&h!==I||(clearTimeout(Kt),Zt=null,Yt.trigger("doubletap",[t.target]),e.doubleTap&&(p=e.doubleTap.call(Yt,t,t.target))):u==g&&(h!==S&&h!==I||(clearTimeout(Kt),Zt=null,Yt.trigger("longtap",[t.target]),e.longTap&&(p=e.longTap.call(Yt,t,t.target)))),p}function k(){var t=!0;return null!==e.threshold&&(t=Mt>=e.threshold),t}function H(){var t=!1;return null!==e.cancelThreshold&&null!==kt&&(t=mt(kt)-Mt>=e.cancelThreshold),t}function W(){return null!==e.pinchThreshold?Ft>=e.pinchThreshold:!0}function B(){var t;return t=e.maxTimeThreshold?!(Ht>=e.maxTimeThreshold):!0}function P(t,s){if(e.allowPageScroll===h||N())t.preventDefault();else{var a=e.allowPageScroll===u;switch(s){case i:(e.swipeLeft&&a||!a&&e.allowPageScroll!=m)&&t.preventDefault();break;case n:(e.swipeRight&&a||!a&&e.allowPageScroll!=m)&&t.preventDefault();break;case o:(e.swipeUp&&a||!a&&e.allowPageScroll!=v)&&t.preventDefault();break;case r:(e.swipeDown&&a||!a&&e.allowPageScroll!=v)&&t.preventDefault()}}}function F(){var t=G(),e=V(),i=W();return t&&e&&i}function N(){return!!(e.pinchStatus||e.pinchIn||e.pinchOut)}function q(){return!(!F()||!N())}function Y(){var t=B(),e=k(),i=G(),n=V(),o=H(),r=!o&&n&&i&&e&&t;return r}function U(){return!!(e.swipe||e.swipeStatus||e.swipeLeft||e.swipeRight||e.swipeUp||e.swipeDown)}function Q(){return!(!Y()||!U())}function G(){return $t===e.fingers||e.fingers===y||!E}function V(){return 0!==Qt[0].end.x}function X(){return!!e.tap}function J(){return!!e.doubleTap}function Z(){return!!e.longTap}function K(){if(null==Zt)return!1;var t=Tt();return J()&&t-Zt<=e.doubleTapThreshold}function tt(){return K()}function et(){return(1===$t||!E)&&(isNaN(Mt)||Mt<e.threshold)}function it(){return Ht>e.longTapThreshold&&w>Mt}function nt(){return!(!et()||!X())}function ot(){return!(!K()||!J())}function rt(){return!(!it()||!Z())}function st(){Xt=Tt(),Jt=event.touches.length+1}function at(){Xt=0,Jt=0}function ht(){var t=!1;if(Xt){var i=Tt()-Xt;i<=e.fingerReleaseThreshold&&(t=!0)}return t}function ut(){return!(Yt.data(R+"_intouch")!==!0)}function lt(t){t===!0?(Yt.bind(Ot,z),Yt.bind(Lt,j),Dt&&Yt.bind(Dt,O)):(Yt.unbind(Ot,z,!1),Yt.unbind(Lt,j,!1),Dt&&Yt.unbind(Dt,O,!1)),Yt.data(R+"_intouch",t===!0)}function dt(t,e){var i=void 0!==e.identifier?e.identifier:0;return Qt[t].identifier=i,Qt[t].start.x=Qt[t].end.x=e.pageX||e.clientX,Qt[t].start.y=Qt[t].end.y=e.pageY||e.clientY,Qt[t]}function ct(t){var e=void 0!==t.identifier?t.identifier:0,i=ft(e);return i.end.x=t.pageX||t.clientX,i.end.y=t.pageY||t.clientY,i}function ft(t){for(var e=0;e<Qt.length;e++)if(Qt[e].identifier==t)return Qt[e]}function gt(){for(var t=[],e=0;5>=e;e++)t.push({start:{x:0,y:0},end:{x:0,y:0},identifier:0});return t}function pt(t,e){e=Math.max(e,mt(t)),qt[t].distance=e}function mt(t){return qt[t]?qt[t].distance:void 0}function vt(){var t={};return t[i]=yt(i),t[n]=yt(n),t[o]=yt(o),t[r]=yt(r),t}function yt(t){return{direction:t,distance:0}}function wt(){return Vt-Gt}function bt(t,e){var i=Math.abs(t.x-e.x),n=Math.abs(t.y-e.y);return Math.round(Math.sqrt(i*i+n*n))}function xt(t,e){var i=e/t*1;return i.toFixed(2)}function It(){return 1>Pt?a:s}function St(t,e){return Math.round(Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)))}function Et(t,e){var i=t.x-e.x,n=e.y-t.y,o=Math.atan2(n,i),r=Math.round(180*o/Math.PI);return 0>r&&(r=360-Math.abs(r)),r}function _t(t,e){var s=Et(t,e);return 45>=s&&s>=0?i:360>=s&&s>=315?i:s>=135&&225>=s?n:s>45&&135>s?r:o}function Tt(){var t=new Date;return t.getTime()}function Rt(t){t=$(t);var e=t.offset(),i={left:e.left,right:e.left+t.outerWidth(),top:e.top,bottom:e.top+t.outerHeight()};return i}function zt(t,e){return t.x>e.left&&t.x<e.right&&t.y>e.top&&t.y<e.bottom}var jt=E||T||!e.fallbackToMouseEvents,Ct=jt?T?_?"MSPointerDown":"pointerdown":"touchstart":"mousedown",Ot=jt?T?_?"MSPointerMove":"pointermove":"touchmove":"mousemove",Lt=jt?T?_?"MSPointerUp":"pointerup":"touchend":"mouseup",Dt=jt?null:"mouseleave",At=T?_?"MSPointerCancel":"pointercancel":"touchcancel",Mt=0,kt=null,Ht=0,Wt=0,Bt=0,Pt=1,Ft=0,Nt=0,qt=null,Yt=$(t),Ut="start",$t=0,Qt=null,Gt=0,Vt=0,Xt=0,Jt=0,Zt=0,Kt=null,te=null;try{Yt.bind(Ct,p),Yt.bind(At,C)}catch(ee){$.error("events not supported "+Ct+","+At+" on jQuery.swipe")}this.enable=function(){return Yt.bind(Ct,p),Yt.bind(At,C),Yt},this.disable=function(){return L(),Yt},this.destroy=function(){L(),Yt.data(R,null),Yt=null},this.option=function(t,i){if(void 0!==e[t]){if(void 0===i)return e[t];e[t]=i}else $.error("Option "+t+" does not exist on jQuery.swipe.options");return null}}var i="left",n="right",o="up",r="down",s="in",a="out",h="none",u="auto",l="swipe",d="pinch",c="tap",f="doubletap",g="longtap",p="hold",m="horizontal",v="vertical",y="all",w=10,b="start",x="move",I="end",S="cancel",E="ontouchstart"in window,_=window.navigator.msPointerEnabled&&!window.navigator.pointerEnabled,T=window.navigator.pointerEnabled||window.navigator.msPointerEnabled,R="TouchSwipe",z={fingers:1,threshold:75,cancelThreshold:null,pinchThreshold:20,maxTimeThreshold:null,fingerReleaseThreshold:250,longTapThreshold:500,doubleTapThreshold:200,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,pinchIn:null,pinchOut:null,pinchStatus:null,click:null,tap:null,doubleTap:null,longTap:null,hold:null,triggerOnTouchEnd:!0,triggerOnTouchLeave:!1,allowPageScroll:"auto",fallbackToMouseEvents:!0,excludedElements:"label, button, input, select, textarea, a, .noSwipe"};$.fn.swipe=function(e){var i=$(this),n=i.data(R);if(n&&"string"==typeof e){if(n[e])return n[e].apply(this,Array.prototype.slice.call(arguments,1));$.error("Method "+e+" does not exist on jQuery.swipe")}else if(!(n||"object"!=typeof e&&e))return t.apply(this,arguments);return i},$.fn.swipe.defaults=z,$.fn.swipe.phases={PHASE_START:b,PHASE_MOVE:x,PHASE_END:I,PHASE_CANCEL:S},$.fn.swipe.directions={LEFT:i,RIGHT:n,UP:o,DOWN:r,IN:s,OUT:a},$.fn.swipe.pageScroll={NONE:h,HORIZONTAL:m,VERTICAL:v,AUTO:u},$.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:y}}),function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?module.exports=t:t(jQuery)}(function($){function t(t){var n=t||window.event,o=r.call(arguments,1),h=0,l=0,d=0,c=0,f=0,g=0;if(t=$.event.fix(n),t.type="mousewheel","detail"in n&&(d=-1*n.detail),"wheelDelta"in n&&(d=n.wheelDelta),"wheelDeltaY"in n&&(d=n.wheelDeltaY),"wheelDeltaX"in n&&(l=-1*n.wheelDeltaX),"axis"in n&&n.axis===n.HORIZONTAL_AXIS&&(l=-1*d,d=0),h=0===d?l:d,"deltaY"in n&&(d=-1*n.deltaY,h=d),"deltaX"in n&&(l=n.deltaX,0===d&&(h=-1*l)),0!==d||0!==l){if(1===n.deltaMode){var p=$.data(this,"mousewheel-line-height");h*=p,d*=p,l*=p}else if(2===n.deltaMode){var m=$.data(this,"mousewheel-page-height");h*=m,d*=m,l*=m}if(c=Math.max(Math.abs(d),Math.abs(l)),(!a||a>c)&&(a=c,i(n,c)&&(a/=40)),i(n,c)&&(h/=40,l/=40,d/=40),h=Math[h>=1?"floor":"ceil"](h/a),l=Math[l>=1?"floor":"ceil"](l/a),d=Math[d>=1?"floor":"ceil"](d/a),u.settings.normalizeOffset&&this.getBoundingClientRect){var v=this.getBoundingClientRect();f=t.clientX-v.left,g=t.clientY-v.top}return t.deltaX=l,t.deltaY=d,t.deltaFactor=a,t.offsetX=f,t.offsetY=g,t.deltaMode=0,o.unshift(t,h,l,d),s&&clearTimeout(s),s=setTimeout(e,200),($.event.dispatch||$.event.handle).apply(this,o)}}function e(){a=null}function i(t,e){return u.settings.adjustOldDeltas&&"mousewheel"===t.type&&e%120===0}var n=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],o="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],r=Array.prototype.slice,s,a;if($.event.fixHooks)for(var h=n.length;h;)$.event.fixHooks[n[--h]]=$.event.mouseHooks;var u=$.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var e=o.length;e;)this.addEventListener(o[--e],t,!1);else this.onmousewheel=t;$.data(this,"mousewheel-line-height",u.getLineHeight(this)),$.data(this,"mousewheel-page-height",u.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var e=o.length;e;)this.removeEventListener(o[--e],t,!1);else this.onmousewheel=null;$.removeData(this,"mousewheel-line-height"),$.removeData(this,"mousewheel-page-height")},getLineHeight:function(t){var e=$(t),i=e["offsetParent"in $.fn?"offsetParent":"parent"]();return i.length||(i=$("body")),parseInt(i.css("fontSize"),10)||parseInt(e.css("fontSize"),10)||16},getPageHeight:function(t){return $(t).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};$.fn.extend({mousewheel:function(t){return t?this.bind("mousewheel",t):this.trigger("mousewheel")},unmousewheel:function(t){return this.unbind("mousewheel",t)}})}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}(this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||[];return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var r=this._onceEvents&&this._onceEvents[t];o;){var s=r&&r[o];s&&(this.off(t,o),delete r[o]),o.apply(this,e),n+=s?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.enviraImagesLoaded=e(t,t.EvEmitter)}(window,function t(e,i){function n(t,e){for(var i in e)t[i]=e[i];return t}function o(t){var e=[];if(Array.isArray(t))e=t;else if("number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e}function r(t,e,i){return this instanceof r?("string"==typeof t&&(t=document.querySelectorAll(t)),this.elements=o(t),this.options=n({},this.options),"function"==typeof e?i=e:n(this.options,e),i&&this.on("always",i),this.getImages(),$&&(this.jqDeferred=new $.Deferred),void setTimeout(function(){this.check()}.bind(this))):new r(t,e,i)}function s(t){this.img=t}function a(t,e){this.url=t,this.element=e,this.img=new Image}var $=e.jQuery,h=e.console;r.prototype=Object.create(i.prototype),r.prototype.options={},r.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},r.prototype.addElementImages=function(t){"IMG"==t.nodeName&&this.addImage(t),this.options.background===!0&&this.addElementBackgroundImages(t);var e=t.nodeType;if(e&&u[e]){for(var i=t.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var r=t.querySelectorAll(this.options.background);for(n=0;n<r.length;n++){var s=r[n];this.addElementBackgroundImages(s)}}}};var u={1:!0,9:!0,11:!0};return r.prototype.addElementBackgroundImages=function(t){var e=getComputedStyle(t);if(e)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(e.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,t),n=i.exec(e.backgroundImage)}},r.prototype.addImage=function(t){var e=new s(t);this.images.push(e)},r.prototype.addBackground=function(t,e){var i=new a(t,e);this.images.push(i)},r.prototype.check=function(){function t(t,i,n){setTimeout(function(){e.progress(t,i,n)})}var e=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(e){e.once("progress",t),e.check()}):void this.complete()},r.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&h&&h.log("progress: "+i,t,e)},r.prototype.complete=function(){var t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){var e=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[e](this)}},s.prototype=Object.create(i.prototype),s.prototype.check=function(){var t=this.getIsImageComplete();return t?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},s.prototype.getIsImageComplete=function(){return this.img.complete&&void 0!==this.img.naturalWidth},s.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.img,e])},s.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},s.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},s.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},s.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},a.prototype=Object.create(s.prototype),a.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url;var t=this.getIsImageComplete();t&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},a.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},a.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},r.makeJQueryPlugin=function(t){t=t||e.jQuery,t&&($=t,$.fn.enviraImagesLoaded=function(t,e){var i=new r(this,t,e);return i.jqDeferred.promise($(this))})},r.makeJQueryPlugin(),r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function e(t,i){"use strict";function n(e,n,$){function s(t,i,n){var o,r="$()."+e+'("'+i+'")';return t.each(function(t,s){var h=$.data(s,e);if(!h)return void a(e+" not initialized. Cannot call methods, i.e. "+r);var u=h[i];if(!u||"_"==i.charAt(0))return void a(r+" is not a valid method");var l=u.apply(h,n);o=void 0===o?l:o}),void 0!==o?o:t}function h(t,i){t.each(function(t,o){var r=$.data(o,e);r?(r.option(i),r._init()):(r=new n(o,i),$.data(o,e,r))})}$=$||i||t.jQuery,$&&(n.prototype.option||(n.prototype.option=function(t){$.isPlainObject(t)&&(this.options=$.extend(!0,this.options,t))}),$.fn[e]=function(t){if("string"==typeof t){var e=r.call(arguments,1);return s(this,t,e)}return h(this,t),this},o($))}function o($){!$||$&&$.bridget||($.bridget=n)}var r=Array.prototype.slice,s=t.console,a="undefined"==typeof s?function(){}:function(t){s.error(t)};return o(i||t.jQuery),n}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}(this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var r=this._onceEvents&&this._onceEvents[t];o;){var s=r&&r[o];s&&(this.off(t,o),delete r[o]),o.apply(this,e),n+=s?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return e()}):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function i(){"use strict";function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;h>e;e++){var i=a[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||s("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}function o(){if(!u){u=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);r.isBoxSizeOuter=l=200==t(o.width),i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var s={};s.width=e.offsetWidth,s.height=e.offsetHeight;for(var u=s.isBorderBox="border-box"==r.boxSizing,d=0;h>d;d++){var c=a[d],f=r[c],g=parseFloat(f);s[c]=isNaN(g)?0:g}var p=s.paddingLeft+s.paddingRight,m=s.paddingTop+s.paddingBottom,v=s.marginLeft+s.marginRight,y=s.marginTop+s.marginBottom,w=s.borderLeftWidth+s.borderRightWidth,b=s.borderTopWidth+s.borderBottomWidth,x=u&&l,I=t(r.width);I!==!1&&(s.width=I+(x?0:p+w));var S=t(r.height);return S!==!1&&(s.height=S+(x?0:m+b)),s.innerWidth=s.width-(p+w),s.innerHeight=s.height-(m+b),s.outerWidth=s.width+v,s.outerHeight=s.height+y,s}}var s="undefined"==typeof console?e:function(t){console.error(t)},a=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],h=a.length,u=!1,l;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function n(){"use strict";var t=function(){var t=Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i],o=n+"MatchesSelector";if(t[o])return o}}();return function e(i,n){return i[t](n)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function o(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e},i.makeArray=function(t){var e=[];if(Array.isArray(t))e=t;else if(t&&"number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e},i.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},i.getParent=function(t,i){for(;t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,n){t=i.makeArray(t);var o=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!n)return void o.push(t);e(t,n)&&o.push(t);for(var i=t.querySelectorAll(n),r=0;r<i.length;r++)o.push(i[r])}}),o},i.debounceMethod=function(t,e,i){var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];t&&clearTimeout(t);var e=arguments,r=this;this[o]=setTimeout(function(){n.apply(r,e),delete r[o]},i||100)}},i.docReady=function(t){"complete"==document.readyState?t():document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var n=t.console;return i.htmlInit=function(e,o){i.docReady(function(){var r=i.toDashed(o),s="data-"+r,a=document.querySelectorAll("["+s+"]"),h=document.querySelectorAll(".js-"+r),u=i.makeArray(a).concat(i.makeArray(h)),l=s+"-options",d=t.jQuery;u.forEach(function(t){var i=t.getAttribute(s)||t.getAttribute(l),r;try{r=i&&JSON.parse(i)}catch(a){return void(n&&n.error("Error parsing "+s+" on "+t.className+": "+a))}var h=new e(t,r);d&&d.data(t,o,h)})})},i}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function r(t,e){"use strict";function i(t){for(var e in t)return!1;return e=null,!0}function n(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}var r=document.documentElement.style,s="string"==typeof r.transition?"transition":"WebkitTransition",a="string"==typeof r.transform?"transform":"WebkitTransform",h={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[s],u={transform:a,transition:s,transitionDuration:s+"Duration",transitionProperty:s+"Property",transitionDelay:s+"Delay"},l=n.prototype=Object.create(t.prototype);l.constructor=n,l._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},l.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},l.getSize=function(){this.size=e(this.element)},l.css=function(t){var e=this.element.style;for(var i in t){var n=u[i]||i;e[n]=t[i]}},l.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),n=t[e?"left":"right"],o=t[i?"top":"bottom"],r=this.layout.size,s=-1!=n.indexOf("%")?parseFloat(n)/100*r.width:parseInt(n,10),a=-1!=o.indexOf("%")?parseFloat(o)/100*r.height:parseInt(o,10);s=isNaN(s)?0:s,a=isNaN(a)?0:a,s-=e?r.paddingLeft:r.paddingRight,a-=i?r.paddingTop:r.paddingBottom,this.position.x=s,this.position.y=a},l.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",r=i?"left":"right",s=i?"right":"left",a=this.position.x+t[o];e[r]=this.getXValue(a),e[s]="";var h=n?"paddingTop":"paddingBottom",u=n?"top":"bottom",l=n?"bottom":"top",d=this.position.y+t[h];e[u]=this.getYValue(d),e[l]="",this.css(e),this.emitEvent("layout",[this])},l.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},l.getYValue=function(t){
10
+ var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},l._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=parseInt(t,10),r=parseInt(e,10),s=o===this.position.x&&r===this.position.y;if(this.setPosition(t,e),s&&!this.isTransitioning)return void this.layoutPosition();var a=t-i,h=e-n,u={};u.transform=this.getTranslate(a,h),this.transition({to:u,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},l.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop");return t=i?t:-t,e=n?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},l.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},l.moveTo=l._transitionTo,l.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},l._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},l.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var d="opacity,"+o(a);l.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:d,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(h,this,!1)}},l.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},l.onotransitionend=function(t){this.ontransitionend(t)};var c={"-webkit-transform":"transform"};l.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=c[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n]}this.emitEvent("transitionEnd",[this])}},l.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(h,this,!1),this.isTransitioning=!1},l._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var f={transitionProperty:"",transitionDuration:"",transitionDelay:""};return l.removeTransitionStyles=function(){this.css(f)},l.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},l.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},l.remove=function(){return s&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},l.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},l.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},l.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},l.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},l.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},l.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},n}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,n,o,r){return e(t,i,n,o,r)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item)}(window,function s(t,e,i,n,o){"use strict";function r(t,e){var i=n.getQueryElement(t);if(!i)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,u&&(this.$element=u(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e);var o=++d;this.element.outlayerGUID=o,c[o]=this,this._create();var r=this._getOption("initLayout");r&&this.layout()}function s(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],n=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var o=g[n]||1;return i*o}var h=t.console,u=t.jQuery,l=function(){},d=0,c={};r.namespace="outlayer",r.Item=o,r.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var f=r.prototype;n.extend(f,e.prototype),f.option=function(t){n.extend(this.options,t)},f._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},r.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},f._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize()},f.reloadItems=function(){this.items=this._itemize(this.element.children)},f._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var r=e[o],s=new i(r,this);n.push(s)}return n},f._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},f.getItemElements=function(){return this.items.map(function(t){return t.element})},f.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},f._init=f.layout,f._resetLayout=function(){this.getSize()},f.getSize=function(){this.size=i(this.element)},f._getMeasurement=function(t,e){var n=this.options[t],o;n?("string"==typeof n?o=this.element.querySelector(n):n instanceof HTMLElement&&(o=n),this[t]=o?i(o)[e]:n):this[t]=0},f.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},f._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},f._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var n=this._getItemLayoutPosition(t);n.item=t,n.isInstant=e||t.isLayoutInstant,i.push(n)},this),this._processLayoutQueue(i)}},f._getItemLayoutPosition=function(){return{x:0,y:0}},f._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},f.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},f._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},f._postLayout=function(){this.resizeContainer()},f.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},f._getContainerSize=l,f._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},f._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+"Complete",null,[e])}function n(){s++,s==r&&i()}var o=this,r=e.length;if(!e||!r)return void i();var s=0;e.forEach(function(e){e.once(t,n)})},f.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),u)if(this.$element=this.$element||u(this.element),e){var o=u.Event(e);o.type=t,this.$element.trigger(o,i)}else this.$element.trigger(t,i)},f.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},f.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},f.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},f.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){n.removeFrom(this.stamps,t),this.unignore(t)},this)},f._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},f._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},f._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},f._manageStamp=l,f._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t),r={left:e.left-n.left-o.marginLeft,top:e.top-n.top-o.marginTop,right:n.right-e.right-o.marginRight,bottom:n.bottom-e.bottom-o.marginBottom};return r},f.handleEvent=n.handleEvent,f.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},f.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},f.onresize=function(){this.resize()},n.debounceMethod(r,"onresize",100),f.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},f.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},f.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},f.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},f.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},f.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},f.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},f.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},f.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},f.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},f.getItems=function(t){t=n.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},f.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),n.removeFrom(this.items,t)},this)},f.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete c[e],delete this.element.outlayerGUID,u&&u.removeData(this.element,this.constructor.namespace)},r.data=function(t){t=n.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&c[e]},r.create=function(t,e){var i=s(r);return i.defaults=n.extend({},r.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},r.compatOptions),i.namespace=t,i.data=r.data,i.Item=s(o),n.htmlInit(i,t),u&&u.bridget&&u.bridget(t,i),i};var g={ms:1,s:1e3};return r.Item=o,r}),function(t,e){"function"==typeof define&&define.amd?define("enviratope/item",["outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer")):(t.Enviratope=t.Enviratope||{},t.Enviratope.Item=e(t.Outlayer))}(window,function a(t){"use strict";function e(){t.Item.apply(this,arguments)}var i=e.prototype=Object.create(t.Item.prototype),n=i._create;i._create=function(){this.id=this.layout.itemGUID++,n.call(this),this.sortData={}},i.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var t=this.layout.options.getSortData,e=this.layout._sorters;for(var i in t){var n=e[i];this.sortData[i]=n(this.element,this)}}};var o=i.destroy;return i.destroy=function(){o.apply(this,arguments),this.css({display:""})},e}),function(t,e){"function"==typeof define&&define.amd?define("enviratope/layout-mode",["get-size/get-size","outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("get-size"),require("outlayer")):(t.Enviratope=t.Enviratope||{},t.Enviratope.LayoutMode=e(t.getSize,t.Outlayer))}(window,function h(t,e){"use strict";function i(t){this.enviratope=t,t&&(this.options=t.options[this.namespace],this.element=t.element,this.items=t.filteredItems,this.size=t.size)}var n=i.prototype,o=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout","_getOption"];return o.forEach(function(t){n[t]=function(){return e.prototype[t].apply(this.enviratope,arguments)}}),n.needsVerticalResizeLayout=function(){var e=t(this.enviratope.element),i=this.enviratope.size&&e;return i&&e.innerHeight!=this.enviratope.size.innerHeight},n._getMeasurement=function(){this.enviratope._getMeasurement.apply(this,arguments)},n.getColumnWidth=function(){this.getSegmentSize("column","Width")},n.getRowHeight=function(){this.getSegmentSize("row","Height")},n.getSegmentSize=function(t,e){var i=t+e,n="outer"+e;if(this._getMeasurement(i,n),!this[i]){var o=this.getFirstItemSize();this[i]=o&&o[n]||this.enviratope.size["inner"+e]}},n.getFirstItemSize=function(){var e=this.enviratope.filteredItems[0];return e&&e.element&&t(e.element)},n.layout=function(){this.enviratope.layout.apply(this.enviratope,arguments)},n.getSize=function(){this.enviratope.getSize(),this.size=this.enviratope.size},i.modes={},i.create=function(t,e){function o(){i.apply(this,arguments)}return o.prototype=Object.create(n),o.prototype.constructor=o,e&&(o.options=e),o.prototype.namespace=t,i.modes[t]=o,o},i}),function(t,e){"function"==typeof define&&define.amd?define("masonry/masonry",["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function u(t,e){var i=t.create("masonry");return i.compatOptions.fitWidth="isFitWidth",i.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0},i.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var n=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,r=o/n,s=n-o%n,a=s&&1>s?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},i.prototype.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},i.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this._getColGroup(n),r=Math.min.apply(Math,o),s=o.indexOf(r),a={x:this.columnWidth*s,y:r},h=r+t.size.outerHeight,u=this.cols+1-o.length,l=0;u>l;l++)this.colYs[s+l]=h;return a},i.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++){var o=this.colYs.slice(n,n+t);e[n]=Math.max.apply(Math,o)}return e},i.prototype._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),l=(u?n.top:n.bottom)+i.outerHeight,d=a;h>=d;d++)this.colYs[d]=Math.max(l,this.colYs[d])},i.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},i.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.prototype.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i}),function(t,e){"function"==typeof define&&define.amd?define("enviratope/layout-modes/masonry",["../layout-mode","masonry/masonry"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode"),require("masonry-layout")):e(t.Enviratope.LayoutMode,t.Masonry)}(window,function l(t,e){"use strict";var i=t.create("masonry"),n=i.prototype,o={_getElementOffset:!0,layout:!0,_getMeasurement:!0};for(var r in e.prototype)o[r]||(n[r]=e.prototype[r]);var s=n.measureColumns;n.measureColumns=function(){this.items=this.enviratope.filteredItems,s.call(this)};var a=n._getOption;return n._getOption=function(t){return"fitWidth"==t?void 0!==this.options.isFitWidth?this.options.isFitWidth:this.options.fitWidth:a.apply(this.enviratope,arguments)},i}),function(t,e){"function"==typeof define&&define.amd?define("enviratope/layout-modes/fit-rows",["../layout-mode"],e):"object"==typeof exports?module.exports=e(require("../layout-mode")):e(t.Enviratope.LayoutMode)}(window,function d(t){"use strict";var e=t.create("fitRows"),i=e.prototype;return i._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},i._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth+this.gutter,i=this.enviratope.size.innerWidth+this.gutter;0!==this.x&&e+this.x>i&&(this.x=0,this.y=this.maxY);var n={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=e,n},i._getContainerSize=function(){return{height:this.maxY}},e}),function(t,e){"function"==typeof define&&define.amd?define("enviratope/layout-modes/vertical",["../layout-mode"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode")):e(t.Enviratope.LayoutMode)}(window,function c(t){"use strict";var e=t.create("vertical",{horizontalAlignment:0}),i=e.prototype;return i._resetLayout=function(){this.y=0},i._getItemLayoutPosition=function(t){t.getSize();var e=(this.enviratope.size.innerWidth-t.size.outerWidth)*this.options.horizontalAlignment,i=this.y;return this.y+=t.size.outerHeight,{x:e,y:i}},i._getContainerSize=function(){return{height:this.y}},e}),function(t,e){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","desandro-matches-selector/matches-selector","fizzy-ui-utils/utils","./item","./layout-mode","./layout-modes/masonry","./layout-modes/fit-rows","./layout-modes/vertical"],function(i,n,o,r,s,a){return e(t,i,n,o,r,s,a)}):"object"==typeof module&&module.exports?module.exports=e(t,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("./item"),require("./layout-mode"),require("./layout-modes/masonry"),require("./layout-modes/fit-rows"),require("./layout-modes/vertical")):t.Enviratope=e(t,t.Outlayer,t.getSize,t.matchesSelector,t.fizzyUIUtils,t.Enviratope.Item,t.Enviratope.LayoutMode)}(window,function f(t,e,i,n,o,r,s){function a(t,e){return function i(n,o){for(var r=0;r<t.length;r++){var s=t[r],a=n.sortData[s],h=o.sortData[s];if(a>h||h>a){var u=void 0!==e[s]?e[s]:e,l=u?1:-1;return(a>h?1:-1)*l}}return 0}}var h=t.jQuery,u=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},l=e.create("enviratope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});l.Item=r,l.LayoutMode=s;var d=l.prototype;d._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),e.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var t in s.modes)this._initLayoutMode(t)},d.reloadItems=function(){this.itemGUID=0,e.prototype.reloadItems.call(this)},d._itemize=function(){for(var t=e.prototype._itemize.apply(this,arguments),i=0;i<t.length;i++){var n=t[i];n.id=this.itemGUID++}return this._updateItemsSortData(t),t},d._initLayoutMode=function(t){var e=s.modes[t],i=this.options[t]||{};this.options[t]=e.options?o.extend(e.options,i):i,this.modes[t]=new e(this)},d.layout=function(){return!this._isLayoutInited&&this._getOption("initLayout")?void this.arrange():void this._layout()},d._layout=function(){var t=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,t),this._isLayoutInited=!0},d.arrange=function(t){this.option(t),this._getIsInstant();var e=this._filter(this.items);this.filteredItems=e.matches,this._bindArrangeComplete(),this._isInstant?this._noTransition(this._hideReveal,[e]):this._hideReveal(e),this._sort(),this._layout()},d._init=d.arrange,d._hideReveal=function(t){this.reveal(t.needReveal),this.hide(t.needHide)},d._getIsInstant=function(){var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;return this._isInstant=e,e},d._bindArrangeComplete=function(){function t(){e&&i&&n&&o.dispatchEvent("arrangeComplete",null,[o.filteredItems])}var e,i,n,o=this;this.once("layoutComplete",function(){e=!0,t()}),this.once("hideComplete",function(){i=!0,t()}),this.once("revealComplete",function(){n=!0,t()})},d._filter=function(t){var e=this.options.filter;e=e||"*";for(var i=[],n=[],o=[],r=this._getFilterTest(e),s=0;s<t.length;s++){var a=t[s];if(!a.isIgnored){var h=r(a);h&&i.push(a),h&&a.isHidden?n.push(a):h||a.isHidden||o.push(a)}}return{matches:i,needReveal:n,needHide:o}},d._getFilterTest=function(t){return h&&this.options.isJQueryFiltering?function(e){return h(e.element).is(t)}:"function"==typeof t?function(e){return t(e.element)}:function(e){return n(e.element,t)}},d.updateSortData=function(t){var e;t?(t=o.makeArray(t),e=this.getItems(t)):e=this.items,this._getSorters(),this._updateItemsSortData(e)},d._getSorters=function(){var t=this.options.getSortData;for(var e in t){var i=t[e];this._sorters[e]=c(i)}},d._updateItemsSortData=function(t){for(var e=t&&t.length,i=0;e&&e>i;i++){var n=t[i];n.updateSortData()}};var c=function(){function t(t){if("string"!=typeof t)return t;var i=u(t).split(" "),n=i[0],o=n.match(/^\[(.+)\]$/),r=o&&o[1],s=e(r,n),a=l.sortDataParsers[i[1]];return t=a?function(t){return t&&a(s(t))}:function(t){return t&&s(t)}}function e(t,e){return t?function i(e){return e.getAttribute(t)}:function n(t){var i=t.querySelector(e);return i&&i.textContent}}return t}();l.sortDataParsers={parseInt:function(t){return parseInt(t,10)},parseFloat:function(t){return parseFloat(t)}},d._sort=function(){var t=this.options.sortBy;if(t){var e=[].concat.apply(t,this.sortHistory),i=a(e,this.options.sortAscending);this.filteredItems.sort(i),t!=this.sortHistory[0]&&this.sortHistory.unshift(t)}},d._mode=function(){var t=this.options.layoutMode,e=this.modes[t];if(!e)throw new Error("No layout mode: "+t);return e.options=this.options[t],e},d._resetLayout=function(){e.prototype._resetLayout.call(this),this._mode()._resetLayout()},d._getItemLayoutPosition=function(t){return this._mode()._getItemLayoutPosition(t)},d._manageStamp=function(t){this._mode()._manageStamp(t)},d._getContainerSize=function(){return this._mode()._getContainerSize()},d.needsResizeLayout=function(){return this._mode().needsResizeLayout()},d.appended=function(t){var e=this.addItems(t);if(e.length){var i=this._filterRevealAdded(e);this.filteredItems=this.filteredItems.concat(i)}},d.prepended=function(t){var e=this._itemize(t);if(e.length){this._resetLayout(),this._manageStamps();var i=this._filterRevealAdded(e);this.layoutItems(this.filteredItems),this.filteredItems=i.concat(this.filteredItems),this.items=e.concat(this.items)}},d._filterRevealAdded=function(t){var e=this._filter(t);return this.hide(e.needHide),this.reveal(e.matches),this.layoutItems(e.matches,!0),e.matches},d.insert=function(t){var e=this.addItems(t);if(e.length){var i,n,o=e.length;for(i=0;o>i;i++)n=e[i],this.element.appendChild(n.element);var r=this._filter(e).matches;for(i=0;o>i;i++)e[i].isLayoutInstant=!0;for(this.arrange(),i=0;o>i;i++)delete e[i].isLayoutInstant;this.reveal(r)}};var f=d.remove;return d.remove=function(t){t=o.makeArray(t);var e=this.getItems(t);f.call(this,t);for(var i=e&&e.length,n=0;i&&i>n;n++){var r=e[n];o.removeFrom(this.filteredItems,r)}},d.shuffle=function(){for(var t=0;t<this.items.length;t++){var e=this.items[t];e.sortData.random=Math.random()}this.options.sortBy="random",this._sort(),this._layout()},d._noTransition=function(t,e){var i=this.options.transitionDuration;this.options.transitionDuration=0;var n=t.apply(this,e);return this.options.transitionDuration=i,n},d.getFilteredItemElements=function(){return this.filteredItems.map(function(t){return t.element})},l}),function(t){var e,i,n,o,r,s,a,h,u,l,d=0,c={},f=[],g=0,p={},m=[],v=null,y=new Image,w=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,b=/[^\.]\.(swf)\s*$/i,x,I=1,S=0,E="",_,T,R=!1,z=t.extend(t("<div/>")[0],{prop:0}),j=!1,C=function(){i.hide(),y.onerror=y.onload=null,v&&v.abort(),e.empty()},O=function(){return!1===c.onError(f,d,c)?(i.hide(),void(R=!1)):(c.titleShow=!1,c.width="auto",c.height="auto",e.html('<p id="envirabox-error">The requested content cannot be loaded.<br />Please try again later.</p>'),void D())},L=function(){var n=f[d],o,r,a,h,u,l;if(C(),c=t.extend({},t.fn.envirabox.defaults,"undefined"==typeof t(n).data("envirabox")?c:t(n).data("envirabox")),l=c.onStart(f,d,c),l===!1)return void(R=!1);if("object"==typeof l&&(c=t.extend(c,l)),a=c.title||(n.nodeName?t(n).attr("title"):n.title)||"",n.nodeName&&!c.orig&&(c.orig=t(n).children("img:first").length?t(n).children("img:first"):t(n)),""===a&&c.orig&&c.titleFromAlt&&(a=c.orig.attr("alt")),o=c.href||(n.nodeName?t(n).attr("href"):n.href)||null,(/^(?:javascript)/i.test(o)||"#"==o)&&(o=null),c.type?(r=c.type,o||(o=c.content)):c.content?r="html":o&&(r=o.match(w)?"image":o.match(b)?"swf":t(n).hasClass("iframe")?"iframe":0===o.indexOf("#")?"inline":"ajax"),!r)return void O();switch("inline"==r&&(n=o.substr(o.indexOf("#")),r=t(n).length>0?"inline":"ajax"),c.type=r,c.href=o,c.title=a,c.autoDimensions&&("html"==c.type||"inline"==c.type||"ajax"==c.type?(c.width="auto",c.height="auto"):c.autoDimensions=!1),c.modal&&(c.overlayShow=!0,c.hideOnOverlayClick=!1,c.hideOnContentClick=!1,c.enableEscapeButton=!1,c.showCloseButton=!1),c.padding=parseInt(c.padding,10),c.margin=parseInt(c.margin,10),e.css("padding",c.padding+c.margin),t(".envirabox-inline-tmp").unbind("envirabox-cancel").bind("envirabox-change",function(){t(this).replaceWith(s.children())}),r){case"html":e.html(c.content),D();break;case"inline":if(t(n).parent().is("#envirabox-content")===!0)return void(R=!1);t('<div class="envirabox-inline-tmp" />').hide().insertBefore(t(n)).bind("envirabox-cleanup",function(){t(this).replaceWith(s.children())}).bind("envirabox-cancel",function(){t(this).replaceWith(e.children())}),t(n).appendTo(e),D();break;case"image":R=!1,t.envirabox.showActivity(),y=new Image,y.onerror=function(){O()},y.onload=function(){R=!0,y.onerror=y.onload=null,A()},y.src=o;break;case"swf":c.scrolling="no",h='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+c.width+'" height="'+c.height+'"><param name="movie" value="'+o+'"></param>',u="",t.each(c.swf,function(t,e){h+='<param name="'+t+'" value="'+e+'"></param>',u+=" "+t+'="'+e+'"'}),h+='<embed src="'+o+'" type="application/x-shockwave-flash" width="'+c.width+'" height="'+c.height+'"'+u+"></embed></object>",e.html(h),D();break;case"ajax":R=!1,t.envirabox.showActivity(),c.ajax.win=c.ajax.success,v=t.ajax(t.extend({},c.ajax,{url:o,data:c.ajax.data||{},error:function(t,e,i){t.status>0&&O()},success:function(t,n,r){var s="object"==typeof r?r:v;if(200==s.status){if("function"==typeof c.ajax.win){if(l=c.ajax.win(o,t,n,r),l===!1)return void i.hide();"string"!=typeof l&&"object"!=typeof l||(t=l)}e.html(t),D()}}}));break;case"iframe":M()}},D=function(){var i=c.width,n=c.height;i=i.toString().indexOf("%")>-1?parseInt((t(window).width()-2*c.margin)*parseFloat(i)/100,10)+"px":"auto"==i?"auto":i+"px",n=n.toString().indexOf("%")>-1?parseInt((t(window).height()-2*c.margin)*parseFloat(n)/100,10)+"px":"auto"==n?"auto":n+"px",e.wrapInner('<div style="width:'+i+";height:"+n+";overflow: "+("auto"==c.scrolling?"auto":"yes"==c.scrolling?"scroll":"hidden")+';position:relative;"></div>'),c.width=e.width(),c.height=e.height(),M()},A=function(){c.width=y.width,c.height=y.height,t("<img />").attr({id:"envirabox-img",src:y.src,alt:c.title}).appendTo(e),M()},M=function(){var r,v;return i.hide(),o.is(":visible")&&!1===p.onCleanup(m,g,p)?(t.event.trigger("envirabox-cancel"),void(R=!1)):(R=!0,t(s.add(n)).unbind(),t(window).unbind("resize.fb scroll.fb"),t(document).unbind("keydown.fb"),o.is(":visible")&&"outside"!==p.titlePosition&&o.css("height",o.height()),m=f,g=d,p=c,p.overlayShow?(n.css({"background-color":p.overlayColor,opacity:p.overlayOpacity,cursor:p.hideOnOverlayClick?"pointer":"auto",height:t(document).height()}),n.is(":visible")||(j&&t("select:not(#envirabox-tmp select)").filter(function(){return"hidden"!==this.style.visibility}).css({visibility:"hidden"}).one("envirabox-cleanup",function(){this.style.visibility="inherit"}),n.show())):n.hide(),T=q(),H(),o.is(":visible")?(t(a.add(u).add(l)).hide(),r=o.position(),_={top:r.top,left:r.left,width:o.width(),height:o.height()},v=_.width==T.width&&_.height==T.height,void s.fadeTo(p.changeFade,.3,function(){var i=function(){s.html(e.contents()).fadeTo(p.changeFade,1,B)};t.event.trigger("envirabox-change"),s.empty().removeAttr("filter").css({"border-width":p.padding,width:T.width-2*p.padding,height:c.autoDimensions?"auto":T.height-S-2*p.padding}),v?i():(z.prop=0,t(z).animate({prop:1},{duration:p.changeSpeed,easing:p.easingChange,step:F,complete:i}))})):(o.removeAttr("style"),s.css("border-width",p.padding),"elastic"==p.transitionIn?(_=U(),s.html(e.contents()),o.show(),p.opacity&&(T.opacity=0),z.prop=0,void t(z).animate({prop:1},{duration:p.speedIn,easing:p.easingIn,step:F,complete:B})):("inside"==p.titlePosition&&S>0&&h.show(),s.css({width:T.width-2*p.padding,height:c.autoDimensions?"auto":T.height-S-2*p.padding}).html(e.contents()),void o.css(T).fadeIn("none"==p.transitionIn?0:p.speedIn,B))))},k=function(t){return t&&t.length?"float"==p.titlePosition?'<table id="envirabox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="envirabox-title-float-left"></td><td id="envirabox-title-float-main">'+t+'</td><td id="envirabox-title-float-right"></td></tr></table>':'<div id="envirabox-title-'+p.titlePosition+'">'+t+"</div>":!1},H=function(){if(E=p.title||"",S=0,h.empty().removeAttr("style").removeClass(),p.titleShow===!1)return void h.hide();if(E=t.isFunction(p.titleFormat)?p.titleFormat(E,m,g,p):k(E),!E||""===E)return void h.hide();switch(h.addClass("envirabox-title-"+p.titlePosition).html(E).appendTo("body").show(),p.titlePosition){case"inside":h.css({width:T.width-2*p.padding,marginLeft:p.padding,marginRight:p.padding}),S=h.outerHeight(!0),h.appendTo(r),T.height+=S;break;case"over":h.css({marginLeft:p.padding,
11
+ width:T.width-2*p.padding,bottom:p.padding}).appendTo(r);break;case"float":h.css("left",-1*parseInt((h.width()-T.width-40)/2,10)).appendTo(o);break;default:h.css({width:T.width-2*p.padding,paddingLeft:p.padding,paddingRight:p.padding}).appendTo(o)}h.hide()},W=function(){return(p.enableEscapeButton||p.enableKeyboardNav)&&t(document).bind("keydown.fb",function(e){27==e.keyCode&&p.enableEscapeButton?(e.preventDefault(),t.envirabox.close()):37!=e.keyCode&&39!=e.keyCode||!p.enableKeyboardNav||"INPUT"===e.target.tagName||"TEXTAREA"===e.target.tagName||"SELECT"===e.target.tagName||(e.preventDefault(),t.envirabox[37==e.keyCode?"prev":"next"]())}),p.showNavArrows?((p.cyclic&&m.length>1||0!==g)&&u.show(),void((p.cyclic&&m.length>1||g!=m.length-1)&&l.show())):(u.hide(),void l.hide())},B=function(){t.support.opacity||(s.get(0).style.removeAttribute("filter"),o.get(0).style.removeAttribute("filter")),c.autoDimensions&&s.css("height","auto"),o.css("height","auto"),E&&E.length&&h.show(),p.showCloseButton&&a.show(),W(),p.hideOnContentClick&&s.bind("click",t.envirabox.close),p.hideOnOverlayClick&&n.bind("click",t.envirabox.close),t(window).bind("resize.fb",t.envirabox.resize),p.centerOnScroll&&t(window).bind("scroll.fb",t.envirabox.center),"iframe"==p.type&&t('<iframe id="envirabox-frame" name="envirabox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" scrolling="'+c.scrolling+'" src="'+p.href+'"></iframe>').appendTo(s),o.show(),R=!1,t.envirabox.center(),p.onComplete(m,g,p),P()},P=function(){var t,e;m.length-1>g&&(t=m[g+1].href,"undefined"!=typeof t&&t.match(w)&&(e=new Image,e.src=t)),g>0&&(t=m[g-1].href,"undefined"!=typeof t&&t.match(w)&&(e=new Image,e.src=t))},F=function(t){var e={width:parseInt(_.width+(T.width-_.width)*t,10),height:parseInt(_.height+(T.height-_.height)*t,10),top:parseInt(_.top+(T.top-_.top)*t,10),left:parseInt(_.left+(T.left-_.left)*t,10)};"undefined"!=typeof T.opacity&&(e.opacity=.5>t?.5:t),o.css(e),s.css({width:e.width-2*p.padding,height:e.height-S*t-2*p.padding})},N=function(){return[t(window).width()-2*p.margin,t(window).height()-2*p.margin,t(document).scrollLeft()+p.margin,t(document).scrollTop()+p.margin]},q=function(){var t=N(),e={},i=p.autoScale,n=2*p.padding,o;return p.width.toString().indexOf("%")>-1?e.width=parseInt(t[0]*parseFloat(p.width)/100,10):e.width=p.width+n,p.height.toString().indexOf("%")>-1?e.height=parseInt(t[1]*parseFloat(p.height)/100,10):e.height=p.height+n,i&&(e.width>t[0]||e.height>t[1])&&("image"==c.type||"swf"==c.type?(o=p.width/p.height,e.width>t[0]&&(e.width=t[0],e.height=parseInt((e.width-n)/o+n,10)),e.height>t[1]&&(e.height=t[1],e.width=parseInt((e.height-n)*o+n,10))):(e.width=Math.min(e.width,t[0]),e.height=Math.min(e.height,t[1]))),e.top=parseInt(Math.max(t[3]-20,t[3]+.5*(t[1]-e.height-40)),10),e.left=parseInt(Math.max(t[2]-20,t[2]+.5*(t[0]-e.width-40)),10),e},Y=function(t){var e=t.offset();return e.top+=parseInt(t.css("paddingTop"),10)||0,e.left+=parseInt(t.css("paddingLeft"),10)||0,e.top+=parseInt(t.css("border-top-width"),10)||0,e.left+=parseInt(t.css("border-left-width"),10)||0,e.width=t.width(),e.height=t.height(),e},U=function(){var e=c.orig?t(c.orig):!1,i={},n,o;return e&&e.length?(n=Y(e),i={width:n.width+2*p.padding,height:n.height+2*p.padding,top:n.top-p.padding-20,left:n.left-p.padding-20}):(o=N(),i={width:2*p.padding,height:2*p.padding,top:parseInt(o[3]+.5*o[1],10),left:parseInt(o[2]+.5*o[0],10)}),i},Q=function(){return i.is(":visible")?(t("div",i).css("top",-40*I+"px"),void(I=(I+1)%12)):void clearInterval(x)};t.fn.envirabox=function(e){return t(this).length?(t(this).data("envirabox",t.extend({},e,t.metadata?t(this).metadata():{})).unbind("click.fb").bind("click.fb",function(e){if(e.preventDefault(),!R){R=!0,t(this).blur(),f=[],d=0;var i=t(this).attr("rel")||"";i&&""!=i&&"nofollow"!==i?(f=t("a[rel="+i+"], area[rel="+i+"]"),d=f.index(this)):f.push(this),L()}}),this):this},t.envirabox=function(e){var i;if(!R){if(R=!0,i="undefined"!=typeof arguments[1]?arguments[1]:{},f=[],d=parseInt(i.index,10)||0,t.isArray(e)){for(var n=0,o=e.length;o>n;n++)"object"==typeof e[n]?t(e[n]).data("envirabox",t.extend({},i,e[n])):e[n]=t({}).data("envirabox",t.extend({content:e[n]},i));f=jQuery.merge(f,e)}else"object"==typeof e?t(e).data("envirabox",t.extend({},i,e)):e=t({}).data("envirabox",t.extend({content:e},i)),f.push(e);(d>f.length||0>d)&&(d=0),L()}},t.envirabox.showActivity=function(){clearInterval(x),i.show(),x=setInterval(Q,66)},t.envirabox.hideActivity=function(){i.hide()},t.envirabox.next=function(){return t.envirabox.pos(g+1)},t.envirabox.prev=function(){return t.envirabox.pos(g-1)},t.envirabox.pos=function(t){R||(t=parseInt(t),f=m,t>-1&&t<m.length?(d=t,L()):p.cyclic&&m.length>1&&(d=t>=m.length?0:m.length-1,L()))},t.envirabox.cancel=function(){R||(R=!0,t.event.trigger("envirabox-cancel"),C(),c.onCancel(f,d,c),R=!1)},t.envirabox.close=function(){function e(){n.fadeOut("fast"),h.empty().hide(),o.hide(),t.event.trigger("envirabox-cleanup"),s.empty(),p.onClosed(m,g,p),m=c=[],g=d=0,p=c={},R=!1}if(!R&&!o.is(":hidden")){if(R=!0,p&&!1===p.onCleanup(m,g,p))return void(R=!1);if(C(),t(a.add(u).add(l)).hide(),t(s.add(n)).unbind(),t(window).unbind("resize.fb scroll.fb"),t(document).unbind("keydown.fb"),s.find("iframe").attr("src",j&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank"),"inside"!==p.titlePosition&&h.empty(),o.stop(),"elastic"==p.transitionOut){_=U();var i=o.position();T={top:i.top,left:i.left,width:o.width(),height:o.height()},p.opacity&&(T.opacity=1),h.empty().hide(),z.prop=1,t(z).animate({prop:0},{duration:p.speedOut,easing:p.easingOut,step:F,complete:e})}else o.fadeOut("none"==p.transitionOut?0:p.speedOut,e)}},t.envirabox.resize=function(){n.is(":visible")&&n.css("height",t(document).height());var e,i;T=q(),H(),h.show(),e=o.position(),_={top:e.top,left:e.left,width:o.width(),height:o.height()},i=_.width==T.width&&_.height==T.height,i||(z.prop=0,t(z).animate({prop:1},{duration:p.changeSpeed,easing:p.easingChange,step:F})),s.css({width:T.width-2*p.padding,height:c.autoDimensions?"auto":T.height-S-2*p.padding}),o.css(T),t.envirabox.center(!0)},t.envirabox.center=function(){var t,e;R||(e=arguments[0]===!0?1:0,t=N(),!e&&(o.width()>t[0]||o.height()>t[1])||o.stop().animate({top:parseInt(Math.max(t[3]-20,t[3]+.5*(t[1]-s.height()-40)-p.padding)),left:parseInt(Math.max(t[2]-20,t[2]+.5*(t[0]-s.width()-40)-p.padding))},"number"==typeof arguments[0]?arguments[0]:200))},t.envirabox.init=function(){t("#envirabox-wrap").length||(t("body").append(e=t('<div id="envirabox-tmp"></div>'),i=t('<div id="envirabox-loading"><div></div></div>'),n=t('<div id="envirabox-overlay"></div>'),o=t('<div id="envirabox-wrap"></div>')),r=t('<div id="envirabox-outer"></div>').append('<div class="envirabox-bg" id="envirabox-bg-n"></div><div class="envirabox-bg" id="envirabox-bg-ne"></div><div class="envirabox-bg" id="envirabox-bg-e"></div><div class="envirabox-bg" id="envirabox-bg-se"></div><div class="envirabox-bg" id="envirabox-bg-s"></div><div class="envirabox-bg" id="envirabox-bg-sw"></div><div class="envirabox-bg" id="envirabox-bg-w"></div><div class="envirabox-bg" id="envirabox-bg-nw"></div>').appendTo(o),r.append(s=t('<div id="envirabox-content"></div>'),a=t('<a id="envirabox-close"></a>'),h=t('<div id="envirabox-title"></div>'),u=t('<a href="javascript:;" id="envirabox-left"><span class="fancy-ico" id="envirabox-left-ico"></span></a>'),l=t('<a href="javascript:;" id="envirabox-right"><span class="fancy-ico" id="envirabox-right-ico"></span></a>')),a.click(t.envirabox.close),i.click(t.envirabox.cancel),u.click(function(e){e.preventDefault(),t.envirabox.prev()}),l.click(function(e){e.preventDefault(),t.envirabox.next()}),t.fn.mousewheel&&o.bind("mousewheel.fb",function(e,i){R?e.preventDefault():0!=t(e.target).get(0).clientHeight&&t(e.target).get(0).scrollHeight!==t(e.target).get(0).clientHeight||(e.preventDefault(),t.envirabox[i>0?"prev":"next"]())}),t.support.opacity||o.addClass("envirabox-ie"),j&&(i.addClass("envirabox-ie6"),o.addClass("envirabox-ie6"),t('<iframe id="envirabox-hide-sel-frame" src="'+(/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank")+'" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo(r)))},t.fn.envirabox.defaults={padding:10,margin:40,opacity:!1,modal:!1,cyclic:!1,scrolling:"auto",width:560,height:340,autoScale:!0,autoDimensions:!0,centerOnScroll:!1,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:!0,hideOnContentClick:!1,overlayShow:!0,overlayOpacity:.7,overlayColor:"#777",titleShow:!0,titlePosition:"float",titleFormat:null,titleFromAlt:!1,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing",easingOut:"swing",showCloseButton:!0,showNavArrows:!0,enableEscapeButton:!0,enableKeyboardNav:!0,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}},t(document).ready(function(){t.envirabox.init()})}(jQuery);
envira-gallery-lite.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: Envira Gallery is best responsive WordPress gallery plugin. This is the lite version.
6
  * Author: Thomas Griffin
7
  * Author URI: http://enviragallery.com
8
- * Version: 1.5.1
9
  * Text Domain: envira-gallery
10
  *
11
  * Envira Gallery is free software: you can redistribute it and/or modify
@@ -53,7 +53,7 @@ class Envira_Gallery_Lite {
53
  *
54
  * @var string
55
  */
56
- public $version = '1.5.1';
57
 
58
  /**
59
  * The name of the plugin.
5
  * Description: Envira Gallery is best responsive WordPress gallery plugin. This is the lite version.
6
  * Author: Thomas Griffin
7
  * Author URI: http://enviragallery.com
8
+ * Version: 1.5.4
9
  * Text Domain: envira-gallery
10
  *
11
  * Envira Gallery is free software: you can redistribute it and/or modify
53
  *
54
  * @var string
55
  */
56
+ public $version = '1.5.4';
57
 
58
  /**
59
  * The name of the plugin.
includes/admin/metaboxes.php CHANGED
@@ -853,12 +853,13 @@ class Envira_Gallery_Metaboxes {
853
  </tbody>
854
  </table>
855
  </div>
 
 
 
856
  <div id="envira-config-description-settings-box">
857
  <table class="form-table">
858
  <tbody>
859
- <?php
860
- if ( class_exists( 'Envira_Gallery' ) ) {
861
- ?>
862
  <!-- Display Description -->
863
  <tr id="envira-config-display-description-box">
864
  <th scope="row">
@@ -899,12 +900,12 @@ class Envira_Gallery_Metaboxes {
899
  <p class="description"><?php _e( 'The description to display for this gallery.', 'envira-gallery' ); ?></p>
900
  </td>
901
  </tr>
902
- <?php
903
- }
904
- ?>
905
  </tbody>
906
  </table>
907
  </div>
 
 
 
908
  <div id="envira-config-standard-settings-box">
909
  <table class="form-table">
910
  <tbody>
853
  </tbody>
854
  </table>
855
  </div>
856
+ <?php
857
+ if ( class_exists( 'Envira_Gallery' ) ) {
858
+ ?>
859
  <div id="envira-config-description-settings-box">
860
  <table class="form-table">
861
  <tbody>
862
+
 
 
863
  <!-- Display Description -->
864
  <tr id="envira-config-display-description-box">
865
  <th scope="row">
900
  <p class="description"><?php _e( 'The description to display for this gallery.', 'envira-gallery' ); ?></p>
901
  </td>
902
  </tr>
 
 
 
903
  </tbody>
904
  </table>
905
  </div>
906
+ <?php
907
+ }
908
+ ?>
909
  <div id="envira-config-standard-settings-box">
910
  <table class="form-table">
911
  <tbody>
includes/global/shortcode.php CHANGED
@@ -84,6 +84,7 @@ class Envira_Gallery_Shortcode {
84
 
85
  // Register main gallery style.
86
  wp_register_style( $this->base->plugin_slug . '-style', plugins_url( 'assets/css/envira.css', $this->base->file ), array(), $this->base->version );
 
87
 
88
  // if ( $this->get_config( 'columns', $data ) == 0 ) :
89
  wp_register_style( $this->base->plugin_slug . '-jgallery', plugins_url( 'assets/css/justifiedGallery.css', $this->base->file ), array(), $this->base->version );
@@ -165,11 +166,12 @@ class Envira_Gallery_Shortcode {
165
 
166
  // Load scripts and styles.
167
  wp_enqueue_style( $this->base->plugin_slug . '-style' );
 
168
  wp_enqueue_style( $this->base->plugin_slug . '-jgallery' );
169
  wp_enqueue_script( $this->base->plugin_slug . '-script' );
170
 
171
  // Load custom gallery themes if necessary.
172
- if ( 'base' !== $this->get_config( 'gallery_theme', $data ) && $this->get_config( 'columns', $data ) > 0 ) {
173
  // if columns is zero, then it's automattic which means we do not load gallery themes because it will mess up the new javascript layout
174
  $this->load_gallery_theme( $this->get_config( 'gallery_theme', $data ) );
175
  }
@@ -197,7 +199,7 @@ class Envira_Gallery_Shortcode {
197
  $gallery = $this->description( $gallery, $data );
198
  }
199
 
200
-
201
  $opacity_insert = false;
202
  if ( $this->get_config( 'columns', $data ) == 0 ) {
203
  $opacity_insert = ' style="opacity: 0.0" ';
@@ -308,7 +310,7 @@ class Envira_Gallery_Shortcode {
308
  $output = apply_filters( 'envira_gallery_output_before_link', $output, $id, $item, $data, $i );
309
 
310
  // Top Left box
311
-
312
  $css_class = false; // no css classes yet
313
  $css_class = apply_filters( 'envira_gallery_output_dynamic_position_css', $css_class, $output, $id, $item, $data, $i, 'top-left' );
314
 
@@ -326,7 +328,7 @@ class Envira_Gallery_Shortcode {
326
  $output .= '</div>';
327
 
328
  // Bottom Left box
329
-
330
  $css_class = false; // no css classes yet
331
  $css_class = apply_filters( 'envira_gallery_output_dynamic_position_css', $css_class, $output, $id, $item, $data, $i, 'bottom-left' );
332
 
@@ -687,9 +689,9 @@ class Envira_Gallery_Shortcode {
687
  $('#envira-gallery-<?php echo $data["id"]; ?>').enviraJustifiedGallery({
688
  rowHeight : <?php echo $justified_row_height; ?>,
689
  maxRowHeight: -1,
690
- selector: '> div > div',
691
  lastRow: 'nojustify'
692
- });
693
 
694
  <?php if ( $gallery_theme == 'js-desaturate' || $gallery_theme == 'js-threshold' || $gallery_theme == 'js-blur' || $gallery_theme == 'js-vintage' ) : ?>
695
 
@@ -721,7 +723,7 @@ class Envira_Gallery_Shortcode {
721
  $('#envira-gallery-<?php echo $data["id"]; ?> img').hover(
722
  function() {
723
  $(this).stop().animate({opacity: 1}, 200);
724
- },
725
  function() {
726
  $(this).stop().animate({opacity: 0}, 200);
727
  }
@@ -735,13 +737,13 @@ class Envira_Gallery_Shortcode {
735
  $('#envira-gallery-<?php echo $data["id"]; ?> img').hover(
736
  function() {
737
  $(this).removeClass('envira-<?php echo $gallery_theme; ?>');
738
- },
739
  function() {
740
  $(this).addClass('envira-<?php echo $gallery_theme; ?>');
741
  }
742
  );
743
  }
744
-
745
 
746
  });
747
 
@@ -820,9 +822,19 @@ class Envira_Gallery_Shortcode {
820
  // in a Gallery, not just the paginated subset on screen.
821
  // Those Addons can populate this array now which will tell envirabox which images to use.
822
  $lightbox_images = apply_filters( 'envira_gallery_lightbox_images', false, $data );
 
 
 
 
823
 
824
  ?>
825
  envira_gallery_options = {
 
 
 
 
 
 
826
  <?php do_action( 'envira_gallery_api_config', $data ); // Depreciated ?>
827
  <?php do_action( 'envira_gallery_api_envirabox_config', $data ); ?>
828
  <?php if ( ! $this->get_config( 'keyboard', $data ) ) : ?>
@@ -832,7 +844,7 @@ class Envira_Gallery_Shortcode {
832
 
833
  //print_r ($data); exit;
834
 
835
- if ( isset($data['config']['social_lightbox']) && $data['config']['social_lightbox'] == 1 &&
836
  ( null !== $data['config']['social_lightbox_orientation'] && $data['config']['social_lightbox_orientation'] == "vertical" ) ):
837
 
838
  ?>
@@ -1023,30 +1035,21 @@ class Envira_Gallery_Shortcode {
1023
 
1024
  <?php do_action( 'envira_gallery_api_before_show', $data ); ?>
1025
  },
1026
- afterShow: function(){
1027
- <?php
1028
- if ( $this->get_config( 'mobile_touchwipe', $data ) ) {
1029
- ?>
1030
- $('.envirabox-wrap, .envirabox-wrap a.envirabox-nav').swipe( {
1031
- excludedElements:"label, button, input, select, textarea, .noSwipe",
1032
- swipe: function(event, direction, distance, duration, fingerCount, fingerData) {
1033
- if (direction === 'left') {
1034
- $.envirabox.next(direction);
1035
- } else if (direction === 'right') {
1036
- $.envirabox.prev(direction);
1037
- } else if (direction === 'up') {
1038
- <?php
1039
- if ( $this->get_config( 'mobile_touchwipe_close', $data ) ) {
1040
- ?>
1041
- $.envirabox.close();
1042
- <?php
1043
- }
1044
- ?>
1045
- }
1046
  }
1047
- } );
1048
- <?php
1049
- }
1050
 
1051
  // If title helper = float_wrap, add a CSS class so we can disable word-wrap
1052
  if ( $this->get_config( 'title_display', $data ) == 'float_wrap' ) {
@@ -1078,7 +1081,7 @@ class Envira_Gallery_Shortcode {
1078
  $.each(envira_buttons_<?php echo $data['id']; ?>, function(i, val){
1079
  envira_buttons_total_<?php echo $data['id']; ?> += parseInt(val, 10);
1080
  });
1081
-
1082
  envira_buttons_total_<?php echo $data['id']; ?> += 1;
1083
 
1084
  $('#envirabox-buttons ul').width(envira_buttons_total_<?php echo $data['id']; ?>);
84
 
85
  // Register main gallery style.
86
  wp_register_style( $this->base->plugin_slug . '-style', plugins_url( 'assets/css/envira.css', $this->base->file ), array(), $this->base->version );
87
+ wp_register_style( $this->base->plugin_slug . '-fancybox', plugins_url( 'assets/css/fancybox.css', $this->base->file ), array(), $this->base->version );
88
 
89
  // if ( $this->get_config( 'columns', $data ) == 0 ) :
90
  wp_register_style( $this->base->plugin_slug . '-jgallery', plugins_url( 'assets/css/justifiedGallery.css', $this->base->file ), array(), $this->base->version );
166
 
167
  // Load scripts and styles.
168
  wp_enqueue_style( $this->base->plugin_slug . '-style' );
169
+ wp_enqueue_style( $this->base->plugin_slug . '-fancybox' );
170
  wp_enqueue_style( $this->base->plugin_slug . '-jgallery' );
171
  wp_enqueue_script( $this->base->plugin_slug . '-script' );
172
 
173
  // Load custom gallery themes if necessary.
174
+ if ( 'base' !== $this->get_config( 'gallery_theme', $data ) && $this->get_config( 'columns', $data ) > 0 ) {
175
  // if columns is zero, then it's automattic which means we do not load gallery themes because it will mess up the new javascript layout
176
  $this->load_gallery_theme( $this->get_config( 'gallery_theme', $data ) );
177
  }
199
  $gallery = $this->description( $gallery, $data );
200
  }
201
 
202
+
203
  $opacity_insert = false;
204
  if ( $this->get_config( 'columns', $data ) == 0 ) {
205
  $opacity_insert = ' style="opacity: 0.0" ';
310
  $output = apply_filters( 'envira_gallery_output_before_link', $output, $id, $item, $data, $i );
311
 
312
  // Top Left box
313
+
314
  $css_class = false; // no css classes yet
315
  $css_class = apply_filters( 'envira_gallery_output_dynamic_position_css', $css_class, $output, $id, $item, $data, $i, 'top-left' );
316
 
328
  $output .= '</div>';
329
 
330
  // Bottom Left box
331
+
332
  $css_class = false; // no css classes yet
333
  $css_class = apply_filters( 'envira_gallery_output_dynamic_position_css', $css_class, $output, $id, $item, $data, $i, 'bottom-left' );
334
 
689
  $('#envira-gallery-<?php echo $data["id"]; ?>').enviraJustifiedGallery({
690
  rowHeight : <?php echo $justified_row_height; ?>,
691
  maxRowHeight: -1,
692
+ selector: '> div > div',
693
  lastRow: 'nojustify'
694
+ });
695
 
696
  <?php if ( $gallery_theme == 'js-desaturate' || $gallery_theme == 'js-threshold' || $gallery_theme == 'js-blur' || $gallery_theme == 'js-vintage' ) : ?>
697
 
723
  $('#envira-gallery-<?php echo $data["id"]; ?> img').hover(
724
  function() {
725
  $(this).stop().animate({opacity: 1}, 200);
726
+ },
727
  function() {
728
  $(this).stop().animate({opacity: 0}, 200);
729
  }
737
  $('#envira-gallery-<?php echo $data["id"]; ?> img').hover(
738
  function() {
739
  $(this).removeClass('envira-<?php echo $gallery_theme; ?>');
740
+ },
741
  function() {
742
  $(this).addClass('envira-<?php echo $gallery_theme; ?>');
743
  }
744
  );
745
  }
746
+
747
 
748
  });
749
 
822
  // in a Gallery, not just the paginated subset on screen.
823
  // Those Addons can populate this array now which will tell envirabox which images to use.
824
  $lightbox_images = apply_filters( 'envira_gallery_lightbox_images', false, $data );
825
+ $title_fb1 = $this->get_config( 'title_display', $data );
826
+ if ( 'float_wrap' == $title_fb1 || 'float' == $title_fb1 ) {
827
+ $title_fb1 = 'float';
828
+ }
829
 
830
  ?>
831
  envira_gallery_options = {
832
+ // All of these options are for Envira Lite with Fancybox 1 to try and match Fancybox 2.
833
+ padding: 15,
834
+ cyclic: true,
835
+ titlePosition: '<?php echo $title_fb1; ?>',
836
+ // End options for Envira Lite with Fancybox 1.
837
+
838
  <?php do_action( 'envira_gallery_api_config', $data ); // Depreciated ?>
839
  <?php do_action( 'envira_gallery_api_envirabox_config', $data ); ?>
840
  <?php if ( ! $this->get_config( 'keyboard', $data ) ) : ?>
844
 
845
  //print_r ($data); exit;
846
 
847
+ if ( isset($data['config']['social_lightbox']) && $data['config']['social_lightbox'] == 1 &&
848
  ( null !== $data['config']['social_lightbox_orientation'] && $data['config']['social_lightbox_orientation'] == "vertical" ) ):
849
 
850
  ?>
1035
 
1036
  <?php do_action( 'envira_gallery_api_before_show', $data ); ?>
1037
  },
1038
+ onStart: function(){
1039
+ <?php ?>
1040
+ $('#envirabox-wrap, #envirabox-wrap #envirabox-left, #envirabox-wrap #envirabox-right').swipe( {
1041
+ excludedElements:"label, button, input, select, textarea, .noSwipe",
1042
+ swipe: function(event, direction, distance, duration, fingerCount, fingerData) {
1043
+ if (direction === 'left') {
1044
+ $.envirabox.next(direction);
1045
+ } else if (direction === 'right') {
1046
+ $.envirabox.prev(direction);
1047
+ } else if (direction === 'up') {
1048
+ $.envirabox.close();
 
 
 
 
 
 
 
 
 
1049
  }
1050
+ }
1051
+ } );
1052
+ <?php
1053
 
1054
  // If title helper = float_wrap, add a CSS class so we can disable word-wrap
1055
  if ( $this->get_config( 'title_display', $data ) == 'float_wrap' ) {
1081
  $.each(envira_buttons_<?php echo $data['id']; ?>, function(i, val){
1082
  envira_buttons_total_<?php echo $data['id']; ?> += parseInt(val, 10);
1083
  });
1084
+
1085
  envira_buttons_total_<?php echo $data['id']; ?> += 1;
1086
 
1087
  $('#envirabox-buttons ul').width(envira_buttons_total_<?php echo $data['id']; ?>);
languages/envira-gallery.pot CHANGED
@@ -2,9 +2,10 @@
2
  # This file is distributed under the same license as the Envira Gallery Lite package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Envira Gallery Lite 1.5.1\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/envira-gallery\n"
7
- "POT-Creation-Date: 2016-09-03 00:24:53+00:00\n"
 
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -19,26 +20,6 @@ msgid ""
19
  "deactivated. <a href=\"%s\">Click here to return to the Dashboard</a>."
20
  msgstr ""
21
 
22
- #: envira-gallery.php:182
23
- msgid ""
24
- "Please <a href=\"plugins.php\">deactivate</a> the Envira Lite Plugin. Your "
25
- "premium version of Envira Gallery may not work as expected until the Lite "
26
- "version is deactivated."
27
- msgstr ""
28
-
29
- #: envira-gallery.php:197
30
- msgid ""
31
- "Envira Gallery requires PHP 5.3 or greater for some specific functionality. "
32
- "Please have your web host resolve this."
33
- msgstr ""
34
-
35
- #: envira-gallery.php:634
36
- msgid ""
37
- "Sorry, but your version of WordPress does not meet Envira Gallery's required "
38
- "version of <strong>3.8</strong> to run properly. The plugin has been "
39
- "deactivated. <a href=\"%s\">Click here to return to the Dashboard</a>."
40
- msgstr ""
41
-
42
  #: includes/admin/addons.php:79 includes/admin/addons.php:193
43
  msgid "Envira Gallery Addons"
44
  msgstr ""
@@ -169,48 +150,6 @@ msgstr ""
169
  msgid "Add Gallery"
170
  msgstr ""
171
 
172
- #: includes/admin/import.php:82
173
- msgid "Sorry, but you lack the permissions to import a gallery to this post."
174
- msgstr ""
175
-
176
- #: includes/admin/import.php:87
177
- msgid ""
178
- "Sorry, but the post ID you are attempting to import the gallery to cannot "
179
- "handle a gallery."
180
- msgstr ""
181
-
182
- #: includes/admin/import.php:92
183
- msgid "Sorry, but there are no files available to import a gallery."
184
- msgstr ""
185
-
186
- #: includes/admin/import.php:97
187
- msgid ""
188
- "Sorry, but you have attempted to upload a gallery import file with an "
189
- "incompatible filename. Envira Gallery import files must begin with \"envira-"
190
- "gallery\"."
191
- msgstr ""
192
-
193
- #: includes/admin/import.php:102
194
- msgid ""
195
- "Sorry, but Envira Gallery import files must be in <code>.json</code> format."
196
- msgstr ""
197
-
198
- #: includes/admin/import.php:109
199
- msgid ""
200
- "Sorry, but there was an error retrieving the contents of the gallery export "
201
- "file. Please try again."
202
- msgstr ""
203
-
204
- #: includes/admin/import.php:145
205
- msgid "Imported Gallery #%s"
206
- msgstr ""
207
-
208
- #: includes/admin/import.php:643
209
- msgid ""
210
- "Envira gallery imported. Please check to ensure all images and data have "
211
- "been imported properly."
212
- msgstr ""
213
-
214
  #: includes/admin/license.php:131 includes/admin/license.php:224
215
  #: includes/admin/license.php:313
216
  msgid ""
@@ -321,7 +260,6 @@ msgstr ""
321
 
322
  #: includes/admin/media-view.php:250 includes/admin/media-view.php:384
323
  #: includes/admin/table.php:167 includes/global/common.php:192
324
- #: includes/global/widget.php:153
325
  msgid "Title"
326
  msgstr ""
327
 
@@ -389,10 +327,10 @@ msgid ""
389
  msgstr ""
390
 
391
  #: includes/admin/media-view.php:329 includes/admin/metaboxes.php:776
392
- #: includes/admin/metaboxes.php:1114 includes/admin/metaboxes.php:1430
393
- #: includes/admin/metaboxes.php:1685 includes/admin/metaboxes.php:1727
394
- #: includes/admin/metaboxes.php:1749 includes/admin/metaboxes.php:1771
395
- #: includes/admin/metaboxes.php:1793 includes/admin/metaboxes.php:1815
396
  msgid "Click here to Upgrade"
397
  msgstr ""
398
 
@@ -495,7 +433,6 @@ msgstr ""
495
 
496
  #: includes/admin/metaboxes.php:402 includes/admin/partials/header.php:14
497
  #: includes/global/posttype.php:52 includes/global/posttype.php:62
498
- #: includes/global/widget.php:50
499
  msgid "Envira Gallery"
500
  msgstr ""
501
 
@@ -527,7 +464,7 @@ msgstr ""
527
  msgid "Lightbox"
528
  msgstr ""
529
 
530
- #: includes/admin/metaboxes.php:606 includes/admin/metaboxes.php:1703
531
  msgid "Mobile"
532
  msgstr ""
533
 
@@ -540,20 +477,20 @@ msgid "Currently in your Gallery"
540
  msgstr ""
541
 
542
  #: includes/admin/metaboxes.php:707 includes/admin/metaboxes.php:800
543
- #: includes/admin/metaboxes.php:1138 includes/admin/metaboxes.php:1453
544
- #: includes/admin/metaboxes.php:1591
545
  msgid "Need some help?"
546
  msgstr ""
547
 
548
  #: includes/admin/metaboxes.php:709 includes/admin/metaboxes.php:802
549
- #: includes/admin/metaboxes.php:1140 includes/admin/metaboxes.php:1455
550
- #: includes/admin/metaboxes.php:1593
551
  msgid "Read the Documentation"
552
  msgstr ""
553
 
554
  #: includes/admin/metaboxes.php:713 includes/admin/metaboxes.php:806
555
- #: includes/admin/metaboxes.php:1144 includes/admin/metaboxes.php:1459
556
- #: includes/admin/metaboxes.php:1597
557
  msgid "Watch a Video"
558
  msgstr ""
559
 
@@ -602,7 +539,7 @@ msgid ""
602
  "The settings below adjust the basic configuration options for the gallery."
603
  msgstr ""
604
 
605
- #: includes/admin/metaboxes.php:814 includes/admin/metaboxes.php:1467
606
  msgid "Number of Gallery Columns"
607
  msgstr ""
608
 
@@ -616,10 +553,10 @@ msgstr ""
616
  msgid "Automatic Layout: Row Height"
617
  msgstr ""
618
 
619
- #: includes/admin/metaboxes.php:836 includes/admin/metaboxes.php:932
620
- #: includes/admin/metaboxes.php:941 includes/admin/metaboxes.php:1039
621
- #: includes/admin/metaboxes.php:1387 includes/admin/metaboxes.php:1396
622
- #: includes/admin/metaboxes.php:1494
623
  msgid "px"
624
  msgstr ""
625
 
@@ -631,152 +568,152 @@ msgstr ""
631
  msgid "Automatic Layout: Gallery Theme"
632
  msgstr ""
633
 
634
- #: includes/admin/metaboxes.php:850 includes/admin/metaboxes.php:922
635
  msgid "Sets the theme for the gallery display."
636
  msgstr ""
637
 
638
- #: includes/admin/metaboxes.php:865
639
  msgid "Display Gallery Description?"
640
  msgstr ""
641
 
642
- #: includes/admin/metaboxes.php:877
643
  msgid "Choose to display a description above or below this gallery's images."
644
  msgstr ""
645
 
646
- #: includes/admin/metaboxes.php:884
647
  msgid "Gallery Description"
648
  msgstr ""
649
 
650
- #: includes/admin/metaboxes.php:899
651
  msgid "The description to display for this gallery."
652
  msgstr ""
653
 
654
- #: includes/admin/metaboxes.php:914 includes/admin/table.php:305
655
  #: includes/admin/table.php:382
656
  msgid "Gallery Theme"
657
  msgstr ""
658
 
659
- #: includes/admin/metaboxes.php:929 includes/admin/table.php:314
660
  #: includes/admin/table.php:393
661
  msgid "Column Gutter Width"
662
  msgstr ""
663
 
664
- #: includes/admin/metaboxes.php:933
665
  msgid "Sets the space between the columns (defaults to 10)."
666
  msgstr ""
667
 
668
- #: includes/admin/metaboxes.php:938 includes/admin/table.php:319
669
  #: includes/admin/table.php:398
670
  msgid "Margin Below Each Image"
671
  msgstr ""
672
 
673
- #: includes/admin/metaboxes.php:942
674
  msgid "Sets the space below each item in the gallery."
675
  msgstr ""
676
 
677
- #: includes/admin/metaboxes.php:952
678
  msgid "Sorting"
679
  msgstr ""
680
 
681
- #: includes/admin/metaboxes.php:964
682
  msgid ""
683
  "Choose to sort the images in a different order than displayed on the Images "
684
  "tab."
685
  msgstr ""
686
 
687
- #: includes/admin/metaboxes.php:969
688
  msgid "Direction"
689
  msgstr ""
690
 
691
- #: includes/admin/metaboxes.php:990 includes/admin/metaboxes.php:1182
692
  msgid "Image Size"
693
  msgstr ""
694
 
695
- #: includes/admin/metaboxes.php:1002
696
  msgid ""
697
  "Define the maximum image size for the Gallery view. Default will use the "
698
  "below Image Dimensions; Random will allow you to choose one or more "
699
  "WordPress image sizes, which will be used for the gallery output."
700
  msgstr ""
701
 
702
- #: includes/admin/metaboxes.php:1011
703
  msgid "Random Image Sizes"
704
  msgstr ""
705
 
706
- #: includes/admin/metaboxes.php:1027
707
  msgid ""
708
  "Define the WordPress registered image sizes to include when randomly "
709
  "assigning an image size to each image in your Gallery."
710
  msgstr ""
711
 
712
- #: includes/admin/metaboxes.php:1036 includes/admin/table.php:325
713
  #: includes/admin/table.php:403
714
  msgid "Image Dimensions"
715
  msgstr ""
716
 
717
- #: includes/admin/metaboxes.php:1040
718
  msgid ""
719
  "You should adjust these dimensions based on the number of columns in your "
720
  "gallery. This does not affect the full size lightbox images."
721
  msgstr ""
722
 
723
- #: includes/admin/metaboxes.php:1045
724
  msgid "Crop Images?"
725
  msgstr ""
726
 
727
- #: includes/admin/metaboxes.php:1049
728
  msgid ""
729
  "If enabled, forces images to exactly match the sizes defined above for Image "
730
  "Dimensions and Mobile Dimensions."
731
  msgstr ""
732
 
733
- #: includes/admin/metaboxes.php:1050
734
  msgid "If disabled, images will be resized to maintain their aspect ratio."
735
  msgstr ""
736
 
737
- #: includes/admin/metaboxes.php:1060
738
  msgid "Set Dimensions on Images?"
739
  msgstr ""
740
 
741
- #: includes/admin/metaboxes.php:1064
742
  msgid ""
743
  "Enables or disables the width and height attributes on the img element. Only "
744
  "needs to be enabled if you need to meet Google Pagespeeds requirements."
745
  msgstr ""
746
 
747
- #: includes/admin/metaboxes.php:1069
748
  msgid "Enable Isotope?"
749
  msgstr ""
750
 
751
- #: includes/admin/metaboxes.php:1073
752
  msgid ""
753
  "Enables or disables isotope/masonry layout support for the main gallery "
754
  "images."
755
  msgstr ""
756
 
757
- #: includes/admin/metaboxes.php:1079
758
  msgid "Enable CSS Animations?"
759
  msgstr ""
760
 
761
- #: includes/admin/metaboxes.php:1083
762
  msgid "Enables CSS animations when loading the main gallery images."
763
  msgstr ""
764
 
765
- #: includes/admin/metaboxes.php:1089
766
  msgid "Image Opacity"
767
  msgstr ""
768
 
769
- #: includes/admin/metaboxes.php:1093
770
  msgid ""
771
  "The opacity to display images at when loading the main gallery images using "
772
  "CSS animations (between 1 and 100%)."
773
  msgstr ""
774
 
775
- #: includes/admin/metaboxes.php:1111
776
  msgid "Want to do even more with your gallery display?"
777
  msgstr ""
778
 
779
- #: includes/admin/metaboxes.php:1112
780
  msgid ""
781
  "By upgrading to Envira Pro, you can get access to numerous other gallery "
782
  "display features, including: custom image tagging and filtering, mobile "
@@ -785,187 +722,187 @@ msgid ""
785
  "more!"
786
  msgstr ""
787
 
788
- #: includes/admin/metaboxes.php:1134
789
  msgid "Lightbox Settings"
790
  msgstr ""
791
 
792
- #: includes/admin/metaboxes.php:1136
793
  msgid "The settings below adjust the lightbox output."
794
  msgstr ""
795
 
796
- #: includes/admin/metaboxes.php:1153 includes/admin/metaboxes.php:1514
797
  msgid "Enable Lightbox?"
798
  msgstr ""
799
 
800
- #: includes/admin/metaboxes.php:1157
801
  msgid "Enables or disables the gallery lightbox."
802
  msgstr ""
803
 
804
- #: includes/admin/metaboxes.php:1168
805
  msgid "Gallery Lightbox Theme"
806
  msgstr ""
807
 
808
- #: includes/admin/metaboxes.php:1176
809
  msgid "Sets the theme for the gallery lightbox display."
810
  msgstr ""
811
 
812
- #: includes/admin/metaboxes.php:1190
813
  msgid ""
814
  "Define the maximum image size for the Lightbox view. Default will display "
815
  "the original, full size image."
816
  msgstr ""
817
 
818
- #: includes/admin/metaboxes.php:1196
819
  msgid "Caption Position"
820
  msgstr ""
821
 
822
- #: includes/admin/metaboxes.php:1204
823
  msgid "Sets the display of the lightbox image's caption."
824
  msgstr ""
825
 
826
- #: includes/admin/metaboxes.php:1213 includes/admin/metaboxes.php:1541
827
  msgid "Enable Gallery Arrows?"
828
  msgstr ""
829
 
830
- #: includes/admin/metaboxes.php:1217
831
  msgid "Enables or disables the gallery lightbox navigation arrows."
832
  msgstr ""
833
 
834
- #: includes/admin/metaboxes.php:1222
835
  msgid "Gallery Arrow Position"
836
  msgstr ""
837
 
838
- #: includes/admin/metaboxes.php:1230
839
  msgid "Sets the position of the gallery lightbox navigation arrows."
840
  msgstr ""
841
 
842
- #: includes/admin/metaboxes.php:1235
843
  msgid "Enable Keyboard Navigation?"
844
  msgstr ""
845
 
846
- #: includes/admin/metaboxes.php:1239
847
  msgid "Enables or disables keyboard navigation in the gallery lightbox."
848
  msgstr ""
849
 
850
- #: includes/admin/metaboxes.php:1244
851
  msgid "Enable Mousewheel Navigation?"
852
  msgstr ""
853
 
854
- #: includes/admin/metaboxes.php:1248
855
  msgid "Enables or disables mousewheel navigation in the gallery."
856
  msgstr ""
857
 
858
- #: includes/admin/metaboxes.php:1253 includes/admin/metaboxes.php:1550
859
  msgid "Enable Gallery Toolbar?"
860
  msgstr ""
861
 
862
- #: includes/admin/metaboxes.php:1257
863
  msgid "Enables or disables the gallery lightbox toolbar."
864
  msgstr ""
865
 
866
- #: includes/admin/metaboxes.php:1262
867
  msgid "Display Gallery Title in Toolbar?"
868
  msgstr ""
869
 
870
- #: includes/admin/metaboxes.php:1266
871
  msgid "Display the gallery title in the lightbox toolbar."
872
  msgstr ""
873
 
874
- #: includes/admin/metaboxes.php:1271
875
  msgid "Gallery Toolbar Position"
876
  msgstr ""
877
 
878
- #: includes/admin/metaboxes.php:1279
879
  msgid "Sets the position of the lightbox toolbar."
880
  msgstr ""
881
 
882
- #: includes/admin/metaboxes.php:1284
883
  msgid "Keep Aspect Ratio?"
884
  msgstr ""
885
 
886
- #: includes/admin/metaboxes.php:1288
887
  msgid ""
888
  "If enabled, images will always resize based on the original aspect ratio."
889
  msgstr ""
890
 
891
- #: includes/admin/metaboxes.php:1293
892
  msgid "Loop Gallery Navigation?"
893
  msgstr ""
894
 
895
- #: includes/admin/metaboxes.php:1297
896
  msgid ""
897
  "Enables or disables infinite navigation cycling of the lightbox gallery."
898
  msgstr ""
899
 
900
- #: includes/admin/metaboxes.php:1302
901
  msgid "Lightbox Open/Close Effect"
902
  msgstr ""
903
 
904
- #: includes/admin/metaboxes.php:1322
905
  msgid "Type of transition when opening and closing the lightbox."
906
  msgstr ""
907
 
908
- #: includes/admin/metaboxes.php:1327
909
  msgid "Lightbox Transition Effect"
910
  msgstr ""
911
 
912
- #: includes/admin/metaboxes.php:1347
913
  msgid "Type of transition between images in the lightbox view."
914
  msgstr ""
915
 
916
- #: includes/admin/metaboxes.php:1352
917
  msgid "HTML5 Output?"
918
  msgstr ""
919
 
920
- #: includes/admin/metaboxes.php:1356
921
  msgid ""
922
  "If enabled, uses data-envirabox-gallery instead of rel attributes for W3C "
923
  "HTML5 validation."
924
  msgstr ""
925
 
926
- #: includes/admin/metaboxes.php:1370
927
  msgid ""
928
  "The settings below adjust the thumbnail views for the gallery lightbox "
929
  "display."
930
  msgstr ""
931
 
932
- #: includes/admin/metaboxes.php:1375 includes/admin/metaboxes.php:1559
933
  msgid "Enable Gallery Thumbnails?"
934
  msgstr ""
935
 
936
- #: includes/admin/metaboxes.php:1379
937
  msgid "Enables or disables the gallery lightbox thumbnails."
938
  msgstr ""
939
 
940
- #: includes/admin/metaboxes.php:1384
941
  msgid "Gallery Thumbnails Width"
942
  msgstr ""
943
 
944
- #: includes/admin/metaboxes.php:1388
945
  msgid "Sets the width of each lightbox thumbnail."
946
  msgstr ""
947
 
948
- #: includes/admin/metaboxes.php:1393
949
  msgid "Gallery Thumbnails Height"
950
  msgstr ""
951
 
952
- #: includes/admin/metaboxes.php:1397
953
  msgid "Sets the height of each lightbox thumbnail."
954
  msgstr ""
955
 
956
- #: includes/admin/metaboxes.php:1402
957
  msgid "Gallery Thumbnails Position"
958
  msgstr ""
959
 
960
- #: includes/admin/metaboxes.php:1410
961
  msgid "Sets the position of the lightbox thumbnails."
962
  msgstr ""
963
 
964
- #: includes/admin/metaboxes.php:1427
965
  msgid "Want even more fine tuned control over your lightbox display?"
966
  msgstr ""
967
 
968
- #: includes/admin/metaboxes.php:1428
969
  msgid ""
970
  "By upgrading to Envira Pro, you can get access to numerous other lightbox "
971
  "features, including: custom lightbox titles, enable/disable lightbox "
@@ -974,210 +911,210 @@ msgid ""
974
  "protection, lightbox supersize effects, lightbox slideshows and so much more!"
975
  msgstr ""
976
 
977
- #: includes/admin/metaboxes.php:1450
978
  msgid "Mobile Gallery Settings"
979
  msgstr ""
980
 
981
- #: includes/admin/metaboxes.php:1452
982
  msgid ""
983
  "The settings below adjust configuration options for the Gallery when viewed "
984
  "on a mobile device."
985
  msgstr ""
986
 
987
- #: includes/admin/metaboxes.php:1475
988
  msgid ""
989
  "Determines the number of columns in the gallery on mobile devices. Automatic "
990
  "will attempt to fill each row as much as possible before moving on to the "
991
  "next row."
992
  msgstr ""
993
 
994
- #: includes/admin/metaboxes.php:1481
995
  msgid "Create Mobile Gallery Images?"
996
  msgstr ""
997
 
998
- #: includes/admin/metaboxes.php:1485
999
  msgid "Enables or disables creating specific images for mobile devices."
1000
  msgstr ""
1001
 
1002
- #: includes/admin/metaboxes.php:1491
1003
  msgid "Mobile Dimensions"
1004
  msgstr ""
1005
 
1006
- #: includes/admin/metaboxes.php:1495
1007
  msgid "These will be the sizes used for images displayed on mobile devices."
1008
  msgstr ""
1009
 
1010
- #: includes/admin/metaboxes.php:1505
1011
  msgid "Mobile Lightbox Settings"
1012
  msgstr ""
1013
 
1014
- #: includes/admin/metaboxes.php:1507
1015
  msgid ""
1016
  "The settings below adjust configuration options for the Lightbox when viewed "
1017
  "on a mobile device."
1018
  msgstr ""
1019
 
1020
- #: includes/admin/metaboxes.php:1518
1021
  msgid "Enables or disables the gallery lightbox on mobile devices."
1022
  msgstr ""
1023
 
1024
- #: includes/admin/metaboxes.php:1523
1025
  msgid "Enable Gallery Touchwipe?"
1026
  msgstr ""
1027
 
1028
- #: includes/admin/metaboxes.php:1527
1029
  msgid ""
1030
  "Enables or disables touchwipe support for the gallery lightbox on mobile "
1031
  "devices."
1032
  msgstr ""
1033
 
1034
- #: includes/admin/metaboxes.php:1532
1035
  msgid "Close Lightbox on Swipe Up?"
1036
  msgstr ""
1037
 
1038
- #: includes/admin/metaboxes.php:1536
1039
  msgid ""
1040
  "Enables or disables closing the Lightbox when the user swipes up on mobile "
1041
  "devices."
1042
  msgstr ""
1043
 
1044
- #: includes/admin/metaboxes.php:1545
1045
  msgid ""
1046
  "Enables or disables the gallery lightbox navigation arrows on mobile devices."
1047
  msgstr ""
1048
 
1049
- #: includes/admin/metaboxes.php:1554
1050
  msgid "Enables or disables the gallery lightbox toolbar on mobile devices."
1051
  msgstr ""
1052
 
1053
- #: includes/admin/metaboxes.php:1563
1054
  msgid "Enables or disables the gallery lightbox thumbnails on mobile devices."
1055
  msgstr ""
1056
 
1057
- #: includes/admin/metaboxes.php:1587
1058
  msgid "Miscellaneous Settings"
1059
  msgstr ""
1060
 
1061
- #: includes/admin/metaboxes.php:1589
1062
  msgid "The settings below adjust miscellaneous options for the Gallery."
1063
  msgstr ""
1064
 
1065
- #: includes/admin/metaboxes.php:1605
1066
  msgid "Gallery Title"
1067
  msgstr ""
1068
 
1069
- #: includes/admin/metaboxes.php:1609
1070
  msgid "Internal gallery title for identification in the admin."
1071
  msgstr ""
1072
 
1073
- #: includes/admin/metaboxes.php:1614
1074
  msgid "Gallery Slug"
1075
  msgstr ""
1076
 
1077
- #: includes/admin/metaboxes.php:1618
1078
  msgid ""
1079
  "<strong>Unique</strong> internal gallery slug for identification and "
1080
  "advanced gallery queries."
1081
  msgstr ""
1082
 
1083
- #: includes/admin/metaboxes.php:1623
1084
  msgid "Custom Gallery Classes"
1085
  msgstr ""
1086
 
1087
- #: includes/admin/metaboxes.php:1626
1088
  msgid "Enter custom gallery CSS classes here, one per line."
1089
  msgstr ""
1090
 
1091
- #: includes/admin/metaboxes.php:1627
1092
  msgid "Adds custom CSS classes to this gallery. Enter one class per line."
1093
  msgstr ""
1094
 
1095
- #: includes/admin/metaboxes.php:1636
1096
  msgid "Import/Export Gallery"
1097
  msgstr ""
1098
 
1099
- #: includes/admin/metaboxes.php:1649
1100
  msgid "Import Gallery"
1101
  msgstr ""
1102
 
1103
- #: includes/admin/metaboxes.php:1656
1104
  msgid "Export Gallery"
1105
  msgstr ""
1106
 
1107
- #: includes/admin/metaboxes.php:1666
1108
  msgid "Enable RTL Support?"
1109
  msgstr ""
1110
 
1111
- #: includes/admin/metaboxes.php:1670
1112
  msgid "Enables or disables RTL support in Envira for right-to-left languages."
1113
  msgstr ""
1114
 
1115
- #: includes/admin/metaboxes.php:1682 includes/admin/metaboxes.php:1724
1116
- #: includes/admin/metaboxes.php:1746 includes/admin/metaboxes.php:1768
1117
- #: includes/admin/metaboxes.php:1790 includes/admin/metaboxes.php:1812
1118
  msgid "Want to take your galleries further?"
1119
  msgstr ""
1120
 
1121
- #: includes/admin/metaboxes.php:1683
1122
  msgid ""
1123
  "By upgrading to Envira Pro, you can get access to numerous other features, "
1124
  "including: a fully-integrated import/export module for your galleries, "
1125
  "custom CSS controls for each gallery and so much more!"
1126
  msgstr ""
1127
 
1128
- #: includes/admin/metaboxes.php:1704
1129
  msgid "Videos"
1130
  msgstr ""
1131
 
1132
- #: includes/admin/metaboxes.php:1705
1133
  msgid "Social"
1134
  msgstr ""
1135
 
1136
- #: includes/admin/metaboxes.php:1706
1137
  msgid "Tags"
1138
  msgstr ""
1139
 
1140
- #: includes/admin/metaboxes.php:1707
1141
  msgid "Pagination"
1142
  msgstr ""
1143
 
1144
- #: includes/admin/metaboxes.php:1725
1145
  msgid ""
1146
  "By upgrading to Envira Pro, you can get access to mobile-specific settings, "
1147
  "including mobile image sizes, number of columns, mobile-specific lightbox "
1148
  "options and so much more!"
1149
  msgstr ""
1150
 
1151
- #: includes/admin/metaboxes.php:1747
1152
  msgid ""
1153
  "By upgrading to Envira Pro, you can add Videos to your Envira Galleries from "
1154
  "YouTube, Vimeo, Wistia, and your own self-hosted videos!"
1155
  msgstr ""
1156
 
1157
- #: includes/admin/metaboxes.php:1769
1158
  msgid ""
1159
  "By upgrading to Envira Pro, you can add social sharing buttons to your "
1160
  "Gallery images and Lightbox images. With support for Facebook, Twitter, "
1161
  "Google+ and Pinterest why not check it out?"
1162
  msgstr ""
1163
 
1164
- #: includes/admin/metaboxes.php:1791
1165
  msgid ""
1166
  "By upgrading to Envira Pro, you can add Tags to your Gallery images, allow "
1167
  "users to filter your Gallery by tag and so much more!"
1168
  msgstr ""
1169
 
1170
- #: includes/admin/metaboxes.php:1813
1171
  msgid ""
1172
  "By upgrading to Envira Pro, you can split your Gallery across multiple pages "
1173
  "with pagination, load paginated images via AJAX, lazy loading and more!"
1174
  msgstr ""
1175
 
1176
- #: includes/admin/metaboxes.php:2098
1177
  msgid "Remove Image from Gallery?"
1178
  msgstr ""
1179
 
1180
- #: includes/admin/metaboxes.php:2099
1181
  msgid "Modify Image"
1182
  msgstr ""
1183
 
@@ -1401,10 +1338,6 @@ msgstr ""
1401
  msgid "Save Settings"
1402
  msgstr ""
1403
 
1404
- #: includes/admin/skin.php:79
1405
- msgid "There was an error installing the addon. Please try again."
1406
- msgstr ""
1407
-
1408
  #: includes/admin/table.php:169
1409
  msgid "Shortcode"
1410
  msgstr ""
@@ -1629,41 +1562,29 @@ msgstr ""
1629
  msgid "No Envira galleries found in trash."
1630
  msgstr ""
1631
 
1632
- #: includes/global/shortcode.php:898
1633
  msgid "The requested content cannot be loaded.<br/>Please try again later.</p>"
1634
  msgstr ""
1635
 
1636
- #: includes/global/shortcode.php:899 includes/global/shortcode.php:1545
1637
  msgid "Close"
1638
  msgstr ""
1639
 
1640
- #: includes/global/shortcode.php:900 includes/global/shortcode.php:1535
1641
  msgid "Next"
1642
  msgstr ""
1643
 
1644
- #: includes/global/shortcode.php:901 includes/global/shortcode.php:1531
1645
  msgid "Previous"
1646
  msgstr ""
1647
 
1648
- #: includes/global/widget.php:56
1649
- msgid "Place an Envira gallery into a widgetized area."
1650
- msgstr ""
1651
-
1652
- #: includes/global/widget.php:158
1653
- msgid "Gallery"
1654
- msgstr ""
1655
-
1656
- #: includes/global/widget.php:168
1657
- msgid "Gallery ID #%s"
1658
- msgstr ""
1659
-
1660
  #. Plugin Name of the plugin/theme
1661
  msgid "Envira Gallery Lite"
1662
  msgstr ""
1663
 
1664
- #. #-#-#-#-# envira-gallery.pot (Envira Gallery Lite 1.5.1) #-#-#-#-#
1665
  #. Plugin URI of the plugin/theme
1666
- #. #-#-#-#-# envira-gallery.pot (Envira Gallery Lite 1.5.1) #-#-#-#-#
1667
  #. Author URI of the plugin/theme
1668
  msgid "http://enviragallery.com"
1669
  msgstr ""
2
  # This file is distributed under the same license as the Envira Gallery Lite package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Envira Gallery Lite 1.5.4\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/envira-gallery-"
7
+ "lite\n"
8
+ "POT-Creation-Date: 2016-09-21 12:57:22+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
20
  "deactivated. <a href=\"%s\">Click here to return to the Dashboard</a>."
21
  msgstr ""
22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  #: includes/admin/addons.php:79 includes/admin/addons.php:193
24
  msgid "Envira Gallery Addons"
25
  msgstr ""
150
  msgid "Add Gallery"
151
  msgstr ""
152
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
153
  #: includes/admin/license.php:131 includes/admin/license.php:224
154
  #: includes/admin/license.php:313
155
  msgid ""
260
 
261
  #: includes/admin/media-view.php:250 includes/admin/media-view.php:384
262
  #: includes/admin/table.php:167 includes/global/common.php:192
 
263
  msgid "Title"
264
  msgstr ""
265
 
327
  msgstr ""
328
 
329
  #: includes/admin/media-view.php:329 includes/admin/metaboxes.php:776
330
+ #: includes/admin/metaboxes.php:1115 includes/admin/metaboxes.php:1431
331
+ #: includes/admin/metaboxes.php:1686 includes/admin/metaboxes.php:1728
332
+ #: includes/admin/metaboxes.php:1750 includes/admin/metaboxes.php:1772
333
+ #: includes/admin/metaboxes.php:1794 includes/admin/metaboxes.php:1816
334
  msgid "Click here to Upgrade"
335
  msgstr ""
336
 
433
 
434
  #: includes/admin/metaboxes.php:402 includes/admin/partials/header.php:14
435
  #: includes/global/posttype.php:52 includes/global/posttype.php:62
 
436
  msgid "Envira Gallery"
437
  msgstr ""
438
 
464
  msgid "Lightbox"
465
  msgstr ""
466
 
467
+ #: includes/admin/metaboxes.php:606 includes/admin/metaboxes.php:1704
468
  msgid "Mobile"
469
  msgstr ""
470
 
477
  msgstr ""
478
 
479
  #: includes/admin/metaboxes.php:707 includes/admin/metaboxes.php:800
480
+ #: includes/admin/metaboxes.php:1139 includes/admin/metaboxes.php:1454
481
+ #: includes/admin/metaboxes.php:1592
482
  msgid "Need some help?"
483
  msgstr ""
484
 
485
  #: includes/admin/metaboxes.php:709 includes/admin/metaboxes.php:802
486
+ #: includes/admin/metaboxes.php:1141 includes/admin/metaboxes.php:1456
487
+ #: includes/admin/metaboxes.php:1594
488
  msgid "Read the Documentation"
489
  msgstr ""
490
 
491
  #: includes/admin/metaboxes.php:713 includes/admin/metaboxes.php:806
492
+ #: includes/admin/metaboxes.php:1145 includes/admin/metaboxes.php:1460
493
+ #: includes/admin/metaboxes.php:1598
494
  msgid "Watch a Video"
495
  msgstr ""
496
 
539
  "The settings below adjust the basic configuration options for the gallery."
540
  msgstr ""
541
 
542
+ #: includes/admin/metaboxes.php:814 includes/admin/metaboxes.php:1468
543
  msgid "Number of Gallery Columns"
544
  msgstr ""
545
 
553
  msgid "Automatic Layout: Row Height"
554
  msgstr ""
555
 
556
+ #: includes/admin/metaboxes.php:836 includes/admin/metaboxes.php:933
557
+ #: includes/admin/metaboxes.php:942 includes/admin/metaboxes.php:1040
558
+ #: includes/admin/metaboxes.php:1388 includes/admin/metaboxes.php:1397
559
+ #: includes/admin/metaboxes.php:1495
560
  msgid "px"
561
  msgstr ""
562
 
568
  msgid "Automatic Layout: Gallery Theme"
569
  msgstr ""
570
 
571
+ #: includes/admin/metaboxes.php:850 includes/admin/metaboxes.php:923
572
  msgid "Sets the theme for the gallery display."
573
  msgstr ""
574
 
575
+ #: includes/admin/metaboxes.php:866
576
  msgid "Display Gallery Description?"
577
  msgstr ""
578
 
579
+ #: includes/admin/metaboxes.php:878
580
  msgid "Choose to display a description above or below this gallery's images."
581
  msgstr ""
582
 
583
+ #: includes/admin/metaboxes.php:885
584
  msgid "Gallery Description"
585
  msgstr ""
586
 
587
+ #: includes/admin/metaboxes.php:900
588
  msgid "The description to display for this gallery."
589
  msgstr ""
590
 
591
+ #: includes/admin/metaboxes.php:915 includes/admin/table.php:305
592
  #: includes/admin/table.php:382
593
  msgid "Gallery Theme"
594
  msgstr ""
595
 
596
+ #: includes/admin/metaboxes.php:930 includes/admin/table.php:314
597
  #: includes/admin/table.php:393
598
  msgid "Column Gutter Width"
599
  msgstr ""
600
 
601
+ #: includes/admin/metaboxes.php:934
602
  msgid "Sets the space between the columns (defaults to 10)."
603
  msgstr ""
604
 
605
+ #: includes/admin/metaboxes.php:939 includes/admin/table.php:319
606
  #: includes/admin/table.php:398
607
  msgid "Margin Below Each Image"
608
  msgstr ""
609
 
610
+ #: includes/admin/metaboxes.php:943
611
  msgid "Sets the space below each item in the gallery."
612
  msgstr ""
613
 
614
+ #: includes/admin/metaboxes.php:953
615
  msgid "Sorting"
616
  msgstr ""
617
 
618
+ #: includes/admin/metaboxes.php:965
619
  msgid ""
620
  "Choose to sort the images in a different order than displayed on the Images "
621
  "tab."
622
  msgstr ""
623
 
624
+ #: includes/admin/metaboxes.php:970
625
  msgid "Direction"
626
  msgstr ""
627
 
628
+ #: includes/admin/metaboxes.php:991 includes/admin/metaboxes.php:1183
629
  msgid "Image Size"
630
  msgstr ""
631
 
632
+ #: includes/admin/metaboxes.php:1003
633
  msgid ""
634
  "Define the maximum image size for the Gallery view. Default will use the "
635
  "below Image Dimensions; Random will allow you to choose one or more "
636
  "WordPress image sizes, which will be used for the gallery output."
637
  msgstr ""
638
 
639
+ #: includes/admin/metaboxes.php:1012
640
  msgid "Random Image Sizes"
641
  msgstr ""
642
 
643
+ #: includes/admin/metaboxes.php:1028
644
  msgid ""
645
  "Define the WordPress registered image sizes to include when randomly "
646
  "assigning an image size to each image in your Gallery."
647
  msgstr ""
648
 
649
+ #: includes/admin/metaboxes.php:1037 includes/admin/table.php:325
650
  #: includes/admin/table.php:403
651
  msgid "Image Dimensions"
652
  msgstr ""
653
 
654
+ #: includes/admin/metaboxes.php:1041
655
  msgid ""
656
  "You should adjust these dimensions based on the number of columns in your "
657
  "gallery. This does not affect the full size lightbox images."
658
  msgstr ""
659
 
660
+ #: includes/admin/metaboxes.php:1046
661
  msgid "Crop Images?"
662
  msgstr ""
663
 
664
+ #: includes/admin/metaboxes.php:1050
665
  msgid ""
666
  "If enabled, forces images to exactly match the sizes defined above for Image "
667
  "Dimensions and Mobile Dimensions."
668
  msgstr ""
669
 
670
+ #: includes/admin/metaboxes.php:1051
671
  msgid "If disabled, images will be resized to maintain their aspect ratio."
672
  msgstr ""
673
 
674
+ #: includes/admin/metaboxes.php:1061
675
  msgid "Set Dimensions on Images?"
676
  msgstr ""
677
 
678
+ #: includes/admin/metaboxes.php:1065
679
  msgid ""
680
  "Enables or disables the width and height attributes on the img element. Only "
681
  "needs to be enabled if you need to meet Google Pagespeeds requirements."
682
  msgstr ""
683
 
684
+ #: includes/admin/metaboxes.php:1070
685
  msgid "Enable Isotope?"
686
  msgstr ""
687
 
688
+ #: includes/admin/metaboxes.php:1074
689
  msgid ""
690
  "Enables or disables isotope/masonry layout support for the main gallery "
691
  "images."
692
  msgstr ""
693
 
694
+ #: includes/admin/metaboxes.php:1080
695
  msgid "Enable CSS Animations?"
696
  msgstr ""
697
 
698
+ #: includes/admin/metaboxes.php:1084
699
  msgid "Enables CSS animations when loading the main gallery images."
700
  msgstr ""
701
 
702
+ #: includes/admin/metaboxes.php:1090
703
  msgid "Image Opacity"
704
  msgstr ""
705
 
706
+ #: includes/admin/metaboxes.php:1094
707
  msgid ""
708
  "The opacity to display images at when loading the main gallery images using "
709
  "CSS animations (between 1 and 100%)."
710
  msgstr ""
711
 
712
+ #: includes/admin/metaboxes.php:1112
713
  msgid "Want to do even more with your gallery display?"
714
  msgstr ""
715
 
716
+ #: includes/admin/metaboxes.php:1113
717
  msgid ""
718
  "By upgrading to Envira Pro, you can get access to numerous other gallery "
719
  "display features, including: custom image tagging and filtering, mobile "
722
  "more!"
723
  msgstr ""
724
 
725
+ #: includes/admin/metaboxes.php:1135
726
  msgid "Lightbox Settings"
727
  msgstr ""
728
 
729
+ #: includes/admin/metaboxes.php:1137
730
  msgid "The settings below adjust the lightbox output."
731
  msgstr ""
732
 
733
+ #: includes/admin/metaboxes.php:1154 includes/admin/metaboxes.php:1515
734
  msgid "Enable Lightbox?"
735
  msgstr ""
736
 
737
+ #: includes/admin/metaboxes.php:1158
738
  msgid "Enables or disables the gallery lightbox."
739
  msgstr ""
740
 
741
+ #: includes/admin/metaboxes.php:1169
742
  msgid "Gallery Lightbox Theme"
743
  msgstr ""
744
 
745
+ #: includes/admin/metaboxes.php:1177
746
  msgid "Sets the theme for the gallery lightbox display."
747
  msgstr ""
748
 
749
+ #: includes/admin/metaboxes.php:1191
750
  msgid ""
751
  "Define the maximum image size for the Lightbox view. Default will display "
752
  "the original, full size image."
753
  msgstr ""
754
 
755
+ #: includes/admin/metaboxes.php:1197
756
  msgid "Caption Position"
757
  msgstr ""
758
 
759
+ #: includes/admin/metaboxes.php:1205
760
  msgid "Sets the display of the lightbox image's caption."
761
  msgstr ""
762
 
763
+ #: includes/admin/metaboxes.php:1214 includes/admin/metaboxes.php:1542
764
  msgid "Enable Gallery Arrows?"
765
  msgstr ""
766
 
767
+ #: includes/admin/metaboxes.php:1218
768
  msgid "Enables or disables the gallery lightbox navigation arrows."
769
  msgstr ""
770
 
771
+ #: includes/admin/metaboxes.php:1223
772
  msgid "Gallery Arrow Position"
773
  msgstr ""
774
 
775
+ #: includes/admin/metaboxes.php:1231
776
  msgid "Sets the position of the gallery lightbox navigation arrows."
777
  msgstr ""
778
 
779
+ #: includes/admin/metaboxes.php:1236
780
  msgid "Enable Keyboard Navigation?"
781
  msgstr ""
782
 
783
+ #: includes/admin/metaboxes.php:1240
784
  msgid "Enables or disables keyboard navigation in the gallery lightbox."
785
  msgstr ""
786
 
787
+ #: includes/admin/metaboxes.php:1245
788
  msgid "Enable Mousewheel Navigation?"
789
  msgstr ""
790
 
791
+ #: includes/admin/metaboxes.php:1249
792
  msgid "Enables or disables mousewheel navigation in the gallery."
793
  msgstr ""
794
 
795
+ #: includes/admin/metaboxes.php:1254 includes/admin/metaboxes.php:1551
796
  msgid "Enable Gallery Toolbar?"
797
  msgstr ""
798
 
799
+ #: includes/admin/metaboxes.php:1258
800
  msgid "Enables or disables the gallery lightbox toolbar."
801
  msgstr ""
802
 
803
+ #: includes/admin/metaboxes.php:1263
804
  msgid "Display Gallery Title in Toolbar?"
805
  msgstr ""
806
 
807
+ #: includes/admin/metaboxes.php:1267
808
  msgid "Display the gallery title in the lightbox toolbar."
809
  msgstr ""
810
 
811
+ #: includes/admin/metaboxes.php:1272
812
  msgid "Gallery Toolbar Position"
813
  msgstr ""
814
 
815
+ #: includes/admin/metaboxes.php:1280
816
  msgid "Sets the position of the lightbox toolbar."
817
  msgstr ""
818
 
819
+ #: includes/admin/metaboxes.php:1285
820
  msgid "Keep Aspect Ratio?"
821
  msgstr ""
822
 
823
+ #: includes/admin/metaboxes.php:1289
824
  msgid ""
825
  "If enabled, images will always resize based on the original aspect ratio."
826
  msgstr ""
827
 
828
+ #: includes/admin/metaboxes.php:1294
829
  msgid "Loop Gallery Navigation?"
830
  msgstr ""
831
 
832
+ #: includes/admin/metaboxes.php:1298
833
  msgid ""
834
  "Enables or disables infinite navigation cycling of the lightbox gallery."
835
  msgstr ""
836
 
837
+ #: includes/admin/metaboxes.php:1303
838
  msgid "Lightbox Open/Close Effect"
839
  msgstr ""
840
 
841
+ #: includes/admin/metaboxes.php:1323
842
  msgid "Type of transition when opening and closing the lightbox."
843
  msgstr ""
844
 
845
+ #: includes/admin/metaboxes.php:1328
846
  msgid "Lightbox Transition Effect"
847
  msgstr ""
848
 
849
+ #: includes/admin/metaboxes.php:1348
850
  msgid "Type of transition between images in the lightbox view."
851
  msgstr ""
852
 
853
+ #: includes/admin/metaboxes.php:1353
854
  msgid "HTML5 Output?"
855
  msgstr ""
856
 
857
+ #: includes/admin/metaboxes.php:1357
858
  msgid ""
859
  "If enabled, uses data-envirabox-gallery instead of rel attributes for W3C "
860
  "HTML5 validation."
861
  msgstr ""
862
 
863
+ #: includes/admin/metaboxes.php:1371
864
  msgid ""
865
  "The settings below adjust the thumbnail views for the gallery lightbox "
866
  "display."
867
  msgstr ""
868
 
869
+ #: includes/admin/metaboxes.php:1376 includes/admin/metaboxes.php:1560
870
  msgid "Enable Gallery Thumbnails?"
871
  msgstr ""
872
 
873
+ #: includes/admin/metaboxes.php:1380
874
  msgid "Enables or disables the gallery lightbox thumbnails."
875
  msgstr ""
876
 
877
+ #: includes/admin/metaboxes.php:1385
878
  msgid "Gallery Thumbnails Width"
879
  msgstr ""
880
 
881
+ #: includes/admin/metaboxes.php:1389
882
  msgid "Sets the width of each lightbox thumbnail."
883
  msgstr ""
884
 
885
+ #: includes/admin/metaboxes.php:1394
886
  msgid "Gallery Thumbnails Height"
887
  msgstr ""
888
 
889
+ #: includes/admin/metaboxes.php:1398
890
  msgid "Sets the height of each lightbox thumbnail."
891
  msgstr ""
892
 
893
+ #: includes/admin/metaboxes.php:1403
894
  msgid "Gallery Thumbnails Position"
895
  msgstr ""
896
 
897
+ #: includes/admin/metaboxes.php:1411
898
  msgid "Sets the position of the lightbox thumbnails."
899
  msgstr ""
900
 
901
+ #: includes/admin/metaboxes.php:1428
902
  msgid "Want even more fine tuned control over your lightbox display?"
903
  msgstr ""
904
 
905
+ #: includes/admin/metaboxes.php:1429
906
  msgid ""
907
  "By upgrading to Envira Pro, you can get access to numerous other lightbox "
908
  "features, including: custom lightbox titles, enable/disable lightbox "
911
  "protection, lightbox supersize effects, lightbox slideshows and so much more!"
912
  msgstr ""
913
 
914
+ #: includes/admin/metaboxes.php:1451
915
  msgid "Mobile Gallery Settings"
916
  msgstr ""
917
 
918
+ #: includes/admin/metaboxes.php:1453
919
  msgid ""
920
  "The settings below adjust configuration options for the Gallery when viewed "
921
  "on a mobile device."
922
  msgstr ""
923
 
924
+ #: includes/admin/metaboxes.php:1476
925
  msgid ""
926
  "Determines the number of columns in the gallery on mobile devices. Automatic "
927
  "will attempt to fill each row as much as possible before moving on to the "
928
  "next row."
929
  msgstr ""
930
 
931
+ #: includes/admin/metaboxes.php:1482
932
  msgid "Create Mobile Gallery Images?"
933
  msgstr ""
934
 
935
+ #: includes/admin/metaboxes.php:1486
936
  msgid "Enables or disables creating specific images for mobile devices."
937
  msgstr ""
938
 
939
+ #: includes/admin/metaboxes.php:1492
940
  msgid "Mobile Dimensions"
941
  msgstr ""
942
 
943
+ #: includes/admin/metaboxes.php:1496
944
  msgid "These will be the sizes used for images displayed on mobile devices."
945
  msgstr ""
946
 
947
+ #: includes/admin/metaboxes.php:1506
948
  msgid "Mobile Lightbox Settings"
949
  msgstr ""
950
 
951
+ #: includes/admin/metaboxes.php:1508
952
  msgid ""
953
  "The settings below adjust configuration options for the Lightbox when viewed "
954
  "on a mobile device."
955
  msgstr ""
956
 
957
+ #: includes/admin/metaboxes.php:1519
958
  msgid "Enables or disables the gallery lightbox on mobile devices."
959
  msgstr ""
960
 
961
+ #: includes/admin/metaboxes.php:1524
962
  msgid "Enable Gallery Touchwipe?"
963
  msgstr ""
964
 
965
+ #: includes/admin/metaboxes.php:1528
966
  msgid ""
967
  "Enables or disables touchwipe support for the gallery lightbox on mobile "
968
  "devices."
969
  msgstr ""
970
 
971
+ #: includes/admin/metaboxes.php:1533
972
  msgid "Close Lightbox on Swipe Up?"
973
  msgstr ""
974
 
975
+ #: includes/admin/metaboxes.php:1537
976
  msgid ""
977
  "Enables or disables closing the Lightbox when the user swipes up on mobile "
978
  "devices."
979
  msgstr ""
980
 
981
+ #: includes/admin/metaboxes.php:1546
982
  msgid ""
983
  "Enables or disables the gallery lightbox navigation arrows on mobile devices."
984
  msgstr ""
985
 
986
+ #: includes/admin/metaboxes.php:1555
987
  msgid "Enables or disables the gallery lightbox toolbar on mobile devices."
988
  msgstr ""
989
 
990
+ #: includes/admin/metaboxes.php:1564
991
  msgid "Enables or disables the gallery lightbox thumbnails on mobile devices."
992
  msgstr ""
993
 
994
+ #: includes/admin/metaboxes.php:1588
995
  msgid "Miscellaneous Settings"
996
  msgstr ""
997
 
998
+ #: includes/admin/metaboxes.php:1590
999
  msgid "The settings below adjust miscellaneous options for the Gallery."
1000
  msgstr ""
1001
 
1002
+ #: includes/admin/metaboxes.php:1606
1003
  msgid "Gallery Title"
1004
  msgstr ""
1005
 
1006
+ #: includes/admin/metaboxes.php:1610
1007
  msgid "Internal gallery title for identification in the admin."
1008
  msgstr ""
1009
 
1010
+ #: includes/admin/metaboxes.php:1615
1011
  msgid "Gallery Slug"
1012
  msgstr ""
1013
 
1014
+ #: includes/admin/metaboxes.php:1619
1015
  msgid ""
1016
  "<strong>Unique</strong> internal gallery slug for identification and "
1017
  "advanced gallery queries."
1018
  msgstr ""
1019
 
1020
+ #: includes/admin/metaboxes.php:1624
1021
  msgid "Custom Gallery Classes"
1022
  msgstr ""
1023
 
1024
+ #: includes/admin/metaboxes.php:1627
1025
  msgid "Enter custom gallery CSS classes here, one per line."
1026
  msgstr ""
1027
 
1028
+ #: includes/admin/metaboxes.php:1628
1029
  msgid "Adds custom CSS classes to this gallery. Enter one class per line."
1030
  msgstr ""
1031
 
1032
+ #: includes/admin/metaboxes.php:1637
1033
  msgid "Import/Export Gallery"
1034
  msgstr ""
1035
 
1036
+ #: includes/admin/metaboxes.php:1650
1037
  msgid "Import Gallery"
1038
  msgstr ""
1039
 
1040
+ #: includes/admin/metaboxes.php:1657
1041
  msgid "Export Gallery"
1042
  msgstr ""
1043
 
1044
+ #: includes/admin/metaboxes.php:1667
1045
  msgid "Enable RTL Support?"
1046
  msgstr ""
1047
 
1048
+ #: includes/admin/metaboxes.php:1671
1049
  msgid "Enables or disables RTL support in Envira for right-to-left languages."
1050
  msgstr ""
1051
 
1052
+ #: includes/admin/metaboxes.php:1683 includes/admin/metaboxes.php:1725
1053
+ #: includes/admin/metaboxes.php:1747 includes/admin/metaboxes.php:1769
1054
+ #: includes/admin/metaboxes.php:1791 includes/admin/metaboxes.php:1813
1055
  msgid "Want to take your galleries further?"
1056
  msgstr ""
1057
 
1058
+ #: includes/admin/metaboxes.php:1684
1059
  msgid ""
1060
  "By upgrading to Envira Pro, you can get access to numerous other features, "
1061
  "including: a fully-integrated import/export module for your galleries, "
1062
  "custom CSS controls for each gallery and so much more!"
1063
  msgstr ""
1064
 
1065
+ #: includes/admin/metaboxes.php:1705
1066
  msgid "Videos"
1067
  msgstr ""
1068
 
1069
+ #: includes/admin/metaboxes.php:1706
1070
  msgid "Social"
1071
  msgstr ""
1072
 
1073
+ #: includes/admin/metaboxes.php:1707
1074
  msgid "Tags"
1075
  msgstr ""
1076
 
1077
+ #: includes/admin/metaboxes.php:1708
1078
  msgid "Pagination"
1079
  msgstr ""
1080
 
1081
+ #: includes/admin/metaboxes.php:1726
1082
  msgid ""
1083
  "By upgrading to Envira Pro, you can get access to mobile-specific settings, "
1084
  "including mobile image sizes, number of columns, mobile-specific lightbox "
1085
  "options and so much more!"
1086
  msgstr ""
1087
 
1088
+ #: includes/admin/metaboxes.php:1748
1089
  msgid ""
1090
  "By upgrading to Envira Pro, you can add Videos to your Envira Galleries from "
1091
  "YouTube, Vimeo, Wistia, and your own self-hosted videos!"
1092
  msgstr ""
1093
 
1094
+ #: includes/admin/metaboxes.php:1770
1095
  msgid ""
1096
  "By upgrading to Envira Pro, you can add social sharing buttons to your "
1097
  "Gallery images and Lightbox images. With support for Facebook, Twitter, "
1098
  "Google+ and Pinterest why not check it out?"
1099
  msgstr ""
1100
 
1101
+ #: includes/admin/metaboxes.php:1792
1102
  msgid ""
1103
  "By upgrading to Envira Pro, you can add Tags to your Gallery images, allow "
1104
  "users to filter your Gallery by tag and so much more!"
1105
  msgstr ""
1106
 
1107
+ #: includes/admin/metaboxes.php:1814
1108
  msgid ""
1109
  "By upgrading to Envira Pro, you can split your Gallery across multiple pages "
1110
  "with pagination, load paginated images via AJAX, lazy loading and more!"
1111
  msgstr ""
1112
 
1113
+ #: includes/admin/metaboxes.php:2099
1114
  msgid "Remove Image from Gallery?"
1115
  msgstr ""
1116
 
1117
+ #: includes/admin/metaboxes.php:2100
1118
  msgid "Modify Image"
1119
  msgstr ""
1120
 
1338
  msgid "Save Settings"
1339
  msgstr ""
1340
 
 
 
 
 
1341
  #: includes/admin/table.php:169
1342
  msgid "Shortcode"
1343
  msgstr ""
1562
  msgid "No Envira galleries found in trash."
1563
  msgstr ""
1564
 
1565
+ #: includes/global/shortcode.php:910
1566
  msgid "The requested content cannot be loaded.<br/>Please try again later.</p>"
1567
  msgstr ""
1568
 
1569
+ #: includes/global/shortcode.php:911 includes/global/shortcode.php:1548
1570
  msgid "Close"
1571
  msgstr ""
1572
 
1573
+ #: includes/global/shortcode.php:912 includes/global/shortcode.php:1538
1574
  msgid "Next"
1575
  msgstr ""
1576
 
1577
+ #: includes/global/shortcode.php:913 includes/global/shortcode.php:1534
1578
  msgid "Previous"
1579
  msgstr ""
1580
 
 
 
 
 
 
 
 
 
 
 
 
 
1581
  #. Plugin Name of the plugin/theme
1582
  msgid "Envira Gallery Lite"
1583
  msgstr ""
1584
 
1585
+ #. #-#-#-#-# envira-gallery.pot (Envira Gallery Lite 1.5.4) #-#-#-#-#
1586
  #. Plugin URI of the plugin/theme
1587
+ #. #-#-#-#-# envira-gallery.pot (Envira Gallery Lite 1.5.4) #-#-#-#-#
1588
  #. Author URI of the plugin/theme
1589
  msgid "http://enviragallery.com"
1590
  msgstr ""
readme.txt CHANGED
@@ -2,7 +2,7 @@
2
  Contributors: griffinjt, smub
3
  Tags: wordpress gallery, gallery, wordpress gallery plugin, gallery plugin, responsive, responsive gallery, image gallery, image gallery plugin, responsive gallery plugin, responsive image gallery, responsive image gallery plugin, custom post types, slideshow, responsive slideshow, slideshow plugin, responsive slideshow plugin, rotator, image rotator, responsive rotator, jquery gallery, javascript gallery, jquery rotator, javascript rotator, picture gallery, photo gallery, photo rotator, shortcode, template tag, custom post type, media uploader, ajax, wordpress galleries, responsive galleries, fullscreen, deeplinking, best wordpress gallery, best wordpress gallery plugin, best gallery plugin, best gallery, best responsive gallery, best responsive wordpress gallery, best wp gallery, portfolio, design portfolio, lightroom, adobe lightroom, masonry gallery, polaroid gallery
4
  Requires at least: 4.0
5
- Tested up to: 4.6
6
  Stable tag: trunk
7
  License: GNU General Public License v2.0 or later
8
 
@@ -185,11 +185,20 @@ Also, I'm an <a href="https://thomasgriffin.io" rel="me" title="WordPress Develo
185
 
186
  == Changelog ==
187
 
 
 
 
 
 
 
 
 
 
188
  = 1.5.1 =
189
- * Added: A justified layout replaces the old "automatic" layout setting for galleries. See documentation on enviragallery.com for additional information.</li>
190
- * Updated: Spanish translation.</li>
191
- * Fix: Removing "Insert From Url" option for galleries.</li>
192
- * Fix: Gallery display follows settings properly when WPML is used in certain cirucmstances.</li>
193
 
194
  = 1.5.0.8 =
195
  * Fix: Fix: Close button in lightbox admin bar should not jump position with longer gallery titles.
2
  Contributors: griffinjt, smub
3
  Tags: wordpress gallery, gallery, wordpress gallery plugin, gallery plugin, responsive, responsive gallery, image gallery, image gallery plugin, responsive gallery plugin, responsive image gallery, responsive image gallery plugin, custom post types, slideshow, responsive slideshow, slideshow plugin, responsive slideshow plugin, rotator, image rotator, responsive rotator, jquery gallery, javascript gallery, jquery rotator, javascript rotator, picture gallery, photo gallery, photo rotator, shortcode, template tag, custom post type, media uploader, ajax, wordpress galleries, responsive galleries, fullscreen, deeplinking, best wordpress gallery, best wordpress gallery plugin, best gallery plugin, best gallery, best responsive gallery, best responsive wordpress gallery, best wp gallery, portfolio, design portfolio, lightroom, adobe lightroom, masonry gallery, polaroid gallery
4
  Requires at least: 4.0
5
+ Tested up to: 4.6.1
6
  Stable tag: trunk
7
  License: GNU General Public License v2.0 or later
8
 
185
 
186
  == Changelog ==
187
 
188
+ = 1.5.4 =
189
+ * Fix: Error with lightbox script causing it not to load in some instances.
190
+
191
+ = 1.5.3 =
192
+ * Updated: Revising Fancybox JS.
193
+
194
+ = 1.5.2 =
195
+ * Fix: Justified layout setting of 150 pixels for row height applies to galleries that were using the older automattic layout.
196
+
197
  = 1.5.1 =
198
+ * Added: A justified layout replaces the old "automatic" layout setting for galleries. See documentation on enviragallery.com for additional information.
199
+ * Updated: Spanish translation.
200
+ * Fix: Removing "Insert From Url" option for galleries.
201
+ * Fix: Gallery display follows settings properly when WPML is used in certain cirucmstances.
202
 
203
  = 1.5.0.8 =
204
  * Fix: Fix: Close button in lightbox admin bar should not jump position with longer gallery titles.