Instant Images – One Click Unsplash Uploads - Version 4.6.0

Version Description

  • January 2, 2022 = NEW: Added Pexels integration. This requires a valid API key. FIX: Fixed issue with filtering Unsplash search results by 'all'. FIX: Various admin UI/UX updates and tweaks to improve the look and feel.
Download this release

Release Info

Developer dcooney
Plugin Icon 128x128 Instant Images – One Click Unsplash Uploads
Version 4.6.0
Comparing to
See all releases

Code changes from version 4.5.1 to 4.6.0

README.txt CHANGED
@@ -1,18 +1,18 @@
1
- === Instant Images - One Click Unsplash and Pixabay Uploads ===
2
  Contributors: dcooney, connekthq
3
  Donate link: https://connekthq.com/donate/
4
- Tags: unsplash, pixabay, stock photo, prototyping, photos, media library, image upload, upload, free photos
5
  Requires at least: 4.0
6
- Tested up to: 5.8
7
  Stable tag: trunk
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
- One click uploads of Unsplash and Pixabay photos directly to your WordPress media library.
12
 
13
  == Description ==
14
 
15
- Instantly upload photos from Unsplash or Pixabay to your website without leaving WordPress!
16
 
17
  **Instant Images** is the fastest and easiest way to upload high quality FREE photos from [unsplash.com](http://unsplash.com) and [Pixabay](http://pixabay.com) directly to your media library.
18
 
@@ -91,6 +91,10 @@ No, there is no need to sign up from an Unsplash account to access the photos se
91
  Yes, Pixabay access requires an API key. You can get this by signing up for a free account at [Pixabay](https://pixabay.com/).
92
 
93
 
 
 
 
 
94
  == Installation ==
95
 
96
  How to install Instant Images.
@@ -128,6 +132,11 @@ How to install Instant Images.
128
 
129
  == Changelog ==
130
 
 
 
 
 
 
131
  = 4.5.1 - December 27, 2021 =
132
  NEW: Added Pixabay photo filters (Type, Category, Colors and Orientation).
133
  NEW: Added Unsplash search filters for Color, Orientation and Order.
1
+ === Instant Images - One Click Unsplash, Pixabay and Pexels Uploads ===
2
  Contributors: dcooney, connekthq
3
  Donate link: https://connekthq.com/donate/
4
+ Tags: unsplash, pixabay, pexels, stock photo, prototyping, photos, media library, image upload, upload, free photos
5
  Requires at least: 4.0
6
+ Tested up to: 5.8.2
7
  Stable tag: trunk
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
+ One click uploads of photos from Unsplash, Pixabay and Pexels directly to your WordPress media library.
12
 
13
  == Description ==
14
 
15
+ Instantly upload photos from Unsplash, Pixabay or Pexels to your website without leaving WordPress!
16
 
17
  **Instant Images** is the fastest and easiest way to upload high quality FREE photos from [unsplash.com](http://unsplash.com) and [Pixabay](http://pixabay.com) directly to your media library.
18
 
91
  Yes, Pixabay access requires an API key. You can get this by signing up for a free account at [Pixabay](https://pixabay.com/).
92
 
93
 
94
+ = Do I need an account at Pexels? =
95
+ Yes, Pexels access requires an API key. You can get this by signing up for a free account at [Pexels](https://pexels.com/).
96
+
97
+
98
  == Installation ==
99
 
100
  How to install Instant Images.
132
 
133
  == Changelog ==
134
 
135
+ = 4.6.0 - January 2, 2022 =
136
+ NEW: Added Pexels integration. This requires a valid API key.
137
+ FIX: Fixed issue with filtering Unsplash search results by 'all'.
138
+ FIX: Various admin UI/UX updates and tweaks to improve the look and feel.
139
+
140
  = 4.5.1 - December 27, 2021 =
141
  NEW: Added Pixabay photo filters (Type, Category, Colors and Orientation).
142
  NEW: Added Unsplash search filters for Color, Orientation and Order.
admin/includes/page-settings.php CHANGED
@@ -12,6 +12,12 @@
12
  <h2><?php esc_attr_e( 'What\'s New', 'instant-images' ); ?></h2>
13
  <p><?php esc_attr_e( 'The latest Instant Images updates.', 'instant-images' ); ?></p>
14
  <ul>
 
 
 
 
 
 
15
  <li>
16
  <p>
17
  <strong>Pixabay</strong>
12
  <h2><?php esc_attr_e( 'What\'s New', 'instant-images' ); ?></h2>
13
  <p><?php esc_attr_e( 'The latest Instant Images updates.', 'instant-images' ); ?></p>
14
  <ul>
15
+ <li>
16
+ <p>
17
+ <strong>Pexels</strong>
18
+ We've added support for the <a href="https://pexels.com/" target="_blank">Pexels</a> API. This requires your own API key.
19
+ </p>
20
+ </li>
21
  <li>
22
  <p>
23
  <strong>Pixabay</strong>
admin/includes/settings.php CHANGED
@@ -16,6 +16,9 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  * @since 2.0
17
  */
18
  function instant_images_admin_init() {
 
 
 
19
  register_setting(
20
  'instant-img-setting-group',
21
  'instant_img_settings',
@@ -56,14 +59,24 @@ function instant_images_admin_init() {
56
  'unsplash_general_settings'
57
  );
58
 
59
- // Pixabay API Key.
60
- add_settings_field(
61
- 'pixabay_api',
62
- __( 'Pixabay API Key', 'instant-images' ),
63
- 'instant_images_pixabay_api_callback',
64
- 'instant-images',
65
- 'unsplash_general_settings'
66
- );
 
 
 
 
 
 
 
 
 
 
67
 
68
  // Button Display.
69
  add_settings_field(
@@ -177,7 +190,8 @@ function instant_images_tab_display_callback() {
177
  * @since 4.5
178
  */
179
  function instant_images_default_provider() {
180
- $options = get_option( 'instant_img_settings' );
 
181
  if ( ! isset( $options['default_provider'] ) ) {
182
  $options['default_provider'] = 'unsplash';
183
  }
@@ -186,34 +200,63 @@ function instant_images_default_provider() {
186
  <strong><?php esc_attr_e( 'Default Provider:', 'instant-images' ); ?></strong>
187
  </label>
188
  <select id="default_provider" name="instant_img_settings[default_provider]">
189
- <option value="unsplash" <?php selected( 'unsplash', $options['default_provider'] ); ?>><?php esc_attr_e( 'Unsplash', 'instant-images' ); ?></option>
190
- <option value="pixabay" <?php selected( 'pixabay', $options['default_provider'] ); ?>><?php esc_attr_e( 'Pixabay', 'instant-images' ); ?> (<?php esc_attr_e( 'Requires API Key', 'instant-images' ); ?>)</option>
 
 
 
 
 
 
 
191
  </select>
192
  <?php
193
  }
194
 
 
195
  /**
196
- * Set the Pizabay API key.
197
  *
198
  * @author ConnektMedia <support@connekthq.com>
199
  * @since 4.5
200
  */
201
- function instant_images_pixabay_api_callback() {
202
- $options = get_option( 'instant_img_settings' );
 
203
 
204
- if ( defined( 'INSTANT_IMAGES_PIXABAY_KEY' ) ) {
205
- $options['pixabay_api'] = INSTANT_IMAGES_PIXABAY_KEY; // Constant.
206
- } else {
207
- if ( ! isset( $options['pixabay_api'] ) ) {
208
- $options['pixabay_api'] = '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  }
210
  }
 
211
 
212
- ?>
213
- <label for="pixabay_api" style="cursor: default; margin-bottom: 3px;">
214
- <strong><?php esc_attr_e( 'Pixabay API Key:', 'instant-images' ); ?></strong>
215
- </label>
216
- <input type="text" id="pixabay_api" name="instant_img_settings[pixabay_api]" value="<?php echo wp_kses_post( $options['pixabay_api'] ); ?>" <?php echo defined( 'INSTANT_IMAGES_PIXABAY_KEY' ) ? ' readonly="readonly"' : ''; ?>>
217
- <span class="desc">&rarr; <a href="https://pixabay.com/" target="_blank"><?php esc_attr_e( 'Get API Key', 'instant-images' ); ?></a></span>
218
- <?php
 
219
  }
16
  * @since 2.0
17
  */
18
  function instant_images_admin_init() {
19
+
20
+ $providers = InstantImages::instant_img_get_providers();
21
+
22
  register_setting(
23
  'instant-img-setting-group',
24
  'instant_img_settings',
59
  'unsplash_general_settings'
60
  );
61
 
62
+ // Providers API Keys.
63
+ $count = 0;
64
+ foreach ( $providers as $provider ) {
65
+ if ( $provider['requires_key'] ) {
66
+ $count++;
67
+ $key = $provider['slug'] . '_api';
68
+ $title = $provider['name'] . __( 'API Key', 'instant-images' );
69
+ // Only set the callback on the first item as they are created only once.
70
+ $callback = 1 === $count ? 'instant_images_api_key_callback' : 'instant_images_callable';
71
+ add_settings_field(
72
+ $key,
73
+ $title,
74
+ $callback,
75
+ 'instant-images',
76
+ 'unsplash_general_settings'
77
+ );
78
+ }
79
+ }
80
 
81
  // Button Display.
82
  add_settings_field(
190
  * @since 4.5
191
  */
192
  function instant_images_default_provider() {
193
+ $providers = InstantImages::instant_img_get_providers();
194
+ $options = get_option( 'instant_img_settings' );
195
  if ( ! isset( $options['default_provider'] ) ) {
196
  $options['default_provider'] = 'unsplash';
197
  }
200
  <strong><?php esc_attr_e( 'Default Provider:', 'instant-images' ); ?></strong>
201
  </label>
202
  <select id="default_provider" name="instant_img_settings[default_provider]">
203
+ <?php foreach ( $providers as $provider ) { ?>
204
+ <option value="<?php echo esc_html( $provider['slug'] ); ?>" <?php selected( esc_html( $provider['slug'] ), $options['default_provider'] ); ?>>
205
+ <?php echo esc_html( $provider['name'] ); ?>
206
+ <?php
207
+ if ( $provider['requires_key'] ) {
208
+ ?>
209
+ (<?php esc_attr_e( 'Requires API Key', 'instant-images' ); ?>) <?php } ?>
210
+ </option>
211
+ <?php } ?>
212
  </select>
213
  <?php
214
  }
215
 
216
+
217
  /**
218
+ * Set the API keys for each required provider.
219
  *
220
  * @author ConnektMedia <support@connekthq.com>
221
  * @since 4.5
222
  */
223
+ function instant_images_api_key_callback() {
224
+ $providers = InstantImages::instant_img_get_providers();
225
+ $options = get_option( 'instant_img_settings' );
226
 
227
+ foreach ( $providers as $provider ) {
228
+ if ( $provider['requires_key'] ) {
229
+
230
+ $key = $provider['slug'] . '_api';
231
+ $title = $provider['name'] . ' ' . __( 'API Key', 'instant-images' );
232
+ $constant = $provider['constant'];
233
+ $url = $provider['url'];
234
+
235
+ if ( defined( $constant ) ) {
236
+ $options[ $key ] = constant( $constant );
237
+ } else {
238
+ if ( ! isset( $options[ $key ] ) ) {
239
+ $options[ $key ] = '';
240
+ }
241
+ }
242
+ ?>
243
+ <label for="<?php echo esc_html( $key ); ?>" style="cursor: default; margin-bottom: 3px;">
244
+ <strong><?php echo esc_attr( $title ); ?></strong>
245
+ </label>
246
+ <input type="text" id="<?php echo esc_html( $key ); ?>" name="instant_img_settings[<?php echo esc_html( $key ); ?>]" value="<?php echo wp_kses_post( $options[ $key ] ); ?>" <?php echo defined( 'INSTANT_IMAGES_PIXABAY_KEY' ) ? ' readonly="readonly"' : ''; ?>>
247
+ <span class="desc">&rarr; <a href="<?php echo wp_kses_post( $url ); ?>" target="_blank"><?php esc_attr_e( 'Get API Key', 'instant-images' ); ?></a></span>
248
+
249
+ <?php
250
  }
251
  }
252
+ }
253
 
254
+ /**
255
+ * Empty callback function for the API Key switcher.
256
+ *
257
+ * @author ConnektMedia <support@connekthq.com>
258
+ * @since 4.6
259
+ */
260
+ function instant_images_callable() {
261
+ return null;
262
  }
admin/views/app.php CHANGED
@@ -17,9 +17,9 @@ if ( ! defined( 'ABSPATH' ) ) {
17
  <span>
18
  <?php
19
  // translators: Instant Images tagline.
20
- $instant_images_tagline = __( 'One click photo uploads from %1$s and %2$s.', 'instant-images' );
21
  // @codingStandardsIgnoreStart
22
- echo sprintf( $instant_images_tagline, '<a href="https://unsplash.com/" target="_blank">Unsplash</a>', '<a href="https://pixabay.com/" target="_blank">Pixabay</a>' );
23
  // @codingStandardsIgnoreEnd
24
  ?>
25
  </h1>
17
  <span>
18
  <?php
19
  // translators: Instant Images tagline.
20
+ $instant_images_tagline = __( 'One click photo uploads from %1$s, %2$s and %3$s.', 'instant-images' );
21
  // @codingStandardsIgnoreStart
22
+ echo sprintf( $instant_images_tagline, '<a href="https://unsplash.com/" target="_blank">Unsplash</a>', '<a href="https://pixabay.com/" target="_blank">Pixabay</a>', '<a href="https://pexels.com/" target="_blank">Pexels</a>' );
23
  // @codingStandardsIgnoreEnd
24
  ?>
25
  </h1>
api/download.php CHANGED
@@ -64,8 +64,9 @@ function instant_images_download( WP_REST_Request $request ) {
64
 
65
  if ( $data ) {
66
 
 
67
  $id = $data['id']; // Image ID.
68
- $image_url = $data['image_url'] . '&fit=clip&w=' . $max_width . '&h=' . $max_height; // Image URL.
69
  $filename = sanitize_text_field( $data['filename'] ); // The filename.
70
  $title = sanitize_text_field( $data['title'] ); // Title.
71
  $alt = sanitize_text_field( $data['alt'] ); // Alt text.
@@ -172,12 +173,42 @@ function instant_images_download( WP_REST_Request $request ) {
172
  }
173
  }
174
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
 
176
  /**
177
  * Check if a remote image file exists.
178
  *
179
- * @param string $url The url to the remote image.
180
- * @return bool Whether the remote image exists.
181
  * @since 3.0
182
  * @author dcooney
183
  * @package InstantImages
@@ -187,8 +218,6 @@ function instant_images_remote_file_exists( $url ) {
187
  return 200 === wp_remote_retrieve_response_code( $response );
188
  }
189
 
190
-
191
-
192
  /**
193
  * Resize original image to max size (set in Instant Images settings)
194
  *
64
 
65
  if ( $data ) {
66
 
67
+ $provider = $data['provider'];
68
  $id = $data['id']; // Image ID.
69
+ $image_url = instant_images_generate_image_url( $provider, $data['image_url'], $max_width, $max_height ); // Image URL.
70
  $filename = sanitize_text_field( $data['filename'] ); // The filename.
71
  $title = sanitize_text_field( $data['title'] ); // Title.
72
  $alt = sanitize_text_field( $data['alt'] ); // Alt text.
173
  }
174
  }
175
 
176
+ /**
177
+ * Generate an image URL with cropping params.
178
+ *
179
+ * @param string $provider The image provider.
180
+ * @param string $url The image url.
181
+ * @param string $max_width The max width of the image.
182
+ * @param string $max_height The max height of the image.
183
+ * @return string The image path.
184
+ * @since 4.6
185
+ * @author dcooney
186
+ * @package InstantImages
187
+ */
188
+ function instant_images_generate_image_url( $provider, $url, $max_width, $max_height ) {
189
+ $image_url = '';
190
+
191
+ switch ( $provider ) {
192
+ case 'unsplash':
193
+ $image_url = $url . '&fit=clip&w=' . $max_width . '&h=' . $max_height;
194
+ break;
195
+
196
+ case 'pexels':
197
+ $image_url = $url . '?dpr=1&w=' . $max_width . '&h=' . $max_height;
198
+ break;
199
+
200
+ default:
201
+ $image_url = $url;
202
+ break;
203
+ }
204
+ return $image_url;
205
+ }
206
 
207
  /**
208
  * Check if a remote image file exists.
209
  *
210
+ * @param string $url The url to the remote image.
211
+ * @return bool Whether the remote image exists.
212
  * @since 3.0
213
  * @author dcooney
214
  * @package InstantImages
218
  return 200 === wp_remote_retrieve_response_code( $response );
219
  }
220
 
 
 
221
  /**
222
  * Resize original image to max size (set in Instant Images settings)
223
  *
dist/css/instant-images.css CHANGED
@@ -510,6 +510,10 @@ body.media_page_instant-images.overflow-hidden {
510
  filter: blur(1px);
511
  }
512
 
 
 
 
 
513
  .instant-img-container .control-nav--filters-wrap.inactive * {
514
  cursor: not-allowed;
515
  }
@@ -838,7 +842,7 @@ body.media_page_instant-images.overflow-hidden {
838
  top: -5px;
839
  width: calc(100% + 20px);
840
  height: calc(100% + 10px);
841
- min-height: 200px;
842
  background: rgba(255, 255, 255, 0.95) url(../img/ajax-loader-lg.gif) no-repeat center 90px;
843
  z-index: 999;
844
  -webkit-transition: all 0.25s ease;
@@ -1124,7 +1128,7 @@ body.media_page_instant-images.overflow-hidden {
1124
  }
1125
 
1126
  #photos .photo .options i.heart-like {
1127
- color: #d13714;
1128
  -webkit-transition: all 0.25s ease 0.05s;
1129
  -o-transition: all 0.25s ease 0.05s;
1130
  transition: all 0.25s ease 0.05s;
@@ -1285,7 +1289,7 @@ body.media_page_instant-images.overflow-hidden {
1285
  opacity: 0.25;
1286
  }
1287
 
1288
- #photos .photo .fade.user img,
1289
  #photos .photo .fade.user .user-wrap:before {
1290
  width: 20px;
1291
  max-width: 20px;
@@ -1296,7 +1300,7 @@ body.media_page_instant-images.overflow-hidden {
1296
  top: 8px;
1297
  }
1298
 
1299
- #photos .photo .fade.user img {
1300
  z-index: 1;
1301
  }
1302
 
@@ -1831,6 +1835,12 @@ body.loading .instant-img-container .loading-block {
1831
  fill: #586ec6 !important;
1832
  }
1833
 
 
 
 
 
 
 
1834
  .components-panel .instant-img-container .load-more-wrap {
1835
  display: block;
1836
  }
@@ -1860,14 +1870,15 @@ body.loading .instant-img-container .loading-block {
1860
  .components-panel #photos {
1861
  width: 100%;
1862
  margin: 0;
1863
- padding: 5px;
 
1864
  }
1865
 
1866
  .components-panel #photos .photo {
1867
  width: 100%;
1868
  display: block;
1869
  opacity: 1 !important;
1870
- margin: 0 0 5px;
1871
  padding: 0;
1872
  }
1873
 
@@ -2073,9 +2084,9 @@ body.loading .instant-img-container .loading-block {
2073
  border-radius: 2px;
2074
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
2075
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
2076
- -webkit-transition: all 0.15s ease;
2077
- -o-transition: all 0.15s ease;
2078
- transition: all 0.15s ease;
2079
  }
2080
 
2081
  .instant-img-container #tooltip:after {
@@ -2110,14 +2121,36 @@ body.loading .instant-img-container .loading-block {
2110
 
2111
  .no-results {
2112
  display: block;
2113
- padding: 150px 100px;
2114
  text-align: center;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2115
  }
2116
 
2117
  .no-results h3 {
2118
  font-size: 24px;
2119
- line-height: 29px;
2120
- margin: 0 0 10px;
 
2121
  }
2122
 
2123
  .no-results p {
@@ -2131,72 +2164,6 @@ body.loading .instant-img-container .loading-block {
2131
  }
2132
  }
2133
 
2134
- .orientation-list {
2135
- display: -webkit-box;
2136
- display: -ms-flexbox;
2137
- display: flex;
2138
- -webkit-box-align: center;
2139
- -ms-flex-align: center;
2140
- align-items: center;
2141
- width: 100%;
2142
- padding: 7px 0;
2143
- margin: 0 0 10px;
2144
- border-top: 1px solid #efefef;
2145
- border-bottom: 1px solid #efefef;
2146
- position: relative;
2147
- top: -7px;
2148
- }
2149
-
2150
- .orientation-list span {
2151
- opacity: 0.5;
2152
- margin: 0 10px 0 0;
2153
- font-size: 13px;
2154
- }
2155
-
2156
- .orientation-list span i {
2157
- margin-right: 2px;
2158
- }
2159
-
2160
- .orientation-list ul {
2161
- -webkit-box-flex: 1;
2162
- -ms-flex: 1;
2163
- flex: 1;
2164
- display: -webkit-box;
2165
- display: -ms-flexbox;
2166
- display: flex;
2167
- }
2168
-
2169
- .orientation-list ul li {
2170
- margin: 0 1px 0 0;
2171
- -webkit-border-radius: 3px;
2172
- border-radius: 3px;
2173
- cursor: pointer;
2174
- padding: 4px 6px;
2175
- -webkit-transition: all 0.25s ease;
2176
- -o-transition: all 0.25s ease;
2177
- transition: all 0.25s ease;
2178
- border: 1px solid transparent;
2179
- color: #999;
2180
- font-size: 13px;
2181
- }
2182
-
2183
- .orientation-list ul li:hover {
2184
- color: #111;
2185
- }
2186
-
2187
- .orientation-list ul li:focus {
2188
- border-color: #586ec6;
2189
- color: #111;
2190
- outline: none;
2191
- }
2192
-
2193
- .orientation-list ul li.active {
2194
- background-color: #586ec6;
2195
- border-color: #586ec6;
2196
- color: #fff;
2197
- outline: none;
2198
- }
2199
-
2200
  .media-frame-router button#menu-item-instantimages.active {
2201
  background-color: #f7f7f7;
2202
  }
@@ -2219,19 +2186,29 @@ body.loading .instant-img-container .loading-block {
2219
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.045);
2220
  background-color: #f7f7f7;
2221
  position: relative;
 
2222
  }
2223
 
2224
  .provider-nav > div {
2225
  position: relative;
 
 
 
 
 
 
 
 
 
2226
  }
2227
 
2228
  .provider-nav--btn {
2229
  padding: 0 10px 0 36px;
 
2230
  height: 38px;
2231
  line-height: 38px;
2232
  border: 1px solid transparent;
2233
  background: transparent;
2234
- margin-right: 5px;
2235
  cursor: pointer;
2236
  position: relative;
2237
  -webkit-border-radius: 3px;
@@ -2284,6 +2261,12 @@ body.loading .instant-img-container .loading-block {
2284
  background-size: 20px 20px;
2285
  }
2286
 
 
 
 
 
 
 
2287
  .media-frame-content .instant-img-container .api-lightbox {
2288
  position: fixed;
2289
  }
@@ -2634,21 +2617,21 @@ body.loading .instant-img-container .loading-block {
2634
  display: block;
2635
  visibility: hidden;
2636
  opacity: 0;
2637
- -webkit-transform: scale(0.95);
2638
- -ms-transform: scale(0.95);
2639
- transform: scale(0.95);
2640
- -webkit-transition: opacity 0.1s ease-in-out, visibility 0.1s ease-in-out, -webkit-transform 0.2s cubic-bezier(0.24, 0.22, 0.015, 1.56);
2641
- transition: opacity 0.1s ease-in-out, visibility 0.1s ease-in-out, -webkit-transform 0.2s cubic-bezier(0.24, 0.22, 0.015, 1.56);
2642
- -o-transition: transform 0.2s cubic-bezier(0.24, 0.22, 0.015, 1.56), opacity 0.1s ease-in-out, visibility 0.1s ease-in-out;
2643
- transition: transform 0.2s cubic-bezier(0.24, 0.22, 0.015, 1.56), opacity 0.1s ease-in-out, visibility 0.1s ease-in-out;
2644
- transition: transform 0.2s cubic-bezier(0.24, 0.22, 0.015, 1.56), opacity 0.1s ease-in-out, visibility 0.1s ease-in-out, -webkit-transform 0.2s cubic-bezier(0.24, 0.22, 0.015, 1.56);
2645
  padding: 10px;
2646
  background-color: #fff;
2647
  border: 1px solid #e1e1e1;
2648
  -webkit-border-radius: 3px;
2649
  border-radius: 3px;
2650
- -webkit-box-shadow: 0 8px 16px rgba(69, 92, 182, 0.2);
2651
- box-shadow: 0 8px 16px rgba(69, 92, 182, 0.2);
2652
  z-index: 9999;
2653
  position: absolute;
2654
  top: 110%;
@@ -2738,8 +2721,7 @@ body.loading .instant-img-container .loading-block {
2738
 
2739
  .search-results-header--text {
2740
  font-size: 14px;
2741
- margin: 0;
2742
- padding-bottom: 10px;
2743
  color: #999;
2744
  }
2745
 
510
  filter: blur(1px);
511
  }
512
 
513
+ .instant-img-container .control-nav--filters-wrap.inactive i {
514
+ opacity: 0.4 !important;
515
+ }
516
+
517
  .instant-img-container .control-nav--filters-wrap.inactive * {
518
  cursor: not-allowed;
519
  }
842
  top: -5px;
843
  width: calc(100% + 20px);
844
  height: calc(100% + 10px);
845
+ min-height: 300px;
846
  background: rgba(255, 255, 255, 0.95) url(../img/ajax-loader-lg.gif) no-repeat center 90px;
847
  z-index: 999;
848
  -webkit-transition: all 0.25s ease;
1128
  }
1129
 
1130
  #photos .photo .options i.heart-like {
1131
+ color: #de4624;
1132
  -webkit-transition: all 0.25s ease 0.05s;
1133
  -o-transition: all 0.25s ease 0.05s;
1134
  transition: all 0.25s ease 0.05s;
1289
  opacity: 0.25;
1290
  }
1291
 
1292
+ #photos .photo .fade.user img.user-wrap--photo,
1293
  #photos .photo .fade.user .user-wrap:before {
1294
  width: 20px;
1295
  max-width: 20px;
1300
  top: 8px;
1301
  }
1302
 
1303
+ #photos .photo .fade.user img.user-wrap--photo {
1304
  z-index: 1;
1305
  }
1306
 
1835
  fill: #586ec6 !important;
1836
  }
1837
 
1838
+ button[aria-expanded="true"] .instant-images-sidebar-icon svg,
1839
+ button[aria-expanded="true"] .instant-images-sidebar-icon svg * {
1840
+ stroke: #aabbff !important;
1841
+ fill: #aabbff !important;
1842
+ }
1843
+
1844
  .components-panel .instant-img-container .load-more-wrap {
1845
  display: block;
1846
  }
1870
  .components-panel #photos {
1871
  width: 100%;
1872
  margin: 0;
1873
+ padding: 5px 10px;
1874
+ overflow: hidden;
1875
  }
1876
 
1877
  .components-panel #photos .photo {
1878
  width: 100%;
1879
  display: block;
1880
  opacity: 1 !important;
1881
+ margin: 0 0 10px;
1882
  padding: 0;
1883
  }
1884
 
2084
  border-radius: 2px;
2085
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
2086
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
2087
+ -webkit-transition: opacity 0.15s ease;
2088
+ -o-transition: opacity 0.15s ease;
2089
+ transition: opacity 0.15s ease;
2090
  }
2091
 
2092
  .instant-img-container #tooltip:after {
2121
 
2122
  .no-results {
2123
  display: block;
2124
+ padding: 100px;
2125
  text-align: center;
2126
+ position: relative;
2127
+ }
2128
+
2129
+ .no-results::before {
2130
+ content: "\F002";
2131
+ font-family: "FontAwesome";
2132
+ display: block;
2133
+ position: absolute;
2134
+ z-index: 0;
2135
+ top: 50%;
2136
+ left: 50%;
2137
+ font-size: 85px;
2138
+ opacity: 0.1;
2139
+ -webkit-transform: translateY(-50%) translateX(-50%);
2140
+ -ms-transform: translateY(-50%) translateX(-50%);
2141
+ transform: translateY(-50%) translateX(-50%);
2142
+ }
2143
+
2144
+ .no-results > div {
2145
+ position: relative;
2146
+ z-index: 10;
2147
  }
2148
 
2149
  .no-results h3 {
2150
  font-size: 24px;
2151
+ line-height: 1.2;
2152
+ margin: 0 0 10px !important;
2153
+ font-weight: 700;
2154
  }
2155
 
2156
  .no-results p {
2164
  }
2165
  }
2166
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2167
  .media-frame-router button#menu-item-instantimages.active {
2168
  background-color: #f7f7f7;
2169
  }
2186
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.045);
2187
  background-color: #f7f7f7;
2188
  position: relative;
2189
+ overflow-x: auto;
2190
  }
2191
 
2192
  .provider-nav > div {
2193
  position: relative;
2194
+ margin: 0 5px;
2195
+ }
2196
+
2197
+ .provider-nav > div:first-of-type {
2198
+ margin-left: 0;
2199
+ }
2200
+
2201
+ .provider-nav > div:last-of-type {
2202
+ margin-left: 0;
2203
  }
2204
 
2205
  .provider-nav--btn {
2206
  padding: 0 10px 0 36px;
2207
+ margin: 0;
2208
  height: 38px;
2209
  line-height: 38px;
2210
  border: 1px solid transparent;
2211
  background: transparent;
 
2212
  cursor: pointer;
2213
  position: relative;
2214
  -webkit-border-radius: 3px;
2261
  background-size: 20px 20px;
2262
  }
2263
 
2264
+ [data-provider="pexels"] {
2265
+ background: url(../img/pexels.svg) no-repeat 10px center;
2266
+ -webkit-background-size: 20px 20px;
2267
+ background-size: 20px 20px;
2268
+ }
2269
+
2270
  .media-frame-content .instant-img-container .api-lightbox {
2271
  position: fixed;
2272
  }
2617
  display: block;
2618
  visibility: hidden;
2619
  opacity: 0;
2620
+ -webkit-transform: scale(0.9);
2621
+ -ms-transform: scale(0.9);
2622
+ transform: scale(0.9);
2623
+ -webkit-transition: opacity 0.15s ease-in-out, visibility 0.15s ease-in-out, -webkit-transform 0.25s cubic-bezier(0.24, 0.22, 0.015, 1.56);
2624
+ transition: opacity 0.15s ease-in-out, visibility 0.15s ease-in-out, -webkit-transform 0.25s cubic-bezier(0.24, 0.22, 0.015, 1.56);
2625
+ -o-transition: transform 0.25s cubic-bezier(0.24, 0.22, 0.015, 1.56), opacity 0.15s ease-in-out, visibility 0.15s ease-in-out;
2626
+ transition: transform 0.25s cubic-bezier(0.24, 0.22, 0.015, 1.56), opacity 0.15s ease-in-out, visibility 0.15s ease-in-out;
2627
+ transition: transform 0.25s cubic-bezier(0.24, 0.22, 0.015, 1.56), opacity 0.15s ease-in-out, visibility 0.15s ease-in-out, -webkit-transform 0.25s cubic-bezier(0.24, 0.22, 0.015, 1.56);
2628
  padding: 10px;
2629
  background-color: #fff;
2630
  border: 1px solid #e1e1e1;
2631
  -webkit-border-radius: 3px;
2632
  border-radius: 3px;
2633
+ -webkit-box-shadow: 0 8px 16px rgba(48, 63, 122, 0.175);
2634
+ box-shadow: 0 8px 16px rgba(48, 63, 122, 0.175);
2635
  z-index: 9999;
2636
  position: absolute;
2637
  top: 110%;
2721
 
2722
  .search-results-header--text {
2723
  font-size: 14px;
2724
+ margin: 0 0 15px;
 
2725
  color: #999;
2726
  }
2727
 
dist/css/instant-images.min.css CHANGED
@@ -1 +1 @@
1
- @import url(//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);body.media_page_instant-images{background:#fff}body.media_page_instant-images #wpcontent{padding-left:0;padding-bottom:40px}@media screen and (max-width:800px){body.media_page_instant-images #wpcontent{padding-bottom:0}}body.media_page_instant-images #wpbody-content{padding-bottom:0}body.media_page_instant-images #wpfooter{padding-top:0;padding-bottom:0;line-height:40px;background:#f7f7f7;border-top:1px solid #efefef;position:fixed;bottom:0;z-index:1100}body.media_page_instant-images #wpfooter p{line-height:40px}@media screen and (max-width:800px){body.media_page_instant-images #wpfooter{display:none}}body.media_page_instant-images.overflow-hidden{overflow:hidden}.instant-img-container{font-size:14px;color:#666;position:relative}.instant-img-container .offscreen{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.instant-img-container *{-webkit-box-sizing:border-box;box-sizing:border-box}.instant-img-container a{color:#586ec6;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease}.instant-img-container a:hover{color:#5568ae;text-decoration:none}.instant-img-container img{max-width:100%}.instant-img-container p{color:#666;width:100%;display:block;clear:both;text-transform:none;padding:0;margin:0 0 15px;font-size:14px}.instant-img-container.loading .loading-block{display:block}.instant-img-container .error-messaging{padding:20px 20px 20px 60px;-webkit-border-radius:3px;border-radius:3px;background:#da4444;color:#fff;font-size:13px;line-height:1.5;margin-bottom:25px;display:block;position:relative}.instant-img-container .error-messaging:before{font-family:FontAwesome;content:"\F06A";display:block;left:17px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);position:absolute;font-size:32px;opacity:.75}.instant-img-container .header-wrap{background:#f7f7f7 url(../img/logo-48x48.png) no-repeat 25px 20px;padding:20px 25px 20px 83px;min-height:88px;overflow:hidden;border-bottom:1px solid #efefef;position:relative}@media screen and (max-width:800px){.instant-img-container .header-wrap{background-position:center 20px;padding:80px 25px 20px;text-align:center}}.instant-img-container .header-wrap h1{padding:0;margin:4px 0 0;font-weight:700;font-size:26px;max-width:70%}@media screen and (max-width:800px){.instant-img-container .header-wrap h1{max-width:100%;width:100%;text-align:center}}.instant-img-container .header-wrap h1 em{font-weight:400;font-size:14px;background-color:rgba(0,0,0,.055);color:rgba(0,0,0,.5);display:inline-block;-webkit-border-radius:2px;border-radius:2px;padding:3px;position:relative;top:-2px;left:2px;text-shadow:1px 1px 1px hsla(0,0%,100%,.4);font-style:normal;line-height:1}.instant-img-container .header-wrap h1 span{display:block;padding:3px 0 0;color:#999;font-size:15px;font-weight:400}.instant-img-container .header-wrap button{position:absolute;right:25px;bottom:26px}@media screen and (max-width:800px){.instant-img-container .header-wrap button{position:static;margin-top:20px;display:inline-block}}.instant-img-container .header-wrap button i{margin-right:2px}.instant-img-container .instant-images-wrapper{padding:0 25px;display:block;overflow:hidden;min-height:400px;background:url(../img/ajax-loader-lg.gif) no-repeat 50%}.instant-img-container .instant-images-wrapper.loaded{background:none}.instant-img-container .permissions-warning{padding:0 25px}.instant-img-container .permissions-warning .inner{border-bottom:1px solid #efefef;padding:32px 0}.instant-img-container .permissions-warning input{max-width:500px}.instant-img-container .permissions-warning h3{font-size:22px;margin:0 0 15px}.instant-img-container .permissions-warning h3 i{margin:0 2px 0 0;position:relative}.instant-img-container .permissions-warning p:first-of-type{font-size:18px;margin:0 0 2px}.instant-img-container .loading-block{display:none;padding:50px;background:url(../img/ajax-loader-lg.gif) no-repeat 50%}.instant-img-container .load-more-wrap{margin:1% 0 0;padding:25px 0;text-align:center;display:none;border-top:1px solid #efefef}.instant-img-container .load-more-wrap button{display:inline-block;margin:0;padding:12px 15px;font-size:15px;font-weight:600;-webkit-transition:all .1s ease;-o-transition:all .1s ease;transition:all .1s ease;height:auto;line-height:1;cursor:pointer;background-image:none;background-repeat:no-repeat!important;background-position:15px!important}.instant-img-container .load-more-wrap button.disabled{opacity:.3;cursor:default}.instant-img-container .cnkt-main{width:100%;float:none;background:none!important;position:relative}.instant-img-container h2,.instant-img-container h3,.instant-img-container h4{margin-top:0}.instant-img-container .save-settings p.submit{float:left;margin:0 2px 0 0;width:auto}.instant-img-container .save-settings .loading{width:46px;height:28px;display:none;float:left;background:#fff url(../img/ajax-loader.gif) no-repeat 50%}#TB_ajaxContent{clear:both;line-height:1.4em;overflow:auto;text-align:left;width:100%!important;-webkit-box-sizing:border-box;box-sizing:border-box;padding:15px!important}.cnkt-sidebar .form-table{margin:0;border:none;position:relative;top:-5px}.cnkt-sidebar .form-table label,.cnkt-sidebar .form-table p,.cnkt-sidebar .form-table td{font-size:13px}.cnkt-sidebar .form-table label{color:#333;display:block;clear:both;float:none}.cnkt-sidebar .form-table label span{opacity:.8;font-size:13px;font-style:italic}.cnkt-sidebar .form-table th{display:none}.instant-img-container .form-table td{border-top:0;padding:0 0 10px;float:left;width:100%;margin:0}.cnkt-main .form-msg,.cnkt-sidebar .form-table .form-msg{display:block;line-height:18px;padding:12px 12px 12px 15px;margin:15px 0 0;color:#666;background-color:#fff9ea;border-left:5px solid #dfd8c2;-webkit-border-radius:2px;border-radius:2px}.cnkt-main .form-msg span,.cnkt-sidebar .form-table .form-msg span{display:block;padding:6px 0 3px}.instant-img-container h1,.instant-img-container h3,.instant-img-container h4{color:#222;margin-top:0}.instant-img-container h4+p{margin-top:-6px}.instant-img-container p.small{font-size:12px;margin-top:-10px;opacity:.7}.instant-img-container ul{padding:0;margin:0;list-style:none}.instant-img-container input,.instant-img-container label,.instant-img-container select,.instant-img-container textarea{-webkit-box-shadow:none;box-shadow:none}.instant-img-container .save-settings{padding-top:5px}.instant-img-container label{padding:5px 0}#unsplash-form-options h2,#unsplash-form-options p.desc{display:none}.instant-img-container input[type=number],.instant-img-container input[type=text],.instant-img-container textarea{padding:10px;line-height:1;background:#f7f7f7;width:100%;-webkit-border-radius:2px;border-radius:2px;height:auto}.instant-img-container input[type=text]:focus,.instant-img-container textarea:focus{border-color:#999;-webkit-box-shadow:0 0 3px #ccc;box-shadow:0 0 3px #ccc;background:#efefef}.instant-img-container .spacer{display:block;height:40px;overflow:hidden;clear:both;width:100%}.instant-img-container .spacer.sm{height:20px}.instant-img-container input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset;box-shadow:inset 0 0 0 1000px #fff}.instant-img-container .control-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;margin:0 0 20px;padding:20px 0;list-style:none;border-bottom:1px solid #efefef}@media screen and (max-width:800px){.instant-img-container .control-nav{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.instant-img-container .control-nav:after{content:"";display:table;clear:both}.instant-img-container .control-nav--filters-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease}@media screen and (max-width:800px){.instant-img-container .control-nav--filters-wrap{-webkit-box-flex:0;-ms-flex:none;flex:none;width:100%}}.instant-img-container .control-nav--filters-wrap.inactive{opacity:.55;-webkit-filter:blur(1px);filter:blur(1px)}.instant-img-container .control-nav--filters-wrap.inactive *{cursor:not-allowed}.instant-img-container .control-nav--filters{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;width:100%}@media screen and (min-width:1024px){.instant-img-container .control-nav--filters{-webkit-column-gap:20px;-moz-column-gap:20px;column-gap:20px}}.instant-img-container .control-nav--filters:before{display:block;display:none;content:"\F0B0";font-family:FontAwesome;color:#efefef;font-size:24px;margin-right:10px}.instant-img-container .control-nav--filters label{border-left:none;display:block;min-width:125px;padding:0;margin:0}.instant-img-container .control-nav--filters label span{display:block;text-transform:uppercase;font-size:10px;padding-bottom:1px;padding-left:1px}.instant-img-container .control-nav--filters label:focus-within select:not[disabled]{border-color:#999;-webkit-box-shadow:0 0 1px 5px rgba(0,0,0,.025);box-shadow:0 0 1px 5px rgba(0,0,0,.025)}.instant-img-container .control-nav--filters select{text-transform:capitalize;width:100%;border-color:#ccc;color:#333;background-color:#f7f7f7;min-height:36px;line-height:36px;font-size:14px;padding:0 24px 0 8px}.instant-img-container .control-nav--filters select[disabled]{cursor:not-allowed}.instant-img-container .control-nav--filters select:not[disabled]:hover{border-color:#999;-webkit-box-shadow:0 0 1px 5px rgba(0,0,0,.025);box-shadow:0 0 1px 5px rgba(0,0,0,.025)}.instant-img-container .control-nav--search{display:-webkit-box;display:-ms-flexbox;display:flex;width:30%;max-width:350px;margin:0;margin-left:auto;padding:0 0 0 20px;position:relative}@media screen and (min-width:1270px){.instant-img-container .control-nav--search{width:35%}}@media screen and (max-width:800px){.instant-img-container .control-nav--search{width:100%;display:block;position:static;padding:0;text-align:left;max-width:100%;padding:10px 0}}.instant-img-container .control-nav--search .searchResults{position:absolute;right:100.5%;top:5px;width:auto;height:30px;line-height:30px;padding:0 0 0 8px;background:#586ec6;border:1px solid #455cb6;-webkit-border-radius:4px;border-radius:4px;z-index:9999;font-size:13px;font-weight:500;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;color:#fff;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 3px rgba(0,0,0,.05);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.instant-img-container .control-nav--search .searchResults span{cursor:help}.instant-img-container .control-nav--search .searchResults button{cursor:pointer;color:#fff;background-color:transparent!important;padding:0;height:auto;line-height:1;width:28px;font-weight:700;opacity:.65;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:14px;height:100%;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}.instant-img-container .control-nav--search .searchResults button:focus,.instant-img-container .control-nav--search .searchResults button:hover{opacity:1}.instant-img-container .control-nav--search .searchResults:after,.instant-img-container .control-nav--search .searchResults:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;z-index:100}.instant-img-container .control-nav--search .searchResults:after{border-color:hsla(62,46%,78%,0);border-left-color:#586ec6;border-width:6px;margin-top:-6px}.instant-img-container .control-nav--search .searchResults:before{border-color:transparent;border-left-color:#455cb6;border-width:7px;margin-top:-7px}.instant-img-container .control-nav--search .searchResults.hide{opacity:0;visibility:hidden}.instant-img-container .control-nav--search form{padding:0 1px 0 0;margin:0;position:relative;height:38px;display:block;width:100%}.instant-img-container .control-nav--search form:hover button[type=submit]{opacity:1}.instant-img-container .control-nav--search input{width:100%;padding:0 10px 0 38px;border:1px solid #ccc;background-color:#f7f7f7!important;height:38px;line-height:38px;-webkit-border-radius:999px;border-radius:999px;font-size:14px;-webkit-transition:border .25s ease;-o-transition:border .25s ease;transition:border .25s ease;background-position:right 10px center;background-repeat:no-repeat}.instant-img-container .control-nav--search input:focus{border-color:#999;-webkit-box-shadow:0 0 1px 5px rgba(0,0,0,.025);box-shadow:0 0 1px 5px rgba(0,0,0,.025)}.instant-img-container .control-nav--search input.searching{background-image:url(../img/ajax-loader.gif)}.instant-img-container .control-nav--search input[type=search]::-webkit-search-cancel-button,.instant-img-container .control-nav--search input[type=search]::-webkit-search-decoration,.instant-img-container .control-nav--search input[type=search]::-webkit-search-results-button,.instant-img-container .control-nav--search input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}.instant-img-container .control-nav--search button[type=submit]{position:absolute;left:2px;top:0;width:38px;height:38px;line-height:38px;-webkit-border-radius:100%;border-radius:100%;z-index:1;border:none!important;background:transparent!important;cursor:pointer;color:#333;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;opacity:.75;margin:0;padding:0;font-size:16px}.instant-img-container .control-nav--search button[type=submit]:focus,.instant-img-container .control-nav--search button[type=submit]:hover{opacity:1}.instant-img-container .control-nav--search input[type=search]::-webkit-input-placeholder{color:#ccc;font-weight:400;font-style:normal;font-size:14px}.instant-img-container .control-nav--search input[type=search]:-moz-placeholder,.instant-img-container .control-nav--search input[type=search]::-moz-placeholder{color:#ccc;font-weight:400;font-style:normal;font-size:14px}.instant-img-container .control-nav--search input[type=search]:-ms-input-placeholder{color:#ccc;font-weight:400;font-style:normal;font-size:14px}#photos{width:100%;width:calc(100% + 10px);margin:0 0 0 -5px;padding:0;position:relative}#photos:after{visibility:hidden;opacity:0;display:block;content:"";position:absolute;left:-10px;top:-5px;width:calc(100% + 20px);height:calc(100% + 10px);min-height:200px;background:hsla(0,0%,100%,.95) url(../img/ajax-loader-lg.gif) no-repeat center 90px;z-index:999;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease}#photos.loading:after{visibility:visible;opacity:1}#photos .photo{width:20%;margin:0;padding:0 5px 10px;opacity:0;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease}#photos .photo--wrap{position:relative}#photos .photo.in-view{opacity:1}#photos .photo.in-progress .fade{opacity:0!important;visibility:hidden!important}#photos .photo .img-wrap{display:block;overflow:hidden;position:relative}@media screen and (min-width:2000px){#photos .photo{width:20%}}@media screen and (max-width:1500px){#photos .photo{width:25%}}@media screen and (max-width:1270px){#photos .photo{width:33.333333%}}@media screen and (max-width:800px){#photos .photo{width:50%}}@media screen and (max-width:600px){#photos .photo{width:100%;margin:0 0 2%}}#photos .photo:focus a.upload img{opacity:.6}#photos .photo:focus .fade{opacity:1;visibility:visible}#photos .photo:focus .fade.user{opacity:.7}#photos .photo:focus-within .user-controls{opacity:1}#photos .photo a.upload{display:block;position:relative;background-color:#222;background-position:50%;background-repeat:no-repeat;background-image:url(../img/ajax-loader.gif);overflow:hidden}#photos .photo a.upload.loaded{background-image:none}#photos .photo a.upload:active,#photos .photo a.upload:focus{outline:none;border:none}#photos .photo a.upload img{-webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;width:100%;height:auto!important;padding:0;vertical-align:top}#photos .photo a.upload .status{visibility:hidden;opacity:0;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;width:60px;height:60px;line-height:60px;-webkit-border-radius:4px;border-radius:4px;position:absolute;left:50%;top:50%;z-index:5;-webkit-transform:translate(-50%,-50%) scale(1.2);-ms-transform:translate(-50%,-50%) scale(1.2);transform:translate(-50%,-50%) scale(1.2);-webkit-box-shadow:0 2px 3px rgba(0,0,0,.25);box-shadow:0 2px 3px rgba(0,0,0,.25);background-position:50%;background-repeat:no-repeat}#photos .photo a.upload .status:before{font-family:FontAwesome;display:block;color:#fff;font-size:24px;opacity:.8}#photos .photo a.upload .status a{color:#fff}#photos .photo a.upload.errors .status,#photos .photo a.upload.success .status,#photos .photo a.upload.uploading .status{text-align:center;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}#photos .photo a.upload.uploading{cursor:default!important}#photos .photo a.upload.uploading .status{visibility:visible;opacity:1;background:hsla(0,0%,100%,.95) url(../img/ajax-loader-lg.gif) no-repeat 50%;-webkit-background-size:24px 24px;background-size:24px 24px}#photos .photo a.upload.uploading .status:before{display:none}#photos .photo a.upload.success{cursor:default!important}#photos .photo a.upload.success .status{visibility:visible;opacity:1;background-color:#65c774}#photos .photo a.upload.success .status:before{content:"\F00C";color:#fff}#photos .photo a.upload.success img{-webkit-transform:scale(1)!important;-ms-transform:scale(1)!important;transform:scale(1)!important}#photos .photo a.upload.errors{cursor:help!important}#photos .photo a.upload.errors .status{visibility:visible;opacity:1;background-color:#df3333}#photos .photo a.upload.errors .status:before{content:"\F12A";color:#fff;opacity:.8}#photos .photo.uploaded a.upload img{opacity:.25!important}#photos .photo.uploaded .options,#photos .photo.uploaded .user-controls{opacity:0!important;visibility:hidden!important}#photos .photo.in-progress a.upload img,#photos .photo:hover a.upload img{opacity:.7;-webkit-transform:scale(1.075);-ms-transform:scale(1.075);transform:scale(1.075)}#photos .photo.in-progress .options,#photos .photo:hover .options{opacity:1;visibility:visible}#photos .photo.in-progress .options i.heart-like,#photos .photo:hover .options i.heart-like{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}#photos .photo.in-progress .user-controls,#photos .photo:hover .user-controls{opacity:1}#photos .photo.in-progress .notice-msg{top:0;opacity:1}#photos .photo.in-progress .options,#photos .photo.in-progress .user-controls{opacity:0!important}#photos .photo .options{position:absolute;top:5px;right:5px;z-index:6;display:inline-block;width:auto;cursor:default!important;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;opacity:0;visibility:hidden;font-size:13px}#photos .photo .options i{font-size:14px}#photos .photo .options i.heart-like{color:#d13714;-webkit-transition:all .25s ease .05s;-o-transition:all .25s ease .05s;transition:all .25s ease .05s;-webkit-transform:scale(.55);-ms-transform:scale(.55);transform:scale(.55);margin-right:2px;position:relative;top:0;font-size:14px;opacity:.9}#photos .photo .options a,#photos .photo .options span{display:inline-block;vertical-align:top;line-height:30px;padding:0 10px;padding-top:1px;background:hsla(0,0%,100%,.5);margin:0;-webkit-border-radius:2px;border-radius:2px;color:#23282d;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}#photos .photo .options span{cursor:default}#photos .photo .options span:focus,#photos .photo .options span:hover{background-color:#fff}#photos .photo .options a{margin-left:2px}#photos .photo .options a:focus,#photos .photo .options a:hover{background-color:#fff}#photos .photo .options a i{position:relative;top:1px;left:1px}#photos .photo .user-controls{position:absolute;z-index:6;bottom:0;left:0;width:100%;background:rgba(0,0,0,.4);padding:0;opacity:.35;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}#photos .photo .photo-options{float:right;text-align:right;max-width:50%}#photos .photo .fade{-webkit-transition:all .35s ease;-o-transition:all .35s ease;transition:all .35s ease;color:#fff;background:hsla(0,0%,100%,.75);background:transparent;-webkit-border-radius:2px;border-radius:2px;height:34px;line-height:34px;font-size:17px;z-index:6;float:left;margin:1px 1px 1px 0;padding:0;color:hsla(0,0%,100%,.75);border:none!important;outline:none;cursor:pointer}#photos .photo .fade.edit-photo,#photos .photo .fade.edit-photo-admin,#photos .photo .fade.insert,#photos .photo .fade.set-featured{display:inline-block;width:34px;text-align:center;position:relative}#photos .photo .fade.edit-photo-admin i,#photos .photo .fade.edit-photo i,#photos .photo .fade.insert i,#photos .photo .fade.set-featured i{line-height:27px;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}#photos .photo .fade.edit-photo-admin:focus,#photos .photo .fade.edit-photo-admin:hover,#photos .photo .fade.edit-photo:focus,#photos .photo .fade.edit-photo:hover,#photos .photo .fade.insert:focus,#photos .photo .fade.insert:hover,#photos .photo .fade.set-featured:focus,#photos .photo .fade.set-featured:hover{color:#222;background:hsla(0,0%,100%,.95)}#photos .photo .fade.edit-photo-admin{display:none}#photos .photo .fade.user{background:none;font-size:13px;max-width:48%;cursor:pointer;text-decoration:none;border:none;line-height:35px;height:36px;margin:0}#photos .photo .fade.user:focus,#photos .photo .fade.user:hover{text-decoration:underline}#photos .photo .fade.user .user-wrap{position:relative;padding-left:35px;display:block;width:100%;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}#photos .photo .fade.user .user-wrap:before{content:"";display:block;z-index:0;background-color:#fff;height:20px;opacity:.25}#photos .photo .fade.user .user-wrap:before,#photos .photo .fade.user img{width:20px;max-width:20px;-webkit-border-radius:100%;border-radius:100%;position:absolute;left:8px;top:8px}#photos .photo .fade.user img{z-index:1}#photos .photo .notice-msg{position:absolute;z-index:999;top:-40px;left:0;height:40px;line-height:40px;width:100%;background:rgba(0,0,0,.6);text-align:center;color:hsla(0,0%,100%,.9);font-size:12px;margin:0;padding:0;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;opacity:0;z-index:9999}#photos .photo .notice-msg.has-error{top:-40px;opacity:0}#photos .edit-screen{position:absolute;left:0;top:0;width:100%;height:100%;z-index:999;background:hsla(0,0%,100%,.9);opacity:0;visibility:hidden;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;padding:5px;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid #e1e1e1;-webkit-transform:scale(1.025);-ms-transform:scale(1.025);transform:scale(1.025)}#photos .edit-screen.editing{visibility:visible;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}#photos .edit-screen--controls,#photos .edit-screen--title{display:block;background:#f7f7f7;border:1px solid #e1e1e1;padding:15px 10px;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0}#photos .edit-screen--controls .button-primary,#photos .edit-screen--title .button-primary{float:right}#photos .edit-screen--controls{-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}#photos .edit-screen--title{border-bottom:none;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;width:100%;padding:10px;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}#photos .edit-screen--title>div{padding:5px 15px 5px 5px;-webkit-box-flex:1;-ms-flex:1;flex:1}#photos .edit-screen--title>div.preview{width:30%;padding:0;-webkit-background-size:cover;background-size:cover;background-position:50%;background-repeat:no-repeat;-webkit-border-radius:2px;border-radius:2px;-webkit-box-flex:0;-ms-flex:none;flex:none}#photos .edit-screen--title p{font-size:12px;line-height:1.45;margin:0;color:#999}#photos .edit-screen--title p.heading{color:#222;margin:0 0 3px;font-weight:600;text-transform:uppercase}#photos .edit-screen .add-attribution-row,#photos .edit-screen label{margin:0;padding:15px;display:block;background:#fff;border:1px solid #e1e1e1;border-bottom:none;position:relative}#photos .edit-screen .add-attribution-row{padding-top:0;margin-top:-15px;border-top:none}#photos .edit-screen .add-attribution-row button{cursor:pointer;font-size:11px;outline:none;padding:5px 0;border:none;background:none;text-decoration:underline}#photos .edit-screen .add-attribution-row button:focus,#photos .edit-screen .add-attribution-row button:hover{text-decoration:none}#photos .edit-screen span{display:block;font-size:11px;text-transform:uppercase;font-weight:600;margin:0 0 5px;color:#222;line-height:1}#photos .edit-screen textarea{resize:none;font-size:12px;line-height:1.35}#photos .edit-screen input{font-size:12px;padding:0 10px;margin:0;height:35px;line-height:35px}#photos .edit-screen em{position:absolute;bottom:15px;right:15px;height:35px;line-height:35px;background:#858585;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;color:#e1e1e1;font-style:normal;font-size:11px;padding:0 10px}.instant-images-settings{display:none;background-color:#efefef;border-top:1px solid #e1e1e1;border-bottom:1px solid #e1e1e1}.instant-images-settings .cnkt-sidebar{padding:20px 25px;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;line-height:1.45}.instant-images-settings .cnkt-sidebar p{font-size:13px}.instant-images-settings .cnkt-sidebar .cta{width:100%;background:#fff;padding:0;position:relative;border:1px solid #e1e1e1;-webkit-border-radius:3px;border-radius:3px;overflow:hidden}@media screen and (min-width:800px){.instant-images-settings .cnkt-sidebar .cta{width:calc(65% - 10px)}}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;padding-bottom:52px}@media screen and (min-width:800px){.instant-images-settings .cnkt-sidebar .cta.ii-whats-new{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;margin:0;padding:15px}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul li{line-height:1.45;width:100%;background-color:transparent;padding:5px;margin:0;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}@media screen and (min-width:1024px){.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul li{width:50%}}@media screen and (min-width:1270px){.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul li{width:33.333%}}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul li p{font-size:13px;position:relative;z-index:1;margin:0;padding:15px;border:1px solid #e1e1e1}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul li p strong{font-size:14px;display:block;font-weight:700;margin:0 0 5px;color:#333}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul li code{font-size:12px;margin:0;padding:3px;background:#f7f7f7;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 0 1px #efefef;box-shadow:0 0 0 1px #efefef}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new .with-love{position:absolute;left:0;bottom:0;width:100%;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;background-color:#f7f7f7;border-top:1px solid #e1e1e1;text-align:center;margin:0;padding:15px}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new .with-love p{margin:0}.instant-images-settings .cnkt-sidebar .cta.ii-settings{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}@media screen and (min-width:800px){.instant-images-settings .cnkt-sidebar .cta.ii-settings{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;width:35%}}.instant-images-settings .cnkt-sidebar .cta.ii-settings input[type=number],.instant-images-settings .cnkt-sidebar .cta.ii-settings input[type=text],.instant-images-settings .cnkt-sidebar .cta.ii-settings select{background-color:#fff;width:100%;padding:5px 10px;border-color:#ccc;max-width:none}.instant-images-settings .cnkt-sidebar .cta.ii-settings input[type=number][readonly],.instant-images-settings .cnkt-sidebar .cta.ii-settings input[type=text][readonly],.instant-images-settings .cnkt-sidebar .cta.ii-settings select[readonly]{background-color:#f7f7f7;cursor:not-allowed;opacity:.65;border-color:#ccc!important;-webkit-box-shadow:none!important;box-shadow:none!important}.instant-images-settings .cnkt-sidebar .cta.ii-settings input[type=number],.instant-images-settings .cnkt-sidebar .cta.ii-settings input[type=text]{padding:10px}.instant-images-settings .cnkt-sidebar .cta.ii-settings span.desc{font-size:11px;display:block;padding:8px 2px 5px}.instant-images-settings .cnkt-sidebar .cta.ii-plugins{width:100%;margin-top:10px;-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.instant-images-settings .cnkt-sidebar .cta.ii-plugins .cnkt-plugin-installer{width:100%;position:static;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:20px 20px 0}.instant-images-settings .cnkt-sidebar .cta.ii-plugins .cnkt-plugin-installer .plugin{width:100%;margin:0 0 20px;line-height:1.45}@media screen and (min-width:800px){.instant-images-settings .cnkt-sidebar .cta.ii-plugins .cnkt-plugin-installer .plugin{width:calc(50% - 10px)}}.instant-images-settings .cnkt-sidebar .cta.ii-plugins .cnkt-plugin-installer .plugin h2{margin-bottom:5px}.instant-images-settings .cnkt-sidebar .cta.ii-plugins .cnkt-plugin-installer:after{display:none}.instant-images-settings .cnkt-sidebar h2{border:none;padding:20px 20px 0;font-size:18px;font-weight:700}.instant-images-settings .cnkt-sidebar h2+p{padding:0 20px 16px;margin:0!important;border-bottom:1px solid #e1e1e1}.instant-images-settings .cnkt-sidebar h2,.instant-images-settings .cnkt-sidebar h2+p{background:#f7f7f7;margin:0}.instant-images-settings .cnkt-sidebar .cnkt-sidebar h3,.instant-images-settings .cnkt-sidebar .cnkt-sidebar h4{margin-top:0}.instant-images-settings .cnkt-sidebar .cta-wrap{display:block;padding:20px}.instant-images-settings .cnkt-sidebar .cta-wrap h4{padding:10px 0 7px;margin:0}.instant-images-settings .cnkt-sidebar .cta-wrap h4 span{display:inline-block;line-height:1;padding:8px 10px;-webkit-border-radius:2px;border-radius:2px;background:#ffc;color:#666}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin{width:48%;margin:2% 1% 0}@media screen and (max-width:1170px){.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin{width:100%;margin:2% 0 0}}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2{border:none;padding:0;font-size:16px}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2+p{padding:0;margin:0!important;border-bottom:none}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2,.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2+p{background:none;margin:0}.instant-images-settings table{margin-top:5px}.instant-img-container[data-media-popup=true]{background:#fff}.instant-img-container[data-media-popup=true] .header-wrap{display:none}.instant-img-container[data-media-popup=true] .instant-images-wrapper{padding:0 16px}body.loading .instant-img-container .loading-block{display:block}.instant-images-sidebar-icon,.instant-images-sidebar-icon svg{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.instant-images-sidebar-icon svg{height:20px;width:20px}.instant-images-sidebar-icon svg,.instant-images-sidebar-icon svg *{stroke:#586ec6!important;fill:#586ec6!important}.components-panel .instant-img-container .load-more-wrap{display:block}.components-panel .no-results{padding:40px}.components-panel .no-results h3{font-size:18px}.components-panel .no-results p{font-size:13px}.components-panel .search-results-text{font-size:12px;border-top:1px solid #ddd;border-color:#ddd}.components-panel .search-results-text .search-results-clear{display:none}.components-panel #photos{width:100%;margin:0;padding:5px}.components-panel #photos .photo{width:100%;display:block;opacity:1!important;margin:0 0 5px;padding:0}.components-panel .provider-nav{width:100%;padding:10px 5px;margin:0;border-bottom-color:#ddd}.components-panel .provider-nav button{font-size:13px;padding-left:36px}.components-panel .control-nav{padding:0 5px 5px;border-bottom:1px solid #ddd;margin:0 0 10px;display:block}.components-panel .control-nav .control-nav--spacer{display:none}.components-panel .control-nav--filters-wrap{-webkit-box-flex:0;-ms-flex:none;flex:none;width:100%;display:block}.components-panel .control-nav--filters{-webkit-column-gap:6px;-moz-column-gap:6px;column-gap:6px;padding:10px 0}.components-panel .control-nav--filters .filter-dropdown{width:calc(50% - 3px);display:none}.components-panel .control-nav--filters .filter-dropdown button{padding:5px;font-size:13px}.components-panel .control-nav--filters .filter-dropdown button.filter-dropdown--button{display:block}.components-panel .control-nav--filters .filter-dropdown button i{margin-left:auto;padding-right:5px}.components-panel .control-nav--filters .filter-dropdown--menu{width:106%;left:-3%;padding:8px}.components-panel .control-nav--filters .filter-dropdown--menu button{gap:8px}.components-panel .control-nav--filters .filter-dropdown:first-child,.components-panel .control-nav--filters .filter-dropdown:nth-child(2){display:block}.components-panel .control-nav--filters .filter-dropdown .filter-dropdown--button-label{display:block;font-size:10px;text-transform:uppercase;margin:0 0 2px}.components-panel .control-nav--filters .filter-dropdown .filter-dropdown--button-selected{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;font-size:14px}.components-panel .control-nav--search{float:none;width:100%;padding:0 0 10px;clear:both}.components-panel .control-nav--search form{height:auto}.components-panel .control-nav--search:before,.components-panel .control-nav--search button[type=submit]{display:none}.components-panel .control-nav--search input{line-height:40px;height:40px;padding-right:10px;padding-left:10px;border-color:#e2e4e7;font-size:13px;-webkit-border-radius:3px!important;border-radius:3px!important;background-position:8px}.components-panel .control-nav--search input.searching{padding-left:30px}.components-panel .control-nav--search input:focus{-webkit-box-shadow:none;box-shadow:none}.components-panel .control-nav--search input[type=search]::-webkit-input-placeholder{font-size:13px}.components-panel .control-nav--search input[type=search]:-moz-placeholder,.components-panel .control-nav--search input[type=search]::-moz-placeholder{font-size:13px}.components-panel .control-nav--search input[type=search]:-ms-input-placeholder{font-size:13px}.components-panel .control-nav--search .searchResults{right:2px;left:auto;top:2px;-webkit-border-radius:2px;border-radius:2px;font-size:12px;height:36px;line-height:35px}.components-panel .control-nav--search .searchResults:after,.components-panel .control-nav--search .searchResults:before{display:none}.components-panel .orientation-list{position:static;border-top:none;background:#f7f7f7;padding:5px 5px 5px 0;margin-bottom:5px;border-bottom-color:#ddd}.components-panel .orientation-list span{display:none}.components-panel .orientation-list ul{padding:0;width:100%}.instant-img-container #tooltip{display:inline-block;padding:8px 10px;background:#fff;position:fixed;left:auto;top:auto;z-index:999;display:block;opacity:0;visibility:hidden;margin-top:-37px;font-size:12px;color:#999;text-align:center;line-height:1;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.1);box-shadow:0 2px 3px rgba(0,0,0,.1);-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.instant-img-container #tooltip:after{top:100%;right:17px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:hsla(0,0%,100%,0);border-top-color:#fff;border-width:5px;margin-left:-5px}.instant-img-container #tooltip.over{opacity:.9;visibility:visible}.instant-img-container #tooltip.above{margin-top:37px}.instant-img-container #tooltip.above:after{top:-5px;border-top:none;border-bottom-color:#fff}.no-results{display:block;padding:150px 100px;text-align:center}.no-results h3{font-size:24px;line-height:29px;margin:0 0 10px}.no-results p{font-size:16px;margin:0}@media screen and (max-width:800px){.no-results{padding:50px}}.orientation-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:7px 0;margin:0 0 10px;border-top:1px solid #efefef;border-bottom:1px solid #efefef;position:relative;top:-7px}.orientation-list span{opacity:.5;margin:0 10px 0 0;font-size:13px}.orientation-list span i{margin-right:2px}.orientation-list ul{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex}.orientation-list ul li{margin:0 1px 0 0;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;padding:4px 6px;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;border:1px solid transparent;color:#999;font-size:13px}.orientation-list ul li:hover{color:#111}.orientation-list ul li:focus{border-color:#586ec6;color:#111;outline:none}.orientation-list ul li.active{background-color:#586ec6;border-color:#586ec6;color:#fff;outline:none}.media-frame-router button#menu-item-instantimages.active{background-color:#f7f7f7}.media-frame-content .instant-img-container .load-more-wrap{display:block}.provider-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;width:calc(100% + 50px);margin-left:-25px;padding:10px 25px;border-bottom:1px solid #efefef;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.045);box-shadow:0 2px 5px rgba(0,0,0,.045);background-color:#f7f7f7}.provider-nav,.provider-nav>div{position:relative}.provider-nav--btn{padding:0 10px 0 36px;height:38px;line-height:38px;border:1px solid transparent;background:transparent;margin-right:5px;cursor:pointer;position:relative;-webkit-border-radius:3px;border-radius:3px;font-size:14px;color:#999;-webkit-transition:all .2s ease;-o-transition:all .2s ease;transition:all .2s ease;background-color:#f7f7f7}.provider-nav--btn:focus,.provider-nav--btn:hover{color:#333}.provider-nav--btn.active{background-color:#fff;border-color:#ccc;color:#333;cursor:default;-webkit-box-shadow:0 0 6px rgba(0,0,0,.075);box-shadow:0 0 6px rgba(0,0,0,.075)}.provider-nav--new{color:#333;background-color:#ffe732;font-size:9px;text-transform:uppercase;display:inline;padding:3px 4px;-webkit-border-radius:3px;border-radius:3px;margin-left:5px;position:relative;top:-1px;letter-spacing:-.05rem}[data-provider=unsplash]{background:url(../img/unsplash.svg) no-repeat 10px;-webkit-background-size:18px 18px;background-size:18px 18px}[data-provider=pixabay]{background:url(../img/pixabay.png) no-repeat 10px;-webkit-background-size:20px 20px;background-size:20px 20px}.media-frame-content .instant-img-container .api-lightbox{position:fixed}.components-panel .instant-img-container .api-lightbox{height:100%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.instant-img-container .api-lightbox{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;z-index:99999;left:0;top:0;right:0;bottom:0;height:100vh;padding:5%;background-color:rgba(0,0,0,.75);font-size:13px}.instant-img-container .api-lightbox.active>div{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.instant-img-container .api-lightbox>div{max-width:450px;width:100%;padding:0;background-color:#fff;border:1px solid #e1e1e1;-webkit-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 1px 5px rgba(0,0,0,.25);box-shadow:0 1px 5px rgba(0,0,0,.25);position:relative;-webkit-transform:scale(.95);-ms-transform:scale(.95);transform:scale(.95);opacity:0;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.instant-img-container .api-lightbox>div>div{position:relative}.instant-img-container .api-lightbox--details{border-bottom:1px solid #e1e1e1;padding:25px;padding-bottom:20px;position:relative}.instant-img-container .api-lightbox--details:after,.instant-img-container .api-lightbox--details:before{top:100%;left:50px;border:solid transparent;content:"";height:0;width:0;position:absolute;pointer-events:none}.instant-img-container .api-lightbox--details:after{border-color:hsla(0,0%,100%,0);border-top-color:#fff;border-width:10px;margin-left:-10px}.instant-img-container .api-lightbox--details:before{border-color:rgba(194,225,245,0);border-top-color:#e1e1e1;border-width:11px;margin-left:-11px}.instant-img-container .api-lightbox--details h3{font-size:16px;line-height:18px;padding:0 0 0 25px;text-transform:uppercase;margin:0 0 10px;background-position:0}.instant-img-container .api-lightbox--details p{font-size:13px;margin:0 0 5px}.instant-img-container .api-lightbox--details p a{font-weight:500}.instant-img-container .api-lightbox--close{position:absolute;z-index:1;right:0;top:0;border:none;background-color:transparent;width:40px;height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:25px;cursor:pointer;opacity:.5}.instant-img-container .api-lightbox--close:focus,.instant-img-container .api-lightbox--close:hover{opacity:1}.instant-img-container .api-lightbox form{display:block;background-color:#f7f7f7;padding:25px}.instant-img-container .api-lightbox button[type=submit],.instant-img-container .api-lightbox label{font-size:12px;text-transform:uppercase;font-weight:600;display:block;padding:0;margin:0 0 5px;cursor:pointer}.instant-img-container .api-lightbox--input-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;padding:0;margin-bottom:10px;background-color:#fff;border:1px solid #e1e1e1;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:all .2s ease;-o-transition:all .2s ease;transition:all .2s ease}.instant-img-container .api-lightbox--input-wrap:focus-within{border-color:#999;-webkit-box-shadow:0 0 1px 4px rgba(0,0,0,.065);box-shadow:0 0 1px 4px rgba(0,0,0,.065)}.instant-img-container .api-lightbox--input-wrap span{width:40px;height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;border-right:1px solid #e1e1e1;background-color:#f7f7f7}.instant-img-container .api-lightbox--input-wrap span i{font-size:16px}.instant-img-container .api-lightbox--input-wrap span.invalid{cursor:help}.instant-img-container .api-lightbox--input-wrap span.invalid i{color:#d4aa4d}.instant-img-container .api-lightbox--input-wrap span.valid i{color:#65c774}.instant-img-container .api-lightbox--input-wrap span.loading i{color:#333}.instant-img-container .api-lightbox--input-wrap input{line-height:40px;height:40px;padding:0 10px;background-color:transparent;border:none;-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:12px}.instant-img-container .api-lightbox--input-wrap input::-webkit-input-placeholder{color:#999;font-weight:400;font-style:italic}.instant-img-container .api-lightbox--input-wrap input:-moz-placeholder,.instant-img-container .api-lightbox--input-wrap input::-moz-placeholder{color:#999;font-weight:400;font-style:italic}.instant-img-container .api-lightbox--input-wrap input:-ms-input-placeholder{color:#999;font-weight:400;font-style:italic}.instant-img-container .api-lightbox--input-wrap input:focus{background:transparent;outline:none;border:none;-webkit-box-shadow:none;box-shadow:none}.instant-img-container .api-lightbox button[type=submit]{width:100%;border:none;background-color:#586ec6;color:#fff;-webkit-border-radius:3px;border-radius:3px;padding:0 10px;line-height:46px;height:46px;margin:0}.instant-img-container .api-lightbox button[type=submit]:focus,.instant-img-container .api-lightbox button[type=submit]:hover{background-color:#455cb6}.instant-img-container .api-lightbox--response{color:#df3333;margin:0;font-size:13px;font-weight:500;padding:0 2px 12px}.instant-img-container .api-lightbox--response.valid{color:#51a75e}.filter-dropdown{position:relative}.filter-dropdown button{background-color:transparent;border:none;text-align:left;color:#999}.filter-dropdown button:not(disabled){cursor:pointer}.filter-dropdown--button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px;padding:10px 2px 10px 0;text-transform:capitalize;color:#999;width:100%;font-size:14px}@media screen and (min-width:1500px){.filter-dropdown--button{font-size:15px}}.filter-dropdown--button span.filter-dropdown--button-label{padding-right:3px}.filter-dropdown--button span.filter-dropdown--button-selected{color:#333;font-weight:500}.filter-dropdown--button i{opacity:.4;margin-left:10px;font-size:14px}.filter-dropdown--button:focus i,.filter-dropdown--button:hover i{opacity:1}.filter-dropdown--menu{display:block;visibility:hidden;opacity:0;-webkit-transform:scale(.95);-ms-transform:scale(.95);transform:scale(.95);-webkit-transition:opacity .1s ease-in-out,visibility .1s ease-in-out,-webkit-transform .2s cubic-bezier(.24,.22,.015,1.56);transition:opacity .1s ease-in-out,visibility .1s ease-in-out,-webkit-transform .2s cubic-bezier(.24,.22,.015,1.56);-o-transition:transform .2s cubic-bezier(.24,.22,.015,1.56),opacity .1s ease-in-out,visibility .1s ease-in-out;transition:transform .2s cubic-bezier(.24,.22,.015,1.56),opacity .1s ease-in-out,visibility .1s ease-in-out;transition:transform .2s cubic-bezier(.24,.22,.015,1.56),opacity .1s ease-in-out,visibility .1s ease-in-out,-webkit-transform .2s cubic-bezier(.24,.22,.015,1.56);padding:10px;background-color:#fff;border:1px solid #e1e1e1;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 8px 16px rgba(69,92,182,.2);box-shadow:0 8px 16px rgba(69,92,182,.2);z-index:9999;position:absolute;top:110%;left:-12px;width:200px;max-height:350px;overflow-y:auto}.filter-dropdown--menu.expanded{visibility:visible;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);top:100%}.filter-dropdown--menu button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;width:100%;text-transform:capitalize;padding:8px 5px;-webkit-transition:all .25 ease;-o-transition:all .25 ease;transition:all .25 ease;font-size:14px}.filter-dropdown--menu button:before{font-family:FontAwesome;content:"\F00C";display:block;color:#ccc;opacity:.4;font-size:10px}.filter-dropdown--menu button:focus,.filter-dropdown--menu button:hover{color:#333}.filter-dropdown--menu button:focus:before,.filter-dropdown--menu button:hover:before{opacity:.75}.filter-dropdown--menu button.selected{color:#333}.filter-dropdown--menu button.selected:before{color:#333;opacity:.75}.filter-dropdown--menu[data-key=color] button ._color,.filter-dropdown--menu[data-key=colors] button ._color{margin-left:auto;width:14px;height:14px;-webkit-border-radius:50%;border-radius:50%;background-color:currentColor;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.075);box-shadow:0 0 0 1px rgba(0,0,0,.075)}.search-results-header h2{font-size:34px;line-height:1;padding:0;margin:0 0 5px;text-transform:capitalize;font-weight:700}@media screen and (max-width:800px){.search-results-header h2{font-size:25px}}.search-results-header--text{font-size:14px;margin:0;padding-bottom:10px;color:#999}.search-results-header--text strong{color:#333;font-weight:600}.search-results-header--text button{border:none;background-color:transparent;font-size:13px;cursor:pointer;color:#586ec6;font-weight:400;padding:2px 0 0;margin:0}.search-results-header--text button:focus,.search-results-header--text button:hover{text-decoration:underline;color:#455cb6}.search-results-header .control-nav--filters-wrap{margin:0 0 15px}
1
+ @import url(//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);body.media_page_instant-images{background:#fff}body.media_page_instant-images #wpcontent{padding-left:0;padding-bottom:40px}@media screen and (max-width:800px){body.media_page_instant-images #wpcontent{padding-bottom:0}}body.media_page_instant-images #wpbody-content{padding-bottom:0}body.media_page_instant-images #wpfooter{padding-top:0;padding-bottom:0;line-height:40px;background:#f7f7f7;border-top:1px solid #efefef;position:fixed;bottom:0;z-index:1100}body.media_page_instant-images #wpfooter p{line-height:40px}@media screen and (max-width:800px){body.media_page_instant-images #wpfooter{display:none}}body.media_page_instant-images.overflow-hidden{overflow:hidden}.instant-img-container{font-size:14px;color:#666;position:relative}.instant-img-container .offscreen{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.instant-img-container *{-webkit-box-sizing:border-box;box-sizing:border-box}.instant-img-container a{color:#586ec6;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease}.instant-img-container a:hover{color:#5568ae;text-decoration:none}.instant-img-container img{max-width:100%}.instant-img-container p{color:#666;width:100%;display:block;clear:both;text-transform:none;padding:0;margin:0 0 15px;font-size:14px}.instant-img-container.loading .loading-block{display:block}.instant-img-container .error-messaging{padding:20px 20px 20px 60px;-webkit-border-radius:3px;border-radius:3px;background:#da4444;color:#fff;font-size:13px;line-height:1.5;margin-bottom:25px;display:block;position:relative}.instant-img-container .error-messaging:before{font-family:FontAwesome;content:"\F06A";display:block;left:17px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);position:absolute;font-size:32px;opacity:.75}.instant-img-container .header-wrap{background:#f7f7f7 url(../img/logo-48x48.png) no-repeat 25px 20px;padding:20px 25px 20px 83px;min-height:88px;overflow:hidden;border-bottom:1px solid #efefef;position:relative}@media screen and (max-width:800px){.instant-img-container .header-wrap{background-position:center 20px;padding:80px 25px 20px;text-align:center}}.instant-img-container .header-wrap h1{padding:0;margin:4px 0 0;font-weight:700;font-size:26px;max-width:70%}@media screen and (max-width:800px){.instant-img-container .header-wrap h1{max-width:100%;width:100%;text-align:center}}.instant-img-container .header-wrap h1 em{font-weight:400;font-size:14px;background-color:rgba(0,0,0,.055);color:rgba(0,0,0,.5);display:inline-block;-webkit-border-radius:2px;border-radius:2px;padding:3px;position:relative;top:-2px;left:2px;text-shadow:1px 1px 1px hsla(0,0%,100%,.4);font-style:normal;line-height:1}.instant-img-container .header-wrap h1 span{display:block;padding:3px 0 0;color:#999;font-size:15px;font-weight:400}.instant-img-container .header-wrap button{position:absolute;right:25px;bottom:26px}@media screen and (max-width:800px){.instant-img-container .header-wrap button{position:static;margin-top:20px;display:inline-block}}.instant-img-container .header-wrap button i{margin-right:2px}.instant-img-container .instant-images-wrapper{padding:0 25px;display:block;overflow:hidden;min-height:400px;background:url(../img/ajax-loader-lg.gif) no-repeat 50%}.instant-img-container .instant-images-wrapper.loaded{background:none}.instant-img-container .permissions-warning{padding:0 25px}.instant-img-container .permissions-warning .inner{border-bottom:1px solid #efefef;padding:32px 0}.instant-img-container .permissions-warning input{max-width:500px}.instant-img-container .permissions-warning h3{font-size:22px;margin:0 0 15px}.instant-img-container .permissions-warning h3 i{margin:0 2px 0 0;position:relative}.instant-img-container .permissions-warning p:first-of-type{font-size:18px;margin:0 0 2px}.instant-img-container .loading-block{display:none;padding:50px;background:url(../img/ajax-loader-lg.gif) no-repeat 50%}.instant-img-container .load-more-wrap{margin:1% 0 0;padding:25px 0;text-align:center;display:none;border-top:1px solid #efefef}.instant-img-container .load-more-wrap button{display:inline-block;margin:0;padding:12px 15px;font-size:15px;font-weight:600;-webkit-transition:all .1s ease;-o-transition:all .1s ease;transition:all .1s ease;height:auto;line-height:1;cursor:pointer;background-image:none;background-repeat:no-repeat!important;background-position:15px!important}.instant-img-container .load-more-wrap button.disabled{opacity:.3;cursor:default}.instant-img-container .cnkt-main{width:100%;float:none;background:none!important;position:relative}.instant-img-container h2,.instant-img-container h3,.instant-img-container h4{margin-top:0}.instant-img-container .save-settings p.submit{float:left;margin:0 2px 0 0;width:auto}.instant-img-container .save-settings .loading{width:46px;height:28px;display:none;float:left;background:#fff url(../img/ajax-loader.gif) no-repeat 50%}#TB_ajaxContent{clear:both;line-height:1.4em;overflow:auto;text-align:left;width:100%!important;-webkit-box-sizing:border-box;box-sizing:border-box;padding:15px!important}.cnkt-sidebar .form-table{margin:0;border:none;position:relative;top:-5px}.cnkt-sidebar .form-table label,.cnkt-sidebar .form-table p,.cnkt-sidebar .form-table td{font-size:13px}.cnkt-sidebar .form-table label{color:#333;display:block;clear:both;float:none}.cnkt-sidebar .form-table label span{opacity:.8;font-size:13px;font-style:italic}.cnkt-sidebar .form-table th{display:none}.instant-img-container .form-table td{border-top:0;padding:0 0 10px;float:left;width:100%;margin:0}.cnkt-main .form-msg,.cnkt-sidebar .form-table .form-msg{display:block;line-height:18px;padding:12px 12px 12px 15px;margin:15px 0 0;color:#666;background-color:#fff9ea;border-left:5px solid #dfd8c2;-webkit-border-radius:2px;border-radius:2px}.cnkt-main .form-msg span,.cnkt-sidebar .form-table .form-msg span{display:block;padding:6px 0 3px}.instant-img-container h1,.instant-img-container h3,.instant-img-container h4{color:#222;margin-top:0}.instant-img-container h4+p{margin-top:-6px}.instant-img-container p.small{font-size:12px;margin-top:-10px;opacity:.7}.instant-img-container ul{padding:0;margin:0;list-style:none}.instant-img-container input,.instant-img-container label,.instant-img-container select,.instant-img-container textarea{-webkit-box-shadow:none;box-shadow:none}.instant-img-container .save-settings{padding-top:5px}.instant-img-container label{padding:5px 0}#unsplash-form-options h2,#unsplash-form-options p.desc{display:none}.instant-img-container input[type=number],.instant-img-container input[type=text],.instant-img-container textarea{padding:10px;line-height:1;background:#f7f7f7;width:100%;-webkit-border-radius:2px;border-radius:2px;height:auto}.instant-img-container input[type=text]:focus,.instant-img-container textarea:focus{border-color:#999;-webkit-box-shadow:0 0 3px #ccc;box-shadow:0 0 3px #ccc;background:#efefef}.instant-img-container .spacer{display:block;height:40px;overflow:hidden;clear:both;width:100%}.instant-img-container .spacer.sm{height:20px}.instant-img-container input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset;box-shadow:inset 0 0 0 1000px #fff}.instant-img-container .control-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;margin:0 0 20px;padding:20px 0;list-style:none;border-bottom:1px solid #efefef}@media screen and (max-width:800px){.instant-img-container .control-nav{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.instant-img-container .control-nav:after{content:"";display:table;clear:both}.instant-img-container .control-nav--filters-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease}@media screen and (max-width:800px){.instant-img-container .control-nav--filters-wrap{-webkit-box-flex:0;-ms-flex:none;flex:none;width:100%}}.instant-img-container .control-nav--filters-wrap.inactive{opacity:.55;-webkit-filter:blur(1px);filter:blur(1px)}.instant-img-container .control-nav--filters-wrap.inactive i{opacity:.4!important}.instant-img-container .control-nav--filters-wrap.inactive *{cursor:not-allowed}.instant-img-container .control-nav--filters{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;width:100%}@media screen and (min-width:1024px){.instant-img-container .control-nav--filters{-webkit-column-gap:20px;-moz-column-gap:20px;column-gap:20px}}.instant-img-container .control-nav--filters:before{display:block;display:none;content:"\F0B0";font-family:FontAwesome;color:#efefef;font-size:24px;margin-right:10px}.instant-img-container .control-nav--filters label{border-left:none;display:block;min-width:125px;padding:0;margin:0}.instant-img-container .control-nav--filters label span{display:block;text-transform:uppercase;font-size:10px;padding-bottom:1px;padding-left:1px}.instant-img-container .control-nav--filters label:focus-within select:not[disabled]{border-color:#999;-webkit-box-shadow:0 0 1px 5px rgba(0,0,0,.025);box-shadow:0 0 1px 5px rgba(0,0,0,.025)}.instant-img-container .control-nav--filters select{text-transform:capitalize;width:100%;border-color:#ccc;color:#333;background-color:#f7f7f7;min-height:36px;line-height:36px;font-size:14px;padding:0 24px 0 8px}.instant-img-container .control-nav--filters select[disabled]{cursor:not-allowed}.instant-img-container .control-nav--filters select:not[disabled]:hover{border-color:#999;-webkit-box-shadow:0 0 1px 5px rgba(0,0,0,.025);box-shadow:0 0 1px 5px rgba(0,0,0,.025)}.instant-img-container .control-nav--search{display:-webkit-box;display:-ms-flexbox;display:flex;width:30%;max-width:350px;margin:0;margin-left:auto;padding:0 0 0 20px;position:relative}@media screen and (min-width:1270px){.instant-img-container .control-nav--search{width:35%}}@media screen and (max-width:800px){.instant-img-container .control-nav--search{width:100%;display:block;position:static;padding:0;text-align:left;max-width:100%;padding:10px 0}}.instant-img-container .control-nav--search .searchResults{position:absolute;right:100.5%;top:5px;width:auto;height:30px;line-height:30px;padding:0 0 0 8px;background:#586ec6;border:1px solid #455cb6;-webkit-border-radius:4px;border-radius:4px;z-index:9999;font-size:13px;font-weight:500;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;color:#fff;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 3px rgba(0,0,0,.05);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.instant-img-container .control-nav--search .searchResults span{cursor:help}.instant-img-container .control-nav--search .searchResults button{cursor:pointer;color:#fff;background-color:transparent!important;padding:0;height:auto;line-height:1;width:28px;font-weight:700;opacity:.65;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:14px;height:100%;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}.instant-img-container .control-nav--search .searchResults button:focus,.instant-img-container .control-nav--search .searchResults button:hover{opacity:1}.instant-img-container .control-nav--search .searchResults:after,.instant-img-container .control-nav--search .searchResults:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;z-index:100}.instant-img-container .control-nav--search .searchResults:after{border-color:hsla(62,46%,78%,0);border-left-color:#586ec6;border-width:6px;margin-top:-6px}.instant-img-container .control-nav--search .searchResults:before{border-color:transparent;border-left-color:#455cb6;border-width:7px;margin-top:-7px}.instant-img-container .control-nav--search .searchResults.hide{opacity:0;visibility:hidden}.instant-img-container .control-nav--search form{padding:0 1px 0 0;margin:0;position:relative;height:38px;display:block;width:100%}.instant-img-container .control-nav--search form:hover button[type=submit]{opacity:1}.instant-img-container .control-nav--search input{width:100%;padding:0 10px 0 38px;border:1px solid #ccc;background-color:#f7f7f7!important;height:38px;line-height:38px;-webkit-border-radius:999px;border-radius:999px;font-size:14px;-webkit-transition:border .25s ease;-o-transition:border .25s ease;transition:border .25s ease;background-position:right 10px center;background-repeat:no-repeat}.instant-img-container .control-nav--search input:focus{border-color:#999;-webkit-box-shadow:0 0 1px 5px rgba(0,0,0,.025);box-shadow:0 0 1px 5px rgba(0,0,0,.025)}.instant-img-container .control-nav--search input.searching{background-image:url(../img/ajax-loader.gif)}.instant-img-container .control-nav--search input[type=search]::-webkit-search-cancel-button,.instant-img-container .control-nav--search input[type=search]::-webkit-search-decoration,.instant-img-container .control-nav--search input[type=search]::-webkit-search-results-button,.instant-img-container .control-nav--search input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}.instant-img-container .control-nav--search button[type=submit]{position:absolute;left:2px;top:0;width:38px;height:38px;line-height:38px;-webkit-border-radius:100%;border-radius:100%;z-index:1;border:none!important;background:transparent!important;cursor:pointer;color:#333;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;opacity:.75;margin:0;padding:0;font-size:16px}.instant-img-container .control-nav--search button[type=submit]:focus,.instant-img-container .control-nav--search button[type=submit]:hover{opacity:1}.instant-img-container .control-nav--search input[type=search]::-webkit-input-placeholder{color:#ccc;font-weight:400;font-style:normal;font-size:14px}.instant-img-container .control-nav--search input[type=search]:-moz-placeholder,.instant-img-container .control-nav--search input[type=search]::-moz-placeholder{color:#ccc;font-weight:400;font-style:normal;font-size:14px}.instant-img-container .control-nav--search input[type=search]:-ms-input-placeholder{color:#ccc;font-weight:400;font-style:normal;font-size:14px}#photos{width:100%;width:calc(100% + 10px);margin:0 0 0 -5px;padding:0;position:relative}#photos:after{visibility:hidden;opacity:0;display:block;content:"";position:absolute;left:-10px;top:-5px;width:calc(100% + 20px);height:calc(100% + 10px);min-height:300px;background:hsla(0,0%,100%,.95) url(../img/ajax-loader-lg.gif) no-repeat center 90px;z-index:999;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease}#photos.loading:after{visibility:visible;opacity:1}#photos .photo{width:20%;margin:0;padding:0 5px 10px;opacity:0;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease}#photos .photo--wrap{position:relative}#photos .photo.in-view{opacity:1}#photos .photo.in-progress .fade{opacity:0!important;visibility:hidden!important}#photos .photo .img-wrap{display:block;overflow:hidden;position:relative}@media screen and (min-width:2000px){#photos .photo{width:20%}}@media screen and (max-width:1500px){#photos .photo{width:25%}}@media screen and (max-width:1270px){#photos .photo{width:33.333333%}}@media screen and (max-width:800px){#photos .photo{width:50%}}@media screen and (max-width:600px){#photos .photo{width:100%;margin:0 0 2%}}#photos .photo:focus a.upload img{opacity:.6}#photos .photo:focus .fade{opacity:1;visibility:visible}#photos .photo:focus .fade.user{opacity:.7}#photos .photo:focus-within .user-controls{opacity:1}#photos .photo a.upload{display:block;position:relative;background-color:#222;background-position:50%;background-repeat:no-repeat;background-image:url(../img/ajax-loader.gif);overflow:hidden}#photos .photo a.upload.loaded{background-image:none}#photos .photo a.upload:active,#photos .photo a.upload:focus{outline:none;border:none}#photos .photo a.upload img{-webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;width:100%;height:auto!important;padding:0;vertical-align:top}#photos .photo a.upload .status{visibility:hidden;opacity:0;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;width:60px;height:60px;line-height:60px;-webkit-border-radius:4px;border-radius:4px;position:absolute;left:50%;top:50%;z-index:5;-webkit-transform:translate(-50%,-50%) scale(1.2);-ms-transform:translate(-50%,-50%) scale(1.2);transform:translate(-50%,-50%) scale(1.2);-webkit-box-shadow:0 2px 3px rgba(0,0,0,.25);box-shadow:0 2px 3px rgba(0,0,0,.25);background-position:50%;background-repeat:no-repeat}#photos .photo a.upload .status:before{font-family:FontAwesome;display:block;color:#fff;font-size:24px;opacity:.8}#photos .photo a.upload .status a{color:#fff}#photos .photo a.upload.errors .status,#photos .photo a.upload.success .status,#photos .photo a.upload.uploading .status{text-align:center;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}#photos .photo a.upload.uploading{cursor:default!important}#photos .photo a.upload.uploading .status{visibility:visible;opacity:1;background:hsla(0,0%,100%,.95) url(../img/ajax-loader-lg.gif) no-repeat 50%;-webkit-background-size:24px 24px;background-size:24px 24px}#photos .photo a.upload.uploading .status:before{display:none}#photos .photo a.upload.success{cursor:default!important}#photos .photo a.upload.success .status{visibility:visible;opacity:1;background-color:#65c774}#photos .photo a.upload.success .status:before{content:"\F00C";color:#fff}#photos .photo a.upload.success img{-webkit-transform:scale(1)!important;-ms-transform:scale(1)!important;transform:scale(1)!important}#photos .photo a.upload.errors{cursor:help!important}#photos .photo a.upload.errors .status{visibility:visible;opacity:1;background-color:#df3333}#photos .photo a.upload.errors .status:before{content:"\F12A";color:#fff;opacity:.8}#photos .photo.uploaded a.upload img{opacity:.25!important}#photos .photo.uploaded .options,#photos .photo.uploaded .user-controls{opacity:0!important;visibility:hidden!important}#photos .photo.in-progress a.upload img,#photos .photo:hover a.upload img{opacity:.7;-webkit-transform:scale(1.075);-ms-transform:scale(1.075);transform:scale(1.075)}#photos .photo.in-progress .options,#photos .photo:hover .options{opacity:1;visibility:visible}#photos .photo.in-progress .options i.heart-like,#photos .photo:hover .options i.heart-like{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}#photos .photo.in-progress .user-controls,#photos .photo:hover .user-controls{opacity:1}#photos .photo.in-progress .notice-msg{top:0;opacity:1}#photos .photo.in-progress .options,#photos .photo.in-progress .user-controls{opacity:0!important}#photos .photo .options{position:absolute;top:5px;right:5px;z-index:6;display:inline-block;width:auto;cursor:default!important;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;opacity:0;visibility:hidden;font-size:13px}#photos .photo .options i{font-size:14px}#photos .photo .options i.heart-like{color:#de4624;-webkit-transition:all .25s ease .05s;-o-transition:all .25s ease .05s;transition:all .25s ease .05s;-webkit-transform:scale(.55);-ms-transform:scale(.55);transform:scale(.55);margin-right:2px;position:relative;top:0;font-size:14px;opacity:.9}#photos .photo .options a,#photos .photo .options span{display:inline-block;vertical-align:top;line-height:30px;padding:0 10px;padding-top:1px;background:hsla(0,0%,100%,.5);margin:0;-webkit-border-radius:2px;border-radius:2px;color:#23282d;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}#photos .photo .options span{cursor:default}#photos .photo .options span:focus,#photos .photo .options span:hover{background-color:#fff}#photos .photo .options a{margin-left:2px}#photos .photo .options a:focus,#photos .photo .options a:hover{background-color:#fff}#photos .photo .options a i{position:relative;top:1px;left:1px}#photos .photo .user-controls{position:absolute;z-index:6;bottom:0;left:0;width:100%;background:rgba(0,0,0,.4);padding:0;opacity:.35;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}#photos .photo .photo-options{float:right;text-align:right;max-width:50%}#photos .photo .fade{-webkit-transition:all .35s ease;-o-transition:all .35s ease;transition:all .35s ease;color:#fff;background:hsla(0,0%,100%,.75);background:transparent;-webkit-border-radius:2px;border-radius:2px;height:34px;line-height:34px;font-size:17px;z-index:6;float:left;margin:1px 1px 1px 0;padding:0;color:hsla(0,0%,100%,.75);border:none!important;outline:none;cursor:pointer}#photos .photo .fade.edit-photo,#photos .photo .fade.edit-photo-admin,#photos .photo .fade.insert,#photos .photo .fade.set-featured{display:inline-block;width:34px;text-align:center;position:relative}#photos .photo .fade.edit-photo-admin i,#photos .photo .fade.edit-photo i,#photos .photo .fade.insert i,#photos .photo .fade.set-featured i{line-height:27px;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}#photos .photo .fade.edit-photo-admin:focus,#photos .photo .fade.edit-photo-admin:hover,#photos .photo .fade.edit-photo:focus,#photos .photo .fade.edit-photo:hover,#photos .photo .fade.insert:focus,#photos .photo .fade.insert:hover,#photos .photo .fade.set-featured:focus,#photos .photo .fade.set-featured:hover{color:#222;background:hsla(0,0%,100%,.95)}#photos .photo .fade.edit-photo-admin{display:none}#photos .photo .fade.user{background:none;font-size:13px;max-width:48%;cursor:pointer;text-decoration:none;border:none;line-height:35px;height:36px;margin:0}#photos .photo .fade.user:focus,#photos .photo .fade.user:hover{text-decoration:underline}#photos .photo .fade.user .user-wrap{position:relative;padding-left:35px;display:block;width:100%;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}#photos .photo .fade.user .user-wrap:before{content:"";display:block;z-index:0;background-color:#fff;height:20px;opacity:.25}#photos .photo .fade.user .user-wrap:before,#photos .photo .fade.user img.user-wrap--photo{width:20px;max-width:20px;-webkit-border-radius:100%;border-radius:100%;position:absolute;left:8px;top:8px}#photos .photo .fade.user img.user-wrap--photo{z-index:1}#photos .photo .notice-msg{position:absolute;z-index:999;top:-40px;left:0;height:40px;line-height:40px;width:100%;background:rgba(0,0,0,.6);text-align:center;color:hsla(0,0%,100%,.9);font-size:12px;margin:0;padding:0;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;opacity:0;z-index:9999}#photos .photo .notice-msg.has-error{top:-40px;opacity:0}#photos .edit-screen{position:absolute;left:0;top:0;width:100%;height:100%;z-index:999;background:hsla(0,0%,100%,.9);opacity:0;visibility:hidden;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;padding:5px;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid #e1e1e1;-webkit-transform:scale(1.025);-ms-transform:scale(1.025);transform:scale(1.025)}#photos .edit-screen.editing{visibility:visible;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}#photos .edit-screen--controls,#photos .edit-screen--title{display:block;background:#f7f7f7;border:1px solid #e1e1e1;padding:15px 10px;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0}#photos .edit-screen--controls .button-primary,#photos .edit-screen--title .button-primary{float:right}#photos .edit-screen--controls{-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}#photos .edit-screen--title{border-bottom:none;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;width:100%;padding:10px;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}#photos .edit-screen--title>div{padding:5px 15px 5px 5px;-webkit-box-flex:1;-ms-flex:1;flex:1}#photos .edit-screen--title>div.preview{width:30%;padding:0;-webkit-background-size:cover;background-size:cover;background-position:50%;background-repeat:no-repeat;-webkit-border-radius:2px;border-radius:2px;-webkit-box-flex:0;-ms-flex:none;flex:none}#photos .edit-screen--title p{font-size:12px;line-height:1.45;margin:0;color:#999}#photos .edit-screen--title p.heading{color:#222;margin:0 0 3px;font-weight:600;text-transform:uppercase}#photos .edit-screen .add-attribution-row,#photos .edit-screen label{margin:0;padding:15px;display:block;background:#fff;border:1px solid #e1e1e1;border-bottom:none;position:relative}#photos .edit-screen .add-attribution-row{padding-top:0;margin-top:-15px;border-top:none}#photos .edit-screen .add-attribution-row button{cursor:pointer;font-size:11px;outline:none;padding:5px 0;border:none;background:none;text-decoration:underline}#photos .edit-screen .add-attribution-row button:focus,#photos .edit-screen .add-attribution-row button:hover{text-decoration:none}#photos .edit-screen span{display:block;font-size:11px;text-transform:uppercase;font-weight:600;margin:0 0 5px;color:#222;line-height:1}#photos .edit-screen textarea{resize:none;font-size:12px;line-height:1.35}#photos .edit-screen input{font-size:12px;padding:0 10px;margin:0;height:35px;line-height:35px}#photos .edit-screen em{position:absolute;bottom:15px;right:15px;height:35px;line-height:35px;background:#858585;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;color:#e1e1e1;font-style:normal;font-size:11px;padding:0 10px}.instant-images-settings{display:none;background-color:#efefef;border-top:1px solid #e1e1e1;border-bottom:1px solid #e1e1e1}.instant-images-settings .cnkt-sidebar{padding:20px 25px;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;line-height:1.45}.instant-images-settings .cnkt-sidebar p{font-size:13px}.instant-images-settings .cnkt-sidebar .cta{width:100%;background:#fff;padding:0;position:relative;border:1px solid #e1e1e1;-webkit-border-radius:3px;border-radius:3px;overflow:hidden}@media screen and (min-width:800px){.instant-images-settings .cnkt-sidebar .cta{width:calc(65% - 10px)}}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;padding-bottom:52px}@media screen and (min-width:800px){.instant-images-settings .cnkt-sidebar .cta.ii-whats-new{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;margin:0;padding:15px}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul li{line-height:1.45;width:100%;background-color:transparent;padding:5px;margin:0;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}@media screen and (min-width:1024px){.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul li{width:50%}}@media screen and (min-width:1270px){.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul li{width:33.333%}}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul li p{font-size:13px;position:relative;z-index:1;margin:0;padding:15px;border:1px solid #e1e1e1}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul li p strong{font-size:14px;display:block;font-weight:700;margin:0 0 5px;color:#333}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new ul li code{font-size:12px;margin:0;padding:3px;background:#f7f7f7;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 0 1px #efefef;box-shadow:0 0 0 1px #efefef}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new .with-love{position:absolute;left:0;bottom:0;width:100%;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;background-color:#f7f7f7;border-top:1px solid #e1e1e1;text-align:center;margin:0;padding:15px}.instant-images-settings .cnkt-sidebar .cta.ii-whats-new .with-love p{margin:0}.instant-images-settings .cnkt-sidebar .cta.ii-settings{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}@media screen and (min-width:800px){.instant-images-settings .cnkt-sidebar .cta.ii-settings{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;width:35%}}.instant-images-settings .cnkt-sidebar .cta.ii-settings input[type=number],.instant-images-settings .cnkt-sidebar .cta.ii-settings input[type=text],.instant-images-settings .cnkt-sidebar .cta.ii-settings select{background-color:#fff;width:100%;padding:5px 10px;border-color:#ccc;max-width:none}.instant-images-settings .cnkt-sidebar .cta.ii-settings input[type=number][readonly],.instant-images-settings .cnkt-sidebar .cta.ii-settings input[type=text][readonly],.instant-images-settings .cnkt-sidebar .cta.ii-settings select[readonly]{background-color:#f7f7f7;cursor:not-allowed;opacity:.65;border-color:#ccc!important;-webkit-box-shadow:none!important;box-shadow:none!important}.instant-images-settings .cnkt-sidebar .cta.ii-settings input[type=number],.instant-images-settings .cnkt-sidebar .cta.ii-settings input[type=text]{padding:10px}.instant-images-settings .cnkt-sidebar .cta.ii-settings span.desc{font-size:11px;display:block;padding:8px 2px 5px}.instant-images-settings .cnkt-sidebar .cta.ii-plugins{width:100%;margin-top:10px;-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.instant-images-settings .cnkt-sidebar .cta.ii-plugins .cnkt-plugin-installer{width:100%;position:static;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:20px 20px 0}.instant-images-settings .cnkt-sidebar .cta.ii-plugins .cnkt-plugin-installer .plugin{width:100%;margin:0 0 20px;line-height:1.45}@media screen and (min-width:800px){.instant-images-settings .cnkt-sidebar .cta.ii-plugins .cnkt-plugin-installer .plugin{width:calc(50% - 10px)}}.instant-images-settings .cnkt-sidebar .cta.ii-plugins .cnkt-plugin-installer .plugin h2{margin-bottom:5px}.instant-images-settings .cnkt-sidebar .cta.ii-plugins .cnkt-plugin-installer:after{display:none}.instant-images-settings .cnkt-sidebar h2{border:none;padding:20px 20px 0;font-size:18px;font-weight:700}.instant-images-settings .cnkt-sidebar h2+p{padding:0 20px 16px;margin:0!important;border-bottom:1px solid #e1e1e1}.instant-images-settings .cnkt-sidebar h2,.instant-images-settings .cnkt-sidebar h2+p{background:#f7f7f7;margin:0}.instant-images-settings .cnkt-sidebar .cnkt-sidebar h3,.instant-images-settings .cnkt-sidebar .cnkt-sidebar h4{margin-top:0}.instant-images-settings .cnkt-sidebar .cta-wrap{display:block;padding:20px}.instant-images-settings .cnkt-sidebar .cta-wrap h4{padding:10px 0 7px;margin:0}.instant-images-settings .cnkt-sidebar .cta-wrap h4 span{display:inline-block;line-height:1;padding:8px 10px;-webkit-border-radius:2px;border-radius:2px;background:#ffc;color:#666}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin{width:48%;margin:2% 1% 0}@media screen and (max-width:1170px){.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin{width:100%;margin:2% 0 0}}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2{border:none;padding:0;font-size:16px}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2+p{padding:0;margin:0!important;border-bottom:none}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2,.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2+p{background:none;margin:0}.instant-images-settings table{margin-top:5px}.instant-img-container[data-media-popup=true]{background:#fff}.instant-img-container[data-media-popup=true] .header-wrap{display:none}.instant-img-container[data-media-popup=true] .instant-images-wrapper{padding:0 16px}body.loading .instant-img-container .loading-block{display:block}.instant-images-sidebar-icon,.instant-images-sidebar-icon svg{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.instant-images-sidebar-icon svg{height:20px;width:20px}.instant-images-sidebar-icon svg,.instant-images-sidebar-icon svg *{stroke:#586ec6!important;fill:#586ec6!important}button[aria-expanded=true] .instant-images-sidebar-icon svg,button[aria-expanded=true] .instant-images-sidebar-icon svg *{stroke:#abf!important;fill:#abf!important}.components-panel .instant-img-container .load-more-wrap{display:block}.components-panel .no-results{padding:40px}.components-panel .no-results h3{font-size:18px}.components-panel .no-results p{font-size:13px}.components-panel .search-results-text{font-size:12px;border-top:1px solid #ddd;border-color:#ddd}.components-panel .search-results-text .search-results-clear{display:none}.components-panel #photos{width:100%;margin:0;padding:5px 10px;overflow:hidden}.components-panel #photos .photo{width:100%;display:block;opacity:1!important;margin:0 0 10px;padding:0}.components-panel .provider-nav{width:100%;padding:10px 5px;margin:0;border-bottom-color:#ddd}.components-panel .provider-nav button{font-size:13px;padding-left:36px}.components-panel .control-nav{padding:0 5px 5px;border-bottom:1px solid #ddd;margin:0 0 10px;display:block}.components-panel .control-nav .control-nav--spacer{display:none}.components-panel .control-nav--filters-wrap{-webkit-box-flex:0;-ms-flex:none;flex:none;width:100%;display:block}.components-panel .control-nav--filters{-webkit-column-gap:6px;-moz-column-gap:6px;column-gap:6px;padding:10px 0}.components-panel .control-nav--filters .filter-dropdown{width:calc(50% - 3px);display:none}.components-panel .control-nav--filters .filter-dropdown button{padding:5px;font-size:13px}.components-panel .control-nav--filters .filter-dropdown button.filter-dropdown--button{display:block}.components-panel .control-nav--filters .filter-dropdown button i{margin-left:auto;padding-right:5px}.components-panel .control-nav--filters .filter-dropdown--menu{width:106%;left:-3%;padding:8px}.components-panel .control-nav--filters .filter-dropdown--menu button{gap:8px}.components-panel .control-nav--filters .filter-dropdown:first-child,.components-panel .control-nav--filters .filter-dropdown:nth-child(2){display:block}.components-panel .control-nav--filters .filter-dropdown .filter-dropdown--button-label{display:block;font-size:10px;text-transform:uppercase;margin:0 0 2px}.components-panel .control-nav--filters .filter-dropdown .filter-dropdown--button-selected{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;font-size:14px}.components-panel .control-nav--search{float:none;width:100%;padding:0 0 10px;clear:both}.components-panel .control-nav--search form{height:auto}.components-panel .control-nav--search:before,.components-panel .control-nav--search button[type=submit]{display:none}.components-panel .control-nav--search input{line-height:40px;height:40px;padding-right:10px;padding-left:10px;border-color:#e2e4e7;font-size:13px;-webkit-border-radius:3px!important;border-radius:3px!important;background-position:8px}.components-panel .control-nav--search input.searching{padding-left:30px}.components-panel .control-nav--search input:focus{-webkit-box-shadow:none;box-shadow:none}.components-panel .control-nav--search input[type=search]::-webkit-input-placeholder{font-size:13px}.components-panel .control-nav--search input[type=search]:-moz-placeholder,.components-panel .control-nav--search input[type=search]::-moz-placeholder{font-size:13px}.components-panel .control-nav--search input[type=search]:-ms-input-placeholder{font-size:13px}.components-panel .control-nav--search .searchResults{right:2px;left:auto;top:2px;-webkit-border-radius:2px;border-radius:2px;font-size:12px;height:36px;line-height:35px}.components-panel .control-nav--search .searchResults:after,.components-panel .control-nav--search .searchResults:before{display:none}.components-panel .orientation-list{position:static;border-top:none;background:#f7f7f7;padding:5px 5px 5px 0;margin-bottom:5px;border-bottom-color:#ddd}.components-panel .orientation-list span{display:none}.components-panel .orientation-list ul{padding:0;width:100%}.instant-img-container #tooltip{display:inline-block;padding:8px 10px;background:#fff;position:fixed;left:auto;top:auto;z-index:999;display:block;opacity:0;visibility:hidden;margin-top:-37px;font-size:12px;color:#999;text-align:center;line-height:1;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.1);box-shadow:0 2px 3px rgba(0,0,0,.1);-webkit-transition:opacity .15s ease;-o-transition:opacity .15s ease;transition:opacity .15s ease}.instant-img-container #tooltip:after{top:100%;right:17px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:hsla(0,0%,100%,0);border-top-color:#fff;border-width:5px;margin-left:-5px}.instant-img-container #tooltip.over{opacity:.9;visibility:visible}.instant-img-container #tooltip.above{margin-top:37px}.instant-img-container #tooltip.above:after{top:-5px;border-top:none;border-bottom-color:#fff}.no-results{display:block;padding:100px;text-align:center;position:relative}.no-results:before{content:"\F002";font-family:FontAwesome;display:block;position:absolute;z-index:0;top:50%;left:50%;font-size:85px;opacity:.1;-webkit-transform:translateY(-50%) translateX(-50%);-ms-transform:translateY(-50%) translateX(-50%);transform:translateY(-50%) translateX(-50%)}.no-results>div{position:relative;z-index:10}.no-results h3{font-size:24px;line-height:1.2;margin:0 0 10px!important;font-weight:700}.no-results p{font-size:16px;margin:0}@media screen and (max-width:800px){.no-results{padding:50px}}.media-frame-router button#menu-item-instantimages.active{background-color:#f7f7f7}.media-frame-content .instant-img-container .load-more-wrap{display:block}.provider-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;width:calc(100% + 50px);margin-left:-25px;padding:10px 25px;border-bottom:1px solid #efefef;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.045);box-shadow:0 2px 5px rgba(0,0,0,.045);background-color:#f7f7f7;position:relative;overflow-x:auto}.provider-nav>div{position:relative;margin:0 5px}.provider-nav>div:first-of-type,.provider-nav>div:last-of-type{margin-left:0}.provider-nav--btn{padding:0 10px 0 36px;margin:0;height:38px;line-height:38px;border:1px solid transparent;background:transparent;cursor:pointer;position:relative;-webkit-border-radius:3px;border-radius:3px;font-size:14px;color:#999;-webkit-transition:all .2s ease;-o-transition:all .2s ease;transition:all .2s ease;background-color:#f7f7f7}.provider-nav--btn:focus,.provider-nav--btn:hover{color:#333}.provider-nav--btn.active{background-color:#fff;border-color:#ccc;color:#333;cursor:default;-webkit-box-shadow:0 0 6px rgba(0,0,0,.075);box-shadow:0 0 6px rgba(0,0,0,.075)}.provider-nav--new{color:#333;background-color:#ffe732;font-size:9px;text-transform:uppercase;display:inline;padding:3px 4px;-webkit-border-radius:3px;border-radius:3px;margin-left:5px;position:relative;top:-1px;letter-spacing:-.05rem}[data-provider=unsplash]{background:url(../img/unsplash.svg) no-repeat 10px;-webkit-background-size:18px 18px;background-size:18px 18px}[data-provider=pixabay]{background:url(../img/pixabay.png) no-repeat 10px;-webkit-background-size:20px 20px;background-size:20px 20px}[data-provider=pexels]{background:url(../img/pexels.svg) no-repeat 10px;-webkit-background-size:20px 20px;background-size:20px 20px}.media-frame-content .instant-img-container .api-lightbox{position:fixed}.components-panel .instant-img-container .api-lightbox{height:100%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.instant-img-container .api-lightbox{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;z-index:99999;left:0;top:0;right:0;bottom:0;height:100vh;padding:5%;background-color:rgba(0,0,0,.75);font-size:13px}.instant-img-container .api-lightbox.active>div{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.instant-img-container .api-lightbox>div{max-width:450px;width:100%;padding:0;background-color:#fff;border:1px solid #e1e1e1;-webkit-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 1px 5px rgba(0,0,0,.25);box-shadow:0 1px 5px rgba(0,0,0,.25);position:relative;-webkit-transform:scale(.95);-ms-transform:scale(.95);transform:scale(.95);opacity:0;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.instant-img-container .api-lightbox>div>div{position:relative}.instant-img-container .api-lightbox--details{border-bottom:1px solid #e1e1e1;padding:25px;padding-bottom:20px;position:relative}.instant-img-container .api-lightbox--details:after,.instant-img-container .api-lightbox--details:before{top:100%;left:50px;border:solid transparent;content:"";height:0;width:0;position:absolute;pointer-events:none}.instant-img-container .api-lightbox--details:after{border-color:hsla(0,0%,100%,0);border-top-color:#fff;border-width:10px;margin-left:-10px}.instant-img-container .api-lightbox--details:before{border-color:rgba(194,225,245,0);border-top-color:#e1e1e1;border-width:11px;margin-left:-11px}.instant-img-container .api-lightbox--details h3{font-size:16px;line-height:18px;padding:0 0 0 25px;text-transform:uppercase;margin:0 0 10px;background-position:0}.instant-img-container .api-lightbox--details p{font-size:13px;margin:0 0 5px}.instant-img-container .api-lightbox--details p a{font-weight:500}.instant-img-container .api-lightbox--close{position:absolute;z-index:1;right:0;top:0;border:none;background-color:transparent;width:40px;height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:25px;cursor:pointer;opacity:.5}.instant-img-container .api-lightbox--close:focus,.instant-img-container .api-lightbox--close:hover{opacity:1}.instant-img-container .api-lightbox form{display:block;background-color:#f7f7f7;padding:25px}.instant-img-container .api-lightbox button[type=submit],.instant-img-container .api-lightbox label{font-size:12px;text-transform:uppercase;font-weight:600;display:block;padding:0;margin:0 0 5px;cursor:pointer}.instant-img-container .api-lightbox--input-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;padding:0;margin-bottom:10px;background-color:#fff;border:1px solid #e1e1e1;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:all .2s ease;-o-transition:all .2s ease;transition:all .2s ease}.instant-img-container .api-lightbox--input-wrap:focus-within{border-color:#999;-webkit-box-shadow:0 0 1px 4px rgba(0,0,0,.065);box-shadow:0 0 1px 4px rgba(0,0,0,.065)}.instant-img-container .api-lightbox--input-wrap span{width:40px;height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;border-right:1px solid #e1e1e1;background-color:#f7f7f7}.instant-img-container .api-lightbox--input-wrap span i{font-size:16px}.instant-img-container .api-lightbox--input-wrap span.invalid{cursor:help}.instant-img-container .api-lightbox--input-wrap span.invalid i{color:#d4aa4d}.instant-img-container .api-lightbox--input-wrap span.valid i{color:#65c774}.instant-img-container .api-lightbox--input-wrap span.loading i{color:#333}.instant-img-container .api-lightbox--input-wrap input{line-height:40px;height:40px;padding:0 10px;background-color:transparent;border:none;-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:12px}.instant-img-container .api-lightbox--input-wrap input::-webkit-input-placeholder{color:#999;font-weight:400;font-style:italic}.instant-img-container .api-lightbox--input-wrap input:-moz-placeholder,.instant-img-container .api-lightbox--input-wrap input::-moz-placeholder{color:#999;font-weight:400;font-style:italic}.instant-img-container .api-lightbox--input-wrap input:-ms-input-placeholder{color:#999;font-weight:400;font-style:italic}.instant-img-container .api-lightbox--input-wrap input:focus{background:transparent;outline:none;border:none;-webkit-box-shadow:none;box-shadow:none}.instant-img-container .api-lightbox button[type=submit]{width:100%;border:none;background-color:#586ec6;color:#fff;-webkit-border-radius:3px;border-radius:3px;padding:0 10px;line-height:46px;height:46px;margin:0}.instant-img-container .api-lightbox button[type=submit]:focus,.instant-img-container .api-lightbox button[type=submit]:hover{background-color:#455cb6}.instant-img-container .api-lightbox--response{color:#df3333;margin:0;font-size:13px;font-weight:500;padding:0 2px 12px}.instant-img-container .api-lightbox--response.valid{color:#51a75e}.filter-dropdown{position:relative}.filter-dropdown button{background-color:transparent;border:none;text-align:left;color:#999}.filter-dropdown button:not(disabled){cursor:pointer}.filter-dropdown--button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:5px;padding:10px 2px 10px 0;text-transform:capitalize;color:#999;width:100%;font-size:14px}@media screen and (min-width:1500px){.filter-dropdown--button{font-size:15px}}.filter-dropdown--button span.filter-dropdown--button-label{padding-right:3px}.filter-dropdown--button span.filter-dropdown--button-selected{color:#333;font-weight:500}.filter-dropdown--button i{opacity:.4;margin-left:10px;font-size:14px}.filter-dropdown--button:focus i,.filter-dropdown--button:hover i{opacity:1}.filter-dropdown--menu{display:block;visibility:hidden;opacity:0;-webkit-transform:scale(.9);-ms-transform:scale(.9);transform:scale(.9);-webkit-transition:opacity .15s ease-in-out,visibility .15s ease-in-out,-webkit-transform .25s cubic-bezier(.24,.22,.015,1.56);transition:opacity .15s ease-in-out,visibility .15s ease-in-out,-webkit-transform .25s cubic-bezier(.24,.22,.015,1.56);-o-transition:transform .25s cubic-bezier(.24,.22,.015,1.56),opacity .15s ease-in-out,visibility .15s ease-in-out;transition:transform .25s cubic-bezier(.24,.22,.015,1.56),opacity .15s ease-in-out,visibility .15s ease-in-out;transition:transform .25s cubic-bezier(.24,.22,.015,1.56),opacity .15s ease-in-out,visibility .15s ease-in-out,-webkit-transform .25s cubic-bezier(.24,.22,.015,1.56);padding:10px;background-color:#fff;border:1px solid #e1e1e1;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 8px 16px rgba(48,63,122,.175);box-shadow:0 8px 16px rgba(48,63,122,.175);z-index:9999;position:absolute;top:110%;left:-12px;width:200px;max-height:350px;overflow-y:auto}.filter-dropdown--menu.expanded{visibility:visible;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);top:100%}.filter-dropdown--menu button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;width:100%;text-transform:capitalize;padding:8px 5px;-webkit-transition:all .25 ease;-o-transition:all .25 ease;transition:all .25 ease;font-size:14px}.filter-dropdown--menu button:before{font-family:FontAwesome;content:"\F00C";display:block;color:#ccc;opacity:.4;font-size:10px}.filter-dropdown--menu button:focus,.filter-dropdown--menu button:hover{color:#333}.filter-dropdown--menu button:focus:before,.filter-dropdown--menu button:hover:before{opacity:.75}.filter-dropdown--menu button.selected{color:#333}.filter-dropdown--menu button.selected:before{color:#333;opacity:.75}.filter-dropdown--menu[data-key=color] button ._color,.filter-dropdown--menu[data-key=colors] button ._color{margin-left:auto;width:14px;height:14px;-webkit-border-radius:50%;border-radius:50%;background-color:currentColor;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.075);box-shadow:0 0 0 1px rgba(0,0,0,.075)}.search-results-header h2{font-size:34px;line-height:1;padding:0;margin:0 0 5px;text-transform:capitalize;font-weight:700}@media screen and (max-width:800px){.search-results-header h2{font-size:25px}}.search-results-header--text{font-size:14px;margin:0 0 15px;color:#999}.search-results-header--text strong{color:#333;font-weight:600}.search-results-header--text button{border:none;background-color:transparent;font-size:13px;cursor:pointer;color:#586ec6;font-weight:400;padding:2px 0 0;margin:0}.search-results-header--text button:focus,.search-results-header--text button:hover{text-decoration:underline;color:#455cb6}.search-results-header .control-nav--filters-wrap{margin:0 0 15px}
dist/img/pexels.svg ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="32px" height="32px" viewBox="0 0 32 32">
2
+ <path d="M2 0h28a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2z" fill="#05A081"></path>
3
+ <path d="M13 21h3.863v-3.752h1.167a3.124 3.124 0 1 0 0-6.248H13v10zm5.863 2H11V9h7.03a5.124 5.124 0 0 1 .833 10.18V23z" fill="#fff"></path>
4
+ </svg>
dist/js/instant-images-block.js CHANGED
@@ -2182,10 +2182,10 @@ module.exports = {
2182
  /*!*****************************************!*\
2183
  !*** ./node_modules/axios/package.json ***!
2184
  \*****************************************/
2185
- /*! exports provided: _from, _id, _inBundle, _integrity, _location, _phantomChildren, _requested, _requiredBy, _resolved, _shasum, _spec, _where, author, browser, bugs, bundleDependencies, bundlesize, dependencies, deprecated, description, devDependencies, homepage, jsdelivr, keywords, license, main, name, repository, scripts, typings, unpkg, version, default */
2186
  /***/ (function(module) {
2187
 
2188
- module.exports = JSON.parse("{\"_from\":\"axios@^0.21.2\",\"_id\":\"axios@0.21.4\",\"_inBundle\":false,\"_integrity\":\"sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==\",\"_location\":\"/axios\",\"_phantomChildren\":{},\"_requested\":{\"type\":\"range\",\"registry\":true,\"raw\":\"axios@^0.21.2\",\"name\":\"axios\",\"escapedName\":\"axios\",\"rawSpec\":\"^0.21.2\",\"saveSpec\":null,\"fetchSpec\":\"^0.21.2\"},\"_requiredBy\":[\"/\"],\"_resolved\":\"https://registry.npmjs.org/axios/-/axios-0.21.4.tgz\",\"_shasum\":\"c67b90dc0568e5c1cf2b0b858c43ba28e2eda575\",\"_spec\":\"axios@^0.21.2\",\"_where\":\"/Users/darrencooney/Local Sites/instant-images/app/public/wp-content/plugins/instant-images\",\"author\":{\"name\":\"Matt Zabriskie\"},\"browser\":{\"./lib/adapters/http.js\":\"./lib/adapters/xhr.js\"},\"bugs\":{\"url\":\"https://github.com/axios/axios/issues\"},\"bundleDependencies\":false,\"bundlesize\":[{\"path\":\"./dist/axios.min.js\",\"threshold\":\"5kB\"}],\"dependencies\":{\"follow-redirects\":\"^1.14.0\"},\"deprecated\":false,\"description\":\"Promise based HTTP client for the browser and node.js\",\"devDependencies\":{\"coveralls\":\"^3.0.0\",\"es6-promise\":\"^4.2.4\",\"grunt\":\"^1.3.0\",\"grunt-banner\":\"^0.6.0\",\"grunt-cli\":\"^1.2.0\",\"grunt-contrib-clean\":\"^1.1.0\",\"grunt-contrib-watch\":\"^1.0.0\",\"grunt-eslint\":\"^23.0.0\",\"grunt-karma\":\"^4.0.0\",\"grunt-mocha-test\":\"^0.13.3\",\"grunt-ts\":\"^6.0.0-beta.19\",\"grunt-webpack\":\"^4.0.2\",\"istanbul-instrumenter-loader\":\"^1.0.0\",\"jasmine-core\":\"^2.4.1\",\"karma\":\"^6.3.2\",\"karma-chrome-launcher\":\"^3.1.0\",\"karma-firefox-launcher\":\"^2.1.0\",\"karma-jasmine\":\"^1.1.1\",\"karma-jasmine-ajax\":\"^0.1.13\",\"karma-safari-launcher\":\"^1.0.0\",\"karma-sauce-launcher\":\"^4.3.6\",\"karma-sinon\":\"^1.0.5\",\"karma-sourcemap-loader\":\"^0.3.8\",\"karma-webpack\":\"^4.0.2\",\"load-grunt-tasks\":\"^3.5.2\",\"minimist\":\"^1.2.0\",\"mocha\":\"^8.2.1\",\"sinon\":\"^4.5.0\",\"terser-webpack-plugin\":\"^4.2.3\",\"typescript\":\"^4.0.5\",\"url-search-params\":\"^0.10.0\",\"webpack\":\"^4.44.2\",\"webpack-dev-server\":\"^3.11.0\"},\"homepage\":\"https://axios-http.com\",\"jsdelivr\":\"dist/axios.min.js\",\"keywords\":[\"xhr\",\"http\",\"ajax\",\"promise\",\"node\"],\"license\":\"MIT\",\"main\":\"index.js\",\"name\":\"axios\",\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/axios/axios.git\"},\"scripts\":{\"build\":\"NODE_ENV=production grunt build\",\"coveralls\":\"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\"examples\":\"node ./examples/server.js\",\"fix\":\"eslint --fix lib/**/*.js\",\"postversion\":\"git push && git push --tags\",\"preversion\":\"npm test\",\"start\":\"node ./sandbox/server.js\",\"test\":\"grunt test\",\"version\":\"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\"},\"typings\":\"./index.d.ts\",\"unpkg\":\"dist/axios.min.js\",\"version\":\"0.21.4\"}");
2189
 
2190
  /***/ }),
2191
 
@@ -37715,6 +37715,10 @@ var _consoleStatus = __webpack_require__(/*! ../functions/consoleStatus */ "./sr
37715
 
37716
  var _consoleStatus2 = _interopRequireDefault(_consoleStatus);
37717
 
 
 
 
 
37718
  var _updatePluginSetting = __webpack_require__(/*! ../functions/updatePluginSetting */ "./src/js/functions/updatePluginSetting.js");
37719
 
37720
  var _updatePluginSetting2 = _interopRequireDefault(_updatePluginSetting);
@@ -37760,7 +37764,7 @@ var APILightbox = function (_React$Component) {
37760
  key: "handleSubmit",
37761
  value: function () {
37762
  var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(e) {
37763
- var self, key, response, ok, status, settingField;
37764
  return regeneratorRuntime.wrap(function _callee$(_context) {
37765
  while (1) {
37766
  switch (_context.prev = _context.next) {
@@ -37780,20 +37784,7 @@ var APILightbox = function (_React$Component) {
37780
  // Set localized variable.
37781
  instant_img_localize[this.provider + "_app_id"] = key;
37782
 
37783
- // Fetch API data.
37784
- _context.next = 8;
37785
- return fetch((0, _buildTestURL2.default)(this.provider));
37786
-
37787
- case 8:
37788
- response = _context.sent;
37789
-
37790
-
37791
- // Handle response.
37792
- ok = response.ok;
37793
- status = response.status;
37794
-
37795
  // Update the matching provider API key in the Instant Images settings.
37796
-
37797
  settingField = document.querySelector("input[name=\"instant_img_settings[" + this.provider + "_api]\"]");
37798
 
37799
  if (settingField) {
@@ -37803,10 +37794,25 @@ var APILightbox = function (_React$Component) {
37803
  // Update plugin settings via REST API.
37804
  (0, _updatePluginSetting2.default)(this.provider + "_api", key);
37805
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37806
  // Handle response actions.
 
37807
  if (ok) {
37808
  // Success.
37809
- this.setState({
37810
  status: "valid",
37811
  response: instant_img_localize.api_success_msg
37812
  });
@@ -37818,25 +37824,47 @@ var APILightbox = function (_React$Component) {
37818
  this.setState({ status: "invalid" });
37819
 
37820
  // Render console warning.
37821
- (0, _consoleStatus2.default)(this.provider, status);
37822
 
37823
  // Set response state.
37824
  if (status === 400 || status === 401) {
37825
  // Unsplash/Pixabay incorrect API key.
37826
- this.setState({ response: instant_img_localize.api_invalid_msg });
 
 
37827
  }
37828
  if (status === 429) {
37829
  // Pixabay - too many requests.
37830
- this.setState({ response: instant_img_localize.api_ratelimit_msg });
 
 
37831
  }
37832
  }
 
 
37833
 
37834
- case 15:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37835
  case "end":
37836
  return _context.stop();
37837
  }
37838
  }
37839
- }, _callee, this);
37840
  }));
37841
 
37842
  function handleSubmit(_x) {
@@ -38538,16 +38566,20 @@ var NoResults = function (_React$Component) {
38538
  "div",
38539
  { className: "no-results" },
38540
  _react2.default.createElement(
38541
- "h3",
38542
- null,
38543
- instant_img_localize.no_results,
38544
- " "
38545
- ),
38546
- _react2.default.createElement(
38547
- "p",
38548
  null,
38549
- instant_img_localize.no_results_desc,
38550
- " "
 
 
 
 
 
 
 
 
 
 
38551
  )
38552
  );
38553
  }
@@ -38588,6 +38620,10 @@ var _API = __webpack_require__(/*! ../constants/API.js */ "./src/js/constants/AP
38588
 
38589
  var _API2 = _interopRequireDefault(_API);
38590
 
 
 
 
 
38591
  var _generateAttribution = __webpack_require__(/*! ../functions/generateAttribution.js */ "./src/js/functions/generateAttribution.js.js");
38592
 
38593
  var _generateAttribution2 = _interopRequireDefault(_generateAttribution);
@@ -38596,6 +38632,10 @@ var _getProp = __webpack_require__(/*! ../functions/getProp */ "./src/js/functio
38596
 
38597
  var _getProp2 = _interopRequireDefault(_getProp);
38598
 
 
 
 
 
38599
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
38600
 
38601
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -38625,7 +38665,7 @@ var Photo = function (_React$Component) {
38625
  _this.img_title = instant_img_localize.photo_by + " " + _this.author;
38626
  _this.filename = result.id;
38627
  _this.title = _this.img_title;
38628
- _this.alt = result.alt_description ? result.alt_description : null;
38629
  _this.alt = _this.alt === null ? "" : _this.alt;
38630
  _this.caption = "";
38631
 
@@ -38719,6 +38759,7 @@ var Photo = function (_React$Component) {
38719
 
38720
  // Data Params
38721
  var data = {
 
38722
  id: target.getAttribute("data-id"),
38723
  image_url: target.getAttribute("data-url"),
38724
  filename: target.getAttribute("data-id") + ".jpg",
@@ -38755,9 +38796,9 @@ var Photo = function (_React$Component) {
38755
  // Success/Upload Complete
38756
  self.uploadComplete(target, photo, msg, edit_url, attachment.id);
38757
 
38758
- // Trigger Download Counter at Unsplash.
38759
  if (self.provider === "unsplash") {
38760
- self.triggerUnsplashDownload(id);
38761
  }
38762
 
38763
  // Set Featured Image [Gutenberg Sidebar]
@@ -38793,27 +38834,6 @@ var Photo = function (_React$Component) {
38793
  });
38794
  }
38795
 
38796
- /**
38797
- * Function to trigger download action at unsplash.com
38798
- * This is used to give authors download credits and nothing more
38799
- *
38800
- * @param {string} id The ID of the image
38801
- * @since 3.1
38802
- */
38803
-
38804
- }, {
38805
- key: "triggerUnsplashDownload",
38806
- value: function triggerUnsplashDownload(id) {
38807
- var url = this.api_provider.photo_api + "/" + id + "/download/" + this.api_provider.api_query_var + this.api_key;
38808
- fetch(url).then(function (data) {
38809
- return data.json();
38810
- }).then(function (data) {
38811
- // Success, nothing else happens here
38812
- }).catch(function (error) {
38813
- console.log(error);
38814
- });
38815
- }
38816
-
38817
  /**
38818
  * Function used to trigger a download and then set as featured image
38819
  *
@@ -38879,11 +38899,11 @@ var Photo = function (_React$Component) {
38879
  target.classList.add("success");
38880
  this.inProgress = false;
38881
 
38882
- // Remove uploaded and success states after 7.5 seconds.
38883
  setTimeout(function () {
38884
  photo.classList.remove("uploaded");
38885
  target.classList.remove("success");
38886
- }, 7500);
38887
 
38888
  // Gutenberg Sidebar
38889
  if (this.is_block_editor) {
@@ -39202,7 +39222,10 @@ var Photo = function (_React$Component) {
39202
  _react2.default.createElement(
39203
  "div",
39204
  { className: "user-wrap" },
39205
- this.user_photo && this.user_photo.length > 0 && _react2.default.createElement("img", { src: this.user_photo }),
 
 
 
39206
  this.provider === "unsplash" ? this.user : this.name
39207
  )
39208
  ),
@@ -39306,7 +39329,7 @@ var Photo = function (_React$Component) {
39306
  _react2.default.createElement(
39307
  "div",
39308
  { className: "options" },
39309
- _react2.default.createElement(
39310
  "span",
39311
  {
39312
  className: "likes tooltip--above",
@@ -39324,13 +39347,13 @@ var Photo = function (_React$Component) {
39324
  }),
39325
  " ",
39326
  this.likes
39327
- ),
39328
  _react2.default.createElement(
39329
  "a",
39330
  {
39331
  className: "tooltip--above",
39332
  href: this.link,
39333
- "data-title": this.provider === "unsplash" ? instant_img_localize.view_on_unsplash : instant_img_localize.view_on_pixabay,
39334
  onMouseEnter: function onMouseEnter(e) {
39335
  return _this2.showTooltip(e);
39336
  },
@@ -39346,7 +39369,7 @@ var Photo = function (_React$Component) {
39346
  _react2.default.createElement(
39347
  "span",
39348
  { className: "offscreen" },
39349
- this.provider === "unsplash" ? instant_img_localize.view_on_unsplash : instant_img_localize.view_on_pixabay
39350
  )
39351
  )
39352
  )
@@ -39531,6 +39554,8 @@ Object.defineProperty(exports, "__esModule", {
39531
 
39532
  var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
39533
 
 
 
39534
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
39535
 
39536
  var _masonryLayout = __webpack_require__(/*! masonry-layout */ "./node_modules/masonry-layout/masonry.js");
@@ -39553,13 +39578,17 @@ var _buildTestURL = __webpack_require__(/*! ../functions/buildTestURL */ "./src/
39553
 
39554
  var _buildTestURL2 = _interopRequireDefault(_buildTestURL);
39555
 
39556
- var _contentSafety = __webpack_require__(/*! ../functions/contentSafety */ "./src/js/functions/contentSafety.js");
 
 
 
 
39557
 
39558
- var _contentSafety2 = _interopRequireDefault(_contentSafety);
39559
 
39560
- var _createQS = __webpack_require__(/*! ../functions/createQS */ "./src/js/functions/createQS.js");
39561
 
39562
- var _createQS2 = _interopRequireDefault(_createQS);
39563
 
39564
  var _getResults = __webpack_require__(/*! ../functions/getResults */ "./src/js/functions/getResults.js");
39565
 
@@ -39607,6 +39636,8 @@ var _Tooltip2 = _interopRequireDefault(_Tooltip);
39607
 
39608
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39609
 
 
 
39610
  function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
39611
 
39612
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -39626,15 +39657,16 @@ var PhotoList = function (_React$Component) {
39626
  // Get current provider settings.
39627
  var _this = _possibleConstructorReturn(this, (PhotoList.__proto__ || Object.getPrototypeOf(PhotoList)).call(this, props));
39628
 
39629
- _this.providers = ["Unsplash", "Pixabay"];
39630
  _this.provider = _this.props.provider; // Unsplash, Pixabay, etc.
39631
  _this.api_provider = _API2.default[_this.provider]; // The API settings for the provider.
39632
  _this.arr_key = _this.api_provider.arr_key;
 
39633
 
39634
  // API Vars.
39635
  _this.api_key = instant_img_localize[_this.provider + "_app_id"];
39636
- _this.api_url = "" + _this.api_provider.photo_api + _this.api_provider.api_query_var + _this.api_key + _API2.default.defaults.posts_per_page;
39637
- _this.search_api_url = "" + _this.api_provider.search_api + _this.api_provider.api_query_var + _this.api_key + _API2.default.defaults.posts_per_page;
39638
 
39639
  // Results state.
39640
  _this.results = (0, _getResults2.default)(_this.provider, _this.arr_key, _this.props.results);
@@ -39648,6 +39680,7 @@ var PhotoList = function (_React$Component) {
39648
 
39649
  _this.filters = {};
39650
  _this.search_filters = {};
 
39651
 
39652
  _this.orderby = _this.props.orderby; // Orderby
39653
  _this.page = _this.props.page; // Page
@@ -39692,58 +39725,22 @@ var PhotoList = function (_React$Component) {
39692
  }
39693
 
39694
  /**
39695
- * Test access to the REST API.
39696
  *
39697
- * @since 3.2
 
39698
  */
39699
 
39700
 
39701
  _createClass(PhotoList, [{
39702
- key: "test",
39703
- value: function test() {
39704
- var self = this;
39705
- var testURL = instant_img_localize.root + "instant-images/test/"; // REST Route
39706
- var restAPITest = new XMLHttpRequest();
39707
- restAPITest.open("POST", testURL, true);
39708
- restAPITest.setRequestHeader("X-WP-Nonce", instant_img_localize.nonce);
39709
- restAPITest.setRequestHeader("Content-Type", "application/json");
39710
- restAPITest.send();
39711
- restAPITest.onload = function () {
39712
- if (restAPITest.status >= 200 && restAPITest.status < 400) {
39713
- var response = JSON.parse(restAPITest.response);
39714
- var success = response.success;
39715
- if (!success) {
39716
- self.setState({ restapi_error: true });
39717
- }
39718
- } else {
39719
- // Error
39720
- self.setState({ restapi_error: true });
39721
- }
39722
- };
39723
- restAPITest.onerror = function (errorMsg) {
39724
- console.log(errorMsg);
39725
- self.setState({ restapi_error: true });
39726
- };
39727
- }
39728
-
39729
- /**
39730
- * Trigger Search.
39731
- *
39732
- * @param {Event} event The dispatched submit event.
39733
- * @since 3.0
39734
- */
39735
-
39736
- }, {
39737
  key: "search",
39738
  value: function search(event) {
39739
  event.preventDefault();
39740
-
39741
  var input = this.photoSearch.current;
39742
  var term = input.value;
39743
 
39744
  if (term.length > 2) {
39745
  input.classList.add("searching");
39746
- this.container.classList.add("loading");
39747
  this.search_term = term;
39748
  this.is_search = true;
39749
  this.doSearch(this.search_term);
@@ -39752,108 +39749,6 @@ var PhotoList = function (_React$Component) {
39752
  }
39753
  }
39754
 
39755
- /**
39756
- * Run the search.
39757
- *
39758
- * @param {string} term The search term.
39759
- * @since 3.0
39760
- */
39761
-
39762
- }, {
39763
- key: "doSearch",
39764
- value: function doSearch(term) {
39765
- var self = this;
39766
- var input = this.photoSearch.current;
39767
- var type = "term";
39768
-
39769
- this.photoTarget.current.classList.add("loading");
39770
- this.isLoading = true;
39771
-
39772
- this.page = 1; // Reset currentpage num.
39773
- this.toggleFilters(); // Disable filters.
39774
-
39775
- var url = this.search_api_url + "&page=" + this.page + "&" + this.api_provider.search_query_var + "=" + this.search_term + (0, _contentSafety2.default)(this.provider);
39776
-
39777
- // Search by ID.
39778
- // Allow users to search by photo by prepending id:{photo_id} to search terms.
39779
- var search_type = term.substring(0, 3);
39780
- if (search_type === "id:") {
39781
- type = "id";
39782
- term = term.replace("id:", "");
39783
- url = (0, _searchByID2.default)(this.provider, term, this.api_provider.photo_api, this.api_provider.api_query_var, this.api_key);
39784
- }
39785
-
39786
- // Get search filters.
39787
- var filters = (0, _createQS2.default)(this.search_filters);
39788
- url = filters !== "&" ? "" + url + filters : url;
39789
-
39790
- fetch(url).then(function (data) {
39791
- return data.json();
39792
- }).then(function (data) {
39793
- // Search term.
39794
- if (type === "term") {
39795
- var results = (0, _getResults2.default)(self.provider, self.arr_key, data, true);
39796
- self.total_results = data.total;
39797
-
39798
- // Check for returned data.
39799
- self.checkTotalResults(results.length);
39800
-
39801
- // Update Props.
39802
- self.results = results;
39803
- self.setState({
39804
- results: self.results,
39805
- search_filters: _filters2.default[self.provider].search
39806
- });
39807
- }
39808
-
39809
- // Search by ID.
39810
- if (type === "id" && data) {
39811
- // Convert return data to array.
39812
- var photoArray = [];
39813
-
39814
- // Get results via ID.
39815
- var result = (0, _getResults.getResultById)(self.provider, self.arr_key, data, true);
39816
-
39817
- // Data comes back differently in a search by ID.
39818
- if (data.errors) {
39819
- // If error was returned (Unsplash Only).
39820
- self.total_results = 0;
39821
- self.checkTotalResults("0");
39822
- } else {
39823
- // No errors, display results
39824
- photoArray.push(result);
39825
- self.total_results = 1;
39826
- self.checkTotalResults("1");
39827
- }
39828
-
39829
- self.results = photoArray;
39830
- self.setState({ results: self.results });
39831
- }
39832
-
39833
- // Delay for effect.
39834
- setTimeout(function () {
39835
- input.classList.remove("searching");
39836
- self.photoTarget.current.classList.remove("loading");
39837
- self.isLoading = false;
39838
- }, self.delay);
39839
- }).catch(function (error) {
39840
- console.log(error);
39841
-
39842
- // Error, reset all search parameters.
39843
- input.classList.remove("searching");
39844
- self.isLoading = false;
39845
- self.total_results = 0;
39846
- self.isDone = true;
39847
-
39848
- this.photoTarget.current.classList.remove("loading");
39849
- this.isLoading = false;
39850
-
39851
- // Update Props.
39852
- self.results = [];
39853
- self.setState({ results: self.results });
39854
- });
39855
- }
39856
-
39857
  /**
39858
  * Reset search results, settings and results view.
39859
  *
@@ -39889,6 +39784,161 @@ var PhotoList = function (_React$Component) {
39889
  }
39890
  }
39891
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39892
  /**
39893
  * Get the initial set of photos for the current view (New/Popular/Filters/etc...).
39894
  *
@@ -39900,63 +39950,104 @@ var PhotoList = function (_React$Component) {
39900
 
39901
  }, {
39902
  key: "getPhotos",
39903
- value: function getPhotos(view) {
39904
- var reset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
39905
- var switcher = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
 
 
 
 
 
 
 
 
 
 
39906
 
39907
- var self = this;
39908
 
39909
- if (this.isLoading && !reset) {
39910
- return; // exit if active
39911
- }
39912
 
39913
- this.photoTarget.current.classList.add("loading");
39914
- this.isLoading = true;
39915
- this.page = 1;
39916
- this.orderby = view;
39917
- this.results = [];
39918
- this.clearSearch();
39919
 
39920
- // Get filters.
39921
- var filters = (0, _createQS2.default)(this.filters);
 
39922
 
39923
- // Build URL.
39924
- var url = this.api_url + "&page=" + this.page + "&" + (0, _contentSafety2.default)(this.provider) + filters;
39925
 
39926
- fetch(url).then(function (data) {
39927
- return data.json();
39928
- }).then(function (data) {
39929
- var results = (0, _getResults2.default)(self.provider, self.arr_key, data);
39930
 
39931
- // Check for returned data
39932
- self.checkTotalResults(results.length);
 
39933
 
39934
- // Update Props.
39935
- self.results = results;
39936
 
39937
- // Set results state.
39938
- if (!switcher) {
39939
- self.setState({
39940
- results: results
39941
- });
39942
- } else {
39943
- self.setState({
39944
- results: results,
39945
- filters: _filters2.default[self.provider].filters
39946
- });
39947
- }
39948
 
39949
- // Delay for effect.
39950
- setTimeout(function () {
39951
- self.photoTarget.current.classList.remove("loading");
39952
- self.isLoading = false;
39953
- }, self.delay);
39954
- }).catch(function (error) {
39955
- console.log(error);
39956
- self.photoTarget.current.classList.remove("loading");
39957
- self.isLoading = false;
39958
- });
39959
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39960
 
39961
  /**
39962
  * Load next set of photos in infinite scroll style.
@@ -39966,52 +40057,91 @@ var PhotoList = function (_React$Component) {
39966
 
39967
  }, {
39968
  key: "loadMorePhotos",
39969
- value: function loadMorePhotos() {
39970
- var self = this;
39971
- this.page = parseInt(this.page) + 1;
39972
- this.container.classList.add("loading");
39973
- this.isLoading = true;
 
 
 
39974
 
39975
- var url = this.api_url + "&page=" + this.page + "&";
39976
- var filters = "";
 
39977
 
39978
- if (this.is_search) {
39979
- url = this.search_api_url + "&page=" + this.page + "&" + this.api_provider.search_query_var + "=" + this.search_term;
39980
- filters = (0, _createQS2.default)(this.search_filters);
39981
- } else {
39982
- filters = (0, _createQS2.default)(this.filters);
39983
- }
39984
 
39985
- // Build URL
39986
- url = filters ? "" + url + (0, _contentSafety2.default)(this.provider) + filters : url;
 
39987
 
39988
- fetch(url).then(function (data) {
39989
- return data.json();
39990
- }).then(function (data) {
39991
- var moreResults = (0, _getResults2.default)(self.provider, self.arr_key, data, self.is_search);
 
 
39992
 
39993
- // Unsplash search results are recieved in different JSON format
39994
- if (self.is_search && self.provider === "unsplash") {
39995
- moreResults = data.results;
39996
- }
39997
 
39998
- // Loop results, push items into array
39999
- moreResults && moreResults.map(function (data) {
40000
- self.results.push(data);
40001
- });
 
 
 
40002
 
40003
- // Check for returned data
40004
- self.checkTotalResults(data.length);
40005
 
40006
- // Update Props
40007
- self.setState({ results: self.results });
 
 
40008
 
40009
- self.isLoading = false;
40010
- }).catch(function (error) {
40011
- console.log(error);
40012
- self.isLoading = false;
40013
- });
40014
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40015
 
40016
  /**
40017
  * Filter the photo listing.
@@ -40023,7 +40153,7 @@ var PhotoList = function (_React$Component) {
40023
  }, {
40024
  key: "filterPhotos",
40025
  value: function filterPhotos(filter, value) {
40026
- if (this.filters[filter] && value === "#" || value === "") {
40027
  delete this.filters[filter];
40028
  } else {
40029
  this.filters[filter] = value;
@@ -40041,7 +40171,7 @@ var PhotoList = function (_React$Component) {
40041
  }, {
40042
  key: "filterSearch",
40043
  value: function filterSearch(filter, value) {
40044
- if (this.search_filters[filter] && value === "#" || value === "") {
40045
  delete this.search_filters[filter];
40046
  } else {
40047
  this.search_filters[filter] = value;
@@ -40119,54 +40249,64 @@ var PhotoList = function (_React$Component) {
40119
  }, {
40120
  key: "switchProvider",
40121
  value: function () {
40122
- var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(e) {
40123
- var target, provider, response, ok, status;
40124
- return regeneratorRuntime.wrap(function _callee$(_context) {
40125
  while (1) {
40126
- switch (_context.prev = _context.next) {
40127
  case 0:
40128
  target = e.currentTarget;
40129
  provider = target.dataset.provider;
40130
 
40131
  if (!(provider === this.provider)) {
40132
- _context.next = 4;
40133
  break;
40134
  }
40135
 
40136
- return _context.abrupt("return", false);
40137
 
40138
  case 4:
40139
  if (!_API2.default[provider].requires_key) {
40140
- _context.next = 14;
40141
  break;
40142
  }
40143
 
40144
- _context.next = 7;
40145
- return fetch((0, _buildTestURL2.default)(provider));
 
 
 
 
40146
 
40147
- case 7:
40148
- response = _context.sent;
40149
  ok = response.ok;
40150
  status = response.status;
40151
 
40152
- if (!(!ok || status === 400 || status === 401 || status === 500)) {
40153
- _context.next = 14;
40154
  break;
40155
  }
40156
 
40157
- this.setState({ api_lightbox: provider }); // Show API Lightbox.
 
40158
  document.body.classList.add("overflow-hidden");
40159
- return _context.abrupt("return");
40160
 
40161
- case 14:
 
 
40162
 
40163
- // Set new state provider.
40164
- this.provider = provider;
40165
- this.api_provider = _API2.default[this.provider];
40166
 
40167
- // Clear filters.
40168
- this.filters = {};
40169
- this.search_filters = {};
 
 
 
40170
 
40171
  // Remove active from buttons.
40172
  this.providerNav.current.querySelectorAll("button").forEach(function (button) {
@@ -40176,27 +40316,32 @@ var PhotoList = function (_React$Component) {
40176
  // Select active button.
40177
  target.classList.add("active");
40178
 
40179
- // Set current provider params.
 
 
40180
  this.arr_key = this.api_provider.arr_key;
40181
  this.api_key = instant_img_localize[this.provider + "_app_id"];
 
 
40182
 
40183
- this.api_url = "" + this.api_provider.photo_api + this.api_provider.api_query_var + this.api_key + _API2.default.defaults.posts_per_page;
40184
- this.search_api_url = "" + this.api_provider.search_api + this.api_provider.api_query_var + this.api_key + _API2.default.defaults.posts_per_page;
 
40185
 
40186
- // At last, get the photos.
40187
  this.view = "latest";
40188
  this.getPhotos(this.view, true, true);
40189
 
40190
- case 26:
40191
  case "end":
40192
- return _context.stop();
40193
  }
40194
  }
40195
- }, _callee, this);
40196
  }));
40197
 
40198
- function switchProvider(_x3) {
40199
- return _ref.apply(this, arguments);
40200
  }
40201
 
40202
  return switchProvider;
@@ -40237,7 +40382,7 @@ var PhotoList = function (_React$Component) {
40237
  value: function onScroll() {
40238
  var wHeight = window.innerHeight;
40239
  var scrollTop = window.pageYOffset;
40240
- var scrollH = document.body.scrollHeight - 400;
40241
  if (wHeight + scrollTop >= scrollH && !this.isLoading && !this.isDone) {
40242
  this.loadMorePhotos();
40243
  }
@@ -40253,7 +40398,7 @@ var PhotoList = function (_React$Component) {
40253
  }, {
40254
  key: "checkTotalResults",
40255
  value: function checkTotalResults(num) {
40256
- this.isDone = num == 0 ? true : false;
40257
  }
40258
 
40259
  /**
@@ -40326,6 +40471,40 @@ var PhotoList = function (_React$Component) {
40326
  tooltip.classList.remove("over");
40327
  }
40328
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40329
  // Component Updated
40330
 
40331
  }, {
@@ -40414,13 +40593,13 @@ var PhotoList = function (_React$Component) {
40414
  Object.entries(this.state.filters).length && _react2.default.createElement(
40415
  "div",
40416
  { className: "control-nav--filters" },
40417
- Object.entries(this.state.filters).map(function (_ref2, i) {
40418
- var _ref3 = _slicedToArray(_ref2, 2),
40419
- key = _ref3[0],
40420
- filter = _ref3[1];
40421
 
40422
  return _react2.default.createElement(_Filter2.default, {
40423
- key: key + "-" + i,
40424
  filterKey: key,
40425
  provider: _this4.provider,
40426
  data: filter,
@@ -40497,16 +40676,16 @@ var PhotoList = function (_React$Component) {
40497
  instant_img_localize.clear_search
40498
  )
40499
  ),
40500
- Object.entries(this.state.search_filters).length && _react2.default.createElement(
40501
  "div",
40502
  { className: "control-nav--filters-wrap" },
40503
  _react2.default.createElement(
40504
  "div",
40505
  { className: "control-nav--filters" },
40506
- Object.entries(this.state.search_filters).map(function (_ref4, i) {
40507
- var _ref5 = _slicedToArray(_ref4, 2),
40508
- key = _ref5[0],
40509
- filter = _ref5[1];
40510
 
40511
  return _react2.default.createElement(_Filter2.default, {
40512
  key: key + "-" + i,
@@ -40699,30 +40878,41 @@ module.exports = {
40699
  defaults: {
40700
  provider: "unsplash",
40701
  order: "latest",
40702
- posts_per_page: "&per_page=20"
40703
  },
40704
  unsplash: {
40705
  requires_key: false,
 
40706
  new: false,
40707
- filters: true,
40708
- api_query_var: "/?client_id=",
40709
- photo_api: "https://api.unsplash.com/photos",
40710
- collections_api: "https://api.unsplash.com/collections",
40711
- search_api: "https://api.unsplash.com/search/photos",
40712
- search_query_var: "query",
40713
- arr_key: "results",
40714
- orientation: ["landscape", "portrait", "squarish"]
40715
  },
40716
  pixabay: {
40717
  requires_key: true,
40718
- new: false,
40719
- filters: true,
40720
- api_query_var: "/?key=",
40721
- photo_api: "https://pixabay.com/api",
40722
- search_api: "https://pixabay.com/api",
40723
- search_query_var: "q",
40724
- arr_key: "hits",
40725
- orientation: ["horizontal", "vertical"]
 
 
 
 
 
 
 
 
 
 
 
40726
  }
40727
  };
40728
 
@@ -40739,6 +40929,32 @@ module.exports = {
40739
 
40740
 
40741
  module.exports = {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40742
  unsplash: {
40743
  filters: {
40744
  order_by: {
@@ -40821,14 +41037,25 @@ module.exports = {
40821
 
40822
 
40823
  Object.defineProperty(exports, "__esModule", {
40824
- value: true
40825
  });
 
 
 
40826
  exports.default = buildTestURL;
40827
 
40828
  var _API = __webpack_require__(/*! ../constants/API */ "./src/js/constants/API.js");
40829
 
40830
  var _API2 = _interopRequireDefault(_API);
40831
 
 
 
 
 
 
 
 
 
40832
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40833
 
40834
  /**
@@ -40838,19 +41065,26 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
40838
  * @return {string} The API URL.
40839
  */
40840
  function buildTestURL(provider) {
40841
- var api = _API2.default[provider];
40842
- var api_key = instant_img_localize[provider + "_app_id"];
40843
- var url = "" + api.photo_api + api.api_query_var + api_key + "&per_page=5&page=1";
 
 
40844
 
40845
- return url;
 
 
 
 
 
40846
  }
40847
 
40848
  /***/ }),
40849
 
40850
- /***/ "./src/js/functions/consoleStatus.js":
40851
- /*!*******************************************!*\
40852
- !*** ./src/js/functions/consoleStatus.js ***!
40853
- \*******************************************/
40854
  /*! no static exports found */
40855
  /***/ (function(module, exports, __webpack_require__) {
40856
 
@@ -40860,38 +41094,32 @@ function buildTestURL(provider) {
40860
  Object.defineProperty(exports, "__esModule", {
40861
  value: true
40862
  });
40863
- exports.default = consoleStatus;
40864
  /**
40865
- * Display a console.warn message about API status.
40866
  *
40867
- * @param {string} provider The API service provider.
40868
- * @param {string} status The API status.
 
40869
  */
40870
- function consoleStatus(provider) {
40871
- var status = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
40872
-
40873
- var local = instant_img_localize;
40874
- if (status === 400 || status === 401) {
40875
- // Unsplash/Pixabay incorrect API key.
40876
- console.warn("[" + local.instant_images + " - " + status + " Error] " + capitalize(provider) + ": " + local.api_invalid_msg);
40877
  }
40878
- if (status === 429) {
40879
- // Pixabay - too many requests.
40880
- console.warn("[" + local.instant_images + " - " + status + " Error] " + capitalize(provider) + ": " + local.api_ratelimit_msg);
40881
- }
40882
- }
40883
 
40884
- function capitalize(s) {
40885
- if (typeof s !== "string") return "";
40886
- return s.charAt(0).toUpperCase() + s.slice(1);
40887
  }
40888
 
40889
  /***/ }),
40890
 
40891
- /***/ "./src/js/functions/contentSafety.js":
40892
- /*!*******************************************!*\
40893
- !*** ./src/js/functions/contentSafety.js ***!
40894
- \*******************************************/
40895
  /*! no static exports found */
40896
  /***/ (function(module, exports, __webpack_require__) {
40897
 
@@ -40899,41 +41127,25 @@ function capitalize(s) {
40899
 
40900
 
40901
  Object.defineProperty(exports, "__esModule", {
40902
- value: true
40903
  });
40904
- exports.default = contentSafety;
40905
  /**
40906
- * Set the photo safety for indicating that only images suitable for all ages should be returned.
40907
- * @see https://unsplash.com/documentation#content-safety
40908
- * @see https://pixabay.com/api/docs/
40909
  *
40910
- * @param {string} provider The current service provider.
40911
- * @return {string} The api string for filtering content.
40912
  */
40913
- function contentSafety(provider) {
40914
- var str = "";
40915
- switch (provider) {
40916
- case "unsplash":
40917
- if (instant_img_localize.unsplash_content_filter) {
40918
- str = "&content_filter=" + instant_img_localize.unsplash_content_filter;
40919
- }
40920
- break;
40921
-
40922
- case "pixabay":
40923
- if (instant_img_localize.pixabay_safesearch) {
40924
- str = "&safesearch=" + instant_img_localize.pixabay_safesearch;
40925
- }
40926
- break;
40927
- }
40928
- return str;
40929
  }
40930
 
40931
  /***/ }),
40932
 
40933
- /***/ "./src/js/functions/createQS.js":
40934
- /*!**************************************!*\
40935
- !*** ./src/js/functions/createQS.js ***!
40936
- \**************************************/
40937
  /*! no static exports found */
40938
  /***/ (function(module, exports, __webpack_require__) {
40939
 
@@ -40941,21 +41153,34 @@ function contentSafety(provider) {
40941
 
40942
 
40943
  Object.defineProperty(exports, "__esModule", {
40944
- value: true
40945
  });
40946
- exports.default = createQS;
 
 
 
 
 
 
 
40947
  /**
40948
- * Create a querystring from an object.
40949
  *
40950
- * @param {string} obj The object.
40951
- * @return {string} The generated querystring.
40952
  */
40953
- function createQS(obj) {
40954
- var qs = Object.keys(obj).map(function (key) {
40955
- return key + "=" + obj[key];
40956
- }).join("&");
40957
 
40958
- return "&" + qs;
 
 
 
 
 
 
 
 
40959
  }
40960
 
40961
  /***/ }),
@@ -40974,6 +41199,13 @@ Object.defineProperty(exports, "__esModule", {
40974
  value: true
40975
  });
40976
  exports.default = generateAttribution;
 
 
 
 
 
 
 
40977
  /**
40978
  * Get the API URL for searches by ID.
40979
  *
@@ -40983,18 +41215,50 @@ exports.default = generateAttribution;
40983
  * @return {string} The raw attribution HTML.
40984
  */
40985
  function generateAttribution(provider, url, name) {
40986
- var attribution = instant_img_localize.photo_by;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40987
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40988
  switch (provider) {
40989
- case "unsplash":
40990
- attribution += " <a href=\"" + url + "?utm_source=wordpress-instant-images&utm_medium=referral\">" + name + "</a> on <a href=\"" + instant_img_localize.unsplash_url + "/?utm_source=wordpress-instant-images&utm_medium=referral\">Unsplash</a>";
 
 
40991
  break;
40992
- case "pixabay":
40993
- attribution += " <a href=\"" + url + "?utm_source=wordpress-instant-images&utm_medium=referral\">" + name + "</a> on <a href=\"" + instant_img_localize.pixabay_url + "/?utm_source=wordpress-instant-images&utm_medium=referral\">Pixabay</a>";
40994
  break;
40995
  }
40996
 
40997
- return attribution;
40998
  }
40999
 
41000
  /***/ }),
@@ -41023,6 +41287,7 @@ exports.default = getProp;
41023
  */
41024
  function getProp(provider, result, attribute) {
41025
  var value = "";
 
41026
  switch (attribute) {
41027
  case "thumb":
41028
  if (provider === "pixabay") {
@@ -41031,6 +41296,9 @@ function getProp(provider, result, attribute) {
41031
  if (provider === "unsplash") {
41032
  value = result.urls.thumb;
41033
  }
 
 
 
41034
  break;
41035
 
41036
  case "img":
@@ -41040,6 +41308,9 @@ function getProp(provider, result, attribute) {
41040
  if (provider === "unsplash") {
41041
  value = result.urls.small;
41042
  }
 
 
 
41043
  break;
41044
 
41045
  case "full_size":
@@ -41049,6 +41320,9 @@ function getProp(provider, result, attribute) {
41049
  if (provider === "unsplash") {
41050
  value = result.urls.full;
41051
  }
 
 
 
41052
  break;
41053
 
41054
  case "author":
@@ -41058,6 +41332,9 @@ function getProp(provider, result, attribute) {
41058
  if (provider === "unsplash") {
41059
  value = result.user.name;
41060
  }
 
 
 
41061
  break;
41062
 
41063
  case "user":
@@ -41067,6 +41344,9 @@ function getProp(provider, result, attribute) {
41067
  if (provider === "unsplash") {
41068
  value = result.user.username;
41069
  }
 
 
 
41070
  break;
41071
 
41072
  case "name":
@@ -41076,6 +41356,9 @@ function getProp(provider, result, attribute) {
41076
  if (provider === "unsplash") {
41077
  value = result.user.name;
41078
  }
 
 
 
41079
  break;
41080
 
41081
  case "user_photo":
@@ -41085,14 +41368,20 @@ function getProp(provider, result, attribute) {
41085
  if (provider === "unsplash") {
41086
  value = result.user.profile_image.small;
41087
  }
 
 
 
41088
  break;
41089
 
41090
  case "user_url":
41091
  if (provider === "pixabay") {
41092
- value = instant_img_localize.pixabay_url + "/users/" + result.user + "-" + result.user_id + "/";
41093
  }
41094
  if (provider === "unsplash") {
41095
- value = instant_img_localize.unsplash_url + "/@" + result.user.username + "?utm_source=wordpress-instant-images&utm_medium=referral";
 
 
 
41096
  }
41097
  break;
41098
 
@@ -41103,6 +41392,9 @@ function getProp(provider, result, attribute) {
41103
  if (provider === "unsplash") {
41104
  value = result.links.html;
41105
  }
 
 
 
41106
  break;
41107
 
41108
  case "likes":
@@ -41112,6 +41404,21 @@ function getProp(provider, result, attribute) {
41112
  if (provider === "unsplash") {
41113
  value = result.likes;
41114
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41115
  break;
41116
  }
41117
 
@@ -41144,7 +41451,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
41144
  /**
41145
  * Get the default provider on page load.
41146
  *
41147
- * @return {string} The default service provider.
41148
  */
41149
  function getProvider() {
41150
  return instant_img_localize && instant_img_localize.default_provider ? instant_img_localize.default_provider : _API2.default.defaults.provider;
@@ -41152,6 +41459,110 @@ function getProvider() {
41152
 
41153
  /***/ }),
41154