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

Version Description

  • Fix: Ensure all CSS and JS is minified
  • Fix: Ensure all inline JS is minified
  • Fix: Prevent potential collisions with third party Plugins and Themes using different versions of the imagesLoaded library.
  • Fix: Minor layout issues with Addons screen
  • Fix: Improved Addons search and sorting performance
  • Fix: Prevent JS errors when Galleries are loaded by slug
Download this release

Release Info

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

Code changes from version 1.5.0.2 to 1.5.0.3

assets/css/addons.css ADDED
@@ -0,0 +1 @@
 
1
+ @font-face{font-family:'envira';src:url("../fonts/envira.eot");src:url("../fonts/envira.eot?#iefix") format("embedded-opentype"),url("../fonts/envira.woff") format("woff"),url("../fonts/envira.ttf") format("truetype"),url("../fonts/envira.svg#envira") format("svg");font-weight:normal;font-style:normal}[class*='envira-']:before{display:inline-block;font-family:'envira';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.envira-configuration:before{content:'\0041'}.envira-leaf:before{content:'\0042'}.envira-lightbox:before{content:'\0044'}.envira-misc:before{content:'\0045'}.envira-mobile:before{content:'\0046'}.envira-pagination:before{content:'\0047'}.envira-proofing:before{content:'\0048'}.envira-slideshow:before{content:'\0049'}.envira-tags:before{content:'\004a'}.envira-thumbnails:before{content:'\004b'}.envira-video:before{content:'\004c'}.envira-watermark:before{content:'\004d'}.envira-cloud-download:before{content:'\004e'}.envira-toggle-on:before{content:'\004f'}.envira-plus-circle:before{content:'\0050'}.envira-down-arrow:before{content:'\0051'}.envira-list:before{content:'\0052'}.envira-grid:before{content:'\0053'}.envira-pinterest-p:before{content:'\0054'}.envira-pencil:before{content:'\0055'}.envira-close:before{content:'\0056'}.envira-check:before{content:'\0057'}#addon-heading:after{content:"";display:table;clear:both}#addon-heading h1{float:left}@media (min-width: 600px) and (max-width: 767px){#addon-heading h1{float:none}}#addon-heading form{float:right}#addon-heading form input{border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px;background-color:#fff;color:#666;margin:7px 10px 0 5px;font-size:14px;padding:5px 8px}#addon-heading form select{margin:-5px 20px 0 0}#addon-heading form .spinner{float:none;margin:-3px auto auto auto}@media (min-width: 600px) and (max-width: 767px){#addon-heading form{float:none;display:table;margin:10px auto 0 auto}}.envira-gallery{margin:20px auto}.envira-hideme{display:none}#envira-gallery-addons{padding:20px 0}#envira-addons .button,#envira-addons .button-primary{text-shadow:none;background-color:#f7f7f7;color:#23282d;font-weight:600;border:1px solid #ccc;line-height:inherit;height:inherit;padding:5px 15px;box-shadow:none;cursor:pointer}#envira-addons .button:hover,#envira-addons .button-primary:hover{color:#23282d;background-color:#fafafa;border-color:#999}#envira-addons .envira-addon-action-button{padding-left:20px;padding-right:20px}#envira-addons .envira-addon-action-button .envira-cloud-download{font-size:19px;float:left;margin-right:8px;color:#8d8f92}#envira-addons .envira-addon-action-button .envira-toggle-on{font-size:19px;float:left;margin-right:8px;margin-top:1px;color:#7cc048}#envira-addons .envira-addon-upgrade-button{background-color:#7cc048;color:#fff;float:none !important;margin:0 auto;display:table;line-height:25px}#envira-addons .envira-addon-upgrade-button:hover{background-color:#95dc5e;color:#fff;border-color:#95dc5e}#envira-addons .envira-addon-action-button.envira-activate-addon .envira-toggle-on{color:#e92c21;-moz-transform:scaleX(-1);-o-transform:scaleX(-1);-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}#envira-addons .envira-addon-title{margin-top:30px}#envira-addons .envira-addons-area:after{content:"";display:table;clear:both}#envira-addons .envira-addons-area.licensed{margin:20px 0 40px 0;padding:0 0 20px 0;border-bottom:1px solid #ddd}#envira-addons .envira-addons-area .envira-addon{border:1px solid #ddd;position:relative;background:#fff;border-radius:3px;float:left;margin:0 2% 2% 0;min-height:465px;padding:0px;text-align:center;width:32%;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}#envira-addons .envira-addons-area .envira-addon:nth-child(3n){margin-right:0}#envira-addons .envira-addons-area .envira-addon:nth-child(3n+1){clear:both}@media (min-width: 992px) and (max-width: 1199px){#envira-addons .envira-addons-area .envira-addon{min-height:420px}}@media (min-width: 768px) and (max-width: 991px){#envira-addons .envira-addons-area .envira-addon{width:100% !important;min-height:525px}}@media (min-width: 600px) and (max-width: 767px){#envira-addons .envira-addons-area .envira-addon{width:100% !important;min-height:525px}}#envira-addons .envira-addons-area .envira-addon .envira-addon-thumb{margin:20px auto 20px auto;max-width:100%}@media (min-width: 992px) and (max-width: 1199px){#envira-addons .envira-addons-area .envira-addon .envira-addon-thumb{margin:10px auto 15px auto}}@media (min-width: 768px) and (max-width: 991px){#envira-addons .envira-addons-area .envira-addon .envira-addon-thumb{margin:10px auto 15px auto}}@media (min-width: 600px) and (max-width: 767px){#envira-addons .envira-addons-area .envira-addon .envira-addon-thumb{margin:10px auto 15px auto}}#envira-addons .envira-addons-area .envira-addon .envira-addon-excerpt{margin-top:0;margin-bottom:90px;margin-left:0px;margin-right:0px;color:#2f2f2f;font-weight:200;padding:0 20px;display:table}#envira-addons .envira-addons-area .envira-addon .envira-addon-message{background:#f7f7f7;border-top:1px solid #ddd}#envira-addons .envira-addons-area .envira-addon .envira-addon-message,#envira-addons .envira-addons-area .envira-addon .envira-addon-error{position:absolute;bottom:0;float:left;width:100%;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;margin:0;padding:0;text-align:left}#envira-addons .envira-addons-area .envira-addon .envira-addon-message .interior,#envira-addons .envira-addons-area .envira-addon .envira-addon-error .interior{padding:20px}#envira-addons .envira-addons-area .envira-addon .envira-addon-message .interior:after,#envira-addons .envira-addons-area .envira-addon .envira-addon-error .interior:after{content:"";display:table;clear:both}#envira-addons .envira-addons-area .envira-addon .envira-addon-message.envira-addon-active .addon-status span,#envira-addons .envira-addons-area .envira-addon .envira-addon-error.envira-addon-active .addon-status span{color:#7cc048}#envira-addons .envira-addons-area .envira-addon .envira-addon-message.envira-addon-active .interior.envira-addon-active .addon-status span,#envira-addons .envira-addons-area .envira-addon .envira-addon-error.envira-addon-active .interior.envira-addon-active .addon-status span{color:#7cc048}#envira-addons .envira-addons-area .envira-addon .envira-addon-message.envira-addon-active .interior.envira-addon-inactive .addon-status span,#envira-addons .envira-addons-area .envira-addon .envira-addon-error.envira-addon-active .interior.envira-addon-inactive .addon-status span{color:#e82c20}#envira-addons .envira-addons-area .envira-addon .envira-addon-message.envira-addon-active .interior.envira-addon-not-installed .addon-status span,#envira-addons .envira-addons-area .envira-addon .envira-addon-error.envira-addon-active .interior.envira-addon-not-installed .addon-status span{color:#a3a4a5}#envira-addons .envira-addons-area .envira-addon .envira-addon-message.envira-addon-inactive .addon-status span,#envira-addons .envira-addons-area .envira-addon .envira-addon-error.envira-addon-inactive .addon-status span{color:#e82c20}#envira-addons .envira-addons-area .envira-addon .envira-addon-message.envira-addon-inactive .interior.envira-addon-active .addon-status span,#envira-addons .envira-addons-area .envira-addon .envira-addon-error.envira-addon-inactive .interior.envira-addon-active .addon-status span{color:#7cc048}#envira-addons .envira-addons-area .envira-addon .envira-addon-message.envira-addon-inactive .interior.envira-addon-inactive .addon-status span,#envira-addons .envira-addons-area .envira-addon .envira-addon-error.envira-addon-inactive .interior.envira-addon-inactive .addon-status span{color:#e82c20}#envira-addons .envira-addons-area .envira-addon .envira-addon-message.envira-addon-inactive .interior.envira-addon-not-installed .addon-status span,#envira-addons .envira-addons-area .envira-addon .envira-addon-error.envira-addon-inactive .interior.envira-addon-not-installed .addon-status span{color:#a3a4a5}#envira-addons .envira-addons-area .envira-addon .envira-addon-message.envira-addon-not-installed .addon-status span,#envira-addons .envira-addons-area .envira-addon .envira-addon-error.envira-addon-not-installed .addon-status span{color:#a3a4a5}#envira-addons .envira-addons-area .envira-addon .envira-addon-message.envira-addon-not-installed .interior.envira-addon-active .addon-status span,#envira-addons .envira-addons-area .envira-addon .envira-addon-error.envira-addon-not-installed .interior.envira-addon-active .addon-status span{color:#7cc048}#envira-addons .envira-addons-area .envira-addon .envira-addon-message.envira-addon-not-installed .interior.envira-addon-inactive .addon-status span,#envira-addons .envira-addons-area .envira-addon .envira-addon-error.envira-addon-not-installed .interior.envira-addon-inactive .addon-status span{color:#e82c20}#envira-addons .envira-addons-area .envira-addon .envira-addon-message.envira-addon-not-installed .interior.envira-addon-not-installed .addon-status span,#envira-addons .envira-addons-area .envira-addon .envira-addon-error.envira-addon-not-installed .interior.envira-addon-not-installed .addon-status span{color:#a3a4a5}#envira-addons .envira-addons-area .envira-addon .envira-addon-message span.addon-status,#envira-addons .envira-addons-area .envira-addon .envira-addon-error span.addon-status{float:left;font-weight:bold}#envira-addons .envira-addons-area .envira-addon .envira-addon-message a.button,#envira-addons .envira-addons-area .envira-addon .envira-addon-error a.button{float:right}#envira-addons .envira-addons-area .envira-addon .envira-addon-message span.envira-gallery-spinner,#envira-addons .envira-addons-area .envira-addon .envira-addon-error span.envira-gallery-spinner{position:absolute;bottom:15px;right:0}#envira-addons .envira-addons-area .envira-addon .envira-addon-action{display:inline;float:right}#envira-addons .envira-addons-area .envira-addon .envira-addon-action .button-primary{margin:-5px 0 0 0;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px}#envira-addons .envira-addons-area .envira-addon .envira-addon-action .button-primary:hover{color:#23282d;background-color:#fafafa;border-color:#999}#envira-addons .envira-addons-area .envira-addon .envira-addon-error{bottom:10px;float:none;left:15px;right:20px;width:auto}#envira-addons .envira-addons-area .envira-addon .envira-addon-error .xinterior{width:100%;margin:0;background:#fff;border-left:4px solid #dc3232;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1)}#envira-addons .envira-addons-area .envira-addon .envira-addon-error p{padding:10px;margin:5px 10px}#envira-addons .envira-addons-area .envira-addon .envira-addon-error .wrap{margin:0}#envira-addons .envira-addons-area .envira-addon .envira-addon-error .icon32{display:none}#envira-addons .envira-addons-area .envira-addon .envira-addon-error h2{padding:0}#envira-addons .envira-addons-area .envira-addon .envira-addon-error .form-table th{padding:10px 0;width:30% !important}#envira-addons .envira-addons-area .envira-addon .envira-addon-error .form-table input[type="text"],#envira-addons .envira-addons-area .envira-addon .envira-addon-error .envira-addon .envira-addon-error .form-table input[type="password"]{width:100% !important}#envira-addons .envira-addons-area .envira-addon .envira-addon-error p.submit{padding:0}#envira-addons .envira-addons-area .envira-addon p{color:#2f2f2f;font-size:13px;margin:10px 0 0;text-shadow:0 1px #fff}#envira-addons .envira-addons-area #envira-addons-unlock-more-area{margin:40px auto 20px auto;padding-bottom:0;border-bottom:0}#envira-addons-more-area .envira-addon .interior{padding:15px 20px !important}#envira-addons-refresh-addons-form{width:100%;max-width:850px;float:left}@media (min-width: 992px) and (max-width: 1199px){#envira-addons-refresh-addons-form{max-width:450px}}@media (min-width: 768px) and (max-width: 991px){#envira-addons-refresh-addons-form{max-width:50%}#envira-addons-refresh-addons-form input.button{display:block}}@media (min-width: 600px) and (max-width: 767px){#envira-addons-refresh-addons-form{width:100%;float:none}#envira-addons-refresh-addons-form input.button{display:block}}#envira-filter-form{float:right}#envira-filter-form input[type='submit'],#envira-filter-form select{background-color:#f7f7f7;color:#23282d;border:1px solid #ddd;height:30px;width:120px;margin-top:-2px}#envira-filter-form input{padding:5px 15px;box-shadow:0;cursor:pointer;background-color:#f7f7f7;color:#23282d}#envira-filter-form input:hover{color:#23282d;background-color:#fafafa;border-color:#999}#envira-filter-form .spinner{float:left}.clearfix:after{content:"";display:table;clear:both}@media only screen and (max-width: 1050px){#envira-addons-area .envira-addon{width:49%}#envira-addons-area .envira-addon:nth-child(2n){margin-right:0}#envira-addons-area .envira-addon:nth-child(2n+1){clear:both}#envira-addons-area .envira-addon:nth-child(3n){margin-right:2%}#envira-addons-area .envira-addon:nth-child(3n+1){clear:none}#envira-addons-area .envira-addon .envira-addon-excerpt{margin-bottom:90px}}@media only screen and (max-width: 782px){#envira-addons-area .envira-addon{min-height:auto}#envira-addons-area .envira-addon .envira-addon-action .button-primary{margin:-7px 0 0 0}}@media only screen and (max-width: 600px){#envira-addons-area .envira-addon{width:99%}#envira-addons-area .envira-addon .envira-addon-message{float:left;width:100%}#envira-addons-area .envira-addon .envira-addon-message span.addon-status{display:block;width:100%;margin:0 0 5px 0;text-align:center}#envira-addons-area .envira-addon .envira-addon-message div.envira-addon-action{clear:both;display:block;width:100%;text-align:center}#envira-addons-area .envira-addon .envira-addon-message div.envira-addon-action .button-primary{clear:both;float:none;margin:0 auto}#envira-addons-area .envira-addon .envira-addon-excerpt{margin-bottom:120px}}
assets/css/admin.css CHANGED
@@ -1,523 +1 @@
1
- /* ==========================================================================
2
- admin.css loads on all Envira Administration Screens:
3
- - WP_List_Tables
4
- - Add New
5
- - Albums
6
- - Settings
7
- - NextGEN Import
8
-
9
- Any styles that will be used by all of the above (or are useful to be included
10
- for future use) should be added to this file:
11
- - Header and Logo
12
- - WordPress Red Button
13
- ========================================================================== */
14
- /* ==========================================================================
15
- Imports
16
- ========================================================================== */
17
- /* ==========================================================================
18
- Variables SCSS
19
- ========================================================================== */
20
- /* ==========================================================================
21
- Mixins
22
- ========================================================================== */
23
- /**
24
- * Media Query
25
- */
26
- /**
27
- * Border-Radius
28
- */
29
- body.post-type-envira,
30
- body.post-type-envira_album {
31
- /**
32
- * Subheading
33
- */
34
- /**
35
- * Wrapper
36
- */
37
- /* ==========================================================================
38
- Button Styles
39
- ========================================================================== */
40
- /* ==========================================================================
41
- Thickbox (used for choosing a Default Gallery/Album)
42
- ========================================================================== */ }
43
- body.post-type-envira #wpcontent,
44
- body.post-type-envira_album #wpcontent {
45
- padding-left: 0; }
46
- body.post-type-envira .update-nag,
47
- body.post-type-envira_album .update-nag {
48
- margin-left: 20px;
49
- margin-bottom: 20px; }
50
- body.post-type-envira .subheading,
51
- body.post-type-envira_album .subheading {
52
- background-color: #ffffff;
53
- height: 45px;
54
- margin-left: -20px; }
55
- @media (min-width: 600px) and (max-width: 767px) {
56
- body.post-type-envira .subheading,
57
- body.post-type-envira_album .subheading {
58
- height: auto;
59
- padding-bottom: 20px; } }
60
- body.post-type-envira .subheading h1,
61
- body.post-type-envira_album .subheading h1 {
62
- font-size: 20px;
63
- font-weight: 400;
64
- line-height: 45px;
65
- margin: 0 0 0 20px;
66
- padding-left: 20px; }
67
- body.post-type-envira div.wrap,
68
- body.post-type-envira_album div.wrap {
69
- margin: 0;
70
- /**
71
- * Screen Title
72
- * - h1 used from WordPress 4.3+
73
- * - h2 used in WordPress 4.2-
74
- */
75
- /**
76
- * Tab Panels
77
- * - By default, they're hidden and the .envira-active class displays them
78
- */
79
- /**
80
- * Code Snippets
81
- */ }
82
- body.post-type-envira div.wrap > h1,
83
- body.post-type-envira div.wrap > h2,
84
- body.post-type-envira_album div.wrap > h1,
85
- body.post-type-envira_album div.wrap > h2 {
86
- margin: 0 0 20px 0;
87
- padding: 15px 20px 10px 20px;
88
- background: #ffffff;
89
- font-weight: 600;
90
- font-size: 20px;
91
- /**
92
- * Page Title Action (i.e. Add New)
93
- */
94
- /**
95
- * Subtitle (search results title)
96
- */ }
97
- body.post-type-envira div.wrap > h1 a.page-title-action:hover,
98
- body.post-type-envira div.wrap > h2 a.page-title-action:hover,
99
- body.post-type-envira_album div.wrap > h1 a.page-title-action:hover,
100
- body.post-type-envira_album div.wrap > h2 a.page-title-action:hover {
101
- background: #95dc5e;
102
- border-color: #95dc5e;
103
- color: #ffffff; }
104
- body.post-type-envira div.wrap > h1 span.subtitle,
105
- body.post-type-envira div.wrap > h2 span.subtitle,
106
- body.post-type-envira_album div.wrap > h1 span.subtitle,
107
- body.post-type-envira_album div.wrap > h2 span.subtitle {
108
- float: right; }
109
- body.post-type-envira div.wrap .envira-tab,
110
- body.post-type-envira_album div.wrap .envira-tab {
111
- display: none;
112
- /**
113
- * Active Tab
114
- */ }
115
- body.post-type-envira div.wrap .envira-tab.envira-active,
116
- body.post-type-envira_album div.wrap .envira-tab.envira-active {
117
- display: block; }
118
- body.post-type-envira div.wrap div.envira-code,
119
- body.post-type-envira_album div.wrap div.envira-code {
120
- position: relative;
121
- margin: 0 0 10px 0;
122
- /**
123
- * Clearfix
124
- */
125
- /**
126
- * Copy to Clipboard
127
- */ }
128
- body.post-type-envira div.wrap div.envira-code:after,
129
- body.post-type-envira_album div.wrap div.envira-code:after {
130
- content: "";
131
- display: table;
132
- clear: both; }
133
- body.post-type-envira div.wrap div.envira-code code,
134
- body.post-type-envira_album div.wrap div.envira-code code {
135
- display: block;
136
- font-size: 11px;
137
- padding: 5px 20px 5px 5px; }
138
- body.post-type-envira div.wrap div.envira-code a.envira-clipboard,
139
- body.post-type-envira_album div.wrap div.envira-code a.envira-clipboard {
140
- position: absolute;
141
- top: 5px;
142
- right: 5px;
143
- color: #23282d; }
144
- body.post-type-envira div.wrap div.envira-code a.envira-clipboard span,
145
- body.post-type-envira_album div.wrap div.envira-code a.envira-clipboard span {
146
- display: block;
147
- text-indent: -9999px; }
148
- body.post-type-envira .button,
149
- body.post-type-envira_album .button {
150
- -webkit-border-radius: 2px;
151
- -moz-border-radius: 2px;
152
- -o-border-radius: 2px;
153
- border-radius: 2px;
154
- padding: 0 16px 1px;
155
- height: 33px;
156
- line-height: 30px;
157
- text-decoration: none;
158
- text-shadow: none;
159
- font-weight: 600;
160
- -webkit-box-shadow: none;
161
- box-shadow: none;
162
- /**
163
- * Screen Options
164
- * - Don't set a height
165
- */
166
- /**
167
- * Green Button
168
- * - Replaces WordPress' default primary button style
169
- */
170
- /**
171
- * Red Button
172
- */ }
173
- body.post-type-envira .button.button-small,
174
- body.post-type-envira_album .button.button-small {
175
- padding: 0 8px 1px;
176
- line-height: 22px;
177
- height: 24px; }
178
- @media (min-width: 600px) and (max-width: 767px) {
179
- body.post-type-envira .button,
180
- body.post-type-envira_album .button {
181
- margin-top: 10px; } }
182
- body.post-type-envira .button.show-settings,
183
- body.post-type-envira_album .button.show-settings {
184
- height: auto; }
185
- body.post-type-envira .button.button-primary,
186
- body.post-type-envira_album .button.button-primary {
187
- background: #7cc048;
188
- border-color: #7cc048;
189
- -webkit-box-shadow: none;
190
- box-shadow: none;
191
- color: #ffffff; }
192
- body.post-type-envira .button.button-primary:hover,
193
- body.post-type-envira_album .button.button-primary:hover {
194
- background: #95dc5e;
195
- border-color: #95dc5e;
196
- color: #ffffff; }
197
- body.post-type-envira .button.button-danger,
198
- body.post-type-envira_album .button.button-danger {
199
- background: #e02626;
200
- border-color: #e02626;
201
- -webkit-box-shadow: none;
202
- box-shadow: none;
203
- color: #ffffff; }
204
- body.post-type-envira .button.button-danger:hover,
205
- body.post-type-envira_album .button.button-danger:hover {
206
- background: #f85959;
207
- border-color: #f85959;
208
- color: #ffffff; }
209
- body.post-type-envira div#TB_window div.wrap,
210
- body.post-type-envira_album div#TB_window div.wrap {
211
- margin: 10px 20px 0 2px; }
212
-
213
- /* ==========================================================================
214
- Header
215
- ========================================================================== */
216
- #envira-header-temp {
217
- position: relative; }
218
-
219
- #envira-header {
220
- background-color: #7cc048;
221
- height: 120px; }
222
- @media (max-width: 599px) {
223
- #envira-header {
224
- padding-top: 46px; } }
225
- #envira-header h1.envira-logo {
226
- margin: 0;
227
- line-height: 120px;
228
- margin-left: 20px; }
229
- #envira-header h1.envira-logo img {
230
- /**
231
- * Image width and height (image is 2x so this ensures it displays correctly)
232
- */
233
- max-width: 339px;
234
- height: auto;
235
- width: 90%;
236
- /**
237
- * Responsive - ensure the logo doesn't exceed the header dimensions
238
- */ }
239
- @media (min-width: 600px) and (max-width: 767px) {
240
- #envira-header h1.envira-logo img {
241
- width: 90%; } }
242
-
243
- @media (max-width: 599px) {
244
- #wpbody {
245
- padding-top: 0; } }
246
-
247
- /* ==========================================================================
248
- Inline Notices
249
- - These are Envira-specific notices with custom styling for e.g. Instagram oAuth,
250
- upgrade / upsells.
251
- ========================================================================== */
252
- .envira-notice {
253
- position: relative;
254
- margin: 0 0 20px 0;
255
- padding: 20px;
256
- -webkit-border-radius: 2px;
257
- -moz-border-radius: 2px;
258
- -o-border-radius: 2px;
259
- border-radius: 2px;
260
- /**
261
- * Heading
262
- */
263
- /**
264
- * Close Button
265
- */
266
- /**
267
- * Success
268
- */
269
- /**
270
- * Warning
271
- */
272
- /**
273
- * Error
274
- */ }
275
- .envira-notice p.envira-intro {
276
- border: none !important;
277
- margin: 0 0 20px 0 !important;
278
- padding: 0 !important; }
279
- .envira-notice .notice-dismiss {
280
- top: 10px;
281
- right: 10px;
282
- color: #ffffff; }
283
- .envira-notice .notice-dismiss:before {
284
- color: #ffffff;
285
- width: 26px;
286
- height: 26px;
287
- font-size: 22px; }
288
- .envira-notice.success {
289
- background: #7cc048;
290
- color: #ffffff;
291
- border: none;
292
- /**
293
- * Button background color needs to be adjusted so it displays over the green background
294
- * of the success message
295
- */ }
296
- .envira-notice.success .button.button-primary {
297
- background-color: #95dc5e;
298
- border-color: #95dc5e; }
299
- .envira-notice.warning {
300
- background: #fcf8e3;
301
- border: 1px solid #faebcc; }
302
- .envira-notice.warning .notice-dismiss {
303
- color: #000000; }
304
- .envira-notice.warning .notice-dismiss:before {
305
- color: #000000; }
306
- .envira-notice.error {
307
- border-top: 1px solid #dc3232;
308
- border-right: 1px solid #dc3232;
309
- border-bottom: 1px solid #dc3232; }
310
-
311
- /* ==========================================================================
312
- Table, Add, Edit Screens
313
- ========================================================================== */
314
- body.post-type-envira.edit-php div.wrap,
315
- body.post-type-envira.post-new-php div.wrap,
316
- body.post-type-envira.post-php div.wrap,
317
- body.post-type-envira_album.edit-php div.wrap,
318
- body.post-type-envira_album.post-new-php div.wrap,
319
- body.post-type-envira_album.post-php div.wrap {
320
- /**
321
- * Remove the margin on the wrapper
322
- */
323
- margin: 0;
324
- /**
325
- * Add margin to notices
326
- */ }
327
- body.post-type-envira.edit-php div.wrap > div.error,
328
- body.post-type-envira.edit-php div.wrap > div.notice,
329
- body.post-type-envira.edit-php div.wrap > div.updated,
330
- body.post-type-envira.post-new-php div.wrap > div.error,
331
- body.post-type-envira.post-new-php div.wrap > div.notice,
332
- body.post-type-envira.post-new-php div.wrap > div.updated,
333
- body.post-type-envira.post-php div.wrap > div.error,
334
- body.post-type-envira.post-php div.wrap > div.notice,
335
- body.post-type-envira.post-php div.wrap > div.updated,
336
- body.post-type-envira_album.edit-php div.wrap > div.error,
337
- body.post-type-envira_album.edit-php div.wrap > div.notice,
338
- body.post-type-envira_album.edit-php div.wrap > div.updated,
339
- body.post-type-envira_album.post-new-php div.wrap > div.error,
340
- body.post-type-envira_album.post-new-php div.wrap > div.notice,
341
- body.post-type-envira_album.post-new-php div.wrap > div.updated,
342
- body.post-type-envira_album.post-php div.wrap > div.error,
343
- body.post-type-envira_album.post-php div.wrap > div.notice,
344
- body.post-type-envira_album.post-php div.wrap > div.updated {
345
- margin-left: 20px;
346
- margin-right: 20px; }
347
-
348
- /* ==========================================================================
349
- Taxonomy Screens
350
- ========================================================================== */
351
- body.post-type-envira.edit-tags-php div.wrap,
352
- body.post-type-envira.taxonomy-envira-tag div.wrap {
353
- margin: 0;
354
- /**
355
- * Add margin to notices
356
- */
357
- /**
358
- * Reduce our global custom button sizes so they align with inputs
359
- */ }
360
- body.post-type-envira.edit-tags-php div.wrap > div.error,
361
- body.post-type-envira.edit-tags-php div.wrap > div.notice,
362
- body.post-type-envira.edit-tags-php div.wrap > div.updated,
363
- body.post-type-envira.taxonomy-envira-tag div.wrap > div.error,
364
- body.post-type-envira.taxonomy-envira-tag div.wrap > div.notice,
365
- body.post-type-envira.taxonomy-envira-tag div.wrap > div.updated {
366
- margin-left: 20px;
367
- margin-right: 20px; }
368
- body.post-type-envira.edit-tags-php div.wrap form.search-form,
369
- body.post-type-envira.edit-tags-php div.wrap form#edittag,
370
- body.post-type-envira.edit-tags-php div.wrap #col-container,
371
- body.post-type-envira.taxonomy-envira-tag div.wrap form.search-form,
372
- body.post-type-envira.taxonomy-envira-tag div.wrap form#edittag,
373
- body.post-type-envira.taxonomy-envira-tag div.wrap #col-container {
374
- /**
375
- * Re-establish the left and right margins, so there's spacing between the Admin Menu
376
- * and the content
377
- */
378
- margin: 0 20px; }
379
- body.post-type-envira.edit-tags-php div.wrap .button,
380
- body.post-type-envira.taxonomy-envira-tag div.wrap .button {
381
- height: 28px;
382
- line-height: 26px; }
383
-
384
- /* ==========================================================================
385
- Third Party Screens
386
- ========================================================================== */
387
- body.post-type-envira div.wrap {
388
- /**
389
- * Re-establish the left and right margins, so there's spacing between the Admin Menu
390
- * and the content for any third party plugins which add sections / pages within Envira
391
- */
392
- margin: 0 20px; }
393
-
394
- /* ==========================================================================
395
- Gallery / Album Selection Media Modal
396
- ========================================================================== */
397
- .media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor {
398
- /**
399
- * Error
400
- * - Position below the search bar
401
- */
402
- /**
403
- * Grid
404
- */
405
- /**
406
- * Sidebar
407
- */ }
408
- .media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor div.envira-gallery-error {
409
- position: absolute;
410
- top: 50px;
411
- left: 0;
412
- right: 300px; }
413
- .media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor ul.attachments li.attachment {
414
- width: 20%; }
415
- .media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor ul.attachments li.attachment div.attachment-preview div.thumbnail {
416
- /**
417
- * Thumbnail Image
418
- */
419
- /**
420
- * Title
421
- */
422
- /**
423
- * Shortcode
424
- */ }
425
- .media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor ul.attachments li.attachment div.attachment-preview div.thumbnail img {
426
- position: absolute;
427
- z-index: 1;
428
- top: 0;
429
- left: 0;
430
- width: 100%;
431
- height: 100%;
432
- opacity: 0.2; }
433
- .media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor ul.attachments li.attachment div.attachment-preview div.thumbnail strong {
434
- position: absolute;
435
- z-index: 2;
436
- height: 50%;
437
- top: 0;
438
- left: 0;
439
- right: 0;
440
- padding: 10px;
441
- text-align: center;
442
- overflow: hidden;
443
- -webkit-box-sizing: border-box;
444
- -moz-box-sizing: border-box;
445
- box-sizing: border-box;
446
- vertical-align: bottom;
447
- background: rgba(0, 0, 0, 0.07);
448
- text-shadow: 1px 1px #ddd; }
449
- .media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor ul.attachments li.attachment div.attachment-preview div.thumbnail strong span {
450
- display: block;
451
- position: absolute;
452
- bottom: 10px;
453
- left: 0;
454
- right: 0;
455
- padding: 0 10px;
456
- text-align: center; }
457
- .media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor ul.attachments li.attachment div.attachment-preview div.thumbnail code {
458
- position: absolute;
459
- z-index: 2;
460
- height: 50%;
461
- bottom: 0;
462
- left: 0;
463
- right: 0;
464
- padding: 10px;
465
- text-align: center;
466
- -webkit-box-sizing: border-box;
467
- -moz-box-sizing: border-box;
468
- box-sizing: border-box;
469
- vertical-align: middle;
470
- text-shadow: 1px 1px #ddd; }
471
- .media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor div.media-sidebar div.settings .name {
472
- text-align: left; }
473
-
474
- /* ==========================================================================
475
- Responsive
476
- ========================================================================== */
477
- @media screen and (max-width: 640px) {
478
- body.post-type-envira,
479
- body.post-type-envira_album {
480
- /**
481
- * Wrapper
482
- */ }
483
- body.post-type-envira div.wrap,
484
- body.post-type-envira_album div.wrap {
485
- /**
486
- * Screen Title
487
- */ }
488
- body.post-type-envira div.wrap h1,
489
- body.post-type-envira_album div.wrap h1 {
490
- /**
491
- * Allow space for the "Search results for..." text to display, when searching
492
- */
493
- padding-bottom: 40px;
494
- /**
495
- * Subtitle (search results title)
496
- */ }
497
- body.post-type-envira div.wrap h1 span.subtitle,
498
- body.post-type-envira_album div.wrap h1 span.subtitle {
499
- clear: both;
500
- width: 100%;
501
- padding: 0; } }
502
- @media screen and (max-width: 340px) {
503
- body.post-type-envira,
504
- body.post-type-envira_album {
505
- /**
506
- * Wrapper
507
- */ }
508
- body.post-type-envira div.wrap,
509
- body.post-type-envira_album div.wrap {
510
- /**
511
- * Screen Title
512
- */ }
513
- body.post-type-envira div.wrap h1,
514
- body.post-type-envira_album div.wrap h1 {
515
- text-align: center;
516
- /**
517
- * Page Title Action (i.e. Add New)
518
- */ }
519
- body.post-type-envira div.wrap h1 a.page-title-action,
520
- body.post-type-envira_album div.wrap h1 a.page-title-action {
521
- display: block;
522
- text-align: center;
523
- margin: 10px 0 0 0; } }
1
+ body.post-type-envira #wpcontent,body.post-type-envira_album #wpcontent{padding-left:0}body.post-type-envira .update-nag,body.post-type-envira_album .update-nag{margin-left:20px;margin-bottom:20px}body.post-type-envira .subheading,body.post-type-envira_album .subheading{background-color:#fff;height:45px;margin-left:-20px}@media (min-width: 600px) and (max-width: 767px){body.post-type-envira .subheading,body.post-type-envira_album .subheading{height:auto;padding-bottom:20px}}body.post-type-envira .subheading h1,body.post-type-envira_album .subheading h1{font-size:20px;font-weight:400;line-height:45px;margin:0 0 0 20px;padding-left:20px}body.post-type-envira div.wrap,body.post-type-envira_album div.wrap{margin:0}body.post-type-envira div.wrap>h1,body.post-type-envira div.wrap>h2,body.post-type-envira_album div.wrap>h1,body.post-type-envira_album div.wrap>h2{margin:0 0 20px 0;padding:15px 20px 10px 20px;background:#fff;font-weight:600;font-size:20px}body.post-type-envira div.wrap>h1 a.page-title-action:hover,body.post-type-envira div.wrap>h2 a.page-title-action:hover,body.post-type-envira_album div.wrap>h1 a.page-title-action:hover,body.post-type-envira_album div.wrap>h2 a.page-title-action:hover{background:#95dc5e;border-color:#95dc5e;color:#fff}body.post-type-envira div.wrap>h1 span.subtitle,body.post-type-envira div.wrap>h2 span.subtitle,body.post-type-envira_album div.wrap>h1 span.subtitle,body.post-type-envira_album div.wrap>h2 span.subtitle{float:right}body.post-type-envira div.wrap .envira-tab,body.post-type-envira_album div.wrap .envira-tab{display:none}body.post-type-envira div.wrap .envira-tab.envira-active,body.post-type-envira_album div.wrap .envira-tab.envira-active{display:block}body.post-type-envira div.wrap div.envira-code,body.post-type-envira_album div.wrap div.envira-code{position:relative;margin:0 0 10px 0}body.post-type-envira div.wrap div.envira-code:after,body.post-type-envira_album div.wrap div.envira-code:after{content:"";display:table;clear:both}body.post-type-envira div.wrap div.envira-code code,body.post-type-envira_album div.wrap div.envira-code code{display:block;font-size:11px;padding:5px 20px 5px 5px}body.post-type-envira div.wrap div.envira-code a.envira-clipboard,body.post-type-envira_album div.wrap div.envira-code a.envira-clipboard{position:absolute;top:5px;right:5px;color:#23282d}body.post-type-envira div.wrap div.envira-code a.envira-clipboard span,body.post-type-envira_album div.wrap div.envira-code a.envira-clipboard span{display:block;text-indent:-9999px}body.post-type-envira .button,body.post-type-envira_album .button{-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border-radius:2px;padding:0 16px 1px;height:33px;line-height:30px;text-decoration:none;text-shadow:none;font-weight:600;-webkit-box-shadow:none;box-shadow:none}body.post-type-envira .button.button-small,body.post-type-envira_album .button.button-small{padding:0 8px 1px;line-height:22px;height:24px}body.post-type-envira .button.button-x-large,body.post-type-envira_album .button.button-x-large{padding:0 32px 1px;line-height:48px;height:50px;font-size:18px;text-transform:uppercase}@media (min-width: 600px) and (max-width: 767px){body.post-type-envira .button,body.post-type-envira_album .button{margin-top:10px}}body.post-type-envira .button.show-settings,body.post-type-envira_album .button.show-settings{height:auto}body.post-type-envira .button.button-primary,body.post-type-envira_album .button.button-primary{background:#7cc048;border-color:#7cc048;-webkit-box-shadow:none;box-shadow:none;color:#fff}body.post-type-envira .button.button-primary:hover,body.post-type-envira_album .button.button-primary:hover{background:#95dc5e;border-color:#95dc5e;color:#fff}body.post-type-envira .button.button-danger,body.post-type-envira_album .button.button-danger{background:#e02626;border-color:#e02626;-webkit-box-shadow:none;box-shadow:none;color:#fff}body.post-type-envira .button.button-danger:hover,body.post-type-envira_album .button.button-danger:hover{background:#f85959;border-color:#f85959;color:#fff}body.post-type-envira div#TB_window div.wrap,body.post-type-envira_album div#TB_window div.wrap{margin:10px 20px 0 2px}#envira-header-temp{position:relative}#envira-header{background-color:#7cc048;height:120px}@media (max-width: 599px){#envira-header{padding-top:46px}}#envira-header h1.envira-logo{margin:0;line-height:120px;margin-left:20px}#envira-header h1.envira-logo img{max-width:339px;height:auto;width:90%}@media (min-width: 600px) and (max-width: 767px){#envira-header h1.envira-logo img{width:90%}}@media (max-width: 599px){#wpbody{padding-top:0}}.envira-notice{position:relative;margin:0 0 20px 0;padding:20px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border-radius:2px}.envira-notice p.envira-intro{border:none !important;margin:0 0 20px 0 !important;padding:0 !important}.envira-notice .notice-dismiss{top:10px;right:10px;color:#fff}.envira-notice .notice-dismiss:before{color:#fff;width:26px;height:26px;font-size:22px}.envira-notice.success{background:#7cc048;color:#fff;border:none}.envira-notice.success .button.button-primary{background-color:#95dc5e;border-color:#95dc5e}.envira-notice.warning{background:#fcf8e3;border:1px solid #faebcc}.envira-notice.warning .notice-dismiss{color:#000}.envira-notice.warning .notice-dismiss:before{color:#000}.envira-notice.error{border-top:1px solid #dc3232;border-right:1px solid #dc3232;border-bottom:1px solid #dc3232}body.post-type-envira.edit-php div.wrap,body.post-type-envira.post-new-php div.wrap,body.post-type-envira.post-php div.wrap,body.post-type-envira_album.edit-php div.wrap,body.post-type-envira_album.post-new-php div.wrap,body.post-type-envira_album.post-php div.wrap{margin:0}body.post-type-envira.edit-php div.wrap>div.error,body.post-type-envira.edit-php div.wrap>div.notice,body.post-type-envira.edit-php div.wrap>div.updated,body.post-type-envira.post-new-php div.wrap>div.error,body.post-type-envira.post-new-php div.wrap>div.notice,body.post-type-envira.post-new-php div.wrap>div.updated,body.post-type-envira.post-php div.wrap>div.error,body.post-type-envira.post-php div.wrap>div.notice,body.post-type-envira.post-php div.wrap>div.updated,body.post-type-envira_album.edit-php div.wrap>div.error,body.post-type-envira_album.edit-php div.wrap>div.notice,body.post-type-envira_album.edit-php div.wrap>div.updated,body.post-type-envira_album.post-new-php div.wrap>div.error,body.post-type-envira_album.post-new-php div.wrap>div.notice,body.post-type-envira_album.post-new-php div.wrap>div.updated,body.post-type-envira_album.post-php div.wrap>div.error,body.post-type-envira_album.post-php div.wrap>div.notice,body.post-type-envira_album.post-php div.wrap>div.updated{margin-left:20px;margin-right:20px}body.post-type-envira.edit-tags-php div.wrap,body.post-type-envira.taxonomy-envira-tag div.wrap{margin:0}body.post-type-envira.edit-tags-php div.wrap>div.error,body.post-type-envira.edit-tags-php div.wrap>div.notice,body.post-type-envira.edit-tags-php div.wrap>div.updated,body.post-type-envira.taxonomy-envira-tag div.wrap>div.error,body.post-type-envira.taxonomy-envira-tag div.wrap>div.notice,body.post-type-envira.taxonomy-envira-tag div.wrap>div.updated{margin-left:20px;margin-right:20px}body.post-type-envira.edit-tags-php div.wrap form.search-form,body.post-type-envira.edit-tags-php div.wrap form#edittag,body.post-type-envira.edit-tags-php div.wrap #col-container,body.post-type-envira.taxonomy-envira-tag div.wrap form.search-form,body.post-type-envira.taxonomy-envira-tag div.wrap form#edittag,body.post-type-envira.taxonomy-envira-tag div.wrap #col-container{margin:0 20px}body.post-type-envira.edit-tags-php div.wrap .button,body.post-type-envira.taxonomy-envira-tag div.wrap .button{height:28px;line-height:26px}body.post-type-envira div.wrap{margin:0 20px}.media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor div.envira-gallery-error{position:absolute;top:50px;left:0;right:300px}.media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor ul.attachments li.attachment{width:20%}.media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor ul.attachments li.attachment div.attachment-preview div.thumbnail img{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;opacity:0.2}.media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor ul.attachments li.attachment div.attachment-preview div.thumbnail strong{position:absolute;z-index:2;height:50%;top:0;left:0;right:0;padding:10px;text-align:center;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;vertical-align:bottom;background:rgba(0,0,0,0.07);text-shadow:1px 1px #ddd}.media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor ul.attachments li.attachment div.attachment-preview div.thumbnail strong span{display:block;position:absolute;bottom:10px;left:0;right:0;padding:0 10px;text-align:center}.media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor ul.attachments li.attachment div.attachment-preview div.thumbnail code{position:absolute;z-index:2;height:50%;bottom:0;left:0;right:0;padding:10px;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;vertical-align:middle;text-shadow:1px 1px #ddd}.media-modal .media-modal-content .media-frame-content .attachments-browser.envira-gallery-editor div.media-sidebar div.settings .name{text-align:left}@media screen and (max-width: 640px){body.post-type-envira div.wrap h1,body.post-type-envira_album div.wrap h1{padding-bottom:40px}body.post-type-envira div.wrap h1 span.subtitle,body.post-type-envira_album div.wrap h1 span.subtitle{clear:both;width:100%;padding:0}}@media screen and (max-width: 340px){body.post-type-envira div.wrap h1,body.post-type-envira_album div.wrap h1{text-align:center}body.post-type-envira div.wrap h1 a.page-title-action,body.post-type-envira_album div.wrap h1 a.page-title-action{display:block;text-align:center;margin:10px 0 0 0}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/envira.css CHANGED
@@ -1 +1 @@
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{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{display:block;margin:0 auto;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-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-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:inline-block;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 *{box-sizing:border-box}#envirabox-thumbs.bottom{bottom:2px}#envirabox-thumbs.top{top:2px}#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
+ .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{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-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-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:inline-block;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 *{box-sizing:border-box}#envirabox-thumbs.bottom{bottom:2px}#envirabox-thumbs.top{top:2px}#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}}
assets/css/metabox.css CHANGED
@@ -1,1241 +1 @@
1
- /* ==========================================================================
2
- metabox.css loads on any Envira Gallery and Album Create/Edit Screen
3
-
4
- Any styles that will be used by the main Gallery / Album editor screen should be
5
- added to this file
6
- ========================================================================== */
7
- /* ==========================================================================
8
- Imports
9
- ========================================================================== */
10
- /* ==========================================================================
11
- Variables SCSS
12
- ========================================================================== */
13
- /* ==========================================================================
14
- Mixins
15
- ========================================================================== */
16
- /**
17
- * Media Query
18
- */
19
- /**
20
- * Border-Radius
21
- */
22
- /* ==========================================================================
23
- Messages
24
- ========================================================================== */
25
- body.post-type-envira,
26
- body.post-type-envira_album {
27
- /**
28
- * Add left and right margins to ensure the message notification horizontally lines up
29
- * with the metaboxes
30
- */ }
31
- body.post-type-envira #message,
32
- body.post-type-envira_album #message {
33
- margin: 5px 20px 15px 20px; }
34
-
35
- /* ==========================================================================
36
- Form
37
- - The envira-gallery class is assigned to the Gallery and Album Add/Edit screens form.
38
- ========================================================================== */
39
- form#post.envira-gallery {
40
- /**
41
- * Re-establish the left and right margins, so there's spacing between the Admin Menu
42
- * and the content
43
- */
44
- margin: 0 20px;
45
- /**
46
- * Defined so we override WordPress' default styles
47
- */ }
48
- form#post.envira-gallery #poststuff {
49
- /* ==========================================================================
50
- Envira Gallery Shared Styles for Types and Settings
51
- ========================================================================== */
52
- /**
53
- * Intro Text
54
- */
55
- /**
56
- * Help Video
57
- * - Can be placed inside p.envira-intro by JS, or outside p.envira-intro when
58
- * viewing the Images tab for a Dynamic or Default Gallery
59
- */
60
- /**
61
- * Image Grid
62
- * - Used on the Images tab for Default Galleries, as well as the Preview Metabox
63
- */
64
- /* ==========================================================================
65
- Envira Gallery Type
66
- Envira Album Type
67
- ========================================================================== */
68
- /* ==========================================================================
69
- Envira Albums Drag & Drop Area
70
- ========================================================================== */
71
- /* ==========================================================================
72
- Envira Gallery Settings
73
- Envira Albums Settings
74
- ========================================================================== */
75
- /* ==========================================================================
76
- Envira Gallery Preview Metabox
77
- ========================================================================== */ }
78
- form#post.envira-gallery #poststuff p.envira-intro {
79
- margin: 0;
80
- padding: 0 0 30px 0;
81
- border-bottom: 1px solid #ddd;
82
- font-size: 16px;
83
- font-weight: 700; }
84
- form#post.envira-gallery #poststuff p.envira-intro small {
85
- margin: 5px 0 0 0;
86
- display: block;
87
- font-weight: 400; }
88
- form#post.envira-gallery #poststuff p.envira-intro small a {
89
- text-decoration: none;
90
- font-weight: 600; }
91
- form#post.envira-gallery #poststuff div.envira-video-help {
92
- position: relative;
93
- z-index: 1;
94
- width: 100%;
95
- margin: 20px 0 0 0; }
96
- form#post.envira-gallery #poststuff div.envira-video-help iframe {
97
- position: relative;
98
- z-index: 1;
99
- width: 100%;
100
- height: auto;
101
- min-height: 300px; }
102
- form#post.envira-gallery #poststuff div.envira-video-help a.envira-video-close {
103
- position: absolute;
104
- z-index: 2;
105
- top: -12px;
106
- right: -12px;
107
- width: 24px;
108
- height: 24px;
109
- line-height: 24px;
110
- -webkit-border-radius: 50%;
111
- -moz-border-radius: 50%;
112
- -o-border-radius: 50%;
113
- border-radius: 50%;
114
- background: #f5f5f5;
115
- color: #000;
116
- text-align: center;
117
- text-decoration: none; }
118
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output {
119
- width: 100%;
120
- /**
121
- * List View
122
- */ }
123
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li {
124
- position: relative;
125
- display: inline-block;
126
- width: 150px;
127
- margin: 0 20px 20px 0;
128
- padding: 0;
129
- list-style: none;
130
- vertical-align: top;
131
- -moz-background-clip: padding;
132
- -webkit-background-clip: padding-box;
133
- background-clip: padding-box;
134
- background: #f7f7f7;
135
- /**
136
- * If, for some reason, the image doesn't exist or fails to load,
137
- * the placeholder logo is displayed
138
- */
139
- /**
140
- * Metadata
141
- */
142
- /**
143
- * Tick Icon
144
- */
145
- /**
146
- * Edit / Delete Buttons
147
- */
148
- /**
149
- * Selected state
150
- */
151
- /**
152
- * Multiple selection sorting - stacks images when the user has selected more than one image + dragged them
153
- */ }
154
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li img {
155
- display: block;
156
- width: 150px;
157
- height: 150px; }
158
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li div.placeholder-image {
159
- display: block;
160
- width: 148px;
161
- height: 149px;
162
- background: url(images/icons/leaf.svg) center no-repeat;
163
- background-size: 64px 64px;
164
- border-left: 1px solid #dfdfdf;
165
- border-top: 1px solid #dfdfdf;
166
- border-right: 1px solid #dfdfdf; }
167
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li div.meta {
168
- width: 148px;
169
- overflow: hidden;
170
- text-align: center;
171
- border-left: 1px solid #dfdfdf;
172
- border-bottom: 1px solid #dfdfdf;
173
- border-right: 1px solid #dfdfdf;
174
- /**
175
- * Title
176
- */
177
- /**
178
- * Additional metadata
179
- */ }
180
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li div.meta div.title {
181
- font-size: 12px;
182
- font-weight: 700;
183
- width: 138px;
184
- height: 18px;
185
- line-height: 18px;
186
- margin: 8px 5px;
187
- overflow: hidden;
188
- /**
189
- * Hint
190
- * - Displays the full title on hover
191
- */ }
192
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li div.meta div.title a.hint {
193
- position: absolute;
194
- display: inline-block;
195
- bottom: 10px;
196
- right: 10px;
197
- width: 16px;
198
- height: 16px;
199
- background: #f7f7f7; }
200
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li div.meta div.title a.hint.hidden {
201
- display: none; }
202
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li div.meta div.additional {
203
- display: none;
204
- margin: 5px 0 0 0;
205
- font-weight: 400; }
206
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li a.check {
207
- display: none;
208
- position: absolute;
209
- right: 5px;
210
- top: 5px;
211
- width: 24px;
212
- height: 24px;
213
- background-color: #eee;
214
- -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(0, 0, 0, 0.15);
215
- box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(0, 0, 0, 0.15); }
216
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li a.check div.media-modal-icon {
217
- display: none;
218
- width: 15px;
219
- height: 15px;
220
- margin: 5px 0 0 5px;
221
- background-position: -21px 0; }
222
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li a.dashicons {
223
- position: absolute;
224
- display: block;
225
- top: 5px;
226
- left: 5px;
227
- width: 25px;
228
- height: 25px;
229
- line-height: 25px;
230
- font-size: 18px;
231
- /* Controls the icon size */
232
- outline: none;
233
- z-index: 20;
234
- border-radius: 2px;
235
- -moz-border-radius: 2px;
236
- -webkit-border-radius: 2px; }
237
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li a.dashicons.envira-gallery-modify-image {
238
- background: #0085ba;
239
- color: #ffffff; }
240
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li a.dashicons.envira-gallery-remove-image {
241
- left: 35px;
242
- background: #e02626;
243
- color: #ffffff; }
244
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li.selected {
245
- width: 148px;
246
- border: 2px solid #7cc048 !important; }
247
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li.selected a.check {
248
- display: block;
249
- background-color: #7cc048;
250
- -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #7cc048;
251
- box-shadow: 0 0 0 1px #fff, 0 0 0 2px #7cc048; }
252
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li.selected a.check div.media-modal-icon {
253
- display: block; }
254
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li.selected div.meta {
255
- width: 146px; }
256
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output li.ui-sortable-helper li {
257
- position: absolute;
258
- top: 0;
259
- left: 0; }
260
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li {
261
- position: relative;
262
- z-index: 2;
263
- display: block;
264
- width: 100%;
265
- margin: 0 0 10px 0;
266
- padding: 10px 15px;
267
- background: #fff;
268
- border: 1px solid #ddd;
269
- -webkit-box-sizing: border-box;
270
- -moz-box-sizing: border-box;
271
- box-sizing: border-box;
272
- border-radius: 2px;
273
- -moz-border-radius: 2px;
274
- -webkit-border-radius: 2px;
275
- /**
276
- * Metadata
277
- */
278
- /**
279
- * Checkbox
280
- * - Always display
281
- */ }
282
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li img {
283
- display: inline-block;
284
- width: 75px;
285
- margin-left: 45px; }
286
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li div.meta {
287
- position: absolute;
288
- z-index: 1;
289
- left: 0;
290
- display: inline-block;
291
- width: 100%;
292
- padding: 0 80px 0 150px;
293
- border: none;
294
- font-weight: 700;
295
- text-align: left;
296
- -webkit-box-sizing: border-box;
297
- -moz-box-sizing: border-box;
298
- box-sizing: border-box;
299
- /**
300
- * Title
301
- */
302
- /**
303
- * Additional metadata
304
- * - Displayed in list view
305
- */ }
306
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li div.meta div.title {
307
- display: block;
308
- width: 100%;
309
- height: auto;
310
- font-size: 16px;
311
- margin: 0;
312
- padding: 0; }
313
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li div.meta div.title a.hint {
314
- display: none; }
315
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li div.meta div.additional {
316
- display: block; }
317
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li a.check {
318
- display: block;
319
- position: absolute;
320
- left: 15px;
321
- top: 35px; }
322
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li a.envira-gallery-remove-image {
323
- left: auto;
324
- top: 10px;
325
- right: 10px; }
326
- form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li a.envira-gallery-modify-image {
327
- left: auto;
328
- top: 10px;
329
- right: 40px; }
330
- form#post.envira-gallery #poststuff #envira-gallery {
331
- margin: 60px 0 20px 0; }
332
- form#post.envira-gallery #poststuff #envira-gallery,
333
- form#post.envira-gallery #poststuff #envira-albums {
334
- /**
335
- * Hide the title bar of the metabox, so we have a seamless style
336
- */
337
- /**
338
- * Tabs
339
- * - Move up vertically so they sit above the metabox
340
- */
341
- /**
342
- * Tab Settings
343
- */ }
344
- form#post.envira-gallery #poststuff #envira-gallery .handlediv,
345
- form#post.envira-gallery #poststuff #envira-albums .handlediv {
346
- display: none; }
347
- form#post.envira-gallery #poststuff #envira-gallery .hndle,
348
- form#post.envira-gallery #poststuff #envira-albums .hndle {
349
- display: none; }
350
- form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper,
351
- form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper {
352
- margin: -56px 0 0 -1px;
353
- /* The height of the tab */
354
- padding: 0;
355
- border-bottom: none;
356
- /**
357
- * Increase tab sizes and style
358
- */ }
359
- form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab,
360
- form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab {
361
- display: inline-block;
362
- width: 49%;
363
- margin: 0;
364
- padding: 15px 0;
365
- text-align: center;
366
- font-size: 16px;
367
- border-color: #e5e5e5;
368
- /* Matches the metabox border for a seamless UI */
369
- background: #f5f5f5;
370
- /**
371
- * Envira Gallery Icon
372
- */
373
- /**
374
- * External Gallery Tab
375
- */
376
- /**
377
- * Hover and Active States
378
- */
379
- /**
380
- * Focus State
381
- * - Remove WordPress' blue focus box from tabs
382
- */
383
- /**
384
- * Hides the radio input on a label
385
- * The radio input will be selected when the label is clicked
386
- */ }
387
- form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab.nav-tab-native-envira-gallery span,
388
- form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab.nav-tab-native-envira-gallery span {
389
- display: inline-block;
390
- background: url(images/icons/leaf.svg) 0 5px no-repeat;
391
- background-size: 14px 14px;
392
- text-indent: 20px; }
393
- form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab.nav-tab-external-gallery,
394
- form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab.nav-tab-external-gallery {
395
- margin-right: -1px; }
396
- form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab:hover, form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab.envira-active,
397
- form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab:hover,
398
- form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab.envira-active {
399
- background: #ffffff;
400
- border-bottom: 1px solid #ffffff; }
401
- form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab:focus,
402
- form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab:focus {
403
- -webkit-box-shadow: none;
404
- -moz-box-shadow: none;
405
- box-shadow: none; }
406
- form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab:last-child,
407
- form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab:last-child {
408
- float: right; }
409
- form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab input[type=radio],
410
- form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab input[type=radio] {
411
- display: none; }
412
- form#post.envira-gallery #poststuff #envira-gallery .inside,
413
- form#post.envira-gallery #poststuff #envira-albums .inside {
414
- margin: 0;
415
- padding: 0;
416
- /**
417
- * Native Envira Gallery Uploader / Select Files
418
- * - Styles the pluploader instance to look the way we want it
419
- * - Also see responsive styles at the end of this file
420
- */ }
421
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui,
422
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui {
423
- /* Reserves the space needed for the drag-drop-area, which is loaded using JS */
424
- height: 210px;
425
- /**
426
- * A drag-drop-area div is always output, whether we're on a touch
427
- * device or not. WordPress will only style this div if its parent
428
- * has the .drag-drop class (i.e. touch devices won't get any CSS styling)
429
- *
430
- * The below CSS ensures that the drag drop area looks consistent
431
- * regardless of device used, and then adjusts the layout if drag-drop is supported.
432
- */
433
- /**
434
- * Select Files from Other Sources Button
435
- */
436
- /**
437
- * When the uploader supports drag and drop, a .drag-drop
438
- * class is appended to #drag-drop-area by WordPress
439
- *
440
- * We use this to show certain descriptions
441
- */
442
- /**
443
- * Upload Progress Bar
444
- */ }
445
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area,
446
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area {
447
- display: none;
448
- border: 4px dashed #b4b9be;
449
- height: 200px; }
450
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside,
451
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside {
452
- margin: 0 auto 0 auto; }
453
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside p,
454
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside p {
455
- display: block;
456
- text-align: center;
457
- color: #a0a5aa;
458
- position: absolute;
459
- top: 50%;
460
- left: 50%;
461
- margin: -10px 0 0 -10px;
462
- /**
463
- * "Drop Files here"
464
- */ }
465
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside p.drag-drop-info,
466
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside p.drag-drop-info {
467
- display: none;
468
- font-size: 20px; }
469
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside p.drag-drop-buttons,
470
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside p.drag-drop-buttons {
471
- text-align: center;
472
- position: relative;
473
- top: 20px;
474
- left: 0;
475
- margin: 0; }
476
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui a.envira-media-library.button,
477
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui a.envira-media-library.button {
478
- display: none;
479
- position: absolute;
480
- margin: 0 auto;
481
- left: 280px;
482
- right: 0;
483
- width: 230px;
484
- top: 115px;
485
- text-align: center; }
486
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside,
487
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside {
488
- width: 520px;
489
- margin: 50px auto 0 auto; }
490
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p,
491
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p {
492
- position: relative;
493
- top: 0;
494
- left: 0;
495
- margin: 0; }
496
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p.drag-drop-info,
497
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p.drag-drop-info {
498
- display: block; }
499
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p.drag-drop-buttons,
500
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p.drag-drop-buttons {
501
- margin: 10px 0 0 0;
502
- text-align: left; }
503
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar,
504
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar {
505
- display: none;
506
- width: 100%;
507
- position: relative;
508
- height: 10px;
509
- width: 100%;
510
- margin: 10px auto;
511
- border-radius: 10px;
512
- background: #dfdfdf;
513
- background: rgba(0, 0, 0, 0.1); }
514
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar .envira-progress-bar-inner,
515
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar .envira-progress-bar-inner {
516
- height: 10px;
517
- min-width: 20px;
518
- width: 0;
519
- background: #aaa;
520
- background: rgba(0, 0, 0, 0.2);
521
- border-radius: 10px;
522
- -webkit-transition: width 300ms;
523
- -moz-transition: width 300ms;
524
- -ms-transition: width 300ms;
525
- -o-transition: width 300ms;
526
- transition: width 300ms; }
527
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar .envira-progress-bar-status,
528
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar .envira-progress-bar-status {
529
- clear: both;
530
- position: absolute;
531
- right: 0;
532
- width: 50%;
533
- height: 30px;
534
- margin: 12px 0 0 0;
535
- text-align: right; }
536
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar .envira-progress-bar-status .done,
537
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar .envira-progress-bar-status .done {
538
- display: none; }
539
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui p.upload-flash-bypass,
540
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui p.upload-flash-bypass {
541
- display: none; }
542
- form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab,
543
- form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab {
544
- padding: 20px;
545
- /**
546
- * External Gallery Types
547
- */ }
548
- form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab ul#envira-gallery-types-nav,
549
- form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab ul#envira-gallery-types-nav {
550
- text-align: center; }
551
- form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab ul#envira-gallery-types-nav li,
552
- form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab ul#envira-gallery-types-nav li {
553
- display: inline-block;
554
- margin: 0 20px 0 0;
555
- vertical-align: top;
556
- /**
557
- * Hover State
558
- * Selected State
559
- */
560
- /**
561
- * Featured Content
562
- */
563
- /**
564
- * Instagram
565
- */ }
566
- form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab ul#envira-gallery-types-nav li:last-child,
567
- form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab ul#envira-gallery-types-nav li:last-child {
568
- margin: 0; }
569
- form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab ul#envira-gallery-types-nav li label,
570
- form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab ul#envira-gallery-types-nav li label {
571
- float: left;
572
- width: 110px; }
573
- form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab ul#envira-gallery-types-nav li label input,
574
- form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab ul#envira-gallery-types-nav li label input {
575
- display: none; }
576
- form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab ul#envira-gallery-types-nav li label div.icon,
577
- form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab ul#envira-gallery-types-nav li label div.icon {
578
- width: 110px;
579
- height: 110px;
580
- margin: 0 0 10px 0;
581
- border: 1px solid #ddd;
582
- background-size: 64px 64px;
583
- background-position: center;
584
- background-repeat: no-repeat; }
585
- form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab ul#envira-gallery-types-nav li label div.title,
586
- form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab ul#envira-gallery-types-nav li label div.title {
587
- font-weight: 700; }
588
- form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab ul#envira-gallery-types-nav li:hover label div.icon, form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab ul#envira-gallery-types-nav li.envira-active label div.icon,
589
- form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab ul#envira-gallery-types-nav li:hover label div.icon,
590
- form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab ul#envira-gallery-types-nav li.envira-active label div.icon {
591
- background-color: #f7fcf3;
592
- border-color: #7cc048; }
593
- form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab ul#envira-gallery-types-nav li#envira-gallery-type-fc label div.icon,
594
- form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab ul#envira-gallery-types-nav li#envira-gallery-type-fc label div.icon {
595
- background-image: url(../images/types/fc.png); }
596
- form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab ul#envira-gallery-types-nav li#envira-gallery-type-instagram label div.icon,
597
- form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab ul#envira-gallery-types-nav li#envira-gallery-type-instagram label div.icon {
598
- background-image: url(../images/types/instagram.png); }
599
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native {
600
- position: relative;
601
- /**
602
- * Galleries (Drop Target)
603
- */
604
- /**
605
- * Drag & Drop Instructions
606
- */ }
607
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native ul#envira-album-drag-drop-area {
608
- z-index: 2;
609
- min-height: 200px;
610
- margin: 0;
611
- padding: 20px;
612
- border: 4px dashed #b4b9be;
613
- -webkit-box-sizing: border-box;
614
- -moz-box-sizing: border-box;
615
- box-sizing: border-box; }
616
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native ul#envira-album-drag-drop-area li {
617
- cursor: move; }
618
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native p.drag-drop-info {
619
- position: absolute;
620
- top: 80px;
621
- z-index: 1;
622
- margin: 0 auto;
623
- left: 0;
624
- right: 0;
625
- text-align: center;
626
- color: #a0a5aa;
627
- font-size: 20px;
628
- -webkit-box-sizing: border-box;
629
- -moz-box-sizing: border-box;
630
- box-sizing: border-box; }
631
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native p.drag-drop-info span {
632
- display: block; }
633
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native p.drag-drop-info span.click {
634
- font-size: 18px; }
635
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native p.drag-drop-info small {
636
- display: block;
637
- margin: 5px 0;
638
- font-size: 14px; }
639
- form#post.envira-gallery #poststuff #envira-gallery-settings,
640
- form#post.envira-gallery #poststuff #envira-albums-settings {
641
- background: #f7f7f7;
642
- /* The background for tabs, full height */
643
- /**
644
- * Clearfix
645
- */
646
- /**
647
- * Hide the title bar of the metabox, so we have a seamless style
648
- */
649
- /**
650
- * Tabs
651
- */
652
- /**
653
- * Settings
654
- */ }
655
- form#post.envira-gallery #poststuff #envira-gallery-settings:after,
656
- form#post.envira-gallery #poststuff #envira-albums-settings:after {
657
- content: "";
658
- display: table;
659
- clear: both; }
660
- form#post.envira-gallery #poststuff #envira-gallery-settings .handlediv,
661
- form#post.envira-gallery #poststuff #envira-albums-settings .handlediv {
662
- display: none; }
663
- form#post.envira-gallery #poststuff #envira-gallery-settings .hndle,
664
- form#post.envira-gallery #poststuff #envira-albums-settings .hndle {
665
- display: none; }
666
- form#post.envira-gallery #poststuff #envira-gallery-settings .inside,
667
- form#post.envira-gallery #poststuff #envira-albums-settings .inside {
668
- margin: 0;
669
- padding: 0; }
670
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav,
671
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav {
672
- width: 160px;
673
- margin: 0;
674
- padding: 0;
675
- border-right: 1px solid #ddd; }
676
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li,
677
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li {
678
- float: left;
679
- width: 100%;
680
- margin: 0;
681
- padding: 0;
682
- /**
683
- * Last Item
684
- */
685
- /**
686
- * Tab Icons
687
- */ }
688
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a,
689
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a {
690
- float: left;
691
- width: 120px;
692
- margin: 0 20px;
693
- padding: 20px 0 20px 25px;
694
- text-decoration: none;
695
- color: #999;
696
- border-bottom: 1px solid #ddd;
697
- background-position: left center;
698
- background-repeat: no-repeat;
699
- -webkit-box-sizing: border-box;
700
- -moz-box-sizing: border-box;
701
- box-sizing: border-box;
702
- transition: none;
703
- -webkit-transition: none;
704
- /**
705
- * Hover and Active States
706
- */
707
- /**
708
- * Focus State
709
- * - Remove WordPress' blue focus box from tabs
710
- */ }
711
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a:hover, form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a.envira-active,
712
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a:hover,
713
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a.envira-active {
714
- width: 161px;
715
- margin: -1px 0 0 0;
716
- padding: 20px 20px 20px 45px;
717
- text-decoration: none;
718
- color: #444;
719
- border-top: 1px solid #ddd;
720
- border-bottom: 1px solid #ddd;
721
- border-right: 1px solid #ffffff;
722
- background-color: #ffffff;
723
- background-position: 20px center; }
724
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a:focus,
725
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a:focus {
726
- -webkit-box-shadow: none;
727
- -moz-box-shadow: none;
728
- box-shadow: none; }
729
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li:last-child a,
730
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li:last-child a {
731
- border-bottom: none; }
732
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li:last-child a:hover,
733
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li:last-child a:hover {
734
- border-bottom: none; }
735
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-images a, form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-galleries a,
736
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-images a,
737
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-galleries a {
738
- background-image: url(images/icons/leaf.svg);
739
- background-size: 16px 16px; }
740
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-config a,
741
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-config a {
742
- background-image: url(images/icons/configuration.svg);
743
- background-size: 16px 16px; }
744
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-lightbox a,
745
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-lightbox a {
746
- background-image: url(images/icons/lightbox.svg);
747
- background-size: 16px 16px; }
748
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-mobile a,
749
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-mobile a {
750
- background-image: url(images/icons/mobile.svg);
751
- background-size: 16px 16px; }
752
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-breadcrumbs a,
753
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-breadcrumbs a {
754
- background-image: url(images/icons/breadcrumbs.svg);
755
- background-size: 16px 16px; }
756
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-comments a,
757
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-comments a {
758
- background-image: url(images/icons/comments.svg);
759
- background-size: 16px 16px; }
760
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-downloads a,
761
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-downloads a {
762
- background-image: url(images/icons/downloads.svg);
763
- background-size: 16px 16px; }
764
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-exif a,
765
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-exif a {
766
- background-image: url(images/icons/exif.svg);
767
- background-size: 16px 16px; }
768
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-pagination a,
769
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-pagination a {
770
- background-image: url(images/icons/pagination.svg);
771
- background-size: 16px 16px; }
772
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-pinterest a,
773
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-pinterest a {
774
- background-image: url(images/icons/pinterest.svg);
775
- background-size: 16px 16px; }
776
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-proofing a,
777
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-proofing a {
778
- background-image: url(images/icons/proofing.svg);
779
- background-size: 16px 16px; }
780
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-printing a,
781
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-printing a {
782
- background-image: url(images/icons/printing.svg);
783
- background-size: 16px 16px; }
784
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-slideshow a,
785
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-slideshow a {
786
- background-image: url(images/icons/slideshow.svg);
787
- background-size: 16px 16px; }
788
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-social a,
789
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-social a {
790
- background-image: url(images/icons/social.svg);
791
- background-size: 16px 16px; }
792
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-tags a,
793
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-tags a {
794
- background-image: url(images/icons/tags.svg);
795
- background-size: 16px 16px; }
796
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-videos a,
797
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-videos a {
798
- background-image: url(images/icons/video.svg);
799
- background-size: 16px 16px; }
800
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-watermarking a,
801
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-watermarking a {
802
- background-image: url(images/icons/watermark.svg);
803
- background-size: 16px 16px; }
804
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-woocommerce a,
805
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-woocommerce a {
806
- background-image: url(images/icons/woocommerce.svg);
807
- background-size: 16px 16px; }
808
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-misc a,
809
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-misc a {
810
- background-image: url(images/icons/misc.svg);
811
- background-size: 16px 16px; }
812
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs,
813
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs {
814
- margin: 0 0 0 160px;
815
- /* Must match #ul#envira-tabs-nav width */
816
- padding: 20px;
817
- -webkit-box-sizing: border-box;
818
- -moz-box-sizing: border-box;
819
- box-sizing: border-box;
820
- background: #ffffff;
821
- border-left: 1px solid #ddd;
822
- /**
823
- * Headings
824
- */
825
- /**
826
- * All Tabs
827
- */
828
- /**
829
- * Tab: Images
830
- */
831
- /**
832
- * Tab: Galleries
833
- * - Used on Albums
834
- */
835
- /**
836
- * Clearfix
837
- */ }
838
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs h2,
839
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs h2 {
840
- clear: none; }
841
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table,
842
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table {
843
- clear: none;
844
- margin: 0 0 40px 0;
845
- /**
846
- * Row padding
847
- */
848
- /**
849
- * Sub Headings
850
- * - Used to denote an Addon's settings within a settings tab e.g. the Mobile tab
851
- */
852
- /**
853
- * Full width labels (used for checkboxes that we don't want to be inline)
854
- */
855
- /**
856
- * Full width textareas
857
- */
858
- /**
859
- * Checkbox alignment
860
- */
861
- /**
862
- * Descriptions
863
- */ }
864
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table.no-margin,
865
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table.no-margin {
866
- margin: 0; }
867
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table th, form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table td,
868
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table th,
869
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table td {
870
- padding-top: 20px;
871
- padding-bottom: 20px; }
872
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table tr.sub-heading th,
873
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table tr.sub-heading th {
874
- margin: 0;
875
- padding: 20px 0 0 0;
876
- font-style: italic;
877
- font-weight: 400;
878
- font-size: 16px; }
879
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table label.full-width,
880
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table label.full-width {
881
- display: block;
882
- margin: 0 0 5px 0; }
883
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table label.full-width:first-child,
884
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table label.full-width:first-child {
885
- margin-top: 5px; }
886
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table textarea,
887
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table textarea {
888
- width: 100%; }
889
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table input[type=checkbox],
890
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table input[type=checkbox] {
891
- margin-bottom: 2px; }
892
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table p.description,
893
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table span.description,
894
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table p.description,
895
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table span.description {
896
- font-size: 13px;
897
- font-style: italic;
898
- color: #666; }
899
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images,
900
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images {
901
- /**
902
- * Inline Navigation
903
- * - Select All
904
- * - List View / Grid View
905
- * - Edit / Delete Selected Items
906
- */
907
- /**
908
- * Images
909
- * - Show move cursor
910
- */ }
911
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav,
912
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav {
913
- width: 100%;
914
- /**
915
- * Edit / Delete Selected
916
- * - Hidden by default, shown by JS when image(s) are selected
917
- */ }
918
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav.envira-tab-options,
919
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav.envira-tab-options {
920
- margin: 20px 0; }
921
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav a.dashicons,
922
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav a.dashicons {
923
- position: absolute;
924
- color: #999; }
925
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav a.dashicons.dashicons-grid-view,
926
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav a.dashicons.dashicons-grid-view {
927
- right: 20px; }
928
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav a.dashicons.dashicons-list-view,
929
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav a.dashicons.dashicons-list-view {
930
- right: 50px; }
931
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav a.dashicons.selected,
932
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav a.dashicons.selected {
933
- color: #23282d; }
934
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav a.dashicons span,
935
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav a.dashicons span {
936
- display: inline-block;
937
- text-indent: -9999px; }
938
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav.envira-select-options,
939
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav.envira-select-options {
940
- display: none; }
941
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images ul#envira-gallery-output li,
942
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images ul#envira-gallery-output li {
943
- cursor: move; }
944
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries,
945
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries {
946
- /**
947
- * Inline Navigation
948
- * - Search
949
- */
950
- /**
951
- * Images
952
- * - Show move cursor
953
- * - Hide Edit & Delete icons, as these are only displayed when the gallery is assigned to the Album
954
- */ }
955
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries nav,
956
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries nav {
957
- width: 100%;
958
- /**
959
- * Bulk Action Buttons
960
- * - Hidden by default, shown by JS when galleries(s) are selected
961
- */ }
962
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries nav.envira-tab-options,
963
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries nav.envira-tab-options {
964
- height: 40px;
965
- margin: 20px 0;
966
- position: relative;
967
- /**
968
- * Add Galleries to Album Button
969
- */
970
- /**
971
- * Search
972
- */ }
973
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries nav.envira-tab-options a.envira-galleries-add,
974
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries nav.envira-tab-options a.envira-galleries-add {
975
- display: none;
976
- /* Displayed via JS when Galleries selected */
977
- position: absolute;
978
- top: 0;
979
- left: 0; }
980
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries nav.envira-tab-options input#envira-albums-gallery-search,
981
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries nav.envira-tab-options input#envira-albums-gallery-search {
982
- position: absolute;
983
- top: 0;
984
- right: 0; }
985
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries nav.envira-select-options,
986
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries nav.envira-select-options {
987
- display: none; }
988
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries ul.envira-gallery-images-output li,
989
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries ul.envira-gallery-images-output li {
990
- cursor: move; }
991
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries ul.envira-gallery-images-output li a.envira-gallery-remove-image,
992
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries ul.envira-gallery-images-output li a.envira-gallery-modify-image,
993
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries ul.envira-gallery-images-output li a.envira-gallery-remove-image,
994
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries ul.envira-gallery-images-output li a.envira-gallery-modify-image {
995
- display: none; }
996
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs:after,
997
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs:after {
998
- content: "";
999
- display: table;
1000
- clear: both; }
1001
- form#post.envira-gallery #poststuff #envira-gallery-preview {
1002
- /**
1003
- * Clearfix
1004
- */
1005
- /**
1006
- * Hide the title bar of the metabox, so we have a seamless style
1007
- */ }
1008
- form#post.envira-gallery #poststuff #envira-gallery-preview:after {
1009
- content: "";
1010
- display: table;
1011
- clear: both; }
1012
- form#post.envira-gallery #poststuff #envira-gallery-preview button.handlediv {
1013
- display: none; }
1014
- form#post.envira-gallery #poststuff #envira-gallery-preview h2.hndle {
1015
- display: none; }
1016
- form#post.envira-gallery #poststuff #envira-gallery-preview .inside {
1017
- margin: 0;
1018
- padding: 20px; }
1019
-
1020
- /* ==========================================================================
1021
- Media Modal (Insert Images and Edit Metadata)
1022
- ========================================================================== */
1023
- .media-modal {
1024
- /**
1025
- * Header Buttons
1026
- */
1027
- /**
1028
- * Upload
1029
- */
1030
- /**
1031
- * Insert
1032
- */
1033
- /**
1034
- * Attachments
1035
- * - Ensures that images fill each <li> attachment block, providing compatibility from WordPress 4.0 upwards
1036
- * - Removed as breaks 4.4, 4.5
1037
- ul.attachments {
1038
- li.attachment {
1039
- width: 20%;
1040
-
1041
- img {
1042
- width: 100%;
1043
- height: 100%;
1044
- }
1045
- }
1046
- }
1047
- */
1048
- /**
1049
- * Albums: Select Gallery Cover Image
1050
- * - Add some top spacing so that a selected cover image that's on the first line of the results
1051
- * doesn't have its checkmark cut off
1052
- */
1053
- /**
1054
- * Bulk Edit Attachments
1055
- * - Restore cursor to default, so the user doesn't think they can click an image
1056
- */
1057
- /**
1058
- * Edit
1059
- */ }
1060
- .media-modal .edit-attachment-frame .edit-media-header button.right {
1061
- border-right: 1px solid #ddd; }
1062
- .media-modal .uploader-inline {
1063
- /**
1064
- * Don't display the 'Select Files from Other Sources' button that we add to plupload
1065
- * when we're in a modal.
1066
- */ }
1067
- .media-modal .uploader-inline a.envira-media-library.button {
1068
- display: none; }
1069
- .media-modal .attachment.details {
1070
- -webkit-box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #7cc048;
1071
- box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 7px #7cc048; }
1072
- .media-modal .attachment.details .check {
1073
- background-color: #7cc048;
1074
- -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px #7cc048;
1075
- box-shadow: 0 0 0 1px #fff, 0 0 0 2px #7cc048; }
1076
- .media-modal ul.attachments.envira-albums-gallery-cover-image {
1077
- padding: 10px; }
1078
- .media-modal ul.attachments.envira-bulk-edit li.attachment {
1079
- cursor: default; }
1080
- .media-modal ul.attachments.envira-bulk-edit li.attachment .attachment-preview {
1081
- cursor: default; }
1082
- .media-modal .attachment-details .attachment-info {
1083
- padding: 16px;
1084
- /**
1085
- * Settings
1086
- * - Contains one or more setting elements (Title, Alt etc)
1087
- */
1088
- /**
1089
- * Actions
1090
- * - Save Button
1091
- * - Spinner
1092
- */ }
1093
- .media-modal .attachment-details .attachment-info .settings {
1094
- margin: 0;
1095
- padding: 0;
1096
- border: none;
1097
- /**
1098
- * Individual Setting (Title, Alt etc)
1099
- */ }
1100
- .media-modal .attachment-details .attachment-info .settings .setting {
1101
- margin: 0 0 20px 0;
1102
- padding: 0 0 20px 0;
1103
- border-bottom: 1px solid #ddd;
1104
- /**
1105
- * Input
1106
- */ }
1107
- .media-modal .attachment-details .attachment-info .settings .setting input[type="text"],
1108
- .media-modal .attachment-details .attachment-info .settings .setting textarea {
1109
- display: block;
1110
- width: 100%;
1111
- min-width: 100%;
1112
- margin: 0; }
1113
- .media-modal .attachment-details .attachment-info .settings .setting input[type="checkbox"] {
1114
- float: left;
1115
- margin: 7px 3px 0 0; }
1116
- .media-modal .attachment-details .attachment-info .settings .setting select {
1117
- margin: 0; }
1118
- .media-modal .attachment-details .attachment-info .settings .setting span {
1119
- /**
1120
- * Title
1121
- */
1122
- /**
1123
- * Description
1124
- */ }
1125
- .media-modal .attachment-details .attachment-info .settings .setting span.name {
1126
- display: block;
1127
- width: 100%;
1128
- min-width: 100%;
1129
- margin: 0;
1130
- padding: 0;
1131
- text-align: left;
1132
- font-weight: 700;
1133
- font-size: 14px; }
1134
- .media-modal .attachment-details .attachment-info .settings .setting span.description {
1135
- text-align: left;
1136
- font-style: normal;
1137
- font-size: 13px;
1138
- font-style: italic;
1139
- color: #666; }
1140
- .media-modal .attachment-details .attachment-info .settings .setting div.description {
1141
- clear: both;
1142
- float: left;
1143
- margin: 5px 0 0 0;
1144
- text-align: left;
1145
- font-size: 13px;
1146
- font-style: italic;
1147
- color: #666; }
1148
- .media-modal .attachment-details .attachment-info div.actions {
1149
- /**
1150
- * Ensure button renders at correct height
1151
- */ }
1152
- .media-modal .attachment-details .attachment-info div.actions a.button {
1153
- display: inline-block; }
1154
-
1155
- /* ==========================================================================
1156
- Retina
1157
- ========================================================================== */
1158
- @media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
1159
- /**
1160
- * WP media-views.css doesn't use .wp-core-ui for the x2 icons, therefore they never get applied
1161
- */
1162
- .wp-core-ui a.check .media-modal-icon {
1163
- background-image: url(../../../../../wp-includes/images/uploader-icons-2x.png) !important;
1164
- -webkit-background-size: 134px 15px;
1165
- background-size: 134px 15px; } }
1166
- /* ==========================================================================
1167
- Responsive
1168
- ========================================================================== */
1169
- @media screen and (max-width: 1100px) {
1170
- /* ==========================================================================
1171
- Form
1172
- - The envira-gallery class is assigned to the Gallery and Album Add/Edit screens form.
1173
- ========================================================================== */
1174
- form#post.envira-gallery #poststuff #envira-gallery,
1175
- form#post.envira-gallery #poststuff #envira-albums {
1176
- /**
1177
- * Tab Settings
1178
- */ }
1179
- form#post.envira-gallery #poststuff #envira-gallery .inside,
1180
- form#post.envira-gallery #poststuff #envira-albums .inside {
1181
- /**
1182
- * Native Envira Gallery
1183
- */ }
1184
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area,
1185
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area {
1186
- border-color: #d5d5d5; }
1187
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside,
1188
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside {
1189
- width: 100%;
1190
- margin-top: 20px; }
1191
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p.drag-drop-buttons,
1192
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p.drag-drop-buttons {
1193
- text-align: center; }
1194
- form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui a.envira-media-library.button,
1195
- form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui a.envira-media-library.button {
1196
- left: 0;
1197
- right: 0;
1198
- width: 235px;
1199
- top: 145px; } }
1200
- @media screen and (max-width: 768px) {
1201
- /* ==========================================================================
1202
- Form
1203
- - The envira-gallery class is assigned to the Gallery and Album Add/Edit screens form.
1204
- ========================================================================== */
1205
- form#post.envira-gallery #poststuff {
1206
- /* ==========================================================================
1207
- Envira Gallery Settings
1208
- Envira Albums Settings
1209
- ========================================================================== */ }
1210
- form#post.envira-gallery #poststuff #envira-gallery-settings,
1211
- form#post.envira-gallery #poststuff #envira-albums-settings {
1212
- /**
1213
- * Tabs
1214
- */
1215
- /**
1216
- * Settings
1217
- */ }
1218
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav,
1219
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav {
1220
- width: 60px; }
1221
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a,
1222
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a {
1223
- width: 60px;
1224
- height: 60px;
1225
- margin: 0;
1226
- padding: 0;
1227
- text-indent: -9999px;
1228
- background-position: center; }
1229
- form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a:hover, form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a.envira-active,
1230
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a:hover,
1231
- form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a.envira-active {
1232
- width: 60px;
1233
- height: 60px;
1234
- margin: 0;
1235
- padding: 0;
1236
- text-indent: -9999px;
1237
- background-position: center; }
1238
- form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs,
1239
- form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs {
1240
- margin: 0 0 0 60px;
1241
- /* Must match #ul#envira-tabs-nav width */ } }
1
+ body.post-type-envira #message,body.post-type-envira_album #message{margin:5px 20px 15px 20px}form#post.envira-gallery{margin:0 20px}form#post.envira-gallery #poststuff p.envira-intro{margin:0;padding:0 0 30px 0;border-bottom:1px solid #ddd;font-size:16px;font-weight:700}form#post.envira-gallery #poststuff p.envira-intro small{margin:5px 0 0 0;display:block;font-weight:400}form#post.envira-gallery #poststuff p.envira-intro small a{text-decoration:none;font-weight:600}form#post.envira-gallery #poststuff div.envira-video-help{position:relative;z-index:1;width:100%;margin:20px 0 0 0}form#post.envira-gallery #poststuff div.envira-video-help iframe{position:relative;z-index:1;width:100%;height:auto;min-height:300px}form#post.envira-gallery #poststuff div.envira-video-help a.envira-video-close{position:absolute;z-index:2;top:-12px;right:-12px;width:24px;height:24px;line-height:24px;-webkit-border-radius:50%;-moz-border-radius:50%;-o-border-radius:50%;border-radius:50%;background:#f5f5f5;color:#000;text-align:center;text-decoration:none}form#post.envira-gallery #poststuff ul.envira-gallery-images-output{width:100%}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li{position:relative;display:inline-block;width:150px;margin:0 20px 20px 0;padding:0;list-style:none;vertical-align:top;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;background:#f7f7f7}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li img{display:block;width:150px;height:150px}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li div.placeholder-image{display:block;width:148px;height:149px;background:url(images/icons/leaf.svg) center no-repeat;background-size:64px 64px;border-left:1px solid #dfdfdf;border-top:1px solid #dfdfdf;border-right:1px solid #dfdfdf}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li div.meta{width:148px;overflow:hidden;text-align:center;border-left:1px solid #dfdfdf;border-bottom:1px solid #dfdfdf;border-right:1px solid #dfdfdf}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li div.meta div.title{font-size:12px;font-weight:700;width:138px;height:18px;line-height:18px;margin:8px 5px;overflow:hidden}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li div.meta div.title a.hint{position:absolute;display:inline-block;bottom:10px;right:10px;width:16px;height:16px;background:#f7f7f7}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li div.meta div.title a.hint.hidden{display:none}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li div.meta div.additional{display:none;margin:5px 0 0 0;font-weight:400}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li a.check{display:none;position:absolute;right:5px;top:5px;width:24px;height:24px;background-color:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,0.15);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,0.15)}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li a.check div.media-modal-icon{display:none;width:15px;height:15px;margin:5px 0 0 5px;background-position:-21px 0}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li a.dashicons{position:absolute;display:block;top:5px;left:5px;width:25px;height:25px;line-height:25px;font-size:18px;outline:none;z-index:20;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li a.dashicons.envira-gallery-modify-image{background:#0085ba;color:#fff}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li a.dashicons.envira-gallery-remove-image{left:35px;background:#e02626;color:#fff}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li.selected{width:148px;border:2px solid #7cc048 !important}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li.selected a.check{display:block;background-color:#7cc048;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #7cc048;box-shadow:0 0 0 1px #fff,0 0 0 2px #7cc048}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li.selected a.check div.media-modal-icon{display:block}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li.selected div.meta{width:146px}form#post.envira-gallery #poststuff ul.envira-gallery-images-output li.ui-sortable-helper li{position:absolute;top:0;left:0}form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li{position:relative;z-index:2;display:block;width:100%;margin:0 0 10px 0;padding:10px 15px;background:#fff;border:1px solid #ddd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px}form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li img{display:inline-block;width:75px;margin-left:45px}form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li div.meta{position:absolute;z-index:1;left:0;display:inline-block;width:100%;padding:0 80px 0 150px;border:none;font-weight:700;text-align:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li div.meta div.title{display:block;width:100%;height:auto;font-size:16px;margin:0;padding:0}form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li div.meta div.title a.hint{display:none}form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li div.meta div.additional{display:block}form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li a.check{display:block;position:absolute;left:15px;top:35px}form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li a.envira-gallery-remove-image{left:auto;top:10px;right:10px}form#post.envira-gallery #poststuff ul.envira-gallery-images-output.list li a.envira-gallery-modify-image{left:auto;top:10px;right:40px}form#post.envira-gallery #poststuff #envira-gallery{margin:60px 0 20px 0}form#post.envira-gallery #poststuff #envira-gallery .handlediv,form#post.envira-gallery #poststuff #envira-albums .handlediv{display:none}form#post.envira-gallery #poststuff #envira-gallery .hndle,form#post.envira-gallery #poststuff #envira-albums .hndle{display:none}form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper,form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper{margin:-56px 0 0 -1px;padding:0;border-bottom:none}form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab,form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab{display:inline-block;width:49%;margin:0;padding:15px 0;text-align:center;font-size:16px;border-color:#e5e5e5;background:#f5f5f5}form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab.nav-tab-native-envira-gallery span,form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab.nav-tab-native-envira-gallery span{display:inline-block;background:url(images/icons/leaf.svg) 0 5px no-repeat;background-size:14px 14px;text-indent:20px}form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab.nav-tab-external-gallery,form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab.nav-tab-external-gallery{margin-right:-1px}form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab:hover,form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab.envira-active,form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab:hover,form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab.envira-active{background:#fff;border-bottom:1px solid #fff}form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab:focus,form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab:last-child,form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab:last-child{float:right}form#post.envira-gallery #poststuff #envira-gallery h2.nav-tab-wrapper .nav-tab input[type=radio],form#post.envira-gallery #poststuff #envira-albums h2.nav-tab-wrapper .nav-tab input[type=radio]{display:none}form#post.envira-gallery #poststuff #envira-gallery .inside,form#post.envira-gallery #poststuff #envira-albums .inside{margin:0;padding:0}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui{height:210px}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area{display:none;border:4px dashed #b4b9be;height:200px}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside{margin:0 auto 0 auto}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside p,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside p{display:block;text-align:center;color:#a0a5aa;position:absolute;top:50%;left:50%;margin:-10px 0 0 -10px}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside p.drag-drop-info,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside p.drag-drop-info{display:none;font-size:20px}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside p.drag-drop-buttons,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui #drag-drop-area .drag-drop-inside p.drag-drop-buttons{text-align:center;position:relative;top:20px;left:0;margin:0}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui a.envira-media-library.button,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui a.envira-media-library.button{display:none;position:absolute;margin:0 auto;left:280px;right:0;width:230px;top:115px;text-align:center}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside{width:520px;margin:50px auto 0 auto}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p{position:relative;top:0;left:0;margin:0}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p.drag-drop-info,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p.drag-drop-info{display:block}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p.drag-drop-buttons,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p.drag-drop-buttons{margin:10px 0 0 0;text-align:left}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar{display:none;width:100%;position:relative;height:10px;width:100%;margin:10px auto;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,0.1)}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar .envira-progress-bar-inner,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar .envira-progress-bar-inner{height:10px;min-width:20px;width:0;background:#aaa;background:rgba(0,0,0,0.2);border-radius:10px;-webkit-transition:width 300ms;-moz-transition:width 300ms;-ms-transition:width 300ms;-o-transition:width 300ms;transition:width 300ms}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar .envira-progress-bar-status,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar .envira-progress-bar-status{clear:both;position:absolute;right:0;width:50%;height:30px;margin:12px 0 0 0;text-align:right}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar .envira-progress-bar-status .done,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui .envira-progress-bar .envira-progress-bar-status .done{display:none}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui p.upload-flash-bypass,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui p.upload-flash-bypass{display:none}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab{padding:20px}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external{text-align:center}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external p.envira-intro,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external p.envira-intro{margin:0 0 20px 0;padding:0;border:none}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav{margin:0 0 40px 0;text-align:center}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li{display:inline-block;margin:0 20px 0 0;vertical-align:top}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li:last-child,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li:last-child{margin:0}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li label,form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li a,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li label,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li a{float:left;width:110px}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li label input,form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li a input,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li label input,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li a input{display:none}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li label div.icon,form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li a div.icon,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li label div.icon,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li a div.icon{width:110px;height:110px;margin:0 0 10px 0;border:1px solid #ddd;background-size:64px 64px;background-position:center;background-repeat:no-repeat}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li label div.title,form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li a div.title,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li label div.title,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li a div.title{font-weight:700}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li:hover label div.icon,form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li:hover a div.icon,form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li.envira-active label div.icon,form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li.envira-active a div.icon,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li:hover label div.icon,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li:hover a div.icon,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li.envira-active label div.icon,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li.envira-active a div.icon{background-color:#f7fcf3;border-color:#7cc048}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li#envira-gallery-type-fc label div.icon,form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li#envira-gallery-type-fc a div.icon,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li#envira-gallery-type-fc label div.icon,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li#envira-gallery-type-fc a div.icon{background-image:url(../images/types/fc.png)}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li#envira-gallery-type-instagram label div.icon,form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li#envira-gallery-type-instagram a div.icon,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li#envira-gallery-type-instagram label div.icon,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external ul#envira-gallery-types-nav li#envira-gallery-type-instagram a div.icon{background-image:url(../images/types/instagram.png)}form#post.envira-gallery #poststuff #envira-gallery .inside div.envira-tab#envira-gallery-external a.button.button-x-large,form#post.envira-gallery #poststuff #envira-albums .inside div.envira-tab#envira-gallery-external a.button.button-x-large{margin-top:30px}form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native{position:relative}form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native ul#envira-album-drag-drop-area{z-index:2;min-height:200px;margin:0;padding:20px;border:4px dashed #b4b9be;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native ul#envira-album-drag-drop-area li{cursor:move}form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native p.drag-drop-info{position:absolute;top:80px;z-index:1;margin:0 auto;left:0;right:0;text-align:center;color:#a0a5aa;font-size:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native p.drag-drop-info span{display:block}form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native p.drag-drop-info span.click{font-size:18px}form#post.envira-gallery #poststuff #envira-albums .inside #envira-types #envira-album-native p.drag-drop-info small{display:block;margin:5px 0;font-size:14px}form#post.envira-gallery #poststuff #envira-gallery-settings,form#post.envira-gallery #poststuff #envira-albums-settings{background:#f7f7f7}form#post.envira-gallery #poststuff #envira-gallery-settings:after,form#post.envira-gallery #poststuff #envira-albums-settings:after{content:"";display:table;clear:both}form#post.envira-gallery #poststuff #envira-gallery-settings .handlediv,form#post.envira-gallery #poststuff #envira-albums-settings .handlediv{display:none}form#post.envira-gallery #poststuff #envira-gallery-settings .hndle,form#post.envira-gallery #poststuff #envira-albums-settings .hndle{display:none}form#post.envira-gallery #poststuff #envira-gallery-settings .inside,form#post.envira-gallery #poststuff #envira-albums-settings .inside{margin:0;padding:0}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav{width:160px;margin:0;padding:0;border-right:1px solid #ddd}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li{float:left;width:100%;margin:0;padding:0}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a{float:left;width:120px;margin:0 20px;padding:20px 0 20px 25px;text-decoration:none;color:#999;border-bottom:1px solid #ddd;background-position:left center;background-repeat:no-repeat;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;transition:none;-webkit-transition:none}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a:hover,form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a.envira-active,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a:hover,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a.envira-active{width:161px;margin:-1px 0 0 0;padding:20px 20px 20px 45px;text-decoration:none;color:#444;border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-right:1px solid #fff;background-color:#fff;background-position:20px center}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a:focus,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li:last-child a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li:last-child a{border-bottom:none}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li:last-child a:hover,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li:last-child a:hover{border-bottom:none}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-images a,form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-galleries a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-images a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-galleries a{background-image:url(images/icons/leaf.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-config a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-config a{background-image:url(images/icons/configuration.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-lightbox a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-lightbox a{background-image:url(images/icons/lightbox.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-mobile a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-mobile a{background-image:url(images/icons/mobile.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-breadcrumbs a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-breadcrumbs a{background-image:url(images/icons/breadcrumbs.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-comments a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-comments a{background-image:url(images/icons/comments.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-downloads a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-downloads a{background-image:url(images/icons/downloads.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-exif a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-exif a{background-image:url(images/icons/exif.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-pagination a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-pagination a{background-image:url(images/icons/pagination.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-pinterest a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-pinterest a{background-image:url(images/icons/pinterest.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-proofing a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-proofing a{background-image:url(images/icons/proofing.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-printing a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-printing a{background-image:url(images/icons/printing.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-slideshow a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-slideshow a{background-image:url(images/icons/slideshow.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-social a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-social a{background-image:url(images/icons/social.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-tags a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-tags a{background-image:url(images/icons/tags.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-videos a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-videos a{background-image:url(images/icons/video.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-watermarking a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-watermarking a{background-image:url(images/icons/watermark.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-woocommerce a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-woocommerce a{background-image:url(images/icons/woocommerce.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li.envira-misc a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li.envira-misc a{background-image:url(images/icons/misc.svg);background-size:16px 16px}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs{margin:0 0 0 160px;padding:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:#fff;border-left:1px solid #ddd}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs h2,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs h2{clear:none}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table{clear:none;margin:0 0 40px 0}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table.no-margin,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table.no-margin{margin:0}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table th,form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table td,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table th,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table td{padding-top:20px;padding-bottom:20px}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table tr.sub-heading th,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table tr.sub-heading th{margin:0;padding:20px 0 0 0;font-style:italic;font-weight:400;font-size:16px}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table label.full-width,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table label.full-width{display:block;margin:0 0 5px 0}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table label.full-width:first-child,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table label.full-width:first-child{margin-top:5px}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table textarea,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table textarea{width:100%}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table input[type=checkbox],form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table input[type=checkbox]{margin-bottom:2px}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table p.description,form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs table.form-table span.description,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table p.description,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs table.form-table span.description{font-size:13px;font-style:italic;color:#666}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav{width:100%}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav.envira-tab-options,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav.envira-tab-options{margin:20px 0}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav a.dashicons,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav a.dashicons{position:absolute;color:#999}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav a.dashicons.dashicons-grid-view,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav a.dashicons.dashicons-grid-view{right:20px}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav a.dashicons.dashicons-list-view,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav a.dashicons.dashicons-list-view{right:50px}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav a.dashicons.selected,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav a.dashicons.selected{color:#23282d}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav a.dashicons span,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav a.dashicons span{display:inline-block;text-indent:-9999px}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images nav.envira-select-options,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images nav.envira-select-options{display:none}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-images ul#envira-gallery-output li,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-images ul#envira-gallery-output li{cursor:move}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries nav,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries nav{width:100%}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries nav.envira-tab-options,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries nav.envira-tab-options{height:40px;margin:20px 0;position:relative}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries nav.envira-tab-options a.envira-galleries-add,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries nav.envira-tab-options a.envira-galleries-add{display:none;position:absolute;top:0;left:0}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries nav.envira-tab-options input#envira-albums-gallery-search,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries nav.envira-tab-options input#envira-albums-gallery-search{position:absolute;top:0;right:0}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries nav.envira-select-options,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries nav.envira-select-options{display:none}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries ul.envira-gallery-images-output li,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries ul.envira-gallery-images-output li{cursor:move}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries ul.envira-gallery-images-output li a.envira-gallery-remove-image,form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs #envira-tab-galleries ul.envira-gallery-images-output li a.envira-gallery-modify-image,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries ul.envira-gallery-images-output li a.envira-gallery-remove-image,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs #envira-tab-galleries ul.envira-gallery-images-output li a.envira-gallery-modify-image{display:none}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs:after,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs:after{content:"";display:table;clear:both}form#post.envira-gallery #poststuff #envira-gallery-preview:after{content:"";display:table;clear:both}form#post.envira-gallery #poststuff #envira-gallery-preview button.handlediv{display:none}form#post.envira-gallery #poststuff #envira-gallery-preview h2.hndle{display:none}form#post.envira-gallery #poststuff #envira-gallery-preview .inside{margin:0;padding:20px}.media-modal .edit-attachment-frame .edit-media-header button.right{border-right:1px solid #ddd}.media-modal .uploader-inline a.envira-media-library.button{display:none}.media-modal .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #7cc048;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #7cc048}.media-modal .attachment.details .check{background-color:#7cc048;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #7cc048;box-shadow:0 0 0 1px #fff,0 0 0 2px #7cc048}.media-modal ul.attachments.envira-albums-gallery-cover-image{padding:10px}.media-modal ul.attachments.envira-bulk-edit li.attachment{cursor:default}.media-modal ul.attachments.envira-bulk-edit li.attachment .attachment-preview{cursor:default}.media-modal .attachment-details .attachment-info{padding:16px}.media-modal .attachment-details .attachment-info .settings{margin:0;padding:0;border:none}.media-modal .attachment-details .attachment-info .settings .setting{margin:0 0 20px 0;padding:0 0 20px 0;border-bottom:1px solid #ddd}.media-modal .attachment-details .attachment-info .settings .setting input[type="text"],.media-modal .attachment-details .attachment-info .settings .setting textarea{display:block;width:100%;min-width:100%;margin:0}.media-modal .attachment-details .attachment-info .settings .setting input[type="checkbox"]{float:left;margin:7px 3px 0 0}.media-modal .attachment-details .attachment-info .settings .setting select{margin:0}.media-modal .attachment-details .attachment-info .settings .setting span.name{display:block;width:100%;min-width:100%;margin:0;padding:0;text-align:left;font-weight:700;font-size:14px}.media-modal .attachment-details .attachment-info .settings .setting span.description{text-align:left;font-style:normal;font-size:13px;font-style:italic;color:#666}.media-modal .attachment-details .attachment-info .settings .setting div.description{clear:both;float:left;margin:5px 0 0 0;text-align:left;font-size:13px;font-style:italic;color:#666}.media-modal .attachment-details .attachment-info div.actions a.button{display:inline-block}@media (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi){.wp-core-ui a.check .media-modal-icon{background-image:url(../../../../../wp-includes/images/uploader-icons-2x.png) !important;-webkit-background-size:134px 15px;background-size:134px 15px}}@media screen and (max-width: 1100px){form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area{border-color:#d5d5d5}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside{width:100%;margin-top:20px}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p.drag-drop-buttons,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui.drag-drop #drag-drop-area .drag-drop-inside p.drag-drop-buttons{text-align:center}form#post.envira-gallery #poststuff #envira-gallery .inside #envira-gallery-native #plupload-upload-ui a.envira-media-library.button,form#post.envira-gallery #poststuff #envira-albums .inside #envira-gallery-native #plupload-upload-ui a.envira-media-library.button{left:0;right:0;width:235px;top:145px}}@media screen and (max-width: 768px){form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav{width:60px}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a{width:60px;height:60px;margin:0;padding:0;text-indent:-9999px;background-position:center}form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a:hover,form#post.envira-gallery #poststuff #envira-gallery-settings ul#envira-tabs-nav li a.envira-active,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a:hover,form#post.envira-gallery #poststuff #envira-albums-settings ul#envira-tabs-nav li a.envira-active{width:60px;height:60px;margin:0;padding:0;text-indent:-9999px;background-position:center}form#post.envira-gallery #poststuff #envira-gallery-settings #envira-tabs,form#post.envira-gallery #poststuff #envira-albums-settings #envira-tabs{margin:0 0 0 60px}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/fonts/envira.eot ADDED
Binary file
assets/fonts/envira.svg ADDED
@@ -0,0 +1 @@
 
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" ><svg xmlns="http://www.w3.org/2000/svg"><metadata>Generated by Glyphter</metadata><defs><font id="soliloquy" horiz-adv-x="0"><font-face units-per-em="1024" ascent="1024" descent="0" font-family="soliloquy" font-weight="normal" /><missing-glyph horiz-adv-x="0" /><glyph unicode="&#x0041;" d="M960,416C960,416,878.4,401.6,878.4,401.6C870.4,376,860.8,352,848,329.6C848,329.6,896,262.4,896,262.4C921.6,236.8,921.6,196.8,896,171.2C896,171.2,851.2,128,851.2,128C825.6,102.4,785.6,102.4,760,128C760,128,692.8,176,692.8,176C670.4,163.2,646.4,153.6,620.8,145.6C620.8,145.6,608,64,608,64C608,28.8,579.2,0,544,0C544,0,480,0,480,0C444.8,0,416,28.8,416,64C416,64,401.6,145.6,401.6,145.6C376,153.6,352,163.2,329.6,176C329.6,176,262.4,128,262.4,128C236.8,102.4,196.8,102.4,171.2,128C171.2,128,128,172.8,128,172.8C102.4,198.4,102.4,238.4,128,264C128,264,176,331.2,176,331.2C163.2,353.6,153.6,377.6,145.6,403.2C145.6,403.2,64,416,64,416C28.8,416,0,444.8,0,480C0,480,0,544,0,544C0,579.2,28.8,608,64,608C64,608,145.6,622.4,145.6,622.4C153.6,648,163.2,672,176,694.4C176,694.4,128,761.6,128,761.6C102.4,787.2,102.4,827.2,128,852.8C128,852.8,172.8,896,172.8,896C198.4,921.6,238.4,921.6,264,896C264,896,331.2,848,331.2,848C353.6,860.8,377.6,870.4,403.2,878.4C403.2,878.4,416,960,416,960C416,995.2,444.8,1024,480,1024C480,1024,544,1024,544,1024C579.2,1024,608,995.2,608,960C608,960,622.4,878.4,622.4,878.4C648,870.4,672,860.8,694.4,848C694.4,848,761.6,896,761.6,896C787.2,921.6,827.2,921.6,852.8,896C852.8,896,897.6,851.2,897.6,851.2C923.2,825.6,923.2,785.6,897.6,760C897.6,760,849.6,692.8,849.6,692.8C862.4,670.4,872,646.4,880,620.8C880,620.8,960,608,960,608C995.2,608,1024,579.2,1024,544C1024,544,1024,480,1024,480C1024,444.8,995.2,416,960,416C960,416,960,416,960,416M928,544C928,544,827.2,560,827.2,560C819.2,611.2,798.4,659.2,769.6,699.2C769.6,699.2,828.8,782.4,828.8,782.4C841.6,795.2,841.6,814.4,828.8,827.2C816,840,796.8,840,784,827.2C784,827.2,700.8,768,700.8,768C660.8,796.8,612.8,817.6,561.6,825.6C561.6,825.6,544,928,544,928C544,945.6,529.6,960,512,960C494.4,960,480,945.6,480,928C480,928,462.4,827.2,462.4,827.2C411.2,819.2,363.2,798.4,323.2,769.6C323.2,769.6,240,828.8,240,828.8C227.2,841.6,208,841.6,195.2,828.8C182.4,816,182.4,796.8,195.2,784C195.2,784,254.4,700.8,254.4,700.8C224,660.8,204.8,612.8,196.8,561.6C196.8,561.6,96,544,96,544C78.4,544,64,529.6,64,512C64,494.4,78.4,480,96,480C96,480,196.8,464,196.8,464C204.8,412.8,225.6,364.8,254.4,324.8C254.4,324.8,195.2,240,195.2,240C182.4,227.2,182.4,208,195.2,195.2C208,182.4,227.2,182.4,240,195.2C240,195.2,323.2,254.4,323.2,254.4C363.2,225.6,411.2,204.8,462.4,196.8C462.4,196.8,480,96,480,96C480,78.4,494.4,64,512,64C529.6,64,544,78.4,544,96C544,96,560,196.8,560,196.8C611.2,204.8,659.2,225.6,699.2,254.4C699.2,254.4,782.4,195.2,782.4,195.2C795.2,182.4,814.4,182.4,827.2,195.2C840,208,840,227.2,827.2,240C827.2,240,768,323.2,768,323.2C798.4,363.2,817.6,411.2,825.6,462.4C825.6,462.4,926.4,478.4,926.4,478.4C944,478.4,958.4,492.8,958.4,510.4C958.4,528,945.6,544,928,544C928,544,928,544,928,544M512,352C424,352,352,424,352,512C352,600,424,672,512,672C600,672,672,600,672,512C672,424,600,352,512,352C512,352,512,352,512,352M512,608C459.2,608,416,564.8,416,512C416,459.2,459.2,416,512,416C564.8,416,608,459.2,608,512C608,564.8,564.8,608,512,608C512,608,512,608,512,608" class="soliloquy-configuration"/><glyph unicode="&#x0042;" d="M313.6,251.2C520,89.6,715.2,158.4,804.8,168C804.8,168,964.8,8,964.8,8C964.8,8,1024,8,1024,8C1024,8,840,192,840,192C838.4,302.4,1091.2,1016,0,1016C118.4,604.8,107.2,412.8,313.6,251.2M512,556.8C563.2,459.2,656,312,720,264C784,216,854.4,180.8,705.6,244.8C556.8,307.2,448,486.4,376,622.4C320,726.4,273.6,820.8,169.6,891.2C65.6,961.6,182.4,912,182.4,912C371.2,819.2,440,692.8,512,556.8" class="soliloquy-leaf"/><glyph unicode="&#x0044;" d="M64,128C64,128,64,832,64,832C64,832,0,832,0,832C0,832,0,128,0,128C0,57.6,60.8,0,136,0C136,0,896,0,896,0C896,0,896,64,896,64C896,64,132.8,64,132.8,64C94.4,64,64,92.8,64,128C64,128,64,128,64,128M864,896C864,896,288,896,288,896C270.4,896,256,881.6,256,864C256,864,256,352,256,352C256,334.4,270.4,320,288,320C288,320,864,320,864,320C881.6,320,896,334.4,896,352C896,352,896,864,896,864C896,881.6,881.6,896,864,896C864,896,864,896,864,896M832,416C832,398.4,817.6,384,800,384C800,384,352,384,352,384C334.4,384,320,398.4,320,416C320,416,320,800,320,800C320,817.6,334.4,832,352,832C352,832,800,832,800,832C817.6,832,832,817.6,832,800C832,800,832,416,832,416C832,416,832,416,832,416M960,1024C960,1024,192,1024,192,1024C156.8,1024,128,995.2,128,960C128,960,128,192,128,192C128,156.8,156.8,128,192,128C192,128,960,128,960,128C995.2,128,1024,156.8,1024,192C1024,192,1024,960,1024,960C1024,995.2,995.2,1024,960,1024C960,1024,960,1024,960,1024M960,224C960,206.4,945.6,192,928,192C928,192,224,192,224,192C206.4,192,192,206.4,192,224C192,224,192,928,192,928C192,945.6,206.4,960,224,960C224,960,928,960,928,960C945.6,960,960,945.6,960,928C960,928,960,224,960,224C960,224,960,224,960,224" class="soliloquy-lightbox"/><glyph unicode="&#x0045;" d="M992.432,835.643C992.432,835.643,850.042,693.253,850.042,693.253C850.042,693.253,720.451,720.451,720.451,720.451C720.451,720.451,694.852,850.042,694.852,850.042C694.852,850.042,835.643,992.432,835.643,992.432C790.846,1013.231,741.249,1024.43,691.653,1024.43C608.458,1024.43,523.664,992.432,459.669,928.436C368.475,837.243,342.877,704.452,381.274,589.26C381.274,589.26,43.697,251.683,43.697,251.683C-13.899,194.087,-13.899,101.293,43.697,43.697C72.495,14.899,109.293,0.5,147.69,0.5C186.087,0.5,222.885,14.899,251.683,43.697C251.683,43.697,589.26,381.274,589.26,381.274C624.457,370.075,659.655,363.675,696.452,363.675C781.246,363.675,864.441,395.673,928.436,459.669C1030.829,562.062,1050.028,712.451,992.432,835.643C992.432,835.643,992.432,835.643,992.432,835.643M877.24,512.465C829.243,464.468,765.248,437.27,696.452,437.27C667.654,437.27,640.456,442.07,613.258,450.069C613.258,450.069,570.061,464.468,570.061,464.468C570.061,464.468,538.063,432.47,538.063,432.47C538.063,432.47,200.486,94.894,200.486,94.894C186.087,80.495,168.488,72.495,147.69,72.495C128.491,72.495,109.293,80.495,94.894,94.894C80.495,109.293,72.495,126.891,72.495,147.69C72.495,166.889,80.495,186.087,94.894,200.486C94.894,200.486,432.47,538.063,432.47,538.063C432.47,538.063,464.468,570.061,464.468,570.061C464.468,570.061,450.069,613.258,450.069,613.258C418.071,707.652,442.07,808.445,510.865,877.24C558.862,925.237,622.857,952.435,691.653,952.435C691.653,952.435,642.056,902.838,642.056,902.838C642.056,902.838,614.858,875.64,614.858,875.64C614.858,875.64,622.857,837.243,622.857,837.243C622.857,837.243,648.456,707.652,648.456,707.652C648.456,707.652,658.055,659.655,658.055,659.655C658.055,659.655,706.052,650.055,706.052,650.055C706.052,650.055,835.643,624.457,835.643,624.457C835.643,624.457,874.04,616.458,874.04,616.458C874.04,616.458,901.238,643.656,901.238,643.656C901.238,643.656,950.835,693.253,950.835,693.253C950.835,626.057,925.237,560.462,877.24,512.465C877.24,512.465,877.24,512.465,877.24,512.465" class="soliloquy-misc"/><glyph unicode="&#x0046;" d="M704,1024C704,1024,320,1024,320,1024C249.6,1024,192,966.4,192,896C192,896,192,128,192,128C192,57.6,249.6,0,320,0C320,0,704,0,704,0C774.4,0,832,57.6,832,128C832,128,832,896,832,896C832,966.4,774.4,1024,704,1024C704,1024,704,1024,704,1024M768,128C768,92.8,739.2,64,704,64C704,64,320,64,320,64C284.8,64,256,92.8,256,128C256,128,256,320,256,320C256,320,768,320,768,320C768,320,768,128,768,128C768,128,768,128,768,128M768,384C768,384,256,384,256,384C256,384,256,768,256,768C256,768,768,768,768,768C768,768,768,384,768,384C768,384,768,384,768,384M768,832C768,832,256,832,256,832C256,832,256,896,256,896C256,931.2,284.8,960,320,960C320,960,704,960,704,960C739.2,960,768,931.2,768,896C768,896,768,832,768,832C768,832,768,832,768,832M512,128C547.2,128,576,156.8,576,192C576,227.2,547.2,256,512,256C476.8,256,448,227.2,448,192C448,156.8,476.8,128,512,128C512,128,512,128,512,128" class="soliloquy-mobile"/><glyph unicode="&#x0047;" d="M416,960C416,960,416,1024,416,1024C416,1024,1024,1024,1024,1024C1024,1024,1024,960,1024,960C1024,960,416,960,416,960C416,960,416,960,416,960C416,960,416,960,416,960M640,720C640,720,640,784,640,784C640,784,896,784,896,784C896,784,896,720,896,720C896,720,640,720,640,720C640,720,640,720,640,720C640,720,640,720,640,720M640,592C640,592,640,656,640,656C640,656,896,656,896,656C896,656,896,592,896,592C896,592,640,592,640,592C640,592,640,592,640,592C640,592,640,592,640,592M640,464C640,464,640,528,640,528C640,528,896,528,896,528C896,528,896,464,896,464C896,464,640,464,640,464C640,464,640,464,640,464C640,464,640,464,640,464M608,224C608,224,608,288,608,288C608,288,1024,288,1024,288C1024,288,1024,224,1024,224C1024,224,608,224,608,224C608,224,608,224,608,224C608,224,608,224,608,224M960,288C960,288,960,960,960,960C960,960,1024,960,1024,960C1024,960,1024,288,1024,288C1024,288,960,288,960,288C960,288,960,288,960,288C960,288,960,288,960,288M416,800C416,800,416,960,416,960C416,960,480,960,480,960C480,960,480,800,480,800C480,800,416,800,416,800C416,800,416,800,416,800C416,800,416,800,416,800M0,736C0,736,0,800,0,800C0,800,608,800,608,800C608,800,608,736,608,736C608,736,0,736,0,736C0,736,0,736,0,736C0,736,0,736,0,736M128,496C128,496,128,560,128,560C128,560,480,560,480,560C480,560,480,496,480,496C480,496,128,496,128,496C128,496,128,496,128,496C128,496,128,496,128,496M128,368C128,368,128,432,128,432C128,432,480,432,480,432C480,432,480,368,480,368C480,368,128,368,128,368C128,368,128,368,128,368C128,368,128,368,128,368M128,240C128,240,128,304,128,304C128,304,480,304,480,304C480,304,480,240,480,240C480,240,128,240,128,240C128,240,128,240,128,240C128,240,128,240,128,240M0,0C0,0,0,64,0,64C0,64,608,64,608,64C608,64,608,0,608,0C608,0,0,0,0,0C0,0,0,0,0,0C0,0,0,0,0,0M544,64C544,64,544,736,544,736C544,736,608,736,608,736C608,736,608,64,608,64C608,64,544,64,544,64C544,64,544,64,544,64C544,64,544,64,544,64M0,64C0,64,0,736,0,736C0,736,64,736,64,736C64,736,64,64,64,64C64,64,0,64,0,64C0,64,0,64,0,64C0,64,0,64,0,64" class="soliloquy-pagination"/><glyph unicode="&#x0048;" d="M969.6,0C969.6,0,198.4,0,198.4,0C168,0,144,24,144,54.4C144,54.4,144,192,144,192C144,193.6,144,195.2,144,196.8C144,196.8,144,825.6,144,825.6C144,856,168,880,198.4,880C198.4,880,968,880,968,880C998.4,880,1022.4,856,1022.4,825.6C1022.4,825.6,1022.4,56,1022.4,56C1024,24,1000,0,969.6,0C969.6,0,969.6,0,969.6,0M198.4,83.2C198.4,68.8,211.2,56,225.6,56C225.6,56,713.6,56,713.6,56C713.6,56,440,371.2,440,371.2C440,371.2,198.4,176,198.4,176C198.4,176,198.4,83.2,198.4,83.2C198.4,83.2,198.4,83.2,198.4,83.2M969.6,796.8C969.6,811.2,956.8,824,942.4,824C942.4,824,227.2,824,227.2,824C212.8,824,200,811.2,200,796.8C200,796.8,200,251.2,200,251.2C200,251.2,420.8,432,420.8,432C425.6,435.2,430.4,436.8,435.2,438.4C436.8,438.4,436.8,438.4,438.4,440C440,440,443.2,441.6,444.8,441.6C452.8,443.2,462.4,440,467.2,433.6C467.2,433.6,552,334.4,552,334.4C552,334.4,809.6,544,809.6,544C816,550.4,824,552,832,550.4C841.6,550.4,849.6,548.8,857.6,544C857.6,544,969.6,422.4,969.6,422.4C969.6,422.4,969.6,796.8,969.6,796.8C969.6,796.8,969.6,796.8,969.6,796.8M969.6,337.6C968,337.6,968,337.6,969.6,337.6C969.6,337.6,828.8,488,828.8,488C828.8,488,587.2,291.2,587.2,291.2C587.2,291.2,792,54.4,792,54.4C792,54.4,940.8,54.4,940.8,54.4C955.2,54.4,968,67.2,968,81.6C968,81.6,968,337.6,968,337.6C968,337.6,969.6,337.6,969.6,337.6M364.8,550.4C304,550.4,254.4,600,254.4,660.8C254.4,721.6,304,771.2,364.8,771.2C425.6,771.2,475.2,721.6,475.2,660.8C473.6,600,425.6,550.4,364.8,550.4C364.8,550.4,364.8,550.4,364.8,550.4M364.8,715.2C334.4,715.2,310.4,691.2,310.4,660.8C310.4,630.4,334.4,606.4,364.8,606.4C395.2,606.4,419.2,630.4,419.2,660.8C419.2,689.6,395.2,715.2,364.8,715.2C364.8,715.2,364.8,715.2,364.8,715.2M256,960C256,960,192,960,192,960C192,960,192,1024,192,1024C192,1024,256,1024,256,1024C256,1024,256,960,256,960C256,960,256,960,256,960M448,960C448,960,384,960,384,960C384,960,384,1024,384,1024C384,1024,448,1024,448,1024C448,1024,448,960,448,960C448,960,448,960,448,960M640,960C640,960,576,960,576,960C576,960,576,1024,576,1024C576,1024,640,1024,640,1024C640,1024,640,960,640,960C640,960,640,960,640,960M832,960C832,960,768,960,768,960C768,960,768,1024,768,1024C768,1024,832,1024,832,1024C832,1024,832,960,832,960C832,960,832,960,832,960M1024,960C1024,960,960,960,960,960C960,960,960,1024,960,1024C960,1024,1024,1024,1024,1024C1024,1024,1024,960,1024,960C1024,960,1024,960,1024,960M64,960C64,960,0,960,0,960C0,960,0,1024,0,1024C0,1024,64,1024,64,1024C64,1024,64,960,64,960C64,960,64,960,64,960M64,768C64,768,0,768,0,768C0,768,0,832,0,832C0,832,64,832,64,832C64,832,64,768,64,768C64,768,64,768,64,768M64,576C64,576,0,576,0,576C0,576,0,640,0,640C0,640,64,640,64,640C64,640,64,576,64,576C64,576,64,576,64,576M64,384C64,384,0,384,0,384C0,384,0,448,0,448C0,448,64,448,64,448C64,448,64,384,64,384C64,384,64,384,64,384M64,192C64,192,0,192,0,192C0,192,0,256,0,256C0,256,64,256,64,256C64,256,64,192,64,192C64,192,64,192,64,192M64,0C64,0,0,0,0,0C0,0,0,64,0,64C0,64,64,64,64,64C64,64,64,0,64,0C64,0,64,0,64,0" class="soliloquy-proofing"/><glyph unicode="&#x0049;" d="M992,960.654C992,960.654,32,960.654,32,960.654C14.4,960.654,0,946.254,0,928.654C0,911.054,14.4,896.654,32,896.654C32,896.654,64,896.654,64,896.654C64,896.654,64,320.654,64,320.654C64,285.454,92.8,256.654,128,256.654C128,256.654,404.8,256.654,404.8,256.654C404.8,256.654,324.8,109.454,324.8,109.454C315.2,95.054,321.6,75.854,337.6,67.854C355.2,59.854,376,64.654,385.6,79.054C385.6,79.054,475.2,242.254,475.2,242.254C478.4,247.054,480,250.254,480,255.054C480,255.054,544,255.054,544,255.054C544,250.254,545.6,245.454,548.8,242.254C548.8,242.254,638.4,79.054,638.4,79.054C648,64.654,670.4,59.854,686.4,67.854C704,75.854,708.8,95.054,699.2,109.454C699.2,109.454,619.2,256.654,619.2,256.654C619.2,256.654,896,256.654,896,256.654C931.2,256.654,960,285.454,960,320.654C960,320.654,960,896.654,960,896.654C960,896.654,992,896.654,992,896.654C1009.6,896.654,1024,911.054,1024,928.654C1024,946.254,1009.6,960.654,992,960.654C992,960.654,992,960.654,992,960.654M896,832.654C896,832.654,896,832.654,896,832.654C896,832.654,896,352.654,896,352.654C896,335.054,881.6,320.654,864,320.654C864,320.654,160,320.654,160,320.654C142.4,320.654,128,335.054,128,352.654C128,352.654,128,864.654,128,864.654C128,864.654,128,864.654,128,864.654C128,864.654,128,896.654,128,896.654C128,896.654,160,896.654,160,896.654C160,896.654,160,896.654,160,896.654C160,896.654,864,896.654,864,896.654C864,896.654,864,896.654,864,896.654C864,896.654,896,896.654,896,896.654C896,896.654,896,832.654,896,832.654C896,832.654,896,832.654,896,832.654M816,770.254C800,779.854,780.8,773.454,772.8,759.054C772.8,759.054,574.4,578.254,574.4,578.254C574.4,578.254,417.6,690.254,417.6,690.254C409.6,701.454,393.6,707.854,379.2,704.654C376,704.654,374.4,703.054,371.2,703.054C371.2,703.054,369.6,703.054,369.6,703.054C369.6,703.054,368,703.054,368,701.454C366.4,699.854,363.2,698.254,361.6,696.654C360,695.054,358.4,693.454,356.8,691.854C356.8,691.854,356.8,691.854,355.2,690.254C355.2,690.254,195.2,498.254,195.2,498.254C185.6,482.254,192,463.054,206.4,453.454C220.8,443.854,241.6,450.254,249.6,464.654C249.6,464.654,390.4,632.654,390.4,632.654C390.4,632.654,539.2,527.054,539.2,527.054C542.4,522.254,547.2,519.054,553.6,515.854C555.2,514.254,555.2,511.054,558.4,509.454C574.4,501.454,593.6,506.254,601.6,520.654C601.6,520.654,825.6,725.454,825.6,725.454C836.8,743.054,832,762.254,816,770.254C816,770.254,816,770.254,816,770.254" class="soliloquy-slideshow"/><glyph unicode="&#x004a;" d="M195.829,420.092C195.829,420.092,420.092,195.829,420.092,195.829C420.092,195.829,464.945,240.682,464.945,240.682C464.945,240.682,240.682,464.945,240.682,464.945C240.682,464.945,195.829,420.092,195.829,420.092C195.829,420.092,195.829,420.092,195.829,420.092M532.224,1024C532.224,1024,18.021,509.797,18.021,509.797C-6.007,485.769,-6.007,445.722,18.021,420.092C18.021,420.092,420.092,18.021,420.092,18.021C444.12,-6.007,484.167,-6.007,509.797,18.021C509.797,18.021,1024,532.224,1024,532.224C1024,532.224,1024,1024,1024,1024C1024,1024,532.224,1024,532.224,1024C532.224,1024,532.224,1024,532.224,1024M956.721,554.65C956.721,554.65,487.371,83.698,487.371,83.698C474.556,70.883,455.334,70.883,442.519,83.698C442.519,83.698,83.698,442.519,83.698,442.519C70.883,455.334,70.883,474.556,83.698,487.371C83.698,487.371,554.65,956.721,554.65,956.721C554.65,956.721,959.925,959.925,959.925,959.925C959.925,959.925,956.721,554.65,956.721,554.65C956.721,554.65,956.721,554.65,956.721,554.65M859.007,676.393C908.665,726.051,908.665,807.747,859.007,857.405C809.348,907.063,727.653,907.063,677.995,857.405C628.336,807.747,628.336,726.051,677.995,676.393C726.051,626.734,807.747,626.734,859.007,676.393C859.007,676.393,859.007,676.393,859.007,676.393M722.847,814.154C748.477,839.784,788.524,839.784,814.154,814.154C839.784,788.524,839.784,748.477,814.154,722.847C788.524,697.217,748.477,697.217,722.847,722.847C697.217,748.477,697.217,788.524,722.847,814.154C722.847,814.154,722.847,814.154,722.847,814.154" class="soliloquy-tags"/><glyph unicode="&#x004b;" d="M960,1024C960,1024,64,1024,64,1024C28.8,1024,0,995.2,0,960C0,960,0,228.8,0,228.8C0,227.2,0,225.6,0,224C0,224,0,64,0,64C0,28.8,28.8,0,64,0C64,0,960,0,960,0C995.2,0,1024,28.8,1024,64C1024,64,1024,960,1024,960C1024,995.2,995.2,1024,960,1024C960,1024,960,1024,960,1024M96,64C78.4,64,64,78.4,64,96C64,96,64,204.8,64,204.8C64,204.8,345.6,432,345.6,432C345.6,432,664,64,664,64C664,64,96,64,96,64C96,64,96,64,96,64M960,96C960,78.4,945.6,64,928,64C928,64,755.2,64,755.2,64C755.2,64,516.8,339.2,516.8,339.2C516.8,339.2,796.8,568,796.8,568C796.8,568,958.4,392,958.4,392C958.4,392,958.4,392,960,392C960,392,960,96,960,96C960,96,960,96,960,96M960,491.2C960,491.2,830.4,632,830.4,632C822.4,638.4,811.2,640,800,640C790.4,640,780.8,638.4,774.4,632C774.4,632,475.2,387.2,475.2,387.2C475.2,387.2,376,502.4,376,502.4C368,510.4,358.4,513.6,348.8,512C345.6,512,344,510.4,340.8,510.4C339.2,510.4,339.2,510.4,337.6,508.8C331.2,507.2,324.8,507.2,320,502.4C320,502.4,64,292.8,64,292.8C64,292.8,64,928,64,928C64,945.6,78.4,960,96,960C96,960,928,960,928,960C945.6,960,960,945.6,960,928C960,928,960,491.2,960,491.2C960,491.2,960,491.2,960,491.2M256,896C185.6,896,128,838.4,128,768C128,697.6,185.6,640,256,640C326.4,640,384,697.6,384,768C384,838.4,326.4,896,256,896C256,896,256,896,256,896M256,704C220.8,704,192,732.8,192,768C192,803.2,220.8,832,256,832C291.2,832,320,803.2,320,768C320,732.8,291.2,704,256,704C256,704,256,704,256,704" class="soliloquy-thumbnails"/><glyph unicode="&#x004c;" d="M992,768C992,768,768,619.2,768,619.2C768,619.2,768,704,768,704C768,774.4,710.4,832,640,832C640,832,128,832,128,832C57.6,832,0,774.4,0,704C0,704,0,320,0,320C0,249.6,57.6,192,128,192C128,192,640,192,640,192C710.4,192,768,249.6,768,320C768,320,768,404.8,768,404.8C768,404.8,992,256,992,256C1009.6,256,1024,270.4,1024,288C1024,288,1024,736,1024,736C1024,753.6,1009.6,768,992,768C992,768,992,768,992,768M704,320C704,284.8,675.2,256,640,256C640,256,128,256,128,256C92.8,256,64,284.8,64,320C64,320,64,704,64,704C64,739.2,92.8,768,128,768C128,768,640,768,640,768C675.2,768,704,739.2,704,704C704,704,704,320,704,320C704,320,704,320,704,320M960,353.6C960,353.6,768,481.6,768,481.6C768,481.6,768,540.8,768,540.8C768,540.8,960,668.8,960,668.8C960,668.8,960,353.6,960,353.6C960,353.6,960,353.6,960,353.6" class="soliloquy-video"/><glyph unicode="&#x004d;" d="M800,640C800,640,800,736,800,736C800,894.4,670.4,1024,512,1024C353.6,1024,224,894.4,224,736C224,736,224,640,224,640C224,640,224,640,224,640C153.6,640,96,582.4,96,512C96,512,96,128,96,128C96,57.6,153.6,0,224,0C224,0,800,0,800,0C870.4,0,928,57.6,928,128C928,128,928,512,928,512C928,582.4,870.4,640,800,640C800,640,800,640,800,640M288,736C288,859.2,388.8,960,512,960C635.2,960,736,859.2,736,736C736,736,736,640,736,640C736,640,288,640,288,640C288,640,288,736,288,736C288,736,288,736,288,736M864,128C864,92.8,835.2,64,800,64C800,64,224,64,224,64C188.8,64,160,92.8,160,128C160,128,160,512,160,512C160,547.2,188.8,576,224,576C224,576,800,576,800,576C835.2,576,864,547.2,864,512C864,512,864,128,864,128C864,128,864,128,864,128M512,448C494.4,448,480,433.6,480,416C480,416,480,224,480,224C480,206.4,494.4,192,512,192C529.6,192,544,206.4,544,224C544,224,544,416,544,416C544,433.6,529.6,448,512,448C512,448,512,448,512,448" class="soliloquy-watermark"/><glyph unicode="&#x004e;" d="M682.667,461.267C682.667,466.244,681.067,470.333,677.867,473.533C674.667,476.733,670.578,478.333,665.6,478.333C665.6,478.333,546.133,478.333,546.133,478.333C546.133,478.333,546.133,666.067,546.133,666.067C546.133,670.689,544.444,674.689,541.067,678.067C537.689,681.444,533.689,683.133,529.067,683.133C529.067,683.133,426.667,683.133,426.667,683.133C422.044,683.133,418.044,681.444,414.667,678.067C411.289,674.689,409.6,670.689,409.6,666.067C409.6,666.067,409.6,478.333,409.6,478.333C409.6,478.333,290.133,478.333,290.133,478.333C285.511,478.333,281.511,476.644,278.133,473.267C274.756,469.889,273.067,465.889,273.067,461.267C273.067,456.289,274.667,452.2,277.867,449C277.867,449,465.6,261.267,465.6,261.267C468.8,258.067,472.889,256.467,477.867,256.467C482.844,256.467,486.933,258.067,490.133,261.267C490.133,261.267,677.333,448.467,677.333,448.467C680.889,452.733,682.667,457,682.667,461.267C682.667,461.267,682.667,461.267,682.667,461.267M1024,341.8C1024,285.267,1004,237,964,197C924,157,875.733,137,819.2,137C819.2,137,238.933,137,238.933,137C173.156,137,116.889,160.378,70.133,207.133C23.378,253.889,0,310.156,0,375.933C0,422.156,12.444,464.822,37.333,503.933C62.222,543.044,95.644,572.378,137.6,591.933C136.889,602.6,136.533,610.244,136.533,614.867C136.533,690.244,163.2,754.6,216.533,807.933C269.867,861.267,334.222,887.933,409.6,887.933C465.067,887.933,515.822,872.467,561.867,841.533C607.911,810.6,641.422,769.533,662.4,718.333C687.644,740.378,717.156,751.4,750.933,751.4C788.622,751.4,820.8,738.067,847.467,711.4C874.133,684.733,887.467,652.556,887.467,614.867C887.467,587.844,880.178,563.311,865.6,541.267C911.822,530.244,949.778,506.156,979.467,469C1009.156,431.844,1024,389.444,1024,341.8C1024,341.8,1024,341.8,1024,341.8" class="soliloquy-cloud-download"/><glyph unicode="&#x004f;" d="M0,512C0,555.333,8.5,596.75,25.5,636.25C42.5,675.75,65.25,709.75,93.75,738.25C122.25,766.75,156.25,789.5,195.75,806.5C235.25,823.5,276.667,832,320,832C320,832,704,832,704,832C747.333,832,788.75,823.5,828.25,806.5C867.75,789.5,901.75,766.75,930.25,738.25C958.75,709.75,981.5,675.75,998.5,636.25C1015.5,596.75,1024,555.333,1024,512C1024,468.667,1015.5,427.25,998.5,387.75C981.5,348.25,958.75,314.25,930.25,285.75C901.75,257.25,867.75,234.5,828.25,217.5C788.75,200.5,747.333,192,704,192C704,192,320,192,320,192C276.667,192,235.25,200.5,195.75,217.5C156.25,234.5,122.25,257.25,93.75,285.75C65.25,314.25,42.5,348.25,25.5,387.75C8.5,427.25,0,468.667,0,512C0,512,0,512,0,512M704,256C738.667,256,771.75,262.75,803.25,276.25C834.75,289.75,862,308,885,331C908,354,926.25,381.25,939.75,412.75C953.25,444.25,960,477.333,960,512C960,546.667,953.25,579.75,939.75,611.25C926.25,642.75,908,670,885,693C862,716,834.75,734.25,803.25,747.75C771.75,761.25,738.667,768,704,768C669.333,768,636.25,761.25,604.75,747.75C573.25,734.25,546,716,523,693C500,670,481.75,642.75,468.25,611.25C454.75,579.75,448,546.667,448,512C448,477.333,454.75,444.25,468.25,412.75C481.75,381.25,500,354,523,331C546,308,573.25,289.75,604.75,276.25C636.25,262.75,669.333,256,704,256C704,256,704,256,704,256" class="soliloquy-toggle-on"/><glyph unicode="&#x0050;" d="M810.667,469.333C810.667,469.333,810.667,554.667,810.667,554.667C810.667,566.222,806.445,576.222,798,584.667C789.555,593.111,779.555,597.333,768,597.333C768,597.333,597.333,597.333,597.333,597.333C597.333,597.333,597.333,768,597.333,768C597.333,779.555,593.111,789.555,584.667,798C576.222,806.445,566.222,810.667,554.667,810.667C554.667,810.667,469.333,810.667,469.333,810.667C457.778,810.667,447.778,806.445,439.333,798C430.889,789.555,426.667,779.555,426.667,768C426.667,768,426.667,597.333,426.667,597.333C426.667,597.333,256,597.333,256,597.333C244.445,597.333,234.445,593.111,226,584.667C217.555,576.222,213.333,566.222,213.333,554.667C213.333,554.667,213.333,469.333,213.333,469.333C213.333,457.778,217.555,447.778,226,439.333C234.445,430.889,244.445,426.667,256,426.667C256,426.667,426.667,426.667,426.667,426.667C426.667,426.667,426.667,256,426.667,256C426.667,244.445,430.889,234.445,439.333,226C447.778,217.555,457.778,213.333,469.333,213.333C469.333,213.333,554.667,213.333,554.667,213.333C566.222,213.333,576.222,217.555,584.667,226C593.111,234.445,597.333,244.445,597.333,256C597.333,256,597.333,426.667,597.333,426.667C597.333,426.667,768,426.667,768,426.667C779.555,426.667,789.555,430.889,798,439.333C806.445,447.778,810.667,457.778,810.667,469.333C810.667,469.333,810.667,469.333,810.667,469.333M1024,512C1024,419.111,1001.111,333.445,955.333,255C909.555,176.555,847.445,114.445,769,68.667C690.555,22.889,604.889,0,512,0C419.111,0,333.445,22.889,255,68.667C176.555,114.445,114.445,176.555,68.667,255C22.889,333.445,0,419.111,0,512C0,604.889,22.889,690.555,68.667,769C114.445,847.445,176.555,909.555,255,955.333C333.445,1001.111,419.111,1024,512,1024C604.889,1024,690.555,1001.111,769,955.333C847.445,909.555,909.555,847.445,955.333,769C1001.111,690.555,1024,604.889,1024,512C1024,512,1024,512,1024,512" class="soliloquy-plus-circle"/><glyph unicode="&#x0051;" d="M1024,736C1024,718.696,1017.672,703.689,1005.016,690.977C1005.016,690.977,557.023,242.984,557.023,242.984C544.367,230.328,529.36,224,512,224C494.64,224,479.633,230.328,466.977,242.984C466.977,242.984,18.984,690.977,18.984,690.977C6.328,703.633,0,718.64,0,736C0,753.36,6.328,768.367,18.984,781.023C31.64,793.679,46.647,800.007,64.007,800.007C64.007,800.007,959.993,800.007,959.993,800.007C977.297,800.007,992.304,793.679,1005.016,781.023C1017.728,768.367,1024.056,753.36,1024,736C1024,736,1024,736,1024,736" class="soliloquy-down-arrow"/><glyph unicode="&#x0052;" d="M292.553,274.581C292.553,274.581,292.553,164.85,292.553,164.85C292.553,149.617,287.209,136.657,276.553,126.001C265.896,115.344,252.936,110,237.703,110C237.703,110,54.85,110,54.85,110C39.617,110,26.657,115.344,16.001,126.001C5.344,136.657,0,149.617,0,164.85C0,164.85,0,274.581,0,274.581C0,289.814,5.344,302.774,16.001,313.43C26.657,324.087,39.617,329.431,54.85,329.431C54.85,329.431,237.703,329.431,237.703,329.431C252.936,329.431,265.896,324.087,276.553,313.43C287.209,302.774,292.553,289.814,292.553,274.581C292.553,274.581,292.553,274.581,292.553,274.581M292.553,567.166C292.553,567.166,292.553,457.435,292.553,457.435C292.553,442.202,287.209,429.242,276.553,418.586C265.896,407.929,252.936,402.585,237.703,402.585C237.703,402.585,54.85,402.585,54.85,402.585C39.617,402.585,26.657,407.929,16.001,418.586C5.344,429.242,0,442.202,0,457.435C0,457.435,0,567.166,0,567.166C0,582.399,5.344,595.359,16.001,606.016C26.657,616.672,39.617,622.016,54.85,622.016C54.85,622.016,237.703,622.016,237.703,622.016C252.936,622.016,265.896,616.672,276.553,606.016C287.209,595.359,292.553,582.399,292.553,567.166C292.553,567.166,292.553,567.166,292.553,567.166M1024,274.581C1024,274.581,1024,164.85,1024,164.85C1024,149.617,1018.656,136.657,1007.999,126.001C997.343,115.344,984.383,110,969.15,110C969.15,110,420.557,110,420.557,110C405.325,110,392.364,115.344,381.708,126.001C371.052,136.657,365.707,149.617,365.707,164.85C365.707,164.85,365.707,274.581,365.707,274.581C365.707,289.814,371.052,302.774,381.708,313.43C392.364,324.087,405.325,329.431,420.557,329.431C420.557,329.431,969.15,329.431,969.15,329.431C984.383,329.431,997.343,324.087,1007.999,313.43C1018.656,302.774,1024,289.814,1024,274.581C1024,274.581,1024,274.581,1024,274.581M292.553,859.751C292.553,859.751,292.553,750.02,292.553,750.02C292.553,734.788,287.209,721.827,276.553,711.171C265.896,700.514,252.936,695.17,237.703,695.17C237.703,695.17,54.85,695.17,54.85,695.17C39.617,695.17,26.657,700.514,16.001,711.171C5.344,721.827,0,734.788,0,750.02C0,750.02,0,859.751,0,859.751C0,874.984,5.344,887.944,16.001,898.601C26.657,909.257,39.617,914.601,54.85,914.601C54.85,914.601,237.703,914.601,237.703,914.601C252.936,914.601,265.896,909.257,276.553,898.601C287.209,887.944,292.553,874.984,292.553,859.751C292.553,859.751,292.553,859.751,292.553,859.751M1024,567.166C1024,567.166,1024,457.435,1024,457.435C1024,442.202,1018.656,429.242,1007.999,418.586C997.343,407.929,984.383,402.585,969.15,402.585C969.15,402.585,420.557,402.585,420.557,402.585C405.325,402.585,392.364,407.929,381.708,418.586C371.052,429.242,365.707,442.202,365.707,457.435C365.707,457.435,365.707,567.166,365.707,567.166C365.707,582.399,371.052,595.359,381.708,606.016C392.364,616.672,405.325,622.016,420.557,622.016C420.557,622.016,969.15,622.016,969.15,622.016C984.383,622.016,997.343,616.672,1007.999,606.016C1018.656,595.359,1024,582.399,1024,567.166C1024,567.166,1024,567.166,1024,567.166M1024,859.751C1024,859.751,1024,750.02,1024,750.02C1024,734.788,1018.656,721.827,1007.999,711.171C997.343,700.514,984.383,695.17,969.15,695.17C969.15,695.17,420.557,695.17,420.557,695.17C405.325,695.17,392.364,700.514,381.708,711.171C371.052,721.827,365.707,734.788,365.707,750.02C365.707,750.02,365.707,859.751,365.707,859.751C365.707,874.984,371.052,887.944,381.708,898.601C392.364,909.257,405.325,914.601,420.557,914.601C420.557,914.601,969.15,914.601,969.15,914.601C984.383,914.601,997.343,909.257,1007.999,898.601C1018.656,887.944,1024,874.984,1024,859.751C1024,859.751,1024,859.751,1024,859.751" class="soliloquy-list"/><glyph unicode="&#x0053;" d="M292.553,274.581C292.553,274.581,292.553,164.85,292.553,164.85C292.553,149.617,287.209,136.657,276.553,126.001C265.896,115.344,252.936,110,237.703,110C237.703,110,54.85,110,54.85,110C39.617,110,26.657,115.344,16.001,126.001C5.344,136.657,0,149.617,0,164.85C0,164.85,0,274.581,0,274.581C0,289.814,5.344,302.774,16.001,313.43C26.657,324.087,39.617,329.431,54.85,329.431C54.85,329.431,237.703,329.431,237.703,329.431C252.936,329.431,265.896,324.087,276.553,313.43C287.209,302.774,292.553,289.814,292.553,274.581C292.553,274.581,292.553,274.581,292.553,274.581M292.553,567.166C292.553,567.166,292.553,457.435,292.553,457.435C292.553,442.202,287.209,429.242,276.553,418.586C265.896,407.929,252.936,402.585,237.703,402.585C237.703,402.585,54.85,402.585,54.85,402.585C39.617,402.585,26.657,407.929,16.001,418.586C5.344,429.242,0,442.202,0,457.435C0,457.435,0,567.166,0,567.166C0,582.399,5.344,595.359,16.001,606.016C26.657,616.672,39.617,622.016,54.85,622.016C54.85,622.016,237.703,622.016,237.703,622.016C252.936,622.016,265.896,616.672,276.553,606.016C287.209,595.359,292.553,582.399,292.553,567.166C292.553,567.166,292.553,567.166,292.553,567.166M658.261,274.581C658.261,274.581,658.261,164.85,658.261,164.85C658.261,149.617,652.916,136.657,642.26,126.001C631.604,115.344,618.643,110,603.411,110C603.411,110,420.557,110,420.557,110C405.325,110,392.364,115.344,381.708,126.001C371.052,136.657,365.707,149.617,365.707,164.85C365.707,164.85,365.707,274.581,365.707,274.581C365.707,289.814,371.052,302.774,381.708,313.43C392.364,324.087,405.325,329.431,420.557,329.431C420.557,329.431,603.411,329.431,603.411,329.431C618.643,329.431,631.604,324.087,642.26,313.43C652.916,302.774,658.261,289.814,658.261,274.581C658.261,274.581,658.261,274.581,658.261,274.581M292.553,859.751C292.553,859.751,292.553,750.02,292.553,750.02C292.553,734.788,287.209,721.827,276.553,711.171C265.896,700.514,252.936,695.17,237.703,695.17C237.703,695.17,54.85,695.17,54.85,695.17C39.617,695.17,26.657,700.514,16.001,711.171C5.344,721.827,0,734.788,0,750.02C0,750.02,0,859.751,0,859.751C0,874.984,5.344,887.944,16.001,898.601C26.657,909.257,39.617,914.601,54.85,914.601C54.85,914.601,237.703,914.601,237.703,914.601C252.936,914.601,265.896,909.257,276.553,898.601C287.209,887.944,292.553,874.984,292.553,859.751C292.553,859.751,292.553,859.751,292.553,859.751M658.261,567.166C658.261,567.166,658.261,457.435,658.261,457.435C658.261,442.202,652.916,429.242,642.26,418.586C631.604,407.929,618.643,402.585,603.411,402.585C603.411,402.585,420.557,402.585,420.557,402.585C405.325,402.585,392.364,407.929,381.708,418.586C371.052,429.242,365.707,442.202,365.707,457.435C365.707,457.435,365.707,567.166,365.707,567.166C365.707,582.399,371.052,595.359,381.708,606.016C392.364,616.672,405.325,622.016,420.557,622.016C420.557,622.016,603.411,622.016,603.411,622.016C618.643,622.016,631.604,616.672,642.26,606.016C652.916,595.359,658.261,582.399,658.261,567.166C658.261,567.166,658.261,567.166,658.261,567.166M1024,274.581C1024,274.581,1024,164.85,1024,164.85C1024,149.617,1018.656,136.657,1007.999,126.001C997.343,115.344,984.383,110,969.15,110C969.15,110,786.297,110,786.297,110C771.064,110,758.104,115.344,747.447,126.001C736.791,136.657,731.447,149.617,731.447,164.85C731.447,164.85,731.447,274.581,731.447,274.581C731.447,289.814,736.791,302.774,747.447,313.43C758.104,324.087,771.064,329.431,786.297,329.431C786.297,329.431,969.15,329.431,969.15,329.431C984.383,329.431,997.343,324.087,1007.999,313.43C1018.656,302.774,1024,289.814,1024,274.581C1024,274.581,1024,274.581,1024,274.581M658.261,859.751C658.261,859.751,658.261,750.02,658.261,750.02C658.261,734.788,652.916,721.827,642.26,711.171C631.604,700.514,618.643,695.17,603.411,695.17C603.411,695.17,420.557,695.17,420.557,695.17C405.325,695.17,392.364,700.514,381.708,711.171C371.052,721.827,365.707,734.788,365.707,750.02C365.707,750.02,365.707,859.751,365.707,859.751C365.707,874.984,371.052,887.944,381.708,898.601C392.364,909.257,405.325,914.601,420.557,914.601C420.557,914.601,603.411,914.601,603.411,914.601C618.643,914.601,631.604,909.257,642.26,898.601C652.916,887.944,658.261,874.984,658.261,859.751C658.261,859.751,658.261,859.751,658.261,859.751M1024,567.166C1024,567.166,1024,457.435,1024,457.435C1024,442.202,1018.656,429.242,1007.999,418.586C997.343,407.929,984.383,402.585,969.15,402.585C969.15,402.585,786.297,402.585,786.297,402.585C771.064,402.585,758.104,407.929,747.447,418.586C736.791,429.242,731.447,442.202,731.447,457.435C731.447,457.435,731.447,567.166,731.447,567.166C731.447,582.399,736.791,595.359,747.447,606.016C758.104,616.672,771.064,622.016,786.297,622.016C786.297,622.016,969.15,622.016,969.15,622.016C984.383,622.016,997.343,616.672,1007.999,606.016C1018.656,595.359,1024,582.399,1024,567.166C1024,567.166,1024,567.166,1024,567.166M1024,859.751C1024,859.751,1024,750.02,1024,750.02C1024,734.788,1018.656,721.827,1007.999,711.171C997.343,700.514,984.383,695.17,969.15,695.17C969.15,695.17,786.297,695.17,786.297,695.17C771.064,695.17,758.104,700.514,747.447,711.171C736.791,721.827,731.447,734.788,731.447,750.02C731.447,750.02,731.447,859.751,731.447,859.751C731.447,874.984,736.791,887.944,747.447,898.601C758.104,909.257,771.064,914.601,786.297,914.601C786.297,914.601,969.15,914.601,969.15,914.601C984.383,914.601,997.343,909.257,1007.999,898.601C1018.656,887.944,1024,874.984,1024,859.751C1024,859.751,1024,859.751,1024,859.751" class="soliloquy-grid"/><glyph unicode="&#x0054;" d="M118.5,656.615C118.5,700.923,126.192,742.666,141.577,781.846C156.962,821.026,178.192,855.18,205.269,884.308C232.346,913.436,263.526,938.666,298.808,960C334.09,981.334,372.038,997.334,412.654,1008C453.269,1018.666,494.705,1024,536.962,1024C601.782,1024,662.09,1010.359,717.885,983.077C773.68,955.795,819.013,916.103,853.885,864C888.757,811.897,906.192,753.026,906.192,687.385C906.192,648,902.295,609.436,894.5,571.692C886.705,533.949,874.397,497.641,857.577,462.769C840.757,427.897,820.243,397.231,796.038,370.769C771.834,344.308,742.09,323.18,706.808,307.385C671.526,291.59,632.757,283.692,590.5,283.692C562.603,283.692,534.91,290.257,507.423,303.385C479.936,316.513,460.243,334.564,448.346,357.538C444.243,341.538,438.5,318.462,431.115,288.308C423.731,258.154,418.91,238.666,416.654,229.846C414.397,221.026,410.192,206.462,404.038,186.154C397.885,165.846,392.551,151.282,388.038,142.462C383.526,133.641,376.962,120.82,368.346,104C359.731,87.18,350.295,71.282,340.038,56.308C329.782,41.334,317.064,23.59,301.885,3.077C301.885,3.077,293.269,0,293.269,0C293.269,0,287.731,6.154,287.731,6.154C281.577,70.564,278.5,109.128,278.5,121.846C278.5,159.59,282.91,201.949,291.731,248.923C300.551,295.897,314.192,354.872,332.654,425.846C351.115,496.82,361.782,538.462,364.654,550.769C351.526,577.436,344.962,612.103,344.962,654.769C344.962,688.82,355.628,720.82,376.962,750.769C398.295,780.718,425.372,795.692,458.192,795.692C483.218,795.692,502.705,787.385,516.654,770.769C530.603,754.154,537.577,733.128,537.577,707.692C537.577,680.615,528.551,641.436,510.5,590.154C492.449,538.872,483.423,500.513,483.423,475.077C483.423,449.231,492.654,427.795,511.115,410.769C529.577,393.743,551.936,385.231,578.192,385.231C600.757,385.231,621.68,390.359,640.962,400.615C660.243,410.872,676.346,424.82,689.269,442.462C702.192,460.103,713.68,479.59,723.731,500.923C733.782,522.257,741.577,544.923,747.115,568.923C752.654,592.923,756.757,615.692,759.423,637.231C762.09,658.769,763.423,679.18,763.423,698.462C763.423,769.436,740.962,824.718,696.038,864.308C651.115,903.897,592.551,923.692,520.346,923.692C438.295,923.692,369.782,897.128,314.808,844C259.834,790.872,232.346,723.487,232.346,641.846C232.346,623.795,234.91,606.359,240.038,589.538C245.166,572.718,250.705,559.385,256.654,549.538C262.603,539.692,268.141,530.359,273.269,521.538C278.397,512.718,280.962,506.462,280.962,502.769C280.962,491.282,277.885,476.308,271.731,457.846C265.577,439.385,257.987,430.154,248.962,430.154C248.141,430.154,244.654,430.769,238.5,432C217.577,438.154,199.013,449.641,182.808,466.462C166.603,483.282,154.09,502.666,145.269,524.615C136.449,546.564,129.782,568.718,125.269,591.077C120.757,613.436,118.5,635.282,118.5,656.615C118.5,656.615,118.5,656.615,118.5,656.615" class="soliloquy-pinterest-p"/><glyph unicode="&#x0055;" d="M245.354,86.516C245.354,86.516,306.862,148.024,306.862,148.024C306.862,148.024,148.024,306.862,148.024,306.862C148.024,306.862,86.516,245.354,86.516,245.354C86.516,245.354,86.516,173.032,86.516,173.032C86.516,173.032,173.032,173.032,173.032,173.032C173.032,173.032,173.032,86.516,173.032,86.516C173.032,86.516,245.354,86.516,245.354,86.516C245.354,86.516,245.354,86.516,245.354,86.516M598.854,713.758C598.854,723.672,593.898,728.628,583.984,728.628C579.478,728.628,575.648,727.051,572.494,723.897C572.494,723.897,206.152,357.555,206.152,357.555C202.997,354.401,201.42,350.571,201.42,346.065C201.42,336.151,206.377,331.195,216.29,331.195C220.797,331.195,224.626,332.772,227.781,335.926C227.781,335.926,594.123,702.268,594.123,702.268C597.277,705.422,598.854,709.252,598.854,713.758C598.854,713.758,598.854,713.758,598.854,713.758M562.355,843.533C562.355,843.533,843.533,562.355,843.533,562.355C843.533,562.355,281.178,0,281.178,0C281.178,0,0,0,0,0C0,0,0,281.178,0,281.178C0,281.178,562.355,843.533,562.355,843.533M1024,778.646C1024,754.764,1015.664,734.486,998.991,717.814C998.991,717.814,886.791,605.613,886.791,605.613C886.791,605.613,605.613,886.791,605.613,886.791C605.613,886.791,717.814,998.316,717.814,998.316C734.036,1015.438,754.313,1024,778.646,1024C802.527,1024,823.03,1015.438,840.153,998.316C840.153,998.316,998.991,840.153,998.991,840.153C1015.664,822.58,1024,802.077,1024,778.646C1024,778.646,1024,778.646,1024,778.646" class="soliloquy-pencil"/><glyph unicode="&#x0056;" d="M1024,199.973C1024,176.987,1015.955,157.45,999.865,141.36C999.865,141.36,882.64,24.135,882.64,24.135C866.55,8.045,847.013,0,824.027,0C801.041,0,781.504,8.045,765.414,24.135C765.414,24.135,512,277.549,512,277.549C512,277.549,258.586,24.135,258.586,24.135C242.496,8.045,222.959,0,199.973,0C176.987,0,157.45,8.045,141.36,24.135C141.36,24.135,24.135,141.36,24.135,141.36C8.045,157.45,0,176.987,0,199.973C0,222.959,8.045,242.496,24.135,258.586C24.135,258.586,277.549,512,277.549,512C277.549,512,24.135,765.414,24.135,765.414C8.045,781.504,0,801.041,0,824.027C0,847.013,8.045,866.55,24.135,882.64C24.135,882.64,141.36,999.865,141.36,999.865C157.45,1015.955,176.987,1024,199.973,1024C222.959,1024,242.496,1015.955,258.586,999.865C258.586,999.865,512,746.451,512,746.451C512,746.451,765.414,999.865,765.414,999.865C781.504,1015.955,801.041,1024,824.027,1024C847.013,1024,866.55,1015.955,882.64,999.865C882.64,999.865,999.865,882.64,999.865,882.64C1015.955,866.55,1024,847.013,1024,824.027C1024,801.041,1015.955,781.504,999.865,765.414C999.865,765.414,746.451,512,746.451,512C746.451,512,999.865,258.586,999.865,258.586C1015.955,242.496,1024,222.959,1024,199.973C1024,199.973,1024,199.973,1024,199.973" class="soliloquy-close"/><glyph unicode="&#x0057;" d="M1024,751.577C1024,733.959,1017.834,718.985,1005.502,706.653C1005.502,706.653,527.195,228.346,527.195,228.346C527.195,228.346,437.347,138.498,437.347,138.498C425.015,126.166,410.041,120,392.423,120C374.806,120,359.832,126.166,347.499,138.498C347.499,138.498,257.652,228.346,257.652,228.346C257.652,228.346,18.498,467.499,18.498,467.499C6.166,479.832,0,494.806,0,512.423C0,530.041,6.166,545.015,18.498,557.347C18.498,557.347,108.346,647.195,108.346,647.195C120.678,659.527,135.652,665.693,153.27,665.693C170.887,665.693,185.861,659.527,198.194,647.195C198.194,647.195,392.423,452.305,392.423,452.305C392.423,452.305,825.806,886.348,825.806,886.348C838.139,898.681,853.113,904.846,870.73,904.846C888.348,904.846,903.322,898.681,915.654,886.348C915.654,886.348,1005.502,796.501,1005.502,796.501C1017.834,784.168,1024,769.194,1024,751.577C1024,751.577,1024,751.577,1024,751.577" class="soliloquy-check"/></font></defs></svg>
assets/fonts/envira.ttf ADDED
Binary file
assets/fonts/envira.woff ADDED
Binary file
assets/images/placeholders/asset-thumbnail.png ADDED
Binary file
assets/images/types/fc.png ADDED
Binary file
assets/images/types/instagram.png ADDED
Binary file
assets/js/addons.js ADDED
@@ -0,0 +1,382 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* ==========================================================
2
+ * addons.js
3
+ * http://enviragallery.com/
4
+ * ==========================================================
5
+ * Copyright 2016 David Bisset.
6
+ *
7
+ * Licensed under the GPL License, Version 2.0 or later (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.gnu.org/licenses/gpl-2.0.html
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ * ========================================================== */
19
+ ;(function($){
20
+ $(function(){
21
+
22
+ // Addons Search
23
+ var addon_search_timeout;
24
+ $( 'form#add-on-search input#add-on-searchbox' ).on( 'keyup', function() {
25
+
26
+ // Clear timeout
27
+ clearTimeout( addon_search_timeout );
28
+
29
+ // Get the search input, heading, results and cancel elements
30
+ var search = $( this ),
31
+ search_terms = $( search ).val().toLowerCase(),
32
+ search_heading = $( search ).data( 'heading' ),
33
+ search_results = $( search ).data( 'results' ),
34
+ search_cancel = $( search ).data( 'cancel' );
35
+
36
+ // Show the Spinner
37
+ $( 'form#add-on-search .spinner' ).css( 'visibility', 'visible' );
38
+
39
+ // If the search terms is less than 3 characters, show all Addons
40
+ if ( search_terms.length < 3 ) {
41
+ $( 'div.envira-addon' ).fadeIn( 'fast', function() {
42
+ // Hide the Spinner
43
+ $( 'form#add-on-search .spinner' ).css( 'visibility', 'hidden' );
44
+ } );
45
+ return;
46
+ }
47
+
48
+ // Iterate through the Addons, showing or hiding them depending on whether they
49
+ // match the given search terms.
50
+ $( 'div.envira-addon' ).each( function() {
51
+ if ( $( 'h3.envira-addon-title', $( this ) ).text().toLowerCase().search( search_terms ) >= 0 ) {
52
+ // This Addon's title does match the search terms
53
+ // Show
54
+ $( this ).fadeIn();
55
+ } else {
56
+ // This Addon's title does not match the search terms
57
+ // Hide
58
+ $( this ).fadeOut();
59
+ }
60
+ } );
61
+
62
+ // Hide the Spinner
63
+ $( 'form#add-on-search .spinner' ).css( 'visibility', 'hidden' );
64
+
65
+ } );
66
+
67
+ // Addons Sorting
68
+ var envira_addons_licensed_sorting = new List( 'envira-addons-licensed', {
69
+ valueNames: [ 'envira-addon-title' ]
70
+ } );
71
+ var envira_addons_unlicensed_sorting = new List( 'envira-addons-unlicensed', {
72
+ valueNames: [ 'envira-addon-title' ]
73
+ } );
74
+ $( 'select#envira-filter-select' ).on( 'change', function() {
75
+ if ( typeof envira_addons_licensed_sorting.sort !== 'undefined' ) {
76
+ envira_addons_licensed_sorting.sort( 'envira-addon-title', {
77
+ order: $( this ).val(),
78
+ } );
79
+ }
80
+ if ( typeof envira_addons_unlicensed_sorting.sort !== 'undefined' ) {
81
+ envira_addons_unlicensed_sorting.sort( 'envira-addon-title', {
82
+ order: $( this ).val(),
83
+ } );
84
+ }
85
+ } );
86
+
87
+ // Re-enable install button if user clicks on it, needs creds but tries to install another addon instead.
88
+ $('#envira-addons').on('click.refreshInstallAddon', '.envira-addon-action-button', function(e) {
89
+ var el = $(this);
90
+ var buttons = $('#envira-addons').find('.envira-addon-action-button');
91
+ $.each(buttons, function(i, element) {
92
+ if ( el == element )
93
+ return true;
94
+
95
+ enviraAddonRefresh(element);
96
+ });
97
+ });
98
+
99
+ // Activate Addon
100
+ $('#envira-addons').on('click.activateAddon', '.envira-activate-addon', function(e) {
101
+ e.preventDefault();
102
+ var $this = $(this);
103
+
104
+ // Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.
105
+ $('.envira-addon-error').remove();
106
+ $(this).html('<i class="envira-toggle-on"></i> ' + envira_gallery_addons.activating);
107
+ $(this).next().css({'display' : 'inline-block', 'margin-top' : '0px'});
108
+ var button = $(this);
109
+ var plugin = $(this).attr('rel');
110
+ var el = $(this).parent().parent();
111
+ var message = $(this).parent().parent().find('.addon-status');
112
+
113
+ // Process the Ajax to perform the activation.
114
+ var opts = {
115
+ url: ajaxurl,
116
+ type: 'post',
117
+ async: true,
118
+ cache: false,
119
+ dataType: 'json',
120
+ data: {
121
+ action: 'envira_gallery_activate_addon',
122
+ nonce: envira_gallery_addons.activate_nonce,
123
+ plugin: plugin
124
+ },
125
+ success: function(response) {
126
+ // If there is a WP Error instance, output it here and quit the script.
127
+ if ( response && true !== response ) {
128
+ $(el).slideDown('normal', function() {
129
+ $(this).after('<div class="envira-addon-error"><strong>' + response.error + '</strong></div>');
130
+ $this.next().hide();
131
+ $('.envira-addon-error').delay(3000).slideUp();
132
+ });
133
+ return;
134
+ }
135
+
136
+ // The Ajax request was successful, so let's update the output.
137
+ $(button).html('<i class="envira-toggle-on"></i> ' + envira_gallery_addons.deactivate).removeClass('envira-activate-addon').addClass('envira-deactivate-addon');
138
+ $(message).text(envira_gallery_addons.active);
139
+ // Trick here to wrap a span around he last word of the status
140
+ var heading = $(message), word_array, last_word, first_part;
141
+
142
+ word_array = heading.html().split(/\s+/); // split on spaces
143
+ last_word = word_array.pop(); // pop the last word
144
+ first_part = word_array.join(' '); // rejoin the first words together
145
+
146
+ heading.html([first_part, ' <span>', last_word, '</span>'].join(''));
147
+ // Proceed with CSS changes
148
+ $(el).removeClass('envira-addon-inactive').addClass('envira-addon-active');
149
+ $this.next().hide();
150
+ },
151
+ error: function(xhr, textStatus ,e) {
152
+ $this.next().hide();
153
+ return;
154
+ }
155
+ }
156
+ $.ajax(opts);
157
+ });
158
+
159
+ // Deactivate Addon
160
+ $('#envira-addons').on('click.deactivateAddon', '.envira-deactivate-addon', function(e) {
161
+ e.preventDefault();
162
+ var $this = $(this);
163
+
164
+ // Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.
165
+ $('.envira-addon-error').remove();
166
+ $(this).html('<i class="envira-toggle-on"></i> ' + envira_gallery_addons.deactivating);
167
+ $(this).next().css({'display' : 'inline-block', 'margin-top' : '0px'});
168
+ var button = $(this);
169
+ var plugin = $(this).attr('rel');
170
+ var el = $(this).parent().parent();
171
+ var message = $(this).parent().parent().find('.addon-status');
172
+
173
+ // Process the Ajax to perform the activation.
174
+ var opts = {
175
+ url: ajaxurl,
176
+ type: 'post',
177
+ async: true,
178
+ cache: false,
179
+ dataType: 'json',
180
+ data: {
181
+ action: 'envira_gallery_deactivate_addon',
182
+ nonce: envira_gallery_addons.deactivate_nonce,
183
+ plugin: plugin
184
+ },
185
+ success: function(response) {
186
+ // If there is a WP Error instance, output it here and quit the script.
187
+ if ( response && true !== response ) {
188
+ $(el).slideDown('normal', function() {
189
+ $(this).after('<div class="envira-addon-error"><strong>' + response.error + '</strong></div>');
190
+ $this.next().hide();
191
+ $('.envira-addon-error').delay(3000).slideUp();
192
+ });
193
+ return;
194
+ }
195
+
196
+ // The Ajax request was successful, so let's update the output.
197
+ $(button).html('<i class="envira-toggle-on"></i> ' + envira_gallery_addons.activate).removeClass('envira-deactivate-addon').addClass('envira-activate-addon');
198
+ $(message).text(envira_gallery_addons.inactive);
199
+ // Trick here to wrap a span around he last word of the status
200
+ var heading = $(message), word_array, last_word, first_part;
201
+
202
+ word_array = heading.html().split(/\s+/); // split on spaces
203
+ last_word = word_array.pop(); // pop the last word
204
+ first_part = word_array.join(' '); // rejoin the first words together
205
+
206
+ heading.html([first_part, ' <span>', last_word, '</span>'].join(''));
207
+ // Proceed with CSS changes
208
+ $(el).removeClass('envira-addon-active').addClass('envira-addon-inactive');
209
+ $this.next().hide();
210
+ },
211
+ error: function(xhr, textStatus ,e) {
212
+ $this.next().hide();
213
+ return;
214
+ }
215
+ }
216
+ $.ajax(opts);
217
+ });
218
+
219
+ // Install Addon
220
+ $('#envira-addons').on('click.installAddon', '.envira-install-addon', function(e) {
221
+ e.preventDefault();
222
+ var $this = $(this);
223
+
224
+ // Remove any leftover error messages, output an icon and get the plugin basename that needs to be activated.
225
+ $('.envira-addon-error').remove();
226
+ $(this).html('<i class="envira-cloud-download"></i> ' + envira_gallery_addons.installing);
227
+ $(this).next().css({'display' : 'inline-block', 'margin-top' : '0px'});
228
+ var button = $(this);
229
+ var plugin = $(this).attr('rel');
230
+ var el = $(this).parent().parent();
231
+ var message = $(this).parent().parent().find('.addon-status');
232
+
233
+ // Process the Ajax to perform the activation.
234
+ var opts = {
235
+ url: ajaxurl,
236
+ type: 'post',
237
+ async: true,
238
+ cache: false,
239
+ dataType: 'json',
240
+ data: {
241
+ action: 'envira_gallery_install_addon',
242
+ nonce: envira_gallery_addons.install_nonce,
243
+ plugin: plugin
244
+ },
245
+ success: function(response) {
246
+ // If there is a WP Error instance, output it here and quit the script.
247
+ if ( response.error ) {
248
+ $(el).slideDown('normal', function() {
249
+ $(button).parent().parent().after('<div class="envira-addon-error"><div class="xinterior"><p><strong>' + response.error + '</strong></p></div></div>');
250
+ $(button).html('<i class="envira-cloud-download"></i> ' + envira_gallery_addons.install);
251
+ $this.next().hide();
252
+ $('.envira-addon-error').delay(4000).slideUp();
253
+ });
254
+ return;
255
+ }
256
+
257
+ // If we need more credentials, output the form sent back to us.
258
+ if ( response.form ) {
259
+ // Display the form to gather the users credentials.
260
+ $(el).slideDown('normal', function() {
261
+ $(this).after('<div class="envira-addon-error">' + response.form + '</div>');
262
+ $this.next().hide();
263
+ });
264
+
265
+ // Add a disabled attribute the install button if the creds are needed.
266
+ $(button).attr('disabled', true);
267
+
268
+ $('#envira-addons').on('click.installCredsAddon', '#upgrade', function(e) {
269
+ // Prevent the default action, let the user know we are attempting to install again and go with it.
270
+ e.preventDefault();
271
+ $this.next().hide();
272
+ $(this).html('<i class="envira-cloud-download"></i> ' + envira_gallery_addons.installing);
273
+ $(this).next().css({'display' : 'inline-block', 'margin-top' : '0px'});
274
+
275
+ // Now let's make another Ajax request once the user has submitted their credentials.
276
+ var hostname = $(this).parent().parent().find('#hostname').val();
277
+ var username = $(this).parent().parent().find('#username').val();
278
+ var password = $(this).parent().parent().find('#password').val();
279
+ var proceed = $(this);
280
+ var connect = $(this).parent().parent().parent().parent();
281
+ var cred_opts = {
282
+ url: ajaxurl,
283
+ type: 'post',
284
+ async: true,
285
+ cache: false,
286
+ dataType: 'json',
287
+ data: {
288
+ action: 'envira_gallery_install_addon',
289
+ nonce: envira_gallery_addons.install_nonce,
290
+ plugin: plugin,
291
+ hostname: hostname,
292
+ username: username,
293
+ password: password
294
+ },
295
+ success: function(response) {
296
+ // If there is a WP Error instance, output it here and quit the script.
297
+ if ( response.error ) {
298
+ $(el).slideDown('normal', function() {
299
+ $(button).parent().parent().after('<div class="envira-addon-error"><strong>' + response.error + '</strong></div>');
300
+ $(button).html('<i class="envira-cloud-download"></i> ' + envira_gallery_addons.install);
301
+ $this.next().hide();
302
+ $('.envira-addon-error').delay(4000).slideUp();
303
+ });
304
+ return;
305
+ }
306
+
307
+ if ( response.form ) {
308
+ $this.next().hide();
309
+ $('.envira-inline-error').remove();
310
+ $(proceed).val(envira_gallery_addons.proceed);
311
+ $(proceed).after('<span class="envira-inline-error">' + envira_gallery_addons.connect_error + '</span>');
312
+ return;
313
+ }
314
+
315
+ // The Ajax request was successful, so let's update the output.
316
+ $(connect).remove();
317
+ $(button).show();
318
+ $(button).text(envira_gallery_addons.activate).removeClass('envira-install-addon').addClass('envira-activate-addon');
319
+ $(button).attr('rel', response.plugin);
320
+ $(button).removeAttr('disabled');
321
+ $(message).text(envira_gallery_addons.inactive);
322
+ // Trick here to wrap a span around he last word of the status
323
+ var heading = $(message), word_array, last_word, first_part;
324
+
325
+ word_array = heading.html().split(/\s+/); // split on spaces
326
+ last_word = word_array.pop(); // pop the last word
327
+ first_part = word_array.join(' '); // rejoin the first words together
328
+
329
+ heading.html([first_part, ' <span>', last_word, '</span>'].join(''));
330
+ // Proceed with CSS changes
331
+ $(el).removeClass('envira-addon-not-installed').addClass('envira-addon-inactive');
332
+ $this.next().hide();
333
+ },
334
+ error: function(xhr, textStatus ,e) {
335
+ $this.next().hide();
336
+ return;
337
+ }
338
+ }
339
+ $.ajax(cred_opts);
340
+ });
341
+
342
+ // No need to move further if we need to enter our creds.
343
+ return;
344
+ }
345
+
346
+ // The Ajax request was successful, so let's update the output.
347
+ $(button).html('<i class="envira-toggle-on"></i> ' + envira_gallery_addons.activate).removeClass('envira-install-addon').addClass('envira-activate-addon');
348
+ $(button).attr('rel', response.plugin);
349
+ $(message).text(envira_gallery_addons.inactive);
350
+ // Trick here to wrap a span around he last word of the status
351
+ var heading = $(message), word_array, last_word, first_part;
352
+
353
+ word_array = heading.html().split(/\s+/); // split on spaces
354
+ last_word = word_array.pop(); // pop the last word
355
+ first_part = word_array.join(' '); // rejoin the first words together
356
+
357
+ heading.html([first_part, ' <span>', last_word, '</span>'].join(''));
358
+ // Proceed with CSS changes
359
+ $(el).removeClass('envira-addon-not-installed').addClass('envira-addon-inactive');
360
+ $this.next().hide();
361
+ },
362
+ error: function(xhr, textStatus ,e) {
363
+ $this.next().hide();
364
+ return;
365
+ }
366
+ }
367
+ $.ajax(opts);
368
+ });
369
+
370
+ // Function to clear any disabled buttons and extra text if the user needs to add creds but instead tries to install a different addon.
371
+ function enviraAddonRefresh(element) {
372
+ if ( $(element).attr('disabled') )
373
+ $(element).removeAttr('disabled');
374
+
375
+ if ( $(element).parent().parent().hasClass('envira-addon-not-installed') )
376
+ $(element).text(envira_gallery_addons.install);
377
+ }
378
+
379
+
380
+
381
+ });
382
+ }(jQuery));
assets/js/lib/imagesloaded.js CHANGED
@@ -1,5 +1,5 @@
1
- /*!
2
- * imagesLoaded PACKAGED v4.1.0
3
  * JavaScript is all like "You images are done yet or what?"
4
  * MIT License
5
  */
@@ -115,7 +115,7 @@ return EvEmitter;
115
  }));
116
 
117
  /*!
118
- * imagesLoaded v4.1.0
119
  * JavaScript is all like "You images are done yet or what?"
120
  * MIT License
121
  */
@@ -140,7 +140,7 @@ return EvEmitter;
140
  );
141
  } else {
142
  // browser global
143
- window.imagesLoaded = factory(
144
  window,
145
  window.EvEmitter
146
  );
@@ -185,17 +185,17 @@ function makeArray( obj ) {
185
  return ary;
186
  }
187
 
188
- // -------------------------- imagesLoaded -------------------------- //
189
 
190
  /**
191
  * @param {Array, Element, NodeList, String} elem
192
  * @param {Object or Function} options - if function, use as callback
193
  * @param {Function} onAlways - callback function
194
  */
195
- function ImagesLoaded( elem, options, onAlways ) {
196
- // coerce ImagesLoaded() without new, to be new ImagesLoaded()
197
- if ( !( this instanceof ImagesLoaded ) ) {
198
- return new ImagesLoaded( elem, options, onAlways );
199
  }
200
  // use elem as selector string
201
  if ( typeof elem == 'string' ) {
@@ -228,11 +228,11 @@ function ImagesLoaded( elem, options, onAlways ) {
228
  }.bind( this ));
229
  }
230
 
231
- ImagesLoaded.prototype = Object.create( EvEmitter.prototype );
232
 
233
- ImagesLoaded.prototype.options = {};
234
 
235
- ImagesLoaded.prototype.getImages = function() {
236
  this.images = [];
237
 
238
  // filter & find items if we have an item selector
@@ -242,7 +242,7 @@ ImagesLoaded.prototype.getImages = function() {
242
  /**
243
  * @param {Node} element
244
  */
245
- ImagesLoaded.prototype.addElementImages = function( elem ) {
246
  // filter siblings
247
  if ( elem.nodeName == 'IMG' ) {
248
  this.addImage( elem );
@@ -281,7 +281,7 @@ var elementNodeTypes = {
281
  11: true
282
  };
283
 
284
- ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {
285
  var style = getComputedStyle( elem );
286
  if ( !style ) {
287
  // Firefox returns null if in a hidden iframe https://bugzil.la/548397
@@ -302,17 +302,17 @@ ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {
302
  /**
303
  * @param {Image} img
304
  */
305
- ImagesLoaded.prototype.addImage = function( img ) {
306
  var loadingImage = new LoadingImage( img );
307
  this.images.push( loadingImage );
308
  };
309
 
310
- ImagesLoaded.prototype.addBackground = function( url, elem ) {
311
  var background = new Background( url, elem );
312
  this.images.push( background );
313
  };
314
 
315
- ImagesLoaded.prototype.check = function() {
316
  var _this = this;
317
  this.progressedCount = 0;
318
  this.hasAnyBroken = false;
@@ -335,7 +335,7 @@ ImagesLoaded.prototype.check = function() {
335
  });
336
  };
337
 
338
- ImagesLoaded.prototype.progress = function( image, elem, message ) {
339
  this.progressedCount++;
340
  this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;
341
  // progress event
@@ -353,7 +353,7 @@ ImagesLoaded.prototype.progress = function( image, elem, message ) {
353
  }
354
  };
355
 
356
- ImagesLoaded.prototype.complete = function() {
357
  var eventName = this.hasAnyBroken ? 'fail' : 'done';
358
  this.isComplete = true;
359
  this.emitEvent( eventName, [ this ] );
@@ -463,24 +463,24 @@ Background.prototype.confirm = function( isLoaded, message ) {
463
 
464
  // -------------------------- jQuery -------------------------- //
465
 
466
- ImagesLoaded.makeJQueryPlugin = function( jQuery ) {
467
  jQuery = jQuery || window.jQuery;
468
  if ( !jQuery ) {
469
  return;
470
  }
471
  // set local variable
472
  $ = jQuery;
473
- // $().imagesLoaded()
474
- $.fn.imagesLoaded = function( options, callback ) {
475
- var instance = new ImagesLoaded( this, options, callback );
476
  return instance.jqDeferred.promise( $(this) );
477
  };
478
  };
479
  // try making plugin
480
- ImagesLoaded.makeJQueryPlugin();
481
 
482
  // -------------------------- -------------------------- //
483
 
484
- return ImagesLoaded;
485
 
486
  });
1
+ /**
2
+ * enviraImagesLoaded PACKAGED v4.1.0
3
  * JavaScript is all like "You images are done yet or what?"
4
  * MIT License
5
  */
115
  }));
116
 
117
  /*!
118
+ * enviraImagesLoaded v4.1.0
119
  * JavaScript is all like "You images are done yet or what?"
120
  * MIT License
121
  */
140
  );
141
  } else {
142
  // browser global
143
+ window.enviraImagesLoaded = factory(
144
  window,
145
  window.EvEmitter
146
  );
185
  return ary;
186
  }
187
 
188
+ // -------------------------- enviraImagesLoaded -------------------------- //
189
 
190
  /**
191
  * @param {Array, Element, NodeList, String} elem
192
  * @param {Object or Function} options - if function, use as callback
193
  * @param {Function} onAlways - callback function
194
  */
195
+ function EnviraImagesLoaded( elem, options, onAlways ) {
196
+ // coerce EnviraImagesLoaded() without new, to be new EnviraImagesLoaded()
197
+ if ( !( this instanceof EnviraImagesLoaded ) ) {
198
+ return new EnviraImagesLoaded( elem, options, onAlways );
199
  }
200
  // use elem as selector string
201
  if ( typeof elem == 'string' ) {
228
  }.bind( this ));
229
  }
230
 
231
+ EnviraImagesLoaded.prototype = Object.create( EvEmitter.prototype );
232
 
233
+ EnviraImagesLoaded.prototype.options = {};
234
 
235
+ EnviraImagesLoaded.prototype.getImages = function() {
236
  this.images = [];
237
 
238
  // filter & find items if we have an item selector
242
  /**
243
  * @param {Node} element
244
  */
245
+ EnviraImagesLoaded.prototype.addElementImages = function( elem ) {
246
  // filter siblings
247
  if ( elem.nodeName == 'IMG' ) {
248
  this.addImage( elem );
281
  11: true
282
  };
283
 
284
+ EnviraImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {
285
  var style = getComputedStyle( elem );
286
  if ( !style ) {
287
  // Firefox returns null if in a hidden iframe https://bugzil.la/548397
302
  /**
303
  * @param {Image} img
304
  */
305
+ EnviraImagesLoaded.prototype.addImage = function( img ) {
306
  var loadingImage = new LoadingImage( img );
307
  this.images.push( loadingImage );
308
  };
309
 
310
+ EnviraImagesLoaded.prototype.addBackground = function( url, elem ) {
311
  var background = new Background( url, elem );
312
  this.images.push( background );
313
  };
314
 
315
+ EnviraImagesLoaded.prototype.check = function() {
316
  var _this = this;
317
  this.progressedCount = 0;
318
  this.hasAnyBroken = false;
335
  });
336
  };
337
 
338
+ EnviraImagesLoaded.prototype.progress = function( image, elem, message ) {
339
  this.progressedCount++;
340
  this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;
341
  // progress event
353
  }
354
  };
355
 
356
+ EnviraImagesLoaded.prototype.complete = function() {
357
  var eventName = this.hasAnyBroken ? 'fail' : 'done';
358
  this.isComplete = true;
359
  this.emitEvent( eventName, [ this ] );
463
 
464
  // -------------------------- jQuery -------------------------- //
465
 
466
+ EnviraImagesLoaded.makeJQueryPlugin = function( jQuery ) {
467
  jQuery = jQuery || window.jQuery;
468
  if ( !jQuery ) {
469
  return;
470
  }
471
  // set local variable
472
  $ = jQuery;
473
+ // $().enviraImagesLoaded()
474
+ $.fn.enviraImagesLoaded = function( options, callback ) {
475
+ var instance = new EnviraImagesLoaded( this, options, callback );
476
  return instance.jqDeferred.promise( $(this) );
477
  };
478
  };
479
  // try making plugin
480
+ EnviraImagesLoaded.makeJQueryPlugin();
481
 
482
  // -------------------------- -------------------------- //
483
 
484
+ return EnviraImagesLoaded;
485
 
486
  });
assets/js/list.js ADDED
@@ -0,0 +1,1258 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
2
+ /*
3
+ List.js 1.1.1
4
+ By Jonny Strömberg (www.jonnystromberg.com, www.listjs.com)
5
+ */
6
+ (function( window, undefined ) {
7
+ "use strict";
8
+
9
+ var document = window.document,
10
+ getByClass = require('./src/utils/get-by-class'),
11
+ extend = require('./src/utils/extend'),
12
+ indexOf = require('./src/utils/index-of'),
13
+ events = require('./src/utils/events'),
14
+ toString = require('./src/utils/to-string'),
15
+ naturalSort = require('./src/utils/natural-sort'),
16
+ classes = require('./src/utils/classes'),
17
+ getAttribute = require('./src/utils/get-attribute'),
18
+ toArray = require('./src/utils/to-array');
19
+
20
+ var List = function(id, options, values) {
21
+
22
+ var self = this,
23
+ init,
24
+ Item = require('./src/item')(self),
25
+ addAsync = require('./src/add-async')(self);
26
+
27
+ init = {
28
+ start: function() {
29
+ self.listClass = "list";
30
+ self.searchClass = "search";
31
+ self.sortClass = "sort";
32
+ self.page = 10000;
33
+ self.i = 1;
34
+ self.items = [];
35
+ self.visibleItems = [];
36
+ self.matchingItems = [];
37
+ self.searched = false;
38
+ self.filtered = false;
39
+ self.searchColumns = undefined;
40
+ self.handlers = { 'updated': [] };
41
+ self.plugins = {};
42
+ self.valueNames = [];
43
+ self.utils = {
44
+ getByClass: getByClass,
45
+ extend: extend,
46
+ indexOf: indexOf,
47
+ events: events,
48
+ toString: toString,
49
+ naturalSort: naturalSort,
50
+ classes: classes,
51
+ getAttribute: getAttribute,
52
+ toArray: toArray
53
+ };
54
+
55
+ self.utils.extend(self, options);
56
+
57
+ self.listContainer = (typeof(id) === 'string') ? document.getElementById(id) : id;
58
+ if (!self.listContainer) { return; }
59
+ self.list = getByClass(self.listContainer, self.listClass, true);
60
+
61
+ self.parse = require('./src/parse')(self);
62
+ self.templater = require('./src/templater')(self);
63
+ self.search = require('./src/search')(self);
64
+ self.filter = require('./src/filter')(self);
65
+ self.sort = require('./src/sort')(self);
66
+
67
+ this.handlers();
68
+ this.items();
69
+ self.update();
70
+ this.plugins();
71
+ },
72
+ handlers: function() {
73
+ for (var handler in self.handlers) {
74
+ if (self[handler]) {
75
+ self.on(handler, self[handler]);
76
+ }
77
+ }
78
+ },
79
+ items: function() {
80
+ self.parse(self.list);
81
+ if (values !== undefined) {
82
+ self.add(values);
83
+ }
84
+ },
85
+ plugins: function() {
86
+ for (var i = 0; i < self.plugins.length; i++) {
87
+ var plugin = self.plugins[i];
88
+ self[plugin.name] = plugin;
89
+ plugin.init(self, List);
90
+ }
91
+ }
92
+ };
93
+
94
+ /*
95
+ * Re-parse the List, use if html have changed
96
+ */
97
+ this.reIndex = function() {
98
+ self.items = [];
99
+ self.visibleItems = [];
100
+ self.matchingItems = [];
101
+ self.searched = false;
102
+ self.filtered = false;
103
+ self.parse(self.list);
104
+ };
105
+
106
+ this.toJSON = function() {
107
+ var json = [];
108
+ for (var i = 0, il = self.items.length; i < il; i++) {
109
+ json.push(self.items[i].values());
110
+ }
111
+ return json;
112
+ };
113
+
114
+
115
+ /*
116
+ * Add object to list
117
+ */
118
+ this.add = function(values, callback) {
119
+ if (values.length === 0) {
120
+ return;
121
+ }
122
+ if (callback) {
123
+ addAsync(values, callback);
124
+ return;
125
+ }
126
+ var added = [],
127
+ notCreate = false;
128
+ if (values[0] === undefined){
129
+ values = [values];
130
+ }
131
+ for (var i = 0, il = values.length; i < il; i++) {
132
+ var item = null;
133
+ notCreate = (self.items.length > self.page) ? true : false;
134
+ item = new Item(values[i], undefined, notCreate);
135
+ self.items.push(item);
136
+ added.push(item);
137
+ }
138
+ self.update();
139
+ return added;
140
+ };
141
+
142
+ this.show = function(i, page) {
143
+ this.i = i;
144
+ this.page = page;
145
+ self.update();
146
+ return self;
147
+ };
148
+
149
+ /* Removes object from list.
150
+ * Loops through the list and removes objects where
151
+ * property "valuename" === value
152
+ */
153
+ this.remove = function(valueName, value, options) {
154
+ var found = 0;
155
+ for (var i = 0, il = self.items.length; i < il; i++) {
156
+ if (self.items[i].values()[valueName] == value) {
157
+ self.templater.remove(self.items[i], options);
158
+ self.items.splice(i,1);
159
+ il--;
160
+ i--;
161
+ found++;
162
+ }
163
+ }
164
+ self.update();
165
+ return found;
166
+ };
167
+
168
+ /* Gets the objects in the list which
169
+ * property "valueName" === value
170
+ */
171
+ this.get = function(valueName, value) {
172
+ var matchedItems = [];
173
+ for (var i = 0, il = self.items.length; i < il; i++) {
174
+ var item = self.items[i];
175
+ if (item.values()[valueName] == value) {
176
+ matchedItems.push(item);
177
+ }
178
+ }
179
+ return matchedItems;
180
+ };
181
+
182
+ /*
183
+ * Get size of the list
184
+ */
185
+ this.size = function() {
186
+ return self.items.length;
187
+ };
188
+
189
+ /*
190
+ * Removes all items from the list
191
+ */
192
+ this.clear = function() {
193
+ self.templater.clear();
194
+ self.items = [];
195
+ return self;
196
+ };
197
+
198
+ this.on = function(event, callback) {
199
+ self.handlers[event].push(callback);
200
+ return self;
201
+ };
202
+
203
+ this.off = function(event, callback) {
204
+ var e = self.handlers[event];
205
+ var index = indexOf(e, callback);
206
+ if (index > -1) {
207
+ e.splice(index, 1);
208
+ }
209
+ return self;
210
+ };
211
+
212
+ this.trigger = function(event) {
213
+ var i = self.handlers[event].length;
214
+ while(i--) {
215
+ self.handlers[event][i](self);
216
+ }
217
+ return self;
218
+ };
219
+
220
+ this.reset = {
221
+ filter: function() {
222
+ var is = self.items,
223
+ il = is.length;
224
+ while (il--) {
225
+ is[il].filtered = false;
226
+ }
227
+ return self;
228
+ },
229
+ search: function() {
230
+ var is = self.items,
231
+ il = is.length;
232
+ while (il--) {
233
+ is[il].found = false;
234
+ }
235
+ return self;
236
+ }
237
+ };
238
+
239
+ this.update = function() {
240
+ var is = self.items,
241
+ il = is.length;
242
+
243
+ self.visibleItems = [];
244
+ self.matchingItems = [];
245
+ self.templater.clear();
246
+ for (var i = 0; i < il; i++) {
247
+ if (is[i].matching() && ((self.matchingItems.length+1) >= self.i && self.visibleItems.length < self.page)) {
248
+ is[i].show();
249
+ self.visibleItems.push(is[i]);
250
+ self.matchingItems.push(is[i]);
251
+ } else if (is[i].matching()) {
252
+ self.matchingItems.push(is[i]);
253
+ is[i].hide();
254
+ } else {
255
+ is[i].hide();
256
+ }
257
+ }
258
+ self.trigger('updated');
259
+ return self;
260
+ };
261
+
262
+ init.start();
263
+ };
264
+
265
+
266
+ // AMD support
267
+ if (typeof define === 'function' && define.amd) {
268
+ define(function () { return List; });
269
+ }
270
+ module.exports = List;
271
+ window.List = List;
272
+
273
+ })(window);
274
+
275
+ },{"./src/add-async":2,"./src/filter":3,"./src/item":4,"./src/parse":5,"./src/search":6,"./src/sort":7,"./src/templater":8,"./src/utils/classes":9,"./src/utils/events":10,"./src/utils/extend":11,"./src/utils/get-attribute":12,"./src/utils/get-by-class":13,"./src/utils/index-of":14,"./src/utils/natural-sort":15,"./src/utils/to-array":16,"./src/utils/to-string":17}],2:[function(require,module,exports){
276
+ module.exports = function(list) {
277
+ var addAsync = function(values, callback, items) {
278
+ var valuesToAdd = values.splice(0, 50);
279
+ items = items || [];
280
+ items = items.concat(list.add(valuesToAdd));
281
+ if (values.length > 0) {
282
+ setTimeout(function() {
283
+ addAsync(values, callback, items);
284
+ }, 1);
285
+ } else {
286
+ list.update();
287
+ callback(items);
288
+ }
289
+ };
290
+ return addAsync;
291
+ };
292
+
293
+ },{}],3:[function(require,module,exports){
294
+ module.exports = function(list) {
295
+
296
+ // Add handlers
297
+ list.handlers.filterStart = list.handlers.filterStart || [];
298
+ list.handlers.filterComplete = list.handlers.filterComplete || [];
299
+
300
+ return function(filterFunction) {
301
+ list.trigger('filterStart');
302
+ list.i = 1; // Reset paging
303
+ list.reset.filter();
304
+ if (filterFunction === undefined) {
305
+ list.filtered = false;
306
+ } else {
307
+ list.filtered = true;
308
+ var is = list.items;
309
+ for (var i = 0, il = is.length; i < il; i++) {
310
+ var item = is[i];
311
+ if (filterFunction(item)) {
312
+ item.filtered = true;
313
+ } else {
314
+ item.filtered = false;
315
+ }
316
+ }
317
+ }
318
+ list.update();
319
+ list.trigger('filterComplete');
320
+ return list.visibleItems;
321
+ };
322
+ };
323
+
324
+ },{}],4:[function(require,module,exports){
325
+ module.exports = function(list) {
326
+ return function(initValues, element, notCreate) {
327
+ var item = this;
328
+
329
+ this._values = {};
330
+
331
+ this.found = false; // Show if list.searched == true and this.found == true
332
+ this.filtered = false;// Show if list.filtered == true and this.filtered == true
333
+
334
+ var init = function(initValues, element, notCreate) {
335
+ if (element === undefined) {
336
+ if (notCreate) {
337
+ item.values(initValues, notCreate);
338
+ } else {
339
+ item.values(initValues);
340
+ }
341
+ } else {
342
+ item.elm = element;
343
+ var values = list.templater.get(item, initValues);
344
+ item.values(values);
345
+ }
346
+ };
347
+
348
+ this.values = function(newValues, notCreate) {
349
+ if (newValues !== undefined) {
350
+ for(var name in newValues) {
351
+ item._values[name] = newValues[name];
352
+ }
353
+ if (notCreate !== true) {
354
+ list.templater.set(item, item.values());
355
+ }
356
+ } else {
357
+ return item._values;
358
+ }
359
+ };
360
+
361
+ this.show = function() {
362
+ list.templater.show(item);
363
+ };
364
+
365
+ this.hide = function() {
366
+ list.templater.hide(item);
367
+ };
368
+
369
+ this.matching = function() {
370
+ return (
371
+ (list.filtered && list.searched && item.found && item.filtered) ||
372
+ (list.filtered && !list.searched && item.filtered) ||
373
+ (!list.filtered && list.searched && item.found) ||
374
+ (!list.filtered && !list.searched)
375
+ );
376
+ };
377
+
378
+ this.visible = function() {
379
+ return (item.elm && (item.elm.parentNode == list.list)) ? true : false;
380
+ };
381
+
382
+ init(initValues, element, notCreate);
383
+ };
384
+ };
385
+
386
+ },{}],5:[function(require,module,exports){
387
+ module.exports = function(list) {
388
+
389
+ var Item = require('./item')(list);
390
+
391
+ var getChildren = function(parent) {
392
+ var nodes = parent.childNodes,
393
+ items = [];
394
+ for (var i = 0, il = nodes.length; i < il; i++) {
395
+ // Only textnodes have a data attribute
396
+ if (nodes[i].data === undefined) {
397
+ items.push(nodes[i]);
398
+ }
399
+ }
400
+ return items;
401
+ };
402
+
403
+ var parse = function(itemElements, valueNames) {
404
+ for (var i = 0, il = itemElements.length; i < il; i++) {
405
+ list.items.push(new Item(valueNames, itemElements[i]));
406
+ }
407
+ };
408
+ var parseAsync = function(itemElements, valueNames) {
409
+ var itemsToIndex = itemElements.splice(0, 50); // TODO: If < 100 items, what happens in IE etc?
410
+ parse(itemsToIndex, valueNames);
411
+ if (itemElements.length > 0) {
412
+ setTimeout(function() {
413
+ parseAsync(itemElements, valueNames);
414
+ }, 1);
415
+ } else {
416
+ list.update();
417
+ list.trigger('parseComplete');
418
+ }
419
+ };
420
+
421
+ list.handlers.parseComplete = list.handlers.parseComplete || [];
422
+
423
+ return function() {
424
+ var itemsToIndex = getChildren(list.list),
425
+ valueNames = list.valueNames;
426
+
427
+ if (list.indexAsync) {
428
+ parseAsync(itemsToIndex, valueNames);
429
+ } else {
430
+ parse(itemsToIndex, valueNames);
431
+ }
432
+ };
433
+ };
434
+
435
+ },{"./item":4}],6:[function(require,module,exports){
436
+ module.exports = function(list) {
437
+ var item,
438
+ text,
439
+ columns,
440
+ searchString,
441
+ customSearch;
442
+
443
+ var prepare = {
444
+ resetList: function() {
445
+ list.i = 1;
446
+ list.templater.clear();
447
+ customSearch = undefined;
448
+ },
449
+ setOptions: function(args) {
450
+ if (args.length == 2 && args[1] instanceof Array) {
451
+ columns = args[1];
452
+ } else if (args.length == 2 && typeof(args[1]) == "function") {
453
+ customSearch = args[1];
454
+ } else if (args.length == 3) {
455
+ columns = args[1];
456
+ customSearch = args[2];
457
+ }
458
+ },
459
+ setColumns: function() {
460
+ if (list.items.length === 0) return;
461
+ if (columns === undefined) {
462
+ columns = (list.searchColumns === undefined) ? prepare.toArray(list.items[0].values()) : list.searchColumns;
463
+ }
464
+ },
465
+ setSearchString: function(s) {
466
+ s = list.utils.toString(s).toLowerCase();
467
+ s = s.replace(/[-[\]{}()*+?.,\\^$|#]/g, "\\$&"); // Escape regular expression characters
468
+ searchString = s;
469
+ },
470
+ toArray: function(values) {
471
+ var tmpColumn = [];
472
+ for (var name in values) {
473
+ tmpColumn.push(name);
474
+ }
475
+ return tmpColumn;
476
+ }
477
+ };
478
+ var search = {
479
+ list: function() {
480
+ for (var k = 0, kl = list.items.length; k < kl; k++) {
481
+ search.item(list.items[k]);
482
+ }
483
+ },
484
+ item: function(item) {
485
+ item.found = false;
486
+ for (var j = 0, jl = columns.length; j < jl; j++) {
487
+ if (search.values(item.values(), columns[j])) {
488
+ item.found = true;
489
+ return;
490
+ }
491
+ }
492
+ },
493
+ values: function(values, column) {
494
+ if (values.hasOwnProperty(column)) {
495
+ text = list.utils.toString(values[column]).toLowerCase();
496
+ if ((searchString !== "") && (text.search(searchString) > -1)) {
497
+ return true;
498
+ }
499
+ }
500
+ return false;
501
+ },
502
+ reset: function() {
503
+ list.reset.search();
504
+ list.searched = false;
505
+ }
506
+ };
507
+
508
+ var searchMethod = function(str) {
509
+ list.trigger('searchStart');
510
+
511
+ prepare.resetList();
512
+ prepare.setSearchString(str);
513
+ prepare.setOptions(arguments); // str, cols|searchFunction, searchFunction
514
+ prepare.setColumns();
515
+
516
+ if (searchString === "" ) {
517
+ search.reset();
518
+ } else {
519
+ list.searched = true;
520
+ if (customSearch) {
521
+ customSearch(searchString, columns);
522
+ } else {
523
+ search.list();
524
+ }
525
+ }
526
+
527
+ list.update();
528
+ list.trigger('searchComplete');
529
+ return list.visibleItems;
530
+ };
531
+
532
+ list.handlers.searchStart = list.handlers.searchStart || [];
533
+ list.handlers.searchComplete = list.handlers.searchComplete || [];
534
+
535
+ list.utils.events.bind(list.utils.getByClass(list.listContainer, list.searchClass), 'keyup', function(e) {
536
+ var target = e.target || e.srcElement, // IE have srcElement
537
+ alreadyCleared = (target.value === "" && !list.searched);
538
+ if (!alreadyCleared) { // If oninput already have resetted the list, do nothing
539
+ searchMethod(target.value);
540
+ }
541
+ });
542
+
543
+ // Used to detect click on HTML5 clear button
544
+ list.utils.events.bind(list.utils.getByClass(list.listContainer, list.searchClass), 'input', function(e) {
545
+ var target = e.target || e.srcElement;
546
+ if (target.value === "") {
547
+ searchMethod('');
548
+ }
549
+ });
550
+
551
+ return searchMethod;
552
+ };
553
+
554
+ },{}],7:[function(require,module,exports){
555
+ module.exports = function(list) {
556
+ list.sortFunction = list.sortFunction || function(itemA, itemB, options) {
557
+ options.desc = options.order == "desc" ? true : false; // Natural sort uses this format
558
+ return list.utils.naturalSort(itemA.values()[options.valueName], itemB.values()[options.valueName], options);
559
+ };
560
+
561
+ var buttons = {
562
+ els: undefined,
563
+ clear: function() {
564
+ for (var i = 0, il = buttons.els.length; i < il; i++) {
565
+ list.utils.classes(buttons.els[i]).remove('asc');
566
+ list.utils.classes(buttons.els[i]).remove('desc');
567
+ }
568
+ },
569
+ getOrder: function(btn) {
570
+ var predefinedOrder = list.utils.getAttribute(btn, 'data-order');
571
+ if (predefinedOrder == "asc" || predefinedOrder == "desc") {
572
+ return predefinedOrder;
573
+ } else if (list.utils.classes(btn).has('desc')) {
574
+ return "asc";
575
+ } else if (list.utils.classes(btn).has('asc')) {
576
+ return "desc";
577
+ } else {
578
+ return "asc";
579
+ }
580
+ },
581
+ getInSensitive: function(btn, options) {
582
+ var insensitive = list.utils.getAttribute(btn, 'data-insensitive');
583
+ if (insensitive === "false") {
584
+ options.insensitive = false;
585
+ } else {
586
+ options.insensitive = true;
587
+ }
588
+ },
589
+ setOrder: function(options) {
590
+ for (var i = 0, il = buttons.els.length; i < il; i++) {
591
+ var btn = buttons.els[i];
592
+ if (list.utils.getAttribute(btn, 'data-sort') !== options.valueName) {
593
+ continue;
594
+ }
595
+ var predefinedOrder = list.utils.getAttribute(btn, 'data-order');
596
+ if (predefinedOrder == "asc" || predefinedOrder == "desc") {
597
+ if (predefinedOrder == options.order) {
598
+ list.utils.classes(btn).add(options.order);
599
+ }
600
+ } else {
601
+ list.utils.classes(btn).add(options.order);
602
+ }
603
+ }
604
+ }
605
+ };
606
+ var sort = function() {
607
+ list.trigger('sortStart');
608
+ var options = {};
609
+
610
+ var target = arguments[0].currentTarget || arguments[0].srcElement || undefined;
611
+
612
+ if (target) {
613
+ options.valueName = list.utils.getAttribute(target, 'data-sort');
614
+ buttons.getInSensitive(target, options);
615
+ options.order = buttons.getOrder(target);
616
+ } else {
617
+ options = arguments[1] || options;
618
+ options.valueName = arguments[0];
619
+ options.order = options.order || "asc";
620
+ options.insensitive = (typeof options.insensitive == "undefined") ? true : options.insensitive;
621
+ }
622
+ buttons.clear();
623
+ buttons.setOrder(options);
624
+
625
+ options.sortFunction = options.sortFunction || list.sortFunction;
626
+ list.items.sort(function(a, b) {
627
+ var mult = (options.order === 'desc') ? -1 : 1;
628
+ return (options.sortFunction(a, b, options) * mult);
629
+ });
630
+ list.update();
631
+ list.trigger('sortComplete');
632
+ };
633
+
634
+ // Add handlers
635
+ list.handlers.sortStart = list.handlers.sortStart || [];
636
+ list.handlers.sortComplete = list.handlers.sortComplete || [];
637
+
638
+ buttons.els = list.utils.getByClass(list.listContainer, list.sortClass);
639
+ list.utils.events.bind(buttons.els, 'click', sort);
640
+ list.on('searchStart', buttons.clear);
641
+ list.on('filterStart', buttons.clear);
642
+
643
+ return sort;
644
+ };
645
+
646
+ },{}],8:[function(require,module,exports){
647
+ var Templater = function(list) {
648
+ var itemSource,
649
+ templater = this;
650
+
651
+ var init = function() {
652
+ itemSource = templater.getItemSource(list.item);
653
+ itemSource = templater.clearSourceItem(itemSource, list.valueNames);
654
+ };
655
+
656
+ this.clearSourceItem = function(el, valueNames) {
657
+ for(var i = 0, il = valueNames.length; i < il; i++) {
658
+ var elm;
659
+ if (valueNames[i].data) {
660
+ for (var j = 0, jl = valueNames[i].data.length; j < jl; j++) {
661
+ el.setAttribute('data-'+valueNames[i].data[j], '');
662
+ }
663
+ } else if (valueNames[i].attr && valueNames[i].name) {
664
+ elm = list.utils.getByClass(el, valueNames[i].name, true);
665
+ if (elm) {
666
+ elm.setAttribute(valueNames[i].attr, "");
667
+ }
668
+ } else {
669
+ elm = list.utils.getByClass(el, valueNames[i], true);
670
+ if (elm) {
671
+ elm.innerHTML = "";
672
+ }
673
+ }
674
+ elm = undefined;
675
+ }
676
+ return el;
677
+ };
678
+
679
+ this.getItemSource = function(item) {
680
+ if (item === undefined) {
681
+ var nodes = list.list.childNodes,
682
+ items = [];
683
+
684
+ for (var i = 0, il = nodes.length; i < il; i++) {
685
+ // Only textnodes have a data attribute
686
+ if (nodes[i].data === undefined) {
687
+ return nodes[i].cloneNode(true);
688
+ }
689
+ }
690
+ } else if (/^tr[\s>]/.exec(item)) {
691
+ var table = document.createElement('table');
692
+ table.innerHTML = item;
693
+ return table.firstChild;
694
+ } else if (item.indexOf("<") !== -1) {
695
+ var div = document.createElement('div');
696
+ div.innerHTML = item;
697
+ return div.firstChild;
698
+ } else {
699
+ var source = document.getElementById(list.item);
700
+ if (source) {
701
+ return source;
702
+ }
703
+ }
704
+ throw new Error("The list need to have at list one item on init otherwise you'll have to add a template.");
705
+ };
706
+
707
+ this.get = function(item, valueNames) {
708
+ templater.create(item);
709
+ var values = {};
710
+ for(var i = 0, il = valueNames.length; i < il; i++) {
711
+ var elm;
712
+ if (valueNames[i].data) {
713
+ for (var j = 0, jl = valueNames[i].data.length; j < jl; j++) {
714
+ values[valueNames[i].data[j]] = list.utils.getAttribute(item.elm, 'data-'+valueNames[i].data[j]);
715
+ }
716
+ } else if (valueNames[i].attr && valueNames[i].name) {
717
+ elm = list.utils.getByClass(item.elm, valueNames[i].name, true);
718
+ values[valueNames[i].name] = elm ? list.utils.getAttribute(elm, valueNames[i].attr) : "";
719
+ } else {
720
+ elm = list.utils.getByClass(item.elm, valueNames[i], true);
721
+ values[valueNames[i]] = elm ? elm.innerHTML : "";
722
+ }
723
+ elm = undefined;
724
+ }
725
+ return values;
726
+ };
727
+
728
+ this.set = function(item, values) {
729
+ var getValueName = function(name) {
730
+ for (var i = 0, il = list.valueNames.length; i < il; i++) {
731
+ if (list.valueNames[i].data) {
732
+ var data = list.valueNames[i].data;
733
+ for (var j = 0, jl = data.length; j < jl; j++) {
734
+ if (data[j] === name) {
735
+ return { data: name };
736
+ }
737
+ }
738
+ } else if (list.valueNames[i].attr && list.valueNames[i].name && list.valueNames[i].name == name) {
739
+ return list.valueNames[i];
740
+ } else if (list.valueNames[i] === name) {
741
+ return name;
742
+ }
743
+ }
744
+ };
745
+ var setValue = function(name, value) {
746
+ var elm;
747
+ var valueName = getValueName(name);
748
+ if (!valueName)
749
+ return;
750
+ if (valueName.data) {
751
+ item.elm.setAttribute('data-'+valueName.data, value);
752
+ } else if (valueName.attr && valueName.name) {
753
+ elm = list.utils.getByClass(item.elm, valueName.name, true);
754
+ if (elm) {
755
+ elm.setAttribute(valueName.attr, value);
756
+ }
757
+ } else {
758
+ elm = list.utils.getByClass(item.elm, valueName, true);
759
+ if (elm) {
760
+ elm.innerHTML = value;
761
+ }
762
+ }
763
+ elm = undefined;
764
+ };
765
+ if (!templater.create(item)) {
766
+ for(var v in values) {
767
+ if (values.hasOwnProperty(v)) {
768
+ setValue(v, values[v]);
769
+ }
770
+ }
771
+ }
772
+ };
773
+
774
+ this.create = function(item) {
775
+ if (item.elm !== undefined) {
776
+ return false;
777
+ }
778
+ /* If item source does not exists, use the first item in list as
779
+ source for new items */
780
+ var newItem = itemSource.cloneNode(true);
781
+ newItem.removeAttribute('id');
782
+ item.elm = newItem;
783
+ templater.set(item, item.values());
784
+ return true;
785
+ };
786
+ this.remove = function(item) {
787
+ if (item.elm.parentNode === list.list) {
788
+ list.list.removeChild(item.elm);
789
+ }
790
+ };
791
+ this.show = function(item) {
792
+ templater.create(item);
793
+ list.list.appendChild(item.elm);
794
+ };
795
+ this.hide = function(item) {
796
+ if (item.elm !== undefined && item.elm.parentNode === list.list) {
797
+ list.list.removeChild(item.elm);
798
+ }
799
+ };
800
+ this.clear = function() {
801
+ /* .innerHTML = ''; fucks up IE */
802
+ if (list.list.hasChildNodes()) {
803
+ while (list.list.childNodes.length >= 1)
804
+ {
805
+ list.list.removeChild(list.list.firstChild);
806
+ }
807
+ }
808
+ };
809
+
810
+ init();
811
+ };
812
+
813
+ module.exports = function(list) {
814
+ return new Templater(list);
815
+ };
816
+
817
+ },{}],9:[function(require,module,exports){
818
+ /**
819
+ * Module dependencies.
820
+ */
821
+
822
+ var index = require('./index-of');
823
+
824
+ /**
825
+ * Whitespace regexp.
826
+ */
827
+
828
+ var re = /\s+/;
829
+
830
+ /**
831
+ * toString reference.
832
+ */
833
+
834
+ var toString = Object.prototype.toString;
835
+
836
+ /**
837
+ * Wrap `el` in a `ClassList`.
838
+ *
839
+ * @param {Element} el
840
+ * @return {ClassList}
841
+ * @api public
842
+ */
843
+
844
+ module.exports = function(el){
845
+ return new ClassList(el);
846
+ };
847
+
848
+ /**
849
+ * Initialize a new ClassList for `el`.
850
+ *
851
+ * @param {Element} el
852
+ * @api private
853
+ */
854
+
855
+ function ClassList(el) {
856
+ if (!el || !el.nodeType) {
857
+ throw new Error('A DOM element reference is required');
858
+ }
859
+ this.el = el;
860
+ this.list = el.classList;
861
+ }
862
+
863
+ /**
864
+ * Add class `name` if not already present.
865
+ *
866
+ * @param {String} name
867
+ * @return {ClassList}
868
+ * @api public
869
+ */
870
+
871
+ ClassList.prototype.add = function(name){
872
+ // classList
873
+ if (this.list) {
874
+ this.list.add(name);
875
+ return this;
876
+ }
877
+
878
+ // fallback
879
+ var arr = this.array();
880
+ var i = index(arr, name);
881
+ if (!~i) arr.push(name);
882
+ this.el.className = arr.join(' ');
883
+ return this;
884
+ };
885
+
886
+ /**
887
+ * Remove class `name` when present, or
888
+ * pass a regular expression to remove
889
+ * any which match.
890
+ *
891
+ * @param {String|RegExp} name
892
+ * @return {ClassList}
893
+ * @api public
894
+ */
895
+
896
+ ClassList.prototype.remove = function(name){
897
+ if ('[object RegExp]' == toString.call(name)) {
898
+ return this.removeMatching(name);
899
+ }
900
+
901
+ // classList
902
+ if (this.list) {
903
+ this.list.remove(name);
904
+ return this;
905
+ }
906
+
907
+ // fallback
908
+ var arr = this.array();
909
+ var i = index(arr, name);
910
+ if (~i) arr.splice(i, 1);
911
+ this.el.className = arr.join(' ');
912
+ return this;
913
+ };
914
+
915
+ /**
916
+ * Remove all classes matching `re`.
917
+ *
918
+ * @param {RegExp} re
919
+ * @return {ClassList}
920
+ * @api private
921
+ */
922
+
923
+ ClassList.prototype.removeMatching = function(re){
924
+ var arr = this.array();
925
+ for (var i = 0; i < arr.length; i++) {
926
+ if (re.test(arr[i])) {
927
+ this.remove(arr[i]);
928
+ }
929
+ }
930
+ return this;
931
+ };
932
+
933
+ /**
934
+ * Toggle class `name`, can force state via `force`.
935
+ *
936
+ * For browsers that support classList, but do not support `force` yet,
937
+ * the mistake will be detected and corrected.
938
+ *
939
+ * @param {String} name
940
+ * @param {Boolean} force
941
+ * @return {ClassList}
942
+ * @api public
943
+ */
944
+
945
+ ClassList.prototype.toggle = function(name, force){
946
+ // classList
947
+ if (this.list) {
948
+ if ("undefined" !== typeof force) {
949
+ if (force !== this.list.toggle(name, force)) {
950
+ this.list.toggle(name); // toggle again to correct
951
+ }
952
+ } else {
953
+ this.list.toggle(name);
954
+ }
955
+ return this;
956
+ }
957
+
958
+ // fallback
959
+ if ("undefined" !== typeof force) {
960
+ if (!force) {
961
+ this.remove(name);
962
+ } else {
963
+ this.add(name);
964
+ }
965
+ } else {
966
+ if (this.has(name)) {
967
+ this.remove(name);
968
+ } else {
969
+ this.add(name);
970
+ }
971
+ }
972
+
973
+ return this;
974
+ };
975
+
976
+ /**
977
+ * Return an array of classes.
978
+ *
979
+ * @return {Array}
980
+ * @api public
981
+ */
982
+
983
+ ClassList.prototype.array = function(){
984
+ var className = this.el.getAttribute('class') || '';
985
+ var str = className.replace(/^\s+|\s+$/g, '');
986
+ var arr = str.split(re);
987
+ if ('' === arr[0]) arr.shift();
988
+ return arr;
989
+ };
990
+
991
+ /**
992
+ * Check if class `name` is present.
993
+ *
994
+ * @param {String} name
995
+ * @return {ClassList}
996
+ * @api public
997
+ */
998
+
999
+ ClassList.prototype.has =
1000
+ ClassList.prototype.contains = function(name){
1001
+ return this.list ? this.list.contains(name) : !! ~index(this.array(), name);
1002
+ };
1003
+
1004
+ },{"./index-of":14}],10:[function(require,module,exports){
1005
+ var bind = window.addEventListener ? 'addEventListener' : 'attachEvent',
1006
+ unbind = window.removeEventListener ? 'removeEventListener' : 'detachEvent',
1007
+ prefix = bind !== 'addEventListener' ? 'on' : '',
1008
+ toArray = require('./to-array');
1009
+
1010
+ /**
1011
+ * Bind `el` event `type` to `fn`.
1012
+ *
1013
+ * @param {Element} el, NodeList, HTMLCollection or Array
1014
+ * @param {String} type
1015
+ * @param {Function} fn
1016
+ * @param {Boolean} capture
1017
+ * @api public
1018
+ */
1019
+
1020
+ exports.bind = function(el, type, fn, capture){
1021
+ el = toArray(el);
1022
+ for ( var i = 0; i < el.length; i++ ) {
1023
+ el[i][bind](prefix + type, fn, capture || false);
1024
+ }
1025
+ };
1026
+
1027
+ /**
1028
+ * Unbind `el` event `type`'s callback `fn`.
1029
+ *
1030
+ * @param {Element} el, NodeList, HTMLCollection or Array
1031
+ * @param {String} type
1032
+ * @param {Function} fn
1033
+ * @param {Boolean} capture
1034
+ * @api public
1035
+ */
1036
+
1037
+ exports.unbind = function(el, type, fn, capture){
1038
+ el = toArray(el);
1039
+ for ( var i = 0; i < el.length; i++ ) {
1040
+ el[i][unbind](prefix + type, fn, capture || false);
1041
+ }
1042
+ };
1043
+
1044
+ },{"./to-array":16}],11:[function(require,module,exports){
1045
+ /*
1046
+ * Source: https://github.com/segmentio/extend
1047
+ */
1048
+
1049
+ module.exports = function extend (object) {
1050
+ // Takes an unlimited number of extenders.
1051
+ var args = Array.prototype.slice.call(arguments, 1);
1052
+
1053
+ // For each extender, copy their properties on our object.
1054
+ for (var i = 0, source; source = args[i]; i++) {
1055
+ if (!source) continue;
1056
+ for (var property in source) {
1057
+ object[property] = source[property];
1058
+ }
1059
+ }
1060
+
1061
+ return object;
1062
+ };
1063
+
1064
+ },{}],12:[function(require,module,exports){
1065
+ /**
1066
+ * A cross-browser implementation of getAttribute.
1067
+ * Source found here: http://stackoverflow.com/a/3755343/361337 written by Vivin Paliath
1068
+ *
1069
+ * Return the value for `attr` at `element`.
1070
+ *
1071
+ * @param {Element} el
1072
+ * @param {String} attr
1073
+ * @api public
1074
+ */
1075
+
1076
+ module.exports = function(el, attr) {
1077
+ var result = (el.getAttribute && el.getAttribute(attr)) || null;
1078
+ if( !result ) {
1079
+ var attrs = el.attributes;
1080
+ var length = attrs.length;
1081
+ for(var i = 0; i < length; i++) {
1082
+ if (attr[i] !== undefined) {
1083
+ if(attr[i].nodeName === attr) {
1084
+ result = attr[i].nodeValue;
1085
+ }
1086
+ }
1087
+ }
1088
+ }
1089
+ return result;
1090
+ };
1091
+
1092
+ },{}],13:[function(require,module,exports){
1093
+ /**
1094
+ * A cross-browser implementation of getElementsByClass.
1095
+ * Heavily based on Dustin Diaz's function: http://dustindiaz.com/getelementsbyclass.
1096
+ *
1097
+ * Find all elements with class `className` inside `container`.
1098
+ * Use `single = true` to increase performance in older browsers
1099
+ * when only one element is needed.
1100
+ *
1101
+ * @param {String} className
1102
+ * @param {Element} container
1103
+ * @param {Boolean} single
1104
+ * @api public
1105
+ */
1106
+
1107
+ module.exports = (function() {
1108
+ if (document.getElementsByClassName) {
1109
+ return function(container, className, single) {
1110
+ if (single) {
1111
+ return container.getElementsByClassName(className)[0];
1112
+ } else {
1113
+ return container.getElementsByClassName(className);
1114
+ }
1115
+ };
1116
+ } else if (document.querySelector) {
1117
+ return function(container, className, single) {
1118
+ className = '.' + className;
1119
+ if (single) {
1120
+ return container.querySelector(className);
1121
+ } else {
1122
+ return container.querySelectorAll(className);
1123
+ }
1124
+ };
1125
+ } else {
1126
+ return function(container, className, single) {
1127
+ var classElements = [],
1128
+ tag = '*';
1129
+ if (container === null) {
1130
+ container = document;
1131
+ }
1132
+ var els = container.getElementsByTagName(tag);
1133
+ var elsLen = els.length;
1134
+ var pattern = new RegExp("(^|\\s)"+className+"(\\s|$)");
1135
+ for (var i = 0, j = 0; i < elsLen; i++) {
1136
+ if ( pattern.test(els[i].className) ) {
1137
+ if (single) {
1138
+ return els[i];
1139
+ } else {
1140
+ classElements[j] = els[i];
1141
+ j++;
1142
+ }
1143
+ }
1144
+ }
1145
+ return classElements;
1146
+ };
1147
+ }
1148
+ })();
1149
+
1150
+ },{}],14:[function(require,module,exports){
1151
+ var indexOf = [].indexOf;
1152
+
1153
+ module.exports = function(arr, obj){
1154
+ if (indexOf) return arr.indexOf(obj);
1155
+ for (var i = 0; i < arr.length; ++i) {
1156
+ if (arr[i] === obj) return i;
1157
+ }
1158
+ return -1;
1159
+ };
1160
+
1161
+ },{}],15:[function(require,module,exports){
1162
+ /*
1163
+ * Natural Sort algorithm for Javascript - Version 0.8.1 - Released under MIT license
1164
+ * Author: Jim Palmer (based on chunking idea from Dave Koelle)
1165
+ */
1166
+ module.exports = function(a, b, opts) {
1167
+ var re = /(^([+\-]?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?(?=\D|\s|$))|^0x[\da-fA-F]+$|\d+)/g,
1168
+ sre = /^\s+|\s+$/g, // trim pre-post whitespace
1169
+ snre = /\s+/g, // normalize all whitespace to single ' ' character
1170
+ dre = /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,
1171
+ hre = /^0x[0-9a-f]+$/i,
1172
+ ore = /^0/,
1173
+ options = opts || {},
1174
+ i = function(s) {
1175
+ return (options.insensitive && ('' + s).toLowerCase() || '' + s).replace(sre, '');
1176
+ },
1177
+ // convert all to strings strip whitespace
1178
+ x = i(a),
1179
+ y = i(b),
1180
+ // chunk/tokenize
1181
+ xN = x.replace(re, '\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'),
1182
+ yN = y.replace(re, '\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'),
1183
+ // numeric, hex or date detection
1184
+ xD = parseInt(x.match(hre), 16) || (xN.length !== 1 && Date.parse(x)),
1185
+ yD = parseInt(y.match(hre), 16) || xD && y.match(dre) && Date.parse(y) || null,
1186
+ normChunk = function(s, l) {
1187
+ // normalize spaces; find floats not starting with '0', string or 0 if not defined (Clint Priest)
1188
+ return (!s.match(ore) || l == 1) && parseFloat(s) || s.replace(snre, ' ').replace(sre, '') || 0;
1189
+ },
1190
+ oFxNcL, oFyNcL;
1191
+ // first try and sort Hex codes or Dates
1192
+ if (yD) {
1193
+ if (xD < yD) { return -1; }
1194
+ else if (xD > yD) { return 1; }
1195
+ }
1196
+ // natural sorting through split numeric strings and default strings
1197
+ for(var cLoc = 0, xNl = xN.length, yNl = yN.length, numS = Math.max(xNl, yNl); cLoc < numS; cLoc++) {
1198
+ oFxNcL = normChunk(xN[cLoc] || '', xNl);
1199
+ oFyNcL = normChunk(yN[cLoc] || '', yNl);
1200
+ // handle numeric vs string comparison - number < string - (Kyle Adams)
1201
+ if (isNaN(oFxNcL) !== isNaN(oFyNcL)) {
1202
+ return isNaN(oFxNcL) ? 1 : -1;
1203
+ }
1204
+ // if unicode use locale comparison
1205
+ if (/[^\x00-\x80]/.test(oFxNcL + oFyNcL) && oFxNcL.localeCompare) {
1206
+ var comp = oFxNcL.localeCompare(oFyNcL);
1207
+ return comp / Math.abs(comp);
1208
+ }
1209
+ if (oFxNcL < oFyNcL) { return -1; }
1210
+ else if (oFxNcL > oFyNcL) { return 1; }
1211
+ }
1212
+ return 0;
1213
+ };
1214
+
1215
+ },{}],16:[function(require,module,exports){
1216
+ /**
1217
+ * Source: https://github.com/timoxley/to-array
1218
+ *
1219
+ * Convert an array-like object into an `Array`.
1220
+ * If `collection` is already an `Array`, then will return a clone of `collection`.
1221
+ *
1222
+ * @param {Array | Mixed} collection An `Array` or array-like object to convert e.g. `arguments` or `NodeList`
1223
+ * @return {Array} Naive conversion of `collection` to a new `Array`.
1224
+ * @api public
1225
+ */
1226
+
1227
+ module.exports = function toArray(collection) {
1228
+ if (typeof collection === 'undefined') return [];
1229
+ if (collection === null) return [null];
1230
+ if (collection === window) return [window];
1231
+ if (typeof collection === 'string') return [collection];
1232
+ if (isArray(collection)) return collection;
1233
+ if (typeof collection.length != 'number') return [collection];
1234
+ if (typeof collection === 'function' && collection instanceof Function) return [collection];
1235
+
1236
+ var arr = [];
1237
+ for (var i = 0; i < collection.length; i++) {
1238
+ if (Object.prototype.hasOwnProperty.call(collection, i) || i in collection) {
1239
+ arr.push(collection[i]);
1240
+ }
1241
+ }
1242
+ if (!arr.length) return [];
1243
+ return arr;
1244
+ };
1245
+
1246
+ function isArray(arr) {
1247
+ return Object.prototype.toString.call(arr) === "[object Array]";
1248
+ }
1249
+
1250
+ },{}],17:[function(require,module,exports){
1251
+ module.exports = function(s) {
1252
+ s = (s === undefined) ? "" : s;
1253
+ s = (s === null) ? "" : s;
1254
+ s = s.toString();
1255
+ return s;
1256
+ };
1257
+
1258
+ },{}]},{},[1]);
assets/js/min/addons-min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function($){$(function(){function a(a){$(a).attr("disabled")&&$(a).removeAttr("disabled"),$(a).parent().parent().hasClass("envira-addon-not-installed")&&$(a).text(envira_gallery_addons.install)}var n;$("form#add-on-search input#add-on-searchbox").on("keyup",function(){clearTimeout(n);var a=$(this),e=$(a).val().toLowerCase(),i=$(a).data("heading"),r=$(a).data("results"),t=$(a).data("cancel");return $("form#add-on-search .spinner").css("visibility","visible"),e.length<3?void $("div.envira-addon").fadeIn("fast",function(){$("form#add-on-search .spinner").css("visibility","hidden")}):($("div.envira-addon").each(function(){$("h3.envira-addon-title",$(this)).text().toLowerCase().search(e)>=0?$(this).fadeIn():$(this).fadeOut()}),void $("form#add-on-search .spinner").css("visibility","hidden"))});var e=new List("envira-addons-licensed",{valueNames:["envira-addon-title"]}),i=new List("envira-addons-unlicensed",{valueNames:["envira-addon-title"]});$("select#envira-filter-select").on("change",function(){"undefined"!=typeof e.sort&&e.sort("envira-addon-title",{order:$(this).val()}),"undefined"!=typeof i.sort&&i.sort("envira-addon-title",{order:$(this).val()})}),$("#envira-addons").on("click.refreshInstallAddon",".envira-addon-action-button",function(n){var e=$(this),i=$("#envira-addons").find(".envira-addon-action-button");$.each(i,function(n,i){return e==i?!0:void a(i)})}),$("#envira-addons").on("click.activateAddon",".envira-activate-addon",function(a){a.preventDefault();var n=$(this);$(".envira-addon-error").remove(),$(this).html('<i class="envira-toggle-on"></i> '+envira_gallery_addons.activating),$(this).next().css({display:"inline-block","margin-top":"0px"});var e=$(this),i=$(this).attr("rel"),r=$(this).parent().parent(),t=$(this).parent().parent().find(".addon-status"),d={url:ajaxurl,type:"post",async:!0,cache:!1,dataType:"json",data:{action:"envira_gallery_activate_addon",nonce:envira_gallery_addons.activate_nonce,plugin:i},success:function(a){if(a&&!0!==a)return void $(r).slideDown("normal",function(){$(this).after('<div class="envira-addon-error"><strong>'+a.error+"</strong></div>"),n.next().hide(),$(".envira-addon-error").delay(3e3).slideUp()});$(e).html('<i class="envira-toggle-on"></i> '+envira_gallery_addons.deactivate).removeClass("envira-activate-addon").addClass("envira-deactivate-addon"),$(t).text(envira_gallery_addons.active);var i=$(t),d,o,s;d=i.html().split(/\s+/),o=d.pop(),s=d.join(" "),i.html([s," <span>",o,"</span>"].join("")),$(r).removeClass("envira-addon-inactive").addClass("envira-addon-active"),n.next().hide()},error:function(a,e,i){n.next().hide()}};$.ajax(d)}),$("#envira-addons").on("click.deactivateAddon",".envira-deactivate-addon",function(a){a.preventDefault();var n=$(this);$(".envira-addon-error").remove(),$(this).html('<i class="envira-toggle-on"></i> '+envira_gallery_addons.deactivating),$(this).next().css({display:"inline-block","margin-top":"0px"});var e=$(this),i=$(this).attr("rel"),r=$(this).parent().parent(),t=$(this).parent().parent().find(".addon-status"),d={url:ajaxurl,type:"post",async:!0,cache:!1,dataType:"json",data:{action:"envira_gallery_deactivate_addon",nonce:envira_gallery_addons.deactivate_nonce,plugin:i},success:function(a){if(a&&!0!==a)return void $(r).slideDown("normal",function(){$(this).after('<div class="envira-addon-error"><strong>'+a.error+"</strong></div>"),n.next().hide(),$(".envira-addon-error").delay(3e3).slideUp()});$(e).html('<i class="envira-toggle-on"></i> '+envira_gallery_addons.activate).removeClass("envira-deactivate-addon").addClass("envira-activate-addon"),$(t).text(envira_gallery_addons.inactive);var i=$(t),d,o,s;d=i.html().split(/\s+/),o=d.pop(),s=d.join(" "),i.html([s," <span>",o,"</span>"].join("")),$(r).removeClass("envira-addon-active").addClass("envira-addon-inactive"),n.next().hide()},error:function(a,e,i){n.next().hide()}};$.ajax(d)}),$("#envira-addons").on("click.installAddon",".envira-install-addon",function(a){a.preventDefault();var n=$(this);$(".envira-addon-error").remove(),$(this).html('<i class="envira-cloud-download"></i> '+envira_gallery_addons.installing),$(this).next().css({display:"inline-block","margin-top":"0px"});var e=$(this),i=$(this).attr("rel"),r=$(this).parent().parent(),t=$(this).parent().parent().find(".addon-status"),d={url:ajaxurl,type:"post",async:!0,cache:!1,dataType:"json",data:{action:"envira_gallery_install_addon",nonce:envira_gallery_addons.install_nonce,plugin:i},success:function(a){if(a.error)return void $(r).slideDown("normal",function(){$(e).parent().parent().after('<div class="envira-addon-error"><div class="xinterior"><p><strong>'+a.error+"</strong></p></div></div>"),$(e).html('<i class="envira-cloud-download"></i> '+envira_gallery_addons.install),n.next().hide(),$(".envira-addon-error").delay(4e3).slideUp()});if(a.form)return $(r).slideDown("normal",function(){$(this).after('<div class="envira-addon-error">'+a.form+"</div>"),n.next().hide()}),$(e).attr("disabled",!0),void $("#envira-addons").on("click.installCredsAddon","#upgrade",function(a){a.preventDefault(),n.next().hide(),$(this).html('<i class="envira-cloud-download"></i> '+envira_gallery_addons.installing),$(this).next().css({display:"inline-block","margin-top":"0px"});var d=$(this).parent().parent().find("#hostname").val(),o=$(this).parent().parent().find("#username").val(),s=$(this).parent().parent().find("#password").val(),l=$(this),v=$(this).parent().parent().parent().parent(),c={url:ajaxurl,type:"post",async:!0,cache:!1,dataType:"json",data:{action:"envira_gallery_install_addon",nonce:envira_gallery_addons.install_nonce,plugin:i,hostname:d,username:o,password:s},success:function(a){if(a.error)return void $(r).slideDown("normal",function(){$(e).parent().parent().after('<div class="envira-addon-error"><strong>'+a.error+"</strong></div>"),$(e).html('<i class="envira-cloud-download"></i> '+envira_gallery_addons.install),n.next().hide(),$(".envira-addon-error").delay(4e3).slideUp()});if(a.form)return n.next().hide(),$(".envira-inline-error").remove(),$(l).val(envira_gallery_addons.proceed),void $(l).after('<span class="envira-inline-error">'+envira_gallery_addons.connect_error+"</span>");$(v).remove(),$(e).show(),$(e).text(envira_gallery_addons.activate).removeClass("envira-install-addon").addClass("envira-activate-addon"),$(e).attr("rel",a.plugin),$(e).removeAttr("disabled"),$(t).text(envira_gallery_addons.inactive);var i=$(t),d,o,s;d=i.html().split(/\s+/),o=d.pop(),s=d.join(" "),i.html([s," <span>",o,"</span>"].join("")),$(r).removeClass("envira-addon-not-installed").addClass("envira-addon-inactive"),n.next().hide()},error:function(a,e,i){n.next().hide()}};$.ajax(c)});$(e).html('<i class="envira-toggle-on"></i> '+envira_gallery_addons.activate).removeClass("envira-install-addon").addClass("envira-activate-addon"),$(e).attr("rel",a.plugin),$(t).text(envira_gallery_addons.inactive);var d=$(t),o,s,l;o=d.html().split(/\s+/),s=o.pop(),l=o.join(" "),d.html([l," <span>",s,"</span>"].join("")),$(r).removeClass("envira-addon-not-installed").addClass("envira-addon-inactive"),n.next().hide()},error:function(a,e,i){n.next().hide()}};$.ajax(d)})})}(jQuery);
assets/js/min/envira-min.js CHANGED
@@ -1,3 +1,3 @@
1
- !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.imagesLoaded=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,u=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&&u&&u.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.imagesLoaded=function(t,e){var i=new r(this,t,e);return i.jqDeferred.promise($(this))})},r.makeJQueryPlugin(),r}),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),u=null,l=e.createTouch!==i,h=function(t){return t&&t.hasOwnProperty&&t instanceof $},c=function(t){return t&&"string"===$.type(t)},d=function(t){return c(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&&d(t)&&(i=s.getViewport()[e]/100*i),Math.ceil(i)},m=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){return t&&($.isPlainObject(e)||(e={}),!1!==s.close(!0))?($.isArray(t)||(t=h(t)?$(t).get():[t]),$.each(t,function(n,o){var r={},a,u,l,d,p,f,m;"object"===$.type(o)&&(o.nodeType&&(o=$(o)),h(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||(c(o)?o:null),u=e.title!==i?e.title:r.title||"",l=e.content||r.content,d=l?"html":e.type||r.type,!d&&r.isDom&&(d=o.data("envirabox-type"),d||(p=o.prop("class").match(/envirabox\.(\w+)/),d=p?p[1]:null)),c(a)&&(d||(s.isImage(a)?d="image":s.isSWF(a)?d="swf":"#"===a.charAt(0)?d="inline":c(o)&&(d="html",l=o)),"ajax"===d&&(f=a.split(/\s+/,2),a=f.shift(),m=f.shift())),l||("inline"===d?a?l=$(c(a)?a.replace(/.*(?=#[^\s]+$)/,""):a):r.isDom&&(l=o):"html"===d?l=a:d||a||!r.isDom||(d="inline",l=o)),$.extend(r,{href:a,type:d,content:l,title:u,selector:m}),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&&(c(t)||(t=e.direction.next),s.jumpto(e.index+1,t,"next"))},prev:function(t){var e=s.current;e&&(c(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(u),u=null),s.isOpen&&!u&&(u=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"),u=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"),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&&h(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),u=!1;a.length&&!(u||a.is(".envirabox-skin")||a.is(".envirabox-wrap"));)u=p(a[0]),a=$(a).parent();0===i||u||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 c(t)&&t.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(t){return c(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,m(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,u,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}),u=n.href,r){case"inline":case"ajax":case"html":n.selector?o=$("<div>").html(o).find(n.selector):h(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,u);break;case"swf":o='<object id="envirabox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+u+'"></param>',l="",$.each(n.swf,function(t,e){o+='<param name="'+t+'" value="'+e+'"></param>',l+=" "+t+'="'+e+'"'}),o+='<embed src="'+u+'" type="application/x-shockwave-flash" width="100%" height="100%"'+l+"></embed></object>"}h(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,u=s.current,l=u.width,h=u.height,c=u.minWidth,p=u.minHeight,g=u.maxWidth,v=u.maxHeight,y=u.scrolling,w=u.scrollOutside?u.scrollbarWidth:0,x=u.margin,b=f(x[1]+x[3]),_=f(x[0]+x[2]),I,E,S,T,O,L,z,M,C,k,W,D,P,j,R;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()),S=b+I,T=_+E,O=d(l)?(t.w-S)*f(l)/100:l,L=d(h)?(t.h-T)*f(h)/100:h,"iframe"===u.type){if(j=u.content,u.autoHeight&&1===j.data("ready"))try{j[0].contentWindow.document.location&&(a.width(O).height(9999),R=j.contents().find("body"),w&&R.css("overflow-x","hidden"),L=R.outerHeight(!0))}catch(H){}}else(u.autoWidth||u.autoHeight)&&(a.addClass("envirabox-tmp"),u.autoWidth||a.width(O),u.autoHeight||a.height(L),u.autoWidth&&(O=a.width()),u.autoHeight&&(L=a.height()),a.removeClass("envirabox-tmp"));if(l=f(O),h=f(L),C=O/L,c=f(d(c)?f(c,"w")-S:c),g=f(d(g)?f(g,"w")-S:g),p=f(d(p)?f(p,"h")-T:p),v=f(d(v)?f(v,"h")-T:v),z=g,M=v,u.fitToView&&(g=Math.min(t.w-S,g),v=Math.min(t.h-T,v)),D=t.w-b,P=t.h-_,u.aspectRatio?(l>g&&(l=g,h=f(l/C)),h>v&&(h=v,l=f(h*C)),c>l&&(l=c,h=f(l/C)),p>h&&(h=p,l=f(h*C))):(l=Math.max(c,Math.min(l,g)),u.autoHeight&&"iframe"!==u.type&&(a.width(l),h=a.height()),h=Math.max(p,Math.min(h,v))),u.fitToView)if(a.width(l).height(h),o.width(l+I),k=o.width(),W=o.height(),u.aspectRatio)for(;(k>D||W>P)&&l>c&&h>p&&!(e++>19);)h=Math.max(p,Math.min(v,h-10)),l=f(h*C),c>l&&(l=c,h=f(l/C)),l>g&&(l=g,h=f(l/C)),a.width(l).height(h),o.width(l+I),k=o.width(),W=o.height();else l=Math.max(c,Math.min(l,l-(k-D))),h=Math.max(p,Math.min(h,h-(W-P)));w&&"auto"===y&&L>h&&D>l+I+w&&(l+=w),a.width(l).height(h),o.width(l+I),k=o.width(),W=o.height(),i=(k>D||W>P)&&l>c&&h>p,n=u.aspectRatio?z>l&&M>h&&O>l&&L>h:(z>l||M>h)&&(O>l||L>h),$.extend(u,{dim:{width:m(k),height:m(W)},origWidth:O,origHeight:L,canShrink:i,canExpand:n,wPadding:I,hPadding:E,wrapSpace:W-r.outerHeight(!0),skinSpace:r.height()-h}),!j&&u.autoHeight&&h>p&&v>h&&!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=m(Math.max(a.top,a.top+(i.h-r)*e.topRatio)),a.left=m(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,u=t.wPadding,l=s.getViewport();return!i&&t.isDom&&e.is(":visible")&&(i=e.find("img:first"),i.length||(i=e)),h(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:m(n.top-a*t.topRatio),left:m(n.left-u*t.leftRatio),width:m(o+u),height:m(r+a)}},step:function(t,e){var i,n,o,r=e.prop,a=s.current,u=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-u*i)),s.inner[r](f("width"===r?o:o-u*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]=m(f(i[a])-r),n[a]="+="+r+"px"):(i[a]=m(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)),c(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){var e,i=$(this),n=this.selector||"",o=function(o){var r=$(this).blur(),a=e,u,l;o.ctrlKey||o.altKey||o.shiftKey||o.metaKey||r.is(".envirabox-wrap")||(u=t.groupAttr||"data-envirabox-group",l=r.attr(u),l||(u="rel",l=r.get(0)[u]),l&&""!==l&&"nofollow"!==l&&(r=n.length?$(n):i,r=r.filter("["+u+'="'+l+'"]'),a=r.index(this)),t.index=a,s.open(r,t)!==!1&&o.preventDefault())};return t=t||{},e=t.index||0,n&&t.live!==!1?r.undelegate(n,"click.fb-start").delegate(n+":not('.envirabox-item, .envirabox-nav')","click.fb-start",o):i.unbind("click.fb-start").bind("click.fb-start",o),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(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 u=$.data(s,e);if(!u)return void a(e+" not initialized. Cannot call methods, i.e. "+r);var l=u[i];if(!l||"_"==i.charAt(0))return void a(r+" is not a valid method");var h=l.apply(u,n);o=void 0===o?h:o}),void 0!==o?o:t}function u(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 u(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;u>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=h=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,c=0;u>c;c++){var d=a[c],p=r[d],f=parseFloat(p);s[d]=isNaN(f)?0:f}var m=s.paddingLeft+s.paddingRight,g=s.paddingTop+s.paddingBottom,v=s.marginLeft+s.marginRight,y=s.marginTop+s.marginBottom,w=s.borderLeftWidth+s.borderRightWidth,x=s.borderTopWidth+s.borderBottomWidth,b=l&&h,_=t(r.width);
2
- _!==!1&&(s.width=_+(b?0:m+w));var I=t(r.height);return I!==!1&&(s.height=I+(b?0:g+x)),s.innerWidth=s.width-(m+w),s.innerHeight=s.height-(g+x),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"],u=a.length,l=!1,h;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+"]"),u=document.querySelectorAll(".js-"+r),l=i.makeArray(a).concat(i.makeArray(u)),h=s+"-options",c=t.jQuery;l.forEach(function(t){var i=t.getAttribute(s)||t.getAttribute(h),r;try{r=i&&JSON.parse(i)}catch(a){return void(n&&n.error("Error parsing "+s+" on "+t.className+": "+a))}var u=new e(t,r);c&&c.data(t,o,u)})})},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",u={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[s],l={transform:a,transition:s,transitionDuration:s+"Duration",transitionProperty:s+"Property",transitionDelay:s+"Delay"},h=n.prototype=Object.create(t.prototype);h.constructor=n,h._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},h.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},h.getSize=function(){this.size=e(this.element)},h.css=function(t){var e=this.element.style;for(var i in t){var n=l[i]||i;e[n]=t[i]}},h.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},h.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 u=n?"paddingTop":"paddingBottom",l=n?"top":"bottom",h=n?"bottom":"top",c=this.position.y+t[u];e[l]=this.getYValue(c),e[h]="",this.css(e),this.emitEvent("layout",[this])},h.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},h.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},h._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,u=e-n,l={};l.transform=this.getTranslate(a,u),this.transition({to:l,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},h.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)"},h.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},h.moveTo=h._transitionTo,h.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},h._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},h.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 c="opacity,"+o(a);h.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:c,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(u,this,!1)}},h.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},h.onotransitionend=function(t){this.ontransitionend(t)};var d={"-webkit-transform":"transform"};h.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=d[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])}},h.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(u,this,!1),this.isTransitioning=!1},h._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var p={transitionProperty:"",transitionDuration:"",transitionDelay:""};return h.removeTransitionStyles=function(){this.css(p)},h.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},h.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},h.remove=function(){return s&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},h.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})},h.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},h.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},h.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})},h.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},h.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(u&&u.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=++c;this.element.outlayerGUID=o,d[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 u=t.console,l=t.jQuery,h=function(){},c=0,d={};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=h,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=h,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 d[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&&d[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 u(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},u=r+t.size.outerHeight,l=this.cols+1-o.length,h=0;l>h;h++)this.colYs[s+h]=u;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 u=Math.floor(s/this.columnWidth);u-=s%this.columnWidth?0:1,u=Math.min(this.cols-1,u);for(var l=this._getOption("originTop"),h=(l?n.top:n.bottom)+i.outerHeight,c=a;u>=c;c++)this.colYs[c]=Math.max(h,this.colYs[c])},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 h(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 c(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 d(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],u=o.sortData[s];if(a>u||u>a){var l=void 0!==e[s]?e[s]:e,h=l?1:-1;return(a>u?1:-1)*h}}return 0}}var u=t.jQuery,l=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},h=e.create("enviratope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});h.Item=r,h.LayoutMode=s;var c=h.prototype;c._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)},c.reloadItems=function(){this.itemGUID=0,e.prototype.reloadItems.call(this)},c._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},c._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)},c.layout=function(){return!this._isLayoutInited&&this._getOption("initLayout")?void this.arrange():void this._layout()},c._layout=function(){var t=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,t),this._isLayoutInited=!0},c.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()},c._init=c.arrange,c._hideReveal=function(t){this.reveal(t.needReveal),this.hide(t.needHide)},c._getIsInstant=function(){var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;return this._isInstant=e,e},c._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()})},c._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 u=r(a);u&&i.push(a),u&&a.isHidden?n.push(a):u||a.isHidden||o.push(a)}}return{matches:i,needReveal:n,needHide:o}},c._getFilterTest=function(t){return u&&this.options.isJQueryFiltering?function(e){return u(e.element).is(t)}:"function"==typeof t?function(e){return t(e.element)}:function(e){return n(e.element,t)}},c.updateSortData=function(t){var e;t?(t=o.makeArray(t),e=this.getItems(t)):e=this.items,this._getSorters(),this._updateItemsSortData(e)},c._getSorters=function(){var t=this.options.getSortData;for(var e in t){var i=t[e];this._sorters[e]=d(i)}},c._updateItemsSortData=function(t){for(var e=t&&t.length,i=0;e&&e>i;i++){var n=t[i];n.updateSortData()}};var d=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=h.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}();h.sortDataParsers={parseInt:function(t){return parseInt(t,10)},parseFloat:function(t){return parseFloat(t)}},c._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)}},c._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},c._resetLayout=function(){e.prototype._resetLayout.call(this),this._mode()._resetLayout()},c._getItemLayoutPosition=function(t){return this._mode()._getItemLayoutPosition(t)},c._manageStamp=function(t){this._mode()._manageStamp(t)},c._getContainerSize=function(){return this._mode()._getContainerSize()},c.needsResizeLayout=function(){return this._mode().needsResizeLayout()},c.appended=function(t){var e=this.addItems(t);if(e.length){var i=this._filterRevealAdded(e);this.filteredItems=this.filteredItems.concat(i)}},c.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)}},c._filterRevealAdded=function(t){var e=this._filter(t);return this.hide(e.needHide),this.reveal(e.matches),this.layoutItems(e.matches,!0),e.matches},c.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=c.remove;return c.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)}},c.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()},c._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},c.getFilteredItemElements=function(){return this.filteredItems.map(function(t){return t.element})},h}),jQuery.easing.jswing=jQuery.easing.swing,jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(t,e,i,n,o){return jQuery.easing[jQuery.easing.def](t,e,i,n,o)},easeInQuad:function(t,e,i,n,o){return n*(e/=o)*e+i},easeOutQuad:function(t,e,i,n,o){return-n*(e/=o)*(e-2)+i},easeInOutQuad:function(t,e,i,n,o){return(e/=o/2)<1?n/2*e*e+i:-n/2*(--e*(e-2)-1)+i},easeInCubic:function(t,e,i,n,o){return n*(e/=o)*e*e+i},easeOutCubic:function(t,e,i,n,o){return n*((e=e/o-1)*e*e+1)+i},easeInOutCubic:function(t,e,i,n,o){return(e/=o/2)<1?n/2*e*e*e+i:n/2*((e-=2)*e*e+2)+i},easeInQuart:function(t,e,i,n,o){return n*(e/=o)*e*e*e+i},easeOutQuart:function(t,e,i,n,o){return-n*((e=e/o-1)*e*e*e-1)+i},easeInOutQuart:function(t,e,i,n,o){return(e/=o/2)<1?n/2*e*e*e*e+i:-n/2*((e-=2)*e*e*e-2)+i},easeInQuint:function(t,e,i,n,o){return n*(e/=o)*e*e*e*e+i},easeOutQuint:function(t,e,i,n,o){return n*((e=e/o-1)*e*e*e*e+1)+i},easeInOutQuint:function(t,e,i,n,o){return(e/=o/2)<1?n/2*e*e*e*e*e+i:n/2*((e-=2)*e*e*e*e+2)+i},easeInSine:function(t,e,i,n,o){
3
- return-n*Math.cos(e/o*(Math.PI/2))+n+i},easeOutSine:function(t,e,i,n,o){return n*Math.sin(e/o*(Math.PI/2))+i},easeInOutSine:function(t,e,i,n,o){return-n/2*(Math.cos(Math.PI*e/o)-1)+i},easeInExpo:function(t,e,i,n,o){return 0==e?i:n*Math.pow(2,10*(e/o-1))+i},easeOutExpo:function(t,e,i,n,o){return e==o?i+n:n*(-Math.pow(2,-10*e/o)+1)+i},easeInOutExpo:function(t,e,i,n,o){return 0==e?i:e==o?i+n:(e/=o/2)<1?n/2*Math.pow(2,10*(e-1))+i:n/2*(-Math.pow(2,-10*--e)+2)+i},easeInCirc:function(t,e,i,n,o){return-n*(Math.sqrt(1-(e/=o)*e)-1)+i},easeOutCirc:function(t,e,i,n,o){return n*Math.sqrt(1-(e=e/o-1)*e)+i},easeInOutCirc:function(t,e,i,n,o){return(e/=o/2)<1?-n/2*(Math.sqrt(1-e*e)-1)+i:n/2*(Math.sqrt(1-(e-=2)*e)+1)+i},easeInElastic:function(t,e,i,n,o){var r=1.70158,s=0,a=n;if(0==e)return i;if(1==(e/=o))return i+n;if(s||(s=.3*o),a<Math.abs(n)){a=n;var r=s/4}else var r=s/(2*Math.PI)*Math.asin(n/a);return-(a*Math.pow(2,10*(e-=1))*Math.sin((e*o-r)*(2*Math.PI)/s))+i},easeOutElastic:function(t,e,i,n,o){var r=1.70158,s=0,a=n;if(0==e)return i;if(1==(e/=o))return i+n;if(s||(s=.3*o),a<Math.abs(n)){a=n;var r=s/4}else var r=s/(2*Math.PI)*Math.asin(n/a);return a*Math.pow(2,-10*e)*Math.sin((e*o-r)*(2*Math.PI)/s)+n+i},easeInOutElastic:function(t,e,i,n,o){var r=1.70158,s=0,a=n;if(0==e)return i;if(2==(e/=o/2))return i+n;if(s||(s=o*(.3*1.5)),a<Math.abs(n)){a=n;var r=s/4}else var r=s/(2*Math.PI)*Math.asin(n/a);return 1>e?-.5*(a*Math.pow(2,10*(e-=1))*Math.sin((e*o-r)*(2*Math.PI)/s))+i:a*Math.pow(2,-10*(e-=1))*Math.sin((e*o-r)*(2*Math.PI)/s)*.5+n+i},easeInBack:function(t,e,i,n,o,r){return void 0==r&&(r=1.70158),n*(e/=o)*e*((r+1)*e-r)+i},easeOutBack:function(t,e,i,n,o,r){return void 0==r&&(r=1.70158),n*((e=e/o-1)*e*((r+1)*e+r)+1)+i},easeInOutBack:function(t,e,i,n,o,r){return void 0==r&&(r=1.70158),(e/=o/2)<1?n/2*(e*e*(((r*=1.525)+1)*e-r))+i:n/2*((e-=2)*e*(((r*=1.525)+1)*e+r)+2)+i},easeInBounce:function(t,e,i,n,o){return n-jQuery.easing.easeOutBounce(t,o-e,0,n,o)+i},easeOutBounce:function(t,e,i,n,o){return(e/=o)<1/2.75?n*(7.5625*e*e)+i:2/2.75>e?n*(7.5625*(e-=1.5/2.75)*e+.75)+i:2.5/2.75>e?n*(7.5625*(e-=2.25/2.75)*e+.9375)+i:n*(7.5625*(e-=2.625/2.75)*e+.984375)+i},easeInOutBounce:function(t,e,i,n,o){return o/2>e?.5*jQuery.easing.easeInBounce(t,2*e,0,n,o)+i:.5*jQuery.easing.easeOutBounce(t,2*e-o,0,n,o)+.5*n+i}}),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),u=0,h=0,c=0,d=0,p=0,f=0;if(t=$.event.fix(n),t.type="mousewheel","detail"in n&&(c=-1*n.detail),"wheelDelta"in n&&(c=n.wheelDelta),"wheelDeltaY"in n&&(c=n.wheelDeltaY),"wheelDeltaX"in n&&(h=-1*n.wheelDeltaX),"axis"in n&&n.axis===n.HORIZONTAL_AXIS&&(h=-1*c,c=0),u=0===c?h:c,"deltaY"in n&&(c=-1*n.deltaY,u=c),"deltaX"in n&&(h=n.deltaX,0===c&&(u=-1*h)),0!==c||0!==h){if(1===n.deltaMode){var m=$.data(this,"mousewheel-line-height");u*=m,c*=m,h*=m}else if(2===n.deltaMode){var g=$.data(this,"mousewheel-page-height");u*=g,c*=g,h*=g}if(d=Math.max(Math.abs(c),Math.abs(h)),(!a||a>d)&&(a=d,i(n,d)&&(a/=40)),i(n,d)&&(u/=40,h/=40,c/=40),u=Math[u>=1?"floor":"ceil"](u/a),h=Math[h>=1?"floor":"ceil"](h/a),c=Math[c>=1?"floor":"ceil"](c/a),l.settings.normalizeOffset&&this.getBoundingClientRect){var v=this.getBoundingClientRect();p=t.clientX-v.left,f=t.clientY-v.top}return t.deltaX=h,t.deltaY=c,t.deltaFactor=a,t.offsetX=p,t.offsetY=f,t.deltaMode=0,o.unshift(t,u,h,c),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 u=n.length;u;)$.event.fixHooks[n[--u]]=$.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)}})}),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=u),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(O);n||(n=new e(this,t),i.data(O,n))})}function e(t,e){function m(t){if(!(lt()||$(t.target).closest(e.excludedElements,Nt).length>0)){var i=t.originalEvent?t.originalEvent:t,n,o=E?i.touches[0]:i;return Yt=x,E?Ut=i.touches.length:t.preventDefault(),Pt=0,jt=null,Qt=null,Rt=0,Ht=0,At=0,Bt=1,qt=0,Vt=ft(),Ft=vt(),at(),!E||Ut===e.fingers||e.fingers===y||Q()?(ct(0,o),Xt=Tt(),2==Ut&&(ct(1,i.touches[1]),Ht=At=xt(Vt[0].start,Vt[1].start)),(e.swipeStatus||e.pinchStatus)&&(n=D(i,Yt))):n=!1,n===!1?(Yt=I,D(i,Yt),n):(e.hold&&(te=setTimeout($.proxy(function(){Nt.trigger("hold",[i.target]),e.hold&&(n=e.hold.call(Nt,i,i.target))},this),e.longTapThreshold)),ht(!0),null)}}function L(t){var i=t.originalEvent?t.originalEvent:t;if(Yt!==_&&Yt!==I&&!ut()){var n,o=E?i.touches[0]:i,r=dt(o);if(Gt=Tt(),E&&(Ut=i.touches.length),e.hold&&clearTimeout(te),Yt=b,2==Ut&&(0==Ht?(ct(1,i.touches[1]),Ht=At=xt(Vt[0].start,Vt[1].start)):(dt(i.touches[1]),At=xt(Vt[0].end,Vt[1].end),Qt=_t(Vt[0].end,Vt[1].end)),Bt=bt(Ht,At),qt=Math.abs(Ht-At)),Ut===e.fingers||e.fingers===y||!E||Q()){if(jt=St(r.start,r.end),B(t,jt),Pt=It(r.start,r.end),Rt=wt(),mt(jt,Pt),(e.swipeStatus||e.pinchStatus)&&(n=D(i,Yt)),!e.triggerOnTouchEnd||e.triggerOnTouchLeave){var s=!0;if(e.triggerOnTouchLeave){var a=Ot(this);s=Lt(r.end,a)}!e.triggerOnTouchEnd&&s?Yt=W(b):e.triggerOnTouchLeave&&!s&&(Yt=W(_)),(Yt==I||Yt==_)&&D(i,Yt)}}else Yt=I,D(i,Yt);n===!1&&(Yt=I,D(i,Yt))}}function z(t){var i=t.originalEvent;return E&&i.touches.length>0?(st(),!0):(ut()&&(Ut=$t),Gt=Tt(),Rt=wt(),R()||!j()?(Yt=I,D(i,Yt)):e.triggerOnTouchEnd||0==e.triggerOnTouchEnd&&Yt===b?(t.preventDefault(),Yt=_,D(i,Yt)):!e.triggerOnTouchEnd&&G()?(Yt=_,P(i,Yt,d)):Yt===b&&(Yt=I,D(i,Yt)),ht(!1),null)}function M(){Ut=0,Gt=0,Xt=0,Ht=0,At=0,Bt=1,at(),ht(!1)}function C(t){var i=t.originalEvent;e.triggerOnTouchLeave&&(Yt=W(_),D(i,Yt))}function k(){Nt.unbind(Mt,m),Nt.unbind(Dt,M),Nt.unbind(Ct,L),Nt.unbind(kt,z),Wt&&Nt.unbind(Wt,C),ht(!1)}function W(t){var i=t,n=A(),o=j(),r=R();return!n||r?i=I:!o||t!=b||e.triggerOnTouchEnd&&!e.triggerOnTouchLeave?!o&&t==_&&e.triggerOnTouchLeave&&(i=I):i=_,i}function D(t,e){var i=void 0;return U()||Y()?i=P(t,e,h):(F()||Q())&&i!==!1&&(i=P(t,e,c)),ot()&&i!==!1?i=P(t,e,p):rt()&&i!==!1?i=P(t,e,f):nt()&&i!==!1&&(i=P(t,e,d)),e===I&&M(t),e===_&&(E?0==t.touches.length&&M(t):M(t)),i}function P(t,u,l){var m=void 0;if(l==h){if(Nt.trigger("swipeStatus",[u,jt||null,Pt||0,Rt||0,Ut,Vt]),e.swipeStatus&&(m=e.swipeStatus.call(Nt,t,u,jt||null,Pt||0,Rt||0,Ut,Vt),m===!1))return!1;if(u==_&&N()){if(Nt.trigger("swipe",[jt,Pt,Rt,Ut,Vt]),e.swipe&&(m=e.swipe.call(Nt,t,jt,Pt,Rt,Ut,Vt),m===!1))return!1;switch(jt){case i:Nt.trigger("swipeLeft",[jt,Pt,Rt,Ut,Vt]),e.swipeLeft&&(m=e.swipeLeft.call(Nt,t,jt,Pt,Rt,Ut,Vt));break;case n:Nt.trigger("swipeRight",[jt,Pt,Rt,Ut,Vt]),e.swipeRight&&(m=e.swipeRight.call(Nt,t,jt,Pt,Rt,Ut,Vt));break;case o:Nt.trigger("swipeUp",[jt,Pt,Rt,Ut,Vt]),e.swipeUp&&(m=e.swipeUp.call(Nt,t,jt,Pt,Rt,Ut,Vt));break;case r:Nt.trigger("swipeDown",[jt,Pt,Rt,Ut,Vt]),e.swipeDown&&(m=e.swipeDown.call(Nt,t,jt,Pt,Rt,Ut,Vt))}}}if(l==c){if(Nt.trigger("pinchStatus",[u,Qt||null,qt||0,Rt||0,Ut,Bt,Vt]),e.pinchStatus&&(m=e.pinchStatus.call(Nt,t,u,Qt||null,qt||0,Rt||0,Ut,Bt,Vt),m===!1))return!1;if(u==_&&q())switch(Qt){case s:Nt.trigger("pinchIn",[Qt||null,qt||0,Rt||0,Ut,Bt,Vt]),e.pinchIn&&(m=e.pinchIn.call(Nt,t,Qt||null,qt||0,Rt||0,Ut,Bt,Vt));break;case a:Nt.trigger("pinchOut",[Qt||null,qt||0,Rt||0,Ut,Bt,Vt]),e.pinchOut&&(m=e.pinchOut.call(Nt,t,Qt||null,qt||0,Rt||0,Ut,Bt,Vt))}}return l==d?(u===I||u===_)&&(clearTimeout(Jt),clearTimeout(te),Z()&&!tt()?(Kt=Tt(),Jt=setTimeout($.proxy(function(){Kt=null,Nt.trigger("tap",[t.target]),e.tap&&(m=e.tap.call(Nt,t,t.target))},this),e.doubleTapThreshold)):(Kt=null,Nt.trigger("tap",[t.target]),e.tap&&(m=e.tap.call(Nt,t,t.target)))):l==p?(u===I||u===_)&&(clearTimeout(Jt),Kt=null,Nt.trigger("doubletap",[t.target]),e.doubleTap&&(m=e.doubleTap.call(Nt,t,t.target))):l==f&&(u===I||u===_)&&(clearTimeout(Jt),Kt=null,Nt.trigger("longtap",[t.target]),e.longTap&&(m=e.longTap.call(Nt,t,t.target))),m}function j(){var t=!0;return null!==e.threshold&&(t=Pt>=e.threshold),t}function R(){var t=!1;return null!==e.cancelThreshold&&null!==jt&&(t=gt(jt)-Pt>=e.cancelThreshold),t}function H(){return null!==e.pinchThreshold?qt>=e.pinchThreshold:!0}function A(){var t;return t=e.maxTimeThreshold&&Rt>=e.maxTimeThreshold?!1:!0}function B(t,s){if(e.allowPageScroll===u||Q())t.preventDefault();else{var a=e.allowPageScroll===l;switch(s){case i:(e.swipeLeft&&a||!a&&e.allowPageScroll!=g)&&t.preventDefault();break;case n:(e.swipeRight&&a||!a&&e.allowPageScroll!=g)&&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 q(){var t=V(),e=X(),i=H();return t&&e&&i}function Q(){return!!(e.pinchStatus||e.pinchIn||e.pinchOut)}function F(){return!(!q()||!Q())}function N(){var t=A(),e=j(),i=V(),n=X(),o=R(),r=!o&&n&&i&&e&&t;return r}function Y(){return!!(e.swipe||e.swipeStatus||e.swipeLeft||e.swipeRight||e.swipeUp||e.swipeDown)}function U(){return!(!N()||!Y())}function V(){return Ut===e.fingers||e.fingers===y||!E}function X(){return 0!==Vt[0].end.x}function G(){return!!e.tap}function Z(){return!!e.doubleTap}function K(){return!!e.longTap}function J(){if(null==Kt)return!1;var t=Tt();return Z()&&t-Kt<=e.doubleTapThreshold}function tt(){return J()}function et(){return(1===Ut||!E)&&(isNaN(Pt)||Pt<e.threshold)}function it(){return Rt>e.longTapThreshold&&w>Pt}function nt(){return!(!et()||!G())}function ot(){return!(!J()||!Z())}function rt(){return!(!it()||!K())}function st(){Zt=Tt(),$t=event.touches.length+1}function at(){Zt=0,$t=0}function ut(){var t=!1;if(Zt){var i=Tt()-Zt;i<=e.fingerReleaseThreshold&&(t=!0)}return t}function lt(){return!(Nt.data(O+"_intouch")!==!0)}function ht(t){t===!0?(Nt.bind(Ct,L),Nt.bind(kt,z),Wt&&Nt.bind(Wt,C)):(Nt.unbind(Ct,L,!1),Nt.unbind(kt,z,!1),Wt&&Nt.unbind(Wt,C,!1)),Nt.data(O+"_intouch",t===!0)}function ct(t,e){var i=void 0!==e.identifier?e.identifier:0;return Vt[t].identifier=i,Vt[t].start.x=Vt[t].end.x=e.pageX||e.clientX,Vt[t].start.y=Vt[t].end.y=e.pageY||e.clientY,Vt[t]}function dt(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<Vt.length;e++)if(Vt[e].identifier==t)return Vt[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 mt(t,e){e=Math.max(e,gt(t)),Ft[t].distance=e}function gt(t){return Ft[t]?Ft[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-Xt}function xt(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 bt(t,e){var i=e/t*1;return i.toFixed(2)}function _t(){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 St(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 Ot(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 Lt(t,e){return t.x>e.left&&t.x<e.right&&t.y>e.top&&t.y<e.bottom}var zt=E||T||!e.fallbackToMouseEvents,Mt=zt?T?S?"MSPointerDown":"pointerdown":"touchstart":"mousedown",Ct=zt?T?S?"MSPointerMove":"pointermove":"touchmove":"mousemove",kt=zt?T?S?"MSPointerUp":"pointerup":"touchend":"mouseup",Wt=zt?null:"mouseleave",Dt=T?S?"MSPointerCancel":"pointercancel":"touchcancel",Pt=0,jt=null,Rt=0,Ht=0,At=0,Bt=1,qt=0,Qt=0,Ft=null,Nt=$(t),Yt="start",Ut=0,Vt=null,Xt=0,Gt=0,Zt=0,$t=0,Kt=0,Jt=null,te=null;try{Nt.bind(Mt,m),Nt.bind(Dt,M)}catch(ee){$.error("events not supported "+Mt+","+Dt+" on jQuery.swipe")}this.enable=function(){return Nt.bind(Mt,m),Nt.bind(Dt,M),Nt},this.disable=function(){return k(),Nt},this.destroy=function(){k(),Nt.data(O,null),Nt=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",u="none",l="auto",h="swipe",c="pinch",d="tap",p="doubletap",f="longtap",m="hold",g="horizontal",v="vertical",y="all",w=10,x="start",b="move",_="end",I="cancel",E="ontouchstart"in window,S=window.navigator.msPointerEnabled&&!window.navigator.pointerEnabled,T=window.navigator.pointerEnabled||window.navigator.msPointerEnabled,O="TouchSwipe",L={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(O);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=L,$.fn.swipe.phases={PHASE_START:x,PHASE_MOVE:b,PHASE_END:_,PHASE_CANCEL:I},$.fn.swipe.directions={LEFT:i,RIGHT:n,UP:o,DOWN:r,IN:s,OUT:a},$.fn.swipe.pageScroll={NONE:u,HORIZONTAL:g,VERTICAL:v,AUTO:l},$.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:y}}),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})});
1
+ !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,u=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&&u&&u.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 u=$.data(s,e);if(!u)return void a(e+" not initialized. Cannot call methods, i.e. "+r);var l=u[i];if(!l||"_"==i.charAt(0))return void a(r+" is not a valid method");var h=l.apply(u,n);o=void 0===o?h:o}),void 0!==o?o:t}function u(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 u(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;u>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=h=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;u>d;d++){var c=a[d],p=r[c],f=parseFloat(p);s[c]=isNaN(f)?0:f}var m=s.paddingLeft+s.paddingRight,g=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&&h,_=t(r.width);_!==!1&&(s.width=_+(x?0:m+w));var I=t(r.height);return I!==!1&&(s.height=I+(x?0:g+b)),s.innerWidth=s.width-(m+w),s.innerHeight=s.height-(g+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"],u=a.length,l=!1,h;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+"]"),u=document.querySelectorAll(".js-"+r),l=i.makeArray(a).concat(i.makeArray(u)),h=s+"-options",d=t.jQuery;l.forEach(function(t){var i=t.getAttribute(s)||t.getAttribute(h),r;try{r=i&&JSON.parse(i)}catch(a){return void(n&&n.error("Error parsing "+s+" on "+t.className+": "+a))}var u=new e(t,r);d&&d.data(t,o,u)})})},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",u={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[s],l={transform:a,transition:s,transitionDuration:s+"Duration",transitionProperty:s+"Property",transitionDelay:s+"Delay"},h=n.prototype=Object.create(t.prototype);h.constructor=n,h._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},h.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},h.getSize=function(){this.size=e(this.element)},h.css=function(t){var e=this.element.style;for(var i in t){var n=l[i]||i;e[n]=t[i]}},h.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},h.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 u=n?"paddingTop":"paddingBottom",l=n?"top":"bottom",h=n?"bottom":"top",d=this.position.y+t[u];e[l]=this.getYValue(d),e[h]="",this.css(e),this.emitEvent("layout",[this])},h.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},h.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},h._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,u=e-n,l={};l.transform=this.getTranslate(a,u),this.transition({to:l,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},h.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)"},h.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},h.moveTo=h._transitionTo,h.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},h._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},h.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);h.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(u,this,!1)}},h.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},h.onotransitionend=function(t){this.ontransitionend(t)};var c={"-webkit-transform":"transform"};h.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])}},h.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(u,this,!1),this.isTransitioning=!1},h._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var p={transitionProperty:"",transitionDuration:"",transitionDelay:""};return h.removeTransitionStyles=function(){this.css(p)},h.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},h.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},h.remove=function(){return s&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},h.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})},h.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},h.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},h.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})},h.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},h.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(u&&u.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 u=t.console,l=t.jQuery,h=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=h,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=h,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 u(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},u=r+t.size.outerHeight,l=this.cols+1-o.length,h=0;l>h;h++)this.colYs[s+h]=u;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 u=Math.floor(s/this.columnWidth);u-=s%this.columnWidth?0:1,u=Math.min(this.cols-1,u);for(var l=this._getOption("originTop"),h=(l?n.top:n.bottom)+i.outerHeight,d=a;u>=d;d++)this.colYs[d]=Math.max(h,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 h(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);
2
+ },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],u=o.sortData[s];if(a>u||u>a){var l=void 0!==e[s]?e[s]:e,h=l?1:-1;return(a>u?1:-1)*h}}return 0}}var u=t.jQuery,l=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},h=e.create("enviratope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});h.Item=r,h.LayoutMode=s;var d=h.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 u=r(a);u&&i.push(a),u&&a.isHidden?n.push(a):u||a.isHidden||o.push(a)}}return{matches:i,needReveal:n,needHide:o}},d._getFilterTest=function(t){return u&&this.options.isJQueryFiltering?function(e){return u(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=h.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}();h.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})},h}),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),u=null,l=e.createTouch!==i,h=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)},m=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){return t&&($.isPlainObject(e)||(e={}),!1!==s.close(!0))?($.isArray(t)||(t=h(t)?$(t).get():[t]),$.each(t,function(n,o){var r={},a,u,l,c,p,f,m;"object"===$.type(o)&&(o.nodeType&&(o=$(o)),h(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),u=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(),m=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:u,selector:m}),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(u),u=null),s.isOpen&&!u&&(u=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"),u=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"),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&&h(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),u=!1;a.length&&!(u||a.is(".envirabox-skin")||a.is(".envirabox-wrap"));)u=p(a[0]),a=$(a).parent();0===i||u||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,m(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,u,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}),u=n.href,r){case"inline":case"ajax":case"html":n.selector?o=$("<div>").html(o).find(n.selector):h(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,u);break;case"swf":o='<object id="envirabox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+u+'"></param>',l="",$.each(n.swf,function(t,e){o+='<param name="'+t+'" value="'+e+'"></param>',l+=" "+t+'="'+e+'"'}),o+='<embed src="'+u+'" type="application/x-shockwave-flash" width="100%" height="100%"'+l+"></embed></object>"}h(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,u=s.current,l=u.width,h=u.height,d=u.minWidth,p=u.minHeight,g=u.maxWidth,v=u.maxHeight,y=u.scrolling,w=u.scrollOutside?u.scrollbarWidth:0,b=u.margin,x=f(b[1]+b[3]),_=f(b[0]+b[2]),I,E,S,T,O,L,z,M,C,k,W,P,j,D,R;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()),S=x+I,T=_+E,O=c(l)?(t.w-S)*f(l)/100:l,L=c(h)?(t.h-T)*f(h)/100:h,"iframe"===u.type){if(D=u.content,u.autoHeight&&1===D.data("ready"))try{D[0].contentWindow.document.location&&(a.width(O).height(9999),R=D.contents().find("body"),w&&R.css("overflow-x","hidden"),L=R.outerHeight(!0))}catch(A){}}else(u.autoWidth||u.autoHeight)&&(a.addClass("envirabox-tmp"),u.autoWidth||a.width(O),u.autoHeight||a.height(L),u.autoWidth&&(O=a.width()),u.autoHeight&&(L=a.height()),a.removeClass("envirabox-tmp"));if(l=f(O),h=f(L),C=O/L,d=f(c(d)?f(d,"w")-S:d),g=f(c(g)?f(g,"w")-S:g),p=f(c(p)?f(p,"h")-T:p),v=f(c(v)?f(v,"h")-T:v),z=g,M=v,u.fitToView&&(g=Math.min(t.w-S,g),v=Math.min(t.h-T,v)),P=t.w-x,j=t.h-_,u.aspectRatio?(l>g&&(l=g,h=f(l/C)),h>v&&(h=v,l=f(h*C)),d>l&&(l=d,h=f(l/C)),p>h&&(h=p,l=f(h*C))):(l=Math.max(d,Math.min(l,g)),u.autoHeight&&"iframe"!==u.type&&(a.width(l),h=a.height()),h=Math.max(p,Math.min(h,v))),u.fitToView)if(a.width(l).height(h),o.width(l+I),k=o.width(),W=o.height(),u.aspectRatio)for(;(k>P||W>j)&&l>d&&h>p&&!(e++>19);)h=Math.max(p,Math.min(v,h-10)),l=f(h*C),d>l&&(l=d,h=f(l/C)),l>g&&(l=g,h=f(l/C)),a.width(l).height(h),o.width(l+I),k=o.width(),W=o.height();else l=Math.max(d,Math.min(l,l-(k-P))),h=Math.max(p,Math.min(h,h-(W-j)));w&&"auto"===y&&L>h&&P>l+I+w&&(l+=w),a.width(l).height(h),o.width(l+I),k=o.width(),W=o.height(),i=(k>P||W>j)&&l>d&&h>p,n=u.aspectRatio?z>l&&M>h&&O>l&&L>h:(z>l||M>h)&&(O>l||L>h),$.extend(u,{dim:{width:m(k),height:m(W)},origWidth:O,origHeight:L,canShrink:i,canExpand:n,wPadding:I,hPadding:E,wrapSpace:W-r.outerHeight(!0),skinSpace:r.height()-h}),!D&&u.autoHeight&&h>p&&v>h&&!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=m(Math.max(a.top,a.top+(i.h-r)*e.topRatio)),a.left=m(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,u=t.wPadding,l=s.getViewport();return!i&&t.isDom&&e.is(":visible")&&(i=e.find("img:first"),i.length||(i=e)),h(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:m(n.top-a*t.topRatio),left:m(n.left-u*t.leftRatio),width:m(o+u),height:m(r+a)}},step:function(t,e){var i,n,o,r=e.prop,a=s.current,u=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-u*i)),s.inner[r](f("width"===r?o:o-u*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]=m(f(i[a])-r),n[a]="+="+r+"px"):(i[a]=m(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){var e,i=$(this),n=this.selector||"",o=function(o){var r=$(this).blur(),a=e,u,l;o.ctrlKey||o.altKey||o.shiftKey||o.metaKey||r.is(".envirabox-wrap")||(u=t.groupAttr||"data-envirabox-group",l=r.attr(u),l||(u="rel",l=r.get(0)[u]),l&&""!==l&&"nofollow"!==l&&(r=n.length?$(n):i,r=r.filter("["+u+'="'+l+'"]'),a=r.index(this)),t.index=a,s.open(r,t)!==!1&&o.preventDefault())};return t=t||{},e=t.index||0,n&&t.live!==!1?r.undelegate(n,"click.fb-start").delegate(n+":not('.envirabox-item, .envirabox-nav')","click.fb-start",o):i.unbind("click.fb-start").bind("click.fb-start",o),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",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)):void(e.margin["bottom"===t.position?2:0]+=30)},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"),n={prev:this.list.find(".btnPrev").click(t.prev),
3
+ 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,u;for(r in t)if(t.hasOwnProperty(r)&&(s=t[r],a=n.match(s.matcher))){o=s.type,u=$.extend(!0,{},s.params,i[r]||($.isPlainObject(t[r])?t[r].params:null)),n="function"===$.type(s.url)?s.url.call(this,a,u,i):e(s.url,a,u);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",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,u;i.list&&e&&n&&(s=e/o,a=n/r,u=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)}),u.width(o).height(r),$(this).hide().appendTo(u).fadeIn(300))}).attr("src",a).attr("title",n.title)});var u=this.list.children().eq(0),l=$("a",$(u));this.width=parseInt(l.css("border-left-width"))+parseInt(l.css("border-left-width"))+parseInt(u.css("margin-left"))+parseInt(u.css("margin-right"))+parseInt(u.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),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),jQuery.easing.jswing=jQuery.easing.swing,jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(t,e,i,n,o){return jQuery.easing[jQuery.easing.def](t,e,i,n,o)},easeInQuad:function(t,e,i,n,o){return n*(e/=o)*e+i},easeOutQuad:function(t,e,i,n,o){return-n*(e/=o)*(e-2)+i},easeInOutQuad:function(t,e,i,n,o){return(e/=o/2)<1?n/2*e*e+i:-n/2*(--e*(e-2)-1)+i},easeInCubic:function(t,e,i,n,o){return n*(e/=o)*e*e+i},easeOutCubic:function(t,e,i,n,o){return n*((e=e/o-1)*e*e+1)+i},easeInOutCubic:function(t,e,i,n,o){return(e/=o/2)<1?n/2*e*e*e+i:n/2*((e-=2)*e*e+2)+i},easeInQuart:function(t,e,i,n,o){return n*(e/=o)*e*e*e+i},easeOutQuart:function(t,e,i,n,o){return-n*((e=e/o-1)*e*e*e-1)+i},easeInOutQuart:function(t,e,i,n,o){return(e/=o/2)<1?n/2*e*e*e*e+i:-n/2*((e-=2)*e*e*e-2)+i},easeInQuint:function(t,e,i,n,o){return n*(e/=o)*e*e*e*e+i},easeOutQuint:function(t,e,i,n,o){return n*((e=e/o-1)*e*e*e*e+1)+i},easeInOutQuint:function(t,e,i,n,o){return(e/=o/2)<1?n/2*e*e*e*e*e+i:n/2*((e-=2)*e*e*e*e+2)+i},easeInSine:function(t,e,i,n,o){return-n*Math.cos(e/o*(Math.PI/2))+n+i},easeOutSine:function(t,e,i,n,o){return n*Math.sin(e/o*(Math.PI/2))+i},easeInOutSine:function(t,e,i,n,o){return-n/2*(Math.cos(Math.PI*e/o)-1)+i},easeInExpo:function(t,e,i,n,o){return 0==e?i:n*Math.pow(2,10*(e/o-1))+i},easeOutExpo:function(t,e,i,n,o){return e==o?i+n:n*(-Math.pow(2,-10*e/o)+1)+i},easeInOutExpo:function(t,e,i,n,o){return 0==e?i:e==o?i+n:(e/=o/2)<1?n/2*Math.pow(2,10*(e-1))+i:n/2*(-Math.pow(2,-10*--e)+2)+i},easeInCirc:function(t,e,i,n,o){return-n*(Math.sqrt(1-(e/=o)*e)-1)+i},easeOutCirc:function(t,e,i,n,o){return n*Math.sqrt(1-(e=e/o-1)*e)+i},easeInOutCirc:function(t,e,i,n,o){return(e/=o/2)<1?-n/2*(Math.sqrt(1-e*e)-1)+i:n/2*(Math.sqrt(1-(e-=2)*e)+1)+i},easeInElastic:function(t,e,i,n,o){var r=1.70158,s=0,a=n;if(0==e)return i;if(1==(e/=o))return i+n;if(s||(s=.3*o),a<Math.abs(n)){a=n;var r=s/4}else var r=s/(2*Math.PI)*Math.asin(n/a);return-(a*Math.pow(2,10*(e-=1))*Math.sin((e*o-r)*(2*Math.PI)/s))+i},easeOutElastic:function(t,e,i,n,o){var r=1.70158,s=0,a=n;if(0==e)return i;if(1==(e/=o))return i+n;if(s||(s=.3*o),a<Math.abs(n)){a=n;var r=s/4}else var r=s/(2*Math.PI)*Math.asin(n/a);return a*Math.pow(2,-10*e)*Math.sin((e*o-r)*(2*Math.PI)/s)+n+i},easeInOutElastic:function(t,e,i,n,o){var r=1.70158,s=0,a=n;if(0==e)return i;if(2==(e/=o/2))return i+n;if(s||(s=o*(.3*1.5)),a<Math.abs(n)){a=n;var r=s/4}else var r=s/(2*Math.PI)*Math.asin(n/a);return 1>e?-.5*(a*Math.pow(2,10*(e-=1))*Math.sin((e*o-r)*(2*Math.PI)/s))+i:a*Math.pow(2,-10*(e-=1))*Math.sin((e*o-r)*(2*Math.PI)/s)*.5+n+i},easeInBack:function(t,e,i,n,o,r){return void 0==r&&(r=1.70158),n*(e/=o)*e*((r+1)*e-r)+i},easeOutBack:function(t,e,i,n,o,r){return void 0==r&&(r=1.70158),n*((e=e/o-1)*e*((r+1)*e+r)+1)+i},easeInOutBack:function(t,e,i,n,o,r){return void 0==r&&(r=1.70158),(e/=o/2)<1?n/2*(e*e*(((r*=1.525)+1)*e-r))+i:n/2*((e-=2)*e*(((r*=1.525)+1)*e+r)+2)+i},easeInBounce:function(t,e,i,n,o){return n-jQuery.easing.easeOutBounce(t,o-e,0,n,o)+i},easeOutBounce:function(t,e,i,n,o){return(e/=o)<1/2.75?n*(7.5625*e*e)+i:2/2.75>e?n*(7.5625*(e-=1.5/2.75)*e+.75)+i:2.5/2.75>e?n*(7.5625*(e-=2.25/2.75)*e+.9375)+i:n*(7.5625*(e-=2.625/2.75)*e+.984375)+i},easeInOutBounce:function(t,e,i,n,o){return o/2>e?.5*jQuery.easing.easeInBounce(t,2*e,0,n,o)+i:.5*jQuery.easing.easeOutBounce(t,2*e-o,0,n,o)+.5*n+i}}),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),u=0,h=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&&(h=-1*n.wheelDeltaX),"axis"in n&&n.axis===n.HORIZONTAL_AXIS&&(h=-1*d,d=0),u=0===d?h:d,"deltaY"in n&&(d=-1*n.deltaY,u=d),"deltaX"in n&&(h=n.deltaX,0===d&&(u=-1*h)),0!==d||0!==h){if(1===n.deltaMode){var m=$.data(this,"mousewheel-line-height");u*=m,d*=m,h*=m}else if(2===n.deltaMode){var g=$.data(this,"mousewheel-page-height");u*=g,d*=g,h*=g}if(c=Math.max(Math.abs(d),Math.abs(h)),(!a||a>c)&&(a=c,i(n,c)&&(a/=40)),i(n,c)&&(u/=40,h/=40,d/=40),u=Math[u>=1?"floor":"ceil"](u/a),h=Math[h>=1?"floor":"ceil"](h/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=h,t.deltaY=d,t.deltaFactor=a,t.offsetX=p,t.offsetY=f,t.deltaMode=0,o.unshift(t,u,h,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 u=n.length;u;)$.event.fixHooks[n[--u]]=$.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)}})}),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=u),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(O);n||(n=new e(this,t),i.data(O,n))})}function e(t,e){function m(t){if(!(lt()||$(t.target).closest(e.excludedElements,Nt).length>0)){var i=t.originalEvent?t.originalEvent:t,n,o=E?i.touches[0]:i;return Ut=b,E?Yt=i.touches.length:t.preventDefault(),jt=0,Dt=null,Qt=null,Rt=0,At=0,Ht=0,qt=1,Bt=0,Vt=ft(),Ft=vt(),at(),!E||Yt===e.fingers||e.fingers===y||Q()?(dt(0,o),$t=Tt(),2==Yt&&(dt(1,i.touches[1]),At=Ht=bt(Vt[0].start,Vt[1].start)),(e.swipeStatus||e.pinchStatus)&&(n=P(i,Ut))):n=!1,n===!1?(Ut=I,P(i,Ut),n):(e.hold&&(te=setTimeout($.proxy(function(){Nt.trigger("hold",[i.target]),e.hold&&(n=e.hold.call(Nt,i,i.target))},this),e.longTapThreshold)),ht(!0),null)}}function L(t){var i=t.originalEvent?t.originalEvent:t;if(Ut!==_&&Ut!==I&&!ut()){var n,o=E?i.touches[0]:i,r=ct(o);if(Xt=Tt(),E&&(Yt=i.touches.length),e.hold&&clearTimeout(te),Ut=x,2==Yt&&(0==At?(dt(1,i.touches[1]),At=Ht=bt(Vt[0].start,Vt[1].start)):(ct(i.touches[1]),Ht=bt(Vt[0].end,Vt[1].end),Qt=_t(Vt[0].end,Vt[1].end)),qt=xt(At,Ht),Bt=Math.abs(At-Ht)),Yt===e.fingers||e.fingers===y||!E||Q()){if(Dt=St(r.start,r.end),q(t,Dt),jt=It(r.start,r.end),Rt=wt(),mt(Dt,jt),(e.swipeStatus||e.pinchStatus)&&(n=P(i,Ut)),!e.triggerOnTouchEnd||e.triggerOnTouchLeave){var s=!0;if(e.triggerOnTouchLeave){var a=Ot(this);s=Lt(r.end,a)}!e.triggerOnTouchEnd&&s?Ut=W(x):e.triggerOnTouchLeave&&!s&&(Ut=W(_)),(Ut==I||Ut==_)&&P(i,Ut)}}else Ut=I,P(i,Ut);n===!1&&(Ut=I,P(i,Ut))}}function z(t){var i=t.originalEvent;return E&&i.touches.length>0?(st(),!0):(ut()&&(Yt=Gt),Xt=Tt(),Rt=wt(),R()||!D()?(Ut=I,P(i,Ut)):e.triggerOnTouchEnd||0==e.triggerOnTouchEnd&&Ut===x?(t.preventDefault(),Ut=_,P(i,Ut)):!e.triggerOnTouchEnd&&Z()?(Ut=_,j(i,Ut,c)):Ut===x&&(Ut=I,P(i,Ut)),ht(!1),null)}function M(){Yt=0,Xt=0,$t=0,At=0,Ht=0,qt=1,at(),ht(!1)}function C(t){var i=t.originalEvent;e.triggerOnTouchLeave&&(Ut=W(_),P(i,Ut))}function k(){Nt.unbind(Mt,m),Nt.unbind(Pt,M),Nt.unbind(Ct,L),Nt.unbind(kt,z),Wt&&Nt.unbind(Wt,C),ht(!1)}function W(t){var i=t,n=H(),o=D(),r=R();return!n||r?i=I:!o||t!=x||e.triggerOnTouchEnd&&!e.triggerOnTouchLeave?!o&&t==_&&e.triggerOnTouchLeave&&(i=I):i=_,i}function P(t,e){var i=void 0;return Y()||U()?i=j(t,e,h):(F()||Q())&&i!==!1&&(i=j(t,e,d)),ot()&&i!==!1?i=j(t,e,p):rt()&&i!==!1?i=j(t,e,f):nt()&&i!==!1&&(i=j(t,e,c)),e===I&&M(t),e===_&&(E?0==t.touches.length&&M(t):M(t)),i}function j(t,u,l){var m=void 0;if(l==h){if(Nt.trigger("swipeStatus",[u,Dt||null,jt||0,Rt||0,Yt,Vt]),e.swipeStatus&&(m=e.swipeStatus.call(Nt,t,u,Dt||null,jt||0,Rt||0,Yt,Vt),m===!1))return!1;if(u==_&&N()){if(Nt.trigger("swipe",[Dt,jt,Rt,Yt,Vt]),e.swipe&&(m=e.swipe.call(Nt,t,Dt,jt,Rt,Yt,Vt),m===!1))return!1;switch(Dt){case i:Nt.trigger("swipeLeft",[Dt,jt,Rt,Yt,Vt]),e.swipeLeft&&(m=e.swipeLeft.call(Nt,t,Dt,jt,Rt,Yt,Vt));break;case n:Nt.trigger("swipeRight",[Dt,jt,Rt,Yt,Vt]),e.swipeRight&&(m=e.swipeRight.call(Nt,t,Dt,jt,Rt,Yt,Vt));break;case o:Nt.trigger("swipeUp",[Dt,jt,Rt,Yt,Vt]),e.swipeUp&&(m=e.swipeUp.call(Nt,t,Dt,jt,Rt,Yt,Vt));break;case r:Nt.trigger("swipeDown",[Dt,jt,Rt,Yt,Vt]),e.swipeDown&&(m=e.swipeDown.call(Nt,t,Dt,jt,Rt,Yt,Vt))}}}if(l==d){if(Nt.trigger("pinchStatus",[u,Qt||null,Bt||0,Rt||0,Yt,qt,Vt]),e.pinchStatus&&(m=e.pinchStatus.call(Nt,t,u,Qt||null,Bt||0,Rt||0,Yt,qt,Vt),m===!1))return!1;if(u==_&&B())switch(Qt){case s:Nt.trigger("pinchIn",[Qt||null,Bt||0,Rt||0,Yt,qt,Vt]),e.pinchIn&&(m=e.pinchIn.call(Nt,t,Qt||null,Bt||0,Rt||0,Yt,qt,Vt));break;case a:Nt.trigger("pinchOut",[Qt||null,Bt||0,Rt||0,Yt,qt,Vt]),e.pinchOut&&(m=e.pinchOut.call(Nt,t,Qt||null,Bt||0,Rt||0,Yt,qt,Vt))}}return l==c?(u===I||u===_)&&(clearTimeout(Jt),clearTimeout(te),G()&&!tt()?(Kt=Tt(),Jt=setTimeout($.proxy(function(){Kt=null,Nt.trigger("tap",[t.target]),e.tap&&(m=e.tap.call(Nt,t,t.target))},this),e.doubleTapThreshold)):(Kt=null,Nt.trigger("tap",[t.target]),e.tap&&(m=e.tap.call(Nt,t,t.target)))):l==p?(u===I||u===_)&&(clearTimeout(Jt),Kt=null,Nt.trigger("doubletap",[t.target]),e.doubleTap&&(m=e.doubleTap.call(Nt,t,t.target))):l==f&&(u===I||u===_)&&(clearTimeout(Jt),Kt=null,Nt.trigger("longtap",[t.target]),e.longTap&&(m=e.longTap.call(Nt,t,t.target))),m}function D(){var t=!0;return null!==e.threshold&&(t=jt>=e.threshold),t}function R(){var t=!1;return null!==e.cancelThreshold&&null!==Dt&&(t=gt(Dt)-jt>=e.cancelThreshold),t}function A(){return null!==e.pinchThreshold?Bt>=e.pinchThreshold:!0}function H(){var t;return t=e.maxTimeThreshold&&Rt>=e.maxTimeThreshold?!1:!0}function q(t,s){if(e.allowPageScroll===u||Q())t.preventDefault();else{var a=e.allowPageScroll===l;switch(s){case i:(e.swipeLeft&&a||!a&&e.allowPageScroll!=g)&&t.preventDefault();break;case n:(e.swipeRight&&a||!a&&e.allowPageScroll!=g)&&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 B(){var t=V(),e=X(),i=A();return t&&e&&i}function Q(){return!!(e.pinchStatus||e.pinchIn||e.pinchOut)}function F(){return!(!B()||!Q())}function N(){var t=H(),e=D(),i=V(),n=X(),o=R(),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!(!N()||!U())}function V(){return Yt===e.fingers||e.fingers===y||!E}function X(){return 0!==Vt[0].end.x}function Z(){return!!e.tap}function G(){return!!e.doubleTap}function K(){return!!e.longTap}function J(){if(null==Kt)return!1;var t=Tt();return G()&&t-Kt<=e.doubleTapThreshold}function tt(){return J()}function et(){return(1===Yt||!E)&&(isNaN(jt)||jt<e.threshold)}function it(){return Rt>e.longTapThreshold&&w>jt}function nt(){return!(!et()||!Z())}function ot(){return!(!J()||!G())}function rt(){return!(!it()||!K())}function st(){Zt=Tt(),Gt=event.touches.length+1}function at(){Zt=0,Gt=0}function ut(){var t=!1;if(Zt){var i=Tt()-Zt;i<=e.fingerReleaseThreshold&&(t=!0)}return t}function lt(){return!(Nt.data(O+"_intouch")!==!0)}function ht(t){t===!0?(Nt.bind(Ct,L),Nt.bind(kt,z),Wt&&Nt.bind(Wt,C)):(Nt.unbind(Ct,L,!1),Nt.unbind(kt,z,!1),Wt&&Nt.unbind(Wt,C,!1)),Nt.data(O+"_intouch",t===!0)}function dt(t,e){var i=void 0!==e.identifier?e.identifier:0;return Vt[t].identifier=i,Vt[t].start.x=Vt[t].end.x=e.pageX||e.clientX,Vt[t].start.y=Vt[t].end.y=e.pageY||e.clientY,Vt[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<Vt.length;e++)if(Vt[e].identifier==t)return Vt[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 mt(t,e){e=Math.max(e,gt(t)),Ft[t].distance=e}function gt(t){return Ft[t]?Ft[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 Xt-$t}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 _t(){return 1>qt?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 St(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 Ot(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 Lt(t,e){return t.x>e.left&&t.x<e.right&&t.y>e.top&&t.y<e.bottom}var zt=E||T||!e.fallbackToMouseEvents,Mt=zt?T?S?"MSPointerDown":"pointerdown":"touchstart":"mousedown",Ct=zt?T?S?"MSPointerMove":"pointermove":"touchmove":"mousemove",kt=zt?T?S?"MSPointerUp":"pointerup":"touchend":"mouseup",Wt=zt?null:"mouseleave",Pt=T?S?"MSPointerCancel":"pointercancel":"touchcancel",jt=0,Dt=null,Rt=0,At=0,Ht=0,qt=1,Bt=0,Qt=0,Ft=null,Nt=$(t),Ut="start",Yt=0,Vt=null,$t=0,Xt=0,Zt=0,Gt=0,Kt=0,Jt=null,te=null;try{Nt.bind(Mt,m),Nt.bind(Pt,M)}catch(ee){$.error("events not supported "+Mt+","+Pt+" on jQuery.swipe")}this.enable=function(){return Nt.bind(Mt,m),Nt.bind(Pt,M),Nt},this.disable=function(){return k(),Nt},this.destroy=function(){k(),Nt.data(O,null),Nt=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",u="none",l="auto",h="swipe",d="pinch",c="tap",p="doubletap",f="longtap",m="hold",g="horizontal",v="vertical",y="all",w=10,b="start",x="move",_="end",I="cancel",E="ontouchstart"in window,S=window.navigator.msPointerEnabled&&!window.navigator.pointerEnabled,T=window.navigator.pointerEnabled||window.navigator.msPointerEnabled,O="TouchSwipe",L={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(O);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=L,$.fn.swipe.phases={PHASE_START:b,PHASE_MOVE:x,PHASE_END:_,PHASE_CANCEL:I},$.fn.swipe.directions={LEFT:i,RIGHT:n,UP:o,DOWN:r,IN:s,OUT:a},$.fn.swipe.pageScroll={NONE:u,HORIZONTAL:g,VERTICAL:v,AUTO:l},$.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:y}}),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})});
assets/js/min/list-min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function t(e,r,n){function s(a,l){if(!r[a]){if(!e[a]){var o="function"==typeof require&&require;if(!l&&o)return o(a,!0);if(i)return i(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=r[a]={exports:{}};e[a][0].call(c.exports,function(t){var r=e[a][1][t];return s(r?r:t)},c,c.exports,t,e,r,n)}return r[a].exports}for(var i="function"==typeof require&&require,a=0;a<n.length;a++)s(n[a]);return s}({1:[function(t,e,r){!function(r,n){"use strict";var s=r.document,i=t("./src/utils/get-by-class"),a=t("./src/utils/extend"),l=t("./src/utils/index-of"),o=t("./src/utils/events"),u=t("./src/utils/to-string"),c=t("./src/utils/natural-sort"),f=t("./src/utils/classes"),d=t("./src/utils/get-attribute"),h=t("./src/utils/to-array"),v=function(e,r,m){var g=this,p,y=t("./src/item")(g),C=t("./src/add-async")(g);p={start:function(){g.listClass="list",g.searchClass="search",g.sortClass="sort",g.page=1e4,g.i=1,g.items=[],g.visibleItems=[],g.matchingItems=[],g.searched=!1,g.filtered=!1,g.searchColumns=n,g.handlers={updated:[]},g.plugins={},g.valueNames=[],g.utils={getByClass:i,extend:a,indexOf:l,events:o,toString:u,naturalSort:c,classes:f,getAttribute:d,toArray:h},g.utils.extend(g,r),g.listContainer="string"==typeof e?s.getElementById(e):e,g.listContainer&&(g.list=i(g.listContainer,g.listClass,!0),g.parse=t("./src/parse")(g),g.templater=t("./src/templater")(g),g.search=t("./src/search")(g),g.filter=t("./src/filter")(g),g.sort=t("./src/sort")(g),this.handlers(),this.items(),g.update(),this.plugins())},handlers:function(){for(var t in g.handlers)g[t]&&g.on(t,g[t])},items:function(){g.parse(g.list),m!==n&&g.add(m)},plugins:function(){for(var t=0;t<g.plugins.length;t++){var e=g.plugins[t];g[e.name]=e,e.init(g,v)}}},this.reIndex=function(){g.items=[],g.visibleItems=[],g.matchingItems=[],g.searched=!1,g.filtered=!1,g.parse(g.list)},this.toJSON=function(){for(var t=[],e=0,r=g.items.length;r>e;e++)t.push(g.items[e].values());return t},this.add=function(t,e){if(0!==t.length){if(e)return void C(t,e);var r=[],s=!1;t[0]===n&&(t=[t]);for(var i=0,a=t.length;a>i;i++){var l=null;s=g.items.length>g.page?!0:!1,l=new y(t[i],n,s),g.items.push(l),r.push(l)}return g.update(),r}},this.show=function(t,e){return this.i=t,this.page=e,g.update(),g},this.remove=function(t,e,r){for(var n=0,s=0,i=g.items.length;i>s;s++)g.items[s].values()[t]==e&&(g.templater.remove(g.items[s],r),g.items.splice(s,1),i--,s--,n++);return g.update(),n},this.get=function(t,e){for(var r=[],n=0,s=g.items.length;s>n;n++){var i=g.items[n];i.values()[t]==e&&r.push(i)}return r},this.size=function(){return g.items.length},this.clear=function(){return g.templater.clear(),g.items=[],g},this.on=function(t,e){return g.handlers[t].push(e),g},this.off=function(t,e){var r=g.handlers[t],n=l(r,e);return n>-1&&r.splice(n,1),g},this.trigger=function(t){for(var e=g.handlers[t].length;e--;)g.handlers[t][e](g);return g},this.reset={filter:function(){for(var t=g.items,e=t.length;e--;)t[e].filtered=!1;return g},search:function(){for(var t=g.items,e=t.length;e--;)t[e].found=!1;return g}},this.update=function(){var t=g.items,e=t.length;g.visibleItems=[],g.matchingItems=[],g.templater.clear();for(var r=0;e>r;r++)t[r].matching()&&g.matchingItems.length+1>=g.i&&g.visibleItems.length<g.page?(t[r].show(),g.visibleItems.push(t[r]),g.matchingItems.push(t[r])):t[r].matching()?(g.matchingItems.push(t[r]),t[r].hide()):t[r].hide();return g.trigger("updated"),g},p.start()};"function"==typeof define&&define.amd&&define(function(){return v}),e.exports=v,r.List=v}(window)},{"./src/add-async":2,"./src/filter":3,"./src/item":4,"./src/parse":5,"./src/search":6,"./src/sort":7,"./src/templater":8,"./src/utils/classes":9,"./src/utils/events":10,"./src/utils/extend":11,"./src/utils/get-attribute":12,"./src/utils/get-by-class":13,"./src/utils/index-of":14,"./src/utils/natural-sort":15,"./src/utils/to-array":16,"./src/utils/to-string":17}],2:[function(t,e,r){e.exports=function(t){var e=function(r,n,s){var i=r.splice(0,50);s=s||[],s=s.concat(t.add(i)),r.length>0?setTimeout(function(){e(r,n,s)},1):(t.update(),n(s))};return e}},{}],3:[function(t,e,r){e.exports=function(t){return t.handlers.filterStart=t.handlers.filterStart||[],t.handlers.filterComplete=t.handlers.filterComplete||[],function(e){if(t.trigger("filterStart"),t.i=1,t.reset.filter(),void 0===e)t.filtered=!1;else{t.filtered=!0;for(var r=t.items,n=0,s=r.length;s>n;n++){var i=r[n];e(i)?i.filtered=!0:i.filtered=!1}}return t.update(),t.trigger("filterComplete"),t.visibleItems}}},{}],4:[function(t,e,r){e.exports=function(t){return function(e,r,n){var s=this;this._values={},this.found=!1,this.filtered=!1;var i=function(e,r,n){if(void 0===r)n?s.values(e,n):s.values(e);else{s.elm=r;var i=t.templater.get(s,e);s.values(i)}};this.values=function(e,r){if(void 0===e)return s._values;for(var n in e)s._values[n]=e[n];r!==!0&&t.templater.set(s,s.values())},this.show=function(){t.templater.show(s)},this.hide=function(){t.templater.hide(s)},this.matching=function(){return t.filtered&&t.searched&&s.found&&s.filtered||t.filtered&&!t.searched&&s.filtered||!t.filtered&&t.searched&&s.found||!t.filtered&&!t.searched},this.visible=function(){return s.elm&&s.elm.parentNode==t.list?!0:!1},i(e,r,n)}}},{}],5:[function(t,e,r){e.exports=function(e){var r=t("./item")(e),n=function(t){for(var e=t.childNodes,r=[],n=0,s=e.length;s>n;n++)void 0===e[n].data&&r.push(e[n]);return r},s=function(t,n){for(var s=0,i=t.length;i>s;s++)e.items.push(new r(n,t[s]))},i=function(t,r){var n=t.splice(0,50);s(n,r),t.length>0?setTimeout(function(){i(t,r)},1):(e.update(),e.trigger("parseComplete"))};return e.handlers.parseComplete=e.handlers.parseComplete||[],function(){var t=n(e.list),r=e.valueNames;e.indexAsync?i(t,r):s(t,r)}}},{"./item":4}],6:[function(t,e,r){e.exports=function(t){var e,r,n,s,i,a={resetList:function(){t.i=1,t.templater.clear(),i=void 0},setOptions:function(t){2==t.length&&t[1]instanceof Array?n=t[1]:2==t.length&&"function"==typeof t[1]?i=t[1]:3==t.length&&(n=t[1],i=t[2])},setColumns:function(){0!==t.items.length&&void 0===n&&(n=void 0===t.searchColumns?a.toArray(t.items[0].values()):t.searchColumns)},setSearchString:function(e){e=t.utils.toString(e).toLowerCase(),e=e.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&"),s=e},toArray:function(t){var e=[];for(var r in t)e.push(r);return e}},l={list:function(){for(var e=0,r=t.items.length;r>e;e++)l.item(t.items[e])},item:function(t){t.found=!1;for(var e=0,r=n.length;r>e;e++)if(l.values(t.values(),n[e]))return void(t.found=!0)},values:function(e,n){return e.hasOwnProperty(n)&&(r=t.utils.toString(e[n]).toLowerCase(),""!==s&&r.search(s)>-1)?!0:!1},reset:function(){t.reset.search(),t.searched=!1}},o=function(e){return t.trigger("searchStart"),a.resetList(),a.setSearchString(e),a.setOptions(arguments),a.setColumns(),""===s?l.reset():(t.searched=!0,i?i(s,n):l.list()),t.update(),t.trigger("searchComplete"),t.visibleItems};return t.handlers.searchStart=t.handlers.searchStart||[],t.handlers.searchComplete=t.handlers.searchComplete||[],t.utils.events.bind(t.utils.getByClass(t.listContainer,t.searchClass),"keyup",function(e){var r=e.target||e.srcElement,n=""===r.value&&!t.searched;n||o(r.value)}),t.utils.events.bind(t.utils.getByClass(t.listContainer,t.searchClass),"input",function(t){var e=t.target||t.srcElement;""===e.value&&o("")}),o}},{}],7:[function(t,e,r){e.exports=function(t){t.sortFunction=t.sortFunction||function(e,r,n){return n.desc="desc"==n.order?!0:!1,t.utils.naturalSort(e.values()[n.valueName],r.values()[n.valueName],n)};var e={els:void 0,clear:function(){for(var r=0,n=e.els.length;n>r;r++)t.utils.classes(e.els[r]).remove("asc"),t.utils.classes(e.els[r]).remove("desc")},getOrder:function(e){var r=t.utils.getAttribute(e,"data-order");return"asc"==r||"desc"==r?r:t.utils.classes(e).has("desc")?"asc":t.utils.classes(e).has("asc")?"desc":"asc"},getInSensitive:function(e,r){var n=t.utils.getAttribute(e,"data-insensitive");"false"===n?r.insensitive=!1:r.insensitive=!0},setOrder:function(r){for(var n=0,s=e.els.length;s>n;n++){var i=e.els[n];if(t.utils.getAttribute(i,"data-sort")===r.valueName){var a=t.utils.getAttribute(i,"data-order");"asc"==a||"desc"==a?a==r.order&&t.utils.classes(i).add(r.order):t.utils.classes(i).add(r.order)}}}},r=function(){t.trigger("sortStart");var r={},n=arguments[0].currentTarget||arguments[0].srcElement||void 0;n?(r.valueName=t.utils.getAttribute(n,"data-sort"),e.getInSensitive(n,r),r.order=e.getOrder(n)):(r=arguments[1]||r,r.valueName=arguments[0],r.order=r.order||"asc",r.insensitive="undefined"==typeof r.insensitive?!0:r.insensitive),e.clear(),e.setOrder(r),r.sortFunction=r.sortFunction||t.sortFunction,t.items.sort(function(t,e){var n="desc"===r.order?-1:1;return r.sortFunction(t,e,r)*n}),t.update(),t.trigger("sortComplete")};return t.handlers.sortStart=t.handlers.sortStart||[],t.handlers.sortComplete=t.handlers.sortComplete||[],e.els=t.utils.getByClass(t.listContainer,t.sortClass),t.utils.events.bind(e.els,"click",r),t.on("searchStart",e.clear),t.on("filterStart",e.clear),r}},{}],8:[function(t,e,r){var n=function(t){var e,r=this,n=function(){e=r.getItemSource(t.item),e=r.clearSourceItem(e,t.valueNames)};this.clearSourceItem=function(e,r){for(var n=0,s=r.length;s>n;n++){var i;if(r[n].data)for(var a=0,l=r[n].data.length;l>a;a++)e.setAttribute("data-"+r[n].data[a],"");else r[n].attr&&r[n].name?(i=t.utils.getByClass(e,r[n].name,!0),i&&i.setAttribute(r[n].attr,"")):(i=t.utils.getByClass(e,r[n],!0),i&&(i.innerHTML=""));i=void 0}return e},this.getItemSource=function(e){if(void 0===e){for(var r=t.list.childNodes,n=[],s=0,i=r.length;i>s;s++)if(void 0===r[s].data)return r[s].cloneNode(!0)}else{if(/^tr[\s>]/.exec(e)){var a=document.createElement("table");return a.innerHTML=e,a.firstChild}if(-1!==e.indexOf("<")){var l=document.createElement("div");return l.innerHTML=e,l.firstChild}var o=document.getElementById(t.item);if(o)return o}throw new Error("The list need to have at list one item on init otherwise you'll have to add a template.")},this.get=function(e,n){r.create(e);for(var s={},i=0,a=n.length;a>i;i++){var l;if(n[i].data)for(var o=0,u=n[i].data.length;u>o;o++)s[n[i].data[o]]=t.utils.getAttribute(e.elm,"data-"+n[i].data[o]);else n[i].attr&&n[i].name?(l=t.utils.getByClass(e.elm,n[i].name,!0),s[n[i].name]=l?t.utils.getAttribute(l,n[i].attr):""):(l=t.utils.getByClass(e.elm,n[i],!0),s[n[i]]=l?l.innerHTML:"");l=void 0}return s},this.set=function(e,n){var s=function(e){for(var r=0,n=t.valueNames.length;n>r;r++)if(t.valueNames[r].data){for(var s=t.valueNames[r].data,i=0,a=s.length;a>i;i++)if(s[i]===e)return{data:e}}else{if(t.valueNames[r].attr&&t.valueNames[r].name&&t.valueNames[r].name==e)return t.valueNames[r];if(t.valueNames[r]===e)return e}},i=function(r,n){var i,a=s(r);a&&(a.data?e.elm.setAttribute("data-"+a.data,n):a.attr&&a.name?(i=t.utils.getByClass(e.elm,a.name,!0),i&&i.setAttribute(a.attr,n)):(i=t.utils.getByClass(e.elm,a,!0),i&&(i.innerHTML=n)),i=void 0)};if(!r.create(e))for(var a in n)n.hasOwnProperty(a)&&i(a,n[a])},this.create=function(t){if(void 0!==t.elm)return!1;var n=e.cloneNode(!0);return n.removeAttribute("id"),t.elm=n,r.set(t,t.values()),!0},this.remove=function(e){e.elm.parentNode===t.list&&t.list.removeChild(e.elm)},this.show=function(e){r.create(e),t.list.appendChild(e.elm)},this.hide=function(e){void 0!==e.elm&&e.elm.parentNode===t.list&&t.list.removeChild(e.elm)},this.clear=function(){if(t.list.hasChildNodes())for(;t.list.childNodes.length>=1;)t.list.removeChild(t.list.firstChild)},n()};e.exports=function(t){return new n(t)}},{}],9:[function(t,e,r){function n(t){if(!t||!t.nodeType)throw new Error("A DOM element reference is required");this.el=t,this.list=t.classList}var s=t("./index-of"),i=/\s+/,a=Object.prototype.toString;e.exports=function(t){return new n(t)},n.prototype.add=function(t){if(this.list)return this.list.add(t),this;var e=this.array(),r=s(e,t);return~r||e.push(t),this.el.className=e.join(" "),this},n.prototype.remove=function(t){if("[object RegExp]"==a.call(t))return this.removeMatching(t);if(this.list)return this.list.remove(t),this;var e=this.array(),r=s(e,t);return~r&&e.splice(r,1),this.el.className=e.join(" "),this},n.prototype.removeMatching=function(t){for(var e=this.array(),r=0;r<e.length;r++)t.test(e[r])&&this.remove(e[r]);return this},n.prototype.toggle=function(t,e){return this.list?("undefined"!=typeof e?e!==this.list.toggle(t,e)&&this.list.toggle(t):this.list.toggle(t),this):("undefined"!=typeof e?e?this.add(t):this.remove(t):this.has(t)?this.remove(t):this.add(t),this)},n.prototype.array=function(){var t=this.el.getAttribute("class")||"",e=t.replace(/^\s+|\s+$/g,""),r=e.split(i);return""===r[0]&&r.shift(),r},n.prototype.has=n.prototype.contains=function(t){return this.list?this.list.contains(t):!!~s(this.array(),t)}},{"./index-of":14}],10:[function(t,e,r){var n=window.addEventListener?"addEventListener":"attachEvent",s=window.removeEventListener?"removeEventListener":"detachEvent",i="addEventListener"!==n?"on":"",a=t("./to-array");r.bind=function(t,e,r,s){t=a(t);for(var l=0;l<t.length;l++)t[l][n](i+e,r,s||!1)},r.unbind=function(t,e,r,n){t=a(t);for(var l=0;l<t.length;l++)t[l][s](i+e,r,n||!1)}},{"./to-array":16}],11:[function(t,e,r){e.exports=function n(t){for(var e=Array.prototype.slice.call(arguments,1),r=0,n;n=e[r];r++)if(n)for(var s in n)t[s]=n[s];return t}},{}],12:[function(t,e,r){e.exports=function(t,e){var r=t.getAttribute&&t.getAttribute(e)||null;if(!r)for(var n=t.attributes,s=n.length,i=0;s>i;i++)void 0!==e[i]&&e[i].nodeName===e&&(r=e[i].nodeValue);return r}},{}],13:[function(t,e,r){e.exports=function(){return document.getElementsByClassName?function(t,e,r){return r?t.getElementsByClassName(e)[0]:t.getElementsByClassName(e)}:document.querySelector?function(t,e,r){return e="."+e,r?t.querySelector(e):t.querySelectorAll(e)}:function(t,e,r){var n=[],s="*";null===t&&(t=document);for(var i=t.getElementsByTagName(s),a=i.length,l=new RegExp("(^|\\s)"+e+"(\\s|$)"),o=0,u=0;a>o;o++)if(l.test(i[o].className)){if(r)return i[o];n[u]=i[o],u++}return n}}()},{}],14:[function(t,e,r){var n=[].indexOf;e.exports=function(t,e){if(n)return t.indexOf(e);for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}},{}],15:[function(t,e,r){e.exports=function(t,e,r){var n=/(^([+\-]?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?(?=\D|\s|$))|^0x[\da-fA-F]+$|\d+)/g,s=/^\s+|\s+$/g,i=/\s+/g,a=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,l=/^0x[0-9a-f]+$/i,o=/^0/,u=r||{},c=function(t){return(u.insensitive&&(""+t).toLowerCase()||""+t).replace(s,"")},f=c(t),d=c(e),h=f.replace(n,"\x00$1\x00").replace(/\0$/,"").replace(/^\0/,"").split("\x00"),v=d.replace(n,"\x00$1\x00").replace(/\0$/,"").replace(/^\0/,"").split("\x00"),m=parseInt(f.match(l),16)||1!==h.length&&Date.parse(f),g=parseInt(d.match(l),16)||m&&d.match(a)&&Date.parse(d)||null,p=function(t,e){return(!t.match(o)||1==e)&&parseFloat(t)||t.replace(i," ").replace(s,"")||0},y,C;if(g){if(g>m)return-1;if(m>g)return 1}for(var x=0,b=h.length,N=v.length,w=Math.max(b,N);w>x;x++){if(y=p(h[x]||"",b),C=p(v[x]||"",N),isNaN(y)!==isNaN(C))return isNaN(y)?1:-1;if(/[^\x00-\x80]/.test(y+C)&&y.localeCompare){var S=y.localeCompare(C);return S/Math.abs(S)}if(C>y)return-1;if(y>C)return 1}return 0}},{}],16:[function(t,e,r){function n(t){return"[object Array]"===Object.prototype.toString.call(t)}e.exports=function s(t){if("undefined"==typeof t)return[];if(null===t)return[null];if(t===window)return[window];if("string"==typeof t)return[t];if(n(t))return t;if("number"!=typeof t.length)return[t];if("function"==typeof t&&t instanceof Function)return[t];for(var e=[],r=0;r<t.length;r++)(Object.prototype.hasOwnProperty.call(t,r)||r in t)&&e.push(t[r]);return e.length?e:[]}},{}],17:[function(t,e,r){e.exports=function(t){return t=void 0===t?"":t,t=null===t?"":t,t=t.toString()}},{}]},{},[1]);
assets/js/min/metabox-min.js CHANGED
@@ -1 +1 @@
1
- function EnviraGalleryImagesUpdate(e){EnviraGalleryImages.reset();var a="ul#envira-gallery-output li.envira-gallery-image"+(e?".selected":"");jQuery(a).each(function(){var e=jQuery.parseJSON(jQuery(this).attr("data-envira-gallery-image-model"));e.alt=EnviraGalleryStripslashes(e.alt),EnviraGalleryImages.add(new EnviraGalleryImage(e))}),jQuery("#envira-gallery-main span.count").text(jQuery("ul#envira-gallery-output li.envira-gallery-image").length)}function EnviraGalleryStripslashes(e){return(e+"").replace(/\\(.?)/g,function(e,a){switch(a){case"\\":return"\\";case"0":return"\x00";case"":return"";default:return a}})}function envira_gallery_sortable($){$(envira_gallery_output).sortable({containment:envira_gallery_output,items:"li",cursor:"move",forcePlaceholderSize:!0,placeholder:"dropzone",helper:function(e,a){a.hasClass("selected")||a.addClass("selected").siblings().removeClass("selected");var t=a.parent().children(".selected").clone();a.data("multidrag",t).siblings(".selected").remove();var i=$("<li/>");return i.append(t)},stop:function(e,a){var t=a.item.data("multidrag");a.item.after(t).remove(),$("li.selected",$(envira_gallery_output)).removeClass("selected"),$.ajax({url:envira_gallery_metabox.ajax,type:"post",async:!0,cache:!1,dataType:"json",data:{action:"envira_gallery_sort_images",order:$(envira_gallery_output).sortable("toArray").toString(),post_id:envira_gallery_metabox.id,nonce:envira_gallery_metabox.sort},success:function(e){EnviraGalleryImagesUpdate(!1)},error:function(e,a,t){$(envira_gallery_output).before('<div class="error"><p>'+a.responseText+"</p></div>")}})}})}var envira_video_link="p.envira-intro a.envira-video",envira_close_video_link="a.envira-video-close";jQuery(document).ready(function($){$(document).on("click",envira_video_link,function(e){e.preventDefault();var a=$(this).attr("href");-1==a.search("autoplay=1")&&(a+=-1==a.search("rel=")?"?rel=0&autoplay=1":"&autoplay=1"),$("div.envira-video-help").remove();var t=$(this).closest("p.envira-intro");$(t).append('<div class="envira-video-help"><iframe src="'+a+'" /><a href="#" class="envira-video-close dashicons dashicons-no"></a></div>')}),$(document).on("click",envira_close_video_link,function(e){e.preventDefault(),$(this).closest(".envira-video-help").remove()})}),jQuery(document).ready(function($){$(document).on("click","a.envira-gallery-images-delete",function(e){e.preventDefault();var a=confirm(envira_gallery_metabox.remove_multiple);if(!a)return!1;var t=[];$("ul#envira-gallery-output > li.selected").each(function(){t.push($(this).attr("id"))});var i=$(this).parent().attr("id");$.ajax({url:envira_gallery_metabox.ajax,type:"post",dataType:"json",data:{action:"envira_gallery_remove_images",attachment_ids:t,post_id:envira_gallery_metabox.id,nonce:envira_gallery_metabox.remove_nonce},success:function(e){$("ul#envira-gallery-output > li.selected").remove(),$("nav.envira-select-options").fadeOut(),$(".envira-gallery-load-library").attr("data-envira-gallery-offset",0).addClass("has-search").trigger("click"),EnviraGalleryImagesUpdate(!1)},error:function(e,a,t){$(envira_gallery_output).before('<div class="error"><p>'+a.responseText+"</p></div>")}})}),$(document).on("click","#envira-gallery-main .envira-gallery-remove-image",function(e){e.preventDefault();var a=confirm(envira_gallery_metabox.remove);if(a){var t=$(this).parent().attr("id");$.ajax({url:envira_gallery_metabox.ajax,type:"post",dataType:"json",data:{action:"envira_gallery_remove_image",attachment_id:t,post_id:envira_gallery_metabox.id,nonce:envira_gallery_metabox.remove_nonce},success:function(e){$("#"+t).fadeOut("normal",function(){$(this).remove(),$(".envira-gallery-load-library").attr("data-envira-gallery-offset",0).addClass("has-search").trigger("click"),EnviraGalleryImagesUpdate(!1)})},error:function(e,a,t){$(envira_gallery_output).before('<div class="error"><p>'+a.responseText+"</p></div>")}})}})});var EnviraGalleryImage=Backbone.Model.extend({defaults:{id:"",title:"",caption:"",alt:"",link:""}}),EnviraGalleryImages=new Backbone.Collection;if("undefined"==typeof EnviraGalleryModalWindow)var EnviraGalleryModalWindow=new wp.media.view.Modal({controller:{trigger:function(){}}});var EnviraGalleryEditView=wp.Backbone.View.extend({tagName:"div",className:"edit-attachment-frame mode-select hide-menu hide-router",template:wp.template("envira-meta-editor"),events:{"click .edit-media-header .left":"loadPreviousItem","click .edit-media-header .right":"loadNextItem","keyup input":"updateItem","keyup textarea":"updateItem","change input":"updateItem","change textarea":"updateItem","blur textarea":"updateItem","change select":"updateItem","click .actions a.envira-gallery-meta-submit":"saveItem","keyup input#link-search":"searchLinks","click div.query-results li":"insertLink","click button.media-file":"insertMediaFileLink","click button.attachment-page":"insertAttachmentPageLink"},initialize:function(e){this.on("loading",this.loading,this),this.on("loaded",this.loaded,this),this.is_loading=!1,this.collection=e.collection,this.child_views=e.child_views,this.attachment_id=e.attachment_id,this.attachment_index=0,this.search_timer="";var a=0;this.collection.each(function(e){return e.get("id")==this.attachment_id?(this.model=e,this.attachment_index=a,!1):void a++},this)},render:function(){return this.$el.html(this.template(this.model.attributes)),this.child_views.length>0&&this.child_views.forEach(function(e){var a=new e({model:this.model});this.$el.find("div.addons").append(a.render().el)},this),this.$el.find("textarea[name=caption]").val(this.model.get("caption")),setTimeout(function(){quicktags({id:"caption",buttons:"strong,em,link,ul,ol,li,close"}),QTags._buttonsInit()},500),wpLink.init,0==this.attachment_index&&this.$el.find("button.left").addClass("disabled"),this.attachment_index==this.collection.length-1&&this.$el.find("button.right").addClass("disabled"),this},renderError:function(e){var a={};a.error=e;var t=new wp.media.view.EnviraGalleryError({model:a});return t.render().el},loading:function(){this.is_loading=!0,this.$el.find(".spinner").css("visibility","visible")},loaded:function(e){this.is_loading=!1,this.$el.find(".spinner").css("visibility","hidden"),"undefined"!=typeof e&&this.$el.find("div.media-toolbar").after(this.renderError(e))},loadPreviousItem:function(){this.attachment_index--,this.model=this.collection.at(this.attachment_index),this.attachment_id=this.model.get("id"),this.render()},loadNextItem:function(){this.attachment_index++,this.model=this.collection.at(this.attachment_index),this.attachment_id=this.model.get("id"),this.render()},updateItem:function(e){""!=e.target.name&&("checkbox"==e.target.type?value=e.target.checked?e.target.value:0:value=e.target.value,this.model.set(e.target.name,value))},saveItem:function(){this.trigger("loading"),wp.media.ajax("envira_gallery_save_meta",{context:this,data:{nonce:envira_gallery_metabox.save_nonce,post_id:envira_gallery_metabox.id,attach_id:this.model.get("id"),meta:this.model.attributes},success:function(e){this.trigger("loaded loaded:success");var a=JSON.stringify(this.model.attributes),t=jQuery("ul#envira-gallery-output li#"+this.model.get("id"));jQuery(t).attr("data-envira-gallery-image-model",a),jQuery("div.meta div.title span",t).text(this.model.get("title")),jQuery("div.meta div.title a.hint",t).attr("title",this.model.get("title")),this.model.get("title").length>20?jQuery("div.meta div.title a.hint",t).removeClass("hidden"):jQuery("div.meta div.title a.hint",t).addClass("hidden");var i=this.$el.find(".saved");i.fadeIn(),setTimeout(function(){i.fadeOut()},1500)},error:function(e){this.trigger("loaded loaded:error",e)}})},searchLinks:function(e){},insertLink:function(e){},insertMediaFileLink:function(e){this.trigger("loading"),wp.media.ajax("envira_gallery_get_attachment_links",{context:this,data:{nonce:envira_gallery_metabox.save_nonce,attachment_id:this.model.get("id")},success:function(e){this.model.set("link",e.media_link),this.trigger("loaded loaded:success"),this.render()},error:function(e){this.trigger("loaded loaded:error",e)}})},insertAttachmentPageLink:function(e){this.trigger("loading"),wp.media.ajax("envira_gallery_get_attachment_links",{context:this,data:{nonce:envira_gallery_metabox.save_nonce,attachment_id:this.model.get("id")},success:function(e){this.model.set("link",e.attachment_page),this.trigger("loaded loaded:success"),this.render()},error:function(e){this.trigger("loaded loaded:error",e)}})}}),EnviraGalleryChildViews=[];jQuery(document).ready(function($){$(document).on("click","#envira-gallery-main a.envira-gallery-modify-image",function(e){e.preventDefault(),EnviraGalleryImagesUpdate(!1);var a=$(this).parent().data("envira-gallery-image");EnviraGalleryModalWindow.content(new EnviraGalleryEditView({collection:EnviraGalleryImages,child_views:EnviraGalleryChildViews,attachment_id:a})),EnviraGalleryModalWindow.open()})}),jQuery(document).ready(function($){$("a.envira-media-library").on("click",function(e){return e.preventDefault(),wp.media.frames.envira?void wp.media.frames.envira.open():(wp.media.frames.envira=wp.media({frame:"post",title:wp.media.view.l10n.insertIntoPost,button:{text:wp.media.view.l10n.insertIntoPost},multiple:!0}),wp.media.frames.envira.on("open",function(){var e=wp.media.frames.envira.state().get("selection");$("ul#envira-gallery-output li").each(function(){var a=wp.media.attachment($(this).attr("id"));e.add(a?[a]:[])})}),wp.media.frames.envira.on("insert",function(e){var a=wp.media.frames.envira.state(),t=[];e.each(function(e){var i=a.display(e).toJSON();switch(i.link){case"none":e.set("link",e.get("url"));break;case"file":e.set("link",e.get("url"));break;case"post":break;case"custom":e.set("link",i.linkUrl)}t.push(e.toJSON())},this),$.post(envira_gallery_metabox.ajax,{action:"envira_gallery_insert_images",nonce:envira_gallery_metabox.insert_nonce,post_id:envira_gallery_metabox.id,images:t},function(e){e&&e.success&&($("#envira-gallery-output").html(e.success),EnviraGalleryImagesUpdate(!1))},"json")}),void wp.media.frames.envira.open())})});var envira_gallery_output="#envira-gallery-output",envira_gallery_shift_key_pressed=!1,envira_gallery_last_selected_image=!1;jQuery(document).ready(function($){$(document).on("click","nav.envira-tab-options a",function(e){e.preventDefault();var a=$(this).closest(".envira-tab-options"),t=$(this).data("view"),i=$(this).data("view-style");$(t).hasClass(i)||($(t).removeClass("list").removeClass("grid").addClass(i),$("a",a).removeClass("selected"),$(this).addClass("selected"),$.ajax({url:envira_gallery_metabox.ajax,type:"post",dataType:"json",data:{action:"envira_gallery_set_user_setting",name:"envira_gallery_image_view",value:i,nonce:envira_gallery_metabox.set_user_setting_nonce},success:function(e){},error:function(e,a,t){$(envira_gallery_output).before('<div class="error"><p>'+a.responseText+"</p></div>")}}))}),$(document).on("change","nav.envira-tab-options input",function(e){$(this).prop("checked")?($("li",$(envira_gallery_output)).addClass("selected"),$("nav.envira-select-options").fadeIn()):($("li",$(envira_gallery_output)).removeClass("selected"),$("nav.envira-select-options").fadeOut())}),envira_gallery_sortable($),$(document).on("enviraGalleryType",function(){$(envira_gallery_output).length>0&&envira_gallery_sortable($)}),$(document).on("click","ul#envira-gallery-output li.envira-gallery-image > img, li.envira-gallery-image > div, li.envira-gallery-image > a.check",function(e){e.preventDefault();var a=$(this).parent();if($(a).hasClass("selected"))$(a).removeClass("selected"),envira_gallery_last_selected_image=!1;else{if(envira_gallery_shift_key_pressed&&envira_gallery_last_selected_image!==!1){var t=$("ul#envira-gallery-output li").index($(envira_gallery_last_selected_image)),i=$("ul#envira-gallery-output li").index($(a)),r=0;if(i>t)for(r=t;i>=r;r++)$("ul#envira-gallery-output li:eq( "+r+")").addClass("selected");else for(r=i;t>=r;r++)$("ul#envira-gallery-output li:eq( "+r+")").addClass("selected")}$(a).addClass("selected"),envira_gallery_last_selected_image=$(a)}$("ul#envira-gallery-output > li.selected").length>0?$("nav.envira-select-options").fadeIn():$("nav.envira-select-options").fadeOut()}),$(document).on("keyup keydown",function(e){envira_gallery_shift_key_pressed=e.shiftKey})}),function($){$(function(){if("undefined"!=typeof uploader){$("input#plupload-browse-button").val(envira_gallery_metabox.uploader_files_computer);var e=$("#envira-gallery .envira-progress-bar"),a=$("#envira-gallery .envira-progress-bar div.envira-progress-bar-inner"),t=$("#envira-gallery .envira-progress-bar div.envira-progress-bar-status"),i=$("#envira-gallery-output"),r=$("#envira-gallery-upload-error"),n=0;uploader.bind("Init",function(e){$("#drag-drop-area").fadeIn(),$("a.envira-media-library.button").fadeIn()}),uploader.bind("FilesAdded",function(a,i){$(r).html(""),n=i.length,$(".uploading .current",$(t)).text("1"),$(".uploading .total",$(t)).text(n),$(".uploading",$(t)).show(),$(".done",$(t)).hide(),$(e).fadeIn()}),uploader.bind("UploadProgress",function(e,i){$(".uploading .current",$(t)).text(n-e.total.queued+1),$(a).css({width:e.total.percent+"%"})}),uploader.bind("FileUploaded",function(e,a,t){$.post(envira_gallery_metabox.ajax,{action:"envira_gallery_load_image",nonce:envira_gallery_metabox.load_image,id:t.response,post_id:envira_gallery_metabox.id},function(e){switch(envira_gallery_metabox.media_position){case"before":$(i).prepend(e);break;case"after":default:$(i).append(e)}EnviraGalleryImagesUpdate(!1)},"json")}),uploader.bind("UploadComplete",function(){$(".uploading",$(t)).hide(),$(".done",$(t)).show(),setTimeout(function(){$(e).fadeOut()},1e3)}),uploader.bind("Error",function(e,a){$("#envira-gallery-upload-error").html('<div class="error fade"><p>'+a.file.name+": "+a.message+"</p></div>"),e.refresh()})}})}(jQuery),jQuery(document).ready(function($){$('select[name="_envira_gallery[image_size]"]').on("change",function(){"envira_gallery_random"==$(this).val()?$("tr#envira-config-image-sizes-random-box").show():$("tr#envira-config-image-sizes-random-box").hide()}),$('select[name="_envira_gallery[image_size]"]').trigger("change")});
1
+ function EnviraGalleryImagesUpdate(e){EnviraGalleryImages.reset();var a="ul#envira-gallery-output li.envira-gallery-image"+(e?".selected":"");jQuery(a).each(function(){var e=jQuery.parseJSON(jQuery(this).attr("data-envira-gallery-image-model"));e.alt=EnviraGalleryStripslashes(e.alt),EnviraGalleryImages.add(new EnviraGalleryImage(e))}),jQuery("#envira-gallery-main span.count").text(jQuery("ul#envira-gallery-output li.envira-gallery-image").length)}function EnviraGalleryStripslashes(e){return(e+"").replace(/\\(.?)/g,function(e,a){switch(a){case"\\":return"\\";case"0":return"\x00";case"":return"";default:return a}})}function envira_gallery_sortable($){$(envira_gallery_output).sortable({containment:envira_gallery_output,items:"li",cursor:"move",forcePlaceholderSize:!0,placeholder:"dropzone",helper:function(e,a){a.hasClass("selected")||a.addClass("selected").siblings().removeClass("selected");var t=a.parent().children(".selected").clone();a.data("multidrag",t).siblings(".selected").remove();var i=$("<li/>");return i.append(t)},stop:function(e,a){var t=a.item.data("multidrag");a.item.after(t).remove(),$("li.selected",$(envira_gallery_output)).removeClass("selected"),$.ajax({url:envira_gallery_metabox.ajax,type:"post",async:!0,cache:!1,dataType:"json",data:{action:"envira_gallery_sort_images",order:$(envira_gallery_output).sortable("toArray").toString(),post_id:envira_gallery_metabox.id,nonce:envira_gallery_metabox.sort},success:function(e){EnviraGalleryImagesUpdate(!1)},error:function(e,a,t){$(envira_gallery_output).before('<div class="error"><p>'+a.responseText+"</p></div>")}})}})}var envira_video_link="p.envira-intro a.envira-video",envira_close_video_link="a.envira-video-close";jQuery(document).ready(function($){$(document).on("click",envira_video_link,function(e){e.preventDefault();var a=$(this).attr("href");-1==a.search("autoplay=1")&&(a+=-1==a.search("rel=")?"?rel=0&autoplay=1":"&autoplay=1"),$("div.envira-video-help").remove();var t=$(this).closest("p.envira-intro");$(t).append('<div class="envira-video-help"><iframe src="'+a+'" /><a href="#" class="envira-video-close dashicons dashicons-no"></a></div>')}),$(document).on("click",envira_close_video_link,function(e){e.preventDefault(),$(this).closest(".envira-video-help").remove()})}),function($){$(function(){var e=!1;"default"==$('input[name="_envira_gallery[type]"]:checked').val()?$("#envira-gallery-preview").hide():$("#envira-gallery-preview").show(),$(document).on("enviraGalleryType enviraGalleryPreview",function(){var a=$('input[name="_envira_gallery[type]"]:checked').val(),t=$("#envira-gallery-preview .spinner"),i=$("#envira-gallery-preview-main");return"default"==a?void $(i).hide():void(e||(e=!0,$(i).html(""),$.ajax({type:"post",url:envira_gallery_metabox.ajax,dataType:"json",data:{action:"envira_gallery_change_preview",post_id:envira_gallery_metabox.id,type:a,data:$("form#post").serializeArray(),nonce:envira_gallery_metabox.preview_nonce},success:function(a){$(i).html(a),$(t).hide(),e=!1},error:function(a,n){$(i).html('<div class="error"><p>'+a.responseText+"</p></div>"),$(t).hide(),e=!1}})))})})}(jQuery),function($){$(function(){$("#envira-gallery-types-nav").on("click","li",function(e){$('input[name="_envira_gallery[type]"]',$(this)).prop("checked",!0).trigger("change")}),$(document).on("change",'input[name="_envira_gallery[type]"]:radio',function(e){var a=$(this).val(),t=$("#envira-tabs #envira-tab-images .spinner"),i=$("#envira-tabs #envira-tab-images #envira-gallery-main");$(t).css("visibility","visible"),$("li",$(this).closest("#envira-gallery-types-nav")).removeClass("envira-active"),$(this).closest("li").addClass("envira-active"),$("a",$("#envira-tabs-nav li").first()).trigger("click"),$(i).html(""),$.ajax({type:"post",url:envira_gallery_metabox.ajax,dataType:"json",data:{action:"envira_gallery_change_type",post_id:envira_gallery_metabox.id,type:a,nonce:envira_gallery_metabox.change_nonce},success:function(e){$(i).html(e.html),$(document).trigger("enviraGalleryType",e),$(t).hide()},error:function(e,a){$(i).html('<div class="error"><p>'+e.responseText+"</p></div>"),$(t).hide()}})})})}(jQuery);var EnviraGalleryBulkEditImageView=wp.Backbone.View.extend({tagName:"li",className:"attachment",template:wp.template("envira-meta-bulk-editor-image"),initialize:function(e){this.model=e.model},render:function(){return this.$el.html(this.template(this.model.attributes)),this}}),EnviraGalleryBulkEditView=wp.Backbone.View.extend({tagName:"div",className:"edit-attachment-frame mode-select hide-menu hide-router",template:wp.template("envira-meta-bulk-editor"),events:{"keyup input":"updateItem","keyup textarea":"updateItem","change input":"updateItem","change textarea":"updateItem","blur textarea":"updateItem","change select":"updateItem","click .actions a.envira-gallery-meta-submit":"saveItem","keyup input#link-search":"searchLinks","click div.query-results li":"insertLink","click button.media-file":"insertMediaFileLink","click button.attachment-page":"insertAttachmentPageLink"},initialize:function(e){this.on("loading",this.loading,this),this.on("loaded",this.loaded,this),this.is_loading=!1,this.collection=e.collection,this.child_views=e.child_views,this.model=new EnviraGalleryImage},render:function(){return this.$el.html(this.template(this.model.toJSON())),this.collection.forEach(function(e){var a=new EnviraGalleryBulkEditImageView({model:e});this.$el.find("ul.attachments").append(a.render().el)},this),this.child_views.length>0&&this.child_views.forEach(function(e){var a=new e({model:this.model});this.$el.find("div.addons").append(a.render().el)},this),setTimeout(function(){quicktags({id:"caption",buttons:"strong,em,link,ul,ol,li,close"}),QTags._buttonsInit()},500),wpLink.init,this},renderError:function(e){var a={};a.error=e;var t=new wp.media.view.EnviraGalleryError({model:a});return t.render().el},loading:function(){this.is_loading=!0,this.$el.find(".spinner").css("visibility","visible")},loaded:function(e){this.is_loading=!1,this.$el.find(".spinner").css("visibility","hidden"),"undefined"!=typeof e&&this.$el.find("ul.attachments").before(this.renderError(e))},updateItem:function(e){""!=e.target.name&&("checkbox"==e.target.type?value=e.target.checked?1:0:value=e.target.value,this.model.set(e.target.name,value))},saveItem:function(){this.trigger("loading");var e=[];this.collection.forEach(function(a){e.push(a.id)},this),wp.media.ajax("envira_gallery_save_bulk_meta",{context:this,data:{nonce:envira_gallery_metabox.save_nonce,post_id:envira_gallery_metabox.id,meta:this.model.attributes,image_ids:e},success:function(e){this.collection.forEach(function(e){for(var a in this.model.attributes)value=this.model.attributes[a],value.length>0&&e.set(a,value);var t=JSON.stringify(e.attributes);jQuery("ul#envira-gallery-output li#"+e.get("id")).attr("data-envira-gallery-image-model",t),jQuery("ul#envira-gallery-output li#"+e.get("id")+" div.title").text(e.get("title"))},this),jQuery("nav.envira-tab-options input[type=checkbox]").prop("checked",!1).trigger("change"),this.trigger("loaded loaded:success"),EnviraGalleryModalWindow.close()},error:function(e){this.trigger("loaded loaded:error",e)}})},insertMediaFileLink:function(e){this.trigger("loading"),this.model.set("link",response.media_link),this.trigger("loaded loaded:success"),this.render()},insertAttachmentPageLink:function(e){this.trigger("loading"),this.model.set("link",response.media_link),this.trigger("loaded loaded:success"),this.render()}});jQuery(document).ready(function($){$("#envira-gallery-main").on("click","a.envira-gallery-images-edit",function(e){e.preventDefault(),EnviraGalleryImagesUpdate(!0),EnviraGalleryModalWindow.content(new EnviraGalleryBulkEditView({collection:EnviraGalleryImages,child_views:EnviraGalleryChildViews})),EnviraGalleryModalWindow.open()})}),jQuery(document).ready(function($){$(document).on("click","a.envira-gallery-images-delete",function(e){e.preventDefault();var a=confirm(envira_gallery_metabox.remove_multiple);if(!a)return!1;var t=[];$("ul#envira-gallery-output > li.selected").each(function(){t.push($(this).attr("id"))});var i=$(this).parent().attr("id");$.ajax({url:envira_gallery_metabox.ajax,type:"post",dataType:"json",data:{action:"envira_gallery_remove_images",attachment_ids:t,post_id:envira_gallery_metabox.id,nonce:envira_gallery_metabox.remove_nonce},success:function(e){$("ul#envira-gallery-output > li.selected").remove(),$("nav.envira-select-options").fadeOut(),$(".envira-gallery-load-library").attr("data-envira-gallery-offset",0).addClass("has-search").trigger("click"),EnviraGalleryImagesUpdate(!1)},error:function(e,a,t){$(envira_gallery_output).before('<div class="error"><p>'+a.responseText+"</p></div>")}})}),$(document).on("click","#envira-gallery-main .envira-gallery-remove-image",function(e){e.preventDefault();var a=confirm(envira_gallery_metabox.remove);if(a){var t=$(this).parent().attr("id");$.ajax({url:envira_gallery_metabox.ajax,type:"post",dataType:"json",data:{action:"envira_gallery_remove_image",attachment_id:t,post_id:envira_gallery_metabox.id,nonce:envira_gallery_metabox.remove_nonce},success:function(e){$("#"+t).fadeOut("normal",function(){$(this).remove(),$(".envira-gallery-load-library").attr("data-envira-gallery-offset",0).addClass("has-search").trigger("click"),EnviraGalleryImagesUpdate(!1)})},error:function(e,a,t){$(envira_gallery_output).before('<div class="error"><p>'+a.responseText+"</p></div>")}})}})});var EnviraGalleryImage=Backbone.Model.extend({defaults:{id:"",title:"",caption:"",alt:"",link:""}}),EnviraGalleryImages=new Backbone.Collection;if("undefined"==typeof EnviraGalleryModalWindow)var EnviraGalleryModalWindow=new wp.media.view.Modal({controller:{trigger:function(){}}});var EnviraGalleryEditView=wp.Backbone.View.extend({tagName:"div",className:"edit-attachment-frame mode-select hide-menu hide-router",template:wp.template("envira-meta-editor"),events:{"click .edit-media-header .left":"loadPreviousItem","click .edit-media-header .right":"loadNextItem","keyup input":"updateItem","keyup textarea":"updateItem","change input":"updateItem","change textarea":"updateItem","blur textarea":"updateItem","change select":"updateItem","click .actions a.envira-gallery-meta-submit":"saveItem","keyup input#link-search":"searchLinks","click div.query-results li":"insertLink","click button.media-file":"insertMediaFileLink","click button.attachment-page":"insertAttachmentPageLink"},initialize:function(e){this.on("loading",this.loading,this),this.on("loaded",this.loaded,this),this.is_loading=!1,this.collection=e.collection,this.child_views=e.child_views,this.attachment_id=e.attachment_id,this.attachment_index=0,this.search_timer="";var a=0;this.collection.each(function(e){return e.get("id")==this.attachment_id?(this.model=e,this.attachment_index=a,!1):void a++},this)},render:function(){return this.$el.html(this.template(this.model.attributes)),this.child_views.length>0&&this.child_views.forEach(function(e){var a=new e({model:this.model});this.$el.find("div.addons").append(a.render().el)},this),this.$el.find("textarea[name=caption]").val(this.model.get("caption")),setTimeout(function(){quicktags({id:"caption",buttons:"strong,em,link,ul,ol,li,close"}),QTags._buttonsInit()},500),wpLink.init,0==this.attachment_index&&this.$el.find("button.left").addClass("disabled"),this.attachment_index==this.collection.length-1&&this.$el.find("button.right").addClass("disabled"),this},renderError:function(e){var a={};a.error=e;var t=new wp.media.view.EnviraGalleryError({model:a});return t.render().el},loading:function(){this.is_loading=!0,this.$el.find(".spinner").css("visibility","visible")},loaded:function(e){this.is_loading=!1,this.$el.find(".spinner").css("visibility","hidden"),"undefined"!=typeof e&&this.$el.find("div.media-toolbar").after(this.renderError(e))},loadPreviousItem:function(){this.attachment_index--,this.model=this.collection.at(this.attachment_index),this.attachment_id=this.model.get("id"),this.render()},loadNextItem:function(){this.attachment_index++,this.model=this.collection.at(this.attachment_index),this.attachment_id=this.model.get("id"),this.render()},updateItem:function(e){""!=e.target.name&&("checkbox"==e.target.type?value=e.target.checked?e.target.value:0:value=e.target.value,this.model.set(e.target.name,value))},saveItem:function(){this.trigger("loading"),wp.media.ajax("envira_gallery_save_meta",{context:this,data:{nonce:envira_gallery_metabox.save_nonce,post_id:envira_gallery_metabox.id,attach_id:this.model.get("id"),meta:this.model.attributes},success:function(e){this.trigger("loaded loaded:success");var a=JSON.stringify(this.model.attributes),t=jQuery("ul#envira-gallery-output li#"+this.model.get("id"));jQuery(t).attr("data-envira-gallery-image-model",a),jQuery("div.meta div.title span",t).text(this.model.get("title")),jQuery("div.meta div.title a.hint",t).attr("title",this.model.get("title")),this.model.get("title").length>20?jQuery("div.meta div.title a.hint",t).removeClass("hidden"):jQuery("div.meta div.title a.hint",t).addClass("hidden");var i=this.$el.find(".saved");i.fadeIn(),setTimeout(function(){i.fadeOut()},1500)},error:function(e){this.trigger("loaded loaded:error",e)}})},searchLinks:function(e){},insertLink:function(e){},insertMediaFileLink:function(e){this.trigger("loading"),wp.media.ajax("envira_gallery_get_attachment_links",{context:this,data:{nonce:envira_gallery_metabox.save_nonce,attachment_id:this.model.get("id")},success:function(e){this.model.set("link",e.media_link),this.trigger("loaded loaded:success"),this.render()},error:function(e){this.trigger("loaded loaded:error",e)}})},insertAttachmentPageLink:function(e){this.trigger("loading"),wp.media.ajax("envira_gallery_get_attachment_links",{context:this,data:{nonce:envira_gallery_metabox.save_nonce,attachment_id:this.model.get("id")},success:function(e){this.model.set("link",e.attachment_page),this.trigger("loaded loaded:success"),this.render()},error:function(e){this.trigger("loaded loaded:error",e)}})}}),EnviraGalleryChildViews=[];jQuery(document).ready(function($){$(document).on("click","#envira-gallery-main a.envira-gallery-modify-image",function(e){e.preventDefault(),EnviraGalleryImagesUpdate(!1);var a=$(this).parent().data("envira-gallery-image");EnviraGalleryModalWindow.content(new EnviraGalleryEditView({collection:EnviraGalleryImages,child_views:EnviraGalleryChildViews,attachment_id:a})),EnviraGalleryModalWindow.open()})}),jQuery(document).ready(function($){$("a.envira-media-library").on("click",function(e){return e.preventDefault(),wp.media.frames.envira?void wp.media.frames.envira.open():(wp.media.frames.envira=wp.media({frame:"post",title:wp.media.view.l10n.insertIntoPost,button:{text:wp.media.view.l10n.insertIntoPost},multiple:!0}),wp.media.frames.envira.on("open",function(){var e=wp.media.frames.envira.state().get("selection");$("ul#envira-gallery-output li").each(function(){var a=wp.media.attachment($(this).attr("id"));e.add(a?[a]:[])})}),wp.media.frames.envira.on("insert",function(e){var a=wp.media.frames.envira.state(),t=[];e.each(function(e){var i=a.display(e).toJSON();switch(i.link){case"none":e.set("link",e.get("url"));break;case"file":e.set("link",e.get("url"));break;case"post":break;case"custom":e.set("link",i.linkUrl)}t.push(e.toJSON())},this),$.post(envira_gallery_metabox.ajax,{action:"envira_gallery_insert_images",nonce:envira_gallery_metabox.insert_nonce,post_id:envira_gallery_metabox.id,images:t},function(e){e&&e.success&&($("#envira-gallery-output").html(e.success),EnviraGalleryImagesUpdate(!1))},"json")}),void wp.media.frames.envira.open())})});var envira_gallery_output="#envira-gallery-output",envira_gallery_shift_key_pressed=!1,envira_gallery_last_selected_image=!1;jQuery(document).ready(function($){$(document).on("click","nav.envira-tab-options a",function(e){e.preventDefault();var a=$(this).closest(".envira-tab-options"),t=$(this).data("view"),i=$(this).data("view-style");$(t).hasClass(i)||($(t).removeClass("list").removeClass("grid").addClass(i),$("a",a).removeClass("selected"),$(this).addClass("selected"),$.ajax({url:envira_gallery_metabox.ajax,type:"post",dataType:"json",data:{action:"envira_gallery_set_user_setting",name:"envira_gallery_image_view",value:i,nonce:envira_gallery_metabox.set_user_setting_nonce},success:function(e){},error:function(e,a,t){$(envira_gallery_output).before('<div class="error"><p>'+a.responseText+"</p></div>")}}))}),$(document).on("change","nav.envira-tab-options input",function(e){$(this).prop("checked")?($("li",$(envira_gallery_output)).addClass("selected"),$("nav.envira-select-options").fadeIn()):($("li",$(envira_gallery_output)).removeClass("selected"),$("nav.envira-select-options").fadeOut())}),envira_gallery_sortable($),$(document).on("enviraGalleryType",function(){$(envira_gallery_output).length>0&&envira_gallery_sortable($)}),$(document).on("click","ul#envira-gallery-output li.envira-gallery-image > img, li.envira-gallery-image > div, li.envira-gallery-image > a.check",function(e){e.preventDefault();var a=$(this).parent();if($(a).hasClass("selected"))$(a).removeClass("selected"),envira_gallery_last_selected_image=!1;else{if(envira_gallery_shift_key_pressed&&envira_gallery_last_selected_image!==!1){var t=$("ul#envira-gallery-output li").index($(envira_gallery_last_selected_image)),i=$("ul#envira-gallery-output li").index($(a)),n=0;if(i>t)for(n=t;i>=n;n++)$("ul#envira-gallery-output li:eq( "+n+")").addClass("selected");else for(n=i;t>=n;n++)$("ul#envira-gallery-output li:eq( "+n+")").addClass("selected")}$(a).addClass("selected"),envira_gallery_last_selected_image=$(a)}$("ul#envira-gallery-output > li.selected").length>0?$("nav.envira-select-options").fadeIn():$("nav.envira-select-options").fadeOut()}),$(document).on("keyup keydown",function(e){envira_gallery_shift_key_pressed=e.shiftKey})}),jQuery(document).ready(function($){$("#envira-gallery-main").on("click","a.envira-gallery-images-move",function(e){e.preventDefault();var a=$(this).data("action");EnviraGalleryModalWindow.content(new EnviraGallerySelectionView({action:a,multiple:!1,sidebar_view:"envira-meta-move-media-sidebar",modal_title:envira_gallery_metabox.move_media_modal_title,insert_button_label:envira_gallery_metabox.move_media_insert_button_label,onInsert:function(){EnviraGalleryImagesUpdate(!0);var e=[];EnviraGalleryImages.forEach(function(a){e.push(a.get("id"))}),this.selection.forEach(function(t){wp.media.ajax("envira_"+a+"_move_media",{context:this,data:{nonce:envira_gallery_metabox.move_media_nonce,from_gallery_id:envira_gallery_metabox.id,to_gallery_id:t.id,image_ids:e},success:function(e){$("ul#envira-gallery-output > li.selected").remove(),$("nav.envira-select-options").fadeOut(),EnviraGalleryImagesUpdate(!1),EnviraGalleryModalWindow.close()},error:function(e){alert(e)}})})}})),EnviraGalleryModalWindow.open()})}),function($){$(function(){if("undefined"!=typeof uploader){$("input#plupload-browse-button").val(envira_gallery_metabox.uploader_files_computer);var e=$("#envira-gallery .envira-progress-bar"),a=$("#envira-gallery .envira-progress-bar div.envira-progress-bar-inner"),t=$("#envira-gallery .envira-progress-bar div.envira-progress-bar-status"),i=$("#envira-gallery-output"),n=$("#envira-gallery-upload-error"),r=0;uploader.bind("Init",function(e){$("#drag-drop-area").fadeIn(),$("a.envira-media-library.button").fadeIn()}),uploader.bind("FilesAdded",function(a,i){$(n).html(""),r=i.length,$(".uploading .current",$(t)).text("1"),$(".uploading .total",$(t)).text(r),$(".uploading",$(t)).show(),$(".done",$(t)).hide(),$(e).fadeIn()}),uploader.bind("UploadProgress",function(e,i){$(".uploading .current",$(t)).text(r-e.total.queued+1),$(a).css({width:e.total.percent+"%"})}),uploader.bind("FileUploaded",function(e,a,t){$.post(envira_gallery_metabox.ajax,{action:"envira_gallery_load_image",nonce:envira_gallery_metabox.load_image,id:t.response,post_id:envira_gallery_metabox.id},function(e){switch(envira_gallery_metabox.media_position){case"before":$(i).prepend(e);break;case"after":default:$(i).append(e)}EnviraGalleryImagesUpdate(!1)},"json")}),uploader.bind("UploadComplete",function(){$(".uploading",$(t)).hide(),$(".done",$(t)).show(),setTimeout(function(){$(e).fadeOut()},1e3)}),uploader.bind("Error",function(e,a){$("#envira-gallery-upload-error").html('<div class="error fade"><p>'+a.file.name+": "+a.message+"</p></div>"),e.refresh()})}})}(jQuery),jQuery(document).ready(function($){$('select[name="_envira_gallery[image_size]"]').on("change",function(){"envira_gallery_random"==$(this).val()?$("tr#envira-config-image-sizes-random-box").show():$("tr#envira-config-image-sizes-random-box").hide()}),$('select[name="_envira_gallery[image_size]"]').trigger("change")});
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.0.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.0.2';
57
 
58
  /**
59
  * The name of the plugin.
@@ -151,9 +151,11 @@ class Envira_Gallery_Lite {
151
  */
152
  public function require_admin() {
153
 
 
154
  require plugin_dir_path( __FILE__ ) . 'includes/admin/ajax.php';
155
  require plugin_dir_path( __FILE__ ) . 'includes/admin/common.php';
156
  require plugin_dir_path( __FILE__ ) . 'includes/admin/editor.php';
 
157
  require plugin_dir_path( __FILE__ ) . 'includes/admin/media.php';
158
  require plugin_dir_path( __FILE__ ) . 'includes/admin/media-view.php';
159
  require plugin_dir_path( __FILE__ ) . 'includes/admin/metaboxes.php';
@@ -423,6 +425,53 @@ class Envira_Gallery_Lite {
423
 
424
  }
425
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
426
  /**
427
  * Returns the singleton instance of the class.
428
  *
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.0.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.0.3';
57
 
58
  /**
59
  * The name of the plugin.
151
  */
152
  public function require_admin() {
153
 
154
+ require plugin_dir_path( __FILE__ ) . 'includes/admin/addons.php';
155
  require plugin_dir_path( __FILE__ ) . 'includes/admin/ajax.php';
156
  require plugin_dir_path( __FILE__ ) . 'includes/admin/common.php';
157
  require plugin_dir_path( __FILE__ ) . 'includes/admin/editor.php';
158
+ require plugin_dir_path( __FILE__ ) . 'includes/admin/license.php';
159
  require plugin_dir_path( __FILE__ ) . 'includes/admin/media.php';
160
  require plugin_dir_path( __FILE__ ) . 'includes/admin/media-view.php';
161
  require plugin_dir_path( __FILE__ ) . 'includes/admin/metaboxes.php';
425
 
426
  }
427
 
428
+ /**
429
+ * Returns the license key for Envira.
430
+ *
431
+ * As Lite doesn't need a license key, but includes/admin/addons.php
432
+ * expects something, we return an empty string.
433
+ *
434
+ * @since 1.5.0.3
435
+ *
436
+ * @return string Empty String
437
+ */
438
+ public function get_license_key() {
439
+
440
+ return '';
441
+
442
+ }
443
+
444
+ /**
445
+ * Returns the license key type for Envira.
446
+ *
447
+ * As Lite doesn't need a license key, but includes/admin/addons.php
448
+ * expects something, we return an empty string.
449
+ *
450
+ * @since 1.5.0.3
451
+ *
452
+ * @return string Empty String
453
+ */
454
+ public function get_license_key_type() {
455
+
456
+ return '';
457
+
458
+ }
459
+
460
+ /**
461
+ * Returns the license key error(s) for Envira.
462
+ *
463
+ * As Lite doesn't need a license key, but includes/admin/addons.php
464
+ * expects something, we return false
465
+ *
466
+ * @since 1.5.0.3
467
+ *
468
+ * @return bool false
469
+ */
470
+ public function get_license_key_errors() {
471
+
472
+ return false;
473
+ }
474
+
475
  /**
476
  * Returns the singleton instance of the class.
477
  *
includes/admin/addons.php ADDED
@@ -0,0 +1,590 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Addons class.
4
+ *
5
+ * @since 1.5.0
6
+ *
7
+ * @package Envira_Gallery
8
+ * @author David Bisset
9
+ */
10
+ class Envira_Gallery_Addons {
11
+
12
+ /**
13
+ * Holds the class object.
14
+ *
15
+ * @since 1.5.0
16
+ *
17
+ * @var object
18
+ */
19
+ public static $instance;
20
+
21
+ /**
22
+ * Path to the file.
23
+ *
24
+ * @since 1.5.0
25
+ *
26
+ * @var string
27
+ */
28
+ public $file = __FILE__;
29
+
30
+ /**
31
+ * Holds the base class object.
32
+ *
33
+ * @since 1.5.0
34
+ *
35
+ * @var object
36
+ */
37
+ public $base;
38
+
39
+ /**
40
+ * Holds the submenu pagehook.
41
+ *
42
+ * @since 1.5.0
43
+ *
44
+ * @var string
45
+ */
46
+ public $hook;
47
+
48
+ /**
49
+ * Primary class constructor.
50
+ *
51
+ * @since 1.5.0
52
+ */
53
+ public function __construct() {
54
+
55
+ // Load the base class object.
56
+ $this->base = ( class_exists( 'Envira_Gallery' ) ? Envira_Gallery::get_instance() : Envira_Gallery_Lite::get_instance() );
57
+
58
+ // Add custom addons submenu.
59
+ add_action( 'admin_menu', array( $this, 'admin_menu' ), 12 );
60
+
61
+ // Add callbacks for addons tabs.
62
+ add_action( 'envira_gallery_addons_section', array( $this, 'addons_content' ) );
63
+
64
+ // Add the addons menu item to the Plugins table.
65
+ add_filter( 'plugin_action_links_' . plugin_basename( $this->base->file ), array( $this, 'addons_link' ) );
66
+
67
+ }
68
+
69
+ /**
70
+ * Register the Addons submenu item for Envira.
71
+ *
72
+ * @since 1.5.0
73
+ */
74
+ public function admin_menu() {
75
+
76
+ // Register the submenu.
77
+ $this->hook = add_submenu_page(
78
+ 'edit.php?post_type=envira',
79
+ __( 'Envira Gallery Addons', 'envira-gallery' ),
80
+ '<span style="color:#7cc048"> ' . __( 'Addons', 'envira-gallery' ) . '</span>',
81
+ apply_filters( 'envira_gallery_menu_cap', 'manage_options' ),
82
+ $this->base->plugin_slug . '-addons',
83
+ array( $this, 'addons_page' )
84
+ );
85
+
86
+ // If successful, load admin assets only on that page and check for addons refresh.
87
+ if ( $this->hook ) {
88
+ add_action( 'load-' . $this->hook, array( $this, 'maybe_refresh_addons' ) );
89
+ add_action( 'load-' . $this->hook, array( $this, 'addons_page_assets' ) );
90
+ }
91
+
92
+ }
93
+
94
+ /**
95
+ * Maybe refreshes the addons page.
96
+ *
97
+ * @since 1.5.0
98
+ *
99
+ * @return null Return early if not refreshing the addons.
100
+ */
101
+ public function maybe_refresh_addons() {
102
+
103
+ if ( ! $this->is_refreshing_addons() ) {
104
+ return;
105
+ }
106
+
107
+ if ( ! $this->refresh_addons_action() ) {
108
+ return;
109
+ }
110
+
111
+ $this->get_addons_data( $this->base->get_license_key() );
112
+
113
+ }
114
+
115
+ /**
116
+ * Loads assets for the addons page.
117
+ *
118
+ * @since 1.5.0
119
+ */
120
+ public function addons_page_assets() {
121
+
122
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_styles' ) );
123
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
124
+
125
+ }
126
+
127
+ /**
128
+ * Register and enqueue addons page specific CSS.
129
+ *
130
+ * @since 1.5.0
131
+ */
132
+ public function enqueue_admin_styles() {
133
+
134
+ wp_register_style( $this->base->plugin_slug . '-addons-style', plugins_url( 'assets/css/addons.css', $this->base->file ), array(), $this->base->version );
135
+ wp_enqueue_style( $this->base->plugin_slug . '-addons-style' );
136
+
137
+ // Run a hook to load in custom styles.
138
+ do_action( 'envira_gallery_addons_styles' );
139
+
140
+ }
141
+
142
+ /**
143
+ * Register and enqueue addons page specific JS.
144
+ *
145
+ * @since 1.5.0
146
+ */
147
+ public function enqueue_admin_scripts() {
148
+
149
+ // List.js
150
+ wp_register_script( $this->base->plugin_slug . '-list-script', plugins_url( 'assets/js/min/list-min.js', $this->base->file ), array( 'jquery' ), $this->base->version, true );
151
+ wp_enqueue_script( $this->base->plugin_slug . '-list-script' );
152
+
153
+ // Addons
154
+ wp_register_script( $this->base->plugin_slug . '-addons-script', plugins_url( 'assets/js/addons.js', $this->base->file ), array( 'jquery' ), $this->base->version, true );
155
+ wp_enqueue_script( $this->base->plugin_slug . '-addons-script' );
156
+ wp_localize_script(
157
+ $this->base->plugin_slug . '-addons-script',
158
+ 'envira_gallery_addons',
159
+ array(
160
+ 'activate_nonce' => wp_create_nonce( 'envira-gallery-activate' ),
161
+ 'active' => __( 'Status: Active', 'envira-gallery' ),
162
+ 'activate' => __( 'Activate', 'envira-gallery' ),
163
+ 'get_addons_nonce' => wp_create_nonce( 'envira-gallery-get-addons' ),
164
+ 'activating' => __( 'Activating...', 'envira-gallery' ),
165
+ 'ajax' => admin_url( 'admin-ajax.php' ),
166
+ 'deactivate' => __( 'Deactivate', 'envira-gallery' ),
167
+ 'deactivate_nonce' => wp_create_nonce( 'envira-gallery-deactivate' ),
168
+ 'deactivating' => __( 'Deactivating...', 'envira-gallery' ),
169
+ 'inactive' => __( 'Status: Inactive', 'envira-gallery' ),
170
+ 'install' => __( 'Install', 'envira-gallery' ),
171
+ 'install_nonce' => wp_create_nonce( 'envira-gallery-install' ),
172
+ 'installing' => __( 'Installing...', 'envira-gallery' ),
173
+ 'proceed' => __( 'Proceed', 'envira-gallery' )
174
+ )
175
+ );
176
+
177
+ // Run a hook to load in custom scripts.
178
+ do_action( 'envira_gallery_addons_scripts' );
179
+
180
+ }
181
+
182
+ /**
183
+ * Callback to output the Envira addons page.
184
+ *
185
+ * @since 1.5.0
186
+ */
187
+ public function addons_page() {
188
+
189
+ do_action('envira_head');
190
+ ?>
191
+
192
+ <div id="addon-heading" class="subheading clearfix">
193
+ <h1><?php _e( 'Envira Gallery Addons', 'envira-gallery' ); ?></h1>
194
+ <form id="add-on-search">
195
+ <span class="spinner"></span>
196
+ <input id="add-on-searchbox" name="envira-addon-search" value="" placeholder="<?php _e( 'Search Envira Addons', 'envira-gallery' ); ?>" />
197
+ <select id="envira-filter-select">
198
+ <option value="asc"><?php _e( 'Sort Ascending (A-Z)', 'envira-gallery' ); ?></option>
199
+ <option value="desc"><?php _e( 'Sort Descending (Z-A)', 'envira-gallery' ); ?></option>
200
+ </select>
201
+ </form>
202
+ </div>
203
+
204
+ <div id="envira-gallery-addons" class="wrap">
205
+ <div class="envira-gallery envira-clear">
206
+ <?php do_action( 'envira_gallery_addons_section' ); ?>
207
+ </div>
208
+ </div>
209
+ <?php
210
+
211
+ }
212
+
213
+ /**
214
+ * Callback for displaying the UI for Addons.
215
+ *
216
+ * @since 1.5.0
217
+ */
218
+ public function addons_content() {
219
+
220
+ // If error(s) occured during license key verification, display them and exit now.
221
+ if ( false !== $this->base->get_license_key_errors() ) {
222
+ ?>
223
+ <div class="error below-h2">
224
+ <p>
225
+ <?php _e( 'In order to get access to Addons, you need to resolve your license key errors.', 'envira-gallery' ); ?>
226
+ </p>
227
+ </div>
228
+ <?php
229
+ return;
230
+ }
231
+
232
+ // Get Addons
233
+ $addons = $this->get_addons();
234
+
235
+ // If no Addon(s) were returned, our API call returned an error.
236
+ // Show an error message with a button to reload the page, which will trigger another API call.
237
+ if ( ! $addons ) {
238
+ ?>
239
+ <form id="envira-addons-refresh-addons-form" method="post">
240
+ <p>
241
+ <?php _e( 'There was an issue retrieving the addons for this site. Please click on the button below the refresh the addons data.', 'envira-gallery' ); ?>
242
+ </p>
243
+ <p>
244
+ <a href="<?php echo $_SERVER['REQUEST_URI']; ?>" class="button button-primary"><?php _e( 'Refresh Addons', 'envira-gallery' ); ?></a>
245
+ </p>
246
+ </form>
247
+ <?php
248
+ return;
249
+ }
250
+
251
+ // If here, we have Addons to display, so let's output them now.
252
+ // Get installed plugins and upgrade URL
253
+ $installed_plugins = get_plugins();
254
+ $upgrade_url = Envira_Gallery_Common_Admin::get_instance()->get_upgrade_link();
255
+ ?>
256
+ <div id="envira-addons">
257
+ <?php
258
+ // Output Addons the User is licensed to use.
259
+ if ( count( $addons['licensed'] )> 0 ) {
260
+ ?>
261
+ <div class="envira-addons-area licensed" class="envira-clear">
262
+ <h3><?php _e( 'Available Addons', 'envira-gallery' ); ?></h3>
263
+
264
+ <div id="envira-addons-licensed" class="envira-addons">
265
+ <!-- list container class required for list.js -->
266
+ <div class="list">
267
+ <?php
268
+ foreach ( (array) $addons['licensed'] as $i => $addon ) {
269
+ $this->get_addon_card( $addon, $i, true, $installed_plugins );
270
+ }
271
+ ?>
272
+ </div>
273
+ </div>
274
+ </div>
275
+ <?php
276
+ } // Close licensed addons
277
+
278
+ // Output Addons the User isn't licensed to use.
279
+ if ( count( $addons['unlicensed'] )> 0 ) {
280
+ ?>
281
+ <div class="envira-addons-area unlicensed" class="envira-clear">
282
+ <h3><?php _e( 'Unlock More Addons', 'envira-gallery' ); ?></h3>
283
+ <p><?php echo sprintf( __( '<strong>Want even more addons?</strong> <a href="%s">Upgrade your Envira Gallery account</a> and unlock the following addons.', 'envira-gallery' ), $upgrade_url ); ?></p>
284
+
285
+ <div id="envira-addons-unlicensed" class="envira-addons">
286
+ <!-- list container class required for list.js -->
287
+ <div class="list">
288
+ <?php
289
+ foreach ( (array) $addons['unlicensed'] as $i => $addon ) {
290
+ $this->get_addon_card( $addon, $i, false, $installed_plugins );
291
+ }
292
+ ?>
293
+ </div>
294
+ </div>
295
+ </div>
296
+ <?php
297
+ } // Close unlicensed addons
298
+ ?>
299
+ </div>
300
+ <?php
301
+
302
+ }
303
+
304
+ /**
305
+ * Retrieves addons from the stored transient or remote server.
306
+ *
307
+ * @since 1.5.0
308
+ *
309
+ * @return bool | array false | Array of licensed and unlicensed Addons.
310
+ */
311
+ public function get_addons() {
312
+
313
+ // Get license key and type.
314
+ $key = $this->base->get_license_key();
315
+ $type = $this->base->get_license_key_type();
316
+
317
+ // Get addons data from transient or perform API query if no transient.
318
+ //if ( false === ( $addons = get_transient( '_eg_addons' ) ) ) {
319
+ $addons = $this->get_addons_data( $key );
320
+ //}
321
+
322
+ // If no Addons exist, return false
323
+ if ( ! $addons ) {
324
+ return false;
325
+ }
326
+
327
+ // Iterate through Addons, to build two arrays:
328
+ // - Addons the user is licensed to use,
329
+ // - Addons the user isn't licensed to use.
330
+ $results = array(
331
+ 'licensed' => array(),
332
+ 'unlicensed'=> array(),
333
+ );
334
+ foreach ( (array) $addons as $i => $addon ) {
335
+
336
+ // Determine whether the user is licensed to use this Addon or not.
337
+ if (
338
+ empty( $type ) ||
339
+ ( in_array( 'advanced', $addon->categories ) && $type != 'gold' && $type != 'platinum' ) ||
340
+ ( in_array( 'basic', $addon->categories ) && ( $type != 'silver' && $type != 'gold' && $type != 'platinum' ) )
341
+ ) {
342
+ // Unlicensed
343
+ $results['unlicensed'][] = $addon;
344
+ continue;
345
+ }
346
+
347
+ // Licensed
348
+ $results['licensed'][] = $addon;
349
+
350
+ }
351
+
352
+ // Return Addons, split by licensed and unlicensed.
353
+ return $results;
354
+
355
+ }
356
+
357
+ /**
358
+ * Pings the remote server for addons data.
359
+ *
360
+ * @since 1.5.0
361
+ *
362
+ * @param string $key The user license key.
363
+ * @return array Array of addon data otherwise.
364
+ */
365
+ public function get_addons_data( $key ) {
366
+
367
+ // Get Addons
368
+ // If the key is valid, we'll get personalised upgrade URLs for each Addon (if necessary) and plugin update information.
369
+ $addons = Envira_Gallery_License::get_instance()->perform_remote_request( 'get-addons-data-v15', array( 'tgm-updater-key' => $key ) );
370
+
371
+ // If there was an API error, set transient for only 10 minutes.
372
+ if ( ! $addons ) {
373
+ set_transient( '_eg_addons', false, 10 * MINUTE_IN_SECONDS );
374
+ return false;
375
+ }
376
+
377
+ // If there was an error retrieving the addons, set the error.
378
+ if ( isset( $addons->error ) ) {
379
+ set_transient( '_eg_addons', false, 10 * MINUTE_IN_SECONDS );
380
+ return false;
381
+ }
382
+
383
+ // Otherwise, our request worked. Save the data and return it.
384
+ set_transient( '_eg_addons', $addons, DAY_IN_SECONDS );
385
+ return $addons;
386
+
387
+ }
388
+
389
+ /**
390
+ * Flag to determine if addons are being refreshed.
391
+ *
392
+ * @since 1.5.0
393
+ *
394
+ * @return bool True if being refreshed, false otherwise.
395
+ */
396
+ public function is_refreshing_addons() {
397
+
398
+ return isset( $_POST['envira-gallery-refresh-addons-submit'] );
399
+
400
+ }
401
+
402
+ /**
403
+ * Verifies nonces that allow addon refreshing.
404
+ *
405
+ * @since 1.5.0
406
+ *
407
+ * @return bool True if nonces check out, false otherwise.
408
+ */
409
+ public function refresh_addons_action() {
410
+
411
+ return isset( $_POST['envira-gallery-refresh-addons-submit'] ) && wp_verify_nonce( $_POST['envira-gallery-refresh-addons'], 'envira-gallery-refresh-addons' );
412
+
413
+ }
414
+
415
+ /**
416
+ * Retrieve the plugin basename from the plugin slug.
417
+ *
418
+ * @since 1.5.0
419
+ *
420
+ * @param string $slug The plugin slug.
421
+ * @return string The plugin basename if found, else the plugin slug.
422
+ */
423
+ public function get_plugin_basename_from_slug( $slug ) {
424
+
425
+ $keys = array_keys( get_plugins() );
426
+
427
+ foreach ( $keys as $key ) {
428
+ if ( preg_match( '|^' . $slug . '|', $key ) ) {
429
+ return $key;
430
+ }
431
+ }
432
+
433
+ return $slug;
434
+
435
+ }
436
+
437
+ /**
438
+ * Add Addons page to plugin action links in the Plugins table.
439
+ *
440
+ * @since 1.5.0
441
+ *
442
+ * @param array $links Default plugin action links.
443
+ * @return array $links Amended plugin action links.
444
+ */
445
+ public function addons_link( $links ) {
446
+
447
+ $addons_link = sprintf( '<a href="%s">%s</a>', esc_url( add_query_arg( array( 'post_type' => 'envira', 'page' => 'envira-gallery-addons' ), admin_url( 'edit.php' ) ) ), __( 'Addons', 'envira-gallery' ) );
448
+ array_unshift( $links, $addons_link );
449
+
450
+ return $links;
451
+
452
+ }
453
+
454
+ /**
455
+ * Outputs the addon "box" on the addons page.
456
+ *
457
+ * @since 1.5.0
458
+ *
459
+ * @param object $addon Addon data from the API / transient call
460
+ * @param int $counter Index of this Addon in the collection
461
+ * @param bool $is_licensed Whether the Addon is licensed for use
462
+ * @param array $installed_plugins Installed WordPress Plugins
463
+ */
464
+ public function get_addon_card( $addon, $counter = 0, $is_licensed = false, $installed_plugins = false ) {
465
+
466
+ // Setup some vars
467
+ $plugin_basename = $this->get_plugin_basename_from_slug( $addon->slug );
468
+ $categories = implode( ',', $addon->categories );
469
+ if ( ! $installed_plugins ) {
470
+ $installed_plugins = get_plugins();
471
+ }
472
+
473
+ // If the Addon doesn't supply an upgrade_url key, it's because the user hasn't provided a license
474
+ // get_upgrade_link() will return the Lite or Pro link as necessary for us.
475
+ if ( ! isset( $addon->upgrade_url ) ) {
476
+ $addon->upgrade_url = Envira_Gallery_Common_Admin::get_instance()->get_upgrade_link();
477
+ }
478
+
479
+ // Output the card
480
+ ?>
481
+ <div class="envira-addon">
482
+ <h3 class="envira-addon-title"><?php echo esc_html( $addon->title ); ?></h3>
483
+ <?php
484
+ if ( ! empty( $addon->image ) ) {
485
+ ?>
486
+ <img class="envira-addon-thumb" src="<?php echo esc_url( $addon->image ); ?>" alt="<?php echo esc_attr( $addon->title ); ?>" />
487
+ <?php
488
+ }
489
+ ?>
490
+
491
+ <p class="envira-addon-excerpt"><?php echo esc_html( $addon->excerpt ); ?></p>
492
+
493
+ <?php
494
+ // If the Addon is unlicensed, show the upgrade button
495
+ if ( ! $is_licensed ) {
496
+ ?>
497
+ <div class="envira-addon-active envira-addon-message">
498
+ <div class="interior">
499
+ <div class="envira-addon-upgrade">
500
+ <a href="<?php echo esc_url( $addon->upgrade_url ); ?>" target="_blank" class="button button-primary envira-addon-upgrade-button" rel="<?php echo esc_attr( $plugin_basename ); ?>">
501
+ <?php _e( 'Upgrade Now', 'envira-gallery' ); ?>
502
+ </a>
503
+ <span class="spinner envira-gallery-spinner"></span>
504
+ </div>
505
+ </div>
506
+ </div>
507
+ <?php
508
+ } else {
509
+ // Addon is licensed
510
+
511
+ // If the plugin is not installed, display an install message and button.
512
+ if ( ! isset( $installed_plugins[ $plugin_basename ] ) ) {
513
+ ?>
514
+ <div class="envira-addon-not-installed envira-addon-message">
515
+ <div class="interior">
516
+ <span class="addon-status"><?php _e( 'Status: <span>Not Installed</span>', 'envira-gallery' ); ?></span>
517
+ <div class="envira-addon-action">
518
+ <a class="button button-primary envira-addon-action-button envira-install-addon" href="#" rel="<?php echo esc_url( $addon->url ); ?>">
519
+ <i class="envira-cloud-download"></i>
520
+ <?php _e( 'Install', 'envira-gallery' ); ?>
521
+ </a>
522
+ <span class="spinner envira-gallery-spinner"></span>
523
+ </div>
524
+ </div>
525
+ </div>
526
+ <?php
527
+ } else {
528
+ // Plugin is installed.
529
+ if ( is_plugin_active( $plugin_basename ) ) {
530
+ // Plugin is active. Display the active message and deactivate button.
531
+ ?>
532
+ <div class="envira-addon-active envira-addon-message">
533
+ <div class="interior">
534
+ <span class="addon-status"><?php _e( 'Status: <span>Active</span>', 'envira-gallery' ); ?></span>
535
+ <div class="envira-addon-action">
536
+ <a class="button button-primary envira-addon-action-button envira-deactivate-addon" href="#" rel="<?php echo esc_attr( $plugin_basename ); ?>">
537
+ <i class="envira-toggle-on"></i>
538
+ <?php _e( 'Deactivate', 'envira-gallery' ); ?>
539
+ </a>
540
+ <span class="spinner envira-gallery-spinner"></span>
541
+ </div>
542
+ </div>
543
+ </div>
544
+ <?php
545
+ } else {
546
+ // Plugin is inactivate. Display the inactivate mesage and activate button.
547
+ ?>
548
+ <div class="envira-addon-inactive envira-addon-message">
549
+ <div class="interior">
550
+ <span class="addon-status"><?php _e( 'Status: <span>Inactive</span>', 'envira-gallery' ); ?></span>
551
+ <div class="envira-addon-action">
552
+ <a class="button button-primary envira-addon-action-button envira-activate-addon" href="#" rel="<?php echo esc_attr( $plugin_basename ); ?>">
553
+ <i class="envira-toggle-on"></i>
554
+ <?php _e( 'Activate', 'envira-gallery' ); ?>
555
+ </a>
556
+ <span class="spinner envira-gallery-spinner"></span>
557
+ </div>
558
+ </div>
559
+ </div>
560
+ <?php
561
+ }
562
+ }
563
+ }
564
+ ?>
565
+ </div>
566
+ <?php
567
+
568
+ }
569
+
570
+ /**
571
+ * Returns the singleton instance of the class.
572
+ *
573
+ * @since 1.5.0
574
+ *
575
+ * @return object The Envira_Gallery_Addons object.
576
+ */
577
+ public static function get_instance() {
578
+
579
+ if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Envira_Gallery_Addons ) ) {
580
+ self::$instance = new Envira_Gallery_Addons();
581
+ }
582
+
583
+ return self::$instance;
584
+
585
+ }
586
+
587
+ }
588
+
589
+ // Load the addons class.
590
+ $envira_gallery_addons = Envira_Gallery_Addons::get_instance();
includes/admin/ajax.php CHANGED
@@ -712,7 +712,7 @@ function envira_gallery_ajax_prepare_gallery_data( $gallery_data, $id, $image =
712
  if ( ! $image ) {
713
  $url = wp_get_attachment_image_src( $id, 'full' );
714
  $alt_text = get_post_meta( $id, '_wp_attachment_image_alt', true );
715
- $image = array(
716
  'status' => 'active',
717
  'src' => isset( $url[0] ) ? esc_url( $url[0] ) : '',
718
  'title' => get_the_title( $id ),
@@ -722,7 +722,7 @@ function envira_gallery_ajax_prepare_gallery_data( $gallery_data, $id, $image =
722
  'thumb' => ''
723
  );
724
  } else {
725
- $image = array(
726
  'status' => 'active',
727
  'src' => ( isset( $image['src'] ) ? $image['src'] : $image['url'] ),
728
  'title' => $image['title'],
@@ -733,6 +733,9 @@ function envira_gallery_ajax_prepare_gallery_data( $gallery_data, $id, $image =
733
  );
734
  }
735
 
 
 
 
736
  // If gallery data is not an array (i.e. we have no images), just add the image to the array
737
  if ( ! isset( $gallery_data['gallery'] ) || ! is_array( $gallery_data['gallery'] ) ) {
738
  $gallery_data['gallery'] = array();
712
  if ( ! $image ) {
713
  $url = wp_get_attachment_image_src( $id, 'full' );
714
  $alt_text = get_post_meta( $id, '_wp_attachment_image_alt', true );
715
+ $new_image = array(
716
  'status' => 'active',
717
  'src' => isset( $url[0] ) ? esc_url( $url[0] ) : '',
718
  'title' => get_the_title( $id ),
722
  'thumb' => ''
723
  );
724
  } else {
725
+ $new_image = array(
726
  'status' => 'active',
727
  'src' => ( isset( $image['src'] ) ? $image['src'] : $image['url'] ),
728
  'title' => $image['title'],
733
  );
734
  }
735
 
736
+ // Allow Addons to possibly add metadata now
737
+ $image = apply_filters( 'envira_gallery_ajax_prepare_gallery_data_item', $new_image, $image, $id, $gallery_data );
738
+
739
  // If gallery data is not an array (i.e. we have no images), just add the image to the array
740
  if ( ! isset( $gallery_data['gallery'] ) || ! is_array( $gallery_data['gallery'] ) ) {
741
  $gallery_data['gallery'] = array();
includes/admin/common.php CHANGED
@@ -514,6 +514,14 @@ class Envira_Gallery_Common_Admin {
514
  */
515
  public function get_upgrade_link() {
516
 
 
 
 
 
 
 
 
 
517
  // Check if there's a constant.
518
  $shareasale_id = '';
519
  if ( defined( 'ENVIRA_GALLERY_SHAREASALE_ID' ) ) {
514
  */
515
  public function get_upgrade_link() {
516
 
517
+ if ( class_exists( 'Envira_Gallery' ) ) {
518
+ // User is using Envira Gallery, so just take them to the Pricing page.
519
+ // Note: On the Addons screen, if the user has a license, we won't hit this function,
520
+ // as the API will tell us the direct URL to send the user to based on their license key,
521
+ // so they see pro-rata pricing.
522
+ return 'http://enviragallery.com/pricing/?utm_source=proplugin&utm_medium=link&utm_campaign=WordPress';
523
+ }
524
+
525
  // Check if there's a constant.
526
  $shareasale_id = '';
527
  if ( defined( 'ENVIRA_GALLERY_SHAREASALE_ID' ) ) {
includes/admin/license.php ADDED
@@ -0,0 +1,545 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * License class.
4
+ *
5
+ * @since 1.0.0
6
+ *
7
+ * @package Envira_Gallery
8
+ * @author Thomas Griffin
9
+ */
10
+ class Envira_Gallery_License {
11
+
12
+ /**
13
+ * Holds the class object.
14
+ *
15
+ * @since 1.0.0
16
+ *
17
+ * @var object
18
+ */
19
+ public static $instance;
20
+
21
+ /**
22
+ * Path to the file.
23
+ *
24
+ * @since 1.0.0
25
+ *
26
+ * @var string
27
+ */
28
+ public $file = __FILE__;
29
+
30
+ /**
31
+ * Holds the base class object.
32
+ *
33
+ * @since 1.0.0
34
+ *
35
+ * @var object
36
+ */
37
+ public $base;
38
+
39
+ /**
40
+ * Holds the license key.
41
+ *
42
+ * @since 1.0.0
43
+ *
44
+ * @var string
45
+ */
46
+ public $key;
47
+
48
+ /**
49
+ * Holds any license error messages.
50
+ *
51
+ * @since 1.0.0
52
+ *
53
+ * @var array
54
+ */
55
+ public $errors = array();
56
+
57
+ /**
58
+ * Holds any license success messages.
59
+ *
60
+ * @since 1.0.0
61
+ *
62
+ * @var array
63
+ */
64
+ public $success = array();
65
+
66
+ /**
67
+ * Primary class constructor.
68
+ *
69
+ * @since 1.0.0
70
+ */
71
+ public function __construct() {
72
+
73
+ // Load the base class object.
74
+ $this->base = ( class_exists( 'Envira_Gallery' ) ? Envira_Gallery::get_instance() : Envira_Gallery_Lite::get_instance() );
75
+
76
+ // Only attempt license verification, deactivation, refresh etc. if we're running Envira Gallery.
77
+ if ( class_exists( 'Envira_Gallery' ) ) {
78
+ // Possibly verify the key.
79
+ $this->maybe_verify_key();
80
+
81
+ // Add potential admin notices for actions around the admin.
82
+ add_action( 'admin_notices', array( $this, 'notices' ) );
83
+
84
+ // Grab the license key. If it is not set (even after verification), return early.
85
+ $this->key = $this->base->get_license_key();
86
+ if ( ! $this->key ) {
87
+ return;
88
+ }
89
+
90
+ // Possibly handle validating, deactivating and refreshing license keys.
91
+ $this->maybe_validate_key();
92
+ $this->maybe_deactivate_key();
93
+ $this->maybe_refresh_key();
94
+ }
95
+
96
+ }
97
+
98
+ /**
99
+ * Maybe verifies a license key entered by the user.
100
+ *
101
+ * @since 1.0.0
102
+ *
103
+ * @return null Return early if the key fails to be verified.
104
+ */
105
+ public function maybe_verify_key() {
106
+
107
+ if ( ! $this->is_verifying_key() ) {
108
+ return;
109
+ }
110
+
111
+ if ( ! $this->verify_key_action() ) {
112
+ return;
113
+ }
114
+
115
+ $this->verify_key();
116
+
117
+ }
118
+
119
+ /**
120
+ * Verifies a license key entered by the user.
121
+ *
122
+ * @since 1.0.0
123
+ */
124
+ public function verify_key() {
125
+
126
+ // Perform a request to verify the key.
127
+ $verify = $this->perform_remote_request( 'verify-key', array( 'tgm-updater-key' => $_POST['envira-license-key'] ) );
128
+
129
+ // If it returns false, send back a generic error message and return.
130
+ if ( ! $verify ) {
131
+ $this->errors[] = __( 'There was an error connecting to the remote key API. Please try again later.', 'envira-gallery' );
132
+ return;
133
+ }
134
+
135
+ // If an error is returned, set the error and return.
136
+ if ( ! empty( $verify->error ) ) {
137
+ $this->errors[] = $verify->error;
138
+ return;
139
+ }
140
+
141
+ // Otherwise, our request has been done successfully. Update the option and set the success message.
142
+ $option = get_option( 'envira_gallery' );
143
+ $option['key'] = $_POST['envira-license-key'];
144
+ $option['type'] = isset( $verify->type ) ? $verify->type : $option['type'];
145
+ $option['is_expired'] = false;
146
+ $option['is_disabled'] = false;
147
+ $option['is_invalid'] = false;
148
+ $this->success[] = isset( $verify->success ) ? $verify->success : __( 'Congratulations! This site is now receiving automatic updates.', 'envira-gallery' );
149
+ update_option( 'envira_gallery', $option );
150
+
151
+ }
152
+
153
+ /**
154
+ * Flag to determine if a key is being verified.
155
+ *
156
+ * @since 1.0.0
157
+ *
158
+ * @return bool True if being verified, false otherwise.
159
+ */
160
+ public function is_verifying_key() {
161
+
162
+ return isset( $_POST['envira-license-key'] ) && isset( $_POST['envira-gallery-verify-submit'] );
163
+
164
+ }
165
+
166
+ /**
167
+ * Verifies nonces that allow key verification.
168
+ *
169
+ * @since 1.0.0
170
+ *
171
+ * @return bool True if nonces check out, false otherwise.
172
+ */
173
+ public function verify_key_action() {
174
+
175
+ return isset( $_POST['envira-gallery-verify-submit'] ) && wp_verify_nonce( $_POST['envira-gallery-key-nonce'], 'envira-gallery-key-nonce' );
176
+
177
+ }
178
+
179
+ /**
180
+ * Maybe validates a license key entered by the user.
181
+ *
182
+ * @since 1.0.0
183
+ *
184
+ * @return null Return early if the transient has not expired yet.
185
+ */
186
+ public function maybe_validate_key() {
187
+
188
+ // Perform a request to validate the key.
189
+ if ( false === ( $validate = get_transient( '_eg_validate_license' ) ) ) {
190
+ // Only run every 12 hours.
191
+ $timestamp = get_option( 'envira_gallery_license_updates' );
192
+ if ( ! $timestamp ) {
193
+ $timestamp = strtotime( '+12 hours' );
194
+ update_option( 'envira_gallery_license_updates', $timestamp );
195
+ $this->validate_key();
196
+ } else {
197
+ $current_timestamp = time();
198
+ if ( $current_timestamp < $timestamp ) {
199
+ return;
200
+ } else {
201
+ update_option( 'envira_gallery_license_updates', strtotime( '+12 hours' ) );
202
+ $this->validate_key();
203
+ }
204
+ }
205
+ }
206
+
207
+ }
208
+
209
+ /**
210
+ * Validates a license key entered by the user.
211
+ *
212
+ * @since 1.0.0
213
+ *
214
+ * @param bool $forced Force to set contextual messages (false by default).
215
+ */
216
+ public function validate_key( $forced = false ) {
217
+
218
+ $validate = $this->perform_remote_request( 'validate-key', array( 'tgm-updater-key' => $this->key ) );
219
+
220
+ // If there was a basic API error in validation, only set the transient for 10 minutes before retrying.
221
+ if ( ! $validate ) {
222
+ // If forced, set contextual success message.
223
+ if ( $forced ) {
224
+ $this->errors[] = __( 'There was an error connecting to the remote key API. Please try again later.', 'envira-gallery' );
225
+ }
226
+
227
+ set_transient( '_eg_validate_license', false, 10 * MINUTE_IN_SECONDS );
228
+ return;
229
+ }
230
+
231
+ // If a key or author error is returned, the license no longer exists or the user has been deleted, so reset license.
232
+ if ( isset( $validate->key ) || isset( $validate->author ) ) {
233
+ set_transient( '_eg_validate_license', false, DAY_IN_SECONDS );
234
+ $option = get_option( 'envira_gallery' );
235
+ $option['is_expired'] = false;
236
+ $option['is_disabled'] = false;
237
+ $option['is_invalid'] = true;
238
+ update_option( 'envira_gallery', $option );
239
+ return;
240
+ }
241
+
242
+ // If the license has expired, set the transient and expired flag and return.
243
+ if ( isset( $validate->expired ) ) {
244
+ set_transient( '_eg_validate_license', false, DAY_IN_SECONDS );
245
+ $option = get_option( 'envira_gallery' );
246
+ $option['is_expired'] = true;
247
+ $option['is_disabled'] = false;
248
+ $option['is_invalid'] = false;
249
+ update_option( 'envira_gallery', $option );
250
+ return;
251
+ }
252
+
253
+ // If the license is disabled, set the transient and disabled flag and return.
254
+ if ( isset( $validate->disabled ) ) {
255
+ set_transient( '_eg_validate_license', false, DAY_IN_SECONDS );
256
+ $option = get_option( 'envira_gallery' );
257
+ $option['is_expired'] = false;
258
+ $option['is_disabled'] = true;
259
+ $option['is_invalid'] = false;
260
+ update_option( 'envira_gallery', $option );
261
+ return;
262
+ }
263
+
264
+ // If forced, set contextual success message.
265
+ if ( $forced ) {
266
+ $this->success[] = __( 'Congratulations! Your key has been refreshed successfully.', 'envira-gallery' );
267
+ }
268
+
269
+ // Otherwise, our check has returned successfully. Set the transient and update our license type and flags.
270
+ set_transient( '_eg_validate_license', true, DAY_IN_SECONDS );
271
+ $option = get_option( 'envira_gallery' );
272
+ $option['type'] = isset( $validate->type ) ? $validate->type : $option['type'];
273
+ $option['is_expired'] = false;
274
+ $option['is_disabled'] = false;
275
+ $option['is_invalid'] = false;
276
+ update_option( 'envira_gallery', $option );
277
+
278
+ }
279
+
280
+ /**
281
+ * Maybe deactivates a license key entered by the user.
282
+ *
283
+ * @since 1.0.0
284
+ *
285
+ * @return null Return early if the key fails to be deactivated.
286
+ */
287
+ public function maybe_deactivate_key() {
288
+
289
+ if ( ! $this->is_deactivating_key() ) {
290
+ return;
291
+ }
292
+
293
+ if ( ! $this->deactivate_key_action() ) {
294
+ return;
295
+ }
296
+
297
+ $this->deactivate_key();
298
+
299
+ }
300
+
301
+ /**
302
+ * Deactivates a license key entered by the user.
303
+ *
304
+ * @since 1.0.0
305
+ */
306
+ public function deactivate_key() {
307
+
308
+ // Perform a request to deactivate the key.
309
+ $deactivate = $this->perform_remote_request( 'deactivate-key', array( 'tgm-updater-key' => $_POST['envira-license-key'] ) );
310
+
311
+ // If it returns false, send back a generic error message and return.
312
+ if ( ! $deactivate ) {
313
+ $this->errors[] = __( 'There was an error connecting to the remote key API. Please try again later.', 'envira-gallery' );
314
+ return;
315
+ }
316
+
317
+ // If an error is returned, set the error and return.
318
+ if ( ! empty( $deactivate->error ) ) {
319
+ $this->errors[] = $deactivate->error;
320
+ return;
321
+ }
322
+
323
+ // Otherwise, our request has been done successfully. Reset the option and set the success message.
324
+ $this->success[] = isset( $deactivate->success ) ? $deactivate->success : __( 'Congratulations! You have deactivated the key from this site successfully.', 'envira-gallery' );
325
+ update_option( 'envira_gallery', Envira_Gallery::default_options() );
326
+
327
+ }
328
+
329
+ /**
330
+ * Flag to determine if a key is being deactivated.
331
+ *
332
+ * @since 1.0.0
333
+ *
334
+ * @return bool True if being verified, false otherwise.
335
+ */
336
+ public function is_deactivating_key() {
337
+
338
+ return isset( $_POST['envira-license-key'] ) && isset( $_POST['envira-gallery-deactivate-submit'] );
339
+
340
+ }
341
+
342
+ /**
343
+ * Verifies nonces that allow key deactivation.
344
+ *
345
+ * @since 1.0.0
346
+ *
347
+ * @return bool True if nonces check out, false otherwise.
348
+ */
349
+ public function deactivate_key_action() {
350
+
351
+ return isset( $_POST['envira-gallery-deactivate-submit'] ) && wp_verify_nonce( $_POST['envira-gallery-key-nonce'], 'envira-gallery-key-nonce' );
352
+
353
+ }
354
+
355
+ /**
356
+ * Maybe refreshes a license key.
357
+ *
358
+ * @since 1.0.0
359
+ *
360
+ * @return null Return early if the key fails to be refreshed.
361
+ */
362
+ public function maybe_refresh_key() {
363
+
364
+ if ( ! $this->is_refreshing_key() ) {
365
+ return;
366
+ }
367
+
368
+ if ( ! $this->refresh_key_action() ) {
369
+ return;
370
+ }
371
+
372
+ // Refreshing is simply a word alias for validating a key. Force true to set contextual messages.
373
+ $this->validate_key( true );
374
+
375
+ }
376
+
377
+ /**
378
+ * Flag to determine if a key is being refreshed.
379
+ *
380
+ * @since 1.0.0
381
+ *
382
+ * @return bool True if being refreshed, false otherwise.
383
+ */
384
+ public function is_refreshing_key() {
385
+
386
+ return isset( $_POST['envira-license-key'] ) && isset( $_POST['envira-gallery-refresh-submit'] );
387
+
388
+ }
389
+
390
+ /**
391
+ * Verifies nonces that allow key refreshing.
392
+ *
393
+ * @since 1.0.0
394
+ *
395
+ * @return bool True if nonces check out, false otherwise.
396
+ */
397
+ public function refresh_key_action() {
398
+
399
+ return isset( $_POST['envira-gallery-refresh-submit'] ) && wp_verify_nonce( $_POST['envira-gallery-key-nonce'], 'envira-gallery-key-nonce' );
400
+
401
+ }
402
+
403
+ /**
404
+ * Outputs any notices generated by the class.
405
+ *
406
+ * @since 1.0.0
407
+ */
408
+ public function notices() {
409
+
410
+ // Grab the option and output any nag dealing with license keys.
411
+ $key = $this->base->get_license_key();
412
+ $option = get_option( 'envira_gallery' );
413
+
414
+ // If there is no license key, output nag about ensuring key is set for automatic updates.
415
+ if ( ! $key ) :
416
+ ?>
417
+ <div class="error">
418
+ <p><?php printf( __( '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>', 'envira-gallery' ), esc_url( add_query_arg( array( 'post_type' => 'envira', 'page' => 'envira-gallery-settings' ), admin_url( 'edit.php' ) ) ) ); ?></p>
419
+ </div>
420
+ <?php
421
+ endif;
422
+
423
+ // If a key has expired, output nag about renewing the key.
424
+ if ( isset( $option['is_expired'] ) && $option['is_expired'] ) :
425
+ ?>
426
+ <div class="error">
427
+ <p><?php printf( __( '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>', 'envira-gallery' ), 'https://enviragallery.com/login/' ); ?></p>
428
+ </div>
429
+ <?php
430
+ endif;
431
+
432
+ // If a key has been disabled, output nag about using another key.
433
+ if ( isset( $option['is_disabled'] ) && $option['is_disabled'] ) :
434
+ ?>
435
+ <div class="error">
436
+ <p><?php _e( 'Your license key for Envira Gallery has been disabled. Please use a different key to continue receiving automatic updates.', 'envira-gallery' ); ?></p>
437
+ </div>
438
+ <?php
439
+ endif;
440
+
441
+ // If a key is invalid, output nag about using another key.
442
+ if ( isset( $option['is_invalid'] ) && $option['is_invalid'] ) :
443
+ ?>
444
+ <div class="error">
445
+ <p><?php _e( '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.', 'envira-gallery' ); ?></p>
446
+ </div>
447
+ <?php
448
+ endif;
449
+
450
+ // If there are any license errors, output them now.
451
+ if ( ! empty( $this->errors ) ) :
452
+ ?>
453
+ <div class="error">
454
+ <p><?php echo implode( '<br>', $this->errors ); ?></p>
455
+ </div>
456
+ <?php
457
+ endif;
458
+
459
+ // If there are any success messages, output them now.
460
+ if ( ! empty( $this->success ) ) :
461
+ ?>
462
+ <div class="updated">
463
+ <p><?php echo implode( '<br>', $this->success ); ?></p>
464
+ </div>
465
+ <?php
466
+ endif;
467
+
468
+ }
469
+
470
+ /**
471
+ * Queries the remote URL via wp_remote_post and returns a json decoded response.
472
+ *
473
+ * @since 1.0.0
474
+ *
475
+ * @param string $action The name of the $_POST action var.
476
+ * @param array $body The content to retrieve from the remote URL.
477
+ * @param array $headers The headers to send to the remote URL.
478
+ * @param string $return_format The format for returning content from the remote URL.
479
+ * @return string|bool Json decoded response on success, false on failure.
480
+ */
481
+ public function perform_remote_request( $action, $body = array(), $headers = array(), $return_format = 'json' ) {
482
+
483
+ // Build the body of the request.
484
+ $body = wp_parse_args(
485
+ $body,
486
+ array(
487
+ 'tgm-updater-action' => $action,
488
+ 'tgm-updater-key' => $this->key,
489
+ 'tgm-updater-wp-version' => get_bloginfo( 'version' ),
490
+ 'tgm-updater-referer' => site_url()
491
+ )
492
+ );
493
+ $body = http_build_query( $body, '', '&' );
494
+
495
+ // Build the headers of the request.
496
+ $headers = wp_parse_args(
497
+ $headers,
498
+ array(
499
+ 'Content-Type' => 'application/x-www-form-urlencoded',
500
+ 'Content-Length' => strlen( $body )
501
+ )
502
+ );
503
+
504
+ // Setup variable for wp_remote_post.
505
+ $post = array(
506
+ 'headers' => $headers,
507
+ 'body' => $body
508
+ );
509
+
510
+ // Perform the query and retrieve the response.
511
+ $response = wp_remote_post( 'http://enviragallery.com', $post );
512
+ $response_code = wp_remote_retrieve_response_code( $response );
513
+ $response_body = wp_remote_retrieve_body( $response );
514
+
515
+ // Bail out early if there are any errors.
516
+ if ( 200 != $response_code || is_wp_error( $response_body ) ) {
517
+ return false;
518
+ }
519
+
520
+ // Return the json decoded content.
521
+ return json_decode( $response_body );
522
+
523
+ }
524
+
525
+ /**
526
+ * Returns the singleton instance of the class.
527
+ *
528
+ * @since 1.0.0
529
+ *
530
+ * @return object The Envira_Gallery_License object.
531
+ */
532
+ public static function get_instance() {
533
+
534
+ if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Envira_Gallery_License ) ) {
535
+ self::$instance = new Envira_Gallery_License();
536
+ }
537
+
538
+ return self::$instance;
539
+
540
+ }
541
+
542
+ }
543
+
544
+ // Load the license class.
545
+ $envira_gallery_license = Envira_Gallery_License::get_instance();
includes/admin/partials/metabox-gallery-type.php CHANGED
@@ -40,6 +40,7 @@
40
  <!-- External Gallery -->
41
  <div id="envira-gallery-external" class="envira-tab envira-clear<?php echo ( ( $data['instance']->get_config( 'type', $data['instance']->get_config_default( 'type' ) ) != 'default' ) ? ' envira-active' : '' ); ?>">
42
  <?php
 
43
  if ( count( $data['types'] ) > 1 ) {
44
  ?>
45
  <p class="envira-intro"><?php _e( 'Select Your Service', 'envira-gallery' ); ?></p>
@@ -66,16 +67,29 @@
66
  </ul>
67
  <?php
68
  } else {
 
 
69
  if ( class_exists( 'Envira_Gallery_Lite' ) ) {
70
- Envira_Gallery_Notice_Admin::get_instance()->display_inline_notice(
71
- 'envira_gallery_external',
72
- __( 'Want to display Instagram or Post Images?', 'envira-gallery' ),
73
- __( 'By upgrading to Envira Pro, you can build Galleries based on Instagram images and/or Post images.', 'envira-gallery' ),
74
- 'warning',
75
- __( 'Click here to Upgrade', 'envira-gallery' ),
76
- Envira_Gallery_Common_Admin::get_instance()->get_upgrade_link(),
77
- false
78
- );
 
 
 
 
 
 
 
 
 
 
 
79
  } else {
80
  ?>
81
  <p><?php _e( 'It doesn\'t look like you have any Addons activated which import images from external sources.', 'envira-gallery' ); ?></p>
40
  <!-- External Gallery -->
41
  <div id="envira-gallery-external" class="envira-tab envira-clear<?php echo ( ( $data['instance']->get_config( 'type', $data['instance']->get_config_default( 'type' ) ) != 'default' ) ? ' envira-active' : '' ); ?>">
42
  <?php
43
+ // If one or more External Gallery Types are registered, display them now.
44
  if ( count( $data['types'] ) > 1 ) {
45
  ?>
46
  <p class="envira-intro"><?php _e( 'Select Your Service', 'envira-gallery' ); ?></p>
67
  </ul>
68
  <?php
69
  } else {
70
+ // No External Gallery Types are registered.
71
+ // If we're on the Lite version, show a notice.
72
  if ( class_exists( 'Envira_Gallery_Lite' ) ) {
73
+ $upgrade_link = Envira_Gallery_Common_Admin::get_instance()->get_upgrade_link();
74
+ ?>
75
+ <p class="envira-intro"><?php _e( 'Create Dynamic Galleries with Envira', 'envira-gallery' ); ?></p>
76
+ <ul id="envira-gallery-types-nav">
77
+ <li id="envira-gallery-type-instagram">
78
+ <a href="<?php echo $upgrade_link; ?>" title="<?php _e( 'Build Galleries from Instagram images.', 'envira-gallery' ); ?>" target="_blank">
79
+ <div class="icon"></div>
80
+ <div class="title"><?php _e( 'Instagram', 'envira-gallery' ); ?></div>
81
+ </a>
82
+ </li>
83
+ </ul>
84
+ <p>
85
+ <?php _e( 'Envira Pro allows you to build galleries from Instagram photos, images from your posts, and more.', 'envira-gallery' ); ?>
86
+ </p>
87
+ <p>
88
+ <a href="<?php echo $upgrade_link; ?>" class="button button-primary button-x-large" title="<?php _e( 'Click Here to Upgrade', 'envira-gallery' ); ?>" target="_blank">
89
+ <?php _e( 'Click Here to Upgrade', 'envira-gallery' ); ?>
90
+ </a>
91
+ </p>
92
+ <?php
93
  } else {
94
  ?>
95
  <p><?php _e( 'It doesn\'t look like you have any Addons activated which import images from external sources.', 'envira-gallery' ); ?></p>
includes/admin/table.php CHANGED
@@ -143,10 +143,8 @@ class Envira_Gallery_Table_Admin {
143
  'insert_button_label' => __( 'Insert', 'envira-gallery' ),
144
  ) );
145
 
146
- if ( class_exists( 'Envira_Gallery' ) ) {
147
- wp_register_script( $this->base->plugin_slug . '-table-script', plugins_url( 'assets/js/min/table-min.js', $this->base->file ), array( 'jquery' ), $this->base->version );
148
- wp_enqueue_script( $this->base->plugin_slug . '-table-script' );
149
- }
150
 
151
  // Fire a hook to load in custom admin scripts.
152
  do_action( 'envira_gallery_admin_scripts' );
143
  'insert_button_label' => __( 'Insert', 'envira-gallery' ),
144
  ) );
145
 
146
+ wp_register_script( $this->base->plugin_slug . '-table-script', plugins_url( 'assets/js/min/table-min.js', $this->base->file ), array( 'jquery' ), $this->base->version );
147
+ wp_enqueue_script( $this->base->plugin_slug . '-table-script' );
 
 
148
 
149
  // Fire a hook to load in custom admin scripts.
150
  do_action( 'envira_gallery_admin_scripts' );
includes/global/common.php CHANGED
@@ -619,6 +619,17 @@ class Envira_Gallery_Common {
619
  'rtl' => 0,
620
  );
621
 
 
 
 
 
 
 
 
 
 
 
 
622
  // Allow devs to filter the defaults.
623
  $defaults = apply_filters( 'envira_gallery_defaults', $defaults, $post_id );
624
 
619
  'rtl' => 0,
620
  );
621
 
622
+ // For Lite, change some defaults
623
+ if ( class_exists( 'Envira_Gallery_Lite' ) ) {
624
+ $defaults['toolbar'] = 0;
625
+ $defaults['keyboard'] = 0;
626
+ $defaults['mousewheel'] = 0;
627
+ $defaults['thumbnails'] = 0;
628
+ $defaults['mobile_touchwipe'] = 0;
629
+ $defaults['mobile_toolbar'] = 0;
630
+ $defaults['mobile_thumbnails'] = 0;
631
+ }
632
+
633
  // Allow devs to filter the defaults.
634
  $defaults = apply_filters( 'envira_gallery_defaults', $defaults, $post_id );
635
 
includes/global/shortcode.php CHANGED
@@ -586,387 +586,399 @@ class Envira_Gallery_Shortcode {
586
  // envira_isotopes_config stores Isotope configs for each Gallery
587
  ?>
588
  <script type="text/javascript">
 
 
589
  var envira_galleries = [],
590
  envira_isotopes = [],
591
  envira_isotopes_config = [];
592
 
593
- jQuery(document).ready(function($){<?php ob_start();
594
- do_action( 'envira_gallery_api_start_global' );
595
- foreach ( $this->data as $data ) {
596
- // Prevent multiple init scripts for the same gallery ID.
597
- if ( in_array( $data['id'], $this->done ) ) {
598
- continue;
599
- }
600
- $this->done[] = $data['id'];
601
-
602
- do_action( 'envira_gallery_api_start', $data );
603
-
604
- // Define container
605
- ?>
606
- var envira_container_<?php echo $data['id']; ?> = '';
607
-
608
- <?php
609
- // Isotope: Start
610
- if ( $this->get_config( 'isotope', $data ) ) {
611
- // Define config for this Isotope Gallery
612
- ?>
613
- envira_isotopes_config[<?php echo $data['id']; ?>] = {
614
- <?php do_action( 'envira_gallery_api_enviratope_config', $data ); ?>
615
- itemSelector: '.envira-gallery-item',
616
- <?php
617
- // If columns = 0, use fitRows
618
- if ( $this->get_config( 'columns', $data ) > 0 ) {
619
- ?>
620
- masonry: {
621
- columnWidth: '.envira-gallery-item'
622
- }
623
- <?php
624
- } else {
625
- ?>
626
- layoutMode: 'fitRows'
627
- <?php
628
- }
629
- ?>
630
- };
631
- <?php
632
- // Initialize Isotope
633
- ?>
634
- envira_isotopes[<?php echo $data['id']; ?>] = envira_container_<?php echo $data['id']; ?>
635
- = $('#envira-gallery-<?php echo $data['id']; ?>').enviratope(envira_isotopes_config[<?php echo $data['id']; ?>]);
636
- <?php
637
- // Re-layout Isotope when each image loads
638
- ?>
639
- envira_isotopes[<?php echo $data['id']; ?>].imagesLoaded()
640
- .done(function() {
641
- envira_isotopes[<?php echo $data['id']; ?>].enviratope('layout');
642
- })
643
- .progress(function() {
644
- envira_isotopes[<?php echo $data['id']; ?>].enviratope('layout');
645
- });
646
- <?php
647
- do_action( 'envira_gallery_api_enviratope', $data );
648
- }
649
- // Isotope: End
650
-
651
- // CSS Animations: Start
652
- if ( $this->get_config( 'css_animations', $data ) ) {
653
- $opacity = $this->get_config( 'css_opacity', $data );
654
-
655
- // Defaults Addon Gallery may not have been saved since opacity introduction, so force a value if one doesn't exist.
656
- if ( empty( $opacity ) ) {
657
- $opacity = 100;
658
  }
 
659
 
660
- // Reduce to factor of 1
661
- $opacity = ( $opacity / 100 );
 
662
  ?>
663
- envira_container_<?php echo $data['id']; ?> = $('#envira-gallery-<?php echo $data['id']; ?>').imagesLoaded( function() {
664
- $('.envira-gallery-item img').fadeTo( 'slow', <?php echo $opacity; ?> );
665
- });
666
- <?php
667
- }
668
- // CSS Animations: End
669
-
670
- // Fancybox: Start
671
- if ( $this->get_config( 'lightbox_enabled', $data ) ) {
672
- // By default, we'll use the images in the Gallery DOM to populate the lightbox.
673
- // However, Addons (e.g. Pagination) may require us to give access to all images
674
- // in a Gallery, not just the paginated subset on screen.
675
- // Those Addons can populate this array now which will tell envirabox which images to use.
676
- $lightbox_images = apply_filters( 'envira_gallery_lightbox_images', false, $data );
677
 
678
- if ( ! $lightbox_images ) {
679
- // No lightbox images specified, so use images from DOM
 
 
680
  ?>
681
- envira_galleries['<?php echo $data['id']; ?>'] = $('.envira-gallery-<?php echo $data['id']; ?>').envirabox({
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
682
  <?php
683
- } else {
684
- // Use images from $lightbox_images
685
- add_filter( 'envira_minify_strip_double_forward_slashes', '__return_false' );
686
  ?>
687
- var envira_gallery_images_<?php echo $data['id']; ?> = [];
 
688
  <?php
689
- // Build a JS array of all images
690
- $count = 0;
691
- foreach ( $lightbox_images as $image_id => $image ) {
692
- // If no image ID exists, skip
693
- if ( empty( $image_id ) ) {
694
- continue;
695
- }
696
- ?>
697
- envira_gallery_images_<?php echo $data['id']; ?>.push({
698
- href: '<?php echo $image['src']; ?>',
699
- gallery_id: <?php echo $data['id']; ?>,
700
- id: <?php echo $image_id; ?>,
701
- alt: '<?php echo addslashes( str_replace( "\n", '<br />', $image['alt'] ) ); ?>',
702
- caption: '<?php echo addslashes( str_replace( "\n", '<br />', $image['caption'] ) ); ?>',
703
- title: '<?php echo addslashes( str_replace( "\n", '<br />', $image['title'] ) ); ?>',
704
- index: <?php echo $count; ?>,
705
- thumbnail: '<?php echo ( isset( $image['thumb'] ) ? $image['thumb'] : '' ); ?>'
706
- <?php do_action( 'envira_gallery_api_lightbox_image_attributes', $image, $image_id, $lightbox_images, $data ); ?>
707
  });
708
- <?php
709
- $count++;
 
 
 
 
 
 
 
 
 
 
710
  }
711
 
712
- // Open envirabox when an image is clicked, telling envirabox which images are available to it.
 
713
  ?>
714
- $('#envira-gallery-wrap-<?php echo $data['id']; ?>').on('click', 'a.envira-gallery-link', function(e) {
715
- e.preventDefault();
716
- var envirabox_page = ( $('#envira-gallery-wrap-<?php echo $data['id']; ?> div.envira-pagination').data('page') - 1 );
717
- var envirabox_per_page = $('#envira-gallery-wrap-<?php echo $data['id']; ?> div.envira-pagination').data('per-page');
718
- var envirabox_index = ( Number($('img', $(this)).data('envira-index')) - 1 );
719
- envira_galleries['<?php echo $data['id']; ?>'] = $.envirabox( envira_gallery_images_<?php echo $data['id']; ?>, {
720
- index: ((envirabox_page * envirabox_per_page) + envirabox_index),
721
  <?php
722
  }
723
- ?>
724
-
725
- <?php do_action( 'envira_gallery_api_config', $data ); // Depreciated ?>
726
- <?php do_action( 'envira_gallery_api_envirabox_config', $data ); ?>
727
- <?php if ( ! $this->get_config( 'keyboard', $data ) ) : ?>
728
- keys: 0,
729
- <?php endif; ?>
730
- arrows: <?php echo $this->get_config( 'arrows', $data ); ?>,
731
- aspectRatio: <?php echo $this->get_config( 'aspect', $data ); ?>,
732
- loop: <?php echo $this->get_config( 'loop', $data ); ?>,
733
- mouseWheel: <?php echo $this->get_config( 'mousewheel', $data ); ?>,
734
- preload: 1,
735
- <?php
736
- /* Get open and transition effects */
737
- $lightbox_open_close_effect = $this->get_config( 'lightbox_open_close_effect', $data );
738
- $lightbox_transition_effect = $this->get_config( 'effect', $data );
739
-
740
- /* Get standard effects */
741
- $lightbox_standard_effects = Envira_Gallery_Common::get_instance()->get_transition_effects_values();
742
-
743
- /* If open/close is standard, use openEffect, closeEffect */
744
- if ( in_array( $lightbox_open_close_effect, $lightbox_standard_effects ) ) {
745
  ?>
746
- openEffect: '<?php echo $lightbox_open_close_effect; ?>',
747
- closeEffect: '<?php echo $lightbox_open_close_effect; ?>',
748
  <?php
749
  } else {
 
 
750
  ?>
751
- openEasing: '<?php echo ( $lightbox_open_close_effect == "swing" ? "swing" : "easeIn" . $lightbox_open_close_effect ); ?>',
752
- closeEasing: '<?php echo ( $lightbox_open_close_effect == "swing" ? "swing" : "easeOut" . $lightbox_open_close_effect ); ?>',
753
- openSpeed: 500,
754
- closeSpeed: 500,
755
  <?php
756
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
757
 
758
- /* If transition effect is standard, use nextEffect, prevEffect */
759
- if ( in_array( $lightbox_transition_effect, $lightbox_standard_effects ) ) {
760
- ?>
761
- nextEffect: '<?php echo $lightbox_transition_effect; ?>',
762
- prevEffect: '<?php echo $lightbox_transition_effect; ?>',
763
- <?php
764
- } else {
765
  ?>
766
- nextEasing: '<?php echo ( $lightbox_transition_effect == "swing" ? "swing" : "easeIn" . $lightbox_transition_effect ); ?>',
767
- prevEasing: '<?php echo ( $lightbox_transition_effect == "swing" ? "swing" : "easeOut" . $lightbox_transition_effect ); ?>',
768
- nextSpeed: 600,
769
- prevSpeed: 600,
 
 
 
770
  <?php
771
  }
772
  ?>
773
- tpl: {
774
- wrap : '<?php echo $this->get_lightbox_template( $data ); ?>',
775
- image : '<img class="envirabox-image" src="{href}" alt="" data-envira-title="" data-envira-caption="" data-envira-index="" data-envira-data="" />',
776
- iframe : '<iframe id="envirabox-frame{rnd}" name="envirabox-frame{rnd}" class="envirabox-iframe" frameborder="0" vspace="0" hspace="0" allowtransparency="true" wekitallowfullscreen mozallowfullscreen allowfullscreen></iframe>',
777
- error : '<p class="envirabox-error"><?php echo __( 'The requested content cannot be loaded.<br/>Please try again later.</p>', 'envira-gallery' ); ?>',
778
- closeBtn : '<a title="<?php echo __( 'Close', 'envira-gallery' ); ?>" class="envirabox-item envirabox-close" href="javascript:;"></a>',
779
- next : '<a title="<?php echo __( 'Next', 'envira-gallery' ); ?>" class="envirabox-nav envirabox-next envirabox-arrows-<?php echo $this->get_config( 'arrows_position', $data ); ?>" href="javascript:;"><span></span></a>',
780
- prev : '<a title="<?php echo __( 'Previous', 'envira-gallery' ); ?>" class="envirabox-nav envirabox-prev envirabox-arrows-<?php echo $this->get_config( 'arrows_position', $data ); ?>" href="javascript:;"><span></span></a>'
781
- <?php do_action( 'envira_gallery_api_templates', $data ); ?>
782
- },
783
- helpers: {
784
- <?php
785
- do_action( 'envira_gallery_api_helper_config', $data );
786
- // Grab title display
787
- $title_display = $this->get_config( 'title_display', $data );
788
- if ( $title_display == 'float_wrap' ) {
789
- $title_display = 'float';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
790
  }
 
 
791
  ?>
792
- title: {
793
- <?php do_action( 'envira_gallery_api_title_config', $data ); ?>
794
- type: '<?php echo $title_display; ?>'
 
 
 
 
 
 
795
  },
796
- <?php if ( $this->get_config( 'thumbnails', $data ) ) : ?>
797
- thumbs: {
798
- width: <?php echo $this->get_config( 'thumbnails_width', $data ); ?>,
799
- height: <?php echo $this->get_config( 'thumbnails_height', $data ); ?>,
800
- source: function(current) {
801
- if ( typeof current.element == 'undefined' ) {
802
- return current.thumbnail;
803
- } else {
804
- return $(current.element).data('thumbnail');
805
- }
 
 
806
  },
807
- position: '<?php echo $this->get_config( 'thumbnails_position', $data ); ?>'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
808
  },
809
- <?php endif; ?>
810
- <?php if ( $this->get_config( 'toolbar', $data ) ) : ?>
811
- buttons: {
812
- tpl: '<?php echo $this->get_toolbar_template( $data ); ?>',
813
- position: '<?php echo $this->get_config( 'toolbar_position', $data ); ?>',
814
- padding: '<?php echo ( ( $this->get_config( 'toolbar_position', $data ) == 'bottom' && $this->get_config( 'thumbnails', $data ) && $this->get_config( 'thumbnails_position', $data ) == 'bottom' ) ? true : false ); ?>'
815
  },
816
- <?php endif; ?>
817
- },
818
- <?php do_action( 'envira_gallery_api_config_callback', $data ); ?>
819
- beforeLoad: function(){
820
- this.title = $(this.element).data('envira-caption');
821
- <?php do_action( 'envira_gallery_api_before_load', $data ); ?>
822
- },
823
- afterLoad: function(){
824
- <?php do_action( 'envira_gallery_api_after_load', $data ); ?>
825
- },
826
- beforeShow: function(){
827
- $(window).on({
828
- 'resize.envirabox' : function(){
829
- $.envirabox.update();
830
- }
831
- });
832
 
833
- <?php
834
- // Set data attributes on the lightbox image, based on either
835
- // the image in the DOM or (if $lightbox_images defined) the image
836
- // from $lightbox_images
837
- ?>
838
- if ( typeof this.element === 'undefined' ) {
839
  <?php
840
- // Using $lightbox_images
 
 
841
  ?>
842
- var gallery_id = this.group[ this.index ].gallery_id;
843
- var gallery_item_id = this.group[ this.index ].id;
844
- var alt = this.group[ this.index ].alt;
845
- var title = this.group[ this.index ].title;
846
- var caption = this.group[ this.index ].caption;
847
- var index = this.index;
848
- } else {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
849
  <?php
850
- // Using image from DOM
851
- // Get a bunch of data attributes from clicked image link
852
  ?>
853
- var gallery_id = this.element.find('img').data('envira-gallery-id');
854
- var gallery_item_id = this.element.find('img').data('envira-item-id');
855
- var alt = this.element.find('img').attr('alt');
856
- var title = this.element.find('img').parent().attr('title');
857
- var caption = this.element.find('img').parent().data('envira-caption');
858
- var retina_image = this.element.find('img').parent().data('envira-retina');
859
- var index = this.element.find('img').data('envira-index');
860
- }
861
-
862
- <?php
863
- // Set alt, data-envira-title, data-envira-caption and data-envira-index attributes on Lightbox image
864
- ?>
865
- this.inner.find('img').attr('alt', alt)
866
- .attr('data-envira-gallery-id', gallery_id)
867
- .attr('data-envira-item-id', gallery_item_id)
868
- .attr('data-envira-title', title)
869
- .attr('data-envira-caption', caption)
870
- .attr('data-envira-index', index);
871
-
872
- <?php
873
- // Set retina image srcset if specified
874
- ?>
875
- if ( typeof retina_image !== 'undefined' && retina_image !== '' ) {
876
- this.inner.find('img').attr('srcset', retina_image + ' 2x');
877
- }
878
 
879
- <?php do_action( 'envira_gallery_api_before_show', $data ); ?>
880
- },
881
- afterShow: function(){
882
- <?php
883
- if ( $this->get_config( 'mobile_touchwipe', $data ) ) {
884
  ?>
885
- $('.envirabox-wrap').swipe( {
886
- swipe: function(event, direction, distance, duration, fingerCount, fingerData) {
887
- if (direction === 'left') {
888
- $.envirabox.next(direction);
889
- } else if (direction === 'right') {
890
- $.envirabox.prev(direction);
891
- } else if (direction === 'up') {
892
- <?php
893
- if ( $this->get_config( 'mobile_touchwipe_close', $data ) ) {
894
- ?>
895
- $.envirabox.close();
 
 
 
 
 
 
896
  <?php
 
 
 
 
 
 
897
  }
898
- ?>
 
 
 
 
 
 
 
 
 
 
899
  }
900
  }
901
- } );
902
- <?php
903
- }
904
-
905
- // If title helper = float_wrap, add a CSS class so we can disable word-wrap
906
- if ( $this->get_config( 'title_display', $data ) == 'float_wrap' ) {
907
- ?>
908
- if ( typeof this.helpers.title !== 'undefined' ) {
909
- if ( ! $( 'div.envirabox-title' ).hasClass( 'envirabox-title-text-wrap' ) ) {
910
- $( 'div.envirabox-title' ).addClass( 'envirabox-title-text-wrap' );
911
- }
912
  }
913
- <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
914
  }
 
915
 
916
- do_action( 'envira_gallery_api_after_show', $data ); ?>
917
- },
918
- beforeClose: function(){
919
- <?php do_action( 'envira_gallery_api_before_close', $data ); ?>
920
- },
921
- afterClose: function(){
922
- $(window).off('resize.envirabox');
923
- <?php do_action( 'envira_gallery_api_after_close', $data ); ?>
924
- },
925
- onUpdate: function(){
926
- <?php
927
- if ( $this->get_config( 'toolbar', $data ) ) : ?>
928
- var envira_buttons_<?php echo $data['id']; ?> = $('#envirabox-buttons li').map(function(){
929
- return $(this).width();
930
- }).get(),
931
- envira_buttons_total_<?php echo $data['id']; ?> = 0;
932
- $.each(envira_buttons_<?php echo $data['id']; ?>, function(i, val){
933
- envira_buttons_total_<?php echo $data['id']; ?> += parseInt(val, 10);
934
  });
935
- $('#envirabox-buttons ul').width(envira_buttons_total_<?php echo $data['id']; ?>);
936
- $('#envirabox-buttons').width(envira_buttons_total_<?php echo $data['id']; ?>).css('left', ($(window).width() - envira_buttons_total_<?php echo $data['id']; ?>)/2);
937
- <?php endif; ?>
938
-
939
- <?php do_action( 'envira_gallery_api_on_update', $data ); ?>
940
- },
941
- onCancel: function(){
942
- <?php do_action( 'envira_gallery_api_on_cancel', $data ); ?>
943
- },
944
- onPlayStart: function(){
945
- <?php do_action( 'envira_gallery_api_on_play_start', $data ); ?>
946
- },
947
- onPlayEnd: function(){
948
- <?php do_action( 'envira_gallery_api_on_play_end', $data ); ?>
949
  }
950
- });
951
 
952
- <?php
953
- // If lightbox images were specified, we need to close the click handler now
954
- if ( $lightbox_images !== false ) {
955
- ?>
956
- });
957
- <?php
958
  }
 
 
 
959
 
960
- do_action( 'envira_gallery_api_lightbox', $data );
961
- // Fancybox: End
962
- }
963
-
964
- do_action( 'envira_gallery_api_end', $data );
965
- } // foreach
966
 
 
967
  // Minify before outputting to improve page load time.
968
- do_action( 'envira_gallery_api_end_global', $this->data );
969
- echo $this->minify( ob_get_clean() ); ?>});</script>
 
970
  <?php
971
 
972
  }
@@ -1382,8 +1394,6 @@ class Envira_Gallery_Shortcode {
1382
  */
1383
  public function minify( $string, $stripDoubleForwardslashes = true ) {
1384
 
1385
- return $string;
1386
-
1387
  // Added a switch for stripping double forwardslashes
1388
  // This can be disabled when using URLs in JS, to ensure http:// doesn't get removed
1389
  // All other comment removal and minification will take place
586
  // envira_isotopes_config stores Isotope configs for each Gallery
587
  ?>
588
  <script type="text/javascript">
589
+ <?php ob_start(); ?>
590
+
591
  var envira_galleries = [],
592
  envira_isotopes = [],
593
  envira_isotopes_config = [];
594
 
595
+ jQuery(document).ready(function($){
596
+
597
+ <?php
598
+ do_action( 'envira_gallery_api_start_global' );
599
+ foreach ( $this->data as $data ) {
600
+ // Prevent multiple init scripts for the same gallery ID.
601
+ if ( in_array( $data['id'], $this->done ) ) {
602
+ continue;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
603
  }
604
+ $this->done[] = $data['id'];
605
 
606
+ do_action( 'envira_gallery_api_start', $data );
607
+
608
+ // Define container
609
  ?>
610
+ var envira_container_<?php echo $data['id']; ?> = '';
 
 
 
 
 
 
 
 
 
 
 
 
 
611
 
612
+ <?php
613
+ // Isotope: Start
614
+ if ( $this->get_config( 'isotope', $data ) ) {
615
+ // Define config for this Isotope Gallery
616
  ?>
617
+ envira_isotopes_config['<?php echo $data['id']; ?>'] = {
618
+ <?php do_action( 'envira_gallery_api_enviratope_config', $data ); ?>
619
+ itemSelector: '.envira-gallery-item',
620
+ <?php
621
+ // If columns = 0, use fitRows
622
+ if ( $this->get_config( 'columns', $data ) > 0 ) {
623
+ ?>
624
+ masonry: {
625
+ columnWidth: '.envira-gallery-item'
626
+ }
627
+ <?php
628
+ } else {
629
+ ?>
630
+ layoutMode: 'fitRows'
631
+ <?php
632
+ }
633
+ ?>
634
+ };
635
  <?php
636
+ // Initialize Isotope
 
 
637
  ?>
638
+ envira_isotopes['<?php echo $data['id']; ?>'] = envira_container_<?php echo $data['id']; ?>
639
+ = $('#envira-gallery-<?php echo $data['id']; ?>').enviratope(envira_isotopes_config['<?php echo $data['id']; ?>']);
640
  <?php
641
+ // Re-layout Isotope when each image loads
642
+ ?>
643
+ envira_isotopes['<?php echo $data['id']; ?>'].enviraImagesLoaded()
644
+ .done(function() {
645
+ envira_isotopes['<?php echo $data['id']; ?>'].enviratope('layout');
646
+ })
647
+ .progress(function() {
648
+ envira_isotopes['<?php echo $data['id']; ?>'].enviratope('layout');
 
 
 
 
 
 
 
 
 
 
649
  });
650
+ <?php
651
+ do_action( 'envira_gallery_api_enviratope', $data );
652
+ }
653
+ // Isotope: End
654
+
655
+ // CSS Animations: Start
656
+ if ( $this->get_config( 'css_animations', $data ) ) {
657
+ $opacity = $this->get_config( 'css_opacity', $data );
658
+
659
+ // Defaults Addon Gallery may not have been saved since opacity introduction, so force a value if one doesn't exist.
660
+ if ( empty( $opacity ) ) {
661
+ $opacity = 100;
662
  }
663
 
664
+ // Reduce to factor of 1
665
+ $opacity = ( $opacity / 100 );
666
  ?>
667
+ envira_container_<?php echo $data['id']; ?> = $('#envira-gallery-<?php echo $data['id']; ?>').enviraImagesLoaded( function() {
668
+ $('.envira-gallery-item img').fadeTo( 'slow', <?php echo $opacity; ?> );
669
+ });
 
 
 
 
670
  <?php
671
  }
672
+ // CSS Animations: End
673
+
674
+ // Fancybox: Start
675
+ if ( $this->get_config( 'lightbox_enabled', $data ) ) {
676
+ // By default, we'll use the images in the Gallery DOM to populate the lightbox.
677
+ // However, Addons (e.g. Pagination) may require us to give access to all images
678
+ // in a Gallery, not just the paginated subset on screen.
679
+ // Those Addons can populate this array now which will tell envirabox which images to use.
680
+ $lightbox_images = apply_filters( 'envira_gallery_lightbox_images', false, $data );
681
+
682
+ if ( ! $lightbox_images ) {
683
+ // No lightbox images specified, so use images from DOM
 
 
 
 
 
 
 
 
 
 
684
  ?>
685
+ envira_galleries['<?php echo $data['id']; ?>'] = $('.envira-gallery-<?php echo $data['id']; ?>').envirabox({
 
686
  <?php
687
  } else {
688
+ // Use images from $lightbox_images
689
+ add_filter( 'envira_minify_strip_double_forward_slashes', '__return_false' );
690
  ?>
691
+ var envira_gallery_images_<?php echo $data['id']; ?> = [];
 
 
 
692
  <?php
693
+ // Build a JS array of all images
694
+ $count = 0;
695
+ foreach ( $lightbox_images as $image_id => $image ) {
696
+ // If no image ID exists, skip
697
+ if ( empty( $image_id ) ) {
698
+ continue;
699
+ }
700
+ ?>
701
+ envira_gallery_images_<?php echo $data['id']; ?>.push({
702
+ href: '<?php echo $image['src']; ?>',
703
+ gallery_id: <?php echo $data['id']; ?>,
704
+ id: <?php echo $image_id; ?>,
705
+ alt: '<?php echo addslashes( str_replace( "\n", '<br />', $image['alt'] ) ); ?>',
706
+ caption: '<?php echo addslashes( str_replace( "\n", '<br />', $image['caption'] ) ); ?>',
707
+ title: '<?php echo addslashes( str_replace( "\n", '<br />', $image['title'] ) ); ?>',
708
+ index: <?php echo $count; ?>,
709
+ thumbnail: '<?php echo ( isset( $image['thumb'] ) ? $image['thumb'] : '' ); ?>'
710
+ <?php do_action( 'envira_gallery_api_lightbox_image_attributes', $image, $image_id, $lightbox_images, $data ); ?>
711
+ });
712
+ <?php
713
+ $count++;
714
+ }
715
 
716
+ // Open envirabox when an image is clicked, telling envirabox which images are available to it.
 
 
 
 
 
 
717
  ?>
718
+ $('#envira-gallery-wrap-<?php echo $data['id']; ?>').on('click', 'a.envira-gallery-link', function(e) {
719
+ e.preventDefault();
720
+ var envirabox_page = ( $('#envira-gallery-wrap-<?php echo $data['id']; ?> div.envira-pagination').data('page') - 1 );
721
+ var envirabox_per_page = $('#envira-gallery-wrap-<?php echo $data['id']; ?> div.envira-pagination').data('per-page');
722
+ var envirabox_index = ( Number($('img', $(this)).data('envira-index')) - 1 );
723
+ envira_galleries['<?php echo $data['id']; ?>'] = $.envirabox( envira_gallery_images_<?php echo $data['id']; ?>, {
724
+ index: ((envirabox_page * envirabox_per_page) + envirabox_index),
725
  <?php
726
  }
727
  ?>
728
+
729
+ <?php do_action( 'envira_gallery_api_config', $data ); // Depreciated ?>
730
+ <?php do_action( 'envira_gallery_api_envirabox_config', $data ); ?>
731
+ <?php if ( ! $this->get_config( 'keyboard', $data ) ) : ?>
732
+ keys: 0,
733
+ <?php endif; ?>
734
+ arrows: <?php echo $this->get_config( 'arrows', $data ); ?>,
735
+ aspectRatio: <?php echo $this->get_config( 'aspect', $data ); ?>,
736
+ loop: <?php echo $this->get_config( 'loop', $data ); ?>,
737
+ mouseWheel: <?php echo $this->get_config( 'mousewheel', $data ); ?>,
738
+ preload: 1,
739
+ <?php
740
+ /* Get open and transition effects */
741
+ $lightbox_open_close_effect = $this->get_config( 'lightbox_open_close_effect', $data );
742
+ $lightbox_transition_effect = $this->get_config( 'effect', $data );
743
+
744
+ /* Get standard effects */
745
+ $lightbox_standard_effects = Envira_Gallery_Common::get_instance()->get_transition_effects_values();
746
+
747
+ /* If open/close is standard, use openEffect, closeEffect */
748
+ if ( in_array( $lightbox_open_close_effect, $lightbox_standard_effects ) ) {
749
+ ?>
750
+ openEffect: '<?php echo $lightbox_open_close_effect; ?>',
751
+ closeEffect: '<?php echo $lightbox_open_close_effect; ?>',
752
+ <?php
753
+ } else {
754
+ ?>
755
+ openEasing: '<?php echo ( $lightbox_open_close_effect == "swing" ? "swing" : "easeIn" . $lightbox_open_close_effect ); ?>',
756
+ closeEasing: '<?php echo ( $lightbox_open_close_effect == "swing" ? "swing" : "easeOut" . $lightbox_open_close_effect ); ?>',
757
+ openSpeed: 500,
758
+ closeSpeed: 500,
759
+ <?php
760
+ }
761
+
762
+ /* If transition effect is standard, use nextEffect, prevEffect */
763
+ if ( in_array( $lightbox_transition_effect, $lightbox_standard_effects ) ) {
764
+ ?>
765
+ nextEffect: '<?php echo $lightbox_transition_effect; ?>',
766
+ prevEffect: '<?php echo $lightbox_transition_effect; ?>',
767
+ <?php
768
+ } else {
769
+ ?>
770
+ nextEasing: '<?php echo ( $lightbox_transition_effect == "swing" ? "swing" : "easeIn" . $lightbox_transition_effect ); ?>',
771
+ prevEasing: '<?php echo ( $lightbox_transition_effect == "swing" ? "swing" : "easeOut" . $lightbox_transition_effect ); ?>',
772
+ nextSpeed: 600,
773
+ prevSpeed: 600,
774
+ <?php
775
  }
776
+
777
+ // tpl block breaks autoptimize
778
  ?>
779
+ tpl: {
780
+ wrap : '<?php echo $this->get_lightbox_template( $data ); ?>',
781
+ image : '<img class="envirabox-image" src="{href}" alt="" data-envira-title="" data-envira-caption="" data-envira-index="" data-envira-data="" />',
782
+ iframe : '<iframe id="envirabox-frame{rnd}" name="envirabox-frame{rnd}" class="envirabox-iframe" frameborder="0" vspace="0" hspace="0" allowtransparency="true" wekitallowfullscreen mozallowfullscreen allowfullscreen></iframe>',
783
+ error : '<p class="envirabox-error"><?php echo __( 'The requested content cannot be loaded.<br/>Please try again later.</p>', 'envira-gallery' ); ?>',
784
+ closeBtn : '<a title="<?php echo __( 'Close', 'envira-gallery' ); ?>" class="envirabox-item envirabox-close" href="#"></a>',
785
+ next : '<a title="<?php echo __( 'Next', 'envira-gallery' ); ?>" class="envirabox-nav envirabox-next envirabox-arrows-<?php echo $this->get_config( 'arrows_position', $data ); ?>" href="#"><span></span></a>',
786
+ prev : '<a title="<?php echo __( 'Previous', 'envira-gallery' ); ?>" class="envirabox-nav envirabox-prev envirabox-arrows-<?php echo $this->get_config( 'arrows_position', $data ); ?>" href="#"><span></span></a>'
787
+ <?php do_action( 'envira_gallery_api_templates', $data ); ?>
788
  },
789
+ helpers: {
790
+ <?php
791
+ do_action( 'envira_gallery_api_helper_config', $data );
792
+ // Grab title display
793
+ $title_display = $this->get_config( 'title_display', $data );
794
+ if ( $title_display == 'float_wrap' ) {
795
+ $title_display = 'float';
796
+ }
797
+ ?>
798
+ title: {
799
+ <?php do_action( 'envira_gallery_api_title_config', $data ); ?>
800
+ type: '<?php echo $title_display; ?>'
801
  },
802
+ <?php if ( $this->get_config( 'thumbnails', $data ) ) : ?>
803
+ thumbs: {
804
+ width: <?php echo $this->get_config( 'thumbnails_width', $data ); ?>,
805
+ height: <?php echo $this->get_config( 'thumbnails_height', $data ); ?>,
806
+ source: function(current) {
807
+ if ( typeof current.element == 'undefined' ) {
808
+ return current.thumbnail;
809
+ } else {
810
+ return $(current.element).data('thumbnail');
811
+ }
812
+ },
813
+ position: '<?php echo $this->get_config( 'thumbnails_position', $data ); ?>'
814
+ },
815
+ <?php endif; ?>
816
+ <?php if ( $this->get_config( 'toolbar', $data ) ) : ?>
817
+ buttons: {
818
+ tpl: '<?php echo $this->get_toolbar_template( $data ); ?>',
819
+ position: '<?php echo $this->get_config( 'toolbar_position', $data ); ?>',
820
+ padding: '<?php echo ( ( $this->get_config( 'toolbar_position', $data ) == 'bottom' && $this->get_config( 'thumbnails', $data ) && $this->get_config( 'thumbnails_position', $data ) == 'bottom' ) ? true : false ); ?>'
821
+ },
822
+ <?php endif; ?>
823
  },
824
+ <?php do_action( 'envira_gallery_api_config_callback', $data ); ?>
825
+ beforeLoad: function(){
826
+ this.title = $(this.element).attr('data-envira-caption');
827
+ <?php do_action( 'envira_gallery_api_before_load', $data ); ?>
 
 
828
  },
829
+ afterLoad: function(){
830
+ <?php do_action( 'envira_gallery_api_after_load', $data ); ?>
831
+ },
832
+ beforeShow: function(){
833
+ $(window).on({
834
+ 'resize.envirabox' : function(){
835
+ $.envirabox.update();
836
+ }
837
+ });
 
 
 
 
 
 
 
838
 
 
 
 
 
 
 
839
  <?php
840
+ // Set data attributes on the lightbox image, based on either
841
+ // the image in the DOM or (if $lightbox_images defined) the image
842
+ // from $lightbox_images
843
  ?>
844
+ if ( typeof this.element === 'undefined' ) {
845
+ <?php
846
+ // Using $lightbox_images
847
+ ?>
848
+ var gallery_id = this.group[ this.index ].gallery_id;
849
+ var gallery_item_id = this.group[ this.index ].id;
850
+ var alt = this.group[ this.index ].alt;
851
+ var title = this.group[ this.index ].title;
852
+ var caption = this.group[ this.index ].caption;
853
+ var index = this.index;
854
+ } else {
855
+ <?php
856
+ // Using image from DOM
857
+ // Get a bunch of data attributes from clicked image link
858
+ ?>
859
+ var gallery_id = this.element.find('img').data('envira-gallery-id');
860
+ var gallery_item_id = this.element.find('img').data('envira-item-id');
861
+ var alt = this.element.find('img').attr('alt');
862
+ var title = this.element.find('img').parent().attr('title');
863
+ var caption = this.element.find('img').parent().data('envira-caption');
864
+ var retina_image = this.element.find('img').parent().data('envira-retina');
865
+ var index = this.element.find('img').data('envira-index');
866
+ }
867
+
868
  <?php
869
+ // Set alt, data-envira-title, data-envira-caption and data-envira-index attributes on Lightbox image
 
870
  ?>
871
+ this.inner.find('img').attr('alt', alt)
872
+ .attr('data-envira-gallery-id', gallery_id)
873
+ .attr('data-envira-item-id', gallery_item_id)
874
+ .attr('data-envira-title', title)
875
+ .attr('data-envira-caption', caption)
876
+ .attr('data-envira-index', index);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
877
 
878
+ <?php
879
+ // Set retina image srcset if specified
 
 
 
880
  ?>
881
+ if ( typeof retina_image !== 'undefined' && retina_image !== '' ) {
882
+ this.inner.find('img').attr('srcset', retina_image + ' 2x');
883
+ }
884
+
885
+ <?php do_action( 'envira_gallery_api_before_show', $data ); ?>
886
+ },
887
+ afterShow: function(){
888
+ <?php
889
+ if ( $this->get_config( 'mobile_touchwipe', $data ) ) {
890
+ ?>
891
+ $('.envirabox-wrap').swipe( {
892
+ swipe: function(event, direction, distance, duration, fingerCount, fingerData) {
893
+ if (direction === 'left') {
894
+ $.envirabox.next(direction);
895
+ } else if (direction === 'right') {
896
+ $.envirabox.prev(direction);
897
+ } else if (direction === 'up') {
898
  <?php
899
+ if ( $this->get_config( 'mobile_touchwipe_close', $data ) ) {
900
+ ?>
901
+ $.envirabox.close();
902
+ <?php
903
+ }
904
+ ?>
905
  }
906
+ }
907
+ } );
908
+ <?php
909
+ }
910
+
911
+ // If title helper = float_wrap, add a CSS class so we can disable word-wrap
912
+ if ( $this->get_config( 'title_display', $data ) == 'float_wrap' ) {
913
+ ?>
914
+ if ( typeof this.helpers.title !== 'undefined' ) {
915
+ if ( ! $( 'div.envirabox-title' ).hasClass( 'envirabox-title-text-wrap' ) ) {
916
+ $( 'div.envirabox-title' ).addClass( 'envirabox-title-text-wrap' );
917
  }
918
  }
919
+ <?php
 
 
 
 
 
 
 
 
 
 
920
  }
921
+
922
+ do_action( 'envira_gallery_api_after_show', $data ); ?>
923
+ },
924
+ beforeClose: function(){
925
+ <?php do_action( 'envira_gallery_api_before_close', $data ); ?>
926
+ },
927
+ afterClose: function(){
928
+ $(window).off('resize.envirabox');
929
+ <?php do_action( 'envira_gallery_api_after_close', $data ); ?>
930
+ },
931
+ onUpdate: function(){
932
+ <?php
933
+ if ( $this->get_config( 'toolbar', $data ) ) : ?>
934
+ var envira_buttons_<?php echo $data['id']; ?> = $('#envirabox-buttons li').map(function(){
935
+ return $(this).width();
936
+ }).get(),
937
+ envira_buttons_total_<?php echo $data['id']; ?> = 0;
938
+ $.each(envira_buttons_<?php echo $data['id']; ?>, function(i, val){
939
+ envira_buttons_total_<?php echo $data['id']; ?> += parseInt(val, 10);
940
+ });
941
+ $('#envirabox-buttons ul').width(envira_buttons_total_<?php echo $data['id']; ?>);
942
+ $('#envirabox-buttons').width(envira_buttons_total_<?php echo $data['id']; ?>).css('left', ($(window).width() - envira_buttons_total_<?php echo $data['id']; ?>)/2);
943
+ <?php endif; ?>
944
+
945
+ <?php do_action( 'envira_gallery_api_on_update', $data ); ?>
946
+ },
947
+ onCancel: function(){
948
+ <?php do_action( 'envira_gallery_api_on_cancel', $data ); ?>
949
+ },
950
+ onPlayStart: function(){
951
+ <?php do_action( 'envira_gallery_api_on_play_start', $data ); ?>
952
+ },
953
+ onPlayEnd: function(){
954
+ <?php do_action( 'envira_gallery_api_on_play_end', $data ); ?>
955
  }
956
+ });
957
 
958
+ <?php
959
+ // If lightbox images were specified, we need to close the click handler now
960
+ if ( $lightbox_images !== false ) {
961
+ ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
962
  });
963
+ <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
964
  }
 
965
 
966
+ do_action( 'envira_gallery_api_lightbox', $data );
967
+ // Fancybox: End
 
 
 
 
968
  }
969
+
970
+ do_action( 'envira_gallery_api_end', $data );
971
+ } // foreach
972
 
973
+ do_action( 'envira_gallery_api_end_global', $this->data );
974
+ ?>
975
+ });
 
 
 
976
 
977
+ <?php
978
  // Minify before outputting to improve page load time.
979
+ echo $this->minify( ob_get_clean() );
980
+ ?>
981
+ </script>
982
  <?php
983
 
984
  }
1394
  */
1395
  public function minify( $string, $stripDoubleForwardslashes = true ) {
1396
 
 
 
1397
  // Added a switch for stripping double forwardslashes
1398
  // This can be disabled when using URLs in JS, to ensure http:// doesn't get removed
1399
  // All other comment removal and minification will take place
readme.txt CHANGED
@@ -185,6 +185,14 @@ Also, I'm an <a href="https://thomasgriffin.io" rel="me" title="WordPress Develo
185
 
186
  == Changelog ==
187
 
 
 
 
 
 
 
 
 
188
  = 1.5.0.2 =
189
  * Added: ImageGallery and ImageObject Schema Markup to Galleries
190
  * Added: Option to insert Gallery Title as heading when using the Add Gallery button in a Visual Editor
185
 
186
  == Changelog ==
187
 
188
+ = 1.5.0.3 =
189
+ * Fix: Ensure all CSS and JS is minified
190
+ * Fix: Ensure all inline JS is minified
191
+ * Fix: Prevent potential collisions with third party Plugins and Themes using different versions of the imagesLoaded library.
192
+ * Fix: Minor layout issues with Addons screen
193
+ * Fix: Improved Addons search and sorting performance
194
+ * Fix: Prevent JS errors when Galleries are loaded by slug
195
+
196
  = 1.5.0.2 =
197
  * Added: ImageGallery and ImageObject Schema Markup to Galleries
198
  * Added: Option to insert Gallery Title as heading when using the Add Gallery button in a Visual Editor