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

Version Description

  • Updated: Revising Fancybox JS.
Download this release

Release Info

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

Code changes from version 1.5.2 to 1.5.3

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 = B.browser.msie && B.browser.version < 7 && !window.XMLHttpRequest,
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" ' + (B.browser.msie ? 'allowtransparency="true""' : "") + ' 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=[],M=[],A=[],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,M[T]=v,A[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=M[_]*L,y=A[_]*L,a=1;d>=a;a++)_+=a>C?0:f,m+=D[_],v+=M[_],y+=A[_];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+=M[S]-M[E],y+=A[S]-A[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=[],M=[],A=[],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,M[S]=f,A[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=M[I]*C,g=A[I]*C,p=k[I]*C,y=1;r>=y;y++)I+=y>z?0:n,c+=D[I],f+=M[I],g+=A[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+=M[b]-M[x],g+=A[b]-A[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],M=shg_table[r],A=[],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&&(A[m]=((w=m+j)<T?w:T)<<2,k[m]=(w=m-r)>0?w<<2:0),b=E+A[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>>>M,d[S+1]=f*D>>>M,d[S+2]=g*D>>>M,0==m&&(A[v]=((w=v+j)<R?w:R)*n,k[v]=(w=v-r)>0?w*n:0),b=m+A[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(),At=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=M(i,Ut))):n=!1,n===!1?(Ut=S,M(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),At=St(r.start,r.end),Ht=wt(),pt(kt,At),(e.swipeStatus||e.pinchStatus)&&(n=M(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||M(i,Ut)}}else Ut=S,M(i,Ut);n===!1&&(Ut=S,M(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,M(i,Ut)):e.triggerOnTouchEnd||0==e.triggerOnTouchEnd&&Ut===x?(t.preventDefault(),Ut=I,M(i,Ut)):!e.triggerOnTouchEnd&&X()?(Ut=I,A(i,Ut,c)):Ut===x&&(Ut=S,M(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),M(i,Ut))}function L(){Yt.unbind(Ct,p),Yt.unbind(Mt,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 M(t,e){var i=void 0;return Q()||U()?i=A(t,e,l):(q()||N())&&i!==!1&&(i=A(t,e,d)),ot()&&i!==!1?i=A(t,e,f):rt()&&i!==!1?i=A(t,e,g):nt()&&i!==!1&&(i=A(t,e,c)),e===S&&C(t),e===I&&(E?0==t.touches.length&&C(t):C(t)),i}function A(t,h,u){var p=void 0;if(u==l){if(Yt.trigger("swipeStatus",[h,kt||null,At||0,Ht||0,$t,Qt]),e.swipeStatus&&(p=e.swipeStatus.call(Yt,t,h,kt||null,At||0,Ht||0,$t,Qt),p===!1))return!1;if(h==I&&Y()){if(Yt.trigger("swipe",[kt,At,Ht,$t,Qt]),e.swipe&&(p=e.swipe.call(Yt,t,kt,At,Ht,$t,Qt),p===!1))return!1;switch(kt){case i:Yt.trigger("swipeLeft",[kt,At,Ht,$t,Qt]),e.swipeLeft&&(p=e.swipeLeft.call(Yt,t,kt,At,Ht,$t,Qt));break;case n:Yt.trigger("swipeRight",[kt,At,Ht,$t,Qt]),e.swipeRight&&(p=e.swipeRight.call(Yt,t,kt,At,Ht,$t,Qt));break;case o:Yt.trigger("swipeUp",[kt,At,Ht,$t,Qt]),e.swipeUp&&(p=e.swipeUp.call(Yt,t,kt,At,Ht,$t,Qt));break;case r:Yt.trigger("swipeDown",[kt,At,Ht,$t,Qt]),e.swipeDown&&(p=e.swipeDown.call(Yt,t,kt,At,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=At>=e.threshold),t}function H(){var t=!1;return null!==e.cancelThreshold&&null!==kt&&(t=mt(kt)-At>=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(At)||At<e.threshold)}function it(){return Ht>e.longTapThreshold&&w>At}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",Mt=T?_?"MSPointerCancel":"pointercancel":"touchcancel",At=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(Mt,C)}catch(ee){$.error("events not supported "+Ct+","+Mt+" on jQuery.swipe")}this.enable=function(){return Yt.bind(Ct,p),Yt.bind(Mt,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=t.browser.msie&&t.browser.version<7&&!window.XMLHttpRequest,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,M()},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":A()}},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(),A()},M=function(){c.width=y.width,c.height=y.height,t("<img />").attr({id:"envirabox-img",src:y.src,alt:c.title}).appendTo(e),A()},A=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),
11
+ T.height+=S;break;case"over":h.css({marginLeft:p.padding,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" '+(t.browser.msie?'allowtransparency="true""':"")+' 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.2
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.2';
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.3
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.3';
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.2\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/envira-gallery\n"
7
- "POT-Creation-Date: 2016-09-02 13:54:36+00:00\n"
 
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -13,19 +14,10 @@ msgstr ""
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
  #: envira-gallery-lite.php:508
16
- msgid "Sorry, but your version of WordPress does not meet Envira Gallery's required version of <strong>4.0</strong> to run properly. The plugin has been deactivated. <a href=\"%s\">Click here to return to the Dashboard</a>."
17
- msgstr ""
18
-
19
- #: envira-gallery.php:182
20
- msgid "Please <a href=\"plugins.php\">deactivate</a> the Envira Lite Plugin. Your premium version of Envira Gallery may not work as expected until the Lite version is deactivated."
21
- msgstr ""
22
-
23
- #: envira-gallery.php:197
24
- msgid "Envira Gallery requires PHP 5.3 or greater for some specific functionality. Please have your web host resolve this."
25
- msgstr ""
26
-
27
- #: envira-gallery.php:634
28
- msgid "Sorry, but your version of WordPress does not meet Envira Gallery's required version of <strong>3.8</strong> to run properly. The plugin has been deactivated. <a href=\"%s\">Click here to return to the Dashboard</a>."
29
  msgstr ""
30
 
31
  #: includes/admin/addons.php:79 includes/admin/addons.php:193
@@ -88,11 +80,15 @@ msgid "Sort Descending (Z-A)"
88
  msgstr ""
89
 
90
  #: includes/admin/addons.php:225
91
- msgid "In order to get access to Addons, you need to resolve your license key errors."
 
 
92
  msgstr ""
93
 
94
  #: includes/admin/addons.php:241
95
- msgid "There was an issue retrieving the addons for this site. Please click on the button below the refresh the addons data."
 
 
96
  msgstr ""
97
 
98
  #: includes/admin/addons.php:244
@@ -108,7 +104,9 @@ msgid "Unlock More Addons"
108
  msgstr ""
109
 
110
  #: includes/admin/addons.php:283
111
- msgid "<strong>Want even more addons?</strong> <a href=\"%s\">Upgrade your Envira Gallery account</a> and unlock the following addons."
 
 
112
  msgstr ""
113
 
114
  #: includes/admin/addons.php:501
@@ -136,7 +134,9 @@ msgid "No images were selected to be moved between Galleries."
136
  msgstr ""
137
 
138
  #: includes/admin/common.php:237
139
- msgid "<strong>Envira Gallery:</strong> Your existing in-page Galleries can now be found by clicking on Envira Gallery in the WordPress Admin menu."
 
 
140
  msgstr ""
141
 
142
  #: includes/admin/editor.php:86 includes/admin/editor.php:87
@@ -150,41 +150,10 @@ msgstr ""
150
  msgid "Add Gallery"
151
  msgstr ""
152
 
153
- #: includes/admin/import.php:82
154
- msgid "Sorry, but you lack the permissions to import a gallery to this post."
155
- msgstr ""
156
-
157
- #: includes/admin/import.php:87
158
- msgid "Sorry, but the post ID you are attempting to import the gallery to cannot handle a gallery."
159
- msgstr ""
160
-
161
- #: includes/admin/import.php:92
162
- msgid "Sorry, but there are no files available to import a gallery."
163
- msgstr ""
164
-
165
- #: includes/admin/import.php:97
166
- msgid "Sorry, but you have attempted to upload a gallery import file with an incompatible filename. Envira Gallery import files must begin with \"envira-gallery\"."
167
- msgstr ""
168
-
169
- #: includes/admin/import.php:102
170
- msgid "Sorry, but Envira Gallery import files must be in <code>.json</code> format."
171
- msgstr ""
172
-
173
- #: includes/admin/import.php:109
174
- msgid "Sorry, but there was an error retrieving the contents of the gallery export file. Please try again."
175
- msgstr ""
176
-
177
- #: includes/admin/import.php:145
178
- msgid "Imported Gallery #%s"
179
- msgstr ""
180
-
181
- #: includes/admin/import.php:643
182
- msgid "Envira gallery imported. Please check to ensure all images and data have been imported properly."
183
- msgstr ""
184
-
185
  #: includes/admin/license.php:131 includes/admin/license.php:224
186
  #: includes/admin/license.php:313
187
- msgid "There was an error connecting to the remote key API. Please try again later."
 
188
  msgstr ""
189
 
190
  #: includes/admin/license.php:148
@@ -196,23 +165,35 @@ msgid "Congratulations! Your key has been refreshed successfully."
196
  msgstr ""
197
 
198
  #: includes/admin/license.php:324
199
- msgid "Congratulations! You have deactivated the key from this site successfully."
 
200
  msgstr ""
201
 
202
  #: includes/admin/license.php:418
203
- msgid "No valid license key has been entered, so automatic updates for Envira Gallery have been turned off. <a href=\"%s\">Please click here to enter your license key and begin receiving automatic updates.</a>"
 
 
 
204
  msgstr ""
205
 
206
  #: includes/admin/license.php:427
207
- msgid "Your license key for Envira Gallery has expired. <a href=\"%s\" target=\"_blank\">Please click here to renew your license key and continue receiving automatic updates.</a>"
 
 
 
208
  msgstr ""
209
 
210
  #: includes/admin/license.php:436
211
- msgid "Your license key for Envira Gallery has been disabled. Please use a different key to continue receiving automatic updates."
 
 
212
  msgstr ""
213
 
214
  #: includes/admin/license.php:445
215
- msgid "Your license key for Envira Gallery is invalid. The key no longer exists or the user associated with the key has been deleted. Please use a different key to continue receiving automatic updates."
 
 
 
216
  msgstr ""
217
 
218
  #: includes/admin/media-view.php:111 includes/admin/media-view.php:112
@@ -229,7 +210,10 @@ msgid "Choosing Your Gallery"
229
  msgstr ""
230
 
231
  #: includes/admin/media-view.php:167
232
- msgid "To choose your gallery, simply click on one of the boxes to the left. Ctrl / cmd and click to select multiple Galleries. The \"Insert Gallery\" button will be activated once you have selected a gallery."
 
 
 
233
  msgstr ""
234
 
235
  #: includes/admin/media-view.php:169
@@ -237,7 +221,9 @@ msgid "Inserting Your Gallery"
237
  msgstr ""
238
 
239
  #: includes/admin/media-view.php:171
240
- msgid "To insert your gallery into the editor, click on the \"Insert Gallery\" button below."
 
 
241
  msgstr ""
242
 
243
  #: includes/admin/media-view.php:175
@@ -274,12 +260,13 @@ msgstr ""
274
 
275
  #: includes/admin/media-view.php:250 includes/admin/media-view.php:384
276
  #: includes/admin/table.php:167 includes/global/common.php:192
277
- #: includes/global/widget.php:153
278
  msgid "Title"
279
  msgstr ""
280
 
281
  #: includes/admin/media-view.php:253 includes/admin/media-view.php:387
282
- msgid "Image titles can take any type of HTML. You can adjust the position of the titles in the main Lightbox settings."
 
 
283
  msgstr ""
284
 
285
  #: includes/admin/media-view.php:262 includes/admin/media-view.php:393
@@ -288,7 +275,9 @@ msgid "Caption"
288
  msgstr ""
289
 
290
  #: includes/admin/media-view.php:276 includes/admin/media-view.php:407
291
- msgid "Captions can take any type of HTML, and are displayed when an image is clicked."
 
 
292
  msgstr ""
293
 
294
  #: includes/admin/media-view.php:285 includes/admin/media-view.php:413
@@ -313,7 +302,9 @@ msgid "Attachment Page"
313
  msgstr ""
314
 
315
  #: includes/admin/media-view.php:303 includes/admin/media-view.php:431
316
- msgid "Enter a hyperlink if you wish to link this image to somewhere other than its full size image."
 
 
317
  msgstr ""
318
 
319
  #: includes/admin/media-view.php:312 includes/admin/media-view.php:437
@@ -329,14 +320,17 @@ msgid "Want Captions and more options?"
329
  msgstr ""
330
 
331
  #: includes/admin/media-view.php:327
332
- msgid "By upgrading to Envira Pro, you can get access to numerous other features, including: HTML captions, open links in new windows, WooCommerce product integration and so much more!"
 
 
 
333
  msgstr ""
334
 
335
  #: includes/admin/media-view.php:329 includes/admin/metaboxes.php:776
336
- #: includes/admin/metaboxes.php:1114 includes/admin/metaboxes.php:1430
337
- #: includes/admin/metaboxes.php:1685 includes/admin/metaboxes.php:1727
338
- #: includes/admin/metaboxes.php:1749 includes/admin/metaboxes.php:1771
339
- #: includes/admin/metaboxes.php:1793 includes/admin/metaboxes.php:1815
340
  msgid "Click here to Upgrade"
341
  msgstr ""
342
 
@@ -358,15 +352,23 @@ msgid "Save Metadata to Items"
358
  msgstr ""
359
 
360
  #: includes/admin/media-view.php:493
361
- msgid "Select the Gallery to move the selected images to by clicking on one of the boxes to the left."
 
 
362
  msgstr ""
363
 
364
  #: includes/admin/media-view.php:496
365
- msgid "Once done, click the Move button, and the selected images will be moved to the chosen Gallery."
 
 
366
  msgstr ""
367
 
368
  #: includes/admin/metaboxes.php:99
369
- msgid "The GD or Imagick libraries are not installed on your server. Envira Gallery requires at least one (preferably Imagick) in order to crop images and may not work properly without it. Please contact your webhost and ask them to compile GD or Imagick for your PHP install."
 
 
 
 
370
  msgstr ""
371
 
372
  #: includes/admin/metaboxes.php:134
@@ -431,7 +433,6 @@ msgstr ""
431
 
432
  #: includes/admin/metaboxes.php:402 includes/admin/partials/header.php:14
433
  #: includes/global/posttype.php:52 includes/global/posttype.php:62
434
- #: includes/global/widget.php:50
435
  msgid "Envira Gallery"
436
  msgstr ""
437
 
@@ -463,7 +464,7 @@ msgstr ""
463
  msgid "Lightbox"
464
  msgstr ""
465
 
466
- #: includes/admin/metaboxes.php:606 includes/admin/metaboxes.php:1703
467
  msgid "Mobile"
468
  msgstr ""
469
 
@@ -476,20 +477,20 @@ msgid "Currently in your Gallery"
476
  msgstr ""
477
 
478
  #: includes/admin/metaboxes.php:707 includes/admin/metaboxes.php:800
479
- #: includes/admin/metaboxes.php:1138 includes/admin/metaboxes.php:1453
480
- #: includes/admin/metaboxes.php:1591
481
  msgid "Need some help?"
482
  msgstr ""
483
 
484
  #: includes/admin/metaboxes.php:709 includes/admin/metaboxes.php:802
485
- #: includes/admin/metaboxes.php:1140 includes/admin/metaboxes.php:1455
486
- #: includes/admin/metaboxes.php:1593
487
  msgid "Read the Documentation"
488
  msgstr ""
489
 
490
  #: includes/admin/metaboxes.php:713 includes/admin/metaboxes.php:806
491
- #: includes/admin/metaboxes.php:1144 includes/admin/metaboxes.php:1459
492
- #: includes/admin/metaboxes.php:1597
493
  msgid "Watch a Video"
494
  msgstr ""
495
 
@@ -522,7 +523,11 @@ msgid "Want to make your gallery workflow even better?"
522
  msgstr ""
523
 
524
  #: includes/admin/metaboxes.php:774
525
- msgid "By upgrading to Envira Pro, you can get access to numerous other features, including: a fully featured gallery widget, complete gallery API, powerful gallery documentation, full mobile and Retina support, dedicated customer support and so much more!"
 
 
 
 
526
  msgstr ""
527
 
528
  #: includes/admin/metaboxes.php:797
@@ -530,25 +535,28 @@ msgid "Gallery Settings"
530
  msgstr ""
531
 
532
  #: includes/admin/metaboxes.php:799
533
- msgid "The settings below adjust the basic configuration options for the gallery."
 
534
  msgstr ""
535
 
536
- #: includes/admin/metaboxes.php:814 includes/admin/metaboxes.php:1467
537
  msgid "Number of Gallery Columns"
538
  msgstr ""
539
 
540
  #: includes/admin/metaboxes.php:822
541
- msgid "Determines the number of columns in the gallery. Automatic will attempt to fill each row as much as possible before moving on to the next row."
 
 
542
  msgstr ""
543
 
544
  #: includes/admin/metaboxes.php:833
545
  msgid "Automatic Layout: Row Height"
546
  msgstr ""
547
 
548
- #: includes/admin/metaboxes.php:836 includes/admin/metaboxes.php:932
549
- #: includes/admin/metaboxes.php:941 includes/admin/metaboxes.php:1039
550
- #: includes/admin/metaboxes.php:1387 includes/admin/metaboxes.php:1396
551
- #: includes/admin/metaboxes.php:1494
552
  msgid "px"
553
  msgstr ""
554
 
@@ -560,489 +568,553 @@ msgstr ""
560
  msgid "Automatic Layout: Gallery Theme"
561
  msgstr ""
562
 
563
- #: includes/admin/metaboxes.php:850 includes/admin/metaboxes.php:922
564
  msgid "Sets the theme for the gallery display."
565
  msgstr ""
566
 
567
- #: includes/admin/metaboxes.php:865
568
  msgid "Display Gallery Description?"
569
  msgstr ""
570
 
571
- #: includes/admin/metaboxes.php:877
572
  msgid "Choose to display a description above or below this gallery's images."
573
  msgstr ""
574
 
575
- #: includes/admin/metaboxes.php:884
576
  msgid "Gallery Description"
577
  msgstr ""
578
 
579
- #: includes/admin/metaboxes.php:899
580
  msgid "The description to display for this gallery."
581
  msgstr ""
582
 
583
- #: includes/admin/metaboxes.php:914 includes/admin/table.php:305
584
  #: includes/admin/table.php:382
585
  msgid "Gallery Theme"
586
  msgstr ""
587
 
588
- #: includes/admin/metaboxes.php:929 includes/admin/table.php:314
589
  #: includes/admin/table.php:393
590
  msgid "Column Gutter Width"
591
  msgstr ""
592
 
593
- #: includes/admin/metaboxes.php:933
594
  msgid "Sets the space between the columns (defaults to 10)."
595
  msgstr ""
596
 
597
- #: includes/admin/metaboxes.php:938 includes/admin/table.php:319
598
  #: includes/admin/table.php:398
599
  msgid "Margin Below Each Image"
600
  msgstr ""
601
 
602
- #: includes/admin/metaboxes.php:942
603
  msgid "Sets the space below each item in the gallery."
604
  msgstr ""
605
 
606
- #: includes/admin/metaboxes.php:952
607
  msgid "Sorting"
608
  msgstr ""
609
 
610
- #: includes/admin/metaboxes.php:964
611
- msgid "Choose to sort the images in a different order than displayed on the Images tab."
 
 
612
  msgstr ""
613
 
614
- #: includes/admin/metaboxes.php:969
615
  msgid "Direction"
616
  msgstr ""
617
 
618
- #: includes/admin/metaboxes.php:990 includes/admin/metaboxes.php:1182
619
  msgid "Image Size"
620
  msgstr ""
621
 
622
- #: includes/admin/metaboxes.php:1002
623
- msgid "Define the maximum image size for the Gallery view. Default will use the below Image Dimensions; Random will allow you to choose one or more WordPress image sizes, which will be used for the gallery output."
 
 
 
624
  msgstr ""
625
 
626
- #: includes/admin/metaboxes.php:1011
627
  msgid "Random Image Sizes"
628
  msgstr ""
629
 
630
- #: includes/admin/metaboxes.php:1027
631
- msgid "Define the WordPress registered image sizes to include when randomly assigning an image size to each image in your Gallery."
 
 
632
  msgstr ""
633
 
634
- #: includes/admin/metaboxes.php:1036 includes/admin/table.php:325
635
  #: includes/admin/table.php:403
636
  msgid "Image Dimensions"
637
  msgstr ""
638
 
639
- #: includes/admin/metaboxes.php:1040
640
- msgid "You should adjust these dimensions based on the number of columns in your gallery. This does not affect the full size lightbox images."
 
 
641
  msgstr ""
642
 
643
- #: includes/admin/metaboxes.php:1045
644
  msgid "Crop Images?"
645
  msgstr ""
646
 
647
- #: includes/admin/metaboxes.php:1049
648
- msgid "If enabled, forces images to exactly match the sizes defined above for Image Dimensions and Mobile Dimensions."
 
 
649
  msgstr ""
650
 
651
- #: includes/admin/metaboxes.php:1050
652
  msgid "If disabled, images will be resized to maintain their aspect ratio."
653
  msgstr ""
654
 
655
- #: includes/admin/metaboxes.php:1060
656
  msgid "Set Dimensions on Images?"
657
  msgstr ""
658
 
659
- #: includes/admin/metaboxes.php:1064
660
- msgid "Enables or disables the width and height attributes on the img element. Only needs to be enabled if you need to meet Google Pagespeeds requirements."
 
 
661
  msgstr ""
662
 
663
- #: includes/admin/metaboxes.php:1069
664
  msgid "Enable Isotope?"
665
  msgstr ""
666
 
667
- #: includes/admin/metaboxes.php:1073
668
- msgid "Enables or disables isotope/masonry layout support for the main gallery images."
 
 
669
  msgstr ""
670
 
671
- #: includes/admin/metaboxes.php:1079
672
  msgid "Enable CSS Animations?"
673
  msgstr ""
674
 
675
- #: includes/admin/metaboxes.php:1083
676
  msgid "Enables CSS animations when loading the main gallery images."
677
  msgstr ""
678
 
679
- #: includes/admin/metaboxes.php:1089
680
  msgid "Image Opacity"
681
  msgstr ""
682
 
683
- #: includes/admin/metaboxes.php:1093
684
- msgid "The opacity to display images at when loading the main gallery images using CSS animations (between 1 and 100%)."
 
 
685
  msgstr ""
686
 
687
- #: includes/admin/metaboxes.php:1111
688
  msgid "Want to do even more with your gallery display?"
689
  msgstr ""
690
 
691
- #: includes/admin/metaboxes.php:1112
692
- msgid "By upgrading to Envira Pro, you can get access to numerous other gallery display features, including: custom image tagging and filtering, mobile specific image assets for blazing fast load times, dedicated and unique gallery URLs, custom gallery themes, gallery thumbnail support and so much more!"
 
 
 
 
 
693
  msgstr ""
694
 
695
- #: includes/admin/metaboxes.php:1134
696
  msgid "Lightbox Settings"
697
  msgstr ""
698
 
699
- #: includes/admin/metaboxes.php:1136
700
  msgid "The settings below adjust the lightbox output."
701
  msgstr ""
702
 
703
- #: includes/admin/metaboxes.php:1153 includes/admin/metaboxes.php:1514
704
  msgid "Enable Lightbox?"
705
  msgstr ""
706
 
707
- #: includes/admin/metaboxes.php:1157
708
  msgid "Enables or disables the gallery lightbox."
709
  msgstr ""
710
 
711
- #: includes/admin/metaboxes.php:1168
712
  msgid "Gallery Lightbox Theme"
713
  msgstr ""
714
 
715
- #: includes/admin/metaboxes.php:1176
716
  msgid "Sets the theme for the gallery lightbox display."
717
  msgstr ""
718
 
719
- #: includes/admin/metaboxes.php:1190
720
- msgid "Define the maximum image size for the Lightbox view. Default will display the original, full size image."
 
 
721
  msgstr ""
722
 
723
- #: includes/admin/metaboxes.php:1196
724
  msgid "Caption Position"
725
  msgstr ""
726
 
727
- #: includes/admin/metaboxes.php:1204
728
  msgid "Sets the display of the lightbox image's caption."
729
  msgstr ""
730
 
731
- #: includes/admin/metaboxes.php:1213 includes/admin/metaboxes.php:1541
732
  msgid "Enable Gallery Arrows?"
733
  msgstr ""
734
 
735
- #: includes/admin/metaboxes.php:1217
736
  msgid "Enables or disables the gallery lightbox navigation arrows."
737
  msgstr ""
738
 
739
- #: includes/admin/metaboxes.php:1222
740
  msgid "Gallery Arrow Position"
741
  msgstr ""
742
 
743
- #: includes/admin/metaboxes.php:1230
744
  msgid "Sets the position of the gallery lightbox navigation arrows."
745
  msgstr ""
746
 
747
- #: includes/admin/metaboxes.php:1235
748
  msgid "Enable Keyboard Navigation?"
749
  msgstr ""
750
 
751
- #: includes/admin/metaboxes.php:1239
752
  msgid "Enables or disables keyboard navigation in the gallery lightbox."
753
  msgstr ""
754
 
755
- #: includes/admin/metaboxes.php:1244
756
  msgid "Enable Mousewheel Navigation?"
757
  msgstr ""
758
 
759
- #: includes/admin/metaboxes.php:1248
760
  msgid "Enables or disables mousewheel navigation in the gallery."
761
  msgstr ""
762
 
763
- #: includes/admin/metaboxes.php:1253 includes/admin/metaboxes.php:1550
764
  msgid "Enable Gallery Toolbar?"
765
  msgstr ""
766
 
767
- #: includes/admin/metaboxes.php:1257
768
  msgid "Enables or disables the gallery lightbox toolbar."
769
  msgstr ""
770
 
771
- #: includes/admin/metaboxes.php:1262
772
  msgid "Display Gallery Title in Toolbar?"
773
  msgstr ""
774
 
775
- #: includes/admin/metaboxes.php:1266
776
  msgid "Display the gallery title in the lightbox toolbar."
777
  msgstr ""
778
 
779
- #: includes/admin/metaboxes.php:1271
780
  msgid "Gallery Toolbar Position"
781
  msgstr ""
782
 
783
- #: includes/admin/metaboxes.php:1279
784
  msgid "Sets the position of the lightbox toolbar."
785
  msgstr ""
786
 
787
- #: includes/admin/metaboxes.php:1284
788
  msgid "Keep Aspect Ratio?"
789
  msgstr ""
790
 
791
- #: includes/admin/metaboxes.php:1288
792
- msgid "If enabled, images will always resize based on the original aspect ratio."
 
793
  msgstr ""
794
 
795
- #: includes/admin/metaboxes.php:1293
796
  msgid "Loop Gallery Navigation?"
797
  msgstr ""
798
 
799
- #: includes/admin/metaboxes.php:1297
800
- msgid "Enables or disables infinite navigation cycling of the lightbox gallery."
 
801
  msgstr ""
802
 
803
- #: includes/admin/metaboxes.php:1302
804
  msgid "Lightbox Open/Close Effect"
805
  msgstr ""
806
 
807
- #: includes/admin/metaboxes.php:1322
808
  msgid "Type of transition when opening and closing the lightbox."
809
  msgstr ""
810
 
811
- #: includes/admin/metaboxes.php:1327
812
  msgid "Lightbox Transition Effect"
813
  msgstr ""
814
 
815
- #: includes/admin/metaboxes.php:1347
816
  msgid "Type of transition between images in the lightbox view."
817
  msgstr ""
818
 
819
- #: includes/admin/metaboxes.php:1352
820
  msgid "HTML5 Output?"
821
  msgstr ""
822
 
823
- #: includes/admin/metaboxes.php:1356
824
- msgid "If enabled, uses data-envirabox-gallery instead of rel attributes for W3C HTML5 validation."
 
 
825
  msgstr ""
826
 
827
- #: includes/admin/metaboxes.php:1370
828
- msgid "The settings below adjust the thumbnail views for the gallery lightbox display."
 
 
829
  msgstr ""
830
 
831
- #: includes/admin/metaboxes.php:1375 includes/admin/metaboxes.php:1559
832
  msgid "Enable Gallery Thumbnails?"
833
  msgstr ""
834
 
835
- #: includes/admin/metaboxes.php:1379
836
  msgid "Enables or disables the gallery lightbox thumbnails."
837
  msgstr ""
838
 
839
- #: includes/admin/metaboxes.php:1384
840
  msgid "Gallery Thumbnails Width"
841
  msgstr ""
842
 
843
- #: includes/admin/metaboxes.php:1388
844
  msgid "Sets the width of each lightbox thumbnail."
845
  msgstr ""
846
 
847
- #: includes/admin/metaboxes.php:1393
848
  msgid "Gallery Thumbnails Height"
849
  msgstr ""
850
 
851
- #: includes/admin/metaboxes.php:1397
852
  msgid "Sets the height of each lightbox thumbnail."
853
  msgstr ""
854
 
855
- #: includes/admin/metaboxes.php:1402
856
  msgid "Gallery Thumbnails Position"
857
  msgstr ""
858
 
859
- #: includes/admin/metaboxes.php:1410
860
  msgid "Sets the position of the lightbox thumbnails."
861
  msgstr ""
862
 
863
- #: includes/admin/metaboxes.php:1427
864
  msgid "Want even more fine tuned control over your lightbox display?"
865
  msgstr ""
866
 
867
- #: includes/admin/metaboxes.php:1428
868
- msgid "By upgrading to Envira Pro, you can get access to numerous other lightbox features, including: custom lightbox titles, enable/disable lightbox controls (arrow, keyboard and mousehweel navigation), custom lightbox transition effects, native fullscreen support, gallery deeplinking, image protection, lightbox supersize effects, lightbox slideshows and so much more!"
 
 
 
 
 
869
  msgstr ""
870
 
871
- #: includes/admin/metaboxes.php:1450
872
  msgid "Mobile Gallery Settings"
873
  msgstr ""
874
 
875
- #: includes/admin/metaboxes.php:1452
876
- msgid "The settings below adjust configuration options for the Gallery when viewed on a mobile device."
 
 
877
  msgstr ""
878
 
879
- #: includes/admin/metaboxes.php:1475
880
- msgid "Determines the number of columns in the gallery on mobile devices. Automatic will attempt to fill each row as much as possible before moving on to the next row."
 
 
 
881
  msgstr ""
882
 
883
- #: includes/admin/metaboxes.php:1481
884
  msgid "Create Mobile Gallery Images?"
885
  msgstr ""
886
 
887
- #: includes/admin/metaboxes.php:1485
888
  msgid "Enables or disables creating specific images for mobile devices."
889
  msgstr ""
890
 
891
- #: includes/admin/metaboxes.php:1491
892
  msgid "Mobile Dimensions"
893
  msgstr ""
894
 
895
- #: includes/admin/metaboxes.php:1495
896
  msgid "These will be the sizes used for images displayed on mobile devices."
897
  msgstr ""
898
 
899
- #: includes/admin/metaboxes.php:1505
900
  msgid "Mobile Lightbox Settings"
901
  msgstr ""
902
 
903
- #: includes/admin/metaboxes.php:1507
904
- msgid "The settings below adjust configuration options for the Lightbox when viewed on a mobile device."
 
 
905
  msgstr ""
906
 
907
- #: includes/admin/metaboxes.php:1518
908
  msgid "Enables or disables the gallery lightbox on mobile devices."
909
  msgstr ""
910
 
911
- #: includes/admin/metaboxes.php:1523
912
  msgid "Enable Gallery Touchwipe?"
913
  msgstr ""
914
 
915
- #: includes/admin/metaboxes.php:1527
916
- msgid "Enables or disables touchwipe support for the gallery lightbox on mobile devices."
 
 
917
  msgstr ""
918
 
919
- #: includes/admin/metaboxes.php:1532
920
  msgid "Close Lightbox on Swipe Up?"
921
  msgstr ""
922
 
923
- #: includes/admin/metaboxes.php:1536
924
- msgid "Enables or disables closing the Lightbox when the user swipes up on mobile devices."
 
 
925
  msgstr ""
926
 
927
- #: includes/admin/metaboxes.php:1545
928
- msgid "Enables or disables the gallery lightbox navigation arrows on mobile devices."
 
929
  msgstr ""
930
 
931
- #: includes/admin/metaboxes.php:1554
932
  msgid "Enables or disables the gallery lightbox toolbar on mobile devices."
933
  msgstr ""
934
 
935
- #: includes/admin/metaboxes.php:1563
936
  msgid "Enables or disables the gallery lightbox thumbnails on mobile devices."
937
  msgstr ""
938
 
939
- #: includes/admin/metaboxes.php:1587
940
  msgid "Miscellaneous Settings"
941
  msgstr ""
942
 
943
- #: includes/admin/metaboxes.php:1589
944
  msgid "The settings below adjust miscellaneous options for the Gallery."
945
  msgstr ""
946
 
947
- #: includes/admin/metaboxes.php:1605
948
  msgid "Gallery Title"
949
  msgstr ""
950
 
951
- #: includes/admin/metaboxes.php:1609
952
  msgid "Internal gallery title for identification in the admin."
953
  msgstr ""
954
 
955
- #: includes/admin/metaboxes.php:1614
956
  msgid "Gallery Slug"
957
  msgstr ""
958
 
959
- #: includes/admin/metaboxes.php:1618
960
- msgid "<strong>Unique</strong> internal gallery slug for identification and advanced gallery queries."
 
 
961
  msgstr ""
962
 
963
- #: includes/admin/metaboxes.php:1623
964
  msgid "Custom Gallery Classes"
965
  msgstr ""
966
 
967
- #: includes/admin/metaboxes.php:1626
968
  msgid "Enter custom gallery CSS classes here, one per line."
969
  msgstr ""
970
 
971
- #: includes/admin/metaboxes.php:1627
972
  msgid "Adds custom CSS classes to this gallery. Enter one class per line."
973
  msgstr ""
974
 
975
- #: includes/admin/metaboxes.php:1636
976
  msgid "Import/Export Gallery"
977
  msgstr ""
978
 
979
- #: includes/admin/metaboxes.php:1649
980
  msgid "Import Gallery"
981
  msgstr ""
982
 
983
- #: includes/admin/metaboxes.php:1656
984
  msgid "Export Gallery"
985
  msgstr ""
986
 
987
- #: includes/admin/metaboxes.php:1666
988
  msgid "Enable RTL Support?"
989
  msgstr ""
990
 
991
- #: includes/admin/metaboxes.php:1670
992
  msgid "Enables or disables RTL support in Envira for right-to-left languages."
993
  msgstr ""
994
 
995
- #: includes/admin/metaboxes.php:1682 includes/admin/metaboxes.php:1724
996
- #: includes/admin/metaboxes.php:1746 includes/admin/metaboxes.php:1768
997
- #: includes/admin/metaboxes.php:1790 includes/admin/metaboxes.php:1812
998
  msgid "Want to take your galleries further?"
999
  msgstr ""
1000
 
1001
- #: includes/admin/metaboxes.php:1683
1002
- msgid "By upgrading to Envira Pro, you can get access to numerous other features, including: a fully-integrated import/export module for your galleries, custom CSS controls for each gallery and so much more!"
 
 
 
1003
  msgstr ""
1004
 
1005
- #: includes/admin/metaboxes.php:1704
1006
  msgid "Videos"
1007
  msgstr ""
1008
 
1009
- #: includes/admin/metaboxes.php:1705
1010
  msgid "Social"
1011
  msgstr ""
1012
 
1013
- #: includes/admin/metaboxes.php:1706
1014
  msgid "Tags"
1015
  msgstr ""
1016
 
1017
- #: includes/admin/metaboxes.php:1707
1018
  msgid "Pagination"
1019
  msgstr ""
1020
 
1021
- #: includes/admin/metaboxes.php:1725
1022
- msgid "By upgrading to Envira Pro, you can get access to mobile-specific settings, including mobile image sizes, number of columns, mobile-specific lightbox options and so much more!"
 
 
 
1023
  msgstr ""
1024
 
1025
- #: includes/admin/metaboxes.php:1747
1026
- msgid "By upgrading to Envira Pro, you can add Videos to your Envira Galleries from YouTube, Vimeo, Wistia, and your own self-hosted videos!"
 
 
1027
  msgstr ""
1028
 
1029
- #: includes/admin/metaboxes.php:1769
1030
- msgid "By upgrading to Envira Pro, you can add social sharing buttons to your Gallery images and Lightbox images. With support for Facebook, Twitter, Google+ and Pinterest why not check it out?"
 
 
 
1031
  msgstr ""
1032
 
1033
- #: includes/admin/metaboxes.php:1791
1034
- msgid "By upgrading to Envira Pro, you can add Tags to your Gallery images, allow users to filter your Gallery by tag and so much more!"
 
 
1035
  msgstr ""
1036
 
1037
- #: includes/admin/metaboxes.php:1813
1038
- msgid "By upgrading to Envira Pro, you can split your Gallery across multiple pages with pagination, load paginated images via AJAX, lazy loading and more!"
 
 
1039
  msgstr ""
1040
 
1041
- #: includes/admin/metaboxes.php:2098
1042
  msgid "Remove Image from Gallery?"
1043
  msgstr ""
1044
 
1045
- #: includes/admin/metaboxes.php:2099
1046
  msgid "Modify Image"
1047
  msgstr ""
1048
 
@@ -1051,7 +1123,9 @@ msgid "Dismiss this notice"
1051
  msgstr ""
1052
 
1053
  #: includes/admin/partials/metabox-gallery-code.php:11
1054
- msgid "You can place this gallery anywhere into your posts, pages, custom post types or widgets by using <strong>one</strong> the shortcode(s) below:"
 
 
1055
  msgstr ""
1056
 
1057
  #: includes/admin/partials/metabox-gallery-code.php:14
@@ -1069,7 +1143,9 @@ msgid "Copy to Clipboard"
1069
  msgstr ""
1070
 
1071
  #: includes/admin/partials/metabox-gallery-code.php:32
1072
- msgid "You can also place this gallery into your template files by using <strong>one</strong> the template tag(s) below:"
 
 
1073
  msgstr ""
1074
 
1075
  #: includes/admin/partials/metabox-gallery-code.php:35
@@ -1103,7 +1179,9 @@ msgid "Instagram"
1103
  msgstr ""
1104
 
1105
  #: includes/admin/partials/metabox-gallery-type.php:85
1106
- msgid "Envira Pro allows you to build galleries from Instagram photos, images from your posts, and more."
 
 
1107
  msgstr ""
1108
 
1109
  #: includes/admin/partials/metabox-gallery-type.php:88
@@ -1112,7 +1190,9 @@ msgid "Click Here to Upgrade"
1112
  msgstr ""
1113
 
1114
  #: includes/admin/partials/metabox-gallery-type.php:95
1115
- msgid "It doesn't look like you have any Addons activated which import images from external sources."
 
 
1116
  msgstr ""
1117
 
1118
  #: includes/admin/posttype.php:97 includes/admin/posttype.php:100
@@ -1200,7 +1280,9 @@ msgid "Refresh Key"
1200
  msgstr ""
1201
 
1202
  #: includes/admin/settings.php:547
1203
- msgid "Your license key type (handles updates and Addons). Click refresh if your license has been upgraded or the type is incorrect."
 
 
1204
  msgstr ""
1205
 
1206
  #: includes/admin/settings.php:556
@@ -1212,7 +1294,12 @@ msgid "Fix"
1212
  msgstr ""
1213
 
1214
  #: includes/admin/settings.php:562
1215
- msgid "If you have changed the URL of your WordPress web site, and manually executed a search/replace query on URLs in your WordPress database, your galleries will probably no longer show any images. If this is the case, click the button above to fix this. We recommend using a migration plugin or script next time :)"
 
 
 
 
 
1216
  msgstr ""
1217
 
1218
  #: includes/admin/settings.php:578
@@ -1220,7 +1307,9 @@ msgid "Add New Images"
1220
  msgstr ""
1221
 
1222
  #: includes/admin/settings.php:586
1223
- msgid "When adding media to a Gallery, choose whether to add this media before or after any existing images."
 
 
1224
  msgstr ""
1225
 
1226
  #: includes/admin/settings.php:593
@@ -1228,7 +1317,10 @@ msgid "Delete Image on Gallery Image Deletion"
1228
  msgstr ""
1229
 
1230
  #: includes/admin/settings.php:601
1231
- msgid "When deleting an Image from a Gallery, choose whether to delete all media associated with that image. Note: If image(s) in the Media Library are attached to other Posts, they will not be deleted."
 
 
 
1232
  msgstr ""
1233
 
1234
  #: includes/admin/settings.php:607
@@ -1236,17 +1328,16 @@ msgid "Delete Images on Gallery Deletion"
1236
  msgstr ""
1237
 
1238
  #: includes/admin/settings.php:615
1239
- msgid "When deleting a Gallery, choose whether to delete all media associated with the gallery. Note: If image(s) in the Media Library are attached to other Posts, they will not be deleted."
 
 
 
1240
  msgstr ""
1241
 
1242
  #: includes/admin/settings.php:624
1243
  msgid "Save Settings"
1244
  msgstr ""
1245
 
1246
- #: includes/admin/skin.php:79
1247
- msgid "There was an error installing the addon. Please try again."
1248
- msgstr ""
1249
-
1250
  #: includes/admin/table.php:169
1251
  msgid "Shortcode"
1252
  msgstr ""
@@ -1416,7 +1507,10 @@ msgid "Yes"
1416
  msgstr ""
1417
 
1418
  #: includes/global/common.php:830
1419
- msgid "No image editor could be selected. Please verify with your webhost that you have either the GD or Imagick image library compiled with your PHP install on your server."
 
 
 
1420
  msgstr ""
1421
 
1422
  #: includes/global/common.php:933
@@ -1428,7 +1522,8 @@ msgid "No file could be found for the image URL specified."
1428
  msgstr ""
1429
 
1430
  #: includes/global/common.php:960 includes/global/common.php:972
1431
- msgid "The dimensions of the original image could not be retrieved for cropping."
 
1432
  msgstr ""
1433
 
1434
  #: includes/global/posttype.php:51
@@ -1467,49 +1562,39 @@ msgstr ""
1467
  msgid "No Envira galleries found in trash."
1468
  msgstr ""
1469
 
1470
- #: includes/global/shortcode.php:898
1471
  msgid "The requested content cannot be loaded.<br/>Please try again later.</p>"
1472
  msgstr ""
1473
 
1474
- #: includes/global/shortcode.php:899 includes/global/shortcode.php:1545
1475
  msgid "Close"
1476
  msgstr ""
1477
 
1478
- #: includes/global/shortcode.php:900 includes/global/shortcode.php:1535
1479
  msgid "Next"
1480
  msgstr ""
1481
 
1482
- #: includes/global/shortcode.php:901 includes/global/shortcode.php:1531
1483
  msgid "Previous"
1484
  msgstr ""
1485
 
1486
- #: includes/global/widget.php:56
1487
- msgid "Place an Envira gallery into a widgetized area."
1488
- msgstr ""
1489
-
1490
- #: includes/global/widget.php:158
1491
- msgid "Gallery"
1492
- msgstr ""
1493
-
1494
- #: includes/global/widget.php:168
1495
- msgid "Gallery ID #%s"
1496
- msgstr ""
1497
  #. Plugin Name of the plugin/theme
1498
  msgid "Envira Gallery Lite"
1499
  msgstr ""
1500
 
 
1501
  #. Plugin URI of the plugin/theme
 
 
1502
  msgid "http://enviragallery.com"
1503
  msgstr ""
1504
 
1505
  #. Description of the plugin/theme
1506
- msgid "Envira Gallery is best responsive WordPress gallery plugin. This is the lite version."
 
 
1507
  msgstr ""
1508
 
1509
  #. Author of the plugin/theme
1510
  msgid "Thomas Griffin"
1511
  msgstr ""
1512
-
1513
- #. Author URI of the plugin/theme
1514
- msgid "http://enviragallery.com"
1515
- 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.3\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/envira-gallery-"
7
+ "lite\n"
8
+ "POT-Creation-Date: 2016-09-04 17:38:49+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
 
16
  #: envira-gallery-lite.php:508
17
+ msgid ""
18
+ "Sorry, but your version of WordPress does not meet Envira Gallery's required "
19
+ "version of <strong>4.0</strong> to run properly. The plugin has been "
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
80
  msgstr ""
81
 
82
  #: includes/admin/addons.php:225
83
+ msgid ""
84
+ "In order to get access to Addons, you need to resolve your license key "
85
+ "errors."
86
  msgstr ""
87
 
88
  #: includes/admin/addons.php:241
89
+ msgid ""
90
+ "There was an issue retrieving the addons for this site. Please click on the "
91
+ "button below the refresh the addons data."
92
  msgstr ""
93
 
94
  #: includes/admin/addons.php:244
104
  msgstr ""
105
 
106
  #: includes/admin/addons.php:283
107
+ msgid ""
108
+ "<strong>Want even more addons?</strong> <a href=\"%s\">Upgrade your Envira "
109
+ "Gallery account</a> and unlock the following addons."
110
  msgstr ""
111
 
112
  #: includes/admin/addons.php:501
134
  msgstr ""
135
 
136
  #: includes/admin/common.php:237
137
+ msgid ""
138
+ "<strong>Envira Gallery:</strong> Your existing in-page Galleries can now be "
139
+ "found by clicking on Envira Gallery in the WordPress Admin menu."
140
  msgstr ""
141
 
142
  #: includes/admin/editor.php:86 includes/admin/editor.php:87
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 ""
156
+ "There was an error connecting to the remote key API. Please try again later."
157
  msgstr ""
158
 
159
  #: includes/admin/license.php:148
165
  msgstr ""
166
 
167
  #: includes/admin/license.php:324
168
+ msgid ""
169
+ "Congratulations! You have deactivated the key from this site successfully."
170
  msgstr ""
171
 
172
  #: includes/admin/license.php:418
173
+ msgid ""
174
+ "No valid license key has been entered, so automatic updates for Envira "
175
+ "Gallery have been turned off. <a href=\"%s\">Please click here to enter your "
176
+ "license key and begin receiving automatic updates.</a>"
177
  msgstr ""
178
 
179
  #: includes/admin/license.php:427
180
+ msgid ""
181
+ "Your license key for Envira Gallery has expired. <a href=\"%s\" target="
182
+ "\"_blank\">Please click here to renew your license key and continue "
183
+ "receiving automatic updates.</a>"
184
  msgstr ""
185
 
186
  #: includes/admin/license.php:436
187
+ msgid ""
188
+ "Your license key for Envira Gallery has been disabled. Please use a "
189
+ "different key to continue receiving automatic updates."
190
  msgstr ""
191
 
192
  #: includes/admin/license.php:445
193
+ msgid ""
194
+ "Your license key for Envira Gallery is invalid. The key no longer exists or "
195
+ "the user associated with the key has been deleted. Please use a different "
196
+ "key to continue receiving automatic updates."
197
  msgstr ""
198
 
199
  #: includes/admin/media-view.php:111 includes/admin/media-view.php:112
210
  msgstr ""
211
 
212
  #: includes/admin/media-view.php:167
213
+ msgid ""
214
+ "To choose your gallery, simply click on one of the boxes to the left. Ctrl / "
215
+ "cmd and click to select multiple Galleries. The \"Insert Gallery\" button "
216
+ "will be activated once you have selected a gallery."
217
  msgstr ""
218
 
219
  #: includes/admin/media-view.php:169
221
  msgstr ""
222
 
223
  #: includes/admin/media-view.php:171
224
+ msgid ""
225
+ "To insert your gallery into the editor, click on the \"Insert Gallery\" "
226
+ "button below."
227
  msgstr ""
228
 
229
  #: includes/admin/media-view.php:175
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
 
266
  #: includes/admin/media-view.php:253 includes/admin/media-view.php:387
267
+ msgid ""
268
+ "Image titles can take any type of HTML. You can adjust the position of the "
269
+ "titles in the main Lightbox settings."
270
  msgstr ""
271
 
272
  #: includes/admin/media-view.php:262 includes/admin/media-view.php:393
275
  msgstr ""
276
 
277
  #: includes/admin/media-view.php:276 includes/admin/media-view.php:407
278
+ msgid ""
279
+ "Captions can take any type of HTML, and are displayed when an image is "
280
+ "clicked."
281
  msgstr ""
282
 
283
  #: includes/admin/media-view.php:285 includes/admin/media-view.php:413
302
  msgstr ""
303
 
304
  #: includes/admin/media-view.php:303 includes/admin/media-view.php:431
305
+ msgid ""
306
+ "Enter a hyperlink if you wish to link this image to somewhere other than its "
307
+ "full size image."
308
  msgstr ""
309
 
310
  #: includes/admin/media-view.php:312 includes/admin/media-view.php:437
320
  msgstr ""
321
 
322
  #: includes/admin/media-view.php:327
323
+ msgid ""
324
+ "By upgrading to Envira Pro, you can get access to numerous other features, "
325
+ "including: HTML captions, open links in new windows, WooCommerce product "
326
+ "integration and so much more!"
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
 
352
  msgstr ""
353
 
354
  #: includes/admin/media-view.php:493
355
+ msgid ""
356
+ "Select the Gallery to move the selected images to by clicking on one of the "
357
+ "boxes to the left."
358
  msgstr ""
359
 
360
  #: includes/admin/media-view.php:496
361
+ msgid ""
362
+ "Once done, click the Move button, and the selected images will be moved to "
363
+ "the chosen Gallery."
364
  msgstr ""
365
 
366
  #: includes/admin/metaboxes.php:99
367
+ msgid ""
368
+ "The GD or Imagick libraries are not installed on your server. Envira Gallery "
369
+ "requires at least one (preferably Imagick) in order to crop images and may "
370
+ "not work properly without it. Please contact your webhost and ask them to "
371
+ "compile GD or Imagick for your PHP install."
372
  msgstr ""
373
 
374
  #: includes/admin/metaboxes.php:134
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
 
523
  msgstr ""
524
 
525
  #: includes/admin/metaboxes.php:774
526
+ msgid ""
527
+ "By upgrading to Envira Pro, you can get access to numerous other features, "
528
+ "including: a fully featured gallery widget, complete gallery API, powerful "
529
+ "gallery documentation, full mobile and Retina support, dedicated customer "
530
+ "support and so much more!"
531
  msgstr ""
532
 
533
  #: includes/admin/metaboxes.php:797
535
  msgstr ""
536
 
537
  #: includes/admin/metaboxes.php:799
538
+ msgid ""
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
 
546
  #: includes/admin/metaboxes.php:822
547
+ msgid ""
548
+ "Determines the number of columns in the gallery. Automatic will attempt to "
549
+ "fill each row as much as possible before moving on to the next row."
550
  msgstr ""
551
 
552
  #: includes/admin/metaboxes.php:833
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 "
720
+ "specific image assets for blazing fast load times, dedicated and unique "
721
+ "gallery URLs, custom gallery themes, gallery thumbnail support and so much "
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 "
909
+ "controls (arrow, keyboard and mousehweel navigation), custom lightbox "
910
+ "transition effects, native fullscreen support, gallery deeplinking, image "
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
 
1123
  msgstr ""
1124
 
1125
  #: includes/admin/partials/metabox-gallery-code.php:11
1126
+ msgid ""
1127
+ "You can place this gallery anywhere into your posts, pages, custom post "
1128
+ "types or widgets by using <strong>one</strong> the shortcode(s) below:"
1129
  msgstr ""
1130
 
1131
  #: includes/admin/partials/metabox-gallery-code.php:14
1143
  msgstr ""
1144
 
1145
  #: includes/admin/partials/metabox-gallery-code.php:32
1146
+ msgid ""
1147
+ "You can also place this gallery into your template files by using "
1148
+ "<strong>one</strong> the template tag(s) below:"
1149
  msgstr ""
1150
 
1151
  #: includes/admin/partials/metabox-gallery-code.php:35
1179
  msgstr ""
1180
 
1181
  #: includes/admin/partials/metabox-gallery-type.php:85
1182
+ msgid ""
1183
+ "Envira Pro allows you to build galleries from Instagram photos, images from "
1184
+ "your posts, and more."
1185
  msgstr ""
1186
 
1187
  #: includes/admin/partials/metabox-gallery-type.php:88
1190
  msgstr ""
1191
 
1192
  #: includes/admin/partials/metabox-gallery-type.php:95
1193
+ msgid ""
1194
+ "It doesn't look like you have any Addons activated which import images from "
1195
+ "external sources."
1196
  msgstr ""
1197
 
1198
  #: includes/admin/posttype.php:97 includes/admin/posttype.php:100
1280
  msgstr ""
1281
 
1282
  #: includes/admin/settings.php:547
1283
+ msgid ""
1284
+ "Your license key type (handles updates and Addons). Click refresh if your "
1285
+ "license has been upgraded or the type is incorrect."
1286
  msgstr ""
1287
 
1288
  #: includes/admin/settings.php:556
1294
  msgstr ""
1295
 
1296
  #: includes/admin/settings.php:562
1297
+ msgid ""
1298
+ "If you have changed the URL of your WordPress web site, and manually "
1299
+ "executed a search/replace query on URLs in your WordPress database, your "
1300
+ "galleries will probably no longer show any images. If this is the case, "
1301
+ "click the button above to fix this. We recommend using a migration plugin or "
1302
+ "script next time :)"
1303
  msgstr ""
1304
 
1305
  #: includes/admin/settings.php:578
1307
  msgstr ""
1308
 
1309
  #: includes/admin/settings.php:586
1310
+ msgid ""
1311
+ "When adding media to a Gallery, choose whether to add this media before or "
1312
+ "after any existing images."
1313
  msgstr ""
1314
 
1315
  #: includes/admin/settings.php:593
1317
  msgstr ""
1318
 
1319
  #: includes/admin/settings.php:601
1320
+ msgid ""
1321
+ "When deleting an Image from a Gallery, choose whether to delete all media "
1322
+ "associated with that image. Note: If image(s) in the Media Library are "
1323
+ "attached to other Posts, they will not be deleted."
1324
  msgstr ""
1325
 
1326
  #: includes/admin/settings.php:607
1328
  msgstr ""
1329
 
1330
  #: includes/admin/settings.php:615
1331
+ msgid ""
1332
+ "When deleting a Gallery, choose whether to delete all media associated with "
1333
+ "the gallery. Note: If image(s) in the Media Library are attached to other "
1334
+ "Posts, they will not be deleted."
1335
  msgstr ""
1336
 
1337
  #: includes/admin/settings.php:624
1338
  msgid "Save Settings"
1339
  msgstr ""
1340
 
 
 
 
 
1341
  #: includes/admin/table.php:169
1342
  msgid "Shortcode"
1343
  msgstr ""
1507
  msgstr ""
1508
 
1509
  #: includes/global/common.php:830
1510
+ msgid ""
1511
+ "No image editor could be selected. Please verify with your webhost that you "
1512
+ "have either the GD or Imagick image library compiled with your PHP install "
1513
+ "on your server."
1514
  msgstr ""
1515
 
1516
  #: includes/global/common.php:933
1522
  msgstr ""
1523
 
1524
  #: includes/global/common.php:960 includes/global/common.php:972
1525
+ msgid ""
1526
+ "The dimensions of the original image could not be retrieved for cropping."
1527
  msgstr ""
1528
 
1529
  #: includes/global/posttype.php:51
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.3) #-#-#-#-#
1586
  #. Plugin URI of the plugin/theme
1587
+ #. #-#-#-#-# envira-gallery.pot (Envira Gallery Lite 1.5.3) #-#-#-#-#
1588
+ #. Author URI of the plugin/theme
1589
  msgid "http://enviragallery.com"
1590
  msgstr ""
1591
 
1592
  #. Description of the plugin/theme
1593
+ msgid ""
1594
+ "Envira Gallery is best responsive WordPress gallery plugin. This is the lite "
1595
+ "version."
1596
  msgstr ""
1597
 
1598
  #. Author of the plugin/theme
1599
  msgid "Thomas Griffin"
1600
  msgstr ""
 
 
 
 
readme.txt CHANGED
@@ -185,6 +185,9 @@ Also, I'm an <a href="https://thomasgriffin.io" rel="me" title="WordPress Develo
185
 
186
  == Changelog ==
187
 
 
 
 
188
  = 1.5.2 =
189
  * Fix: Justified layout setting of 150 pixels for row height applies to galleries that were using the older automattic layout.
190
 
185
 
186
  == Changelog ==
187
 
188
+ = 1.5.3 =
189
+ * Updated: Revising Fancybox JS.
190
+
191
  = 1.5.2 =
192
  * Fix: Justified layout setting of 150 pixels for row height applies to galleries that were using the older automattic layout.
193