Jetpack by WordPress.com - Version 3.4.4

Version Description

Release Date: May 26, 2016

  • Important security update. Please upgrade immediately.
Download this release

Release Info

Developer samhotchkiss
Plugin Icon 128x128 Jetpack by WordPress.com
Version 3.4.4
Comparing to
See all releases

Code changes from version 3.3.4 to 3.4.4

Files changed (88) hide show
  1. _inc/footer.php +33 -37
  2. _inc/header.php +2 -2
  3. _inc/jp.js +166 -196
  4. _inc/lib/admin-pages/class.jetpack-admin-page.php +10 -1
  5. _inc/lib/admin-pages/class.jetpack-landing-page.php +145 -4
  6. _inc/lib/admin-pages/class.jetpack-settings-page.php +2 -2
  7. _inc/lib/tonesque.php +7 -0
  8. class.jetpack-admin.php +8 -1
  9. class.jetpack-autoupdate.php +227 -5
  10. class.jetpack-client-server.php +3 -1
  11. class.jetpack-client.php +6 -1
  12. class.jetpack-heartbeat.php +1 -19
  13. class.jetpack-modules-list-table.php +4 -1
  14. class.jetpack-options.php +115 -54
  15. class.jetpack-post-images.php +18 -10
  16. class.jetpack-sync.php +165 -9
  17. class.jetpack-twitter-cards.php +2 -2
  18. class.jetpack-user-agent.php +4 -0
  19. class.jetpack.php +755 -70
  20. class.json-api-endpoints.php +77 -12
  21. class.json-api.php +25 -2
  22. class.media-extractor.php +1 -1
  23. class.photon.php +9 -6
  24. css/dashboard-widget-rtl.css +108 -0
  25. css/dashboard-widget-rtl.min.css +3 -0
  26. css/dashboard-widget.css +105 -0
  27. css/dashboard-widget.css.map +1 -0
  28. css/dashboard-widget.min.css +3 -0
  29. css/dashboard-widget.min.css.map +1 -0
  30. css/jetpack-admin-rtl.css +706 -33
  31. css/jetpack-admin-rtl.min.css +1 -1
  32. css/jetpack-admin.css +705 -32
  33. css/jetpack-admin.css.map +1 -1
  34. css/jetpack-admin.min.css +1 -1
  35. css/jetpack-admin.min.css.map +1 -1
  36. css/jetpack-rtl.css +1 -1
  37. css/jetpack.css +1 -1
  38. css/jp-benefits.css +2 -0
  39. css/jp-benefits.css.map +1 -0
  40. functions.opengraph.php +25 -2
  41. images/jetpack-protect-shield.svg +30 -0
  42. images/screenshots/beautifulmath.png +0 -0
  43. images/screenshots/carousel.png +0 -0
  44. images/screenshots/comments.png +0 -0
  45. images/screenshots/contactform.png +0 -0
  46. images/screenshots/custom-content-types.png +0 -0
  47. images/screenshots/custom-css.png +0 -0
  48. images/screenshots/google-plus.png +0 -0
  49. images/screenshots/hovercards.png +0 -0
  50. images/screenshots/likes.png +0 -0
  51. images/screenshots/manage-sm.png +0 -0
  52. images/screenshots/manage.png +0 -0
  53. images/screenshots/mobile-push-notifications.jpg +0 -0
  54. images/screenshots/mobile-theme.png +0 -0
  55. images/screenshots/notes.png +0 -0
  56. images/screenshots/post-by-email.png +0 -0
  57. images/screenshots/publicize.png +0 -0
  58. images/screenshots/sharing.png +0 -0
  59. images/screenshots/shortcodes.png +0 -0
  60. images/screenshots/shortlinks.png +0 -0
  61. images/screenshots/site-icon.png +0 -0
  62. images/screenshots/spelling.png +0 -0
  63. images/screenshots/stats.png +0 -0
  64. images/screenshots/subscriptions.png +0 -0
  65. images/screenshots/tiled-gallery.png +0 -0
  66. images/screenshots/vaultpress.png +0 -0
  67. images/screenshots/widgets.png +0 -0
  68. images/the-footcloud.svg +5 -6
  69. jetpack.php +6 -4
  70. json-api-config.php +13 -0
  71. json-endpoints.php +482 -441
  72. json-endpoints/class.wpcom-json-api-get-site-endpoint.php +19 -12
  73. json-endpoints/class.wpcom-json-api-list-media-v1-1-endpoint.php +194 -3
  74. json-endpoints/class.wpcom-json-api-list-posts-endpoint.php +78 -15
  75. json-endpoints/class.wpcom-json-api-list-posts-v1-1-endpoint.php +86 -23
  76. json-endpoints/class.wpcom-json-api-post-endpoint.php +62 -28
  77. json-endpoints/class.wpcom-json-api-post-v1-1-endpoint.php +110 -71
  78. json-endpoints/class.wpcom-json-api-sharing-buttons-endpoint.php +250 -135
  79. json-endpoints/class.wpcom-json-api-site-settings-endpoint.php +25 -3
  80. json-endpoints/class.wpcom-json-api-update-comment-endpoint.php +1 -1
  81. json-endpoints/class.wpcom-json-api-update-media-v1-1-endpoint.php +38 -3
  82. json-endpoints/class.wpcom-json-api-update-taxonomy-endpoint.php +2 -2
  83. json-endpoints/class.wpcom-json-api-upload-media-endpoint.php +1 -1
  84. json-endpoints/jetpack/class.jetpack-json-api-endpoint.php +3 -6
  85. json-endpoints/jetpack/class.jetpack-json-api-sync-endpoint.php +13 -0
  86. json-endpoints/jetpack/json-api-jetpack-endpoints.php +15 -0
  87. languages/jetpack-ar.mo +0 -0
  88. languages/jetpack-ar.po +1133 -1704
_inc/footer.php CHANGED
@@ -5,43 +5,39 @@ $user_token = Jetpack_Data::get_access_token( $current_user->ID );
5
  $is_user_connected = $user_token && ! is_wp_error( $user_token );
6
  $is_master_user = $current_user->ID == Jetpack_Options::get_option( 'master_user' );
7
  ?>
8
- <div class="footer">
9
- <?php if ( ! $is_active && current_user_can( 'jetpack_connect' ) ) : ?>
10
- <a href="<?php echo $this->jetpack->build_connect_url() ?>" class="download-jetpack"><?php esc_html_e( 'Connect to Get Started', 'jetpack' ); ?></a>
11
- <?php elseif ( $is_active && ! $is_user_connected && current_user_can( 'jetpack_connect_user' ) ) : ?>
12
- <a href="<?php echo $this->jetpack->build_connect_url() ?>" class="download-jetpack"><?php esc_html_e( 'Link your account to WordPress.com', 'jetpack' ); ?></a>
13
- <?php endif; ?>
14
-
15
- <nav class="primary nav-horizontal">
16
- <div class="a8c-attribution">
17
- <span>
18
- <?php echo sprintf( __( 'An %s Airline', 'jetpack' ),
19
- '<a href="http://automattic.com/" class="a8c-logo">Automattic</a>'
20
- ); ?>
21
- </span>
22
- </div>
23
- </nav><!-- .primary -->
24
-
25
- <nav class="secondary nav-horizontal">
26
- <div class="secondary-footer">
27
- <a href="http://jetpack.me">Jetpack <?php echo JETPACK__VERSION; ?></a>
28
- <a href="http://wordpress.com/tos/"><?php esc_html_e( 'Terms', 'jetpack' ); ?></a>
29
- <a href="http://automattic.com/privacy/"><?php esc_html_e( 'Privacy', 'jetpack' ); ?></a>
30
- <a href="<?php echo esc_url( Jetpack::admin_url( 'page=jetpack-debugger' ) ); ?>" title="<?php esc_attr_e( 'Test your site&#8217;s compatibility with Jetpack.', 'jetpack' ); ?>"><?php _e( 'Debug', 'jetpack' ); ?></a>
31
- <a href="http://jetpack.me/contact-support/" title="<?php esc_attr_e( 'Contact the Jetpack Happiness Squad.', 'jetpack' ); ?>"><?php _e( 'Support', 'jetpack' ); ?></a>
32
- <a href="http://jetpack.me/survey/?rel=<?php echo JETPACK__VERSION; ?>" title="<?php esc_attr_e( 'Take a survey. Tell us how we&#8217;re doing.', 'jetpack' ); ?>"><?php _e( 'Give Us Feedback', 'jetpack' ); ?></a>
33
-
34
- <?php if ( $is_active && current_user_can( 'jetpack_disconnect' ) ) : ?>
35
- <a href="<?php echo wp_nonce_url( Jetpack::admin_url( 'action=disconnect' ), 'jetpack-disconnect' ); ?>"><?php esc_html_e( 'Disconnect from WordPress.com', 'jetpack' ); ?></a>
36
- <?php endif; ?>
37
- <?php if ( $is_active && $is_user_connected && ! $is_master_user ) : ?>
38
- <a href="<?php echo wp_nonce_url( Jetpack::admin_url( 'action=unlink' ), 'jetpack-unlink' ); ?>"><?php esc_html_e( 'Unlink your user account', 'jetpack' ); ?></a>
39
- <?php endif; ?>
40
-
41
- </div>
42
- </nav><!-- .secondary -->
43
- </div><!-- .footer -->
44
  </div><!-- .wrapper -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
 
46
  <div class="modal" aria-labelledby="modal-label">
47
  <header>
@@ -53,7 +49,7 @@ $is_master_user = $current_user->ID == Jetpack_Options::get_option( 'master_u
53
  </header>
54
  <div class="content-container"><div class="content"></div></div>
55
  </div>
56
- <div class="shade" />
57
 
58
  </div><!-- .jp-frame -->
59
  </div><!-- .jp-content -->
5
  $is_user_connected = $user_token && ! is_wp_error( $user_token );
6
  $is_master_user = $current_user->ID == Jetpack_Options::get_option( 'master_user' );
7
  ?>
8
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  </div><!-- .wrapper -->
10
+ <div class="footer">
11
+
12
+ <nav class="primary nav-horizontal">
13
+ <div class="a8c-attribution">
14
+ <span>
15
+ <?php echo sprintf( __( 'An %s Airline', 'jetpack' ),
16
+ '<a href="http://automattic.com/" class="a8c-logo">Automattic</a>'
17
+ ); ?>
18
+ </span>
19
+ </div>
20
+ </nav><!-- .primary -->
21
+
22
+ <nav class="secondary nav-horizontal">
23
+ <div class="secondary-footer">
24
+ <a href="http://jetpack.me">Jetpack <?php echo JETPACK__VERSION; ?></a>
25
+ <a href="http://wordpress.com/tos/"><?php esc_html_e( 'Terms', 'jetpack' ); ?></a>
26
+ <a href="http://automattic.com/privacy/"><?php esc_html_e( 'Privacy', 'jetpack' ); ?></a>
27
+ <a href="<?php echo esc_url( Jetpack::admin_url( 'page=jetpack-debugger' ) ); ?>" title="<?php esc_attr_e( 'Test your site&#8217;s compatibility with Jetpack.', 'jetpack' ); ?>"><?php _e( 'Debug', 'jetpack' ); ?></a>
28
+ <a href="http://jetpack.me/contact-support/" title="<?php esc_attr_e( 'Contact the Jetpack Happiness Squad.', 'jetpack' ); ?>"><?php _e( 'Support', 'jetpack' ); ?></a>
29
+ <a href="http://jetpack.me/survey/?rel=<?php echo JETPACK__VERSION; ?>" title="<?php esc_attr_e( 'Take a survey. Tell us how we&#8217;re doing.', 'jetpack' ); ?>"><?php _e( 'Give Us Feedback', 'jetpack' ); ?></a>
30
+
31
+ <?php if ( $is_active && current_user_can( 'jetpack_disconnect' ) ) : ?>
32
+ <a href="<?php echo wp_nonce_url( Jetpack::admin_url( 'action=disconnect' ), 'jetpack-disconnect' ); ?>" onclick="return confirm('<?php echo htmlspecialchars( __('Are you sure you want to disconnect from WordPress.com?', 'jetpack'), ENT_QUOTES ); ?>');"><?php esc_html_e( 'Disconnect from WordPress.com', 'jetpack' ); ?></a>
33
+ <?php endif; ?>
34
+ <?php if ( $is_active && $is_user_connected && ! $is_master_user ) : ?>
35
+ <a href="<?php echo wp_nonce_url( Jetpack::admin_url( 'action=unlink' ), 'jetpack-unlink' ); ?>"><?php esc_html_e( 'Unlink your user account', 'jetpack' ); ?></a>
36
+ <?php endif; ?>
37
+
38
+ </div>
39
+ </nav><!-- .secondary -->
40
+ </div><!-- .footer -->
41
 
42
  <div class="modal" aria-labelledby="modal-label">
43
  <header>
49
  </header>
50
  <div class="content-container"><div class="content"></div></div>
51
  </div>
52
+ <div class="shade"></div>
53
 
54
  </div><!-- .jp-frame -->
55
  </div><!-- .jp-content -->
_inc/header.php CHANGED
@@ -5,14 +5,14 @@
5
  <nav role="navigation" class="header-nav drawer-nav nav-horizontal">
6
 
7
  <ul class="main-nav">
8
- <li class="jetpack-logo"><a href="<?php echo Jetpack::admin_url(); ?>" title="<?php esc_attr_e( 'Home', 'jetpack' ); ?>" <?php if ( 'jetpack' == $current ) { echo 'class="current"'; } ?>><span><?php esc_html_e( 'Jetpack', 'jetpack' ); ?></span></a></li>
9
  <?php if ( ( Jetpack::is_active() || Jetpack::is_development_mode() )
10
  && current_user_can( 'jetpack_manage_modules' )
11
  ) : ?>
12
  <li class="jetpack-modules">
13
  <a href="<?php echo Jetpack::admin_url( 'page=jetpack_modules' ); ?>" class="jp-button--settings <?php if ( 'jetpack_modules' == $current ) { echo 'current'; } ?>"><?php esc_html_e( 'Settings', 'jetpack' ); ?></a>
14
  </li>
15
- <li class="jetpack-modules" style="margin-left:15px">
16
  <a href="http://jetpack.me/survey/?rel=<?php echo JETPACK__VERSION; ?>" class="jp-button--settings"><?php esc_html_e( 'Feedback', 'jetpack' ); ?></a>
17
  </li>
18
  <?php endif; ?>
5
  <nav role="navigation" class="header-nav drawer-nav nav-horizontal">
6
 
7
  <ul class="main-nav">
8
+ <li class="jetpack-logo"><a href="<?php echo Jetpack::admin_url(); ?>" title="<?php esc_attr_e( 'Jetpack', 'jetpack' ); ?>" <?php if ( 'jetpack' == $current ) { echo 'class="current"'; } ?>><span><?php esc_html_e( 'Jetpack', 'jetpack' ); ?></span></a></li>
9
  <?php if ( ( Jetpack::is_active() || Jetpack::is_development_mode() )
10
  && current_user_can( 'jetpack_manage_modules' )
11
  ) : ?>
12
  <li class="jetpack-modules">
13
  <a href="<?php echo Jetpack::admin_url( 'page=jetpack_modules' ); ?>" class="jp-button--settings <?php if ( 'jetpack_modules' == $current ) { echo 'current'; } ?>"><?php esc_html_e( 'Settings', 'jetpack' ); ?></a>
14
  </li>
15
+ <li class="jetpack-modules">
16
  <a href="http://jetpack.me/survey/?rel=<?php echo JETPACK__VERSION; ?>" class="jp-button--settings"><?php esc_html_e( 'Feedback', 'jetpack' ); ?></a>
17
  </li>
18
  <?php endif; ?>
_inc/jp.js CHANGED
@@ -6,13 +6,26 @@
6
  // INIT
7
  ///////////////////////////////////////
8
 
9
- var originPoint;
 
10
 
11
  $( document ).ready(function () {
 
 
 
 
 
 
 
 
 
 
12
  initEvents();
13
- filterModules( 'introduced' );
14
- loadModules();
15
- updateModuleCount();
 
 
16
  });
17
 
18
  ///////////////////////////////////////
@@ -40,128 +53,20 @@
40
  });
41
  }
42
 
43
- function filterModules( prop ) {
44
-
45
- // Mapping prior to sorting improves performance by over 50%
46
- var map = [],
47
- result = [],
48
- val = '',
49
- i,
50
- length;
51
-
52
- // create the map
53
- for ( i = 0, length = modules.length; i < length; i++ ) {
54
-
55
- // Prep value
56
- if ( 'name' === prop ) {
57
- val = modules[i][prop].toLowerCase();
58
- } else {
59
- val = parseInt( modules[i][prop].replace( '0:', '' ) * 10, 10 );
60
- }
61
-
62
- map.push( {
63
- index: i,
64
- value: val
65
- });
66
- }
67
-
68
- // sort the map
69
- map.sort(function( a, b ) {
70
- if ( 'name' === prop ) {
71
- return a.value > b.value ? 1 : -1;
72
- } else {
73
- return b.value > a.value ? 1 : -1;
74
- }
75
- });
76
-
77
- // copy values in right order
78
- for ( i = 0, length = map.length; i < length; i++ ) {
79
- result.push( modules[map[i].index] );
80
- result[i].index = i; // make sure we set the index to the right order
81
- }
82
-
83
- // Replace old object, with newly sorted object
84
- modules = result;
85
-
86
- // If all modules are already showing, make sure they stay expanded
87
- if ( ! $( '.load-more' ).is( ':visible' ) ) {
88
- $( '.module' ).fadeIn();
89
- }
90
- }
91
-
92
- function filterModulesByCategory() {
93
- var categories,
94
- c, i, catId;
95
-
96
- // First alphabatize the modules
97
- filterModules( 'name' );
98
-
99
- // Add category containers
100
- $( '.modules' ).html( wp.template( 'category' )( {} ) );
101
-
102
- // Loop through adding sections for each category
103
- for ( i = 0; i < modules.length; i++ ) {
104
- // Get categories
105
- categories = modules[i].module_tags;
106
-
107
- // Loop through each individual category
108
- for ( c = 0; c < categories.length; c++ ) {
109
- // Add modules to the correct categories
110
- catId = 'category-' + categories[c].toLowerCase().replace( '.', '' ).replace( / /g, '-' );
111
- $( '.' + catId + ' .clear' ).before( wp.template( 'mod' )( modules[i] ) );
112
- }
113
- }
114
-
115
- recalculateModuleHeights();
116
- initModalEvents();
117
- }
118
-
119
  function initEvents () {
120
- // DOPS toggle
121
- $( '#a8c-service-toggle, .dops-close' ).click(function() {
122
- $( '.a8c-dops' ).toggleClass( 'show' );
123
- $( '#a8c-service-toggle .genericon' ).toggleClass( 'genericon-downarrow' ).toggleClass( 'genericon-uparrow' );
124
- return false;
125
- });
126
-
127
- // Load more
128
- $( '.load-more' ).click(function() {
129
- showAllModules();
130
- return false;
131
- });
132
-
133
- // Module filtering
134
- $( '#newest, #category, #alphabetical' ).on( 'click', function () {
135
- var $this = $( this ),
136
- prop = $this.data( 'filter' );
137
 
138
- // Reset selected filter
139
- $( '.jp-filter a' ).removeClass( 'selected' );
140
- $this.addClass( 'selected' );
141
 
142
- if ( 'cat' === prop ) {
143
- filterModulesByCategory();
144
- } else {
145
- // Rearrange modules
146
- filterModules( prop );
147
-
148
- // Reload the DOM based on this new sort order
149
- loadModules();
150
- }
151
-
152
- showAllModules();
153
- return false;
154
  });
155
 
156
- // Search modules
157
- $( '#jetpack-search' ).on( 'keyup search', function() {
158
- var term = $( this ).val();
159
- searchModules( term );
160
- });
161
- // prevent the form from
162
- $( '#module-search' ).on( 'submit', function( event ) {
163
- event.preventDefault();
164
- });
165
 
166
  // Modal events
167
  $( document ).ready(function () {
@@ -179,24 +84,11 @@
179
  }, 100 );
180
  }
181
  };
182
-
183
- // Close shade toggle
184
- closeShadeToggle();
185
-
186
- // Show specific category of modules
187
- $( '.showFilter a' ).on( 'click', function () {
188
- $( '.showFilter a' ).removeClass( 'active' );
189
- $( this ).addClass( 'active' );
190
-
191
- // TODO Do sorting here
192
-
193
- return false;
194
- });
195
  }
196
 
197
  function initModalEvents() {
198
  var $modal = $( '.modal' );
199
- $( '.module, .feature a, .configs a' ).on( 'click keypress', function (e) {
200
  // Only show modal on enter when keypress recorded (accessibility)
201
  if ( e.keyCode && 13 !== e.keyCode ) {
202
  return;
@@ -208,14 +100,12 @@
208
 
209
  // Show loading message on init
210
  $modal.html( wp.template( 'modalLoading' )( {} ) ).fadeIn();
211
-
212
  // Load & populate with content
213
- var $this = $( this ),
214
  index = $this.data( 'index' ),
215
  name = $this.data( 'name' );
216
-
217
  $modal.empty().html( wp.template( 'modal' )( $.extend( modules[index], { name: name } ) ) );
218
-
219
  // Save the focused element, then shift focus to the modal window.
220
  originPoint = this;
221
  $modal[0].setAttribute( 'tabindex', '0' );
@@ -232,53 +122,68 @@
232
  });
233
  }
234
 
235
- function loadModules() {
 
 
 
 
 
 
 
 
236
  var html = '',
237
- featuredModules = [],
238
- featuredModulesIndex,
239
- i;
240
-
241
- if ( $( '.configure' ).length !== 0 ) {
242
- // Config page
243
- for ( i = 0; i < modules.length; i++ ) {
244
- html += wp.template( 'modconfig' )( modules[i] );
245
- }
246
 
247
- $( 'table tbody' ).html( html );
248
- } else {
249
- // Array of featured modules
250
- $( '.feature a.f-img' ).each(function() {
251
- featuredModules.push($( this ).data( 'module' ));
252
- });
 
 
 
 
 
253
 
254
- // About page
255
- for ( i = 0; i < modules.length; i++ ) {
256
- if ( currentVersion.indexOf( modules[i].introduced ) === 0 ) {
257
- modules[i]['new'] = true;
258
- }
 
 
259
 
260
- // Add data-index to featured modules
261
- featuredModulesIndex = featuredModules.indexOf( modules[i].module );
262
- if ( featuredModulesIndex > -1 ) {
263
- $( '.feature' ).eq( featuredModulesIndex ).find( 'a' ).data( 'index', i );
264
- }
265
 
266
- modules[i].index = i;
267
 
268
- html += wp.template( 'mod' )( modules[i] );
269
- }
 
 
270
 
271
- $( '.modules' ).html( html );
272
 
273
- recalculateModuleHeights();
274
- initModalEvents();
 
275
  }
 
 
 
276
  }
277
 
278
  function recalculateModuleHeights () {
279
-
280
  // Resize module heights based on screen resolution
281
- var module = $( '.module, .jp-support-column-left .widget-text' ),
282
  tallest = 0,
283
  thisHeight;
284
 
@@ -299,31 +204,96 @@
299
  module.css( 'height', tallest + 'px' );
300
  }
301
 
302
- function searchModules( term ) {
303
- var html = '', i, lowercaseDesc, lowercaseName, lowercaseTerm;
304
- for ( i = 0; i < modules.length; i++ ) {
305
- lowercaseDesc = modules[i].description.toLowerCase();
306
- lowercaseName = modules[i].name.toLowerCase();
307
- lowercaseTerm = term.toLowerCase();
308
- if ( lowercaseName.indexOf( lowercaseTerm ) !== -1 || lowercaseDesc.indexOf( lowercaseTerm ) !== -1 ) {
309
- html += wp.template( 'mod' )( modules[i] );
310
- }
311
- $( '.modules' ).html( html );
312
- }
313
- if ( '' === html ) {
314
- $( '.modules' ).text( jetpackL10n.no_modules_found.replace( '{term}', term ) );
315
- }
316
- recalculateModuleHeights();
317
- initModalEvents();
318
- }
319
 
320
- function showAllModules() {
321
- $( '.module' ).fadeIn();
322
- $( '.load-more' ).hide();
323
- }
 
 
 
 
 
 
 
 
324
 
325
- function updateModuleCount () {
326
- $( '.load-more' ).text( jetpackL10n.view_all_features );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
327
  }
328
 
329
  })( jQuery, jetpackL10n.modules, jetpackL10n.currentVersion, jetpackL10n );
6
  // INIT
7
  ///////////////////////////////////////
8
 
9
+ var originPoint,
10
+ data;
11
 
12
  $( document ).ready(function () {
13
+
14
+ data = {
15
+ 'action' : 'jetpack_admin_ajax',
16
+ 'jumpstartModules' : jetpackL10n.jumpstart_modules,
17
+ 'jumpstartModSlug' : jetpackL10n.jumpstart_modules,
18
+ 'jumpstartNonce' : jetpackL10n.activate_nonce,
19
+ 'jumpstartStatsURLS' : jetpackL10n.jumpstart_stats_urls,
20
+ 'showJumpstart' : jetpackL10n.show_jumpstart
21
+ };
22
+
23
  initEvents();
24
+ loadModules( 'Recommended', 'mod-recommended', '.modules' );
25
+ if('1' === data.showJumpstart) {
26
+ loadModules( 'Jumpstart', 'mod-jumpstart', '#jp-config-list' );
27
+ }
28
+ jumpStartAJAX();
29
  });
30
 
31
  ///////////////////////////////////////
53
  });
54
  }
55
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  function initEvents () {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
 
58
+ // Show preconfigured list of features to enable via "Jump-start"
59
+ $( '.jp-config-list-btn' ).click(function(){
60
+ $( '#jp-config-list' ).toggle();
61
 
62
+ //Log Jump Start event "learn more" in MC Stats
63
+ new Image().src = data.jumpstartStatsURLS.learnmore;
 
 
 
 
 
 
 
 
 
 
64
  });
65
 
66
+ // Hide the successful connection message after a little bit
67
+ setTimeout( function(){
68
+ jQuery( '.jetpack-message' ).hide( 600 );
69
+ }, 6000);
 
 
 
 
 
70
 
71
  // Modal events
72
  $( document ).ready(function () {
84
  }, 100 );
85
  }
86
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  }
88
 
89
  function initModalEvents() {
90
  var $modal = $( '.modal' );
91
+ $( '.module h3, .feature a, .configs a, .more-info' ).on( 'click keypress', function (e) {
92
  // Only show modal on enter when keypress recorded (accessibility)
93
  if ( e.keyCode && 13 !== e.keyCode ) {
94
  return;
100
 
101
  // Show loading message on init
102
  $modal.html( wp.template( 'modalLoading' )( {} ) ).fadeIn();
 
103
  // Load & populate with content
104
+ var $this = $( this ).parent(),
105
  index = $this.data( 'index' ),
106
  name = $this.data( 'name' );
107
+
108
  $modal.empty().html( wp.template( 'modal' )( $.extend( modules[index], { name: name } ) ) );
 
109
  // Save the focused element, then shift focus to the modal window.
110
  originPoint = this;
111
  $modal[0].setAttribute( 'tabindex', '0' );
122
  });
123
  }
124
 
125
+
126
+ /*
127
+ Load Modules for a template
128
+ @param string: The module tag you'd like to filter by
129
+ @param string: The template name
130
+ @param string: The target element to display the template
131
+ */
132
+ function loadModules( prop, template, location ) {
133
+ // Mapping prior to sorting improves performance by over 50%
134
  var html = '',
135
+ result = [],
136
+ val = '',
137
+ i,
138
+ length,
139
+ renderingmodules = [];
 
 
 
 
140
 
141
+ // create the map
142
+ for ( i = 0, length = modules.length; i < length; i++ ) {
143
+ if( modules[i].feature.indexOf(prop) !== -1 ) {
144
+ val = modules[i].name.toLowerCase();
145
+ result.push( {
146
+ index: i,
147
+ value: val,
148
+ order: modules[i].recommendation_order
149
+ });
150
+ }
151
+ }
152
 
153
+ // Sort modules by recommendation order
154
+ result.sort(function( a, b ) {
155
+ if (a.order === b.order ) {
156
+ return 0;
157
+ }
158
+ return ( a.order < b.order ) ? -1 : 1;
159
+ });
160
 
161
+ // copy values in right order
162
+ for ( i = 0, length = result.length; i < length; i++ ) {
163
+ renderingmodules.push( modules[result[i].index] );
164
+ renderingmodules[i].index = result[i].index; // make sure we set the index to the right order*/
165
+ }
166
 
 
167
 
168
+ // Render modules
169
+ for ( i = 0; i < renderingmodules.length; i++ ) {
170
+ html += wp.template( template )( renderingmodules[i] );
171
+ }
172
 
173
+ $( location ).append( html );
174
 
175
+ // track Jump Start views
176
+ if('Jumpstart' === prop) {
177
+ new Image().src = data.jumpstartStatsURLS.viewed;
178
  }
179
+
180
+ recalculateModuleHeights();
181
+ initModalEvents();
182
  }
183
 
184
  function recalculateModuleHeights () {
 
185
  // Resize module heights based on screen resolution
186
+ var module = $( '.jp-jumpstart, .module, .jp-support-column-left .widget-text' ),
187
  tallest = 0,
188
  thisHeight;
189
 
204
  module.css( 'height', tallest + 'px' );
205
  }
206
 
207
+ /*
208
+ Handles the jump start ajax requests.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
 
210
+ Dismissing the Jump Start area will set an option, so it will never be seen again
211
+ Initiating Jump Start will activate all modules that are recommended and set a sharing options while doing so.
212
+ For either request, if update_option has failed, look for an error in the console.
213
+ @todo delete the "reset everything" call - meant for testing only.
214
+ */
215
+ function jumpStartAJAX() {
216
+
217
+ // Will dismiss the Jump Start area, and set wp option in callback
218
+ $( '.dismiss-jumpstart' ).click(function(){
219
+ $( '#jump-start-area' ).hide( 600 );
220
+
221
+ data.disableJumpStart = true;
222
 
223
+ $.post( jetpackL10n.ajaxurl, data, function (response) {
224
+ // If there's no response, something bad happened
225
+ if ( ! response ) {
226
+ //console.log( 'Option "jetpack_dismiss_jumpstart" not updated.' );
227
+ }
228
+ });
229
+
230
+ // Log Jump Start event in MC Stats
231
+ new Image().src = data.jumpstartStatsURLS.dismiss;
232
+
233
+ return false;
234
+ });
235
+
236
+ // Activate all Jump-start modules
237
+ $( '#jump-start' ).click(function () {
238
+
239
+ var module, dataName, configURL;
240
+
241
+ $( '.spinner' ).show();
242
+
243
+ data.jumpStartActivate = 'jump-start-activate';
244
+
245
+ $( '#jp-config-list' ).hide();
246
+
247
+ $.post( jetpackL10n.ajaxurl, data, function (response) {
248
+ // If there's no response, option 'sharing-services' was not updated.
249
+ if ( ! response ) {
250
+ //console.log( 'Option "sharing-services" not updated. Either you already had sharing buttons enabled, or something is broken.' );
251
+ }
252
+
253
+ module = data.jumpstartModules;
254
+
255
+ // Only target Jump Start modules
256
+ _.each( module, function( mod ) {
257
+ dataName = $( 'div[data-name="' + mod.module_name + '"]' );
258
+ configURL = mod.configure_url;
259
+
260
+ // Replace inactive content with active, provide config url
261
+ _.find( dataName, function( div ) {
262
+ $( div.children ).find( '.notconfigurable ').hide();
263
+ $( div.children ).find( '.configurable ' ).replaceWith( '<a class="button alignright" data-name="' + mod.module_name + '" title="Configure" href="' + configURL + '">Configure</a>' );
264
+ div.className += ' active';
265
+ });
266
+ });
267
+
268
+ $( '.spinner, .jstart, #jumpstart-cta' ).hide();
269
+ $( '.jumpstart-message, .miguel' ).toggle();
270
+
271
+ // Log Jump Start event in MC Stats
272
+ new Image().src = data.jumpstartStatsURLS.jumpstarted;
273
+
274
+ });
275
+
276
+ return false;
277
+ });
278
+
279
+ /*
280
+ RESET EVERYTHING (for testing only)
281
+ @todo remove
282
+ */
283
+
284
+ $( '#jump-start-deactivate' ).click(function () {
285
+ $( '.spinner' ).show();
286
+
287
+ data.jumpStartDeactivate = 'jump-start-deactivate';
288
+
289
+ $.post( jetpackL10n.ajaxurl, data, function ( response ) {
290
+ //$('#jumpstart-cta').html(response);
291
+ $( '#deactivate-success' ).html( response );
292
+ $( '.spinner' ).hide();
293
+ });
294
+
295
+ return false;
296
+ });
297
  }
298
 
299
  })( jQuery, jetpackL10n.modules, jetpackL10n.currentVersion, jetpackL10n );
_inc/lib/admin-pages/class.jetpack-admin-page.php CHANGED
@@ -46,6 +46,16 @@ abstract class Jetpack_Admin_Page {
46
 
47
  function admin_head() {
48
  if ( isset( $_GET['configure'] ) && Jetpack::is_module( $_GET['configure'] ) && current_user_can( 'manage_options' ) ) {
 
 
 
 
 
 
 
 
 
 
49
  do_action( 'jetpack_module_configuration_head_' . $_GET['configure'] );
50
  }
51
  }
@@ -97,4 +107,3 @@ abstract class Jetpack_Admin_Page {
97
  wp_style_add_data( 'jetpack-admin', 'suffix', $min );
98
  }
99
  }
100
- ?>
46
 
47
  function admin_head() {
48
  if ( isset( $_GET['configure'] ) && Jetpack::is_module( $_GET['configure'] ) && current_user_can( 'manage_options' ) ) {
49
+ /**
50
+ * Fires in the <head> of a particular Jetpack configuation page.
51
+ *
52
+ * The dynamic portion of the hook name, `$_GET['configure']`,
53
+ * refers to the slug of module, such as 'stats', 'sso', etc.
54
+ * A complete hook for the latter would be
55
+ * 'jetpack_module_configuation_head_sso'.
56
+ *
57
+ * @since 3.0.0
58
+ */
59
  do_action( 'jetpack_module_configuration_head_' . $_GET['configure'] );
60
  }
61
  }
107
  wp_style_add_data( 'jetpack-admin', 'suffix', $min );
108
  }
109
  }
 
_inc/lib/admin-pages/class.jetpack-landing-page.php CHANGED
@@ -35,19 +35,92 @@ class Jetpack_Landing_Page extends Jetpack_Admin_Page {
35
  // Add the main admin Jetpack menu with possible information about new
36
  // modules
37
  add_menu_page( 'Jetpack', $title, 'jetpack_admin_page', 'jetpack', array( $this, 'render' ), 'div' );
38
- // also create the submenu
39
  return add_submenu_page( 'jetpack', $title, $title, 'jetpack_admin_page', 'jetpack' );
40
  }
41
 
42
  function add_page_actions( $hook ) {
43
  // Add landing page specific underscore templates
44
  add_action( "admin_footer-$hook", array( $this, 'js_templates' ) );
 
45
  do_action( 'jetpack_admin_menu', $hook );
46
 
47
  // Place the Jetpack menu item on top and others in the order they
48
  // appear
49
  add_filter( 'custom_menu_order', '__return_true' );
50
  add_filter( 'menu_order', array( $this, 'jetpack_menu_order' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  }
52
 
53
  function jetpack_menu_order( $menu_order ) {
@@ -89,13 +162,58 @@ class Jetpack_Landing_Page extends Jetpack_Admin_Page {
89
 
90
  // Set template data for the admin page template
91
  $data = array(
92
- 'is_connected' => $is_connected,
93
  'is_user_connected' => $is_user_connected,
94
- 'is_master_user' => $is_master_user
 
 
 
95
  );
96
  Jetpack::init()->load_view( 'admin/admin-page.php', $data );
97
  }
98
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  // Render the configuration page for the module if it exists and an error
100
  // screen if the module is not configurable
101
  function render_nojs_configurable() {
@@ -112,6 +230,24 @@ class Jetpack_Landing_Page extends Jetpack_Admin_Page {
112
  echo '</div><!-- /wrap -->';
113
  }
114
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  function page_admin_scripts() {
116
  // Enqueue jp.js and localize it
117
  wp_enqueue_script( 'jetpack-js', plugins_url( '_inc/jp.js', JETPACK__PLUGIN_FILE ),
@@ -127,8 +263,13 @@ class Jetpack_Landing_Page extends Jetpack_Admin_Page {
127
  'no_modules_found' => sprintf( __( 'Sorry, no modules were found for the search term "%s"', 'jetpack' ), '{term}' ),
128
  'modules' => array_values( Jetpack_Admin::init()->get_modules() ),
129
  'currentVersion' => JETPACK__VERSION,
 
 
 
 
 
 
130
  )
131
  );
132
  }
133
  }
134
- ?>
35
  // Add the main admin Jetpack menu with possible information about new
36
  // modules
37
  add_menu_page( 'Jetpack', $title, 'jetpack_admin_page', 'jetpack', array( $this, 'render' ), 'div' );
38
+ // also create the submenu
39
  return add_submenu_page( 'jetpack', $title, $title, 'jetpack_admin_page', 'jetpack' );
40
  }
41
 
42
  function add_page_actions( $hook ) {
43
  // Add landing page specific underscore templates
44
  add_action( "admin_footer-$hook", array( $this, 'js_templates' ) );
45
+ /** This action is documented in class.jetpack.php */
46
  do_action( 'jetpack_admin_menu', $hook );
47
 
48
  // Place the Jetpack menu item on top and others in the order they
49
  // appear
50
  add_filter( 'custom_menu_order', '__return_true' );
51
  add_filter( 'menu_order', array( $this, 'jetpack_menu_order' ) );
52
+
53
+ add_action( 'jetpack_notices_update_settings', array( $this, 'show_notices_update_settings' ), 10, 1 );
54
+ }
55
+
56
+ /*
57
+ * Build an array of a specific module tag.
58
+ *
59
+ * @param string Name of the module tag
60
+ * @return array The module slug, config url, and name of each Jump Start module
61
+ */
62
+ function jumpstart_module_tag( $tag ) {
63
+ $modules = Jetpack_Admin::init()->get_modules();
64
+
65
+ $module_info = array();
66
+ foreach ( $modules as $module => $value ) {
67
+ if ( in_array( $tag, $value['feature'] ) ) {
68
+ $module_info[] = array(
69
+ 'module_slug' => $value['module'],
70
+ 'module_name' => $value['name'],
71
+ 'configure_url' => $value['configure_url'],
72
+ );
73
+ }
74
+ }
75
+ return $module_info;
76
+ }
77
+
78
+ /*
79
+ * Only show Jump Start on first activation.
80
+ * Any option 'jumpstart' other than 'new connection' will hide it.
81
+ *
82
+ * The option can be of 4 things, and will be stored as such:
83
+ * new_connection : Brand new connection - Show
84
+ * jumpstart_activated : Jump Start has been activated - dismiss
85
+ * jetpack_action_taken: Manual activation of a module already happened - dismiss
86
+ * jumpstart_dismissed : Manual dismissal of Jump Start - dismiss
87
+ *
88
+ * @return bool | show or hide
89
+ */
90
+ function jetpack_show_jumpstart() {
91
+ $jumpstart_option = Jetpack_Options::get_option( 'jumpstart' );
92
+
93
+ $hide_options = array(
94
+ 'jumpstart_activated',
95
+ 'jetpack_action_taken',
96
+ 'jumpstart_dismissed'
97
+ );
98
+
99
+ if ( ! $jumpstart_option || in_array( $jumpstart_option, $hide_options ) ) {
100
+ return false;
101
+ }
102
+
103
+ return true;
104
+ }
105
+
106
+ /*
107
+ * List of recommended modules for the Jump Start paragraph text.
108
+ * Will only show up in the paragraph if they are not active.
109
+ *
110
+ * @return string | comma-separated recommended modules that are not active
111
+ */
112
+ function jumpstart_list_modules() {
113
+ $jumpstart_recommended = $this->jumpstart_module_tag( 'Jumpstart' );
114
+
115
+ $module_name = array();
116
+ foreach ( $jumpstart_recommended as $module => $val ) {
117
+ if ( ! Jetpack::is_module_active( $val['module_slug'] ) ) {
118
+ $module_name[] = $val['module_name'];
119
+ }
120
+ }
121
+ $jumpstart_module_list = implode( $module_name, ', ' );
122
+
123
+ return $jumpstart_module_list;
124
  }
125
 
126
  function jetpack_menu_order( $menu_order ) {
162
 
163
  // Set template data for the admin page template
164
  $data = array(
165
+ 'is_connected' => $is_connected,
166
  'is_user_connected' => $is_user_connected,
167
+ 'is_master_user' => $is_master_user,
168
+ 'show_jumpstart' => $this->jetpack_show_jumpstart(),
169
+ 'jumpstart_list' => $this->jumpstart_list_modules(),
170
+ 'recommended_list' => $this->jumpstart_module_tag( 'Recommended' ),
171
  );
172
  Jetpack::init()->load_view( 'admin/admin-page.php', $data );
173
  }
174
 
175
+ /**
176
+ * Shows a notice message to users after they save Module config settings
177
+ * @param string $module_id
178
+ * @return null
179
+ */
180
+ function show_notices_update_settings( $module_id ) {
181
+ $state = Jetpack::state( 'message' );
182
+
183
+ switch( $state ) {
184
+ case 'module_activated' :
185
+ if ( $module = Jetpack::get_module( Jetpack::state( 'module' ) ) ) {
186
+ $message = sprintf( __( '<strong>%s Activated!</strong> You can change the setting of it here.', 'jetpack' ), $module['name'] );
187
+ }
188
+ break;
189
+ case 'module_configured':
190
+ $message = __( '<strong>Module settings were saved.</strong> ', 'jetpack' );
191
+ break;
192
+ case 'no_message' :
193
+ break;
194
+ }
195
+
196
+ if ( isset( $message ) ) {
197
+ ?>
198
+ <div id="message" class="jetpack-message">
199
+ <div class="squeezer">
200
+ <h4><?php echo wp_kses( $message, array( 'strong' => array(), 'a' => array( 'href' => true ), 'br' => true ) ); ?></h4>
201
+ <?php
202
+ /**
203
+ * Fires within the displayed message when a feature configuation is updated.
204
+ *
205
+ * This is a dynamic hook with `$module_id` being the slug of the module being updated.
206
+ *
207
+ * @since 3.4.0
208
+ */
209
+ do_action( 'jetpack_notices_update_settings_' . $module_id ); ?>
210
+ </div>
211
+ </div>
212
+ <?php
213
+ }
214
+ add_action( 'jetpack_notices', array( Jetpack::init(), 'admin_notices' ) );
215
+ }
216
+
217
  // Render the configuration page for the module if it exists and an error
218
  // screen if the module is not configurable
219
  function render_nojs_configurable() {
230
  echo '</div><!-- /wrap -->';
231
  }
232
 
233
+ /*
234
+ * Build an array of Jump Start stats urls.
235
+ * requires the build URL args passed as an array
236
+ *
237
+ * @param array $jumpstart_stats
238
+ * @return (array) of built stats urls
239
+ */
240
+ function build_jumpstart_stats_urls( $jumpstart_stats ) {
241
+ $jumpstart_urls = array();
242
+
243
+ foreach ( $jumpstart_stats as $value) {
244
+ $jumpstart_urls[$value] = Jetpack::build_stats_url( array( 'x_jetpack-jumpstart' => $value ) );
245
+ }
246
+
247
+ return $jumpstart_urls;
248
+
249
+ }
250
+
251
  function page_admin_scripts() {
252
  // Enqueue jp.js and localize it
253
  wp_enqueue_script( 'jetpack-js', plugins_url( '_inc/jp.js', JETPACK__PLUGIN_FILE ),
263
  'no_modules_found' => sprintf( __( 'Sorry, no modules were found for the search term "%s"', 'jetpack' ), '{term}' ),
264
  'modules' => array_values( Jetpack_Admin::init()->get_modules() ),
265
  'currentVersion' => JETPACK__VERSION,
266
+ 'ajaxurl' => admin_url( 'admin-ajax.php' ),
267
+ 'jumpstart_modules' => $this->jumpstart_module_tag( 'Jumpstart' ),
268
+ 'show_jumpstart' => $this->jetpack_show_jumpstart(),
269
+ 'activate_nonce' => wp_create_nonce( 'jetpack-jumpstart-nonce' ),
270
+ 'jumpstart_stats_urls' => $this->build_jumpstart_stats_urls( array( 'dismiss', 'jumpstarted', 'learnmore', 'viewed', 'manual' ) ),
271
+ 'site_url_manage' => Jetpack::build_raw_urls( get_site_url() ),
272
  )
273
  );
274
  }
275
  }
 
_inc/lib/admin-pages/class.jetpack-settings-page.php CHANGED
@@ -19,7 +19,8 @@ class Jetpack_Settings_Page extends Jetpack_Admin_Page {
19
  $list_table = new Jetpack_Modules_List_Table;
20
  ?>
21
  <div class="clouds-sm"></div>
22
- <?php do_action( 'jetpack_notices' ) ?>
 
23
  <div class="page-content configure">
24
  <div class="frame top hide-if-no-js">
25
  <div class="wrap">
@@ -84,4 +85,3 @@ class Jetpack_Settings_Page extends Jetpack_Admin_Page {
84
  wp_enqueue_script( 'jetpack-admin-js', plugins_url( '_inc/jetpack-admin.js', JETPACK__PLUGIN_FILE ), array( 'jquery' ), JETPACK__VERSION . '-20121111' );
85
  }
86
  }
87
- ?>
19
  $list_table = new Jetpack_Modules_List_Table;
20
  ?>
21
  <div class="clouds-sm"></div>
22
+ <?php /** This action is documented in class.jetpack.php */
23
+ do_action( 'jetpack_notices' ) ?>
24
  <div class="page-content configure">
25
  <div class="frame top hide-if-no-js">
26
  <div class="wrap">
85
  wp_enqueue_script( 'jetpack-admin-js', plugins_url( '_inc/jetpack-admin.js', JETPACK__PLUGIN_FILE ), array( 'jquery' ), JETPACK__VERSION . '-20121111' );
86
  }
87
  }
 
_inc/lib/tonesque.php CHANGED
@@ -22,6 +22,13 @@ class Tonesque {
22
 
23
  $this->image_url = esc_url_raw( $image_url );
24
  $this->image_url = trim( $this->image_url );
 
 
 
 
 
 
 
25
  $this->image_url = apply_filters( 'tonesque_image_url', $this->image_url );
26
 
27
  $this->image_obj = self::imagecreatefromurl( $this->image_url );
22
 
23
  $this->image_url = esc_url_raw( $image_url );
24
  $this->image_url = trim( $this->image_url );
25
+ /**
26
+ * Allows any image URL to be passed in for $this->image_url.
27
+ *
28
+ * @since 2.5.0
29
+ *
30
+ * @param string $image_url The URL to any image
31
+ */
32
  $this->image_url = apply_filters( 'tonesque_image_url', $this->image_url );
33
 
34
  $this->image_obj = self::imagecreatefromurl( $this->image_url );
class.jetpack-admin.php CHANGED
@@ -66,7 +66,14 @@ class Jetpack_Admin {
66
  foreach ( $available_modules as $module ) {
67
  if ( $module_array = $this->jetpack->get_module( $module ) ) {
68
  $short_desc = apply_filters( 'jetpack_short_module_description', $module_array['description'], $module );
69
- $short_desc_trunc = ( strlen( $short_desc ) > 143 ) ? substr( $short_desc, 0, 140 ) . '...' : $short_desc;
 
 
 
 
 
 
 
70
 
71
  $module_array['module'] = $module;
72
  $module_array['activated'] = ( $jetpack_active ? in_array( $module, $active_modules ) : false );
66
  foreach ( $available_modules as $module ) {
67
  if ( $module_array = $this->jetpack->get_module( $module ) ) {
68
  $short_desc = apply_filters( 'jetpack_short_module_description', $module_array['description'], $module );
69
+ // Fix: correct multibyte strings truncate with checking for mbstring extension
70
+ $short_desc_trunc = ( function_exists( 'mb_strlen' ) )
71
+ ? ( ( mb_strlen( $short_desc ) > 143 )
72
+ ? mb_substr( $short_desc, 0, 140 ) . '...'
73
+ : $short_desc )
74
+ : ( ( strlen( $short_desc ) > 143 )
75
+ ? substr( $short_desc, 0, 140 ) . '...'
76
+ : $short_desc );
77
 
78
  $module_array['module'] = $module;
79
  $module_array['activated'] = ( $jetpack_active ? in_array( $module, $active_modules ) : false );
class.jetpack-autoupdate.php CHANGED
@@ -1,11 +1,27 @@
1
  <?php
2
 
3
- // Update any plugins that have been flagged for automatic updates
4
- // TODO: update themes and core
 
 
5
  class Jetpack_Autoupdate {
6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  private static $instance = null;
8
- protected $updates_allowed;
9
 
10
  static function init() {
11
  if ( is_null( self::$instance ) ) {
@@ -15,19 +31,31 @@ class Jetpack_Autoupdate {
15
  }
16
 
17
  private function __construct() {
18
- $this->updates_allowed = Jetpack_Options::get_option( 'json_api_full_management', false );
19
 
 
20
  if ( $this->updates_allowed ) {
21
  add_filter( 'auto_update_plugin', array( $this, 'autoupdate_plugin' ), 10, 2 );
22
  add_filter( 'auto_update_theme', array( $this, 'autoupdate_theme' ), 10, 2 );
23
  add_filter( 'auto_update_core', array( $this, 'autoupdate_core' ), 10, 2 );
 
 
24
  }
 
 
 
 
 
 
 
 
25
  }
26
 
27
  function autoupdate_plugin( $update, $item ) {
28
  $autoupdate_plugin_list = Jetpack_Options::get_option( 'autoupdate_plugins', array() );
29
  if ( in_array( $item->plugin, $autoupdate_plugin_list ) ) {
30
- return true;
 
31
  }
32
 
33
  return $update;
@@ -36,6 +64,7 @@ class Jetpack_Autoupdate {
36
  function autoupdate_theme( $update, $item ) {
37
  $autoupdate_theme_list = Jetpack_Options::get_option( 'autoupdate_themes', array() );
38
  if ( in_array( $item->theme , $autoupdate_theme_list) ) {
 
39
  return true;
40
  }
41
  return $update;
@@ -48,5 +77,198 @@ class Jetpack_Autoupdate {
48
  }
49
  return $update;
50
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  }
52
  Jetpack_Autoupdate::init();
1
  <?php
2
 
3
+ /**
4
+ * Handles items that have been selected for automatic updates.
5
+ * Hooks into WP_Automatic_Updater
6
+ */
7
  class Jetpack_Autoupdate {
8
 
9
+ public $updates_allowed;
10
+ public $jetpack;
11
+ public $autoupdate_results;
12
+ public $is_updating = false;
13
+
14
+ public $autoupdate_expected = array(
15
+ 'plugin'=> array(),
16
+ 'theme' => array(),
17
+ );
18
+
19
+ public $log = array(
20
+ 'plugin' => array(),
21
+ 'theme' => array(),
22
+ );
23
+
24
  private static $instance = null;
 
25
 
26
  static function init() {
27
  if ( is_null( self::$instance ) ) {
31
  }
32
 
33
  private function __construct() {
34
+ $this->updates_allowed = Jetpack::is_module_active( 'manage' );
35
 
36
+ // Only run automatic updates if a user as opted in by activating the manage module.
37
  if ( $this->updates_allowed ) {
38
  add_filter( 'auto_update_plugin', array( $this, 'autoupdate_plugin' ), 10, 2 );
39
  add_filter( 'auto_update_theme', array( $this, 'autoupdate_theme' ), 10, 2 );
40
  add_filter( 'auto_update_core', array( $this, 'autoupdate_core' ), 10, 2 );
41
+ add_action( 'automatic_updates_complete', array( $this, 'automatic_updates_complete' ), 10, 1 );
42
+ add_action( 'shutdown', array( $this, 'log_results' ) );
43
  }
44
+
45
+ // Anytime WordPress saves update data, we'll want to update our Jetpack option as well.
46
+ if ( is_main_site() ) {
47
+ add_action( 'set_site_transient_update_plugins', array( $this, 'save_update_data' ) );
48
+ add_action( 'set_site_transient_update_themes', array( $this, 'save_update_data' ) );
49
+ add_action( 'set_site_transient_update_core', array( $this, 'save_update_data' ) );
50
+ }
51
+
52
  }
53
 
54
  function autoupdate_plugin( $update, $item ) {
55
  $autoupdate_plugin_list = Jetpack_Options::get_option( 'autoupdate_plugins', array() );
56
  if ( in_array( $item->plugin, $autoupdate_plugin_list ) ) {
57
+ $this->expect( $item->plugin );
58
+ return true;
59
  }
60
 
61
  return $update;
64
  function autoupdate_theme( $update, $item ) {
65
  $autoupdate_theme_list = Jetpack_Options::get_option( 'autoupdate_themes', array() );
66
  if ( in_array( $item->theme , $autoupdate_theme_list) ) {
67
+ $this->expect( $item->theme, $type = 'theme' );
68
  return true;
69
  }
70
  return $update;
77
  }
78
  return $update;
79
  }
80
+
81
+ /**
82
+ * Stores the an item identifier to the autoupdate_expected array.
83
+ *
84
+ * @param string $item Example: 'jetpack/jetpack.php' for type 'plugin' or 'twentyfifteen' for type 'theme'
85
+ * @param string $type 'plugin' or 'theme'
86
+ */
87
+ function expect( $item, $type='plugin' ) {
88
+ $this->is_updating = true;
89
+ $this->autoupdate_expected[ $type ][] = $item;
90
+ }
91
+
92
+ /**
93
+ * Calculates available updates and saves them to a Jetpack Option
94
+ * Update data is saved in the following schema:
95
+ *
96
+ * array (
97
+ * 'plugins' => (int) number of plugin updates available
98
+ * 'themes' => (int) number of theme updates available
99
+ * 'wordpress' => (int) number of wordpress core updates available
100
+ * 'translations' => (int) number of translation updates available
101
+ * 'total' => (int) total of all available updates
102
+ * 'wp_version' => (string) the current version of WordPress that is running
103
+ * 'wp_update_version' => (string) the latest available version of WordPress, only present if a WordPress update is needed
104
+ * 'site_is_version_controlled' => (bool) is the site under version control
105
+ * )
106
+ */
107
+ function save_update_data() {
108
+ global $wp_version;
109
+
110
+ $update_data = wp_get_update_data();
111
+
112
+ // Stores the individual update counts as well as the total count.
113
+ if ( isset( $update_data['counts'] ) ) {
114
+ $updates = $update_data['counts'];
115
+ }
116
+
117
+ // Stores the current version of WordPress.
118
+ $updates['wp_version'] = $wp_version;
119
+
120
+ // If we need to update WordPress core, let's find the latest version number.
121
+ if ( ! empty( $updates['wordpress'] ) ) {
122
+ $cur = get_preferred_from_update_core();
123
+ if ( isset( $cur->response ) && 'upgrade' === $cur->response ) {
124
+ $updates['wp_update_version'] = $cur->current;
125
+ }
126
+ }
127
+
128
+ $updates['site_is_version_controlled'] = (bool) $this->is_version_controlled();
129
+ Jetpack_Options::update_option( 'updates', $updates );
130
+ }
131
+
132
+ /**
133
+ * Finds out if a site is using a version control system.
134
+ * We'll store that information as a transient with a 24 expiration.
135
+ * We only need to check once per day.
136
+ *
137
+ * @return string ( '1' | '0' )
138
+ */
139
+ function is_version_controlled() {
140
+ $is_version_controlled = get_transient( 'jetpack_site_is_vcs' );
141
+
142
+ if ( false === $is_version_controlled ) {
143
+ include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
144
+ $updater = new WP_Automatic_Updater();
145
+ $is_version_controlled = strval( $updater->is_vcs_checkout( $context = ABSPATH ) );
146
+ // transients should not be empty
147
+ if ( empty( $is_version_controlled ) ) {
148
+ $is_version_controlled = '0';
149
+ }
150
+ set_transient( 'jetpack_site_is_vcs', $is_version_controlled, DAY_IN_SECONDS );
151
+ }
152
+
153
+ return $is_version_controlled;
154
+ }
155
+
156
+ /**
157
+ * On completion of an automatic update, let's store the results.
158
+ *
159
+ * @param $results - Sent by WP_Automatic_Updater after it completes an autoupdate action. Results may be empty.
160
+ */
161
+ function automatic_updates_complete( $results ) {
162
+ $this->autoupdate_results = $results;
163
+ }
164
+
165
+ /**
166
+ * On shutdown, let's check to see if we've preformed an automatic update.
167
+ * If so, let's compare the expected results to the actual results, and log our findings.
168
+ *
169
+ * Results are logged locally via Jetpack::log(), and globally via Jetpack::do_stats()
170
+ */
171
+ function log_results() {
172
+
173
+ if ( $this->is_updating ) {
174
+
175
+ $this->jetpack = Jetpack::init();
176
+ $items_to_log = array( 'plugin', 'theme' );
177
+
178
+ foreach( $items_to_log as $items ) {
179
+ $this->log_items( $items );
180
+ }
181
+
182
+ $this->jetpack->do_stats( 'server_side' );
183
+ $this->jetpack->log( 'autoupdates', $this->log );
184
+ }
185
+ }
186
+
187
+ /**
188
+ * Iterates through expected items ( plugins or themes ) and compares them to actual results.
189
+ *
190
+ * @param $items 'plugin' or 'theme'
191
+ */
192
+ function log_items( $items ) {
193
+ $items_updated = 0;
194
+ $items_failed = 0;
195
+ $item_results = $this->get_successful_updates( $items );
196
+
197
+ foreach( $this->autoupdate_expected[ $items ] as $item ) {
198
+ if ( in_array( $item, $item_results ) ) {
199
+ $items_updated++;
200
+ $this->log[ $items ][ $item ] = true;
201
+ } else {
202
+ $items_failed++;
203
+ $this->log[ $items ][ $item ] = new WP_Error( "$items-fail", $this->get_error_message( $item, $type = $items ) );
204
+ }
205
+ }
206
+
207
+ if ( $items_updated ) {
208
+ $this->jetpack->stat( "autoupdates/$items-success", $items_updated );
209
+ }
210
+
211
+ if ( $items_failed ) {
212
+ $this->jetpack->stat( "autoupdates/$items-fail", $items_failed );
213
+ }
214
+
215
+ }
216
+
217
+ /**
218
+ * Parses the autoupdate results generated by WP_Automatic_Updater and returns a simple array of successful items
219
+ *
220
+ * @param string $type 'plugin' or 'theme'
221
+ *
222
+ * @return array
223
+ */
224
+ private function get_successful_updates( $type = 'plugin' ) {
225
+ $successful_updates = array();
226
+
227
+ if ( ! isset( $this->autoupdate_results[ $type ] ) ) {
228
+ return $successful_updates;
229
+ }
230
+
231
+ foreach( $this->autoupdate_results[ $type ] as $result ) {
232
+ if ( $result->result ) {
233
+ switch( $type ) {
234
+ case 'theme':
235
+ $successful_updates[] = $result->item->theme;
236
+ break;
237
+ default:
238
+ $successful_updates[] = $result->item->plugin;
239
+ }
240
+ }
241
+ }
242
+
243
+ return $successful_updates;
244
+ }
245
+
246
+ /**
247
+ * Cycles through results generated by WP_Automatic_Updater to find the messages for the given item and item type.
248
+ *
249
+ * @param $item Example: 'jetpack/jetpack.php' for type 'plugin' or 'twentyfifteen' for type 'theme'
250
+ * @param string $type 'plugin' or 'theme'
251
+ *
252
+ * @return bool|string
253
+ */
254
+ private function get_error_message( $item, $type = 'plugin' ) {
255
+ if ( ! isset( $this->autoupdate_results[ $type ] ) ) {
256
+ return false;
257
+ }
258
+ foreach( $this->autoupdate_results[ $type ] as $result ) {
259
+ switch( $type ) {
260
+ case 'theme':
261
+ $id = $result->item->theme;
262
+ break;
263
+ default:
264
+ $id = $result->item->plugin;
265
+ }
266
+ if ( $id == $item && isset( $result->messages ) ) {
267
+ return implode( ', ', $result->messages );
268
+ }
269
+ }
270
+ return false;
271
+ }
272
+
273
  }
274
  Jetpack_Autoupdate::init();
class.jetpack-client-server.php CHANGED
@@ -91,7 +91,8 @@ class Jetpack_Client_Server {
91
  Jetpack::activate_default_modules();
92
  }
93
 
94
- $jetpack->sync->register( 'noop' ); // Spawn a sync to make sure the Jetpack Servers know what modules are active.
 
95
 
96
  // Start nonce cleaner
97
  wp_clear_scheduled_hook( 'jetpack_clean_nonces' );
@@ -108,6 +109,7 @@ class Jetpack_Client_Server {
108
  }
109
 
110
  public static function deactivate_plugin( $probable_file, $probable_title ) {
 
111
  if ( is_plugin_active( $probable_file ) ) {
112
  deactivate_plugins( $probable_file );
113
  return 1;
91
  Jetpack::activate_default_modules();
92
  }
93
 
94
+ // Sync all registers options and constants
95
+ do_action( 'jetpack_sync_all_registered_options' );
96
 
97
  // Start nonce cleaner
98
  wp_clear_scheduled_hook( 'jetpack_clean_nonces' );
109
  }
110
 
111
  public static function deactivate_plugin( $probable_file, $probable_title ) {
112
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
113
  if ( is_plugin_active( $probable_file ) ) {
114
  deactivate_plugins( $probable_file );
115
  return 1;
class.jetpack-client.php CHANGED
@@ -51,7 +51,12 @@ class Jetpack_Client {
51
  $jetpack_signature = new Jetpack_Signature( $token->secret, $time_diff );
52
 
53
  $timestamp = time() + $time_diff;
54
- $nonce = wp_generate_password( 10, false );
 
 
 
 
 
55
 
56
  // Kind of annoying. Maybe refactor Jetpack_Signature to handle body-hashing
57
  if ( is_null( $body ) ) {
51
  $jetpack_signature = new Jetpack_Signature( $token->secret, $time_diff );
52
 
53
  $timestamp = time() + $time_diff;
54
+
55
+ if( function_exists( 'wp_generate_password' ) ) {
56
+ $nonce = wp_generate_password( 10, false );
57
+ } else {
58
+ $nonce = substr( sha1( rand( 0, 1000000 ) ), 0, 10);
59
+ }
60
 
61
  // Kind of annoying. Maybe refactor Jetpack_Signature to handle body-hashing
62
  if ( is_null( $body ) ) {
class.jetpack-heartbeat.php CHANGED
@@ -111,24 +111,7 @@ class Jetpack_Heartbeat {
111
  $return["{$prefix}identitycrisis"] = Jetpack::check_identity_crisis( 1 ) ? 'yes' : 'no';
112
  $return["{$prefix}plugins"] = implode( ',', Jetpack::get_active_plugins() );
113
 
114
- switch ( Jetpack_Options::get_option( 'json_api_full_management', null ) ) {
115
- case null:
116
- $return["{$prefix}full_manage"] = 'unset';
117
- break;
118
- case false:
119
- $return["{$prefix}full_manage"] = 'false';
120
- break;
121
- case true:
122
- $return["{$prefix}full_manage"] = 'true';
123
- break;
124
- default:
125
- $return["{$prefix}full_manage"] = Jetpack_Options::get_option( 'json_api_full_management', null );
126
- }
127
-
128
- if ( ! Jetpack_Options::get_option( 'public' ) ) {
129
- // Also flag things as private since we don't provide the user with option to easy opt into if the site is private
130
- $return["{$prefix}full_manage"] = 'private-' . $return["{$prefix}full_manage"];
131
- }
132
 
133
  // is-multi-network can have three values, `single-site`, `single-network`, and `multi-network`
134
  $return["{$prefix}is-multi-network"] = 'single-site';
@@ -141,7 +124,6 @@ class Jetpack_Heartbeat {
141
  $ip_arr = array_map( 'intval', explode( '.', $ip ) );
142
  if ( 4 == count( $ip_arr ) ) {
143
  $return["{$prefix}ip-2-octets"] = implode( '.', array_slice( $ip_arr, 0, 2 ) );
144
- $return["{$prefix}ip-3-octets"] = implode( '.', array_slice( $ip_arr, 0, 3 ) );
145
  }
146
  }
147
 
111
  $return["{$prefix}identitycrisis"] = Jetpack::check_identity_crisis( 1 ) ? 'yes' : 'no';
112
  $return["{$prefix}plugins"] = implode( ',', Jetpack::get_active_plugins() );
113
 
114
+ $return["{$prefix}manage-enabled"] = Jetpack::is_module_active( 'manage' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
 
116
  // is-multi-network can have three values, `single-site`, `single-network`, and `multi-network`
117
  $return["{$prefix}is-multi-network"] = 'single-site';
124
  $ip_arr = array_map( 'intval', explode( '.', $ip ) );
125
  if ( 4 == count( $ip_arr ) ) {
126
  $return["{$prefix}ip-2-octets"] = implode( '.', array_slice( $ip_arr, 0, 2 ) );
 
127
  }
128
  }
129
 
class.jetpack-modules-list-table.php CHANGED
@@ -12,7 +12,7 @@ class Jetpack_Modules_List_Table extends WP_List_Table {
12
 
13
  // In WP 4.2 WP_List_Table will be sanitizing which values are __set()
14
  global $wp_version;
15
- if ( version_compare( $wp_version, '4.2-z', '>=' ) ) {
16
  array_push( $this->compat_fields, 'all_items' );
17
  }
18
 
@@ -115,6 +115,9 @@ class Jetpack_Modules_List_Table extends WP_List_Table {
115
  'all' => sprintf( $format, $title, $count, $url, $current ),
116
  );
117
  foreach ( $module_tags_unique as $title => $count ) {
 
 
 
118
  $key = sanitize_title( $title );
119
  $display_title = esc_html( wptexturize( $title ) );
120
  $url = esc_url( add_query_arg( 'module_tag', urlencode( $title ) ) );
12
 
13
  // In WP 4.2 WP_List_Table will be sanitizing which values are __set()
14
  global $wp_version;
15
+ if ( version_compare( $wp_version, '4.2-z', '>=' ) && $this->compat_fields && is_array( $this->compat_fields ) ) {
16
  array_push( $this->compat_fields, 'all_items' );
17
  }
18
 
115
  'all' => sprintf( $format, $title, $count, $url, $current ),
116
  );
117
  foreach ( $module_tags_unique as $title => $count ) {
118
+ if( 'Jumpstart' == $title ) {
119
+ continue;
120
+ }
121
  $key = sanitize_title( $title );
122
  $display_title = esc_html( wptexturize( $title ) );
123
  $url = esc_url( add_query_arg( 'module_tag', urlencode( $title ) ) );
class.jetpack-options.php CHANGED
@@ -2,12 +2,16 @@
2
 
3
  class Jetpack_Options {
4
 
 
 
 
 
 
5
  public static function get_option_names( $type = 'compact' ) {
6
  switch ( $type ) {
7
  case 'non-compact' :
8
  case 'non_compact' :
9
  return array(
10
- 'register',
11
  'activated',
12
  'active_modules',
13
  'available_modules',
@@ -19,24 +23,30 @@ class Jetpack_Options {
19
  'wpcc_options',
20
  'relatedposts',
21
  'file_data',
 
22
  'autoupdate_plugins', // (array) An array of plugin ids ( eg. jetpack/jetpack ) that should be autoupdated
23
  'autoupdate_themes', // (array) An array of theme ids ( eg. twentyfourteen ) that should be autoupdated
24
  'autoupdate_core', // (bool) Whether or not to autoupdate core
25
  'json_api_full_management', // (bool) Allow full management (eg. Activate, Upgrade plugins) of the site via the JSON API.
26
  'sync_non_public_post_stati', // (bool) Allow synchronisation of posts and pages with non-public status.
27
- 'site_icon_url', // (string) url to the full site icon
28
- 'site_icon_id', // (int) Attachment id of the site icon file
29
- 'dismissed_manage_banner' // (bool) Dismiss jetpack manage banner allows the user to dismiss the banner permenetly
 
 
 
 
 
 
 
 
30
  );
31
  }
32
 
33
  return array(
34
  'id', // (int) The Client ID/WP.com Blog ID of this site.
35
- 'blog_token', // (string) The Client Secret/Blog Token of this site.
36
- 'user_token', // (string) The User Token of this site. (deprecated)
37
  'publicize_connections', // (array) An array of Publicize connections from WordPress.com
38
  'master_user', // (int) The local User ID of the user who connected this site to jetpack.wordpress.com.
39
- 'user_tokens', // (array) User Tokens for each user of this site who has connected to jetpack.wordpress.com.
40
  'version', // (string) Used during upgrade procedure to auto-activate new modules. version:time
41
  'old_version', // (string) Used to determine which modules are the most recently added. previous_version:time
42
  'fallback_no_verify_ssl_certs', // (int) Flag for determining if this host must skip SSL Certificate verification due to misconfigured SSL.
@@ -48,116 +58,167 @@ class Jetpack_Options {
48
  'identity_crisis_whitelist', // (array) An array of options, each having an array of the values whitelisted for it.
49
  'gplus_authors', // (array) The Google+ authorship information for connected users.
50
  'last_heartbeat', // (int) The timestamp of the last heartbeat that fired.
 
51
  'sync_bulk_reindexing', // (bool) If a bulk reindex is currently underway.
 
52
  );
53
  }
54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  /**
56
  * Returns the requested option. Looks in jetpack_options or jetpack_$name as appropriate.
57
- *
58
- * @param string $name Option name
59
- * @param mixed $default (optional)
60
  */
61
  public static function get_option( $name, $default = false ) {
62
- if ( in_array( $name, self::get_option_names( 'non_compact' ) ) ) {
63
  return get_option( "jetpack_$name", $default );
64
- } else if ( !in_array( $name, self::get_option_names() ) ) {
65
- trigger_error( sprintf( 'Invalid Jetpack option name: %s', $name ), E_USER_WARNING );
66
- return false;
67
  }
68
 
69
- $options = get_option( 'jetpack_options' );
70
- if ( is_array( $options ) && isset( $options[$name] ) ) {
71
- return $options[$name];
 
72
  }
73
 
 
 
74
  return $default;
75
  }
76
 
 
 
 
 
 
 
 
 
 
 
77
  /**
78
  * Updates the single given option. Updates jetpack_options or jetpack_$name as appropriate.
79
- *
80
- * @param string $name Option name
81
- * @param mixed $value Option value
82
  */
83
  public static function update_option( $name, $value ) {
84
  do_action( 'pre_update_jetpack_option_' . $name, $name, $value );
85
- if ( in_array( $name, self::get_option_names( 'non_compact' ) ) ) {
86
  return update_option( "jetpack_$name", $value );
87
- } else if ( !in_array( $name, self::get_option_names() ) ) {
88
- trigger_error( sprintf( 'Invalid Jetpack option name: %s', $name ), E_USER_WARNING );
89
- return false;
90
  }
91
 
92
- $options = get_option( 'jetpack_options' );
93
- if ( !is_array( $options ) ) {
94
- $options = array();
 
95
  }
96
 
97
- $options[$name] = $value;
98
 
99
- return update_option( 'jetpack_options', $options );
100
  }
101
 
102
  /**
103
  * Updates the multiple given options. Updates jetpack_options and/or jetpack_$name as appropriate.
104
- *
105
  * @param array $array array( option name => option value, ... )
106
  */
107
  public static function update_options( $array ) {
108
  $names = array_keys( $array );
109
 
110
- foreach ( array_diff( $names, self::get_option_names(), self::get_option_names( 'non_compact' ) ) as $unknown_name ) {
111
  trigger_error( sprintf( 'Invalid Jetpack option name: %s', $unknown_name ), E_USER_WARNING );
112
- unset( $array[$unknown_name] );
113
- }
114
-
115
- foreach ( array_intersect( $names, self::get_option_names( 'non_compact' ) ) as $name ) {
116
- update_option( "jetpack_$name", $array[$name] );
117
- unset( $array[$name] );
118
  }
119
 
120
- $options = get_option( 'jetpack_options' );
121
- if ( !is_array( $options ) ) {
122
- $options = array();
123
  }
124
-
125
- return update_option( 'jetpack_options', array_merge( $options, $array ) );
126
  }
127
 
128
  /**
129
  * Deletes the given option. May be passed multiple option names as an array.
130
  * Updates jetpack_options and/or deletes jetpack_$name as appropriate.
131
- *
132
  * @param string|array $names
133
  */
134
  public static function delete_option( $names ) {
135
- $names = (array) $names;
 
136
 
137
- foreach ( array_diff( $names, self::get_option_names(), self::get_option_names( 'non_compact' ) ) as $unknown_name ) {
138
- trigger_error( sprintf( 'Invalid Jetpack option name: %s', $unknown_name ), E_USER_WARNING );
 
 
139
  }
140
 
141
  foreach ( array_intersect( $names, self::get_option_names( 'non_compact' ) ) as $name ) {
142
- delete_option( "jetpack_$name" );
 
 
143
  }
144
 
145
- $options = get_option( 'jetpack_options' );
146
- if ( !is_array( $options ) ) {
147
- $options = array();
 
 
 
 
 
 
 
 
 
 
148
  }
149
 
150
- $to_delete = array_intersect( $names, self::get_option_names(), array_keys( $options ) );
 
 
 
 
 
 
151
  if ( $to_delete ) {
152
  foreach ( $to_delete as $name ) {
153
- unset( $options[$name] );
154
  }
155
 
156
- return update_option( 'jetpack_options', $options );
157
  }
158
 
159
  return true;
160
  }
161
 
162
  }
163
-
2
 
3
  class Jetpack_Options {
4
 
5
+ private static $grouped_options = array(
6
+ 'compact' => 'jetpack_options',
7
+ 'private' => 'jetpack_private_options'
8
+ );
9
+
10
  public static function get_option_names( $type = 'compact' ) {
11
  switch ( $type ) {
12
  case 'non-compact' :
13
  case 'non_compact' :
14
  return array(
 
15
  'activated',
16
  'active_modules',
17
  'available_modules',
23
  'wpcc_options',
24
  'relatedposts',
25
  'file_data',
26
+ 'security_report',
27
  'autoupdate_plugins', // (array) An array of plugin ids ( eg. jetpack/jetpack ) that should be autoupdated
28
  'autoupdate_themes', // (array) An array of theme ids ( eg. twentyfourteen ) that should be autoupdated
29
  'autoupdate_core', // (bool) Whether or not to autoupdate core
30
  'json_api_full_management', // (bool) Allow full management (eg. Activate, Upgrade plugins) of the site via the JSON API.
31
  'sync_non_public_post_stati', // (bool) Allow synchronisation of posts and pages with non-public status.
32
+ 'site_icon_url', // (string) url to the full site icon
33
+ 'site_icon_id', // (int) Attachment id of the site icon file
34
+ 'dismissed_manage_banner', // (bool) Dismiss Jetpack manage banner allows the user to dismiss the banner permanently
35
+ 'updates', // (array) information about available updates to plugins, theme, WordPress core, and if site is under version control
36
+ );
37
+ case 'private' :
38
+ return array(
39
+ 'register',
40
+ 'blog_token', // (string) The Client Secret/Blog Token of this site.
41
+ 'user_token', // (string) The User Token of this site. (deprecated)
42
+ 'user_tokens' // (array) User Tokens for each user of this site who has connected to jetpack.wordpress.com.
43
  );
44
  }
45
 
46
  return array(
47
  'id', // (int) The Client ID/WP.com Blog ID of this site.
 
 
48
  'publicize_connections', // (array) An array of Publicize connections from WordPress.com
49
  'master_user', // (int) The local User ID of the user who connected this site to jetpack.wordpress.com.
 
50
  'version', // (string) Used during upgrade procedure to auto-activate new modules. version:time
51
  'old_version', // (string) Used to determine which modules are the most recently added. previous_version:time
52
  'fallback_no_verify_ssl_certs', // (int) Flag for determining if this host must skip SSL Certificate verification due to misconfigured SSL.
58
  'identity_crisis_whitelist', // (array) An array of options, each having an array of the values whitelisted for it.
59
  'gplus_authors', // (array) The Google+ authorship information for connected users.
60
  'last_heartbeat', // (int) The timestamp of the last heartbeat that fired.
61
+ 'last_security_report', // (int) The timestamp of the last security report that was run.
62
  'sync_bulk_reindexing', // (bool) If a bulk reindex is currently underway.
63
+ 'jumpstart' // (string) A flag for whether or not to show the Jump Start. Accepts: new_connection, jumpstart_activated, jetpack_action_taken, jumpstart_dismissed.
64
  );
65
  }
66
 
67
+ public static function is_valid( $name, $group = null ) {
68
+ if ( is_array( $name ) ) {
69
+ $compact_names = array();
70
+ foreach ( array_keys( self::$grouped_options ) as $_group ) {
71
+ $compact_names = array_merge( $compact_names, self::get_option_names( $_group ) );
72
+ }
73
+
74
+ $result = array_diff( $name, self::get_option_names( 'non_compact' ), $compact_names );
75
+
76
+ return empty( $result );
77
+ }
78
+
79
+ if ( is_null( $group ) || 'non_compact' === $group ) {
80
+ if ( in_array( $name, self::get_option_names( $group ) ) ) {
81
+ return true;
82
+ }
83
+ }
84
+
85
+ foreach ( array_keys( self::$grouped_options ) as $_group ) {
86
+ if ( is_null( $group ) || $group === $_group ) {
87
+ if ( in_array( $name, self::get_option_names( $_group ) ) ) {
88
+ return true;
89
+ }
90
+ }
91
+ }
92
+
93
+ return false;
94
+ }
95
+
96
  /**
97
  * Returns the requested option. Looks in jetpack_options or jetpack_$name as appropriate.
98
+ *
99
+ * @param string $name Option name
100
+ * @param mixed $default (optional)
101
  */
102
  public static function get_option( $name, $default = false ) {
103
+ if ( self::is_valid( $name, 'non_compact' ) ) {
104
  return get_option( "jetpack_$name", $default );
 
 
 
105
  }
106
 
107
+ foreach ( array_keys( self::$grouped_options ) as $group ) {
108
+ if ( self::is_valid( $name, $group ) ) {
109
+ return self::get_grouped_option( $group, $name, $default );
110
+ }
111
  }
112
 
113
+ trigger_error( sprintf( 'Invalid Jetpack option name: %s', $name ), E_USER_WARNING );
114
+
115
  return $default;
116
  }
117
 
118
+ private static function update_grouped_option( $group, $name, $value ) {
119
+ $options = get_option( self::$grouped_options[ $group ] );
120
+ if ( ! is_array( $options ) ) {
121
+ $options = array();
122
+ }
123
+ $options[ $name ] = $value;
124
+
125
+ return update_option( self::$grouped_options[ $group ], $options );
126
+ }
127
+
128
  /**
129
  * Updates the single given option. Updates jetpack_options or jetpack_$name as appropriate.
130
+ *
131
+ * @param string $name Option name
132
+ * @param mixed $value Option value
133
  */
134
  public static function update_option( $name, $value ) {
135
  do_action( 'pre_update_jetpack_option_' . $name, $name, $value );
136
+ if ( self::is_valid( $name, 'non_compact' ) ) {
137
  return update_option( "jetpack_$name", $value );
 
 
 
138
  }
139
 
140
+ foreach ( array_keys( self::$grouped_options ) as $group ) {
141
+ if ( self::is_valid( $name, $group ) ) {
142
+ return self::update_grouped_option( $group, $name, $value );
143
+ }
144
  }
145
 
146
+ trigger_error( sprintf( 'Invalid Jetpack option name: %s', $name ), E_USER_WARNING );
147
 
148
+ return false;
149
  }
150
 
151
  /**
152
  * Updates the multiple given options. Updates jetpack_options and/or jetpack_$name as appropriate.
153
+ *
154
  * @param array $array array( option name => option value, ... )
155
  */
156
  public static function update_options( $array ) {
157
  $names = array_keys( $array );
158
 
159
+ foreach ( array_diff( $names, self::get_option_names(), self::get_option_names( 'non_compact' ), self::get_option_names( 'private' ) ) as $unknown_name ) {
160
  trigger_error( sprintf( 'Invalid Jetpack option name: %s', $unknown_name ), E_USER_WARNING );
161
+ unset( $array[ $unknown_name ] );
 
 
 
 
 
162
  }
163
 
164
+ foreach ( $names as $name ) {
165
+ self::update_option( $name, $array[ $name ] );
 
166
  }
 
 
167
  }
168
 
169
  /**
170
  * Deletes the given option. May be passed multiple option names as an array.
171
  * Updates jetpack_options and/or deletes jetpack_$name as appropriate.
172
+ *
173
  * @param string|array $names
174
  */
175
  public static function delete_option( $names ) {
176
+ $result = true;
177
+ $names = (array) $names;
178
 
179
+ if ( ! self::is_valid( $names ) ) {
180
+ trigger_error( sprintf( 'Invalid Jetpack option names: %s', print_r( $names, 1 ) ), E_USER_WARNING );
181
+
182
+ return false;
183
  }
184
 
185
  foreach ( array_intersect( $names, self::get_option_names( 'non_compact' ) ) as $name ) {
186
+ if ( ! delete_option( "jetpack_$name" ) ) {
187
+ $result = false;
188
+ }
189
  }
190
 
191
+ foreach ( array_keys( self::$grouped_options ) as $group ) {
192
+ if ( ! self::delete_grouped_option( $group, $names ) ) {
193
+ $result = false;
194
+ }
195
+ }
196
+
197
+ return $result;
198
+ }
199
+
200
+ private static function get_grouped_option( $group, $name, $default ) {
201
+ $options = get_option( self::$grouped_options[ $group ] );
202
+ if ( is_array( $options ) && isset( $options[ $name ] ) ) {
203
+ return $options[ $name ];
204
  }
205
 
206
+ return $default;
207
+ }
208
+
209
+ private static function delete_grouped_option( $group, $names ) {
210
+ $options = get_option( self::$grouped_options[ $group ], array() );
211
+
212
+ $to_delete = array_intersect( $names, self::get_option_names( $group ), array_keys( $options ) );
213
  if ( $to_delete ) {
214
  foreach ( $to_delete as $name ) {
215
+ unset( $options[ $name ] );
216
  }
217
 
218
+ return update_option( self::$grouped_options[ $group ], $options );
219
  }
220
 
221
  return true;
222
  }
223
 
224
  }
 
class.jetpack-post-images.php CHANGED
@@ -194,13 +194,19 @@ class Jetpack_PostImages {
194
  * We can load up all the images found in the HTML source and then
195
  * compare URLs to see if an image is attached AND inserted.
196
  */
197
- $html_images = array();
198
  $html_images = self::from_html( $post_id );
199
  $inserted_images = array();
200
 
201
  foreach( $html_images as $html_image ) {
202
  $src = parse_url( $html_image['src'] );
203
- $inserted_images[] = $src['scheme'] . '://' . $src['host'] . $src['path']; // strip off any query strings
 
 
 
 
 
 
 
204
  }
205
  foreach( $images as $i => $image ) {
206
  if ( !in_array( $image['src'], $inserted_images ) )
@@ -304,18 +310,20 @@ class Jetpack_PostImages {
304
  * @return Array containing details of the image, or empty array if none.
305
  */
306
  static function from_blavatar( $post_id, $size = 96 ) {
307
- if ( !function_exists( 'blavatar_domain' ) || !function_exists( 'blavatar_exists' ) || !function_exists( 'blavatar_url' ) ) {
308
- return array();
309
- }
310
 
311
  $permalink = get_permalink( $post_id );
312
- $domain = blavatar_domain( $permalink );
313
 
314
- if ( !blavatar_exists( $domain ) ) {
315
- return array();
316
- }
 
317
 
318
- $url = blavatar_url( $domain, 'img', $size );
 
 
 
 
 
319
 
320
  return array( array(
321
  'type' => 'image',
194
  * We can load up all the images found in the HTML source and then
195
  * compare URLs to see if an image is attached AND inserted.
196
  */
 
197
  $html_images = self::from_html( $post_id );
198
  $inserted_images = array();
199
 
200
  foreach( $html_images as $html_image ) {
201
  $src = parse_url( $html_image['src'] );
202
+ // strip off any query strings from src
203
+ if( ! empty( $src['scheme'] ) && ! empty( $src['host'] ) ) {
204
+ $inserted_images[] = $src['scheme'] . '://' . $src['host'] . $src['path'];
205
+ } elseif( ! empty( $src['host'] ) ) {
206
+ $inserted_images[] = set_url_scheme( 'http://' . $src['host'] . $src['path'] );
207
+ } else {
208
+ $inserted_images[] = site_url( '/' ) . $src['path'];
209
+ }
210
  }
211
  foreach( $images as $i => $image ) {
212
  if ( !in_array( $image['src'], $inserted_images ) )
310
  * @return Array containing details of the image, or empty array if none.
311
  */
312
  static function from_blavatar( $post_id, $size = 96 ) {
 
 
 
313
 
314
  $permalink = get_permalink( $post_id );
 
315
 
316
+ if ( function_exists( 'jetpack_has_site_icon' ) && jetpack_has_site_icon() ) {
317
+ $url = jetpack_site_icon_url( null, $size, $default = false );
318
+ } elseif ( function_exists( 'blavatar_domain' ) && function_exists( 'blavatar_exists' ) && function_exists( 'blavatar_url' ) ) {
319
+ $domain = blavatar_domain( $permalink );
320
 
321
+ if ( ! blavatar_exists( $domain ) ) {
322
+ return array();
323
+ }
324
+
325
+ $url = blavatar_url( $domain, 'img', $size );
326
+ }
327
 
328
  return array( array(
329
  'type' => 'image',
class.jetpack-sync.php CHANGED
@@ -11,6 +11,8 @@ class Jetpack_Sync {
11
  // We keep track of all the options registered for sync so that we can sync them all if needed
12
  var $sync_options = array();
13
 
 
 
14
  // Keep trac of status transitions, which we wouldn't always know about on the Jetpack Servers but are important when deciding what to do with the sync.
15
  var $post_transitions = array();
16
  var $comment_transitions = array();
@@ -22,6 +24,12 @@ class Jetpack_Sync {
22
  // WP Cron action. Only used on upgrade
23
  add_action( 'jetpack_sync_all_registered_options', array( $this, 'sync_all_registered_options' ) );
24
  add_action( 'jetpack_heartbeat', array( $this, 'sync_all_registered_options' ) );
 
 
 
 
 
 
25
  }
26
 
27
  /* Static Methods for Modules */
@@ -33,7 +41,7 @@ class Jetpack_Sync {
33
  * post_stati => array( post_status slugs ): The post stati to sync. Default: publish
34
  */
35
  static function sync_posts( $file, array $settings = null ) {
36
- if( is_network_admin() ) return;
37
  $jetpack = Jetpack::init();
38
  $args = func_get_args();
39
  return call_user_func_array( array( $jetpack->sync, 'posts' ), $args );
@@ -48,7 +56,7 @@ class Jetpack_Sync {
48
  * comment_stati => array( comment_status slugs ): The comment stati to sync. Default: approved
49
  */
50
  static function sync_comments( $file, array $settings = null ) {
51
- if( is_network_admin() ) return;
52
  $jetpack = Jetpack::init();
53
  $args = func_get_args();
54
  return call_user_func_array( array( $jetpack->sync, 'comments' ), $args );
@@ -60,11 +68,22 @@ class Jetpack_Sync {
60
  * @param string $option ...
61
  */
62
  static function sync_options( $file, $option /*, $option, ... */ ) {
63
- if( is_network_admin() ) return;
64
  $jetpack = Jetpack::init();
65
  $args = func_get_args();
66
  return call_user_func_array( array( $jetpack->sync, 'options' ), $args );
67
  }
 
 
 
 
 
 
 
 
 
 
 
68
 
69
  /* Internal Methods */
70
 
@@ -195,7 +214,13 @@ class Jetpack_Sync {
195
  break;
196
  case 'option' :
197
  foreach ( $sync_operations as $option => $settings ) {
198
- $sync_data['option'][$option] = array( 'value' => get_option( $option ) );
 
 
 
 
 
 
199
  }
200
  break;
201
 
@@ -211,8 +236,8 @@ class Jetpack_Sync {
211
  }
212
  break;
213
  }
214
- }
215
 
 
216
  Jetpack::xmlrpc_async_call( 'jetpack.syncContent', $sync_data );
217
  }
218
 
@@ -731,15 +756,71 @@ class Jetpack_Sync {
731
 
732
  function sync_all_registered_options( $options = array() ) {
733
  if ( 'jetpack_sync_all_registered_options' == current_filter() ) {
734
- $all_registered_options = array_unique( call_user_func_array( 'array_merge', $this->sync_options ) );
735
- foreach ( $all_registered_options as $option ) {
736
- $this->added_option_action( $option );
737
- }
738
  } else {
739
  wp_schedule_single_event( time(), 'jetpack_sync_all_registered_options', array( $this->sync_options ) );
740
  }
741
  }
742
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
743
  public function reindex_needed() {
744
  return ( $this->_get_post_count_local() != $this->_get_post_count_cloud() );
745
  }
@@ -870,4 +951,79 @@ EOT;
870
  return (int) $results['results']['total'];
871
  }
872
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
873
  }
11
  // We keep track of all the options registered for sync so that we can sync them all if needed
12
  var $sync_options = array();
13
 
14
+ var $sync_constants = array();
15
+
16
  // Keep trac of status transitions, which we wouldn't always know about on the Jetpack Servers but are important when deciding what to do with the sync.
17
  var $post_transitions = array();
18
  var $comment_transitions = array();
24
  // WP Cron action. Only used on upgrade
25
  add_action( 'jetpack_sync_all_registered_options', array( $this, 'sync_all_registered_options' ) );
26
  add_action( 'jetpack_heartbeat', array( $this, 'sync_all_registered_options' ) );
27
+
28
+ // Sync constants on heartbeat and plugin upgrade and connects
29
+ add_action( 'jetpack_sync_all_registered_options', array( $this, 'sync_all_constants' ) );
30
+ add_action( 'jetpack_heartbeat', array( $this, 'sync_all_constants' ) );
31
+
32
+ add_action( 'jetpack_activate_module', array( $this, 'sync_module_constants' ), 10, 1 );
33
  }
34
 
35
  /* Static Methods for Modules */
41
  * post_stati => array( post_status slugs ): The post stati to sync. Default: publish
42
  */
43
  static function sync_posts( $file, array $settings = null ) {
44
+ if ( is_network_admin() ) return;
45
  $jetpack = Jetpack::init();
46
  $args = func_get_args();
47
  return call_user_func_array( array( $jetpack->sync, 'posts' ), $args );
56
  * comment_stati => array( comment_status slugs ): The comment stati to sync. Default: approved
57
  */
58
  static function sync_comments( $file, array $settings = null ) {
59
+ if ( is_network_admin() ) return;
60
  $jetpack = Jetpack::init();
61
  $args = func_get_args();
62
  return call_user_func_array( array( $jetpack->sync, 'comments' ), $args );
68
  * @param string $option ...
69
  */
70
  static function sync_options( $file, $option /*, $option, ... */ ) {
71
+ if ( is_network_admin() ) return;
72
  $jetpack = Jetpack::init();
73
  $args = func_get_args();
74
  return call_user_func_array( array( $jetpack->sync, 'options' ), $args );
75
  }
76
+ /**
77
+ * @param string $file __FILE__
78
+ * @param string $option, Option name to sync
79
+ * @param string $option ...
80
+ */
81
+ static function sync_constant( $file, $constant ) {
82
+ if ( is_network_admin() ) return;
83
+ $jetpack = Jetpack::init();
84
+ $args = func_get_args();
85
+ return call_user_func_array( array( $jetpack->sync, 'constant' ), $args );
86
+ }
87
 
88
  /* Internal Methods */
89
 
214
  break;
215
  case 'option' :
216
  foreach ( $sync_operations as $option => $settings ) {
217
+ $sync_data['option'][ $option ] = array( 'value' => get_option( $option ) );
218
+ }
219
+ break;
220
+
221
+ case 'constant' :
222
+ foreach( $sync_operations as $constant => $settings ) {
223
+ $sync_data['constant'][ $constant ] = array( 'value' => $this->get_constant( $constant ) );
224
  }
225
  break;
226
 
236
  }
237
  break;
238
  }
 
239
 
240
+ }
241
  Jetpack::xmlrpc_async_call( 'jetpack.syncContent', $sync_data );
242
  }
243
 
756
 
757
  function sync_all_registered_options( $options = array() ) {
758
  if ( 'jetpack_sync_all_registered_options' == current_filter() ) {
759
+ add_action( 'shutdown', array( $this, 'register_all_options' ), 8 );
 
 
 
760
  } else {
761
  wp_schedule_single_event( time(), 'jetpack_sync_all_registered_options', array( $this->sync_options ) );
762
  }
763
  }
764
 
765
+ /**
766
+ * All the options that are defined in modules as well as class.jetpack.php will get synced.
767
+ * Registers all options to be synced.
768
+ */
769
+ function register_all_options() {
770
+ $all_registered_options = array_unique( call_user_func_array( 'array_merge', $this->sync_options ) );
771
+ foreach ( $all_registered_options as $option ) {
772
+ $this->added_option_action( $option );
773
+ }
774
+ }
775
+
776
+ /* Constants Sync */
777
+
778
+ function sync_all_constants() {
779
+ // list of contants to sync needed by Jetpack
780
+ $constants = array(
781
+ 'EMPTY_TRASH_DAYS',
782
+ 'WP_POST_REVISIONS',
783
+ 'UPDATER_DISABLED',
784
+ 'AUTOMATIC_UPDATER_DISABLED',
785
+ 'ABSPATH',
786
+ 'WP_CONTENT_DIR'
787
+ );
788
+
789
+ // add the constant to sync.
790
+ foreach( $constants as $contant ) {
791
+ $this->register_constant( $contant );
792
+ }
793
+
794
+ add_action( 'shutdown', array( $this, 'register_all_module_constants' ), 8 );
795
+
796
+ }
797
+
798
+ function register_all_module_constants() {
799
+ // also add the contstants from each module to be synced.
800
+ foreach( $this->sync_constants as $module ) {
801
+ foreach( $module as $constant ) {
802
+ $this->register_constant( $constant );
803
+ }
804
+ }
805
+ }
806
+
807
+ /**
808
+ * Sync constants required by the module that was just activated.
809
+ * If you add Jetpack_Sync::sync_constant( __FILE__, 'HELLO_WORLD' );
810
+ * to the module it will start syncing the constant after the constant has been updated.
811
+ *
812
+ * This function gets called on module activation.
813
+ */
814
+ function sync_module_constants( $module ) {
815
+
816
+ if ( isset( $this->sync_constants[ $module ] ) && is_array( $this->sync_constants[ $module ] ) ) {
817
+ // also add the contstants from each module to be synced.
818
+ foreach( $this->sync_constants[ $module ] as $constant ) {
819
+ $this->register_constant( $constant );
820
+ }
821
+ }
822
+ }
823
+
824
  public function reindex_needed() {
825
  return ( $this->_get_post_count_local() != $this->_get_post_count_cloud() );
826
  }
951
  return (int) $results['results']['total'];
952
  }
953
 
954
+ /**
955
+ * Sometimes we need to fake options to be able to sync data with .com
956
+ * This is a helper function. That will make it easier to do just that.
957
+ *
958
+ * It will make sure that the options are synced when do_action( 'jetpack_sync_all_registered_options' );
959
+ *
960
+ * Which should happen everytime we update Jetpack to a new version or daily by Jetpack_Heartbeat.
961
+ *
962
+ * $callback is a function that is passed into a filter that returns the value of the option.
963
+ * This value should never be false. Since we want to short circuit the get_option function
964
+ * to return the value of the our callback.
965
+ *
966
+ * You can also trigger an update when a something else changes by calling the
967
+ * do_action( 'add_option_jetpack_' . $option, 'jetpack_'.$option, $callback_function );
968
+ * on the action that should that would trigger the update.
969
+ *
970
+ *
971
+ * @param string $option Option will always be prefixed with Jetpack and be saved on .com side
972
+ * @param string or array $callback
973
+ */
974
+ function mock_option( $option , $callback ) {
975
+
976
+ add_filter( 'pre_option_jetpack_'. $option, $callback );
977
+ // This shouldn't happen but if it does we return the same as before.
978
+ add_filter( 'option_jetpack_'. $option, $callback );
979
+ // Instead of passing a file we just pass in a string.
980
+ $this->options( 'mock-option' , 'jetpack_' . $option );
981
+
982
+ }
983
+ /**
984
+ * Sometimes you need to sync constants to .com
985
+ * Using the function will allow you to do just that.
986
+ *
987
+ * @param 'string' $constant Constants defined in code.
988
+ *
989
+ */
990
+ function register_constant( $constant ) {
991
+ $this->register( 'constant', $constant );
992
+ }
993
+ /**
994
+ * Simular to $this->options() function.
995
+ * Add the constant to be synced to .com when we activate the module.
996
+ * As well as on heartbeat and plugin upgrade and connection to .com.
997
+ *
998
+ * @param string $file
999
+ * @param string $constant
1000
+ */
1001
+ function constant( $file, $constant ) {
1002
+ $constants = func_get_args();
1003
+ $file = array_shift( $constants );
1004
+
1005
+ $module_slug = Jetpack::get_module_slug( $file );
1006
+
1007
+ if ( ! isset( $this->sync_constants[ $module_slug ] ) ) {
1008
+ $this->sync_constants[ $module_slug ] = array();
1009
+ }
1010
+
1011
+ foreach ( $constants as $constant ) {
1012
+ $this->sync_constants[ $module_slug ][] = $constant;
1013
+ }
1014
+ }
1015
+
1016
+ /**
1017
+ * Helper function to return the constants value.
1018
+ *
1019
+ * @param string $constant
1020
+ * @return value of the constant or null if the constant is set to false or doesn't exits.
1021
+ */
1022
+ static function get_constant( $constant ) {
1023
+ if ( defined( $constant ) ) {
1024
+ return constant( $constant );
1025
+ }
1026
+
1027
+ return null;
1028
+ }
1029
  }
class.jetpack-twitter-cards.php CHANGED
@@ -6,7 +6,7 @@
6
  * we need for twitter cards.
7
  *
8
  * @see /wp-content/blog-plugins/open-graph.php
9
- * @see https://dev.twitter.com/docs/cards
10
  */
11
  class Jetpack_Twitter_Cards {
12
 
@@ -164,7 +164,7 @@ class Jetpack_Twitter_Cards {
164
  static function twitter_cards_gallery( $extract, $og_tags ) {
165
  foreach( $extract['images'] as $key => $value ) {
166
  if ( $key > 3 ) {
167
- break; // Can only send a max of 4 picts (https://dev.twitter.com/docs/cards/types/gallery-card)
168
  }
169
  $og_tags[ 'twitter:image' . $key ] = add_query_arg( 'w', 640, $value['url'] );
170
  }
6
  * we need for twitter cards.
7
  *
8
  * @see /wp-content/blog-plugins/open-graph.php
9
+ * @see https://dev.twitter.com/cards/overview
10
  */
11
  class Jetpack_Twitter_Cards {
12
 
164
  static function twitter_cards_gallery( $extract, $og_tags ) {
165
  foreach( $extract['images'] as $key => $value ) {
166
  if ( $key > 3 ) {
167
+ break; // only the first 4 appear in card template (https://dev.twitter.com/cards/types/gallery)
168
  }
169
  $og_tags[ 'twitter:image' . $key ] = add_query_arg( 'w', 640, $value['url'] );
170
  }
class.jetpack-user-agent.php CHANGED
@@ -10,6 +10,10 @@ function jetpack_is_mobile( $kind = 'any', $return_matched_agent = false ) {
10
  if ( empty( $_SERVER['HTTP_USER_AGENT'] ) || strpos( strtolower( $_SERVER['HTTP_USER_AGENT'] ), 'ipad' ) )
11
  return false;
12
 
 
 
 
 
13
  if( $ua_info->is_android_tablet() && $ua_info->is_kindle_touch() === false )
14
  return false;
15
 
10
  if ( empty( $_SERVER['HTTP_USER_AGENT'] ) || strpos( strtolower( $_SERVER['HTTP_USER_AGENT'] ), 'ipad' ) )
11
  return false;
12
 
13
+ // Remove Samsung Galaxy tablets (SCH-I800) from being mobile devices
14
+ if ( strpos( strtolower( $_SERVER['HTTP_USER_AGENT'] ) , 'sch-i800') )
15
+ return false;
16
+
17
  if( $ua_info->is_android_tablet() && $ua_info->is_kindle_touch() === false )
18
  return false;
19
 
class.jetpack.php CHANGED
@@ -48,6 +48,7 @@ class Jetpack {
48
  'gravatar-profile-widget',
49
  'widget-grid-and-list',
50
  'jetpack-widgets',
 
51
  );
52
 
53
  var $plugins_to_deactivate = array(
@@ -66,7 +67,7 @@ class Jetpack {
66
  'sharedaddy' => array( 'jetpack-sharing/sharedaddy.php', 'Jetpack Sharing' ),
67
  'omnisearch' => array( 'jetpack-omnisearch/omnisearch.php', 'Jetpack Omnisearch' ),
68
  'gravatar-hovercards' => array( 'jetpack-gravatar-hovercards/gravatar-hovercards.php', 'Jetpack Gravatar Hovercards' ),
69
- 'latex' => array( 'wp-latex/wp-latex.php', 'WP LaTeX' ),
70
  );
71
 
72
  var $capability_translations = array(
@@ -208,6 +209,8 @@ class Jetpack {
208
  * Plugins for which we turn off our Twitter Cards Tags implementation.
209
  */
210
  private $twitter_cards_conflicting_plugins = array(
 
 
211
  'eewee-twitter-card/index.php', // Eewee Twitter Card
212
  'ig-twitter-cards/ig-twitter-cards.php', // IG:Twitter Cards
213
  'jm-twitter-cards/jm-twitter-cards.php', // JM Twitter Cards
@@ -243,6 +246,13 @@ class Jetpack {
243
  */
244
  var $stats = array();
245
 
 
 
 
 
 
 
 
246
  /**
247
  * Jetpack_Sync object
248
  */
@@ -274,6 +284,9 @@ class Jetpack {
274
  self::$instance = new Jetpack;
275
 
276
  self::$instance->plugin_upgrade();
 
 
 
277
  }
278
 
279
  return self::$instance;
@@ -304,6 +317,7 @@ class Jetpack {
304
  // Add missing version and old_version options
305
  if ( ! $version = Jetpack_Options::get_option( 'version' ) ) {
306
  $version = $old_version = '1.1:' . time();
 
307
  Jetpack_Options::update_options( compact( 'version', 'old_version' ) );
308
  }
309
  }
@@ -331,8 +345,37 @@ class Jetpack {
331
  delete_metadata( 'post', 0, 'gplus_authorship_disabled', null, true );
332
  }
333
 
334
- if ( Jetpack::is_active() && Jetpack::maybe_set_version_option() ) {
335
- do_action( 'jetpack_sync_all_registered_options' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
336
  }
337
 
338
  }
@@ -351,13 +394,7 @@ class Jetpack {
351
  * here, before we potentially fail out.
352
  */
353
  add_filter( 'jetpack_require_lib_dir', array( $this, 'require_lib_dir' ) );
354
- /**
355
- * Update the main_network_site on .com
356
- */
357
- add_filter( 'pre_option_jetpack_main_network_site', array( $this, 'jetpack_main_network_site_option' ) );
358
- add_action( 'update_option_siteurl', array( $this, 'update_jetpack_main_network_site_option' ) );
359
- // Update jetpack_is_main_network on .com
360
- add_filter( 'pre_option_jetpack_is_main_network', array( $this, 'is_main_network_option' ) );
361
  /*
362
  * Load things that should only be in Network Admin.
363
  *
@@ -373,6 +410,7 @@ class Jetpack {
373
  }
374
 
375
 
 
376
 
377
  $this->sync = new Jetpack_Sync;
378
 
@@ -385,12 +423,39 @@ class Jetpack {
385
  'blogname',
386
  'gmt_offset',
387
  'timezone_string',
388
- 'jetpack_main_network_site',
389
- 'jetpack_is_main_network'
 
 
 
390
  );
391
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
392
  add_action( 'update_option', array( $this, 'log_settings_change' ), 10, 3 );
393
 
 
 
 
 
394
  if ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST && isset( $_GET['for'] ) && 'jetpack' == $_GET['for'] ) {
395
  @ini_set( 'display_errors', false ); // Display errors can cause the XML to be not well formed.
396
 
@@ -444,12 +509,20 @@ class Jetpack {
444
 
445
  add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) );
446
 
 
 
 
 
447
  add_action( 'wp_ajax_jetpack-check-news-subscription', array( $this, 'check_news_subscription' ) );
448
  add_action( 'wp_ajax_jetpack-subscribe-to-news', array( $this, 'subscribe_to_news' ) );
449
 
450
  add_action( 'wp_ajax_jetpack-sync-reindex-trigger', array( $this, 'sync_reindex_trigger' ) );
451
  add_action( 'wp_ajax_jetpack-sync-reindex-status', array( $this, 'sync_reindex_status' ) );
452
 
 
 
 
 
453
  add_action( 'wp_loaded', array( $this, 'register_assets' ) );
454
  add_action( 'wp_enqueue_scripts', array( $this, 'devicepx' ) );
455
  add_action( 'customize_controls_enqueue_scripts', array( $this, 'devicepx' ) );
@@ -491,6 +564,100 @@ class Jetpack {
491
  }
492
  }
493
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
494
  /**
495
  * If there are any stats that need to be pushed, but haven't been, push them now.
496
  */
@@ -644,7 +811,7 @@ class Jetpack {
644
  * @param bool $option
645
  * @return string
646
  */
647
- function jetpack_main_network_site_option( $option ) {
648
  return network_site_url();
649
  }
650
 
@@ -658,11 +825,21 @@ class Jetpack {
658
  *
659
  * @return boolean
660
  */
661
- public static function is_main_network_option( $option ) {
662
  // return '1' or ''
663
  return (string) (bool) Jetpack::is_multi_network();
664
  }
665
 
 
 
 
 
 
 
 
 
 
 
666
  /**
667
  * Implemented since there is no core is multi network function
668
  * Right now there is no way to tell if we which network is the dominant network on the system
@@ -691,10 +868,38 @@ class Jetpack {
691
  * @return null
692
  */
693
  function update_jetpack_main_network_site_option() {
694
- do_action( 'add_option_jetpack_main_network_site', 'main_network_site', network_site_url() );
 
695
  do_action( 'add_option_jetpack_is_main_network', 'jetpack_is_main_network', (string) (bool) Jetpack::is_multi_network() );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
696
  }
697
 
 
 
698
  /**
699
  * Is Jetpack active?
700
  */
@@ -875,6 +1080,7 @@ class Jetpack {
875
  $version = Jetpack_Options::get_option( 'version' );
876
  if ( ! $version ) {
877
  $version = $old_version = JETPACK__VERSION . ':' . time();
 
878
  Jetpack_Options::update_options( compact( 'version', 'old_version' ) );
879
  }
880
  list( $version ) = explode( ':', $version );
@@ -1035,6 +1241,131 @@ class Jetpack {
1035
  }
1036
  }
1037
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1038
  /* Jetpack Options API */
1039
 
1040
  public static function get_option_names( $type = 'compact' ) {
@@ -1074,29 +1405,35 @@ class Jetpack {
1074
  /**
1075
  * Updates the single given option. Updates jetpack_options or jetpack_$name as appropriate.
1076
  *
 
1077
  * @param string $name Option name
1078
  * @param mixed $value Option value
1079
  */
1080
  public static function update_option( $name, $value ) {
 
1081
  return Jetpack_Options::update_option( $name, $value );
1082
  }
1083
 
1084
  /**
1085
  * Updates the multiple given options. Updates jetpack_options and/or jetpack_$name as appropriate.
1086
  *
 
1087
  * @param array $array array( option name => option value, ... )
1088
  */
1089
  public static function update_options( $array ) {
 
1090
  return Jetpack_Options::update_options( $array );
1091
  }
1092
 
1093
  /**
1094
  * Deletes the given option. May be passed multiple option names as an array.
1095
  * Updates jetpack_options and/or deletes jetpack_$name as appropriate.
1096
- *
 
1097
  * @param string|array $names
1098
  */
1099
  public static function delete_option( $names ) {
 
1100
  return Jetpack_Options::delete_option( $names );
1101
  }
1102
 
@@ -1159,7 +1496,7 @@ class Jetpack {
1159
  return $files;
1160
  }
1161
 
1162
- public function activate_new_modules() {
1163
  if ( ! Jetpack::is_active() && ! Jetpack::is_development_mode() ) {
1164
  return;
1165
  }
@@ -1167,6 +1504,7 @@ class Jetpack {
1167
  $jetpack_old_version = Jetpack_Options::get_option( 'version' ); // [sic]
1168
  if ( ! $jetpack_old_version ) {
1169
  $jetpack_old_version = $version = $old_version = '1.1:' . time();
 
1170
  Jetpack_Options::update_options( compact( 'version', 'old_version' ) );
1171
  }
1172
 
@@ -1192,13 +1530,11 @@ class Jetpack {
1192
  Jetpack::deactivate_module( $active_module );
1193
  }
1194
 
1195
- if ( version_compare( $jetpack_version, '1.9.2', '<' ) && version_compare( '1.9-something', JETPACK__VERSION, '<' ) ) {
1196
- add_action( 'jetpack_activate_default_modules', array( $this->sync, 'sync_all_registered_options' ), 1000 );
1197
- }
1198
-
1199
  Jetpack_Options::update_options(
1200
  array(
1201
- 'version' => JETPACK__VERSION . ':' . time(),
1202
  'old_version' => $jetpack_old_version,
1203
  )
1204
  );
@@ -1206,13 +1542,15 @@ class Jetpack {
1206
  Jetpack::state( 'message', 'modules_activated' );
1207
  Jetpack::activate_default_modules( $jetpack_version, JETPACK__VERSION, $reactivate_modules );
1208
 
1209
- $page = 'jetpack'; // make sure we redirect to either settings or the jetpack page
1210
- if( isset( $_GET['page'] ) && in_array( $_GET['page'] , array( 'jetpack', 'jetpack_modules' ) ) ) {
1211
- $page = $_GET['page'];
1212
- }
 
1213
 
1214
- wp_safe_redirect( Jetpack::admin_url( 'page='.$page ) );
1215
- exit;
 
1216
  }
1217
 
1218
  /**
@@ -1395,16 +1733,19 @@ class Jetpack {
1395
  */
1396
  public static function get_module( $module ) {
1397
  $headers = array(
1398
- 'name' => 'Module Name',
1399
- 'description' => 'Module Description',
1400
- 'sort' => 'Sort Order',
1401
- 'introduced' => 'First Introduced',
1402
- 'changed' => 'Major Changes In',
1403
- 'deactivate' => 'Deactivate',
1404
- 'free' => 'Free',
1405
- 'requires_connection' => 'Requires Connection',
1406
- 'auto_activate' => 'Auto Activate',
1407
- 'module_tags' => 'Module Tags',
 
 
 
1408
  );
1409
 
1410
  $file = Jetpack::get_module_path( Jetpack::get_module_slug( $module ) );
@@ -1414,12 +1755,14 @@ class Jetpack {
1414
  return false;
1415
  }
1416
 
1417
- $mod['name'] = translate( $mod['name'], 'jetpack' );
1418
- $mod['description'] = translate( $mod['description'], 'jetpack' );
1419
- $mod['sort'] = empty( $mod['sort'] ) ? 10 : (int) $mod['sort'];
1420
- $mod['deactivate'] = empty( $mod['deactivate'] );
1421
- $mod['free'] = empty( $mod['free'] );
1422
- $mod['requires_connection'] = ( ! empty( $mod['requires_connection'] ) && 'No' == $mod['requires_connection'] ) ? false : true;
 
 
1423
 
1424
  if ( empty( $mod['auto_activate'] ) || ! in_array( strtolower( $mod['auto_activate'] ), array( 'yes', 'no', 'public' ) ) ) {
1425
  $mod['auto_activate'] = 'No';
@@ -1435,6 +1778,13 @@ class Jetpack {
1435
  $mod['module_tags'] = array( self::translate_module_tag( 'Other' ) );
1436
  }
1437
 
 
 
 
 
 
 
 
1438
  return $mod;
1439
  }
1440
 
@@ -1454,7 +1804,7 @@ class Jetpack {
1454
  $data = get_file_data( $file, $headers );
1455
 
1456
  // Strip out any old Jetpack versions that are cluttering the option.
1457
- $file_data_option = array_intersect_key( $file_data_option, array( JETPACK__VERSION => null ) );
1458
  $file_data_option[ JETPACK__VERSION ][ $key ] = $data;
1459
  Jetpack_Options::update_option( 'file_data', $file_data_option );
1460
 
@@ -1515,7 +1865,7 @@ class Jetpack {
1515
  } else {
1516
  @ini_set( 'display_errors', $display_errors );
1517
  @error_reporting( $error_reporting );
1518
- remove_action( 'shutdown', array( 'Jetpack', 'catch_errors_on_shutdown' ), 1 );
1519
  }
1520
  }
1521
 
@@ -1680,6 +2030,16 @@ class Jetpack {
1680
  ob_end_clean();
1681
  Jetpack::catch_errors( false );
1682
 
 
 
 
 
 
 
 
 
 
 
1683
  if ( $redirect ) {
1684
  wp_safe_redirect( Jetpack::admin_url( 'page=jetpack' ) );
1685
  }
@@ -1697,10 +2057,23 @@ class Jetpack {
1697
  public static function deactivate_module( $module ) {
1698
  do_action( 'jetpack_pre_deactivate_module', $module );
1699
 
 
 
1700
  $active = Jetpack::get_active_modules();
1701
  $new = array_filter( array_diff( $active, (array) $module ) );
1702
 
1703
  do_action( "jetpack_deactivate_module_$module", $module );
 
 
 
 
 
 
 
 
 
 
 
1704
  return Jetpack_Options::update_option( 'active_modules', array_unique( $new ) );
1705
  }
1706
 
@@ -1788,6 +2161,19 @@ p {
1788
 
1789
  Jetpack::plugin_initialize();
1790
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
1791
 
1792
  /**
1793
  * Sets the internal version number and activation state.
@@ -1800,6 +2186,7 @@ p {
1800
 
1801
  if ( ! Jetpack_Options::get_option( 'version' ) ) {
1802
  $version = $old_version = JETPACK__VERSION . ':' . time();
 
1803
  Jetpack_Options::update_options( compact( 'version', 'old_version' ) );
1804
  }
1805
 
@@ -1938,7 +2325,6 @@ p {
1938
  public static function log_settings_change( $option, $old_value, $value ) {
1939
  switch( $option ) {
1940
  case 'jetpack_sync_non_public_post_stati':
1941
- case 'jetpack_json_api_full_management':
1942
  self::log( $option, $value );
1943
  break;
1944
  }
@@ -2118,6 +2504,13 @@ p {
2118
 
2119
  add_action( "admin_print_scripts-$hook", array( $this, 'admin_scripts' ) );
2120
 
 
 
 
 
 
 
 
2121
  do_action( 'jetpack_admin_menu', $hook );
2122
  }
2123
 
@@ -2360,8 +2753,8 @@ p {
2360
  }
2361
 
2362
  function admin_connect_notice() {
2363
- // Don't show the connect notice on the jetpack settings page. @todo: must be a better way?
2364
- if ( false !== strpos( $_SERVER['QUERY_STRING'], 'page=jetpack' ) )
2365
  return;
2366
 
2367
  if ( ! current_user_can( 'jetpack_connect' ) )
@@ -2397,13 +2790,14 @@ p {
2397
  * This is the first banner
2398
  * It should be visible only to user that can update the option
2399
  * Are not connected
2400
- * @todo make this look nice
2401
  *
2402
  * @return null
2403
  */
2404
  function admin_jetpack_manage_notice() {
2405
- // Don't show the connect notice on the jetpack settings page. @todo: must be a better way?
2406
- if ( false !== strpos( $_SERVER['QUERY_STRING'], 'page=jetpack' ) )
 
 
2407
  return;
2408
 
2409
  // Only show it if don't have the managment option set.
@@ -2425,7 +2819,7 @@ p {
2425
  <a class="jp-banner__dismiss" href="<?php echo esc_url( $opt_out_url ); ?>" title="<?php esc_attr_e( 'Dismiss this notice for now.', 'jetpack' ); ?>"></a>
2426
  <div class="jp-banner__content">
2427
  <h4><?php esc_html_e( 'New in Jetpack: Centralized Site Management', 'jetpack' ); ?></h4>
2428
- <p><?php printf( __( 'Manage multiple sites and keep plugins up-to-date from one dashboard at wordpress.com/plugins. Enabling allows all existing, connected Administrators to modify your site from WordPress.com. <a href="%s" target="_blank">Learn More</a>.', 'jetpack' ), 'http://jetpack.me/support/site-management' ); ?></p>
2429
  </div>
2430
  <div class="jp-banner__action-container is-opt-in">
2431
  <a href="<?php echo esc_url( $opt_in_url ); ?>" class="jp-banner__button" id="wpcom-connect"><?php _e( 'Activate now', 'jetpack' ); ?></a>
@@ -2454,7 +2848,7 @@ p {
2454
  ?>
2455
  <div class="wrap">
2456
  <div id="message" class="jetpack-message is-opt-in">
2457
- <?php echo sprintf( __( '<p><a href="%1$s" title="Opt in to WordPress.com Site Management" >Activate Site Management</a> to manage plugins and multiple sites from our centralized dashboard at wordpress.com/plugins. <a href="%2$s" target="_blank">Learn more</a>.</p><a href="%1$s" class="jp-button">Activate Now</a>', 'jetpack' ), $this->opt_in_jetpack_manage_url(), 'http://jetpack.me/support/site-management' ); ?>
2458
  </div>
2459
  </div>
2460
  <?php
@@ -2473,7 +2867,11 @@ p {
2473
  if( Jetpack::is_development_mode() ) {
2474
  return false;
2475
  }
2476
- return apply_filters( 'can_display_jetpack_manage_notice', ! Jetpack_Options::get_option( 'json_api_full_management' ) || ! self::is_module_active( 'json-api' ) || ! Jetpack_Options::get_option( 'public' ) );
 
 
 
 
2477
  }
2478
 
2479
  function network_connect_notice() {
@@ -2685,7 +3083,7 @@ p {
2685
  }
2686
 
2687
  if ( ! $error = $error ? $error : Jetpack::state( 'error' ) ) {
2688
- $this->activate_new_modules();
2689
  }
2690
 
2691
  switch ( $error ) {
@@ -2820,7 +3218,7 @@ p {
2820
  }
2821
  }
2822
  if( Jetpack::state( 'optin-manage' ) ) {
2823
- $activated_jsonapi = $message_code;
2824
  $message_code = 'jetpack-manage';
2825
 
2826
  }
@@ -2858,9 +3256,9 @@ p {
2858
  $this->message .= Jetpack::jetpack_comment_notice();
2859
  break;
2860
  case 'jetpack-manage':
2861
- $this->message = '<strong>' . sprintf( __( 'You are all set! Your site can now be managed from <a href="%s" target="_blank">wordpress.com/plugins</a>.', 'jetpack' ), 'https://wordpress.com/plugins' ) . '</strong>';
2862
- if ( $activated_jsonapi ) {
2863
- $this->message .= '<br /><strong>' . __( 'JSON API has been activated for you!', 'jetpack' ) . '</strong>';
2864
  }
2865
  break;
2866
  case 'module_activated' :
@@ -2911,9 +3309,7 @@ p {
2911
  break;
2912
 
2913
  case 'authorized' :
2914
- $this->message = __( '<strong>You&#8217;re fueled up and ready to go.</strong> ', 'jetpack' );
2915
- $this->message .= "<br />\n";
2916
- $this->message .= sprintf( __( 'Jetpack is now active. Browse through each Jetpack feature below. Visit the <a href="%s">settings page</a> to activate/deactivate features.', 'jetpack' ), admin_url( 'admin.php?page=jetpack_modules' ) );
2917
  $this->message .= Jetpack::jetpack_comment_notice();
2918
  break;
2919
 
@@ -3284,11 +3680,12 @@ p {
3284
  add_action( 'jetpack_pre_activate_module', array( Jetpack_Admin::init(), 'fix_redirect' ) );
3285
  }
3286
  // Also update the JSON API FULL MANAGEMENT Option
3287
- Jetpack_Options::update_option( 'json_api_full_management', true );
 
3288
  // Special Message when option in.
3289
  Jetpack::state( 'optin-manage', 'true' );
3290
  // Activate the Module if not activated already
3291
- Jetpack::activate_module( 'json-api' );
3292
  // Redirect properly
3293
  wp_safe_redirect( $redirection_url );
3294
 
@@ -3326,7 +3723,7 @@ p {
3326
  <div id="jp-disconnectors">
3327
  <?php if ( current_user_can( 'jetpack_disconnect' ) ) : ?>
3328
  <div id="jp-disconnect" class="jp-disconnect">
3329
- <a href="<?php echo wp_nonce_url( Jetpack::admin_url( 'action=disconnect' ), 'jetpack-disconnect' ); ?>"><div class="deftext"><?php _e( 'Connected to WordPress.com', 'jetpack' ); ?></div><div class="hovertext"><?php _e( 'Disconnect from WordPress.com', 'jetpack' ) ?></div></a>
3330
  </div>
3331
  <?php endif; ?>
3332
  <?php if ( $is_user_connected && ! $is_master_user ) : ?>
@@ -3486,8 +3883,12 @@ p {
3486
  }
3487
 
3488
  public static function admin_screen_configure_module( $module_id ) {
3489
- if ( ! in_array( $module_id, Jetpack::get_active_modules() ) || ! current_user_can( 'manage_options' ) )
3490
- return false; ?>
 
 
 
 
3491
 
3492
  <div id="jp-settings-screen" style="position: relative">
3493
  <h3>
@@ -3497,11 +3898,69 @@ p {
3497
  printf( __( 'Configure %s', 'jetpack' ), $module['name'] );
3498
  ?>
3499
  </h3>
3500
-
3501
  <?php do_action( 'jetpack_module_configuration_screen_' . $module_id ); ?>
3502
  </div><?php
3503
  }
3504
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3505
  public static function sort_modules( $a, $b ) {
3506
  if ( $a['sort'] == $b['sort'] )
3507
  return 0;
@@ -3982,6 +4441,7 @@ p {
3982
  'id' => (int) $json->jetpack_id,
3983
  'blog_token' => (string) $json->jetpack_secret,
3984
  'public' => $jetpack_public,
 
3985
  )
3986
  );
3987
 
@@ -4229,6 +4689,7 @@ p {
4229
  );
4230
  }
4231
  $wp_xmlrpc_server->blog_options = array_merge( $wp_xmlrpc_server->blog_options, $options );
 
4232
  return $wp_xmlrpc_server->wp_getOptions( $args );
4233
  }
4234
 
@@ -4420,8 +4881,25 @@ p {
4420
  }
4421
 
4422
  public static function staticize_subdomain( $url ) {
 
 
4423
  $host = parse_url( $url, PHP_URL_HOST );
4424
- if ( ! preg_match( '/.?(?:wordpress|wp)\.com$/', $host ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4425
  return $url;
4426
  }
4427
 
@@ -5111,4 +5589,211 @@ p {
5111
 
5112
  return $tag;
5113
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5114
  }
48
  'gravatar-profile-widget',
49
  'widget-grid-and-list',
50
  'jetpack-widgets',
51
+ 'goodreads-widget',
52
  );
53
 
54
  var $plugins_to_deactivate = array(
67
  'sharedaddy' => array( 'jetpack-sharing/sharedaddy.php', 'Jetpack Sharing' ),
68
  'omnisearch' => array( 'jetpack-omnisearch/omnisearch.php', 'Jetpack Omnisearch' ),
69
  'gravatar-hovercards' => array( 'jetpack-gravatar-hovercards/gravatar-hovercards.php', 'Jetpack Gravatar Hovercards' ),
70
+ 'latex' => array( 'wp-latex/wp-latex.php', 'WP LaTeX' )
71
  );
72
 
73
  var $capability_translations = array(
209
  * Plugins for which we turn off our Twitter Cards Tags implementation.
210
  */
211
  private $twitter_cards_conflicting_plugins = array(
212
+ // 'twitter/twitter.php', // The official one handles this on its own.
213
+ // // https://github.com/twitter/wordpress/blob/master/src/Twitter/WordPress/Cards/Compatibility.php
214
  'eewee-twitter-card/index.php', // Eewee Twitter Card
215
  'ig-twitter-cards/ig-twitter-cards.php', // IG:Twitter Cards
216
  'jm-twitter-cards/jm-twitter-cards.php', // JM Twitter Cards
246
  */
247
  var $stats = array();
248
 
249
+ /**
250
+ * Allows us to build a temporary security report
251
+ *
252
+ * @var array
253
+ */
254
+ static $security_report = array();
255
+
256
  /**
257
  * Jetpack_Sync object
258
  */
284
  self::$instance = new Jetpack;
285
 
286
  self::$instance->plugin_upgrade();
287
+
288
+ add_action( 'init', array( __CLASS__, 'perform_security_reporting' ) );
289
+
290
  }
291
 
292
  return self::$instance;
317
  // Add missing version and old_version options
318
  if ( ! $version = Jetpack_Options::get_option( 'version' ) ) {
319
  $version = $old_version = '1.1:' . time();
320
+ do_action( 'updating_jetpack_version', $version, false );
321
  Jetpack_Options::update_options( compact( 'version', 'old_version' ) );
322
  }
323
  }
345
  delete_metadata( 'post', 0, 'gplus_authorship_disabled', null, true );
346
  }
347
 
348
+ if ( ! get_option( 'jetpack_private_options' ) ) {
349
+ $jetpack_options = get_option( 'jetpack_options', array() );
350
+ foreach( Jetpack_Options::get_option_names( 'private' ) as $option_name ) {
351
+ if ( isset( $jetpack_options[ $option_name ] ) ) {
352
+ Jetpack_Options::update_option( $option_name, $jetpack_options[ $option_name ] );
353
+ unset( $jetpack_options[ $option_name ] );
354
+ }
355
+ }
356
+ update_option( 'jetpack_options', $jetpack_options );
357
+ }
358
+
359
+ if ( Jetpack::is_active() ) {
360
+ list( $version ) = explode( ':', Jetpack_Options::get_option( 'version' ) );
361
+ if ( JETPACK__VERSION != $version ) {
362
+ add_action( 'init', array( __CLASS__, 'activate_new_modules' ) );
363
+ do_action( 'jetpack_sync_all_registered_options' );
364
+ }
365
+ }
366
+
367
+ if ( get_option( 'jetpack_json_api_full_management' ) ) {
368
+ delete_option( 'jetpack_json_api_full_management' );
369
+ self::activate_manage();
370
+ }
371
+ }
372
+
373
+ static function activate_manage( ) {
374
+
375
+ if ( did_action( 'init' ) || current_filter() == 'init' ) {
376
+ self::activate_module( 'manage', false, false );
377
+ } else if ( ! has_action( 'init' , array( __CLASS__, 'activate_manage' ) ) ) {
378
+ add_action( 'init', array( __CLASS__, 'activate_manage' ) );
379
  }
380
 
381
  }
394
  * here, before we potentially fail out.
395
  */
396
  add_filter( 'jetpack_require_lib_dir', array( $this, 'require_lib_dir' ) );
397
+
 
 
 
 
 
 
398
  /*
399
  * Load things that should only be in Network Admin.
400
  *
410
  }
411
 
412
 
413
+ $theme_slug = get_option( 'stylesheet' );
414
 
415
  $this->sync = new Jetpack_Sync;
416
 
423
  'blogname',
424
  'gmt_offset',
425
  'timezone_string',
426
+ 'security_report',
427
+ 'stylesheet',
428
+ "theme_mods_{$theme_slug}",
429
+ 'jetpack_sync_non_public_post_stati',
430
+ 'jetpack_options'
431
  );
432
 
433
+ foreach( Jetpack_Options::get_option_names( 'non-compact' ) as $option ) {
434
+ $this->sync->options( __FILE__, 'jetpack_' . $option );
435
+ }
436
+
437
+ /**
438
+ * Sometimes you want to sync data to .com without adding options to .org sites.
439
+ * The mock option allows you to do just that.
440
+ */
441
+ $this->sync->mock_option( 'is_main_network', array( $this, 'is_main_network_option' ) );
442
+ $this->sync->mock_option( 'is_multi_site', array( $this, 'is_multisite' ) );
443
+ $this->sync->mock_option( 'main_network_site', array( $this, 'jetpack_main_network_site_option' ) );
444
+ $this->sync->mock_option( 'single_user_site', array( $this, 'is_single_user_site' ) );
445
+
446
+
447
+ /**
448
+ * Trigger an update to the main_network_site when we update the blogname of a site.
449
+ *
450
+ */
451
+ add_action( 'update_option_siteurl', array( $this, 'update_jetpack_main_network_site_option' ) );
452
+
453
  add_action( 'update_option', array( $this, 'log_settings_change' ), 10, 3 );
454
 
455
+ // Update the settings everytime the we register a new user to the site or we delete a user.
456
+ add_action( 'user_register', array( $this, 'is_single_user_site_invalidate' ) );
457
+ add_action( 'deleted_user', array( $this, 'is_single_user_site_invalidate' ) );
458
+
459
  if ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST && isset( $_GET['for'] ) && 'jetpack' == $_GET['for'] ) {
460
  @ini_set( 'display_errors', false ); // Display errors can cause the XML to be not well formed.
461
 
509
 
510
  add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) );
511
 
512
+ add_action( 'wp_dashboard_setup', array( $this, 'wp_dashboard_setup' ) );
513
+ // Filter the dashboard meta box order to swap the new one in in place of the old one.
514
+ add_filter( 'get_user_option_meta-box-order_dashboard', array( $this, 'get_user_option_meta_box_order_dashboard' ) );
515
+
516
  add_action( 'wp_ajax_jetpack-check-news-subscription', array( $this, 'check_news_subscription' ) );
517
  add_action( 'wp_ajax_jetpack-subscribe-to-news', array( $this, 'subscribe_to_news' ) );
518
 
519
  add_action( 'wp_ajax_jetpack-sync-reindex-trigger', array( $this, 'sync_reindex_trigger' ) );
520
  add_action( 'wp_ajax_jetpack-sync-reindex-status', array( $this, 'sync_reindex_status' ) );
521
 
522
+ // Jump Start AJAX callback function
523
+ add_action( 'wp_ajax_jetpack_admin_ajax', array( $this, 'jetpack_jumpstart_ajax_callback' ) );
524
+ add_action( 'update_option', array( $this, 'jumpstart_has_updated_module_option' ) );
525
+
526
  add_action( 'wp_loaded', array( $this, 'register_assets' ) );
527
  add_action( 'wp_enqueue_scripts', array( $this, 'devicepx' ) );
528
  add_action( 'customize_controls_enqueue_scripts', array( $this, 'devicepx' ) );
564
  }
565
  }
566
 
567
+ /**
568
+ * The callback for the Jump Start ajax requests.
569
+ */
570
+ function jetpack_jumpstart_ajax_callback() {
571
+ // Check for nonce
572
+ if ( ! isset( $_REQUEST['jumpstartNonce'] ) || ! wp_verify_nonce( $_REQUEST['jumpstartNonce'], 'jetpack-jumpstart-nonce' ) )
573
+ wp_die( 'permissions check failed' );
574
+
575
+ if ( isset( $_REQUEST['jumpStartActivate'] ) && 'jump-start-activate' == $_REQUEST['jumpStartActivate'] ) {
576
+ // Update the jumpstart option
577
+ if ( 'new_connection' === Jetpack_Options::get_option( 'jumpstart' ) ) {
578
+ Jetpack_Options::update_option( 'jumpstart', 'jumpstart_activated' );
579
+ }
580
+
581
+ // Loops through the requested "Jump Start" modules, and activates them.
582
+ // Custom 'no_message' state, so that no message will be shown on reload.
583
+ $modules = $_REQUEST['jumpstartModSlug'];
584
+ $module_slugs = array();
585
+ foreach( $modules as $module => $value ) {
586
+ $module_slugs[] = $value['module_slug'];
587
+ }
588
+
589
+ // Check for possible conflicting plugins
590
+ $module_slugs_filtered = $this->filter_default_modules( $module_slugs );
591
+
592
+ foreach ( $module_slugs_filtered as $module_slug ) {
593
+ Jetpack::log( 'activate', $module_slug );
594
+ Jetpack::activate_module( $module_slug, false, false );
595
+ Jetpack::state( 'message', 'no_message' );
596
+ }
597
+
598
+ // Set the default sharing buttons and set to display on posts if none have been set.
599
+ $sharing_services = get_option( 'sharing-services' );
600
+ $sharing_options = get_option( 'sharing-options' );
601
+ if ( empty( $sharing_services['visible'] ) ) {
602
+ // Default buttons to set
603
+ $visible = array(
604
+ 'twitter',
605
+ 'facebook',
606
+ 'google-plus-1',
607
+ );
608
+ $hidden = array();
609
+
610
+ // Set some sharing settings
611
+ $sharing = new Sharing_Service();
612
+ $sharing_options['global'] = array(
613
+ 'button_style' => 'icon',
614
+ 'sharing_label' => $sharing->default_sharing_label,
615
+ 'open_links' => 'same',
616
+ 'show' => array( 'post' ),
617
+ 'custom' => isset( $sharing_options['global']['custom'] ) ? $sharing_options['global']['custom'] : array()
618
+ );
619
+
620
+ update_option( 'sharing-options', $sharing_options );
621
+
622
+ // Send a success response so that we can display an error message.
623
+ $success = update_option( 'sharing-services', array( 'visible' => $visible, 'hidden' => $hidden ) );
624
+ echo json_encode( $success );
625
+ exit;
626
+ }
627
+
628
+ } elseif ( isset( $_REQUEST['disableJumpStart'] ) && true == $_REQUEST['disableJumpStart'] ) {
629
+ // If dismissed, flag the jumpstart option as such.
630
+ // Send a success response so that we can display an error message.
631
+ if ( 'new_connection' === Jetpack_Options::get_option( 'jumpstart' ) ) {
632
+ $success = Jetpack_Options::update_option( 'jumpstart', 'jumpstart_dismissed' );
633
+ echo json_encode( $success );
634
+ exit;
635
+ }
636
+
637
+ } elseif ( isset( $_REQUEST['jumpStartDeactivate'] ) && 'jump-start-deactivate' == $_REQUEST['jumpStartDeactivate'] ) {
638
+
639
+ // FOR TESTING ONLY
640
+ // @todo remove
641
+ $modules = (array) $_REQUEST['jumpstartModSlug'];
642
+ foreach( $modules as $module => $value ) {
643
+ if ( !in_array( $value['module_slug'], Jetpack::get_default_modules() ) ) {
644
+ Jetpack::log( 'deactivate', $value['module_slug'] );
645
+ Jetpack::deactivate_module( $value['module_slug'] );
646
+ Jetpack::state( 'message', 'no_message' );
647
+ } else {
648
+ Jetpack::log( 'activate', $value['module_slug'] );
649
+ Jetpack::activate_module( $value['module_slug'], false, false );
650
+ Jetpack::state( 'message', 'no_message' );
651
+ }
652
+ }
653
+
654
+ Jetpack_Options::update_option( 'jumpstart', 'new_connection' );
655
+ echo "reload the page";
656
+ }
657
+
658
+ wp_die();
659
+ }
660
+
661
  /**
662
  * If there are any stats that need to be pushed, but haven't been, push them now.
663
  */
811
  * @param bool $option
812
  * @return string
813
  */
814
+ public function jetpack_main_network_site_option( $option ) {
815
  return network_site_url();
816
  }
817
 
825
  *
826
  * @return boolean
827
  */
828
+ public function is_main_network_option( $option ) {
829
  // return '1' or ''
830
  return (string) (bool) Jetpack::is_multi_network();
831
  }
832
 
833
+ /**
834
+ * Return true if we are with multi-site or multi-network false if we are dealing with single site.
835
+ *
836
+ * @param string $option
837
+ * @return boolean
838
+ */
839
+ public function is_multisite( $option ) {
840
+ return (string) (bool) is_multisite();
841
+ }
842
+
843
  /**
844
  * Implemented since there is no core is multi network function
845
  * Right now there is no way to tell if we which network is the dominant network on the system
868
  * @return null
869
  */
870
  function update_jetpack_main_network_site_option() {
871
+ // do_action( 'add_option_$option', '$option', '$value-of-the-option' );
872
+ do_action( 'add_option_jetpack_main_network_site', 'jetpack_main_network_site', network_site_url() );
873
  do_action( 'add_option_jetpack_is_main_network', 'jetpack_is_main_network', (string) (bool) Jetpack::is_multi_network() );
874
+ do_action( 'add_option_jetpack_is_multi_site', 'jetpack_is_multi_site', (string) (bool) is_multisite() );
875
+ }
876
+
877
+ /**
878
+ * Get back if the current site is single user site.
879
+ *
880
+ * @return bool
881
+ */
882
+ public function is_single_user_site() {
883
+
884
+ $user_query = new WP_User_Query( array(
885
+ 'blog_id' => get_current_blog_id(),
886
+ 'fields' => 'ID',
887
+ 'number' => 2
888
+ ) );
889
+ return 1 === (int) $user_query->get_total();
890
+ }
891
+
892
+ /**
893
+ * Invalides the transient as well as triggers the update of the mock option.
894
+ *
895
+ * @return null
896
+ */
897
+ function is_single_user_site_invalidate() {
898
+ do_action( 'update_option_jetpack_single_user_site', 'jetpack_single_user_site', (bool) $this->is_single_user_site() );
899
  }
900
 
901
+
902
+
903
  /**
904
  * Is Jetpack active?
905
  */
1080
  $version = Jetpack_Options::get_option( 'version' );
1081
  if ( ! $version ) {
1082
  $version = $old_version = JETPACK__VERSION . ':' . time();
1083
+ do_action( 'updating_jetpack_version', $version, false );
1084
  Jetpack_Options::update_options( compact( 'version', 'old_version' ) );
1085
  }
1086
  list( $version ) = explode( ':', $version );
1241
  }
1242
  }
1243
 
1244
+
1245
+
1246
+
1247
+ /*
1248
+ *
1249
+ * Jetpack Security Reports
1250
+ *
1251
+ * Allowed types: login_form, backup, file_scanning, spam
1252
+ *
1253
+ * Args for login_form and spam: 'blocked'=>(int)(optional), 'status'=>(string)(ok, warning, error), 'message'=>(optional, disregarded if status is ok, allowed tags: a, em, strong)
1254
+ *
1255
+ * Args for backup and file_scanning: 'last'=>(timestamp)(optional), 'next'=>(timestamp)(optional), 'status'=>(string)(ok, warning, error), 'message'=>(optional, disregarded if status is ok, allowed tags: a, em, strong)
1256
+ *
1257
+ *
1258
+ * Example code to submit a security report:
1259
+ *
1260
+ * function akismet_submit_jetpack_security_report() {
1261
+ * Jetpack::submit_security_report( 'spam', __FILE__, $args = array( 'blocked' => 138284, status => 'ok' ) );
1262
+ * }
1263
+ * add_action( 'jetpack_security_report', 'akismet_submit_jetpack_security_report' );
1264
+ *
1265
+ */
1266
+
1267
+
1268
+ /**
1269
+ * Calls for security report submissions.
1270
+ *
1271
+ * @return null
1272
+ */
1273
+ public static function perform_security_reporting() {
1274
+ $last_run = Jetpack_Options::get_option( 'last_security_report' );
1275
+
1276
+ $fifteen_minutes_ago = time() - ( 15 * MINUTE_IN_SECONDS );
1277
+
1278
+ if( $last_run > $fifteen_minutes_ago ) {
1279
+ return;
1280
+ }
1281
+
1282
+ do_action( 'jetpack_security_report' );
1283
+
1284
+ Jetpack_Options::update_option( 'security_report', self::$security_report );
1285
+ Jetpack_Options::update_option( 'last_security_report', time() );
1286
+ }
1287
+
1288
+ /**
1289
+ * Allows plugins to submit security reports.
1290
+ *
1291
+ * @param string $type Report type (login_form, backup, file_scanning, spam)
1292
+ * @param string $plugin_file Plugin __FILE__, so that we can pull plugin data
1293
+ * @param array $args See definitions above
1294
+ */
1295
+ public static function submit_security_report( $type = '', $plugin_file = '', $args = array() ) {
1296
+
1297
+ if( !doing_action( 'jetpack_security_report' ) ) {
1298
+ return new WP_Error( 'not_collecting_report', 'Not currently collecting security reports. Please use the jetpack_security_report hook.' );
1299
+ }
1300
+
1301
+ if( !is_string( $type ) || !is_string( $plugin_file ) ) {
1302
+ return new WP_Error( 'invalid_security_report', 'Invalid Security Report' );
1303
+ }
1304
+
1305
+ if( !function_exists( 'get_plugin_data' ) ) {
1306
+ include( ABSPATH . 'wp-admin/includes/plugin.php' );
1307
+ }
1308
+
1309
+ //Get rid of any non-allowed args
1310
+ $args = array_intersect_key( $args, array_flip( array( 'blocked', 'last', 'next', 'status', 'message' ) ) );
1311
+
1312
+ $plugin = get_plugin_data( $plugin_file );
1313
+
1314
+ if ( !$plugin['Name'] ) {
1315
+ return new WP_Error( 'security_report_missing_plugin_name', 'Invalid Plugin File Provided' );
1316
+ }
1317
+
1318
+ // Sanitize everything to make sure we're not syncing something wonky
1319
+ $type = sanitize_key( $type );
1320
+
1321
+ $args['plugin'] = $plugin;
1322
+
1323
+ // Cast blocked, last and next as integers.
1324
+ // Last and next should be in unix timestamp format
1325
+ if ( isset( $args['blocked'] ) ) {
1326
+ $args['blocked'] = (int) $args['blocked'];
1327
+ }
1328
+ if ( isset( $args['last'] ) ) {
1329
+ $args['last'] = (int) $args['last'];
1330
+ }
1331
+ if ( isset( $args['next'] ) ) {
1332
+ $args['next'] = (int) $args['next'];
1333
+ }
1334
+ if ( !in_array( $args['status'], array( 'ok', 'warning', 'error' ) ) ) {
1335
+ $args['status'] = 'ok';
1336
+ }
1337
+ if ( isset( $args['message'] ) ) {
1338
+
1339
+ if( $args['status'] == 'ok' ) {
1340
+ unset( $args['message'] );
1341
+ }
1342
+
1343
+ $allowed_html = array(
1344
+ 'a' => array(
1345
+ 'href' => array(),
1346
+ 'title' => array()
1347
+ ),
1348
+ 'em' => array(),
1349
+ 'strong' => array(),
1350
+ );
1351
+
1352
+ $args['message'] = wp_kses( $args['message'], $allowed_html );
1353
+ }
1354
+
1355
+ $plugin_name = $plugin[ 'Name' ];
1356
+
1357
+ self::$security_report[ $type ][ $plugin_name ] = $args;
1358
+ }
1359
+
1360
+ /**
1361
+ * Collects a new report if needed, then returns it.
1362
+ */
1363
+ public function get_security_report() {
1364
+ self::perform_security_reporting();
1365
+ return Jetpack_Options::get_option( 'security_report' );
1366
+ }
1367
+
1368
+
1369
  /* Jetpack Options API */
1370
 
1371
  public static function get_option_names( $type = 'compact' ) {
1405
  /**
1406
  * Updates the single given option. Updates jetpack_options or jetpack_$name as appropriate.
1407
  *
1408
+ * @deprecated 3.4 use Jetpack_Options::update_option() instead.
1409
  * @param string $name Option name
1410
  * @param mixed $value Option value
1411
  */
1412
  public static function update_option( $name, $value ) {
1413
+ _deprecated_function( __METHOD__, 'jetpack-3.4', 'Jetpack_Options::update_option()' );
1414
  return Jetpack_Options::update_option( $name, $value );
1415
  }
1416
 
1417
  /**
1418
  * Updates the multiple given options. Updates jetpack_options and/or jetpack_$name as appropriate.
1419
  *
1420
+ * @deprecated 3.4 use Jetpack_Options::update_options() instead.
1421
  * @param array $array array( option name => option value, ... )
1422
  */
1423
  public static function update_options( $array ) {
1424
+ _deprecated_function( __METHOD__, 'jetpack-3.4', 'Jetpack_Options::update_options()' );
1425
  return Jetpack_Options::update_options( $array );
1426
  }
1427
 
1428
  /**
1429
  * Deletes the given option. May be passed multiple option names as an array.
1430
  * Updates jetpack_options and/or deletes jetpack_$name as appropriate.
1431
+ *
1432
+ * @deprecated 3.4 use Jetpack_Options::delete_option() instead.
1433
  * @param string|array $names
1434
  */
1435
  public static function delete_option( $names ) {
1436
+ _deprecated_function( __METHOD__, 'jetpack-3.4', 'Jetpack_Options::delete_option()' );
1437
  return Jetpack_Options::delete_option( $names );
1438
  }
1439
 
1496
  return $files;
1497
  }
1498
 
1499
+ public static function activate_new_modules( $redirect = false ) {
1500
  if ( ! Jetpack::is_active() && ! Jetpack::is_development_mode() ) {
1501
  return;
1502
  }
1504
  $jetpack_old_version = Jetpack_Options::get_option( 'version' ); // [sic]
1505
  if ( ! $jetpack_old_version ) {
1506
  $jetpack_old_version = $version = $old_version = '1.1:' . time();
1507
+ do_action( 'updating_jetpack_version', $version, false );
1508
  Jetpack_Options::update_options( compact( 'version', 'old_version' ) );
1509
  }
1510
 
1530
  Jetpack::deactivate_module( $active_module );
1531
  }
1532
 
1533
+ $new_version = JETPACK__VERSION . ':' . time();
1534
+ do_action( 'updating_jetpack_version', $new_version, $jetpack_old_version );
 
 
1535
  Jetpack_Options::update_options(
1536
  array(
1537
+ 'version' => $new_version,
1538
  'old_version' => $jetpack_old_version,
1539
  )
1540
  );
1542
  Jetpack::state( 'message', 'modules_activated' );
1543
  Jetpack::activate_default_modules( $jetpack_version, JETPACK__VERSION, $reactivate_modules );
1544
 
1545
+ if ( $redirect ) {
1546
+ $page = 'jetpack'; // make sure we redirect to either settings or the jetpack page
1547
+ if ( isset( $_GET['page'] ) && in_array( $_GET['page'], array( 'jetpack', 'jetpack_modules' ) ) ) {
1548
+ $page = $_GET['page'];
1549
+ }
1550
 
1551
+ wp_safe_redirect( Jetpack::admin_url( 'page=' . $page ) );
1552
+ exit;
1553
+ }
1554
  }
1555
 
1556
  /**
1733
  */
1734
  public static function get_module( $module ) {
1735
  $headers = array(
1736
+ 'name' => 'Module Name',
1737
+ 'description' => 'Module Description',
1738
+ 'jumpstart_desc' => 'Jumpstart Description',
1739
+ 'sort' => 'Sort Order',
1740
+ 'recommendation_order' => 'Recommendation Order',
1741
+ 'introduced' => 'First Introduced',
1742
+ 'changed' => 'Major Changes In',
1743
+ 'deactivate' => 'Deactivate',
1744
+ 'free' => 'Free',
1745
+ 'requires_connection' => 'Requires Connection',
1746
+ 'auto_activate' => 'Auto Activate',
1747
+ 'module_tags' => 'Module Tags',
1748
+ 'feature' => 'Feature',
1749
  );
1750
 
1751
  $file = Jetpack::get_module_path( Jetpack::get_module_slug( $module ) );
1755
  return false;
1756
  }
1757
 
1758
+ $mod['jumpstart_desc'] = _x( $mod['jumpstart_desc'], 'Jumpstart Description', 'jetpack' );
1759
+ $mod['name'] = _x( $mod['name'], 'Module Name', 'jetpack' );
1760
+ $mod['description'] = _x( $mod['description'], 'Module Description', 'jetpack' );
1761
+ $mod['sort'] = empty( $mod['sort'] ) ? 10 : (int) $mod['sort'];
1762
+ $mod['recommendation_order'] = empty( $mod['recommendation_order'] ) ? 20 : (int) $mod['recommendation_order'];
1763
+ $mod['deactivate'] = empty( $mod['deactivate'] );
1764
+ $mod['free'] = empty( $mod['free'] );
1765
+ $mod['requires_connection'] = ( ! empty( $mod['requires_connection'] ) && 'No' == $mod['requires_connection'] ) ? false : true;
1766
 
1767
  if ( empty( $mod['auto_activate'] ) || ! in_array( strtolower( $mod['auto_activate'] ), array( 'yes', 'no', 'public' ) ) ) {
1768
  $mod['auto_activate'] = 'No';
1778
  $mod['module_tags'] = array( self::translate_module_tag( 'Other' ) );
1779
  }
1780
 
1781
+ if ( $mod['feature'] ) {
1782
+ $mod['feature'] = explode( ',', $mod['feature'] );
1783
+ $mod['feature'] = array_map( 'trim', $mod['feature'] );
1784
+ } else {
1785
+ $mod['feature'] = array( self::translate_module_tag( 'Other' ) );
1786
+ }
1787
+
1788
  return $mod;
1789
  }
1790
 
1804
  $data = get_file_data( $file, $headers );
1805
 
1806
  // Strip out any old Jetpack versions that are cluttering the option.
1807
+ $file_data_option = array_intersect_key( (array) $file_data_option, array( JETPACK__VERSION => null ) );
1808
  $file_data_option[ JETPACK__VERSION ][ $key ] = $data;
1809
  Jetpack_Options::update_option( 'file_data', $file_data_option );
1810
 
1865
  } else {
1866
  @ini_set( 'display_errors', $display_errors );
1867
  @error_reporting( $error_reporting );
1868
+ remove_action( 'shutdown', array( 'Jetpack', 'catch_errors_on_shutdown' ), 0 );
1869
  }
1870
  }
1871
 
2030
  ob_end_clean();
2031
  Jetpack::catch_errors( false );
2032
 
2033
+ // A flag for Jump Start so it's not shown again. Only set if it hasn't been yet.
2034
+ if ( 'new_connection' === Jetpack_Options::get_option( 'jumpstart' ) ) {
2035
+ Jetpack_Options::update_option( 'jumpstart', 'jetpack_action_taken' );
2036
+
2037
+ //Jump start is being dismissed send data to MC Stats
2038
+ $jetpack->stat( 'jumpstart', 'manual,'.$module );
2039
+
2040
+ $jetpack->do_stats( 'server_side' );
2041
+ }
2042
+
2043
  if ( $redirect ) {
2044
  wp_safe_redirect( Jetpack::admin_url( 'page=jetpack' ) );
2045
  }
2057
  public static function deactivate_module( $module ) {
2058
  do_action( 'jetpack_pre_deactivate_module', $module );
2059
 
2060
+ $jetpack = Jetpack::init();
2061
+
2062
  $active = Jetpack::get_active_modules();
2063
  $new = array_filter( array_diff( $active, (array) $module ) );
2064
 
2065
  do_action( "jetpack_deactivate_module_$module", $module );
2066
+
2067
+ // A flag for Jump Start so it's not shown again.
2068
+ if ( 'new_connection' === Jetpack_Options::get_option( 'jumpstart' ) ) {
2069
+ Jetpack_Options::update_option( 'jumpstart', 'jetpack_action_taken' );
2070
+
2071
+ //Jump start is being dismissed send data to MC Stats
2072
+ $jetpack->stat( 'jumpstart', 'manual,deactivated-'.$module );
2073
+
2074
+ $jetpack->do_stats( 'server_side' );
2075
+ }
2076
+
2077
  return Jetpack_Options::update_option( 'active_modules', array_unique( $new ) );
2078
  }
2079
 
2161
 
2162
  Jetpack::plugin_initialize();
2163
  }
2164
+ /**
2165
+ * Runs before bumping version numbers up to a new version
2166
+ * @param (string) $version Version:timestamp
2167
+ * @param (string) $old_version Old Version:timestamp or false if not set yet.
2168
+ * @return null [description]
2169
+ */
2170
+ public static function do_version_bump( $version, $old_version ) {
2171
+
2172
+ if ( ! $old_version ) { // For new sites
2173
+ // Setting up jetpack manage
2174
+ Jetpack::activate_manage();
2175
+ }
2176
+ }
2177
 
2178
  /**
2179
  * Sets the internal version number and activation state.
2186
 
2187
  if ( ! Jetpack_Options::get_option( 'version' ) ) {
2188
  $version = $old_version = JETPACK__VERSION . ':' . time();
2189
+ do_action( 'updating_jetpack_version', $version, false );
2190
  Jetpack_Options::update_options( compact( 'version', 'old_version' ) );
2191
  }
2192
 
2325
  public static function log_settings_change( $option, $old_value, $value ) {
2326
  switch( $option ) {
2327
  case 'jetpack_sync_non_public_post_stati':
 
2328
  self::log( $option, $value );
2329
  break;
2330
  }
2504
 
2505
  add_action( "admin_print_scripts-$hook", array( $this, 'admin_scripts' ) );
2506
 
2507
+ /**
2508
+ * Allows adding additional submenus items to the Jetpack menu in the Dashboard.
2509
+ *
2510
+ * @since 1.1.0
2511
+ *
2512
+ * @param string $hook The global $pagenow value specifying the filename. See Core load-* action.
2513
+ */
2514
  do_action( 'jetpack_admin_menu', $hook );
2515
  }
2516
 
2753
  }
2754
 
2755
  function admin_connect_notice() {
2756
+ // Don't show the connect notice on the jetpack settings page.
2757
+ if ( empty( $_GET['page'] ) || 'jetpack' !== $_GET['page'] )
2758
  return;
2759
 
2760
  if ( ! current_user_can( 'jetpack_connect' ) )
2790
  * This is the first banner
2791
  * It should be visible only to user that can update the option
2792
  * Are not connected
 
2793
  *
2794
  * @return null
2795
  */
2796
  function admin_jetpack_manage_notice() {
2797
+ $screen = get_current_screen();
2798
+
2799
+ // Don't show the connect notice on the jetpack settings page.
2800
+ if ( ! in_array( $screen->base, array( 'dashboard' ) ) || $screen->is_network || $screen->action )
2801
  return;
2802
 
2803
  // Only show it if don't have the managment option set.
2819
  <a class="jp-banner__dismiss" href="<?php echo esc_url( $opt_out_url ); ?>" title="<?php esc_attr_e( 'Dismiss this notice for now.', 'jetpack' ); ?>"></a>
2820
  <div class="jp-banner__content">
2821
  <h4><?php esc_html_e( 'New in Jetpack: Centralized Site Management', 'jetpack' ); ?></h4>
2822
+ <p><?php printf( __( 'Manage multiple sites from one dashboard at wordpress.com/sites. Enabling allows all existing, connected Administrators to modify your site from WordPress.com. <a href="%s" target="_blank">Learn More</a>.', 'jetpack' ), 'http://jetpack.me/support/site-management' ); ?></p>
2823
  </div>
2824
  <div class="jp-banner__action-container is-opt-in">
2825
  <a href="<?php echo esc_url( $opt_in_url ); ?>" class="jp-banner__button" id="wpcom-connect"><?php _e( 'Activate now', 'jetpack' ); ?></a>
2848
  ?>
2849
  <div class="wrap">
2850
  <div id="message" class="jetpack-message is-opt-in">
2851
+ <?php echo sprintf( __( '<p><a href="%1$s" title="Opt in to WordPress.com Site Management" >Activate Site Management</a> to manage multiple sites from our centralized dashboard at wordpress.com/sites. <a href="%2$s" target="_blank">Learn more</a>.</p><a href="%1$s" class="jp-button">Activate Now</a>', 'jetpack' ), $this->opt_in_jetpack_manage_url(), 'http://jetpack.me/support/site-management' ); ?>
2852
  </div>
2853
  </div>
2854
  <?php
2867
  if( Jetpack::is_development_mode() ) {
2868
  return false;
2869
  }
2870
+ // don't display if the site is private
2871
+ if( ! Jetpack_Options::get_option( 'public' ) )
2872
+ return false;
2873
+
2874
+ return apply_filters( 'can_display_jetpack_manage_notice', ! self::is_module_active( 'manage' ) );
2875
  }
2876
 
2877
  function network_connect_notice() {
3083
  }
3084
 
3085
  if ( ! $error = $error ? $error : Jetpack::state( 'error' ) ) {
3086
+ self::activate_new_modules( true );
3087
  }
3088
 
3089
  switch ( $error ) {
3218
  }
3219
  }
3220
  if( Jetpack::state( 'optin-manage' ) ) {
3221
+ $activated_manage = $message_code;
3222
  $message_code = 'jetpack-manage';
3223
 
3224
  }
3256
  $this->message .= Jetpack::jetpack_comment_notice();
3257
  break;
3258
  case 'jetpack-manage':
3259
+ $this->message = '<strong>' . sprintf( __( 'You are all set! Your site can now be managed from <a href="%s" target="_blank">wordpress.com/sites</a>.', 'jetpack' ), 'https://wordpress.com/sites' ) . '</strong>';
3260
+ if ( $activated_manage ) {
3261
+ $this->message .= '<br /><strong>' . __( 'Manage has been activated for you!', 'jetpack' ) . '</strong>';
3262
  }
3263
  break;
3264
  case 'module_activated' :
3309
  break;
3310
 
3311
  case 'authorized' :
3312
+ $this->message = __( '<strong>You&#8217;re fueled up and ready to go, Jetpack is now active.</strong> ', 'jetpack' );
 
 
3313
  $this->message .= Jetpack::jetpack_comment_notice();
3314
  break;
3315
 
3680
  add_action( 'jetpack_pre_activate_module', array( Jetpack_Admin::init(), 'fix_redirect' ) );
3681
  }
3682
  // Also update the JSON API FULL MANAGEMENT Option
3683
+ Jetpack::activate_module( 'manage', false, false );
3684
+
3685
  // Special Message when option in.
3686
  Jetpack::state( 'optin-manage', 'true' );
3687
  // Activate the Module if not activated already
3688
+
3689
  // Redirect properly
3690
  wp_safe_redirect( $redirection_url );
3691
 
3723
  <div id="jp-disconnectors">
3724
  <?php if ( current_user_can( 'jetpack_disconnect' ) ) : ?>
3725
  <div id="jp-disconnect" class="jp-disconnect">
3726
+ <a href="<?php echo wp_nonce_url( Jetpack::admin_url( 'action=disconnect' ), 'jetpack-disconnect' ); ?>" onclick="return confirm('<?php echo htmlspecialchars( __('Are you sure you want to disconnect from WordPress.com?', 'jetpack'), ENT_QUOTES ); ?>');"><div class="deftext"><?php _e( 'Connected to WordPress.com', 'jetpack' ); ?></div><div class="hovertext"><?php _e( 'Disconnect from WordPress.com', 'jetpack' ) ?></div></a>
3727
  </div>
3728
  <?php endif; ?>
3729
  <?php if ( $is_user_connected && ! $is_master_user ) : ?>
3883
  }
3884
 
3885
  public static function admin_screen_configure_module( $module_id ) {
3886
+
3887
+ // User that doesn't have 'jetpack_configure_modules' will never end up here since Jetpack Landing Page woun't let them.
3888
+ if ( ! in_array( $module_id, Jetpack::get_active_modules() ) && current_user_can( 'manage_options' ) ) {
3889
+ self::display_activate_module_link( $module_id );
3890
+ return false;
3891
+ } ?>
3892
 
3893
  <div id="jp-settings-screen" style="position: relative">
3894
  <h3>
3898
  printf( __( 'Configure %s', 'jetpack' ), $module['name'] );
3899
  ?>
3900
  </h3>
3901
+ <?php do_action( 'jetpack_notices_update_settings', $module_id ); ?>
3902
  <?php do_action( 'jetpack_module_configuration_screen_' . $module_id ); ?>
3903
  </div><?php
3904
  }
3905
 
3906
+ /**
3907
+ * Display link to activate the module to see the settings screen.
3908
+ * @param string $module_id
3909
+ * @return null
3910
+ */
3911
+ public static function display_activate_module_link( $module_id ) {
3912
+
3913
+ $info = Jetpack::get_module( $module_id );
3914
+ $extra = '';
3915
+ $activate_url = wp_nonce_url(
3916
+ Jetpack::admin_url(
3917
+ array(
3918
+ 'page' => 'jetpack',
3919
+ 'action' => 'activate',
3920
+ 'module' => $module_id,
3921
+ )
3922
+ ),
3923
+ "jetpack_activate-$module_id"
3924
+ );
3925
+
3926
+ ?>
3927
+
3928
+ <div class="wrap configure-module">
3929
+ <div id="jp-settings-screen">
3930
+ <?php
3931
+ if ( $module_id == 'json-api' ) {
3932
+
3933
+ $info['name'] = esc_html__( 'Activate Site Management and JSON API', 'jetpack' );
3934
+
3935
+ $activate_url = Jetpack::init()->opt_in_jetpack_manage_url();
3936
+
3937
+ $info['description'] = sprintf( __( 'Manage your multiple Jetpack sites from our centralized dashboard at wordpress.com/sites. <a href="%s" target="_blank">Learn more</a>.', 'jetpack' ), 'http://jetpack.me/support/site-management' );
3938
+
3939
+ // $extra = __( 'To use Site Management, you need to first activate JSON API to allow remote management of your site. ', 'jetpack' );
3940
+ } ?>
3941
+
3942
+ <h3><?php echo esc_html( $info['name'] ); ?></h3>
3943
+ <div class="narrow">
3944
+ <p><?php echo $info['description']; ?></p>
3945
+ <?php if( $extra ) { ?>
3946
+ <p><?php echo esc_html( $extra ); ?></p>
3947
+ <?php } ?>
3948
+ <p>
3949
+ <?php
3950
+ if( wp_get_referer() ) {
3951
+ printf( __( '<a class="button-primary" href="%s">Activate Now</a> or <a href="%s" >return to previous page</a>.', 'jetpack' ) , $activate_url, wp_get_referer() );
3952
+ } else {
3953
+ printf( __( '<a class="button-primary" href="%s">Activate Now</a>', 'jetpack' ) , $activate_url );
3954
+ } ?>
3955
+ </p>
3956
+ </div>
3957
+
3958
+ </div>
3959
+ </div>
3960
+
3961
+ <?php
3962
+ }
3963
+
3964
  public static function sort_modules( $a, $b ) {
3965
  if ( $a['sort'] == $b['sort'] )
3966
  return 0;
4441
  'id' => (int) $json->jetpack_id,
4442
  'blog_token' => (string) $json->jetpack_secret,
4443
  'public' => $jetpack_public,
4444
+ 'jumpstart' => 'new_connection'
4445
  )
4446
  );
4447
 
4689
  );
4690
  }
4691
  $wp_xmlrpc_server->blog_options = array_merge( $wp_xmlrpc_server->blog_options, $options );
4692
+ $args = stripslashes_deep( $args );
4693
  return $wp_xmlrpc_server->wp_getOptions( $args );
4694
  }
4695
 
4881
  }
4882
 
4883
  public static function staticize_subdomain( $url ) {
4884
+
4885
+ // Extract hostname from URL
4886
  $host = parse_url( $url, PHP_URL_HOST );
4887
+
4888
+ // Explode hostname on '.'
4889
+ $exploded_host = explode( '.', $host );
4890
+
4891
+ // Retreive the name and TLD
4892
+ $name = $exploded_host[ count( $exploded_host ) - 2 ];
4893
+ $tld = $exploded_host[ count( $exploded_host ) - 1 ];
4894
+
4895
+ // Rebuild domain excluding subdomains
4896
+ $domain = $name . '.' . $tld;
4897
+
4898
+ // Array of Automattic domains
4899
+ $domain_whitelist = array( 'wordpress.com', 'wp.com' );
4900
+
4901
+ // Return $url if not an Automattic domain
4902
+ if ( ! in_array( $domain, $domain_whitelist ) ) {
4903
  return $url;
4904
  }
4905
 
5589
 
5590
  return $tag;
5591
  }
5592
+
5593
+ /*
5594
+ * Check if an option of a Jetpack module has been updated.
5595
+ *
5596
+ * If any module option has been updated before Jump Start has been dismissed,
5597
+ * update the 'jumpstart' option so we can hide Jump Start.
5598
+ */
5599
+ public static function jumpstart_has_updated_module_option( $option_name = '' ) {
5600
+ // Bail if Jump Start has already been dismissed
5601
+ if ( 'new_connection' !== Jetpack::get_option( 'jumpstart' ) ) {
5602
+ return false;
5603
+ }
5604
+
5605
+ $jetpack = Jetpack::init();
5606
+
5607
+
5608
+ // Manual build of module options
5609
+ $option_names = array(
5610
+ 'sharing-options',
5611
+ 'disabled_likes',
5612
+ 'disabled_reblogs',
5613
+ 'jetpack_comments_likes_enabled',
5614
+ 'wp_mobile_excerpt',
5615
+ 'wp_mobile_featured_images',
5616
+ 'wp_mobile_app_promos',
5617
+ 'stats_options',
5618
+ 'stats_dashboard_widget',
5619
+ 'safecss_preview_rev',
5620
+ 'safecss_rev',
5621
+ 'safecss_revision_migrated',
5622
+ 'nova_menu_order',
5623
+ 'jetpack_portfolio',
5624
+ 'jetpack_portfolio_posts_per_page',
5625
+ 'jetpack_testimonial',
5626
+ 'jetpack_testimonial_posts_per_page',
5627
+ 'wp_mobile_custom_css',
5628
+ 'sharedaddy_disable_resources',
5629
+ 'sharing-options',
5630
+ 'sharing-services',
5631
+ 'site_icon_temp_data',
5632
+ 'featured-content',
5633
+ 'site_logo',
5634
+ );
5635
+
5636
+ if ( in_array( $option_name, $option_names ) ) {
5637
+ Jetpack_Options::update_option( 'jumpstart', 'jetpack_action_taken' );
5638
+
5639
+ //Jump start is being dismissed send data to MC Stats
5640
+ $jetpack->stat( 'jumpstart', 'manual,'.$option_name );
5641
+
5642
+ $jetpack->do_stats( 'server_side' );
5643
+ }
5644
+
5645
+ }
5646
+
5647
+ /*
5648
+ * Strip http:// or https:// from a url, replaces forward slash with ::,
5649
+ * so we can bring them directly to their site in calypso.
5650
+ *
5651
+ * @param string | url
5652
+ * @return string | url without the guff
5653
+ */
5654
+ public static function build_raw_urls( $url ) {
5655
+ $strip_http = '/.*?:\/\//i';
5656
+ $url = preg_replace( $strip_http, '', $url );
5657
+ $url = str_replace( '/', '::', $url );
5658
+ return $url;
5659
+ }
5660
+
5661
+ /**
5662
+ * Stores and prints out domains to prefetch for page speed optimization.
5663
+ *
5664
+ * @param mixed $new_urls
5665
+ */
5666
+ public static function dns_prefetch( $new_urls = null ) {
5667
+ static $prefetch_urls = array();
5668
+ if ( empty( $new_urls ) && ! empty( $prefetch_urls ) ) {
5669
+ echo "\r\n";
5670
+ foreach ( $prefetch_urls as $this_prefetch_url ) {
5671
+ printf( "<link rel='dns-prefetch' href='%s'>\r\n", esc_attr( $this_prefetch_url ) );
5672
+ }
5673
+ } elseif ( ! empty( $new_urls ) ) {
5674
+ if ( ! has_action( 'wp_head', array( __CLASS__, __FUNCTION__ ) ) ) {
5675
+ add_action( 'wp_head', array( __CLASS__, __FUNCTION__ ) );
5676
+ }
5677
+ foreach ( (array) $new_urls as $this_new_url ) {
5678
+ $prefetch_urls[] = strtolower( untrailingslashit( preg_replace( '#^https?://#i', '//', $this_new_url ) ) );
5679
+ }
5680
+ $prefetch_urls = array_unique( $prefetch_urls );
5681
+ }
5682
+ }
5683
+
5684
+ public function wp_dashboard_setup() {
5685
+ if ( self::is_active() ) {
5686
+ add_action( 'jetpack_dashboard_widget', array( __CLASS__, 'dashboard_widget_footer' ), 999 );
5687
+ } elseif ( ! self::is_development_mode() ) {
5688
+ add_action( 'jetpack_dashboard_widget', array( $this, 'dashboard_widget_connect_to_wpcom' ) );
5689
+ }
5690
+
5691
+ if ( has_action( 'jetpack_dashboard_widget' ) ) {
5692
+ wp_add_dashboard_widget(
5693
+ 'jetpack_summary_widget',
5694
+ __( 'Jetpack', 'jetpack' ),
5695
+ array( __CLASS__, 'dashboard_widget' )
5696
+ );
5697
+ wp_enqueue_style( 'jetpack-dashboard-widget', plugins_url( 'css/dashboard-widget.css', JETPACK__PLUGIN_FILE ), array(), JETPACK__VERSION );
5698
+
5699
+ // If we're inactive and not in development mode, sort our box to the top.
5700
+ if ( ! self::is_active() && ! self::is_development_mode() ) {
5701
+ global $wp_meta_boxes;
5702
+
5703
+ $dashboard = $wp_meta_boxes['dashboard']['normal']['core'];
5704
+ $ours = array( 'jetpack_summary_widget' => $dashboard['jetpack_summary_widget'] );
5705
+
5706
+ $wp_meta_boxes['dashboard']['normal']['core'] = array_merge( $ours, $dashboard );
5707
+ }
5708
+ }
5709
+ }
5710
+
5711
+ /**
5712
+ * @param mixed $result Value for the user's option
5713
+ * @return mixed
5714
+ */
5715
+ function get_user_option_meta_box_order_dashboard( $sorted ) {
5716
+ if ( ! is_array( $sorted ) ) {
5717
+ return $sorted;
5718
+ }
5719
+
5720
+ foreach ( $sorted as $box_context => $ids ) {
5721
+ if ( false === strpos( $ids, 'dashboard_stats' ) ) {
5722
+ // If the old id isn't anywhere in the ids, don't bother exploding and fail out.
5723
+ continue;
5724
+ }
5725
+
5726
+ $ids_array = explode( ',', $ids );
5727
+ $key = array_search( 'dashboard_stats', $ids_array );
5728
+
5729
+ if ( false !== $key ) {
5730
+ // If we've found that exact value in the option (and not `google_dashboard_stats` for example)
5731
+ $ids_array[ $key ] = 'jetpack_summary_widget';
5732
+ $sorted[ $box_context ] = implode( ',', $ids_array );
5733
+ // We've found it, stop searching, and just return.
5734
+ break;
5735
+ }
5736
+ }
5737
+
5738
+ return $sorted;
5739
+ }
5740
+
5741
+ public static function dashboard_widget() {
5742
+ do_action( 'jetpack_dashboard_widget' );
5743
+ }
5744
+
5745
+ public static function dashboard_widget_footer() {
5746
+ ?>
5747
+ <footer>
5748
+
5749
+ <div class="protect">
5750
+ <?php if ( Jetpack::is_module_active( 'protect' ) ) : ?>
5751
+ <h3><?php echo number_format_i18n( get_site_option( 'jetpack_protect_blocked_attempts', 0 ) ); ?></h3>
5752
+ <p><?php echo esc_html_x( 'blocked malicious login attempts', '{#} blocked malicious login attempts -- number is on a prior line, text is a caption.', 'jetpack' ); ?></p>
5753
+ <?php elseif ( current_user_can( 'jetpack_activate_modules' ) && ! self::is_development_mode() ) : ?>
5754
+ <a href="<?php echo esc_url( wp_nonce_url( Jetpack::admin_url( array( 'action' => 'activate', 'module' => 'protect' ) ), 'jetpack_activate-protect' ) ); ?>" class="button button-jetpack" title="<?php esc_attr_e( 'Jetpack Protect helps to keep you secure from brute-force login attacks.', 'jetpack' ); ?>">
5755
+ <?php esc_html_e( 'Activate Jetpack Protect', 'jetpack' ); ?>
5756
+ </a>
5757
+ <?php else : ?>
5758
+ <?php esc_html_e( 'Jetpack Protect is inactive.', 'jetpack' ); ?>
5759
+ <?php endif; ?>
5760
+ </div>
5761
+
5762
+ <div class="akismet">
5763
+ <?php if ( is_plugin_active( 'akismet/akismet.php' ) ) : ?>
5764
+ <h3><?php echo number_format_i18n( get_option( 'akismet_spam_count', 0 ) ); ?></h3>
5765
+ <p><?php echo esc_html_x( 'spam comments blocked by Akismet.', '{#} spam comments blocked by Akismet -- number is on a prior line, text is a caption.', 'jetpack' ); ?></p>
5766
+ <?php elseif ( current_user_can( 'activate_plugins' ) && ! is_wp_error( validate_plugin( 'akismet/akismet.php' ) ) ) : ?>
5767
+ <a href="<?php echo esc_url( wp_nonce_url( add_query_arg( array( 'action' => 'activate', 'plugin' => 'akismet/akismet.php' ), admin_url( 'plugins.php' ) ), 'activate-plugin_akismet/akismet.php' ) ); ?>" class="button button-jetpack">
5768
+ <?php esc_html_e( 'Activate Akismet', 'jetpack' ); ?>
5769
+ </a>
5770
+ <?php else : ?>
5771
+ <p><a href="<?php echo esc_url( 'https://akismet.com/?utm_source=jetpack&utm_medium=link&utm_campaign=Jetpack%20Dashboard%20Widget%20Footer%20Link' ); ?>"><?php esc_html_e( 'Akismet can help to keep your blog safe from spam!', 'jetpack' ); ?></a></p>
5772
+ <?php endif; ?>
5773
+ </div>
5774
+
5775
+ </footer>
5776
+ <?php
5777
+ }
5778
+
5779
+ public function dashboard_widget_connect_to_wpcom() {
5780
+ ?>
5781
+ <div class="wpcom-connect">
5782
+ <h3><?php esc_html_e( 'Boost traffic, enhance security, and improve performance.', 'jetpack' ); ?></h3>
5783
+ <p><?php esc_html_e( 'Jetpack connects your site to WordPress.com to give you traffic and customization tools, enhanced security, speed boosts, and more.', 'jetpack' ); ?></p>
5784
+
5785
+ <div class="actions">
5786
+ <a href="<?php echo $this->build_connect_url() ?>" class="button button-jetpack">
5787
+ <?php esc_html_e( 'Connect to WordPress.com', 'jetpack' ); ?>
5788
+ </a>
5789
+ <?php if ( current_user_can( 'activate_plugins' ) ) : ?>
5790
+ <small><a href="<?php echo esc_url( wp_nonce_url( Jetpack::admin_url( 'jetpack-notice=dismiss' ), 'jetpack-deactivate' ) ); ?>">
5791
+ <?php esc_html_e( 'or, deactivate Jetpack', 'jetpack' ); ?>
5792
+ </a></small>
5793
+ <?php endif; ?>
5794
+ </div>
5795
+ </div>
5796
+ <?php
5797
+ }
5798
+
5799
  }
class.json-api-endpoints.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- define( 'WPCOM_JSON_API__CURRENT_VERSION', '1' );
4
 
5
  // Endpoint
6
  abstract class WPCOM_JSON_API_Endpoint {
@@ -51,8 +51,8 @@ abstract class WPCOM_JSON_API_Endpoint {
51
  'false' => '',
52
  'true' => 'Output pretty JSON',
53
  ),
54
- 'meta' => "(string) Optional. Loads data from the endpoints found in the 'meta' part of the response. Comma separated list. Example: meta=site,likes",
55
- 'fields' => '(string) Optional. Returns specified fields only. Comma separated list. Example: fields=ID,title',
56
  // Parameter name => description (default value is empty)
57
  'callback' => '(string) An optional JSONP callback function.',
58
  );
@@ -378,8 +378,8 @@ abstract class WPCOM_JSON_API_Endpoint {
378
  }
379
 
380
  $return[$key] = $files;
 
381
  }
382
- break;
383
  } else {
384
  // no break - treat as 'array'
385
  }
@@ -553,6 +553,17 @@ abstract class WPCOM_JSON_API_Endpoint {
553
  );
554
  $return[$key] = (object) $this->cast_and_filter( $value, apply_filters( 'wpcom_json_api_plugin_cast_and_filter', $docs ), false, $for_output );
555
  break;
 
 
 
 
 
 
 
 
 
 
 
556
 
557
  default :
558
  $method_name = $type['type'] . '_docs';
@@ -792,7 +803,10 @@ EOPHP;
792
  $curl .= " \\\n";
793
  }
794
 
795
- $curl .= ' ' . escapeshellarg( $this->example_request );
 
 
 
796
 
797
  $curl = '[sourcecode language="bash" wraplines="false" light="true" autolink="false" htmlscript="false"]' . $curl . '[/sourcecode]';
798
  $curl = apply_filters( 'the_content', $curl );
@@ -872,7 +886,10 @@ EOPHP;
872
  */
873
  function generate_documentation() {
874
  $format = str_replace( '%d', '%s', $this->path );
875
- $path_labeled = vsprintf( $format, array_keys( $this->path_labels ) );
 
 
 
876
  $boolean_arg = array( 'false', 'true' );
877
  $naeloob_arg = array( 'true', 'false' );
878
 
@@ -986,7 +1003,7 @@ EOPHP;
986
  }
987
  }
988
 
989
- if ( -1 == get_option( 'blog_public' ) && !current_user_can( 'read_post', $post->ID ) ) {
990
  return new WP_Error( 'unauthorized', 'User cannot view post', array( 'status_code' => 403, 'error' => 'private_blog' ) );
991
  }
992
 
@@ -1028,7 +1045,7 @@ EOPHP;
1028
  return null;
1029
  $is_jetpack = true === apply_filters( 'is_jetpack_site', false, get_current_blog_id() );
1030
  $post_id = $author->ID;
1031
- if ( $is_jetpack ) {
1032
  $ID = get_post_meta( $post_id, '_jetpack_post_author_external_id', true );
1033
  $email = get_post_meta( $post_id, '_jetpack_author_email', true );
1034
  $login = '';
@@ -1107,6 +1124,12 @@ EOPHP;
1107
  'metadata' => wp_get_attachment_metadata( $media_item->ID ),
1108
  );
1109
 
 
 
 
 
 
 
1110
  $response['meta'] = (object) array(
1111
  'links' => (object) array(
1112
  'self' => (string) $this->get_media_link( $this->api->get_blog_id_for_output(), $media_id ),
@@ -1140,6 +1163,7 @@ EOPHP;
1140
  'title' => $media_item->post_title,
1141
  'caption' => $media_item->post_excerpt,
1142
  'description' => $media_item->post_content,
 
1143
  );
1144
 
1145
  if ( in_array( $ext, array( 'jpg', 'jpeg', 'png', 'gif' ) ) ) {
@@ -1466,17 +1490,40 @@ EOPHP;
1466
  }
1467
 
1468
  function get_publicize_connections_link( $keyring_token_id, $path = '' ) {
1469
- return $this->get_link( '.1/me/publicize-connections/?keyring_token_ID=%d', $keyring_token_id, $path );
1470
  }
1471
 
1472
- function get_keyring_token_link( $keyring_token_id, $path = '' ) {
1473
- return $this->get_link( '.1/me/keyring-tokens/%d', $keyring_token_id, $path );
1474
  }
1475
 
1476
  function get_external_service_link( $external_service, $path = '' ) {
1477
  return $this->get_link( '.1/meta/external-services/%s', $external_service, $path );
1478
  }
1479
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1480
  function is_post_type_allowed( $post_type ) {
1481
  // if the post type is empty, that's fine, WordPress will default to post
1482
  if ( empty( $post_type ) )
@@ -1614,7 +1661,7 @@ EOPHP;
1614
 
1615
  $tmp = download_url( $url );
1616
  if ( is_wp_error( $tmp ) ) {
1617
- return false;
1618
  }
1619
 
1620
  if ( ! file_is_displayable_image( $tmp ) ) {
@@ -1631,6 +1678,10 @@ EOPHP;
1631
  $id = media_handle_sideload( $file_array, $parent_post_id );
1632
  @unlink( $tmp );
1633
 
 
 
 
 
1634
  if ( ! $id || ! is_int( $id ) ) {
1635
  return false;
1636
  }
@@ -1681,6 +1732,19 @@ EOPHP;
1681
  return $mimes;
1682
  }
1683
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1684
  /**
1685
  * Return endpoint response
1686
  *
@@ -1693,6 +1757,7 @@ EOPHP;
1693
  */
1694
  abstract function callback( $path = '' );
1695
 
 
1696
  }
1697
 
1698
  require_once( dirname( __FILE__ ) . '/json-endpoints.php' );
1
  <?php
2
 
3
+ require_once( dirname( __FILE__ ) . '/json-api-config.php' );
4
 
5
  // Endpoint
6
  abstract class WPCOM_JSON_API_Endpoint {
51
  'false' => '',
52
  'true' => 'Output pretty JSON',
53
  ),
54
+ 'meta' => "(string) Optional. Loads data from the endpoints found in the 'meta' part of the response. Comma-separated list. Example: meta=site,likes",
55
+ 'fields' => '(string) Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title',
56
  // Parameter name => description (default value is empty)
57
  'callback' => '(string) An optional JSONP callback function.',
58
  );
378
  }
379
 
380
  $return[$key] = $files;
381
+ break;
382
  }
 
383
  } else {
384
  // no break - treat as 'array'
385
  }
553
  );
554
  $return[$key] = (object) $this->cast_and_filter( $value, apply_filters( 'wpcom_json_api_plugin_cast_and_filter', $docs ), false, $for_output );
555
  break;
556
+ case 'sharing_button' :
557
+ $docs = array(
558
+ 'ID' => '(string)',
559
+ 'name' => '(string)',
560
+ 'URL' => '(string)',
561
+ 'icon' => '(string)',
562
+ 'enabled' => '(bool)',
563
+ 'visibility' => '(string)',
564
+ );
565
+ $return[$key] = (array) $this->cast_and_filter( $value, $docs, false, $for_output );
566
+ break;
567
 
568
  default :
569
  $method_name = $type['type'] . '_docs';
803
  $curl .= " \\\n";
804
  }
805
 
806
+ // Escape square brackets to prevent curl "[globbing] bad range specification" errors
807
+ $example_request = strtr( $this->example_request, array( '[' => '\[', ']' => '\]' ) );
808
+
809
+ $curl .= ' ' . escapeshellarg( $example_request );
810
 
811
  $curl = '[sourcecode language="bash" wraplines="false" light="true" autolink="false" htmlscript="false"]' . $curl . '[/sourcecode]';
812
  $curl = apply_filters( 'the_content', $curl );
886
  */
887
  function generate_documentation() {
888
  $format = str_replace( '%d', '%s', $this->path );
889
+ $path_labeled = $format;
890
+ if ( ! empty( $this->path_labels ) ) {
891
+ $path_labeled = vsprintf( $format, array_keys( $this->path_labels ) );
892
+ }
893
  $boolean_arg = array( 'false', 'true' );
894
  $naeloob_arg = array( 'true', 'false' );
895
 
1003
  }
1004
  }
1005
 
1006
+ if ( -1 == get_option( 'blog_public' ) && ! apply_filters( 'wpcom_json_api_user_can_view_post', current_user_can( 'read_post', $post->ID ), $post ) ) {
1007
  return new WP_Error( 'unauthorized', 'User cannot view post', array( 'status_code' => 403, 'error' => 'private_blog' ) );
1008
  }
1009
 
1045
  return null;
1046
  $is_jetpack = true === apply_filters( 'is_jetpack_site', false, get_current_blog_id() );
1047
  $post_id = $author->ID;
1048
+ if ( $is_jetpack && ( defined( 'IS_WPCOM' ) && IS_WPCOM ) ) {
1049
  $ID = get_post_meta( $post_id, '_jetpack_post_author_external_id', true );
1050
  $email = get_post_meta( $post_id, '_jetpack_author_email', true );
1051
  $login = '';
1124
  'metadata' => wp_get_attachment_metadata( $media_item->ID ),
1125
  );
1126
 
1127
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM && is_array( $response['metadata'] ) && ! empty( $response['metadata']['file'] ) ) {
1128
+ remove_filter( '_wp_relative_upload_path', 'wpcom_wp_relative_upload_path', 10 );
1129
+ $response['metadata']['file'] = _wp_relative_upload_path( $response['metadata']['file'] );
1130
+ add_filter( '_wp_relative_upload_path', 'wpcom_wp_relative_upload_path', 10, 2 );
1131
+ }
1132
+
1133
  $response['meta'] = (object) array(
1134
  'links' => (object) array(
1135
  'self' => (string) $this->get_media_link( $this->api->get_blog_id_for_output(), $media_id ),
1163
  'title' => $media_item->post_title,
1164
  'caption' => $media_item->post_excerpt,
1165
  'description' => $media_item->post_content,
1166
+ 'alt' => get_post_meta( $media_item->ID, '_wp_attachment_image_alt', true )
1167
  );
1168
 
1169
  if ( in_array( $ext, array( 'jpg', 'jpeg', 'png', 'gif' ) ) ) {
1490
  }
1491
 
1492
  function get_publicize_connections_link( $keyring_token_id, $path = '' ) {
1493
+ return $this->get_link( '.1/me/publicize-connections/?keyring_connection_ID=%d', $keyring_token_id, $path );
1494
  }
1495
 
1496
+ function get_keyring_connection_link( $keyring_token_id, $path = '' ) {
1497
+ return $this->get_link( '.1/me/keyring-connections/%d', $keyring_token_id, $path );
1498
  }
1499
 
1500
  function get_external_service_link( $external_service, $path = '' ) {
1501
  return $this->get_link( '.1/meta/external-services/%s', $external_service, $path );
1502
  }
1503
 
1504
+
1505
+ /**
1506
+ * Check whether a user can view or edit a post type
1507
+ * @param string $post_type post type to check
1508
+ * @param string $context 'display' or 'edit'
1509
+ * @return bool
1510
+ */
1511
+ function current_user_can_access_post_type( $post_type, $context='display' ) {
1512
+ $post_type_object = get_post_type_object( $post_type );
1513
+ if ( ! $post_type_object ) {
1514
+ return false;
1515
+ }
1516
+
1517
+ switch( $context ) {
1518
+ case 'edit':
1519
+ return current_user_can( $post_type_object->cap->edit_posts );
1520
+ case 'display':
1521
+ return $post_type_object->public || current_user_can( $post_type_object->cap->read_private_posts );
1522
+ default:
1523
+ return false;
1524
+ }
1525
+ }
1526
+
1527
  function is_post_type_allowed( $post_type ) {
1528
  // if the post type is empty, that's fine, WordPress will default to post
1529
  if ( empty( $post_type ) )
1661
 
1662
  $tmp = download_url( $url );
1663
  if ( is_wp_error( $tmp ) ) {
1664
+ return $tmp;
1665
  }
1666
 
1667
  if ( ! file_is_displayable_image( $tmp ) ) {
1678
  $id = media_handle_sideload( $file_array, $parent_post_id );
1679
  @unlink( $tmp );
1680
 
1681
+ if ( is_wp_error( $id ) ) {
1682
+ return $id;
1683
+ }
1684
+
1685
  if ( ! $id || ! is_int( $id ) ) {
1686
  return false;
1687
  }
1732
  return $mimes;
1733
  }
1734
 
1735
+ function is_current_site_multi_user() {
1736
+ $users = wp_cache_get( 'site_user_count', 'WPCOM_JSON_API_Endpoint' );
1737
+ if ( false === $users ) {
1738
+ $user_query = new WP_User_Query( array(
1739
+ 'blog_id' => get_current_blog_id(),
1740
+ 'fields' => 'ID',
1741
+ ) );
1742
+ $users = (int) $user_query->get_total();
1743
+ wp_cache_set( 'site_user_count', $users, 'WPCOM_JSON_API_Endpoint', DAY_IN_SECONDS );
1744
+ }
1745
+ return $users > 1;
1746
+ }
1747
+
1748
  /**
1749
  * Return endpoint response
1750
  *
1757
  */
1758
  abstract function callback( $path = '' );
1759
 
1760
+
1761
  }
1762
 
1763
  require_once( dirname( __FILE__ ) . '/json-endpoints.php' );
class.json-api.php CHANGED
@@ -59,6 +59,17 @@ class WPCOM_JSON_API {
59
  return false;
60
  }
61
 
 
 
 
 
 
 
 
 
 
 
 
62
  function __construct() {
63
  $args = func_get_args();
64
  call_user_func_array( array( $this, 'setup_inputs' ), $args );
@@ -397,8 +408,10 @@ class WPCOM_JSON_API {
397
  }
398
 
399
  function output_error( $error ) {
400
- if ( function_exists( 'bump_stats_extra' ) )
401
- bump_stats_extra( 'rest-api-errors', $this->token_details['client_id'] );
 
 
402
 
403
  $error_response = $this->serializable_error( $error );
404
 
@@ -494,6 +507,10 @@ class WPCOM_JSON_API {
494
  }
495
 
496
  function switch_to_blog_and_validate_user( $blog_id = 0, $verify_token_for_blog = true ) {
 
 
 
 
497
  if ( -1 == get_option( 'blog_public' ) && !current_user_can( 'read' ) ) {
498
  return new WP_Error( 'unauthorized', 'User cannot access this private blog.', 403 );
499
  }
@@ -501,6 +518,12 @@ class WPCOM_JSON_API {
501
  return $blog_id;
502
  }
503
 
 
 
 
 
 
 
504
  function post_like_count( $blog_id, $post_id ) {
505
  return 0;
506
  }
59
  return false;
60
  }
61
 
62
+ static function is_falsy( $value ) {
63
+ switch ( strtolower( (string) $value ) ) {
64
+ case '0' :
65
+ case 'f' :
66
+ case 'false' :
67
+ return true;
68
+ }
69
+
70
+ return false;
71
+ }
72
+
73
  function __construct() {
74
  $args = func_get_args();
75
  call_user_func_array( array( $this, 'setup_inputs' ), $args );
408
  }
409
 
410
  function output_error( $error ) {
411
+ if ( function_exists( 'bump_stats_extra' ) ) {
412
+ $client_id = ! empty( $this->token_details['client_id'] ) ? $this->token_details['client_id'] : 0;
413
+ bump_stats_extra( 'rest-api-errors', $client_id );
414
+ }
415
 
416
  $error_response = $this->serializable_error( $error );
417
 
507
  }
508
 
509
  function switch_to_blog_and_validate_user( $blog_id = 0, $verify_token_for_blog = true ) {
510
+ if ( $this->is_restricted_blog( $blog_id ) ) {
511
+ return new WP_Error( 'unauthorized', 'User cannot access this restricted blog', 403 );
512
+ }
513
+
514
  if ( -1 == get_option( 'blog_public' ) && !current_user_can( 'read' ) ) {
515
  return new WP_Error( 'unauthorized', 'User cannot access this private blog.', 403 );
516
  }
518
  return $blog_id;
519
  }
520
 
521
+ // Returns true if the specified blog ID is a restricted blog
522
+ function is_restricted_blog( $blog_id ) {
523
+ $restricted_blog_ids = apply_filters( 'wpcom_json_api_restricted_blog_ids', array() );
524
+ return true === in_array( $blog_id, $restricted_blog_ids );
525
+ }
526
+
527
  function post_like_count( $blog_id, $post_id ) {
528
  return 0;
529
  }
class.media-extractor.php CHANGED
@@ -113,7 +113,7 @@ class Jetpack_Media_Meta_Extractor {
113
  if ( ( defined( 'IS_WPCOM' ) && IS_WPCOM ) && ( self::HASHTAGS & $what_to_extract ) ) {
114
  //This regex does not exactly match Twitter's
115
  // if there are problems/complaints we should implement this:
116
- // https://github.com/twitter/twitter-text-java/blob/master/src/com/twitter/Regex.java
117
  if ( preg_match_all( '/(?:^|\s)#(\w*\p{L}+\w*)/u', $stripped_content, $matches ) ) {
118
  $hashtags = array_values( array_unique( $matches[1] ) ); //array_unique() retains the keys!
119
  $hashtags = array_map( 'strtolower', $hashtags );
113
  if ( ( defined( 'IS_WPCOM' ) && IS_WPCOM ) && ( self::HASHTAGS & $what_to_extract ) ) {
114
  //This regex does not exactly match Twitter's
115
  // if there are problems/complaints we should implement this:
116
+ // https://github.com/twitter/twitter-text/blob/master/java/src/com/twitter/Regex.java
117
  if ( preg_match_all( '/(?:^|\s)#(\w*\p{L}+\w*)/u', $stripped_content, $matches ) ) {
118
  $hashtags = array_values( array_unique( $matches[1] ) ); //array_unique() retains the keys!
119
  $hashtags = array_map( 'strtolower', $hashtags );
class.photon.php CHANGED
@@ -160,6 +160,9 @@ class Jetpack_Photon {
160
  if ( preg_match( '#data-lazy-src=["|\'](.+?)["|\']#i', $images['img_tag'][ $index ], $lazy_load_src ) ) {
161
  $placeholder_src = $placeholder_src_orig = $src;
162
  $src = $src_orig = $lazy_load_src[1];
 
 
 
163
  }
164
 
165
  // Check if image URL should be used with Photon
@@ -410,7 +413,7 @@ class Jetpack_Photon {
410
  } else {
411
  $photon_args[ $transform ] = $image_args['width'] . ',' . $image_args['height'];
412
  }
413
-
414
  }
415
 
416
  $photon_args = apply_filters( 'jetpack_photon_image_downsize_string', $photon_args, compact( 'image_args', 'image_url', 'attachment_id', 'size', 'transform' ) );
@@ -500,9 +503,9 @@ class Jetpack_Photon {
500
  return apply_filters( 'photon_validate_image_url', true, $url, $parsed_url );
501
  }
502
 
503
- /**
504
  * Checks if the file exists before it passes the file to photon
505
- *
506
  * @param string $src The image URL
507
  * @return string
508
  **/
@@ -514,9 +517,9 @@ class Jetpack_Photon {
514
  $stripped_src = str_replace( $src_parts[1], '', $src );
515
  $upload_dir = wp_upload_dir();
516
 
517
- // Extracts the file path to the image minus the base url
518
- $file_path = substr( $stripped_src, strlen ( $upload_dir['baseurl'] ) );
519
-
520
  if( file_exists( $upload_dir["basedir"] . $file_path ) )
521
  $src = $stripped_src;
522
  }
160
  if ( preg_match( '#data-lazy-src=["|\'](.+?)["|\']#i', $images['img_tag'][ $index ], $lazy_load_src ) ) {
161
  $placeholder_src = $placeholder_src_orig = $src;
162
  $src = $src_orig = $lazy_load_src[1];
163
+ } elseif ( preg_match( '#data-lazy-original=["|\'](.+?)["|\']#i', $images['img_tag'][ $index ], $lazy_load_src ) ) {
164
+ $placeholder_src = $placeholder_src_orig = $src;
165
+ $src = $src_orig = $lazy_load_src[1];
166
  }
167
 
168
  // Check if image URL should be used with Photon
413
  } else {
414
  $photon_args[ $transform ] = $image_args['width'] . ',' . $image_args['height'];
415
  }
416
+
417
  }
418
 
419
  $photon_args = apply_filters( 'jetpack_photon_image_downsize_string', $photon_args, compact( 'image_args', 'image_url', 'attachment_id', 'size', 'transform' ) );
503
  return apply_filters( 'photon_validate_image_url', true, $url, $parsed_url );
504
  }
505
 
506
+ /**
507
  * Checks if the file exists before it passes the file to photon
508
+ *
509
  * @param string $src The image URL
510
  * @return string
511
  **/
517
  $stripped_src = str_replace( $src_parts[1], '', $src );
518
  $upload_dir = wp_upload_dir();
519
 
520
+ // Extracts the file path to the image minus the base url
521
+ $file_path = substr( $stripped_src, strlen ( $upload_dir['baseurl'] ) );
522
+
523
  if( file_exists( $upload_dir["basedir"] . $file_path ) )
524
  $src = $stripped_src;
525
  }
css/dashboard-widget-rtl.css ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Do not modify this file directly. It is compiled Sass code.
3
+ * @see: jetpack/_inc/jetpack.scss
4
+ */
5
+ /*
6
+ * Button mixin- creates 3d-ish button effect with correct
7
+ * highlights/shadows, based on a base color.
8
+ */
9
+ #jetpack_summary_widget * {
10
+ -moz-box-sizing: border-box;
11
+ box-sizing: border-box;
12
+ }
13
+ #jetpack_summary_widget .hndle:before {
14
+ font-family: 'jetpack';
15
+ content: '\f102';
16
+ font-size: 175%;
17
+ vertical-align: middle;
18
+ margin-left: 0.2em;
19
+ color: #81a844;
20
+ font-weight: 100;
21
+ }
22
+ #jetpack_summary_widget .inside {
23
+ margin: 0;
24
+ padding: 0;
25
+ font-family: "proxima-nova", "Open Sans", Helvetica, Arial, sans-serif;
26
+ }
27
+ #jetpack_summary_widget .stats,
28
+ #jetpack_summary_widget .widgets,
29
+ #jetpack_summary_widget .wpcom-connect {
30
+ padding: .75em;
31
+ }
32
+ #jetpack_summary_widget .wpcom-connect {
33
+ background: #95bc59 url("../images/the-cloud.svg") center bottom repeat-x;
34
+ padding-bottom: 1.25em;
35
+ min-height: 200px;
36
+ }
37
+ #jetpack_summary_widget .wpcom-connect h3,
38
+ #jetpack_summary_widget .wpcom-connect p {
39
+ color: #fff;
40
+ padding: 0 12px;
41
+ margin: 8px 0;
42
+ text-shadow: 0 -1px 2px rgba(0, 0, 0, 0.3);
43
+ }
44
+ #jetpack_summary_widget .wpcom-connect .actions {
45
+ text-align: center;
46
+ }
47
+ #jetpack_summary_widget .wpcom-connect .actions small {
48
+ display: block;
49
+ }
50
+ #jetpack_summary_widget .button-jetpack {
51
+ background: #81a844;
52
+ border-color: #658435;
53
+ color: white;
54
+ box-shadow: inset 0 1px 0 #a5c672, 0 1px 0 rgba(0, 0, 0, 0.15);
55
+ }
56
+ #jetpack_summary_widget .button-jetpack:hover, #jetpack_summary_widget .button-jetpack:focus {
57
+ background: #73963d;
58
+ border-color: #57722e;
59
+ color: white;
60
+ box-shadow: inset 0 1px 0 #9abf60;
61
+ }
62
+ #jetpack_summary_widget .button-jetpack:focus {
63
+ box-shadow: inset 0 1px 0 #9abf60, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
64
+ }
65
+ #jetpack_summary_widget .button-jetpack:active {
66
+ background: #658435;
67
+ border-color: #57722e;
68
+ color: white;
69
+ box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
70
+ }
71
+ #jetpack_summary_widget .button-jetpack[disabled], #jetpack_summary_widget .button-jetpack:disabled, #jetpack_summary_widget .button-jetpack.button-primary-disabled, #jetpack_summary_widget .button-jetpack.disabled {
72
+ color: #cdd1c7 !important;
73
+ background: #6b8b38 !important;
74
+ border-color: #57722e !important;
75
+ text-shadow: none !important;
76
+ }
77
+ #jetpack_summary_widget footer {
78
+ background: #f4f4f4;
79
+ padding: .75em;
80
+ overflow: hidden;
81
+ border-top: 1px solid #ccc;
82
+ }
83
+ #jetpack_summary_widget footer .protect,
84
+ #jetpack_summary_widget footer .akismet {
85
+ width: 50%;
86
+ float: right;
87
+ text-align: right;
88
+ }
89
+ #jetpack_summary_widget footer h3 {
90
+ font-size: 1.5em;
91
+ font-weight: normal;
92
+ margin: 0;
93
+ padding: 0;
94
+ }
95
+ #jetpack_summary_widget footer p {
96
+ margin: 0;
97
+ padding: 0;
98
+ }
99
+ #jetpack_summary_widget footer section {
100
+ margin: 0;
101
+ padding: 0;
102
+ text-align: center;
103
+ }
104
+
105
+ /*# sourceMappingURL=dashboard-widget.css.map */
106
+ #jetpack_summary_widget *{-moz-box-sizing:border-box;box-sizing:border-box}#jetpack_summary_widget .hndle:before{font-family:'jetpack';content:'\f102';font-size:175%;vertical-align:middle;margin-left:0.2em;color:#81a844;font-weight:100}#jetpack_summary_widget .inside{margin:0;padding:0;font-family:"proxima-nova", "Open Sans", Helvetica, Arial, sans-serif}#jetpack_summary_widget .stats,#jetpack_summary_widget .widgets,#jetpack_summary_widget .wpcom-connect{padding:.75em}#jetpack_summary_widget .wpcom-connect{background:#95bc59 url("../images/the-cloud.svg") center bottom repeat-x;padding-bottom:1.25em;min-height:200px}#jetpack_summary_widget .wpcom-connect h3,#jetpack_summary_widget .wpcom-connect p{color:#fff;padding:0 12px;margin:8px 0;text-shadow:0 -1px 2px rgba(0,0,0,0.3)}#jetpack_summary_widget .wpcom-connect .actions{text-align:center}#jetpack_summary_widget .wpcom-connect .actions small{display:block}#jetpack_summary_widget .button-jetpack{background:#81a844;border-color:#658435;color:#fff;box-shadow:inset 0 1px 0 #a5c672,0 1px 0 rgba(0,0,0,0.15)}#jetpack_summary_widget .button-jetpack:hover,#jetpack_summary_widget .button-jetpack:focus{background:#73963d;border-color:#57722e;color:#fff;box-shadow:inset 0 1px 0 #9abf60}#jetpack_summary_widget .button-jetpack:focus{box-shadow:inset 0 1px 0 #9abf60,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}#jetpack_summary_widget .button-jetpack:active{background:#658435;border-color:#57722e;color:#fff;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}#jetpack_summary_widget .button-jetpack[disabled],#jetpack_summary_widget .button-jetpack:disabled,#jetpack_summary_widget .button-jetpack.button-primary-disabled,#jetpack_summary_widget .button-jetpack.disabled{color:#cdd1c7 !important;background:#6b8b38 !important;border-color:#57722e !important;text-shadow:none !important}#jetpack_summary_widget footer{background:#f4f4f4;padding:.75em;overflow:hidden;border-top:1px solid #ccc}#jetpack_summary_widget footer .protect,#jetpack_summary_widget footer .akismet{width:50%;float:right;text-align:right}#jetpack_summary_widget footer h3{font-size:1.5em;font-weight:normal;margin:0;padding:0}#jetpack_summary_widget footer p{margin:0;padding:0}#jetpack_summary_widget footer section{margin:0;padding:0;text-align:center}
107
+
108
+ /*# sourceMappingURL=dashboard-widget.min.css.map */
css/dashboard-widget-rtl.min.css ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ #jetpack_summary_widget *{-moz-box-sizing:border-box;box-sizing:border-box}#jetpack_summary_widget .hndle:before{font-family:'jetpack';content:'\f102';font-size:175%;vertical-align:middle;margin-left:0.2em;color:#81a844;font-weight:100}#jetpack_summary_widget .inside{margin:0;padding:0;font-family:"proxima-nova", "Open Sans", Helvetica, Arial, sans-serif}#jetpack_summary_widget .stats,#jetpack_summary_widget .widgets,#jetpack_summary_widget .wpcom-connect{padding:.75em}#jetpack_summary_widget .wpcom-connect{background:#95bc59 url("../images/the-cloud.svg") center bottom repeat-x;padding-bottom:1.25em;min-height:200px}#jetpack_summary_widget .wpcom-connect h3,#jetpack_summary_widget .wpcom-connect p{color:#fff;padding:0 12px;margin:8px 0;text-shadow:0 -1px 2px rgba(0,0,0,0.3)}#jetpack_summary_widget .wpcom-connect .actions{text-align:center}#jetpack_summary_widget .wpcom-connect .actions small{display:block}#jetpack_summary_widget .button-jetpack{background:#81a844;border-color:#658435;color:#fff;box-shadow:inset 0 1px 0 #a5c672,0 1px 0 rgba(0,0,0,0.15)}#jetpack_summary_widget .button-jetpack:hover,#jetpack_summary_widget .button-jetpack:focus{background:#73963d;border-color:#57722e;color:#fff;box-shadow:inset 0 1px 0 #9abf60}#jetpack_summary_widget .button-jetpack:focus{box-shadow:inset 0 1px 0 #9abf60,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}#jetpack_summary_widget .button-jetpack:active{background:#658435;border-color:#57722e;color:#fff;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}#jetpack_summary_widget .button-jetpack[disabled],#jetpack_summary_widget .button-jetpack:disabled,#jetpack_summary_widget .button-jetpack.button-primary-disabled,#jetpack_summary_widget .button-jetpack.disabled{color:#cdd1c7 !important;background:#6b8b38 !important;border-color:#57722e !important;text-shadow:none !important}#jetpack_summary_widget footer{background:#f4f4f4;padding:.75em;overflow:hidden;border-top:1px solid #ccc}#jetpack_summary_widget footer .protect,#jetpack_summary_widget footer .akismet{width:50%;float:right;text-align:right}#jetpack_summary_widget footer h3{font-size:1.5em;font-weight:normal;margin:0;padding:0}#jetpack_summary_widget footer p{margin:0;padding:0}#jetpack_summary_widget footer section{margin:0;padding:0;text-align:center}
2
+
3
+ /*# sourceMappingURL=dashboard-widget.min.css.map */
css/dashboard-widget.css ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Do not modify this file directly. It is compiled Sass code.
3
+ * @see: jetpack/_inc/jetpack.scss
4
+ */
5
+ /*
6
+ * Button mixin- creates 3d-ish button effect with correct
7
+ * highlights/shadows, based on a base color.
8
+ */
9
+ #jetpack_summary_widget * {
10
+ -moz-box-sizing: border-box;
11
+ box-sizing: border-box;
12
+ }
13
+ #jetpack_summary_widget .hndle:before {
14
+ font-family: 'jetpack';
15
+ content: '\f102';
16
+ font-size: 175%;
17
+ vertical-align: middle;
18
+ margin-right: 0.2em;
19
+ color: #81a844;
20
+ font-weight: 100;
21
+ }
22
+ #jetpack_summary_widget .inside {
23
+ margin: 0;
24
+ padding: 0;
25
+ font-family: "proxima-nova", "Open Sans", Helvetica, Arial, sans-serif;
26
+ }
27
+ #jetpack_summary_widget .stats,
28
+ #jetpack_summary_widget .widgets,
29
+ #jetpack_summary_widget .wpcom-connect {
30
+ padding: .75em;
31
+ }
32
+ #jetpack_summary_widget .wpcom-connect {
33
+ background: #95bc59 url("../images/the-cloud.svg") center bottom repeat-x;
34
+ padding-bottom: 1.25em;
35
+ min-height: 200px;
36
+ }
37
+ #jetpack_summary_widget .wpcom-connect h3,
38
+ #jetpack_summary_widget .wpcom-connect p {
39
+ color: #fff;
40
+ padding: 0 12px;
41
+ margin: 8px 0;
42
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
43
+ }
44
+ #jetpack_summary_widget .wpcom-connect .actions {
45
+ text-align: center;
46
+ }
47
+ #jetpack_summary_widget .wpcom-connect .actions small {
48
+ display: block;
49
+ }
50
+ #jetpack_summary_widget .button-jetpack {
51
+ background: #81a844;
52
+ border-color: #658435;
53
+ color: white;
54
+ box-shadow: inset 0 1px 0 #a5c672, 0 1px 0 rgba(0, 0, 0, 0.15);
55
+ }
56
+ #jetpack_summary_widget .button-jetpack:hover, #jetpack_summary_widget .button-jetpack:focus {
57
+ background: #73963d;
58
+ border-color: #57722e;
59
+ color: white;
60
+ box-shadow: inset 0 1px 0 #9abf60;
61
+ }
62
+ #jetpack_summary_widget .button-jetpack:focus {
63
+ box-shadow: inset 0 1px 0 #9abf60, 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
64
+ }
65
+ #jetpack_summary_widget .button-jetpack:active {
66
+ background: #658435;
67
+ border-color: #57722e;
68
+ color: white;
69
+ box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5), 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8);
70
+ }
71
+ #jetpack_summary_widget .button-jetpack[disabled], #jetpack_summary_widget .button-jetpack:disabled, #jetpack_summary_widget .button-jetpack.button-primary-disabled, #jetpack_summary_widget .button-jetpack.disabled {
72
+ color: #cdd1c7 !important;
73
+ background: #6b8b38 !important;
74
+ border-color: #57722e !important;
75
+ text-shadow: none !important;
76
+ }
77
+ #jetpack_summary_widget footer {
78
+ background: #f4f4f4;
79
+ padding: .75em;
80
+ overflow: hidden;
81
+ border-top: 1px solid #ccc;
82
+ }
83
+ #jetpack_summary_widget footer .protect,
84
+ #jetpack_summary_widget footer .akismet {
85
+ width: 50%;
86
+ float: left;
87
+ text-align: left;
88
+ }
89
+ #jetpack_summary_widget footer h3 {
90
+ font-size: 1.5em;
91
+ font-weight: normal;
92
+ margin: 0;
93
+ padding: 0;
94
+ }
95
+ #jetpack_summary_widget footer p {
96
+ margin: 0;
97
+ padding: 0;
98
+ }
99
+ #jetpack_summary_widget footer section {
100
+ margin: 0;
101
+ padding: 0;
102
+ text-align: center;
103
+ }
104
+
105
+ /*# sourceMappingURL=dashboard-widget.css.map */
css/dashboard-widget.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["dashboard-widget.css","../scss/templates/_dashboard-widget.scss","../scss/atoms/colors/_colors.scss","../scss/_utilities/mixins/_button.scss"],"names":[],"mappings":"AAAA;;;GAGE;ACDD;;;IAKC;ADCF;ECCG,6BAAgB;EAAhB,wBAAgB;EDClB;AACD;ECCG,wBAAmB;EACnB,kBCTY;EDUZ,iBAAgB;EDCjB,wBAAuB;ECGxB,qBAAA;EACC,gBAAS;EACT,kBAAU;EDDX;AACD;ECIC,WAAA;EDFC,YAAW;EACX,wECGc;EDFf;AACD;;;ECOE,gBAAc;EDHf;AACD;ECKE,2EAAA;EDHA,wBAAuB;ECKtB,mBChCS;EF6BX;AACD;;EAEE,aAAY;ECMZ,iBAAA;EACC,eAAY;EDJb,2CAA0C;ECMzC;ADJH;EACE,oBAAmB;ECSpB;ADPD;EGrCC,gBAAc;EHuCd;AACD;EACE,qBAAoB;EGrCrB,uBAAA;EAEC,cAAY;EACZ,gEAA0C;EHsC3C;AACD;EACE,qBAAoB;EGnCrB,uBAAA;EACC,cAAY;EHqCZ,mCAAkC;EGhCnC;AHkCD;EGhCE,2FAA0C;EHkC3C;AACD;EACE,qBAAoB;EG7BrB,uBAAA;EAIC,cAAO;EACP,6GAAkD;EH4BnD;AACD;EACE,2BAA0B;ECd3B,gCAAO;EACN,kCAAmB;EACnB,8BAAc;EDgBf;AACD;EACE,qBAAoB;ECbpB,gBAAA;EDeA,kBAAiB;ECbhB,4BAAU;EDeZ;AACD;;ECXE,YAAA;EACC,aAAW;EACX,kBAAa;EDcf;AACD;EACE,kBAAiB;ECXjB,qBAAA;EACC,WAAS;EACT,YAAU;EDaZ;ACVC;EACC,WAAS;EACT,YAAU;EDYZ;AACD;EACE,WAAU;EACV,YAAW;EACX,oBAAmB;EACpB","file":"dashboard-widget.css"}
css/dashboard-widget.min.css ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ #jetpack_summary_widget *{-moz-box-sizing:border-box;box-sizing:border-box}#jetpack_summary_widget .hndle:before{font-family:'jetpack';content:'\f102';font-size:175%;vertical-align:middle;margin-right:0.2em;color:#81a844;font-weight:100}#jetpack_summary_widget .inside{margin:0;padding:0;font-family:"proxima-nova", "Open Sans", Helvetica, Arial, sans-serif}#jetpack_summary_widget .stats,#jetpack_summary_widget .widgets,#jetpack_summary_widget .wpcom-connect{padding:.75em}#jetpack_summary_widget .wpcom-connect{background:#95bc59 url("../images/the-cloud.svg") center bottom repeat-x;padding-bottom:1.25em;min-height:200px}#jetpack_summary_widget .wpcom-connect h3,#jetpack_summary_widget .wpcom-connect p{color:#fff;padding:0 12px;margin:8px 0;text-shadow:0 1px 2px rgba(0,0,0,0.3)}#jetpack_summary_widget .wpcom-connect .actions{text-align:center}#jetpack_summary_widget .wpcom-connect .actions small{display:block}#jetpack_summary_widget .button-jetpack{background:#81a844;border-color:#658435;color:#fff;box-shadow:inset 0 1px 0 #a5c672,0 1px 0 rgba(0,0,0,0.15)}#jetpack_summary_widget .button-jetpack:hover,#jetpack_summary_widget .button-jetpack:focus{background:#73963d;border-color:#57722e;color:#fff;box-shadow:inset 0 1px 0 #9abf60}#jetpack_summary_widget .button-jetpack:focus{box-shadow:inset 0 1px 0 #9abf60,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}#jetpack_summary_widget .button-jetpack:active{background:#658435;border-color:#57722e;color:#fff;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}#jetpack_summary_widget .button-jetpack[disabled],#jetpack_summary_widget .button-jetpack:disabled,#jetpack_summary_widget .button-jetpack.button-primary-disabled,#jetpack_summary_widget .button-jetpack.disabled{color:#cdd1c7 !important;background:#6b8b38 !important;border-color:#57722e !important;text-shadow:none !important}#jetpack_summary_widget footer{background:#f4f4f4;padding:.75em;overflow:hidden;border-top:1px solid #ccc}#jetpack_summary_widget footer .protect,#jetpack_summary_widget footer .akismet{width:50%;float:left;text-align:left}#jetpack_summary_widget footer h3{font-size:1.5em;font-weight:normal;margin:0;padding:0}#jetpack_summary_widget footer p{margin:0;padding:0}#jetpack_summary_widget footer section{margin:0;padding:0;text-align:center}
2
+
3
+ /*# sourceMappingURL=dashboard-widget.min.css.map */
css/dashboard-widget.min.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["../scss/templates/_dashboard-widget.scss","../scss/_utilities/mixins/_button.scss"],"names":[],"mappings":"AAEC,0BACC,2BAAA,CAIA,qBAAA,CAAA,qCACC,sBACA,CAAA,eACA,CAAA,cACA,CAAA,qBACA,CAAA,kBACA,CAAA,aACA,CAAA,eAIF,CAAA,+BACC,SACA,CAAA,SACA,CAAA,qEAGD,CAAA,sGAGC,cAGD,CAAA,sCACC,yEACA,CAAA,qBACA,CAAA,gBAEA,CAAA,kFAEC,WACA,CAAA,cACA,CAAA,YACA,CAAA,qCAGD,CAAA,+CACC,kBAEA,CAAA,qDACC,cAKH,CAAA,uCC7CA,mBACA,CAAA,oBACA,CAAA,UACA,CAAA,yDAEA,CAAA,2FAEC,mBACA,CAAA,oBACA,CAAA,UACA,CAAA,gCAGD,CAAA,6CACC,oFAKD,CAAA,8CACC,mBACA,CAAA,oBACA,CAAA,UACA,CAAA,kGAKD,CAAA,mNAIC,yBACA,CAAA,6BACA,CAAA,+BACA,CAAA,2BDcD,CAAA,8BACC,mBACA,CAAA,aACA,CAAA,eACA,CAAA,yBAGA,CAAA,+EAEC,UACA,CAAA,UACA,CAAA,eAGD,CAAA,iCACC,gBACA,CAAA,kBACA,CAAA,QACA,CAAA,SAGD,CAAA,gCACC,SACA,CAAA,SAGD,CAAA,sCACC,SACA,CAAA,SACA,CAAA,iBAAkB,CAAA","file":"dashboard-widget.min.css"}
css/jetpack-admin-rtl.css CHANGED
@@ -2,6 +2,172 @@
2
  * Do not modify this file directly. It is compiled Sass code.
3
  * @see: jetpack/_inc/jetpack.scss
4
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  body,
6
  button,
7
  input,
@@ -257,7 +423,7 @@ img {
257
  }
258
  @media (max-width: 1147px) {
259
  .download-jetpack {
260
- font-size: 1.5em;
261
  }
262
  .download-jetpack:before {
263
  top: -1px;
@@ -378,7 +544,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
378
  }
379
 
380
  .jp-content {
381
- background: #81a844;
382
  margin: 0;
383
  height: auto;
384
  min-height: 100%;
@@ -445,7 +611,6 @@ ul#adminmenu a.toplevel_page_jetpack:after {
445
  }
446
 
447
  .jetpack_page_jetpack_modules .header-nav {
448
- max-width: auto;
449
  margin: 0;
450
  }
451
  .jetpack_page_jetpack_modules .page-content {
@@ -479,6 +644,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
479
  .header {
480
  right: 0;
481
  left: 0;
 
482
  }
483
 
484
  .header-nav li {
@@ -493,11 +659,16 @@ ul#adminmenu a.toplevel_page_jetpack:after {
493
  position: relative;
494
  width: 214px;
495
  margin-left: 6px;
496
- background-size: 183px 32px;
 
 
497
  color: #fff;
498
  line-height: 60px;
499
  font-weight: normal;
 
 
500
  text-indent: -9999px;
 
501
  }
502
  .header-nav .jetpack-logo a:before {
503
  content: '';
@@ -506,10 +677,11 @@ ul#adminmenu a.toplevel_page_jetpack:after {
506
  right: 0;
507
  width: 100%;
508
  height: 100%;
509
- background: url(../images/jetpack-logo.png) center center no-repeat;
510
- background: url(../images/jetpack-logo.svg) center center no-repeat, none;
511
  background-size: 183px 32px;
512
  }
 
 
 
513
 
514
  .main-nav {
515
  float: right;
@@ -722,7 +894,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
722
  }
723
  @media (max-width: 530px) {
724
  .clouds-sm {
725
- height: 90;
726
  }
727
  }
728
 
@@ -755,11 +927,10 @@ ul#adminmenu a.toplevel_page_jetpack:after {
755
 
756
  .featured h2,
757
  .module-grid h2 {
758
- margin-top: 0.61111em;
759
  color: #5d6d74;
760
- font: 300 2.57143em/1.4em "proxima-nova", "Open Sans", Helvetica, Arial, sans-serif;
761
  text-align: center;
762
- text-shadow: 0 -1px 1px #fff;
763
  }
764
  @media (max-width: 900px) {
765
  .featured h2,
@@ -943,11 +1114,12 @@ ul#adminmenu a.toplevel_page_jetpack:after {
943
  text-align: center;
944
  }
945
  .module-grid h2 {
946
- margin: 1.25em 0 0.69444em;
947
  }
948
  @media (max-width: 530px) {
949
  .module-grid h2 {
950
- margin-top: 16px;
 
951
  font-size: 25px;
952
  }
953
  }
@@ -1040,7 +1212,6 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1040
  }
1041
 
1042
  .module {
1043
- cursor: pointer;
1044
  display: block;
1045
  padding: 0.71429em 1.07143em 1em;
1046
  text-align: right;
@@ -1057,6 +1228,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1057
  display: none;
1058
  }
1059
  .module h3 {
 
1060
  margin: 0 0 0.5em;
1061
  color: #1a8dba;
1062
  font-size: 1.14286em;
@@ -1275,6 +1447,9 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1275
  font-size: 26px;
1276
  }
1277
  }
 
 
 
1278
  .modal p {
1279
  font-size: 1.23077em;
1280
  }
@@ -1407,8 +1582,6 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1407
  position: relative;
1408
  padding: 10em 0 4.28571em;
1409
  text-align: center;
1410
- background-color: #81a844;
1411
- background-image: linear-gradient(top, #8eb74e, #81a844);
1412
  }
1413
  .footer:before, .footer:after {
1414
  content: '';
@@ -1421,7 +1594,6 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1421
  margin-top: -1px;
1422
  width: 100%;
1423
  height: 195px;
1424
- background: url("../images/the-undercloud.svg") center top repeat-x;
1425
  }
1426
  .footer:after {
1427
  bottom: 0;
@@ -1474,17 +1646,16 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1474
 
1475
  .footer nav {
1476
  max-width: 100%;
1477
- color: #c8e3a2;
1478
  }
1479
  .footer nav a,
1480
  .footer nav a:visited {
1481
  padding: 4px 6px;
1482
- color: #c8e3a2;
1483
  }
1484
  .footer nav a:hover, .footer nav a:focus,
1485
  .footer nav a:visited:hover,
1486
  .footer nav a:visited:focus {
1487
- color: #fff;
1488
  }
1489
  @media (max-width: 1147px) {
1490
  .footer nav {
@@ -1513,7 +1684,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1513
 
1514
  .primary {
1515
  padding: 25px 15px 10px 15px;
1516
- border-bottom: 1px solid #6c954d;
1517
  }
1518
 
1519
  .secondary-footer {
@@ -1536,16 +1707,20 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1536
  font-weight: 400;
1537
  }
1538
  .secondary-footer a {
1539
- border-top: 1px solid #7ba141;
1540
  }
1541
  }
1542
 
1543
  .footer .a8c-attribution {
1544
- margin-top: 6px auto 0;
1545
  padding: 0 6px;
 
1546
  font-size: 0.78571em;
1547
  font-family: "Gill Sans", "Gill Sans MT", "Open Sans", Helvetica, Arial, sans-serif;
1548
  text-transform: uppercase;
 
 
 
1549
  }
1550
  .footer .a8c-attribution a {
1551
  display: inline-block;
@@ -1560,7 +1735,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1560
  top: 2px;
1561
  left: -9999px;
1562
  height: 100%;
1563
- color: #fff;
1564
  font-size: 1.54545em;
1565
  font-family: "automatticons";
1566
  text-align: center;
@@ -1569,15 +1744,9 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1569
  -webkit-animation: candy .4s ease-in-out;
1570
  animation: candy .4s ease-in-out;
1571
  }
1572
- @media (max-width: 1147px) {
1573
- .footer .a8c-attribution {
1574
- display: none;
1575
- }
1576
- }
1577
 
1578
  .secondary {
1579
- padding: 14px 15px 0 15px;
1580
- border-top: 1px solid #8eb345;
1581
  }
1582
 
1583
  .jetpack-message {
@@ -1659,6 +1828,10 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1659
  content: '\f414';
1660
  }
1661
 
 
 
 
 
1662
  .modules h3.icon,
1663
  .jetpack-modules .info a {
1664
  width: auto;
@@ -1754,6 +1927,11 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1754
  content: '\f453';
1755
  }
1756
 
 
 
 
 
 
1757
  .monitor:before,
1758
  .jetpack-modules #monitor .info a:before {
1759
  content: '\f468';
@@ -1779,6 +1957,13 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1779
  content: '\f410';
1780
  }
1781
 
 
 
 
 
 
 
 
1782
  .modules h3.publicize:before,
1783
  .jetpack-modules #publicize .info a:before {
1784
  content: '\f237';
@@ -1866,6 +2051,11 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1866
  width: 100%;
1867
  }
1868
  }
 
 
 
 
 
1869
  @media (max-width: 530px) {
1870
  .wrap.inner.jp-support .jp-support-column-left {
1871
  width: 100%;
@@ -1878,6 +2068,27 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1878
  width: 100%;
1879
  }
1880
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1881
  @media (max-width: 320px) {
1882
  .jetpack_page_jetpack_modules .wrap {
1883
  padding: 0 0 1em;
@@ -2124,8 +2335,9 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2124
  .wrap .manage-right {
2125
  margin: 0;
2126
  padding: 0;
2127
- position: absolute;
2128
- left: 0;
 
2129
  width: 35%;
2130
  z-index: 1;
2131
  }
@@ -2219,6 +2431,467 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2219
  }
2220
  }
2221
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2222
  .nav-horizontal:before, .features:before, .modules:before, .load-more:before, .nav-horizontal:after, .features:after, .modules:after, .load-more:after {
2223
  content: "";
2224
  display: table;
@@ -2228,6 +2901,6 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2228
  }
2229
 
2230
  /*# sourceMappingURL=jetpack-admin.css.map */
2231
- body,button,input,select,textarea{color:#222;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{color:#222;clear:both}a{color:#0d72b2;transition:color .2s;text-decoration:none}a:visited{color:#0d72b2}a:hover{color:#0f92e5}a:focus{outline:thin dotted}address{margin:0 0 1.5em}abbr[title],acronym{cursor:help}ins{background:#eee;text-decoration:none}dt{font-weight:700}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}img{vertical-align:middle}@-webkit-keyframes "grow"{0%{-webkit-transform:scale(0.3);transform:scale(0.3)}60%{-webkit-transform:scale(1.15);transform:scale(1.15)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes "grow"{0%{-webkit-transform:scale(0.3);transform:scale(0.3)}60%{-webkit-transform:scale(1.15);transform:scale(1.15)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes "candy"{0%{-webkit-transform:scale(1);transform:scale(1)}20%{-webkit-transform:scale(1.15);transform:scale(1.15)}60%{-webkit-transform:scale(0.95);transform:scale(0.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes "candy"{0%{-webkit-transform:scale(1);transform:scale(1)}20%{-webkit-transform:scale(1.15);transform:scale(1.15)}60%{-webkit-transform:scale(0.95);transform:scale(0.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes "flyer"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(680px, -680px, 0px);transform:translate3d(680px, -680px, 0px)}}@keyframes "flyer"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(680px, -680px, 0px);transform:translate3d(680px, -680px, 0px)}}.button,.download-jetpack{transition:all .1s ease-in-out}.jp-button,.jp-button--settings{display:inline-block;position:relative;padding:0.76923em 1.46154em;color:#efefef;font:800 0.9285714286em/1 'Open Sans', Helvetica, sans-serif;text-shadow:0 -1px 1px rgba(0,0,0,0.2);background:#6f7476;border-radius:3px}.jp-button:visited,.jp-button--settings:visited{color:#efefef}.jp-button:hover,.jp-button--settings:hover,.jp-button:focus,.jp-button--settings:focus{color:#fff;background:#57972d}.jp-button:active,.jp-button--settings:active{background:#57972d;opacity:0.8}.jp-button--settings{background:#93b45f;color:#e8eedf}.jp-button--settings:visited{color:#e8eedf}.jp-button--settings:hover,.jp-button--settings:focus{background:#9fbd72;color:#fff}.jp-button--settings.current{background:#3c6621;color:#fff;box-shadow:inset 0 2px 0 #365A1F, inset 0 1px 3px #3c6621}.download-jetpack{display:inline-block;position:relative;padding:0.64286em 0.85714em 0.53571em;color:#fff;font:400 20px/1 "proxima-nova", 'Open Sans', Helvetica, sans-serif;background:#518d2a;z-index:3;border-radius:6px;box-shadow:0 6px 0 #3e6c20,0 6px 3px rgba(0,0,0,0.4)}.download-jetpack:visited{color:#fff}.download-jetpack:hover,.download-jetpack:focus{color:#fff;background:#57972d;box-shadow:0 6px 0 #3e6c20,0 6px 3px rgba(0,0,0,0.4)}.download-jetpack:active{top:6px;box-shadow:0 0px 0 #3e6c20,0 0 0 rgba(0,0,0,0.4)}.download-jetpack:active:after{top:-6px}.download-jetpack:before{content:'';display:inline-block;position:relative;top:-2px;margin-left:13px;width:30px;height:30px;vertical-align:middle;background:url("../images/connect-plug.svg") center center no-repeat;background-size:100%}.download-jetpack:after{content:'';position:absolute;top:0;right:0;width:100%;height:100%}@media (max-width: 1147px){.download-jetpack{font-size:1.5em}.download-jetpack:before{top:-1px;width:23px;height:23px}}@media (max-width: 900px){.download-jetpack:active{top:0}}@media (max-width: 530px){.download-jetpack{font-size:1.21429em;font-weight:600}.download-jetpack:before{width:19px;height:19px;margin-left:9px}}#searchsubmit{display:inline-block;border:none;position:relative;padding:0.71429em 1.5em;color:#efefef;font:800 0.8em/1 'Open Sans', Helvetica, sans-serif;text-shadow:0 -1px 1px rgba(0,0,0,0.2);background:#6f7476;outline:none;border-radius:3px}#searchsubmit:visited{color:#efefef}#searchsubmit:hover,#searchsubmit:focus{color:#fff;background:#2aa0d5}#searchsubmit:active{opacity:0.7}@font-face{font-family:'automatticons';src:url("../_inc/fonts/automatticons/automatticons.eot");src:url("../_inc/fonts/automatticons/automatticons.eot?#iefix") format("embedded-opentype"),url("../_inc/fonts/automatticons/automatticons.woff") format("woff"),url("../_inc/fonts/automatticons/automatticons.ttf") format("truetype"),url("../_inc/fonts/automatticons/automatticons.svg#automatticonsregular") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:"jetpack";src:url("../_inc/fonts/jetpack/jetpack.eot");src:url("../_inc/fonts/jetpack/jetpack.eot?#iefix") format("embedded-opentype"),url("../_inc/fonts/jetpack/jetpack.woff") format("woff"),url("../_inc/fonts/jetpack/jetpack.ttf") format("truetype"),url("../_inc/fonts/jetpack/jetpack.svg#jetpack") format("svg");font-weight:normal;font-style:normal}@media screen and (-webkit-min-device-pixel-ratio: 0){@font-face{font-family:"jetpack";src:url("../_inc/fonts/jetpack/jetpack.svg#jetpack") format("svg")}}.nav-horizontal a{display:inline-block}.nav-horizontal li{position:relative;float:right}.nav-horizontal ul{margin:0;padding:0}*,*:before,*:after{-moz-box-sizing:border-box;box-sizing:border-box}::-moz-selection{background:#91bd51;color:#fff;text-shadow:none}::selection{background:#91bd51;color:#fff;text-shadow:none}#wpbody-content{padding-bottom:0}#wpcontent{margin-right:160px;padding:0}ul#adminmenu a.toplevel_page_jetpack:after{border-left-color:#81a844}.folded #wpcontent{margin-right:36px}#wpfooter{display:none}.jp-content{background:#81a844;margin:0;height:auto;min-height:100%;width:100%;width:100%;-webkit-font-smoothing:antialiased}.jp-content .wrapper{background:#f9f9f9}@media (max-width: 900px){#wpcontent,.auto-fold #wpcontent,.auto-fold #wpfooter,.modal,.configure .frame.top.fixed{margin-right:36px;padding-right:0}}@media (max-width: 782px){#wpcontent,.auto-fold #wpcontent,.auto-fold #wpfooter,.modal,.configure .frame.top.fixed{margin-right:0}}@media (max-width: 782px){.configure .frame.top.fixed{padding-right:0}}.wrap.inner,.page-content{max-width:950px;margin:0 auto}.wrap.inner li,.page-content li{line-height:23px}@media (max-width: 530px){.page-content{margin-top:0}}@media (max-width: 1147px){.wrap.inner{background:#f9f9f9;padding:15px}}@media (max-width: 530px){.wrap.inner{margin-top:1.71429em}}.jetpack_page_jetpack_modules .header-nav{max-width:auto;margin:0}.jetpack_page_jetpack_modules .page-content{max-width:1200px;min-height:500px;margin:0}.page-content.about{position:relative;z-index:10}@media (max-width: 1147px){.page-content.about{background:#f9f9f9;padding:15px}}@media (max-width: 1147px){.page-content.configure{background:#f9f9f9}}.footer nav{max-width:550px;margin:0 auto}.header{right:0;left:0}.header-nav li{line-height:60px}.header-nav a{padding:0 0.71429em;line-height:24px}.header-nav .jetpack-logo a{display:inline-block;position:relative;width:214px;margin-left:6px;background-size:183px 32px;color:#fff;line-height:60px;font-weight:normal;text-indent:-9999px}.header-nav .jetpack-logo a:before{content:'';position:absolute;top:0;right:0;width:100%;height:100%;background:url(../images/jetpack-logo.png) center center no-repeat;background:url(../images/jetpack-logo.svg) center center no-repeat,none;background-size:183px 32px}.main-nav{float:right}.main-nav li{margin:0}@media (max-width: 900px){.main-nav{font-size:13px}}.user-nav{float:left}.user-nav li{margin:0}.jetpack-pagestyles #screen-meta{margin:0}.jetpack-pagestyles #screen-meta-links .screen-meta-toggle{z-index:2}.jetpack-pagestyles #screen-options-link-wrap,.jetpack-pagestyles #contextual-help-link-wrap{border:none}.jetpack-pagestyles .update-nag{display:none}.masthead{position:relative;text-align:center;z-index:1;background-color:#81a844;background-image:linear-gradient(top, #81a844, #8eb74e)}.masthead.hasbutton .flyer{bottom:-270px}.masthead.hasbutton .subhead{margin-top:175px}@media (max-width: 530px){.masthead.hasbutton .subhead{margin-top:105px;padding:0}}.masthead h1,.masthead h2{margin:0 auto}.masthead h1{padding:2.5em 0 1.11111em;max-width:21.94444em;color:#fff;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;position:relative;text-shadow:0 -1px 1px rgba(0,0,0,0.12);z-index:3}.masthead h1+.flyby{margin-top:180px}@media (max-width: 1147px){.masthead h1{padding-top:1.83333em;font-size:2.14286em}}@media (max-width: 782px){.masthead h1{max-width:600px;font-size:28px}}@media (max-width: 530px){.masthead h1{margin:0 15px;padding:31px 0 15px 0;font-size:21px;font-weight:400}}.jetpack-connected .masthead h1{margin-bottom:33px;max-width:600px}.flyby{position:relative;max-width:1200px;margin:0 auto}@media (max-width: 900px){.flyby{display:none}}.flyer{position:absolute;bottom:-200px;right:4%;z-index:1;-webkit-animation:flyer 3.4s 2s ease-in-out;animation:flyer 3.4s 2s ease-in-out}.flyer:nth-child(2){right:49%;width:120px;height:131px;-webkit-animation-delay:4.6s;animation-delay:4.6s;-webkit-animation-duration:2.4s;animation-duration:2.4s}.flyer:nth-child(3){right:23%;width:60px;height:66px;-webkit-animation-delay:5.8s;animation-delay:5.8s;-webkit-animation-duration:4.5s;animation-duration:4.5s}.subhead{position:relative;margin-top:105px;padding:4em 0;background:#f9f9f9;z-index:2}.subhead h2{max-width:460px;color:#5d6d74;font:400 1.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 900px){.subhead h2{max-width:428px;font-size:20px}}@media (max-width: 530px){.subhead h2{display:none}}.subhead:after{content:'';position:absolute;bottom:100%;right:0;margin-bottom:-1px;width:100%;height:228px;background:url("../images/the-cloud.svg") center bottom repeat-x;pointer-events:none;z-index:-1}@media (max-width: 1147px){.subhead{margin-top:122px;padding:70px 0 49px}.subhead:after{background-size:160% auto}}@media (max-width: 900px){.subhead{margin-top:122px;padding:70px 0 49px}}@media (max-width: 530px){.subhead{margin-top:83px;padding:47px 15px 39px}}.clouds-sm{height:100px;position:relative;text-align:center;z-index:1;background-color:#81a844;background-image:linear-gradient(top, #81a844, #89b348)}.clouds-sm:after{content:'';position:absolute;bottom:0;right:0;margin-bottom:-1px;width:100%;height:137px;background:url("../images/the-cloud-sm.svg") center bottom repeat-x;pointer-events:none;z-index:2}@media (max-width: 530px){.clouds-sm{height:90}}.featured{border-top:1px solid #d6d6d6;border-bottom:1px solid #d6d6d6;background:#fff;position:relative;padding:2.0em 1em 4.6em 1em;text-align:center;z-index:1}.featured:before{content:"";display:block;position:absolute;top:0;height:100%;z-index:-1}.featured .features,.featured .modules{margin:0 auto;display:inline-block}@media (max-width: 530px){.featured{display:none}}.featured h2,.module-grid h2{margin-top:0.61111em;color:#5d6d74;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-align:center;text-shadow:0 -1px 1px #fff}@media (max-width: 900px){.featured h2,.module-grid h2{font-size:30px}}@media (max-width: 782px){.featured h2,.module-grid h2{font-size:28px}}.features,.modules{margin:0 -5px}.feature,.module{position:relative;float:right;margin:0 5px 10px;width:310px;transition:all .2s ease-in-out}@media (max-width: 1147px){.feature,.module{margin:.75% 1.5% .75% 0;width:32.333333%;transition:none}.feature:nth-child(3n+1),.module:nth-child(3n+1){margin-right:0}.feature:hover,.module:hover{top:0;box-shadow:none}}.feature{-webkit-transform:translateZ(0);transform:translateZ(0)}.feature h3{margin:0 0 0.58824em;color:#697b84;font-size:1.21429em;line-height:1em;font-weight:800}.feature p{margin:0;color:#6e818a}.feature:before{content:'';position:absolute;bottom:0;right:0;width:100%;height:10px;background:rgba(0,0,0,0.02);z-index:-1;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .2s ease-in-out}.feature:hover{-webkit-transform:translateY(-5px);-ms-transform:translateY(-5px);transform:translateY(-5px)}.feature:hover h3{color:#1a8dba}.feature:hover .feature-img{border:1px solid #ccc;border-bottom:none}.feature:hover .no-border{border:none}.feature:hover:before{-webkit-transform:translateY(5px);-ms-transform:translateY(5px);transform:translateY(5px)}@media (max-width: 1147px){.feature:hover h3{color:#6e818a}.feature:hover .feature-img{border:1px solid #ddd;border-bottom:none}.feature:hover .no-border{border:none}}.feature .feature-img{padding-top:52%;width:100%;height:auto;border:1px solid #ddd;border-bottom:none}.feature .feature-img.custom-css{background:url("../images/custom-css.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.custom-css{background-image:url("../images/custom-css@2x.jpg")}}.feature .feature-img.wordpress-connect{background:url("../images/wordpress-connect.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.wordpress-connect{background-image:url("../images/wordpress-connect@2x.jpg")}}.feature .feature-img.wordpress-stats{background:url("../images/wordpress-stats.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.wordpress-stats{background-image:url("../images/wordpress-stats@2x.jpg")}}.feature .feature-img.no-border{border:none;padding-bottom:1px}.feature-description{display:block;padding:1em 1.07143em 1.07143em;border:1px solid #ddd;background:#f5f5f5}.feature:hover .feature-description{background:#fff;border-color:#ccc}@media (max-width: 1147px){.feature:hover .feature-description{border:1px solid #ddd;background:#f5f5f5}}@media (max-width: 900px){.feature-description{min-height:115px}}.cat{clear:both;margin-bottom:23px}.cat h3{font-size:24px;font-weight:300;margin:0 6px 13px 0;text-align:right}.cat .clear{clear:both}.module-grid{text-align:center}.module-grid h2{margin:1.25em 0 0.69444em}@media (max-width: 530px){.module-grid h2{margin-top:16px;font-size:25px}}#module-search{position:relative;width:100%;max-width:40.71429em;margin:0 auto 1.07143em;overflow:hidden}#jetpack-search{margin:0;padding:11px 16px 11px 16px;width:100%;border:1px solid #c9ced0;border-radius:3px;background:#fff;color:#5c6671;line-height:1.3}#jetpack-search:focus{color:#5c6671;outline:none}#jetpack-search:focus+label{background:transparent;opacity:0}#jetpack-search::-webkit-input-placeholder{color:#a8acae}#jetpack-search :-moz-placeholder{color:#a8acae}#jetpack-search::-moz-placeholder{color:#a8acae}#jetpack-search:-ms-input-placeholder{color:#a8acae}#jetpack-search+label{position:absolute;top:1px;left:1px;bottom:1px;width:48px;color:#abafb1;text-indent:-9999px;pointer-events:none;border-radius:3px;transition:all .2s ease-in-out}#jetpack-search+label:after{content:'\f400';position:absolute;left:11px;text-align:left;top:4px;font-size:1.71429em;font-weight:normal;font-family:"genericons"}.jp-filter{margin-bottom:2.85714em;color:#6f7476}.jp-filter a{display:inline-block;position:relative;padding:0.76923em 1.46154em;color:#aaa;font:600 0.92857em/1 "Open Sans", Helvetica, Arial, sans-serif;text-shadow:0 -1px 1px rgba(255,255,255,0.2);background:#eee;border-radius:3px;background-clip:padding-box}.jp-filter a.selected,.jp-filter a:hover,.jp-filter a:focus{color:#efefef;text-shadow:0 -1px 1px rgba(0,0,0,0.2);background:#6f7476}@media (max-width: 530px){.jp-filter a{padding:0.76em 1em}}.module{cursor:pointer;display:block;padding:0.71429em 1.07143em 1em;text-align:right;border:1px solid #dae0e2;background:#fff;box-shadow:0 0 0 rgba(0,0,0,0.03);transition:opacity 2s ease-in}.module:hover{border-color:#8ac9e8;background:#f8fcfe}.module:nth-of-type(n+10){display:none}.module h3{margin:0 0 0.5em;color:#1a8dba;font-size:1.14286em;line-height:1.4em;font-weight:700}.module p{margin:0;color:#686f72;font-size:0.85714em}.module:hover,.module:focus{border-color:#8ac9e8;background:#f8fcfe}.module:nth-of-type(n+10){display:none}.module.active{border-color:#2ea2cc;box-shadow:inset -4px 0 0 #2ea2cc}.module.active:hover{border-color:#69bedd;box-shadow:inset -4px 0 0 #69bedd}@media (max-width: 1147px){.cat .module:nth-child(3n+1){margin:.75% 1.5% .75% 0}.cat .module:nth-child(3n - 1){margin-right:0}}@media (max-width: 900px){.cat .module{margin:1% 2% 1% 0}.cat .module:nth-child(2n+1){margin:1% 2% 1% 0}.cat .module:nth-child(2n+0){margin-right:0}}@media (max-width: 530px){.cat .module{margin:5px 0}.cat .module:nth-child(2n+1){margin-right:0}.cat .module:nth-child(2n+0){margin-right:0}}@media (max-width: 900px){.module{margin:1% 2% 1% 0;width:49%}.module:nth-child(3n+1){margin-right:2%}.module:nth-child(2n+1){margin-right:0}}@media (max-width: 530px){.module{margin:5px 0;width:100%}.module:nth-child(3n+1){margin-right:0}.module:nth-child(2n+1){margin-right:0}}.new{position:relative}.new:after{content:'NEW';position:absolute;top:-8px;left:-8px;padding-top:10px;width:32px;height:32px;color:#fff;font-size:8px;font-weight:800;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,0.2);background:url("../images/new-badge.svg") center center no-repeat;background-size:100%;border-radius:50%}.paid{display:inline-block;position:relative;top:5px;margin-right:10px;padding:1px 4px 0 6px;height:13px;color:#fff;font:700 10px/1 "Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 1px 0 rgba(0,0,0,0.05);background:#d0d0d0;vertical-align:top}.paid:before,.paid:after{position:absolute;top:0;left:100%;font:normal 14px/14px "genericons"}.paid:before{content:'\f503';color:#d0d0d0;text-shadow:none}.paid:after{content:'\f428';margin-left:-5px;font-size:11px}.rtl .paid:before{content:'\f501'}.load-more{margin:2.71429em 0 6.15385em}.set{display:none}.show.set{display:block}.loading{bottom:50%;position:absolute;top:50%;width:100%}.loading span{color:#999}.modal{background:#fff;position:fixed;top:52px;bottom:20px;left:20px;right:20px;margin-right:160px;display:none;box-shadow:0 1px 20px 5px rgba(0,0,0,0.1);z-index:500}.modal .close{position:absolute;top:0;left:0;font:300 1.71429em "genericons" !important;color:#777;content:'\f405';display:inline-block;padding:0.28571em 0.71429em 0.42857em;z-index:5}.modal .close:hover{background:#eee;opacity:0.8}.modal .close:active{background:#eee;opacity:0.4}.modal #jp-post-flair{display:none}.modal .content-container{position:absolute;top:0;left:0;bottom:0;right:0;overflow:auto;padding:2.14286em}.modal .content{margin:0 auto;max-width:900px;text-align:right}.modal h2{text-align:right;margin-top:0;color:#5d6d74;font:300 32px "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 530px){.modal h2{font-size:26px}}.modal p{font-size:1.23077em}.modal footer{position:absolute;right:0;bottom:0;width:100%;padding:12px 20px;border-top:1px solid #ddd;background:#fff;text-align:left}.modal footer ul{margin:0}.modal footer li{display:inline-block;margin:0}.modal .button-secondary,.modal .button-primary:active{vertical-align:baseline}@media (max-width: 900px){.modal{bottom:5%;margin-right:36px;font-size:80%}.modal .content{top:38px}}@media (max-width: 782px){.modal{top:66px;margin-right:0}}@media (max-width: 600px){.modal{top:10px;left:10px;bottom:10px;right:10px}}.jp-info-img{float:left;margin:0 30px 30px 0}.jp-info-img img{border:1px solid #ddd;max-width:100%;height:auto}.jp-info-img img:first-child{margin-top:0}@media (max-width: 782px){.jp-info-img{float:none;margin:0 0 15px}}.content-container.modal-footer{bottom:53px}.shade{background:#000;bottom:0;cursor:pointer;display:none;right:0;opacity:0.2;position:fixed;left:0;top:0;z-index:11}.entry-title,.page-template-default h1{margin-top:0.61111em;color:#5d6d74;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 530px){.entry-title,.page-template-default h1{font-size:2em}}.blog h3,.single h3,.page-template-default h2{margin-top:0.61111em;color:#5d6d74;font:300 1.9em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 530px){.blog h3,.single h3,.page-template-default h2{font-size:1.4em}}.page-template-default p{line-height:1.71429em}.blog .type-post,.page-template-default .type-page,.single .type-post,.single .type-jetpack_support{float:right;width:70%}.footer{margin-top:1.42857em;position:relative;padding:10em 0 4.28571em;text-align:center;background-color:#81a844;background-image:linear-gradient(top, #8eb74e, #81a844)}.footer:before,.footer:after{content:'';position:absolute;right:0;pointer-events:none}.footer:before{top:0;margin-top:-1px;width:100%;height:195px;background:url("../images/the-undercloud.svg") center top repeat-x}.footer:after{bottom:0;width:100%;height:50px;background:url("../images/the-footcloud.svg") center bottom no-repeat;background-size:auto 45px;z-index:1}.footer .download-jetpack{margin-bottom:33px}@media (max-width: 1147px){.footer{padding-top:165px;padding-bottom:0}.footer:before{background-size:160% auto}.footer:after{display:none}.footer ul{float:none;overflow:hidden}}@media (max-width: 900px){.footer{padding-top:146px}}@media (max-width: 782px){.footer{margin-top:0}}@media (max-width: 530px){.footer{margin-top:0;padding-top:135px}}@media (max-width: 320px){.footer{padding-top:76px}}.footer nav{max-width:100%;color:#c8e3a2}.footer nav a,.footer nav a:visited{padding:4px 6px;color:#c8e3a2}.footer nav a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#fff}@media (max-width: 1147px){.footer nav{border:none;padding:0}.footer nav a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#fff}}@media (max-width: 530px){.footer nav li{display:block;float:none;margin:0;text-align:right}.footer nav a{display:block;padding:0 16px;line-height:44px}}.primary{padding:25px 15px 10px 15px;border-bottom:1px solid #6c954d}.secondary-footer{margin:0 auto}.secondary-footer li{margin-left:5px}@media (max-width: 1147px){.secondary-footer{margin:0 30px;padding:8px 15px 30px}}@media (max-width: 530px){.secondary-footer{margin:0;padding:0;border:none;font-weight:400}.secondary-footer a{border-top:1px solid #7ba141}}.footer .a8c-attribution{margin-top:6px auto 0;padding:0 6px;font-size:0.78571em;font-family:"Gill Sans","Gill Sans MT","Open Sans",Helvetica,Arial,sans-serif;text-transform:uppercase}.footer .a8c-attribution a{display:inline-block;position:relative;padding:4px 16px;left:9999px;outline:0}.footer .a8c-attribution a:after{content:'A';position:absolute;top:2px;left:-9999px;height:100%;color:#fff;font-size:1.54545em;font-family:"automatticons";text-align:center}.footer .a8c-attribution a:hover:after{-webkit-animation:candy .4s ease-in-out;animation:candy .4s ease-in-out}@media (max-width: 1147px){.footer .a8c-attribution{display:none}}.secondary{padding:14px 15px 0 15px;border-top:1px solid #8eb345}.jetpack-message{background:#8eb74e;border:1px solid #73963d;margin:33px auto 0;max-width:90%;position:relative;z-index:2}.jetpack-message.is-opt-in{margin:50px 0 0;max-width:100%;padding:10px 15px;background:#fff;border:0;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);font-size:13px;text-align:center}.subhead .jetpack-message.is-opt-in{margin:0;padding-bottom:0;background:transparent;box-shadow:none}.subhead .jetpack-message.is-opt-in .jp-button,.subhead .jetpack-message.is-opt-in .jp-button--settings{display:inline-block}.jetpack-message.is-opt-in p{color:#3c4549}.jetpack-message.is-opt-in .jp-button,.jetpack-message.is-opt-in .jp-button--settings{margin-top:15px;display:none}.jetpack-message h4{color:#fff;margin:0}.jetpack-message p{color:#fff;margin:0;opacity:0.7}.jetpack-message .squeezer{padding:23px 80px 23px 23px;position:relative;text-align:right}.jetpack-message .squeezer:before{color:#fff;content:'\f418';font-family:'Genericons';font-size:33px;height:33px;right:25px;opacity:0.6;position:absolute;top:23px;top:calc( 50% - 22px )}@media (max-width: 530px){.jetpack-message .squeezer{padding:23px}.jetpack-message .squeezer:before{display:none}}.jetpack-message .squeezer a{color:#FFF;border-bottom:1px solid #D5E4BD}.jetpack-message .squeezer a:hover{border-bottom:1px solid #F1F6E9}.jetpack-message.error .squeezer:before,.jetpack-message.jetpack-err .squeezer:before{content:'\f414'}.modules h3.icon,.jetpack-modules .info a{width:auto}.modules h3.icon:before,.jetpack-modules .info a:before{display:inline-block;position:relative;top:1px;right:-3px;margin-left:2px;opacity:0.8;font:normal 20px "genericons";vertical-align:top}.jetpack-modules .info a:before{margin-top:1px}.latex:before,.jetpack-modules #latex .info a:before{content:'\f408'}.carousel:before,.jetpack-modules #carousel .info a:before{content:'\f102'}.modules h3.contact-form:before,.jetpack-modules #contact-form .info a:before{content:'\f175';font:normal 20px "dashicons"}.modules h3.custom-css:before,.jetpack-modules #custom-css .info a:before{content:'\f100';font:normal 20px "dashicons"}.modules h3.enhanced-distribution:before,.jetpack-modules #enhanced-distribution .info a:before{content:'\f237';font:normal 20px "dashicons"}.modules h3.widgets:before,.jetpack-modules #widgets .info a:before{content:'\f116';font:normal 20px "dashicons"}.modules h3.gravatar-hovercards:before,.jetpack-modules #gravatar-hovercards .info a:before{content:'G';font-family:"automatticons"}.infinite-scroll:before,.jetpack-modules #infinite-scroll .info a:before{content:'\f408'}.comments:before,.jetpack-modules #comments .info a:before{content:'\f108'}.sso:before,.jetpack-modules #sso .info a:before{content:'\f205'}.json-api:before,.jetpack-modules #json-api .info a:before{content:'\f415'}.likes:before,.jetpack-modules #likes .info a:before{content:'\f408'}.markdown:before,.jetpack-modules #markdown .info a:before{content:'\f462'}.minileven:before,.jetpack-modules #minileven .info a:before{content:'\f453'}.monitor:before,.jetpack-modules #monitor .info a:before{content:'\f468'}.notes:before,.jetpack-modules #notes .info a:before{content:'\f300'}.omnisearch:before,.jetpack-modules #omnisearch .info a:before{content:'\f400'}.photon:before,.jetpack-modules #photon .info a:before{content:'\f403'}.post-by-email:before,.jetpack-modules #post-by-email .info a:before{content:'\f410'}.modules h3.publicize:before,.jetpack-modules #publicize .info a:before{content:'\f237';font:normal 20px "dashicons"}.related-posts:before,.jetpack-modules #related-posts .info a:before{content:'\f420'}.sharedaddy:before,.jetpack-modules #sharedaddy .info a:before{content:'\f415'}.shortcodes:before,.jetpack-modules #shortcodes .info a:before{content:'\f100'}.verification-tools:before,.jetpack-modules #verification-tools .info a:before{content:'\f425'}.after-the-deadline:before,.jetpack-modules #after-the-deadline .info a:before{content:'\f411'}.subscriptions:before,.jetpack-modules #subscriptions .info a:before{content:'\f410'}.tiled-gallery:before,.jetpack-modules #tiled-gallery .info a:before{content:'\f103'}.modules h3.vaultpress:before,.jetpack-modules #vaultpress .info a:before{content:'V';font-family:"automatticons"}.videopress:before,.jetpack-modules #videopress .info a:before{content:'\f104'}.modules h3.widget-visibility:before,.jetpack-modules #widget-visibility .info a:before{content:'\f116';font:normal 20px "dashicons"}.stats:before,.jetpack-modules #stats .info a:before{content:'\f205'}.shortlinks:before,.jetpack-modules #shortlinks .info a:before{content:'\f107'}.modules h3.custom-content-types:before,.jetpack-modules #custom-content-types .info a:before{content:'\f498';font:normal 20px "dashicons"}.modules h3.site-icon:before,.jetpack-modules #site-icon .info a:before{content:'\f475'}@media (max-width: 782px){.blog .type-post,.page-template-default .type-page,.single .type-post,.single .type-jetpack_support{width:100%}}@media (max-width: 530px){.wrap.inner.jp-support .jp-support-column-left{width:100%}.wrap.inner.jp-support .jp-support-column-left .widget-text{margin-left:0;width:100%}.wrap.inner.jp-support .jp-support-column-right{width:100%}}@media (max-width: 320px){.jetpack_page_jetpack_modules .wrap{padding:0 0 1em}}.page-content.configure{margin-top:0}.configure .frame.top{border:none;box-shadow:none;padding-top:1.42857em;position:relative;top:auto}.configure .frame.top.fixed{background:#f9f9f9;border-bottom:1px solid #e9e9e9;padding-right:160px;margin-top:-6px;position:fixed;left:0;top:32px;width:100%;z-index:4;box-shadow:0 2px 2px -2px #eee}@media (max-width: 782px){.configure .frame.top.fixed{border:none;box-shadow:none;padding-top:1.42857em;position:relative;top:auto}}@media (max-width: 600px){.configure .frame.top.fixed{top:0}}.configure .frame.top .tablenav.top{float:right}@media (max-width: 900px){.configure .frame.top .tablenav.top .actions{display:block}}@media (max-width: 782px){.configure .frame.top .tablenav.top .actions{margin-top:6px}}.jp-frame-top-fixed .configure{padding-top:94px}.filter-search{display:none;float:left;margin-top:10px}@media (max-width: 782px){.filter-search{display:block}}@media (max-width: 530px){.filter-search{display:none}}.module-actions.landing-page{float:left;margin-left:15px}.module-actions.landing-page a{font-size:0.6em}.table-bordered.jetpack-modules{border:none;margin-bottom:0}.table-bordered.jetpack-modules tr.jetpack-module th{border-right:0;padding:14px 4px 0}.table-bordered.jetpack-modules tr.jetpack-module th input{display:block}.table-bordered.jetpack-modules tr.jetpack-module:hover .genericon{display:inline-block}.table-bordered.jetpack-modules tr.jetpack-module:hover td .row-actions span a{opacity:1}.table-bordered.jetpack-modules tr.jetpack-module.active th,.table-bordered.jetpack-modules tr.jetpack-module.active td{background:#f7fcfe}.table-bordered.jetpack-modules tr.jetpack-module.active th{border-right:4px solid #2ea2cc;padding-right:0px}.table-bordered.jetpack-modules tr.jetpack-module.active td:first-child{border-right:4px solid #2ea2cc}.table-bordered.jetpack-modules tr.jetpack-module.unavailable{opacity:0.3}.table-bordered.jetpack-modules tr.jetpack-module.unavailable input{display:none}.table-bordered.jetpack-modules tr.jetpack-module#vaultpress{opacity:1}.table-bordered.jetpack-modules tr.jetpack-module th,.table-bordered.jetpack-modules tr.jetpack-module td{background:#fff;margin:0;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1)}.table-bordered.jetpack-modules tr.jetpack-module td{padding:10px 14px 8px 10px;line-height:25px}.table-bordered.jetpack-modules tr.jetpack-module td:first-child{border-right:4px solid #fff}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{float:left;padding:0 0 1px;visibility:visible}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span{margin-right:5px}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span a{opacity:0}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span a:focus{opacity:1}@media (max-width: 530px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:none}}@media (max-width: 782px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:block;padding-right:10px;visibility:visible}}.table-bordered.jetpack-modules>thead>tr>th{border:0;vertical-align:middle}.table-bordered.jetpack-modules>thead>tr>th:last-child{padding-left:0}@media (max-width: 782px){.table-bordered.jetpack-modules>thead>tr>th:last-child{padding-right:0}}.table-bordered.jetpack-modules td{background:#fff}.table-bordered.jetpack-modules #doaction{margin-top:0}@media (max-width: 782px){.table-bordered.jetpack-modules #doaction{padding:10px 7px}}.table-bordered.jetpack-modules .checkall{margin-top:1px}.table-bordered.jetpack-modules .filter-search{margin-top:8px}.table-bordered.jetpack-modules .genericon{color:#999;display:none;margin:7px 3px 0}@media (max-width: 900px){.table-bordered.jetpack-modules .genericon{display:inline-block}}.table-bordered.jetpack-modules .med{width:70px}.table-bordered.jetpack-modules .sm{width:30px}@media (max-width: 782px){.table-bordered.jetpack-modules .check-column{width:50px}}.fixed-top .check-column{padding:8px 10px 0 10px;width:2.2em}.wrap{margin:0;padding:0 1.5em 1em;overflow:hidden}.wrap h2{font-size:24px;font-weight:400}.wrap .manage-left{float:right;margin:0;padding:0;width:63%}.wrap .manage-left table{width:100%}.wrap .manage-left th{font-weight:400}@media (max-width: 782px){.wrap .manage-left{width:100%}}.wrap .manage-right{margin:0;padding:0;position:absolute;left:0;width:35%;z-index:1}.wrap .manage-right p{font-size:12px;font-weight:bold;color:#bbb;padding-top:2px;text-transform:uppercase;letter-spacing:1px;clear:right}.wrap .manage-right .bumper{margin-right:33px}.wrap .manage-right.show{display:block;position:fixed;overflow-y:auto;overflow-x:hidden;position:absolute}.wrap .manage-right .search-bar{margin-bottom:18px;max-width:300px}.wrap .manage-right p.search-box{float:none;height:auto;margin-bottom:0;position:relative}.wrap .manage-right p.search-box input[type='search']{padding:0 8px;width:90%;line-height:initial}@media (max-width: 782px){.wrap .manage-right p.search-box input[type='search']{float:right;padding:9px 8px}}.wrap .manage-left p.search-box input[type="submit"]{display:none}.wrap .manage-right .button-group .button{outline:none}.wrap .manage-right .subsubsub{margin:0;padding:0}.wrap .manage-right .subsubsub a{padding:0;line-height:inherit}.wrap .manage-right .subsubsub .current{padding:1px 5px;border-radius:2px;margin-right:-5px;background:#0D72B2;color:#FFF}.wrap .manage-right .subsubsub .current .count{color:#BCD7E7;font-weight:200}.wrap .manage-right .subsubsub li{display:block;text-align:right}@media (max-width: 782px){.wrap .manage-right{background:#fff;bottom:0;display:none;min-width:300px;position:fixed;left:0;top:0;z-index:13;box-shadow:0 1px 20px 5px rgba(0,0,0,0.1)}.wrap .manage-right .bumper{margin:13px}.wrap .manage-right .navbar-form{margin:0;padding:0}}.nav-horizontal:before,.features:before,.modules:before,.load-more:before,.nav-horizontal:after,.features:after,.modules:after,.load-more:after{content:"";display:table}.nav-horizontal:after,.features:after,.modules:after,.load-more:after{clear:both}
2232
 
2233
  /*# sourceMappingURL=jetpack-admin.min.css.map */
2
  * Do not modify this file directly. It is compiled Sass code.
3
  * @see: jetpack/_inc/jetpack.scss
4
  */
5
+ .j-row {
6
+ width: 100%;
7
+ margin: 0 auto;
8
+ }
9
+ .j-row:before, .j-row:after {
10
+ content: " ";
11
+ display: table;
12
+ }
13
+ .j-row:after {
14
+ clear: both;
15
+ }
16
+
17
+ .j-col {
18
+ padding: 0.85em;
19
+ width: 100%;
20
+ float: right;
21
+ position: relative;
22
+ }
23
+
24
+ @media only screen {
25
+ .j-sm-1 {
26
+ width: 8.33333%;
27
+ }
28
+
29
+ .j-sm-2 {
30
+ width: 16.66667%;
31
+ }
32
+
33
+ .j-sm-3 {
34
+ width: 25%;
35
+ }
36
+
37
+ .j-sm-4 {
38
+ width: 33.33333%;
39
+ }
40
+
41
+ .j-sm-5 {
42
+ width: 41.66667%;
43
+ }
44
+
45
+ .j-sm-6 {
46
+ width: 50%;
47
+ }
48
+
49
+ .j-sm-7 {
50
+ width: 58.33333%;
51
+ }
52
+
53
+ .j-sm-8 {
54
+ width: 66.66667%;
55
+ }
56
+
57
+ .j-sm-9 {
58
+ width: 75%;
59
+ }
60
+
61
+ .j-sm-10 {
62
+ width: 83.33333%;
63
+ }
64
+
65
+ .j-sm-11 {
66
+ width: 91.66667%;
67
+ }
68
+
69
+ .j-sm-12 {
70
+ width: 100%;
71
+ }
72
+ }
73
+ @media (min-width: 530px) {
74
+ .j-md-1 {
75
+ width: 8.33333%;
76
+ }
77
+
78
+ .j-md-2 {
79
+ width: 16.66667%;
80
+ }
81
+
82
+ .j-md-3 {
83
+ width: 25%;
84
+ }
85
+
86
+ .j-md-4 {
87
+ width: 33.33333%;
88
+ }
89
+
90
+ .j-md-5 {
91
+ width: 41.66667%;
92
+ }
93
+
94
+ .j-md-6 {
95
+ width: 50%;
96
+ }
97
+
98
+ .j-md-7 {
99
+ width: 58.33333%;
100
+ }
101
+
102
+ .j-md-8 {
103
+ width: 66.66667%;
104
+ }
105
+
106
+ .j-md-9 {
107
+ width: 75%;
108
+ }
109
+
110
+ .j-md-10 {
111
+ width: 83.33333%;
112
+ }
113
+
114
+ .j-md-11 {
115
+ width: 91.66667%;
116
+ }
117
+
118
+ .j-md-12 {
119
+ width: 100%;
120
+ }
121
+ }
122
+ @media (min-width: 782px) {
123
+ .j-lrg-1 {
124
+ width: 8.33333%;
125
+ }
126
+
127
+ .j-lrg-2 {
128
+ width: 16.66667%;
129
+ }
130
+
131
+ .j-lrg-3 {
132
+ width: 25%;
133
+ }
134
+
135
+ .j-lrg-4 {
136
+ width: 33.33333%;
137
+ }
138
+
139
+ .j-lrg-5 {
140
+ width: 41.66667%;
141
+ }
142
+
143
+ .j-lrg-6 {
144
+ width: 50%;
145
+ }
146
+
147
+ .j-lrg-7 {
148
+ width: 58.33333%;
149
+ }
150
+
151
+ .j-lrg-8 {
152
+ width: 66.66667%;
153
+ }
154
+
155
+ .j-lrg-9 {
156
+ width: 75%;
157
+ }
158
+
159
+ .j-lrg-10 {
160
+ width: 83.33333%;
161
+ }
162
+
163
+ .j-lrg-11 {
164
+ width: 91.66667%;
165
+ }
166
+
167
+ .j-lrg-12 {
168
+ width: 100%;
169
+ }
170
+ }
171
  body,
172
  button,
173
  input,
423
  }
424
  @media (max-width: 1147px) {
425
  .download-jetpack {
426
+ font-size: 1.28571em;
427
  }
428
  .download-jetpack:before {
429
  top: -1px;
544
  }
545
 
546
  .jp-content {
547
+ background: #f9f9f9;
548
  margin: 0;
549
  height: auto;
550
  min-height: 100%;
611
  }
612
 
613
  .jetpack_page_jetpack_modules .header-nav {
 
614
  margin: 0;
615
  }
616
  .jetpack_page_jetpack_modules .page-content {
644
  .header {
645
  right: 0;
646
  left: 0;
647
+ background: #81a844;
648
  }
649
 
650
  .header-nav li {
659
  position: relative;
660
  width: 214px;
661
  margin-left: 6px;
662
+ background: url(../images/jetpack-logo.png) center center no-repeat;
663
+ background: url(../images/jetpack-logo.svg) center center no-repeat, none;
664
+ background-size: 183px auto;
665
  color: #fff;
666
  line-height: 60px;
667
  font-weight: normal;
668
+ }
669
+ .header-nav .jetpack-logo a span {
670
  text-indent: -9999px;
671
+ visibility: hidden;
672
  }
673
  .header-nav .jetpack-logo a:before {
674
  content: '';
677
  right: 0;
678
  width: 100%;
679
  height: 100%;
 
 
680
  background-size: 183px 32px;
681
  }
682
+ .header-nav .jetpack-modules + .jetpack-modules {
683
+ margin-right: 15px;
684
+ }
685
 
686
  .main-nav {
687
  float: right;
894
  }
895
  @media (max-width: 530px) {
896
  .clouds-sm {
897
+ height: 90px;
898
  }
899
  }
900
 
927
 
928
  .featured h2,
929
  .module-grid h2 {
930
+ margin-top: 1em;
931
  color: #5d6d74;
932
+ font: 300 2em/1em "proxima-nova", "Open Sans", Helvetica, Arial, sans-serif;
933
  text-align: center;
 
934
  }
935
  @media (max-width: 900px) {
936
  .featured h2,
1114
  text-align: center;
1115
  }
1116
  .module-grid h2 {
1117
+ margin: 1em 0;
1118
  }
1119
  @media (max-width: 530px) {
1120
  .module-grid h2 {
1121
+ padding-top: 16px;
1122
+ margin-top: 0;
1123
  font-size: 25px;
1124
  }
1125
  }
1212
  }
1213
 
1214
  .module {
 
1215
  display: block;
1216
  padding: 0.71429em 1.07143em 1em;
1217
  text-align: right;
1228
  display: none;
1229
  }
1230
  .module h3 {
1231
+ cursor: pointer;
1232
  margin: 0 0 0.5em;
1233
  color: #1a8dba;
1234
  font-size: 1.14286em;
1447
  font-size: 26px;
1448
  }
1449
  }
1450
+ .modal h5 {
1451
+ clear: right;
1452
+ }
1453
  .modal p {
1454
  font-size: 1.23077em;
1455
  }
1582
  position: relative;
1583
  padding: 10em 0 4.28571em;
1584
  text-align: center;
 
 
1585
  }
1586
  .footer:before, .footer:after {
1587
  content: '';
1594
  margin-top: -1px;
1595
  width: 100%;
1596
  height: 195px;
 
1597
  }
1598
  .footer:after {
1599
  bottom: 0;
1646
 
1647
  .footer nav {
1648
  max-width: 100%;
 
1649
  }
1650
  .footer nav a,
1651
  .footer nav a:visited {
1652
  padding: 4px 6px;
1653
+ color: #999;
1654
  }
1655
  .footer nav a:hover, .footer nav a:focus,
1656
  .footer nav a:visited:hover,
1657
  .footer nav a:visited:focus {
1658
+ color: #81A844;
1659
  }
1660
  @media (max-width: 1147px) {
1661
  .footer nav {
1684
 
1685
  .primary {
1686
  padding: 25px 15px 10px 15px;
1687
+ border-bottom: 1px solid #eee;
1688
  }
1689
 
1690
  .secondary-footer {
1707
  font-weight: 400;
1708
  }
1709
  .secondary-footer a {
1710
+ border-top: 1px solid #eee;
1711
  }
1712
  }
1713
 
1714
  .footer .a8c-attribution {
1715
+ margin: 0;
1716
  padding: 0 6px;
1717
+ color: #bbb;
1718
  font-size: 0.78571em;
1719
  font-family: "Gill Sans", "Gill Sans MT", "Open Sans", Helvetica, Arial, sans-serif;
1720
  text-transform: uppercase;
1721
+ /*@include breakpoint(large-desktop){
1722
+ display: none;
1723
+ };*/
1724
  }
1725
  .footer .a8c-attribution a {
1726
  display: inline-block;
1735
  top: 2px;
1736
  left: -9999px;
1737
  height: 100%;
1738
+ color: #999;
1739
  font-size: 1.54545em;
1740
  font-family: "automatticons";
1741
  text-align: center;
1744
  -webkit-animation: candy .4s ease-in-out;
1745
  animation: candy .4s ease-in-out;
1746
  }
 
 
 
 
 
1747
 
1748
  .secondary {
1749
+ padding: 10px 15px 0 15px;
 
1750
  }
1751
 
1752
  .jetpack-message {
1828
  content: '\f414';
1829
  }
1830
 
1831
+ .configure-module .jetpack-message {
1832
+ max-width: 100%;
1833
+ }
1834
+
1835
  .modules h3.icon,
1836
  .jetpack-modules .info a {
1837
  width: auto;
1927
  content: '\f453';
1928
  }
1929
 
1930
+ .manage:before,
1931
+ .jetpack-modules #manage .info a:before {
1932
+ content: '\f205';
1933
+ }
1934
+
1935
  .monitor:before,
1936
  .jetpack-modules #monitor .info a:before {
1937
  content: '\f468';
1957
  content: '\f410';
1958
  }
1959
 
1960
+ .protect:before,
1961
+ .jetpack-modules #protect .info a:before {
1962
+ content: '\f470';
1963
+ position: relative;
1964
+ top: -1px;
1965
+ }
1966
+
1967
  .modules h3.publicize:before,
1968
  .jetpack-modules #publicize .info a:before {
1969
  content: '\f237';
2051
  width: 100%;
2052
  }
2053
  }
2054
+ @media (max-width: 600px) {
2055
+ .clouds-sm {
2056
+ display: none;
2057
+ }
2058
+ }
2059
  @media (max-width: 530px) {
2060
  .wrap.inner.jp-support .jp-support-column-left {
2061
  width: 100%;
2068
  width: 100%;
2069
  }
2070
  }
2071
+ @media screen and (max-width: 400px) {
2072
+ .jp-frame .header-nav {
2073
+ padding-bottom: 10px;
2074
+ }
2075
+ .jp-frame .header-nav li {
2076
+ line-height: 30px;
2077
+ }
2078
+ .jp-frame .header-nav .jetpack-logo {
2079
+ width: 100%;
2080
+ text-align: center;
2081
+ }
2082
+ .jp-frame .header-nav .jetpack-modules {
2083
+ margin: 0;
2084
+ width: 50%;
2085
+ text-align: left;
2086
+ padding: 0 5px;
2087
+ }
2088
+ .jp-frame .header-nav .jetpack-modules + .jetpack-modules {
2089
+ text-align: right;
2090
+ }
2091
+ }
2092
  @media (max-width: 320px) {
2093
  .jetpack_page_jetpack_modules .wrap {
2094
  padding: 0 0 1em;
2335
  .wrap .manage-right {
2336
  margin: 0;
2337
  padding: 0;
2338
+ /*position: absolute;
2339
+ right: 0;*/
2340
+ float: left;
2341
  width: 35%;
2342
  z-index: 1;
2343
  }
2431
  }
2432
  }
2433
 
2434
+ /* 'Pages' is a temporary location for these styles, until we can break them up into their proper atmoic locations */
2435
+ .configure-module p {
2436
+ font-size: 14px;
2437
+ }
2438
+ .configure-module p.success, .configure-module p.error {
2439
+ color: #fff;
2440
+ padding: 10px;
2441
+ }
2442
+ .configure-module p.success {
2443
+ background-color: #81a844;
2444
+ }
2445
+ .configure-module p.error {
2446
+ background-color: #d94f4f;
2447
+ }
2448
+
2449
+ .protect-status p {
2450
+ font-size: 16px;
2451
+ }
2452
+ .protect-status strong {
2453
+ display: inline-block;
2454
+ margin-top: 10px;
2455
+ background: #fff;
2456
+ padding: 10px;
2457
+ border: 1px #ddd solid;
2458
+ font-size: 16px;
2459
+ color: #000;
2460
+ max-width: 100%;
2461
+ }
2462
+ .protect-status.attn {
2463
+ color: #d94f4f;
2464
+ }
2465
+ .protect-status.working {
2466
+ color: #81a844;
2467
+ }
2468
+
2469
+ /* Whitelisting */
2470
+ #non-editable-whitelist {
2471
+ margin-top: 15px;
2472
+ }
2473
+
2474
+ .protect-whitelist textarea {
2475
+ width: 100%;
2476
+ min-height: 150px;
2477
+ }
2478
+
2479
+ #editable-whitelist .whitelist-table {
2480
+ width: 100%;
2481
+ }
2482
+
2483
+ /* btns + inputs */
2484
+ .configure-module input[disabled] {
2485
+ opacity: .5;
2486
+ }
2487
+ .configure-module input.button-primary {
2488
+ font-weight: bold;
2489
+ }
2490
+
2491
+ /* whitelist table */
2492
+ .whitelist-table {
2493
+ border-top: 1px solid;
2494
+ border-left: 1px solid;
2495
+ border-color: #ddd;
2496
+ background-color: #fff;
2497
+ }
2498
+ .whitelist-table td, .whitelist-table th {
2499
+ padding: 10px;
2500
+ margin: 0;
2501
+ border-bottom: 1px solid;
2502
+ border-right: 1px solid;
2503
+ border-color: #ddd;
2504
+ font-size: 14px;
2505
+ }
2506
+ .whitelist-table th.heading {
2507
+ font-weight: bold;
2508
+ color: #5d6d74;
2509
+ text-align: right;
2510
+ background-color: #eee;
2511
+ }
2512
+ .whitelist-table td.item-actions {
2513
+ border-right: none;
2514
+ text-align: left;
2515
+ }
2516
+ .whitelist-table .toolbar {
2517
+ padding: 0;
2518
+ }
2519
+ .whitelist-table .add-btn {
2520
+ text-align: center;
2521
+ width: 10%;
2522
+ border-right: 1px #ddd solid;
2523
+ }
2524
+
2525
+ .ip-address, .enter-ip {
2526
+ width: 90%;
2527
+ text-align: right;
2528
+ vertical-align: middle;
2529
+ }
2530
+
2531
+ .delete-ip-address {
2532
+ text-align: center;
2533
+ border: 0;
2534
+ background: transparent;
2535
+ color: #6f7476;
2536
+ box-shadow: none;
2537
+ font-size: 20px;
2538
+ margin: 0;
2539
+ padding: 0;
2540
+ cursor: pointer;
2541
+ border-radius: 2px;
2542
+ }
2543
+ .delete-ip-address:hover {
2544
+ background: #eee;
2545
+ }
2546
+
2547
+ .toolbar div {
2548
+ float: right;
2549
+ padding: 10px;
2550
+ }
2551
+
2552
+ @media only screen and (min-width: 1100px) {
2553
+ #non-editable-whitelist {
2554
+ width: 28%;
2555
+ float: left;
2556
+ margin-top: 0;
2557
+ }
2558
+
2559
+ .protect-whitelist {
2560
+ width: 65%;
2561
+ float: right;
2562
+ }
2563
+ }
2564
+ /* end > 1065px */
2565
+ @media only screen and (max-width: 1130px) {
2566
+ .enter-ip input[type="text"] {
2567
+ max-width: 175px;
2568
+ }
2569
+ }
2570
+ /* end < 1130px */
2571
+ @media only screen and (max-width: 1250px) and (min-width: 1065px), (max-width: 730px) and (min-width: 600px) {
2572
+ .enter-ip {
2573
+ width: 85%;
2574
+ }
2575
+
2576
+ .add-btn {
2577
+ width: 15%;
2578
+ }
2579
+ }
2580
+ /* end < 1250px & > 1065px */
2581
+ @media only screen and (max-width: 782px) {
2582
+ .add-btn {
2583
+ text-align: left;
2584
+ }
2585
+
2586
+ .add-btn .ip-add {
2587
+ margin-top: 4px;
2588
+ margin-bottom: 3px;
2589
+ }
2590
+ }
2591
+ /* end < 782px */
2592
+ @media only screen and (max-width: 730px) {
2593
+ .add-btn {
2594
+ text-align: center;
2595
+ }
2596
+ }
2597
+ /* end < 730px */
2598
+ @media only screen and (max-width: 665px) and (min-width: 600px) {
2599
+ .enter-ip input[type="text"] {
2600
+ max-width: 165px;
2601
+ }
2602
+ }
2603
+ /* end < 665px & > 600px */
2604
+ @media only screen and (max-width: 600px) {
2605
+ .toolbar div {
2606
+ width: 100%;
2607
+ }
2608
+
2609
+ .add-btn {
2610
+ border-top: 1px #ddd solid;
2611
+ }
2612
+
2613
+ .enter-ip {
2614
+ text-align: center;
2615
+ }
2616
+
2617
+ .enter-ip strong {
2618
+ display: block;
2619
+ margin-bottom: 5px;
2620
+ }
2621
+
2622
+ .enter-ip input[type="text"] {
2623
+ width: 100%;
2624
+ max-width: 100%;
2625
+ }
2626
+
2627
+ .add-btn input,
2628
+ .enter-ip .button {
2629
+ width: 50%;
2630
+ margin: 0 auto;
2631
+ }
2632
+
2633
+ .enter-ip .button {
2634
+ margin-top: 10px;
2635
+ }
2636
+ }
2637
+ /* end > 600px */
2638
+ @media only screen and (max-width: 400px) {
2639
+ .protect-status strong {
2640
+ font-size: 12px;
2641
+ overflow: auto;
2642
+ }
2643
+
2644
+ .add-btn input,
2645
+ .enter-ip .button {
2646
+ width: 100%;
2647
+ }
2648
+ }
2649
+ /* end < 400px */
2650
+ .jp-content .hide {
2651
+ display: none;
2652
+ }
2653
+ .jp-content .pointer {
2654
+ cursor: pointer;
2655
+ }
2656
+ .jp-content .landing {
2657
+ margin: 0 auto;
2658
+ z-index: 2;
2659
+ position: relative;
2660
+ }
2661
+ .jp-content h1 {
2662
+ font: 300 2.57143em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;
2663
+ position: relative;
2664
+ z-index: 3;
2665
+ width: 100%;
2666
+ text-align: center;
2667
+ }
2668
+ .jp-content h1.success {
2669
+ color: #81a844;
2670
+ }
2671
+ .jp-content .footer {
2672
+ padding-top: 0;
2673
+ margin-top: 0;
2674
+ background-image: none;
2675
+ }
2676
+ .jp-content .footer:before {
2677
+ height: inherit;
2678
+ }
2679
+ .jp-content .more-info:before {
2680
+ content: none;
2681
+ }
2682
+
2683
+ .landing .wpcom-connect {
2684
+ min-height: 400px;
2685
+ }
2686
+
2687
+ .wpcom-connect .j-col {
2688
+ padding: 0;
2689
+ }
2690
+ .wpcom-connect .connect-desc {
2691
+ padding-left: 25px;
2692
+ }
2693
+ .wpcom-connect .connect-btn {
2694
+ text-align: center;
2695
+ }
2696
+
2697
+ .module-grid h2 {
2698
+ color: #000;
2699
+ font: 300 2.57143em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;
2700
+ }
2701
+
2702
+ .download-jetpack {
2703
+ margin-top: 1em !important;
2704
+ }
2705
+
2706
+ #jump-start-area {
2707
+ margin-top: 35px;
2708
+ padding-right: 60px;
2709
+ padding-left: 60px;
2710
+ background: #fefefe;
2711
+ border: 1px #dae0e2 solid;
2712
+ padding-bottom: 20px;
2713
+ }
2714
+ #jump-start-area #jumpstart-cta,
2715
+ #jump-start-area .jumpstart-desc {
2716
+ padding: 0;
2717
+ }
2718
+ #jump-start-area p {
2719
+ font-size: 14px;
2720
+ line-height: 185%;
2721
+ }
2722
+ #jump-start-area .spinner {
2723
+ float: none;
2724
+ margin: 0 auto;
2725
+ position: absolute;
2726
+ bottom: 0;
2727
+ height: 100%;
2728
+ width: 100%;
2729
+ background-position: 50% 56%;
2730
+ background-color: rgba(254, 254, 254, 0.99);
2731
+ display: block;
2732
+ opacity: .9;
2733
+ }
2734
+
2735
+ .jumpstart-message p {
2736
+ padding-left: 25px;
2737
+ }
2738
+
2739
+ .jumpstart-desc {
2740
+ text-align: right;
2741
+ }
2742
+
2743
+ #jumpstart-cta {
2744
+ text-align: center;
2745
+ }
2746
+
2747
+ .dismiss-jumpstart {
2748
+ color: #999;
2749
+ font-size: 14px;
2750
+ }
2751
+
2752
+ #jumpstart-cta .button,
2753
+ #jumpstart-cta .button-primary {
2754
+ margin: 1em;
2755
+ font-size: 18px;
2756
+ height: 45px !important;
2757
+ padding: 8px 15px 1px;
2758
+ }
2759
+
2760
+ #jumpstart-cta .button-primary {
2761
+ display: block;
2762
+ margin: 35px 20px 5px 20px;
2763
+ }
2764
+
2765
+ #jp-config-list {
2766
+ position: relative;
2767
+ padding-top: 15px;
2768
+ padding-bottom: 15px;
2769
+ margin-right: -15px;
2770
+ margin-left: -15px;
2771
+ }
2772
+ #jp-config-list .j-col {
2773
+ padding: 15px;
2774
+ }
2775
+ #jp-config-list strong {
2776
+ display: inline-block;
2777
+ }
2778
+ #jp-config-list small {
2779
+ display: block;
2780
+ margin-top: 5px;
2781
+ line-height: 150%;
2782
+ }
2783
+ #jp-config-list .close {
2784
+ position: absolute;
2785
+ top: 10px;
2786
+ left: 0;
2787
+ text-transform: uppercase;
2788
+ font-weight: bold;
2789
+ display: block;
2790
+ z-index: 5;
2791
+ }
2792
+
2793
+ .jp-config-status {
2794
+ text-transform: uppercase;
2795
+ font-size: 10px;
2796
+ font-weight: bold;
2797
+ line-height: 100%;
2798
+ color: #fff;
2799
+ background: #9fbd72;
2800
+ border-radius: 2px;
2801
+ padding: 2px 4px;
2802
+ display: inline-block;
2803
+ }
2804
+
2805
+ .miguel {
2806
+ display: none;
2807
+ position: fixed;
2808
+ opacity: .35;
2809
+ bottom: -200px;
2810
+ right: 0;
2811
+ z-index: 1;
2812
+ -webkit-animation: miguel 3.4s 0s ease-in-out;
2813
+ animation: miguel 3.4s 0s ease-in-out;
2814
+ }
2815
+
2816
+ .miguel:nth-child(2) {
2817
+ right: 49%;
2818
+ width: 120px;
2819
+ height: 131px;
2820
+ -webkit-animation-duration: 2.4s;
2821
+ animation-duration: 2.4s;
2822
+ -webkit-animation-delay: 0s;
2823
+ animation-delay: 0s;
2824
+ }
2825
+
2826
+ .miguel:nth-child(3) {
2827
+ right: 23%;
2828
+ width: 60px;
2829
+ height: 66px;
2830
+ -webkit-animation-duration: 4.5s;
2831
+ animation-duration: 4.5s;
2832
+ -webkit-animation-delay: 0s;
2833
+ animation-delay: 0s;
2834
+ }
2835
+
2836
+ @-webkit-keyframes "miguel" {
2837
+ 0% {
2838
+ -webkit-transform: translate3d(0px, 0px, 0px);
2839
+ transform: translate3d(0px, 0px, 0px);
2840
+ }
2841
+ 100% {
2842
+ -webkit-transform: translate3d(900px, -900px, 0px);
2843
+ transform: translate3d(900px, -900px, 0px);
2844
+ }
2845
+ }
2846
+ @keyframes "miguel" {
2847
+ 0% {
2848
+ -webkit-transform: translate3d(0px, 0px, 0px);
2849
+ transform: translate3d(0px, 0px, 0px);
2850
+ }
2851
+ 100% {
2852
+ -webkit-transform: translate3d(900px, -900px, 0px);
2853
+ transform: translate3d(900px, -900px, 0px);
2854
+ }
2855
+ }
2856
+ @media (max-width: 1147px) {
2857
+ .jp-content .landing {
2858
+ padding: 0 2em;
2859
+ }
2860
+ .jp-content .footer {
2861
+ padding-top: 1.5em;
2862
+ }
2863
+ }
2864
+ @media (max-width: 782px) {
2865
+ #jumpstart-cta .button-primary {
2866
+ margin: 10px 0 5px 0;
2867
+ }
2868
+
2869
+ #jump-start-area .spinner {
2870
+ background-position: 50% 35%;
2871
+ }
2872
+ }
2873
+ @media (max-width: 530px) {
2874
+ .jp-content .landing {
2875
+ padding: 0 .5em;
2876
+ }
2877
+
2878
+ #jump-start-area {
2879
+ padding: 0 1em;
2880
+ }
2881
+
2882
+ .jumpstart-message p {
2883
+ padding-left: 0;
2884
+ }
2885
+
2886
+ #jumpstart-cta .button-primary {
2887
+ margin: 0 0 5px 0;
2888
+ padding-bottom: 10px;
2889
+ }
2890
+
2891
+ .footer .a8c-attribution a:after {
2892
+ top: 6px;
2893
+ }
2894
+ }
2895
  .nav-horizontal:before, .features:before, .modules:before, .load-more:before, .nav-horizontal:after, .features:after, .modules:after, .load-more:after {
2896
  content: "";
2897
  display: table;
2901
  }
2902
 
2903
  /*# sourceMappingURL=jetpack-admin.css.map */
2904
+ .j-row{width:100%;margin:0 auto}.j-row:before,.j-row:after{content:" ";display:table}.j-row:after{clear:both}.j-col{padding:0.85em;width:100%;float:right;position:relative}@media only screen{.j-sm-1{width:8.33333%}.j-sm-2{width:16.66667%}.j-sm-3{width:25%}.j-sm-4{width:33.33333%}.j-sm-5{width:41.66667%}.j-sm-6{width:50%}.j-sm-7{width:58.33333%}.j-sm-8{width:66.66667%}.j-sm-9{width:75%}.j-sm-10{width:83.33333%}.j-sm-11{width:91.66667%}.j-sm-12{width:100%}}@media (min-width: 530px){.j-md-1{width:8.33333%}.j-md-2{width:16.66667%}.j-md-3{width:25%}.j-md-4{width:33.33333%}.j-md-5{width:41.66667%}.j-md-6{width:50%}.j-md-7{width:58.33333%}.j-md-8{width:66.66667%}.j-md-9{width:75%}.j-md-10{width:83.33333%}.j-md-11{width:91.66667%}.j-md-12{width:100%}}@media (min-width: 782px){.j-lrg-1{width:8.33333%}.j-lrg-2{width:16.66667%}.j-lrg-3{width:25%}.j-lrg-4{width:33.33333%}.j-lrg-5{width:41.66667%}.j-lrg-6{width:50%}.j-lrg-7{width:58.33333%}.j-lrg-8{width:66.66667%}.j-lrg-9{width:75%}.j-lrg-10{width:83.33333%}.j-lrg-11{width:91.66667%}.j-lrg-12{width:100%}}body,button,input,select,textarea{color:#222;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{color:#222;clear:both}a{color:#0d72b2;transition:color .2s;text-decoration:none}a:visited{color:#0d72b2}a:hover{color:#0f92e5}a:focus{outline:thin dotted}address{margin:0 0 1.5em}abbr[title],acronym{cursor:help}ins{background:#eee;text-decoration:none}dt{font-weight:700}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}img{vertical-align:middle}@-webkit-keyframes "grow"{0%{-webkit-transform:scale(0.3);transform:scale(0.3)}60%{-webkit-transform:scale(1.15);transform:scale(1.15)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes "grow"{0%{-webkit-transform:scale(0.3);transform:scale(0.3)}60%{-webkit-transform:scale(1.15);transform:scale(1.15)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes "candy"{0%{-webkit-transform:scale(1);transform:scale(1)}20%{-webkit-transform:scale(1.15);transform:scale(1.15)}60%{-webkit-transform:scale(0.95);transform:scale(0.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes "candy"{0%{-webkit-transform:scale(1);transform:scale(1)}20%{-webkit-transform:scale(1.15);transform:scale(1.15)}60%{-webkit-transform:scale(0.95);transform:scale(0.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes "flyer"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(680px, -680px, 0px);transform:translate3d(680px, -680px, 0px)}}@keyframes "flyer"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(680px, -680px, 0px);transform:translate3d(680px, -680px, 0px)}}.button,.download-jetpack{transition:all .1s ease-in-out}.jp-button,.jp-button--settings{display:inline-block;position:relative;padding:0.76923em 1.46154em;color:#efefef;font:800 0.9285714286em/1 'Open Sans', Helvetica, sans-serif;text-shadow:0 -1px 1px rgba(0,0,0,0.2);background:#6f7476;border-radius:3px}.jp-button:visited,.jp-button--settings:visited{color:#efefef}.jp-button:hover,.jp-button--settings:hover,.jp-button:focus,.jp-button--settings:focus{color:#fff;background:#57972d}.jp-button:active,.jp-button--settings:active{background:#57972d;opacity:0.8}.jp-button--settings{background:#93b45f;color:#e8eedf}.jp-button--settings:visited{color:#e8eedf}.jp-button--settings:hover,.jp-button--settings:focus{background:#9fbd72;color:#fff}.jp-button--settings.current{background:#3c6621;color:#fff;box-shadow:inset 0 2px 0 #365A1F, inset 0 1px 3px #3c6621}.download-jetpack{display:inline-block;position:relative;padding:0.64286em 0.85714em 0.53571em;color:#fff;font:400 20px/1 "proxima-nova", 'Open Sans', Helvetica, sans-serif;background:#518d2a;z-index:3;border-radius:6px;box-shadow:0 6px 0 #3e6c20,0 6px 3px rgba(0,0,0,0.4)}.download-jetpack:visited{color:#fff}.download-jetpack:hover,.download-jetpack:focus{color:#fff;background:#57972d;box-shadow:0 6px 0 #3e6c20,0 6px 3px rgba(0,0,0,0.4)}.download-jetpack:active{top:6px;box-shadow:0 0px 0 #3e6c20,0 0 0 rgba(0,0,0,0.4)}.download-jetpack:active:after{top:-6px}.download-jetpack:before{content:'';display:inline-block;position:relative;top:-2px;margin-left:13px;width:30px;height:30px;vertical-align:middle;background:url("../images/connect-plug.svg") center center no-repeat;background-size:100%}.download-jetpack:after{content:'';position:absolute;top:0;right:0;width:100%;height:100%}@media (max-width: 1147px){.download-jetpack{font-size:1.28571em}.download-jetpack:before{top:-1px;width:23px;height:23px}}@media (max-width: 900px){.download-jetpack:active{top:0}}@media (max-width: 530px){.download-jetpack{font-size:1.21429em;font-weight:600}.download-jetpack:before{width:19px;height:19px;margin-left:9px}}#searchsubmit{display:inline-block;border:none;position:relative;padding:0.71429em 1.5em;color:#efefef;font:800 0.8em/1 'Open Sans', Helvetica, sans-serif;text-shadow:0 -1px 1px rgba(0,0,0,0.2);background:#6f7476;outline:none;border-radius:3px}#searchsubmit:visited{color:#efefef}#searchsubmit:hover,#searchsubmit:focus{color:#fff;background:#2aa0d5}#searchsubmit:active{opacity:0.7}@font-face{font-family:'automatticons';src:url("../_inc/fonts/automatticons/automatticons.eot");src:url("../_inc/fonts/automatticons/automatticons.eot?#iefix") format("embedded-opentype"),url("../_inc/fonts/automatticons/automatticons.woff") format("woff"),url("../_inc/fonts/automatticons/automatticons.ttf") format("truetype"),url("../_inc/fonts/automatticons/automatticons.svg#automatticonsregular") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:"jetpack";src:url("../_inc/fonts/jetpack/jetpack.eot");src:url("../_inc/fonts/jetpack/jetpack.eot?#iefix") format("embedded-opentype"),url("../_inc/fonts/jetpack/jetpack.woff") format("woff"),url("../_inc/fonts/jetpack/jetpack.ttf") format("truetype"),url("../_inc/fonts/jetpack/jetpack.svg#jetpack") format("svg");font-weight:normal;font-style:normal}@media screen and (-webkit-min-device-pixel-ratio: 0){@font-face{font-family:"jetpack";src:url("../_inc/fonts/jetpack/jetpack.svg#jetpack") format("svg")}}.nav-horizontal a{display:inline-block}.nav-horizontal li{position:relative;float:right}.nav-horizontal ul{margin:0;padding:0}*,*:before,*:after{-moz-box-sizing:border-box;box-sizing:border-box}::-moz-selection{background:#91bd51;color:#fff;text-shadow:none}::selection{background:#91bd51;color:#fff;text-shadow:none}#wpbody-content{padding-bottom:0}#wpcontent{margin-right:160px;padding:0}ul#adminmenu a.toplevel_page_jetpack:after{border-left-color:#81a844}.folded #wpcontent{margin-right:36px}#wpfooter{display:none}.jp-content{background:#f9f9f9;margin:0;height:auto;min-height:100%;width:100%;width:100%;-webkit-font-smoothing:antialiased}.jp-content .wrapper{background:#f9f9f9}@media (max-width: 900px){#wpcontent,.auto-fold #wpcontent,.auto-fold #wpfooter,.modal,.configure .frame.top.fixed{margin-right:36px;padding-right:0}}@media (max-width: 782px){#wpcontent,.auto-fold #wpcontent,.auto-fold #wpfooter,.modal,.configure .frame.top.fixed{margin-right:0}}@media (max-width: 782px){.configure .frame.top.fixed{padding-right:0}}.wrap.inner,.page-content{max-width:950px;margin:0 auto}.wrap.inner li,.page-content li{line-height:23px}@media (max-width: 530px){.page-content{margin-top:0}}@media (max-width: 1147px){.wrap.inner{background:#f9f9f9;padding:15px}}@media (max-width: 530px){.wrap.inner{margin-top:1.71429em}}.jetpack_page_jetpack_modules .header-nav{margin:0}.jetpack_page_jetpack_modules .page-content{max-width:1200px;min-height:500px;margin:0}.page-content.about{position:relative;z-index:10}@media (max-width: 1147px){.page-content.about{background:#f9f9f9;padding:15px}}@media (max-width: 1147px){.page-content.configure{background:#f9f9f9}}.footer nav{max-width:550px;margin:0 auto}.header{right:0;left:0;background:#81a844}.header-nav li{line-height:60px}.header-nav a{padding:0 0.71429em;line-height:24px}.header-nav .jetpack-logo a{display:inline-block;position:relative;width:214px;margin-left:6px;background:url(../images/jetpack-logo.png) center center no-repeat;background:url(../images/jetpack-logo.svg) center center no-repeat,none;background-size:183px auto;color:#fff;line-height:60px;font-weight:normal}.header-nav .jetpack-logo a span{text-indent:-9999px;visibility:hidden}.header-nav .jetpack-logo a:before{content:'';position:absolute;top:0;right:0;width:100%;height:100%;background-size:183px 32px}.header-nav .jetpack-modules+.jetpack-modules{margin-right:15px}.main-nav{float:right}.main-nav li{margin:0}@media (max-width: 900px){.main-nav{font-size:13px}}.user-nav{float:left}.user-nav li{margin:0}.jetpack-pagestyles #screen-meta{margin:0}.jetpack-pagestyles #screen-meta-links .screen-meta-toggle{z-index:2}.jetpack-pagestyles #screen-options-link-wrap,.jetpack-pagestyles #contextual-help-link-wrap{border:none}.jetpack-pagestyles .update-nag{display:none}.masthead{position:relative;text-align:center;z-index:1;background-color:#81a844;background-image:linear-gradient(top, #81a844, #8eb74e)}.masthead.hasbutton .flyer{bottom:-270px}.masthead.hasbutton .subhead{margin-top:175px}@media (max-width: 530px){.masthead.hasbutton .subhead{margin-top:105px;padding:0}}.masthead h1,.masthead h2{margin:0 auto}.masthead h1{padding:2.5em 0 1.11111em;max-width:21.94444em;color:#fff;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;position:relative;text-shadow:0 -1px 1px rgba(0,0,0,0.12);z-index:3}.masthead h1+.flyby{margin-top:180px}@media (max-width: 1147px){.masthead h1{padding-top:1.83333em;font-size:2.14286em}}@media (max-width: 782px){.masthead h1{max-width:600px;font-size:28px}}@media (max-width: 530px){.masthead h1{margin:0 15px;padding:31px 0 15px 0;font-size:21px;font-weight:400}}.jetpack-connected .masthead h1{margin-bottom:33px;max-width:600px}.flyby{position:relative;max-width:1200px;margin:0 auto}@media (max-width: 900px){.flyby{display:none}}.flyer{position:absolute;bottom:-200px;right:4%;z-index:1;-webkit-animation:flyer 3.4s 2s ease-in-out;animation:flyer 3.4s 2s ease-in-out}.flyer:nth-child(2){right:49%;width:120px;height:131px;-webkit-animation-delay:4.6s;animation-delay:4.6s;-webkit-animation-duration:2.4s;animation-duration:2.4s}.flyer:nth-child(3){right:23%;width:60px;height:66px;-webkit-animation-delay:5.8s;animation-delay:5.8s;-webkit-animation-duration:4.5s;animation-duration:4.5s}.subhead{position:relative;margin-top:105px;padding:4em 0;background:#f9f9f9;z-index:2}.subhead h2{max-width:460px;color:#5d6d74;font:400 1.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 900px){.subhead h2{max-width:428px;font-size:20px}}@media (max-width: 530px){.subhead h2{display:none}}.subhead:after{content:'';position:absolute;bottom:100%;right:0;margin-bottom:-1px;width:100%;height:228px;background:url("../images/the-cloud.svg") center bottom repeat-x;pointer-events:none;z-index:-1}@media (max-width: 1147px){.subhead{margin-top:122px;padding:70px 0 49px}.subhead:after{background-size:160% auto}}@media (max-width: 900px){.subhead{margin-top:122px;padding:70px 0 49px}}@media (max-width: 530px){.subhead{margin-top:83px;padding:47px 15px 39px}}.clouds-sm{height:100px;position:relative;text-align:center;z-index:1;background-color:#81a844;background-image:linear-gradient(top, #81a844, #89b348)}.clouds-sm:after{content:'';position:absolute;bottom:0;right:0;margin-bottom:-1px;width:100%;height:137px;background:url("../images/the-cloud-sm.svg") center bottom repeat-x;pointer-events:none;z-index:2}@media (max-width: 530px){.clouds-sm{height:90px}}.featured{border-top:1px solid #d6d6d6;border-bottom:1px solid #d6d6d6;background:#fff;position:relative;padding:2.0em 1em 4.6em 1em;text-align:center;z-index:1}.featured:before{content:"";display:block;position:absolute;top:0;height:100%;z-index:-1}.featured .features,.featured .modules{margin:0 auto;display:inline-block}@media (max-width: 530px){.featured{display:none}}.featured h2,.module-grid h2{margin-top:1em;color:#5d6d74;font:300 2em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-align:center}@media (max-width: 900px){.featured h2,.module-grid h2{font-size:30px}}@media (max-width: 782px){.featured h2,.module-grid h2{font-size:28px}}.features,.modules{margin:0 -5px}.feature,.module{position:relative;float:right;margin:0 5px 10px;width:310px;transition:all .2s ease-in-out}@media (max-width: 1147px){.feature,.module{margin:.75% 1.5% .75% 0;width:32.333333%;transition:none}.feature:nth-child(3n+1),.module:nth-child(3n+1){margin-right:0}.feature:hover,.module:hover{top:0;box-shadow:none}}.feature{-webkit-transform:translateZ(0);transform:translateZ(0)}.feature h3{margin:0 0 0.58824em;color:#697b84;font-size:1.21429em;line-height:1em;font-weight:800}.feature p{margin:0;color:#6e818a}.feature:before{content:'';position:absolute;bottom:0;right:0;width:100%;height:10px;background:rgba(0,0,0,0.02);z-index:-1;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .2s ease-in-out}.feature:hover{-webkit-transform:translateY(-5px);-ms-transform:translateY(-5px);transform:translateY(-5px)}.feature:hover h3{color:#1a8dba}.feature:hover .feature-img{border:1px solid #ccc;border-bottom:none}.feature:hover .no-border{border:none}.feature:hover:before{-webkit-transform:translateY(5px);-ms-transform:translateY(5px);transform:translateY(5px)}@media (max-width: 1147px){.feature:hover h3{color:#6e818a}.feature:hover .feature-img{border:1px solid #ddd;border-bottom:none}.feature:hover .no-border{border:none}}.feature .feature-img{padding-top:52%;width:100%;height:auto;border:1px solid #ddd;border-bottom:none}.feature .feature-img.custom-css{background:url("../images/custom-css.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.custom-css{background-image:url("../images/custom-css@2x.jpg")}}.feature .feature-img.wordpress-connect{background:url("../images/wordpress-connect.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.wordpress-connect{background-image:url("../images/wordpress-connect@2x.jpg")}}.feature .feature-img.wordpress-stats{background:url("../images/wordpress-stats.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.wordpress-stats{background-image:url("../images/wordpress-stats@2x.jpg")}}.feature .feature-img.no-border{border:none;padding-bottom:1px}.feature-description{display:block;padding:1em 1.07143em 1.07143em;border:1px solid #ddd;background:#f5f5f5}.feature:hover .feature-description{background:#fff;border-color:#ccc}@media (max-width: 1147px){.feature:hover .feature-description{border:1px solid #ddd;background:#f5f5f5}}@media (max-width: 900px){.feature-description{min-height:115px}}.cat{clear:both;margin-bottom:23px}.cat h3{font-size:24px;font-weight:300;margin:0 6px 13px 0;text-align:right}.cat .clear{clear:both}.module-grid{text-align:center}.module-grid h2{margin:1em 0}@media (max-width: 530px){.module-grid h2{padding-top:16px;margin-top:0;font-size:25px}}#module-search{position:relative;width:100%;max-width:40.71429em;margin:0 auto 1.07143em;overflow:hidden}#jetpack-search{margin:0;padding:11px 16px 11px 16px;width:100%;border:1px solid #c9ced0;border-radius:3px;background:#fff;color:#5c6671;line-height:1.3}#jetpack-search:focus{color:#5c6671;outline:none}#jetpack-search:focus+label{background:transparent;opacity:0}#jetpack-search::-webkit-input-placeholder{color:#a8acae}#jetpack-search :-moz-placeholder{color:#a8acae}#jetpack-search::-moz-placeholder{color:#a8acae}#jetpack-search:-ms-input-placeholder{color:#a8acae}#jetpack-search+label{position:absolute;top:1px;left:1px;bottom:1px;width:48px;color:#abafb1;text-indent:-9999px;pointer-events:none;border-radius:3px;transition:all .2s ease-in-out}#jetpack-search+label:after{content:'\f400';position:absolute;left:11px;text-align:left;top:4px;font-size:1.71429em;font-weight:normal;font-family:"genericons"}.jp-filter{margin-bottom:2.85714em;color:#6f7476}.jp-filter a{display:inline-block;position:relative;padding:0.76923em 1.46154em;color:#aaa;font:600 0.92857em/1 "Open Sans", Helvetica, Arial, sans-serif;text-shadow:0 -1px 1px rgba(255,255,255,0.2);background:#eee;border-radius:3px;background-clip:padding-box}.jp-filter a.selected,.jp-filter a:hover,.jp-filter a:focus{color:#efefef;text-shadow:0 -1px 1px rgba(0,0,0,0.2);background:#6f7476}@media (max-width: 530px){.jp-filter a{padding:0.76em 1em}}.module{display:block;padding:0.71429em 1.07143em 1em;text-align:right;border:1px solid #dae0e2;background:#fff;box-shadow:0 0 0 rgba(0,0,0,0.03);transition:opacity 2s ease-in}.module:hover{border-color:#8ac9e8;background:#f8fcfe}.module:nth-of-type(n+10){display:none}.module h3{cursor:pointer;margin:0 0 0.5em;color:#1a8dba;font-size:1.14286em;line-height:1.4em;font-weight:700}.module p{margin:0;color:#686f72;font-size:0.85714em}.module:hover,.module:focus{border-color:#8ac9e8;background:#f8fcfe}.module:nth-of-type(n+10){display:none}.module.active{border-color:#2ea2cc;box-shadow:inset -4px 0 0 #2ea2cc}.module.active:hover{border-color:#69bedd;box-shadow:inset -4px 0 0 #69bedd}@media (max-width: 1147px){.cat .module:nth-child(3n+1){margin:.75% 1.5% .75% 0}.cat .module:nth-child(3n - 1){margin-right:0}}@media (max-width: 900px){.cat .module{margin:1% 2% 1% 0}.cat .module:nth-child(2n+1){margin:1% 2% 1% 0}.cat .module:nth-child(2n+0){margin-right:0}}@media (max-width: 530px){.cat .module{margin:5px 0}.cat .module:nth-child(2n+1){margin-right:0}.cat .module:nth-child(2n+0){margin-right:0}}@media (max-width: 900px){.module{margin:1% 2% 1% 0;width:49%}.module:nth-child(3n+1){margin-right:2%}.module:nth-child(2n+1){margin-right:0}}@media (max-width: 530px){.module{margin:5px 0;width:100%}.module:nth-child(3n+1){margin-right:0}.module:nth-child(2n+1){margin-right:0}}.new{position:relative}.new:after{content:'NEW';position:absolute;top:-8px;left:-8px;padding-top:10px;width:32px;height:32px;color:#fff;font-size:8px;font-weight:800;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,0.2);background:url("../images/new-badge.svg") center center no-repeat;background-size:100%;border-radius:50%}.paid{display:inline-block;position:relative;top:5px;margin-right:10px;padding:1px 4px 0 6px;height:13px;color:#fff;font:700 10px/1 "Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 1px 0 rgba(0,0,0,0.05);background:#d0d0d0;vertical-align:top}.paid:before,.paid:after{position:absolute;top:0;left:100%;font:normal 14px/14px "genericons"}.paid:before{content:'\f503';color:#d0d0d0;text-shadow:none}.paid:after{content:'\f428';margin-left:-5px;font-size:11px}.rtl .paid:before{content:'\f501'}.load-more{margin:2.71429em 0 6.15385em}.set{display:none}.show.set{display:block}.loading{bottom:50%;position:absolute;top:50%;width:100%}.loading span{color:#999}.modal{background:#fff;position:fixed;top:52px;bottom:20px;left:20px;right:20px;margin-right:160px;display:none;box-shadow:0 1px 20px 5px rgba(0,0,0,0.1);z-index:500}.modal .close{position:absolute;top:0;left:0;font:300 1.71429em "genericons" !important;color:#777;content:'\f405';display:inline-block;padding:0.28571em 0.71429em 0.42857em;z-index:5}.modal .close:hover{background:#eee;opacity:0.8}.modal .close:active{background:#eee;opacity:0.4}.modal #jp-post-flair{display:none}.modal .content-container{position:absolute;top:0;left:0;bottom:0;right:0;overflow:auto;padding:2.14286em}.modal .content{margin:0 auto;max-width:900px;text-align:right}.modal h2{text-align:right;margin-top:0;color:#5d6d74;font:300 32px "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 530px){.modal h2{font-size:26px}}.modal h5{clear:right}.modal p{font-size:1.23077em}.modal footer{position:absolute;right:0;bottom:0;width:100%;padding:12px 20px;border-top:1px solid #ddd;background:#fff;text-align:left}.modal footer ul{margin:0}.modal footer li{display:inline-block;margin:0}.modal .button-secondary,.modal .button-primary:active{vertical-align:baseline}@media (max-width: 900px){.modal{bottom:5%;margin-right:36px;font-size:80%}.modal .content{top:38px}}@media (max-width: 782px){.modal{top:66px;margin-right:0}}@media (max-width: 600px){.modal{top:10px;left:10px;bottom:10px;right:10px}}.jp-info-img{float:left;margin:0 30px 30px 0}.jp-info-img img{border:1px solid #ddd;max-width:100%;height:auto}.jp-info-img img:first-child{margin-top:0}@media (max-width: 782px){.jp-info-img{float:none;margin:0 0 15px}}.content-container.modal-footer{bottom:53px}.shade{background:#000;bottom:0;cursor:pointer;display:none;right:0;opacity:0.2;position:fixed;left:0;top:0;z-index:11}.entry-title,.page-template-default h1{margin-top:0.61111em;color:#5d6d74;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 530px){.entry-title,.page-template-default h1{font-size:2em}}.blog h3,.single h3,.page-template-default h2{margin-top:0.61111em;color:#5d6d74;font:300 1.9em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 530px){.blog h3,.single h3,.page-template-default h2{font-size:1.4em}}.page-template-default p{line-height:1.71429em}.blog .type-post,.page-template-default .type-page,.single .type-post,.single .type-jetpack_support{float:right;width:70%}.footer{margin-top:1.42857em;position:relative;padding:10em 0 4.28571em;text-align:center}.footer:before,.footer:after{content:'';position:absolute;right:0;pointer-events:none}.footer:before{top:0;margin-top:-1px;width:100%;height:195px}.footer:after{bottom:0;width:100%;height:50px;background:url("../images/the-footcloud.svg") center bottom no-repeat;background-size:auto 45px;z-index:1}.footer .download-jetpack{margin-bottom:33px}@media (max-width: 1147px){.footer{padding-top:165px;padding-bottom:0}.footer:before{background-size:160% auto}.footer:after{display:none}.footer ul{float:none;overflow:hidden}}@media (max-width: 900px){.footer{padding-top:146px}}@media (max-width: 782px){.footer{margin-top:0}}@media (max-width: 530px){.footer{margin-top:0;padding-top:135px}}@media (max-width: 320px){.footer{padding-top:76px}}.footer nav{max-width:100%}.footer nav a,.footer nav a:visited{padding:4px 6px;color:#999}.footer nav a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#81A844}@media (max-width: 1147px){.footer nav{border:none;padding:0}.footer nav a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#fff}}@media (max-width: 530px){.footer nav li{display:block;float:none;margin:0;text-align:right}.footer nav a{display:block;padding:0 16px;line-height:44px}}.primary{padding:25px 15px 10px 15px;border-bottom:1px solid #eee}.secondary-footer{margin:0 auto}.secondary-footer li{margin-left:5px}@media (max-width: 1147px){.secondary-footer{margin:0 30px;padding:8px 15px 30px}}@media (max-width: 530px){.secondary-footer{margin:0;padding:0;border:none;font-weight:400}.secondary-footer a{border-top:1px solid #eee}}.footer .a8c-attribution{margin:0;padding:0 6px;color:#bbb;font-size:0.78571em;font-family:"Gill Sans","Gill Sans MT","Open Sans",Helvetica,Arial,sans-serif;text-transform:uppercase}.footer .a8c-attribution a{display:inline-block;position:relative;padding:4px 16px;left:9999px;outline:0}.footer .a8c-attribution a:after{content:'A';position:absolute;top:2px;left:-9999px;height:100%;color:#999;font-size:1.54545em;font-family:"automatticons";text-align:center}.footer .a8c-attribution a:hover:after{-webkit-animation:candy .4s ease-in-out;animation:candy .4s ease-in-out}.secondary{padding:10px 15px 0 15px}.jetpack-message{background:#8eb74e;border:1px solid #73963d;margin:33px auto 0;max-width:90%;position:relative;z-index:2}.jetpack-message.is-opt-in{margin:50px 0 0;max-width:100%;padding:10px 15px;background:#fff;border:0;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);font-size:13px;text-align:center}.subhead .jetpack-message.is-opt-in{margin:0;padding-bottom:0;background:transparent;box-shadow:none}.subhead .jetpack-message.is-opt-in .jp-button,.subhead .jetpack-message.is-opt-in .jp-button--settings{display:inline-block}.jetpack-message.is-opt-in p{color:#3c4549}.jetpack-message.is-opt-in .jp-button,.jetpack-message.is-opt-in .jp-button--settings{margin-top:15px;display:none}.jetpack-message h4{color:#fff;margin:0}.jetpack-message p{color:#fff;margin:0;opacity:0.7}.jetpack-message .squeezer{padding:23px 80px 23px 23px;position:relative;text-align:right}.jetpack-message .squeezer:before{color:#fff;content:'\f418';font-family:'Genericons';font-size:33px;height:33px;right:25px;opacity:0.6;position:absolute;top:23px;top:calc( 50% - 22px )}@media (max-width: 530px){.jetpack-message .squeezer{padding:23px}.jetpack-message .squeezer:before{display:none}}.jetpack-message .squeezer a{color:#FFF;border-bottom:1px solid #D5E4BD}.jetpack-message .squeezer a:hover{border-bottom:1px solid #F1F6E9}.jetpack-message.error .squeezer:before,.jetpack-message.jetpack-err .squeezer:before{content:'\f414'}.configure-module .jetpack-message{max-width:100%}.modules h3.icon,.jetpack-modules .info a{width:auto}.modules h3.icon:before,.jetpack-modules .info a:before{display:inline-block;position:relative;top:1px;right:-3px;margin-left:2px;opacity:0.8;font:normal 20px "genericons";vertical-align:top}.jetpack-modules .info a:before{margin-top:1px}.latex:before,.jetpack-modules #latex .info a:before{content:'\f408'}.carousel:before,.jetpack-modules #carousel .info a:before{content:'\f102'}.modules h3.contact-form:before,.jetpack-modules #contact-form .info a:before{content:'\f175';font:normal 20px "dashicons"}.modules h3.custom-css:before,.jetpack-modules #custom-css .info a:before{content:'\f100';font:normal 20px "dashicons"}.modules h3.enhanced-distribution:before,.jetpack-modules #enhanced-distribution .info a:before{content:'\f237';font:normal 20px "dashicons"}.modules h3.widgets:before,.jetpack-modules #widgets .info a:before{content:'\f116';font:normal 20px "dashicons"}.modules h3.gravatar-hovercards:before,.jetpack-modules #gravatar-hovercards .info a:before{content:'G';font-family:"automatticons"}.infinite-scroll:before,.jetpack-modules #infinite-scroll .info a:before{content:'\f408'}.comments:before,.jetpack-modules #comments .info a:before{content:'\f108'}.sso:before,.jetpack-modules #sso .info a:before{content:'\f205'}.json-api:before,.jetpack-modules #json-api .info a:before{content:'\f415'}.likes:before,.jetpack-modules #likes .info a:before{content:'\f408'}.markdown:before,.jetpack-modules #markdown .info a:before{content:'\f462'}.minileven:before,.jetpack-modules #minileven .info a:before{content:'\f453'}.manage:before,.jetpack-modules #manage .info a:before{content:'\f205'}.monitor:before,.jetpack-modules #monitor .info a:before{content:'\f468'}.notes:before,.jetpack-modules #notes .info a:before{content:'\f300'}.omnisearch:before,.jetpack-modules #omnisearch .info a:before{content:'\f400'}.photon:before,.jetpack-modules #photon .info a:before{content:'\f403'}.post-by-email:before,.jetpack-modules #post-by-email .info a:before{content:'\f410'}.protect:before,.jetpack-modules #protect .info a:before{content:'\f470';position:relative;top:-1px}.modules h3.publicize:before,.jetpack-modules #publicize .info a:before{content:'\f237';font:normal 20px "dashicons"}.related-posts:before,.jetpack-modules #related-posts .info a:before{content:'\f420'}.sharedaddy:before,.jetpack-modules #sharedaddy .info a:before{content:'\f415'}.shortcodes:before,.jetpack-modules #shortcodes .info a:before{content:'\f100'}.verification-tools:before,.jetpack-modules #verification-tools .info a:before{content:'\f425'}.after-the-deadline:before,.jetpack-modules #after-the-deadline .info a:before{content:'\f411'}.subscriptions:before,.jetpack-modules #subscriptions .info a:before{content:'\f410'}.tiled-gallery:before,.jetpack-modules #tiled-gallery .info a:before{content:'\f103'}.modules h3.vaultpress:before,.jetpack-modules #vaultpress .info a:before{content:'V';font-family:"automatticons"}.videopress:before,.jetpack-modules #videopress .info a:before{content:'\f104'}.modules h3.widget-visibility:before,.jetpack-modules #widget-visibility .info a:before{content:'\f116';font:normal 20px "dashicons"}.stats:before,.jetpack-modules #stats .info a:before{content:'\f205'}.shortlinks:before,.jetpack-modules #shortlinks .info a:before{content:'\f107'}.modules h3.custom-content-types:before,.jetpack-modules #custom-content-types .info a:before{content:'\f498';font:normal 20px "dashicons"}.modules h3.site-icon:before,.jetpack-modules #site-icon .info a:before{content:'\f475'}@media (max-width: 782px){.blog .type-post,.page-template-default .type-page,.single .type-post,.single .type-jetpack_support{width:100%}}@media (max-width: 600px){.clouds-sm{display:none}}@media (max-width: 530px){.wrap.inner.jp-support .jp-support-column-left{width:100%}.wrap.inner.jp-support .jp-support-column-left .widget-text{margin-left:0;width:100%}.wrap.inner.jp-support .jp-support-column-right{width:100%}}@media screen and (max-width: 400px){.jp-frame .header-nav{padding-bottom:10px}.jp-frame .header-nav li{line-height:30px}.jp-frame .header-nav .jetpack-logo{width:100%;text-align:center}.jp-frame .header-nav .jetpack-modules{margin:0;width:50%;text-align:left;padding:0 5px}.jp-frame .header-nav .jetpack-modules+.jetpack-modules{text-align:right}}@media (max-width: 320px){.jetpack_page_jetpack_modules .wrap{padding:0 0 1em}}.page-content.configure{margin-top:0}.configure .frame.top{border:none;box-shadow:none;padding-top:1.42857em;position:relative;top:auto}.configure .frame.top.fixed{background:#f9f9f9;border-bottom:1px solid #e9e9e9;padding-right:160px;margin-top:-6px;position:fixed;left:0;top:32px;width:100%;z-index:4;box-shadow:0 2px 2px -2px #eee}@media (max-width: 782px){.configure .frame.top.fixed{border:none;box-shadow:none;padding-top:1.42857em;position:relative;top:auto}}@media (max-width: 600px){.configure .frame.top.fixed{top:0}}.configure .frame.top .tablenav.top{float:right}@media (max-width: 900px){.configure .frame.top .tablenav.top .actions{display:block}}@media (max-width: 782px){.configure .frame.top .tablenav.top .actions{margin-top:6px}}.jp-frame-top-fixed .configure{padding-top:94px}.filter-search{display:none;float:left;margin-top:10px}@media (max-width: 782px){.filter-search{display:block}}@media (max-width: 530px){.filter-search{display:none}}.module-actions.landing-page{float:left;margin-left:15px}.module-actions.landing-page a{font-size:0.6em}.table-bordered.jetpack-modules{border:none;margin-bottom:0}.table-bordered.jetpack-modules tr.jetpack-module th{border-right:0;padding:14px 4px 0}.table-bordered.jetpack-modules tr.jetpack-module th input{display:block}.table-bordered.jetpack-modules tr.jetpack-module:hover .genericon{display:inline-block}.table-bordered.jetpack-modules tr.jetpack-module:hover td .row-actions span a{opacity:1}.table-bordered.jetpack-modules tr.jetpack-module.active th,.table-bordered.jetpack-modules tr.jetpack-module.active td{background:#f7fcfe}.table-bordered.jetpack-modules tr.jetpack-module.active th{border-right:4px solid #2ea2cc;padding-right:0px}.table-bordered.jetpack-modules tr.jetpack-module.active td:first-child{border-right:4px solid #2ea2cc}.table-bordered.jetpack-modules tr.jetpack-module.unavailable{opacity:0.3}.table-bordered.jetpack-modules tr.jetpack-module.unavailable input{display:none}.table-bordered.jetpack-modules tr.jetpack-module#vaultpress{opacity:1}.table-bordered.jetpack-modules tr.jetpack-module th,.table-bordered.jetpack-modules tr.jetpack-module td{background:#fff;margin:0;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1)}.table-bordered.jetpack-modules tr.jetpack-module td{padding:10px 14px 8px 10px;line-height:25px}.table-bordered.jetpack-modules tr.jetpack-module td:first-child{border-right:4px solid #fff}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{float:left;padding:0 0 1px;visibility:visible}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span{margin-right:5px}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span a{opacity:0}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span a:focus{opacity:1}@media (max-width: 530px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:none}}@media (max-width: 782px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:block;padding-right:10px;visibility:visible}}.table-bordered.jetpack-modules>thead>tr>th{border:0;vertical-align:middle}.table-bordered.jetpack-modules>thead>tr>th:last-child{padding-left:0}@media (max-width: 782px){.table-bordered.jetpack-modules>thead>tr>th:last-child{padding-right:0}}.table-bordered.jetpack-modules td{background:#fff}.table-bordered.jetpack-modules #doaction{margin-top:0}@media (max-width: 782px){.table-bordered.jetpack-modules #doaction{padding:10px 7px}}.table-bordered.jetpack-modules .checkall{margin-top:1px}.table-bordered.jetpack-modules .filter-search{margin-top:8px}.table-bordered.jetpack-modules .genericon{color:#999;display:none;margin:7px 3px 0}@media (max-width: 900px){.table-bordered.jetpack-modules .genericon{display:inline-block}}.table-bordered.jetpack-modules .med{width:70px}.table-bordered.jetpack-modules .sm{width:30px}@media (max-width: 782px){.table-bordered.jetpack-modules .check-column{width:50px}}.fixed-top .check-column{padding:8px 10px 0 10px;width:2.2em}.wrap{margin:0;padding:0 1.5em 1em;overflow:hidden}.wrap h2{font-size:24px;font-weight:400}.wrap .manage-left{float:right;margin:0;padding:0;width:63%}.wrap .manage-left table{width:100%}.wrap .manage-left th{font-weight:400}@media (max-width: 782px){.wrap .manage-left{width:100%}}.wrap .manage-right{margin:0;padding:0;float:left;width:35%;z-index:1}.wrap .manage-right p{font-size:12px;font-weight:bold;color:#bbb;padding-top:2px;text-transform:uppercase;letter-spacing:1px;clear:right}.wrap .manage-right .bumper{margin-right:33px}.wrap .manage-right.show{display:block;position:fixed;overflow-y:auto;overflow-x:hidden;position:absolute}.wrap .manage-right .search-bar{margin-bottom:18px;max-width:300px}.wrap .manage-right p.search-box{float:none;height:auto;margin-bottom:0;position:relative}.wrap .manage-right p.search-box input[type='search']{padding:0 8px;width:90%;line-height:initial}@media (max-width: 782px){.wrap .manage-right p.search-box input[type='search']{float:right;padding:9px 8px}}.wrap .manage-left p.search-box input[type="submit"]{display:none}.wrap .manage-right .button-group .button{outline:none}.wrap .manage-right .subsubsub{margin:0;padding:0}.wrap .manage-right .subsubsub a{padding:0;line-height:inherit}.wrap .manage-right .subsubsub .current{padding:1px 5px;border-radius:2px;margin-right:-5px;background:#0D72B2;color:#FFF}.wrap .manage-right .subsubsub .current .count{color:#BCD7E7;font-weight:200}.wrap .manage-right .subsubsub li{display:block;text-align:right}@media (max-width: 782px){.wrap .manage-right{background:#fff;bottom:0;display:none;min-width:300px;position:fixed;left:0;top:0;z-index:13;box-shadow:0 1px 20px 5px rgba(0,0,0,0.1)}.wrap .manage-right .bumper{margin:13px}.wrap .manage-right .navbar-form{margin:0;padding:0}}.configure-module p{font-size:14px}.configure-module p.success,.configure-module p.error{color:#fff;padding:10px}.configure-module p.success{background-color:#81a844}.configure-module p.error{background-color:#d94f4f}.protect-status p{font-size:16px}.protect-status strong{display:inline-block;margin-top:10px;background:#fff;padding:10px;border:1px #ddd solid;font-size:16px;color:#000;max-width:100%}.protect-status.attn{color:#d94f4f}.protect-status.working{color:#81a844}#non-editable-whitelist{margin-top:15px}.protect-whitelist textarea{width:100%;min-height:150px}#editable-whitelist .whitelist-table{width:100%}.configure-module input[disabled]{opacity:.5}.configure-module input.button-primary{font-weight:bold}.whitelist-table{border-top:1px solid;border-left:1px solid;border-color:#ddd;background-color:#fff}.whitelist-table td,.whitelist-table th{padding:10px;margin:0;border-bottom:1px solid;border-right:1px solid;border-color:#ddd;font-size:14px}.whitelist-table th.heading{font-weight:bold;color:#5d6d74;text-align:right;background-color:#eee}.whitelist-table td.item-actions{border-right:none;text-align:left}.whitelist-table .toolbar{padding:0}.whitelist-table .add-btn{text-align:center;width:10%;border-right:1px #ddd solid}.ip-address,.enter-ip{width:90%;text-align:right;vertical-align:middle}.delete-ip-address{text-align:center;border:0;background:transparent;color:#6f7476;box-shadow:none;font-size:20px;margin:0;padding:0;cursor:pointer;border-radius:2px}.delete-ip-address:hover{background:#eee}.toolbar div{float:right;padding:10px}@media only screen and (min-width: 1100px){#non-editable-whitelist{width:28%;float:left;margin-top:0}.protect-whitelist{width:65%;float:right}}@media only screen and (max-width: 1130px){.enter-ip input[type="text"]{max-width:175px}}@media only screen and (max-width: 1250px) and (min-width: 1065px), (max-width: 730px) and (min-width: 600px){.enter-ip{width:85%}.add-btn{width:15%}}@media only screen and (max-width: 782px){.add-btn{text-align:left}.add-btn .ip-add{margin-top:4px;margin-bottom:3px}}@media only screen and (max-width: 730px){.add-btn{text-align:center}}@media only screen and (max-width: 665px) and (min-width: 600px){.enter-ip input[type="text"]{max-width:165px}}@media only screen and (max-width: 600px){.toolbar div{width:100%}.add-btn{border-top:1px #ddd solid}.enter-ip{text-align:center}.enter-ip strong{display:block;margin-bottom:5px}.enter-ip input[type="text"]{width:100%;max-width:100%}.add-btn input,.enter-ip .button{width:50%;margin:0 auto}.enter-ip .button{margin-top:10px}}@media only screen and (max-width: 400px){.protect-status strong{font-size:12px;overflow:auto}.add-btn input,.enter-ip .button{width:100%}}.jp-content .hide{display:none}.jp-content .pointer{cursor:pointer}.jp-content .landing{margin:0 auto;z-index:2;position:relative}.jp-content h1{font:300 2.57143em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;position:relative;z-index:3;width:100%;text-align:center}.jp-content h1.success{color:#81a844}.jp-content .footer{padding-top:0;margin-top:0;background-image:none}.jp-content .footer:before{height:inherit}.jp-content .more-info:before{content:none}.landing .wpcom-connect{min-height:400px}.wpcom-connect .j-col{padding:0}.wpcom-connect .connect-desc{padding-left:25px}.wpcom-connect .connect-btn{text-align:center}.module-grid h2{color:#000;font:300 2.57143em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif}.download-jetpack{margin-top:1em !important}#jump-start-area{margin-top:35px;padding-right:60px;padding-left:60px;background:#fefefe;border:1px #dae0e2 solid;padding-bottom:20px}#jump-start-area #jumpstart-cta,#jump-start-area .jumpstart-desc{padding:0}#jump-start-area p{font-size:14px;line-height:185%}#jump-start-area .spinner{float:none;margin:0 auto;position:absolute;bottom:0;height:100%;width:100%;background-position:50% 56%;background-color:rgba(254,254,254,0.99);display:block;opacity:.9}.jumpstart-message p{padding-left:25px}.jumpstart-desc{text-align:right}#jumpstart-cta{text-align:center}.dismiss-jumpstart{color:#999;font-size:14px}#jumpstart-cta .button,#jumpstart-cta .button-primary{margin:1em;font-size:18px;height:45px !important;padding:8px 15px 1px}#jumpstart-cta .button-primary{display:block;margin:35px 20px 5px 20px}#jp-config-list{position:relative;padding-top:15px;padding-bottom:15px;margin-right:-15px;margin-left:-15px}#jp-config-list .j-col{padding:15px}#jp-config-list strong{display:inline-block}#jp-config-list small{display:block;margin-top:5px;line-height:150%}#jp-config-list .close{position:absolute;top:10px;left:0;text-transform:uppercase;font-weight:bold;display:block;z-index:5}.jp-config-status{text-transform:uppercase;font-size:10px;font-weight:bold;line-height:100%;color:#fff;background:#9fbd72;border-radius:2px;padding:2px 4px;display:inline-block}.miguel{display:none;position:fixed;opacity:.35;bottom:-200px;right:0;z-index:1;-webkit-animation:miguel 3.4s 0s ease-in-out;animation:miguel 3.4s 0s ease-in-out}.miguel:nth-child(2){right:49%;width:120px;height:131px;-webkit-animation-duration:2.4s;animation-duration:2.4s;-webkit-animation-delay:0s;animation-delay:0s}.miguel:nth-child(3){right:23%;width:60px;height:66px;-webkit-animation-duration:4.5s;animation-duration:4.5s;-webkit-animation-delay:0s;animation-delay:0s}@-webkit-keyframes "miguel"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(900px, -900px, 0px);transform:translate3d(900px, -900px, 0px)}}@keyframes "miguel"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(900px, -900px, 0px);transform:translate3d(900px, -900px, 0px)}}@media (max-width: 1147px){.jp-content .landing{padding:0 2em}.jp-content .footer{padding-top:1.5em}}@media (max-width: 782px){#jumpstart-cta .button-primary{margin:10px 0 5px 0}#jump-start-area .spinner{background-position:50% 35%}}@media (max-width: 530px){.jp-content .landing{padding:0 .5em}#jump-start-area{padding:0 1em}.jumpstart-message p{padding-left:0}#jumpstart-cta .button-primary{margin:0 0 5px 0;padding-bottom:10px}.footer .a8c-attribution a:after{top:6px}}.nav-horizontal:before,.features:before,.modules:before,.load-more:before,.nav-horizontal:after,.features:after,.modules:after,.load-more:after{content:"";display:table}.nav-horizontal:after,.features:after,.modules:after,.load-more:after{clear:both}
2905
 
2906
  /*# sourceMappingURL=jetpack-admin.min.css.map */
css/jetpack-admin-rtl.min.css CHANGED
@@ -1,3 +1,3 @@
1
- body,button,input,select,textarea{color:#222;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{color:#222;clear:both}a{color:#0d72b2;transition:color .2s;text-decoration:none}a:visited{color:#0d72b2}a:hover{color:#0f92e5}a:focus{outline:thin dotted}address{margin:0 0 1.5em}abbr[title],acronym{cursor:help}ins{background:#eee;text-decoration:none}dt{font-weight:700}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}img{vertical-align:middle}@-webkit-keyframes "grow"{0%{-webkit-transform:scale(0.3);transform:scale(0.3)}60%{-webkit-transform:scale(1.15);transform:scale(1.15)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes "grow"{0%{-webkit-transform:scale(0.3);transform:scale(0.3)}60%{-webkit-transform:scale(1.15);transform:scale(1.15)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes "candy"{0%{-webkit-transform:scale(1);transform:scale(1)}20%{-webkit-transform:scale(1.15);transform:scale(1.15)}60%{-webkit-transform:scale(0.95);transform:scale(0.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes "candy"{0%{-webkit-transform:scale(1);transform:scale(1)}20%{-webkit-transform:scale(1.15);transform:scale(1.15)}60%{-webkit-transform:scale(0.95);transform:scale(0.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes "flyer"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(680px, -680px, 0px);transform:translate3d(680px, -680px, 0px)}}@keyframes "flyer"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(680px, -680px, 0px);transform:translate3d(680px, -680px, 0px)}}.button,.download-jetpack{transition:all .1s ease-in-out}.jp-button,.jp-button--settings{display:inline-block;position:relative;padding:0.76923em 1.46154em;color:#efefef;font:800 0.9285714286em/1 'Open Sans', Helvetica, sans-serif;text-shadow:0 -1px 1px rgba(0,0,0,0.2);background:#6f7476;border-radius:3px}.jp-button:visited,.jp-button--settings:visited{color:#efefef}.jp-button:hover,.jp-button--settings:hover,.jp-button:focus,.jp-button--settings:focus{color:#fff;background:#57972d}.jp-button:active,.jp-button--settings:active{background:#57972d;opacity:0.8}.jp-button--settings{background:#93b45f;color:#e8eedf}.jp-button--settings:visited{color:#e8eedf}.jp-button--settings:hover,.jp-button--settings:focus{background:#9fbd72;color:#fff}.jp-button--settings.current{background:#3c6621;color:#fff;box-shadow:inset 0 2px 0 #365A1F, inset 0 1px 3px #3c6621}.download-jetpack{display:inline-block;position:relative;padding:0.64286em 0.85714em 0.53571em;color:#fff;font:400 20px/1 "proxima-nova", 'Open Sans', Helvetica, sans-serif;background:#518d2a;z-index:3;border-radius:6px;box-shadow:0 6px 0 #3e6c20,0 6px 3px rgba(0,0,0,0.4)}.download-jetpack:visited{color:#fff}.download-jetpack:hover,.download-jetpack:focus{color:#fff;background:#57972d;box-shadow:0 6px 0 #3e6c20,0 6px 3px rgba(0,0,0,0.4)}.download-jetpack:active{top:6px;box-shadow:0 0px 0 #3e6c20,0 0 0 rgba(0,0,0,0.4)}.download-jetpack:active:after{top:-6px}.download-jetpack:before{content:'';display:inline-block;position:relative;top:-2px;margin-left:13px;width:30px;height:30px;vertical-align:middle;background:url("../images/connect-plug.svg") center center no-repeat;background-size:100%}.download-jetpack:after{content:'';position:absolute;top:0;right:0;width:100%;height:100%}@media (max-width: 1147px){.download-jetpack{font-size:1.5em}.download-jetpack:before{top:-1px;width:23px;height:23px}}@media (max-width: 900px){.download-jetpack:active{top:0}}@media (max-width: 530px){.download-jetpack{font-size:1.21429em;font-weight:600}.download-jetpack:before{width:19px;height:19px;margin-left:9px}}#searchsubmit{display:inline-block;border:none;position:relative;padding:0.71429em 1.5em;color:#efefef;font:800 0.8em/1 'Open Sans', Helvetica, sans-serif;text-shadow:0 -1px 1px rgba(0,0,0,0.2);background:#6f7476;outline:none;border-radius:3px}#searchsubmit:visited{color:#efefef}#searchsubmit:hover,#searchsubmit:focus{color:#fff;background:#2aa0d5}#searchsubmit:active{opacity:0.7}@font-face{font-family:'automatticons';src:url("../_inc/fonts/automatticons/automatticons.eot");src:url("../_inc/fonts/automatticons/automatticons.eot?#iefix") format("embedded-opentype"),url("../_inc/fonts/automatticons/automatticons.woff") format("woff"),url("../_inc/fonts/automatticons/automatticons.ttf") format("truetype"),url("../_inc/fonts/automatticons/automatticons.svg#automatticonsregular") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:"jetpack";src:url("../_inc/fonts/jetpack/jetpack.eot");src:url("../_inc/fonts/jetpack/jetpack.eot?#iefix") format("embedded-opentype"),url("../_inc/fonts/jetpack/jetpack.woff") format("woff"),url("../_inc/fonts/jetpack/jetpack.ttf") format("truetype"),url("../_inc/fonts/jetpack/jetpack.svg#jetpack") format("svg");font-weight:normal;font-style:normal}@media screen and (-webkit-min-device-pixel-ratio: 0){@font-face{font-family:"jetpack";src:url("../_inc/fonts/jetpack/jetpack.svg#jetpack") format("svg")}}.nav-horizontal a{display:inline-block}.nav-horizontal li{position:relative;float:right}.nav-horizontal ul{margin:0;padding:0}*,*:before,*:after{-moz-box-sizing:border-box;box-sizing:border-box}::-moz-selection{background:#91bd51;color:#fff;text-shadow:none}::selection{background:#91bd51;color:#fff;text-shadow:none}#wpbody-content{padding-bottom:0}#wpcontent{margin-right:160px;padding:0}ul#adminmenu a.toplevel_page_jetpack:after{border-left-color:#81a844}.folded #wpcontent{margin-right:36px}#wpfooter{display:none}.jp-content{background:#81a844;margin:0;height:auto;min-height:100%;width:100%;width:100%;-webkit-font-smoothing:antialiased}.jp-content .wrapper{background:#f9f9f9}@media (max-width: 900px){#wpcontent,.auto-fold #wpcontent,.auto-fold #wpfooter,.modal,.configure .frame.top.fixed{margin-right:36px;padding-right:0}}@media (max-width: 782px){#wpcontent,.auto-fold #wpcontent,.auto-fold #wpfooter,.modal,.configure .frame.top.fixed{margin-right:0}}@media (max-width: 782px){.configure .frame.top.fixed{padding-right:0}}.wrap.inner,.page-content{max-width:950px;margin:0 auto}.wrap.inner li,.page-content li{line-height:23px}@media (max-width: 530px){.page-content{margin-top:0}}@media (max-width: 1147px){.wrap.inner{background:#f9f9f9;padding:15px}}@media (max-width: 530px){.wrap.inner{margin-top:1.71429em}}.jetpack_page_jetpack_modules .header-nav{max-width:auto;margin:0}.jetpack_page_jetpack_modules .page-content{max-width:1200px;min-height:500px;margin:0}.page-content.about{position:relative;z-index:10}@media (max-width: 1147px){.page-content.about{background:#f9f9f9;padding:15px}}@media (max-width: 1147px){.page-content.configure{background:#f9f9f9}}.footer nav{max-width:550px;margin:0 auto}.header{right:0;left:0}.header-nav li{line-height:60px}.header-nav a{padding:0 0.71429em;line-height:24px}.header-nav .jetpack-logo a{display:inline-block;position:relative;width:214px;margin-left:6px;background-size:183px 32px;color:#fff;line-height:60px;font-weight:normal;text-indent:-9999px}.header-nav .jetpack-logo a:before{content:'';position:absolute;top:0;right:0;width:100%;height:100%;background:url(../images/jetpack-logo.png) center center no-repeat;background:url(../images/jetpack-logo.svg) center center no-repeat,none;background-size:183px 32px}.main-nav{float:right}.main-nav li{margin:0}@media (max-width: 900px){.main-nav{font-size:13px}}.user-nav{float:left}.user-nav li{margin:0}.jetpack-pagestyles #screen-meta{margin:0}.jetpack-pagestyles #screen-meta-links .screen-meta-toggle{z-index:2}.jetpack-pagestyles #screen-options-link-wrap,.jetpack-pagestyles #contextual-help-link-wrap{border:none}.jetpack-pagestyles .update-nag{display:none}.masthead{position:relative;text-align:center;z-index:1;background-color:#81a844;background-image:linear-gradient(top, #81a844, #8eb74e)}.masthead.hasbutton .flyer{bottom:-270px}.masthead.hasbutton .subhead{margin-top:175px}@media (max-width: 530px){.masthead.hasbutton .subhead{margin-top:105px;padding:0}}.masthead h1,.masthead h2{margin:0 auto}.masthead h1{padding:2.5em 0 1.11111em;max-width:21.94444em;color:#fff;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;position:relative;text-shadow:0 -1px 1px rgba(0,0,0,0.12);z-index:3}.masthead h1+.flyby{margin-top:180px}@media (max-width: 1147px){.masthead h1{padding-top:1.83333em;font-size:2.14286em}}@media (max-width: 782px){.masthead h1{max-width:600px;font-size:28px}}@media (max-width: 530px){.masthead h1{margin:0 15px;padding:31px 0 15px 0;font-size:21px;font-weight:400}}.jetpack-connected .masthead h1{margin-bottom:33px;max-width:600px}.flyby{position:relative;max-width:1200px;margin:0 auto}@media (max-width: 900px){.flyby{display:none}}.flyer{position:absolute;bottom:-200px;right:4%;z-index:1;-webkit-animation:flyer 3.4s 2s ease-in-out;animation:flyer 3.4s 2s ease-in-out}.flyer:nth-child(2){right:49%;width:120px;height:131px;-webkit-animation-delay:4.6s;animation-delay:4.6s;-webkit-animation-duration:2.4s;animation-duration:2.4s}.flyer:nth-child(3){right:23%;width:60px;height:66px;-webkit-animation-delay:5.8s;animation-delay:5.8s;-webkit-animation-duration:4.5s;animation-duration:4.5s}.subhead{position:relative;margin-top:105px;padding:4em 0;background:#f9f9f9;z-index:2}.subhead h2{max-width:460px;color:#5d6d74;font:400 1.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 900px){.subhead h2{max-width:428px;font-size:20px}}@media (max-width: 530px){.subhead h2{display:none}}.subhead:after{content:'';position:absolute;bottom:100%;right:0;margin-bottom:-1px;width:100%;height:228px;background:url("../images/the-cloud.svg") center bottom repeat-x;pointer-events:none;z-index:-1}@media (max-width: 1147px){.subhead{margin-top:122px;padding:70px 0 49px}.subhead:after{background-size:160% auto}}@media (max-width: 900px){.subhead{margin-top:122px;padding:70px 0 49px}}@media (max-width: 530px){.subhead{margin-top:83px;padding:47px 15px 39px}}.clouds-sm{height:100px;position:relative;text-align:center;z-index:1;background-color:#81a844;background-image:linear-gradient(top, #81a844, #89b348)}.clouds-sm:after{content:'';position:absolute;bottom:0;right:0;margin-bottom:-1px;width:100%;height:137px;background:url("../images/the-cloud-sm.svg") center bottom repeat-x;pointer-events:none;z-index:2}@media (max-width: 530px){.clouds-sm{height:90}}.featured{border-top:1px solid #d6d6d6;border-bottom:1px solid #d6d6d6;background:#fff;position:relative;padding:2.0em 1em 4.6em 1em;text-align:center;z-index:1}.featured:before{content:"";display:block;position:absolute;top:0;height:100%;z-index:-1}.featured .features,.featured .modules{margin:0 auto;display:inline-block}@media (max-width: 530px){.featured{display:none}}.featured h2,.module-grid h2{margin-top:0.61111em;color:#5d6d74;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-align:center;text-shadow:0 -1px 1px #fff}@media (max-width: 900px){.featured h2,.module-grid h2{font-size:30px}}@media (max-width: 782px){.featured h2,.module-grid h2{font-size:28px}}.features,.modules{margin:0 -5px}.feature,.module{position:relative;float:right;margin:0 5px 10px;width:310px;transition:all .2s ease-in-out}@media (max-width: 1147px){.feature,.module{margin:.75% 1.5% .75% 0;width:32.333333%;transition:none}.feature:nth-child(3n+1),.module:nth-child(3n+1){margin-right:0}.feature:hover,.module:hover{top:0;box-shadow:none}}.feature{-webkit-transform:translateZ(0);transform:translateZ(0)}.feature h3{margin:0 0 0.58824em;color:#697b84;font-size:1.21429em;line-height:1em;font-weight:800}.feature p{margin:0;color:#6e818a}.feature:before{content:'';position:absolute;bottom:0;right:0;width:100%;height:10px;background:rgba(0,0,0,0.02);z-index:-1;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .2s ease-in-out}.feature:hover{-webkit-transform:translateY(-5px);-ms-transform:translateY(-5px);transform:translateY(-5px)}.feature:hover h3{color:#1a8dba}.feature:hover .feature-img{border:1px solid #ccc;border-bottom:none}.feature:hover .no-border{border:none}.feature:hover:before{-webkit-transform:translateY(5px);-ms-transform:translateY(5px);transform:translateY(5px)}@media (max-width: 1147px){.feature:hover h3{color:#6e818a}.feature:hover .feature-img{border:1px solid #ddd;border-bottom:none}.feature:hover .no-border{border:none}}.feature .feature-img{padding-top:52%;width:100%;height:auto;border:1px solid #ddd;border-bottom:none}.feature .feature-img.custom-css{background:url("../images/custom-css.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.custom-css{background-image:url("../images/custom-css@2x.jpg")}}.feature .feature-img.wordpress-connect{background:url("../images/wordpress-connect.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.wordpress-connect{background-image:url("../images/wordpress-connect@2x.jpg")}}.feature .feature-img.wordpress-stats{background:url("../images/wordpress-stats.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.wordpress-stats{background-image:url("../images/wordpress-stats@2x.jpg")}}.feature .feature-img.no-border{border:none;padding-bottom:1px}.feature-description{display:block;padding:1em 1.07143em 1.07143em;border:1px solid #ddd;background:#f5f5f5}.feature:hover .feature-description{background:#fff;border-color:#ccc}@media (max-width: 1147px){.feature:hover .feature-description{border:1px solid #ddd;background:#f5f5f5}}@media (max-width: 900px){.feature-description{min-height:115px}}.cat{clear:both;margin-bottom:23px}.cat h3{font-size:24px;font-weight:300;margin:0 6px 13px 0;text-align:right}.cat .clear{clear:both}.module-grid{text-align:center}.module-grid h2{margin:1.25em 0 0.69444em}@media (max-width: 530px){.module-grid h2{margin-top:16px;font-size:25px}}#module-search{position:relative;width:100%;max-width:40.71429em;margin:0 auto 1.07143em;overflow:hidden}#jetpack-search{margin:0;padding:11px 16px 11px 16px;width:100%;border:1px solid #c9ced0;border-radius:3px;background:#fff;color:#5c6671;line-height:1.3}#jetpack-search:focus{color:#5c6671;outline:none}#jetpack-search:focus+label{background:transparent;opacity:0}#jetpack-search::-webkit-input-placeholder{color:#a8acae}#jetpack-search :-moz-placeholder{color:#a8acae}#jetpack-search::-moz-placeholder{color:#a8acae}#jetpack-search:-ms-input-placeholder{color:#a8acae}#jetpack-search+label{position:absolute;top:1px;left:1px;bottom:1px;width:48px;color:#abafb1;text-indent:-9999px;pointer-events:none;border-radius:3px;transition:all .2s ease-in-out}#jetpack-search+label:after{content:'\f400';position:absolute;left:11px;text-align:left;top:4px;font-size:1.71429em;font-weight:normal;font-family:"genericons"}.jp-filter{margin-bottom:2.85714em;color:#6f7476}.jp-filter a{display:inline-block;position:relative;padding:0.76923em 1.46154em;color:#aaa;font:600 0.92857em/1 "Open Sans", Helvetica, Arial, sans-serif;text-shadow:0 -1px 1px rgba(255,255,255,0.2);background:#eee;border-radius:3px;background-clip:padding-box}.jp-filter a.selected,.jp-filter a:hover,.jp-filter a:focus{color:#efefef;text-shadow:0 -1px 1px rgba(0,0,0,0.2);background:#6f7476}@media (max-width: 530px){.jp-filter a{padding:0.76em 1em}}.module{cursor:pointer;display:block;padding:0.71429em 1.07143em 1em;text-align:right;border:1px solid #dae0e2;background:#fff;box-shadow:0 0 0 rgba(0,0,0,0.03);transition:opacity 2s ease-in}.module:hover{border-color:#8ac9e8;background:#f8fcfe}.module:nth-of-type(n+10){display:none}.module h3{margin:0 0 0.5em;color:#1a8dba;font-size:1.14286em;line-height:1.4em;font-weight:700}.module p{margin:0;color:#686f72;font-size:0.85714em}.module:hover,.module:focus{border-color:#8ac9e8;background:#f8fcfe}.module:nth-of-type(n+10){display:none}.module.active{border-color:#2ea2cc;box-shadow:inset -4px 0 0 #2ea2cc}.module.active:hover{border-color:#69bedd;box-shadow:inset -4px 0 0 #69bedd}@media (max-width: 1147px){.cat .module:nth-child(3n+1){margin:.75% 1.5% .75% 0}.cat .module:nth-child(3n - 1){margin-right:0}}@media (max-width: 900px){.cat .module{margin:1% 2% 1% 0}.cat .module:nth-child(2n+1){margin:1% 2% 1% 0}.cat .module:nth-child(2n+0){margin-right:0}}@media (max-width: 530px){.cat .module{margin:5px 0}.cat .module:nth-child(2n+1){margin-right:0}.cat .module:nth-child(2n+0){margin-right:0}}@media (max-width: 900px){.module{margin:1% 2% 1% 0;width:49%}.module:nth-child(3n+1){margin-right:2%}.module:nth-child(2n+1){margin-right:0}}@media (max-width: 530px){.module{margin:5px 0;width:100%}.module:nth-child(3n+1){margin-right:0}.module:nth-child(2n+1){margin-right:0}}.new{position:relative}.new:after{content:'NEW';position:absolute;top:-8px;left:-8px;padding-top:10px;width:32px;height:32px;color:#fff;font-size:8px;font-weight:800;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,0.2);background:url("../images/new-badge.svg") center center no-repeat;background-size:100%;border-radius:50%}.paid{display:inline-block;position:relative;top:5px;margin-right:10px;padding:1px 4px 0 6px;height:13px;color:#fff;font:700 10px/1 "Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 1px 0 rgba(0,0,0,0.05);background:#d0d0d0;vertical-align:top}.paid:before,.paid:after{position:absolute;top:0;left:100%;font:normal 14px/14px "genericons"}.paid:before{content:'\f503';color:#d0d0d0;text-shadow:none}.paid:after{content:'\f428';margin-left:-5px;font-size:11px}.rtl .paid:before{content:'\f501'}.load-more{margin:2.71429em 0 6.15385em}.set{display:none}.show.set{display:block}.loading{bottom:50%;position:absolute;top:50%;width:100%}.loading span{color:#999}.modal{background:#fff;position:fixed;top:52px;bottom:20px;left:20px;right:20px;margin-right:160px;display:none;box-shadow:0 1px 20px 5px rgba(0,0,0,0.1);z-index:500}.modal .close{position:absolute;top:0;left:0;font:300 1.71429em "genericons" !important;color:#777;content:'\f405';display:inline-block;padding:0.28571em 0.71429em 0.42857em;z-index:5}.modal .close:hover{background:#eee;opacity:0.8}.modal .close:active{background:#eee;opacity:0.4}.modal #jp-post-flair{display:none}.modal .content-container{position:absolute;top:0;left:0;bottom:0;right:0;overflow:auto;padding:2.14286em}.modal .content{margin:0 auto;max-width:900px;text-align:right}.modal h2{text-align:right;margin-top:0;color:#5d6d74;font:300 32px "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 530px){.modal h2{font-size:26px}}.modal p{font-size:1.23077em}.modal footer{position:absolute;right:0;bottom:0;width:100%;padding:12px 20px;border-top:1px solid #ddd;background:#fff;text-align:left}.modal footer ul{margin:0}.modal footer li{display:inline-block;margin:0}.modal .button-secondary,.modal .button-primary:active{vertical-align:baseline}@media (max-width: 900px){.modal{bottom:5%;margin-right:36px;font-size:80%}.modal .content{top:38px}}@media (max-width: 782px){.modal{top:66px;margin-right:0}}@media (max-width: 600px){.modal{top:10px;left:10px;bottom:10px;right:10px}}.jp-info-img{float:left;margin:0 30px 30px 0}.jp-info-img img{border:1px solid #ddd;max-width:100%;height:auto}.jp-info-img img:first-child{margin-top:0}@media (max-width: 782px){.jp-info-img{float:none;margin:0 0 15px}}.content-container.modal-footer{bottom:53px}.shade{background:#000;bottom:0;cursor:pointer;display:none;right:0;opacity:0.2;position:fixed;left:0;top:0;z-index:11}.entry-title,.page-template-default h1{margin-top:0.61111em;color:#5d6d74;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 530px){.entry-title,.page-template-default h1{font-size:2em}}.blog h3,.single h3,.page-template-default h2{margin-top:0.61111em;color:#5d6d74;font:300 1.9em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 530px){.blog h3,.single h3,.page-template-default h2{font-size:1.4em}}.page-template-default p{line-height:1.71429em}.blog .type-post,.page-template-default .type-page,.single .type-post,.single .type-jetpack_support{float:right;width:70%}.footer{margin-top:1.42857em;position:relative;padding:10em 0 4.28571em;text-align:center;background-color:#81a844;background-image:linear-gradient(top, #8eb74e, #81a844)}.footer:before,.footer:after{content:'';position:absolute;right:0;pointer-events:none}.footer:before{top:0;margin-top:-1px;width:100%;height:195px;background:url("../images/the-undercloud.svg") center top repeat-x}.footer:after{bottom:0;width:100%;height:50px;background:url("../images/the-footcloud.svg") center bottom no-repeat;background-size:auto 45px;z-index:1}.footer .download-jetpack{margin-bottom:33px}@media (max-width: 1147px){.footer{padding-top:165px;padding-bottom:0}.footer:before{background-size:160% auto}.footer:after{display:none}.footer ul{float:none;overflow:hidden}}@media (max-width: 900px){.footer{padding-top:146px}}@media (max-width: 782px){.footer{margin-top:0}}@media (max-width: 530px){.footer{margin-top:0;padding-top:135px}}@media (max-width: 320px){.footer{padding-top:76px}}.footer nav{max-width:100%;color:#c8e3a2}.footer nav a,.footer nav a:visited{padding:4px 6px;color:#c8e3a2}.footer nav a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#fff}@media (max-width: 1147px){.footer nav{border:none;padding:0}.footer nav a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#fff}}@media (max-width: 530px){.footer nav li{display:block;float:none;margin:0;text-align:right}.footer nav a{display:block;padding:0 16px;line-height:44px}}.primary{padding:25px 15px 10px 15px;border-bottom:1px solid #6c954d}.secondary-footer{margin:0 auto}.secondary-footer li{margin-left:5px}@media (max-width: 1147px){.secondary-footer{margin:0 30px;padding:8px 15px 30px}}@media (max-width: 530px){.secondary-footer{margin:0;padding:0;border:none;font-weight:400}.secondary-footer a{border-top:1px solid #7ba141}}.footer .a8c-attribution{margin-top:6px auto 0;padding:0 6px;font-size:0.78571em;font-family:"Gill Sans","Gill Sans MT","Open Sans",Helvetica,Arial,sans-serif;text-transform:uppercase}.footer .a8c-attribution a{display:inline-block;position:relative;padding:4px 16px;left:9999px;outline:0}.footer .a8c-attribution a:after{content:'A';position:absolute;top:2px;left:-9999px;height:100%;color:#fff;font-size:1.54545em;font-family:"automatticons";text-align:center}.footer .a8c-attribution a:hover:after{-webkit-animation:candy .4s ease-in-out;animation:candy .4s ease-in-out}@media (max-width: 1147px){.footer .a8c-attribution{display:none}}.secondary{padding:14px 15px 0 15px;border-top:1px solid #8eb345}.jetpack-message{background:#8eb74e;border:1px solid #73963d;margin:33px auto 0;max-width:90%;position:relative;z-index:2}.jetpack-message.is-opt-in{margin:50px 0 0;max-width:100%;padding:10px 15px;background:#fff;border:0;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);font-size:13px;text-align:center}.subhead .jetpack-message.is-opt-in{margin:0;padding-bottom:0;background:transparent;box-shadow:none}.subhead .jetpack-message.is-opt-in .jp-button,.subhead .jetpack-message.is-opt-in .jp-button--settings{display:inline-block}.jetpack-message.is-opt-in p{color:#3c4549}.jetpack-message.is-opt-in .jp-button,.jetpack-message.is-opt-in .jp-button--settings{margin-top:15px;display:none}.jetpack-message h4{color:#fff;margin:0}.jetpack-message p{color:#fff;margin:0;opacity:0.7}.jetpack-message .squeezer{padding:23px 80px 23px 23px;position:relative;text-align:right}.jetpack-message .squeezer:before{color:#fff;content:'\f418';font-family:'Genericons';font-size:33px;height:33px;right:25px;opacity:0.6;position:absolute;top:23px;top:calc( 50% - 22px )}@media (max-width: 530px){.jetpack-message .squeezer{padding:23px}.jetpack-message .squeezer:before{display:none}}.jetpack-message .squeezer a{color:#FFF;border-bottom:1px solid #D5E4BD}.jetpack-message .squeezer a:hover{border-bottom:1px solid #F1F6E9}.jetpack-message.error .squeezer:before,.jetpack-message.jetpack-err .squeezer:before{content:'\f414'}.modules h3.icon,.jetpack-modules .info a{width:auto}.modules h3.icon:before,.jetpack-modules .info a:before{display:inline-block;position:relative;top:1px;right:-3px;margin-left:2px;opacity:0.8;font:normal 20px "genericons";vertical-align:top}.jetpack-modules .info a:before{margin-top:1px}.latex:before,.jetpack-modules #latex .info a:before{content:'\f408'}.carousel:before,.jetpack-modules #carousel .info a:before{content:'\f102'}.modules h3.contact-form:before,.jetpack-modules #contact-form .info a:before{content:'\f175';font:normal 20px "dashicons"}.modules h3.custom-css:before,.jetpack-modules #custom-css .info a:before{content:'\f100';font:normal 20px "dashicons"}.modules h3.enhanced-distribution:before,.jetpack-modules #enhanced-distribution .info a:before{content:'\f237';font:normal 20px "dashicons"}.modules h3.widgets:before,.jetpack-modules #widgets .info a:before{content:'\f116';font:normal 20px "dashicons"}.modules h3.gravatar-hovercards:before,.jetpack-modules #gravatar-hovercards .info a:before{content:'G';font-family:"automatticons"}.infinite-scroll:before,.jetpack-modules #infinite-scroll .info a:before{content:'\f408'}.comments:before,.jetpack-modules #comments .info a:before{content:'\f108'}.sso:before,.jetpack-modules #sso .info a:before{content:'\f205'}.json-api:before,.jetpack-modules #json-api .info a:before{content:'\f415'}.likes:before,.jetpack-modules #likes .info a:before{content:'\f408'}.markdown:before,.jetpack-modules #markdown .info a:before{content:'\f462'}.minileven:before,.jetpack-modules #minileven .info a:before{content:'\f453'}.monitor:before,.jetpack-modules #monitor .info a:before{content:'\f468'}.notes:before,.jetpack-modules #notes .info a:before{content:'\f300'}.omnisearch:before,.jetpack-modules #omnisearch .info a:before{content:'\f400'}.photon:before,.jetpack-modules #photon .info a:before{content:'\f403'}.post-by-email:before,.jetpack-modules #post-by-email .info a:before{content:'\f410'}.modules h3.publicize:before,.jetpack-modules #publicize .info a:before{content:'\f237';font:normal 20px "dashicons"}.related-posts:before,.jetpack-modules #related-posts .info a:before{content:'\f420'}.sharedaddy:before,.jetpack-modules #sharedaddy .info a:before{content:'\f415'}.shortcodes:before,.jetpack-modules #shortcodes .info a:before{content:'\f100'}.verification-tools:before,.jetpack-modules #verification-tools .info a:before{content:'\f425'}.after-the-deadline:before,.jetpack-modules #after-the-deadline .info a:before{content:'\f411'}.subscriptions:before,.jetpack-modules #subscriptions .info a:before{content:'\f410'}.tiled-gallery:before,.jetpack-modules #tiled-gallery .info a:before{content:'\f103'}.modules h3.vaultpress:before,.jetpack-modules #vaultpress .info a:before{content:'V';font-family:"automatticons"}.videopress:before,.jetpack-modules #videopress .info a:before{content:'\f104'}.modules h3.widget-visibility:before,.jetpack-modules #widget-visibility .info a:before{content:'\f116';font:normal 20px "dashicons"}.stats:before,.jetpack-modules #stats .info a:before{content:'\f205'}.shortlinks:before,.jetpack-modules #shortlinks .info a:before{content:'\f107'}.modules h3.custom-content-types:before,.jetpack-modules #custom-content-types .info a:before{content:'\f498';font:normal 20px "dashicons"}.modules h3.site-icon:before,.jetpack-modules #site-icon .info a:before{content:'\f475'}@media (max-width: 782px){.blog .type-post,.page-template-default .type-page,.single .type-post,.single .type-jetpack_support{width:100%}}@media (max-width: 530px){.wrap.inner.jp-support .jp-support-column-left{width:100%}.wrap.inner.jp-support .jp-support-column-left .widget-text{margin-left:0;width:100%}.wrap.inner.jp-support .jp-support-column-right{width:100%}}@media (max-width: 320px){.jetpack_page_jetpack_modules .wrap{padding:0 0 1em}}.page-content.configure{margin-top:0}.configure .frame.top{border:none;box-shadow:none;padding-top:1.42857em;position:relative;top:auto}.configure .frame.top.fixed{background:#f9f9f9;border-bottom:1px solid #e9e9e9;padding-right:160px;margin-top:-6px;position:fixed;left:0;top:32px;width:100%;z-index:4;box-shadow:0 2px 2px -2px #eee}@media (max-width: 782px){.configure .frame.top.fixed{border:none;box-shadow:none;padding-top:1.42857em;position:relative;top:auto}}@media (max-width: 600px){.configure .frame.top.fixed{top:0}}.configure .frame.top .tablenav.top{float:right}@media (max-width: 900px){.configure .frame.top .tablenav.top .actions{display:block}}@media (max-width: 782px){.configure .frame.top .tablenav.top .actions{margin-top:6px}}.jp-frame-top-fixed .configure{padding-top:94px}.filter-search{display:none;float:left;margin-top:10px}@media (max-width: 782px){.filter-search{display:block}}@media (max-width: 530px){.filter-search{display:none}}.module-actions.landing-page{float:left;margin-left:15px}.module-actions.landing-page a{font-size:0.6em}.table-bordered.jetpack-modules{border:none;margin-bottom:0}.table-bordered.jetpack-modules tr.jetpack-module th{border-right:0;padding:14px 4px 0}.table-bordered.jetpack-modules tr.jetpack-module th input{display:block}.table-bordered.jetpack-modules tr.jetpack-module:hover .genericon{display:inline-block}.table-bordered.jetpack-modules tr.jetpack-module:hover td .row-actions span a{opacity:1}.table-bordered.jetpack-modules tr.jetpack-module.active th,.table-bordered.jetpack-modules tr.jetpack-module.active td{background:#f7fcfe}.table-bordered.jetpack-modules tr.jetpack-module.active th{border-right:4px solid #2ea2cc;padding-right:0px}.table-bordered.jetpack-modules tr.jetpack-module.active td:first-child{border-right:4px solid #2ea2cc}.table-bordered.jetpack-modules tr.jetpack-module.unavailable{opacity:0.3}.table-bordered.jetpack-modules tr.jetpack-module.unavailable input{display:none}.table-bordered.jetpack-modules tr.jetpack-module#vaultpress{opacity:1}.table-bordered.jetpack-modules tr.jetpack-module th,.table-bordered.jetpack-modules tr.jetpack-module td{background:#fff;margin:0;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1)}.table-bordered.jetpack-modules tr.jetpack-module td{padding:10px 14px 8px 10px;line-height:25px}.table-bordered.jetpack-modules tr.jetpack-module td:first-child{border-right:4px solid #fff}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{float:left;padding:0 0 1px;visibility:visible}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span{margin-right:5px}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span a{opacity:0}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span a:focus{opacity:1}@media (max-width: 530px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:none}}@media (max-width: 782px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:block;padding-right:10px;visibility:visible}}.table-bordered.jetpack-modules>thead>tr>th{border:0;vertical-align:middle}.table-bordered.jetpack-modules>thead>tr>th:last-child{padding-left:0}@media (max-width: 782px){.table-bordered.jetpack-modules>thead>tr>th:last-child{padding-right:0}}.table-bordered.jetpack-modules td{background:#fff}.table-bordered.jetpack-modules #doaction{margin-top:0}@media (max-width: 782px){.table-bordered.jetpack-modules #doaction{padding:10px 7px}}.table-bordered.jetpack-modules .checkall{margin-top:1px}.table-bordered.jetpack-modules .filter-search{margin-top:8px}.table-bordered.jetpack-modules .genericon{color:#999;display:none;margin:7px 3px 0}@media (max-width: 900px){.table-bordered.jetpack-modules .genericon{display:inline-block}}.table-bordered.jetpack-modules .med{width:70px}.table-bordered.jetpack-modules .sm{width:30px}@media (max-width: 782px){.table-bordered.jetpack-modules .check-column{width:50px}}.fixed-top .check-column{padding:8px 10px 0 10px;width:2.2em}.wrap{margin:0;padding:0 1.5em 1em;overflow:hidden}.wrap h2{font-size:24px;font-weight:400}.wrap .manage-left{float:right;margin:0;padding:0;width:63%}.wrap .manage-left table{width:100%}.wrap .manage-left th{font-weight:400}@media (max-width: 782px){.wrap .manage-left{width:100%}}.wrap .manage-right{margin:0;padding:0;position:absolute;left:0;width:35%;z-index:1}.wrap .manage-right p{font-size:12px;font-weight:bold;color:#bbb;padding-top:2px;text-transform:uppercase;letter-spacing:1px;clear:right}.wrap .manage-right .bumper{margin-right:33px}.wrap .manage-right.show{display:block;position:fixed;overflow-y:auto;overflow-x:hidden;position:absolute}.wrap .manage-right .search-bar{margin-bottom:18px;max-width:300px}.wrap .manage-right p.search-box{float:none;height:auto;margin-bottom:0;position:relative}.wrap .manage-right p.search-box input[type='search']{padding:0 8px;width:90%;line-height:initial}@media (max-width: 782px){.wrap .manage-right p.search-box input[type='search']{float:right;padding:9px 8px}}.wrap .manage-left p.search-box input[type="submit"]{display:none}.wrap .manage-right .button-group .button{outline:none}.wrap .manage-right .subsubsub{margin:0;padding:0}.wrap .manage-right .subsubsub a{padding:0;line-height:inherit}.wrap .manage-right .subsubsub .current{padding:1px 5px;border-radius:2px;margin-right:-5px;background:#0D72B2;color:#FFF}.wrap .manage-right .subsubsub .current .count{color:#BCD7E7;font-weight:200}.wrap .manage-right .subsubsub li{display:block;text-align:right}@media (max-width: 782px){.wrap .manage-right{background:#fff;bottom:0;display:none;min-width:300px;position:fixed;left:0;top:0;z-index:13;box-shadow:0 1px 20px 5px rgba(0,0,0,0.1)}.wrap .manage-right .bumper{margin:13px}.wrap .manage-right .navbar-form{margin:0;padding:0}}.nav-horizontal:before,.features:before,.modules:before,.load-more:before,.nav-horizontal:after,.features:after,.modules:after,.load-more:after{content:"";display:table}.nav-horizontal:after,.features:after,.modules:after,.load-more:after{clear:both}
2
 
3
  /*# sourceMappingURL=jetpack-admin.min.css.map */
1
+ .j-row{width:100%;margin:0 auto}.j-row:before,.j-row:after{content:" ";display:table}.j-row:after{clear:both}.j-col{padding:0.85em;width:100%;float:right;position:relative}@media only screen{.j-sm-1{width:8.33333%}.j-sm-2{width:16.66667%}.j-sm-3{width:25%}.j-sm-4{width:33.33333%}.j-sm-5{width:41.66667%}.j-sm-6{width:50%}.j-sm-7{width:58.33333%}.j-sm-8{width:66.66667%}.j-sm-9{width:75%}.j-sm-10{width:83.33333%}.j-sm-11{width:91.66667%}.j-sm-12{width:100%}}@media (min-width: 530px){.j-md-1{width:8.33333%}.j-md-2{width:16.66667%}.j-md-3{width:25%}.j-md-4{width:33.33333%}.j-md-5{width:41.66667%}.j-md-6{width:50%}.j-md-7{width:58.33333%}.j-md-8{width:66.66667%}.j-md-9{width:75%}.j-md-10{width:83.33333%}.j-md-11{width:91.66667%}.j-md-12{width:100%}}@media (min-width: 782px){.j-lrg-1{width:8.33333%}.j-lrg-2{width:16.66667%}.j-lrg-3{width:25%}.j-lrg-4{width:33.33333%}.j-lrg-5{width:41.66667%}.j-lrg-6{width:50%}.j-lrg-7{width:58.33333%}.j-lrg-8{width:66.66667%}.j-lrg-9{width:75%}.j-lrg-10{width:83.33333%}.j-lrg-11{width:91.66667%}.j-lrg-12{width:100%}}body,button,input,select,textarea{color:#222;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{color:#222;clear:both}a{color:#0d72b2;transition:color .2s;text-decoration:none}a:visited{color:#0d72b2}a:hover{color:#0f92e5}a:focus{outline:thin dotted}address{margin:0 0 1.5em}abbr[title],acronym{cursor:help}ins{background:#eee;text-decoration:none}dt{font-weight:700}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}img{vertical-align:middle}@-webkit-keyframes "grow"{0%{-webkit-transform:scale(0.3);transform:scale(0.3)}60%{-webkit-transform:scale(1.15);transform:scale(1.15)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes "grow"{0%{-webkit-transform:scale(0.3);transform:scale(0.3)}60%{-webkit-transform:scale(1.15);transform:scale(1.15)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes "candy"{0%{-webkit-transform:scale(1);transform:scale(1)}20%{-webkit-transform:scale(1.15);transform:scale(1.15)}60%{-webkit-transform:scale(0.95);transform:scale(0.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes "candy"{0%{-webkit-transform:scale(1);transform:scale(1)}20%{-webkit-transform:scale(1.15);transform:scale(1.15)}60%{-webkit-transform:scale(0.95);transform:scale(0.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes "flyer"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(680px, -680px, 0px);transform:translate3d(680px, -680px, 0px)}}@keyframes "flyer"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(680px, -680px, 0px);transform:translate3d(680px, -680px, 0px)}}.button,.download-jetpack{transition:all .1s ease-in-out}.jp-button,.jp-button--settings{display:inline-block;position:relative;padding:0.76923em 1.46154em;color:#efefef;font:800 0.9285714286em/1 'Open Sans', Helvetica, sans-serif;text-shadow:0 -1px 1px rgba(0,0,0,0.2);background:#6f7476;border-radius:3px}.jp-button:visited,.jp-button--settings:visited{color:#efefef}.jp-button:hover,.jp-button--settings:hover,.jp-button:focus,.jp-button--settings:focus{color:#fff;background:#57972d}.jp-button:active,.jp-button--settings:active{background:#57972d;opacity:0.8}.jp-button--settings{background:#93b45f;color:#e8eedf}.jp-button--settings:visited{color:#e8eedf}.jp-button--settings:hover,.jp-button--settings:focus{background:#9fbd72;color:#fff}.jp-button--settings.current{background:#3c6621;color:#fff;box-shadow:inset 0 2px 0 #365A1F, inset 0 1px 3px #3c6621}.download-jetpack{display:inline-block;position:relative;padding:0.64286em 0.85714em 0.53571em;color:#fff;font:400 20px/1 "proxima-nova", 'Open Sans', Helvetica, sans-serif;background:#518d2a;z-index:3;border-radius:6px;box-shadow:0 6px 0 #3e6c20,0 6px 3px rgba(0,0,0,0.4)}.download-jetpack:visited{color:#fff}.download-jetpack:hover,.download-jetpack:focus{color:#fff;background:#57972d;box-shadow:0 6px 0 #3e6c20,0 6px 3px rgba(0,0,0,0.4)}.download-jetpack:active{top:6px;box-shadow:0 0px 0 #3e6c20,0 0 0 rgba(0,0,0,0.4)}.download-jetpack:active:after{top:-6px}.download-jetpack:before{content:'';display:inline-block;position:relative;top:-2px;margin-left:13px;width:30px;height:30px;vertical-align:middle;background:url("../images/connect-plug.svg") center center no-repeat;background-size:100%}.download-jetpack:after{content:'';position:absolute;top:0;right:0;width:100%;height:100%}@media (max-width: 1147px){.download-jetpack{font-size:1.28571em}.download-jetpack:before{top:-1px;width:23px;height:23px}}@media (max-width: 900px){.download-jetpack:active{top:0}}@media (max-width: 530px){.download-jetpack{font-size:1.21429em;font-weight:600}.download-jetpack:before{width:19px;height:19px;margin-left:9px}}#searchsubmit{display:inline-block;border:none;position:relative;padding:0.71429em 1.5em;color:#efefef;font:800 0.8em/1 'Open Sans', Helvetica, sans-serif;text-shadow:0 -1px 1px rgba(0,0,0,0.2);background:#6f7476;outline:none;border-radius:3px}#searchsubmit:visited{color:#efefef}#searchsubmit:hover,#searchsubmit:focus{color:#fff;background:#2aa0d5}#searchsubmit:active{opacity:0.7}@font-face{font-family:'automatticons';src:url("../_inc/fonts/automatticons/automatticons.eot");src:url("../_inc/fonts/automatticons/automatticons.eot?#iefix") format("embedded-opentype"),url("../_inc/fonts/automatticons/automatticons.woff") format("woff"),url("../_inc/fonts/automatticons/automatticons.ttf") format("truetype"),url("../_inc/fonts/automatticons/automatticons.svg#automatticonsregular") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:"jetpack";src:url("../_inc/fonts/jetpack/jetpack.eot");src:url("../_inc/fonts/jetpack/jetpack.eot?#iefix") format("embedded-opentype"),url("../_inc/fonts/jetpack/jetpack.woff") format("woff"),url("../_inc/fonts/jetpack/jetpack.ttf") format("truetype"),url("../_inc/fonts/jetpack/jetpack.svg#jetpack") format("svg");font-weight:normal;font-style:normal}@media screen and (-webkit-min-device-pixel-ratio: 0){@font-face{font-family:"jetpack";src:url("../_inc/fonts/jetpack/jetpack.svg#jetpack") format("svg")}}.nav-horizontal a{display:inline-block}.nav-horizontal li{position:relative;float:right}.nav-horizontal ul{margin:0;padding:0}*,*:before,*:after{-moz-box-sizing:border-box;box-sizing:border-box}::-moz-selection{background:#91bd51;color:#fff;text-shadow:none}::selection{background:#91bd51;color:#fff;text-shadow:none}#wpbody-content{padding-bottom:0}#wpcontent{margin-right:160px;padding:0}ul#adminmenu a.toplevel_page_jetpack:after{border-left-color:#81a844}.folded #wpcontent{margin-right:36px}#wpfooter{display:none}.jp-content{background:#f9f9f9;margin:0;height:auto;min-height:100%;width:100%;width:100%;-webkit-font-smoothing:antialiased}.jp-content .wrapper{background:#f9f9f9}@media (max-width: 900px){#wpcontent,.auto-fold #wpcontent,.auto-fold #wpfooter,.modal,.configure .frame.top.fixed{margin-right:36px;padding-right:0}}@media (max-width: 782px){#wpcontent,.auto-fold #wpcontent,.auto-fold #wpfooter,.modal,.configure .frame.top.fixed{margin-right:0}}@media (max-width: 782px){.configure .frame.top.fixed{padding-right:0}}.wrap.inner,.page-content{max-width:950px;margin:0 auto}.wrap.inner li,.page-content li{line-height:23px}@media (max-width: 530px){.page-content{margin-top:0}}@media (max-width: 1147px){.wrap.inner{background:#f9f9f9;padding:15px}}@media (max-width: 530px){.wrap.inner{margin-top:1.71429em}}.jetpack_page_jetpack_modules .header-nav{margin:0}.jetpack_page_jetpack_modules .page-content{max-width:1200px;min-height:500px;margin:0}.page-content.about{position:relative;z-index:10}@media (max-width: 1147px){.page-content.about{background:#f9f9f9;padding:15px}}@media (max-width: 1147px){.page-content.configure{background:#f9f9f9}}.footer nav{max-width:550px;margin:0 auto}.header{right:0;left:0;background:#81a844}.header-nav li{line-height:60px}.header-nav a{padding:0 0.71429em;line-height:24px}.header-nav .jetpack-logo a{display:inline-block;position:relative;width:214px;margin-left:6px;background:url(../images/jetpack-logo.png) center center no-repeat;background:url(../images/jetpack-logo.svg) center center no-repeat,none;background-size:183px auto;color:#fff;line-height:60px;font-weight:normal}.header-nav .jetpack-logo a span{text-indent:-9999px;visibility:hidden}.header-nav .jetpack-logo a:before{content:'';position:absolute;top:0;right:0;width:100%;height:100%;background-size:183px 32px}.header-nav .jetpack-modules+.jetpack-modules{margin-right:15px}.main-nav{float:right}.main-nav li{margin:0}@media (max-width: 900px){.main-nav{font-size:13px}}.user-nav{float:left}.user-nav li{margin:0}.jetpack-pagestyles #screen-meta{margin:0}.jetpack-pagestyles #screen-meta-links .screen-meta-toggle{z-index:2}.jetpack-pagestyles #screen-options-link-wrap,.jetpack-pagestyles #contextual-help-link-wrap{border:none}.jetpack-pagestyles .update-nag{display:none}.masthead{position:relative;text-align:center;z-index:1;background-color:#81a844;background-image:linear-gradient(top, #81a844, #8eb74e)}.masthead.hasbutton .flyer{bottom:-270px}.masthead.hasbutton .subhead{margin-top:175px}@media (max-width: 530px){.masthead.hasbutton .subhead{margin-top:105px;padding:0}}.masthead h1,.masthead h2{margin:0 auto}.masthead h1{padding:2.5em 0 1.11111em;max-width:21.94444em;color:#fff;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;position:relative;text-shadow:0 -1px 1px rgba(0,0,0,0.12);z-index:3}.masthead h1+.flyby{margin-top:180px}@media (max-width: 1147px){.masthead h1{padding-top:1.83333em;font-size:2.14286em}}@media (max-width: 782px){.masthead h1{max-width:600px;font-size:28px}}@media (max-width: 530px){.masthead h1{margin:0 15px;padding:31px 0 15px 0;font-size:21px;font-weight:400}}.jetpack-connected .masthead h1{margin-bottom:33px;max-width:600px}.flyby{position:relative;max-width:1200px;margin:0 auto}@media (max-width: 900px){.flyby{display:none}}.flyer{position:absolute;bottom:-200px;right:4%;z-index:1;-webkit-animation:flyer 3.4s 2s ease-in-out;animation:flyer 3.4s 2s ease-in-out}.flyer:nth-child(2){right:49%;width:120px;height:131px;-webkit-animation-delay:4.6s;animation-delay:4.6s;-webkit-animation-duration:2.4s;animation-duration:2.4s}.flyer:nth-child(3){right:23%;width:60px;height:66px;-webkit-animation-delay:5.8s;animation-delay:5.8s;-webkit-animation-duration:4.5s;animation-duration:4.5s}.subhead{position:relative;margin-top:105px;padding:4em 0;background:#f9f9f9;z-index:2}.subhead h2{max-width:460px;color:#5d6d74;font:400 1.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 900px){.subhead h2{max-width:428px;font-size:20px}}@media (max-width: 530px){.subhead h2{display:none}}.subhead:after{content:'';position:absolute;bottom:100%;right:0;margin-bottom:-1px;width:100%;height:228px;background:url("../images/the-cloud.svg") center bottom repeat-x;pointer-events:none;z-index:-1}@media (max-width: 1147px){.subhead{margin-top:122px;padding:70px 0 49px}.subhead:after{background-size:160% auto}}@media (max-width: 900px){.subhead{margin-top:122px;padding:70px 0 49px}}@media (max-width: 530px){.subhead{margin-top:83px;padding:47px 15px 39px}}.clouds-sm{height:100px;position:relative;text-align:center;z-index:1;background-color:#81a844;background-image:linear-gradient(top, #81a844, #89b348)}.clouds-sm:after{content:'';position:absolute;bottom:0;right:0;margin-bottom:-1px;width:100%;height:137px;background:url("../images/the-cloud-sm.svg") center bottom repeat-x;pointer-events:none;z-index:2}@media (max-width: 530px){.clouds-sm{height:90px}}.featured{border-top:1px solid #d6d6d6;border-bottom:1px solid #d6d6d6;background:#fff;position:relative;padding:2.0em 1em 4.6em 1em;text-align:center;z-index:1}.featured:before{content:"";display:block;position:absolute;top:0;height:100%;z-index:-1}.featured .features,.featured .modules{margin:0 auto;display:inline-block}@media (max-width: 530px){.featured{display:none}}.featured h2,.module-grid h2{margin-top:1em;color:#5d6d74;font:300 2em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-align:center}@media (max-width: 900px){.featured h2,.module-grid h2{font-size:30px}}@media (max-width: 782px){.featured h2,.module-grid h2{font-size:28px}}.features,.modules{margin:0 -5px}.feature,.module{position:relative;float:right;margin:0 5px 10px;width:310px;transition:all .2s ease-in-out}@media (max-width: 1147px){.feature,.module{margin:.75% 1.5% .75% 0;width:32.333333%;transition:none}.feature:nth-child(3n+1),.module:nth-child(3n+1){margin-right:0}.feature:hover,.module:hover{top:0;box-shadow:none}}.feature{-webkit-transform:translateZ(0);transform:translateZ(0)}.feature h3{margin:0 0 0.58824em;color:#697b84;font-size:1.21429em;line-height:1em;font-weight:800}.feature p{margin:0;color:#6e818a}.feature:before{content:'';position:absolute;bottom:0;right:0;width:100%;height:10px;background:rgba(0,0,0,0.02);z-index:-1;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .2s ease-in-out}.feature:hover{-webkit-transform:translateY(-5px);-ms-transform:translateY(-5px);transform:translateY(-5px)}.feature:hover h3{color:#1a8dba}.feature:hover .feature-img{border:1px solid #ccc;border-bottom:none}.feature:hover .no-border{border:none}.feature:hover:before{-webkit-transform:translateY(5px);-ms-transform:translateY(5px);transform:translateY(5px)}@media (max-width: 1147px){.feature:hover h3{color:#6e818a}.feature:hover .feature-img{border:1px solid #ddd;border-bottom:none}.feature:hover .no-border{border:none}}.feature .feature-img{padding-top:52%;width:100%;height:auto;border:1px solid #ddd;border-bottom:none}.feature .feature-img.custom-css{background:url("../images/custom-css.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.custom-css{background-image:url("../images/custom-css@2x.jpg")}}.feature .feature-img.wordpress-connect{background:url("../images/wordpress-connect.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.wordpress-connect{background-image:url("../images/wordpress-connect@2x.jpg")}}.feature .feature-img.wordpress-stats{background:url("../images/wordpress-stats.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.wordpress-stats{background-image:url("../images/wordpress-stats@2x.jpg")}}.feature .feature-img.no-border{border:none;padding-bottom:1px}.feature-description{display:block;padding:1em 1.07143em 1.07143em;border:1px solid #ddd;background:#f5f5f5}.feature:hover .feature-description{background:#fff;border-color:#ccc}@media (max-width: 1147px){.feature:hover .feature-description{border:1px solid #ddd;background:#f5f5f5}}@media (max-width: 900px){.feature-description{min-height:115px}}.cat{clear:both;margin-bottom:23px}.cat h3{font-size:24px;font-weight:300;margin:0 6px 13px 0;text-align:right}.cat .clear{clear:both}.module-grid{text-align:center}.module-grid h2{margin:1em 0}@media (max-width: 530px){.module-grid h2{padding-top:16px;margin-top:0;font-size:25px}}#module-search{position:relative;width:100%;max-width:40.71429em;margin:0 auto 1.07143em;overflow:hidden}#jetpack-search{margin:0;padding:11px 16px 11px 16px;width:100%;border:1px solid #c9ced0;border-radius:3px;background:#fff;color:#5c6671;line-height:1.3}#jetpack-search:focus{color:#5c6671;outline:none}#jetpack-search:focus+label{background:transparent;opacity:0}#jetpack-search::-webkit-input-placeholder{color:#a8acae}#jetpack-search :-moz-placeholder{color:#a8acae}#jetpack-search::-moz-placeholder{color:#a8acae}#jetpack-search:-ms-input-placeholder{color:#a8acae}#jetpack-search+label{position:absolute;top:1px;left:1px;bottom:1px;width:48px;color:#abafb1;text-indent:-9999px;pointer-events:none;border-radius:3px;transition:all .2s ease-in-out}#jetpack-search+label:after{content:'\f400';position:absolute;left:11px;text-align:left;top:4px;font-size:1.71429em;font-weight:normal;font-family:"genericons"}.jp-filter{margin-bottom:2.85714em;color:#6f7476}.jp-filter a{display:inline-block;position:relative;padding:0.76923em 1.46154em;color:#aaa;font:600 0.92857em/1 "Open Sans", Helvetica, Arial, sans-serif;text-shadow:0 -1px 1px rgba(255,255,255,0.2);background:#eee;border-radius:3px;background-clip:padding-box}.jp-filter a.selected,.jp-filter a:hover,.jp-filter a:focus{color:#efefef;text-shadow:0 -1px 1px rgba(0,0,0,0.2);background:#6f7476}@media (max-width: 530px){.jp-filter a{padding:0.76em 1em}}.module{display:block;padding:0.71429em 1.07143em 1em;text-align:right;border:1px solid #dae0e2;background:#fff;box-shadow:0 0 0 rgba(0,0,0,0.03);transition:opacity 2s ease-in}.module:hover{border-color:#8ac9e8;background:#f8fcfe}.module:nth-of-type(n+10){display:none}.module h3{cursor:pointer;margin:0 0 0.5em;color:#1a8dba;font-size:1.14286em;line-height:1.4em;font-weight:700}.module p{margin:0;color:#686f72;font-size:0.85714em}.module:hover,.module:focus{border-color:#8ac9e8;background:#f8fcfe}.module:nth-of-type(n+10){display:none}.module.active{border-color:#2ea2cc;box-shadow:inset -4px 0 0 #2ea2cc}.module.active:hover{border-color:#69bedd;box-shadow:inset -4px 0 0 #69bedd}@media (max-width: 1147px){.cat .module:nth-child(3n+1){margin:.75% 1.5% .75% 0}.cat .module:nth-child(3n - 1){margin-right:0}}@media (max-width: 900px){.cat .module{margin:1% 2% 1% 0}.cat .module:nth-child(2n+1){margin:1% 2% 1% 0}.cat .module:nth-child(2n+0){margin-right:0}}@media (max-width: 530px){.cat .module{margin:5px 0}.cat .module:nth-child(2n+1){margin-right:0}.cat .module:nth-child(2n+0){margin-right:0}}@media (max-width: 900px){.module{margin:1% 2% 1% 0;width:49%}.module:nth-child(3n+1){margin-right:2%}.module:nth-child(2n+1){margin-right:0}}@media (max-width: 530px){.module{margin:5px 0;width:100%}.module:nth-child(3n+1){margin-right:0}.module:nth-child(2n+1){margin-right:0}}.new{position:relative}.new:after{content:'NEW';position:absolute;top:-8px;left:-8px;padding-top:10px;width:32px;height:32px;color:#fff;font-size:8px;font-weight:800;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,0.2);background:url("../images/new-badge.svg") center center no-repeat;background-size:100%;border-radius:50%}.paid{display:inline-block;position:relative;top:5px;margin-right:10px;padding:1px 4px 0 6px;height:13px;color:#fff;font:700 10px/1 "Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 1px 0 rgba(0,0,0,0.05);background:#d0d0d0;vertical-align:top}.paid:before,.paid:after{position:absolute;top:0;left:100%;font:normal 14px/14px "genericons"}.paid:before{content:'\f503';color:#d0d0d0;text-shadow:none}.paid:after{content:'\f428';margin-left:-5px;font-size:11px}.rtl .paid:before{content:'\f501'}.load-more{margin:2.71429em 0 6.15385em}.set{display:none}.show.set{display:block}.loading{bottom:50%;position:absolute;top:50%;width:100%}.loading span{color:#999}.modal{background:#fff;position:fixed;top:52px;bottom:20px;left:20px;right:20px;margin-right:160px;display:none;box-shadow:0 1px 20px 5px rgba(0,0,0,0.1);z-index:500}.modal .close{position:absolute;top:0;left:0;font:300 1.71429em "genericons" !important;color:#777;content:'\f405';display:inline-block;padding:0.28571em 0.71429em 0.42857em;z-index:5}.modal .close:hover{background:#eee;opacity:0.8}.modal .close:active{background:#eee;opacity:0.4}.modal #jp-post-flair{display:none}.modal .content-container{position:absolute;top:0;left:0;bottom:0;right:0;overflow:auto;padding:2.14286em}.modal .content{margin:0 auto;max-width:900px;text-align:right}.modal h2{text-align:right;margin-top:0;color:#5d6d74;font:300 32px "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 530px){.modal h2{font-size:26px}}.modal h5{clear:right}.modal p{font-size:1.23077em}.modal footer{position:absolute;right:0;bottom:0;width:100%;padding:12px 20px;border-top:1px solid #ddd;background:#fff;text-align:left}.modal footer ul{margin:0}.modal footer li{display:inline-block;margin:0}.modal .button-secondary,.modal .button-primary:active{vertical-align:baseline}@media (max-width: 900px){.modal{bottom:5%;margin-right:36px;font-size:80%}.modal .content{top:38px}}@media (max-width: 782px){.modal{top:66px;margin-right:0}}@media (max-width: 600px){.modal{top:10px;left:10px;bottom:10px;right:10px}}.jp-info-img{float:left;margin:0 30px 30px 0}.jp-info-img img{border:1px solid #ddd;max-width:100%;height:auto}.jp-info-img img:first-child{margin-top:0}@media (max-width: 782px){.jp-info-img{float:none;margin:0 0 15px}}.content-container.modal-footer{bottom:53px}.shade{background:#000;bottom:0;cursor:pointer;display:none;right:0;opacity:0.2;position:fixed;left:0;top:0;z-index:11}.entry-title,.page-template-default h1{margin-top:0.61111em;color:#5d6d74;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 530px){.entry-title,.page-template-default h1{font-size:2em}}.blog h3,.single h3,.page-template-default h2{margin-top:0.61111em;color:#5d6d74;font:300 1.9em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 1px #fff}@media (max-width: 530px){.blog h3,.single h3,.page-template-default h2{font-size:1.4em}}.page-template-default p{line-height:1.71429em}.blog .type-post,.page-template-default .type-page,.single .type-post,.single .type-jetpack_support{float:right;width:70%}.footer{margin-top:1.42857em;position:relative;padding:10em 0 4.28571em;text-align:center}.footer:before,.footer:after{content:'';position:absolute;right:0;pointer-events:none}.footer:before{top:0;margin-top:-1px;width:100%;height:195px}.footer:after{bottom:0;width:100%;height:50px;background:url("../images/the-footcloud.svg") center bottom no-repeat;background-size:auto 45px;z-index:1}.footer .download-jetpack{margin-bottom:33px}@media (max-width: 1147px){.footer{padding-top:165px;padding-bottom:0}.footer:before{background-size:160% auto}.footer:after{display:none}.footer ul{float:none;overflow:hidden}}@media (max-width: 900px){.footer{padding-top:146px}}@media (max-width: 782px){.footer{margin-top:0}}@media (max-width: 530px){.footer{margin-top:0;padding-top:135px}}@media (max-width: 320px){.footer{padding-top:76px}}.footer nav{max-width:100%}.footer nav a,.footer nav a:visited{padding:4px 6px;color:#999}.footer nav a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#81A844}@media (max-width: 1147px){.footer nav{border:none;padding:0}.footer nav a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#fff}}@media (max-width: 530px){.footer nav li{display:block;float:none;margin:0;text-align:right}.footer nav a{display:block;padding:0 16px;line-height:44px}}.primary{padding:25px 15px 10px 15px;border-bottom:1px solid #eee}.secondary-footer{margin:0 auto}.secondary-footer li{margin-left:5px}@media (max-width: 1147px){.secondary-footer{margin:0 30px;padding:8px 15px 30px}}@media (max-width: 530px){.secondary-footer{margin:0;padding:0;border:none;font-weight:400}.secondary-footer a{border-top:1px solid #eee}}.footer .a8c-attribution{margin:0;padding:0 6px;color:#bbb;font-size:0.78571em;font-family:"Gill Sans","Gill Sans MT","Open Sans",Helvetica,Arial,sans-serif;text-transform:uppercase}.footer .a8c-attribution a{display:inline-block;position:relative;padding:4px 16px;left:9999px;outline:0}.footer .a8c-attribution a:after{content:'A';position:absolute;top:2px;left:-9999px;height:100%;color:#999;font-size:1.54545em;font-family:"automatticons";text-align:center}.footer .a8c-attribution a:hover:after{-webkit-animation:candy .4s ease-in-out;animation:candy .4s ease-in-out}.secondary{padding:10px 15px 0 15px}.jetpack-message{background:#8eb74e;border:1px solid #73963d;margin:33px auto 0;max-width:90%;position:relative;z-index:2}.jetpack-message.is-opt-in{margin:50px 0 0;max-width:100%;padding:10px 15px;background:#fff;border:0;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);font-size:13px;text-align:center}.subhead .jetpack-message.is-opt-in{margin:0;padding-bottom:0;background:transparent;box-shadow:none}.subhead .jetpack-message.is-opt-in .jp-button,.subhead .jetpack-message.is-opt-in .jp-button--settings{display:inline-block}.jetpack-message.is-opt-in p{color:#3c4549}.jetpack-message.is-opt-in .jp-button,.jetpack-message.is-opt-in .jp-button--settings{margin-top:15px;display:none}.jetpack-message h4{color:#fff;margin:0}.jetpack-message p{color:#fff;margin:0;opacity:0.7}.jetpack-message .squeezer{padding:23px 80px 23px 23px;position:relative;text-align:right}.jetpack-message .squeezer:before{color:#fff;content:'\f418';font-family:'Genericons';font-size:33px;height:33px;right:25px;opacity:0.6;position:absolute;top:23px;top:calc( 50% - 22px )}@media (max-width: 530px){.jetpack-message .squeezer{padding:23px}.jetpack-message .squeezer:before{display:none}}.jetpack-message .squeezer a{color:#FFF;border-bottom:1px solid #D5E4BD}.jetpack-message .squeezer a:hover{border-bottom:1px solid #F1F6E9}.jetpack-message.error .squeezer:before,.jetpack-message.jetpack-err .squeezer:before{content:'\f414'}.configure-module .jetpack-message{max-width:100%}.modules h3.icon,.jetpack-modules .info a{width:auto}.modules h3.icon:before,.jetpack-modules .info a:before{display:inline-block;position:relative;top:1px;right:-3px;margin-left:2px;opacity:0.8;font:normal 20px "genericons";vertical-align:top}.jetpack-modules .info a:before{margin-top:1px}.latex:before,.jetpack-modules #latex .info a:before{content:'\f408'}.carousel:before,.jetpack-modules #carousel .info a:before{content:'\f102'}.modules h3.contact-form:before,.jetpack-modules #contact-form .info a:before{content:'\f175';font:normal 20px "dashicons"}.modules h3.custom-css:before,.jetpack-modules #custom-css .info a:before{content:'\f100';font:normal 20px "dashicons"}.modules h3.enhanced-distribution:before,.jetpack-modules #enhanced-distribution .info a:before{content:'\f237';font:normal 20px "dashicons"}.modules h3.widgets:before,.jetpack-modules #widgets .info a:before{content:'\f116';font:normal 20px "dashicons"}.modules h3.gravatar-hovercards:before,.jetpack-modules #gravatar-hovercards .info a:before{content:'G';font-family:"automatticons"}.infinite-scroll:before,.jetpack-modules #infinite-scroll .info a:before{content:'\f408'}.comments:before,.jetpack-modules #comments .info a:before{content:'\f108'}.sso:before,.jetpack-modules #sso .info a:before{content:'\f205'}.json-api:before,.jetpack-modules #json-api .info a:before{content:'\f415'}.likes:before,.jetpack-modules #likes .info a:before{content:'\f408'}.markdown:before,.jetpack-modules #markdown .info a:before{content:'\f462'}.minileven:before,.jetpack-modules #minileven .info a:before{content:'\f453'}.manage:before,.jetpack-modules #manage .info a:before{content:'\f205'}.monitor:before,.jetpack-modules #monitor .info a:before{content:'\f468'}.notes:before,.jetpack-modules #notes .info a:before{content:'\f300'}.omnisearch:before,.jetpack-modules #omnisearch .info a:before{content:'\f400'}.photon:before,.jetpack-modules #photon .info a:before{content:'\f403'}.post-by-email:before,.jetpack-modules #post-by-email .info a:before{content:'\f410'}.protect:before,.jetpack-modules #protect .info a:before{content:'\f470';position:relative;top:-1px}.modules h3.publicize:before,.jetpack-modules #publicize .info a:before{content:'\f237';font:normal 20px "dashicons"}.related-posts:before,.jetpack-modules #related-posts .info a:before{content:'\f420'}.sharedaddy:before,.jetpack-modules #sharedaddy .info a:before{content:'\f415'}.shortcodes:before,.jetpack-modules #shortcodes .info a:before{content:'\f100'}.verification-tools:before,.jetpack-modules #verification-tools .info a:before{content:'\f425'}.after-the-deadline:before,.jetpack-modules #after-the-deadline .info a:before{content:'\f411'}.subscriptions:before,.jetpack-modules #subscriptions .info a:before{content:'\f410'}.tiled-gallery:before,.jetpack-modules #tiled-gallery .info a:before{content:'\f103'}.modules h3.vaultpress:before,.jetpack-modules #vaultpress .info a:before{content:'V';font-family:"automatticons"}.videopress:before,.jetpack-modules #videopress .info a:before{content:'\f104'}.modules h3.widget-visibility:before,.jetpack-modules #widget-visibility .info a:before{content:'\f116';font:normal 20px "dashicons"}.stats:before,.jetpack-modules #stats .info a:before{content:'\f205'}.shortlinks:before,.jetpack-modules #shortlinks .info a:before{content:'\f107'}.modules h3.custom-content-types:before,.jetpack-modules #custom-content-types .info a:before{content:'\f498';font:normal 20px "dashicons"}.modules h3.site-icon:before,.jetpack-modules #site-icon .info a:before{content:'\f475'}@media (max-width: 782px){.blog .type-post,.page-template-default .type-page,.single .type-post,.single .type-jetpack_support{width:100%}}@media (max-width: 600px){.clouds-sm{display:none}}@media (max-width: 530px){.wrap.inner.jp-support .jp-support-column-left{width:100%}.wrap.inner.jp-support .jp-support-column-left .widget-text{margin-left:0;width:100%}.wrap.inner.jp-support .jp-support-column-right{width:100%}}@media screen and (max-width: 400px){.jp-frame .header-nav{padding-bottom:10px}.jp-frame .header-nav li{line-height:30px}.jp-frame .header-nav .jetpack-logo{width:100%;text-align:center}.jp-frame .header-nav .jetpack-modules{margin:0;width:50%;text-align:left;padding:0 5px}.jp-frame .header-nav .jetpack-modules+.jetpack-modules{text-align:right}}@media (max-width: 320px){.jetpack_page_jetpack_modules .wrap{padding:0 0 1em}}.page-content.configure{margin-top:0}.configure .frame.top{border:none;box-shadow:none;padding-top:1.42857em;position:relative;top:auto}.configure .frame.top.fixed{background:#f9f9f9;border-bottom:1px solid #e9e9e9;padding-right:160px;margin-top:-6px;position:fixed;left:0;top:32px;width:100%;z-index:4;box-shadow:0 2px 2px -2px #eee}@media (max-width: 782px){.configure .frame.top.fixed{border:none;box-shadow:none;padding-top:1.42857em;position:relative;top:auto}}@media (max-width: 600px){.configure .frame.top.fixed{top:0}}.configure .frame.top .tablenav.top{float:right}@media (max-width: 900px){.configure .frame.top .tablenav.top .actions{display:block}}@media (max-width: 782px){.configure .frame.top .tablenav.top .actions{margin-top:6px}}.jp-frame-top-fixed .configure{padding-top:94px}.filter-search{display:none;float:left;margin-top:10px}@media (max-width: 782px){.filter-search{display:block}}@media (max-width: 530px){.filter-search{display:none}}.module-actions.landing-page{float:left;margin-left:15px}.module-actions.landing-page a{font-size:0.6em}.table-bordered.jetpack-modules{border:none;margin-bottom:0}.table-bordered.jetpack-modules tr.jetpack-module th{border-right:0;padding:14px 4px 0}.table-bordered.jetpack-modules tr.jetpack-module th input{display:block}.table-bordered.jetpack-modules tr.jetpack-module:hover .genericon{display:inline-block}.table-bordered.jetpack-modules tr.jetpack-module:hover td .row-actions span a{opacity:1}.table-bordered.jetpack-modules tr.jetpack-module.active th,.table-bordered.jetpack-modules tr.jetpack-module.active td{background:#f7fcfe}.table-bordered.jetpack-modules tr.jetpack-module.active th{border-right:4px solid #2ea2cc;padding-right:0px}.table-bordered.jetpack-modules tr.jetpack-module.active td:first-child{border-right:4px solid #2ea2cc}.table-bordered.jetpack-modules tr.jetpack-module.unavailable{opacity:0.3}.table-bordered.jetpack-modules tr.jetpack-module.unavailable input{display:none}.table-bordered.jetpack-modules tr.jetpack-module#vaultpress{opacity:1}.table-bordered.jetpack-modules tr.jetpack-module th,.table-bordered.jetpack-modules tr.jetpack-module td{background:#fff;margin:0;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1)}.table-bordered.jetpack-modules tr.jetpack-module td{padding:10px 14px 8px 10px;line-height:25px}.table-bordered.jetpack-modules tr.jetpack-module td:first-child{border-right:4px solid #fff}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{float:left;padding:0 0 1px;visibility:visible}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span{margin-right:5px}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span a{opacity:0}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span a:focus{opacity:1}@media (max-width: 530px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:none}}@media (max-width: 782px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:block;padding-right:10px;visibility:visible}}.table-bordered.jetpack-modules>thead>tr>th{border:0;vertical-align:middle}.table-bordered.jetpack-modules>thead>tr>th:last-child{padding-left:0}@media (max-width: 782px){.table-bordered.jetpack-modules>thead>tr>th:last-child{padding-right:0}}.table-bordered.jetpack-modules td{background:#fff}.table-bordered.jetpack-modules #doaction{margin-top:0}@media (max-width: 782px){.table-bordered.jetpack-modules #doaction{padding:10px 7px}}.table-bordered.jetpack-modules .checkall{margin-top:1px}.table-bordered.jetpack-modules .filter-search{margin-top:8px}.table-bordered.jetpack-modules .genericon{color:#999;display:none;margin:7px 3px 0}@media (max-width: 900px){.table-bordered.jetpack-modules .genericon{display:inline-block}}.table-bordered.jetpack-modules .med{width:70px}.table-bordered.jetpack-modules .sm{width:30px}@media (max-width: 782px){.table-bordered.jetpack-modules .check-column{width:50px}}.fixed-top .check-column{padding:8px 10px 0 10px;width:2.2em}.wrap{margin:0;padding:0 1.5em 1em;overflow:hidden}.wrap h2{font-size:24px;font-weight:400}.wrap .manage-left{float:right;margin:0;padding:0;width:63%}.wrap .manage-left table{width:100%}.wrap .manage-left th{font-weight:400}@media (max-width: 782px){.wrap .manage-left{width:100%}}.wrap .manage-right{margin:0;padding:0;float:left;width:35%;z-index:1}.wrap .manage-right p{font-size:12px;font-weight:bold;color:#bbb;padding-top:2px;text-transform:uppercase;letter-spacing:1px;clear:right}.wrap .manage-right .bumper{margin-right:33px}.wrap .manage-right.show{display:block;position:fixed;overflow-y:auto;overflow-x:hidden;position:absolute}.wrap .manage-right .search-bar{margin-bottom:18px;max-width:300px}.wrap .manage-right p.search-box{float:none;height:auto;margin-bottom:0;position:relative}.wrap .manage-right p.search-box input[type='search']{padding:0 8px;width:90%;line-height:initial}@media (max-width: 782px){.wrap .manage-right p.search-box input[type='search']{float:right;padding:9px 8px}}.wrap .manage-left p.search-box input[type="submit"]{display:none}.wrap .manage-right .button-group .button{outline:none}.wrap .manage-right .subsubsub{margin:0;padding:0}.wrap .manage-right .subsubsub a{padding:0;line-height:inherit}.wrap .manage-right .subsubsub .current{padding:1px 5px;border-radius:2px;margin-right:-5px;background:#0D72B2;color:#FFF}.wrap .manage-right .subsubsub .current .count{color:#BCD7E7;font-weight:200}.wrap .manage-right .subsubsub li{display:block;text-align:right}@media (max-width: 782px){.wrap .manage-right{background:#fff;bottom:0;display:none;min-width:300px;position:fixed;left:0;top:0;z-index:13;box-shadow:0 1px 20px 5px rgba(0,0,0,0.1)}.wrap .manage-right .bumper{margin:13px}.wrap .manage-right .navbar-form{margin:0;padding:0}}.configure-module p{font-size:14px}.configure-module p.success,.configure-module p.error{color:#fff;padding:10px}.configure-module p.success{background-color:#81a844}.configure-module p.error{background-color:#d94f4f}.protect-status p{font-size:16px}.protect-status strong{display:inline-block;margin-top:10px;background:#fff;padding:10px;border:1px #ddd solid;font-size:16px;color:#000;max-width:100%}.protect-status.attn{color:#d94f4f}.protect-status.working{color:#81a844}#non-editable-whitelist{margin-top:15px}.protect-whitelist textarea{width:100%;min-height:150px}#editable-whitelist .whitelist-table{width:100%}.configure-module input[disabled]{opacity:.5}.configure-module input.button-primary{font-weight:bold}.whitelist-table{border-top:1px solid;border-left:1px solid;border-color:#ddd;background-color:#fff}.whitelist-table td,.whitelist-table th{padding:10px;margin:0;border-bottom:1px solid;border-right:1px solid;border-color:#ddd;font-size:14px}.whitelist-table th.heading{font-weight:bold;color:#5d6d74;text-align:right;background-color:#eee}.whitelist-table td.item-actions{border-right:none;text-align:left}.whitelist-table .toolbar{padding:0}.whitelist-table .add-btn{text-align:center;width:10%;border-right:1px #ddd solid}.ip-address,.enter-ip{width:90%;text-align:right;vertical-align:middle}.delete-ip-address{text-align:center;border:0;background:transparent;color:#6f7476;box-shadow:none;font-size:20px;margin:0;padding:0;cursor:pointer;border-radius:2px}.delete-ip-address:hover{background:#eee}.toolbar div{float:right;padding:10px}@media only screen and (min-width: 1100px){#non-editable-whitelist{width:28%;float:left;margin-top:0}.protect-whitelist{width:65%;float:right}}@media only screen and (max-width: 1130px){.enter-ip input[type="text"]{max-width:175px}}@media only screen and (max-width: 1250px) and (min-width: 1065px), (max-width: 730px) and (min-width: 600px){.enter-ip{width:85%}.add-btn{width:15%}}@media only screen and (max-width: 782px){.add-btn{text-align:left}.add-btn .ip-add{margin-top:4px;margin-bottom:3px}}@media only screen and (max-width: 730px){.add-btn{text-align:center}}@media only screen and (max-width: 665px) and (min-width: 600px){.enter-ip input[type="text"]{max-width:165px}}@media only screen and (max-width: 600px){.toolbar div{width:100%}.add-btn{border-top:1px #ddd solid}.enter-ip{text-align:center}.enter-ip strong{display:block;margin-bottom:5px}.enter-ip input[type="text"]{width:100%;max-width:100%}.add-btn input,.enter-ip .button{width:50%;margin:0 auto}.enter-ip .button{margin-top:10px}}@media only screen and (max-width: 400px){.protect-status strong{font-size:12px;overflow:auto}.add-btn input,.enter-ip .button{width:100%}}.jp-content .hide{display:none}.jp-content .pointer{cursor:pointer}.jp-content .landing{margin:0 auto;z-index:2;position:relative}.jp-content h1{font:300 2.57143em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;position:relative;z-index:3;width:100%;text-align:center}.jp-content h1.success{color:#81a844}.jp-content .footer{padding-top:0;margin-top:0;background-image:none}.jp-content .footer:before{height:inherit}.jp-content .more-info:before{content:none}.landing .wpcom-connect{min-height:400px}.wpcom-connect .j-col{padding:0}.wpcom-connect .connect-desc{padding-left:25px}.wpcom-connect .connect-btn{text-align:center}.module-grid h2{color:#000;font:300 2.57143em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif}.download-jetpack{margin-top:1em !important}#jump-start-area{margin-top:35px;padding-right:60px;padding-left:60px;background:#fefefe;border:1px #dae0e2 solid;padding-bottom:20px}#jump-start-area #jumpstart-cta,#jump-start-area .jumpstart-desc{padding:0}#jump-start-area p{font-size:14px;line-height:185%}#jump-start-area .spinner{float:none;margin:0 auto;position:absolute;bottom:0;height:100%;width:100%;background-position:50% 56%;background-color:rgba(254,254,254,0.99);display:block;opacity:.9}.jumpstart-message p{padding-left:25px}.jumpstart-desc{text-align:right}#jumpstart-cta{text-align:center}.dismiss-jumpstart{color:#999;font-size:14px}#jumpstart-cta .button,#jumpstart-cta .button-primary{margin:1em;font-size:18px;height:45px !important;padding:8px 15px 1px}#jumpstart-cta .button-primary{display:block;margin:35px 20px 5px 20px}#jp-config-list{position:relative;padding-top:15px;padding-bottom:15px;margin-right:-15px;margin-left:-15px}#jp-config-list .j-col{padding:15px}#jp-config-list strong{display:inline-block}#jp-config-list small{display:block;margin-top:5px;line-height:150%}#jp-config-list .close{position:absolute;top:10px;left:0;text-transform:uppercase;font-weight:bold;display:block;z-index:5}.jp-config-status{text-transform:uppercase;font-size:10px;font-weight:bold;line-height:100%;color:#fff;background:#9fbd72;border-radius:2px;padding:2px 4px;display:inline-block}.miguel{display:none;position:fixed;opacity:.35;bottom:-200px;right:0;z-index:1;-webkit-animation:miguel 3.4s 0s ease-in-out;animation:miguel 3.4s 0s ease-in-out}.miguel:nth-child(2){right:49%;width:120px;height:131px;-webkit-animation-duration:2.4s;animation-duration:2.4s;-webkit-animation-delay:0s;animation-delay:0s}.miguel:nth-child(3){right:23%;width:60px;height:66px;-webkit-animation-duration:4.5s;animation-duration:4.5s;-webkit-animation-delay:0s;animation-delay:0s}@-webkit-keyframes "miguel"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(900px, -900px, 0px);transform:translate3d(900px, -900px, 0px)}}@keyframes "miguel"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(900px, -900px, 0px);transform:translate3d(900px, -900px, 0px)}}@media (max-width: 1147px){.jp-content .landing{padding:0 2em}.jp-content .footer{padding-top:1.5em}}@media (max-width: 782px){#jumpstart-cta .button-primary{margin:10px 0 5px 0}#jump-start-area .spinner{background-position:50% 35%}}@media (max-width: 530px){.jp-content .landing{padding:0 .5em}#jump-start-area{padding:0 1em}.jumpstart-message p{padding-left:0}#jumpstart-cta .button-primary{margin:0 0 5px 0;padding-bottom:10px}.footer .a8c-attribution a:after{top:6px}}.nav-horizontal:before,.features:before,.modules:before,.load-more:before,.nav-horizontal:after,.features:after,.modules:after,.load-more:after{content:"";display:table}.nav-horizontal:after,.features:after,.modules:after,.load-more:after{clear:both}
2
 
3
  /*# sourceMappingURL=jetpack-admin.min.css.map */
css/jetpack-admin.css CHANGED
@@ -2,6 +2,172 @@
2
  * Do not modify this file directly. It is compiled Sass code.
3
  * @see: jetpack/_inc/jetpack.scss
4
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  body,
6
  button,
7
  input,
@@ -257,7 +423,7 @@ img {
257
  }
258
  @media (max-width: 1147px) {
259
  .download-jetpack {
260
- font-size: 1.5em;
261
  }
262
  .download-jetpack:before {
263
  top: -1px;
@@ -378,7 +544,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
378
  }
379
 
380
  .jp-content {
381
- background: #81a844;
382
  margin: 0;
383
  height: auto;
384
  min-height: 100%;
@@ -445,7 +611,6 @@ ul#adminmenu a.toplevel_page_jetpack:after {
445
  }
446
 
447
  .jetpack_page_jetpack_modules .header-nav {
448
- max-width: auto;
449
  margin: 0;
450
  }
451
  .jetpack_page_jetpack_modules .page-content {
@@ -479,6 +644,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
479
  .header {
480
  left: 0;
481
  right: 0;
 
482
  }
483
 
484
  .header-nav li {
@@ -493,11 +659,16 @@ ul#adminmenu a.toplevel_page_jetpack:after {
493
  position: relative;
494
  width: 214px;
495
  margin-right: 6px;
496
- background-size: 183px 32px;
 
 
497
  color: #fff;
498
  line-height: 60px;
499
  font-weight: normal;
 
 
500
  text-indent: -9999px;
 
501
  }
502
  .header-nav .jetpack-logo a:before {
503
  content: '';
@@ -506,10 +677,11 @@ ul#adminmenu a.toplevel_page_jetpack:after {
506
  left: 0;
507
  width: 100%;
508
  height: 100%;
509
- background: url(../images/jetpack-logo.png) center center no-repeat;
510
- background: url(../images/jetpack-logo.svg) center center no-repeat, none;
511
  background-size: 183px 32px;
512
  }
 
 
 
513
 
514
  .main-nav {
515
  float: left;
@@ -722,7 +894,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
722
  }
723
  @media (max-width: 530px) {
724
  .clouds-sm {
725
- height: 90;
726
  }
727
  }
728
 
@@ -755,11 +927,10 @@ ul#adminmenu a.toplevel_page_jetpack:after {
755
 
756
  .featured h2,
757
  .module-grid h2 {
758
- margin-top: 0.61111em;
759
  color: #5d6d74;
760
- font: 300 2.57143em/1.4em "proxima-nova", "Open Sans", Helvetica, Arial, sans-serif;
761
  text-align: center;
762
- text-shadow: 0 1px 1px #fff;
763
  }
764
  @media (max-width: 900px) {
765
  .featured h2,
@@ -943,11 +1114,12 @@ ul#adminmenu a.toplevel_page_jetpack:after {
943
  text-align: center;
944
  }
945
  .module-grid h2 {
946
- margin: 1.25em 0 0.69444em;
947
  }
948
  @media (max-width: 530px) {
949
  .module-grid h2 {
950
- margin-top: 16px;
 
951
  font-size: 25px;
952
  }
953
  }
@@ -1040,7 +1212,6 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1040
  }
1041
 
1042
  .module {
1043
- cursor: pointer;
1044
  display: block;
1045
  padding: 0.71429em 1.07143em 1em;
1046
  text-align: left;
@@ -1057,6 +1228,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1057
  display: none;
1058
  }
1059
  .module h3 {
 
1060
  margin: 0 0 0.5em;
1061
  color: #1a8dba;
1062
  font-size: 1.14286em;
@@ -1275,6 +1447,9 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1275
  font-size: 26px;
1276
  }
1277
  }
 
 
 
1278
  .modal p {
1279
  font-size: 1.23077em;
1280
  }
@@ -1407,8 +1582,6 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1407
  position: relative;
1408
  padding: 10em 0 4.28571em;
1409
  text-align: center;
1410
- background-color: #81a844;
1411
- background-image: linear-gradient(top, #8eb74e, #81a844);
1412
  }
1413
  .footer:before, .footer:after {
1414
  content: '';
@@ -1421,7 +1594,6 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1421
  margin-top: -1px;
1422
  width: 100%;
1423
  height: 195px;
1424
- background: url("../images/the-undercloud.svg") center top repeat-x;
1425
  }
1426
  .footer:after {
1427
  bottom: 0;
@@ -1474,17 +1646,16 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1474
 
1475
  .footer nav {
1476
  max-width: 100%;
1477
- color: #c8e3a2;
1478
  }
1479
  .footer nav a,
1480
  .footer nav a:visited {
1481
  padding: 4px 6px;
1482
- color: #c8e3a2;
1483
  }
1484
  .footer nav a:hover, .footer nav a:focus,
1485
  .footer nav a:visited:hover,
1486
  .footer nav a:visited:focus {
1487
- color: #fff;
1488
  }
1489
  @media (max-width: 1147px) {
1490
  .footer nav {
@@ -1513,7 +1684,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1513
 
1514
  .primary {
1515
  padding: 25px 15px 10px 15px;
1516
- border-bottom: 1px solid #6c954d;
1517
  }
1518
 
1519
  .secondary-footer {
@@ -1536,16 +1707,20 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1536
  font-weight: 400;
1537
  }
1538
  .secondary-footer a {
1539
- border-top: 1px solid #7ba141;
1540
  }
1541
  }
1542
 
1543
  .footer .a8c-attribution {
1544
- margin-top: 6px auto 0;
1545
  padding: 0 6px;
 
1546
  font-size: 0.78571em;
1547
  font-family: "Gill Sans", "Gill Sans MT", "Open Sans", Helvetica, Arial, sans-serif;
1548
  text-transform: uppercase;
 
 
 
1549
  }
1550
  .footer .a8c-attribution a {
1551
  display: inline-block;
@@ -1560,7 +1735,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1560
  top: 2px;
1561
  right: -9999px;
1562
  height: 100%;
1563
- color: #fff;
1564
  font-size: 1.54545em;
1565
  font-family: "automatticons";
1566
  text-align: center;
@@ -1569,15 +1744,9 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1569
  -webkit-animation: candy .4s ease-in-out;
1570
  animation: candy .4s ease-in-out;
1571
  }
1572
- @media (max-width: 1147px) {
1573
- .footer .a8c-attribution {
1574
- display: none;
1575
- }
1576
- }
1577
 
1578
  .secondary {
1579
- padding: 14px 15px 0 15px;
1580
- border-top: 1px solid #8eb345;
1581
  }
1582
 
1583
  .jetpack-message {
@@ -1659,6 +1828,10 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1659
  content: '\f414';
1660
  }
1661
 
 
 
 
 
1662
  .modules h3.icon,
1663
  .jetpack-modules .info a {
1664
  width: auto;
@@ -1754,6 +1927,11 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1754
  content: '\f453';
1755
  }
1756
 
 
 
 
 
 
1757
  .monitor:before,
1758
  .jetpack-modules #monitor .info a:before {
1759
  content: '\f468';
@@ -1779,6 +1957,13 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1779
  content: '\f410';
1780
  }
1781
 
 
 
 
 
 
 
 
1782
  .modules h3.publicize:before,
1783
  .jetpack-modules #publicize .info a:before {
1784
  content: '\f237';
@@ -1866,6 +2051,11 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1866
  width: 100%;
1867
  }
1868
  }
 
 
 
 
 
1869
  @media (max-width: 530px) {
1870
  .wrap.inner.jp-support .jp-support-column-left {
1871
  width: 100%;
@@ -1878,6 +2068,27 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1878
  width: 100%;
1879
  }
1880
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1881
  @media (max-width: 320px) {
1882
  .jetpack_page_jetpack_modules .wrap {
1883
  padding: 0 0 1em;
@@ -2124,8 +2335,9 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2124
  .wrap .manage-right {
2125
  margin: 0;
2126
  padding: 0;
2127
- position: absolute;
2128
- right: 0;
 
2129
  width: 35%;
2130
  z-index: 1;
2131
  }
@@ -2219,6 +2431,467 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2219
  }
2220
  }
2221
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2222
  .nav-horizontal:before, .features:before, .modules:before, .load-more:before, .nav-horizontal:after, .features:after, .modules:after, .load-more:after {
2223
  content: "";
2224
  display: table;
2
  * Do not modify this file directly. It is compiled Sass code.
3
  * @see: jetpack/_inc/jetpack.scss
4
  */
5
+ .j-row {
6
+ width: 100%;
7
+ margin: 0 auto;
8
+ }
9
+ .j-row:before, .j-row:after {
10
+ content: " ";
11
+ display: table;
12
+ }
13
+ .j-row:after {
14
+ clear: both;
15
+ }
16
+
17
+ .j-col {
18
+ padding: 0.85em;
19
+ width: 100%;
20
+ float: left;
21
+ position: relative;
22
+ }
23
+
24
+ @media only screen {
25
+ .j-sm-1 {
26
+ width: 8.33333%;
27
+ }
28
+
29
+ .j-sm-2 {
30
+ width: 16.66667%;
31
+ }
32
+
33
+ .j-sm-3 {
34
+ width: 25%;
35
+ }
36
+
37
+ .j-sm-4 {
38
+ width: 33.33333%;
39
+ }
40
+
41
+ .j-sm-5 {
42
+ width: 41.66667%;
43
+ }
44
+
45
+ .j-sm-6 {
46
+ width: 50%;
47
+ }
48
+
49
+ .j-sm-7 {
50
+ width: 58.33333%;
51
+ }
52
+
53
+ .j-sm-8 {
54
+ width: 66.66667%;
55
+ }
56
+
57
+ .j-sm-9 {
58
+ width: 75%;
59
+ }
60
+
61
+ .j-sm-10 {
62
+ width: 83.33333%;
63
+ }
64
+
65
+ .j-sm-11 {
66
+ width: 91.66667%;
67
+ }
68
+
69
+ .j-sm-12 {
70
+ width: 100%;
71
+ }
72
+ }
73
+ @media (min-width: 530px) {
74
+ .j-md-1 {
75
+ width: 8.33333%;
76
+ }
77
+
78
+ .j-md-2 {
79
+ width: 16.66667%;
80
+ }
81
+
82
+ .j-md-3 {
83
+ width: 25%;
84
+ }
85
+
86
+ .j-md-4 {
87
+ width: 33.33333%;
88
+ }
89
+
90
+ .j-md-5 {
91
+ width: 41.66667%;
92
+ }
93
+
94
+ .j-md-6 {
95
+ width: 50%;
96
+ }
97
+
98
+ .j-md-7 {
99
+ width: 58.33333%;
100
+ }
101
+
102
+ .j-md-8 {
103
+ width: 66.66667%;
104
+ }
105
+
106
+ .j-md-9 {
107
+ width: 75%;
108
+ }
109
+
110
+ .j-md-10 {
111
+ width: 83.33333%;
112
+ }
113
+
114
+ .j-md-11 {
115
+ width: 91.66667%;
116
+ }
117
+
118
+ .j-md-12 {
119
+ width: 100%;
120
+ }
121
+ }
122
+ @media (min-width: 782px) {
123
+ .j-lrg-1 {
124
+ width: 8.33333%;
125
+ }
126
+
127
+ .j-lrg-2 {
128
+ width: 16.66667%;
129
+ }
130
+
131
+ .j-lrg-3 {
132
+ width: 25%;
133
+ }
134
+
135
+ .j-lrg-4 {
136
+ width: 33.33333%;
137
+ }
138
+
139
+ .j-lrg-5 {
140
+ width: 41.66667%;
141
+ }
142
+
143
+ .j-lrg-6 {
144
+ width: 50%;
145
+ }
146
+
147
+ .j-lrg-7 {
148
+ width: 58.33333%;
149
+ }
150
+
151
+ .j-lrg-8 {
152
+ width: 66.66667%;
153
+ }
154
+
155
+ .j-lrg-9 {
156
+ width: 75%;
157
+ }
158
+
159
+ .j-lrg-10 {
160
+ width: 83.33333%;
161
+ }
162
+
163
+ .j-lrg-11 {
164
+ width: 91.66667%;
165
+ }
166
+
167
+ .j-lrg-12 {
168
+ width: 100%;
169
+ }
170
+ }
171
  body,
172
  button,
173
  input,
423
  }
424
  @media (max-width: 1147px) {
425
  .download-jetpack {
426
+ font-size: 1.28571em;
427
  }
428
  .download-jetpack:before {
429
  top: -1px;
544
  }
545
 
546
  .jp-content {
547
+ background: #f9f9f9;
548
  margin: 0;
549
  height: auto;
550
  min-height: 100%;
611
  }
612
 
613
  .jetpack_page_jetpack_modules .header-nav {
 
614
  margin: 0;
615
  }
616
  .jetpack_page_jetpack_modules .page-content {
644
  .header {
645
  left: 0;
646
  right: 0;
647
+ background: #81a844;
648
  }
649
 
650
  .header-nav li {
659
  position: relative;
660
  width: 214px;
661
  margin-right: 6px;
662
+ background: url(../images/jetpack-logo.png) center center no-repeat;
663
+ background: url(../images/jetpack-logo.svg) center center no-repeat, none;
664
+ background-size: 183px auto;
665
  color: #fff;
666
  line-height: 60px;
667
  font-weight: normal;
668
+ }
669
+ .header-nav .jetpack-logo a span {
670
  text-indent: -9999px;
671
+ visibility: hidden;
672
  }
673
  .header-nav .jetpack-logo a:before {
674
  content: '';
677
  left: 0;
678
  width: 100%;
679
  height: 100%;
 
 
680
  background-size: 183px 32px;
681
  }
682
+ .header-nav .jetpack-modules + .jetpack-modules {
683
+ margin-left: 15px;
684
+ }
685
 
686
  .main-nav {
687
  float: left;
894
  }
895
  @media (max-width: 530px) {
896
  .clouds-sm {
897
+ height: 90px;
898
  }
899
  }
900
 
927
 
928
  .featured h2,
929
  .module-grid h2 {
930
+ margin-top: 1em;
931
  color: #5d6d74;
932
+ font: 300 2em/1em "proxima-nova", "Open Sans", Helvetica, Arial, sans-serif;
933
  text-align: center;
 
934
  }
935
  @media (max-width: 900px) {
936
  .featured h2,
1114
  text-align: center;
1115
  }
1116
  .module-grid h2 {
1117
+ margin: 1em 0;
1118
  }
1119
  @media (max-width: 530px) {
1120
  .module-grid h2 {
1121
+ padding-top: 16px;
1122
+ margin-top: 0;
1123
  font-size: 25px;
1124
  }
1125
  }
1212
  }
1213
 
1214
  .module {
 
1215
  display: block;
1216
  padding: 0.71429em 1.07143em 1em;
1217
  text-align: left;
1228
  display: none;
1229
  }
1230
  .module h3 {
1231
+ cursor: pointer;
1232
  margin: 0 0 0.5em;
1233
  color: #1a8dba;
1234
  font-size: 1.14286em;
1447
  font-size: 26px;
1448
  }
1449
  }
1450
+ .modal h5 {
1451
+ clear: left;
1452
+ }
1453
  .modal p {
1454
  font-size: 1.23077em;
1455
  }
1582
  position: relative;
1583
  padding: 10em 0 4.28571em;
1584
  text-align: center;
 
 
1585
  }
1586
  .footer:before, .footer:after {
1587
  content: '';
1594
  margin-top: -1px;
1595
  width: 100%;
1596
  height: 195px;
 
1597
  }
1598
  .footer:after {
1599
  bottom: 0;
1646
 
1647
  .footer nav {
1648
  max-width: 100%;
 
1649
  }
1650
  .footer nav a,
1651
  .footer nav a:visited {
1652
  padding: 4px 6px;
1653
+ color: #999;
1654
  }
1655
  .footer nav a:hover, .footer nav a:focus,
1656
  .footer nav a:visited:hover,
1657
  .footer nav a:visited:focus {
1658
+ color: #81A844;
1659
  }
1660
  @media (max-width: 1147px) {
1661
  .footer nav {
1684
 
1685
  .primary {
1686
  padding: 25px 15px 10px 15px;
1687
+ border-bottom: 1px solid #eee;
1688
  }
1689
 
1690
  .secondary-footer {
1707
  font-weight: 400;
1708
  }
1709
  .secondary-footer a {
1710
+ border-top: 1px solid #eee;
1711
  }
1712
  }
1713
 
1714
  .footer .a8c-attribution {
1715
+ margin: 0;
1716
  padding: 0 6px;
1717
+ color: #bbb;
1718
  font-size: 0.78571em;
1719
  font-family: "Gill Sans", "Gill Sans MT", "Open Sans", Helvetica, Arial, sans-serif;
1720
  text-transform: uppercase;
1721
+ /*@include breakpoint(large-desktop){
1722
+ display: none;
1723
+ };*/
1724
  }
1725
  .footer .a8c-attribution a {
1726
  display: inline-block;
1735
  top: 2px;
1736
  right: -9999px;
1737
  height: 100%;
1738
+ color: #999;
1739
  font-size: 1.54545em;
1740
  font-family: "automatticons";
1741
  text-align: center;
1744
  -webkit-animation: candy .4s ease-in-out;
1745
  animation: candy .4s ease-in-out;
1746
  }
 
 
 
 
 
1747
 
1748
  .secondary {
1749
+ padding: 10px 15px 0 15px;
 
1750
  }
1751
 
1752
  .jetpack-message {
1828
  content: '\f414';
1829
  }
1830
 
1831
+ .configure-module .jetpack-message {
1832
+ max-width: 100%;
1833
+ }
1834
+
1835
  .modules h3.icon,
1836
  .jetpack-modules .info a {
1837
  width: auto;
1927
  content: '\f453';
1928
  }
1929
 
1930
+ .manage:before,
1931
+ .jetpack-modules #manage .info a:before {
1932
+ content: '\f205';
1933
+ }
1934
+
1935
  .monitor:before,
1936
  .jetpack-modules #monitor .info a:before {
1937
  content: '\f468';
1957
  content: '\f410';
1958
  }
1959
 
1960
+ .protect:before,
1961
+ .jetpack-modules #protect .info a:before {
1962
+ content: '\f470';
1963
+ position: relative;
1964
+ top: -1px;
1965
+ }
1966
+
1967
  .modules h3.publicize:before,
1968
  .jetpack-modules #publicize .info a:before {
1969
  content: '\f237';
2051
  width: 100%;
2052
  }
2053
  }
2054
+ @media (max-width: 600px) {
2055
+ .clouds-sm {
2056
+ display: none;
2057
+ }
2058
+ }
2059
  @media (max-width: 530px) {
2060
  .wrap.inner.jp-support .jp-support-column-left {
2061
  width: 100%;
2068
  width: 100%;
2069
  }
2070
  }
2071
+ @media screen and (max-width: 400px) {
2072
+ .jp-frame .header-nav {
2073
+ padding-bottom: 10px;
2074
+ }
2075
+ .jp-frame .header-nav li {
2076
+ line-height: 30px;
2077
+ }
2078
+ .jp-frame .header-nav .jetpack-logo {
2079
+ width: 100%;
2080
+ text-align: center;
2081
+ }
2082
+ .jp-frame .header-nav .jetpack-modules {
2083
+ margin: 0;
2084
+ width: 50%;
2085
+ text-align: right;
2086
+ padding: 0 5px;
2087
+ }
2088
+ .jp-frame .header-nav .jetpack-modules + .jetpack-modules {
2089
+ text-align: left;
2090
+ }
2091
+ }
2092
  @media (max-width: 320px) {
2093
  .jetpack_page_jetpack_modules .wrap {
2094
  padding: 0 0 1em;
2335
  .wrap .manage-right {
2336
  margin: 0;
2337
  padding: 0;
2338
+ /*position: absolute;
2339
+ right: 0;*/
2340
+ float: right;
2341
  width: 35%;
2342
  z-index: 1;
2343
  }
2431
  }
2432
  }
2433
 
2434
+ /* 'Pages' is a temporary location for these styles, until we can break them up into their proper atmoic locations */
2435
+ .configure-module p {
2436
+ font-size: 14px;
2437
+ }
2438
+ .configure-module p.success, .configure-module p.error {
2439
+ color: #fff;
2440
+ padding: 10px;
2441
+ }
2442
+ .configure-module p.success {
2443
+ background-color: #81a844;
2444
+ }
2445
+ .configure-module p.error {
2446
+ background-color: #d94f4f;
2447
+ }
2448
+
2449
+ .protect-status p {
2450
+ font-size: 16px;
2451
+ }
2452
+ .protect-status strong {
2453
+ display: inline-block;
2454
+ margin-top: 10px;
2455
+ background: #fff;
2456
+ padding: 10px;
2457
+ border: 1px #ddd solid;
2458
+ font-size: 16px;
2459
+ color: #000;
2460
+ max-width: 100%;
2461
+ }
2462
+ .protect-status.attn {
2463
+ color: #d94f4f;
2464
+ }
2465
+ .protect-status.working {
2466
+ color: #81a844;
2467
+ }
2468
+
2469
+ /* Whitelisting */
2470
+ #non-editable-whitelist {
2471
+ margin-top: 15px;
2472
+ }
2473
+
2474
+ .protect-whitelist textarea {
2475
+ width: 100%;
2476
+ min-height: 150px;
2477
+ }
2478
+
2479
+ #editable-whitelist .whitelist-table {
2480
+ width: 100%;
2481
+ }
2482
+
2483
+ /* btns + inputs */
2484
+ .configure-module input[disabled] {
2485
+ opacity: .5;
2486
+ }
2487
+ .configure-module input.button-primary {
2488
+ font-weight: bold;
2489
+ }
2490
+
2491
+ /* whitelist table */
2492
+ .whitelist-table {
2493
+ border-top: 1px solid;
2494
+ border-right: 1px solid;
2495
+ border-color: #ddd;
2496
+ background-color: #fff;
2497
+ }
2498
+ .whitelist-table td, .whitelist-table th {
2499
+ padding: 10px;
2500
+ margin: 0;
2501
+ border-bottom: 1px solid;
2502
+ border-left: 1px solid;
2503
+ border-color: #ddd;
2504
+ font-size: 14px;
2505
+ }
2506
+ .whitelist-table th.heading {
2507
+ font-weight: bold;
2508
+ color: #5d6d74;
2509
+ text-align: left;
2510
+ background-color: #eee;
2511
+ }
2512
+ .whitelist-table td.item-actions {
2513
+ border-left: none;
2514
+ text-align: right;
2515
+ }
2516
+ .whitelist-table .toolbar {
2517
+ padding: 0;
2518
+ }
2519
+ .whitelist-table .add-btn {
2520
+ text-align: center;
2521
+ width: 10%;
2522
+ border-left: 1px #ddd solid;
2523
+ }
2524
+
2525
+ .ip-address, .enter-ip {
2526
+ width: 90%;
2527
+ text-align: left;
2528
+ vertical-align: middle;
2529
+ }
2530
+
2531
+ .delete-ip-address {
2532
+ text-align: center;
2533
+ border: 0;
2534
+ background: transparent;
2535
+ color: #6f7476;
2536
+ box-shadow: none;
2537
+ font-size: 20px;
2538
+ margin: 0;
2539
+ padding: 0;
2540
+ cursor: pointer;
2541
+ border-radius: 2px;
2542
+ }
2543
+ .delete-ip-address:hover {
2544
+ background: #eee;
2545
+ }
2546
+
2547
+ .toolbar div {
2548
+ float: left;
2549
+ padding: 10px;
2550
+ }
2551
+
2552
+ @media only screen and (min-width: 1100px) {
2553
+ #non-editable-whitelist {
2554
+ width: 28%;
2555
+ float: right;
2556
+ margin-top: 0;
2557
+ }
2558
+
2559
+ .protect-whitelist {
2560
+ width: 65%;
2561
+ float: left;
2562
+ }
2563
+ }
2564
+ /* end > 1065px */
2565
+ @media only screen and (max-width: 1130px) {
2566
+ .enter-ip input[type="text"] {
2567
+ max-width: 175px;
2568
+ }
2569
+ }
2570
+ /* end < 1130px */
2571
+ @media only screen and (max-width: 1250px) and (min-width: 1065px), (max-width: 730px) and (min-width: 600px) {
2572
+ .enter-ip {
2573
+ width: 85%;
2574
+ }
2575
+
2576
+ .add-btn {
2577
+ width: 15%;
2578
+ }
2579
+ }
2580
+ /* end < 1250px & > 1065px */
2581
+ @media only screen and (max-width: 782px) {
2582
+ .add-btn {
2583
+ text-align: right;
2584
+ }
2585
+
2586
+ .add-btn .ip-add {
2587
+ margin-top: 4px;
2588
+ margin-bottom: 3px;
2589
+ }
2590
+ }
2591
+ /* end < 782px */
2592
+ @media only screen and (max-width: 730px) {
2593
+ .add-btn {
2594
+ text-align: center;
2595
+ }
2596
+ }
2597
+ /* end < 730px */
2598
+ @media only screen and (max-width: 665px) and (min-width: 600px) {
2599
+ .enter-ip input[type="text"] {
2600
+ max-width: 165px;
2601
+ }
2602
+ }
2603
+ /* end < 665px & > 600px */
2604
+ @media only screen and (max-width: 600px) {
2605
+ .toolbar div {
2606
+ width: 100%;
2607
+ }
2608
+
2609
+ .add-btn {
2610
+ border-top: 1px #ddd solid;
2611
+ }
2612
+
2613
+ .enter-ip {
2614
+ text-align: center;
2615
+ }
2616
+
2617
+ .enter-ip strong {
2618
+ display: block;
2619
+ margin-bottom: 5px;
2620
+ }
2621
+
2622
+ .enter-ip input[type="text"] {
2623
+ width: 100%;
2624
+ max-width: 100%;
2625
+ }
2626
+
2627
+ .add-btn input,
2628
+ .enter-ip .button {
2629
+ width: 50%;
2630
+ margin: 0 auto;
2631
+ }
2632
+
2633
+ .enter-ip .button {
2634
+ margin-top: 10px;
2635
+ }
2636
+ }
2637
+ /* end > 600px */
2638
+ @media only screen and (max-width: 400px) {
2639
+ .protect-status strong {
2640
+ font-size: 12px;
2641
+ overflow: auto;
2642
+ }
2643
+
2644
+ .add-btn input,
2645
+ .enter-ip .button {
2646
+ width: 100%;
2647
+ }
2648
+ }
2649
+ /* end < 400px */
2650
+ .jp-content .hide {
2651
+ display: none;
2652
+ }
2653
+ .jp-content .pointer {
2654
+ cursor: pointer;
2655
+ }
2656
+ .jp-content .landing {
2657
+ margin: 0 auto;
2658
+ z-index: 2;
2659
+ position: relative;
2660
+ }
2661
+ .jp-content h1 {
2662
+ font: 300 2.57143em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;
2663
+ position: relative;
2664
+ z-index: 3;
2665
+ width: 100%;
2666
+ text-align: center;
2667
+ }
2668
+ .jp-content h1.success {
2669
+ color: #81a844;
2670
+ }
2671
+ .jp-content .footer {
2672
+ padding-top: 0;
2673
+ margin-top: 0;
2674
+ background-image: none;
2675
+ }
2676
+ .jp-content .footer:before {
2677
+ height: inherit;
2678
+ }
2679
+ .jp-content .more-info:before {
2680
+ content: none;
2681
+ }
2682
+
2683
+ .landing .wpcom-connect {
2684
+ min-height: 400px;
2685
+ }
2686
+
2687
+ .wpcom-connect .j-col {
2688
+ padding: 0;
2689
+ }
2690
+ .wpcom-connect .connect-desc {
2691
+ padding-right: 25px;
2692
+ }
2693
+ .wpcom-connect .connect-btn {
2694
+ text-align: center;
2695
+ }
2696
+
2697
+ .module-grid h2 {
2698
+ color: #000;
2699
+ font: 300 2.57143em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;
2700
+ }
2701
+
2702
+ .download-jetpack {
2703
+ margin-top: 1em !important;
2704
+ }
2705
+
2706
+ #jump-start-area {
2707
+ margin-top: 35px;
2708
+ padding-left: 60px;
2709
+ padding-right: 60px;
2710
+ background: #fefefe;
2711
+ border: 1px #dae0e2 solid;
2712
+ padding-bottom: 20px;
2713
+ }
2714
+ #jump-start-area #jumpstart-cta,
2715
+ #jump-start-area .jumpstart-desc {
2716
+ padding: 0;
2717
+ }
2718
+ #jump-start-area p {
2719
+ font-size: 14px;
2720
+ line-height: 185%;
2721
+ }
2722
+ #jump-start-area .spinner {
2723
+ float: none;
2724
+ margin: 0 auto;
2725
+ position: absolute;
2726
+ bottom: 0;
2727
+ height: 100%;
2728
+ width: 100%;
2729
+ background-position: 50% 56%;
2730
+ background-color: rgba(254, 254, 254, 0.99);
2731
+ display: block;
2732
+ opacity: .9;
2733
+ }
2734
+
2735
+ .jumpstart-message p {
2736
+ padding-right: 25px;
2737
+ }
2738
+
2739
+ .jumpstart-desc {
2740
+ text-align: left;
2741
+ }
2742
+
2743
+ #jumpstart-cta {
2744
+ text-align: center;
2745
+ }
2746
+
2747
+ .dismiss-jumpstart {
2748
+ color: #999;
2749
+ font-size: 14px;
2750
+ }
2751
+
2752
+ #jumpstart-cta .button,
2753
+ #jumpstart-cta .button-primary {
2754
+ margin: 1em;
2755
+ font-size: 18px;
2756
+ height: 45px !important;
2757
+ padding: 8px 15px 1px;
2758
+ }
2759
+
2760
+ #jumpstart-cta .button-primary {
2761
+ display: block;
2762
+ margin: 35px 20px 5px 20px;
2763
+ }
2764
+
2765
+ #jp-config-list {
2766
+ position: relative;
2767
+ padding-top: 15px;
2768
+ padding-bottom: 15px;
2769
+ margin-left: -15px;
2770
+ margin-right: -15px;
2771
+ }
2772
+ #jp-config-list .j-col {
2773
+ padding: 15px;
2774
+ }
2775
+ #jp-config-list strong {
2776
+ display: inline-block;
2777
+ }
2778
+ #jp-config-list small {
2779
+ display: block;
2780
+ margin-top: 5px;
2781
+ line-height: 150%;
2782
+ }
2783
+ #jp-config-list .close {
2784
+ position: absolute;
2785
+ top: 10px;
2786
+ right: 0;
2787
+ text-transform: uppercase;
2788
+ font-weight: bold;
2789
+ display: block;
2790
+ z-index: 5;
2791
+ }
2792
+
2793
+ .jp-config-status {
2794
+ text-transform: uppercase;
2795
+ font-size: 10px;
2796
+ font-weight: bold;
2797
+ line-height: 100%;
2798
+ color: #fff;
2799
+ background: #9fbd72;
2800
+ border-radius: 2px;
2801
+ padding: 2px 4px;
2802
+ display: inline-block;
2803
+ }
2804
+
2805
+ .miguel {
2806
+ display: none;
2807
+ position: fixed;
2808
+ opacity: .35;
2809
+ bottom: -200px;
2810
+ left: 0;
2811
+ z-index: 1;
2812
+ -webkit-animation: miguel 3.4s 0s ease-in-out;
2813
+ animation: miguel 3.4s 0s ease-in-out;
2814
+ }
2815
+
2816
+ .miguel:nth-child(2) {
2817
+ left: 49%;
2818
+ width: 120px;
2819
+ height: 131px;
2820
+ -webkit-animation-duration: 2.4s;
2821
+ animation-duration: 2.4s;
2822
+ -webkit-animation-delay: 0s;
2823
+ animation-delay: 0s;
2824
+ }
2825
+
2826
+ .miguel:nth-child(3) {
2827
+ left: 23%;
2828
+ width: 60px;
2829
+ height: 66px;
2830
+ -webkit-animation-duration: 4.5s;
2831
+ animation-duration: 4.5s;
2832
+ -webkit-animation-delay: 0s;
2833
+ animation-delay: 0s;
2834
+ }
2835
+
2836
+ @-webkit-keyframes "miguel" {
2837
+ 0% {
2838
+ -webkit-transform: translate3d(0px, 0px, 0px);
2839
+ transform: translate3d(0px, 0px, 0px);
2840
+ }
2841
+ 100% {
2842
+ -webkit-transform: translate3d(900px, -900px, 0px);
2843
+ transform: translate3d(900px, -900px, 0px);
2844
+ }
2845
+ }
2846
+ @keyframes "miguel" {
2847
+ 0% {
2848
+ -webkit-transform: translate3d(0px, 0px, 0px);
2849
+ transform: translate3d(0px, 0px, 0px);
2850
+ }
2851
+ 100% {
2852
+ -webkit-transform: translate3d(900px, -900px, 0px);
2853
+ transform: translate3d(900px, -900px, 0px);
2854
+ }
2855
+ }
2856
+ @media (max-width: 1147px) {
2857
+ .jp-content .landing {
2858
+ padding: 0 2em;
2859
+ }
2860
+ .jp-content .footer {
2861
+ padding-top: 1.5em;
2862
+ }
2863
+ }
2864
+ @media (max-width: 782px) {
2865
+ #jumpstart-cta .button-primary {
2866
+ margin: 10px 0 5px 0;
2867
+ }
2868
+
2869
+ #jump-start-area .spinner {
2870
+ background-position: 50% 35%;
2871
+ }
2872
+ }
2873
+ @media (max-width: 530px) {
2874
+ .jp-content .landing {
2875
+ padding: 0 .5em;
2876
+ }
2877
+
2878
+ #jump-start-area {
2879
+ padding: 0 1em;
2880
+ }
2881
+
2882
+ .jumpstart-message p {
2883
+ padding-right: 0;
2884
+ }
2885
+
2886
+ #jumpstart-cta .button-primary {
2887
+ margin: 0 0 5px 0;
2888
+ padding-bottom: 10px;
2889
+ }
2890
+
2891
+ .footer .a8c-attribution a:after {
2892
+ top: 6px;
2893
+ }
2894
+ }
2895
  .nav-horizontal:before, .features:before, .modules:before, .load-more:before, .nav-horizontal:after, .features:after, .modules:after, .load-more:after {
2896
  content: "";
2897
  display: table;
css/jetpack-admin.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../scss/atoms/typography/_typography.scss","jetpack-admin.css","../scss/atoms/typography/_variables.scss","../scss/atoms/_media.scss","../scss/atoms/_animations.scss","../scss/atoms/_buttons.scss","../scss/_utilities/mixins/_breakpoint.scss","../scss/atoms/icons/_automatticons.scss","../scss/atoms/icons/_jetpack.scss","../scss/molecules/_nav-horizontal.scss","../scss/templates/_main.scss","../scss/atoms/colors/_colors.scss","../scss/_utilities/mixins/_gradient--vertical.scss","../scss/templates/_settings.scss","../scss/_utilities/_clearings.scss"],"names":[],"mappings":"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CE;IYjxDF,eAAA;IACC;EZmxDA;;AYhxDA;EACC,cAAW;EZmxDX,oBAAmB;EACpB;AYhxDD;EACC,kBAAY;EZkxDZ;;AY9wDC;EACC,cAAa;EACb,kBAAS;EZixDX;AYhxDE;EACC,gBAAc;EZkxDhB,qBAAoB;EY9wDnB;AZgxDH;EACE,gBAAe;EY9wDd;AZgxDH;EACE,uBAAsB;EY5wDrB;AZ8wDH;EY5wDI,YAAU;EZ8wDb;AY5wDE;;EAEC,qBAAiB;EZ8wDpB;AY3wDG;EACC,gCAA8B;EZ6wDjC,mBAAkB;EYzwDlB;AZ2wDF;EACE,gCAA+B;EY1wD9B;AZ4wDH;EACE,cAAa;EYzwDb;AZ2wDF;EACE,eAAc;EYzwDd;AZ2wDF;EYzwDG,YAAU;EZ2wDZ;AACD;;EAEE,kBAAiB;EYxwDjB,WAAA;EAEC,+CAAiB;EZ0wDnB;AYxwDE;EACC,6BAA2B;EZ0wD7B,mBAAkB;EYxwDjB;AZ0wDH;EYxwDI,6BAAgB;EZ0wDnB;AACD;EYxwDI,cAAA;EACC,kBAAgB;EZ0wDnB,qBAAoB;EYzwDjB;AZ2wDL;EACE,kBAAiB;EY1wDb;AZ4wDN;EACE,YAAW;EYvwDT;AZywDJ;EACE,YYzwDY;EZ0wDb;AACD;EKl5DG;IOuHA,eAAA;IZ8xDA;EACF;AACD;EACE;IACE,gBAAe;IYvwDlB,oBAAA;IACC,qBAAS;IACT;EZywDD;AYvwDC;EACC,WAAA;EZywDD,wBAAuB;EKh6DtB;ALk6DH;EACE,kBYzwDiB;EZ0wDlB;AACD;EYvwDC;IACC,iBAAgB;IZywDf;EYvwDF;AZywDD;EACE,kBAAiB;EYvwDjB;AZywDF;EACE,eYzwDU;EZ0wDX;AACD;EYxwDC;IACC,mBAAe;IZ0wDd;EYxwDF;AZ0wDD;EACE,iBAAgB;EYxwDjB;AZ0wDD;EYxwDE,iBAAa;EZ0wDd;AACD;EK37DG,aAAA;EO8KF,eAAA;EZgxDC,mBY1wDU;EZ2wDX;AACD;EYzwDC;IACC,uBAAW;IZ2wDV;EYzwDF;AZ2wDD;EACE,aAAY;EYzwDb;AZ2wDD;EACE,aY1wDQ;EZ2wDT;AACD;EACE;IYzwDF,aAAA;IACC;EZ2wDA;;AAED;EY1wDA,0BAAM;EACL,cAAS;EZ4wDT;;AAED;EY1wDC,WAAG;EACF,sBAAe;EACf,kBAAgB;EZ4wDjB;AY1wDA;EACC,iBAAW;EACX,kBAAS;EZ4wDV;AACD;EACE,aAAY;EY1wDZ,WAAA;EACC,YAAW;EZ4wDZ,YAAW;EY1wDX;AZ4wDF;EACE,aAAY;EYzwDZ;AZ2wDF;EACE,kBY3wDY;EZ4wDb;AACD;EY1wDC;IACC,aAAS;IACT;EZ4wDD;AACD;EY1wDE,WAAU;EACV,YAAU;EZ4wDV,oBAAmB;EY1wDnB,UAAA;EACC,YAAW;EACX,YAAW;EZ4wDb;AACD;EY1wDG,iBAAgB;EAChB,mBAAgB;EAChB,aAAW;EZ4wDZ,kBAAiB;EY1wDjB,2BAAQ;EACP,qBAAiB;EZ4wDlB,aAAY;EY1wDZ;AZ4wDF;EY1wDG,mBAAe;EZ4wDjB;AACD;EY1wDG,gBAAU;EZ4wDX,iBAAgB;EY1wDhB,kBAAA;EACC,oBAAmB;EACnB,oBAAgB;EZ4wDlB;AY1wDC;EACC,qBAAW;EACX,kBAAY;EZ4wDd;AACD;EACE,aAAY;EY1wDX,cAAA;EACC,kBAAc;EACd,oBAAU;EZ4wDb;AACD;EY1wDI,gBAAA;EALD,YAAA;EZkxDD,sBY5wDc;EZ6wDf;AACD;EACE;IY3wDC,aAAA;IACC,kBAAa;IZ6wDd;EYzwDA;AZ2wDH;EACE,eAAc;EYxwDd;AZ0wDF;EYxwDG,eAAU;EZ0wDZ;AYxwDE;EACC,WAAU;EACV,YAAW;EZ0wDd;AYxwDE;EACC,YAAQ;EACR,sBAAiB;EZ0wDpB;AACD;EYxwDI,kBAAU;EZ0wDZ,oBAAmB;EYxwDjB,mBAAA;EACC,qBAAa;EACb,aAAW;EZ0wDf;AYtwDE;EACC,gBAAc;EACd,kBAAgB;EZwwDnB;AYpwDC;EAnFD,gBAAA;EZ01DC,kBYtwDa;EZuwDd;AACD;EACE;IYrwDC,kBAAe;IACf,WAAQ;IACR,eAAM;IACN,kBAAW;IACX,iBAAY;IZuwDX,UAAS;IYrwDV,QAAA;IACC,aAAY;IZuwDZ,+CAA8C;IYrwD/C;EZuwDD;IYrwDE,cAAU;IZuwDX;EACD;IACE,WAAU;IajmEb,YAAA;IACC;EbmmED;;AahmEA;EACC,aAAW;EbmmEX,gBAAe;EAChB;AACD;EACE,aAAY;EACb","file":"jetpack-admin.css"}
1
+ {"version":3,"sources":["../scss/_utilities/_grid.scss","jetpack-admin.css","../scss/_utilities/mixins/_breakpoint.scss","../scss/atoms/typography/_typography.scss","../scss/atoms/typography/_variables.scss","../scss/atoms/_media.scss","../scss/atoms/_animations.scss","../scss/atoms/_buttons.scss","../scss/atoms/icons/_automatticons.scss","../scss/atoms/icons/_jetpack.scss","../scss/molecules/_nav-horizontal.scss","../scss/templates/_main.scss","../scss/atoms/colors/_colors.scss","../scss/templates/_settings.scss","../scss/pages/_protect.scss","../scss/templates/_module-overhaul.scss","../scss/_utilities/_clearings.scss"],"names":[],"mappings":"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","file":"jetpack-admin.css"}
css/jetpack-admin.min.css CHANGED
@@ -1,3 +1,3 @@
1
- body,button,input,select,textarea{color:#222;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{color:#222;clear:both}a{color:#0d72b2;transition:color .2s;text-decoration:none}a:visited{color:#0d72b2}a:hover{color:#0f92e5}a:focus{outline:thin dotted}address{margin:0 0 1.5em}abbr[title],acronym{cursor:help}ins{background:#eee;text-decoration:none}dt{font-weight:700}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}img{vertical-align:middle}@-webkit-keyframes "grow"{0%{-webkit-transform:scale(0.3);transform:scale(0.3)}60%{-webkit-transform:scale(1.15);transform:scale(1.15)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes "grow"{0%{-webkit-transform:scale(0.3);transform:scale(0.3)}60%{-webkit-transform:scale(1.15);transform:scale(1.15)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes "candy"{0%{-webkit-transform:scale(1);transform:scale(1)}20%{-webkit-transform:scale(1.15);transform:scale(1.15)}60%{-webkit-transform:scale(0.95);transform:scale(0.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes "candy"{0%{-webkit-transform:scale(1);transform:scale(1)}20%{-webkit-transform:scale(1.15);transform:scale(1.15)}60%{-webkit-transform:scale(0.95);transform:scale(0.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes "flyer"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(680px, -680px, 0px);transform:translate3d(680px, -680px, 0px)}}@keyframes "flyer"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(680px, -680px, 0px);transform:translate3d(680px, -680px, 0px)}}.button,.download-jetpack{transition:all .1s ease-in-out}.jp-button,.jp-button--settings{display:inline-block;position:relative;padding:0.76923em 1.46154em;color:#efefef;font:800 0.9285714286em/1 'Open Sans', Helvetica, sans-serif;text-shadow:0 1px 1px rgba(0,0,0,0.2);background:#6f7476;border-radius:3px}.jp-button:visited,.jp-button--settings:visited{color:#efefef}.jp-button:hover,.jp-button--settings:hover,.jp-button:focus,.jp-button--settings:focus{color:#fff;background:#57972d}.jp-button:active,.jp-button--settings:active{background:#57972d;opacity:0.8}.jp-button--settings{background:#93b45f;color:#e8eedf}.jp-button--settings:visited{color:#e8eedf}.jp-button--settings:hover,.jp-button--settings:focus{background:#9fbd72;color:#fff}.jp-button--settings.current{background:#3c6621;color:#fff;box-shadow:inset 0 2px 0 #365A1F, inset 0 1px 3px #3c6621}.download-jetpack{display:inline-block;position:relative;padding:0.64286em 0.85714em 0.53571em;color:#fff;font:400 20px/1 "proxima-nova", 'Open Sans', Helvetica, sans-serif;background:#518d2a;z-index:3;border-radius:6px;box-shadow:0 6px 0 #3e6c20,0 6px 3px rgba(0,0,0,0.4)}.download-jetpack:visited{color:#fff}.download-jetpack:hover,.download-jetpack:focus{color:#fff;background:#57972d;box-shadow:0 6px 0 #3e6c20,0 6px 3px rgba(0,0,0,0.4)}.download-jetpack:active{top:6px;box-shadow:0 0px 0 #3e6c20,0 0 0 rgba(0,0,0,0.4)}.download-jetpack:active:after{top:-6px}.download-jetpack:before{content:'';display:inline-block;position:relative;top:-2px;margin-right:13px;width:30px;height:30px;vertical-align:middle;background:url("../images/connect-plug.svg") center center no-repeat;background-size:100%}.download-jetpack:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%}@media (max-width: 1147px){.download-jetpack{font-size:1.5em}.download-jetpack:before{top:-1px;width:23px;height:23px}}@media (max-width: 900px){.download-jetpack:active{top:0}}@media (max-width: 530px){.download-jetpack{font-size:1.21429em;font-weight:600}.download-jetpack:before{width:19px;height:19px;margin-right:9px}}#searchsubmit{display:inline-block;border:none;position:relative;padding:0.71429em 1.5em;color:#efefef;font:800 0.8em/1 'Open Sans', Helvetica, sans-serif;text-shadow:0 1px 1px rgba(0,0,0,0.2);background:#6f7476;outline:none;border-radius:3px}#searchsubmit:visited{color:#efefef}#searchsubmit:hover,#searchsubmit:focus{color:#fff;background:#2aa0d5}#searchsubmit:active{opacity:0.7}@font-face{font-family:'automatticons';src:url("../_inc/fonts/automatticons/automatticons.eot");src:url("../_inc/fonts/automatticons/automatticons.eot?#iefix") format("embedded-opentype"),url("../_inc/fonts/automatticons/automatticons.woff") format("woff"),url("../_inc/fonts/automatticons/automatticons.ttf") format("truetype"),url("../_inc/fonts/automatticons/automatticons.svg#automatticonsregular") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:"jetpack";src:url("../_inc/fonts/jetpack/jetpack.eot");src:url("../_inc/fonts/jetpack/jetpack.eot?#iefix") format("embedded-opentype"),url("../_inc/fonts/jetpack/jetpack.woff") format("woff"),url("../_inc/fonts/jetpack/jetpack.ttf") format("truetype"),url("../_inc/fonts/jetpack/jetpack.svg#jetpack") format("svg");font-weight:normal;font-style:normal}@media screen and (-webkit-min-device-pixel-ratio: 0){@font-face{font-family:"jetpack";src:url("../_inc/fonts/jetpack/jetpack.svg#jetpack") format("svg")}}.nav-horizontal a{display:inline-block}.nav-horizontal li{position:relative;float:left}.nav-horizontal ul{margin:0;padding:0}*,*:before,*:after{-moz-box-sizing:border-box;box-sizing:border-box}::-moz-selection{background:#91bd51;color:#fff;text-shadow:none}::selection{background:#91bd51;color:#fff;text-shadow:none}#wpbody-content{padding-bottom:0}#wpcontent{margin-left:160px;padding:0}ul#adminmenu a.toplevel_page_jetpack:after{border-right-color:#81a844}.folded #wpcontent{margin-left:36px}#wpfooter{display:none}.jp-content{background:#81a844;margin:0;height:auto;min-height:100%;width:100%;width:100%;-webkit-font-smoothing:antialiased}.jp-content .wrapper{background:#f9f9f9}@media (max-width: 900px){#wpcontent,.auto-fold #wpcontent,.auto-fold #wpfooter,.modal,.configure .frame.top.fixed{margin-left:36px;padding-left:0}}@media (max-width: 782px){#wpcontent,.auto-fold #wpcontent,.auto-fold #wpfooter,.modal,.configure .frame.top.fixed{margin-left:0}}@media (max-width: 782px){.configure .frame.top.fixed{padding-left:0}}.wrap.inner,.page-content{max-width:950px;margin:0 auto}.wrap.inner li,.page-content li{line-height:23px}@media (max-width: 530px){.page-content{margin-top:0}}@media (max-width: 1147px){.wrap.inner{background:#f9f9f9;padding:15px}}@media (max-width: 530px){.wrap.inner{margin-top:1.71429em}}.jetpack_page_jetpack_modules .header-nav{max-width:auto;margin:0}.jetpack_page_jetpack_modules .page-content{max-width:1200px;min-height:500px;margin:0}.page-content.about{position:relative;z-index:10}@media (max-width: 1147px){.page-content.about{background:#f9f9f9;padding:15px}}@media (max-width: 1147px){.page-content.configure{background:#f9f9f9}}.footer nav{max-width:550px;margin:0 auto}.header{left:0;right:0}.header-nav li{line-height:60px}.header-nav a{padding:0 0.71429em;line-height:24px}.header-nav .jetpack-logo a{display:inline-block;position:relative;width:214px;margin-right:6px;background-size:183px 32px;color:#fff;line-height:60px;font-weight:normal;text-indent:-9999px}.header-nav .jetpack-logo a:before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:url(../images/jetpack-logo.png) center center no-repeat;background:url(../images/jetpack-logo.svg) center center no-repeat,none;background-size:183px 32px}.main-nav{float:left}.main-nav li{margin:0}@media (max-width: 900px){.main-nav{font-size:13px}}.user-nav{float:right}.user-nav li{margin:0}.jetpack-pagestyles #screen-meta{margin:0}.jetpack-pagestyles #screen-meta-links .screen-meta-toggle{z-index:2}.jetpack-pagestyles #screen-options-link-wrap,.jetpack-pagestyles #contextual-help-link-wrap{border:none}.jetpack-pagestyles .update-nag{display:none}.masthead{position:relative;text-align:center;z-index:1;background-color:#81a844;background-image:linear-gradient(top, #81a844, #8eb74e)}.masthead.hasbutton .flyer{bottom:-270px}.masthead.hasbutton .subhead{margin-top:175px}@media (max-width: 530px){.masthead.hasbutton .subhead{margin-top:105px;padding:0}}.masthead h1,.masthead h2{margin:0 auto}.masthead h1{padding:2.5em 0 1.11111em;max-width:21.94444em;color:#fff;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;position:relative;text-shadow:0 1px 1px rgba(0,0,0,0.12);z-index:3}.masthead h1+.flyby{margin-top:180px}@media (max-width: 1147px){.masthead h1{padding-top:1.83333em;font-size:2.14286em}}@media (max-width: 782px){.masthead h1{max-width:600px;font-size:28px}}@media (max-width: 530px){.masthead h1{margin:0 15px;padding:31px 0 15px 0;font-size:21px;font-weight:400}}.jetpack-connected .masthead h1{margin-bottom:33px;max-width:600px}.flyby{position:relative;max-width:1200px;margin:0 auto}@media (max-width: 900px){.flyby{display:none}}.flyer{position:absolute;bottom:-200px;left:4%;z-index:1;-webkit-animation:flyer 3.4s 2s ease-in-out;animation:flyer 3.4s 2s ease-in-out}.flyer:nth-child(2){left:49%;width:120px;height:131px;-webkit-animation-delay:4.6s;animation-delay:4.6s;-webkit-animation-duration:2.4s;animation-duration:2.4s}.flyer:nth-child(3){left:23%;width:60px;height:66px;-webkit-animation-delay:5.8s;animation-delay:5.8s;-webkit-animation-duration:4.5s;animation-duration:4.5s}.subhead{position:relative;margin-top:105px;padding:4em 0;background:#f9f9f9;z-index:2}.subhead h2{max-width:460px;color:#5d6d74;font:400 1.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 1px 1px #fff}@media (max-width: 900px){.subhead h2{max-width:428px;font-size:20px}}@media (max-width: 530px){.subhead h2{display:none}}.subhead:after{content:'';position:absolute;bottom:100%;left:0;margin-bottom:-1px;width:100%;height:228px;background:url("../images/the-cloud.svg") center bottom repeat-x;pointer-events:none;z-index:-1}@media (max-width: 1147px){.subhead{margin-top:122px;padding:70px 0 49px}.subhead:after{background-size:160% auto}}@media (max-width: 900px){.subhead{margin-top:122px;padding:70px 0 49px}}@media (max-width: 530px){.subhead{margin-top:83px;padding:47px 15px 39px}}.clouds-sm{height:100px;position:relative;text-align:center;z-index:1;background-color:#81a844;background-image:linear-gradient(top, #81a844, #89b348)}.clouds-sm:after{content:'';position:absolute;bottom:0;left:0;margin-bottom:-1px;width:100%;height:137px;background:url("../images/the-cloud-sm.svg") center bottom repeat-x;pointer-events:none;z-index:2}@media (max-width: 530px){.clouds-sm{height:90}}.featured{border-top:1px solid #d6d6d6;border-bottom:1px solid #d6d6d6;background:#fff;position:relative;padding:2.0em 1em 4.6em 1em;text-align:center;z-index:1}.featured:before{content:"";display:block;position:absolute;top:0;height:100%;z-index:-1}.featured .features,.featured .modules{margin:0 auto;display:inline-block}@media (max-width: 530px){.featured{display:none}}.featured h2,.module-grid h2{margin-top:0.61111em;color:#5d6d74;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-align:center;text-shadow:0 1px 1px #fff}@media (max-width: 900px){.featured h2,.module-grid h2{font-size:30px}}@media (max-width: 782px){.featured h2,.module-grid h2{font-size:28px}}.features,.modules{margin:0 -5px}.feature,.module{position:relative;float:left;margin:0 5px 10px;width:310px;transition:all .2s ease-in-out}@media (max-width: 1147px){.feature,.module{margin:.75% 0 .75% 1.5%;width:32.333333%;transition:none}.feature:nth-child(3n+1),.module:nth-child(3n+1){margin-left:0}.feature:hover,.module:hover{top:0;box-shadow:none}}.feature{-webkit-transform:translateZ(0);transform:translateZ(0)}.feature h3{margin:0 0 0.58824em;color:#697b84;font-size:1.21429em;line-height:1em;font-weight:800}.feature p{margin:0;color:#6e818a}.feature:before{content:'';position:absolute;bottom:0;left:0;width:100%;height:10px;background:rgba(0,0,0,0.02);z-index:-1;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .2s ease-in-out}.feature:hover{-webkit-transform:translateY(-5px);-ms-transform:translateY(-5px);transform:translateY(-5px)}.feature:hover h3{color:#1a8dba}.feature:hover .feature-img{border:1px solid #ccc;border-bottom:none}.feature:hover .no-border{border:none}.feature:hover:before{-webkit-transform:translateY(5px);-ms-transform:translateY(5px);transform:translateY(5px)}@media (max-width: 1147px){.feature:hover h3{color:#6e818a}.feature:hover .feature-img{border:1px solid #ddd;border-bottom:none}.feature:hover .no-border{border:none}}.feature .feature-img{padding-top:52%;width:100%;height:auto;border:1px solid #ddd;border-bottom:none}.feature .feature-img.custom-css{background:url("../images/custom-css.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.custom-css{background-image:url("../images/custom-css@2x.jpg")}}.feature .feature-img.wordpress-connect{background:url("../images/wordpress-connect.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.wordpress-connect{background-image:url("../images/wordpress-connect@2x.jpg")}}.feature .feature-img.wordpress-stats{background:url("../images/wordpress-stats.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.wordpress-stats{background-image:url("../images/wordpress-stats@2x.jpg")}}.feature .feature-img.no-border{border:none;padding-bottom:1px}.feature-description{display:block;padding:1em 1.07143em 1.07143em;border:1px solid #ddd;background:#f5f5f5}.feature:hover .feature-description{background:#fff;border-color:#ccc}@media (max-width: 1147px){.feature:hover .feature-description{border:1px solid #ddd;background:#f5f5f5}}@media (max-width: 900px){.feature-description{min-height:115px}}.cat{clear:both;margin-bottom:23px}.cat h3{font-size:24px;font-weight:300;margin:0 0 13px 6px;text-align:left}.cat .clear{clear:both}.module-grid{text-align:center}.module-grid h2{margin:1.25em 0 0.69444em}@media (max-width: 530px){.module-grid h2{margin-top:16px;font-size:25px}}#module-search{position:relative;width:100%;max-width:40.71429em;margin:0 auto 1.07143em;overflow:hidden}#jetpack-search{margin:0;padding:11px 16px 11px 16px;width:100%;border:1px solid #c9ced0;border-radius:3px;background:#fff;color:#5c6671;line-height:1.3}#jetpack-search:focus{color:#5c6671;outline:none}#jetpack-search:focus+label{background:transparent;opacity:0}#jetpack-search::-webkit-input-placeholder{color:#a8acae}#jetpack-search :-moz-placeholder{color:#a8acae}#jetpack-search::-moz-placeholder{color:#a8acae}#jetpack-search:-ms-input-placeholder{color:#a8acae}#jetpack-search+label{position:absolute;top:1px;right:1px;bottom:1px;width:48px;color:#abafb1;text-indent:-9999px;pointer-events:none;border-radius:3px;transition:all .2s ease-in-out}#jetpack-search+label:after{content:'\f400';position:absolute;right:11px;text-align:right;top:4px;font-size:1.71429em;font-weight:normal;font-family:"genericons"}.jp-filter{margin-bottom:2.85714em;color:#6f7476}.jp-filter a{display:inline-block;position:relative;padding:0.76923em 1.46154em;color:#aaa;font:600 0.92857em/1 "Open Sans", Helvetica, Arial, sans-serif;text-shadow:0 1px 1px rgba(255,255,255,0.2);background:#eee;border-radius:3px;background-clip:padding-box}.jp-filter a.selected,.jp-filter a:hover,.jp-filter a:focus{color:#efefef;text-shadow:0 1px 1px rgba(0,0,0,0.2);background:#6f7476}@media (max-width: 530px){.jp-filter a{padding:0.76em 1em}}.module{cursor:pointer;display:block;padding:0.71429em 1.07143em 1em;text-align:left;border:1px solid #dae0e2;background:#fff;box-shadow:0 0 0 rgba(0,0,0,0.03);transition:opacity 2s ease-in}.module:hover{border-color:#8ac9e8;background:#f8fcfe}.module:nth-of-type(n+10){display:none}.module h3{margin:0 0 0.5em;color:#1a8dba;font-size:1.14286em;line-height:1.4em;font-weight:700}.module p{margin:0;color:#686f72;font-size:0.85714em}.module:hover,.module:focus{border-color:#8ac9e8;background:#f8fcfe}.module:nth-of-type(n+10){display:none}.module.active{border-color:#2ea2cc;box-shadow:inset 4px 0 0 #2ea2cc}.module.active:hover{border-color:#69bedd;box-shadow:inset 4px 0 0 #69bedd}@media (max-width: 1147px){.cat .module:nth-child(3n+1){margin:.75% 0 .75% 1.5%}.cat .module:nth-child(3n - 1){margin-left:0}}@media (max-width: 900px){.cat .module{margin:1% 0 1% 2%}.cat .module:nth-child(2n+1){margin:1% 0 1% 2%}.cat .module:nth-child(2n+0){margin-left:0}}@media (max-width: 530px){.cat .module{margin:5px 0}.cat .module:nth-child(2n+1){margin-left:0}.cat .module:nth-child(2n+0){margin-left:0}}@media (max-width: 900px){.module{margin:1% 0 1% 2%;width:49%}.module:nth-child(3n+1){margin-left:2%}.module:nth-child(2n+1){margin-left:0}}@media (max-width: 530px){.module{margin:5px 0;width:100%}.module:nth-child(3n+1){margin-left:0}.module:nth-child(2n+1){margin-left:0}}.new{position:relative}.new:after{content:'NEW';position:absolute;top:-8px;right:-8px;padding-top:10px;width:32px;height:32px;color:#fff;font-size:8px;font-weight:800;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background:url("../images/new-badge.svg") center center no-repeat;background-size:100%;border-radius:50%}.paid{display:inline-block;position:relative;top:5px;margin-left:10px;padding:1px 6px 0 4px;height:13px;color:#fff;font:700 10px/1 "Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 0 rgba(0,0,0,0.05);background:#d0d0d0;vertical-align:top}.paid:before,.paid:after{position:absolute;top:0;right:100%;font:normal 14px/14px "genericons"}.paid:before{content:'\f503';color:#d0d0d0;text-shadow:none}.paid:after{content:'\f428';margin-right:-5px;font-size:11px}.rtl .paid:before{content:'\f501'}.load-more{margin:2.71429em 0 6.15385em}.set{display:none}.show.set{display:block}.loading{bottom:50%;position:absolute;top:50%;width:100%}.loading span{color:#999}.modal{background:#fff;position:fixed;top:52px;bottom:20px;right:20px;left:20px;margin-left:160px;display:none;box-shadow:0 1px 20px 5px rgba(0,0,0,0.1);z-index:500}.modal .close{position:absolute;top:0;right:0;font:300 1.71429em "genericons" !important;color:#777;content:'\f405';display:inline-block;padding:0.28571em 0.71429em 0.42857em;z-index:5}.modal .close:hover{background:#eee;opacity:0.8}.modal .close:active{background:#eee;opacity:0.4}.modal #jp-post-flair{display:none}.modal .content-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;padding:2.14286em}.modal .content{margin:0 auto;max-width:900px;text-align:left}.modal h2{text-align:left;margin-top:0;color:#5d6d74;font:300 32px "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 1px 1px #fff}@media (max-width: 530px){.modal h2{font-size:26px}}.modal p{font-size:1.23077em}.modal footer{position:absolute;left:0;bottom:0;width:100%;padding:12px 20px;border-top:1px solid #ddd;background:#fff;text-align:right}.modal footer ul{margin:0}.modal footer li{display:inline-block;margin:0}.modal .button-secondary,.modal .button-primary:active{vertical-align:baseline}@media (max-width: 900px){.modal{bottom:5%;margin-left:36px;font-size:80%}.modal .content{top:38px}}@media (max-width: 782px){.modal{top:66px;margin-left:0}}@media (max-width: 600px){.modal{top:10px;right:10px;bottom:10px;left:10px}}.jp-info-img{float:right;margin:0 0 30px 30px}.jp-info-img img{border:1px solid #ddd;max-width:100%;height:auto}.jp-info-img img:first-child{margin-top:0}@media (max-width: 782px){.jp-info-img{float:none;margin:0 0 15px}}.content-container.modal-footer{bottom:53px}.shade{background:#000;bottom:0;cursor:pointer;display:none;left:0;opacity:0.2;position:fixed;right:0;top:0;z-index:11}.entry-title,.page-template-default h1{margin-top:0.61111em;color:#5d6d74;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 1px 1px #fff}@media (max-width: 530px){.entry-title,.page-template-default h1{font-size:2em}}.blog h3,.single h3,.page-template-default h2{margin-top:0.61111em;color:#5d6d74;font:300 1.9em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 1px 1px #fff}@media (max-width: 530px){.blog h3,.single h3,.page-template-default h2{font-size:1.4em}}.page-template-default p{line-height:1.71429em}.blog .type-post,.page-template-default .type-page,.single .type-post,.single .type-jetpack_support{float:left;width:70%}.footer{margin-top:1.42857em;position:relative;padding:10em 0 4.28571em;text-align:center;background-color:#81a844;background-image:linear-gradient(top, #8eb74e, #81a844)}.footer:before,.footer:after{content:'';position:absolute;left:0;pointer-events:none}.footer:before{top:0;margin-top:-1px;width:100%;height:195px;background:url("../images/the-undercloud.svg") center top repeat-x}.footer:after{bottom:0;width:100%;height:50px;background:url("../images/the-footcloud.svg") center bottom no-repeat;background-size:auto 45px;z-index:1}.footer .download-jetpack{margin-bottom:33px}@media (max-width: 1147px){.footer{padding-top:165px;padding-bottom:0}.footer:before{background-size:160% auto}.footer:after{display:none}.footer ul{float:none;overflow:hidden}}@media (max-width: 900px){.footer{padding-top:146px}}@media (max-width: 782px){.footer{margin-top:0}}@media (max-width: 530px){.footer{margin-top:0;padding-top:135px}}@media (max-width: 320px){.footer{padding-top:76px}}.footer nav{max-width:100%;color:#c8e3a2}.footer nav a,.footer nav a:visited{padding:4px 6px;color:#c8e3a2}.footer nav a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#fff}@media (max-width: 1147px){.footer nav{border:none;padding:0}.footer nav a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#fff}}@media (max-width: 530px){.footer nav li{display:block;float:none;margin:0;text-align:left}.footer nav a{display:block;padding:0 16px;line-height:44px}}.primary{padding:25px 15px 10px 15px;border-bottom:1px solid #6c954d}.secondary-footer{margin:0 auto}.secondary-footer li{margin-right:5px}@media (max-width: 1147px){.secondary-footer{margin:0 30px;padding:8px 15px 30px}}@media (max-width: 530px){.secondary-footer{margin:0;padding:0;border:none;font-weight:400}.secondary-footer a{border-top:1px solid #7ba141}}.footer .a8c-attribution{margin-top:6px auto 0;padding:0 6px;font-size:0.78571em;font-family:"Gill Sans","Gill Sans MT","Open Sans",Helvetica,Arial,sans-serif;text-transform:uppercase}.footer .a8c-attribution a{display:inline-block;position:relative;padding:4px 16px;right:9999px;outline:0}.footer .a8c-attribution a:after{content:'A';position:absolute;top:2px;right:-9999px;height:100%;color:#fff;font-size:1.54545em;font-family:"automatticons";text-align:center}.footer .a8c-attribution a:hover:after{-webkit-animation:candy .4s ease-in-out;animation:candy .4s ease-in-out}@media (max-width: 1147px){.footer .a8c-attribution{display:none}}.secondary{padding:14px 15px 0 15px;border-top:1px solid #8eb345}.jetpack-message{background:#8eb74e;border:1px solid #73963d;margin:33px auto 0;max-width:90%;position:relative;z-index:2}.jetpack-message.is-opt-in{margin:50px 0 0;max-width:100%;padding:10px 15px;background:#fff;border:0;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);font-size:13px;text-align:center}.subhead .jetpack-message.is-opt-in{margin:0;padding-bottom:0;background:transparent;box-shadow:none}.subhead .jetpack-message.is-opt-in .jp-button,.subhead .jetpack-message.is-opt-in .jp-button--settings{display:inline-block}.jetpack-message.is-opt-in p{color:#3c4549}.jetpack-message.is-opt-in .jp-button,.jetpack-message.is-opt-in .jp-button--settings{margin-top:15px;display:none}.jetpack-message h4{color:#fff;margin:0}.jetpack-message p{color:#fff;margin:0;opacity:0.7}.jetpack-message .squeezer{padding:23px 23px 23px 80px;position:relative;text-align:left}.jetpack-message .squeezer:before{color:#fff;content:'\f418';font-family:'Genericons';font-size:33px;height:33px;left:25px;opacity:0.6;position:absolute;top:23px;top:calc( 50% - 22px )}@media (max-width: 530px){.jetpack-message .squeezer{padding:23px}.jetpack-message .squeezer:before{display:none}}.jetpack-message .squeezer a{color:#FFF;border-bottom:1px solid #D5E4BD}.jetpack-message .squeezer a:hover{border-bottom:1px solid #F1F6E9}.jetpack-message.error .squeezer:before,.jetpack-message.jetpack-err .squeezer:before{content:'\f414'}.modules h3.icon,.jetpack-modules .info a{width:auto}.modules h3.icon:before,.jetpack-modules .info a:before{display:inline-block;position:relative;top:1px;left:-3px;margin-right:2px;opacity:0.8;font:normal 20px "genericons";vertical-align:top}.jetpack-modules .info a:before{margin-top:1px}.latex:before,.jetpack-modules #latex .info a:before{content:'\f408'}.carousel:before,.jetpack-modules #carousel .info a:before{content:'\f102'}.modules h3.contact-form:before,.jetpack-modules #contact-form .info a:before{content:'\f175';font:normal 20px "dashicons"}.modules h3.custom-css:before,.jetpack-modules #custom-css .info a:before{content:'\f100';font:normal 20px "dashicons"}.modules h3.enhanced-distribution:before,.jetpack-modules #enhanced-distribution .info a:before{content:'\f237';font:normal 20px "dashicons"}.modules h3.widgets:before,.jetpack-modules #widgets .info a:before{content:'\f116';font:normal 20px "dashicons"}.modules h3.gravatar-hovercards:before,.jetpack-modules #gravatar-hovercards .info a:before{content:'G';font-family:"automatticons"}.infinite-scroll:before,.jetpack-modules #infinite-scroll .info a:before{content:'\f408'}.comments:before,.jetpack-modules #comments .info a:before{content:'\f108'}.sso:before,.jetpack-modules #sso .info a:before{content:'\f205'}.json-api:before,.jetpack-modules #json-api .info a:before{content:'\f415'}.likes:before,.jetpack-modules #likes .info a:before{content:'\f408'}.markdown:before,.jetpack-modules #markdown .info a:before{content:'\f462'}.minileven:before,.jetpack-modules #minileven .info a:before{content:'\f453'}.monitor:before,.jetpack-modules #monitor .info a:before{content:'\f468'}.notes:before,.jetpack-modules #notes .info a:before{content:'\f300'}.omnisearch:before,.jetpack-modules #omnisearch .info a:before{content:'\f400'}.photon:before,.jetpack-modules #photon .info a:before{content:'\f403'}.post-by-email:before,.jetpack-modules #post-by-email .info a:before{content:'\f410'}.modules h3.publicize:before,.jetpack-modules #publicize .info a:before{content:'\f237';font:normal 20px "dashicons"}.related-posts:before,.jetpack-modules #related-posts .info a:before{content:'\f420'}.sharedaddy:before,.jetpack-modules #sharedaddy .info a:before{content:'\f415'}.shortcodes:before,.jetpack-modules #shortcodes .info a:before{content:'\f100'}.verification-tools:before,.jetpack-modules #verification-tools .info a:before{content:'\f425'}.after-the-deadline:before,.jetpack-modules #after-the-deadline .info a:before{content:'\f411'}.subscriptions:before,.jetpack-modules #subscriptions .info a:before{content:'\f410'}.tiled-gallery:before,.jetpack-modules #tiled-gallery .info a:before{content:'\f103'}.modules h3.vaultpress:before,.jetpack-modules #vaultpress .info a:before{content:'V';font-family:"automatticons"}.videopress:before,.jetpack-modules #videopress .info a:before{content:'\f104'}.modules h3.widget-visibility:before,.jetpack-modules #widget-visibility .info a:before{content:'\f116';font:normal 20px "dashicons"}.stats:before,.jetpack-modules #stats .info a:before{content:'\f205'}.shortlinks:before,.jetpack-modules #shortlinks .info a:before{content:'\f107'}.modules h3.custom-content-types:before,.jetpack-modules #custom-content-types .info a:before{content:'\f498';font:normal 20px "dashicons"}.modules h3.site-icon:before,.jetpack-modules #site-icon .info a:before{content:'\f475'}@media (max-width: 782px){.blog .type-post,.page-template-default .type-page,.single .type-post,.single .type-jetpack_support{width:100%}}@media (max-width: 530px){.wrap.inner.jp-support .jp-support-column-left{width:100%}.wrap.inner.jp-support .jp-support-column-left .widget-text{margin-right:0;width:100%}.wrap.inner.jp-support .jp-support-column-right{width:100%}}@media (max-width: 320px){.jetpack_page_jetpack_modules .wrap{padding:0 0 1em}}.page-content.configure{margin-top:0}.configure .frame.top{border:none;box-shadow:none;padding-top:1.42857em;position:relative;top:auto}.configure .frame.top.fixed{background:#f9f9f9;border-bottom:1px solid #e9e9e9;padding-left:160px;margin-top:-6px;position:fixed;right:0;top:32px;width:100%;z-index:4;box-shadow:0 2px 2px -2px #eee}@media (max-width: 782px){.configure .frame.top.fixed{border:none;box-shadow:none;padding-top:1.42857em;position:relative;top:auto}}@media (max-width: 600px){.configure .frame.top.fixed{top:0}}.configure .frame.top .tablenav.top{float:left}@media (max-width: 900px){.configure .frame.top .tablenav.top .actions{display:block}}@media (max-width: 782px){.configure .frame.top .tablenav.top .actions{margin-top:6px}}.jp-frame-top-fixed .configure{padding-top:94px}.filter-search{display:none;float:right;margin-top:10px}@media (max-width: 782px){.filter-search{display:block}}@media (max-width: 530px){.filter-search{display:none}}.module-actions.landing-page{float:right;margin-right:15px}.module-actions.landing-page a{font-size:0.6em}.table-bordered.jetpack-modules{border:none;margin-bottom:0}.table-bordered.jetpack-modules tr.jetpack-module th{border-left:0;padding:14px 4px 0}.table-bordered.jetpack-modules tr.jetpack-module th input{display:block}.table-bordered.jetpack-modules tr.jetpack-module:hover .genericon{display:inline-block}.table-bordered.jetpack-modules tr.jetpack-module:hover td .row-actions span a{opacity:1}.table-bordered.jetpack-modules tr.jetpack-module.active th,.table-bordered.jetpack-modules tr.jetpack-module.active td{background:#f7fcfe}.table-bordered.jetpack-modules tr.jetpack-module.active th{border-left:4px solid #2ea2cc;padding-left:0px}.table-bordered.jetpack-modules tr.jetpack-module.active td:first-child{border-left:4px solid #2ea2cc}.table-bordered.jetpack-modules tr.jetpack-module.unavailable{opacity:0.3}.table-bordered.jetpack-modules tr.jetpack-module.unavailable input{display:none}.table-bordered.jetpack-modules tr.jetpack-module#vaultpress{opacity:1}.table-bordered.jetpack-modules tr.jetpack-module th,.table-bordered.jetpack-modules tr.jetpack-module td{background:#fff;margin:0;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1)}.table-bordered.jetpack-modules tr.jetpack-module td{padding:10px 10px 8px 14px;line-height:25px}.table-bordered.jetpack-modules tr.jetpack-module td:first-child{border-left:4px solid #fff}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{float:right;padding:0 0 1px;visibility:visible}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span{margin-left:5px}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span a{opacity:0}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span a:focus{opacity:1}@media (max-width: 530px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:none}}@media (max-width: 782px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:block;padding-left:10px;visibility:visible}}.table-bordered.jetpack-modules>thead>tr>th{border:0;vertical-align:middle}.table-bordered.jetpack-modules>thead>tr>th:last-child{padding-right:0}@media (max-width: 782px){.table-bordered.jetpack-modules>thead>tr>th:last-child{padding-left:0}}.table-bordered.jetpack-modules td{background:#fff}.table-bordered.jetpack-modules #doaction{margin-top:0}@media (max-width: 782px){.table-bordered.jetpack-modules #doaction{padding:10px 7px}}.table-bordered.jetpack-modules .checkall{margin-top:1px}.table-bordered.jetpack-modules .filter-search{margin-top:8px}.table-bordered.jetpack-modules .genericon{color:#999;display:none;margin:7px 3px 0}@media (max-width: 900px){.table-bordered.jetpack-modules .genericon{display:inline-block}}.table-bordered.jetpack-modules .med{width:70px}.table-bordered.jetpack-modules .sm{width:30px}@media (max-width: 782px){.table-bordered.jetpack-modules .check-column{width:50px}}.fixed-top .check-column{padding:8px 10px 0 10px;width:2.2em}.wrap{margin:0;padding:0 1.5em 1em;overflow:hidden}.wrap h2{font-size:24px;font-weight:400}.wrap .manage-left{float:left;margin:0;padding:0;width:63%}.wrap .manage-left table{width:100%}.wrap .manage-left th{font-weight:400}@media (max-width: 782px){.wrap .manage-left{width:100%}}.wrap .manage-right{margin:0;padding:0;position:absolute;right:0;width:35%;z-index:1}.wrap .manage-right p{font-size:12px;font-weight:bold;color:#bbb;padding-top:2px;text-transform:uppercase;letter-spacing:1px;clear:left}.wrap .manage-right .bumper{margin-left:33px}.wrap .manage-right.show{display:block;position:fixed;overflow-y:auto;overflow-x:hidden;position:absolute}.wrap .manage-right .search-bar{margin-bottom:18px;max-width:300px}.wrap .manage-right p.search-box{float:none;height:auto;margin-bottom:0;position:relative}.wrap .manage-right p.search-box input[type='search']{padding:0 8px;width:90%;line-height:initial}@media (max-width: 782px){.wrap .manage-right p.search-box input[type='search']{float:left;padding:9px 8px}}.wrap .manage-right p.search-box input[type="submit"]{display:none}.wrap .manage-right .button-group .button{outline:none}.wrap .manage-right .subsubsub{margin:0;padding:0}.wrap .manage-right .subsubsub a{padding:0;line-height:inherit}.wrap .manage-right .subsubsub .current{padding:1px 5px;border-radius:2px;margin-left:-5px;background:#0D72B2;color:#FFF}.wrap .manage-right .subsubsub .current .count{color:#BCD7E7;font-weight:200}.wrap .manage-right .subsubsub li{display:block;text-align:left}@media (max-width: 782px){.wrap .manage-right{background:#fff;bottom:0;display:none;min-width:300px;position:fixed;right:0;top:0;z-index:13;box-shadow:0 1px 20px 5px rgba(0,0,0,0.1)}.wrap .manage-right .bumper{margin:13px}.wrap .manage-right .navbar-form{margin:0;padding:0}}.nav-horizontal:before,.features:before,.modules:before,.load-more:before,.nav-horizontal:after,.features:after,.modules:after,.load-more:after{content:"";display:table}.nav-horizontal:after,.features:after,.modules:after,.load-more:after{clear:both}
2
 
3
  /*# sourceMappingURL=jetpack-admin.min.css.map */
1
+ .j-row{width:100%;margin:0 auto}.j-row:before,.j-row:after{content:" ";display:table}.j-row:after{clear:both}.j-col{padding:0.85em;width:100%;float:left;position:relative}@media only screen{.j-sm-1{width:8.33333%}.j-sm-2{width:16.66667%}.j-sm-3{width:25%}.j-sm-4{width:33.33333%}.j-sm-5{width:41.66667%}.j-sm-6{width:50%}.j-sm-7{width:58.33333%}.j-sm-8{width:66.66667%}.j-sm-9{width:75%}.j-sm-10{width:83.33333%}.j-sm-11{width:91.66667%}.j-sm-12{width:100%}}@media (min-width: 530px){.j-md-1{width:8.33333%}.j-md-2{width:16.66667%}.j-md-3{width:25%}.j-md-4{width:33.33333%}.j-md-5{width:41.66667%}.j-md-6{width:50%}.j-md-7{width:58.33333%}.j-md-8{width:66.66667%}.j-md-9{width:75%}.j-md-10{width:83.33333%}.j-md-11{width:91.66667%}.j-md-12{width:100%}}@media (min-width: 782px){.j-lrg-1{width:8.33333%}.j-lrg-2{width:16.66667%}.j-lrg-3{width:25%}.j-lrg-4{width:33.33333%}.j-lrg-5{width:41.66667%}.j-lrg-6{width:50%}.j-lrg-7{width:58.33333%}.j-lrg-8{width:66.66667%}.j-lrg-9{width:75%}.j-lrg-10{width:83.33333%}.j-lrg-11{width:91.66667%}.j-lrg-12{width:100%}}body,button,input,select,textarea{color:#222;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{color:#222;clear:both}a{color:#0d72b2;transition:color .2s;text-decoration:none}a:visited{color:#0d72b2}a:hover{color:#0f92e5}a:focus{outline:thin dotted}address{margin:0 0 1.5em}abbr[title],acronym{cursor:help}ins{background:#eee;text-decoration:none}dt{font-weight:700}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}img{vertical-align:middle}@-webkit-keyframes "grow"{0%{-webkit-transform:scale(0.3);transform:scale(0.3)}60%{-webkit-transform:scale(1.15);transform:scale(1.15)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes "grow"{0%{-webkit-transform:scale(0.3);transform:scale(0.3)}60%{-webkit-transform:scale(1.15);transform:scale(1.15)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes "candy"{0%{-webkit-transform:scale(1);transform:scale(1)}20%{-webkit-transform:scale(1.15);transform:scale(1.15)}60%{-webkit-transform:scale(0.95);transform:scale(0.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes "candy"{0%{-webkit-transform:scale(1);transform:scale(1)}20%{-webkit-transform:scale(1.15);transform:scale(1.15)}60%{-webkit-transform:scale(0.95);transform:scale(0.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes "flyer"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(680px, -680px, 0px);transform:translate3d(680px, -680px, 0px)}}@keyframes "flyer"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(680px, -680px, 0px);transform:translate3d(680px, -680px, 0px)}}.button,.download-jetpack{transition:all .1s ease-in-out}.jp-button,.jp-button--settings{display:inline-block;position:relative;padding:0.76923em 1.46154em;color:#efefef;font:800 0.9285714286em/1 'Open Sans', Helvetica, sans-serif;text-shadow:0 1px 1px rgba(0,0,0,0.2);background:#6f7476;border-radius:3px}.jp-button:visited,.jp-button--settings:visited{color:#efefef}.jp-button:hover,.jp-button--settings:hover,.jp-button:focus,.jp-button--settings:focus{color:#fff;background:#57972d}.jp-button:active,.jp-button--settings:active{background:#57972d;opacity:0.8}.jp-button--settings{background:#93b45f;color:#e8eedf}.jp-button--settings:visited{color:#e8eedf}.jp-button--settings:hover,.jp-button--settings:focus{background:#9fbd72;color:#fff}.jp-button--settings.current{background:#3c6621;color:#fff;box-shadow:inset 0 2px 0 #365A1F, inset 0 1px 3px #3c6621}.download-jetpack{display:inline-block;position:relative;padding:0.64286em 0.85714em 0.53571em;color:#fff;font:400 20px/1 "proxima-nova", 'Open Sans', Helvetica, sans-serif;background:#518d2a;z-index:3;border-radius:6px;box-shadow:0 6px 0 #3e6c20,0 6px 3px rgba(0,0,0,0.4)}.download-jetpack:visited{color:#fff}.download-jetpack:hover,.download-jetpack:focus{color:#fff;background:#57972d;box-shadow:0 6px 0 #3e6c20,0 6px 3px rgba(0,0,0,0.4)}.download-jetpack:active{top:6px;box-shadow:0 0px 0 #3e6c20,0 0 0 rgba(0,0,0,0.4)}.download-jetpack:active:after{top:-6px}.download-jetpack:before{content:'';display:inline-block;position:relative;top:-2px;margin-right:13px;width:30px;height:30px;vertical-align:middle;background:url("../images/connect-plug.svg") center center no-repeat;background-size:100%}.download-jetpack:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%}@media (max-width: 1147px){.download-jetpack{font-size:1.28571em}.download-jetpack:before{top:-1px;width:23px;height:23px}}@media (max-width: 900px){.download-jetpack:active{top:0}}@media (max-width: 530px){.download-jetpack{font-size:1.21429em;font-weight:600}.download-jetpack:before{width:19px;height:19px;margin-right:9px}}#searchsubmit{display:inline-block;border:none;position:relative;padding:0.71429em 1.5em;color:#efefef;font:800 0.8em/1 'Open Sans', Helvetica, sans-serif;text-shadow:0 1px 1px rgba(0,0,0,0.2);background:#6f7476;outline:none;border-radius:3px}#searchsubmit:visited{color:#efefef}#searchsubmit:hover,#searchsubmit:focus{color:#fff;background:#2aa0d5}#searchsubmit:active{opacity:0.7}@font-face{font-family:'automatticons';src:url("../_inc/fonts/automatticons/automatticons.eot");src:url("../_inc/fonts/automatticons/automatticons.eot?#iefix") format("embedded-opentype"),url("../_inc/fonts/automatticons/automatticons.woff") format("woff"),url("../_inc/fonts/automatticons/automatticons.ttf") format("truetype"),url("../_inc/fonts/automatticons/automatticons.svg#automatticonsregular") format("svg");font-weight:normal;font-style:normal}@font-face{font-family:"jetpack";src:url("../_inc/fonts/jetpack/jetpack.eot");src:url("../_inc/fonts/jetpack/jetpack.eot?#iefix") format("embedded-opentype"),url("../_inc/fonts/jetpack/jetpack.woff") format("woff"),url("../_inc/fonts/jetpack/jetpack.ttf") format("truetype"),url("../_inc/fonts/jetpack/jetpack.svg#jetpack") format("svg");font-weight:normal;font-style:normal}@media screen and (-webkit-min-device-pixel-ratio: 0){@font-face{font-family:"jetpack";src:url("../_inc/fonts/jetpack/jetpack.svg#jetpack") format("svg")}}.nav-horizontal a{display:inline-block}.nav-horizontal li{position:relative;float:left}.nav-horizontal ul{margin:0;padding:0}*,*:before,*:after{-moz-box-sizing:border-box;box-sizing:border-box}::-moz-selection{background:#91bd51;color:#fff;text-shadow:none}::selection{background:#91bd51;color:#fff;text-shadow:none}#wpbody-content{padding-bottom:0}#wpcontent{margin-left:160px;padding:0}ul#adminmenu a.toplevel_page_jetpack:after{border-right-color:#81a844}.folded #wpcontent{margin-left:36px}#wpfooter{display:none}.jp-content{background:#f9f9f9;margin:0;height:auto;min-height:100%;width:100%;width:100%;-webkit-font-smoothing:antialiased}.jp-content .wrapper{background:#f9f9f9}@media (max-width: 900px){#wpcontent,.auto-fold #wpcontent,.auto-fold #wpfooter,.modal,.configure .frame.top.fixed{margin-left:36px;padding-left:0}}@media (max-width: 782px){#wpcontent,.auto-fold #wpcontent,.auto-fold #wpfooter,.modal,.configure .frame.top.fixed{margin-left:0}}@media (max-width: 782px){.configure .frame.top.fixed{padding-left:0}}.wrap.inner,.page-content{max-width:950px;margin:0 auto}.wrap.inner li,.page-content li{line-height:23px}@media (max-width: 530px){.page-content{margin-top:0}}@media (max-width: 1147px){.wrap.inner{background:#f9f9f9;padding:15px}}@media (max-width: 530px){.wrap.inner{margin-top:1.71429em}}.jetpack_page_jetpack_modules .header-nav{margin:0}.jetpack_page_jetpack_modules .page-content{max-width:1200px;min-height:500px;margin:0}.page-content.about{position:relative;z-index:10}@media (max-width: 1147px){.page-content.about{background:#f9f9f9;padding:15px}}@media (max-width: 1147px){.page-content.configure{background:#f9f9f9}}.footer nav{max-width:550px;margin:0 auto}.header{left:0;right:0;background:#81a844}.header-nav li{line-height:60px}.header-nav a{padding:0 0.71429em;line-height:24px}.header-nav .jetpack-logo a{display:inline-block;position:relative;width:214px;margin-right:6px;background:url(../images/jetpack-logo.png) center center no-repeat;background:url(../images/jetpack-logo.svg) center center no-repeat,none;background-size:183px auto;color:#fff;line-height:60px;font-weight:normal}.header-nav .jetpack-logo a span{text-indent:-9999px;visibility:hidden}.header-nav .jetpack-logo a:before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-size:183px 32px}.header-nav .jetpack-modules+.jetpack-modules{margin-left:15px}.main-nav{float:left}.main-nav li{margin:0}@media (max-width: 900px){.main-nav{font-size:13px}}.user-nav{float:right}.user-nav li{margin:0}.jetpack-pagestyles #screen-meta{margin:0}.jetpack-pagestyles #screen-meta-links .screen-meta-toggle{z-index:2}.jetpack-pagestyles #screen-options-link-wrap,.jetpack-pagestyles #contextual-help-link-wrap{border:none}.jetpack-pagestyles .update-nag{display:none}.masthead{position:relative;text-align:center;z-index:1;background-color:#81a844;background-image:linear-gradient(top, #81a844, #8eb74e)}.masthead.hasbutton .flyer{bottom:-270px}.masthead.hasbutton .subhead{margin-top:175px}@media (max-width: 530px){.masthead.hasbutton .subhead{margin-top:105px;padding:0}}.masthead h1,.masthead h2{margin:0 auto}.masthead h1{padding:2.5em 0 1.11111em;max-width:21.94444em;color:#fff;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;position:relative;text-shadow:0 1px 1px rgba(0,0,0,0.12);z-index:3}.masthead h1+.flyby{margin-top:180px}@media (max-width: 1147px){.masthead h1{padding-top:1.83333em;font-size:2.14286em}}@media (max-width: 782px){.masthead h1{max-width:600px;font-size:28px}}@media (max-width: 530px){.masthead h1{margin:0 15px;padding:31px 0 15px 0;font-size:21px;font-weight:400}}.jetpack-connected .masthead h1{margin-bottom:33px;max-width:600px}.flyby{position:relative;max-width:1200px;margin:0 auto}@media (max-width: 900px){.flyby{display:none}}.flyer{position:absolute;bottom:-200px;left:4%;z-index:1;-webkit-animation:flyer 3.4s 2s ease-in-out;animation:flyer 3.4s 2s ease-in-out}.flyer:nth-child(2){left:49%;width:120px;height:131px;-webkit-animation-delay:4.6s;animation-delay:4.6s;-webkit-animation-duration:2.4s;animation-duration:2.4s}.flyer:nth-child(3){left:23%;width:60px;height:66px;-webkit-animation-delay:5.8s;animation-delay:5.8s;-webkit-animation-duration:4.5s;animation-duration:4.5s}.subhead{position:relative;margin-top:105px;padding:4em 0;background:#f9f9f9;z-index:2}.subhead h2{max-width:460px;color:#5d6d74;font:400 1.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 1px 1px #fff}@media (max-width: 900px){.subhead h2{max-width:428px;font-size:20px}}@media (max-width: 530px){.subhead h2{display:none}}.subhead:after{content:'';position:absolute;bottom:100%;left:0;margin-bottom:-1px;width:100%;height:228px;background:url("../images/the-cloud.svg") center bottom repeat-x;pointer-events:none;z-index:-1}@media (max-width: 1147px){.subhead{margin-top:122px;padding:70px 0 49px}.subhead:after{background-size:160% auto}}@media (max-width: 900px){.subhead{margin-top:122px;padding:70px 0 49px}}@media (max-width: 530px){.subhead{margin-top:83px;padding:47px 15px 39px}}.clouds-sm{height:100px;position:relative;text-align:center;z-index:1;background-color:#81a844;background-image:linear-gradient(top, #81a844, #89b348)}.clouds-sm:after{content:'';position:absolute;bottom:0;left:0;margin-bottom:-1px;width:100%;height:137px;background:url("../images/the-cloud-sm.svg") center bottom repeat-x;pointer-events:none;z-index:2}@media (max-width: 530px){.clouds-sm{height:90px}}.featured{border-top:1px solid #d6d6d6;border-bottom:1px solid #d6d6d6;background:#fff;position:relative;padding:2.0em 1em 4.6em 1em;text-align:center;z-index:1}.featured:before{content:"";display:block;position:absolute;top:0;height:100%;z-index:-1}.featured .features,.featured .modules{margin:0 auto;display:inline-block}@media (max-width: 530px){.featured{display:none}}.featured h2,.module-grid h2{margin-top:1em;color:#5d6d74;font:300 2em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-align:center}@media (max-width: 900px){.featured h2,.module-grid h2{font-size:30px}}@media (max-width: 782px){.featured h2,.module-grid h2{font-size:28px}}.features,.modules{margin:0 -5px}.feature,.module{position:relative;float:left;margin:0 5px 10px;width:310px;transition:all .2s ease-in-out}@media (max-width: 1147px){.feature,.module{margin:.75% 0 .75% 1.5%;width:32.333333%;transition:none}.feature:nth-child(3n+1),.module:nth-child(3n+1){margin-left:0}.feature:hover,.module:hover{top:0;box-shadow:none}}.feature{-webkit-transform:translateZ(0);transform:translateZ(0)}.feature h3{margin:0 0 0.58824em;color:#697b84;font-size:1.21429em;line-height:1em;font-weight:800}.feature p{margin:0;color:#6e818a}.feature:before{content:'';position:absolute;bottom:0;left:0;width:100%;height:10px;background:rgba(0,0,0,0.02);z-index:-1;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .2s ease-in-out}.feature:hover{-webkit-transform:translateY(-5px);-ms-transform:translateY(-5px);transform:translateY(-5px)}.feature:hover h3{color:#1a8dba}.feature:hover .feature-img{border:1px solid #ccc;border-bottom:none}.feature:hover .no-border{border:none}.feature:hover:before{-webkit-transform:translateY(5px);-ms-transform:translateY(5px);transform:translateY(5px)}@media (max-width: 1147px){.feature:hover h3{color:#6e818a}.feature:hover .feature-img{border:1px solid #ddd;border-bottom:none}.feature:hover .no-border{border:none}}.feature .feature-img{padding-top:52%;width:100%;height:auto;border:1px solid #ddd;border-bottom:none}.feature .feature-img.custom-css{background:url("../images/custom-css.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.custom-css{background-image:url("../images/custom-css@2x.jpg")}}.feature .feature-img.wordpress-connect{background:url("../images/wordpress-connect.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.wordpress-connect{background-image:url("../images/wordpress-connect@2x.jpg")}}.feature .feature-img.wordpress-stats{background:url("../images/wordpress-stats.jpg") no-repeat;background-size:100% auto}@media print, (-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5 / 4), (min-resolution: 120dpi){.feature .feature-img.wordpress-stats{background-image:url("../images/wordpress-stats@2x.jpg")}}.feature .feature-img.no-border{border:none;padding-bottom:1px}.feature-description{display:block;padding:1em 1.07143em 1.07143em;border:1px solid #ddd;background:#f5f5f5}.feature:hover .feature-description{background:#fff;border-color:#ccc}@media (max-width: 1147px){.feature:hover .feature-description{border:1px solid #ddd;background:#f5f5f5}}@media (max-width: 900px){.feature-description{min-height:115px}}.cat{clear:both;margin-bottom:23px}.cat h3{font-size:24px;font-weight:300;margin:0 0 13px 6px;text-align:left}.cat .clear{clear:both}.module-grid{text-align:center}.module-grid h2{margin:1em 0}@media (max-width: 530px){.module-grid h2{padding-top:16px;margin-top:0;font-size:25px}}#module-search{position:relative;width:100%;max-width:40.71429em;margin:0 auto 1.07143em;overflow:hidden}#jetpack-search{margin:0;padding:11px 16px 11px 16px;width:100%;border:1px solid #c9ced0;border-radius:3px;background:#fff;color:#5c6671;line-height:1.3}#jetpack-search:focus{color:#5c6671;outline:none}#jetpack-search:focus+label{background:transparent;opacity:0}#jetpack-search::-webkit-input-placeholder{color:#a8acae}#jetpack-search :-moz-placeholder{color:#a8acae}#jetpack-search::-moz-placeholder{color:#a8acae}#jetpack-search:-ms-input-placeholder{color:#a8acae}#jetpack-search+label{position:absolute;top:1px;right:1px;bottom:1px;width:48px;color:#abafb1;text-indent:-9999px;pointer-events:none;border-radius:3px;transition:all .2s ease-in-out}#jetpack-search+label:after{content:'\f400';position:absolute;right:11px;text-align:right;top:4px;font-size:1.71429em;font-weight:normal;font-family:"genericons"}.jp-filter{margin-bottom:2.85714em;color:#6f7476}.jp-filter a{display:inline-block;position:relative;padding:0.76923em 1.46154em;color:#aaa;font:600 0.92857em/1 "Open Sans", Helvetica, Arial, sans-serif;text-shadow:0 1px 1px rgba(255,255,255,0.2);background:#eee;border-radius:3px;background-clip:padding-box}.jp-filter a.selected,.jp-filter a:hover,.jp-filter a:focus{color:#efefef;text-shadow:0 1px 1px rgba(0,0,0,0.2);background:#6f7476}@media (max-width: 530px){.jp-filter a{padding:0.76em 1em}}.module{display:block;padding:0.71429em 1.07143em 1em;text-align:left;border:1px solid #dae0e2;background:#fff;box-shadow:0 0 0 rgba(0,0,0,0.03);transition:opacity 2s ease-in}.module:hover{border-color:#8ac9e8;background:#f8fcfe}.module:nth-of-type(n+10){display:none}.module h3{cursor:pointer;margin:0 0 0.5em;color:#1a8dba;font-size:1.14286em;line-height:1.4em;font-weight:700}.module p{margin:0;color:#686f72;font-size:0.85714em}.module:hover,.module:focus{border-color:#8ac9e8;background:#f8fcfe}.module:nth-of-type(n+10){display:none}.module.active{border-color:#2ea2cc;box-shadow:inset 4px 0 0 #2ea2cc}.module.active:hover{border-color:#69bedd;box-shadow:inset 4px 0 0 #69bedd}@media (max-width: 1147px){.cat .module:nth-child(3n+1){margin:.75% 0 .75% 1.5%}.cat .module:nth-child(3n - 1){margin-left:0}}@media (max-width: 900px){.cat .module{margin:1% 0 1% 2%}.cat .module:nth-child(2n+1){margin:1% 0 1% 2%}.cat .module:nth-child(2n+0){margin-left:0}}@media (max-width: 530px){.cat .module{margin:5px 0}.cat .module:nth-child(2n+1){margin-left:0}.cat .module:nth-child(2n+0){margin-left:0}}@media (max-width: 900px){.module{margin:1% 0 1% 2%;width:49%}.module:nth-child(3n+1){margin-left:2%}.module:nth-child(2n+1){margin-left:0}}@media (max-width: 530px){.module{margin:5px 0;width:100%}.module:nth-child(3n+1){margin-left:0}.module:nth-child(2n+1){margin-left:0}}.new{position:relative}.new:after{content:'NEW';position:absolute;top:-8px;right:-8px;padding-top:10px;width:32px;height:32px;color:#fff;font-size:8px;font-weight:800;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background:url("../images/new-badge.svg") center center no-repeat;background-size:100%;border-radius:50%}.paid{display:inline-block;position:relative;top:5px;margin-left:10px;padding:1px 6px 0 4px;height:13px;color:#fff;font:700 10px/1 "Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 -1px 0 rgba(0,0,0,0.05);background:#d0d0d0;vertical-align:top}.paid:before,.paid:after{position:absolute;top:0;right:100%;font:normal 14px/14px "genericons"}.paid:before{content:'\f503';color:#d0d0d0;text-shadow:none}.paid:after{content:'\f428';margin-right:-5px;font-size:11px}.rtl .paid:before{content:'\f501'}.load-more{margin:2.71429em 0 6.15385em}.set{display:none}.show.set{display:block}.loading{bottom:50%;position:absolute;top:50%;width:100%}.loading span{color:#999}.modal{background:#fff;position:fixed;top:52px;bottom:20px;right:20px;left:20px;margin-left:160px;display:none;box-shadow:0 1px 20px 5px rgba(0,0,0,0.1);z-index:500}.modal .close{position:absolute;top:0;right:0;font:300 1.71429em "genericons" !important;color:#777;content:'\f405';display:inline-block;padding:0.28571em 0.71429em 0.42857em;z-index:5}.modal .close:hover{background:#eee;opacity:0.8}.modal .close:active{background:#eee;opacity:0.4}.modal #jp-post-flair{display:none}.modal .content-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;padding:2.14286em}.modal .content{margin:0 auto;max-width:900px;text-align:left}.modal h2{text-align:left;margin-top:0;color:#5d6d74;font:300 32px "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 1px 1px #fff}@media (max-width: 530px){.modal h2{font-size:26px}}.modal h5{clear:left}.modal p{font-size:1.23077em}.modal footer{position:absolute;left:0;bottom:0;width:100%;padding:12px 20px;border-top:1px solid #ddd;background:#fff;text-align:right}.modal footer ul{margin:0}.modal footer li{display:inline-block;margin:0}.modal .button-secondary,.modal .button-primary:active{vertical-align:baseline}@media (max-width: 900px){.modal{bottom:5%;margin-left:36px;font-size:80%}.modal .content{top:38px}}@media (max-width: 782px){.modal{top:66px;margin-left:0}}@media (max-width: 600px){.modal{top:10px;right:10px;bottom:10px;left:10px}}.jp-info-img{float:right;margin:0 0 30px 30px}.jp-info-img img{border:1px solid #ddd;max-width:100%;height:auto}.jp-info-img img:first-child{margin-top:0}@media (max-width: 782px){.jp-info-img{float:none;margin:0 0 15px}}.content-container.modal-footer{bottom:53px}.shade{background:#000;bottom:0;cursor:pointer;display:none;left:0;opacity:0.2;position:fixed;right:0;top:0;z-index:11}.entry-title,.page-template-default h1{margin-top:0.61111em;color:#5d6d74;font:300 2.57143em/1.4em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 1px 1px #fff}@media (max-width: 530px){.entry-title,.page-template-default h1{font-size:2em}}.blog h3,.single h3,.page-template-default h2{margin-top:0.61111em;color:#5d6d74;font:300 1.9em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;text-shadow:0 1px 1px #fff}@media (max-width: 530px){.blog h3,.single h3,.page-template-default h2{font-size:1.4em}}.page-template-default p{line-height:1.71429em}.blog .type-post,.page-template-default .type-page,.single .type-post,.single .type-jetpack_support{float:left;width:70%}.footer{margin-top:1.42857em;position:relative;padding:10em 0 4.28571em;text-align:center}.footer:before,.footer:after{content:'';position:absolute;left:0;pointer-events:none}.footer:before{top:0;margin-top:-1px;width:100%;height:195px}.footer:after{bottom:0;width:100%;height:50px;background:url("../images/the-footcloud.svg") center bottom no-repeat;background-size:auto 45px;z-index:1}.footer .download-jetpack{margin-bottom:33px}@media (max-width: 1147px){.footer{padding-top:165px;padding-bottom:0}.footer:before{background-size:160% auto}.footer:after{display:none}.footer ul{float:none;overflow:hidden}}@media (max-width: 900px){.footer{padding-top:146px}}@media (max-width: 782px){.footer{margin-top:0}}@media (max-width: 530px){.footer{margin-top:0;padding-top:135px}}@media (max-width: 320px){.footer{padding-top:76px}}.footer nav{max-width:100%}.footer nav a,.footer nav a:visited{padding:4px 6px;color:#999}.footer nav a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#81A844}@media (max-width: 1147px){.footer nav{border:none;padding:0}.footer nav a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#fff}}@media (max-width: 530px){.footer nav li{display:block;float:none;margin:0;text-align:left}.footer nav a{display:block;padding:0 16px;line-height:44px}}.primary{padding:25px 15px 10px 15px;border-bottom:1px solid #eee}.secondary-footer{margin:0 auto}.secondary-footer li{margin-right:5px}@media (max-width: 1147px){.secondary-footer{margin:0 30px;padding:8px 15px 30px}}@media (max-width: 530px){.secondary-footer{margin:0;padding:0;border:none;font-weight:400}.secondary-footer a{border-top:1px solid #eee}}.footer .a8c-attribution{margin:0;padding:0 6px;color:#bbb;font-size:0.78571em;font-family:"Gill Sans","Gill Sans MT","Open Sans",Helvetica,Arial,sans-serif;text-transform:uppercase}.footer .a8c-attribution a{display:inline-block;position:relative;padding:4px 16px;right:9999px;outline:0}.footer .a8c-attribution a:after{content:'A';position:absolute;top:2px;right:-9999px;height:100%;color:#999;font-size:1.54545em;font-family:"automatticons";text-align:center}.footer .a8c-attribution a:hover:after{-webkit-animation:candy .4s ease-in-out;animation:candy .4s ease-in-out}.secondary{padding:10px 15px 0 15px}.jetpack-message{background:#8eb74e;border:1px solid #73963d;margin:33px auto 0;max-width:90%;position:relative;z-index:2}.jetpack-message.is-opt-in{margin:50px 0 0;max-width:100%;padding:10px 15px;background:#fff;border:0;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);font-size:13px;text-align:center}.subhead .jetpack-message.is-opt-in{margin:0;padding-bottom:0;background:transparent;box-shadow:none}.subhead .jetpack-message.is-opt-in .jp-button,.subhead .jetpack-message.is-opt-in .jp-button--settings{display:inline-block}.jetpack-message.is-opt-in p{color:#3c4549}.jetpack-message.is-opt-in .jp-button,.jetpack-message.is-opt-in .jp-button--settings{margin-top:15px;display:none}.jetpack-message h4{color:#fff;margin:0}.jetpack-message p{color:#fff;margin:0;opacity:0.7}.jetpack-message .squeezer{padding:23px 23px 23px 80px;position:relative;text-align:left}.jetpack-message .squeezer:before{color:#fff;content:'\f418';font-family:'Genericons';font-size:33px;height:33px;left:25px;opacity:0.6;position:absolute;top:23px;top:calc( 50% - 22px )}@media (max-width: 530px){.jetpack-message .squeezer{padding:23px}.jetpack-message .squeezer:before{display:none}}.jetpack-message .squeezer a{color:#FFF;border-bottom:1px solid #D5E4BD}.jetpack-message .squeezer a:hover{border-bottom:1px solid #F1F6E9}.jetpack-message.error .squeezer:before,.jetpack-message.jetpack-err .squeezer:before{content:'\f414'}.configure-module .jetpack-message{max-width:100%}.modules h3.icon,.jetpack-modules .info a{width:auto}.modules h3.icon:before,.jetpack-modules .info a:before{display:inline-block;position:relative;top:1px;left:-3px;margin-right:2px;opacity:0.8;font:normal 20px "genericons";vertical-align:top}.jetpack-modules .info a:before{margin-top:1px}.latex:before,.jetpack-modules #latex .info a:before{content:'\f408'}.carousel:before,.jetpack-modules #carousel .info a:before{content:'\f102'}.modules h3.contact-form:before,.jetpack-modules #contact-form .info a:before{content:'\f175';font:normal 20px "dashicons"}.modules h3.custom-css:before,.jetpack-modules #custom-css .info a:before{content:'\f100';font:normal 20px "dashicons"}.modules h3.enhanced-distribution:before,.jetpack-modules #enhanced-distribution .info a:before{content:'\f237';font:normal 20px "dashicons"}.modules h3.widgets:before,.jetpack-modules #widgets .info a:before{content:'\f116';font:normal 20px "dashicons"}.modules h3.gravatar-hovercards:before,.jetpack-modules #gravatar-hovercards .info a:before{content:'G';font-family:"automatticons"}.infinite-scroll:before,.jetpack-modules #infinite-scroll .info a:before{content:'\f408'}.comments:before,.jetpack-modules #comments .info a:before{content:'\f108'}.sso:before,.jetpack-modules #sso .info a:before{content:'\f205'}.json-api:before,.jetpack-modules #json-api .info a:before{content:'\f415'}.likes:before,.jetpack-modules #likes .info a:before{content:'\f408'}.markdown:before,.jetpack-modules #markdown .info a:before{content:'\f462'}.minileven:before,.jetpack-modules #minileven .info a:before{content:'\f453'}.manage:before,.jetpack-modules #manage .info a:before{content:'\f205'}.monitor:before,.jetpack-modules #monitor .info a:before{content:'\f468'}.notes:before,.jetpack-modules #notes .info a:before{content:'\f300'}.omnisearch:before,.jetpack-modules #omnisearch .info a:before{content:'\f400'}.photon:before,.jetpack-modules #photon .info a:before{content:'\f403'}.post-by-email:before,.jetpack-modules #post-by-email .info a:before{content:'\f410'}.protect:before,.jetpack-modules #protect .info a:before{content:'\f470';position:relative;top:-1px}.modules h3.publicize:before,.jetpack-modules #publicize .info a:before{content:'\f237';font:normal 20px "dashicons"}.related-posts:before,.jetpack-modules #related-posts .info a:before{content:'\f420'}.sharedaddy:before,.jetpack-modules #sharedaddy .info a:before{content:'\f415'}.shortcodes:before,.jetpack-modules #shortcodes .info a:before{content:'\f100'}.verification-tools:before,.jetpack-modules #verification-tools .info a:before{content:'\f425'}.after-the-deadline:before,.jetpack-modules #after-the-deadline .info a:before{content:'\f411'}.subscriptions:before,.jetpack-modules #subscriptions .info a:before{content:'\f410'}.tiled-gallery:before,.jetpack-modules #tiled-gallery .info a:before{content:'\f103'}.modules h3.vaultpress:before,.jetpack-modules #vaultpress .info a:before{content:'V';font-family:"automatticons"}.videopress:before,.jetpack-modules #videopress .info a:before{content:'\f104'}.modules h3.widget-visibility:before,.jetpack-modules #widget-visibility .info a:before{content:'\f116';font:normal 20px "dashicons"}.stats:before,.jetpack-modules #stats .info a:before{content:'\f205'}.shortlinks:before,.jetpack-modules #shortlinks .info a:before{content:'\f107'}.modules h3.custom-content-types:before,.jetpack-modules #custom-content-types .info a:before{content:'\f498';font:normal 20px "dashicons"}.modules h3.site-icon:before,.jetpack-modules #site-icon .info a:before{content:'\f475'}@media (max-width: 782px){.blog .type-post,.page-template-default .type-page,.single .type-post,.single .type-jetpack_support{width:100%}}@media (max-width: 600px){.clouds-sm{display:none}}@media (max-width: 530px){.wrap.inner.jp-support .jp-support-column-left{width:100%}.wrap.inner.jp-support .jp-support-column-left .widget-text{margin-right:0;width:100%}.wrap.inner.jp-support .jp-support-column-right{width:100%}}@media screen and (max-width: 400px){.jp-frame .header-nav{padding-bottom:10px}.jp-frame .header-nav li{line-height:30px}.jp-frame .header-nav .jetpack-logo{width:100%;text-align:center}.jp-frame .header-nav .jetpack-modules{margin:0;width:50%;text-align:right;padding:0 5px}.jp-frame .header-nav .jetpack-modules+.jetpack-modules{text-align:left}}@media (max-width: 320px){.jetpack_page_jetpack_modules .wrap{padding:0 0 1em}}.page-content.configure{margin-top:0}.configure .frame.top{border:none;box-shadow:none;padding-top:1.42857em;position:relative;top:auto}.configure .frame.top.fixed{background:#f9f9f9;border-bottom:1px solid #e9e9e9;padding-left:160px;margin-top:-6px;position:fixed;right:0;top:32px;width:100%;z-index:4;box-shadow:0 2px 2px -2px #eee}@media (max-width: 782px){.configure .frame.top.fixed{border:none;box-shadow:none;padding-top:1.42857em;position:relative;top:auto}}@media (max-width: 600px){.configure .frame.top.fixed{top:0}}.configure .frame.top .tablenav.top{float:left}@media (max-width: 900px){.configure .frame.top .tablenav.top .actions{display:block}}@media (max-width: 782px){.configure .frame.top .tablenav.top .actions{margin-top:6px}}.jp-frame-top-fixed .configure{padding-top:94px}.filter-search{display:none;float:right;margin-top:10px}@media (max-width: 782px){.filter-search{display:block}}@media (max-width: 530px){.filter-search{display:none}}.module-actions.landing-page{float:right;margin-right:15px}.module-actions.landing-page a{font-size:0.6em}.table-bordered.jetpack-modules{border:none;margin-bottom:0}.table-bordered.jetpack-modules tr.jetpack-module th{border-left:0;padding:14px 4px 0}.table-bordered.jetpack-modules tr.jetpack-module th input{display:block}.table-bordered.jetpack-modules tr.jetpack-module:hover .genericon{display:inline-block}.table-bordered.jetpack-modules tr.jetpack-module:hover td .row-actions span a{opacity:1}.table-bordered.jetpack-modules tr.jetpack-module.active th,.table-bordered.jetpack-modules tr.jetpack-module.active td{background:#f7fcfe}.table-bordered.jetpack-modules tr.jetpack-module.active th{border-left:4px solid #2ea2cc;padding-left:0px}.table-bordered.jetpack-modules tr.jetpack-module.active td:first-child{border-left:4px solid #2ea2cc}.table-bordered.jetpack-modules tr.jetpack-module.unavailable{opacity:0.3}.table-bordered.jetpack-modules tr.jetpack-module.unavailable input{display:none}.table-bordered.jetpack-modules tr.jetpack-module#vaultpress{opacity:1}.table-bordered.jetpack-modules tr.jetpack-module th,.table-bordered.jetpack-modules tr.jetpack-module td{background:#fff;margin:0;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1)}.table-bordered.jetpack-modules tr.jetpack-module td{padding:10px 10px 8px 14px;line-height:25px}.table-bordered.jetpack-modules tr.jetpack-module td:first-child{border-left:4px solid #fff}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{float:right;padding:0 0 1px;visibility:visible}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span{margin-left:5px}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span a{opacity:0}.table-bordered.jetpack-modules tr.jetpack-module td .row-actions span a:focus{opacity:1}@media (max-width: 530px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:none}}@media (max-width: 782px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:block;padding-left:10px;visibility:visible}}.table-bordered.jetpack-modules>thead>tr>th{border:0;vertical-align:middle}.table-bordered.jetpack-modules>thead>tr>th:last-child{padding-right:0}@media (max-width: 782px){.table-bordered.jetpack-modules>thead>tr>th:last-child{padding-left:0}}.table-bordered.jetpack-modules td{background:#fff}.table-bordered.jetpack-modules #doaction{margin-top:0}@media (max-width: 782px){.table-bordered.jetpack-modules #doaction{padding:10px 7px}}.table-bordered.jetpack-modules .checkall{margin-top:1px}.table-bordered.jetpack-modules .filter-search{margin-top:8px}.table-bordered.jetpack-modules .genericon{color:#999;display:none;margin:7px 3px 0}@media (max-width: 900px){.table-bordered.jetpack-modules .genericon{display:inline-block}}.table-bordered.jetpack-modules .med{width:70px}.table-bordered.jetpack-modules .sm{width:30px}@media (max-width: 782px){.table-bordered.jetpack-modules .check-column{width:50px}}.fixed-top .check-column{padding:8px 10px 0 10px;width:2.2em}.wrap{margin:0;padding:0 1.5em 1em;overflow:hidden}.wrap h2{font-size:24px;font-weight:400}.wrap .manage-left{float:left;margin:0;padding:0;width:63%}.wrap .manage-left table{width:100%}.wrap .manage-left th{font-weight:400}@media (max-width: 782px){.wrap .manage-left{width:100%}}.wrap .manage-right{margin:0;padding:0;float:right;width:35%;z-index:1}.wrap .manage-right p{font-size:12px;font-weight:bold;color:#bbb;padding-top:2px;text-transform:uppercase;letter-spacing:1px;clear:left}.wrap .manage-right .bumper{margin-left:33px}.wrap .manage-right.show{display:block;position:fixed;overflow-y:auto;overflow-x:hidden;position:absolute}.wrap .manage-right .search-bar{margin-bottom:18px;max-width:300px}.wrap .manage-right p.search-box{float:none;height:auto;margin-bottom:0;position:relative}.wrap .manage-right p.search-box input[type='search']{padding:0 8px;width:90%;line-height:initial}@media (max-width: 782px){.wrap .manage-right p.search-box input[type='search']{float:left;padding:9px 8px}}.wrap .manage-right p.search-box input[type="submit"]{display:none}.wrap .manage-right .button-group .button{outline:none}.wrap .manage-right .subsubsub{margin:0;padding:0}.wrap .manage-right .subsubsub a{padding:0;line-height:inherit}.wrap .manage-right .subsubsub .current{padding:1px 5px;border-radius:2px;margin-left:-5px;background:#0D72B2;color:#FFF}.wrap .manage-right .subsubsub .current .count{color:#BCD7E7;font-weight:200}.wrap .manage-right .subsubsub li{display:block;text-align:left}@media (max-width: 782px){.wrap .manage-right{background:#fff;bottom:0;display:none;min-width:300px;position:fixed;right:0;top:0;z-index:13;box-shadow:0 1px 20px 5px rgba(0,0,0,0.1)}.wrap .manage-right .bumper{margin:13px}.wrap .manage-right .navbar-form{margin:0;padding:0}}.configure-module p{font-size:14px}.configure-module p.success,.configure-module p.error{color:#fff;padding:10px}.configure-module p.success{background-color:#81a844}.configure-module p.error{background-color:#d94f4f}.protect-status p{font-size:16px}.protect-status strong{display:inline-block;margin-top:10px;background:#fff;padding:10px;border:1px #ddd solid;font-size:16px;color:#000;max-width:100%}.protect-status.attn{color:#d94f4f}.protect-status.working{color:#81a844}#non-editable-whitelist{margin-top:15px}.protect-whitelist textarea{width:100%;min-height:150px}#editable-whitelist .whitelist-table{width:100%}.configure-module input[disabled]{opacity:.5}.configure-module input.button-primary{font-weight:bold}.whitelist-table{border-top:1px solid;border-right:1px solid;border-color:#ddd;background-color:#fff}.whitelist-table td,.whitelist-table th{padding:10px;margin:0;border-bottom:1px solid;border-left:1px solid;border-color:#ddd;font-size:14px}.whitelist-table th.heading{font-weight:bold;color:#5d6d74;text-align:left;background-color:#eee}.whitelist-table td.item-actions{border-left:none;text-align:right}.whitelist-table .toolbar{padding:0}.whitelist-table .add-btn{text-align:center;width:10%;border-left:1px #ddd solid}.ip-address,.enter-ip{width:90%;text-align:left;vertical-align:middle}.delete-ip-address{text-align:center;border:0;background:transparent;color:#6f7476;box-shadow:none;font-size:20px;margin:0;padding:0;cursor:pointer;border-radius:2px}.delete-ip-address:hover{background:#eee}.toolbar div{float:left;padding:10px}@media only screen and (min-width: 1100px){#non-editable-whitelist{width:28%;float:right;margin-top:0}.protect-whitelist{width:65%;float:left}}@media only screen and (max-width: 1130px){.enter-ip input[type="text"]{max-width:175px}}@media only screen and (max-width: 1250px) and (min-width: 1065px), (max-width: 730px) and (min-width: 600px){.enter-ip{width:85%}.add-btn{width:15%}}@media only screen and (max-width: 782px){.add-btn{text-align:right}.add-btn .ip-add{margin-top:4px;margin-bottom:3px}}@media only screen and (max-width: 730px){.add-btn{text-align:center}}@media only screen and (max-width: 665px) and (min-width: 600px){.enter-ip input[type="text"]{max-width:165px}}@media only screen and (max-width: 600px){.toolbar div{width:100%}.add-btn{border-top:1px #ddd solid}.enter-ip{text-align:center}.enter-ip strong{display:block;margin-bottom:5px}.enter-ip input[type="text"]{width:100%;max-width:100%}.add-btn input,.enter-ip .button{width:50%;margin:0 auto}.enter-ip .button{margin-top:10px}}@media only screen and (max-width: 400px){.protect-status strong{font-size:12px;overflow:auto}.add-btn input,.enter-ip .button{width:100%}}.jp-content .hide{display:none}.jp-content .pointer{cursor:pointer}.jp-content .landing{margin:0 auto;z-index:2;position:relative}.jp-content h1{font:300 2.57143em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;position:relative;z-index:3;width:100%;text-align:center}.jp-content h1.success{color:#81a844}.jp-content .footer{padding-top:0;margin-top:0;background-image:none}.jp-content .footer:before{height:inherit}.jp-content .more-info:before{content:none}.landing .wpcom-connect{min-height:400px}.wpcom-connect .j-col{padding:0}.wpcom-connect .connect-desc{padding-right:25px}.wpcom-connect .connect-btn{text-align:center}.module-grid h2{color:#000;font:300 2.57143em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif}.download-jetpack{margin-top:1em !important}#jump-start-area{margin-top:35px;padding-left:60px;padding-right:60px;background:#fefefe;border:1px #dae0e2 solid;padding-bottom:20px}#jump-start-area #jumpstart-cta,#jump-start-area .jumpstart-desc{padding:0}#jump-start-area p{font-size:14px;line-height:185%}#jump-start-area .spinner{float:none;margin:0 auto;position:absolute;bottom:0;height:100%;width:100%;background-position:50% 56%;background-color:rgba(254,254,254,0.99);display:block;opacity:.9}.jumpstart-message p{padding-right:25px}.jumpstart-desc{text-align:left}#jumpstart-cta{text-align:center}.dismiss-jumpstart{color:#999;font-size:14px}#jumpstart-cta .button,#jumpstart-cta .button-primary{margin:1em;font-size:18px;height:45px !important;padding:8px 15px 1px}#jumpstart-cta .button-primary{display:block;margin:35px 20px 5px 20px}#jp-config-list{position:relative;padding-top:15px;padding-bottom:15px;margin-left:-15px;margin-right:-15px}#jp-config-list .j-col{padding:15px}#jp-config-list strong{display:inline-block}#jp-config-list small{display:block;margin-top:5px;line-height:150%}#jp-config-list .close{position:absolute;top:10px;right:0;text-transform:uppercase;font-weight:bold;display:block;z-index:5}.jp-config-status{text-transform:uppercase;font-size:10px;font-weight:bold;line-height:100%;color:#fff;background:#9fbd72;border-radius:2px;padding:2px 4px;display:inline-block}.miguel{display:none;position:fixed;opacity:.35;bottom:-200px;left:0;z-index:1;-webkit-animation:miguel 3.4s 0s ease-in-out;animation:miguel 3.4s 0s ease-in-out}.miguel:nth-child(2){left:49%;width:120px;height:131px;-webkit-animation-duration:2.4s;animation-duration:2.4s;-webkit-animation-delay:0s;animation-delay:0s}.miguel:nth-child(3){left:23%;width:60px;height:66px;-webkit-animation-duration:4.5s;animation-duration:4.5s;-webkit-animation-delay:0s;animation-delay:0s}@-webkit-keyframes "miguel"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(900px, -900px, 0px);transform:translate3d(900px, -900px, 0px)}}@keyframes "miguel"{0%{-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px)}100%{-webkit-transform:translate3d(900px, -900px, 0px);transform:translate3d(900px, -900px, 0px)}}@media (max-width: 1147px){.jp-content .landing{padding:0 2em}.jp-content .footer{padding-top:1.5em}}@media (max-width: 782px){#jumpstart-cta .button-primary{margin:10px 0 5px 0}#jump-start-area .spinner{background-position:50% 35%}}@media (max-width: 530px){.jp-content .landing{padding:0 .5em}#jump-start-area{padding:0 1em}.jumpstart-message p{padding-right:0}#jumpstart-cta .button-primary{margin:0 0 5px 0;padding-bottom:10px}.footer .a8c-attribution a:after{top:6px}}.nav-horizontal:before,.features:before,.modules:before,.load-more:before,.nav-horizontal:after,.features:after,.modules:after,.load-more:after{content:"";display:table}.nav-horizontal:after,.features:after,.modules:after,.load-more:after{clear:both}
2
 
3
  /*# sourceMappingURL=jetpack-admin.min.css.map */
css/jetpack-admin.min.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../scss/atoms/typography/_typography.scss","../scss/atoms/_media.scss","../scss/atoms/_animations.scss","../scss/atoms/_buttons.scss","../scss/_utilities/mixins/_breakpoint.scss","../scss/atoms/icons/_automatticons.scss","../scss/atoms/icons/_jetpack.scss","../scss/molecules/_nav-horizontal.scss","../scss/templates/_main.scss","../scss/_utilities/mixins/_gradient--vertical.scss","../scss/templates/_settings.scss","../scss/_utilities/_clearings.scss"],"names":[],"mappings":"AAQA,kCAKC,WACA,CAAA,kDACA,CAAA,cACA,CAAA,eACA,CAAA,kCAQD,CAAA,iBAMC,WACA,CAAA,UAQD,CAAA,CACC,cACA,CAAA,oBACA,CAAA,oBAEA,CAAA,SACC,cAED,CAAA,OACC,cAED,CAAA,OACC,oBASF,CAAA,OACC,iBAOD,CAAA,mBAEC,YAGD,CAAA,GACC,gBACA,CAAA,oBAOD,CAAA,EACC,gBAQD,CAAA,QACC,SACA,CAAA,QACA,CAAA,SAID,CAAA,QACC,gBAID,CAAA,EACC,cACA,CAAA,UACA,CAAA,QACA,CAAA,yBACA,CAAA,YACA,CAAA,SCzGD,CAAA,GACC,sBCDD,CAAA,yBACC,GACC,6BAAA,CAED,oBAAA,CAAA,GACC,8BAAA,CAED,qBAAA,CAAA,IACC,2BAAA,CAAmB,kBAAA,CARrB,AAQqB,CAIrB,iBAXC,GACC,6BAAA,CAED,oBAAA,CAAA,GACC,8BAAA,CAED,qBAAA,CAAA,IACC,2BAAA,CAAmB,kBAAA,CAAA,AAIrB,CAAA,0BACC,GACC,2BAAA,CAED,kBAAA,CAAA,GACC,8BAAA,CAED,qBAAA,CAAA,GACC,8BAAA,CAED,qBAAA,CAAA,IACC,2BAAA,CAAmB,kBAAA,CAXrB,AAWqB,CAIrB,kBAdC,GACC,2BAAA,CAED,kBAAA,CAAA,GACC,8BAAA,CAED,qBAAA,CAAA,GACC,8BAAA,CAED,qBAAA,CAAA,IACC,2BAAA,CAAmB,kBAAA,CAAA,AAIrB,CAAA,0BACE,GACA,6CAAA,CAED,oCAAA,CAAA,IACC,kDAAA,CAA0C,yCAAA,CAL5C,AAK4C,CCjC5C,kBD6BE,GACA,6CAAA,CAED,oCAAA,CAAA,IACC,kDAAA,CAA0C,yCAAA,CAAA,ACjC5C,CAAA,yBAEC,+BAED,CAAA,+BACC,qBACA,CAAA,iBACA,CAAA,2BACA,CAAA,aACA,CAAA,4DACA,CAAA,qCACA,CAAA,kBACA,CAAA,iBAEA,CAAA,+CACC,cAED,CAAA,uFAEC,WACA,CAAA,kBAED,CAAA,6CACC,mBACA,CAAA,WAGF,CAAA,oBAEC,mBACA,CAAA,aAEA,CAAA,4BACC,cAED,CAAA,qDAEC,mBACA,CAAA,UAED,CAAA,4BACC,mBACA,CAAA,UACA,CAAA,yDAKF,CAAA,iBACC,qBACA,CAAA,iBACA,CAAA,qCACA,CAAA,UACA,CAAA,kEACA,CAAA,kBACA,CAAA,SACA,CAAA,iBACA,CAAA,oDAIA,CAAA,yBACC,WAED,CAAA,+CAEC,WACA,CAAA,kBACA,CAAA,oDAID,CAAA,wBACC,QACA,CAAA,gDAIA,CAAA,8BAEC,SAGF,CAAA,wBACC,WACA,CAAA,oBACA,CAAA,iBACA,CAAA,QACA,CAAA,iBACA,CAAA,UACA,CAAA,WACA,CAAA,qBACA,CAAA,oEACA,CAAA,oBAED,CAAA,uBAEC,WACA,CAAA,iBACA,CAAA,KACA,CAAA,MACA,CAAA,UACA,CAAA,WC7EC,CAAA,0BDuBH,kBAyDE,gBAEA,CAAA,wBACC,SACA,CAAA,UACA,CAAA,WAAY,CCrFZ,ADqFY,CCrFZ,yBDyFD,yBACC,MAAM,CC1FN,AD0FM,CC1FN,yBDuBH,kBAuEE,oBACA,CAAA,eAEA,CAAA,wBACC,WACA,CAAA,WACA,CAAA,gBAAiB,CAAA,AAIpB,CAAA,aACC,qBACA,CAAA,WACA,CAAA,iBACA,CAAA,uBACA,CAAA,aACA,CAAA,mDACA,CAAA,qCACA,CAAA,kBACA,CAAA,YACA,CAAA,iBAEA,CAAA,qBACC,cAED,CAAA,uCAEC,WACA,CAAA,kBAED,CAAA,oBACC,YEjJF,CAAA,UACC,4BACA,CAAA,wDACA,CAAA,gUAIA,CAAA,kBACA,CAAA,iBCbD,CAAA,UACC,sBACA,CAAA,4CACA,CAAA,mQAIA,CAAA,kBACA,CAAA,iBAGD,CAAA,qDACC,WACC,sBACA,CAAA,kEAAmE,CAAA,ACXpE,CAAA,iBACC,qBAED,CAAA,kBACC,kBACA,CAAA,UAED,CAAA,kBACC,SACA,CAAA,SCdF,CAAA,kBAGC,2BAAA,CAID,qBAAA,CAAA,gBACC,mBACA,CAAA,UACA,CAAA,gBAHD,AASA,CAAA,WARC,mBACA,CAAA,UACA,CAAA,gBAMD,CAAA,eACC,iBAED,CAAA,UACC,kBACA,CAAA,SAGD,CAAA,0CACC,2BAGD,CAAA,kBACC,iBAED,CAAA,SACC,aAGD,CAAA,WACC,mBACA,CAAA,QACA,CAAA,WACA,CAAA,eACA,CAAA,UACA,CAAA,UACA,CAAA,kCAEA,CAAA,oBACC,mBJlBC,CAAA,yBIsBH,yFAME,iBACA,CAAA,cAAe,CJ7Bd,AI6Bc,CJ7Bd,yBIsBH,yFAUE,cAAc,CJhCb,AIgCa,CJhCb,yBIoCH,4BAEE,eAAe,CAAA,AAUjB,CAAA,yBAEC,gBACA,CAAA,aAEA,CAAA,+BACC,iBJtDC,CAAA,yBI0DH,cAEE,aAAa,CJ5DZ,AI4DY,CJ5DZ,0BIgEH,YAEE,mBACA,CAAA,YAAa,CJnEZ,AImEY,CJnEZ,yBIgEH,YAME,qBAAoB,CAAA,AAKrB,CAAA,yCACC,eACA,CAAA,QAED,CAAA,2CACC,iBACA,CAAA,gBACA,CAAA,QAIF,CAAA,mBACC,kBACA,CAAA,UJxFE,CAAA,0BIsFH,oBAKE,mBACA,CAAA,YAAa,CJ5FZ,AI4FY,CJ5FZ,0BIgGH,wBAEE,mBAAmB,CAAA,AAIrB,CAAA,WACC,gBACA,CAAA,aAQD,CAAA,OACC,OACA,CAAA,OAGA,CAAA,cACC,iBAED,CAAA,aACC,oBACA,CAAA,gBAGA,CAAA,2BACC,qBACA,CAAA,iBACA,CAAA,WACA,CAAA,gBACA,CAAA,0BACA,CAAA,UACA,CAAA,gBACA,CAAA,kBACA,CAAA,mBAEA,CAAA,kCACC,WACA,CAAA,iBACA,CAAA,KACA,CAAA,MACA,CAAA,UACA,CAAA,WACA,CAAA,kEACA,CAAA,uEACA,CAAA,0BAMJ,CAAA,SACC,WAEA,CAAA,YACC,SJ3JC,CAAA,yBIuJH,UAOE,eAAe,CAAA,AAIjB,CAAA,SACC,YAEA,CAAA,YACC,SAMD,CAAA,gCACC,SAED,CAAA,0DACC,UAED,CAAA,4FACC,YAED,CAAA,+BACC,aAQF,CAAA,SAKC,kBACA,CAAA,iBACA,CAAA,SACA,CAAA,wBACA,CAAA,uDAGC,CAAA,0BACC,cAED,CAAA,4BACC,iBJ9MA,CAAA,yBI6MD,6BAIE,iBACA,CAAA,SAAU,CAAA,AAIb,CAAA,yBAEC,cAED,CAAA,YACC,0BACA,CAAA,oBACA,CAAA,UACA,CAAA,8EACA,CAAA,iBACA,CAAA,sCACA,CAAA,SAEA,CAAA,mBACC,iBJpOA,CAAA,0BI0NF,aAaE,sBACA,CAAA,mBAAmB,CJxOnB,AIwOmB,CJxOnB,yBI0NF,aAiBE,gBACA,CAAA,cAAe,CJ5Of,AI4Oe,CJ5Of,yBI0NF,aAqBE,cACA,CAAA,qBACA,CAAA,cACA,CAAA,eAAgB,CAAA,AAInB,CAAA,+BACC,mBACA,CAAA,eAED,CAAA,MACC,kBACA,CAAA,gBACA,CAAA,aJ7PE,CAAA,yBI0PH,OAME,aAAa,CAAA,AAGf,CAAA,MACC,kBACA,CAAA,aACA,CAAA,OACA,CAAA,SACA,CAAA,2CAAA,CAEA,mCAAA,CAAA,mBACC,SACA,CAAA,WACA,CAAA,YACA,CAAA,4BAAA,CACA,oBAAA,CAAA,+BAAA,CAED,uBAAA,CAAA,mBACC,SACA,CAAA,UACA,CAAA,WACA,CAAA,4BAAA,CACA,oBAAA,CAAA,+BAAA,CAGF,uBAAA,CAAA,QACC,kBACA,CAAA,gBACA,CAAA,aACA,CAAA,kBACA,CAAA,SAEA,CAAA,WACC,gBACA,CAAA,aACA,CAAA,8EACA,CAAA,0BJpSC,CAAA,yBIgSF,YAOE,gBACA,CAAA,cAAe,CJxSf,AIwSe,CJxSf,yBIgSF,YAWE,aAAa,CAAA,AAGf,CAAA,cACC,WACA,CAAA,iBACA,CAAA,WACA,CAAA,MACA,CAAA,kBACA,CAAA,UACA,CAAA,YACA,CAAA,gEACA,CAAA,mBACA,CAAA,UJxTC,CAAA,0BIyRH,SAkCE,iBACA,CAAA,mBAEA,CAAA,cACC,0BAA0B,CJ/T1B,AI+T0B,CJ/T1B,yBIyRH,SA0CE,iBACA,CAAA,mBAAoB,CJpUnB,AIoUmB,CJpUnB,yBIyRH,SA8CE,gBACA,CAAA,sBAAuB,CAAA,AAGzB,CAAA,UAIC,aACA,CAAA,iBACA,CAAA,iBACA,CAAA,SACA,CAAA,wBAMA,CALA,uDAOA,CAAA,gBACC,WACA,CAAA,iBACA,CAAA,QACA,CAAA,MACA,CAAA,kBACA,CAAA,UACA,CAAA,YACA,CAAA,mEACA,CAAA,mBACA,CAAA,SJrWC,CAAA,yBI2UH,WA6BE,UAAU,CAAA,AAQZ,CAAA,SACC,6BACA,CAAA,+BACA,CAAA,eACA,CAAA,iBACA,CAAA,2BACA,CAAA,iBACA,CAAA,SAGA,CAAA,gBACC,WACA,CAAA,aACA,CAAA,iBACA,CAAA,KACA,CAAA,WACA,CAAA,UAED,CAAA,sCACC,cACA,CAAA,oBJpYC,CAAA,yBIgXH,UAuBE,aAAa,CAAA,AAGf,CAAA,4BAEC,qBACA,CAAA,aACA,CAAA,8EACA,CAAA,iBACA,CAAA,0BJhZE,CAAA,yBI0YH,6BASE,eAAe,CJnZd,AImZc,CJnZd,yBI0YH,6BAYE,eAAe,CAAA,AAGjB,CAAA,kBACC,cAGD,CAAA,gBAEC,kBACA,CAAA,UACA,CAAA,iBACA,CAAA,WACA,CAAA,8BJnaE,CAAA,0BI6ZH,iBASE,wBACA,CAAA,gBACA,CAAA,eAEA,CAAA,gDACC,cAED,CAAA,4BACC,MACA,CAAA,eAAgB,CAAA,AAInB,CAAA,QACC,gCAAA,CAEA,uBAAA,CAAA,WACC,qBACA,CAAA,aACA,CAAA,mBACA,CAAA,eACA,CAAA,eAED,CAAA,UACC,SACA,CAAA,aAED,CAAA,eACC,WACA,CAAA,iBACA,CAAA,QACA,CAAA,MACA,CAAA,UACA,CAAA,WACA,CAAA,2BACA,CAAA,UACA,CAAA,+BAAA,CACA,uBAAA,CAAA,8BAGD,CAAA,cACC,mCAAA,CAEA,8BAFA,CAEA,0BAAA,CAAA,iBACC,cAED,CAAA,2BACC,sBACA,CAAA,kBAED,CAAA,yBACC,YAED,CAAA,qBACC,kCAAA,CJ5dA,6BI4dA,CJ5dA,yBAAA,CAAA,0BI+dA,kBACC,cAED,CAAA,2BACC,sBACA,CAAA,kBAED,CAAA,yBACC,YAAY,CAAA,AAKf,CAAA,qBACC,gBACA,CAAA,UACA,CAAA,WACA,CAAA,qBACA,CAAA,kBAEA,CAAA,gCACC,qDACA,CAAA,yBAEA,CAAA,uJAJD,iCASE,oDAAoD,CAAA,AAGtD,CAAA,uCACC,4DACA,CAAA,yBAEA,CAAA,uJAJD,wCASE,2DAA2D,CAAA,AAG7D,CAAA,qCACC,0DACA,CAAA,yBAEA,CAAA,uJAJD,sCASE,yDAAyD,CAAA,AAG3D,CAAA,+BAGC,YACA,CAAA,kBAIH,CAAA,oBACC,cACA,CAAA,+BACA,CAAA,qBACA,CAAA,kBAEA,CAAA,mCACC,gBACA,CAAA,iBJviBC,CAAA,0BIqiBF,oCAKE,sBACA,CAAA,kBAAmB,CJ3iBnB,AI2iBmB,CJ3iBnB,yBI+hBH,qBAgBE,iBAAiB,CAAA,AAQnB,CAAA,IACC,WACA,CAAA,kBAEA,CAAA,OACC,eACA,CAAA,eACA,CAAA,mBACA,CAAA,eAED,CAAA,WACC,WAGF,CAAA,YACC,kBAEA,CAAA,eAEC,0BJ1kBC,CAAA,yBIwkBF,gBAKE,gBACA,CAAA,cAAe,CAAA,AAIlB,CAAA,cACC,kBACA,CAAA,UACA,CAAA,oBACA,CAAA,uBACA,CAAA,eAED,CAAA,eACC,SACA,CAAA,2BACA,CAAA,UACA,CAAA,wBACA,CAAA,iBACA,CAAA,eACA,CAAA,aACA,CAAA,eAEA,CAAA,qBACC,cACA,CAAA,YAEA,CAAA,2BACC,uBACA,CAAA,SAGF,CAAA,0CACC,cAED,CAAA,iCACC,cAED,CAAA,iCACC,cAED,CAAA,qCACC,cAED,CAAA,qBACC,kBACA,CAAA,OACA,CAAA,SACA,CAAA,UACA,CAAA,UACA,CAAA,aACA,CAAA,mBACA,CAAA,mBACA,CAAA,iBACA,CAAA,8BAEA,CAAA,2BACC,gBACA,CAAA,iBACA,CAAA,UACA,CAAA,gBACA,CAAA,OACA,CAAA,mBACA,CAAA,kBACA,CAAA,wBAIH,CAAA,UACC,wBACA,CAAA,aAEA,CAAA,YACC,qBACA,CAAA,iBACA,CAAA,2BACA,CAAA,UACA,CAAA,8DACA,CAAA,2CACA,CAAA,eAEA,CADA,iBAIA,CAFA,2BAIA,CAAA,2DAGC,cACA,CAAA,qCACA,CAAA,kBJvqBA,CAAA,yBIopBF,aAsBE,mBAAmB,CAAA,AAQtB,CAAA,OACC,eACA,CAAA,aACA,CAAA,+BACA,CAAA,eACA,CAAA,wBACA,CAAA,eACA,CAAA,iCACA,CAAA,6BAEA,CAAA,aACC,qBACA,CAAA,kBAED,CAAA,yBACC,aAED,CAAA,UACC,iBACA,CAAA,aACA,CAAA,mBACA,CAAA,iBACA,CAAA,eAED,CAAA,SACC,SACA,CAAA,aACA,CAAA,mBAED,CAAA,2BACC,qBACA,CAAA,kBAED,CAAA,yBACC,aAGD,CAAA,cACC,qBACA,CAAA,gCAEA,CAAA,oBACC,qBACA,CAAA,gCJ7tBA,CAAA,0BImuBA,6BACC,wBAED,CAAA,8BACC,cAAc,CJvuBf,AIuuBe,CJvuBf,yBIiuBF,aAUE,kBAEA,CAAA,4BACC,kBAED,CAAA,4BACC,cAAc,CJjvBf,AIivBe,CJjvBf,yBIiuBF,aAoBE,aAEA,CAAA,4BACC,cAED,CAAA,4BACC,cAAc,CJ3vBf,AI2vBe,CJ3vBf,yBIkrBH,QA8EE,kBACA,CAAA,SAEA,CAAA,uBACC,eAED,CAAA,uBACC,cAAc,CJvwBd,AIuwBc,CJvwBd,yBIkrBH,QAyFE,aACA,CAAA,UAEA,CAAA,uBACC,cAED,CAAA,uBACC,cAAc,CAAA,AAIjB,CAAA,IAGC,kBAEA,CAAA,UACC,cACA,CAAA,iBACA,CAAA,QACA,CAAA,UACA,CAAA,gBACA,CAAA,UACA,CAAA,WACA,CAAA,UACA,CAAA,aACA,CAAA,eACA,CAAA,iBACA,CAAA,oCACA,CAAA,iEACA,CAAA,oBACA,CAAA,iBAGF,CAAA,KACC,qBACA,CAAA,iBACA,CAAA,OACA,CAAA,gBACA,CAAA,qBACA,CAAA,WACA,CAAA,UACA,CAAA,sDACA,CAAA,qCACA,CAAA,kBACA,CAAA,kBAEA,CAAA,wBAEC,kBACA,CAAA,KACA,CAAA,UACA,CAAA,kCAED,CAAA,YACC,gBACA,CAAA,aACA,CAAA,gBAED,CAAA,WACC,gBACA,CAAA,iBACA,CAAA,cAGF,CAAA,iBACC,gBAED,CAAA,UAGC,6BAID,CAAA,IACC,aAED,CAAA,SACC,cAOD,CAAA,QACC,WACA,CAAA,iBACA,CAAA,OACA,CAAA,UAEA,CAAA,aACC,WAGF,CAAA,MACC,gBACA,CAAA,cACA,CAAA,QACA,CAAA,WACA,CAAA,UACA,CAAA,SACA,CAAA,iBACA,CAAA,YACA,CAAA,yCACA,CAAA,WAEA,CAAA,aACC,kBACA,CAAA,KACA,CAAA,OACA,CAAA,0CACA,CAAA,UACA,CAAA,eACA,CAAA,oBACA,CAAA,qCACA,CAAA,SAEA,CAAA,mBACC,gBACA,CAAA,WAED,CAAA,oBACC,gBACA,CAAA,WAGF,CAAA,qBACC,aAED,CAAA,yBACC,kBACA,CAAA,KACA,CAAA,OACA,CAAA,QACA,CAAA,MACA,CAAA,aACA,CAAA,iBAED,CAAA,eACC,cACA,CAAA,eACA,CAAA,eAED,CAAA,SACC,gBACA,CAAA,YACA,CAAA,aACA,CAAA,mEACA,CAAA,0BJj6BC,CAAA,yBI45BF,UAQE,eAAe,CAAA,AAGjB,CAAA,QACC,oBAED,CAAA,aACC,kBACA,CAAA,MACA,CAAA,QACA,CAAA,UACA,CAAA,iBACA,CAAA,yBACA,CAAA,eACA,CAAA,gBAEA,CAAA,gBACC,SAED,CAAA,gBACC,qBACA,CAAA,QAGF,CAAA,sDAGC,wBJ/7BC,CAAA,yBI22BH,OAuFE,UACA,CAAA,gBACA,CAAA,aAEA,CAAA,eACC,SAAS,CJv8BT,AIu8BS,CJv8BT,yBI22BH,OAgGE,SACA,CAAA,aAAc,CJ58Bb,AI48Ba,CJ58Bb,yBI22BH,OAoGE,SACA,CAAA,UACA,CAAA,WACA,CAAA,SAAU,CAAA,AAGZ,CAAA,YACC,YACA,CAAA,oBAEA,CAAA,gBACC,sBACA,CAAA,cACA,CAAA,WAEA,CAAA,4BACC,aJ/9BA,CAAA,yBIq9BH,aAcE,WACA,CAAA,eAAgB,CAAA,AAGlB,CAAA,+BACC,YAED,CAAA,MACC,gBACA,CAAA,QACA,CAAA,cACA,CAAA,YACA,CAAA,MACA,CAAA,WACA,CAAA,cACA,CAAA,OACA,CAAA,KACA,CAAA,UAOD,CAAA,sCAEC,qBACA,CAAA,aACA,CAAA,8EACA,CAAA,0BJhgCE,CAAA,yBI2/BH,uCAQE,cAAc,CAAA,AAIhB,CAAA,6CAGC,qBACA,CAAA,aACA,CAAA,oEACA,CAAA,0BJ7gCE,CAAA,yBIugCH,8CASE,gBAAgB,CAAA,AAIlB,CAAA,wBACC,sBAGD,CAAA,mGAIC,WACA,CAAA,SAQD,CAAA,OACC,qBACA,CAAA,iBACA,CAAA,wBACA,CAAA,iBCjkCA,CAAA,wBACA,CAAA,uDDmkCA,CAAA,4BAEC,WACA,CAAA,iBACA,CAAA,MACA,CAAA,mBAED,CAAA,cACC,MACA,CAAA,eACA,CAAA,UACA,CAAA,YACA,CAAA,kEAED,CAAA,aACC,SACA,CAAA,UACA,CAAA,WACA,CAAA,qEACA,CAAA,yBACA,CAAA,SAED,CAAA,yBACC,mBJnkCC,CAAA,0BIqiCH,QAiCE,kBACA,CAAA,gBAEA,CAAA,cACC,0BAED,CAAA,aACC,aAED,CAAA,UACC,WACA,CAAA,eAAgB,CJjlChB,AIilCgB,CJjlChB,yBIqiCH,QAgDE,kBAAkB,CJrlCjB,AIqlCiB,CJrlCjB,yBIqiCH,QAmDE,aAAa,CJxlCZ,AIwlCY,CJxlCZ,yBIqiCH,QAsDE,aACA,CAAA,iBAAkB,CJ5lCjB,AI4lCiB,CJ5lCjB,yBIqiCH,QA0DE,iBAAiB,CAAA,AAGnB,CAAA,WACC,eACA,CAAA,aAEA,CAAA,mCAEC,gBACA,CAAA,aAEA,CAAA,+FAEC,WJ7mCA,CAAA,0BIkmCH,YAeE,YACA,CAAA,SAIC,CAAA,+FAEC,WAAW,CJxnCZ,AIwnCY,CJxnCZ,yBI6nCD,eACC,cACA,CAAA,UACA,CAAA,QACA,CAAA,eAED,CAAA,aACC,cACA,CAAA,cACA,CAAA,gBAAiB,CAAA,AAIpB,CAAA,QACC,4BACA,CAAA,+BAED,CAAA,iBACC,cAEA,CAAA,oBACC,iBJlpCC,CAAA,0BI8oCH,kBAOE,cACA,CAAA,qBAAsB,CJtpCrB,AIspCqB,CJtpCrB,yBI8oCH,kBAWE,SACA,CAAA,SACA,CAAA,WACA,CAAA,eAEA,CAAA,mBACC,6BAAwC,CAAA,AAI3C,CAAA,wBACC,sBACA,CAAA,aACA,CAAA,mBACA,CAAA,6EACA,CAAA,wBAEA,CAAA,0BAIC,qBACA,CAAA,iBACA,CAAA,gBACA,CAAA,YACA,CAAA,SAEA,CAAA,gCACC,YACA,CAAA,iBACA,CAAA,OACA,CAAA,aACA,CAAA,WACA,CAAA,UACA,CAAA,mBACA,CAAA,2BACA,CAAA,iBAGA,CAAA,sCACC,wCAAA,CJjsCD,+BAAA,CAAA,0BImqCH,yBAmCE,aAAa,CAAA,AAGf,CAAA,UACC,yBACA,CAAA,4BAQD,CAAA,gBACC,mBACA,CAAA,wBACA,CAAA,kBACA,CAAA,aACA,CAAA,iBACA,CAAA,SAEA,CAAA,0BACC,gBACA,CAAA,cACA,CAAA,iBACA,CAAA,eACA,CAAA,QACA,CAAA,sCACA,CAAA,cACA,CAAA,iBAGA,CAAA,mCACC,SACA,CAAA,gBACA,CAAA,sBACA,CAAA,eAEA,CAAA,uGACC,qBAGF,CAAA,4BACC,cAED,CAAA,qFACC,gBACA,CAAA,YAGF,CAAA,mBACC,WACA,CAAA,QAED,CAAA,kBACC,WACA,CAAA,QACA,CAAA,WAED,CAAA,0BACC,4BACA,CAAA,iBACA,CAAA,eAEA,CAAA,iCACC,WACA,CAAA,eACA,CAAA,wBACA,CAAA,cACA,CAAA,WACA,CAAA,SACA,CAAA,WACA,CAAA,iBACA,CAAA,QACA,CAAA,sBJhxCA,CAAA,yBIiwCF,2BAkBE,aAEA,CAAA,iCACC,aAAa,CAAA,AAGf,CAAA,4BACC,WACA,CAAA,+BACC,CAAA,kCACD,gCAGF,CAAA,qFAEC,gBAQF,CAAA,yCAEC,WAEA,CAAA,uDACC,qBACA,CAAA,iBACA,CAAA,OACA,CAAA,SACA,CAAA,gBACA,CAAA,WACA,CAAA,6BACA,CAAA,kBAIF,CAAA,+BACC,eAGD,CAAA,oDAEC,gBAED,CAAA,0DAEC,gBAED,CAAA,6EAEC,gBACA,CAAA,4BAED,CAAA,yEAEC,gBACA,CAAA,4BAED,CAAA,+FAEC,gBACA,CAAA,4BAED,CAAA,mEAEC,gBACA,CAAA,4BAED,CAAA,2FAEC,YACA,CAAA,2BAED,CAAA,wEAEC,gBAED,CAAA,0DAEC,gBAED,CAAA,gDAEC,gBAED,CAAA,0DAEC,gBAED,CAAA,oDAEC,gBAED,CAAA,0DAEC,gBAED,CAAA,4DAEC,gBAED,CAAA,wDAEC,gBAED,CAAA,oDAEC,gBAED,CAAA,8DAEC,gBAED,CAAA,sDAEC,gBAED,CAAA,oEAEC,gBAED,CAAA,uEAEC,gBACA,CAAA,4BAED,CAAA,oEAEC,gBAED,CAAA,8DAEC,gBAED,CAAA,8DAEC,gBAED,CAAA,8EAEC,gBAED,CAAA,8EAEC,gBAED,CAAA,oEAEC,gBAED,CAAA,oEAEC,gBAED,CAAA,yEAEC,YACA,CAAA,2BAED,CAAA,8DAEC,gBAED,CAAA,uFAEC,gBACA,CAAA,4BAED,CAAA,oDAEC,gBAED,CAAA,8DAEC,gBAED,CAAA,6FAEC,gBACA,CAAA,4BAGD,CAAA,uEAEC,gBJ98CE,CAAA,yBIw9CF,oGAIC,WAAW,CJ59CV,AI49CU,CJ59CV,yBIk+CD,+CACC,WAEA,CAAA,2DACC,eACA,CAAA,UAGF,CAAA,+CACC,WAAW,CJ3+CX,AI2+CW,CJ3+CX,yBMxBF,oCAEE,gBAAgB,CAAA,AAKnB,CAAA,uBACC,aAKA,CAAA,qBACC,YACA,CAAA,eACA,CAAA,qBACA,CAAA,iBACA,CAAA,QAEA,CAAA,2BACC,mBACA,CAAA,+BACA,CAAA,kBACA,CAAA,eACA,CAAA,cACA,CAAA,OACA,CAAA,QACA,CAAA,UACA,CAAA,SACA,CAAA,8BAEA,CAAA,yBAZD,4BAaE,YACA,CAAA,eACA,CAAA,qBACA,CAAA,iBACA,CAAA,QAAS,CAAA,AAEV,CAAA,yBAnBD,4BAoBE,MAAM,CAAA,AAIR,CAAA,mCACC,WAGC,CAAA,yBADD,6CAEE,cAAc,CAAA,AAEf,CAAA,yBAJD,6CAKE,eAAe,CAAA,AAOpB,CAAA,8BACC,iBAGD,CAAA,cACC,aACA,CAAA,WACA,CAAA,eACA,CAAA,yBAJD,eAKE,cAAc,CAAA,AAEf,CAAA,yBAPD,eAQE,aAAa,CAAA,AAIf,CAAA,4BACC,YACA,CAAA,iBAEA,CAAA,8BACC,gBAIF,CAAA,+BACC,YACA,CAAA,eAGC,CAAA,oDACC,cACA,CAAA,kBACA,CAAA,0DACC,cAID,CAAA,kEACC,qBAED,CAAA,8EACC,UAID,CAAA,uHAEC,mBAED,CAAA,2DACC,8BACA,CAAA,gBAGA,CAAA,uEACC,8BAIH,CAAA,6DACC,YACA,CAAA,mEACC,aAGF,CAAA,4DACC,UAED,CAAA,yGAEC,gBACA,CAAA,QAEA,CADA,yCAID,CAAA,oDACC,2BACA,CAAA,gBAEA,CAAA,gEACC,2BAED,CAAA,iEACC,YACA,CAAA,eACA,CAAA,kBAEA,CAAA,sEACC,gBACA,CAAA,wEACC,UACA,CAAA,8EACC,UAKH,CAAA,yBAfD,kEAgBE,aAAa,CNvIf,AMuIe,CNvIf,yBMuHA,kEAmBE,cACA,CAAA,iBACA,CAAA,kBAAmB,CAAA,AAMvB,CAAA,2CACC,SACA,CAAA,qBAEA,CAAA,sDACC,gBNvJA,CAAA,yBMsJD,uDAIE,eAAe,CAAA,AAIlB,CAAA,kCACC,gBAED,CAAA,yCACC,aAEA,CAAA,yBAHD,0CAIE,iBAAiB,CAAA,AAGnB,CAAA,yCACC,eAED,CAAA,8CACC,eAED,CAAA,0CACC,WACA,CAAA,YACA,CAAA,gBNjLC,CAAA,yBM8KF,2CAME,qBAAqB,CAAA,AAGvB,CAAA,oCACC,WAED,CAAA,mCACC,WAED,CAAA,yBACC,8CACC,WAAW,CAAA,AAId,CAAA,wBACC,wBACA,CAAA,WAED,CAAA,KACC,SACA,CAAA,mBACA,CAAA,eAEA,CAAA,QACC,eACA,CAAA,eAED,CAAA,kBACC,WACA,CAAA,QACA,CAAA,SACA,CAAA,SAEA,CAAA,wBACC,WAED,CAAA,qBACC,gBAGD,CAAA,yBAbD,mBAcE,WAAW,CAAA,AAGb,CAAA,mBACC,SACA,CAAA,SACA,CAAA,iBACA,CAAA,OACA,CAAA,SACA,CAAA,SAEA,CAAA,qBACC,eACA,CAAA,gBACA,CAAA,UACA,CAAA,eACA,CAAA,wBACA,CAAA,kBACA,CAAA,UAED,CAAA,2BACC,iBAED,CAAA,wBACC,cACA,CAAA,cACA,CAAA,eACA,CAAA,iBACA,CAAA,iBAED,CAAA,+BACC,mBACA,CAAA,eAED,CAAA,gCACC,WACA,CAAA,WACA,CAAA,eACA,CAAA,iBAEA,CAAA,qDACC,cACA,CAAA,SACA,CAAA,mBAEA,CAAA,yBALD,sDAME,WACA,CAAA,eAAgB,CAAA,AAGlB,CAAA,qDACC,aAID,CAAA,yCACC,aAGF,CAAA,8BACC,SACA,CAAA,SAEA,CAAA,gCACC,UACA,CAAA,mBAED,CAAA,uCACC,gBACA,CAAA,iBACA,CAAA,gBACA,CAAA,kBACA,CAAA,UAEA,CAAA,8CACC,cACA,CAAA,eAIF,CAAA,iCACC,cACA,CAAA,eAIF,CAAA,yBAnFD,oBAoFE,gBACA,CAAA,QACA,CAAA,YACA,CAAA,eACA,CAAA,cACA,CAAA,OACA,CAAA,KACA,CAAA,UACA,CAAA,yCAEA,CAAA,2BACC,YAED,CAAA,gCACC,SACA,CAAA,SAAU,CCxVb,ADwVa,CCxVb,+IACC,WACA,CAAA,aAED,CAAA,qEACC,WAAW,CAAA","file":"jetpack-admin.min.css"}
1
+ {"version":3,"sources":["../scss/_utilities/_grid.scss","../scss/_utilities/mixins/_breakpoint.scss","../scss/atoms/typography/_typography.scss","../scss/atoms/_media.scss","../scss/atoms/_animations.scss","../scss/atoms/_buttons.scss","../scss/atoms/icons/_automatticons.scss","../scss/atoms/icons/_jetpack.scss","../scss/molecules/_nav-horizontal.scss","../scss/templates/_main.scss","../scss/atoms/colors/_colors.scss","../scss/templates/_settings.scss","../scss/pages/_protect.scss","../scss/templates/_module-overhaul.scss","../scss/_utilities/_clearings.scss"],"names":[],"mappings":"AAKA,OACC,WACA,CAAA,aACA,CAAA,0BAEC,YACA,CAAA,aAGD,CAAA,YACC,WAIF,CAAA,MACC,eACA,CAAA,UACA,CAAA,UACA,CAAA,iBAID,CAAA,kBACC,QAAU,eACV,CAAA,OAAU,gBACV,CAAA,OAAU,UACV,CAAA,OAAU,gBACV,CAAA,OAAU,gBACV,CAAA,OAAU,UACV,CAAA,OAAU,gBACV,CAAA,OAAU,gBACV,CAAA,OAAU,UACV,CAAA,QAAU,gBACV,CAAA,QAAU,gBACV,CAAA,QAAU,WAAW,CAAA,ACCnB,CAAA,yBDKF,QAAU,eACV,CAAA,OAAU,gBACV,CAAA,OAAU,UACV,CAAA,OAAU,gBACV,CAAA,OAAU,gBACV,CAAA,OAAU,UACV,CAAA,OAAU,gBACV,CAAA,OAAU,gBACV,CAAA,OAAU,UACV,CAAA,QAAU,gBACV,CAAA,QAAU,gBACV,CAAA,QAAU,WAAW,CAAA,AChBnB,CAAA,yBDsBF,SAAU,eACV,CAAA,QAAU,gBACV,CAAA,QAAU,UACV,CAAA,QAAU,gBACV,CAAA,QAAU,gBACV,CAAA,QAAU,UACV,CAAA,QAAU,gBACV,CAAA,QAAU,gBACV,CAAA,QAAU,UACV,CAAA,SAAW,gBACX,CAAA,SAAW,gBACX,CAAA,SAAW,WAAW,CAAA,AEjEvB,CAAA,iCAKC,WACA,CAAA,kDACA,CAAA,cACA,CAAA,eACA,CAAA,kCAQD,CAAA,iBAMC,WACA,CAAA,UAQD,CAAA,CACC,cACA,CAAA,oBACA,CAAA,oBAEA,CAAA,SACC,cAED,CAAA,OACC,cAED,CAAA,OACC,oBASF,CAAA,OACC,iBAOD,CAAA,mBAEC,YAGD,CAAA,GACC,gBACA,CAAA,oBAOD,CAAA,EACC,gBAQD,CAAA,QACC,SACA,CAAA,QACA,CAAA,SAID,CAAA,QACC,gBAID,CAAA,EACC,cACA,CAAA,UACA,CAAA,QACA,CAAA,yBACA,CAAA,YACA,CAAA,SCzGD,CAAA,GACC,sBCDD,CAAA,yBACC,GACC,6BAAA,CAED,oBAAA,CAAA,GACC,8BAAA,CAED,qBAAA,CAAA,IACC,2BAAA,CAAmB,kBAAA,CARrB,AAQqB,CAIrB,iBAXC,GACC,6BAAA,CAED,oBAAA,CAAA,GACC,8BAAA,CAED,qBAAA,CAAA,IACC,2BAAA,CAAmB,kBAAA,CAAA,AAIrB,CAAA,0BACC,GACC,2BAAA,CAED,kBAAA,CAAA,GACC,8BAAA,CAED,qBAAA,CAAA,GACC,8BAAA,CAED,qBAAA,CAAA,IACC,2BAAA,CAAmB,kBAAA,CAXrB,AAWqB,CAIrB,kBAdC,GACC,2BAAA,CAED,kBAAA,CAAA,GACC,8BAAA,CAED,qBAAA,CAAA,GACC,8BAAA,CAED,qBAAA,CAAA,IACC,2BAAA,CAAmB,kBAAA,CAAA,AAIrB,CAAA,0BACE,GACA,6CAAA,CAED,oCAAA,CAAA,IACC,kDAAA,CAA0C,yCAAA,CAL5C,AAK4C,CCjC5C,kBD6BE,GACA,6CAAA,CAED,oCAAA,CAAA,IACC,kDAAA,CAA0C,yCAAA,CAAA,ACjC5C,CAAA,yBAEC,+BAED,CAAA,+BACC,qBACA,CAAA,iBACA,CAAA,2BACA,CAAA,aACA,CAAA,4DACA,CAAA,qCACA,CAAA,kBACA,CAAA,iBAEA,CAAA,+CACC,cAED,CAAA,uFAEC,WACA,CAAA,kBAED,CAAA,6CACC,mBACA,CAAA,WAGF,CAAA,oBAEC,mBACA,CAAA,aAEA,CAAA,4BACC,cAED,CAAA,qDAEC,mBACA,CAAA,UAED,CAAA,4BACC,mBACA,CAAA,UACA,CAAA,yDAKF,CAAA,iBACC,qBACA,CAAA,iBACA,CAAA,qCACA,CAAA,UACA,CAAA,kEACA,CAAA,kBACA,CAAA,SACA,CAAA,iBACA,CAAA,oDAIA,CAAA,yBACC,WAED,CAAA,+CAEC,WACA,CAAA,kBACA,CAAA,oDAID,CAAA,wBACC,QACA,CAAA,gDAIA,CAAA,8BAEC,SAGF,CAAA,wBACC,WACA,CAAA,oBACA,CAAA,iBACA,CAAA,QACA,CAAA,iBACA,CAAA,UACA,CAAA,WACA,CAAA,qBACA,CAAA,oEACA,CAAA,oBAED,CAAA,uBAEC,WACA,CAAA,iBACA,CAAA,KACA,CAAA,MACA,CAAA,UACA,CAAA,WJ7EC,CAAA,0BIuBH,kBAyDE,oBAEA,CAAA,wBACC,SACA,CAAA,UACA,CAAA,WAAY,CJrFZ,AIqFY,CJrFZ,yBIyFD,yBACC,MAAM,CJ1FN,AI0FM,CJ1FN,yBIuBH,kBAuEE,oBACA,CAAA,eAEA,CAAA,wBACC,WACA,CAAA,WACA,CAAA,gBAAiB,CAAA,AAIpB,CAAA,aACC,qBACA,CAAA,WACA,CAAA,iBACA,CAAA,uBACA,CAAA,aACA,CAAA,mDACA,CAAA,qCACA,CAAA,kBACA,CAAA,YACA,CAAA,iBAEA,CAAA,qBACC,cAED,CAAA,uCAEC,WACA,CAAA,kBAED,CAAA,oBACC,YCjJF,CAAA,UACC,4BACA,CAAA,wDACA,CAAA,gUAIA,CAAA,kBACA,CAAA,iBCbD,CAAA,UACC,sBACA,CAAA,4CACA,CAAA,mQAIA,CAAA,kBACA,CAAA,iBAGD,CAAA,qDACC,WACC,sBACA,CAAA,kEAAmE,CAAA,ACXpE,CAAA,iBACC,qBAED,CAAA,kBACC,kBACA,CAAA,UAED,CAAA,kBACC,SACA,CAAA,SCdF,CAAA,kBAGC,2BAAA,CAID,qBAAA,CAAA,gBACC,mBACA,CAAA,UACA,CAAA,gBAHD,AASA,CAAA,WARC,mBACA,CAAA,UACA,CAAA,gBAMD,CAAA,eACC,iBAED,CAAA,UACC,kBACA,CAAA,SAGD,CAAA,0CACC,2BAGD,CAAA,kBACC,iBAED,CAAA,SACC,aAGD,CAAA,WACC,mBACA,CAAA,QACA,CAAA,WACA,CAAA,eACA,CAAA,UACA,CAAA,UACA,CAAA,kCAEA,CAAA,oBACC,mBRlBC,CAAA,yBQsBH,yFAME,iBACA,CAAA,cAAe,CR7Bd,AQ6Bc,CR7Bd,yBQsBH,yFAUE,cAAc,CRhCb,AQgCa,CRhCb,yBQoCH,4BAEE,eAAe,CAAA,AAUjB,CAAA,yBAEC,gBACA,CAAA,aAEA,CAAA,+BACC,iBRtDC,CAAA,yBQ0DH,cAEE,aAAa,CR5DZ,AQ4DY,CR5DZ,0BQgEH,YAEE,mBACA,CAAA,YAAa,CRnEZ,AQmEY,CRnEZ,yBQgEH,YAME,qBAAoB,CAAA,AAKrB,CAAA,yCAEC,SAED,CAAA,2CACC,iBACA,CAAA,gBACA,CAAA,QAIF,CAAA,mBACC,kBACA,CAAA,URxFE,CAAA,0BQsFH,oBAKE,mBACA,CAAA,YAAa,CR5FZ,AQ4FY,CR5FZ,0BQgGH,wBAEE,mBCzHc,CAAA,AD6HhB,CAAA,WACC,gBACA,CAAA,aAQD,CAAA,OACC,OACA,CAAA,OACA,CAAA,kBAGA,CAAA,cACC,iBAGD,CAAA,aACC,oBACA,CAAA,gBAGA,CAAA,2BACC,qBACA,CAAA,iBACA,CAAA,WACA,CAAA,gBACA,CAAA,kEACA,CAAA,uEACA,CAAA,0BACA,CAAA,UACA,CAAA,gBACA,CAAA,kBAEA,CAAA,gCACC,oBACA,CAAA,iBAID,CAAA,kCACC,WACA,CAAA,iBACA,CAAA,KACA,CAAA,MACA,CAAA,UACA,CAAA,WAEA,CAAA,0BAIH,CAAA,6CACC,iBAIF,CAAA,SACC,WAEA,CAAA,YACC,SRtKC,CAAA,yBQkKH,UAOE,eAAe,CAAA,AAIjB,CAAA,SACC,YAEA,CAAA,YACC,SAMD,CAAA,gCACC,SAED,CAAA,0DACC,UAED,CAAA,4FACC,YAED,CAAA,+BACC,aAQF,CAAA,SAKC,kBACA,CAAA,iBACA,CAAA,SACA,CAAA,wBACA,CAAA,uDAGC,CAAA,0BACC,cAED,CAAA,4BACC,iBRzNA,CAAA,yBQwND,6BAIE,iBACA,CAAA,SAAU,CAAA,AAIb,CAAA,yBAEC,cAED,CAAA,YACC,0BACA,CAAA,oBACA,CAAA,UACA,CAAA,8EACA,CAAA,iBACA,CAAA,sCACA,CAAA,SAEA,CAAA,mBACC,iBR/OA,CAAA,0BQqOF,aAaE,sBACA,CAAA,mBAAmB,CRnPnB,AQmPmB,CRnPnB,yBQqOF,aAiBE,gBACA,CAAA,cAAe,CRvPf,AQuPe,CRvPf,yBQqOF,aAqBE,cACA,CAAA,qBACA,CAAA,cACA,CAAA,eAAgB,CAAA,AAInB,CAAA,+BACC,mBACA,CAAA,eAED,CAAA,MACC,kBACA,CAAA,gBACA,CAAA,aRxQE,CAAA,yBQqQH,OAME,aAAa,CAAA,AAGf,CAAA,MACC,kBACA,CAAA,aACA,CAAA,OACA,CAAA,SACA,CAAA,2CAAA,CAEA,mCAAA,CAAA,mBACC,SACA,CAAA,WACA,CAAA,YACA,CAAA,4BAAA,CACA,oBAAA,CAAA,+BAAA,CAED,uBAAA,CAAA,mBACC,SACA,CAAA,UACA,CAAA,WACA,CAAA,4BAAA,CACA,oBAAA,CAAA,+BAAA,CAGF,uBAAA,CAAA,QACC,kBACA,CAAA,gBACA,CAAA,aACA,CAAA,kBACA,CAAA,SAEA,CAAA,WACC,gBACA,CAAA,aACA,CAAA,8EACA,CAAA,0BR/SC,CAAA,yBQ2SF,YAOE,gBACA,CAAA,cAAe,CRnTf,AQmTe,CRnTf,yBQ2SF,YAWE,aAAa,CAAA,AAGf,CAAA,cACC,WACA,CAAA,iBACA,CAAA,WACA,CAAA,MACA,CAAA,kBACA,CAAA,UACA,CAAA,YACA,CAAA,gEACA,CAAA,mBACA,CAAA,URnUC,CAAA,0BQoSH,SAkCE,iBACA,CAAA,mBAEA,CAAA,cACC,0BAA0B,CR1U1B,AQ0U0B,CR1U1B,yBQoSH,SA0CE,iBACA,CAAA,mBAAoB,CR/UnB,AQ+UmB,CR/UnB,yBQoSH,SA8CE,gBACA,CAAA,sBAAuB,CAAA,AAGzB,CAAA,UAIC,aACA,CAAA,iBACA,CAAA,iBACA,CAAA,SACA,CAAA,wBAMA,CALA,uDAOA,CAAA,gBACC,WACA,CAAA,iBACA,CAAA,QACA,CAAA,MACA,CAAA,kBACA,CAAA,UACA,CAAA,YACA,CAAA,mEACA,CAAA,mBACA,CAAA,SRhXC,CAAA,yBQsVH,WA6BE,YAAY,CAAA,AAQd,CAAA,SACC,6BACA,CAAA,+BACA,CAAA,eACA,CAAA,iBACA,CAAA,2BACA,CAAA,iBACA,CAAA,SAGA,CAAA,gBACC,WACA,CAAA,aACA,CAAA,iBACA,CAAA,KACA,CAAA,WACA,CAAA,UAED,CAAA,sCACC,cACA,CAAA,oBR/YC,CAAA,yBQ2XH,UAuBE,aAAa,CAAA,AAGf,CAAA,4BAEC,eACA,CAAA,aACA,CAAA,sEACA,CAAA,iBR1ZE,CAAA,yBQqZH,6BASE,eAAe,CR9Zd,AQ8Zc,CR9Zd,yBQqZH,6BAYE,eAAe,CAAA,AAGjB,CAAA,kBACC,cAGD,CAAA,gBAEC,kBACA,CAAA,UACA,CAAA,iBACA,CAAA,WACA,CAAA,8BR9aE,CAAA,0BQwaH,iBASE,wBACA,CAAA,gBACA,CAAA,eAEA,CAAA,gDACC,cAED,CAAA,4BACC,MACA,CAAA,eAAgB,CAAA,AAInB,CAAA,QACC,gCAAA,CAEA,uBAAA,CAAA,WACC,qBACA,CAAA,aACA,CAAA,mBACA,CAAA,eACA,CAAA,eAED,CAAA,UACC,SACA,CAAA,aAED,CAAA,eACC,WACA,CAAA,iBACA,CAAA,QACA,CAAA,MACA,CAAA,UACA,CAAA,WACA,CAAA,2BACA,CAAA,UACA,CAAA,+BAAA,CACA,uBAAA,CAAA,8BAGD,CAAA,cACC,mCAAA,CAEA,8BAFA,CAEA,0BAAA,CAAA,iBACC,cAED,CAAA,2BACC,sBACA,CAAA,kBAED,CAAA,yBACC,YAED,CAAA,qBACC,kCAAA,CRveA,6BQueA,CRveA,yBAAA,CAAA,0BQ0eA,kBACC,cAED,CAAA,2BACC,sBACA,CAAA,kBAED,CAAA,yBACC,YAAY,CAAA,AAKf,CAAA,qBACC,gBACA,CAAA,UACA,CAAA,WACA,CAAA,qBACA,CAAA,kBAEA,CAAA,gCACC,qDACA,CAAA,yBAEA,CAAA,uJAJD,iCASE,oDAAoD,CAAA,AAGtD,CAAA,uCACC,4DACA,CAAA,yBAEA,CAAA,uJAJD,wCASE,2DAA2D,CAAA,AAG7D,CAAA,qCACC,0DACA,CAAA,yBAEA,CAAA,uJAJD,sCASE,yDAAyD,CAAA,AAG3D,CAAA,+BAGC,YACA,CAAA,kBAIH,CAAA,oBACC,cACA,CAAA,+BACA,CAAA,qBACA,CAAA,kBAEA,CAAA,mCACC,gBACA,CAAA,iBRljBC,CAAA,0BQgjBF,oCAKE,sBACA,CAAA,kBAAmB,CRtjBnB,AQsjBmB,CRtjBnB,yBQ0iBH,qBAgBE,iBAAiB,CAAA,AAQnB,CAAA,IACC,WACA,CAAA,kBAEA,CAAA,OACC,eACA,CAAA,eACA,CAAA,mBACA,CAAA,eAED,CAAA,WACC,WAGF,CAAA,YACC,kBAEA,CAAA,eAEC,aRrlBC,CAAA,yBQmlBF,gBAKE,iBACA,CAAA,YACA,CAAA,cAAe,CAAA,AAIlB,CAAA,cACC,kBACA,CAAA,UACA,CAAA,oBACA,CAAA,uBACA,CAAA,eAED,CAAA,eACC,SACA,CAAA,2BACA,CAAA,UACA,CAAA,wBACA,CAAA,iBACA,CAAA,eACA,CAAA,aACA,CAAA,eAEA,CAAA,qBACC,cACA,CAAA,YAEA,CAAA,2BACC,uBACA,CAAA,SAGF,CAAA,0CACC,cAED,CAAA,iCACC,cAED,CAAA,iCACC,cAED,CAAA,qCACC,cAED,CAAA,qBACC,kBACA,CAAA,OACA,CAAA,SACA,CAAA,UACA,CAAA,UACA,CAAA,aACA,CAAA,mBACA,CAAA,mBACA,CAAA,iBACA,CAAA,8BAEA,CAAA,2BACC,gBACA,CAAA,iBACA,CAAA,UACA,CAAA,gBACA,CAAA,OACA,CAAA,mBACA,CAAA,kBACA,CAAA,wBAIH,CAAA,UACC,wBACA,CAAA,aAEA,CAAA,YACC,qBACA,CAAA,iBACA,CAAA,2BACA,CAAA,UACA,CAAA,8DACA,CAAA,2CACA,CAAA,eAEA,CADA,iBAIA,CAFA,2BAIA,CAAA,2DAGC,cACA,CAAA,qCACA,CAAA,kBRnrBA,CAAA,yBQgqBF,aAsBE,mBAAmB,CAAA,AAQtB,CAAA,OACC,cACA,CAAA,+BACA,CAAA,eACA,CAAA,wBACA,CAAA,eACA,CAAA,iCACA,CAAA,6BAEA,CAAA,aACC,qBACA,CAAA,kBAED,CAAA,yBACC,aAED,CAAA,UACC,eACA,CAAA,gBACA,CAAA,aACA,CAAA,mBACA,CAAA,iBACA,CAAA,eAED,CAAA,SACC,SACA,CAAA,aACA,CAAA,mBAED,CAAA,2BACC,qBACA,CAAA,kBAED,CAAA,yBACC,aAGD,CAAA,cACC,qBACA,CAAA,gCAEA,CAAA,oBACC,qBACA,CAAA,gCRzuBA,CAAA,0BQ+uBA,6BACC,wBAED,CAAA,8BACC,cAAc,CRnvBf,AQmvBe,CRnvBf,yBQ6uBF,aAUE,kBAEA,CAAA,4BACC,kBAED,CAAA,4BACC,cAAc,CR7vBf,AQ6vBe,CR7vBf,yBQ6uBF,aAoBE,aAEA,CAAA,4BACC,cAED,CAAA,4BACC,cAAc,CRvwBf,AQuwBe,CRvwBf,yBQ8rBH,QA8EE,kBACA,CAAA,SAEA,CAAA,uBACC,eAED,CAAA,uBACC,cAAc,CRnxBd,AQmxBc,CRnxBd,yBQ8rBH,QAyFE,aACA,CAAA,UAEA,CAAA,uBACC,cAED,CAAA,uBACC,cAAc,CAAA,AAIjB,CAAA,IAGC,kBAEA,CAAA,UACC,cACA,CAAA,iBACA,CAAA,QACA,CAAA,UACA,CAAA,gBACA,CAAA,UACA,CAAA,WACA,CAAA,UACA,CAAA,aACA,CAAA,eACA,CAAA,iBACA,CAAA,oCACA,CAAA,iEACA,CAAA,oBACA,CAAA,iBAGF,CAAA,KACC,qBACA,CAAA,iBACA,CAAA,OACA,CAAA,gBACA,CAAA,qBACA,CAAA,WACA,CAAA,UACA,CAAA,sDACA,CAAA,qCACA,CAAA,kBACA,CAAA,kBAEA,CAAA,wBAEC,kBACA,CAAA,KACA,CAAA,UACA,CAAA,kCAED,CAAA,YACC,gBACA,CAAA,aACA,CAAA,gBAED,CAAA,WACC,gBACA,CAAA,iBACA,CAAA,cAGF,CAAA,iBACC,gBAED,CAAA,UAGC,6BAID,CAAA,IACC,aAED,CAAA,SACC,cAOD,CAAA,QACC,WACA,CAAA,iBACA,CAAA,OACA,CAAA,UAEA,CAAA,aACC,WAGF,CAAA,MACC,gBACA,CAAA,cACA,CAAA,QACA,CAAA,WACA,CAAA,UACA,CAAA,SACA,CAAA,iBACA,CAAA,YACA,CAAA,yCACA,CAAA,WAEA,CAAA,aACC,kBACA,CAAA,KACA,CAAA,OACA,CAAA,0CACA,CAAA,UACA,CAAA,eACA,CAAA,oBACA,CAAA,qCACA,CAAA,SAEA,CAAA,mBACC,gBACA,CAAA,WAED,CAAA,oBACC,gBACA,CAAA,WAGF,CAAA,qBACC,aAED,CAAA,yBACC,kBACA,CAAA,KACA,CAAA,OACA,CAAA,QACA,CAAA,MACA,CAAA,aACA,CAAA,iBAED,CAAA,eACC,cACA,CAAA,eACA,CAAA,eAED,CAAA,SACC,gBACA,CAAA,YACA,CAAA,aACA,CAAA,mEACA,CAAA,0BR76BC,CAAA,yBQw6BF,UAQE,eAAe,CAAA,AAGjB,CAAA,SACC,WAED,CAAA,QACC,oBAED,CAAA,aACC,kBACA,CAAA,MACA,CAAA,QACA,CAAA,UACA,CAAA,iBACA,CAAA,yBACA,CAAA,eACA,CAAA,gBAEA,CAAA,gBACC,SAED,CAAA,gBACC,qBACA,CAAA,QAGF,CAAA,sDAGC,wBR98BC,CAAA,yBQu3BH,OA0FE,UACA,CAAA,gBACA,CAAA,aAEA,CAAA,eACC,SAAS,CRt9BT,AQs9BS,CRt9BT,yBQu3BH,OAmGE,SACA,CAAA,aAAc,CR39Bb,AQ29Ba,CR39Bb,yBQu3BH,OAuGE,SACA,CAAA,UACA,CAAA,WACA,CAAA,SAAU,CAAA,AAGZ,CAAA,YACC,YACA,CAAA,oBAEA,CAAA,gBACC,sBACA,CAAA,cACA,CAAA,WAEA,CAAA,4BACC,aR9+BA,CAAA,yBQo+BH,aAcE,WACA,CAAA,eAAgB,CAAA,AAGlB,CAAA,+BACC,YAED,CAAA,MACC,gBACA,CAAA,QACA,CAAA,cACA,CAAA,YACA,CAAA,MACA,CAAA,WACA,CAAA,cACA,CAAA,OACA,CAAA,KACA,CAAA,UAOD,CAAA,sCAEC,qBACA,CAAA,aACA,CAAA,8EACA,CAAA,0BR/gCE,CAAA,yBQ0gCH,uCAQE,cAAc,CAAA,AAIhB,CAAA,6CAGC,qBACA,CAAA,aACA,CAAA,oEACA,CAAA,0BR5hCE,CAAA,yBQshCH,8CASE,gBAAgB,CAAA,AAIlB,CAAA,wBACC,sBAGD,CAAA,mGAIC,WACA,CAAA,SAQD,CAAA,OACC,qBACA,CAAA,iBACA,CAAA,wBACA,CAAA,iBAGA,CAAA,4BAEC,WACA,CAAA,iBACA,CAAA,MACA,CAAA,mBAED,CAAA,cACC,MACA,CAAA,eACA,CAAA,UACA,CAAA,YAGD,CAAA,aACC,SACA,CAAA,UACA,CAAA,WACA,CAAA,qEACA,CAAA,yBACA,CAAA,SAED,CAAA,yBACC,mBRllCC,CAAA,0BQojCH,QAiCE,kBACA,CAAA,gBAEA,CAAA,cACC,0BAED,CAAA,aACC,aAED,CAAA,UACC,WACA,CAAA,eAAgB,CRhmChB,AQgmCgB,CRhmChB,yBQojCH,QAgDE,kBAAkB,CRpmCjB,AQomCiB,CRpmCjB,yBQojCH,QAmDE,aAAa,CRvmCZ,AQumCY,CRvmCZ,yBQojCH,QAsDE,aACA,CAAA,iBAAkB,CR3mCjB,AQ2mCiB,CR3mCjB,yBQojCH,QA0DE,iBAAiB,CAAA,AAGnB,CAAA,WACC,eAGA,CAAA,mCAEC,gBAEA,CAAA,UAEA,CAAA,+FAEC,cR7nCA,CAAA,0BQinCH,YAgBE,YACA,CAAA,SAIC,CAAA,+FAEC,WAAW,CRxoCZ,AQwoCY,CRxoCZ,yBQ6oCD,eACC,cACA,CAAA,UACA,CAAA,QACA,CAAA,eAED,CAAA,aACC,cACA,CAAA,cACA,CAAA,gBAAiB,CAAA,AAIpB,CAAA,QACC,4BACA,CAAA,4BAED,CAAA,iBACC,cAEA,CAAA,oBACC,iBRlqCC,CAAA,0BQ8pCH,kBAOE,cACA,CAAA,qBAAsB,CRtqCrB,AQsqCqB,CRtqCrB,yBQ8pCH,kBAWE,SACA,CAAA,SACA,CAAA,WACA,CAAA,eAEA,CAAA,mBACC,0BAA0B,CAAA,AAI7B,CAAA,wBACC,SACA,CAAA,aACA,CAAA,UACA,CAAA,mBACA,CAAA,6EACA,CAAA,wBAEA,CAAA,0BAIC,qBACA,CAAA,iBACA,CAAA,gBACA,CAAA,YACA,CAAA,SAEA,CAAA,gCACC,YACA,CAAA,iBACA,CAAA,OACA,CAAA,aACA,CAAA,WACA,CAAA,UACA,CAAA,mBACA,CAAA,2BACA,CAAA,iBAGA,CAAA,sCACC,wCAAA,CAQJ,+BAAA,CAAA,UACC,yBASD,CAAA,gBACC,mBACA,CAAA,wBACA,CAAA,kBACA,CAAA,aACA,CAAA,iBACA,CAAA,SAEA,CAAA,0BACC,gBACA,CAAA,cACA,CAAA,iBACA,CAAA,eACA,CAAA,QACA,CAAA,sCACA,CAAA,cACA,CAAA,iBAGA,CAAA,mCACC,SACA,CAAA,gBACA,CAAA,sBACA,CAAA,eAEA,CAAA,uGACC,qBAGF,CAAA,4BACC,cAED,CAAA,qFACC,gBACA,CAAA,YAGF,CAAA,mBACC,WACA,CAAA,QAED,CAAA,kBACC,WACA,CAAA,QACA,CAAA,WAED,CAAA,0BACC,4BACA,CAAA,iBACA,CAAA,eAEA,CAAA,iCACC,WACA,CAAA,eACA,CAAA,wBACA,CAAA,cACA,CAAA,WACA,CAAA,SACA,CAAA,WACA,CAAA,iBACA,CAAA,QACA,CAAA,sBRjyCA,CAAA,yBQkxCF,2BAkBE,aAEA,CAAA,iCACC,aAAa,CAAA,AAGf,CAAA,4BACC,WACA,CAAA,+BACC,CAAA,kCACD,gCAGF,CAAA,qFAEC,gBAIF,CAAA,kCACC,eAOD,CAAA,yCAEC,WAEA,CAAA,uDACC,qBACA,CAAA,iBACA,CAAA,OACA,CAAA,SACA,CAAA,gBACA,CAAA,WACA,CAAA,6BACA,CAAA,kBAIF,CAAA,+BACC,eAGD,CAAA,oDAEC,gBAED,CAAA,0DAEC,gBAED,CAAA,6EAEC,gBACA,CAAA,4BAED,CAAA,yEAEC,gBACA,CAAA,4BAED,CAAA,+FAEC,gBACA,CAAA,4BAED,CAAA,mEAEC,gBACA,CAAA,4BAED,CAAA,2FAEC,YACA,CAAA,2BAED,CAAA,wEAEC,gBAED,CAAA,0DAEC,gBAED,CAAA,gDAEC,gBAED,CAAA,0DAEC,gBAED,CAAA,oDAEC,gBAED,CAAA,0DAEC,gBAED,CAAA,4DAEC,gBAED,CAAA,sDAEE,gBAEF,CAAA,wDAEC,gBAED,CAAA,oDAEC,gBAED,CAAA,8DAEC,gBAED,CAAA,sDAEC,gBAED,CAAA,oEAEC,gBAED,CAAA,wDAEC,gBACA,CAAA,iBACA,CAAA,QAED,CAAA,uEAEC,gBACA,CAAA,4BAED,CAAA,oEAEC,gBAED,CAAA,8DAEC,gBAED,CAAA,8DAEC,gBAED,CAAA,8EAEC,gBAED,CAAA,8EAEC,gBAED,CAAA,oEAEC,gBAED,CAAA,oEAEC,gBAED,CAAA,yEAEC,YACA,CAAA,2BAGD,CAAA,8DAEC,gBAED,CAAA,uFAEC,gBACA,CAAA,4BAED,CAAA,oDAEC,gBAED,CAAA,8DAEC,gBAED,CAAA,6FAEC,gBACA,CAAA,4BAGD,CAAA,uEAEC,gBR9+CE,CAAA,yBQw/CF,oGAIC,WAAW,CR5/CV,AQ4/CU,CR5/CV,yBQmgDF,WACC,aAAa,CRpgDZ,AQogDY,CRpgDZ,yBQ0gDD,+CACC,WAEA,CAAA,2DACC,eACA,CAAA,UAGF,CAAA,+CACC,WAAW,CAAA,AASd,CAAA,oCAEE,sBACC,oBAEA,CAAA,wBACC,iBAED,CAAA,mCACC,WACA,CAAA,iBAED,CAAA,sCACC,SACA,CAAA,SACA,CAAA,gBACA,CAAA,aAED,CAAA,uDACC,gBAAgB,CR/iDjB,AQ+iDiB,CR/iDjB,yBUxBF,oCAEE,gBAAgB,CAAA,AAKnB,CAAA,uBACC,aAKA,CAAA,qBACC,YACA,CAAA,eACA,CAAA,qBACA,CAAA,iBACA,CAAA,QAEA,CAAA,2BACC,mBACA,CAAA,+BACA,CAAA,kBACA,CAAA,eACA,CAAA,cACA,CAAA,OACA,CAAA,QACA,CAAA,UACA,CAAA,SACA,CAAA,8BAEA,CAAA,yBAZD,4BAaE,YACA,CAAA,eACA,CAAA,qBACA,CAAA,iBACA,CAAA,QAAS,CAAA,AAEV,CAAA,yBAnBD,4BAoBE,MAAM,CAAA,AAIR,CAAA,mCACC,WAGC,CAAA,yBADD,6CAEE,cAAc,CAAA,AAEf,CAAA,yBAJD,6CAKE,eAAe,CAAA,AAOpB,CAAA,8BACC,iBAGD,CAAA,cACC,aACA,CAAA,WACA,CAAA,eACA,CAAA,yBAJD,eAKE,cAAc,CAAA,AAEf,CAAA,yBAPD,eAQE,aAAa,CAAA,AAIf,CAAA,4BACC,YACA,CAAA,iBAEA,CAAA,8BACC,gBAIF,CAAA,+BACC,YACA,CAAA,eAGC,CAAA,oDACC,cACA,CAAA,kBACA,CAAA,0DACC,cAID,CAAA,kEACC,qBAED,CAAA,8EACC,UAID,CAAA,uHAEC,mBAED,CAAA,2DACC,8BACA,CAAA,gBAGA,CAAA,uEACC,8BAIH,CAAA,6DACC,YACA,CAAA,mEACC,aAGF,CAAA,4DACC,UAED,CAAA,yGAEC,gBACA,CAAA,QAEA,CADA,yCAID,CAAA,oDACC,2BACA,CAAA,gBAEA,CAAA,gEACC,2BAED,CAAA,iEACC,YACA,CAAA,eACA,CAAA,kBAEA,CAAA,sEACC,gBACA,CAAA,wEACC,UACA,CAAA,8EACC,UAKH,CAAA,yBAfD,kEAgBE,aAAa,CVvIf,AUuIe,CVvIf,yBUuHA,kEAmBE,cACA,CAAA,iBACA,CAAA,kBAAmB,CAAA,AAMvB,CAAA,2CACC,SACA,CAAA,qBAEA,CAAA,sDACC,gBVvJA,CAAA,yBUsJD,uDAIE,eAAe,CAAA,AAIlB,CAAA,kCACC,gBAED,CAAA,yCACC,aAEA,CAAA,yBAHD,0CAIE,iBAAiB,CAAA,AAGnB,CAAA,yCACC,eAED,CAAA,8CACC,eAED,CAAA,0CACC,WACA,CAAA,YACA,CAAA,gBVjLC,CAAA,yBU8KF,2CAME,qBAAqB,CAAA,AAGvB,CAAA,oCACC,WAED,CAAA,mCACC,WAED,CAAA,yBACC,8CACC,WAAW,CAAA,AAId,CAAA,wBACC,wBACA,CAAA,WAED,CAAA,KACC,SACA,CAAA,mBACA,CAAA,eAEA,CAAA,QACC,eACA,CAAA,eAED,CAAA,kBACC,WACA,CAAA,QACA,CAAA,SACA,CAAA,SAEA,CAAA,wBACC,WAED,CAAA,qBACC,gBAGD,CAAA,yBAbD,mBAcE,WAAW,CAAA,AAGb,CAAA,mBACC,SACA,CAAA,SAGA,CAAA,WACA,CAAA,SACA,CAAA,SAEA,CAAA,qBACC,eACA,CAAA,gBACA,CAAA,UACA,CAAA,eACA,CAAA,wBACA,CAAA,kBACA,CAAA,UAED,CAAA,2BACC,iBAED,CAAA,wBACC,cACA,CAAA,cACA,CAAA,eACA,CAAA,iBACA,CAAA,iBAED,CAAA,+BACC,mBACA,CAAA,eAED,CAAA,gCACC,WACA,CAAA,WACA,CAAA,eACA,CAAA,iBAEA,CAAA,qDACC,cACA,CAAA,SACA,CAAA,mBAEA,CAAA,yBALD,sDAME,WACA,CAAA,eAAgB,CAAA,AAGlB,CAAA,qDACC,aAID,CAAA,yCACC,aAGF,CAAA,8BACC,SACA,CAAA,SAEA,CAAA,gCACC,UACA,CAAA,mBAED,CAAA,uCACC,gBACA,CAAA,iBACA,CAAA,gBACA,CAAA,kBACA,CAAA,UAEA,CAAA,8CACC,cACA,CAAA,eAIF,CAAA,iCACC,cACA,CAAA,eAIF,CAAA,yBApFD,oBAqFE,gBACA,CAAA,QACA,CAAA,YACA,CAAA,eACA,CAAA,cACA,CAAA,OACA,CAAA,KACA,CAAA,UACA,CAAA,yCAEA,CAAA,2BACC,YAED,CAAA,gCACC,SACA,CAAA,SAAU,CC3Vd,AD2Vc,CC3Vd,mBACC,eAEA,CAAA,qDACC,WACA,CAAA,YAGD,CAAA,2BACC,yBAGD,CAAA,yBACC,yBAMD,CAAA,iBACC,eAGD,CAAA,sBACC,qBACA,CAAA,eACA,CAAA,eACA,CAAA,YACA,CAAA,qBACA,CAAA,cACA,CAAA,UACA,CAAA,cAGD,CAAA,oBACC,cAGD,CAAA,uBACC,cAKF,CAAA,uBACC,gBAKA,CAAA,2BACC,WACA,CAAA,gBAIF,CAAA,oCACC,WAOA,CAAA,iCACC,WAGD,CAAA,sCACC,iBAMF,CAAA,gBACC,qBACA,CAAA,sBACA,CAAA,iBACA,CAAA,qBAEA,CAAA,uCACC,aACA,CAAA,QACA,CAAA,uBACA,CAAA,qBACA,CAAA,iBACA,CAAA,cAGD,CAAA,2BACC,iBACA,CAAA,aACA,CAAA,eACA,CAAA,qBAGD,CAAA,gCACC,iBACA,CAAA,gBAGD,CAAA,yBACC,UAGD,CAAA,yBACC,kBACA,CAAA,SACA,CAAA,0BAIF,CAAA,qBACC,UACA,CAAA,eACA,CAAA,qBAGD,CAAA,kBACC,kBACA,CAAA,QACA,CAAA,sBACA,CAAA,aACA,CAAA,eACA,CAAA,cACA,CAAA,QACA,CAAA,SACA,CAAA,cACA,CAAA,iBAEA,CAAA,wBACC,gBAIF,CAAA,YACC,WACA,CAAA,YAGD,CAAA,0CAEC,wBACC,UACA,CAAA,WACA,CAAA,YAGD,CAAA,kBACC,UACA,CAAA,UAAW,CAAA,AAKb,CAAA,0CAEC,6BACC,gBAAgB,CAAA,AAKlB,CAAA,6GAEC,UACC,UAGD,CAAA,QACC,UAAU,CAAA,AAKZ,CAAA,yCAEC,SACC,iBAGD,CAAA,gBACC,eACA,CAAA,iBAAkB,CAAA,AAKpB,CAAA,yCAEC,SACC,kBAAkB,CAAA,AAKpB,CAAA,gEAEC,6BACC,gBAAgB,CAAA,AAKlB,CAAA,yCAEC,aACC,WAGD,CAAA,QACC,0BAGD,CAAA,SACC,kBAGD,CAAA,gBACC,cACA,CAAA,iBAGD,CAAA,4BACC,WACA,CAAA,cAGD,CAAA,gCAEC,UACA,CAAA,aAGD,CAAA,iBACC,gBAAgB,CAAA,AAKlB,CAAA,yCAEC,uBACC,eACA,CAAA,aAGD,CAAA,gCAEC,WAAW,CAAA,AC3PZ,CAAA,iBACC,aAED,CAAA,oBACC,eAED,CAAA,oBACC,cACA,CAAA,SACA,CAAA,iBAED,CAAA,cACC,6EACA,CAAA,iBACA,CAAA,SACA,CAAA,UACA,CAAA,iBACA,CAAA,sBACC,cAGF,CAAA,mBACC,cACA,CAAA,YACA,CAAA,qBACA,CAAA,0BACC,eAGF,CAAA,6BACC,aAKD,CAAA,uBACC,iBAKD,CAAA,qBACC,UAED,CAAA,4BACC,mBAED,CAAA,2BACC,kBAIF,CAAA,eACC,WACA,CAAA,4EAID,CAAA,iBACC,0BAID,CAAA,gBACC,gBACA,CAAA,iBACA,CAAA,kBACA,CAAA,kBACA,CAAA,wBACA,CAAA,mBAEA,CAAA,gEAEC,UAED,CAAA,kBACC,eACA,CAAA,gBAED,CAAA,yBACC,WACA,CAAA,aACA,CAAA,iBACA,CAAA,QACA,CAAA,WACA,CAAA,UACA,CAAA,2BACA,CAAA,uCACA,CAAA,aACA,CAAA,UAKD,CAAA,oBACC,mBAIF,CAAA,eACC,gBAGD,CAAA,cACC,kBAGD,CAAA,kBACC,WACA,CAAA,cAID,CAAA,qDAEC,WACA,CAAA,cACA,CAAA,sBACA,CAAA,oBAGD,CAAA,8BACC,cACA,CAAA,yBAGD,CAAA,eACC,kBACA,CAAA,gBACA,CAAA,mBACA,CAAA,iBACA,CAAA,kBAEA,CAAA,sBACC,aAED,CAAA,sBACC,qBAED,CAAA,qBACC,cACA,CAAA,cACA,CAAA,gBAED,CAAA,sBACC,kBACA,CAAA,QACA,CAAA,OACA,CAAA,wBACA,CAAA,gBACA,CAAA,aACA,CAAA,SAIF,CAAA,iBACC,yBACA,CAAA,cACA,CAAA,gBACA,CAAA,gBACA,CAAA,UACA,CAAA,kBACA,CAAA,iBACA,CAAA,eACA,CAAA,oBAGD,CAAA,OACC,aACA,CAAA,cACA,CAAA,WACA,CAAA,aACA,CAAA,MACA,CAAA,SACA,CAAA,4CACA,CAAA,oCAGD,CAAA,oBACC,SACA,CAAA,WACA,CAAA,YACA,CAAA,+BACA,CAAA,uBACA,CAAA,0BACA,CAAA,kBAGD,CAAA,oBACC,SACA,CAAA,UACA,CAAA,WACA,CAAA,+BACA,CAAA,uBACA,CAAA,0BACA,CAAA,kBAGD,CAAA,2BACC,GACC,6CACA,CAAA,oCAED,CAAA,IACC,kDACA,CAAA,yCAA0C,CAAA,AAG5C,CAAA,mBACC,GACC,6CACA,CAAA,oCAED,CAAA,IACC,kDACA,CAAA,yCAA0C,CZhMzC,AYgMyC,CZhMzC,0BYwMD,qBACC,cAED,CAAA,mBACC,kBAAkB,CZ5MlB,AY4MkB,CZ5MlB,yBYoNF,+BACC,oBAGD,CAAA,yBACC,4BAA4B,CZzN3B,AYyN2B,CZzN3B,yBYiOD,qBACC,eAIF,CAAA,gBACC,cAIA,CAAA,oBACC,gBAIF,CAAA,8BACC,iBACA,CAAA,mBAGD,CAAA,gCACC,QAAQ,CC1QT,AD0QS,CC1QT,+IACC,WACA,CAAA,aAED,CAAA,qEACC,WAAW,CAAA","file":"jetpack-admin.min.css"}
css/jetpack-rtl.css CHANGED
@@ -1,4 +1,4 @@
1
  /*!
2
  * Do not modify this file directly. It is concatenated from individual module CSS files.
3
  */
4
- .jp-carousel-wrap *{line-height:inherit}.jp-carousel-overlay{background:#000}div.jp-carousel-fadeaway{position:fixed;bottom:0;z-index:2147483647;width:100%;height:15px}.jp-carousel-next-button span,.jp-carousel-previous-button span{background:url(../modules/carousel/images/arrows.png) center center/200px 126px no-repeat}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){.jp-carousel-next-button span,.jp-carousel-previous-button span{background-image:url(../modules/carousel/images/arrows-2x.png)}}.jp-carousel-wrap{font-family:"Helvetica Neue",sans-serif!important}.jp-carousel-info{position:absolute;bottom:0;text-align:right!important;-webkit-font-smoothing:subpixel-antialiased!important}.jp-carousel-info ::selection{background:#68c9e8;color:#fff}.jp-carousel-info ::-moz-selection{background:#68c9e8;color:#fff}.jp-carousel-photo-info{position:relative;right:25%;width:50%}.jp-carousel-transitions .jp-carousel-photo-info{transition:400ms ease-out}.jp-carousel-info h2{background:none!important;border:none!important;color:#999;display:block!important;font:400 13px/1.25em "Helvetica Neue",sans-serif!important;letter-spacing:0!important;margin:7px 0 0!important;padding:10px 0 0!important;overflow:hidden;text-align:right;text-shadow:none!important;text-transform:none!important;-webkit-font-smoothing:subpixel-antialiased}.jp-carousel-next-button,.jp-carousel-previous-button{text-indent:-9999px;overflow:hidden;cursor:pointer}.jp-carousel-next-button span,.jp-carousel-previous-button span{position:absolute;top:0;bottom:0;width:82px;zoom:1;filter:alpha(opacity=20);opacity:.2}.jp-carousel-transitions .jp-carousel-next-button span,.jp-carousel-transitions .jp-carousel-previous-button span{transition:500ms opacity ease-out}.jp-carousel-next-button:hover span,.jp-carousel-previous-button:hover span{filter:alpha(opacity=60);opacity:.6}.jp-carousel-next-button span{background-position:-110px center;left:0}.jp-carousel-previous-button span{background-position:-10px center;right:0}.jp-carousel-buttons{margin:-18px -20px 15px;padding:8px 10px;border-bottom:1px solid #222;background:#222;text-align:center}div.jp-carousel-buttons a{border:none!important;color:#999;font:400 11px/1.2em "Helvetica Neue",sans-serif!important;letter-spacing:0!important;padding:5px 0 5px 2px;text-decoration:none!important;text-shadow:none!important;vertical-align:middle;-webkit-font-smoothing:subpixel-antialiased}div.jp-carousel-buttons a:hover{color:#68c9e8;border:none!important}.jp-carousel-transitions div.jp-carousel-buttons a:hover{transition:none!important}.jp-carousel-next-button,.jp-carousel-previous-button,.jp-carousel-slide,.jp-carousel-slide img{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.jp-carousel-slide{position:fixed;width:0;bottom:0;background-color:#000;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px}.jp-carousel-slide.selected{position:absolute!important;filter:alpha(opacity=100);opacity:1}.jp-carousel-slide{filter:alpha(opacity=25);opacity:.25}.jp-carousel-slide img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;background:none!important;border:none!important;padding:0!important;box-shadow:0 2px 8px rgba(0,0,0,.1);zoom:1}.jp-carousel-transitions .jp-carousel-slide{transition:opacity 400ms linear}.jp-carousel-close-hint{color:#999;cursor:default;letter-spacing:0!important;padding:.35em 0 0;position:absolute;text-align:right;width:90%}.jp-carousel-transitions .jp-carousel-close-hint{transition:color 200ms linear}.jp-carousel-close-hint span{cursor:pointer;background-color:#000;background-color:rgba(0,0,0,.8);display:block;height:22px;font:400 24px/1 "Helvetica Neue",sans-serif!important;line-height:22px;margin:0 .4em 0 0;text-align:center;vertical-align:middle;width:22px;border-radius:4px}.jp-carousel-transitions .jp-carousel-close-hint span{transition:border-color 200ms linear}.jp-carousel-close-hint:hover{cursor:default;color:#fff}.jp-carousel-close-hint:hover span{border-color:#fff}a.jp-carousel-image-download,div.jp-carousel-buttons a.jp-carousel-commentlink,div.jp-carousel-buttons a.jp-carousel-like,div.jp-carousel-buttons a.jp-carousel-reblog{background:url(../modules/carousel/images/carousel-sprite.png?5) 0 0/16px 200px no-repeat}div.jp-carousel-buttons a.jp-carousel-commentlink,div.jp-carousel-buttons a.jp-carousel-reblog{margin:0 0 0 14px!important}div.jp-carousel-buttons a.jp-carousel-like.liked,div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{background-color:#303030;padding-left:8px!important;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px}div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{margin:0 -12px 0 2px!important}div.jp-carousel-buttons a.jp-carousel-reblog,div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover{background-position:6px -36px;padding-right:26px!important;color:#999}div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0 -156px;padding-right:19px!important}.rtl div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0% -156px}div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover{cursor:default}div.jp-carousel-buttons a.jp-carousel-reblog:hover{background-position:6px -56px;color:#68c9e8}div.jp-carousel-buttons a.jp-carousel-like{background-position:5px 5px;padding-right:24px!important}div.jp-carousel-buttons a.jp-carousel-like:hover{background-position:5px -15px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){a.jp-carousel-image-download,div.jp-carousel-buttons a.jp-carousel-commentlink,div.jp-carousel-buttons a.jp-carousel-like,div.jp-carousel-buttons a.jp-carousel-reblog{background-image:url(../modules/carousel/images/carousel-sprite-2x.png?5)}}div#carousel-reblog-box{background:#222;padding:3px 0 0;display:none;margin:5px auto 0;border-radius:2px;box-shadow:0 0 20px rgba(0,0,0,.9);height:74px;width:565px}#carousel-reblog-box textarea{background:#999;font:13px/1.4 "Helvetica Neue",sans-serif!important;color:#444;padding:3px 6px;width:370px;height:48px;float:right;margin:6px 9px 0;border:1px solid #666;box-shadow:inset -2px 2px 2px rgba(0,0,0,.2);border-radius:2px}#carousel-reblog-box textarea:focus{background:#ccc;color:#222}#carousel-reblog-box label{color:#aaa;font-size:11px;padding-left:2px;padding-right:2px;display:inline;font-weight:400}#carousel-reblog-box select{width:110px;padding:0;font-size:12px;font-family:"Helvetica Neue",sans-serif!important;background:#333;color:#eee;border:1px solid #444;margin-top:5px}#carousel-reblog-box .submit,#wrapper #carousel-reblog-box p.response{float:right;width:154px;padding-top:0;padding-right:1px;overflow:hidden;height:34px;margin:3px 2px 0 0!important}#wrapper #carousel-reblog-box p.response{font-size:13px;clear:none;padding-right:2px;height:34px;color:#aaa}#carousel-reblog-box input#carousel-reblog-submit,#jp-carousel-comment-form-button-submit{font:13px/24px "Helvetica Neue",sans-serif!important;margin-top:8px;padding:0 10px!important;border-radius:1em;height:24px;color:#333;cursor:pointer;font-weight:400;background:#aaa;border:1px solid #444}#carousel-reblog-box input#carousel-reblog-submit:hover,#jp-carousel-comment-form-button-submit:hover{background:#ccc}#carousel-reblog-box .canceltext{color:#aaa;font-size:11px;line-height:24px}#carousel-reblog-box .canceltext a{color:#fff}.jp-carousel-titleanddesc{border-top:1px solid #222;color:#999;font-size:15px;padding-top:24px;margin-bottom:20px;font-weight:400}.jp-carousel-titleanddesc-title{font:300 1.5em/1.1 "Helvetica Neue",sans-serif!important;text-transform:none!important;color:#fff;margin:0 0 15px;padding:0}.jp-carousel-titleanddesc-desc p{color:#999;line-height:1.4;margin-bottom:.75em}.jp-carousel-comments p a,.jp-carousel-info h2 a,.jp-carousel-titleanddesc p a{color:#fff!important;border:none!important;text-decoration:underline!important;font-weight:400!important;font-style:normal!important}.jp-carousel-titleanddesc p b,.jp-carousel-titleanddesc p strong{font-weight:700;color:#999}.jp-carousel-titleanddesc p em,.jp-carousel-titleanddesc p i{font-style:italic;color:#999}.jp-carousel-comments p a:hover,.jp-carousel-info h2 a:hover,.jp-carousel-titleanddesc p a:hover{color:#68c9e8!important}.jp-carousel-titleanddesc p:empty{display:none}.jp-carousel-left-column-wrapper h1:after,.jp-carousel-left-column-wrapper h1:before,.jp-carousel-photo-info h1:after,.jp-carousel-photo-info h1:before{content:none!important}.jp-carousel-image-meta{background:#111;border:1px solid #222;color:#fff;font:12px/1.4 "Helvetica Neue",sans-serif!important;overflow:hidden;padding:18px 20px;width:209px!important}.jp-carousel-image-meta h5,.jp-carousel-image-meta li{font-family:"Helvetica Neue",sans-serif!important;position:inherit!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;background:none!important;border:none!important;font-weight:400!important;line-height:1.3em!important}.jp-carousel-image-meta ul{margin:0!important;padding:0!important;list-style:none!important}.jp-carousel-image-meta li{width:48%!important;float:right!important;margin:0 0 15px 2%!important;color:#fff!important;font-size:13px!important}.jp-carousel-image-meta h5{color:#999!important;text-transform:uppercase!important;font-size:10px!important;margin:0 0 2px!important;letter-spacing:.1em!important}a.jp-carousel-image-download{padding-right:23px;display:inline-block;clear:both;color:#999;line-height:1;font-weight:400;font-size:13px;text-decoration:none;background-position:0 -82px}.rtl a.jp-carousel-image-download{background-position:0% -82px}a.jp-carousel-image-download span.photo-size{font-size:11px;border-radius:1em;margin-right:2px;display:inline-block}a.jp-carousel-image-download span.photo-size-times{padding:0 2px 0 1px}a.jp-carousel-image-download:hover{background-position:0 -122px;color:#68c9e8;border:none!important}.rtl a.jp-carousel-image-download:hover{background-position:0% -122px}.jp-carousel-image-map{position:relative;margin:-20px -20px 20px;border-bottom:1px solid rgba(255,255,255,.17);height:154px}.jp-carousel-image-map img.gmap-main{border-top-right-radius:6px;border-left:1px solid rgba(255,255,255,.17)}.jp-carousel-image-map div.gmap-topright{width:94px;height:154px;position:absolute;top:0;left:0}.jp-carousel-image-map div.imgclip{overflow:hidden;border-top-left-radius:6px}.jp-carousel-image-map div.gmap-topright img{margin-right:-40px}.jp-carousel-image-map img.gmap-bottomright{position:absolute;top:96px;left:0}.jp-carousel-comments{font:15px/1.7 "Helvetica Neue",sans-serif!important;font-weight:400;background:none}.jp-carousel-comments p a:active,.jp-carousel-comments p a:focus,.jp-carousel-comments p a:hover{color:#68c9e8!important}.jp-carousel-comment{background:none;color:#999;margin-bottom:20px;clear:right;overflow:auto;width:100%}.jp-carousel-comment p{color:#999!important}.jp-carousel-comment .comment-author{font-size:13px;font-weight:400;padding:0;width:auto;display:inline;float:none;border:none;margin:0}.jp-carousel-comment .comment-author a{color:#fff}.jp-carousel-comment .comment-gravatar{float:right}.jp-carousel-comment .comment-content{border:none;margin-right:85px;padding:0}.jp-carousel-comment .avatar{margin:0 0 0 20px;border-radius:4px;border:none!important;padding:0!important;background-color:transparent!important}.jp-carousel-comment .comment-date{color:#999;margin-top:4px;font-size:11px;display:inline;float:left}#jp-carousel-comment-form{margin:0 0 10px!important;float:right;width:100%}textarea#jp-carousel-comment-form-comment-field{background:rgba(34,34,34,.9);border:1px solid #3a3a3a;color:#aaa;font:15px/1.4 "Helvetica Neue",sans-serif!important;width:100%;padding:10px 10px 5px;margin:0;float:none;height:147px;box-shadow:inset -2px 2px 2px rgba(0,0,0,.2);border-radius:3px;overflow:hidden;-moz-box-sizing:border-box;box-sizing:border-box}textarea#jp-carousel-comment-form-comment-field::-webkit-input-placeholder{color:#555}textarea#jp-carousel-comment-form-comment-field:focus{background:#ccc;color:#222}textarea#jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder{color:#aaa}#jp-carousel-comment-form-spinner{color:#fff;margin:22px 10px 0 0;display:block;width:20px;height:20px;float:right}#jp-carousel-comment-form-submit-and-info-wrapper{display:none;overflow:hidden;width:100%}#jp-carousel-comment-form-commenting-as input{background:rgba(34,34,34,.9);border:1px solid #3a3a3a;color:#aaa;font:13px/1.4 "Helvetica Neue",sans-serif!important;padding:3px 6px;float:right;box-shadow:inset -2px 2px 2px rgba(0,0,0,.2);border-radius:2px;width:285px}#jp-carousel-comment-form-commenting-as input:focus{background:#ccc;color:#222}#jp-carousel-comment-form-commenting-as p{font:400 13px/1.7 "Helvetica Neue",sans-serif!important;margin:22px 0 0;float:right}#jp-carousel-comment-form-commenting-as fieldset{float:right;border:none;margin:20px 0 0;padding:0;clear:both}#jp-carousel-comment-form-commenting-as label{font:400 13px/1.7 "Helvetica Neue",sans-serif!important;margin:0 0 3px 20px;float:right;width:100px}#jp-carousel-comment-form-button-submit{margin-top:20px;float:left}#jp-carousel-comment-form-container,#js-carousel-comment-form-container{margin-bottom:15px;overflow:auto;width:100%}#jp-carousel-comment-post-results{display:none;overflow:auto;width:100%}#jp-carousel-comment-post-results span{display:block;text-align:center;margin-top:20px;width:100%;overflow:auto;padding:1em 0;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,.7);border-radius:2px;font:13px/1.4 "Helvetica Neue",sans-serif!important;border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 0 5px 5px rgba(0,0,0,1)}.jp-carousel-comment-post-error{color:#DF4926}#jp-carousel-comments-closed{display:none;color:#999}#jp-carousel-comments-loading{font:444 15px/1.7 "Helvetica Neue",sans-serif!important;display:none;color:#999;text-align:right;margin-bottom:20px}.jp-carousel-light .jp-carousel-overlay{background:#fff}.jp-carousel-light .jp-carousel-next-button:hover span,.jp-carousel-light .jp-carousel-previous-button:hover span{opacity:.8}.jp-carousel-light .jp-carousel-close-hint:hover,.jp-carousel-light .jp-carousel-titleanddesc div{color:#000!important}.jp-carousel-light .jp-carousel-comment .comment-author a,.jp-carousel-light .jp-carousel-comments p a,.jp-carousel-light .jp-carousel-info h2 a,.jp-carousel-light .jp-carousel-titleanddesc p a{color:#1e8cbe!important}.jp-carousel-light .jp-carousel-comment .comment-author a:hover,.jp-carousel-light .jp-carousel-comments p a:hover,.jp-carousel-light .jp-carousel-info h2 a:hover,.jp-carousel-light .jp-carousel-titleanddesc p a:hover{color:#f1831e!important}.jp-carousel-light .jp-carousel-comment,.jp-carousel-light .jp-carousel-comment p,.jp-carousel-light .jp-carousel-info h2,.jp-carousel-light .jp-carousel-titleanddesc,.jp-carousel-light .jp-carousel-titleanddesc p,.jp-carousel-light .jp-carousel-titleanddesc p b,.jp-carousel-light .jp-carousel-titleanddesc p em,.jp-carousel-light .jp-carousel-titleanddesc p i,.jp-carousel-light .jp-carousel-titleanddesc p strong,.jp-carousel-light div.jp-carousel-buttons a{color:#666}.jp-carousel-light .jp-carousel-buttons{border-bottom-color:#f0f0f0;background:#f5f5f5}.jp-carousel-light div.jp-carousel-buttons a:hover{text-decoration:none;color:#f1831e}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog,.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog:hover{background-position:4px -56px;padding-right:24px!important}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked,.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{background-color:#2ea2cc;color:#fff}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0 -176px}.rtl .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0% -176px}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like,.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like:hover{background-position:5px -15px;padding-right:23px!important}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{background-position:5px -36px}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked{background-position:5px 5px}.jp-carousel-light div#carousel-reblog-box{background:#eee;box-shadow:0 2px 10px rgba(0,0,0,.1);border:1px solid #ddd}.jp-carousel-light #carousel-reblog-box textarea{color:#666;border:1px solid #cfcfcf;background:#fff}.jp-carousel-light #carousel-reblog-box .canceltext{color:#888}.jp-carousel-light #carousel-reblog-box .canceltext a{color:#666}.jp-carousel-light #carousel-reblog-box select{background:#eee;color:#333;border:1px solid #aaa}#jp-carousel-comment-form-button-submit,.jp-carousel-light #carousel-reblog-box input#carousel-reblog-submit{color:#333;background:#fff;border:1px solid #aaa}.jp-carousel-light .jp-carousel-image-meta{background:#fafafa;border:1px solid #eee;border-top-color:#f5f5f5;border-right-color:#f5f5f5;color:#333}.jp-carousel-light .jp-carousel-image-meta li{color:#000!important}.jp-carousel-light .jp-carousel-close-hint{color:#ccc}.jp-carousel-light .jp-carousel-close-hint span{background-color:#fff;border-color:#ccc}.jp-carousel-light #jp-carousel-comment-form-comment-field::-webkit-input-placeholder{color:#aaa}.jp-carousel-light #jp-carousel-comment-form-comment-field:focus{color:#333}.jp-carousel-light #jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder{color:#ddd}.jp-carousel-light a.jp-carousel-image-download{background-position:0 -122px}.rtl .jp-carousel-light a.jp-carousel-image-download{background-position:0% -122px}.jp-carousel-light a.jp-carousel-image-download:hover{background-position:0 -122px;color:#f1831e}.rtl .jp-carousel-light a.jp-carousel-image-download:hover{background-position:0% -122px}.jp-carousel-light textarea#jp-carousel-comment-form-comment-field{background:#fbfbfb;color:#333;border:1px solid #dfdfdf;box-shadow:inset -2px 2px 2px rgba(0,0,0,.1)}.jp-carousel-light #jp-carousel-comment-form-commenting-as input{background:#fbfbfb;border:1px solid #dfdfdf;color:#333;box-shadow:inset -2px 2px 2px rgba(0,0,0,.1)}.jp-carousel-light #jp-carousel-comment-form-commenting-as input:focus{background:#fbfbfb;color:#333}.jp-carousel-light #jp-carousel-comment-post-results span{background:#f7f7f7;border:1px solid #dfdfdf;box-shadow:inset 0 0 5px rgba(0,0,0,.05)}.jp-carousel-light .jp-carousel-slide{background-color:#fff}.jp-carousel-light .jp-carousel-titleanddesc{border-top:1px solid #eee}@media only screen and (max-width:760px){.jp-carousel-info{margin:0 10px!important}.jp-carousel-buttons,.jp-carousel-next-button,.jp-carousel-previous-button{display:none!important}.jp-carousel-image-meta{float:none!important;width:100%!important;-moz-box-sizing:border-box;box-sizing:border-box}.jp-carousel-close-hint{font-weight:800!important;font-size:26px!important;position:fixed!important;top:-10px}.jp-carousel-slide img{filter:alpha(opacity=100);opacity:1}.jp-carousel-wrap{background-color:#000}.jp-carousel-fadeaway{display:none}#jp-carousel-comment-form-container{display:none!important}.jp-carousel-titleanddesc{padding-top:0!important;border:none!important}.jp-carousel-titleanddesc-title{font-size:1em!important}.jp-carousel-left-column-wrapper{padding:0;width:100%!important}.jp-carousel-photo-info{right:0!important;width:100%!important}}.contact-form .clear-form{clear:both}.contact-form input[type=email],.contact-form input[type=text]{width:300px;max-width:98%;margin-bottom:13px}.contact-form select{margin-bottom:13px}.contact-form textarea{height:200px;width:80%;float:none;margin-bottom:13px}.contact-form input[type=checkbox],.contact-form input[type=radio]{float:none;margin-bottom:13px}.contact-form label{margin-bottom:3px;float:none;font-weight:700;display:block}.contact-form label.checkbox,.contact-form label.radio{margin-bottom:3px;float:none;font-weight:700;display:inline-block}.contact-form label span{color:#AAA;margin-right:4px;font-weight:400}.form-errors .form-error-message{color:red}.textwidget .contact-form input[type=email],.textwidget .contact-form input[type=text],.textwidget .contact-form textarea{width:250px;max-width:100%;-moz-box-sizing:border-box;box-sizing:border-box}.infinite-loader{color:#000;display:block;height:28px;text-indent:-9999px}#infinite-handle span{background:#333;border-radius:1px;color:#eee;cursor:pointer;font-size:13px;padding:6px 16px}@media (max-width:800px){#infinite-handle span:before{display:none}#infinite-handle span{display:block}}#infinite-footer{position:fixed;bottom:-50px;right:0;width:100%}#infinite-footer a{text-decoration:none}#infinite-footer .blog-credits a:hover,#infinite-footer .blog-info a:hover{color:#444;text-decoration:underline}#infinite-footer .container{background:rgba(255,255,255,.8);border-color:#ccc;border-color:rgba(0,0,0,.1);border-style:solid;border-width:1px 0 0;-moz-box-sizing:border-box;box-sizing:border-box;margin:0 auto;overflow:hidden;padding:1px 20px;width:780px}#infinite-footer .blog-credits,#infinite-footer .blog-info{-moz-box-sizing:border-box;box-sizing:border-box;line-height:25px}#infinite-footer .blog-info{float:right;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:40%}#infinite-footer .blog-credits{font-weight:400;float:left;width:60%}#infinite-footer .blog-info a{color:#111;font-size:14px;font-weight:700}#infinite-footer .blog-credits{color:#888;font-size:12px;text-align:left}#infinite-footer .blog-credits a{color:#666}.infinity-end.neverending #infinite-footer{display:none}@media (max-width:640px){#infinite-footer .container{-moz-box-sizing:border-box;box-sizing:border-box;width:100%}#infinite-footer .blog-info{width:30%}#infinite-footer .blog-credits{width:70%}#infinite-footer .blog-credits,#infinite-footer .blog-info a{font-size:10px}}@media (max-width:640px){#infinite-footer{position:static}}#wpadminbar li#wp-admin-bar-admin-bar-likes-widget{width:61px;overflow:hidden}#wpadminbar iframe.admin-bar-likes-widget{width:61px;height:28px;min-height:28px;border-width:0;position:absolute;top:0}div.jetpack-likes-widget-wrapper{width:100%;min-height:50px;position:relative}div.jetpack-likes-widget-wrapper .sd-link-color{font-size:12px}div.jetpack-likes-widget-wrapper.slim-likes-widget{width:1px;min-height:0}#likes-other-gravatars{display:none;position:absolute;padding:10px;background-color:#000;border-width:0;opacity:.88;filter:alpha(opacity=88);box-shadow:0 0 10px #000;min-width:130px;z-index:1000}#likes-other-gravatars *{line-height:normal}#likes-other-gravatars .likes-text{color:#fff;font-size:14px;padding-bottom:5px}#likes-other-gravatars li,#likes-other-gravatars ul{margin:0;padding:0;text-indent:0;list-style-type:none}#likes-other-gravatars li::before{content:""}#likes-other-gravatars ul.wpl-avatars{overflow:auto;display:block;position:absolute;max-height:190px}#likes-other-gravatars ul.wpl-avatars li{width:32px;height:32px;float:right;margin:0 0 5px 5px}#likes-other-gravatars ul.wpl-avatars li a{margin:0 0 0 2px;border-bottom:none!important;display:block}#likes-other-gravatars ul.wpl-avatars li a img{background:0 0;border:none;margin:0!important;padding:0!important;position:static}div.sd-box{border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.13)}.comment-likes-widget,.entry-content .post-likes-widget,.post-likes-widget{margin:0;border-width:0;display:block}.post-likes-widget-placeholder{margin:0;border-width:0;position:relative}.post-likes-widget-placeholder .button{display:none}.post-likes-widget-placeholder .loading{color:#999;font-size:12px}.slim-likes-widget .post-likes-widget{width:auto;float:none}div.sharedaddy.sd-like-enabled .sd-like h3{display:none}div.sharedaddy.sd-like-enabled .sd-like .post-likes-widget{width:100%;float:none;position:absolute;top:0}.comment-likes-widget{width:100%}.pd-rating{display:block!important}.sd-gplus .sd-title{display:none}div#jp-relatedposts{display:none;padding-top:1em;margin:1em 0;position:relative}div.jp-relatedposts:after{content:'';display:block;clear:both}div#jp-relatedposts h3.jp-relatedposts-headline{margin:0 0 1em;display:inline-block;float:right;font-size:9pt;font-weight:700;font-family:inherit}div#jp-relatedposts h3.jp-relatedposts-headline em:before{content:"";display:block;width:100%;min-width:30px;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.2);margin-bottom:1em}div#jp-relatedposts h3.jp-relatedposts-headline em{font-style:normal;font-weight:700}div#jp-relatedposts div.jp-relatedposts-items{clear:right}div#jp-relatedposts div.jp-relatedposts-items-visual{margin-left:-20px}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post{float:right;width:33%;margin:0 0 1em;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post{padding-left:20px;filter:alpha(opacity=80);-moz-opacity:.8;opacity:.8}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post:nth-child(3n+4),div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post:nth-child(3n+4){clear:both}div#jp-relatedposts div.jp-relatedposts-items div.jp-relatedposts-post:hover .jp-relatedposts-post-title a{text-decoration:underline}div#jp-relatedposts div.jp-relatedposts-items div.jp-relatedposts-post:hover{filter:alpha(opacity=100);-moz-opacity:1;opacity:1}div#jp-relatedposts div.jp-relatedposts-items p,div#jp-relatedposts div.jp-relatedposts-items-visual h4.jp-relatedposts-post-title{font-size:14px;line-height:20px;margin:0}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs{position:relative}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs a.jp-relatedposts-post-aoverlay{position:absolute;top:0;bottom:0;right:0;left:0;display:block}div#jp-relatedposts div.jp-relatedposts-items p{margin-bottom:0}div#jp-relatedposts div.jp-relatedposts-items-visual h4.jp-relatedposts-post-title{text-transform:none;margin:0;font-family:inherit;display:block;max-width:100%}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a{font-size:inherit;font-weight:400;text-decoration:none;filter:alpha(opacity=100);-moz-opacity:1;opacity:1}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a:hover{text-decoration:underline}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post img.jp-relatedposts-post-img,div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post span{display:block;max-width:90%;overflow:hidden;text-overflow:ellipsis}div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img,div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post span{max-width:100%}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-context,div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date{opacity:.6}.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date,div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-thumbs p.jp-relatedposts-post-excerpt{display:none}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs p.jp-relatedposts-post-excerpt{overflow:hidden}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs span{margin-bottom:1em}@media only screen and (max-width:640px){div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post{width:50%}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post:nth-child(3n){clear:right}div#jp-relatedposts div.jp-relatedposts-items-visual{margin-left:20px}}@media only screen and (max-width:320px){div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post{width:100%;clear:both;margin:0 0 1em}}#jp-post-flair{padding-top:.5em}#content div.sharedaddy,#main div.sharedaddy,div.sharedaddy{clear:both}div.sharedaddy h3.sd-title{margin:0 0 1em;display:inline-block;line-height:1.2;font-size:9pt;font-weight:700}div.sharedaddy h3.sd-title:before{content:"";display:block;width:100%;min-width:30px;border-top:1px solid #ddd;margin-bottom:1em}body.highlander-light h3.sd-title:before{border-top:1px solid rgba(0,0,0,.2)}body.highlander-dark h3.sd-title:before{border-top:1px solid rgba(255,255,255,.4)}.sd-content ul{padding:0!important;margin:0 0 .7em!important;list-style:none!important}.sd-content ul li{display:inline}.sd-block.sd-gplus{margin:0 0 .5em}.sd-gplus .sd-content{font-size:12px}#sharing_email .sharing_send,.sd-content ul li .option a.share-ustom,.sd-content ul li a.sd-button,.sd-content ul li.advanced a.share-more,.sd-content ul li.preview-item div.option.option-smart-off a,.sd-social-icon .sd-content ul li a.sd-button,.sd-social-icon-text .sd-content ul li a.sd-button,.sd-social-official .sd-content>ul>li .digg_button >a,.sd-social-official .sd-content>ul>li>a.sd-button,.sd-social-text .sd-content ul li a.sd-button{text-decoration:none!important;display:inline-block;margin:0 0 5px 5px;font-size:12px;font-family:"Open Sans",sans-serif;font-weight:400;border-radius:3px;color:#777!important;background:#f8f8f8;border:1px solid #ccc;box-shadow:0 1px 0 rgba(0,0,0,.08);text-shadow:none;line-height:23px;padding:1px 5px 0 8px}.sd-content ul li .option a.share-ustom span,.sd-content ul li a.sd-button>span,.sd-content ul li.advanced a.share-more span,.sd-content ul li.preview-item div.option.option-smart-off a span,.sd-social-icon-text .sd-content ul li a.sd-button>span,.sd-social-official .sd-content>ul>li .digg_button >a span,.sd-social-official .sd-content>ul>li>a.sd-button span,.sd-social-text .sd-content ul li a.sd-button span{line-height:23px}.sd-social-official .sd-content .sharing-hidden .inner>ul>li .digg_button>a,.sd-social-official .sd-content .sharing-hidden .inner>ul>li>a.sd-button,.sd-social-official .sd-content>ul>li .digg_button>a,.sd-social-official .sd-content>ul>li>a.sd-button{line-height:17px;box-shadow:none;vertical-align:top}.sd-social-official .sd-content .sharing-hidden .inner>ul>li .digg_button>a:before,.sd-social-official .sd-content .sharing-hidden .inner>ul>li>a.sd-button:before,.sd-social-official .sd-content>ul>li .digg_button>a:before,.sd-social-official .sd-content>ul>li>a.sd-button:before{margin-bottom:-1px;top:0}.sd-social-icon .sd-content ul li a.sd-button:active,.sd-social-icon .sd-content ul li a.sd-button:hover,.sd-social-icon-text .sd-content ul li a.sd-button:active,.sd-social-icon-text .sd-content ul li a.sd-button:hover,.sd-social-official .sd-content>ul>li .digg_button>a:active,.sd-social-official .sd-content>ul>li .digg_button>a:hover,.sd-social-official .sd-content>ul>li>a.sd-button:active,.sd-social-official .sd-content>ul>li>a.sd-button:hover,.sd-social-text .sd-content ul li a.sd-button:active,.sd-social-text .sd-content ul li a.sd-button:hover{color:#555;background:#fafafa;border:1px solid #999}.sd-social-icon .sd-content ul li a.sd-button:active,.sd-social-icon-text .sd-content ul li a.sd-button:active,.sd-social-official .sd-content>ul>li .digg_button>a:active,.sd-social-official .sd-content>ul>li>a.sd-button:active,.sd-social-text .sd-content ul li a.sd-button:active{box-shadow:inset 0 1px 0 rgba(0,0,0,.16)}.sd-content ul li a.sd-button:before{display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:400 16px/1 Genericons;vertical-align:top;position:relative;top:3px;text-align:center}.sd-content ul li{margin:0!important;padding:0}.sd-content ul li.preview-item a.sd-button span,.sd-social-icon-text .sd-content ul li a span,.sd-social-official .sd-content ul li a.sd-button span{margin-right:3px}.sd-content ul li.preview-item.no-icon a.sd-button span{margin-right:0}.sd-content ul li.no-icon a:before,.sd-social-text .sd-content ul li a:before{display:none}body .sd-content ul li.share-custom.no-icon a span,body .sd-social-text .sd-content ul li.share-custom a span{background-image:none;background-position:-500px -500px!important;background-repeat:no-repeat!important;padding-right:0;height:0;line-height:inherit}.sd-social-icon .sd-content ul li a.share-more{position:relative;top:2px}.sd-social-icon .sd-content ul li a.share-more span{margin-right:3px}.sd-content ul li.share-print div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-print a:before,.sd-social-icon-text .sd-content li.share-print a:before,.sd-social-official .sd-content li.share-print a:before,.sd-social-text .sd-content ul li.share-print a:before{content:'\f469'}.sd-content ul li.share-email div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-email a:before,.sd-social-icon-text .sd-content li.share-email a:before,.sd-social-official .sd-content li.share-email a:before,.sd-social-text .sd-content ul li.share-email a:before{content:'\f410'}.sd-content ul li.share-linkedin div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-linkedin a:before,.sd-social-icon-text .sd-content li.share-linkedin a:before,.sd-social-text .sd-content ul li.share-linkedin a:before{content:'\f207'}.sd-content ul li.share-twitter div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-twitter a:before,.sd-social-icon-text .sd-content li.share-twitter a:before,.sd-social-text .sd-content ul li.share-twitter a:before{content:'\f202'}.sd-content ul li.share-reddit div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-reddit a:before,.sd-social-icon-text .sd-content li.share-reddit a:before,.sd-social-text .sd-content ul li.share-reddit a:before{content:'\f222'}.sd-content ul li.share-tumblr div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-tumblr a:before,.sd-social-icon-text .sd-content li.share-tumblr a:before,.sd-social-text .sd-content ul li.share-tumblr a:before{content:'\f214'}.sd-content ul li.share-stumbleupon div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-stumbleupon a:before,.sd-social-icon-text .sd-content li.share-stumbleupon a:before,.sd-social-text .sd-content ul li.share-stumbleupon a:before{content:'\f223'}.sd-content ul li.share-pocket div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-pocket a:before,.sd-social-icon-text .sd-content li.share-pocket a:before,.sd-social-text .sd-content ul li.share-pocket a:before{content:'\f224'}.sd-content ul li.share-pinterest div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-pinterest a:before,.sd-social-icon-text .sd-content li.share-pinterest a:before,.sd-social-text .sd-content ul li.share-pinterest a:before{content:'\f209'}.sd-content ul li.share-google-plus-1 div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-google-plus-1 a:before,.sd-social-icon-text .sd-content li.share-google-plus-1 a:before,.sd-social-text .sd-content ul li.share-google-plus-1 a:before{content:'\f218'}.sd-content ul li.share-facebook div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-facebook a:before,.sd-social-icon-text .sd-content li.share-facebook a:before,.sd-social-text .sd-content ul li.share-facebook a:before{content:'\f204'}.sd-content ul li.share-press-this div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-press-this a:before,.sd-social-icon-text .sd-content li.share-press-this a:before,.sd-social-official .sd-content li.share-press-this a:before,.sd-social-text .sd-content ul li.share-press-this a:before{content:'\f205'}.sd-social-official .sd-content li.share-press-this a:before{color:#2ba1cb}.sd-content ul li.advanced a.share-more:before,.sd-social-icon .sd-content ul a.share-more:before,.sd-social-icon-text .sd-content a.share-more:before,.sd-social-official .sd-content a.share-more:before,.sd-social-text .sd-content ul a.share-more:before{content:'\f415'}.sd-social-official .sd-content a.share-more:before{color:#2ba1cb}.sd-social .sd-button .share-count{background:#2ea2cc;color:#fff;border-radius:10px;display:inline-block;text-align:center;font-size:10px;padding:1px 3px;line-height:1}.sd-social-official .sd-content ul,.sd-social-official .sd-content ul li{line-height:25px!important}.sd-social-official .sd-content>ul>li>a.sd-button span{line-height:1}.sd-social-official .sd-content ul:after{content:".";display:block;height:0;clear:both;visibility:hidden}.sd-social-official .sd-content li.share-press-this a{margin:0 0 5px}.sd-social-official .sd-content ul>li{display:block;float:right;margin:0 0 5px 10px!important;height:25px}.sd-social-official .sd-content .pocket_button iframe{width:98px}.sd-social-official .sd-content .twitter_button iframe{width:96px}.reddit_button iframe,.stumbleupon_button iframe{margin-top:1px}.googleplus1_button iframe,.like_button iframe,.linkedin_button>span,.pinterest_button,.pocket_button iframe,.twitter_button{margin:0!important}body .sd-social-official li a.share-more,body .sd-social-official li.share-custom a,body .sd-social-official li.share-digg a,body .sd-social-official li.share-email a,body .sd-social-official li.share-press-this a,body .sd-social-official li.share-print{position:relative;top:0}body .sd-social-icon .sd-content li.share-custom>a{padding:2px 3px 0;position:relative;top:4px}body .sd-content ul li.share-custom a.share-icon span,body .sd-social-icon .sd-content li.share-custom a span,body .sd-social-icon-text .sd-content li.share-custom a span,body .sd-social-official .sd-content li.share-custom a span,body .sd-social-text .sd-content li.share-custom a span{background-size:16px 16px;background-repeat:no-repeat;margin-right:0;padding:0 19px 0 0;display:inline-block;height:16px;line-height:16px}body .sd-social-icon .sd-content li.share-custom a span{width:0}body .sd-social-icon .sd-content li.share-custom a span{padding-right:16px!important}.sharing-hidden .inner{position:absolute;z-index:2;border:1px solid #ccc;padding:10px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.2);border-radius:2px;margin-top:5px;max-width:400px}.sharing-hidden .inner ul{margin:0!important}.sd-social-official .sd-content .sharing-hidden ul>li.share-end{clear:both;margin:0;height:0}.sharing-hidden .inner:after,.sharing-hidden .inner:before{position:absolute;z-index:1;top:-8px;right:20px;width:0;height:0;border-right:6px solid transparent;border-left:6px solid transparent;border-bottom:8px solid #ccc;content:"";display:block}.sharing-hidden .inner:after{z-index:2;top:-7px;border-right:6px solid transparent;border-left:6px solid transparent;border-bottom:8px solid #fff}.sharing-hidden ul{margin:0}.sd-social-icon .sd-content ul li[class*=share-] a,.sd-social-icon .sd-content ul li[class*=share-] a:hover,.sd-social-icon .sd-content ul li[class*=share-] div.option a{border-radius:50%;-webkit-border-radius:50%;border:0;box-shadow:none;padding:8px;position:relative;top:-2px;line-height:1;width:auto;height:auto;margin-bottom:0}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button>span,.sd-social-icon .sd-content ul li[class*=share-] div.option a span{line-height:1}.sd-social-icon .sd-content ul li[class*=share-] a:hover,.sd-social-icon .sd-content ul li[class*=share-] div.option a:hover{border:none;opacity:.6}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button:before{top:0}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button.share-custom{padding:8px 8px 6px;top:5px}.sd-social-icon .sd-content ul li a.sd-button.share-more{margin-right:10px}.sd-social-icon .sd-content ul li:first-child a.sd-button.share-more{margin-right:0}.sd-social-icon .sd-button span.share-count{position:absolute;bottom:0;left:0;border-radius:0;background:#555;font-size:9px}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button{background:#e9e9e9;margin-top:2px;text-indent:0}.sd-social-icon .sd-content ul li[class*=share-].share-tumblr a.sd-button{background:#2c4762;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-facebook a.sd-button{background:#3b5998;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-stumbleupon a.sd-button{background:#ea4b24;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-twitter a.sd-button{background:#00acee;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-pinterest a.sd-button{background:#ca1f27;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-digg a.sd-button{color:#555!important}.sd-social-icon .sd-content ul li[class*=share-].share-press-this a.sd-button{background:#1e8cbe;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-linkedin a.sd-button{background:#0077b5;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-google-plus-1 a.sd-button{background:#dd4b39;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-pocket a.sd-button{background:#ee4056;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-reddit a.sd-button{background:#cee3f8;color:#555!important}.sharing-screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}.sharing-screen-reader-text:active,.sharing-screen-reader-text:focus,.sharing-screen-reader-text:hover{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}#sharing_email{width:342px;position:absolute;z-index:1001;border:1px solid #ccc;padding:15px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.2);text-align:right}div.sharedaddy.sharedaddy-dark #sharing_email{border-color:#fff}#sharing_email .errors{color:#fff;background-color:#771a09;font-size:12px;padding:5px 8px;line-height:1;margin:10px 0 0}#sharing_email label{font-size:12px;color:#333;font-weight:700;display:block;padding:0 0 4px;text-align:right;text-shadow:none}#sharing_email form{margin:0}#sharing_email input[type=email],#sharing_email input[type=text]{width:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border:1px solid #ccc;margin-bottom:1em;background:#fff;font-size:12px;color:#333;max-width:none;padding:1px 3px}#sharing_email .sharing_cancel{padding:0 1em 0 0;font-size:12px;text-shadow:none}#sharing_email .recaptcha{width:312px;height:123px;margin:0 0 1em}.slideshow-window{background-color:#222;border:20px solid #222;border-radius:11px;-moz-border-radius:11px;-webkit-border-radius:11px;-khtml-border-radius:11px;margin-bottom:20px;height:410px;z-index:1}.slideshow-window.slideshow-white{background-color:#fff;border-color:#fff}.slideshow-window,.slideshow-window *{-moz-box-sizing:content-box;box-sizing:content-box}.slideshow-loading{height:100%;text-align:center;margin:auto}body div.slideshow-window * img{border-width:0!important;margin-left:auto!important;margin-right:auto!important;padding:0!important;background-color:transparent!important;background-image:none!important;max-width:100%}.slideshow-loading img{vertical-align:middle}.slideshow-slide{height:100%;width:100%;text-align:center;margin:auto;display:none}.slideshow-slide img{vertical-align:middle}.slideshow-line-height-hack{overflow:hidden;width:0;font-size:0}.slideshow-slide-caption{font-size:13px;font-family:"Helvetica Neue",sans-serif;color:#f7f7f7;text-shadow:#222 -1px 1px 2px;line-height:25px;height:25px;position:absolute;bottom:5px;right:0;z-index:100;width:100%;text-align:center}.slideshow-controls{z-index:1000;position:absolute;bottom:30px;margin:auto;text-align:center;width:100%;-ms-filter:"alpha(Opacity=50)";opacity:.5;direction:rtl}body div div.slideshow-controls a,body div div.slideshow-controls a:hover{border:2px solid rgba(255,255,255,.1)!important;background-color:#000!important;background-color:rgba(0,0,0,.6)!important;background-image:url(../modules/shortcodes/img/slideshow-controls.png)!important;background-repeat:no-repeat;background-size:142px 16px!important;background-position:-34px 8px!important;color:#222!important;margin:0 5px!important;padding:0!important;display:inline-block!important;zoom:1;height:32px!important;width:32px!important;line-height:32px!important;text-align:center!important;-khtml-border-radius:10em!important;border-radius:10em!important;transition:300ms border-color ease-out}@media only screen and (-webkit-min-device-pixel-ratio:1.5){body div div.slideshow-controls a,body div div.slideshow-controls a:hover{background-image:url(../modules/shortcodes/img/slideshow-controls-2x.png)!important}}body div div.slideshow-controls a:hover{border-color:rgba(255,255,255,1)!important}body div div.slideshow-controls a:first-child{background-position:-76px 8px!important}body div div.slideshow-controls a:last-child{background-position:-117px 8px!important}body div div.slideshow-controls a.running,body div div.slideshow-controls a:nth-child(2){background-position:-34px 8px!important}body div div.slideshow-controls a.paused{background-position:9px 8px!important}.slideshow-controls a img{border:50px dotted #f0f}body.presentation-wrapper-fullscreen-parent,html.presentation-wrapper-fullscreen-parent{overflow:hidden!important}.presentation-wrapper-fullscreen-parent #wpadminbar{display:none}.presentation-wrapper-fullscreen,.presentation-wrapper-fullscreen-parent{min-width:100%!important;min-height:100%!important;position:absolute!important;top:0!important;left:0!important;bottom:0!important;right:0!important;margin:0!important;padding:0!important;z-index:10000!important}.presentation-wrapper-fullscreen{background-color:gray;border:none!important}.presentation-wrapper-fullscreen .nav-arrow-left,.presentation-wrapper-fullscreen .nav-arrow-right{z-index:20001}.presentation-wrapper-fullscreen .nav-fullscreen-button{z-index:20002}.presentation-wrapper{margin:20px auto;border:1px solid #e5e5e5;overflow:hidden;line-height:normal}.presentation{position:relative;margin:0;overflow:hidden;outline:0}.presentation,.presentation .step{background-repeat:no-repeat;background-position:center;background-size:100% 100%}.presentation .step.fade:not(.active){opacity:0}.presentation .slide-content{padding:30px}.presentation .nav-arrow-left,.presentation .nav-arrow-right,.presentation .nav-fullscreen-button{position:absolute;width:34px;background-repeat:no-repeat;z-index:2;opacity:0;transition:opacity .25s}.presentation .nav-arrow-left,.presentation .nav-arrow-right{height:100%;background-image:url(../modules/shortcodes/images/slide-nav.png);background-size:450% 61px}.presentation .nav-arrow-left{right:0;background-position:4px 50%}.presentation .nav-arrow-right{left:0;background-position:-120px 50%}.presentation .nav-fullscreen-button{width:32px;height:32px;margin:4px;bottom:0;left:0;z-index:3;background-image:url(../modules/shortcodes/images/expand.png);background-size:100% 100%}.presentation:hover .nav-arrow-left,.presentation:hover .nav-arrow-right{opacity:1}.presentation:hover .nav-fullscreen-button{opacity:.8}.presentation-wrapper-fullscreen .nav-fullscreen-button{background-image:url(../modules/shortcodes/images/collapse.png)}.presentation .autoplay-overlay{height:15%;width:80%;margin:30% 10%;position:relative;z-index:100;display:table;border-radius:50px;background-color:#e5e5e5;background-color:rgba(0,0,0,.75);transition:opacity .5s}.presentation .autoplay-overlay .overlay-msg{position:relative;display:table-cell;text-align:center;vertical-align:middle;color:#fff}.presentation .will-fade{opacity:0}.presentation .do-fade{opacity:1;transition:opacity .5s}#subscribe-email input{width:95%;padding:1px 2px}.comment-subscription-form .subscribe-label{display:inline!important}.tiled-gallery{clear:both;margin:0 0 20px;overflow:hidden}.tiled-gallery img{margin:2px!important}.tiled-gallery .gallery-group{float:right;position:relative}.tiled-gallery .tiled-gallery-item{float:right;margin:0;position:relative;width:inherit}.tiled-gallery .gallery-row{overflow:hidden}.tiled-gallery .tiled-gallery-item a{background:0 0;border:none;color:none;margin:0;padding:0;text-decoration:none;width:auto}.tiled-gallery .tiled-gallery-item img,.tiled-gallery .tiled-gallery-item img:hover{background:0 0;border:none;box-shadow:none;max-width:100%;padding:0;vertical-align:middle}.tiled-gallery-caption{background:#eee;background:rgba(255,255,255,.8);color:#333;font-size:13px;font-weight:400;overflow:hidden;padding:10px 0;position:absolute;bottom:0;text-indent:10px;text-overflow:ellipsis;width:100%;white-space:nowrap}.tiled-gallery .tiled-gallery-item-small .tiled-gallery-caption{font-size:11px}.widget-gallery .tiled-gallery-unresized{visibility:hidden;height:0;overflow:hidden}.tiled-gallery .tiled-gallery-item img.grayscale{position:absolute;right:0;top:0}.tiled-gallery .tiled-gallery-item img.grayscale:hover{opacity:0}.tiled-gallery.type-circle .tiled-gallery-item img{border-radius:50%!important}.tiled-gallery.type-circle .tiled-gallery-caption{display:none;opacity:0}.jetpack-display-remote-posts{margin:5px 0 20px}.jetpack-display-remote-posts h4{font-size:90%;margin:5px 0;padding:0}.jetpack-display-remote-posts h4 a{text-decoration:none}.jetpack-display-remote-posts p{margin:0!important;padding:0;line-height:1.4em!important;font-size:90%}.jetpack-display-remote-posts img{max-width:100%}.widget-grofile h4{margin:1em 0 .5em}.widget-grofile ul.grofile-urls{margin-right:0;overflow:hidden}.widget-grofile ul.grofile-accounts li{list-style:none;display:inline}.widget-grofile ul.grofile-accounts li::before{content:""!important}.widget-grofile .grofile-accounts-logo{background-image:url(//0.gravatar.com/images/grav-share-sprite.png);background-repeat:no-repeat;width:16px;height:16px;float:right;margin-left:8px;margin-bottom:8px}.rtl .widget-grofile .grofile-accounts-logo{margin-right:8px;margin-left:0}.grofile-thumbnail{width:500px;max-width:100%}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){.widget-grofile .grofile-accounts-logo{background-image:url(//0.gravatar.com/images/grav-share-sprite-2x.png);background-size:16px 784px}}.widgets-grid-layout{width:100%}.widgets-grid-layout:after,.widgets-grid-layout:before{content:" ";display:table}.widgets-grid-layout:after{clear:both}.widget-grid-view-image{float:right;max-width:50%}.widget-grid-view-image a{display:block;margin:0 0 4px 2px}.widget-grid-view-image:image:nth-child(even){float:left}.widget-grid-view-image:nth-child(even) a{margin:0 2px 4px 0}.widgets-grid-layout .widget-grid-view-image img{max-width:100%;height:auto}.widgets-multi-column-grid ul{overflow:hidden;padding:0;margin:0;list-style-type:none}.widgets-multi-column-grid ul li{background:0 0;clear:none;float:right;margin:0 0 -3px -5px;padding:0 0 6px 8px;border:none;list-style-type:none!important}.widgets-multi-column-grid ul li a{background:0 0;margin:0;padding:0;border:0}.widgets-multi-column-grid .avatar{vertical-align:middle}.widgets-list-layout{padding:0;margin:0;list-style-type:none}.widgets-list-layout li:after,.widgets-list-layout li:before{content:"";display:table}.widgets-list-layout li:after{clear:both}.widgets-list-layout li{zoom:1;margin-bottom:1em;list-style-type:none!important}.widgets-list-layout .widgets-list-layout-blavatar{float:right;width:21.276596%;max-width:40px;height:auto}.widgets-list-layout-links{float:left;width:73.404255%}.widgets-list-layout span{opacity:.5}.widgets-list-layout span:hover{opacity:.8}
1
  /*!
2
  * Do not modify this file directly. It is concatenated from individual module CSS files.
3
  */
4
+ .jp-carousel-wrap *{line-height:inherit}.jp-carousel-overlay{background:#000}div.jp-carousel-fadeaway{position:fixed;bottom:0;z-index:2147483647;width:100%;height:15px}.jp-carousel-next-button span,.jp-carousel-previous-button span{background:url(../modules/carousel/images/arrows.png) center center/200px 126px no-repeat}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){.jp-carousel-next-button span,.jp-carousel-previous-button span{background-image:url(../modules/carousel/images/arrows-2x.png)}}.jp-carousel-wrap{font-family:"Helvetica Neue",sans-serif!important}.jp-carousel-info{position:absolute;bottom:0;text-align:right!important;-webkit-font-smoothing:subpixel-antialiased!important}.jp-carousel-info ::selection{background:#68c9e8;color:#fff}.jp-carousel-info ::-moz-selection{background:#68c9e8;color:#fff}.jp-carousel-photo-info{position:relative;right:25%;width:50%}.jp-carousel-transitions .jp-carousel-photo-info{transition:400ms ease-out}.jp-carousel-info h2{background:none!important;border:none!important;color:#999;display:block!important;font:400 13px/1.25em "Helvetica Neue",sans-serif!important;letter-spacing:0!important;margin:7px 0 0!important;padding:10px 0 0!important;overflow:hidden;text-align:right;text-shadow:none!important;text-transform:none!important;-webkit-font-smoothing:subpixel-antialiased}.jp-carousel-next-button,.jp-carousel-previous-button{text-indent:-9999px;overflow:hidden;cursor:pointer}.jp-carousel-next-button span,.jp-carousel-previous-button span{position:absolute;top:0;bottom:0;width:82px;zoom:1;filter:alpha(opacity=20);opacity:.2}.jp-carousel-transitions .jp-carousel-next-button span,.jp-carousel-transitions .jp-carousel-previous-button span{transition:500ms opacity ease-out}.jp-carousel-next-button:hover span,.jp-carousel-previous-button:hover span{filter:alpha(opacity=60);opacity:.6}.jp-carousel-next-button span{background-position:-110px center;left:0}.jp-carousel-previous-button span{background-position:-10px center;right:0}.jp-carousel-buttons{margin:-18px -20px 15px;padding:8px 10px;border-bottom:1px solid #222;background:#222;text-align:center}div.jp-carousel-buttons a{border:none!important;color:#999;font:400 11px/1.2em "Helvetica Neue",sans-serif!important;letter-spacing:0!important;padding:5px 0 5px 2px;text-decoration:none!important;text-shadow:none!important;vertical-align:middle;-webkit-font-smoothing:subpixel-antialiased}div.jp-carousel-buttons a:hover{color:#68c9e8;border:none!important}.jp-carousel-transitions div.jp-carousel-buttons a:hover{transition:none!important}.jp-carousel-next-button,.jp-carousel-previous-button,.jp-carousel-slide,.jp-carousel-slide img{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.jp-carousel-slide{position:fixed;width:0;bottom:0;background-color:#000;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px}.jp-carousel-slide.selected{position:absolute!important;filter:alpha(opacity=100);opacity:1}.jp-carousel-slide{filter:alpha(opacity=25);opacity:.25}.jp-carousel-slide img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;background:none!important;border:none!important;padding:0!important;box-shadow:0 2px 8px rgba(0,0,0,.1);zoom:1}.jp-carousel-transitions .jp-carousel-slide{transition:opacity 400ms linear}.jp-carousel-close-hint{color:#999;cursor:default;letter-spacing:0!important;padding:.35em 0 0;position:absolute;text-align:right;width:90%}.jp-carousel-transitions .jp-carousel-close-hint{transition:color 200ms linear}.jp-carousel-close-hint span{cursor:pointer;background-color:#000;background-color:rgba(0,0,0,.8);display:block;height:22px;font:400 24px/1 "Helvetica Neue",sans-serif!important;line-height:22px;margin:0 .4em 0 0;text-align:center;vertical-align:middle;width:22px;border-radius:4px}.jp-carousel-transitions .jp-carousel-close-hint span{transition:border-color 200ms linear}.jp-carousel-close-hint:hover{cursor:default;color:#fff}.jp-carousel-close-hint:hover span{border-color:#fff}a.jp-carousel-image-download,div.jp-carousel-buttons a.jp-carousel-commentlink,div.jp-carousel-buttons a.jp-carousel-like,div.jp-carousel-buttons a.jp-carousel-reblog{background:url(../modules/carousel/images/carousel-sprite.png?5) 0 0/16px 200px no-repeat}div.jp-carousel-buttons a.jp-carousel-commentlink,div.jp-carousel-buttons a.jp-carousel-reblog{margin:0 0 0 14px!important}div.jp-carousel-buttons a.jp-carousel-like.liked,div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{background-color:#303030;padding-left:8px!important;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px}div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{margin:0 -12px 0 2px!important}div.jp-carousel-buttons a.jp-carousel-reblog,div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover{background-position:6px -36px;padding-right:26px!important;color:#999}div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0 -156px;padding-right:19px!important}.rtl div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0% -156px}div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover{cursor:default}div.jp-carousel-buttons a.jp-carousel-reblog:hover{background-position:6px -56px;color:#68c9e8}div.jp-carousel-buttons a.jp-carousel-like{background-position:5px 5px;padding-right:24px!important}div.jp-carousel-buttons a.jp-carousel-like:hover{background-position:5px -15px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){a.jp-carousel-image-download,div.jp-carousel-buttons a.jp-carousel-commentlink,div.jp-carousel-buttons a.jp-carousel-like,div.jp-carousel-buttons a.jp-carousel-reblog{background-image:url(../modules/carousel/images/carousel-sprite-2x.png?5)}}div#carousel-reblog-box{background:#222;padding:3px 0 0;display:none;margin:5px auto 0;border-radius:2px;box-shadow:0 0 20px rgba(0,0,0,.9);height:74px;width:565px}#carousel-reblog-box textarea{background:#999;font:13px/1.4 "Helvetica Neue",sans-serif!important;color:#444;padding:3px 6px;width:370px;height:48px;float:right;margin:6px 9px 0;border:1px solid #666;box-shadow:inset -2px 2px 2px rgba(0,0,0,.2);border-radius:2px}#carousel-reblog-box textarea:focus{background:#ccc;color:#222}#carousel-reblog-box label{color:#aaa;font-size:11px;padding-left:2px;padding-right:2px;display:inline;font-weight:400}#carousel-reblog-box select{width:110px;padding:0;font-size:12px;font-family:"Helvetica Neue",sans-serif!important;background:#333;color:#eee;border:1px solid #444;margin-top:5px}#carousel-reblog-box .submit,#wrapper #carousel-reblog-box p.response{float:right;width:154px;padding-top:0;padding-right:1px;overflow:hidden;height:34px;margin:3px 2px 0 0!important}#wrapper #carousel-reblog-box p.response{font-size:13px;clear:none;padding-right:2px;height:34px;color:#aaa}#carousel-reblog-box input#carousel-reblog-submit,#jp-carousel-comment-form-button-submit{font:13px/24px "Helvetica Neue",sans-serif!important;margin-top:8px;padding:0 10px!important;border-radius:1em;height:24px;color:#333;cursor:pointer;font-weight:400;background:#aaa;border:1px solid #444}#carousel-reblog-box input#carousel-reblog-submit:hover,#jp-carousel-comment-form-button-submit:hover{background:#ccc}#carousel-reblog-box .canceltext{color:#aaa;font-size:11px;line-height:24px}#carousel-reblog-box .canceltext a{color:#fff}.jp-carousel-titleanddesc{border-top:1px solid #222;color:#999;font-size:15px;padding-top:24px;margin-bottom:20px;font-weight:400}.jp-carousel-titleanddesc-title{font:300 1.5em/1.1 "Helvetica Neue",sans-serif!important;text-transform:none!important;color:#fff;margin:0 0 15px;padding:0}.jp-carousel-titleanddesc-desc p{color:#999;line-height:1.4;margin-bottom:.75em}.jp-carousel-comments p a,.jp-carousel-info h2 a,.jp-carousel-titleanddesc p a{color:#fff!important;border:none!important;text-decoration:underline!important;font-weight:400!important;font-style:normal!important}.jp-carousel-titleanddesc p b,.jp-carousel-titleanddesc p strong{font-weight:700;color:#999}.jp-carousel-titleanddesc p em,.jp-carousel-titleanddesc p i{font-style:italic;color:#999}.jp-carousel-comments p a:hover,.jp-carousel-info h2 a:hover,.jp-carousel-titleanddesc p a:hover{color:#68c9e8!important}.jp-carousel-titleanddesc p:empty{display:none}.jp-carousel-left-column-wrapper h1:after,.jp-carousel-left-column-wrapper h1:before,.jp-carousel-photo-info h1:after,.jp-carousel-photo-info h1:before{content:none!important}.jp-carousel-image-meta{background:#111;border:1px solid #222;color:#fff;font:12px/1.4 "Helvetica Neue",sans-serif!important;overflow:hidden;padding:18px 20px;width:209px!important}.jp-carousel-image-meta h5,.jp-carousel-image-meta li{font-family:"Helvetica Neue",sans-serif!important;position:inherit!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;background:none!important;border:none!important;font-weight:400!important;line-height:1.3em!important}.jp-carousel-image-meta ul{margin:0!important;padding:0!important;list-style:none!important}.jp-carousel-image-meta li{width:48%!important;float:right!important;margin:0 0 15px 2%!important;color:#fff!important;font-size:13px!important}.jp-carousel-image-meta h5{color:#999!important;text-transform:uppercase!important;font-size:10px!important;margin:0 0 2px!important;letter-spacing:.1em!important}a.jp-carousel-image-download{padding-right:23px;display:inline-block;clear:both;color:#999;line-height:1;font-weight:400;font-size:13px;text-decoration:none;background-position:0 -82px}.rtl a.jp-carousel-image-download{background-position:0% -82px}a.jp-carousel-image-download span.photo-size{font-size:11px;border-radius:1em;margin-right:2px;display:inline-block}a.jp-carousel-image-download span.photo-size-times{padding:0 2px 0 1px}a.jp-carousel-image-download:hover{background-position:0 -122px;color:#68c9e8;border:none!important}.rtl a.jp-carousel-image-download:hover{background-position:0% -122px}.jp-carousel-image-map{position:relative;margin:-20px -20px 20px;border-bottom:1px solid rgba(255,255,255,.17);height:154px}.jp-carousel-image-map img.gmap-main{border-top-right-radius:6px;border-left:1px solid rgba(255,255,255,.17)}.jp-carousel-image-map div.gmap-topright{width:94px;height:154px;position:absolute;top:0;left:0}.jp-carousel-image-map div.imgclip{overflow:hidden;border-top-left-radius:6px}.jp-carousel-image-map div.gmap-topright img{margin-right:-40px}.jp-carousel-image-map img.gmap-bottomright{position:absolute;top:96px;left:0}.jp-carousel-comments{font:15px/1.7 "Helvetica Neue",sans-serif!important;font-weight:400;background:none}.jp-carousel-comments p a:active,.jp-carousel-comments p a:focus,.jp-carousel-comments p a:hover{color:#68c9e8!important}.jp-carousel-comment{background:none;color:#999;margin-bottom:20px;clear:right;overflow:auto;width:100%}.jp-carousel-comment p{color:#999!important}.jp-carousel-comment .comment-author{font-size:13px;font-weight:400;padding:0;width:auto;display:inline;float:none;border:none;margin:0}.jp-carousel-comment .comment-author a{color:#fff}.jp-carousel-comment .comment-gravatar{float:right}.jp-carousel-comment .comment-content{border:none;margin-right:85px;padding:0}.jp-carousel-comment .avatar{margin:0 0 0 20px;border-radius:4px;border:none!important;padding:0!important;background-color:transparent!important}.jp-carousel-comment .comment-date{color:#999;margin-top:4px;font-size:11px;display:inline;float:left}#jp-carousel-comment-form{margin:0 0 10px!important;float:right;width:100%}textarea#jp-carousel-comment-form-comment-field{background:rgba(34,34,34,.9);border:1px solid #3a3a3a;color:#aaa;font:15px/1.4 "Helvetica Neue",sans-serif!important;width:100%;padding:10px 10px 5px;margin:0;float:none;height:147px;box-shadow:inset -2px 2px 2px rgba(0,0,0,.2);border-radius:3px;overflow:hidden;-moz-box-sizing:border-box;box-sizing:border-box}textarea#jp-carousel-comment-form-comment-field::-webkit-input-placeholder{color:#555}textarea#jp-carousel-comment-form-comment-field:focus{background:#ccc;color:#222}textarea#jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder{color:#aaa}#jp-carousel-comment-form-spinner{color:#fff;margin:22px 10px 0 0;display:block;width:20px;height:20px;float:right}#jp-carousel-comment-form-submit-and-info-wrapper{display:none;overflow:hidden;width:100%}#jp-carousel-comment-form-commenting-as input{background:rgba(34,34,34,.9);border:1px solid #3a3a3a;color:#aaa;font:13px/1.4 "Helvetica Neue",sans-serif!important;padding:3px 6px;float:right;box-shadow:inset -2px 2px 2px rgba(0,0,0,.2);border-radius:2px;width:285px}#jp-carousel-comment-form-commenting-as input:focus{background:#ccc;color:#222}#jp-carousel-comment-form-commenting-as p{font:400 13px/1.7 "Helvetica Neue",sans-serif!important;margin:22px 0 0;float:right}#jp-carousel-comment-form-commenting-as fieldset{float:right;border:none;margin:20px 0 0;padding:0;clear:both}#jp-carousel-comment-form-commenting-as label{font:400 13px/1.7 "Helvetica Neue",sans-serif!important;margin:0 0 3px 20px;float:right;width:100px}#jp-carousel-comment-form-button-submit{margin-top:20px;float:left}#jp-carousel-comment-form-container,#js-carousel-comment-form-container{margin-bottom:15px;overflow:auto;width:100%}#jp-carousel-comment-post-results{display:none;overflow:auto;width:100%}#jp-carousel-comment-post-results span{display:block;text-align:center;margin-top:20px;width:100%;overflow:auto;padding:1em 0;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,.7);border-radius:2px;font:13px/1.4 "Helvetica Neue",sans-serif!important;border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 0 5px 5px rgba(0,0,0,1)}.jp-carousel-comment-post-error{color:#DF4926}#jp-carousel-comments-closed{display:none;color:#999}#jp-carousel-comments-loading{font:400 15px/1.7 "Helvetica Neue",sans-serif!important;display:none;color:#999;text-align:right;margin-bottom:20px}.jp-carousel-light .jp-carousel-overlay{background:#fff}.jp-carousel-light .jp-carousel-next-button:hover span,.jp-carousel-light .jp-carousel-previous-button:hover span{opacity:.8}.jp-carousel-light .jp-carousel-close-hint:hover,.jp-carousel-light .jp-carousel-titleanddesc div{color:#000!important}.jp-carousel-light .jp-carousel-comment .comment-author a,.jp-carousel-light .jp-carousel-comments p a,.jp-carousel-light .jp-carousel-info h2 a,.jp-carousel-light .jp-carousel-titleanddesc p a{color:#1e8cbe!important}.jp-carousel-light .jp-carousel-comment .comment-author a:hover,.jp-carousel-light .jp-carousel-comments p a:hover,.jp-carousel-light .jp-carousel-info h2 a:hover,.jp-carousel-light .jp-carousel-titleanddesc p a:hover{color:#f1831e!important}.jp-carousel-light .jp-carousel-comment,.jp-carousel-light .jp-carousel-comment p,.jp-carousel-light .jp-carousel-info h2,.jp-carousel-light .jp-carousel-titleanddesc,.jp-carousel-light .jp-carousel-titleanddesc p,.jp-carousel-light .jp-carousel-titleanddesc p b,.jp-carousel-light .jp-carousel-titleanddesc p em,.jp-carousel-light .jp-carousel-titleanddesc p i,.jp-carousel-light .jp-carousel-titleanddesc p strong,.jp-carousel-light div.jp-carousel-buttons a{color:#666}.jp-carousel-light .jp-carousel-buttons{border-bottom-color:#f0f0f0;background:#f5f5f5}.jp-carousel-light div.jp-carousel-buttons a:hover{text-decoration:none;color:#f1831e}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog,.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog:hover{background-position:4px -56px;padding-right:24px!important}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked,.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{background-color:#2ea2cc;color:#fff}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0 -176px}.rtl .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0% -176px}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like,.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like:hover{background-position:5px -15px;padding-right:23px!important}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{background-position:5px -36px}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked{background-position:5px 5px}.jp-carousel-light div#carousel-reblog-box{background:#eee;box-shadow:0 2px 10px rgba(0,0,0,.1);border:1px solid #ddd}.jp-carousel-light #carousel-reblog-box textarea{color:#666;border:1px solid #cfcfcf;background:#fff}.jp-carousel-light #carousel-reblog-box .canceltext{color:#888}.jp-carousel-light #carousel-reblog-box .canceltext a{color:#666}.jp-carousel-light #carousel-reblog-box select{background:#eee;color:#333;border:1px solid #aaa}#jp-carousel-comment-form-button-submit,.jp-carousel-light #carousel-reblog-box input#carousel-reblog-submit{color:#333;background:#fff;border:1px solid #aaa}.jp-carousel-light .jp-carousel-image-meta{background:#fafafa;border:1px solid #eee;border-top-color:#f5f5f5;border-right-color:#f5f5f5;color:#333}.jp-carousel-light .jp-carousel-image-meta li{color:#000!important}.jp-carousel-light .jp-carousel-close-hint{color:#ccc}.jp-carousel-light .jp-carousel-close-hint span{background-color:#fff;border-color:#ccc}.jp-carousel-light #jp-carousel-comment-form-comment-field::-webkit-input-placeholder{color:#aaa}.jp-carousel-light #jp-carousel-comment-form-comment-field:focus{color:#333}.jp-carousel-light #jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder{color:#ddd}.jp-carousel-light a.jp-carousel-image-download{background-position:0 -122px}.rtl .jp-carousel-light a.jp-carousel-image-download{background-position:0% -122px}.jp-carousel-light a.jp-carousel-image-download:hover{background-position:0 -122px;color:#f1831e}.rtl .jp-carousel-light a.jp-carousel-image-download:hover{background-position:0% -122px}.jp-carousel-light textarea#jp-carousel-comment-form-comment-field{background:#fbfbfb;color:#333;border:1px solid #dfdfdf;box-shadow:inset -2px 2px 2px rgba(0,0,0,.1)}.jp-carousel-light #jp-carousel-comment-form-commenting-as input{background:#fbfbfb;border:1px solid #dfdfdf;color:#333;box-shadow:inset -2px 2px 2px rgba(0,0,0,.1)}.jp-carousel-light #jp-carousel-comment-form-commenting-as input:focus{background:#fbfbfb;color:#333}.jp-carousel-light #jp-carousel-comment-post-results span{background:#f7f7f7;border:1px solid #dfdfdf;box-shadow:inset 0 0 5px rgba(0,0,0,.05)}.jp-carousel-light .jp-carousel-slide{background-color:#fff}.jp-carousel-light .jp-carousel-titleanddesc{border-top:1px solid #eee}@media only screen and (max-width:760px){.jp-carousel-info{margin:0 10px!important}.jp-carousel-buttons,.jp-carousel-next-button,.jp-carousel-previous-button{display:none!important}.jp-carousel-image-meta{float:none!important;width:100%!important;-moz-box-sizing:border-box;box-sizing:border-box}.jp-carousel-close-hint{font-weight:800!important;font-size:26px!important;position:fixed!important;top:-10px}.jp-carousel-slide img{filter:alpha(opacity=100);opacity:1}.jp-carousel-wrap{background-color:#000}.jp-carousel-fadeaway{display:none}#jp-carousel-comment-form-container{display:none!important}.jp-carousel-titleanddesc{padding-top:0!important;border:none!important}.jp-carousel-titleanddesc-title{font-size:1em!important}.jp-carousel-left-column-wrapper{padding:0;width:100%!important}.jp-carousel-photo-info{right:0!important;width:100%!important}}.contact-form .clear-form{clear:both}.contact-form input[type=email],.contact-form input[type=text]{width:300px;max-width:98%;margin-bottom:13px}.contact-form select{margin-bottom:13px}.contact-form textarea{height:200px;width:80%;float:none;margin-bottom:13px}.contact-form input[type=checkbox],.contact-form input[type=radio]{float:none;margin-bottom:13px}.contact-form label{margin-bottom:3px;float:none;font-weight:700;display:block}.contact-form label.checkbox,.contact-form label.radio{margin-bottom:3px;float:none;font-weight:700;display:inline-block}.contact-form label span{color:#AAA;margin-right:4px;font-weight:400}.form-errors .form-error-message{color:red}.textwidget .contact-form input[type=email],.textwidget .contact-form input[type=text],.textwidget .contact-form textarea{width:250px;max-width:100%;-moz-box-sizing:border-box;box-sizing:border-box}#jetpack-check-feedback-spam{margin:1px 0 0 8px}.jetpack-check-feedback-spam-spinner{display:inline-block;margin-top:7px}.infinite-loader{color:#000;display:block;height:28px;text-indent:-9999px}#infinite-handle span{background:#333;border-radius:1px;color:#eee;cursor:pointer;font-size:13px;padding:6px 16px}#infinite-handle span button,#infinite-handle span button:focus,#infinite-handle span button:hover{display:inline;position:static;padding:0;margin:0;border:none;line-height:inherit;background:0 0;color:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;font-family:inherit}#infinite-handle span button::-moz-focus-inner{margin:0;padding:0;border:none}@media (max-width:800px){#infinite-handle span:before{display:none}#infinite-handle span{display:block}}#infinite-footer{position:fixed;bottom:-50px;right:0;width:100%}#infinite-footer a{text-decoration:none}#infinite-footer .blog-credits a:hover,#infinite-footer .blog-info a:hover{color:#444;text-decoration:underline}#infinite-footer .container{background:rgba(255,255,255,.8);border-color:#ccc;border-color:rgba(0,0,0,.1);border-style:solid;border-width:1px 0 0;-moz-box-sizing:border-box;box-sizing:border-box;margin:0 auto;overflow:hidden;padding:1px 20px;width:780px}#infinite-footer .blog-credits,#infinite-footer .blog-info{-moz-box-sizing:border-box;box-sizing:border-box;line-height:25px}#infinite-footer .blog-info{float:right;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:40%}#infinite-footer .blog-credits{font-weight:400;float:left;width:60%}#infinite-footer .blog-info a{color:#111;font-size:14px;font-weight:700}#infinite-footer .blog-credits{color:#888;font-size:12px;text-align:left}#infinite-footer .blog-credits a{color:#666}.infinity-end.neverending #infinite-footer{display:none}@media (max-width:640px){#infinite-footer .container{-moz-box-sizing:border-box;box-sizing:border-box;width:100%}#infinite-footer .blog-info{width:30%}#infinite-footer .blog-credits{width:70%}#infinite-footer .blog-credits,#infinite-footer .blog-info a{font-size:10px}}@media (max-width:640px){#infinite-footer{position:static}}#wpadminbar li#wp-admin-bar-admin-bar-likes-widget{width:61px;overflow:hidden}#wpadminbar iframe.admin-bar-likes-widget{width:61px;height:28px;min-height:28px;border-width:0;position:absolute;top:0}div.jetpack-likes-widget-wrapper{width:100%;min-height:50px;position:relative}div.jetpack-likes-widget-wrapper .sd-link-color{font-size:12px}div.jetpack-likes-widget-wrapper.slim-likes-widget{width:1px;min-height:0}#likes-other-gravatars{display:none;position:absolute;padding:10px 10px 12px;background-color:#2e4453;border-width:0;box-shadow:0 0 10px #2e4453;box-shadow:0 0 10px rgba(46,68,83,.6);min-width:130px;z-index:1000}#likes-other-gravatars *{line-height:normal}#likes-other-gravatars .likes-text{color:#fff;font-size:12px;padding-bottom:8px}#likes-other-gravatars li,#likes-other-gravatars ul{margin:0;padding:0;text-indent:0;list-style-type:none}#likes-other-gravatars li::before{content:""}#likes-other-gravatars ul.wpl-avatars{overflow:auto;display:block;max-height:190px}#likes-other-gravatars ul.wpl-avatars li{width:32px;height:32px;float:right;margin:0 0 5px 5px}#likes-other-gravatars ul.wpl-avatars li a{margin:0 0 0 2px;border-bottom:none!important;display:block}#likes-other-gravatars ul.wpl-avatars li a img{background:0 0;border:none;margin:0!important;padding:0!important;position:static}div.sd-box{border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.13)}.comment-likes-widget,.entry-content .post-likes-widget,.post-likes-widget{margin:0;border-width:0;display:block}.post-likes-widget-placeholder{margin:0;border-width:0;position:relative}.post-likes-widget-placeholder .button{display:none}.post-likes-widget-placeholder .loading{color:#999;font-size:12px}.slim-likes-widget .post-likes-widget{width:auto;float:none}div.sharedaddy.sd-like-enabled .sd-like h3{display:none}div.sharedaddy.sd-like-enabled .sd-like .post-likes-widget{width:100%;float:none;position:absolute;top:0}.comment-likes-widget{width:100%}.pd-rating{display:block!important}.sd-gplus .sd-title{display:none}div#jp-relatedposts{display:none;padding-top:1em;margin:1em 0;position:relative}div.jp-relatedposts:after{content:'';display:block;clear:both}div#jp-relatedposts h3.jp-relatedposts-headline{margin:0 0 1em;display:inline-block;float:right;font-size:9pt;font-weight:700;font-family:inherit}div#jp-relatedposts h3.jp-relatedposts-headline em:before{content:"";display:block;width:100%;min-width:30px;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.2);margin-bottom:1em}div#jp-relatedposts h3.jp-relatedposts-headline em{font-style:normal;font-weight:700}div#jp-relatedposts div.jp-relatedposts-items{clear:right}div#jp-relatedposts div.jp-relatedposts-items-visual{margin-left:-20px}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post{float:right;width:33%;margin:0 0 1em;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post{padding-left:20px;filter:alpha(opacity=80);-moz-opacity:.8;opacity:.8}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post:nth-child(3n+4),div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post:nth-child(3n+4){clear:both}div#jp-relatedposts div.jp-relatedposts-items div.jp-relatedposts-post:hover .jp-relatedposts-post-title a{text-decoration:underline}div#jp-relatedposts div.jp-relatedposts-items div.jp-relatedposts-post:hover{filter:alpha(opacity=100);-moz-opacity:1;opacity:1}div#jp-relatedposts div.jp-relatedposts-items p,div#jp-relatedposts div.jp-relatedposts-items-visual h4.jp-relatedposts-post-title{font-size:14px;line-height:20px;margin:0}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs{position:relative}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs a.jp-relatedposts-post-aoverlay{position:absolute;top:0;bottom:0;right:0;left:0;display:block}div#jp-relatedposts div.jp-relatedposts-items p{margin-bottom:0}div#jp-relatedposts div.jp-relatedposts-items-visual h4.jp-relatedposts-post-title{text-transform:none;margin:0;font-family:inherit;display:block;max-width:100%}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a{font-size:inherit;font-weight:400;text-decoration:none;filter:alpha(opacity=100);-moz-opacity:1;opacity:1}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a:hover{text-decoration:underline}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post img.jp-relatedposts-post-img,div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post span{display:block;max-width:90%;overflow:hidden;text-overflow:ellipsis}div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img,div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post span{max-width:100%}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-context,div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date{opacity:.6}.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date,div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-thumbs p.jp-relatedposts-post-excerpt{display:none}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs p.jp-relatedposts-post-excerpt{overflow:hidden}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs span{margin-bottom:1em}@media only screen and (max-width:640px){div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post{width:50%}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post:nth-child(3n){clear:right}div#jp-relatedposts div.jp-relatedposts-items-visual{margin-left:20px}}@media only screen and (max-width:320px){div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post{width:100%;clear:both;margin:0 0 1em}}#jp-post-flair{padding-top:.5em}#content div.sharedaddy,#main div.sharedaddy,div.sharedaddy{clear:both}div.sharedaddy h3.sd-title{margin:0 0 1em;display:inline-block;line-height:1.2;font-size:9pt;font-weight:700}div.sharedaddy h3.sd-title:before{content:"";display:block;width:100%;min-width:30px;border-top:1px solid #ddd;margin-bottom:1em}body.highlander-light h3.sd-title:before{border-top:1px solid rgba(0,0,0,.2)}body.highlander-dark h3.sd-title:before{border-top:1px solid rgba(255,255,255,.4)}.sd-content ul{padding:0!important;margin:0 0 .7em!important;list-style:none!important}.sd-content ul li{display:inline-block}.sd-block.sd-gplus{margin:0 0 .5em}.sd-gplus .sd-content{font-size:12px}#sharing_email .sharing_send,.sd-content ul li .option a.share-ustom,.sd-content ul li a.sd-button,.sd-content ul li.advanced a.share-more,.sd-content ul li.preview-item div.option.option-smart-off a,.sd-social-icon .sd-content ul li a.sd-button,.sd-social-icon-text .sd-content ul li a.sd-button,.sd-social-official .sd-content>ul>li .digg_button >a,.sd-social-official .sd-content>ul>li>a.sd-button,.sd-social-text .sd-content ul li a.sd-button{text-decoration:none!important;display:inline-block;margin:0 0 5px 5px;font-size:12px;font-family:"Open Sans",sans-serif;font-weight:400;border-radius:3px;color:#777!important;background:#f8f8f8;border:1px solid #ccc;box-shadow:0 1px 0 rgba(0,0,0,.08);text-shadow:none;line-height:23px;padding:1px 5px 0 8px}.sd-content ul li .option a.share-ustom span,.sd-content ul li a.sd-button>span,.sd-content ul li.advanced a.share-more span,.sd-content ul li.preview-item div.option.option-smart-off a span,.sd-social-icon-text .sd-content ul li a.sd-button>span,.sd-social-official .sd-content>ul>li .digg_button >a span,.sd-social-official .sd-content>ul>li>a.sd-button span,.sd-social-text .sd-content ul li a.sd-button span{line-height:23px}.sd-social-official .sd-content .sharing-hidden .inner>ul>li .digg_button>a,.sd-social-official .sd-content .sharing-hidden .inner>ul>li>a.sd-button,.sd-social-official .sd-content>ul>li .digg_button>a,.sd-social-official .sd-content>ul>li>a.sd-button{line-height:17px;box-shadow:none;vertical-align:top}.sd-social-official .sd-content .sharing-hidden .inner>ul>li .digg_button>a:before,.sd-social-official .sd-content .sharing-hidden .inner>ul>li>a.sd-button:before,.sd-social-official .sd-content>ul>li .digg_button>a:before,.sd-social-official .sd-content>ul>li>a.sd-button:before{margin-bottom:-1px;top:0}.sd-social-icon .sd-content ul li a.sd-button:active,.sd-social-icon .sd-content ul li a.sd-button:hover,.sd-social-icon-text .sd-content ul li a.sd-button:active,.sd-social-icon-text .sd-content ul li a.sd-button:hover,.sd-social-official .sd-content>ul>li .digg_button>a:active,.sd-social-official .sd-content>ul>li .digg_button>a:hover,.sd-social-official .sd-content>ul>li>a.sd-button:active,.sd-social-official .sd-content>ul>li>a.sd-button:hover,.sd-social-text .sd-content ul li a.sd-button:active,.sd-social-text .sd-content ul li a.sd-button:hover{color:#555;background:#fafafa;border:1px solid #999}.sd-social-icon .sd-content ul li a.sd-button:active,.sd-social-icon-text .sd-content ul li a.sd-button:active,.sd-social-official .sd-content>ul>li .digg_button>a:active,.sd-social-official .sd-content>ul>li>a.sd-button:active,.sd-social-text .sd-content ul li a.sd-button:active{box-shadow:inset 0 1px 0 rgba(0,0,0,.16)}.sd-content ul li a.sd-button:before{display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:400 16px/1 Genericons;vertical-align:top;position:relative;top:3px;text-align:center}.sd-content ul li{margin:0!important;padding:0}.sd-content ul li.preview-item a.sd-button span,.sd-social-icon-text .sd-content ul li a span,.sd-social-official .sd-content ul li a.sd-button span{margin-right:3px}.sd-content ul li.preview-item.no-icon a.sd-button span{margin-right:0}.sd-content ul li.no-icon a:before,.sd-social-text .sd-content ul li a:before{display:none}body .sd-content ul li.share-custom.no-icon a span,body .sd-social-text .sd-content ul li.share-custom a span{background-image:none;background-position:-500px -500px!important;background-repeat:no-repeat!important;padding-right:0;height:0;line-height:inherit}.sd-social-icon .sd-content ul li a.share-more{position:relative;top:2px}.sd-social-icon .sd-content ul li a.share-more span{margin-right:3px}.sd-content ul li.share-print div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-print a:before,.sd-social-icon-text .sd-content li.share-print a:before,.sd-social-official .sd-content li.share-print a:before,.sd-social-text .sd-content ul li.share-print a:before{content:'\f469'}.sd-content ul li.share-email div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-email a:before,.sd-social-icon-text .sd-content li.share-email a:before,.sd-social-official .sd-content li.share-email a:before,.sd-social-text .sd-content ul li.share-email a:before{content:'\f410'}.sd-content ul li.share-linkedin div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-linkedin a:before,.sd-social-icon-text .sd-content li.share-linkedin a:before,.sd-social-text .sd-content ul li.share-linkedin a:before{content:'\f207'}.sd-content ul li.share-twitter div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-twitter a:before,.sd-social-icon-text .sd-content li.share-twitter a:before,.sd-social-text .sd-content ul li.share-twitter a:before{content:'\f202'}.sd-content ul li.share-reddit div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-reddit a:before,.sd-social-icon-text .sd-content li.share-reddit a:before,.sd-social-text .sd-content ul li.share-reddit a:before{content:'\f222'}.sd-content ul li.share-tumblr div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-tumblr a:before,.sd-social-icon-text .sd-content li.share-tumblr a:before,.sd-social-text .sd-content ul li.share-tumblr a:before{content:'\f214'}.sd-content ul li.share-stumbleupon div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-stumbleupon a:before,.sd-social-icon-text .sd-content li.share-stumbleupon a:before,.sd-social-text .sd-content ul li.share-stumbleupon a:before{content:'\f223'}.sd-content ul li.share-pocket div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-pocket a:before,.sd-social-icon-text .sd-content li.share-pocket a:before,.sd-social-text .sd-content ul li.share-pocket a:before{content:'\f224'}.sd-content ul li.share-pinterest div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-pinterest a:before,.sd-social-icon-text .sd-content li.share-pinterest a:before,.sd-social-text .sd-content ul li.share-pinterest a:before{content:'\f209'}.sd-content ul li.share-google-plus-1 div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-google-plus-1 a:before,.sd-social-icon-text .sd-content li.share-google-plus-1 a:before,.sd-social-text .sd-content ul li.share-google-plus-1 a:before{content:'\f218'}.sd-content ul li.share-facebook div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-facebook a:before,.sd-social-icon-text .sd-content li.share-facebook a:before,.sd-social-text .sd-content ul li.share-facebook a:before{content:'\f204'}.sd-content ul li.share-press-this div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-press-this a:before,.sd-social-icon-text .sd-content li.share-press-this a:before,.sd-social-official .sd-content li.share-press-this a:before,.sd-social-text .sd-content ul li.share-press-this a:before{content:'\f205'}.sd-social-official .sd-content li.share-press-this a:before{color:#2ba1cb}.sd-content ul li.advanced a.share-more:before,.sd-social-icon .sd-content ul a.share-more:before,.sd-social-icon-text .sd-content a.share-more:before,.sd-social-official .sd-content a.share-more:before,.sd-social-text .sd-content ul a.share-more:before{content:'\f415'}.sd-social-official .sd-content a.share-more:before{color:#2ba1cb}.sd-social .sd-button .share-count{background:#2ea2cc;color:#fff;border-radius:10px;display:inline-block;text-align:center;font-size:10px;padding:1px 3px;line-height:1}.sd-social-official .sd-content ul,.sd-social-official .sd-content ul li{line-height:25px!important}.sd-social-official .sd-content>ul>li>a.sd-button span{line-height:1}.sd-social-official .sd-content ul:after{content:".";display:block;height:0;clear:both;visibility:hidden}.sd-social-official .sd-content li.share-press-this a{margin:0 0 5px}.sd-social-official .sd-content ul>li{display:block;float:right;margin:0 0 5px 10px!important;height:25px}.sd-social-official .sd-content .pocket_button iframe{width:98px}.sd-social-official .sd-content .twitter_button iframe{width:96px}.reddit_button iframe,.stumbleupon_button iframe{margin-top:1px}.googleplus1_button iframe,.like_button iframe,.linkedin_button>span,.pinterest_button,.pocket_button iframe,.twitter_button{margin:0!important}body .sd-social-official li a.share-more,body .sd-social-official li.share-custom a,body .sd-social-official li.share-digg a,body .sd-social-official li.share-email a,body .sd-social-official li.share-press-this a,body .sd-social-official li.share-print{position:relative;top:0}body .sd-social-icon .sd-content li.share-custom>a{padding:2px 3px 0;position:relative;top:4px}body .sd-content ul li.share-custom a.share-icon span,body .sd-social-icon .sd-content li.share-custom a span,body .sd-social-icon-text .sd-content li.share-custom a span,body .sd-social-official .sd-content li.share-custom a span,body .sd-social-text .sd-content li.share-custom a span{background-size:16px 16px;background-repeat:no-repeat;margin-right:0;padding:0 19px 0 0;display:inline-block;height:16px;line-height:16px}body .sd-social-icon .sd-content li.share-custom a span{width:0}body .sd-social-icon .sd-content li.share-custom a span{padding-right:16px!important}.sharing-hidden .inner{position:absolute;z-index:2;border:1px solid #ccc;padding:10px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.2);border-radius:2px;margin-top:5px;max-width:400px}.sharing-hidden .inner ul{margin:0!important}.sd-social-official .sd-content .sharing-hidden ul>li.share-end{clear:both;margin:0;height:0}.sharing-hidden .inner:after,.sharing-hidden .inner:before{position:absolute;z-index:1;top:-8px;right:20px;width:0;height:0;border-right:6px solid transparent;border-left:6px solid transparent;border-bottom:8px solid #ccc;content:"";display:block}.sharing-hidden .inner:after{z-index:2;top:-7px;border-right:6px solid transparent;border-left:6px solid transparent;border-bottom:8px solid #fff}.sharing-hidden ul{margin:0}.sd-social-icon .sd-content ul li[class*=share-] a,.sd-social-icon .sd-content ul li[class*=share-] a:hover,.sd-social-icon .sd-content ul li[class*=share-] div.option a{border-radius:50%;-webkit-border-radius:50%;border:0;box-shadow:none;padding:8px;position:relative;top:-2px;line-height:1;width:auto;height:auto;margin-bottom:0}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button>span,.sd-social-icon .sd-content ul li[class*=share-] div.option a span{line-height:1}.sd-social-icon .sd-content ul li[class*=share-] a:hover,.sd-social-icon .sd-content ul li[class*=share-] div.option a:hover{border:none;opacity:.6}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button:before{top:0}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button.share-custom{padding:8px 8px 6px;top:5px}.sd-social-icon .sd-content ul li a.sd-button.share-more{margin-right:10px}.sd-social-icon .sd-content ul li:first-child a.sd-button.share-more{margin-right:0}.sd-social-icon .sd-button span.share-count{position:absolute;bottom:0;left:0;border-radius:0;background:#555;font-size:9px}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button{background:#e9e9e9;margin-top:2px;text-indent:0}.sd-social-icon .sd-content ul li[class*=share-].share-tumblr a.sd-button{background:#2c4762;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-facebook a.sd-button{background:#3b5998;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-stumbleupon a.sd-button{background:#ea4b24;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-twitter a.sd-button{background:#00acee;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-pinterest a.sd-button{background:#ca1f27;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-digg a.sd-button{color:#555!important}.sd-social-icon .sd-content ul li[class*=share-].share-press-this a.sd-button{background:#1e8cbe;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-linkedin a.sd-button{background:#0077b5;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-google-plus-1 a.sd-button{background:#dd4b39;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-pocket a.sd-button{background:#ee4056;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-reddit a.sd-button{background:#cee3f8;color:#555!important}.sharing-screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}.sharing-screen-reader-text:active,.sharing-screen-reader-text:focus,.sharing-screen-reader-text:hover{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}#sharing_email{width:342px;position:absolute;z-index:1001;border:1px solid #ccc;padding:15px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.2);text-align:right}div.sharedaddy.sharedaddy-dark #sharing_email{border-color:#fff}#sharing_email .errors{color:#fff;background-color:#771a09;font-size:12px;padding:5px 8px;line-height:1;margin:10px 0 0}#sharing_email label{font-size:12px;color:#333;font-weight:700;display:block;padding:0 0 4px;text-align:right;text-shadow:none}#sharing_email form{margin:0}#sharing_email input[type=email],#sharing_email input[type=text]{width:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border:1px solid #ccc;margin-bottom:1em;background:#fff;font-size:12px;color:#333;max-width:none;padding:1px 3px}#sharing_email .sharing_cancel{padding:0 1em 0 0;font-size:12px;text-shadow:none}#sharing_email .recaptcha{width:312px;height:123px;margin:0 0 1em}.slideshow-window{background-color:#222;border:20px solid #222;border-radius:11px;-moz-border-radius:11px;-webkit-border-radius:11px;-khtml-border-radius:11px;margin-bottom:20px;height:410px;z-index:1}.slideshow-window.slideshow-white{background-color:#fff;border-color:#fff}.slideshow-window,.slideshow-window *{-moz-box-sizing:content-box;box-sizing:content-box}.slideshow-loading{height:100%;text-align:center;margin:auto}body div.slideshow-window * img{border-width:0!important;margin-left:auto!important;margin-right:auto!important;padding:0!important;background-color:transparent!important;background-image:none!important;max-width:100%}.slideshow-loading img{vertical-align:middle}.slideshow-slide{height:100%;width:100%;text-align:center;margin:auto;display:none}.slideshow-slide img{vertical-align:middle}.slideshow-line-height-hack{overflow:hidden;width:0;font-size:0}.slideshow-slide-caption{font-size:13px;font-family:"Helvetica Neue",sans-serif;color:#f7f7f7;text-shadow:#222 -1px 1px 2px;line-height:25px;height:25px;position:absolute;bottom:5px;right:0;z-index:100;width:100%;text-align:center}.slideshow-controls{z-index:1000;position:absolute;bottom:30px;margin:auto;text-align:center;width:100%;-ms-filter:"alpha(Opacity=0)";opacity:0;direction:rtl}body div div.slideshow-controls a,body div div.slideshow-controls a:hover{border:2px solid rgba(255,255,255,.1)!important;background-color:#000!important;background-color:rgba(0,0,0,.6)!important;background-image:url(../modules/shortcodes/img/slideshow-controls.png)!important;background-repeat:no-repeat;background-size:142px 16px!important;background-position:-34px 8px!important;color:#222!important;margin:0 5px!important;padding:0!important;display:inline-block!important;zoom:1;height:32px!important;width:32px!important;line-height:32px!important;text-align:center!important;-khtml-border-radius:10em!important;border-radius:10em!important;transition:300ms border-color ease-out}@media only screen and (-webkit-min-device-pixel-ratio:1.5){body div div.slideshow-controls a,body div div.slideshow-controls a:hover{background-image:url(../modules/shortcodes/img/slideshow-controls-2x.png)!important}}body div div.slideshow-controls a:hover{border-color:rgba(255,255,255,1)!important}body div div.slideshow-controls a:first-child{background-position:-76px 8px!important}body div div.slideshow-controls a:last-child{background-position:-117px 8px!important}body div div.slideshow-controls a.running,body div div.slideshow-controls a:nth-child(2){background-position:-34px 8px!important}body div div.slideshow-controls a.paused{background-position:9px 8px!important}.slideshow-controls a img{border:50px dotted #f0f}body.presentation-wrapper-fullscreen-parent,html.presentation-wrapper-fullscreen-parent{overflow:hidden!important}.presentation-wrapper-fullscreen-parent #wpadminbar{display:none}.presentation-wrapper-fullscreen,.presentation-wrapper-fullscreen-parent{min-width:100%!important;min-height:100%!important;position:absolute!important;top:0!important;left:0!important;bottom:0!important;right:0!important;margin:0!important;padding:0!important;z-index:10000!important}.presentation-wrapper-fullscreen{background-color:gray;border:none!important}.presentation-wrapper-fullscreen .nav-arrow-left,.presentation-wrapper-fullscreen .nav-arrow-right{z-index:20001}.presentation-wrapper-fullscreen .nav-fullscreen-button{z-index:20002}.presentation-wrapper{margin:20px auto;border:1px solid #e5e5e5;overflow:hidden;line-height:normal}.presentation{position:relative;margin:0;overflow:hidden;outline:0}.presentation,.presentation .step{background-repeat:no-repeat;background-position:center;background-size:100% 100%}.presentation .step.fade:not(.active){opacity:0}.presentation .slide-content{padding:30px}.presentation .nav-arrow-left,.presentation .nav-arrow-right,.presentation .nav-fullscreen-button{position:absolute;width:34px;background-repeat:no-repeat;z-index:2;opacity:0;transition:opacity .25s}.presentation .nav-arrow-left,.presentation .nav-arrow-right{height:100%;background-image:url(../modules/shortcodes/images/slide-nav.png);background-size:450% 61px}.presentation .nav-arrow-left{right:0;background-position:4px 50%}.presentation .nav-arrow-right{left:0;background-position:-120px 50%}.presentation .nav-fullscreen-button{width:32px;height:32px;margin:4px;bottom:0;left:0;z-index:3;background-image:url(../modules/shortcodes/images/expand.png);background-size:100% 100%}.presentation:hover .nav-arrow-left,.presentation:hover .nav-arrow-right{opacity:1}.presentation:hover .nav-fullscreen-button{opacity:.8}.presentation-wrapper-fullscreen .nav-fullscreen-button{background-image:url(../modules/shortcodes/images/collapse.png)}.presentation .autoplay-overlay{height:15%;width:80%;margin:30% 10%;position:relative;z-index:100;display:table;border-radius:50px;background-color:#e5e5e5;background-color:rgba(0,0,0,.75);transition:opacity .5s}.presentation .autoplay-overlay .overlay-msg{position:relative;display:table-cell;text-align:center;vertical-align:middle;color:#fff}.presentation .will-fade{opacity:0}.presentation .do-fade{opacity:1;transition:opacity .5s}#subscribe-email input{width:95%;padding:1px 2px}.comment-subscription-form .subscribe-label{display:inline!important}.tiled-gallery{clear:both;margin:0 0 20px;overflow:hidden}.tiled-gallery img{margin:2px!important}.tiled-gallery .gallery-group{float:right;position:relative}.tiled-gallery .tiled-gallery-item{float:right;margin:0;position:relative;width:inherit}.tiled-gallery .gallery-row{overflow:hidden}.tiled-gallery .tiled-gallery-item a{background:0 0;border:none;color:none;margin:0;padding:0;text-decoration:none;width:auto}.tiled-gallery .tiled-gallery-item img,.tiled-gallery .tiled-gallery-item img:hover{background:0 0;border:none;box-shadow:none;max-width:100%;padding:0;vertical-align:middle}.tiled-gallery-caption{background:#eee;background:rgba(255,255,255,.8);color:#333;font-size:13px;font-weight:400;overflow:hidden;padding:10px 0;position:absolute;bottom:0;text-indent:10px;text-overflow:ellipsis;width:100%;white-space:nowrap}.tiled-gallery .tiled-gallery-item-small .tiled-gallery-caption{font-size:11px}.widget-gallery .tiled-gallery-unresized{visibility:hidden;height:0;overflow:hidden}.tiled-gallery .tiled-gallery-item img.grayscale{position:absolute;right:0;top:0}.tiled-gallery .tiled-gallery-item img.grayscale:hover{opacity:0}.tiled-gallery.type-circle .tiled-gallery-item img{border-radius:50%!important}.tiled-gallery.type-circle .tiled-gallery-caption{display:none;opacity:0}.jetpack-display-remote-posts{margin:5px 0 20px}.jetpack-display-remote-posts h4{font-size:90%;margin:5px 0;padding:0}.jetpack-display-remote-posts h4 a{text-decoration:none}.jetpack-display-remote-posts p{margin:0!important;padding:0;line-height:1.4em!important;font-size:90%}.jetpack-display-remote-posts img{max-width:100%}.widget-grofile h4{margin:1em 0 .5em}.widget-grofile ul.grofile-urls{margin-right:0;overflow:hidden}.widget-grofile ul.grofile-accounts li{list-style:none;display:inline}.widget-grofile ul.grofile-accounts li::before{content:""!important}.widget-grofile .grofile-accounts-logo{background-image:url(//0.gravatar.com/images/grav-share-sprite.png);background-repeat:no-repeat;width:16px;height:16px;float:right;margin-left:8px;margin-bottom:8px}.rtl .widget-grofile .grofile-accounts-logo{margin-right:8px;margin-left:0}.grofile-thumbnail{width:500px;max-width:100%}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){.widget-grofile .grofile-accounts-logo{background-image:url(//0.gravatar.com/images/grav-share-sprite-2x.png);background-size:16px 784px}}div[class^=gr_custom_container]{border:1px solid gray;border-radius:10px;padding:10px 5px;background-color:#FFF;color:#000}div[class^=gr_custom_container] a{color:#000}h2[class^=gr_custom_header]{display:none}div[class^=gr_custom_each_container]{width:100%;clear:both;margin-bottom:10px;overflow:auto;padding-bottom:4px;border-bottom:1px solid #aaa}div[class^=gr_custom_book_container]{float:left;overflow:hidden;height:60px;margin-right:4px;width:39px}div[class^=gr_custom_author]{font-size:10px}div[class^=gr_custom_tags]{font-size:10px;color:gray}div[class^=gr_custom_rating]{display:none}.widgets-grid-layout{width:100%}.widgets-grid-layout:after,.widgets-grid-layout:before{content:" ";display:table}.widgets-grid-layout:after{clear:both}.widget-grid-view-image{float:right;max-width:50%}.widget-grid-view-image a{display:block;margin:0 0 4px 2px}.widget-grid-view-image:image:nth-child(even){float:left}.widget-grid-view-image:nth-child(even) a{margin:0 2px 4px 0}.widgets-grid-layout .widget-grid-view-image img{max-width:100%;height:auto}.widgets-multi-column-grid ul{overflow:hidden;padding:0;margin:0;list-style-type:none}.widgets-multi-column-grid ul li{background:0 0;clear:none;float:right;margin:0 0 -3px -5px;padding:0 0 6px 8px;border:none;list-style-type:none!important}.widgets-multi-column-grid ul li a{background:0 0;margin:0;padding:0;border:0}.widgets-multi-column-grid .avatar{vertical-align:middle}.widgets-list-layout{padding:0;margin:0;list-style-type:none}.widgets-list-layout li:after,.widgets-list-layout li:before{content:"";display:table}.widgets-list-layout li:after{clear:both}.widgets-list-layout li{zoom:1;margin-bottom:1em;list-style-type:none!important}.widgets-list-layout .widgets-list-layout-blavatar{float:right;width:21.276596%;max-width:40px;height:auto}.widgets-list-layout-links{float:left;width:73.404255%}.widgets-list-layout span{opacity:.5}.widgets-list-layout span:hover{opacity:.8}
css/jetpack.css CHANGED
@@ -1,4 +1,4 @@
1
  /*!
2
  * Do not modify this file directly. It is concatenated from individual module CSS files.
3
  */
4
- .jp-carousel-wrap *{line-height:inherit}.jp-carousel-overlay{background:#000}div.jp-carousel-fadeaway{position:fixed;bottom:0;z-index:2147483647;width:100%;height:15px}.jp-carousel-next-button span,.jp-carousel-previous-button span{background:url(../modules/carousel/images/arrows.png) center center/200px 126px no-repeat}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){.jp-carousel-next-button span,.jp-carousel-previous-button span{background-image:url(../modules/carousel/images/arrows-2x.png)}}.jp-carousel-wrap{font-family:"Helvetica Neue",sans-serif!important}.jp-carousel-info{position:absolute;bottom:0;text-align:left!important;-webkit-font-smoothing:subpixel-antialiased!important}.jp-carousel-info ::selection{background:#68c9e8;color:#fff}.jp-carousel-info ::-moz-selection{background:#68c9e8;color:#fff}.jp-carousel-photo-info{position:relative;left:25%;width:50%}.jp-carousel-transitions .jp-carousel-photo-info{transition:400ms ease-out}.jp-carousel-info h2{background:none!important;border:none!important;color:#999;display:block!important;font:400 13px/1.25em "Helvetica Neue",sans-serif!important;letter-spacing:0!important;margin:7px 0 0!important;padding:10px 0 0!important;overflow:hidden;text-align:left;text-shadow:none!important;text-transform:none!important;-webkit-font-smoothing:subpixel-antialiased}.jp-carousel-next-button,.jp-carousel-previous-button{text-indent:-9999px;overflow:hidden;cursor:pointer}.jp-carousel-next-button span,.jp-carousel-previous-button span{position:absolute;top:0;bottom:0;width:82px;zoom:1;filter:alpha(opacity=20);opacity:.2}.jp-carousel-transitions .jp-carousel-next-button span,.jp-carousel-transitions .jp-carousel-previous-button span{transition:500ms opacity ease-out}.jp-carousel-next-button:hover span,.jp-carousel-previous-button:hover span{filter:alpha(opacity=60);opacity:.6}.jp-carousel-next-button span{background-position:-110px center;right:0}.jp-carousel-previous-button span{background-position:-10px center;left:0}.jp-carousel-buttons{margin:-18px -20px 15px;padding:8px 10px;border-bottom:1px solid #222;background:#222;text-align:center}div.jp-carousel-buttons a{border:none!important;color:#999;font:400 11px/1.2em "Helvetica Neue",sans-serif!important;letter-spacing:0!important;padding:5px 2px 5px 0;text-decoration:none!important;text-shadow:none!important;vertical-align:middle;-webkit-font-smoothing:subpixel-antialiased}div.jp-carousel-buttons a:hover{color:#68c9e8;border:none!important}.jp-carousel-transitions div.jp-carousel-buttons a:hover{transition:none!important}.jp-carousel-next-button,.jp-carousel-previous-button,.jp-carousel-slide,.jp-carousel-slide img{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.jp-carousel-slide{position:fixed;width:0;bottom:0;background-color:#000;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px}.jp-carousel-slide.selected{position:absolute!important;filter:alpha(opacity=100);opacity:1}.jp-carousel-slide{filter:alpha(opacity=25);opacity:.25}.jp-carousel-slide img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;background:none!important;border:none!important;padding:0!important;box-shadow:0 2px 8px rgba(0,0,0,.1);zoom:1}.jp-carousel-transitions .jp-carousel-slide{transition:opacity 400ms linear}.jp-carousel-close-hint{color:#999;cursor:default;letter-spacing:0!important;padding:.35em 0 0;position:absolute;text-align:left;width:90%}.jp-carousel-transitions .jp-carousel-close-hint{transition:color 200ms linear}.jp-carousel-close-hint span{cursor:pointer;background-color:#000;background-color:rgba(0,0,0,.8);display:block;height:22px;font:400 24px/1 "Helvetica Neue",sans-serif!important;line-height:22px;margin:0 0 0 .4em;text-align:center;vertical-align:middle;width:22px;border-radius:4px}.jp-carousel-transitions .jp-carousel-close-hint span{transition:border-color 200ms linear}.jp-carousel-close-hint:hover{cursor:default;color:#fff}.jp-carousel-close-hint:hover span{border-color:#fff}a.jp-carousel-image-download,div.jp-carousel-buttons a.jp-carousel-commentlink,div.jp-carousel-buttons a.jp-carousel-like,div.jp-carousel-buttons a.jp-carousel-reblog{background:url(../modules/carousel/images/carousel-sprite.png?5) 0 0/16px 200px no-repeat}div.jp-carousel-buttons a.jp-carousel-commentlink,div.jp-carousel-buttons a.jp-carousel-reblog{margin:0 14px 0 0!important}div.jp-carousel-buttons a.jp-carousel-like.liked,div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{background-color:#303030;padding-right:8px!important;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px}div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{margin:0 2px 0 -12px!important}div.jp-carousel-buttons a.jp-carousel-reblog,div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover{background-position:6px -36px;padding-left:26px!important;color:#999}div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0 -156px;padding-left:19px!important}.rtl div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:100% -156px}div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover{cursor:default}div.jp-carousel-buttons a.jp-carousel-reblog:hover{background-position:6px -56px;color:#68c9e8}div.jp-carousel-buttons a.jp-carousel-like{background-position:5px 5px;padding-left:24px!important}div.jp-carousel-buttons a.jp-carousel-like:hover{background-position:5px -15px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){a.jp-carousel-image-download,div.jp-carousel-buttons a.jp-carousel-commentlink,div.jp-carousel-buttons a.jp-carousel-like,div.jp-carousel-buttons a.jp-carousel-reblog{background-image:url(../modules/carousel/images/carousel-sprite-2x.png?5)}}div#carousel-reblog-box{background:#222;padding:3px 0 0;display:none;margin:5px auto 0;border-radius:2px;box-shadow:0 0 20px rgba(0,0,0,.9);height:74px;width:565px}#carousel-reblog-box textarea{background:#999;font:13px/1.4 "Helvetica Neue",sans-serif!important;color:#444;padding:3px 6px;width:370px;height:48px;float:left;margin:6px 9px 0;border:1px solid #666;box-shadow:inset 2px 2px 2px rgba(0,0,0,.2);border-radius:2px}#carousel-reblog-box textarea:focus{background:#ccc;color:#222}#carousel-reblog-box label{color:#aaa;font-size:11px;padding-right:2px;padding-left:2px;display:inline;font-weight:400}#carousel-reblog-box select{width:110px;padding:0;font-size:12px;font-family:"Helvetica Neue",sans-serif!important;background:#333;color:#eee;border:1px solid #444;margin-top:5px}#carousel-reblog-box .submit,#wrapper #carousel-reblog-box p.response{float:left;width:154px;padding-top:0;padding-left:1px;overflow:hidden;height:34px;margin:3px 0 0 2px!important}#wrapper #carousel-reblog-box p.response{font-size:13px;clear:none;padding-left:2px;height:34px;color:#aaa}#carousel-reblog-box input#carousel-reblog-submit,#jp-carousel-comment-form-button-submit{font:13px/24px "Helvetica Neue",sans-serif!important;margin-top:8px;padding:0 10px!important;border-radius:1em;height:24px;color:#333;cursor:pointer;font-weight:400;background:#aaa;border:1px solid #444}#carousel-reblog-box input#carousel-reblog-submit:hover,#jp-carousel-comment-form-button-submit:hover{background:#ccc}#carousel-reblog-box .canceltext{color:#aaa;font-size:11px;line-height:24px}#carousel-reblog-box .canceltext a{color:#fff}.jp-carousel-titleanddesc{border-top:1px solid #222;color:#999;font-size:15px;padding-top:24px;margin-bottom:20px;font-weight:400}.jp-carousel-titleanddesc-title{font:300 1.5em/1.1 "Helvetica Neue",sans-serif!important;text-transform:none!important;color:#fff;margin:0 0 15px;padding:0}.jp-carousel-titleanddesc-desc p{color:#999;line-height:1.4;margin-bottom:.75em}.jp-carousel-comments p a,.jp-carousel-info h2 a,.jp-carousel-titleanddesc p a{color:#fff!important;border:none!important;text-decoration:underline!important;font-weight:400!important;font-style:normal!important}.jp-carousel-titleanddesc p b,.jp-carousel-titleanddesc p strong{font-weight:700;color:#999}.jp-carousel-titleanddesc p em,.jp-carousel-titleanddesc p i{font-style:italic;color:#999}.jp-carousel-comments p a:hover,.jp-carousel-info h2 a:hover,.jp-carousel-titleanddesc p a:hover{color:#68c9e8!important}.jp-carousel-titleanddesc p:empty{display:none}.jp-carousel-left-column-wrapper h1:after,.jp-carousel-left-column-wrapper h1:before,.jp-carousel-photo-info h1:after,.jp-carousel-photo-info h1:before{content:none!important}.jp-carousel-image-meta{background:#111;border:1px solid #222;color:#fff;font:12px/1.4 "Helvetica Neue",sans-serif!important;overflow:hidden;padding:18px 20px;width:209px!important}.jp-carousel-image-meta h5,.jp-carousel-image-meta li{font-family:"Helvetica Neue",sans-serif!important;position:inherit!important;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;background:none!important;border:none!important;font-weight:400!important;line-height:1.3em!important}.jp-carousel-image-meta ul{margin:0!important;padding:0!important;list-style:none!important}.jp-carousel-image-meta li{width:48%!important;float:left!important;margin:0 2% 15px 0!important;color:#fff!important;font-size:13px!important}.jp-carousel-image-meta h5{color:#999!important;text-transform:uppercase!important;font-size:10px!important;margin:0 0 2px!important;letter-spacing:.1em!important}a.jp-carousel-image-download{padding-left:23px;display:inline-block;clear:both;color:#999;line-height:1;font-weight:400;font-size:13px;text-decoration:none;background-position:0 -82px}.rtl a.jp-carousel-image-download{background-position:100% -82px}a.jp-carousel-image-download span.photo-size{font-size:11px;border-radius:1em;margin-left:2px;display:inline-block}a.jp-carousel-image-download span.photo-size-times{padding:0 1px 0 2px}a.jp-carousel-image-download:hover{background-position:0 -122px;color:#68c9e8;border:none!important}.rtl a.jp-carousel-image-download:hover{background-position:100% -122px}.jp-carousel-image-map{position:relative;margin:-20px -20px 20px;border-bottom:1px solid rgba(255,255,255,.17);height:154px}.jp-carousel-image-map img.gmap-main{border-top-left-radius:6px;border-right:1px solid rgba(255,255,255,.17)}.jp-carousel-image-map div.gmap-topright{width:94px;height:154px;position:absolute;top:0;right:0}.jp-carousel-image-map div.imgclip{overflow:hidden;border-top-right-radius:6px}.jp-carousel-image-map div.gmap-topright img{margin-left:-40px}.jp-carousel-image-map img.gmap-bottomright{position:absolute;top:96px;right:0}.jp-carousel-comments{font:15px/1.7 "Helvetica Neue",sans-serif!important;font-weight:400;background:none}.jp-carousel-comments p a:active,.jp-carousel-comments p a:focus,.jp-carousel-comments p a:hover{color:#68c9e8!important}.jp-carousel-comment{background:none;color:#999;margin-bottom:20px;clear:left;overflow:auto;width:100%}.jp-carousel-comment p{color:#999!important}.jp-carousel-comment .comment-author{font-size:13px;font-weight:400;padding:0;width:auto;display:inline;float:none;border:none;margin:0}.jp-carousel-comment .comment-author a{color:#fff}.jp-carousel-comment .comment-gravatar{float:left}.jp-carousel-comment .comment-content{border:none;margin-left:85px;padding:0}.jp-carousel-comment .avatar{margin:0 20px 0 0;border-radius:4px;border:none!important;padding:0!important;background-color:transparent!important}.jp-carousel-comment .comment-date{color:#999;margin-top:4px;font-size:11px;display:inline;float:right}#jp-carousel-comment-form{margin:0 0 10px!important;float:left;width:100%}textarea#jp-carousel-comment-form-comment-field{background:rgba(34,34,34,.9);border:1px solid #3a3a3a;color:#aaa;font:15px/1.4 "Helvetica Neue",sans-serif!important;width:100%;padding:10px 10px 5px;margin:0;float:none;height:147px;box-shadow:inset 2px 2px 2px rgba(0,0,0,.2);border-radius:3px;overflow:hidden;-moz-box-sizing:border-box;box-sizing:border-box}textarea#jp-carousel-comment-form-comment-field::-webkit-input-placeholder{color:#555}textarea#jp-carousel-comment-form-comment-field:focus{background:#ccc;color:#222}textarea#jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder{color:#aaa}#jp-carousel-comment-form-spinner{color:#fff;margin:22px 0 0 10px;display:block;width:20px;height:20px;float:left}#jp-carousel-comment-form-submit-and-info-wrapper{display:none;overflow:hidden;width:100%}#jp-carousel-comment-form-commenting-as input{background:rgba(34,34,34,.9);border:1px solid #3a3a3a;color:#aaa;font:13px/1.4 "Helvetica Neue",sans-serif!important;padding:3px 6px;float:left;box-shadow:inset 2px 2px 2px rgba(0,0,0,.2);border-radius:2px;width:285px}#jp-carousel-comment-form-commenting-as input:focus{background:#ccc;color:#222}#jp-carousel-comment-form-commenting-as p{font:400 13px/1.7 "Helvetica Neue",sans-serif!important;margin:22px 0 0;float:left}#jp-carousel-comment-form-commenting-as fieldset{float:left;border:none;margin:20px 0 0;padding:0;clear:both}#jp-carousel-comment-form-commenting-as label{font:400 13px/1.7 "Helvetica Neue",sans-serif!important;margin:0 20px 3px 0;float:left;width:100px}#jp-carousel-comment-form-button-submit{margin-top:20px;float:right}#jp-carousel-comment-form-container,#js-carousel-comment-form-container{margin-bottom:15px;overflow:auto;width:100%}#jp-carousel-comment-post-results{display:none;overflow:auto;width:100%}#jp-carousel-comment-post-results span{display:block;text-align:center;margin-top:20px;width:100%;overflow:auto;padding:1em 0;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,.7);border-radius:2px;font:13px/1.4 "Helvetica Neue",sans-serif!important;border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 0 5px 5px rgba(0,0,0,1)}.jp-carousel-comment-post-error{color:#DF4926}#jp-carousel-comments-closed{display:none;color:#999}#jp-carousel-comments-loading{font:444 15px/1.7 "Helvetica Neue",sans-serif!important;display:none;color:#999;text-align:left;margin-bottom:20px}.jp-carousel-light .jp-carousel-overlay{background:#fff}.jp-carousel-light .jp-carousel-next-button:hover span,.jp-carousel-light .jp-carousel-previous-button:hover span{opacity:.8}.jp-carousel-light .jp-carousel-close-hint:hover,.jp-carousel-light .jp-carousel-titleanddesc div{color:#000!important}.jp-carousel-light .jp-carousel-comment .comment-author a,.jp-carousel-light .jp-carousel-comments p a,.jp-carousel-light .jp-carousel-info h2 a,.jp-carousel-light .jp-carousel-titleanddesc p a{color:#1e8cbe!important}.jp-carousel-light .jp-carousel-comment .comment-author a:hover,.jp-carousel-light .jp-carousel-comments p a:hover,.jp-carousel-light .jp-carousel-info h2 a:hover,.jp-carousel-light .jp-carousel-titleanddesc p a:hover{color:#f1831e!important}.jp-carousel-light .jp-carousel-comment,.jp-carousel-light .jp-carousel-comment p,.jp-carousel-light .jp-carousel-info h2,.jp-carousel-light .jp-carousel-titleanddesc,.jp-carousel-light .jp-carousel-titleanddesc p,.jp-carousel-light .jp-carousel-titleanddesc p b,.jp-carousel-light .jp-carousel-titleanddesc p em,.jp-carousel-light .jp-carousel-titleanddesc p i,.jp-carousel-light .jp-carousel-titleanddesc p strong,.jp-carousel-light div.jp-carousel-buttons a{color:#666}.jp-carousel-light .jp-carousel-buttons{border-bottom-color:#f0f0f0;background:#f5f5f5}.jp-carousel-light div.jp-carousel-buttons a:hover{text-decoration:none;color:#f1831e}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog,.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog:hover{background-position:4px -56px;padding-left:24px!important}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked,.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{background-color:#2ea2cc;color:#fff}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0 -176px}.rtl .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:100% -176px}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like,.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like:hover{background-position:5px -15px;padding-left:23px!important}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{background-position:5px -36px}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked{background-position:5px 5px}.jp-carousel-light div#carousel-reblog-box{background:#eee;box-shadow:0 2px 10px rgba(0,0,0,.1);border:1px solid #ddd}.jp-carousel-light #carousel-reblog-box textarea{color:#666;border:1px solid #cfcfcf;background:#fff}.jp-carousel-light #carousel-reblog-box .canceltext{color:#888}.jp-carousel-light #carousel-reblog-box .canceltext a{color:#666}.jp-carousel-light #carousel-reblog-box select{background:#eee;color:#333;border:1px solid #aaa}#jp-carousel-comment-form-button-submit,.jp-carousel-light #carousel-reblog-box input#carousel-reblog-submit{color:#333;background:#fff;border:1px solid #aaa}.jp-carousel-light .jp-carousel-image-meta{background:#fafafa;border:1px solid #eee;border-top-color:#f5f5f5;border-left-color:#f5f5f5;color:#333}.jp-carousel-light .jp-carousel-image-meta li{color:#000!important}.jp-carousel-light .jp-carousel-close-hint{color:#ccc}.jp-carousel-light .jp-carousel-close-hint span{background-color:#fff;border-color:#ccc}.jp-carousel-light #jp-carousel-comment-form-comment-field::-webkit-input-placeholder{color:#aaa}.jp-carousel-light #jp-carousel-comment-form-comment-field:focus{color:#333}.jp-carousel-light #jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder{color:#ddd}.jp-carousel-light a.jp-carousel-image-download{background-position:0 -122px}.rtl .jp-carousel-light a.jp-carousel-image-download{background-position:100% -122px}.jp-carousel-light a.jp-carousel-image-download:hover{background-position:0 -122px;color:#f1831e}.rtl .jp-carousel-light a.jp-carousel-image-download:hover{background-position:100% -122px}.jp-carousel-light textarea#jp-carousel-comment-form-comment-field{background:#fbfbfb;color:#333;border:1px solid #dfdfdf;box-shadow:inset 2px 2px 2px rgba(0,0,0,.1)}.jp-carousel-light #jp-carousel-comment-form-commenting-as input{background:#fbfbfb;border:1px solid #dfdfdf;color:#333;box-shadow:inset 2px 2px 2px rgba(0,0,0,.1)}.jp-carousel-light #jp-carousel-comment-form-commenting-as input:focus{background:#fbfbfb;color:#333}.jp-carousel-light #jp-carousel-comment-post-results span{background:#f7f7f7;border:1px solid #dfdfdf;box-shadow:inset 0 0 5px rgba(0,0,0,.05)}.jp-carousel-light .jp-carousel-slide{background-color:#fff}.jp-carousel-light .jp-carousel-titleanddesc{border-top:1px solid #eee}@media only screen and (max-width:760px){.jp-carousel-info{margin:0 10px!important}.jp-carousel-buttons,.jp-carousel-next-button,.jp-carousel-previous-button{display:none!important}.jp-carousel-image-meta{float:none!important;width:100%!important;-moz-box-sizing:border-box;box-sizing:border-box}.jp-carousel-close-hint{font-weight:800!important;font-size:26px!important;position:fixed!important;top:-10px}.jp-carousel-slide img{filter:alpha(opacity=100);opacity:1}.jp-carousel-wrap{background-color:#000}.jp-carousel-fadeaway{display:none}#jp-carousel-comment-form-container{display:none!important}.jp-carousel-titleanddesc{padding-top:0!important;border:none!important}.jp-carousel-titleanddesc-title{font-size:1em!important}.jp-carousel-left-column-wrapper{padding:0;width:100%!important}.jp-carousel-photo-info{left:0!important;width:100%!important}}.contact-form .clear-form{clear:both}.contact-form input[type=email],.contact-form input[type=text]{width:300px;max-width:98%;margin-bottom:13px}.contact-form select{margin-bottom:13px}.contact-form textarea{height:200px;width:80%;float:none;margin-bottom:13px}.contact-form input[type=checkbox],.contact-form input[type=radio]{float:none;margin-bottom:13px}.contact-form label{margin-bottom:3px;float:none;font-weight:700;display:block}.contact-form label.checkbox,.contact-form label.radio{margin-bottom:3px;float:none;font-weight:700;display:inline-block}.contact-form label span{color:#AAA;margin-left:4px;font-weight:400}.form-errors .form-error-message{color:red}.textwidget .contact-form input[type=email],.textwidget .contact-form input[type=text],.textwidget .contact-form textarea{width:250px;max-width:100%;-moz-box-sizing:border-box;box-sizing:border-box}.infinite-loader{color:#000;display:block;height:28px;text-indent:-9999px}#infinite-handle span{background:#333;border-radius:1px;color:#eee;cursor:pointer;font-size:13px;padding:6px 16px}@media (max-width:800px){#infinite-handle span:before{display:none}#infinite-handle span{display:block}}#infinite-footer{position:fixed;bottom:-50px;left:0;width:100%}#infinite-footer a{text-decoration:none}#infinite-footer .blog-credits a:hover,#infinite-footer .blog-info a:hover{color:#444;text-decoration:underline}#infinite-footer .container{background:rgba(255,255,255,.8);border-color:#ccc;border-color:rgba(0,0,0,.1);border-style:solid;border-width:1px 0 0;-moz-box-sizing:border-box;box-sizing:border-box;margin:0 auto;overflow:hidden;padding:1px 20px;width:780px}#infinite-footer .blog-credits,#infinite-footer .blog-info{-moz-box-sizing:border-box;box-sizing:border-box;line-height:25px}#infinite-footer .blog-info{float:left;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:40%}#infinite-footer .blog-credits{font-weight:400;float:right;width:60%}#infinite-footer .blog-info a{color:#111;font-size:14px;font-weight:700}#infinite-footer .blog-credits{color:#888;font-size:12px;text-align:right}#infinite-footer .blog-credits a{color:#666}.infinity-end.neverending #infinite-footer{display:none}@media (max-width:640px){#infinite-footer .container{-moz-box-sizing:border-box;box-sizing:border-box;width:100%}#infinite-footer .blog-info{width:30%}#infinite-footer .blog-credits{width:70%}#infinite-footer .blog-credits,#infinite-footer .blog-info a{font-size:10px}}@media (max-width:640px){#infinite-footer{position:static}}#wpadminbar li#wp-admin-bar-admin-bar-likes-widget{width:61px;overflow:hidden}#wpadminbar iframe.admin-bar-likes-widget{width:61px;height:28px;min-height:28px;border-width:0;position:absolute;top:0}div.jetpack-likes-widget-wrapper{width:100%;min-height:50px;position:relative}div.jetpack-likes-widget-wrapper .sd-link-color{font-size:12px}div.jetpack-likes-widget-wrapper.slim-likes-widget{width:1px;min-height:0}#likes-other-gravatars{display:none;position:absolute;padding:10px;background-color:#000;border-width:0;opacity:.88;filter:alpha(opacity=88);box-shadow:0 0 10px #000;min-width:130px;z-index:1000}#likes-other-gravatars *{line-height:normal}#likes-other-gravatars .likes-text{color:#fff;font-size:14px;padding-bottom:5px}#likes-other-gravatars li,#likes-other-gravatars ul{margin:0;padding:0;text-indent:0;list-style-type:none}#likes-other-gravatars li::before{content:""}#likes-other-gravatars ul.wpl-avatars{overflow:auto;display:block;position:absolute;max-height:190px}#likes-other-gravatars ul.wpl-avatars li{width:32px;height:32px;float:left;margin:0 5px 5px 0}#likes-other-gravatars ul.wpl-avatars li a{margin:0 2px 0 0;border-bottom:none!important;display:block}#likes-other-gravatars ul.wpl-avatars li a img{background:0 0;border:none;margin:0!important;padding:0!important;position:static}div.sd-box{border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.13)}.comment-likes-widget,.entry-content .post-likes-widget,.post-likes-widget{margin:0;border-width:0;display:block}.post-likes-widget-placeholder{margin:0;border-width:0;position:relative}.post-likes-widget-placeholder .button{display:none}.post-likes-widget-placeholder .loading{color:#999;font-size:12px}.slim-likes-widget .post-likes-widget{width:auto;float:none}div.sharedaddy.sd-like-enabled .sd-like h3{display:none}div.sharedaddy.sd-like-enabled .sd-like .post-likes-widget{width:100%;float:none;position:absolute;top:0}.comment-likes-widget{width:100%}.pd-rating{display:block!important}.sd-gplus .sd-title{display:none}div#jp-relatedposts{display:none;padding-top:1em;margin:1em 0;position:relative}div.jp-relatedposts:after{content:'';display:block;clear:both}div#jp-relatedposts h3.jp-relatedposts-headline{margin:0 0 1em;display:inline-block;float:left;font-size:9pt;font-weight:700;font-family:inherit}div#jp-relatedposts h3.jp-relatedposts-headline em:before{content:"";display:block;width:100%;min-width:30px;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.2);margin-bottom:1em}div#jp-relatedposts h3.jp-relatedposts-headline em{font-style:normal;font-weight:700}div#jp-relatedposts div.jp-relatedposts-items{clear:left}div#jp-relatedposts div.jp-relatedposts-items-visual{margin-right:-20px}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post{float:left;width:33%;margin:0 0 1em;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post{padding-right:20px;filter:alpha(opacity=80);-moz-opacity:.8;opacity:.8}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post:nth-child(3n+4),div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post:nth-child(3n+4){clear:both}div#jp-relatedposts div.jp-relatedposts-items div.jp-relatedposts-post:hover .jp-relatedposts-post-title a{text-decoration:underline}div#jp-relatedposts div.jp-relatedposts-items div.jp-relatedposts-post:hover{filter:alpha(opacity=100);-moz-opacity:1;opacity:1}div#jp-relatedposts div.jp-relatedposts-items p,div#jp-relatedposts div.jp-relatedposts-items-visual h4.jp-relatedposts-post-title{font-size:14px;line-height:20px;margin:0}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs{position:relative}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs a.jp-relatedposts-post-aoverlay{position:absolute;top:0;bottom:0;left:0;right:0;display:block}div#jp-relatedposts div.jp-relatedposts-items p{margin-bottom:0}div#jp-relatedposts div.jp-relatedposts-items-visual h4.jp-relatedposts-post-title{text-transform:none;margin:0;font-family:inherit;display:block;max-width:100%}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a{font-size:inherit;font-weight:400;text-decoration:none;filter:alpha(opacity=100);-moz-opacity:1;opacity:1}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a:hover{text-decoration:underline}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post img.jp-relatedposts-post-img,div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post span{display:block;max-width:90%;overflow:hidden;text-overflow:ellipsis}div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img,div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post span{max-width:100%}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-context,div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date{opacity:.6}.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date,div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-thumbs p.jp-relatedposts-post-excerpt{display:none}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs p.jp-relatedposts-post-excerpt{overflow:hidden}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs span{margin-bottom:1em}@media only screen and (max-width:640px){div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post{width:50%}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post:nth-child(3n){clear:left}div#jp-relatedposts div.jp-relatedposts-items-visual{margin-right:20px}}@media only screen and (max-width:320px){div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post{width:100%;clear:both;margin:0 0 1em}}#jp-post-flair{padding-top:.5em}#content div.sharedaddy,#main div.sharedaddy,div.sharedaddy{clear:both}div.sharedaddy h3.sd-title{margin:0 0 1em;display:inline-block;line-height:1.2;font-size:9pt;font-weight:700}div.sharedaddy h3.sd-title:before{content:"";display:block;width:100%;min-width:30px;border-top:1px solid #ddd;margin-bottom:1em}body.highlander-light h3.sd-title:before{border-top:1px solid rgba(0,0,0,.2)}body.highlander-dark h3.sd-title:before{border-top:1px solid rgba(255,255,255,.4)}.sd-content ul{padding:0!important;margin:0 0 .7em!important;list-style:none!important}.sd-content ul li{display:inline}.sd-block.sd-gplus{margin:0 0 .5em}.sd-gplus .sd-content{font-size:12px}#sharing_email .sharing_send,.sd-content ul li .option a.share-ustom,.sd-content ul li a.sd-button,.sd-content ul li.advanced a.share-more,.sd-content ul li.preview-item div.option.option-smart-off a,.sd-social-icon .sd-content ul li a.sd-button,.sd-social-icon-text .sd-content ul li a.sd-button,.sd-social-official .sd-content>ul>li .digg_button >a,.sd-social-official .sd-content>ul>li>a.sd-button,.sd-social-text .sd-content ul li a.sd-button{text-decoration:none!important;display:inline-block;margin:0 5px 5px 0;font-size:12px;font-family:"Open Sans",sans-serif;font-weight:400;border-radius:3px;color:#777!important;background:#f8f8f8;border:1px solid #ccc;box-shadow:0 1px 0 rgba(0,0,0,.08);text-shadow:none;line-height:23px;padding:1px 8px 0 5px}.sd-content ul li .option a.share-ustom span,.sd-content ul li a.sd-button>span,.sd-content ul li.advanced a.share-more span,.sd-content ul li.preview-item div.option.option-smart-off a span,.sd-social-icon-text .sd-content ul li a.sd-button>span,.sd-social-official .sd-content>ul>li .digg_button >a span,.sd-social-official .sd-content>ul>li>a.sd-button span,.sd-social-text .sd-content ul li a.sd-button span{line-height:23px}.sd-social-official .sd-content .sharing-hidden .inner>ul>li .digg_button>a,.sd-social-official .sd-content .sharing-hidden .inner>ul>li>a.sd-button,.sd-social-official .sd-content>ul>li .digg_button>a,.sd-social-official .sd-content>ul>li>a.sd-button{line-height:17px;box-shadow:none;vertical-align:top}.sd-social-official .sd-content .sharing-hidden .inner>ul>li .digg_button>a:before,.sd-social-official .sd-content .sharing-hidden .inner>ul>li>a.sd-button:before,.sd-social-official .sd-content>ul>li .digg_button>a:before,.sd-social-official .sd-content>ul>li>a.sd-button:before{margin-bottom:-1px;top:0}.sd-social-icon .sd-content ul li a.sd-button:active,.sd-social-icon .sd-content ul li a.sd-button:hover,.sd-social-icon-text .sd-content ul li a.sd-button:active,.sd-social-icon-text .sd-content ul li a.sd-button:hover,.sd-social-official .sd-content>ul>li .digg_button>a:active,.sd-social-official .sd-content>ul>li .digg_button>a:hover,.sd-social-official .sd-content>ul>li>a.sd-button:active,.sd-social-official .sd-content>ul>li>a.sd-button:hover,.sd-social-text .sd-content ul li a.sd-button:active,.sd-social-text .sd-content ul li a.sd-button:hover{color:#555;background:#fafafa;border:1px solid #999}.sd-social-icon .sd-content ul li a.sd-button:active,.sd-social-icon-text .sd-content ul li a.sd-button:active,.sd-social-official .sd-content>ul>li .digg_button>a:active,.sd-social-official .sd-content>ul>li>a.sd-button:active,.sd-social-text .sd-content ul li a.sd-button:active{box-shadow:inset 0 1px 0 rgba(0,0,0,.16)}.sd-content ul li a.sd-button:before{display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:400 16px/1 Genericons;vertical-align:top;position:relative;top:3px;text-align:center}.sd-content ul li{margin:0!important;padding:0}.sd-content ul li.preview-item a.sd-button span,.sd-social-icon-text .sd-content ul li a span,.sd-social-official .sd-content ul li a.sd-button span{margin-left:3px}.sd-content ul li.preview-item.no-icon a.sd-button span{margin-left:0}.sd-content ul li.no-icon a:before,.sd-social-text .sd-content ul li a:before{display:none}body .sd-content ul li.share-custom.no-icon a span,body .sd-social-text .sd-content ul li.share-custom a span{background-image:none;background-position:-500px -500px!important;background-repeat:no-repeat!important;padding-left:0;height:0;line-height:inherit}.sd-social-icon .sd-content ul li a.share-more{position:relative;top:2px}.sd-social-icon .sd-content ul li a.share-more span{margin-left:3px}.sd-content ul li.share-print div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-print a:before,.sd-social-icon-text .sd-content li.share-print a:before,.sd-social-official .sd-content li.share-print a:before,.sd-social-text .sd-content ul li.share-print a:before{content:'\f469'}.sd-content ul li.share-email div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-email a:before,.sd-social-icon-text .sd-content li.share-email a:before,.sd-social-official .sd-content li.share-email a:before,.sd-social-text .sd-content ul li.share-email a:before{content:'\f410'}.sd-content ul li.share-linkedin div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-linkedin a:before,.sd-social-icon-text .sd-content li.share-linkedin a:before,.sd-social-text .sd-content ul li.share-linkedin a:before{content:'\f207'}.sd-content ul li.share-twitter div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-twitter a:before,.sd-social-icon-text .sd-content li.share-twitter a:before,.sd-social-text .sd-content ul li.share-twitter a:before{content:'\f202'}.sd-content ul li.share-reddit div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-reddit a:before,.sd-social-icon-text .sd-content li.share-reddit a:before,.sd-social-text .sd-content ul li.share-reddit a:before{content:'\f222'}.sd-content ul li.share-tumblr div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-tumblr a:before,.sd-social-icon-text .sd-content li.share-tumblr a:before,.sd-social-text .sd-content ul li.share-tumblr a:before{content:'\f214'}.sd-content ul li.share-stumbleupon div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-stumbleupon a:before,.sd-social-icon-text .sd-content li.share-stumbleupon a:before,.sd-social-text .sd-content ul li.share-stumbleupon a:before{content:'\f223'}.sd-content ul li.share-pocket div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-pocket a:before,.sd-social-icon-text .sd-content li.share-pocket a:before,.sd-social-text .sd-content ul li.share-pocket a:before{content:'\f224'}.sd-content ul li.share-pinterest div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-pinterest a:before,.sd-social-icon-text .sd-content li.share-pinterest a:before,.sd-social-text .sd-content ul li.share-pinterest a:before{content:'\f209'}.sd-content ul li.share-google-plus-1 div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-google-plus-1 a:before,.sd-social-icon-text .sd-content li.share-google-plus-1 a:before,.sd-social-text .sd-content ul li.share-google-plus-1 a:before{content:'\f218'}.sd-content ul li.share-facebook div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-facebook a:before,.sd-social-icon-text .sd-content li.share-facebook a:before,.sd-social-text .sd-content ul li.share-facebook a:before{content:'\f204'}.sd-content ul li.share-press-this div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-press-this a:before,.sd-social-icon-text .sd-content li.share-press-this a:before,.sd-social-official .sd-content li.share-press-this a:before,.sd-social-text .sd-content ul li.share-press-this a:before{content:'\f205'}.sd-social-official .sd-content li.share-press-this a:before{color:#2ba1cb}.sd-content ul li.advanced a.share-more:before,.sd-social-icon .sd-content ul a.share-more:before,.sd-social-icon-text .sd-content a.share-more:before,.sd-social-official .sd-content a.share-more:before,.sd-social-text .sd-content ul a.share-more:before{content:'\f415'}.sd-social-official .sd-content a.share-more:before{color:#2ba1cb}.sd-social .sd-button .share-count{background:#2ea2cc;color:#fff;border-radius:10px;display:inline-block;text-align:center;font-size:10px;padding:1px 3px;line-height:1}.sd-social-official .sd-content ul,.sd-social-official .sd-content ul li{line-height:25px!important}.sd-social-official .sd-content>ul>li>a.sd-button span{line-height:1}.sd-social-official .sd-content ul:after{content:".";display:block;height:0;clear:both;visibility:hidden}.sd-social-official .sd-content li.share-press-this a{margin:0 0 5px}.sd-social-official .sd-content ul>li{display:block;float:left;margin:0 10px 5px 0!important;height:25px}.sd-social-official .sd-content .pocket_button iframe{width:98px}.sd-social-official .sd-content .twitter_button iframe{width:96px}.reddit_button iframe,.stumbleupon_button iframe{margin-top:1px}.googleplus1_button iframe,.like_button iframe,.linkedin_button>span,.pinterest_button,.pocket_button iframe,.twitter_button{margin:0!important}body .sd-social-official li a.share-more,body .sd-social-official li.share-custom a,body .sd-social-official li.share-digg a,body .sd-social-official li.share-email a,body .sd-social-official li.share-press-this a,body .sd-social-official li.share-print{position:relative;top:0}body .sd-social-icon .sd-content li.share-custom>a{padding:2px 3px 0;position:relative;top:4px}body .sd-content ul li.share-custom a.share-icon span,body .sd-social-icon .sd-content li.share-custom a span,body .sd-social-icon-text .sd-content li.share-custom a span,body .sd-social-official .sd-content li.share-custom a span,body .sd-social-text .sd-content li.share-custom a span{background-size:16px 16px;background-repeat:no-repeat;margin-left:0;padding:0 0 0 19px;display:inline-block;height:16px;line-height:16px}body .sd-social-icon .sd-content li.share-custom a span{width:0}body .sd-social-icon .sd-content li.share-custom a span{padding-left:16px!important}.sharing-hidden .inner{position:absolute;z-index:2;border:1px solid #ccc;padding:10px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.2);border-radius:2px;margin-top:5px;max-width:400px}.sharing-hidden .inner ul{margin:0!important}.sd-social-official .sd-content .sharing-hidden ul>li.share-end{clear:both;margin:0;height:0}.sharing-hidden .inner:after,.sharing-hidden .inner:before{position:absolute;z-index:1;top:-8px;left:20px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid #ccc;content:"";display:block}.sharing-hidden .inner:after{z-index:2;top:-7px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid #fff}.sharing-hidden ul{margin:0}.sd-social-icon .sd-content ul li[class*=share-] a,.sd-social-icon .sd-content ul li[class*=share-] a:hover,.sd-social-icon .sd-content ul li[class*=share-] div.option a{border-radius:50%;-webkit-border-radius:50%;border:0;box-shadow:none;padding:8px;position:relative;top:-2px;line-height:1;width:auto;height:auto;margin-bottom:0}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button>span,.sd-social-icon .sd-content ul li[class*=share-] div.option a span{line-height:1}.sd-social-icon .sd-content ul li[class*=share-] a:hover,.sd-social-icon .sd-content ul li[class*=share-] div.option a:hover{border:none;opacity:.6}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button:before{top:0}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button.share-custom{padding:8px 8px 6px;top:5px}.sd-social-icon .sd-content ul li a.sd-button.share-more{margin-left:10px}.sd-social-icon .sd-content ul li:first-child a.sd-button.share-more{margin-left:0}.sd-social-icon .sd-button span.share-count{position:absolute;bottom:0;right:0;border-radius:0;background:#555;font-size:9px}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button{background:#e9e9e9;margin-top:2px;text-indent:0}.sd-social-icon .sd-content ul li[class*=share-].share-tumblr a.sd-button{background:#2c4762;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-facebook a.sd-button{background:#3b5998;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-stumbleupon a.sd-button{background:#ea4b24;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-twitter a.sd-button{background:#00acee;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-pinterest a.sd-button{background:#ca1f27;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-digg a.sd-button{color:#555!important}.sd-social-icon .sd-content ul li[class*=share-].share-press-this a.sd-button{background:#1e8cbe;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-linkedin a.sd-button{background:#0077b5;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-google-plus-1 a.sd-button{background:#dd4b39;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-pocket a.sd-button{background:#ee4056;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-reddit a.sd-button{background:#cee3f8;color:#555!important}.sharing-screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}.sharing-screen-reader-text:active,.sharing-screen-reader-text:focus,.sharing-screen-reader-text:hover{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}#sharing_email{width:342px;position:absolute;z-index:1001;border:1px solid #ccc;padding:15px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.2);text-align:left}div.sharedaddy.sharedaddy-dark #sharing_email{border-color:#fff}#sharing_email .errors{color:#fff;background-color:#771a09;font-size:12px;padding:5px 8px;line-height:1;margin:10px 0 0}#sharing_email label{font-size:12px;color:#333;font-weight:700;display:block;padding:0 0 4px;text-align:left;text-shadow:none}#sharing_email form{margin:0}#sharing_email input[type=email],#sharing_email input[type=text]{width:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border:1px solid #ccc;margin-bottom:1em;background:#fff;font-size:12px;color:#333;max-width:none;padding:1px 3px}#sharing_email .sharing_cancel{padding:0 0 0 1em;font-size:12px;text-shadow:none}#sharing_email .recaptcha{width:312px;height:123px;margin:0 0 1em}.slideshow-window{background-color:#222;border:20px solid #222;border-radius:11px;-moz-border-radius:11px;-webkit-border-radius:11px;-khtml-border-radius:11px;margin-bottom:20px;height:410px;z-index:1}.slideshow-window.slideshow-white{background-color:#fff;border-color:#fff}.slideshow-window,.slideshow-window *{-moz-box-sizing:content-box;box-sizing:content-box}.slideshow-loading{height:100%;text-align:center;margin:auto}body div.slideshow-window * img{border-width:0!important;margin-right:auto!important;margin-left:auto!important;padding:0!important;background-color:transparent!important;background-image:none!important;max-width:100%}.slideshow-loading img{vertical-align:middle}.slideshow-slide{height:100%;width:100%;text-align:center;margin:auto;display:none}.slideshow-slide img{vertical-align:middle}.slideshow-line-height-hack{overflow:hidden;width:0;font-size:0}.slideshow-slide-caption{font-size:13px;font-family:"Helvetica Neue",sans-serif;color:#f7f7f7;text-shadow:#222 1px 1px 2px;line-height:25px;height:25px;position:absolute;bottom:5px;left:0;z-index:100;width:100%;text-align:center}.slideshow-controls{z-index:1000;position:absolute;bottom:30px;margin:auto;text-align:center;width:100%;-ms-filter:"alpha(Opacity=50)";opacity:.5;direction:ltr}body div div.slideshow-controls a,body div div.slideshow-controls a:hover{border:2px solid rgba(255,255,255,.1)!important;background-color:#000!important;background-color:rgba(0,0,0,.6)!important;background-image:url(../modules/shortcodes/img/slideshow-controls.png)!important;background-repeat:no-repeat;background-size:142px 16px!important;background-position:-34px 8px!important;color:#222!important;margin:0 5px!important;padding:0!important;display:inline-block!important;zoom:1;height:32px!important;width:32px!important;line-height:32px!important;text-align:center!important;-khtml-border-radius:10em!important;border-radius:10em!important;transition:300ms border-color ease-out}@media only screen and (-webkit-min-device-pixel-ratio:1.5){body div div.slideshow-controls a,body div div.slideshow-controls a:hover{background-image:url(../modules/shortcodes/img/slideshow-controls-2x.png)!important}}body div div.slideshow-controls a:hover{border-color:rgba(255,255,255,1)!important}body div div.slideshow-controls a:first-child{background-position:-76px 8px!important}body div div.slideshow-controls a:last-child{background-position:-117px 8px!important}body div div.slideshow-controls a.running,body div div.slideshow-controls a:nth-child(2){background-position:-34px 8px!important}body div div.slideshow-controls a.paused{background-position:9px 8px!important}.slideshow-controls a img{border:50px dotted #f0f}body.presentation-wrapper-fullscreen-parent,html.presentation-wrapper-fullscreen-parent{overflow:hidden!important}.presentation-wrapper-fullscreen-parent #wpadminbar{display:none}.presentation-wrapper-fullscreen,.presentation-wrapper-fullscreen-parent{min-width:100%!important;min-height:100%!important;position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;margin:0!important;padding:0!important;z-index:10000!important}.presentation-wrapper-fullscreen{background-color:gray;border:none!important}.presentation-wrapper-fullscreen .nav-arrow-left,.presentation-wrapper-fullscreen .nav-arrow-right{z-index:20001}.presentation-wrapper-fullscreen .nav-fullscreen-button{z-index:20002}.presentation-wrapper{margin:20px auto;border:1px solid #e5e5e5;overflow:hidden;line-height:normal}.presentation{position:relative;margin:0;overflow:hidden;outline:0}.presentation,.presentation .step{background-repeat:no-repeat;background-position:center;background-size:100% 100%}.presentation .step.fade:not(.active){opacity:0}.presentation .slide-content{padding:30px}.presentation .nav-arrow-left,.presentation .nav-arrow-right,.presentation .nav-fullscreen-button{position:absolute;width:34px;background-repeat:no-repeat;z-index:2;opacity:0;transition:opacity .25s}.presentation .nav-arrow-left,.presentation .nav-arrow-right{height:100%;background-image:url(../modules/shortcodes/images/slide-nav.png);background-size:450% 61px}.presentation .nav-arrow-left{left:0;background-position:4px 50%}.presentation .nav-arrow-right{right:0;background-position:-120px 50%}.presentation .nav-fullscreen-button{width:32px;height:32px;margin:4px;bottom:0;right:0;z-index:3;background-image:url(../modules/shortcodes/images/expand.png);background-size:100% 100%}.presentation:hover .nav-arrow-left,.presentation:hover .nav-arrow-right{opacity:1}.presentation:hover .nav-fullscreen-button{opacity:.8}.presentation-wrapper-fullscreen .nav-fullscreen-button{background-image:url(../modules/shortcodes/images/collapse.png)}.presentation .autoplay-overlay{height:15%;width:80%;margin:30% 10%;position:relative;z-index:100;display:table;border-radius:50px;background-color:#e5e5e5;background-color:rgba(0,0,0,.75);transition:opacity .5s}.presentation .autoplay-overlay .overlay-msg{position:relative;display:table-cell;text-align:center;vertical-align:middle;color:#fff}.presentation .will-fade{opacity:0}.presentation .do-fade{opacity:1;transition:opacity .5s}#subscribe-email input{width:95%;padding:1px 2px}.comment-subscription-form .subscribe-label{display:inline!important}.tiled-gallery{clear:both;margin:0 0 20px;overflow:hidden}.tiled-gallery img{margin:2px!important}.tiled-gallery .gallery-group{float:left;position:relative}.tiled-gallery .tiled-gallery-item{float:left;margin:0;position:relative;width:inherit}.tiled-gallery .gallery-row{overflow:hidden}.tiled-gallery .tiled-gallery-item a{background:0 0;border:none;color:none;margin:0;padding:0;text-decoration:none;width:auto}.tiled-gallery .tiled-gallery-item img,.tiled-gallery .tiled-gallery-item img:hover{background:0 0;border:none;box-shadow:none;max-width:100%;padding:0;vertical-align:middle}.tiled-gallery-caption{background:#eee;background:rgba(255,255,255,.8);color:#333;font-size:13px;font-weight:400;overflow:hidden;padding:10px 0;position:absolute;bottom:0;text-indent:10px;text-overflow:ellipsis;width:100%;white-space:nowrap}.tiled-gallery .tiled-gallery-item-small .tiled-gallery-caption{font-size:11px}.widget-gallery .tiled-gallery-unresized{visibility:hidden;height:0;overflow:hidden}.tiled-gallery .tiled-gallery-item img.grayscale{position:absolute;left:0;top:0}.tiled-gallery .tiled-gallery-item img.grayscale:hover{opacity:0}.tiled-gallery.type-circle .tiled-gallery-item img{border-radius:50%!important}.tiled-gallery.type-circle .tiled-gallery-caption{display:none;opacity:0}.jetpack-display-remote-posts{margin:5px 0 20px}.jetpack-display-remote-posts h4{font-size:90%;margin:5px 0;padding:0}.jetpack-display-remote-posts h4 a{text-decoration:none}.jetpack-display-remote-posts p{margin:0!important;padding:0;line-height:1.4em!important;font-size:90%}.jetpack-display-remote-posts img{max-width:100%}.widget-grofile h4{margin:1em 0 .5em}.widget-grofile ul.grofile-urls{margin-left:0;overflow:hidden}.widget-grofile ul.grofile-accounts li{list-style:none;display:inline}.widget-grofile ul.grofile-accounts li::before{content:""!important}.widget-grofile .grofile-accounts-logo{background-image:url(//0.gravatar.com/images/grav-share-sprite.png);background-repeat:no-repeat;width:16px;height:16px;float:left;margin-right:8px;margin-bottom:8px}.rtl .widget-grofile .grofile-accounts-logo{margin-left:8px;margin-right:0}.grofile-thumbnail{width:500px;max-width:100%}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){.widget-grofile .grofile-accounts-logo{background-image:url(//0.gravatar.com/images/grav-share-sprite-2x.png);background-size:16px 784px}}.widgets-grid-layout{width:100%}.widgets-grid-layout:after,.widgets-grid-layout:before{content:" ";display:table}.widgets-grid-layout:after{clear:both}.widget-grid-view-image{float:left;max-width:50%}.widget-grid-view-image a{display:block;margin:0 2px 4px 0}.widget-grid-view-image:image:nth-child(even){float:right}.widget-grid-view-image:nth-child(even) a{margin:0 0 4px 2px}.widgets-grid-layout .widget-grid-view-image img{max-width:100%;height:auto}.widgets-multi-column-grid ul{overflow:hidden;padding:0;margin:0;list-style-type:none}.widgets-multi-column-grid ul li{background:0 0;clear:none;float:left;margin:0 -5px -3px 0;padding:0 8px 6px 0;border:none;list-style-type:none!important}.widgets-multi-column-grid ul li a{background:0 0;margin:0;padding:0;border:0}.widgets-multi-column-grid .avatar{vertical-align:middle}.widgets-list-layout{padding:0;margin:0;list-style-type:none}.widgets-list-layout li:after,.widgets-list-layout li:before{content:"";display:table}.widgets-list-layout li:after{clear:both}.widgets-list-layout li{zoom:1;margin-bottom:1em;list-style-type:none!important}.widgets-list-layout .widgets-list-layout-blavatar{float:left;width:21.276596%;max-width:40px;height:auto}.widgets-list-layout-links{float:right;width:73.404255%}.widgets-list-layout span{opacity:.5}.widgets-list-layout span:hover{opacity:.8}
1
  /*!
2
  * Do not modify this file directly. It is concatenated from individual module CSS files.
3
  */
4
+ .jp-carousel-wrap *{line-height:inherit}.jp-carousel-overlay{background:#000}div.jp-carousel-fadeaway{position:fixed;bottom:0;z-index:2147483647;width:100%;height:15px}.jp-carousel-next-button span,.jp-carousel-previous-button span{background:url(../modules/carousel/images/arrows.png) center center/200px 126px no-repeat}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){.jp-carousel-next-button span,.jp-carousel-previous-button span{background-image:url(../modules/carousel/images/arrows-2x.png)}}.jp-carousel-wrap{font-family:"Helvetica Neue",sans-serif!important}.jp-carousel-info{position:absolute;bottom:0;text-align:left!important;-webkit-font-smoothing:subpixel-antialiased!important}.jp-carousel-info ::selection{background:#68c9e8;color:#fff}.jp-carousel-info ::-moz-selection{background:#68c9e8;color:#fff}.jp-carousel-photo-info{position:relative;left:25%;width:50%}.jp-carousel-transitions .jp-carousel-photo-info{transition:400ms ease-out}.jp-carousel-info h2{background:none!important;border:none!important;color:#999;display:block!important;font:400 13px/1.25em "Helvetica Neue",sans-serif!important;letter-spacing:0!important;margin:7px 0 0!important;padding:10px 0 0!important;overflow:hidden;text-align:left;text-shadow:none!important;text-transform:none!important;-webkit-font-smoothing:subpixel-antialiased}.jp-carousel-next-button,.jp-carousel-previous-button{text-indent:-9999px;overflow:hidden;cursor:pointer}.jp-carousel-next-button span,.jp-carousel-previous-button span{position:absolute;top:0;bottom:0;width:82px;zoom:1;filter:alpha(opacity=20);opacity:.2}.jp-carousel-transitions .jp-carousel-next-button span,.jp-carousel-transitions .jp-carousel-previous-button span{transition:500ms opacity ease-out}.jp-carousel-next-button:hover span,.jp-carousel-previous-button:hover span{filter:alpha(opacity=60);opacity:.6}.jp-carousel-next-button span{background-position:-110px center;right:0}.jp-carousel-previous-button span{background-position:-10px center;left:0}.jp-carousel-buttons{margin:-18px -20px 15px;padding:8px 10px;border-bottom:1px solid #222;background:#222;text-align:center}div.jp-carousel-buttons a{border:none!important;color:#999;font:400 11px/1.2em "Helvetica Neue",sans-serif!important;letter-spacing:0!important;padding:5px 2px 5px 0;text-decoration:none!important;text-shadow:none!important;vertical-align:middle;-webkit-font-smoothing:subpixel-antialiased}div.jp-carousel-buttons a:hover{color:#68c9e8;border:none!important}.jp-carousel-transitions div.jp-carousel-buttons a:hover{transition:none!important}.jp-carousel-next-button,.jp-carousel-previous-button,.jp-carousel-slide,.jp-carousel-slide img{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.jp-carousel-slide{position:fixed;width:0;bottom:0;background-color:#000;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px}.jp-carousel-slide.selected{position:absolute!important;filter:alpha(opacity=100);opacity:1}.jp-carousel-slide{filter:alpha(opacity=25);opacity:.25}.jp-carousel-slide img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;background:none!important;border:none!important;padding:0!important;box-shadow:0 2px 8px rgba(0,0,0,.1);zoom:1}.jp-carousel-transitions .jp-carousel-slide{transition:opacity 400ms linear}.jp-carousel-close-hint{color:#999;cursor:default;letter-spacing:0!important;padding:.35em 0 0;position:absolute;text-align:left;width:90%}.jp-carousel-transitions .jp-carousel-close-hint{transition:color 200ms linear}.jp-carousel-close-hint span{cursor:pointer;background-color:#000;background-color:rgba(0,0,0,.8);display:block;height:22px;font:400 24px/1 "Helvetica Neue",sans-serif!important;line-height:22px;margin:0 0 0 .4em;text-align:center;vertical-align:middle;width:22px;border-radius:4px}.jp-carousel-transitions .jp-carousel-close-hint span{transition:border-color 200ms linear}.jp-carousel-close-hint:hover{cursor:default;color:#fff}.jp-carousel-close-hint:hover span{border-color:#fff}a.jp-carousel-image-download,div.jp-carousel-buttons a.jp-carousel-commentlink,div.jp-carousel-buttons a.jp-carousel-like,div.jp-carousel-buttons a.jp-carousel-reblog{background:url(../modules/carousel/images/carousel-sprite.png?5) 0 0/16px 200px no-repeat}div.jp-carousel-buttons a.jp-carousel-commentlink,div.jp-carousel-buttons a.jp-carousel-reblog{margin:0 14px 0 0!important}div.jp-carousel-buttons a.jp-carousel-like.liked,div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{background-color:#303030;padding-right:8px!important;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px}div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{margin:0 2px 0 -12px!important}div.jp-carousel-buttons a.jp-carousel-reblog,div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover{background-position:6px -36px;padding-left:26px!important;color:#999}div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0 -156px;padding-left:19px!important}.rtl div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:100% -156px}div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover{cursor:default}div.jp-carousel-buttons a.jp-carousel-reblog:hover{background-position:6px -56px;color:#68c9e8}div.jp-carousel-buttons a.jp-carousel-like{background-position:5px 5px;padding-left:24px!important}div.jp-carousel-buttons a.jp-carousel-like:hover{background-position:5px -15px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){a.jp-carousel-image-download,div.jp-carousel-buttons a.jp-carousel-commentlink,div.jp-carousel-buttons a.jp-carousel-like,div.jp-carousel-buttons a.jp-carousel-reblog{background-image:url(../modules/carousel/images/carousel-sprite-2x.png?5)}}div#carousel-reblog-box{background:#222;padding:3px 0 0;display:none;margin:5px auto 0;border-radius:2px;box-shadow:0 0 20px rgba(0,0,0,.9);height:74px;width:565px}#carousel-reblog-box textarea{background:#999;font:13px/1.4 "Helvetica Neue",sans-serif!important;color:#444;padding:3px 6px;width:370px;height:48px;float:left;margin:6px 9px 0;border:1px solid #666;box-shadow:inset 2px 2px 2px rgba(0,0,0,.2);border-radius:2px}#carousel-reblog-box textarea:focus{background:#ccc;color:#222}#carousel-reblog-box label{color:#aaa;font-size:11px;padding-right:2px;padding-left:2px;display:inline;font-weight:400}#carousel-reblog-box select{width:110px;padding:0;font-size:12px;font-family:"Helvetica Neue",sans-serif!important;background:#333;color:#eee;border:1px solid #444;margin-top:5px}#carousel-reblog-box .submit,#wrapper #carousel-reblog-box p.response{float:left;width:154px;padding-top:0;padding-left:1px;overflow:hidden;height:34px;margin:3px 0 0 2px!important}#wrapper #carousel-reblog-box p.response{font-size:13px;clear:none;padding-left:2px;height:34px;color:#aaa}#carousel-reblog-box input#carousel-reblog-submit,#jp-carousel-comment-form-button-submit{font:13px/24px "Helvetica Neue",sans-serif!important;margin-top:8px;padding:0 10px!important;border-radius:1em;height:24px;color:#333;cursor:pointer;font-weight:400;background:#aaa;border:1px solid #444}#carousel-reblog-box input#carousel-reblog-submit:hover,#jp-carousel-comment-form-button-submit:hover{background:#ccc}#carousel-reblog-box .canceltext{color:#aaa;font-size:11px;line-height:24px}#carousel-reblog-box .canceltext a{color:#fff}.jp-carousel-titleanddesc{border-top:1px solid #222;color:#999;font-size:15px;padding-top:24px;margin-bottom:20px;font-weight:400}.jp-carousel-titleanddesc-title{font:300 1.5em/1.1 "Helvetica Neue",sans-serif!important;text-transform:none!important;color:#fff;margin:0 0 15px;padding:0}.jp-carousel-titleanddesc-desc p{color:#999;line-height:1.4;margin-bottom:.75em}.jp-carousel-comments p a,.jp-carousel-info h2 a,.jp-carousel-titleanddesc p a{color:#fff!important;border:none!important;text-decoration:underline!important;font-weight:400!important;font-style:normal!important}.jp-carousel-titleanddesc p b,.jp-carousel-titleanddesc p strong{font-weight:700;color:#999}.jp-carousel-titleanddesc p em,.jp-carousel-titleanddesc p i{font-style:italic;color:#999}.jp-carousel-comments p a:hover,.jp-carousel-info h2 a:hover,.jp-carousel-titleanddesc p a:hover{color:#68c9e8!important}.jp-carousel-titleanddesc p:empty{display:none}.jp-carousel-left-column-wrapper h1:after,.jp-carousel-left-column-wrapper h1:before,.jp-carousel-photo-info h1:after,.jp-carousel-photo-info h1:before{content:none!important}.jp-carousel-image-meta{background:#111;border:1px solid #222;color:#fff;font:12px/1.4 "Helvetica Neue",sans-serif!important;overflow:hidden;padding:18px 20px;width:209px!important}.jp-carousel-image-meta h5,.jp-carousel-image-meta li{font-family:"Helvetica Neue",sans-serif!important;position:inherit!important;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;background:none!important;border:none!important;font-weight:400!important;line-height:1.3em!important}.jp-carousel-image-meta ul{margin:0!important;padding:0!important;list-style:none!important}.jp-carousel-image-meta li{width:48%!important;float:left!important;margin:0 2% 15px 0!important;color:#fff!important;font-size:13px!important}.jp-carousel-image-meta h5{color:#999!important;text-transform:uppercase!important;font-size:10px!important;margin:0 0 2px!important;letter-spacing:.1em!important}a.jp-carousel-image-download{padding-left:23px;display:inline-block;clear:both;color:#999;line-height:1;font-weight:400;font-size:13px;text-decoration:none;background-position:0 -82px}.rtl a.jp-carousel-image-download{background-position:100% -82px}a.jp-carousel-image-download span.photo-size{font-size:11px;border-radius:1em;margin-left:2px;display:inline-block}a.jp-carousel-image-download span.photo-size-times{padding:0 1px 0 2px}a.jp-carousel-image-download:hover{background-position:0 -122px;color:#68c9e8;border:none!important}.rtl a.jp-carousel-image-download:hover{background-position:100% -122px}.jp-carousel-image-map{position:relative;margin:-20px -20px 20px;border-bottom:1px solid rgba(255,255,255,.17);height:154px}.jp-carousel-image-map img.gmap-main{border-top-left-radius:6px;border-right:1px solid rgba(255,255,255,.17)}.jp-carousel-image-map div.gmap-topright{width:94px;height:154px;position:absolute;top:0;right:0}.jp-carousel-image-map div.imgclip{overflow:hidden;border-top-right-radius:6px}.jp-carousel-image-map div.gmap-topright img{margin-left:-40px}.jp-carousel-image-map img.gmap-bottomright{position:absolute;top:96px;right:0}.jp-carousel-comments{font:15px/1.7 "Helvetica Neue",sans-serif!important;font-weight:400;background:none}.jp-carousel-comments p a:active,.jp-carousel-comments p a:focus,.jp-carousel-comments p a:hover{color:#68c9e8!important}.jp-carousel-comment{background:none;color:#999;margin-bottom:20px;clear:left;overflow:auto;width:100%}.jp-carousel-comment p{color:#999!important}.jp-carousel-comment .comment-author{font-size:13px;font-weight:400;padding:0;width:auto;display:inline;float:none;border:none;margin:0}.jp-carousel-comment .comment-author a{color:#fff}.jp-carousel-comment .comment-gravatar{float:left}.jp-carousel-comment .comment-content{border:none;margin-left:85px;padding:0}.jp-carousel-comment .avatar{margin:0 20px 0 0;border-radius:4px;border:none!important;padding:0!important;background-color:transparent!important}.jp-carousel-comment .comment-date{color:#999;margin-top:4px;font-size:11px;display:inline;float:right}#jp-carousel-comment-form{margin:0 0 10px!important;float:left;width:100%}textarea#jp-carousel-comment-form-comment-field{background:rgba(34,34,34,.9);border:1px solid #3a3a3a;color:#aaa;font:15px/1.4 "Helvetica Neue",sans-serif!important;width:100%;padding:10px 10px 5px;margin:0;float:none;height:147px;box-shadow:inset 2px 2px 2px rgba(0,0,0,.2);border-radius:3px;overflow:hidden;-moz-box-sizing:border-box;box-sizing:border-box}textarea#jp-carousel-comment-form-comment-field::-webkit-input-placeholder{color:#555}textarea#jp-carousel-comment-form-comment-field:focus{background:#ccc;color:#222}textarea#jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder{color:#aaa}#jp-carousel-comment-form-spinner{color:#fff;margin:22px 0 0 10px;display:block;width:20px;height:20px;float:left}#jp-carousel-comment-form-submit-and-info-wrapper{display:none;overflow:hidden;width:100%}#jp-carousel-comment-form-commenting-as input{background:rgba(34,34,34,.9);border:1px solid #3a3a3a;color:#aaa;font:13px/1.4 "Helvetica Neue",sans-serif!important;padding:3px 6px;float:left;box-shadow:inset 2px 2px 2px rgba(0,0,0,.2);border-radius:2px;width:285px}#jp-carousel-comment-form-commenting-as input:focus{background:#ccc;color:#222}#jp-carousel-comment-form-commenting-as p{font:400 13px/1.7 "Helvetica Neue",sans-serif!important;margin:22px 0 0;float:left}#jp-carousel-comment-form-commenting-as fieldset{float:left;border:none;margin:20px 0 0;padding:0;clear:both}#jp-carousel-comment-form-commenting-as label{font:400 13px/1.7 "Helvetica Neue",sans-serif!important;margin:0 20px 3px 0;float:left;width:100px}#jp-carousel-comment-form-button-submit{margin-top:20px;float:right}#jp-carousel-comment-form-container,#js-carousel-comment-form-container{margin-bottom:15px;overflow:auto;width:100%}#jp-carousel-comment-post-results{display:none;overflow:auto;width:100%}#jp-carousel-comment-post-results span{display:block;text-align:center;margin-top:20px;width:100%;overflow:auto;padding:1em 0;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,.7);border-radius:2px;font:13px/1.4 "Helvetica Neue",sans-serif!important;border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 0 5px 5px rgba(0,0,0,1)}.jp-carousel-comment-post-error{color:#DF4926}#jp-carousel-comments-closed{display:none;color:#999}#jp-carousel-comments-loading{font:400 15px/1.7 "Helvetica Neue",sans-serif!important;display:none;color:#999;text-align:left;margin-bottom:20px}.jp-carousel-light .jp-carousel-overlay{background:#fff}.jp-carousel-light .jp-carousel-next-button:hover span,.jp-carousel-light .jp-carousel-previous-button:hover span{opacity:.8}.jp-carousel-light .jp-carousel-close-hint:hover,.jp-carousel-light .jp-carousel-titleanddesc div{color:#000!important}.jp-carousel-light .jp-carousel-comment .comment-author a,.jp-carousel-light .jp-carousel-comments p a,.jp-carousel-light .jp-carousel-info h2 a,.jp-carousel-light .jp-carousel-titleanddesc p a{color:#1e8cbe!important}.jp-carousel-light .jp-carousel-comment .comment-author a:hover,.jp-carousel-light .jp-carousel-comments p a:hover,.jp-carousel-light .jp-carousel-info h2 a:hover,.jp-carousel-light .jp-carousel-titleanddesc p a:hover{color:#f1831e!important}.jp-carousel-light .jp-carousel-comment,.jp-carousel-light .jp-carousel-comment p,.jp-carousel-light .jp-carousel-info h2,.jp-carousel-light .jp-carousel-titleanddesc,.jp-carousel-light .jp-carousel-titleanddesc p,.jp-carousel-light .jp-carousel-titleanddesc p b,.jp-carousel-light .jp-carousel-titleanddesc p em,.jp-carousel-light .jp-carousel-titleanddesc p i,.jp-carousel-light .jp-carousel-titleanddesc p strong,.jp-carousel-light div.jp-carousel-buttons a{color:#666}.jp-carousel-light .jp-carousel-buttons{border-bottom-color:#f0f0f0;background:#f5f5f5}.jp-carousel-light div.jp-carousel-buttons a:hover{text-decoration:none;color:#f1831e}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog,.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog:hover{background-position:4px -56px;padding-left:24px!important}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked,.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{background-color:#2ea2cc;color:#fff}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0 -176px}.rtl .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:100% -176px}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like,.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like:hover{background-position:5px -15px;padding-left:23px!important}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged{background-position:5px -36px}.jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked{background-position:5px 5px}.jp-carousel-light div#carousel-reblog-box{background:#eee;box-shadow:0 2px 10px rgba(0,0,0,.1);border:1px solid #ddd}.jp-carousel-light #carousel-reblog-box textarea{color:#666;border:1px solid #cfcfcf;background:#fff}.jp-carousel-light #carousel-reblog-box .canceltext{color:#888}.jp-carousel-light #carousel-reblog-box .canceltext a{color:#666}.jp-carousel-light #carousel-reblog-box select{background:#eee;color:#333;border:1px solid #aaa}#jp-carousel-comment-form-button-submit,.jp-carousel-light #carousel-reblog-box input#carousel-reblog-submit{color:#333;background:#fff;border:1px solid #aaa}.jp-carousel-light .jp-carousel-image-meta{background:#fafafa;border:1px solid #eee;border-top-color:#f5f5f5;border-left-color:#f5f5f5;color:#333}.jp-carousel-light .jp-carousel-image-meta li{color:#000!important}.jp-carousel-light .jp-carousel-close-hint{color:#ccc}.jp-carousel-light .jp-carousel-close-hint span{background-color:#fff;border-color:#ccc}.jp-carousel-light #jp-carousel-comment-form-comment-field::-webkit-input-placeholder{color:#aaa}.jp-carousel-light #jp-carousel-comment-form-comment-field:focus{color:#333}.jp-carousel-light #jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder{color:#ddd}.jp-carousel-light a.jp-carousel-image-download{background-position:0 -122px}.rtl .jp-carousel-light a.jp-carousel-image-download{background-position:100% -122px}.jp-carousel-light a.jp-carousel-image-download:hover{background-position:0 -122px;color:#f1831e}.rtl .jp-carousel-light a.jp-carousel-image-download:hover{background-position:100% -122px}.jp-carousel-light textarea#jp-carousel-comment-form-comment-field{background:#fbfbfb;color:#333;border:1px solid #dfdfdf;box-shadow:inset 2px 2px 2px rgba(0,0,0,.1)}.jp-carousel-light #jp-carousel-comment-form-commenting-as input{background:#fbfbfb;border:1px solid #dfdfdf;color:#333;box-shadow:inset 2px 2px 2px rgba(0,0,0,.1)}.jp-carousel-light #jp-carousel-comment-form-commenting-as input:focus{background:#fbfbfb;color:#333}.jp-carousel-light #jp-carousel-comment-post-results span{background:#f7f7f7;border:1px solid #dfdfdf;box-shadow:inset 0 0 5px rgba(0,0,0,.05)}.jp-carousel-light .jp-carousel-slide{background-color:#fff}.jp-carousel-light .jp-carousel-titleanddesc{border-top:1px solid #eee}@media only screen and (max-width:760px){.jp-carousel-info{margin:0 10px!important}.jp-carousel-buttons,.jp-carousel-next-button,.jp-carousel-previous-button{display:none!important}.jp-carousel-image-meta{float:none!important;width:100%!important;-moz-box-sizing:border-box;box-sizing:border-box}.jp-carousel-close-hint{font-weight:800!important;font-size:26px!important;position:fixed!important;top:-10px}.jp-carousel-slide img{filter:alpha(opacity=100);opacity:1}.jp-carousel-wrap{background-color:#000}.jp-carousel-fadeaway{display:none}#jp-carousel-comment-form-container{display:none!important}.jp-carousel-titleanddesc{padding-top:0!important;border:none!important}.jp-carousel-titleanddesc-title{font-size:1em!important}.jp-carousel-left-column-wrapper{padding:0;width:100%!important}.jp-carousel-photo-info{left:0!important;width:100%!important}}.contact-form .clear-form{clear:both}.contact-form input[type=email],.contact-form input[type=text]{width:300px;max-width:98%;margin-bottom:13px}.contact-form select{margin-bottom:13px}.contact-form textarea{height:200px;width:80%;float:none;margin-bottom:13px}.contact-form input[type=checkbox],.contact-form input[type=radio]{float:none;margin-bottom:13px}.contact-form label{margin-bottom:3px;float:none;font-weight:700;display:block}.contact-form label.checkbox,.contact-form label.radio{margin-bottom:3px;float:none;font-weight:700;display:inline-block}.contact-form label span{color:#AAA;margin-left:4px;font-weight:400}.form-errors .form-error-message{color:red}.textwidget .contact-form input[type=email],.textwidget .contact-form input[type=text],.textwidget .contact-form textarea{width:250px;max-width:100%;-moz-box-sizing:border-box;box-sizing:border-box}#jetpack-check-feedback-spam{margin:1px 8px 0 0}.jetpack-check-feedback-spam-spinner{display:inline-block;margin-top:7px}.infinite-loader{color:#000;display:block;height:28px;text-indent:-9999px}#infinite-handle span{background:#333;border-radius:1px;color:#eee;cursor:pointer;font-size:13px;padding:6px 16px}#infinite-handle span button,#infinite-handle span button:focus,#infinite-handle span button:hover{display:inline;position:static;padding:0;margin:0;border:none;line-height:inherit;background:0 0;color:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;font-family:inherit}#infinite-handle span button::-moz-focus-inner{margin:0;padding:0;border:none}@media (max-width:800px){#infinite-handle span:before{display:none}#infinite-handle span{display:block}}#infinite-footer{position:fixed;bottom:-50px;left:0;width:100%}#infinite-footer a{text-decoration:none}#infinite-footer .blog-credits a:hover,#infinite-footer .blog-info a:hover{color:#444;text-decoration:underline}#infinite-footer .container{background:rgba(255,255,255,.8);border-color:#ccc;border-color:rgba(0,0,0,.1);border-style:solid;border-width:1px 0 0;-moz-box-sizing:border-box;box-sizing:border-box;margin:0 auto;overflow:hidden;padding:1px 20px;width:780px}#infinite-footer .blog-credits,#infinite-footer .blog-info{-moz-box-sizing:border-box;box-sizing:border-box;line-height:25px}#infinite-footer .blog-info{float:left;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:40%}#infinite-footer .blog-credits{font-weight:400;float:right;width:60%}#infinite-footer .blog-info a{color:#111;font-size:14px;font-weight:700}#infinite-footer .blog-credits{color:#888;font-size:12px;text-align:right}#infinite-footer .blog-credits a{color:#666}.infinity-end.neverending #infinite-footer{display:none}@media (max-width:640px){#infinite-footer .container{-moz-box-sizing:border-box;box-sizing:border-box;width:100%}#infinite-footer .blog-info{width:30%}#infinite-footer .blog-credits{width:70%}#infinite-footer .blog-credits,#infinite-footer .blog-info a{font-size:10px}}@media (max-width:640px){#infinite-footer{position:static}}#wpadminbar li#wp-admin-bar-admin-bar-likes-widget{width:61px;overflow:hidden}#wpadminbar iframe.admin-bar-likes-widget{width:61px;height:28px;min-height:28px;border-width:0;position:absolute;top:0}div.jetpack-likes-widget-wrapper{width:100%;min-height:50px;position:relative}div.jetpack-likes-widget-wrapper .sd-link-color{font-size:12px}div.jetpack-likes-widget-wrapper.slim-likes-widget{width:1px;min-height:0}#likes-other-gravatars{display:none;position:absolute;padding:10px 10px 12px;background-color:#2e4453;border-width:0;box-shadow:0 0 10px #2e4453;box-shadow:0 0 10px rgba(46,68,83,.6);min-width:130px;z-index:1000}#likes-other-gravatars *{line-height:normal}#likes-other-gravatars .likes-text{color:#fff;font-size:12px;padding-bottom:8px}#likes-other-gravatars li,#likes-other-gravatars ul{margin:0;padding:0;text-indent:0;list-style-type:none}#likes-other-gravatars li::before{content:""}#likes-other-gravatars ul.wpl-avatars{overflow:auto;display:block;max-height:190px}#likes-other-gravatars ul.wpl-avatars li{width:32px;height:32px;float:left;margin:0 5px 5px 0}#likes-other-gravatars ul.wpl-avatars li a{margin:0 2px 0 0;border-bottom:none!important;display:block}#likes-other-gravatars ul.wpl-avatars li a img{background:0 0;border:none;margin:0!important;padding:0!important;position:static}div.sd-box{border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.13)}.comment-likes-widget,.entry-content .post-likes-widget,.post-likes-widget{margin:0;border-width:0;display:block}.post-likes-widget-placeholder{margin:0;border-width:0;position:relative}.post-likes-widget-placeholder .button{display:none}.post-likes-widget-placeholder .loading{color:#999;font-size:12px}.slim-likes-widget .post-likes-widget{width:auto;float:none}div.sharedaddy.sd-like-enabled .sd-like h3{display:none}div.sharedaddy.sd-like-enabled .sd-like .post-likes-widget{width:100%;float:none;position:absolute;top:0}.comment-likes-widget{width:100%}.pd-rating{display:block!important}.sd-gplus .sd-title{display:none}div#jp-relatedposts{display:none;padding-top:1em;margin:1em 0;position:relative}div.jp-relatedposts:after{content:'';display:block;clear:both}div#jp-relatedposts h3.jp-relatedposts-headline{margin:0 0 1em;display:inline-block;float:left;font-size:9pt;font-weight:700;font-family:inherit}div#jp-relatedposts h3.jp-relatedposts-headline em:before{content:"";display:block;width:100%;min-width:30px;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.2);margin-bottom:1em}div#jp-relatedposts h3.jp-relatedposts-headline em{font-style:normal;font-weight:700}div#jp-relatedposts div.jp-relatedposts-items{clear:left}div#jp-relatedposts div.jp-relatedposts-items-visual{margin-right:-20px}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post{float:left;width:33%;margin:0 0 1em;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post{padding-right:20px;filter:alpha(opacity=80);-moz-opacity:.8;opacity:.8}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post:nth-child(3n+4),div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post:nth-child(3n+4){clear:both}div#jp-relatedposts div.jp-relatedposts-items div.jp-relatedposts-post:hover .jp-relatedposts-post-title a{text-decoration:underline}div#jp-relatedposts div.jp-relatedposts-items div.jp-relatedposts-post:hover{filter:alpha(opacity=100);-moz-opacity:1;opacity:1}div#jp-relatedposts div.jp-relatedposts-items p,div#jp-relatedposts div.jp-relatedposts-items-visual h4.jp-relatedposts-post-title{font-size:14px;line-height:20px;margin:0}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs{position:relative}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs a.jp-relatedposts-post-aoverlay{position:absolute;top:0;bottom:0;left:0;right:0;display:block}div#jp-relatedposts div.jp-relatedposts-items p{margin-bottom:0}div#jp-relatedposts div.jp-relatedposts-items-visual h4.jp-relatedposts-post-title{text-transform:none;margin:0;font-family:inherit;display:block;max-width:100%}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a{font-size:inherit;font-weight:400;text-decoration:none;filter:alpha(opacity=100);-moz-opacity:1;opacity:1}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a:hover{text-decoration:underline}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post img.jp-relatedposts-post-img,div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post span{display:block;max-width:90%;overflow:hidden;text-overflow:ellipsis}div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img,div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post span{max-width:100%}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-context,div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date{opacity:.6}.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date,div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-thumbs p.jp-relatedposts-post-excerpt{display:none}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs p.jp-relatedposts-post-excerpt{overflow:hidden}div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs span{margin-bottom:1em}@media only screen and (max-width:640px){div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post{width:50%}div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post:nth-child(3n){clear:left}div#jp-relatedposts div.jp-relatedposts-items-visual{margin-right:20px}}@media only screen and (max-width:320px){div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post{width:100%;clear:both;margin:0 0 1em}}#jp-post-flair{padding-top:.5em}#content div.sharedaddy,#main div.sharedaddy,div.sharedaddy{clear:both}div.sharedaddy h3.sd-title{margin:0 0 1em;display:inline-block;line-height:1.2;font-size:9pt;font-weight:700}div.sharedaddy h3.sd-title:before{content:"";display:block;width:100%;min-width:30px;border-top:1px solid #ddd;margin-bottom:1em}body.highlander-light h3.sd-title:before{border-top:1px solid rgba(0,0,0,.2)}body.highlander-dark h3.sd-title:before{border-top:1px solid rgba(255,255,255,.4)}.sd-content ul{padding:0!important;margin:0 0 .7em!important;list-style:none!important}.sd-content ul li{display:inline-block}.sd-block.sd-gplus{margin:0 0 .5em}.sd-gplus .sd-content{font-size:12px}#sharing_email .sharing_send,.sd-content ul li .option a.share-ustom,.sd-content ul li a.sd-button,.sd-content ul li.advanced a.share-more,.sd-content ul li.preview-item div.option.option-smart-off a,.sd-social-icon .sd-content ul li a.sd-button,.sd-social-icon-text .sd-content ul li a.sd-button,.sd-social-official .sd-content>ul>li .digg_button >a,.sd-social-official .sd-content>ul>li>a.sd-button,.sd-social-text .sd-content ul li a.sd-button{text-decoration:none!important;display:inline-block;margin:0 5px 5px 0;font-size:12px;font-family:"Open Sans",sans-serif;font-weight:400;border-radius:3px;color:#777!important;background:#f8f8f8;border:1px solid #ccc;box-shadow:0 1px 0 rgba(0,0,0,.08);text-shadow:none;line-height:23px;padding:1px 8px 0 5px}.sd-content ul li .option a.share-ustom span,.sd-content ul li a.sd-button>span,.sd-content ul li.advanced a.share-more span,.sd-content ul li.preview-item div.option.option-smart-off a span,.sd-social-icon-text .sd-content ul li a.sd-button>span,.sd-social-official .sd-content>ul>li .digg_button >a span,.sd-social-official .sd-content>ul>li>a.sd-button span,.sd-social-text .sd-content ul li a.sd-button span{line-height:23px}.sd-social-official .sd-content .sharing-hidden .inner>ul>li .digg_button>a,.sd-social-official .sd-content .sharing-hidden .inner>ul>li>a.sd-button,.sd-social-official .sd-content>ul>li .digg_button>a,.sd-social-official .sd-content>ul>li>a.sd-button{line-height:17px;box-shadow:none;vertical-align:top}.sd-social-official .sd-content .sharing-hidden .inner>ul>li .digg_button>a:before,.sd-social-official .sd-content .sharing-hidden .inner>ul>li>a.sd-button:before,.sd-social-official .sd-content>ul>li .digg_button>a:before,.sd-social-official .sd-content>ul>li>a.sd-button:before{margin-bottom:-1px;top:0}.sd-social-icon .sd-content ul li a.sd-button:active,.sd-social-icon .sd-content ul li a.sd-button:hover,.sd-social-icon-text .sd-content ul li a.sd-button:active,.sd-social-icon-text .sd-content ul li a.sd-button:hover,.sd-social-official .sd-content>ul>li .digg_button>a:active,.sd-social-official .sd-content>ul>li .digg_button>a:hover,.sd-social-official .sd-content>ul>li>a.sd-button:active,.sd-social-official .sd-content>ul>li>a.sd-button:hover,.sd-social-text .sd-content ul li a.sd-button:active,.sd-social-text .sd-content ul li a.sd-button:hover{color:#555;background:#fafafa;border:1px solid #999}.sd-social-icon .sd-content ul li a.sd-button:active,.sd-social-icon-text .sd-content ul li a.sd-button:active,.sd-social-official .sd-content>ul>li .digg_button>a:active,.sd-social-official .sd-content>ul>li>a.sd-button:active,.sd-social-text .sd-content ul li a.sd-button:active{box-shadow:inset 0 1px 0 rgba(0,0,0,.16)}.sd-content ul li a.sd-button:before{display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:400 16px/1 Genericons;vertical-align:top;position:relative;top:3px;text-align:center}.sd-content ul li{margin:0!important;padding:0}.sd-content ul li.preview-item a.sd-button span,.sd-social-icon-text .sd-content ul li a span,.sd-social-official .sd-content ul li a.sd-button span{margin-left:3px}.sd-content ul li.preview-item.no-icon a.sd-button span{margin-left:0}.sd-content ul li.no-icon a:before,.sd-social-text .sd-content ul li a:before{display:none}body .sd-content ul li.share-custom.no-icon a span,body .sd-social-text .sd-content ul li.share-custom a span{background-image:none;background-position:-500px -500px!important;background-repeat:no-repeat!important;padding-left:0;height:0;line-height:inherit}.sd-social-icon .sd-content ul li a.share-more{position:relative;top:2px}.sd-social-icon .sd-content ul li a.share-more span{margin-left:3px}.sd-content ul li.share-print div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-print a:before,.sd-social-icon-text .sd-content li.share-print a:before,.sd-social-official .sd-content li.share-print a:before,.sd-social-text .sd-content ul li.share-print a:before{content:'\f469'}.sd-content ul li.share-email div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-email a:before,.sd-social-icon-text .sd-content li.share-email a:before,.sd-social-official .sd-content li.share-email a:before,.sd-social-text .sd-content ul li.share-email a:before{content:'\f410'}.sd-content ul li.share-linkedin div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-linkedin a:before,.sd-social-icon-text .sd-content li.share-linkedin a:before,.sd-social-text .sd-content ul li.share-linkedin a:before{content:'\f207'}.sd-content ul li.share-twitter div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-twitter a:before,.sd-social-icon-text .sd-content li.share-twitter a:before,.sd-social-text .sd-content ul li.share-twitter a:before{content:'\f202'}.sd-content ul li.share-reddit div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-reddit a:before,.sd-social-icon-text .sd-content li.share-reddit a:before,.sd-social-text .sd-content ul li.share-reddit a:before{content:'\f222'}.sd-content ul li.share-tumblr div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-tumblr a:before,.sd-social-icon-text .sd-content li.share-tumblr a:before,.sd-social-text .sd-content ul li.share-tumblr a:before{content:'\f214'}.sd-content ul li.share-stumbleupon div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-stumbleupon a:before,.sd-social-icon-text .sd-content li.share-stumbleupon a:before,.sd-social-text .sd-content ul li.share-stumbleupon a:before{content:'\f223'}.sd-content ul li.share-pocket div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-pocket a:before,.sd-social-icon-text .sd-content li.share-pocket a:before,.sd-social-text .sd-content ul li.share-pocket a:before{content:'\f224'}.sd-content ul li.share-pinterest div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-pinterest a:before,.sd-social-icon-text .sd-content li.share-pinterest a:before,.sd-social-text .sd-content ul li.share-pinterest a:before{content:'\f209'}.sd-content ul li.share-google-plus-1 div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-google-plus-1 a:before,.sd-social-icon-text .sd-content li.share-google-plus-1 a:before,.sd-social-text .sd-content ul li.share-google-plus-1 a:before{content:'\f218'}.sd-content ul li.share-facebook div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-facebook a:before,.sd-social-icon-text .sd-content li.share-facebook a:before,.sd-social-text .sd-content ul li.share-facebook a:before{content:'\f204'}.sd-content ul li.share-press-this div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-press-this a:before,.sd-social-icon-text .sd-content li.share-press-this a:before,.sd-social-official .sd-content li.share-press-this a:before,.sd-social-text .sd-content ul li.share-press-this a:before{content:'\f205'}.sd-social-official .sd-content li.share-press-this a:before{color:#2ba1cb}.sd-content ul li.advanced a.share-more:before,.sd-social-icon .sd-content ul a.share-more:before,.sd-social-icon-text .sd-content a.share-more:before,.sd-social-official .sd-content a.share-more:before,.sd-social-text .sd-content ul a.share-more:before{content:'\f415'}.sd-social-official .sd-content a.share-more:before{color:#2ba1cb}.sd-social .sd-button .share-count{background:#2ea2cc;color:#fff;border-radius:10px;display:inline-block;text-align:center;font-size:10px;padding:1px 3px;line-height:1}.sd-social-official .sd-content ul,.sd-social-official .sd-content ul li{line-height:25px!important}.sd-social-official .sd-content>ul>li>a.sd-button span{line-height:1}.sd-social-official .sd-content ul:after{content:".";display:block;height:0;clear:both;visibility:hidden}.sd-social-official .sd-content li.share-press-this a{margin:0 0 5px}.sd-social-official .sd-content ul>li{display:block;float:left;margin:0 10px 5px 0!important;height:25px}.sd-social-official .sd-content .pocket_button iframe{width:98px}.sd-social-official .sd-content .twitter_button iframe{width:96px}.reddit_button iframe,.stumbleupon_button iframe{margin-top:1px}.googleplus1_button iframe,.like_button iframe,.linkedin_button>span,.pinterest_button,.pocket_button iframe,.twitter_button{margin:0!important}body .sd-social-official li a.share-more,body .sd-social-official li.share-custom a,body .sd-social-official li.share-digg a,body .sd-social-official li.share-email a,body .sd-social-official li.share-press-this a,body .sd-social-official li.share-print{position:relative;top:0}body .sd-social-icon .sd-content li.share-custom>a{padding:2px 3px 0;position:relative;top:4px}body .sd-content ul li.share-custom a.share-icon span,body .sd-social-icon .sd-content li.share-custom a span,body .sd-social-icon-text .sd-content li.share-custom a span,body .sd-social-official .sd-content li.share-custom a span,body .sd-social-text .sd-content li.share-custom a span{background-size:16px 16px;background-repeat:no-repeat;margin-left:0;padding:0 0 0 19px;display:inline-block;height:16px;line-height:16px}body .sd-social-icon .sd-content li.share-custom a span{width:0}body .sd-social-icon .sd-content li.share-custom a span{padding-left:16px!important}.sharing-hidden .inner{position:absolute;z-index:2;border:1px solid #ccc;padding:10px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.2);border-radius:2px;margin-top:5px;max-width:400px}.sharing-hidden .inner ul{margin:0!important}.sd-social-official .sd-content .sharing-hidden ul>li.share-end{clear:both;margin:0;height:0}.sharing-hidden .inner:after,.sharing-hidden .inner:before{position:absolute;z-index:1;top:-8px;left:20px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid #ccc;content:"";display:block}.sharing-hidden .inner:after{z-index:2;top:-7px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid #fff}.sharing-hidden ul{margin:0}.sd-social-icon .sd-content ul li[class*=share-] a,.sd-social-icon .sd-content ul li[class*=share-] a:hover,.sd-social-icon .sd-content ul li[class*=share-] div.option a{border-radius:50%;-webkit-border-radius:50%;border:0;box-shadow:none;padding:8px;position:relative;top:-2px;line-height:1;width:auto;height:auto;margin-bottom:0}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button>span,.sd-social-icon .sd-content ul li[class*=share-] div.option a span{line-height:1}.sd-social-icon .sd-content ul li[class*=share-] a:hover,.sd-social-icon .sd-content ul li[class*=share-] div.option a:hover{border:none;opacity:.6}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button:before{top:0}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button.share-custom{padding:8px 8px 6px;top:5px}.sd-social-icon .sd-content ul li a.sd-button.share-more{margin-left:10px}.sd-social-icon .sd-content ul li:first-child a.sd-button.share-more{margin-left:0}.sd-social-icon .sd-button span.share-count{position:absolute;bottom:0;right:0;border-radius:0;background:#555;font-size:9px}.sd-social-icon .sd-content ul li[class*=share-] a.sd-button{background:#e9e9e9;margin-top:2px;text-indent:0}.sd-social-icon .sd-content ul li[class*=share-].share-tumblr a.sd-button{background:#2c4762;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-facebook a.sd-button{background:#3b5998;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-stumbleupon a.sd-button{background:#ea4b24;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-twitter a.sd-button{background:#00acee;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-pinterest a.sd-button{background:#ca1f27;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-digg a.sd-button{color:#555!important}.sd-social-icon .sd-content ul li[class*=share-].share-press-this a.sd-button{background:#1e8cbe;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-linkedin a.sd-button{background:#0077b5;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-google-plus-1 a.sd-button{background:#dd4b39;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-pocket a.sd-button{background:#ee4056;color:#fff!important}.sd-social-icon .sd-content ul li[class*=share-].share-reddit a.sd-button{background:#cee3f8;color:#555!important}.sharing-screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}.sharing-screen-reader-text:active,.sharing-screen-reader-text:focus,.sharing-screen-reader-text:hover{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}#sharing_email{width:342px;position:absolute;z-index:1001;border:1px solid #ccc;padding:15px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.2);text-align:left}div.sharedaddy.sharedaddy-dark #sharing_email{border-color:#fff}#sharing_email .errors{color:#fff;background-color:#771a09;font-size:12px;padding:5px 8px;line-height:1;margin:10px 0 0}#sharing_email label{font-size:12px;color:#333;font-weight:700;display:block;padding:0 0 4px;text-align:left;text-shadow:none}#sharing_email form{margin:0}#sharing_email input[type=email],#sharing_email input[type=text]{width:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border:1px solid #ccc;margin-bottom:1em;background:#fff;font-size:12px;color:#333;max-width:none;padding:1px 3px}#sharing_email .sharing_cancel{padding:0 0 0 1em;font-size:12px;text-shadow:none}#sharing_email .recaptcha{width:312px;height:123px;margin:0 0 1em}.slideshow-window{background-color:#222;border:20px solid #222;border-radius:11px;-moz-border-radius:11px;-webkit-border-radius:11px;-khtml-border-radius:11px;margin-bottom:20px;height:410px;z-index:1}.slideshow-window.slideshow-white{background-color:#fff;border-color:#fff}.slideshow-window,.slideshow-window *{-moz-box-sizing:content-box;box-sizing:content-box}.slideshow-loading{height:100%;text-align:center;margin:auto}body div.slideshow-window * img{border-width:0!important;margin-right:auto!important;margin-left:auto!important;padding:0!important;background-color:transparent!important;background-image:none!important;max-width:100%}.slideshow-loading img{vertical-align:middle}.slideshow-slide{height:100%;width:100%;text-align:center;margin:auto;display:none}.slideshow-slide img{vertical-align:middle}.slideshow-line-height-hack{overflow:hidden;width:0;font-size:0}.slideshow-slide-caption{font-size:13px;font-family:"Helvetica Neue",sans-serif;color:#f7f7f7;text-shadow:#222 1px 1px 2px;line-height:25px;height:25px;position:absolute;bottom:5px;left:0;z-index:100;width:100%;text-align:center}.slideshow-controls{z-index:1000;position:absolute;bottom:30px;margin:auto;text-align:center;width:100%;-ms-filter:"alpha(Opacity=0)";opacity:0;direction:ltr}body div div.slideshow-controls a,body div div.slideshow-controls a:hover{border:2px solid rgba(255,255,255,.1)!important;background-color:#000!important;background-color:rgba(0,0,0,.6)!important;background-image:url(../modules/shortcodes/img/slideshow-controls.png)!important;background-repeat:no-repeat;background-size:142px 16px!important;background-position:-34px 8px!important;color:#222!important;margin:0 5px!important;padding:0!important;display:inline-block!important;zoom:1;height:32px!important;width:32px!important;line-height:32px!important;text-align:center!important;-khtml-border-radius:10em!important;border-radius:10em!important;transition:300ms border-color ease-out}@media only screen and (-webkit-min-device-pixel-ratio:1.5){body div div.slideshow-controls a,body div div.slideshow-controls a:hover{background-image:url(../modules/shortcodes/img/slideshow-controls-2x.png)!important}}body div div.slideshow-controls a:hover{border-color:rgba(255,255,255,1)!important}body div div.slideshow-controls a:first-child{background-position:-76px 8px!important}body div div.slideshow-controls a:last-child{background-position:-117px 8px!important}body div div.slideshow-controls a.running,body div div.slideshow-controls a:nth-child(2){background-position:-34px 8px!important}body div div.slideshow-controls a.paused{background-position:9px 8px!important}.slideshow-controls a img{border:50px dotted #f0f}body.presentation-wrapper-fullscreen-parent,html.presentation-wrapper-fullscreen-parent{overflow:hidden!important}.presentation-wrapper-fullscreen-parent #wpadminbar{display:none}.presentation-wrapper-fullscreen,.presentation-wrapper-fullscreen-parent{min-width:100%!important;min-height:100%!important;position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;margin:0!important;padding:0!important;z-index:10000!important}.presentation-wrapper-fullscreen{background-color:gray;border:none!important}.presentation-wrapper-fullscreen .nav-arrow-left,.presentation-wrapper-fullscreen .nav-arrow-right{z-index:20001}.presentation-wrapper-fullscreen .nav-fullscreen-button{z-index:20002}.presentation-wrapper{margin:20px auto;border:1px solid #e5e5e5;overflow:hidden;line-height:normal}.presentation{position:relative;margin:0;overflow:hidden;outline:0}.presentation,.presentation .step{background-repeat:no-repeat;background-position:center;background-size:100% 100%}.presentation .step.fade:not(.active){opacity:0}.presentation .slide-content{padding:30px}.presentation .nav-arrow-left,.presentation .nav-arrow-right,.presentation .nav-fullscreen-button{position:absolute;width:34px;background-repeat:no-repeat;z-index:2;opacity:0;transition:opacity .25s}.presentation .nav-arrow-left,.presentation .nav-arrow-right{height:100%;background-image:url(../modules/shortcodes/images/slide-nav.png);background-size:450% 61px}.presentation .nav-arrow-left{left:0;background-position:4px 50%}.presentation .nav-arrow-right{right:0;background-position:-120px 50%}.presentation .nav-fullscreen-button{width:32px;height:32px;margin:4px;bottom:0;right:0;z-index:3;background-image:url(../modules/shortcodes/images/expand.png);background-size:100% 100%}.presentation:hover .nav-arrow-left,.presentation:hover .nav-arrow-right{opacity:1}.presentation:hover .nav-fullscreen-button{opacity:.8}.presentation-wrapper-fullscreen .nav-fullscreen-button{background-image:url(../modules/shortcodes/images/collapse.png)}.presentation .autoplay-overlay{height:15%;width:80%;margin:30% 10%;position:relative;z-index:100;display:table;border-radius:50px;background-color:#e5e5e5;background-color:rgba(0,0,0,.75);transition:opacity .5s}.presentation .autoplay-overlay .overlay-msg{position:relative;display:table-cell;text-align:center;vertical-align:middle;color:#fff}.presentation .will-fade{opacity:0}.presentation .do-fade{opacity:1;transition:opacity .5s}#subscribe-email input{width:95%;padding:1px 2px}.comment-subscription-form .subscribe-label{display:inline!important}.tiled-gallery{clear:both;margin:0 0 20px;overflow:hidden}.tiled-gallery img{margin:2px!important}.tiled-gallery .gallery-group{float:left;position:relative}.tiled-gallery .tiled-gallery-item{float:left;margin:0;position:relative;width:inherit}.tiled-gallery .gallery-row{overflow:hidden}.tiled-gallery .tiled-gallery-item a{background:0 0;border:none;color:none;margin:0;padding:0;text-decoration:none;width:auto}.tiled-gallery .tiled-gallery-item img,.tiled-gallery .tiled-gallery-item img:hover{background:0 0;border:none;box-shadow:none;max-width:100%;padding:0;vertical-align:middle}.tiled-gallery-caption{background:#eee;background:rgba(255,255,255,.8);color:#333;font-size:13px;font-weight:400;overflow:hidden;padding:10px 0;position:absolute;bottom:0;text-indent:10px;text-overflow:ellipsis;width:100%;white-space:nowrap}.tiled-gallery .tiled-gallery-item-small .tiled-gallery-caption{font-size:11px}.widget-gallery .tiled-gallery-unresized{visibility:hidden;height:0;overflow:hidden}.tiled-gallery .tiled-gallery-item img.grayscale{position:absolute;left:0;top:0}.tiled-gallery .tiled-gallery-item img.grayscale:hover{opacity:0}.tiled-gallery.type-circle .tiled-gallery-item img{border-radius:50%!important}.tiled-gallery.type-circle .tiled-gallery-caption{display:none;opacity:0}.jetpack-display-remote-posts{margin:5px 0 20px}.jetpack-display-remote-posts h4{font-size:90%;margin:5px 0;padding:0}.jetpack-display-remote-posts h4 a{text-decoration:none}.jetpack-display-remote-posts p{margin:0!important;padding:0;line-height:1.4em!important;font-size:90%}.jetpack-display-remote-posts img{max-width:100%}.widget-grofile h4{margin:1em 0 .5em}.widget-grofile ul.grofile-urls{margin-left:0;overflow:hidden}.widget-grofile ul.grofile-accounts li{list-style:none;display:inline}.widget-grofile ul.grofile-accounts li::before{content:""!important}.widget-grofile .grofile-accounts-logo{background-image:url(//0.gravatar.com/images/grav-share-sprite.png);background-repeat:no-repeat;width:16px;height:16px;float:left;margin-right:8px;margin-bottom:8px}.rtl .widget-grofile .grofile-accounts-logo{margin-left:8px;margin-right:0}.grofile-thumbnail{width:500px;max-width:100%}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){.widget-grofile .grofile-accounts-logo{background-image:url(//0.gravatar.com/images/grav-share-sprite-2x.png);background-size:16px 784px}}div[class^=gr_custom_container]{border:1px solid gray;border-radius:10px;padding:10px 5px;background-color:#FFF;color:#000}div[class^=gr_custom_container] a{color:#000}h2[class^=gr_custom_header]{display:none}div[class^=gr_custom_each_container]{width:100%;clear:both;margin-bottom:10px;overflow:auto;padding-bottom:4px;border-bottom:1px solid #aaa}div[class^=gr_custom_book_container]{float:right;overflow:hidden;height:60px;margin-left:4px;width:39px}div[class^=gr_custom_author]{font-size:10px}div[class^=gr_custom_tags]{font-size:10px;color:gray}div[class^=gr_custom_rating]{display:none}.widgets-grid-layout{width:100%}.widgets-grid-layout:after,.widgets-grid-layout:before{content:" ";display:table}.widgets-grid-layout:after{clear:both}.widget-grid-view-image{float:left;max-width:50%}.widget-grid-view-image a{display:block;margin:0 2px 4px 0}.widget-grid-view-image:image:nth-child(even){float:right}.widget-grid-view-image:nth-child(even) a{margin:0 0 4px 2px}.widgets-grid-layout .widget-grid-view-image img{max-width:100%;height:auto}.widgets-multi-column-grid ul{overflow:hidden;padding:0;margin:0;list-style-type:none}.widgets-multi-column-grid ul li{background:0 0;clear:none;float:left;margin:0 -5px -3px 0;padding:0 8px 6px 0;border:none;list-style-type:none!important}.widgets-multi-column-grid ul li a{background:0 0;margin:0;padding:0;border:0}.widgets-multi-column-grid .avatar{vertical-align:middle}.widgets-list-layout{padding:0;margin:0;list-style-type:none}.widgets-list-layout li:after,.widgets-list-layout li:before{content:"";display:table}.widgets-list-layout li:after{clear:both}.widgets-list-layout li{zoom:1;margin-bottom:1em;list-style-type:none!important}.widgets-list-layout .widgets-list-layout-blavatar{float:left;width:21.276596%;max-width:40px;height:auto}.widgets-list-layout-links{float:right;width:73.404255%}.widgets-list-layout span{opacity:.5}.widgets-list-layout span:hover{opacity:.8}
css/jp-benefits.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+
2
+ /*# sourceMappingURL=jp-benefits.css.map */
css/jp-benefits.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"jp-benefits.css"}
functions.opengraph.php CHANGED
@@ -65,8 +65,14 @@ function jetpack_og_tags() {
65
  $tags['og:type'] = 'article';
66
  $tags['og:title'] = empty( $data->post_title ) ? ' ' : wp_kses( $data->post_title, array() ) ;
67
  $tags['og:url'] = get_permalink( $data->ID );
68
- if ( !post_password_required() )
69
- $tags['og:description'] = ! empty( $data->post_excerpt ) ? preg_replace( '@https?://[\S]+@', '', strip_shortcodes( wp_kses( $data->post_excerpt, array() ) ) ): wp_trim_words( preg_replace( '@https?://[\S]+@', '', strip_shortcodes( wp_kses( $data->post_content, array() ) ) ) );
 
 
 
 
 
 
70
  if ( empty( $tags['og:description'] ) )
71
  $tags['og:description'] = __('Visit the post for more.', 'jetpack');
72
  $tags['article:published_time'] = date( 'c', strtotime( $data->post_date_gmt ) );
@@ -105,6 +111,23 @@ function jetpack_og_tags() {
105
  $tags['og:description'] = strlen( $tags['og:description'] ) > $description_length ? mb_substr( $tags['og:description'], 0, $description_length ) . '...' : $tags['og:description'];
106
  }
107
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  // Add any additional tags here, or modify what we've come up with
109
  $tags = apply_filters( 'jetpack_open_graph_tags', $tags, compact( 'image_width', 'image_height' ) );
110
 
65
  $tags['og:type'] = 'article';
66
  $tags['og:title'] = empty( $data->post_title ) ? ' ' : wp_kses( $data->post_title, array() ) ;
67
  $tags['og:url'] = get_permalink( $data->ID );
68
+ if ( ! post_password_required() ) {
69
+ if ( ! empty( $data->post_excerpt ) ) {
70
+ $tags['og:description'] = preg_replace( '@https?://[\S]+@', '', strip_shortcodes( wp_kses( $data->post_excerpt, array() ) ) );
71
+ } else {
72
+ $exploded_content_on_more_tag = explode( '<!--more-->', $data->post_content );
73
+ $tags['og:description'] = wp_trim_words( preg_replace( '@https?://[\S]+@', '', strip_shortcodes( wp_kses( $exploded_content_on_more_tag[0], array() ) ) ) );
74
+ }
75
+ }
76
  if ( empty( $tags['og:description'] ) )
77
  $tags['og:description'] = __('Visit the post for more.', 'jetpack');
78
  $tags['article:published_time'] = date( 'c', strtotime( $data->post_date_gmt ) );
111
  $tags['og:description'] = strlen( $tags['og:description'] ) > $description_length ? mb_substr( $tags['og:description'], 0, $description_length ) . '...' : $tags['og:description'];
112
  }
113
 
114
+ // Try to add OG locale tag if the WP->FB data mapping exists
115
+ if ( defined( 'JETPACK__GLOTPRESS_LOCALES_PATH' ) && file_exists( JETPACK__GLOTPRESS_LOCALES_PATH ) ) {
116
+ require_once JETPACK__GLOTPRESS_LOCALES_PATH;
117
+ $_locale = get_locale();
118
+
119
+ // We have to account for WP.org vs WP.com locale divergence
120
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
121
+ $gp_locale = GP_Locales::by_field( 'slug', $_locale );
122
+ } else {
123
+ $gp_locale = GP_Locales::by_field( 'wp_locale', $_locale );
124
+ }
125
+ }
126
+
127
+ if ( isset( $gp_locale->facebook_locale ) && ! empty( $gp_locale->facebook_locale ) ) {
128
+ $tags['og:locale'] = $gp_locale->facebook_locale;
129
+ }
130
+
131
  // Add any additional tags here, or modify what we've come up with
132
  $tags = apply_filters( 'jetpack_open_graph_tags', $tags, compact( 'image_width', 'image_height' ) );
133
 
images/jetpack-protect-shield.svg ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ viewBox="477 389.4 190.4 226.7" enable-background="new 477 389.4 190.4 226.7" xml:space="preserve">
6
+ <g id="Export_Artboard">
7
+ <g id="Layer_36">
8
+ <g>
9
+ <path fill="#7EB850" d="M572.2,389.4V616c32.1-6.1,59.5-20,77.9-49c11.4-18,17.2-39,17.2-60.4v-89.4L572.2,389.4z"/>
10
+ <path fill="#70AA43" d="M477,417.2v89.4c0,21.3,5.8,42.3,17.2,60.4c18.4,29,45.9,42.9,78,49l0,0V389.4L477,417.2z"/>
11
+ <g>
12
+ <g>
13
+ <circle fill="#609643" cx="572.2" cy="501.5" r="56"/>
14
+ </g>
15
+ <g>
16
+ <path fill="#498F41" d="M572.2,557.5c-30.9,0-56-25.1-56-56s25.1-56,56-56V557.5z"/>
17
+ </g>
18
+ <g>
19
+ <g>
20
+ <path fill="#FFFFFF" d="M569.6,514.6l-17.6-4.5c-4.4-1.2-6.6-6.2-4.3-10.2l21.9-37.9V514.6z"/>
21
+ </g>
22
+ <g>
23
+ <path fill="#FFFFFF" d="M574.8,488.5l17.6,4.5c4.4,1.2,6.6,6.2,4.3,10.2l-21.9,37.9V488.5L574.8,488.5z"/>
24
+ </g>
25
+ </g>
26
+ </g>
27
+ </g>
28
+ </g>
29
+ </g>
30
+ </svg>
images/screenshots/beautifulmath.png CHANGED
Binary file
images/screenshots/carousel.png CHANGED
Binary file
images/screenshots/comments.png CHANGED
Binary file
images/screenshots/contactform.png CHANGED
Binary file
images/screenshots/custom-content-types.png CHANGED
Binary file
images/screenshots/custom-css.png CHANGED
Binary file
images/screenshots/google-plus.png CHANGED
Binary file
images/screenshots/hovercards.png CHANGED
Binary file
images/screenshots/likes.png CHANGED
Binary file
images/screenshots/manage-sm.png ADDED
Binary file
images/screenshots/manage.png ADDED
Binary file
images/screenshots/mobile-push-notifications.jpg CHANGED
Binary file
images/screenshots/mobile-theme.png CHANGED
Binary file
images/screenshots/notes.png CHANGED
Binary file
images/screenshots/post-by-email.png CHANGED
Binary file
images/screenshots/publicize.png CHANGED
Binary file
images/screenshots/sharing.png CHANGED
Binary file
images/screenshots/shortcodes.png CHANGED
Binary file
images/screenshots/shortlinks.png CHANGED
Binary file
images/screenshots/site-icon.png CHANGED
Binary file
images/screenshots/spelling.png CHANGED
Binary file
images/screenshots/stats.png CHANGED
Binary file
images/screenshots/subscriptions.png CHANGED
Binary file
images/screenshots/tiled-gallery.png CHANGED
Binary file
images/screenshots/vaultpress.png CHANGED
Binary file
images/screenshots/widgets.png CHANGED
Binary file
images/the-footcloud.svg CHANGED
@@ -1,10 +1,9 @@
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
  <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
- width="173.407px" height="45px" viewBox="0 0 173.407 45" enable-background="new 0 0 173.407 45" xml:space="preserve">
6
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#F9F9FA" d="M173.407,45c-2.7-9.258-11.244-16.025-21.375-16.025
7
- c-2.706,0-5.299,0.484-7.699,1.368c-6.409-9.975-17.594-16.589-30.332-16.589c-4.5,0-8.804,0.832-12.776,2.339
8
- C93.396,6.288,81.349,0,67.827,0C51.756,0,37.763,8.878,30.468,21.992c-1.225-0.17-2.475-0.265-3.747-0.265
9
- C13.079,21.727,1.808,31.855,0,45H173.407z"/>
10
  </svg>
1
  <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
  <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ viewBox="-162 228 173.4 45" enable-background="new -162 228 173.4 45" xml:space="preserve">
6
+ <path fill="#EEEEEE" d="M11.4,273c-2.7-9.3-11.2-16-21.4-16c-2.7,0-5.3,0.5-7.7,1.4c-6.4-10-17.6-16.6-30.3-16.6
7
+ c-4.5,0-8.8,0.8-12.8,2.3c-7.8-9.8-19.9-16.1-33.4-16.1c-16.1,0-30.1,8.9-37.4,22c-1.2-0.2-2.5-0.3-3.7-0.3
8
+ c-13.6,0-24.9,10.1-26.7,23.3H11.4z"/>
 
9
  </svg>
jetpack.php CHANGED
@@ -5,16 +5,16 @@
5
  * Plugin URI: http://wordpress.org/extend/plugins/jetpack/
6
  * Description: Bring the power of the WordPress.com cloud to your self-hosted WordPress. Jetpack enables you to connect your blog to a WordPress.com account to use the powerful features normally only available to WordPress.com users.
7
  * Author: Automattic
8
- * Version: 3.3.4
9
  * Author URI: http://jetpack.me
10
  * License: GPL2+
11
  * Text Domain: jetpack
12
  * Domain Path: /languages/
13
  */
14
 
15
- define( 'JETPACK__MINIMUM_WP_VERSION', '3.9' );
16
 
17
- define( 'JETPACK__VERSION', '3.3.4' );
18
  define( 'JETPACK_MASTER_USER', true );
19
  define( 'JETPACK__API_VERSION', 1 );
20
  define( 'JETPACK__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
@@ -24,6 +24,7 @@ defined( 'JETPACK_CLIENT__AUTH_LOCATION' ) or define( 'JETPACK_CLIENT__AUTH_LO
24
  defined( 'JETPACK_CLIENT__HTTPS' ) or define( 'JETPACK_CLIENT__HTTPS', 'AUTO' );
25
  defined( 'JETPACK__GLOTPRESS_LOCALES_PATH' ) or define( 'JETPACK__GLOTPRESS_LOCALES_PATH', JETPACK__PLUGIN_DIR . 'locales.php' );
26
  defined( 'JETPACK__API_BASE' ) or define( 'JETPACK__API_BASE', 'https://jetpack.wordpress.com/jetpack.' );
 
27
 
28
  // @todo: Abstract out the admin functions, and only include them if is_admin()
29
  // @todo: Only include things like class.jetpack-sync.php if we're connected.
@@ -59,10 +60,11 @@ if ( defined( 'WP_CLI' ) && WP_CLI ) {
59
 
60
  register_activation_hook( __FILE__, array( 'Jetpack', 'plugin_activation' ) );
61
  register_deactivation_hook( __FILE__, array( 'Jetpack', 'plugin_deactivation' ) );
62
-
63
  add_action( 'init', array( 'Jetpack', 'init' ) );
64
  add_action( 'plugins_loaded', array( 'Jetpack', 'load_modules' ), 100 );
65
  add_filter( 'jetpack_static_url', array( 'Jetpack', 'staticize_subdomain' ) );
 
66
 
67
  /**
68
  * Add an easy way to photon-ize a URL that is safe to call even if Jetpack isn't active.
5
  * Plugin URI: http://wordpress.org/extend/plugins/jetpack/
6
  * Description: Bring the power of the WordPress.com cloud to your self-hosted WordPress. Jetpack enables you to connect your blog to a WordPress.com account to use the powerful features normally only available to WordPress.com users.
7
  * Author: Automattic
8
+ * Version: 3.4.4
9
  * Author URI: http://jetpack.me
10
  * License: GPL2+
11
  * Text Domain: jetpack
12
  * Domain Path: /languages/
13
  */
14
 
15
+ define( 'JETPACK__MINIMUM_WP_VERSION', '4.0' );
16
 
17
+ define( 'JETPACK__VERSION', '3.4.4' );
18
  define( 'JETPACK_MASTER_USER', true );
19
  define( 'JETPACK__API_VERSION', 1 );
20
  define( 'JETPACK__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
24
  defined( 'JETPACK_CLIENT__HTTPS' ) or define( 'JETPACK_CLIENT__HTTPS', 'AUTO' );
25
  defined( 'JETPACK__GLOTPRESS_LOCALES_PATH' ) or define( 'JETPACK__GLOTPRESS_LOCALES_PATH', JETPACK__PLUGIN_DIR . 'locales.php' );
26
  defined( 'JETPACK__API_BASE' ) or define( 'JETPACK__API_BASE', 'https://jetpack.wordpress.com/jetpack.' );
27
+ defined( 'JETPACK_PROTECT__API_HOST' ) or define( 'JETPACK_PROTECT__API_HOST', 'https://api.bruteprotect.com/' );
28
 
29
  // @todo: Abstract out the admin functions, and only include them if is_admin()
30
  // @todo: Only include things like class.jetpack-sync.php if we're connected.
60
 
61
  register_activation_hook( __FILE__, array( 'Jetpack', 'plugin_activation' ) );
62
  register_deactivation_hook( __FILE__, array( 'Jetpack', 'plugin_deactivation' ) );
63
+ add_action( 'updating_jetpack_version', array( 'Jetpack', 'do_version_bump' ), 10, 2 );
64
  add_action( 'init', array( 'Jetpack', 'init' ) );
65
  add_action( 'plugins_loaded', array( 'Jetpack', 'load_modules' ), 100 );
66
  add_filter( 'jetpack_static_url', array( 'Jetpack', 'staticize_subdomain' ) );
67
+ add_filter( 'is_jetpack_site', '__return_true' );
68
 
69
  /**
70
  * Add an easy way to photon-ize a URL that is safe to call even if Jetpack isn't active.
json-api-config.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+
4
+ define( 'WPCOM_JSON_API__CURRENT_VERSION', '1.1' );
5
+
6
+ $wpcom_json_api_production_versions = array(
7
+ '1',
8
+ '1.1',
9
+ );
10
+
11
+ $wpcom_json_api_dev_versions = array(
12
+ '1.2',
13
+ );
json-endpoints.php CHANGED
@@ -71,14 +71,14 @@ require_once( $json_jetpack_endpoints_dir . 'json-api-jetpack-endpoints.php' );
71
  */
72
 
73
  new WPCOM_JSON_API_GET_Site_Endpoint( array(
74
- 'description' => 'Information about a site ID/domain',
75
  'group' => 'sites',
76
  'stat' => 'sites:X',
77
  'allowed_if_flagged' => true,
78
  'method' => 'GET',
79
  'path' => '/sites/%s',
80
  'path_labels' => array(
81
- '$site' => '(int|string) The site ID, The site domain',
82
  ),
83
 
84
  'query_parameters' => array(
@@ -91,14 +91,14 @@ new WPCOM_JSON_API_GET_Site_Endpoint( array(
91
  ) );
92
 
93
  new WPCOM_JSON_API_List_Post_Formats_Endpoint( array(
94
- 'description' => 'A list of post formats supported by a site.',
95
  'group' => '__do_not_document',
96
  'stat' => 'sites:X:post-formats',
97
 
98
  'method' => 'GET',
99
  'path' => '/sites/%s/post-formats',
100
  'path_labels' => array(
101
- '$site' => '(int|string) The site ID, The site domain',
102
  ),
103
 
104
  'query_parameters' => array(
@@ -111,14 +111,14 @@ new WPCOM_JSON_API_List_Post_Formats_Endpoint( array(
111
  ) );
112
 
113
  new WPCOM_JSON_API_List_Post_Types_Endpoint( array (
114
- 'description' => 'A list of post types available for a site.',
115
  'group' => '__do_not_document',
116
  'stat' => 'sites:X:post-types',
117
 
118
  'method' => 'GET',
119
  'path' => '/sites/%s/post-types',
120
  'path_labels' => array(
121
- '$site' => '(int|string) The site ID, The site domain',
122
  ),
123
 
124
  'query_parameters' => array(
@@ -136,28 +136,51 @@ new WPCOM_JSON_API_List_Post_Types_Endpoint( array (
136
  */
137
 
138
  new WPCOM_JSON_API_List_Shortcodes_Endpoint( array(
139
- 'description' => "Lists shortcodes available on a site. Only for users with publishing access.",
140
  'group' => 'sites',
141
  'stat' => 'shortcodes',
142
  'method' => 'GET',
143
  'path' => '/sites/%s/shortcodes',
144
  'path_labels' => array(
145
- '$site' => '(int|string) The site ID, The site domain',
146
  ),
147
  'response_format' => array(
148
  'shortcodes' => '(array) A list of supported shortcodes by their handle.',
149
  ),
150
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.com/shortcodes'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
151
  ) );
152
 
153
  new WPCOM_JSON_API_Render_Shortcode_Endpoint( array(
154
- 'description' => "Render a shortcode on a site. Only for users with publishing access.",
155
  'group' => 'sites',
156
  'stat' => 'shortcodes:render',
157
  'method' => 'GET',
158
  'path' => '/sites/%s/shortcodes/render',
159
  'path_labels' => array(
160
- '$site' => '(int|string) The site ID, The site domain',
161
  ),
162
  'query_parameters' => array(
163
  'shortcode' => '(string) The query-string encoded shortcode string to render. Required. Only accepts one at a time.',
@@ -168,35 +191,84 @@ new WPCOM_JSON_API_Render_Shortcode_Endpoint( array(
168
  'scripts' => '(array) An array of JavaScript files needed to render the shortcode. Returned in the format of <code>{ "script-slug" : { "src": "http://example.com/file.js", "extra" : "" } }</code> where extra contains any neccessary extra JS for initializing the source file and src contains the script to load. Omitted if no scripts are neccessary.',
169
  'styles' => '(array) An array of CSS files needed to render the shortcode. Returned in the format of <code>{ "style-slug" : { "src": "http://example.com/file.css", "media" : "all" } }</code>. Omitted if no styles are neccessary.',
170
  ),
171
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/shortcodes/render?shortcode=%5Bgallery%20ids%3D%22729%2C732%2C731%2C720%22%5D'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
172
  ) );
173
 
174
  /*
175
  * embed endpoints
176
  */
177
  new WPCOM_JSON_API_List_Embeds_Endpoint( array(
178
- 'description' => "Lists embeds available on a site. Only for users with publishing access.",
179
  'group' => 'sites',
180
  'stat' => 'embeds',
181
  'method' => 'GET',
182
  'path' => '/sites/%s/embeds',
183
  'path_labels' => array(
184
- '$site' => '(int|string) The site ID, The site domain',
185
  ),
186
  'response_format' => array(
187
  'embeds' => '(array) A list of supported embeds by their regex pattern.',
188
  ),
189
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.com/embeds'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  ) );
191
 
192
  new WPCOM_JSON_API_Render_Embed_Endpoint( array(
193
- 'description' => "Render a shortcode on a site. Only for users with publishing access.",
194
  'group' => 'sites',
195
  'stat' => 'embeds:render',
196
  'method' => 'GET',
197
  'path' => '/sites/%s/embeds/render',
198
  'path_labels' => array(
199
- '$site' => '(int|string) The site ID, The site domain',
200
  ),
201
  'query_parameters' => array(
202
  'embed_url' => '(string) The query-string encoded embed URL to render. Required. Only accepts one at a time.',
@@ -205,18 +277,28 @@ new WPCOM_JSON_API_Render_Embed_Endpoint( array(
205
  'embed_url' => '(string) The embed_url that was passed in for rendering.',
206
  'result' => '(html) The rendered HTML result of the embed.',
207
  ),
208
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/embeds/render?embed_url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DSQEQr7c0-dw'
 
 
 
 
 
 
 
 
 
 
209
  ) );
210
 
211
  new WPCOM_JSON_API_Render_Embed_Reversal_Endpoint( array(
212
- 'description' => "Determines if the given embed code can be reversed into a single line embed or a shortcode, and if so returns the embed or shortcode. Only for users with publishing access.",
213
  //'group' => 'sites',
214
  'group' => '__do_not_document',
215
  'stat' => 'embeds:reversal',
216
  'method' => 'POST',
217
  'path' => '/sites/%s/embeds/reversal',
218
  'path_labels' => array(
219
- '$site' => '(int|string) The site ID, The site domain',
220
  ),
221
  'request_format' => array(
222
  'maybe_embed' => '(string) The embed code to reverse. Required. Only accepts one at a time.',
@@ -253,24 +335,25 @@ new WPCOM_JSON_API_Render_Embed_Reversal_Endpoint( array(
253
  * Post endpoints
254
  */
255
  new WPCOM_JSON_API_List_Posts_Endpoint( array(
256
- 'description' => 'Return matching Posts',
257
- //'new_version' => '1.1',
 
258
  'group' => 'posts',
259
  'stat' => 'posts',
260
 
261
  'method' => 'GET',
262
  'path' => '/sites/%s/posts/',
263
  'path_labels' => array(
264
- '$site' => '(int|string) The site ID, The site domain',
265
  ),
266
 
267
  'query_parameters' => array(
268
- 'number' => '(int=20) The number of posts to return. Limit: 100.',
269
  'offset' => '(int=0) 0-indexed offset.',
270
- 'page' => '(int) Return the Nth 1-indexed page of posts. Takes precedence over the <code>offset</code> parameter.',
271
  'order' => array(
272
- 'DESC' => 'Return posts in descending order. For dates, that means newest to oldest.',
273
- 'ASC' => 'Return posts in ascending order. For dates, that means oldest to newest.',
274
  ),
275
  'order_by' => array(
276
  'date' => 'Order by the created time of each post.',
@@ -286,7 +369,7 @@ new WPCOM_JSON_API_List_Posts_Endpoint( array(
286
  'type' => "(string) Specify the post type. Defaults to 'post', use 'any' to query for both posts and pages. Post types besides post and page need to be whitelisted using the <code>rest_api_allowed_post_types</code> filter.",
287
  'parent_id' => '(int) Returns only posts which are children of the specified post. Applies only to hierarchical post types.',
288
  'exclude' => '(array:int|int) Excludes the specified post ID(s) from the response',
289
- 'exclude_tree' => '(int) Excludes the specified post and all of its descendents from the response. Applies only to hierarhical post types.',
290
  'status' => array(
291
  'publish' => 'Return only published posts.',
292
  'private' => 'Return only private posts.',
@@ -310,7 +393,7 @@ new WPCOM_JSON_API_List_Posts_Endpoint( array(
310
  ) );
311
 
312
  new WPCOM_JSON_API_List_Posts_v1_1_Endpoint( array(
313
- 'description' => 'Return matching Posts',
314
  'min_version' => '1.1',
315
  'max_version' => '1.1',
316
 
@@ -320,17 +403,17 @@ new WPCOM_JSON_API_List_Posts_v1_1_Endpoint( array(
320
  'method' => 'GET',
321
  'path' => '/sites/%s/posts/',
322
  'path_labels' => array(
323
- '$site' => '(int|string) The site ID, The site domain',
324
  ),
325
 
326
  'query_parameters' => array(
327
- 'number' => '(int=20) The number of posts to return. Limit: 100.',
328
  'offset' => '(int=0) 0-indexed offset.',
329
- 'page' => '(int) Return the Nth 1-indexed page of posts. Takes precedence over the <code>offset</code> parameter.',
330
  'page_handle' => '(string) A page handle, returned from a previous API call as a <code>meta.next_page</code> property. This is the most efficient way to fetch the next page of results.',
331
  'order' => array(
332
- 'DESC' => 'Return posts in descending order. For dates, that means newest to oldest.',
333
- 'ASC' => 'Return posts in ascending order. For dates, that means oldest to newest.',
334
  ),
335
  'order_by' => array(
336
  'date' => 'Order by the created time of each post.',
@@ -348,11 +431,12 @@ new WPCOM_JSON_API_List_Posts_v1_1_Endpoint( array(
348
  'type' => "(string) Specify the post type. Defaults to 'post', use 'any' to query for both posts and pages. Post types besides post and page need to be whitelisted using the <code>rest_api_allowed_post_types</code> filter.",
349
  'parent_id' => '(int) Returns only posts which are children of the specified post. Applies only to hierarchical post types.',
350
  'exclude' => '(array:int|int) Excludes the specified post ID(s) from the response',
351
- 'exclude_tree' => '(int) Excludes the specified post and all of its descendents from the response. Applies only to hierarhical post types.',
352
  'status' => '(string) Comma-separated list of statuses for which to query, including any of: "publish", "private", "draft", "pending", "future", and "trash", or simply "any". Defaults to "publish"',
353
  'sticky' => array(
354
- 'include' => 'Sticky posts are not excluded from list.',
355
- 'exclude' => 'Stick posts excluded from list.',
 
356
  ),
357
  'author' => "(int) Author's user ID",
358
  'search' => '(string) Search query',
@@ -360,18 +444,19 @@ new WPCOM_JSON_API_List_Posts_v1_1_Endpoint( array(
360
  'meta_value' => '(string) Metadata value that the post should contain. Will only be applied if a `meta_key` is also given',
361
  ),
362
 
363
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/?number=5&pretty=1'
364
  ) );
365
 
366
  new WPCOM_JSON_API_Get_Post_Endpoint( array(
367
- 'description' => 'Return a single Post (by ID)',
368
  'group' => 'posts',
369
  'stat' => 'posts:1',
370
- // 'new_version' => '1.1',
 
371
  'method' => 'GET',
372
  'path' => '/sites/%s/posts/%d',
373
  'path_labels' => array(
374
- '$site' => '(int|string) The site ID, The site domain',
375
  '$post_ID' => '(int) The post ID',
376
  ),
377
 
@@ -379,7 +464,7 @@ new WPCOM_JSON_API_Get_Post_Endpoint( array(
379
  ) );
380
 
381
  new WPCOM_JSON_API_Get_Post_v1_1_Endpoint( array(
382
- 'description' => 'Return a single Post (by ID)',
383
  'min_version' => '1.1',
384
  'max_version' => '1.1',
385
  'group' => 'posts',
@@ -387,20 +472,20 @@ new WPCOM_JSON_API_Get_Post_v1_1_Endpoint( array(
387
  'method' => 'GET',
388
  'path' => '/sites/%s/posts/%d',
389
  'path_labels' => array(
390
- '$site' => '(int|string) The site ID, The site domain',
391
  '$post_ID' => '(int) The post ID',
392
  ),
393
  'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/7/?pretty=1'
394
  ) );
395
 
396
  new WPCOM_JSON_API_Get_Post_Endpoint( array(
397
- 'description' => 'Return a single Post (by name)',
398
  'group' => '__do_not_document',
399
  'stat' => 'posts:name',
400
  'method' => 'GET',
401
  'path' => '/sites/%s/posts/name:%s',
402
  'path_labels' => array(
403
- '$site' => '(int|string) The site ID, The site domain',
404
  '$post_name' => '(string) The post name (a.k.a. slug)',
405
  ),
406
 
@@ -408,14 +493,15 @@ new WPCOM_JSON_API_Get_Post_Endpoint( array(
408
  ) );
409
 
410
  new WPCOM_JSON_API_Get_Post_Endpoint( array(
411
- 'description' => 'Return a single Post (by slug)',
412
  'group' => 'posts',
413
  'stat' => 'posts:slug',
414
- //'new_version' => '1.1',
 
415
  'method' => 'GET',
416
  'path' => '/sites/%s/posts/slug:%s',
417
  'path_labels' => array(
418
- '$site' => '(int|string) The site ID, The site domain',
419
  '$post_slug' => '(string) The post slug (a.k.a. sanitized name)',
420
  ),
421
 
@@ -423,7 +509,7 @@ new WPCOM_JSON_API_Get_Post_Endpoint( array(
423
  ) );
424
 
425
  new WPCOM_JSON_API_Get_Post_v1_1_Endpoint( array(
426
- 'description' => 'Return a single Post (by slug)',
427
  'min_version' => '1.1',
428
  'max_version' => '1.1',
429
  'group' => 'posts',
@@ -431,21 +517,22 @@ new WPCOM_JSON_API_Get_Post_v1_1_Endpoint( array(
431
  'method' => 'GET',
432
  'path' => '/sites/%s/posts/slug:%s',
433
  'path_labels' => array(
434
- '$site' => '(int|string) The site ID, The site domain',
435
  '$post_slug' => '(string) The post slug (a.k.a. sanitized name)',
436
  ),
437
  'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/slug:blogging-and-stuff?pretty=1',
438
  ) );
439
 
440
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
441
- 'description' => 'Create a Post',
442
  'group' => 'posts',
443
  'stat' => 'posts:new',
444
- // 'new_version' => '1.1',
 
445
  'method' => 'POST',
446
  'path' => '/sites/%s/posts/new',
447
  'path_labels' => array(
448
- '$site' => '(int|string) The site ID, The site domain',
449
  ),
450
 
451
  'request_format' => array(
@@ -472,18 +559,18 @@ new WPCOM_JSON_API_Update_Post_Endpoint( array(
472
  'password' => '(string) The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected.',
473
  'parent' => "(int) The post ID of the new post's parent.",
474
  'type' => "(string) The post type. Defaults to 'post'. Post types besides post and page need to be whitelisted using the <code>rest_api_allowed_post_types</code> filter.",
475
- 'categories' => "(array|string) Comma separated list or array of categories (name or id)",
476
- 'tags' => "(array|string) Comma separated list or array of tags (name or id)",
477
  'format' => get_post_format_strings(),
478
  'featured_image' => "(string) The post ID of an existing attachment to set as the featured image. Pass an empty string to delete the existing image.",
479
- 'media' => "(media) An array of files to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See <code>allowed_file_types</code> in the options response of the site endpoint. <br /><br /><strong>Example</strong>:<br />" .
480
  "<code>curl \<br />--form 'title=Image' \<br />--form 'media[]=@/path/to/file.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/posts/new'</code>",
481
  'media_urls' => "(array) An array of URLs for images to attach to a post. Sideloads the media in for a post.",
482
  'metadata' => "(array) Array of metadata objects containing the following properties: `key` (metadata key), `id` (meta ID), `previous_value` (if set, the action will only occur for the provided previous value), `value` (the new value to set the meta to), `operation` (the operation to perform: `update` or `add`; defaults to `update`). All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are avaiable for authenticated requests with proper capabilities. Protected meta keys can be made available with the <code>rest_api_allowed_public_metadata</code> filter.",
483
- 'comments_open' => "(bool) Should the post be open to comments? Defaults to the blog's preference.",
484
- 'pings_open' => "(bool) Should the post be open to comments? Defaults to the blog's preference.",
485
- 'likes_enabled' => "(bool) Should the post be open to likes? Defaults to the blog's preference.",
486
- 'sharing_enabled' => "(bool) Should sharing buttons show on this post? Defaults to true.",
487
  'menu_order' => "(int) (Pages Only) the order pages should appear in. Use 0 to maintain alphabetical order.",
488
  ),
489
 
@@ -601,7 +688,7 @@ new WPCOM_JSON_API_Update_Post_Endpoint( array(
601
  ) );
602
 
603
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
604
- 'description' => 'Create a Post',
605
  'group' => 'posts',
606
  'stat' => 'posts:new',
607
  'min_version' => '1.1',
@@ -609,7 +696,7 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
609
  'method' => 'POST',
610
  'path' => '/sites/%s/posts/new',
611
  'path_labels' => array(
612
- '$site' => '(int|string) The site ID, The site domain',
613
  ),
614
 
615
  'request_format' => array(
@@ -636,19 +723,19 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
636
  'password' => '(string) The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected.',
637
  'parent' => "(int) The post ID of the new post's parent.",
638
  'type' => "(string) The post type. Defaults to 'post'. Post types besides post and page need to be whitelisted using the <code>rest_api_allowed_post_types</code> filter.",
639
- 'categories' => "(array|string) Comma separated list or array of categories (name or id)",
640
- 'tags' => "(array|string) Comma separated list or array of tags (name or id)",
641
  'format' => get_post_format_strings(),
642
  'featured_image' => "(string) The post ID of an existing attachment to set as the featured image. Pass an empty string to delete the existing image.",
643
- 'media' => "(media) An array of files to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See <code>allowed_file_types</code> in the options response of the site endpoint. Errors produced by media uploads, if any, will be in `media_errors` in the response. <br /><br /><strong>Example</strong>:<br />" .
644
  "<code>curl \<br />--form 'title=Image Post' \<br />--form 'media[0]=@/path/to/file.jpg' \<br />--form 'media_attrs[0][caption]=My Great Photo' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/posts/new'</code>",
645
  'media_urls' => "(array) An array of URLs for images to attach to a post. Sideloads the media in for a post. Errors produced by media sideloading, if any, will be in `media_errors` in the response.",
646
  'media_attrs' => "(array) An array of attributes (`title`, `description` and `caption`) are supported to assign to the media uploaded via the `media` or `media_urls` properties. You must use a numeric index for the keys of `media_attrs` which follow the same sequence as `media` and `media_urls`. <br /><br /><strong>Example</strong>:<br />" .
647
  "<code>curl \<br />--form 'title=Gallery Post' \<br />--form 'media[]=@/path/to/file1.jpg' \<br />--form 'media_urls[]=http://exapmple.com/file2.jpg' \<br /> \<br />--form 'media_attrs[0][caption]=This will be the caption for file1.jpg' \<br />--form 'media_attrs[1][title]=This will be the title for file2.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/posts/new'</code>",
648
  'metadata' => "(array) Array of metadata objects containing the following properties: `key` (metadata key), `id` (meta ID), `previous_value` (if set, the action will only occur for the provided previous value), `value` (the new value to set the meta to), `operation` (the operation to perform: `update` or `add`; defaults to `update`). All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are avaiable for authenticated requests with proper capabilities. Protected meta keys can be made available with the <code>rest_api_allowed_public_metadata</code> filter.",
649
  'discussion' => '(object) A hash containing one or more of the following boolean values, which default to the blog\'s discussion preferences: `comments_open`, `pings_open`',
650
- 'likes_enabled' => "(bool) Should the post be open to likes? Defaults to the blog's preference.",
651
- 'sharing_enabled' => "(bool) Should sharing buttons show on this post? Defaults to true.",
652
  'menu_order' => "(int) (Pages Only) the order pages should appear in. Use 0 to maintain alphabetical order.",
653
  ),
654
 
@@ -765,14 +852,15 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
765
  ) );
766
 
767
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
768
- 'description' => 'Edit a Post',
769
  'group' => 'posts',
770
  'stat' => 'posts:1:POST',
771
- // 'new_version' => '1.1',
 
772
  'method' => 'POST',
773
  'path' => '/sites/%s/posts/%d',
774
  'path_labels' => array(
775
- '$site' => '(int|string) The site ID, The site domain',
776
  '$post_ID' => '(int) The post ID',
777
  ),
778
 
@@ -797,8 +885,8 @@ new WPCOM_JSON_API_Update_Post_Endpoint( array(
797
  ),
798
  'password' => '(string) The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected.',
799
  'parent' => "(int) The post ID of the new post's parent.",
800
- 'categories' => "(array|string) Comma separated list or array of categories (name or id)",
801
- 'tags' => "(array|string) Comma separated list or array of tags (name or id)",
802
  'format' => get_post_format_strings(),
803
  'comments_open' => '(bool) Should the post be open to comments?',
804
  'pings_open' => '(bool) Should the post be open to comments?',
@@ -806,7 +894,7 @@ new WPCOM_JSON_API_Update_Post_Endpoint( array(
806
  'menu_order' => "(int) (Pages Only) the order pages should appear in. Use 0 to maintain alphabetical order.",
807
  'sharing_enabled' => "(bool) Should sharing buttons show on this post?",
808
  'featured_image' => "(string) The post ID of an existing attachment to set as the featured image. Pass an empty string to delete the existing image.",
809
- 'media' => "(media) An array of files to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See <code>allowed_file_types</code> in the options resposne of the site endpoint. <br /><br /><strong>Example</strong>:<br />" .
810
  "<code>curl \<br />--form 'title=Image' \<br />--form 'media[]=@/path/to/file.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/posts/new'</code>",
811
  'media_urls' => "(array) An array of URLs for images to attach to a post. Sideloads the media in for a post.",
812
  'metadata' => "(array) Array of metadata objects containing the following properties: `key` (metadata key), `id` (meta ID), `previous_value` (if set, the action will only occur for the provided previous value), `value` (the new value to set the meta to), `operation` (the operation to perform: `update` or `add`; defaults to `update`). All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with proper capabilities. Protected meta keys can be made available with the <code>rest_api_allowed_public_metadata</code> filter.",
@@ -928,7 +1016,7 @@ new WPCOM_JSON_API_Update_Post_Endpoint( array(
928
  ) );
929
 
930
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
931
- 'description' => 'Edit a Post',
932
  'group' => 'posts',
933
  'stat' => 'posts:1:POST',
934
  'min_version' => '1.1',
@@ -936,7 +1024,7 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
936
  'method' => 'POST',
937
  'path' => '/sites/%s/posts/%d',
938
  'path_labels' => array(
939
- '$site' => '(int|string) The site ID, The site domain',
940
  '$post_ID' => '(int) The post ID',
941
  ),
942
 
@@ -961,15 +1049,15 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
961
  ),
962
  'password' => '(string) The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected.',
963
  'parent' => "(int) The post ID of the new post's parent.",
964
- 'categories' => "(array|string) Comma separated list or array of categories (name or id)",
965
- 'tags' => "(array|string) Comma separated list or array of tags (name or id)",
966
  'format' => get_post_format_strings(),
967
  'discussion' => '(object) A hash containing one or more of the following boolean values, which default to the blog\'s discussion preferences: `comments_open`, `pings_open`',
968
  'likes_enabled' => "(bool) Should the post be open to likes?",
969
- 'menu_order' => "(int) (Pages Only) the order pages should appear in. Use 0 to maintain alphabetical order.",
970
  'sharing_enabled' => "(bool) Should sharing buttons show on this post?",
971
  'featured_image' => "(string) The post ID of an existing attachment to set as the featured image. Pass an empty string to delete the existing image.",
972
- 'media' => "(media) An array of files to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See <code>allowed_file_types</code> in the options resposne of the site endpoint. <br /><br /><strong>Example</strong>:<br />" .
973
  "<code>curl \<br />--form 'title=Image' \<br />--form 'media[]=@/path/to/file.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/posts/new'</code>",
974
  'media_urls' => "(array) An array of URLs for images to attach to a post. Sideloads the media in for a post.",
975
  'metadata' => "(array) Array of metadata objects containing the following properties: `key` (metadata key), `id` (meta ID), `previous_value` (if set, the action will only occur for the provided previous value), `value` (the new value to set the meta to), `operation` (the operation to perform: `update` or `add`; defaults to `update`). All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with proper capabilities. Protected meta keys can be made available with the <code>rest_api_allowed_public_metadata</code> filter.",
@@ -1090,14 +1178,15 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1090
  ) );
1091
 
1092
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
1093
- 'description' => 'Delete a Post. Note: If the post object is of type post or page and the trash is enabled, this request will send the post to the trash. A second request will permanently delete the post.',
1094
  'group' => 'posts',
1095
  'stat' => 'posts:1:delete',
1096
- //'new_version' => '1.1',
 
1097
  'method' => 'POST',
1098
  'path' => '/sites/%s/posts/%d/delete',
1099
  'path_labels' => array(
1100
- '$site' => '(int|string) The site ID, The site domain',
1101
  '$post_ID' => '(int) The post ID',
1102
  ),
1103
 
@@ -1210,7 +1299,7 @@ new WPCOM_JSON_API_Update_Post_Endpoint( array(
1210
  ) );
1211
 
1212
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1213
- 'description' => 'Delete a Post. Note: If the post object is of type post or page and the trash is enabled, this request will send the post to the trash. A second request will permanently delete the post.',
1214
  'group' => 'posts',
1215
  'stat' => 'posts:1:delete',
1216
  'min_version' => '1.1',
@@ -1218,7 +1307,7 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1218
  'method' => 'POST',
1219
  'path' => '/sites/%s/posts/%d/delete',
1220
  'path_labels' => array(
1221
- '$site' => '(int|string) The site ID, The site domain',
1222
  '$post_ID' => '(int) The post ID',
1223
  ),
1224
 
@@ -1330,14 +1419,16 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1330
  ) );
1331
 
1332
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
1333
- 'description' => 'Restore a Post or Page from trash to its previous status.',
1334
  'group' => 'posts',
1335
  'stat' => 'posts:1:restore',
1336
 
1337
  'method' => 'POST',
 
 
1338
  'path' => '/sites/%s/posts/%d/restore',
1339
  'path_labels' => array(
1340
- '$site' => '(int|string) The site ID, The site domain',
1341
  '$post_ID' => '(int) The post ID',
1342
  ),
1343
 
@@ -1450,7 +1541,7 @@ new WPCOM_JSON_API_Update_Post_Endpoint( array(
1450
  ) );
1451
 
1452
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1453
- 'description' => 'Restore a Post or Page from trash to its previous status.',
1454
  'group' => 'posts',
1455
  'stat' => 'posts:1:restore',
1456
  'min_version' => '1.1',
@@ -1458,7 +1549,7 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1458
  'method' => 'POST',
1459
  'path' => '/sites/%s/posts/%d/restore',
1460
  'path_labels' => array(
1461
- '$site' => '(int|string) The site ID, The site domain',
1462
  '$post_ID' => '(int) The post ID',
1463
  ),
1464
 
@@ -1569,7 +1660,7 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1569
  * Media Endpoints
1570
  */
1571
  new WPCOM_JSON_API_List_Media_Endpoint( array(
1572
- 'description' => 'Return the media library',
1573
  'group' => 'media',
1574
  'stat' => 'media',
1575
 
@@ -1577,15 +1668,16 @@ new WPCOM_JSON_API_List_Media_Endpoint( array(
1577
  'path' => '/sites/%s/media/',
1578
  'deprecated' => true,
1579
  'new_version' => '1.1',
 
1580
  'path_labels' => array(
1581
- '$site' => '(int|string) The site ID, The site domain',
1582
  ),
1583
 
1584
  'query_parameters' => array(
1585
- 'number' => '(int=20) The number of media items to return. Limit: 100.',
1586
  'offset' => '(int=0) 0-indexed offset.',
1587
- 'parent_id' => '(int) Default is nothing. The post where the media item is attached. Passing nothing shows all media items. 0 shows unattached media items.',
1588
- 'mime_type' => "(string) Default is nothing. Filter by mime type (e.g., 'image/jpeg', 'application/pdf'",
1589
  ),
1590
 
1591
  'response_format' => array(
@@ -1593,11 +1685,11 @@ new WPCOM_JSON_API_List_Media_Endpoint( array(
1593
  'found' => '(int) The number of total results found'
1594
  ),
1595
 
1596
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.com/media/?pretty=true',
1597
  ) );
1598
 
1599
  new WPCOM_JSON_API_List_Media_v1_1_Endpoint( array(
1600
- 'description' => 'Return the media library',
1601
  'group' => 'media',
1602
  'stat' => 'media',
1603
  'min_version' => '1.1',
@@ -1605,14 +1697,28 @@ new WPCOM_JSON_API_List_Media_v1_1_Endpoint( array(
1605
  'method' => 'GET',
1606
  'path' => '/sites/%s/media/',
1607
  'path_labels' => array(
1608
- '$site' => '(int|string) The site ID, The site domain',
1609
  ),
1610
 
1611
  'query_parameters' => array(
1612
- 'number' => '(int=20) The number of media items to return. Limit: 100.',
1613
  'offset' => '(int=0) 0-indexed offset.',
1614
- 'post_ID' => '(int) Default is all media items. Searching with a post ID will show media attached to a specific post. Passing 0 shows unattached media items.',
1615
- 'mime_type' => "(string) Default is nothing. Filter by mime type (e.g., 'image/jpeg', 'application/pdf'",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1616
  ),
1617
 
1618
  'response_format' => array(
@@ -1643,6 +1749,7 @@ new WPCOM_JSON_API_List_Media_v1_1_Endpoint( array(
1643
  "title": "Screen Shot 2014-10-14 at 3.22.19 PM",
1644
  "caption": "",
1645
  "description": "",
 
1646
  "height": 602,
1647
  "width": 764,
1648
  "exif": {
@@ -1702,200 +1809,21 @@ new WPCOM_JSON_API_List_Media_v1_1_Endpoint( array(
1702
  }
1703
  }
1704
  },
1705
- {
1706
- "ID": "880150",
1707
- "URL": "https:\/\/opossumapi.files.wordpress.com\/2011\/12\/encdrtnnuk-3000x30001860.jpeg",
1708
- "guid": "http:\/\/opossumapi.files.wordpress.com\/2011\/12\/encdrtnnuk-3000x30001860.jpeg",
1709
- "date": "2014-10-14T22:08:24+00:00",
1710
- "post_ID": 1,
1711
- "file": "encdrtnnuk-3000x30001860.jpeg",
1712
- "mime_type": "image\/jpeg",
1713
- "extension": "jpeg",
1714
- "title": "encdrtnnuk-3000x30001860",
1715
- "caption": "",
1716
- "description": "",
1717
- "height": 1536,
1718
- "width": 2048,
1719
- "exif": {
1720
- "aperture": 0,
1721
- "credit": "",
1722
- "camera": "",
1723
- "caption": "",
1724
- "created_timestamp": 0,
1725
- "copyright": "",
1726
- "focal_length": 0,
1727
- "iso": 0,
1728
- "shutter_speed": 0,
1729
- "title": "",
1730
- "orientation": 0
1731
- },
1732
- "meta": {
1733
- "links": {
1734
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880150",
1735
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880150\/help",
1736
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
1737
- "parent": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1"
1738
- }
1739
- }
1740
- },
1741
- {
1742
- "ID": "880152",
1743
- "URL": "https:\/\/opossumapi.files.wordpress.com\/2014\/10\/wordpress-logo-hoz-rgb1576.png",
1744
- "guid": "http:\/\/opossumapi.files.wordpress.com\/2014\/10\/wordpress-logo-hoz-rgb1576.png",
1745
- "date": "2014-10-14T22:07:49+00:00",
1746
- "post_ID": 880142,
1747
- "file": "wordpress-logo-hoz-rgb1576.png",
1748
- "mime_type": "image\/png",
1749
- "extension": "png",
1750
- "title": "wordpress-logo-hoz-rgb",
1751
- "caption": "",
1752
- "description": "",
1753
- "height": 113,
1754
- "width": 498,
1755
- "exif": {
1756
- "aperture": 0,
1757
- "credit": "",
1758
- "camera": "",
1759
- "caption": "",
1760
- "created_timestamp": 0,
1761
- "copyright": "",
1762
- "focal_length": 0,
1763
- "iso": 0,
1764
- "shutter_speed": 0,
1765
- "title": "",
1766
- "orientation": 0
1767
- },
1768
- "meta": {
1769
- "links": {
1770
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880152",
1771
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880152\/help",
1772
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
1773
- "parent": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/880142"
1774
- }
1775
- }
1776
- },
1777
- {
1778
- "ID": "880143",
1779
- "URL": "https:\/\/opossumapi.files.wordpress.com\/2014\/10\/wordpress-logo-notext-rgb1586.png",
1780
- "guid": "http:\/\/opossumapi.files.wordpress.com\/2014\/10\/wordpress-logo-notext-rgb1586.png",
1781
- "date": "2014-10-14T22:06:16+00:00",
1782
- "post_ID": 880142,
1783
- "file": "wordpress-logo-notext-rgb1586.png",
1784
- "mime_type": "image\/png",
1785
- "extension": "png",
1786
- "title": "wordpress-logo-notext-rgb",
1787
- "caption": "",
1788
- "description": "",
1789
- "height": 500,
1790
- "width": 500,
1791
- "exif": {
1792
- "aperture": 0,
1793
- "credit": "",
1794
- "camera": "",
1795
- "caption": "",
1796
- "created_timestamp": 0,
1797
- "copyright": "",
1798
- "focal_length": 0,
1799
- "iso": 0,
1800
- "shutter_speed": 0,
1801
- "title": "",
1802
- "orientation": 0
1803
- },
1804
- "meta": {
1805
- "links": {
1806
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880143",
1807
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880143\/help",
1808
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
1809
- "parent": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/880142"
1810
- }
1811
- }
1812
- },
1813
- {
1814
- "ID": "880135",
1815
- "URL": "https:\/\/opossumapi.files.wordpress.com\/2014\/10\/encdrtnnuk-3000x30001527.jpeg",
1816
- "guid": "http:\/\/opossumapi.files.wordpress.com\/2014\/10\/encdrtnnuk-3000x30001527.jpeg",
1817
- "date": "2014-10-14T22:05:48+00:00",
1818
- "post_ID": 880134,
1819
- "file": "encdrtnnuk-3000x30001527.jpeg",
1820
- "mime_type": "image\/jpeg",
1821
- "extension": "jpeg",
1822
- "title": "encdrtnnuk-3000x30001527",
1823
- "caption": "",
1824
- "description": "",
1825
- "height": 1536,
1826
- "width": 2048,
1827
- "exif": {
1828
- "aperture": 0,
1829
- "credit": "",
1830
- "camera": "",
1831
- "caption": "",
1832
- "created_timestamp": 0,
1833
- "copyright": "",
1834
- "focal_length": 0,
1835
- "iso": 0,
1836
- "shutter_speed": 0,
1837
- "title": "",
1838
- "orientation": 0
1839
- },
1840
- "meta": {
1841
- "links": {
1842
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880135",
1843
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880135\/help",
1844
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
1845
- "parent": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/880134"
1846
- }
1847
- }
1848
- },
1849
- {
1850
- "ID": "880023",
1851
- "URL": "https:\/\/opossumapi.files.wordpress.com\/2014\/10\/encdrtnnuk-3000x30001526.jpeg",
1852
- "guid": "http:\/\/opossumapi.files.wordpress.com\/2014\/10\/encdrtnnuk-3000x30001526.jpeg",
1853
- "date": "2014-10-14T21:25:22+00:00",
1854
- "post_ID": 880022,
1855
- "file": "encdrtnnuk-3000x30001526.jpeg",
1856
- "mime_type": "image\/jpeg",
1857
- "extension": "jpeg",
1858
- "title": "encdrtnnuk-3000x30001526",
1859
- "caption": "",
1860
- "description": "",
1861
- "height": 1536,
1862
- "width": 2048,
1863
- "exif": {
1864
- "aperture": 0,
1865
- "credit": "",
1866
- "camera": "",
1867
- "caption": "",
1868
- "created_timestamp": 0,
1869
- "copyright": "",
1870
- "focal_length": 0,
1871
- "iso": 0,
1872
- "shutter_speed": 0,
1873
- "title": "",
1874
- "orientation": 0
1875
- },
1876
- "meta": {
1877
- "links": {
1878
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880023",
1879
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880023\/help",
1880
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
1881
- "parent": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/880022"
1882
- }
1883
- }
1884
- }
1885
  ]
1886
  }',
1887
  ) );
1888
 
1889
  new WPCOM_JSON_API_Get_Media_Endpoint( array(
1890
- 'description' => 'Return a single media item (by ID)',
1891
  'group' => 'media',
1892
  'stat' => 'media:1',
1893
  'method' => 'GET',
1894
  'path' => '/sites/%s/media/%d',
1895
  'deprecated' => true,
1896
  'new_version' => '1.1',
 
1897
  'path_labels' => array(
1898
- '$site' => '(int|string) The site ID, The site domain',
1899
  '$media_ID' => '(int) The ID of the media item',
1900
  ),
1901
  'response_format' => array(
@@ -1903,17 +1831,17 @@ new WPCOM_JSON_API_Get_Media_Endpoint( array(
1903
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
1904
  'parent' => '(int) ID of the post this media is attached to',
1905
  'link' => '(string) URL to the file',
1906
- 'title' => '(string) File name',
1907
- 'caption' => '(string) User provided caption of the file',
1908
  'description' => '(string) Description of the file',
1909
- 'metadata' => '(array) Misc array of information about the file, such as exif data or sizes',
1910
  ),
1911
 
1912
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.com/media/36',
1913
  ) );
1914
 
1915
  new WPCOM_JSON_API_Get_Media_v1_1_Endpoint( array(
1916
- 'description' => 'Return a single media item (by ID)',
1917
  'group' => 'media',
1918
  'stat' => 'media:1',
1919
  'min_version' => '1.1',
@@ -1921,7 +1849,7 @@ new WPCOM_JSON_API_Get_Media_v1_1_Endpoint( array(
1921
  'method' => 'GET',
1922
  'path' => '/sites/%s/media/%d',
1923
  'path_labels' => array(
1924
- '$site' => '(int|string) The site ID, The site domain',
1925
  '$media_ID' => '(int) The ID of the media item',
1926
  ),
1927
  'response_format' => array(
@@ -1929,18 +1857,19 @@ new WPCOM_JSON_API_Get_Media_v1_1_Endpoint( array(
1929
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
1930
  'post_ID' => '(int) ID of the post this media is attached to',
1931
  'URL' => '(string) URL to the file',
1932
- 'guid' => '(string) Unique Identifier',
1933
- 'file' => '(string) File name',
1934
  'extension' => '(string) File extension',
1935
- 'mime_type' => '(string) File mime type',
1936
- 'title' => '(string) File name',
1937
- 'caption' => '(string) User provided caption of the file',
1938
  'description' => '(string) Description of the file',
1939
- 'height' => '(int) (Image & Video Only) Height of the media item',
1940
- 'width' => '(int) (Image & Video Only) Width of the media item',
1941
- 'exif' => '(array) (Image & Audio Only) Exif (meta) information about the media item',
1942
- 'videopress_guid' => '(string) (Video Only) VideoPress GUID of the video when uploaded on a blog with VideoPress',
1943
- 'videopress_processing_done' => '(bool) (Video Only) If the video is Uuploaded on a blog with VideoPress, this will return the status of processing on the Video'
 
1944
  ),
1945
 
1946
  'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/opossumapi.wordpress.com/media/880165',
@@ -1963,6 +1892,7 @@ new WPCOM_JSON_API_Get_Media_v1_1_Endpoint( array(
1963
  "title": "Screen Shot 2014-10-14 at 3.22.19 PM",
1964
  "caption": "",
1965
  "description": "",
 
1966
  "height": 602,
1967
  "width": 764,
1968
  "exif": {
@@ -1990,19 +1920,20 @@ new WPCOM_JSON_API_Get_Media_v1_1_Endpoint( array(
1990
  ) );
1991
 
1992
  new WPCOM_JSON_API_Upload_Media_Endpoint( array(
1993
- 'description' => 'Upload a new piece of media',
1994
  'group' => 'media',
1995
  'stat' => 'media:new',
1996
  'method' => 'POST',
1997
  'path' => '/sites/%s/media/new',
1998
  'deprecated' => true,
1999
  'new_version' => '1.1',
 
2000
  'path_labels' => array(
2001
- '$site' => '(int|string) The site ID, The site domain',
2002
  ),
2003
 
2004
  'request_format' => array(
2005
- 'media' => "(media) An array of media to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Accepts images (image/gif, image/jpeg, image/png) only at this time.<br /><br /><strong>Example</strong>:<br />" .
2006
  "<code>curl \<br />--form 'media[]=@/path/to/file.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/media/new'</code>",
2007
  'media_urls' => "(array) An array of URLs to upload to the post."
2008
  ),
@@ -2016,7 +1947,7 @@ new WPCOM_JSON_API_Upload_Media_Endpoint( array(
2016
  ) );
2017
 
2018
  new WPCOM_JSON_API_Upload_Media_v1_1_Endpoint( array(
2019
- 'description' => 'Upload a new piece of media',
2020
  'group' => 'media',
2021
  'stat' => 'media:new',
2022
  'min_version' => '1.1',
@@ -2024,25 +1955,76 @@ new WPCOM_JSON_API_Upload_Media_v1_1_Endpoint( array(
2024
  'method' => 'POST',
2025
  'path' => '/sites/%s/media/new',
2026
  'path_labels' => array(
2027
- '$site' => '(int|string) The site ID, The site domain',
2028
  ),
2029
 
2030
  'request_format' => array(
2031
- 'media' => "(media) An array of media to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See <code>allowed_file_types</code> in the options response of the site endpoint.<br /><br /><strong>Example</strong>:<br />" .
2032
  "<code>curl \<br />--form 'media[]=@/path/to/file.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/media/new'</code>",
2033
  'media_urls' => "(array) An array of URLs to upload to the post. Errors produced by media uploads, if any, will be in `media_errors` in the response.",
2034
- 'attrs' => "(array) An array of attributes (`title`, `description`, `caption` and `parent_id`) are supported to assign to the media uploaded via the `media` or `media_urls` properties. You must use a numeric index for the keys of `media_attrs` which follows the same sequence as `media` and `media_urls`. <br /><br /><strong>Example</strong>:<br />" .
2035
- "<code>curl \<br />--form 'media[]=@/path/to/file1.jpg' \<br />--form 'media_urls[]=http://exapmple.com/file2.jpg' \<br /> \<br />--form 'media_attrs[0][caption]=This will be the caption for file1.jpg' \<br />--form 'media_attrs[1][title]=This will be the title for file2.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/posts/new'</code>",
2036
  ),
2037
 
2038
  'response_format' => array(
2039
  'media' => '(array) Array of uploaded media objects',
2040
  'errors' => '(array) Array of error messages of uploading media failures'
2041
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2042
  ) );
2043
 
2044
  new WPCOM_JSON_API_Update_Media_Endpoint( array(
2045
- 'description' => 'Edit basic information about a media item',
2046
  'group' => 'media',
2047
  'stat' => 'media:1:POST',
2048
  'method' => 'POST',
@@ -2050,7 +2032,7 @@ new WPCOM_JSON_API_Update_Media_Endpoint( array(
2050
  'deprecated' => true,
2051
  'new_version' => '1.1',
2052
  'path_labels' => array(
2053
- '$site' => '(int|string) The site ID, The site domain',
2054
  '$media_ID' => '(int) The ID of the media item',
2055
  ),
2056
 
@@ -2068,12 +2050,12 @@ new WPCOM_JSON_API_Update_Media_Endpoint( array(
2068
  'title' => '(string) File name',
2069
  'caption' => '(string) User provided caption of the file',
2070
  'description' => '(string) Description of the file',
2071
- 'metadata' => '(array) Misc array of information about the file, such as exif data or sizes',
2072
  )
2073
  ) );
2074
 
2075
  new WPCOM_JSON_API_Update_Media_v1_1_Endpoint( array(
2076
- 'description' => 'Edit basic information about a media item',
2077
  'group' => 'media',
2078
  'stat' => 'media:1:POST',
2079
  'min_version' => '1.1',
@@ -2081,15 +2063,18 @@ new WPCOM_JSON_API_Update_Media_v1_1_Endpoint( array(
2081
  'method' => 'POST',
2082
  'path' => '/sites/%s/media/%d',
2083
  'path_labels' => array(
2084
- '$site' => '(int|string) The site ID, The site domain',
2085
  '$media_ID' => '(int) The ID of the media item',
2086
  ),
2087
 
2088
  'request_format' => array(
2089
- 'post_ID' => '(int) ID of the post this media is attached to',
2090
  'title' => '(string) The file name.',
2091
  'caption' => '(string) File caption.',
2092
  'description' => '(HTML) Description of the file.',
 
 
 
2093
  ),
2094
 
2095
  'response_format' => array(
@@ -2097,18 +2082,19 @@ new WPCOM_JSON_API_Update_Media_v1_1_Endpoint( array(
2097
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
2098
  'post_ID' => '(int) ID of the post this media is attached to',
2099
  'URL' => '(string) URL to the file',
2100
- 'guid' => '(string) Unique Identifier',
2101
  'file' => '(string) File name',
2102
  'extension' => '(string) File extension',
2103
  'mime_type' => '(string) File mime type',
2104
  'title' => '(string) File name',
2105
  'caption' => '(string) User provided caption of the file',
2106
  'description' => '(string) Description of the file',
2107
- 'height' => '(int) (Image & Video Only) Height of the media item',
2108
- 'width' => '(int) (Image & Video Only) Width of the media item',
2109
- 'exif' => '(array) (Image & Audio Only) Exif (meta) information about the media item',
2110
- 'videopress_guid' => '(string) (Video Only) VideoPress GUID of the video when uploaded on a blog with VideoPress',
2111
- 'videopress_processing_done' => '(bool) (Video Only) If the video is Uuploaded on a blog with VideoPress, this will return the status of processing on the Video'
 
2112
  ),
2113
 
2114
  'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/opossumapi.wordpress.com/media/880165',
@@ -2134,6 +2120,7 @@ new WPCOM_JSON_API_Update_Media_v1_1_Endpoint( array(
2134
  "title": "Updated Title",
2135
  "caption": "",
2136
  "description": "",
 
2137
  "height": 602,
2138
  "width": 764,
2139
  "exif": {
@@ -2162,15 +2149,16 @@ new WPCOM_JSON_API_Update_Media_v1_1_Endpoint( array(
2162
 
2163
 
2164
  new WPCOM_JSON_API_Delete_Media_Endpoint( array(
2165
- 'description' => 'Delete a piece of media',
2166
  'group' => 'media',
2167
  'stat' => 'media:1:delete',
2168
  'method' => 'POST',
2169
  'path' => '/sites/%s/media/%d/delete',
2170
  'deprecated' => true,
2171
  'new_version' => '1.1',
 
2172
  'path_labels' => array(
2173
- '$site' => '(int|string) The site ID, The site domain',
2174
  '$media_ID' => '(int) The media ID',
2175
  ),
2176
 
@@ -2188,7 +2176,7 @@ new WPCOM_JSON_API_Delete_Media_Endpoint( array(
2188
  ) );
2189
 
2190
  new WPCOM_JSON_API_Delete_Media_v1_1_Endpoint( array(
2191
- 'description' => 'Delete a piece of media. Media is deleted and not trashed.',
2192
  'group' => 'media',
2193
  'stat' => 'media:1:delete',
2194
  'min_version' => '1.1',
@@ -2196,7 +2184,7 @@ new WPCOM_JSON_API_Delete_Media_v1_1_Endpoint( array(
2196
  'method' => 'POST',
2197
  'path' => '/sites/%s/media/%d/delete',
2198
  'path_labels' => array(
2199
- '$site' => '(int|string) The site ID, The site domain',
2200
  '$media_ID' => '(int) The media ID',
2201
  ),
2202
 
@@ -2206,18 +2194,19 @@ new WPCOM_JSON_API_Delete_Media_v1_1_Endpoint( array(
2206
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
2207
  'post_ID' => '(int) ID of the post this media is attached to',
2208
  'URL' => '(string) URL to the file',
2209
- 'guid' => '(string) Unique Identifier',
2210
  'file' => '(string) File name',
2211
  'extension' => '(string) File extension',
2212
  'mime_type' => '(string) File mime type',
2213
  'title' => '(string) File name',
2214
- 'caption' => '(string) User provided caption of the file',
2215
  'description' => '(string) Description of the file',
2216
- 'height' => '(int) (Image & Video Only) Height of the media item',
2217
- 'width' => '(int) (Image & Video Only) Width of the media item',
2218
- 'exif' => '(array) (Image & Audio Only) Exif (meta) information about the media item',
2219
- 'videopress_guid' => '(string) (Video Only) VideoPress GUID of the video when uploaded on a blog with VideoPress',
2220
- 'videopress_processing_done' => '(bool) (Video Only) If the video is Uuploaded on a blog with VideoPress, this will return the status of processing on the Video'
 
2221
  ),
2222
 
2223
  'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/opossumapi.wordpress.com/media/880165/delete',
@@ -2241,6 +2230,7 @@ new WPCOM_JSON_API_Delete_Media_v1_1_Endpoint( array(
2241
  "title": "Screen Shot 2014-10-14 at 3.22.19 PM",
2242
  "caption": "",
2243
  "description": "",
 
2244
  "height": 602,
2245
  "width": 764,
2246
  "exif": {
@@ -2271,58 +2261,58 @@ new WPCOM_JSON_API_Delete_Media_v1_1_Endpoint( array(
2271
  * Comment endpoints
2272
  */
2273
  new WPCOM_JSON_API_List_Comments_Endpoint( array(
2274
- 'description' => 'Return recent Comments',
2275
  'group' => 'comments',
2276
  'stat' => 'comments',
2277
 
2278
  'method' => 'GET',
2279
  'path' => '/sites/%s/comments/',
2280
  'path_labels' => array(
2281
- '$site' => '(int|string) The site ID, The site domain',
2282
  ),
2283
 
2284
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/comments/?number=5&pretty=1'
2285
  ) );
2286
 
2287
  new WPCOM_JSON_API_List_Comments_Endpoint( array(
2288
- 'description' => 'Return recent Comments for a Post',
2289
  'group' => 'comments',
2290
  'stat' => 'posts:1:replies',
2291
 
2292
  'method' => 'GET',
2293
  'path' => '/sites/%s/posts/%d/replies/',
2294
  'path_labels' => array(
2295
- '$site' => '(int|string) The site ID, The site domain',
2296
  '$post_ID' => '(int) The post ID',
2297
  ),
2298
 
2299
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/posts/7/replies/?number=5&pretty=1'
2300
  ) );
2301
 
2302
  new WPCOM_JSON_API_Get_Comment_Endpoint( array(
2303
- 'description' => 'Return a single Comment',
2304
  'group' => 'comments',
2305
  'stat' => 'comments:1',
2306
 
2307
  'method' => 'GET',
2308
  'path' => '/sites/%s/comments/%d',
2309
  'path_labels' => array(
2310
- '$site' => '(int|string) The site ID, The site domain',
2311
  '$comment_ID' => '(int) The comment ID'
2312
  ),
2313
 
2314
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/comments/11/?pretty=1'
2315
  ) );
2316
 
2317
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2318
- 'description' => 'Create a Comment on a Post',
2319
  'group' => 'comments',
2320
  'stat' => 'posts:1:replies:new',
2321
 
2322
  'method' => 'POST',
2323
  'path' => '/sites/%s/posts/%d/replies/new',
2324
  'path_labels' => array(
2325
- '$site' => '(int|string) The site ID, The site domain',
2326
  '$post_ID' => '(int) The post ID'
2327
  ),
2328
 
@@ -2386,14 +2376,14 @@ new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2386
  ) );
2387
 
2388
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2389
- 'description' => 'Create a Comment as a reply to another Comment',
2390
  'group' => 'comments',
2391
  'stat' => 'comments:1:replies:new',
2392
 
2393
  'method' => 'POST',
2394
  'path' => '/sites/%s/comments/%d/replies/new',
2395
  'path_labels' => array(
2396
- '$site' => '(int|string) The site ID, The site domain',
2397
  '$comment_ID' => '(int) The comment ID'
2398
  ),
2399
 
@@ -2456,14 +2446,14 @@ new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2456
  ) );
2457
 
2458
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2459
- 'description' => 'Edit a Comment',
2460
  'group' => 'comments',
2461
  'stat' => 'comments:1:POST',
2462
 
2463
  'method' => 'POST',
2464
  'path' => '/sites/%s/comments/%d',
2465
  'path_labels' => array(
2466
- '$site' => '(int|string) The site ID, The site domain',
2467
  '$comment_ID' => '(int) The comment ID'
2468
  ),
2469
 
@@ -2531,14 +2521,14 @@ new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2531
  ) );
2532
 
2533
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2534
- 'description' => 'Delete a Comment',
2535
  'group' => 'comments',
2536
  'stat' => 'comments:1:delete',
2537
 
2538
  'method' => 'POST',
2539
  'path' => '/sites/%s/comments/%d/delete',
2540
  'path_labels' => array(
2541
- '$site' => '(int|string) The site ID, The site domain',
2542
  '$comment_ID' => '(int) The comment ID'
2543
  ),
2544
 
@@ -2593,14 +2583,14 @@ new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2593
  * Taxonomy Management Endpoints
2594
  */
2595
  new WPCOM_JSON_API_Get_Taxonomy_Endpoint( array(
2596
- 'description' => 'Returns information on a single Category',
2597
  'group' => 'taxonomy',
2598
  'stat' => 'categories:1',
2599
 
2600
  'method' => 'GET',
2601
  'path' => '/sites/%s/categories/slug:%s',
2602
  'path_labels' => array(
2603
- '$site' => '(int|string) The site ID, The site domain',
2604
  '$category' => '(string) The category slug'
2605
  ),
2606
 
@@ -2608,18 +2598,19 @@ new WPCOM_JSON_API_Get_Taxonomy_Endpoint( array(
2608
  ) );
2609
 
2610
  new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
2611
- 'description' => "Returns a list of a site's categories",
2612
  'group' => 'taxonomy',
2613
  'stat' => 'categories',
2614
  'method' => 'GET',
2615
  'path' => '/sites/%s/categories',
2616
  'path_labels' => array(
2617
- '$site' => '(int|string) The site ID, The site domain'
2618
  ),
2619
  'query_parameters' => array(
2620
- 'number' => '(int=100) The number of categories to return. Limit: 1000.',
2621
  'offset' => '(int=0) 0-indexed offset.',
2622
- 'page' => '(int) Return the Nth 1-indexed page of categories. Takes precedence over the <code>offset</code> parameter.',
 
2623
  'order' => array(
2624
  'ASC' => 'Return categories in ascending order.',
2625
  'DESC' => 'Return categories in decending order.',
@@ -2633,22 +2624,23 @@ new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
2633
  'found' => '(int) The number of categories returned.',
2634
  'categories' => '(array) Array of category objects.',
2635
  ),
2636
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/categories?pretty=1'
2637
  ) );
2638
 
2639
  new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
2640
- 'description' => "Returns a list of a site's tags",
2641
  'group' => 'taxonomy',
2642
  'stat' => 'tags',
2643
  'method' => 'GET',
2644
  'path' => '/sites/%s/tags',
2645
  'path_labels' => array(
2646
- '$site' => '(int|string) The site ID, The site domain'
2647
  ),
2648
  'query_parameters' => array(
2649
- 'number' => '(int=100) The number of tags to return. Limit: 1000.',
2650
  'offset' => '(int=0) 0-indexed offset.',
2651
- 'page' => '(int) Return the Nth 1-indexed page of tags. Takes precedence over the <code>offset</code> parameter.',
 
2652
  'order' => array(
2653
  'ASC' => 'Return tags in ascending order.',
2654
  'DESC' => 'Return tags in decending order.',
@@ -2662,18 +2654,18 @@ new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
2662
  'found' => '(int) The number of tags returned.',
2663
  'tags' => '(array) Array of tag objects.',
2664
  ),
2665
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/tags?pretty=1'
2666
  ) );
2667
 
2668
  new WPCOM_JSON_API_Get_Taxonomy_Endpoint( array(
2669
- 'description' => 'Returns information on a single Tag',
2670
  'group' => 'taxonomy',
2671
  'stat' => 'tags:1',
2672
 
2673
  'method' => 'GET',
2674
  'path' => '/sites/%s/tags/slug:%s',
2675
  'path_labels' => array(
2676
- '$site' => '(int|string) The site ID, The site domain',
2677
  '$tag' => '(string) The tag slug'
2678
  ),
2679
 
@@ -2681,20 +2673,20 @@ new WPCOM_JSON_API_Get_Taxonomy_Endpoint( array(
2681
  ) );
2682
 
2683
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2684
- 'description' => 'Create a new Category',
2685
  'group' => 'taxonomy',
2686
  'stat' => 'categories:new',
2687
 
2688
  'method' => 'POST',
2689
  'path' => '/sites/%s/categories/new',
2690
  'path_labels' => array(
2691
- '$site' => '(int|string) The site ID, The site domain',
2692
  ),
2693
 
2694
  'request_format' => array(
2695
  'name' => '(string) Name of the category',
2696
  'description' => '(string) A description of the category',
2697
- 'parent' => '(id) ID of the parent category',
2698
  ),
2699
 
2700
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/categories/new/',
@@ -2724,14 +2716,14 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2724
  ) );
2725
 
2726
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2727
- 'description' => 'Create a new Tag',
2728
  'group' => 'taxonomy',
2729
  'stat' => 'tags:new',
2730
 
2731
  'method' => 'POST',
2732
  'path' => '/sites/%s/tags/new',
2733
  'path_labels' => array(
2734
- '$site' => '(int|string) The site ID, The site domain',
2735
  ),
2736
 
2737
  'request_format' => array(
@@ -2766,14 +2758,14 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2766
  ) );
2767
 
2768
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2769
- 'description' => 'Edit a Tag',
2770
  'group' => 'taxonomy',
2771
  'stat' => 'tags:1:POST',
2772
 
2773
  'method' => 'POST',
2774
  'path' => '/sites/%s/tags/slug:%s',
2775
  'path_labels' => array(
2776
- '$site' => '(int|string) The site ID, The site domain',
2777
  '$tag' => '(string) The tag slug',
2778
  ),
2779
 
@@ -2809,21 +2801,21 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2809
  ) );
2810
 
2811
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2812
- 'description' => 'Edit a Category',
2813
  'group' => 'taxonomy',
2814
  'stat' => 'categories:1:POST',
2815
 
2816
  'method' => 'POST',
2817
  'path' => '/sites/%s/categories/slug:%s',
2818
  'path_labels' => array(
2819
- '$site' => '(int|string) The site ID, The site domain',
2820
  '$category' => '(string) The category slug',
2821
  ),
2822
 
2823
  'request_format' => array(
2824
  'name' => '(string) Name of the category',
2825
  'description' => '(string) A description of the category',
2826
- 'parent' => '(id) ID of the parent category',
2827
  ),
2828
 
2829
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/categories/slug:testing-category',
@@ -2854,14 +2846,14 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2854
  ) );
2855
 
2856
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2857
- 'description' => 'Delete a Category',
2858
  'group' => 'taxonomy',
2859
  'stat' => 'categories:1:delete',
2860
 
2861
  'method' => 'POST',
2862
  'path' => '/sites/%s/categories/slug:%s/delete',
2863
  'path_labels' => array(
2864
- '$site' => '(int|string) The site ID, The site domain',
2865
  '$category' => '(string) The category slug',
2866
  ),
2867
  'response_format' => array(
@@ -2882,14 +2874,14 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2882
  ) );
2883
 
2884
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2885
- 'description' => 'Delete a Tag',
2886
  'group' => 'taxonomy',
2887
  'stat' => 'tags:1:delete',
2888
 
2889
  'method' => 'POST',
2890
  'path' => '/sites/%s/tags/slug:%s/delete',
2891
  'path_labels' => array(
2892
- '$site' => '(int|string) The site ID, The site domain',
2893
  '$tag' => '(string) The tag slug',
2894
  ),
2895
  'response_format' => array(
@@ -2910,14 +2902,14 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2910
  ) );
2911
 
2912
  new WPCOM_JSON_API_List_Users_Endpoint( array(
2913
- 'description' => 'List the Users of a blog',
2914
  'group' => 'users',
2915
  'stat' => 'users:list',
2916
 
2917
  'method' => 'GET',
2918
  'path' => '/sites/%s/users',
2919
  'path_labels' => array(
2920
- '$site' => '(int|string) The site ID, The site domain',
2921
  ),
2922
 
2923
  'query_parameters' => array(
@@ -2969,14 +2961,14 @@ new WPCOM_JSON_API_List_Users_Endpoint( array(
2969
  ) );
2970
 
2971
  new WPCOM_JSON_API_Site_Settings_Endpoint( array(
2972
- 'description' => 'Detailed settings information about a site ID/domain',
2973
  'group' => '__do_not_document',
2974
  'stat' => 'sites:X',
2975
 
2976
  'method' => 'GET',
2977
  'path' => '/sites/%s/settings',
2978
  'path_labels' => array(
2979
- '$site' => '(int|string) The site ID, The site domain',
2980
  ),
2981
 
2982
  'query_parameters' => array(
@@ -2989,59 +2981,62 @@ new WPCOM_JSON_API_Site_Settings_Endpoint( array(
2989
  ) );
2990
 
2991
  new WPCOM_JSON_API_Site_Settings_Endpoint( array(
2992
- 'description' => 'Update settings information for a site ID/domain',
2993
  'group' => '__do_not_document',
2994
  'stat' => 'sites:X',
2995
 
2996
  'method' => 'POST',
2997
  'path' => '/sites/%s/settings',
2998
  'path_labels' => array(
2999
- '$site' => '(int|string) The site ID, The site domain',
3000
  ),
3001
 
3002
  'request_format' => array(
3003
- 'blogname' => '(string) blog name',
3004
- 'blogdescription' => '(string) blog description',
3005
- 'default_pingback_flag' => '(bool) notify blogs linked from article',
3006
- 'default_ping_status' => '(bool) allow link notifications from other blogs',
3007
- 'default_comment_status' => '(bool) allow comments on new articles',
3008
- 'blog_public' => '(string) site visibility; -1: private, 0: discourage search engines, 1: allow search engines',
3009
  'jetpack_sync_non_public_post_stati' => '(bool) allow sync of post and pages with non-public posts stati',
3010
- 'jetpack_relatedposts_enabled' => '(bool) enable related posts',
3011
- 'jetpack_relatedposts_show_headline' => '(bool) show headline in related posts',
3012
- 'jetpack_relatedposts_show_thumbnails' => '(bool) show thumbnails in related posts',
3013
- 'infinite_scroll' => '(bool) support infinite scroll of posts',
3014
- 'default_category' => '(int) default post category',
3015
- 'default_post_format' => '(string) default post format',
3016
- 'require_name_email' => '(bool) comment author must fill out name and email',
3017
- 'comment_registration' => '(bool) user must be registered and logged in to comment',
3018
- 'close_comments_for_old_posts' => '(bool) automatically close comments on old posts',
3019
- 'close_comments_days_old' => '(int) age at which to close comments',
3020
- 'thread_comments' => '(bool) enable threaded comments',
3021
- 'thread_comments_depth' => '(int) depth to thread comments',
3022
- 'page_comments' => '(bool) break comments into pages',
3023
- 'comments_per_page' => '(int) number of comments to display per page',
3024
- 'default_comments_page' => '(string) newest|oldest which page of comments to display first',
3025
- 'comment_order' => '(string) asc|desc order to display comments within page',
3026
- 'comments_notify' => '(bool) email me when someone comments',
3027
- 'moderation_notify' => '(bool) email me when a comment is helf for moderation',
3028
- 'social_notifications_like' => '(bool) email me when someone likes my post',
3029
- 'social_notifications_reblog' => '(bool) email me when someone reblogs my post',
3030
- 'social_notifications_subscribe' => '(bool) email me when someone follows my blog',
3031
- 'comment_moderation' => '(bool) comments must be manually approved',
3032
- 'comment_whitelist' => '(bool) comment author must have a previously approved comment',
3033
- 'comment_max_links' => '(int) hold comment if it contains X or more links',
3034
- 'moderation_keys' => '(string) words or phrases that trigger comment moderation, one per line',
3035
- 'blacklist_keys' => '(string) words or phrases that mark comment spam, one per line',
 
3036
  'lang_id' => '(int) ID for language blog is written in',
3037
  'wga' => '(array) Google Analytics Settings',
3038
- 'disabled_likes' => '(bool) Likes are not globally enabled and are turned on per post',
3039
- 'disabled_reblogs' => '(bool) Reblogs are not shown on posts',
3040
- 'jetpack_comment_likes_enabled' => '(bool) Comment likes are enabled for all comments',
3041
  'sharing_button_style' => '(string) Style to use for sharing buttons (icon-text, icon, text, or official)',
3042
  'sharing_label' => '(string) Label to use for sharing buttons, e.g. "Share this:"',
3043
  'sharing_show' => '(string|array:string) Post type or array of types where sharing buttons are to be displayed',
3044
  'sharing_open_links' => '(string) Link target for sharing buttons (same or new)',
 
 
3045
  ),
3046
 
3047
  'response_format' => array(
@@ -3056,13 +3051,13 @@ new WPCOM_JSON_API_Site_Settings_Endpoint( array(
3056
  */
3057
 
3058
  new WPCOM_JSON_API_Get_Connections_Endpoint( array(
3059
- 'description' => 'A list of a site\'s current Publicize connections to third-party services for the current user (personal or shared).',
3060
  'group' => 'Publicize',
3061
  'stat' => 'connections',
3062
  'method' => 'GET',
3063
  'path' => '/sites/%s/connections/',
3064
  'path_labels' => array(
3065
- '$site' => '(int|string) The site ID, The site domain',
3066
  ),
3067
  'query_parameters' => array(
3068
  'service' => "(string) Get Publicize connections for a specific service only. Default is 'all' but you can enter 'facebook', 'twitter', etc."
@@ -3073,13 +3068,13 @@ new WPCOM_JSON_API_Get_Connections_Endpoint( array(
3073
  ) );
3074
 
3075
  new WPCOM_JSON_API_Get_Connection_Endpoint( array(
3076
- 'description' => 'Returns information about a specific Publicize connection.',
3077
  'group' => 'Publicize',
3078
  'stat' => 'connections:1',
3079
  'method' => 'GET',
3080
  'path' => '/sites/%s/connections/%d',
3081
  'path_labels' => array(
3082
- '$site' => '(int|string) The site ID, The site domain',
3083
  '$connection_id' => '(int) The ID of the Publicize connection',
3084
  ),
3085
  'response_format' => array(
@@ -3088,7 +3083,7 @@ new WPCOM_JSON_API_Get_Connection_Endpoint( array(
3088
  'conn_ID' => '(int) Identifier for the Publicize connection',
3089
  'site_ID' => '(int) Identifier for the Site',
3090
  'user_ID' => '(int) Identifier for the Publicize connection user, or 0 if the connection is shared',
3091
- 'shared' => '(bool) Whether this connection is specific to the current user, or a shared one for the site.',
3092
  'service' => '(string) An identifier for the type of service (facebook, linkedin, path, tumblr, etc)',
3093
  'label' => '(string) Formatted nicename for the service.',
3094
  'issued' => '(ISO 8601 datetime) When the conncetion was created',
@@ -3099,18 +3094,18 @@ new WPCOM_JSON_API_Get_Connection_Endpoint( array(
3099
  'URL' => '(string|null) URL to the user\'s profile. NULL if there is no URL to link to.',
3100
  'status' => '(string) The current status of the connection. "ok" for connections with no problems, and "broken" for connections that need fixed.',
3101
  'refresh_url' => '(string) The URL to refresh a token if it is broken.',
3102
- 'meta' => '(object) Extra and optional meta data for the current Publicize connection',
3103
  )
3104
  ) );
3105
 
3106
  new WPCOM_JSON_API_Delete_Connection_Endpoint( array(
3107
- 'description' => 'Delete a publicize connection',
3108
  'group' => 'Publicize',
3109
  'stat' => 'connections:1:delete',
3110
  'method' => 'POST',
3111
  'path' => '/sites/%s/connections/%d/delete',
3112
  'path_labels' => array(
3113
- '$site' => '(int|string) The site ID, The site domain',
3114
  '$connection_id' => 'The ID of the connection',
3115
  ),
3116
  'response_format' => array(
@@ -3124,13 +3119,13 @@ new WPCOM_JSON_API_Delete_Connection_Endpoint( array(
3124
  */
3125
 
3126
  new WPCOM_JSON_API_Get_Sharing_Buttons_Endpoint( array(
3127
- 'description' => 'A list of a site\'s sharing buttons',
3128
  'group' => '__do_not_document',
3129
  'stat' => 'sharing-buttons',
3130
  'method' => 'GET',
3131
  'path' => '/sites/%s/sharing-buttons/',
3132
  'path_labels' => array(
3133
- '$site' => '(int|string) The site ID, The site domain',
3134
  ),
3135
  'query_parameters' => array(
3136
  'enabled_only' => '(bool) If true, only enabled sharing buttons are included in the response',
@@ -3161,13 +3156,13 @@ new WPCOM_JSON_API_Get_Sharing_Buttons_Endpoint( array(
3161
  ) );
3162
 
3163
  new WPCOM_JSON_API_Get_Sharing_Button_Endpoint( array(
3164
- 'description' => 'Returns information about a single sharing button',
3165
  'group' => '__do_not_document',
3166
  'stat' => 'sharing-buttons:1',
3167
  'method' => 'GET',
3168
  'path' => '/sites/%s/sharing-buttons/%s',
3169
  'path_labels' => array(
3170
- '$site' => '(int|string) The site ID, The site domain',
3171
  '$button_id' => '(string) The button ID',
3172
  ),
3173
  'response_format' => array(
@@ -3177,8 +3172,8 @@ new WPCOM_JSON_API_Get_Sharing_Button_Endpoint( array(
3177
  'URL' => '(string) The URL pattern defined for a custom sharing button',
3178
  'icon' => '(string) URL to the 16x16 icon defined for a custom sharing button',
3179
  'genericon' => '(string) Icon character in Genericons icon set',
3180
- 'custom' => '(bool) Whether the button is a user-created custom sharing button',
3181
- 'enabled' => '(bool) Whether the button is currently enabled for the site',
3182
  'visibility' => '(string) If enabled, the current visibility of the sharing button, either "visible" or "hidden"',
3183
  ),
3184
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/sharing-buttons/facebook',
@@ -3196,31 +3191,77 @@ new WPCOM_JSON_API_Get_Sharing_Button_Endpoint( array(
3196
  }'
3197
  ) );
3198
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3199
  new WPCOM_JSON_API_Update_Sharing_Button_Endpoint( array(
3200
- 'description' => 'Create a new custom sharing button',
3201
  'group' => '__do_not_document',
3202
  'stat' => 'sharing-buttons:new',
3203
  'method' => 'POST',
3204
  'path' => '/sites/%s/sharing-buttons/new',
3205
  'path_labels' => array(
3206
- '$site' => '(int|string) The site ID, The site domain',
3207
  ),
3208
  'request_format' => array(
3209
  'name' => '(string) The name for your custom sharing button, used as a label on the button itself',
3210
  'URL' => '(string) The URL to use for share links, including optional placeholders (%post_title%, %post_url%, %post_full_url%, %post_excerpt%, %post_tags%)',
3211
  'icon' => '(string) The full URL to a 16x16 icon to display on the sharing button',
3212
- 'enabled' => '(bool) Whether the button is currently enabled for the site',
3213
  'visibility' => '(string) If enabled, the visibility of the sharing button, either "visible" (default) or "hidden"',
3214
  ),
3215
  'response_format' => array(
3216
- 'ID' => '(int) Sharing button ID',
3217
  'name' => '(string) Sharing button name, used as a label on the button itself',
3218
  'shortname' => '(string) A generated short name for the sharing button',
3219
  'URL' => '(string) The URL pattern defined for a custom sharing button',
3220
  'icon' => '(string) URL to the 16x16 icon defined for a custom sharing button',
3221
  'genericon' => '(string) Icon character in Genericons icon set',
3222
- 'custom' => '(bool) Whether the button is a user-created custom sharing button',
3223
- 'enabled' => '(bool) Whether the button is currently enabled for the site',
3224
  'visibility' => '(string) If enabled, the current visibility of the sharing button, either "visible" or "hidden"',
3225
  ),
3226
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/sharing-buttons/new/',
@@ -3249,31 +3290,31 @@ new WPCOM_JSON_API_Update_Sharing_Button_Endpoint( array(
3249
  ) );
3250
 
3251
  new WPCOM_JSON_API_Update_Sharing_Button_Endpoint( array(
3252
- 'description' => 'Edit a sharing button',
3253
  'group' => '__do_not_document',
3254
  'stat' => 'sharing-buttons:1:POST',
3255
  'method' => 'POST',
3256
  'path' => '/sites/%s/sharing-buttons/%s',
3257
  'path_labels' => array(
3258
- '$site' => '(int|string) The site ID, The site domain',
3259
  '$button_id' => '(string) The button ID',
3260
  ),
3261
  'request_format' => array(
3262
  'name' => '(string) Only if a custom sharing button, a new name used as a label on the button itself',
3263
  'URL' => '(string) Only if a custom sharing button, the URL to use for share links, including optional placeholders (%post_title%, %post_url%, %post_full_url%, %post_excerpt%, %post_tags%)',
3264
  'icon' => '(string) Only if a custom sharing button, the full URL to a 16x16 icon to display on the sharing button',
3265
- 'enabled' => '(bool) Whether the button is currently enabled for the site',
3266
  'visibility' => '(string) If enabled, the visibility of the sharing button, either "visible" (default) or "hidden"',
3267
  ),
3268
  'response_format' => array(
3269
- 'ID' => '(int) Sharing button ID',
3270
  'name' => '(string) Sharing button name, used as a label on the button itself',
3271
  'shortname' => '(string) A generated short name for the sharing button',
3272
  'URL' => '(string) The URL pattern defined for a custom sharing button',
3273
  'icon' => '(string) URL to the 16x16 icon defined for a custom sharing button',
3274
  'genericon' => '(string) Icon character in Genericons icon set',
3275
- 'custom' => '(bool) Whether the button is a user-created custom sharing button',
3276
- 'enabled' => '(bool) Whether the button is currently enabled for the site',
3277
  'visibility' => '(string) If enabled, the current visibility of the sharing button, either "visible" or "hidden"',
3278
  ),
3279
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/sharing-buttons/custom-123456789/',
@@ -3297,13 +3338,13 @@ new WPCOM_JSON_API_Update_Sharing_Button_Endpoint( array(
3297
  ) );
3298
 
3299
  new WPCOM_JSON_API_Delete_Sharing_Button_Endpoint( array(
3300
- 'description' => 'Delete a custom sharing button',
3301
  'group' => '__do_not_document',
3302
  'stat' => 'sharing-buttons:1:delete',
3303
  'method' => 'POST',
3304
  'path' => '/sites/%s/sharing-buttons/%s/delete',
3305
  'path_labels' => array(
3306
- '$site' => '(int|string) The site ID, The site domain',
3307
  '$button_id' => '(string) The button ID',
3308
  ),
3309
  'response_format' => array(
71
  */
72
 
73
  new WPCOM_JSON_API_GET_Site_Endpoint( array(
74
+ 'description' => 'Get information about a site.',
75
  'group' => 'sites',
76
  'stat' => 'sites:X',
77
  'allowed_if_flagged' => true,
78
  'method' => 'GET',
79
  'path' => '/sites/%s',
80
  'path_labels' => array(
81
+ '$site' => '(int|string) Site ID or domain',
82
  ),
83
 
84
  'query_parameters' => array(
91
  ) );
92
 
93
  new WPCOM_JSON_API_List_Post_Formats_Endpoint( array(
94
+ 'description' => 'Get a list of post formats supported by a site.',
95
  'group' => '__do_not_document',
96
  'stat' => 'sites:X:post-formats',
97
 
98
  'method' => 'GET',
99
  'path' => '/sites/%s/post-formats',
100
  'path_labels' => array(
101
+ '$site' => '(int|string) Site ID or domain',
102
  ),
103
 
104
  'query_parameters' => array(
111
  ) );
112
 
113
  new WPCOM_JSON_API_List_Post_Types_Endpoint( array (
114
+ 'description' => 'Get a list of post types available for a site.',
115
  'group' => '__do_not_document',
116
  'stat' => 'sites:X:post-types',
117
 
118
  'method' => 'GET',
119
  'path' => '/sites/%s/post-types',
120
  'path_labels' => array(
121
+ '$site' => '(int|string) Site ID or domain',
122
  ),
123
 
124
  'query_parameters' => array(
136
  */
137
 
138
  new WPCOM_JSON_API_List_Shortcodes_Endpoint( array(
139
+ 'description' => "Get a list of shortcodes available on a site. Note: The current user must have publishing access.",
140
  'group' => 'sites',
141
  'stat' => 'shortcodes',
142
  'method' => 'GET',
143
  'path' => '/sites/%s/shortcodes',
144
  'path_labels' => array(
145
+ '$site' => '(int|string) Site ID or domain',
146
  ),
147
  'response_format' => array(
148
  'shortcodes' => '(array) A list of supported shortcodes by their handle.',
149
  ),
150
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.com/shortcodes',
151
+ 'example_request_data' => array(
152
+ 'headers' => array(
153
+ 'authorization' => 'Bearer YOUR_API_TOKEN'
154
+ ),
155
+ ),
156
+ 'example_response' => '
157
+ {
158
+ "shortcodes": [
159
+ "wp_caption",
160
+ "caption",
161
+ "gallery",
162
+ "playlist",
163
+ "audio",
164
+ "video",
165
+ "flickr",
166
+ "github-buttons",
167
+ "gist",
168
+ "gravatar",
169
+ "gravatar_profile",
170
+ "polldaddy",
171
+ "simplenote",
172
+ ],
173
+ } ',
174
  ) );
175
 
176
  new WPCOM_JSON_API_Render_Shortcode_Endpoint( array(
177
+ 'description' => "Get a rendered shortcode for a site. Note: The current user must have publishing access.",
178
  'group' => 'sites',
179
  'stat' => 'shortcodes:render',
180
  'method' => 'GET',
181
  'path' => '/sites/%s/shortcodes/render',
182
  'path_labels' => array(
183
+ '$site' => '(int|string) Site ID or domain',
184
  ),
185
  'query_parameters' => array(
186
  'shortcode' => '(string) The query-string encoded shortcode string to render. Required. Only accepts one at a time.',
191
  'scripts' => '(array) An array of JavaScript files needed to render the shortcode. Returned in the format of <code>{ "script-slug" : { "src": "http://example.com/file.js", "extra" : "" } }</code> where extra contains any neccessary extra JS for initializing the source file and src contains the script to load. Omitted if no scripts are neccessary.',
192
  'styles' => '(array) An array of CSS files needed to render the shortcode. Returned in the format of <code>{ "style-slug" : { "src": "http://example.com/file.css", "media" : "all" } }</code>. Omitted if no styles are neccessary.',
193
  ),
194
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/shortcodes/render?shortcode=%5Bgallery%20ids%3D%22729%2C732%2C731%2C720%22%5D',
195
+ 'example_request_data' => array(
196
+ 'headers' => array(
197
+ 'authorization' => 'Bearer YOUR_API_TOKEN'
198
+ ),
199
+ ),
200
+ 'example_response' => '
201
+ {
202
+ "shortcode": "[[gallery ids=\"729,732,731,720\"]]",
203
+ "result": "\n\t\t<style type="text/css">\n\t\t\t#gallery-0-1 {\n\t\t\t\tmargin: auto;\n\t\t\t}\n\t\t\t#gallery-0-1 .gallery-item {\n\t\t\t\tfloat: left;\n\t\t\t\tmargin-top: 10px;\n\t\t\t\ttext-align: center;\n\t\t\t\twidth: 33%;\n\t\t\t}\n\t\t\t#gallery-0-1 img {\n\t\t\t\tborder: 2px solid #cfcfcf;\n\t\t\t}\n\t\t\t#gallery-0-1 .gallery-caption {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t\t/* see gallery_shortcode() in wp-includes/media.php */\n\t\t</style>\n\t\t<div id="gallery-0-1" class="gallery galleryid-0 gallery-columns-3 gallery-size-thumbnail"><dl class="gallery-item">\n\t\t\t<dt class="gallery-icon landscape">\n\t\t\t\t<a href="http://en.blog.wordpress.com/2007/07/10/submit-for-review/submit-for-review/"><img width=\"150\" height=\"61\" src=\"https://wpcom.files.wordpress.com/2007/07/submit-for-review.jpg?w=150\" class=\"attachment-thumbnail\" alt=\"Submit for Review\" data-attachment-id=\"731\" data-orig-file=\"https://wpcom.files.wordpress.com/2007/07/submit-for-review.jpg\" data-orig-size=\"921,372\" data-comments-opened=\"1\" data-image-meta=\"[]\" data-image-title=\"Submit for Review\" data-image-description=\"\" data-medium-file=\"https://wpcom.files.wordpress.com/2007/07/submit-for-review.jpg?w=300\" data-large-file=\"https://wpcom.files.wordpress.com/2007/07/submit-for-review.jpg?w=921\" /></a>\n\t\t\t</dt></dl>\n\t\t\t<br style="clear: both" />\n\t\t</div>\n",
204
+ "scripts": {
205
+ "spin": {
206
+ "src": "https://en.blog.wordpress.com/wp-includes/js/spin.js?ver=1.3"
207
+ },
208
+ "jquery.spin": {
209
+ "src": "https://en.blog.wordpress.com/wp-includes/js/jquery/jquery.spin.js?ver=1.3"
210
+ },
211
+ "jetpack-carousel": {
212
+ "src": "https://s1.wp.com/wp-content/mu-plugins/carousel/jetpack-carousel.js?ver=1738091679",
213
+ }
214
+ },
215
+ "styles": {
216
+ "jetpack-carousel": {
217
+ "src": "https://s1.wp.com/wp-content/mu-plugins/carousel/jetpack-carousel.css?ver=1201731771",
218
+ "media": "all"
219
+ },
220
+ "jetpack-carousel-ie8fix": {
221
+ "src": "https://s1.wp.com/wp-content/mu-plugins/carousel/jetpack-carousel-ie8fix.css?ver=1777576104",
222
+ "media": "all"
223
+ }
224
+ },
225
+ } '
226
  ) );
227
 
228
  /*
229
  * embed endpoints
230
  */
231
  new WPCOM_JSON_API_List_Embeds_Endpoint( array(
232
+ 'description' => "Get a list of embeds available on a site. Note: The current user must have publishing access.",
233
  'group' => 'sites',
234
  'stat' => 'embeds',
235
  'method' => 'GET',
236
  'path' => '/sites/%s/embeds',
237
  'path_labels' => array(
238
+ '$site' => '(int|string) Site ID or domain',
239
  ),
240
  'response_format' => array(
241
  'embeds' => '(array) A list of supported embeds by their regex pattern.',
242
  ),
243
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.com/embeds',
244
+ 'example_request_data' => array(
245
+ 'headers' => array(
246
+ 'authorization' => 'Bearer YOUR_API_TOKEN'
247
+ ),
248
+ ),
249
+ 'example_response' => '
250
+ {
251
+ "embeds": [
252
+ "#https?://gist\\.github\\.com/([a-zA-Z0-9]+)#",
253
+ "#https?://(www.)?youtube\\.com/embed/([^/]+)#i",
254
+ "/^https?:\\/\\/(?:app.simplenote.com|simp.ly)\\/publish\\/(\\w+)/i",
255
+ "#https?://(www\\.)?flickr\\.com/.*#i",
256
+ "#https?://flic\\.kr/.*#i",
257
+ "#https?://wordpress.tv/.*#i",
258
+ "#https?://(.+\\.)?polldaddy\\.com/.*#i",
259
+ "#https?://cloudup\\.com/([^/.]+)#",
260
+ ],
261
+ } '
262
  ) );
263
 
264
  new WPCOM_JSON_API_Render_Embed_Endpoint( array(
265
+ 'description' => "Get a rendered embed for a site. Note: The current user must have publishing access.",
266
  'group' => 'sites',
267
  'stat' => 'embeds:render',
268
  'method' => 'GET',
269
  'path' => '/sites/%s/embeds/render',
270
  'path_labels' => array(
271
+ '$site' => '(int|string) Site ID or domain',
272
  ),
273
  'query_parameters' => array(
274
  'embed_url' => '(string) The query-string encoded embed URL to render. Required. Only accepts one at a time.',
277
  'embed_url' => '(string) The embed_url that was passed in for rendering.',
278
  'result' => '(html) The rendered HTML result of the embed.',
279
  ),
280
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/embeds/render?embed_url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DSQEQr7c0-dw',
281
+ 'example_request_data' => array(
282
+ 'headers' => array(
283
+ 'authorization' => 'Bearer YOUR_API_TOKEN'
284
+ ),
285
+ ),
286
+ 'example_response' => '
287
+ {
288
+ "embed_url": "https://www.youtube.com/watch?v=SQEQr7c0-dw",
289
+ "result": "<span class="embed-youtube" style="text-align:center; display: block;""><​iframe class="youtube-player" type="text/html" width="640" height="390" src="https://www.youtube.com/embed/SQEQr7c0-dw?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent" frameborder="0" allowfullscreen="true"></iframe></span>",
290
+ } '
291
  ) );
292
 
293
  new WPCOM_JSON_API_Render_Embed_Reversal_Endpoint( array(
294
+ 'description' => "Determines if the given embed code can be reversed into a single line embed or a shortcode, and if so returns the embed or shortcode. Note: The current user must have publishing access.",
295
  //'group' => 'sites',
296
  'group' => '__do_not_document',
297
  'stat' => 'embeds:reversal',
298
  'method' => 'POST',
299
  'path' => '/sites/%s/embeds/reversal',
300
  'path_labels' => array(
301
+ '$site' => '(int|string) Site ID or domain',
302
  ),
303
  'request_format' => array(
304
  'maybe_embed' => '(string) The embed code to reverse. Required. Only accepts one at a time.',
335
  * Post endpoints
336
  */
337
  new WPCOM_JSON_API_List_Posts_Endpoint( array(
338
+ 'description' => 'Get a list of matching posts.',
339
+ 'new_version' => '1.1',
340
+ 'max_version' => '1',
341
  'group' => 'posts',
342
  'stat' => 'posts',
343
 
344
  'method' => 'GET',
345
  'path' => '/sites/%s/posts/',
346
  'path_labels' => array(
347
+ '$site' => '(int|string) Site ID or domain',
348
  ),
349
 
350
  'query_parameters' => array(
351
+ 'number' => '(int=20) The number of posts to return. Limit: 100.',
352
  'offset' => '(int=0) 0-indexed offset.',
353
+ 'page' => '(int) Return the Nth 1-indexed page of posts. Takes precedence over the <code>offset</code> parameter.',
354
  'order' => array(
355
+ 'DESC' => 'Return posts in descending order. For dates, that means newest to oldest.',
356
+ 'ASC' => 'Return posts in ascending order. For dates, that means oldest to newest.',
357
  ),
358
  'order_by' => array(
359
  'date' => 'Order by the created time of each post.',
369
  'type' => "(string) Specify the post type. Defaults to 'post', use 'any' to query for both posts and pages. Post types besides post and page need to be whitelisted using the <code>rest_api_allowed_post_types</code> filter.",
370
  'parent_id' => '(int) Returns only posts which are children of the specified post. Applies only to hierarchical post types.',
371
  'exclude' => '(array:int|int) Excludes the specified post ID(s) from the response',
372
+ 'exclude_tree' => '(int) Excludes the specified post and all of its descendants from the response. Applies only to hierarchical post types.',
373
  'status' => array(
374
  'publish' => 'Return only published posts.',
375
  'private' => 'Return only private posts.',
393
  ) );
394
 
395
  new WPCOM_JSON_API_List_Posts_v1_1_Endpoint( array(
396
+ 'description' => 'Get a list of matching posts.',
397
  'min_version' => '1.1',
398
  'max_version' => '1.1',
399
 
403
  'method' => 'GET',
404
  'path' => '/sites/%s/posts/',
405
  'path_labels' => array(
406
+ '$site' => '(int|string) Site ID or domain',
407
  ),
408
 
409
  'query_parameters' => array(
410
+ 'number' => '(int=20) The number of posts to return. Limit: 100.',
411
  'offset' => '(int=0) 0-indexed offset.',
412
+ 'page' => '(int) Return the Nth 1-indexed page of posts. Takes precedence over the <code>offset</code> parameter.',
413
  'page_handle' => '(string) A page handle, returned from a previous API call as a <code>meta.next_page</code> property. This is the most efficient way to fetch the next page of results.',
414
  'order' => array(
415
+ 'DESC' => 'Return posts in descending order. For dates, that means newest to oldest.',
416
+ 'ASC' => 'Return posts in ascending order. For dates, that means oldest to newest.',
417
  ),
418
  'order_by' => array(
419
  'date' => 'Order by the created time of each post.',
431
  'type' => "(string) Specify the post type. Defaults to 'post', use 'any' to query for both posts and pages. Post types besides post and page need to be whitelisted using the <code>rest_api_allowed_post_types</code> filter.",
432
  'parent_id' => '(int) Returns only posts which are children of the specified post. Applies only to hierarchical post types.',
433
  'exclude' => '(array:int|int) Excludes the specified post ID(s) from the response',
434
+ 'exclude_tree' => '(int) Excludes the specified post and all of its descendants from the response. Applies only to hierarchical post types.',
435
  'status' => '(string) Comma-separated list of statuses for which to query, including any of: "publish", "private", "draft", "pending", "future", and "trash", or simply "any". Defaults to "publish"',
436
  'sticky' => array(
437
+ 'include' => 'Sticky posts are not excluded from the list.',
438
+ 'exclude' => 'Sticky posts are excluded from the list.',
439
+ 'require' => 'Only include sticky posts',
440
  ),
441
  'author' => "(int) Author's user ID",
442
  'search' => '(string) Search query',
444
  'meta_value' => '(string) Metadata value that the post should contain. Will only be applied if a `meta_key` is also given',
445
  ),
446
 
447
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/?number=2&pretty=1'
448
  ) );
449
 
450
  new WPCOM_JSON_API_Get_Post_Endpoint( array(
451
+ 'description' => 'Get a single post (by ID).',
452
  'group' => 'posts',
453
  'stat' => 'posts:1',
454
+ 'new_version' => '1.1',
455
+ 'max_version' => '1',
456
  'method' => 'GET',
457
  'path' => '/sites/%s/posts/%d',
458
  'path_labels' => array(
459
+ '$site' => '(int|string) Site ID or domain',
460
  '$post_ID' => '(int) The post ID',
461
  ),
462
 
464
  ) );
465
 
466
  new WPCOM_JSON_API_Get_Post_v1_1_Endpoint( array(
467
+ 'description' => 'Get a single post (by ID).',
468
  'min_version' => '1.1',
469
  'max_version' => '1.1',
470
  'group' => 'posts',
472
  'method' => 'GET',
473
  'path' => '/sites/%s/posts/%d',
474
  'path_labels' => array(
475
+ '$site' => '(int|string) Site ID or domain',
476
  '$post_ID' => '(int) The post ID',
477
  ),
478
  'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/7/?pretty=1'
479
  ) );
480
 
481
  new WPCOM_JSON_API_Get_Post_Endpoint( array(
482
+ 'description' => 'Get a single post (by name)',
483
  'group' => '__do_not_document',
484
  'stat' => 'posts:name',
485
  'method' => 'GET',
486
  'path' => '/sites/%s/posts/name:%s',
487
  'path_labels' => array(
488
+ '$site' => '(int|string) Site ID or domain',
489
  '$post_name' => '(string) The post name (a.k.a. slug)',
490
  ),
491
 
493
  ) );
494
 
495
  new WPCOM_JSON_API_Get_Post_Endpoint( array(
496
+ 'description' => 'Get a single post (by slug).',
497
  'group' => 'posts',
498
  'stat' => 'posts:slug',
499
+ 'new_version' => '1.1',
500
+ 'max_version' => '1',
501
  'method' => 'GET',
502
  'path' => '/sites/%s/posts/slug:%s',
503
  'path_labels' => array(
504
+ '$site' => '(int|string) Site ID or domain',
505
  '$post_slug' => '(string) The post slug (a.k.a. sanitized name)',
506
  ),
507
 
509
  ) );
510
 
511
  new WPCOM_JSON_API_Get_Post_v1_1_Endpoint( array(
512
+ 'description' => 'Get a single post (by slug).',
513
  'min_version' => '1.1',
514
  'max_version' => '1.1',
515
  'group' => 'posts',
517
  'method' => 'GET',
518
  'path' => '/sites/%s/posts/slug:%s',
519
  'path_labels' => array(
520
+ '$site' => '(int|string) Site ID or domain',
521
  '$post_slug' => '(string) The post slug (a.k.a. sanitized name)',
522
  ),
523
  'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/slug:blogging-and-stuff?pretty=1',
524
  ) );
525
 
526
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
527
+ 'description' => 'Create a post.',
528
  'group' => 'posts',
529
  'stat' => 'posts:new',
530
+ 'new_version' => '1.1',
531
+ 'max_version' => '1',
532
  'method' => 'POST',
533
  'path' => '/sites/%s/posts/new',
534
  'path_labels' => array(
535
+ '$site' => '(int|string) Site ID or domain',
536
  ),
537
 
538
  'request_format' => array(
559
  'password' => '(string) The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected.',
560
  'parent' => "(int) The post ID of the new post's parent.",
561
  'type' => "(string) The post type. Defaults to 'post'. Post types besides post and page need to be whitelisted using the <code>rest_api_allowed_post_types</code> filter.",
562
+ 'categories' => "(array|string) Comma-separated list or array of categories (name or id)",
563
+ 'tags' => "(array|string) Comma-separated list or array of tags (name or id)",
564
  'format' => get_post_format_strings(),
565
  'featured_image' => "(string) The post ID of an existing attachment to set as the featured image. Pass an empty string to delete the existing image.",
566
+ 'media' => "(media) An array of files to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See <code>allowed_file_types</code> in the options response of the site endpoint. <br /><br /><strong>Example</strong>:<br />" .
567
  "<code>curl \<br />--form 'title=Image' \<br />--form 'media[]=@/path/to/file.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/posts/new'</code>",
568
  'media_urls' => "(array) An array of URLs for images to attach to a post. Sideloads the media in for a post.",
569
  'metadata' => "(array) Array of metadata objects containing the following properties: `key` (metadata key), `id` (meta ID), `previous_value` (if set, the action will only occur for the provided previous value), `value` (the new value to set the meta to), `operation` (the operation to perform: `update` or `add`; defaults to `update`). All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are avaiable for authenticated requests with proper capabilities. Protected meta keys can be made available with the <code>rest_api_allowed_public_metadata</code> filter.",
570
+ 'comments_open' => "(bool) Should the post be open to comments? Defaults to the blog's preference.",
571
+ 'pings_open' => "(bool) Should the post be open to comments? Defaults to the blog's preference.",
572
+ 'likes_enabled' => "(bool) Should the post be open to likes? Defaults to the blog's preference.",
573
+ 'sharing_enabled' => "(bool) Should sharing buttons show on this post? Defaults to true.",
574
  'menu_order' => "(int) (Pages Only) the order pages should appear in. Use 0 to maintain alphabetical order.",
575
  ),
576
 
688
  ) );
689
 
690
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
691
+ 'description' => 'Create a post.',
692
  'group' => 'posts',
693
  'stat' => 'posts:new',
694
  'min_version' => '1.1',
696
  'method' => 'POST',
697
  'path' => '/sites/%s/posts/new',
698
  'path_labels' => array(
699
+ '$site' => '(int|string) Site ID or domain',
700
  ),
701
 
702
  'request_format' => array(
723
  'password' => '(string) The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected.',
724
  'parent' => "(int) The post ID of the new post's parent.",
725
  'type' => "(string) The post type. Defaults to 'post'. Post types besides post and page need to be whitelisted using the <code>rest_api_allowed_post_types</code> filter.",
726
+ 'categories' => "(array|string) Comma-separated list or array of categories (name or id)",
727
+ 'tags' => "(array|string) Comma-separated list or array of tags (name or id)",
728
  'format' => get_post_format_strings(),
729
  'featured_image' => "(string) The post ID of an existing attachment to set as the featured image. Pass an empty string to delete the existing image.",
730
+ 'media' => "(media) An array of files to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See <code>allowed_file_types</code> in the options response of the site endpoint. Errors produced by media uploads, if any, will be in `media_errors` in the response. <br /><br /><strong>Example</strong>:<br />" .
731
  "<code>curl \<br />--form 'title=Image Post' \<br />--form 'media[0]=@/path/to/file.jpg' \<br />--form 'media_attrs[0][caption]=My Great Photo' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/posts/new'</code>",
732
  'media_urls' => "(array) An array of URLs for images to attach to a post. Sideloads the media in for a post. Errors produced by media sideloading, if any, will be in `media_errors` in the response.",
733
  'media_attrs' => "(array) An array of attributes (`title`, `description` and `caption`) are supported to assign to the media uploaded via the `media` or `media_urls` properties. You must use a numeric index for the keys of `media_attrs` which follow the same sequence as `media` and `media_urls`. <br /><br /><strong>Example</strong>:<br />" .
734
  "<code>curl \<br />--form 'title=Gallery Post' \<br />--form 'media[]=@/path/to/file1.jpg' \<br />--form 'media_urls[]=http://exapmple.com/file2.jpg' \<br /> \<br />--form 'media_attrs[0][caption]=This will be the caption for file1.jpg' \<br />--form 'media_attrs[1][title]=This will be the title for file2.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/posts/new'</code>",
735
  'metadata' => "(array) Array of metadata objects containing the following properties: `key` (metadata key), `id` (meta ID), `previous_value` (if set, the action will only occur for the provided previous value), `value` (the new value to set the meta to), `operation` (the operation to perform: `update` or `add`; defaults to `update`). All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are avaiable for authenticated requests with proper capabilities. Protected meta keys can be made available with the <code>rest_api_allowed_public_metadata</code> filter.",
736
  'discussion' => '(object) A hash containing one or more of the following boolean values, which default to the blog\'s discussion preferences: `comments_open`, `pings_open`',
737
+ 'likes_enabled' => "(bool) Should the post be open to likes? Defaults to the blog's preference.",
738
+ 'sharing_enabled' => "(bool) Should sharing buttons show on this post? Defaults to true.",
739
  'menu_order' => "(int) (Pages Only) the order pages should appear in. Use 0 to maintain alphabetical order.",
740
  ),
741
 
852
  ) );
853
 
854
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
855
+ 'description' => 'Edit a post.',
856
  'group' => 'posts',
857
  'stat' => 'posts:1:POST',
858
+ 'new_version' => '1.1',
859
+ 'max_version' => '1',
860
  'method' => 'POST',
861
  'path' => '/sites/%s/posts/%d',
862
  'path_labels' => array(
863
+ '$site' => '(int|string) Site ID or domain',
864
  '$post_ID' => '(int) The post ID',
865
  ),
866
 
885
  ),
886
  'password' => '(string) The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected.',
887
  'parent' => "(int) The post ID of the new post's parent.",
888
+ 'categories' => "(array|string) Comma-separated list or array of categories (name or id)",
889
+ 'tags' => "(array|string) Comma-separated list or array of tags (name or id)",
890
  'format' => get_post_format_strings(),
891
  'comments_open' => '(bool) Should the post be open to comments?',
892
  'pings_open' => '(bool) Should the post be open to comments?',
894
  'menu_order' => "(int) (Pages Only) the order pages should appear in. Use 0 to maintain alphabetical order.",
895
  'sharing_enabled' => "(bool) Should sharing buttons show on this post?",
896
  'featured_image' => "(string) The post ID of an existing attachment to set as the featured image. Pass an empty string to delete the existing image.",
897
+ 'media' => "(media) An array of files to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See <code>allowed_file_types</code> in the options resposne of the site endpoint. <br /><br /><strong>Example</strong>:<br />" .
898
  "<code>curl \<br />--form 'title=Image' \<br />--form 'media[]=@/path/to/file.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/posts/new'</code>",
899
  'media_urls' => "(array) An array of URLs for images to attach to a post. Sideloads the media in for a post.",
900
  'metadata' => "(array) Array of metadata objects containing the following properties: `key` (metadata key), `id` (meta ID), `previous_value` (if set, the action will only occur for the provided previous value), `value` (the new value to set the meta to), `operation` (the operation to perform: `update` or `add`; defaults to `update`). All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with proper capabilities. Protected meta keys can be made available with the <code>rest_api_allowed_public_metadata</code> filter.",
1016
  ) );
1017
 
1018
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1019
+ 'description' => 'Edit a post.',
1020
  'group' => 'posts',
1021
  'stat' => 'posts:1:POST',
1022
  'min_version' => '1.1',
1024
  'method' => 'POST',
1025
  'path' => '/sites/%s/posts/%d',
1026
  'path_labels' => array(
1027
+ '$site' => '(int|string) Site ID or domain',
1028
  '$post_ID' => '(int) The post ID',
1029
  ),
1030
 
1049
  ),
1050
  'password' => '(string) The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected.',
1051
  'parent' => "(int) The post ID of the new post's parent.",
1052
+ 'categories' => "(array|string) Comma-separated list or array of categories (name or id)",
1053
+ 'tags' => "(array|string) Comma-separated list or array of tags (name or id)",
1054
  'format' => get_post_format_strings(),
1055
  'discussion' => '(object) A hash containing one or more of the following boolean values, which default to the blog\'s discussion preferences: `comments_open`, `pings_open`',
1056
  'likes_enabled' => "(bool) Should the post be open to likes?",
1057
+ 'menu_order' => "(int) (Pages only) the order pages should appear in. Use 0 to maintain alphabetical order.",
1058
  'sharing_enabled' => "(bool) Should sharing buttons show on this post?",
1059
  'featured_image' => "(string) The post ID of an existing attachment to set as the featured image. Pass an empty string to delete the existing image.",
1060
+ 'media' => "(media) An array of files to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See <code>allowed_file_types</code> in the options resposne of the site endpoint. <br /><br /><strong>Example</strong>:<br />" .
1061
  "<code>curl \<br />--form 'title=Image' \<br />--form 'media[]=@/path/to/file.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/posts/new'</code>",
1062
  'media_urls' => "(array) An array of URLs for images to attach to a post. Sideloads the media in for a post.",
1063
  'metadata' => "(array) Array of metadata objects containing the following properties: `key` (metadata key), `id` (meta ID), `previous_value` (if set, the action will only occur for the provided previous value), `value` (the new value to set the meta to), `operation` (the operation to perform: `update` or `add`; defaults to `update`). All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with proper capabilities. Protected meta keys can be made available with the <code>rest_api_allowed_public_metadata</code> filter.",
1178
  ) );
1179
 
1180
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
1181
+ 'description' => 'Delete a post. Note: If the post object is of type post or page and the trash is enabled, this request will send the post to the trash. A second request will permanently delete the post.',
1182
  'group' => 'posts',
1183
  'stat' => 'posts:1:delete',
1184
+ 'new_version' => '1.1',
1185
+ 'max_version' => '1',
1186
  'method' => 'POST',
1187
  'path' => '/sites/%s/posts/%d/delete',
1188
  'path_labels' => array(
1189
+ '$site' => '(int|string) Site ID or domain',
1190
  '$post_ID' => '(int) The post ID',
1191
  ),
1192
 
1299
  ) );
1300
 
1301
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1302
+ 'description' => 'Delete a post. Note: If the post object is of type post or page and the trash is enabled, this request will send the post to the trash. A second request will permanently delete the post.',
1303
  'group' => 'posts',
1304
  'stat' => 'posts:1:delete',
1305
  'min_version' => '1.1',
1307
  'method' => 'POST',
1308
  'path' => '/sites/%s/posts/%d/delete',
1309
  'path_labels' => array(
1310
+ '$site' => '(int|string) Site ID or domain',
1311
  '$post_ID' => '(int) The post ID',
1312
  ),
1313
 
1419
  ) );
1420
 
1421
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
1422
+ 'description' => 'Restore a post or page from the trash to its previous status.',
1423
  'group' => 'posts',
1424
  'stat' => 'posts:1:restore',
1425
 
1426
  'method' => 'POST',
1427
+ 'new_version' => '1.1',
1428
+ 'max_version' => '1',
1429
  'path' => '/sites/%s/posts/%d/restore',
1430
  'path_labels' => array(
1431
+ '$site' => '(int|string) Site ID or domain',
1432
  '$post_ID' => '(int) The post ID',
1433
  ),
1434
 
1541
  ) );
1542
 
1543
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1544
+ 'description' => 'Restore a post or page from the trash to its previous status.',
1545
  'group' => 'posts',
1546
  'stat' => 'posts:1:restore',
1547
  'min_version' => '1.1',
1549
  'method' => 'POST',
1550
  'path' => '/sites/%s/posts/%d/restore',
1551
  'path_labels' => array(
1552
+ '$site' => '(int|string) Site ID or domain',
1553
  '$post_ID' => '(int) The post ID',
1554
  ),
1555
 
1660
  * Media Endpoints
1661
  */
1662
  new WPCOM_JSON_API_List_Media_Endpoint( array(
1663
+ 'description' => 'Get a list of items in the media library.',
1664
  'group' => 'media',
1665
  'stat' => 'media',
1666
 
1668
  'path' => '/sites/%s/media/',
1669
  'deprecated' => true,
1670
  'new_version' => '1.1',
1671
+ 'max_version' => '1',
1672
  'path_labels' => array(
1673
+ '$site' => '(int|string) Site ID or domain',
1674
  ),
1675
 
1676
  'query_parameters' => array(
1677
+ 'number' => '(int=20) The number of media items to return. Limit: 100.',
1678
  'offset' => '(int=0) 0-indexed offset.',
1679
+ 'parent_id' => '(int) Default is showing all items. The post where the media item is attached. 0 shows unattached media items.',
1680
+ 'mime_type' => "(string) Default is empty. Filter by mime type (e.g., 'image/jpeg', 'application/pdf'). Partial searches also work (e.g. passing 'image' will search for all image files).",
1681
  ),
1682
 
1683
  'response_format' => array(
1685
  'found' => '(int) The number of total results found'
1686
  ),
1687
 
1688
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.com/media/?number=2&pretty=true',
1689
  ) );
1690
 
1691
  new WPCOM_JSON_API_List_Media_v1_1_Endpoint( array(
1692
+ 'description' => 'Get a list of items in the media library.',
1693
  'group' => 'media',
1694
  'stat' => 'media',
1695
  'min_version' => '1.1',
1697
  'method' => 'GET',
1698
  'path' => '/sites/%s/media/',
1699
  'path_labels' => array(
1700
+ '$site' => '(int|string) Site ID or domain',
1701
  ),
1702
 
1703
  'query_parameters' => array(
1704
+ 'number' => '(int=20) The number of media items to return. Limit: 100.',
1705
  'offset' => '(int=0) 0-indexed offset.',
1706
+ 'page' => '(int) Return the Nth 1-indexed page of posts. Takes precedence over the <code>offset</code> parameter.',
1707
+ 'page_handle' => '(string) A page handle, returned from a previous API call as a <code>meta.next_page</code> property. This is the most efficient way to fetch the next page of results.',
1708
+ 'order' => array(
1709
+ 'DESC' => 'Return files in descending order. For dates, that means newest to oldest.',
1710
+ 'ASC' => 'Return files in ascending order. For dates, that means oldest to newest.',
1711
+ ),
1712
+ 'order_by' => array(
1713
+ 'date' => 'Order by the uploaded time of each file.',
1714
+ 'title' => "Order lexicographically by file titles.",
1715
+ 'ID' => 'Order by media ID.',
1716
+ ),
1717
+ 'search' => '(string) Search query.',
1718
+ 'post_ID' => '(int) Default is showing all items. The post where the media item is attached. 0 shows unattached media items.',
1719
+ 'mime_type' => "(string) Default is empty. Filter by mime type (e.g., 'image/jpeg', 'application/pdf'). Partial searches also work (e.g. passing 'image' will search for all image files).",
1720
+ 'after' => '(ISO 8601 datetime) Return media items uploaded after the specified datetime.',
1721
+ 'before' => '(ISO 8601 datetime) Return media items uploaded before the specified datetime.',
1722
  ),
1723
 
1724
  'response_format' => array(
1749
  "title": "Screen Shot 2014-10-14 at 3.22.19 PM",
1750
  "caption": "",
1751
  "description": "",
1752
+ "alt": "",
1753
  "height": 602,
1754
  "width": 764,
1755
  "exif": {
1809
  }
1810
  }
1811
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1812
  ]
1813
  }',
1814
  ) );
1815
 
1816
  new WPCOM_JSON_API_Get_Media_Endpoint( array(
1817
+ 'description' => 'Get a single media item (by ID).',
1818
  'group' => 'media',
1819
  'stat' => 'media:1',
1820
  'method' => 'GET',
1821
  'path' => '/sites/%s/media/%d',
1822
  'deprecated' => true,
1823
  'new_version' => '1.1',
1824
+ 'max_version' => '1',
1825
  'path_labels' => array(
1826
+ '$site' => '(int|string) Site ID or domain',
1827
  '$media_ID' => '(int) The ID of the media item',
1828
  ),
1829
  'response_format' => array(
1831
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
1832
  'parent' => '(int) ID of the post this media is attached to',
1833
  'link' => '(string) URL to the file',
1834
+ 'title' => '(string) Filename',
1835
+ 'caption' => '(string) User-provided caption of the file',
1836
  'description' => '(string) Description of the file',
1837
+ 'metadata' => '(array) Array of metadata about the file, such as Exif data or sizes',
1838
  ),
1839
 
1840
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.com/media/36',
1841
  ) );
1842
 
1843
  new WPCOM_JSON_API_Get_Media_v1_1_Endpoint( array(
1844
+ 'description' => 'Get a single media item (by ID).',
1845
  'group' => 'media',
1846
  'stat' => 'media:1',
1847
  'min_version' => '1.1',
1849
  'method' => 'GET',
1850
  'path' => '/sites/%s/media/%d',
1851
  'path_labels' => array(
1852
+ '$site' => '(int|string) Site ID or domain',
1853
  '$media_ID' => '(int) The ID of the media item',
1854
  ),
1855
  'response_format' => array(
1857
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
1858
  'post_ID' => '(int) ID of the post this media is attached to',
1859
  'URL' => '(string) URL to the file',
1860
+ 'guid' => '(string) Unique identifier',
1861
+ 'file' => '(string) Filename',
1862
  'extension' => '(string) File extension',
1863
+ 'mime_type' => '(string) File MIME type',
1864
+ 'title' => '(string) Filename',
1865
+ 'caption' => '(string) User-provided caption of the file',
1866
  'description' => '(string) Description of the file',
1867
+ 'alt' => '(string) Alternative text for image files.',
1868
+ 'height' => '(int) (Image & video only) Height of the media item',
1869
+ 'width' => '(int) (Image & video only) Width of the media item',
1870
+ 'exif' => '(array) (Image & audio only) Exif (meta) information about the media item',
1871
+ 'videopress_guid' => '(string) (Video only) VideoPress GUID of the video when uploaded on a blog with VideoPress',
1872
+ 'videopress_processing_done' => '(bool) (Video only) If the video is uploaded on a blog with VideoPress, this will return the status of processing on the video.'
1873
  ),
1874
 
1875
  'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/opossumapi.wordpress.com/media/880165',
1892
  "title": "Screen Shot 2014-10-14 at 3.22.19 PM",
1893
  "caption": "",
1894
  "description": "",
1895
+ "alt": "",
1896
  "height": 602,
1897
  "width": 764,
1898
  "exif": {
1920
  ) );
1921
 
1922
  new WPCOM_JSON_API_Upload_Media_Endpoint( array(
1923
+ 'description' => 'Upload a new media item.',
1924
  'group' => 'media',
1925
  'stat' => 'media:new',
1926
  'method' => 'POST',
1927
  'path' => '/sites/%s/media/new',
1928
  'deprecated' => true,
1929
  'new_version' => '1.1',
1930
+ 'max_version' => '1',
1931
  'path_labels' => array(
1932
+ '$site' => '(int|string) Site ID or domain',
1933
  ),
1934
 
1935
  'request_format' => array(
1936
+ 'media' => "(media) An array of media to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Accepts images (image/gif, image/jpeg, image/png) only at this time.<br /><br /><strong>Example</strong>:<br />" .
1937
  "<code>curl \<br />--form 'media[]=@/path/to/file.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/media/new'</code>",
1938
  'media_urls' => "(array) An array of URLs to upload to the post."
1939
  ),
1947
  ) );
1948
 
1949
  new WPCOM_JSON_API_Upload_Media_v1_1_Endpoint( array(
1950
+ 'description' => 'Upload a new piece of media.',
1951
  'group' => 'media',
1952
  'stat' => 'media:new',
1953
  'min_version' => '1.1',
1955
  'method' => 'POST',
1956
  'path' => '/sites/%s/media/new',
1957
  'path_labels' => array(
1958
+ '$site' => '(int|string) Site ID or domain',
1959
  ),
1960
 
1961
  'request_format' => array(
1962
+ 'media' => "(media) An array of media to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See <code>allowed_file_types</code> in the options response of the site endpoint.<br /><br /><strong>Example</strong>:<br />" .
1963
  "<code>curl \<br />--form 'media[]=@/path/to/file.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/media/new'</code>",
1964
  'media_urls' => "(array) An array of URLs to upload to the post. Errors produced by media uploads, if any, will be in `media_errors` in the response.",
1965
+ 'attrs' => "(array) An array of attributes (`title`, `description`, `caption` `alt` for images, `artist` for audio, `album` for audio, and `parent_id`) are supported to assign to the media uploaded via the `media` or `media_urls` properties. You must use a numeric index for the keys of `attrs` which follows the same sequence as `media` and `media_urls`. <br /><br /><strong>Example</strong>:<br />" .
1966
+ "<code>curl \<br />--form 'media[]=@/path/to/file1.jpg' \<br />--form 'media_urls[]=http://example.com/file2.jpg' \<br /> \<br />--form 'attrs[0][caption]=This will be the caption for file1.jpg' \<br />--form 'attrs[1][title]=This will be the title for file2.jpg' \<br />-H 'Authorization: BEARER your-token' \<br />'https://public-api.wordpress.com/rest/v1/sites/123/posts/new'</code>",
1967
  ),
1968
 
1969
  'response_format' => array(
1970
  'media' => '(array) Array of uploaded media objects',
1971
  'errors' => '(array) Array of error messages of uploading media failures'
1972
  ),
1973
+
1974
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/33534099/media/new',
1975
+ 'example_request_data' => array(
1976
+ 'headers' => array(
1977
+ 'authorization' => 'Bearer YOUR_API_TOKEN'
1978
+ ),
1979
+ 'body' => array(
1980
+ 'media_urls[]' => "https://s.w.org/about/images/logos/codeispoetry-rgb.png"
1981
+ )
1982
+ ),
1983
+ 'example_response' => '
1984
+ {
1985
+ "media": [
1986
+ {
1987
+ "ID": 25378,
1988
+ "URL": "https://developer.files.wordpress.com/2015/01/codeispoetry-rgb.png",
1989
+ "guid": "http://developer.files.wordpress.com/2015/01/codeispoetry-rgb.png",
1990
+ "date": "2015-01-14T22:55:33+00:00",
1991
+ "post_ID": 0,
1992
+ "file": "codeispoetry-rgb.png",
1993
+ "mime_type": "image/png",
1994
+ "extension": "png",
1995
+ "title": "codeispoetry-rgb",
1996
+ "caption": "",
1997
+ "description": "",
1998
+ "alt": "",
1999
+ "height": 34,
2000
+ "width": 500,
2001
+ "exif": {
2002
+ "aperture": 0,
2003
+ "credit": "",
2004
+ "camera": "",
2005
+ "caption": "",
2006
+ "created_timestamp": 0,
2007
+ "copyright": "",
2008
+ "focal_length": 0,
2009
+ "iso": 0,
2010
+ "shutter_speed": 0,
2011
+ "title": "",
2012
+ "orientation": 0
2013
+ },
2014
+ "meta": {
2015
+ "links": {
2016
+ "self": "https://public-api.wordpress.com/rest/v1/sites/33534099/media/25378",
2017
+ "help": "https://public-api.wordpress.com/rest/v1/sites/33534099/media/25378/help",
2018
+ "site": "https://public-api.wordpress.com/rest/v1/sites/33534099"
2019
+ }
2020
+ }
2021
+ }
2022
+ ]
2023
+ } '
2024
  ) );
2025
 
2026
  new WPCOM_JSON_API_Update_Media_Endpoint( array(
2027
+ 'description' => 'Edit basic information about a media item.',
2028
  'group' => 'media',
2029
  'stat' => 'media:1:POST',
2030
  'method' => 'POST',
2032
  'deprecated' => true,
2033
  'new_version' => '1.1',
2034
  'path_labels' => array(
2035
+ '$site' => '(int|string) Site ID or domain',
2036
  '$media_ID' => '(int) The ID of the media item',
2037
  ),
2038
 
2050
  'title' => '(string) File name',
2051
  'caption' => '(string) User provided caption of the file',
2052
  'description' => '(string) Description of the file',
2053
+ 'metadata' => '(array) Array of metadata about the file, such as Exif data or sizes',
2054
  )
2055
  ) );
2056
 
2057
  new WPCOM_JSON_API_Update_Media_v1_1_Endpoint( array(
2058
+ 'description' => 'Edit basic information about a media item.',
2059
  'group' => 'media',
2060
  'stat' => 'media:1:POST',
2061
  'min_version' => '1.1',
2063
  'method' => 'POST',
2064
  'path' => '/sites/%s/media/%d',
2065
  'path_labels' => array(
2066
+ '$site' => '(int|string) Site ID or domain',
2067
  '$media_ID' => '(int) The ID of the media item',
2068
  ),
2069
 
2070
  'request_format' => array(
2071
+ 'parent_id' => '(int) ID of the post this media is attached to',
2072
  'title' => '(string) The file name.',
2073
  'caption' => '(string) File caption.',
2074
  'description' => '(HTML) Description of the file.',
2075
+ 'alt' => "(string) Alternative text for image files.",
2076
+ 'artist' => "(string) Audio Only. Artist metadata for the audio track.",
2077
+ 'album' => "(string) Audio Only. Album metadata for the audio track.",
2078
  ),
2079
 
2080
  'response_format' => array(
2082
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
2083
  'post_ID' => '(int) ID of the post this media is attached to',
2084
  'URL' => '(string) URL to the file',
2085
+ 'guid' => '(string) Unique identifier',
2086
  'file' => '(string) File name',
2087
  'extension' => '(string) File extension',
2088
  'mime_type' => '(string) File mime type',
2089
  'title' => '(string) File name',
2090
  'caption' => '(string) User provided caption of the file',
2091
  'description' => '(string) Description of the file',
2092
+ 'alt' => '(string) Alternative text for image files.',
2093
+ 'height' => '(int) (Image & video only) Height of the media item',
2094
+ 'width' => '(int) (Image & video only) Width of the media item',
2095
+ 'exif' => '(array) (Image & audio only) Exif (meta) information about the media item',
2096
+ 'videopress_guid' => '(string) (Video only) VideoPress GUID of the video when uploaded on a blog with VideoPress',
2097
+ 'videopress_processing_done' => '(bool) (Video only) If the video is uploaded on a blog with VideoPress, this will return the status of processing on the video.'
2098
  ),
2099
 
2100
  'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/opossumapi.wordpress.com/media/880165',
2120
  "title": "Updated Title",
2121
  "caption": "",
2122
  "description": "",
2123
+ "alt": "",
2124
  "height": 602,
2125
  "width": 764,
2126
  "exif": {
2149
 
2150
 
2151
  new WPCOM_JSON_API_Delete_Media_Endpoint( array(
2152
+ 'description' => 'Delete a piece of media.',
2153
  'group' => 'media',
2154
  'stat' => 'media:1:delete',
2155
  'method' => 'POST',
2156
  'path' => '/sites/%s/media/%d/delete',
2157
  'deprecated' => true,
2158
  'new_version' => '1.1',
2159
+ 'max_version' => '1',
2160
  'path_labels' => array(
2161
+ '$site' => '(int|string) Site ID or domain',
2162
  '$media_ID' => '(int) The media ID',
2163
  ),
2164
 
2176
  ) );
2177
 
2178
  new WPCOM_JSON_API_Delete_Media_v1_1_Endpoint( array(
2179
+ 'description' => 'Delete a piece of media. Note: Media is deleted and not trashed.',
2180
  'group' => 'media',
2181
  'stat' => 'media:1:delete',
2182
  'min_version' => '1.1',
2184
  'method' => 'POST',
2185
  'path' => '/sites/%s/media/%d/delete',
2186
  'path_labels' => array(
2187
+ '$site' => '(int|string) Site ID or domain',
2188
  '$media_ID' => '(int) The media ID',
2189
  ),
2190
 
2194
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
2195
  'post_ID' => '(int) ID of the post this media is attached to',
2196
  'URL' => '(string) URL to the file',
2197
+ 'guid' => '(string) Unique identifier',
2198
  'file' => '(string) File name',
2199
  'extension' => '(string) File extension',
2200
  'mime_type' => '(string) File mime type',
2201
  'title' => '(string) File name',
2202
+ 'caption' => '(string) User-provided caption of the file',
2203
  'description' => '(string) Description of the file',
2204
+ 'alt' => '(string) Alternative text for image files.',
2205
+ 'height' => '(int) (Image & video only) Height of the media item',
2206
+ 'width' => '(int) (Image & video only) Width of the media item',
2207
+ 'exif' => '(array) (Image & audio only) Exif (meta) information about the media item',
2208
+ 'videopress_guid' => '(string) (Video only) VideoPress GUID of the video when uploaded on a blog with VideoPress',
2209
+ 'videopress_processing_done' => '(bool) (Video only) If the video is Uuploaded on a blog with VideoPress, this will return the status of processing on the Video'
2210
  ),
2211
 
2212
  'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/opossumapi.wordpress.com/media/880165/delete',
2230
  "title": "Screen Shot 2014-10-14 at 3.22.19 PM",
2231
  "caption": "",
2232
  "description": "",
2233
+ "alt": "",
2234
  "height": 602,
2235
  "width": 764,
2236
  "exif": {
2261
  * Comment endpoints
2262
  */
2263
  new WPCOM_JSON_API_List_Comments_Endpoint( array(
2264
+ 'description' => 'Get a list of recent comments.',
2265
  'group' => 'comments',
2266
  'stat' => 'comments',
2267
 
2268
  'method' => 'GET',
2269
  'path' => '/sites/%s/comments/',
2270
  'path_labels' => array(
2271
+ '$site' => '(int|string) Site ID or domain',
2272
  ),
2273
 
2274
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/comments/?number=2&pretty=1'
2275
  ) );
2276
 
2277
  new WPCOM_JSON_API_List_Comments_Endpoint( array(
2278
+ 'description' => 'Get a list of recent comments on a post.',
2279
  'group' => 'comments',
2280
  'stat' => 'posts:1:replies',
2281
 
2282
  'method' => 'GET',
2283
  'path' => '/sites/%s/posts/%d/replies/',
2284
  'path_labels' => array(
2285
+ '$site' => '(int|string) Site ID or domain',
2286
  '$post_ID' => '(int) The post ID',
2287
  ),
2288
 
2289
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/posts/7/replies/?number=2&pretty=1'
2290
  ) );
2291
 
2292
  new WPCOM_JSON_API_Get_Comment_Endpoint( array(
2293
+ 'description' => 'Get a single comment.',
2294
  'group' => 'comments',
2295
  'stat' => 'comments:1',
2296
 
2297
  'method' => 'GET',
2298
  'path' => '/sites/%s/comments/%d',
2299
  'path_labels' => array(
2300
+ '$site' => '(int|string) Site ID or domain',
2301
  '$comment_ID' => '(int) The comment ID'
2302
  ),
2303
 
2304
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/comments/147564/?pretty=1'
2305
  ) );
2306
 
2307
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2308
+ 'description' => 'Create a comment on a post.',
2309
  'group' => 'comments',
2310
  'stat' => 'posts:1:replies:new',
2311
 
2312
  'method' => 'POST',
2313
  'path' => '/sites/%s/posts/%d/replies/new',
2314
  'path_labels' => array(
2315
+ '$site' => '(int|string) Site ID or domain',
2316
  '$post_ID' => '(int) The post ID'
2317
  ),
2318
 
2376
  ) );
2377
 
2378
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2379
+ 'description' => 'Create a comment as a reply to another comment.',
2380
  'group' => 'comments',
2381
  'stat' => 'comments:1:replies:new',
2382
 
2383
  'method' => 'POST',
2384
  'path' => '/sites/%s/comments/%d/replies/new',
2385
  'path_labels' => array(
2386
+ '$site' => '(int|string) Site ID or domain',
2387
  '$comment_ID' => '(int) The comment ID'
2388
  ),
2389
 
2446
  ) );
2447
 
2448
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2449
+ 'description' => 'Edit a comment.',
2450
  'group' => 'comments',
2451
  'stat' => 'comments:1:POST',
2452
 
2453
  'method' => 'POST',
2454
  'path' => '/sites/%s/comments/%d',
2455
  'path_labels' => array(
2456
+ '$site' => '(int|string) Site ID or domain',
2457
  '$comment_ID' => '(int) The comment ID'
2458
  ),
2459
 
2521
  ) );
2522
 
2523
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2524
+ 'description' => 'Delete a comment.',
2525
  'group' => 'comments',
2526
  'stat' => 'comments:1:delete',
2527
 
2528
  'method' => 'POST',
2529
  'path' => '/sites/%s/comments/%d/delete',
2530
  'path_labels' => array(
2531
+ '$site' => '(int|string) Site ID or domain',
2532
  '$comment_ID' => '(int) The comment ID'
2533
  ),
2534
 
2583
  * Taxonomy Management Endpoints
2584
  */
2585
  new WPCOM_JSON_API_Get_Taxonomy_Endpoint( array(
2586
+ 'description' => 'Get information about a single category.',
2587
  'group' => 'taxonomy',
2588
  'stat' => 'categories:1',
2589
 
2590
  'method' => 'GET',
2591
  'path' => '/sites/%s/categories/slug:%s',
2592
  'path_labels' => array(
2593
+ '$site' => '(int|string) Site ID or domain',
2594
  '$category' => '(string) The category slug'
2595
  ),
2596
 
2598
  ) );
2599
 
2600
  new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
2601
+ 'description' => "Get a list of a site's categories.",
2602
  'group' => 'taxonomy',
2603
  'stat' => 'categories',
2604
  'method' => 'GET',
2605
  'path' => '/sites/%s/categories',
2606
  'path_labels' => array(
2607
+ '$site' => '(int|string) Site ID or domain'
2608
  ),
2609
  'query_parameters' => array(
2610
+ 'number' => '(int=100) The number of categories to return. Limit: 1000.',
2611
  'offset' => '(int=0) 0-indexed offset.',
2612
+ 'page' => '(int) Return the Nth 1-indexed page of categories. Takes precedence over the <code>offset</code> parameter.',
2613
+ 'search' => '(string) Limit response to include only categories whose names or slugs match the provided search query.',
2614
  'order' => array(
2615
  'ASC' => 'Return categories in ascending order.',
2616
  'DESC' => 'Return categories in decending order.',
2624
  'found' => '(int) The number of categories returned.',
2625
  'categories' => '(array) Array of category objects.',
2626
  ),
2627
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/categories/?number=5&pretty=1'
2628
  ) );
2629
 
2630
  new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
2631
+ 'description' => "Get a list of a site's tags.",
2632
  'group' => 'taxonomy',
2633
  'stat' => 'tags',
2634
  'method' => 'GET',
2635
  'path' => '/sites/%s/tags',
2636
  'path_labels' => array(
2637
+ '$site' => '(int|string) Site ID or domain'
2638
  ),
2639
  'query_parameters' => array(
2640
+ 'number' => '(int=100) The number of tags to return. Limit: 1000.',
2641
  'offset' => '(int=0) 0-indexed offset.',
2642
+ 'page' => '(int) Return the Nth 1-indexed page of tags. Takes precedence over the <code>offset</code> parameter.',
2643
+ 'search' => '(string) Limit response to include only tags whose names or slugs match the provided search query.',
2644
  'order' => array(
2645
  'ASC' => 'Return tags in ascending order.',
2646
  'DESC' => 'Return tags in decending order.',
2654
  'found' => '(int) The number of tags returned.',
2655
  'tags' => '(array) Array of tag objects.',
2656
  ),
2657
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/tags/?number=5&pretty=1'
2658
  ) );
2659
 
2660
  new WPCOM_JSON_API_Get_Taxonomy_Endpoint( array(
2661
+ 'description' => 'Get information about a single tag.',
2662
  'group' => 'taxonomy',
2663
  'stat' => 'tags:1',
2664
 
2665
  'method' => 'GET',
2666
  'path' => '/sites/%s/tags/slug:%s',
2667
  'path_labels' => array(
2668
+ '$site' => '(int|string) Site ID or domain',
2669
  '$tag' => '(string) The tag slug'
2670
  ),
2671
 
2673
  ) );
2674
 
2675
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2676
+ 'description' => 'Create a new category.',
2677
  'group' => 'taxonomy',
2678
  'stat' => 'categories:new',
2679
 
2680
  'method' => 'POST',
2681
  'path' => '/sites/%s/categories/new',
2682
  'path_labels' => array(
2683
+ '$site' => '(int|string) Site ID or domain',
2684
  ),
2685
 
2686
  'request_format' => array(
2687
  'name' => '(string) Name of the category',
2688
  'description' => '(string) A description of the category',
2689
+ 'parent' => '(int) ID of the parent category',
2690
  ),
2691
 
2692
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/categories/new/',
2716
  ) );
2717
 
2718
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2719
+ 'description' => 'Create a new tag.',
2720
  'group' => 'taxonomy',
2721
  'stat' => 'tags:new',
2722
 
2723
  'method' => 'POST',
2724
  'path' => '/sites/%s/tags/new',
2725
  'path_labels' => array(
2726
+ '$site' => '(int|string) Site ID or domain',
2727
  ),
2728
 
2729
  'request_format' => array(
2758
  ) );
2759
 
2760
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2761
+ 'description' => 'Edit a tag.',
2762
  'group' => 'taxonomy',
2763
  'stat' => 'tags:1:POST',
2764
 
2765
  'method' => 'POST',
2766
  'path' => '/sites/%s/tags/slug:%s',
2767
  'path_labels' => array(
2768
+ '$site' => '(int|string) Site ID or domain',
2769
  '$tag' => '(string) The tag slug',
2770
  ),
2771
 
2801
  ) );
2802
 
2803
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2804
+ 'description' => 'Edit a category.',
2805
  'group' => 'taxonomy',
2806
  'stat' => 'categories:1:POST',
2807
 
2808
  'method' => 'POST',
2809
  'path' => '/sites/%s/categories/slug:%s',
2810
  'path_labels' => array(
2811
+ '$site' => '(int|string) Site ID or domain',
2812
  '$category' => '(string) The category slug',
2813
  ),
2814
 
2815
  'request_format' => array(
2816
  'name' => '(string) Name of the category',
2817
  'description' => '(string) A description of the category',
2818
+ 'parent' => '(int) ID of the parent category',
2819
  ),
2820
 
2821
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/categories/slug:testing-category',
2846
  ) );
2847
 
2848
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2849
+ 'description' => 'Delete a category.',
2850
  'group' => 'taxonomy',
2851
  'stat' => 'categories:1:delete',
2852
 
2853
  'method' => 'POST',
2854
  'path' => '/sites/%s/categories/slug:%s/delete',
2855
  'path_labels' => array(
2856
+ '$site' => '(int|string) Site ID or domain',
2857
  '$category' => '(string) The category slug',
2858
  ),
2859
  'response_format' => array(
2874
  ) );
2875
 
2876
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
2877
+ 'description' => 'Delete a tag.',
2878
  'group' => 'taxonomy',
2879
  'stat' => 'tags:1:delete',
2880
 
2881
  'method' => 'POST',
2882
  'path' => '/sites/%s/tags/slug:%s/delete',
2883
  'path_labels' => array(
2884
+ '$site' => '(int|string) Site ID or domain',
2885
  '$tag' => '(string) The tag slug',
2886
  ),
2887
  'response_format' => array(
2902
  ) );
2903
 
2904
  new WPCOM_JSON_API_List_Users_Endpoint( array(
2905
+ 'description' => 'List the users of a site.',
2906
  'group' => 'users',
2907
  'stat' => 'users:list',
2908
 
2909
  'method' => 'GET',
2910
  'path' => '/sites/%s/users',
2911
  'path_labels' => array(
2912
+ '$site' => '(int|string) Site ID or domain',
2913
  ),
2914
 
2915
  'query_parameters' => array(
2961
  ) );
2962
 
2963
  new WPCOM_JSON_API_Site_Settings_Endpoint( array(
2964
+ 'description' => 'Get detailed settings information about a site.',
2965
  'group' => '__do_not_document',
2966
  'stat' => 'sites:X',
2967
 
2968
  'method' => 'GET',
2969
  'path' => '/sites/%s/settings',
2970
  'path_labels' => array(
2971
+ '$site' => '(int|string) Site ID or domain',
2972
  ),
2973
 
2974
  'query_parameters' => array(
2981
  ) );
2982
 
2983
  new WPCOM_JSON_API_Site_Settings_Endpoint( array(
2984
+ 'description' => 'Update settings for a site.',
2985
  'group' => '__do_not_document',
2986
  'stat' => 'sites:X',
2987
 
2988
  'method' => 'POST',
2989
  'path' => '/sites/%s/settings',
2990
  'path_labels' => array(
2991
+ '$site' => '(int|string) Site ID or domain',
2992
  ),
2993
 
2994
  'request_format' => array(
2995
+ 'blogname' => '(string) Blog name',
2996
+ 'blogdescription' => '(string) Blog description',
2997
+ 'default_pingback_flag' => '(bool) Notify blogs linked from article?',
2998
+ 'default_ping_status' => '(bool) Allow link notifications from other blogs?',
2999
+ 'default_comment_status' => '(bool) Allow comments on new articles?',
3000
+ 'blog_public' => '(string) Site visibility; -1: private, 0: discourage search engines, 1: allow search engines',
3001
  'jetpack_sync_non_public_post_stati' => '(bool) allow sync of post and pages with non-public posts stati',
3002
+ 'jetpack_relatedposts_enabled' => '(bool) Enable related posts?',
3003
+ 'jetpack_relatedposts_show_headline' => '(bool) Show headline in related posts?',
3004
+ 'jetpack_relatedposts_show_thumbnails' => '(bool) Show thumbnails in related posts?',
3005
+ 'jetpack_protect_whitelist' => '(array) List of IP addresses to whitelist',
3006
+ 'infinite_scroll' => '(bool) Support infinite scroll of posts?',
3007
+ 'default_category' => '(int) Default post category',
3008
+ 'default_post_format' => '(string) Default post format',
3009
+ 'require_name_email' => '(bool) Require comment authors to fill out name and email?',
3010
+ 'comment_registration' => '(bool) Require users to be registered and logged in to comment?',
3011
+ 'close_comments_for_old_posts' => '(bool) Automatically close comments on old posts?',
3012
+ 'close_comments_days_old' => '(int) Age at which to close comments',
3013
+ 'thread_comments' => '(bool) Enable threaded comments?',
3014
+ 'thread_comments_depth' => '(int) Depth to thread comments',
3015
+ 'page_comments' => '(bool) Break comments into pages?',
3016
+ 'comments_per_page' => '(int) Number of comments to display per page',
3017
+ 'default_comments_page' => '(string) newest|oldest Which page of comments to display first',
3018
+ 'comment_order' => '(string) asc|desc Order to display comments within page',
3019
+ 'comments_notify' => '(bool) Email me when someone comments?',
3020
+ 'moderation_notify' => '(bool) Email me when a comment is helf for moderation?',
3021
+ 'social_notifications_like' => '(bool) Email me when someone likes my post?',
3022
+ 'social_notifications_reblog' => '(bool) Email me when someone reblogs my post?',
3023
+ 'social_notifications_subscribe' => '(bool) Email me when someone follows my blog?',
3024
+ 'comment_moderation' => '(bool) Moderate comments for manual approval?',
3025
+ 'comment_whitelist' => '(bool) Moderate comments unless author has a previously-approved comment?',
3026
+ 'comment_max_links' => '(int) Moderate comments that contain X or more links',
3027
+ 'moderation_keys' => '(string) Words or phrases that trigger comment moderation, one per line',
3028
+ 'blacklist_keys' => '(string) Words or phrases that mark comment spam, one per line',
3029
  'lang_id' => '(int) ID for language blog is written in',
3030
  'wga' => '(array) Google Analytics Settings',
3031
+ 'disabled_likes' => '(bool) Are likes globally disabled (they can still be turned on per post)?',
3032
+ 'disabled_reblogs' => '(bool) Are reblogs disabled on posts?',
3033
+ 'jetpack_comment_likes_enabled' => '(bool) Are comment likes enabled for all comments?',
3034
  'sharing_button_style' => '(string) Style to use for sharing buttons (icon-text, icon, text, or official)',
3035
  'sharing_label' => '(string) Label to use for sharing buttons, e.g. "Share this:"',
3036
  'sharing_show' => '(string|array:string) Post type or array of types where sharing buttons are to be displayed',
3037
  'sharing_open_links' => '(string) Link target for sharing buttons (same or new)',
3038
+ 'twitter_via' => '(string) Twitter username to include in tweets when people share using the Twitter button',
3039
+ 'jetpack-twitter-cards-site-tag' => '(string) The Twitter username of the owner of the site\'s domain.',
3040
  ),
3041
 
3042
  'response_format' => array(
3051
  */
3052
 
3053
  new WPCOM_JSON_API_Get_Connections_Endpoint( array(
3054
+ 'description' => 'Get a list of a site\'s current Publicize connections to third-party services for the current user (personal or shared).',
3055
  'group' => 'Publicize',
3056
  'stat' => 'connections',
3057
  'method' => 'GET',
3058
  'path' => '/sites/%s/connections/',
3059
  'path_labels' => array(
3060
+ '$site' => '(int|string) Site ID or domain',
3061
  ),
3062
  'query_parameters' => array(
3063
  'service' => "(string) Get Publicize connections for a specific service only. Default is 'all' but you can enter 'facebook', 'twitter', etc."
3068
  ) );
3069
 
3070
  new WPCOM_JSON_API_Get_Connection_Endpoint( array(
3071
+ 'description' => 'Get information about a specific Publicize connection.',
3072
  'group' => 'Publicize',
3073
  'stat' => 'connections:1',
3074
  'method' => 'GET',
3075
  'path' => '/sites/%s/connections/%d',
3076
  'path_labels' => array(
3077
+ '$site' => '(int|string) Site ID or domain',
3078
  '$connection_id' => '(int) The ID of the Publicize connection',
3079
  ),
3080
  'response_format' => array(
3083
  'conn_ID' => '(int) Identifier for the Publicize connection',
3084
  'site_ID' => '(int) Identifier for the Site',
3085
  'user_ID' => '(int) Identifier for the Publicize connection user, or 0 if the connection is shared',
3086
+ 'shared' => '(bool) Is this connection specific to the current user, or a shared one for the site?',
3087
  'service' => '(string) An identifier for the type of service (facebook, linkedin, path, tumblr, etc)',
3088
  'label' => '(string) Formatted nicename for the service.',
3089
  'issued' => '(ISO 8601 datetime) When the conncetion was created',
3094
  'URL' => '(string|null) URL to the user\'s profile. NULL if there is no URL to link to.',
3095
  'status' => '(string) The current status of the connection. "ok" for connections with no problems, and "broken" for connections that need fixed.',
3096
  'refresh_url' => '(string) The URL to refresh a token if it is broken.',
3097
+ 'meta' => '(object) Extra and optional metadata for the current Publicize connection',
3098
  )
3099
  ) );
3100
 
3101
  new WPCOM_JSON_API_Delete_Connection_Endpoint( array(
3102
+ 'description' => 'Delete a publicize connection.',
3103
  'group' => 'Publicize',
3104
  'stat' => 'connections:1:delete',
3105
  'method' => 'POST',
3106
  'path' => '/sites/%s/connections/%d/delete',
3107
  'path_labels' => array(
3108
+ '$site' => '(int|string) Site ID or domain',
3109
  '$connection_id' => 'The ID of the connection',
3110
  ),
3111
  'response_format' => array(
3119
  */
3120
 
3121
  new WPCOM_JSON_API_Get_Sharing_Buttons_Endpoint( array(
3122
+ 'description' => 'Get a list of a site\'s sharing buttons.',
3123
  'group' => '__do_not_document',
3124
  'stat' => 'sharing-buttons',
3125
  'method' => 'GET',
3126
  'path' => '/sites/%s/sharing-buttons/',
3127
  'path_labels' => array(
3128
+ '$site' => '(int|string) Site ID or domain',
3129
  ),
3130
  'query_parameters' => array(
3131
  'enabled_only' => '(bool) If true, only enabled sharing buttons are included in the response',
3156
  ) );
3157
 
3158
  new WPCOM_JSON_API_Get_Sharing_Button_Endpoint( array(
3159
+ 'description' => 'Get information about a single sharing button.',
3160
  'group' => '__do_not_document',
3161
  'stat' => 'sharing-buttons:1',
3162
  'method' => 'GET',
3163
  'path' => '/sites/%s/sharing-buttons/%s',
3164
  'path_labels' => array(
3165
+ '$site' => '(int|string) Site ID or domain',
3166
  '$button_id' => '(string) The button ID',
3167
  ),
3168
  'response_format' => array(
3172
  'URL' => '(string) The URL pattern defined for a custom sharing button',
3173
  'icon' => '(string) URL to the 16x16 icon defined for a custom sharing button',
3174
  'genericon' => '(string) Icon character in Genericons icon set',
3175
+ 'custom' => '(bool) Is the button a user-created custom sharing button?',
3176
+ 'enabled' => '(bool) Is the button currently enabled for the site?',
3177
  'visibility' => '(string) If enabled, the current visibility of the sharing button, either "visible" or "hidden"',
3178
  ),
3179
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/sharing-buttons/facebook',
3191
  }'
3192
  ) );
3193
 
3194
+ new WPCOM_JSON_API_Update_Sharing_Buttons_Endpoint( array(
3195
+ 'description' => 'Edit all sharing buttons for a site.',
3196
+ 'group' => '__do_not_document',
3197
+ 'stat' => 'sharing-buttons:X:POST',
3198
+ 'method' => 'POST',
3199
+ 'path' => '/sites/%s/sharing-buttons',
3200
+ 'path_labels' => array(
3201
+ '$site' => '(int|string) Site ID or domain',
3202
+ ),
3203
+ 'request_format' => array(
3204
+ 'sharing_buttons' => '(array:sharing_button) An array of sharing button objects',
3205
+ ),
3206
+ 'response_format' => array(
3207
+ 'success' => '(bool) Confirmation that all sharing buttons were updated as specified',
3208
+ 'updated' => '(array) An array of updated sharing buttons',
3209
+ ),
3210
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/sharing-buttons',
3211
+ 'example_request_data' => array(
3212
+ 'headers' => array(
3213
+ 'authorization' => 'Bearer YOUR_API_TOKEN',
3214
+ ),
3215
+ 'body' => array(
3216
+ 'sharing_buttons' => array(
3217
+ array(
3218
+ 'ID' => 'facebook',
3219
+ 'visibility' => 'hidden',
3220
+ )
3221
+ )
3222
+ )
3223
+ ),
3224
+ 'example_response' => '{
3225
+ "success": true,
3226
+ "updated": [
3227
+ {
3228
+ "ID": "facebook"
3229
+ "name": "Facebook"
3230
+ "shortname": "facebook"
3231
+ "custom": false
3232
+ "enabled": true,
3233
+ "visibility": "hidden",
3234
+ "genericon": "\f204"
3235
+ }
3236
+ ]
3237
+ }'
3238
+ ) );
3239
+
3240
  new WPCOM_JSON_API_Update_Sharing_Button_Endpoint( array(
3241
+ 'description' => 'Create a new custom sharing button.',
3242
  'group' => '__do_not_document',
3243
  'stat' => 'sharing-buttons:new',
3244
  'method' => 'POST',
3245
  'path' => '/sites/%s/sharing-buttons/new',
3246
  'path_labels' => array(
3247
+ '$site' => '(int|string) Site ID or domain',
3248
  ),
3249
  'request_format' => array(
3250
  'name' => '(string) The name for your custom sharing button, used as a label on the button itself',
3251
  'URL' => '(string) The URL to use for share links, including optional placeholders (%post_title%, %post_url%, %post_full_url%, %post_excerpt%, %post_tags%)',
3252
  'icon' => '(string) The full URL to a 16x16 icon to display on the sharing button',
3253
+ 'enabled' => '(bool) Is the button currently enabled for the site?',
3254
  'visibility' => '(string) If enabled, the visibility of the sharing button, either "visible" (default) or "hidden"',
3255
  ),
3256
  'response_format' => array(
3257
+ 'ID' => '(string) Sharing button ID',
3258
  'name' => '(string) Sharing button name, used as a label on the button itself',
3259
  'shortname' => '(string) A generated short name for the sharing button',
3260
  'URL' => '(string) The URL pattern defined for a custom sharing button',
3261
  'icon' => '(string) URL to the 16x16 icon defined for a custom sharing button',
3262
  'genericon' => '(string) Icon character in Genericons icon set',
3263
+ 'custom' => '(bool) Is the button a user-created custom sharing button?',
3264
+ 'enabled' => '(bool) Is the button currently enabled for the site?',
3265
  'visibility' => '(string) If enabled, the current visibility of the sharing button, either "visible" or "hidden"',
3266
  ),
3267
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/sharing-buttons/new/',
3290
  ) );
3291
 
3292
  new WPCOM_JSON_API_Update_Sharing_Button_Endpoint( array(
3293
+ 'description' => 'Edit a sharing button.',
3294
  'group' => '__do_not_document',
3295
  'stat' => 'sharing-buttons:1:POST',
3296
  'method' => 'POST',
3297
  'path' => '/sites/%s/sharing-buttons/%s',
3298
  'path_labels' => array(
3299
+ '$site' => '(int|string) Site ID or domain',
3300
  '$button_id' => '(string) The button ID',
3301
  ),
3302
  'request_format' => array(
3303
  'name' => '(string) Only if a custom sharing button, a new name used as a label on the button itself',
3304
  'URL' => '(string) Only if a custom sharing button, the URL to use for share links, including optional placeholders (%post_title%, %post_url%, %post_full_url%, %post_excerpt%, %post_tags%)',
3305
  'icon' => '(string) Only if a custom sharing button, the full URL to a 16x16 icon to display on the sharing button',
3306
+ 'enabled' => '(bool) Is the button currently enabled for the site?',
3307
  'visibility' => '(string) If enabled, the visibility of the sharing button, either "visible" (default) or "hidden"',
3308
  ),
3309
  'response_format' => array(
3310
+ 'ID' => '(string) Sharing button ID',
3311
  'name' => '(string) Sharing button name, used as a label on the button itself',
3312
  'shortname' => '(string) A generated short name for the sharing button',
3313
  'URL' => '(string) The URL pattern defined for a custom sharing button',
3314
  'icon' => '(string) URL to the 16x16 icon defined for a custom sharing button',
3315
  'genericon' => '(string) Icon character in Genericons icon set',
3316
+ 'custom' => '(bool) Is the button a user-created custom sharing button?',
3317
+ 'enabled' => '(bool) Is the button currently enabled for the site?',
3318
  'visibility' => '(string) If enabled, the current visibility of the sharing button, either "visible" or "hidden"',
3319
  ),
3320
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/sharing-buttons/custom-123456789/',
3338
  ) );
3339
 
3340
  new WPCOM_JSON_API_Delete_Sharing_Button_Endpoint( array(
3341
+ 'description' => 'Delete a custom sharing button.',
3342
  'group' => '__do_not_document',
3343
  'stat' => 'sharing-buttons:1:delete',
3344
  'method' => 'POST',
3345
  'path' => '/sites/%s/sharing-buttons/%s/delete',
3346
  'path_labels' => array(
3347
+ '$site' => '(int|string) Site ID or domain',
3348
  '$button_id' => '(string) The button ID',
3349
  ),
3350
  'response_format' => array(
json-endpoints/class.wpcom-json-api-get-site-endpoint.php CHANGED
@@ -16,7 +16,7 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
16
  'visible' => '(bool) If this site is visible in the user\'s site list',
17
  'is_private' => '(bool) If the site is a private site or not',
18
  'is_following' => '(bool) If the current user is subscribed to this site in the reader',
19
- 'options' => '(array) An array of options/settings for the blog. Only viewable by users with access to the site. Note: Post formats is deprecated, please see /sites/$id/post-formats/',
20
  'meta' => '(object) Meta data',
21
  );
22
 
@@ -138,12 +138,6 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
138
  if( is_jetpack_site() ) {
139
 
140
  $site_icon_url = get_option( 'jetpack_site_icon_url' );
141
- if( ! $site_icon_url ) {
142
- $site_icon_url = get_option( 'site_icon_url' );
143
- } else {
144
- // clean up site_icon_url was only set during 3.3 beta 2 of jetpack
145
- delete_option( 'site_icon_url' );
146
- }
147
  if( $site_icon_url ) {
148
  $response[ $key ] = array(
149
  'img' => (string) jetpack_photon_url( $site_icon_url, array() , 'https' ),
@@ -238,6 +232,14 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
238
  }
239
  }
240
 
 
 
 
 
 
 
 
 
241
  if ( function_exists( 'get_mime_types' ) ) {
242
  $allowed_file_types = get_mime_types();
243
  } else {
@@ -265,8 +267,10 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
265
  'login_url' => wp_login_url(),
266
  'admin_url' => get_admin_url(),
267
  'is_mapped_domain' => $is_mapped_domain,
 
268
  'unmapped_url' => get_site_url( $blog_id ),
269
  'featured_images_enabled' => current_theme_supports( 'post-thumbnails' ),
 
270
  'header_image' => get_theme_mod( 'header_image_data' ),
271
  'background_color' => get_theme_mod( 'background_color' ),
272
  'image_default_link_type' => get_option( 'image_default_link_type' ),
@@ -296,16 +300,20 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
296
  if ( $is_jetpack ) {
297
  $response['options']['jetpack_version'] = get_option( 'jetpack_version' );
298
 
 
 
 
 
 
 
299
  if( get_option( 'jetpack_main_network_site' ) ) {
300
  $response['options']['main_network_site'] = (string) rtrim( get_option( 'jetpack_main_network_site' ), '/' );
301
- delete_option( 'main_network_site' ); // clean up after on self
302
- } elseif( get_option( 'main_network_site' ) ) { // This was only set for 3.3 beta 2 sites and should be removed after
303
- $response['options']['main_network_site'] = (string) rtrim( get_option( 'main_network_site' ), '/' );
304
  }
305
 
306
  // Sites have to prove that they are not main_network site.
307
  // If the sync happends right then we should be able to see that we are not dealing with a network site
308
  $response['options']['is_multi_network'] = (bool) get_option( 'jetpack_is_main_network', true );
 
309
 
310
  }
311
 
@@ -375,7 +383,7 @@ class WPCOM_JSON_API_List_Post_Formats_Endpoint extends WPCOM_JSON_API_Endpoint
375
  }
376
 
377
  class WPCOM_JSON_API_List_Post_Types_Endpoint extends WPCOM_JSON_API_Endpoint {
378
- static $post_type_keys_to_include = array( 'name', 'label', 'description' );
379
 
380
  // /sites/%s/post-types -> $blog_id
381
  function callback( $path = '', $blog_id = 0 ) {
@@ -421,4 +429,3 @@ class WPCOM_JSON_API_List_Post_Types_Endpoint extends WPCOM_JSON_API_Endpoint {
421
  );
422
  }
423
  }
424
-
16
  'visible' => '(bool) If this site is visible in the user\'s site list',
17
  'is_private' => '(bool) If the site is a private site or not',
18
  'is_following' => '(bool) If the current user is subscribed to this site in the reader',
19
+ 'options' => '(array) An array of options/settings for the blog. Only viewable by users with post editing rights to the site. Note: Post formats is deprecated, please see /sites/$id/post-formats/',
20
  'meta' => '(object) Meta data',
21
  );
22
 
138
  if( is_jetpack_site() ) {
139
 
140
  $site_icon_url = get_option( 'jetpack_site_icon_url' );
 
 
 
 
 
 
141
  if( $site_icon_url ) {
142
  $response[ $key ] = array(
143
  'img' => (string) jetpack_photon_url( $site_icon_url, array() , 'https' ),
232
  }
233
  }
234
 
235
+ $is_redirect = false;
236
+
237
+ if ( function_exists( 'get_primary_domain_mapping_record' ) ) {
238
+ if ( get_primary_domain_mapping_record()->type == 1 ) {
239
+ $is_redirect = true;
240
+ }
241
+ }
242
+
243
  if ( function_exists( 'get_mime_types' ) ) {
244
  $allowed_file_types = get_mime_types();
245
  } else {
267
  'login_url' => wp_login_url(),
268
  'admin_url' => get_admin_url(),
269
  'is_mapped_domain' => $is_mapped_domain,
270
+ 'is_redirect' => $is_redirect,
271
  'unmapped_url' => get_site_url( $blog_id ),
272
  'featured_images_enabled' => current_theme_supports( 'post-thumbnails' ),
273
+ 'theme_slug' => get_option( 'stylesheet' ),
274
  'header_image' => get_theme_mod( 'header_image_data' ),
275
  'background_color' => get_theme_mod( 'background_color' ),
276
  'image_default_link_type' => get_option( 'image_default_link_type' ),
300
  if ( $is_jetpack ) {
301
  $response['options']['jetpack_version'] = get_option( 'jetpack_version' );
302
 
303
+ // If we are not on WPCOM, force WordPress to re-calculate available updates.
304
+ if ( ! defined( 'IS_WPCOM' ) || ! IS_WPCOM ) {
305
+ wp_get_update_data();
306
+ }
307
+ $response['options']['updates'] = Jetpack_Options::get_option( 'updates', array() );
308
+
309
  if( get_option( 'jetpack_main_network_site' ) ) {
310
  $response['options']['main_network_site'] = (string) rtrim( get_option( 'jetpack_main_network_site' ), '/' );
 
 
 
311
  }
312
 
313
  // Sites have to prove that they are not main_network site.
314
  // If the sync happends right then we should be able to see that we are not dealing with a network site
315
  $response['options']['is_multi_network'] = (bool) get_option( 'jetpack_is_main_network', true );
316
+ $response['options']['is_multi_site'] = (bool) get_option( 'jetpack_is_multi_site', true );
317
 
318
  }
319
 
383
  }
384
 
385
  class WPCOM_JSON_API_List_Post_Types_Endpoint extends WPCOM_JSON_API_Endpoint {
386
+ static $post_type_keys_to_include = array( 'name', 'label', 'description', 'map_meta_cap' );
387
 
388
  // /sites/%s/post-types -> $blog_id
389
  function callback( $path = '', $blog_id = 0 ) {
429
  );
430
  }
431
  }
 
json-endpoints/class.wpcom-json-api-list-media-v1-1-endpoint.php CHANGED
@@ -2,6 +2,9 @@
2
 
3
  class WPCOM_JSON_API_List_Media_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint {
4
 
 
 
 
5
  function callback( $path = '', $blog_id = 0 ) {
6
  $blog_id = $this->api->switch_to_blog_and_validate_user( $this->api->get_blog_id( $blog_id ) );
7
  if ( is_wp_error( $blog_id ) ) {
@@ -14,6 +17,7 @@ class WPCOM_JSON_API_List_Media_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint {
14
  }
15
 
16
  $args = $this->query_args();
 
17
 
18
  if ( $args['number'] < 1 ) {
19
  $args['number'] = 20;
@@ -21,14 +25,73 @@ class WPCOM_JSON_API_List_Media_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint {
21
  return new WP_Error( 'invalid_number', 'The NUMBER parameter must be less than or equal to 100.', 400 );
22
  }
23
 
24
- $media = new WP_Query( array(
 
 
 
 
 
 
 
25
  'post_type' => 'attachment',
26
  'post_status' => 'inherit',
27
  'post_parent' => $args['parent_id'],
28
  'offset' => $args['offset'],
29
  'posts_per_page' => $args['number'],
30
- 'post_mime_type' => $args['mime_type']
31
- ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
 
33
  $response = array();
34
  foreach ( $media->posts as $item ) {
@@ -40,7 +103,135 @@ class WPCOM_JSON_API_List_Media_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint {
40
  'media' => $response
41
  );
42
 
 
 
 
 
 
 
 
 
 
 
43
  return $return;
44
  }
45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  }
2
 
3
  class WPCOM_JSON_API_List_Media_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint {
4
 
5
+ var $date_range = array();
6
+ var $page_handle = array();
7
+
8
  function callback( $path = '', $blog_id = 0 ) {
9
  $blog_id = $this->api->switch_to_blog_and_validate_user( $this->api->get_blog_id( $blog_id ) );
10
  if ( is_wp_error( $blog_id ) ) {
17
  }
18
 
19
  $args = $this->query_args();
20
+ $is_eligible_for_page_handle = true;
21
 
22
  if ( $args['number'] < 1 ) {
23
  $args['number'] = 20;
25
  return new WP_Error( 'invalid_number', 'The NUMBER parameter must be less than or equal to 100.', 400 );
26
  }
27
 
28
+ if ( isset( $args['before'] ) ) {
29
+ $this->date_range['before'] = $args['before'];
30
+ }
31
+ if ( isset( $args['after'] ) ) {
32
+ $this->date_range['after'] = $args['after'];
33
+ }
34
+
35
+ $query = array(
36
  'post_type' => 'attachment',
37
  'post_status' => 'inherit',
38
  'post_parent' => $args['parent_id'],
39
  'offset' => $args['offset'],
40
  'posts_per_page' => $args['number'],
41
+ 'post_mime_type' => $args['mime_type'],
42
+ 'order' => $args['order'],
43
+ 'orderby' => $args['order_by'],
44
+ 's' => isset( $args['search'] ) ? $args['search'] : null,
45
+ );
46
+
47
+ if ( isset( $args['page'] ) ) {
48
+ if ( $args['page'] < 1 ) {
49
+ $args['page'] = 1;
50
+ }
51
+
52
+ $query['paged'] = $args['page'];
53
+ if ( $query['paged'] !== 1 ) {
54
+ $is_eligible_for_page_handle = false;
55
+ }
56
+ } else {
57
+ if ( $args['offset'] < 0 ) {
58
+ $args['offset'] = 0;
59
+ }
60
+
61
+ $query['offset'] = $args['offset'];
62
+ if ( $query['offset'] !== 0 ) {
63
+ $is_eligible_for_page_handle = false;
64
+ }
65
+ }
66
+
67
+ if ( isset( $args['page_handle'] ) ) {
68
+ $page_handle = wp_parse_args( $args['page_handle'] );
69
+ if ( isset( $page_handle['value'] ) && isset( $page_handle['id'] ) ) {
70
+ // we have a valid looking page handle
71
+ $this->page_handle = $page_handle;
72
+ add_filter( 'posts_where', array( $this, 'handle_where_for_page_handle' ) );
73
+ }
74
+ }
75
+
76
+ if ( $this->date_range ) {
77
+ add_filter( 'posts_where', array( $this, 'handle_date_range' ) );
78
+ }
79
+
80
+ $this->performed_query = $query;
81
+ add_filter( 'posts_orderby', array( $this, 'handle_orderby_for_page_handle' ) );
82
+
83
+ $media = new WP_Query( $query );
84
+
85
+ remove_filter( 'posts_orderby', array( $this, 'handle_orderby_for_page_handle' ) );
86
+
87
+ if ( $this->date_range ) {
88
+ remove_filter( 'posts_where', array( $this, 'handle_date_range' ) );
89
+ $this->date_range = array();
90
+ }
91
+
92
+ if ( $this->page_handle ) {
93
+ remove_filter( 'posts_where', array( $this, 'handle_where_for_page_handle' ) );
94
+ }
95
 
96
  $response = array();
97
  foreach ( $media->posts as $item ) {
103
  'media' => $response
104
  );
105
 
106
+ if ( $is_eligible_for_page_handle && $return['media'] ) {
107
+ $last_post = end( $return['media'] );
108
+ reset( $return['media'] );
109
+
110
+ if ( ( $return['found'] > count( $return['media'] ) ) && $last_post ) {
111
+ $return['meta'] = array();
112
+ $return['meta']['next_page'] = $this->build_page_handle( $last_post, $query );
113
+ }
114
+ }
115
+
116
  return $return;
117
  }
118
 
119
+ function build_page_handle( $post, $query ) {
120
+ $column = $query['orderby'];
121
+ if ( ! $column ) {
122
+ $column = 'date';
123
+ }
124
+ return build_query( array( 'value' => urlencode( $post->$column ), 'id' => $post->ID ) );
125
+ }
126
+
127
+ function handle_where_for_page_handle( $where ) {
128
+ global $wpdb;
129
+
130
+ $column = $this->performed_query['orderby'];
131
+ if ( ! $column ) {
132
+ $column = 'date';
133
+ }
134
+ $order = $this->performed_query['order'];
135
+ if ( ! $order ) {
136
+ $order = 'DESC';
137
+ }
138
+
139
+ if ( ! in_array( $column, array( 'ID', 'title', 'date', 'modified', 'comment_count' ) ) ) {
140
+ return $where;
141
+ }
142
+
143
+ if ( ! in_array( $order, array( 'DESC', 'ASC' ) ) ) {
144
+ return $where;
145
+ }
146
+
147
+ $db_column = '';
148
+ $db_value = '';
149
+ switch( $column ) {
150
+ case 'ID':
151
+ $db_column = 'ID';
152
+ $db_value = '%d';
153
+ break;
154
+ case 'title':
155
+ $db_column = 'post_title';
156
+ $db_value = '%s';
157
+ break;
158
+ case 'date':
159
+ $db_column = 'post_date';
160
+ $db_value = 'CAST( %s as DATETIME )';
161
+ break;
162
+ case 'modified':
163
+ $db_column = 'post_modified';
164
+ $db_value = 'CAST( %s as DATETIME )';
165
+ break;
166
+ case 'comment_count':
167
+ $db_column = 'comment_count';
168
+ $db_value = '%d';
169
+ break;
170
+ }
171
+
172
+ if ( 'DESC'=== $order ) {
173
+ $db_order = '<';
174
+ } else {
175
+ $db_order = '>';
176
+ }
177
+
178
+ // Add a clause that limits the results to items beyond the passed item, or equivalent to the passed item
179
+ // but with an ID beyond the passed item. When we're ordering by the ID already, we only ask for items
180
+ // beyond the passed item.
181
+ $where .= $wpdb->prepare( " AND ( ( `$wpdb->posts`.`$db_column` $db_order $db_value ) ", $this->page_handle['value'] );
182
+ if ( $db_column !== 'ID' ) {
183
+ $where .= $wpdb->prepare( "OR ( `$wpdb->posts`.`$db_column` = $db_value AND `$wpdb->posts`.ID $db_order %d )", $this->page_handle['value'], $this->page_handle['id'] );
184
+ }
185
+ $where .= ' )';
186
+
187
+ return $where;
188
+ }
189
+
190
+ function handle_date_range( $where ) {
191
+ global $wpdb;
192
+
193
+ switch ( count( $this->date_range ) ) {
194
+ case 2 :
195
+ $where .= $wpdb->prepare(
196
+ " AND `$wpdb->posts`.post_date BETWEEN CAST( %s AS DATETIME ) AND CAST( %s AS DATETIME ) ",
197
+ $this->date_range['after'],
198
+ $this->date_range['before']
199
+ );
200
+ break;
201
+ case 1 :
202
+ if ( isset( $this->date_range['before'] ) ) {
203
+ $where .= $wpdb->prepare(
204
+ " AND `$wpdb->posts`.post_date <= CAST( %s AS DATETIME ) ",
205
+ $this->date_range['before']
206
+ );
207
+ } else {
208
+ $where .= $wpdb->prepare(
209
+ " AND `$wpdb->posts`.post_date >= CAST( %s AS DATETIME ) ",
210
+ $this->date_range['after']
211
+ );
212
+ }
213
+ break;
214
+ }
215
+
216
+ return $where;
217
+ }
218
+
219
+ function handle_orderby_for_page_handle( $orderby ) {
220
+ global $wpdb;
221
+ if ( $this->performed_query['orderby'] === 'ID' ) {
222
+ // bail if we're already ordering by ID
223
+ return $orderby;
224
+ }
225
+
226
+ if ( $orderby ) {
227
+ $orderby .= ' ,';
228
+ }
229
+ $order = $this->performed_query['order'];
230
+ if ( ! $order ) {
231
+ $order = 'DESC';
232
+ }
233
+ $orderby .= " `$wpdb->posts`.ID $order";
234
+ return $orderby;
235
+ }
236
+
237
  }
json-endpoints/class.wpcom-json-api-list-posts-endpoint.php CHANGED
@@ -36,17 +36,72 @@ class WPCOM_JSON_API_List_Posts_Endpoint extends WPCOM_JSON_API_Post_Endpoint {
36
  }
37
  }
38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  $query = array(
40
  'posts_per_page' => $args['number'],
41
  'order' => $args['order'],
42
  'orderby' => $args['order_by'],
43
- 'post_type' => isset( $args['type'] ) ? $args['type'] : null,
44
- 'post_status' => $args['status'],
45
  'post_parent' => isset( $args['parent_id'] ) ? $args['parent_id'] : null,
46
  'author' => isset( $args['author'] ) && 0 < $args['author'] ? $args['author'] : null,
47
  's' => isset( $args['search'] ) ? $args['search'] : null,
 
48
  );
49
 
 
 
 
 
50
  if ( isset( $args['meta_key'] ) ) {
51
  $show = false;
52
  if ( $this->is_metadata_public( $args['meta_key'] ) )
@@ -86,6 +141,24 @@ class WPCOM_JSON_API_List_Posts_Endpoint extends WPCOM_JSON_API_Post_Endpoint {
86
  $query['post__not_in'] = array_merge( $query['post__not_in'], (array) $args['exclude'] );
87
  }
88
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
  if ( isset( $args['category'] ) ) {
90
  $category = get_term_by( 'slug', $args['category'], 'category' );
91
  if ( $category === false) {
@@ -148,20 +221,10 @@ class WPCOM_JSON_API_List_Posts_Endpoint extends WPCOM_JSON_API_Post_Endpoint {
148
  $return[$key] = (int) $wp_query->found_posts;
149
  break;
150
  case 'posts' :
151
- if ( isset( $args['exclude_tree'] ) && is_post_type_hierarchical( $args['type'] ) ) {
152
- // get_page_children is a misnomer; it supports all hierarchical post types
153
- $post_descendants = get_page_children( $args['exclude_tree'], $wp_query->posts );
154
- $exclude_tree = array( $args['exclude_tree'] );
155
- foreach ( $post_descendants as $child ) {
156
- $exclude_tree[] = $child->ID;
157
- }
158
- }
159
-
160
  $posts = array();
161
- foreach ( $wp_query->posts as $post ) {
162
- $the_post = $this->get_post_by( 'ID', $post->ID, $args['context'] );
163
- $is_excluded_from_tree = isset( $exclude_tree ) && in_array( $post->ID, $exclude_tree );
164
- if ( $the_post && ! is_wp_error( $the_post ) && ! $is_excluded_from_tree ) {
165
  $posts[] = $the_post;
166
  } else {
167
  $excluded_count++;
36
  }
37
  }
38
 
39
+ // determine statuses
40
+ $status = $args['status'];
41
+ $status = ( $status ) ? explode( ',', $status ) : array( 'publish' );
42
+ if ( is_user_logged_in() ) {
43
+ $statuses_whitelist = array(
44
+ 'publish',
45
+ 'pending',
46
+ 'draft',
47
+ 'future',
48
+ 'private',
49
+ 'trash',
50
+ 'any',
51
+ );
52
+ $status = array_intersect( $status, $statuses_whitelist );
53
+ } else {
54
+ // logged-out users can see only published posts
55
+ $statuses_whitelist = array( 'publish', 'any' );
56
+ $status = array_intersect( $status, $statuses_whitelist );
57
+
58
+ if ( empty( $status ) ) {
59
+ // requested only protected statuses? nothing for you here
60
+ return array( 'found' => 0, 'posts' => array() );
61
+ }
62
+ // clear it (AKA published only) because "any" includes protected
63
+ $status = array();
64
+ }
65
+
66
+ // let's be explicit about defaulting to 'post'
67
+ $args['type'] = isset( $args['type'] ) ? $args['type'] : 'post';
68
+
69
+ // make sure the user can read or edit the requested post type(s)
70
+ if ( is_array( $args['type'] ) ) {
71
+ $allowed_types = array();
72
+ foreach ( $args['type'] as $post_type ) {
73
+ if ( $this->current_user_can_access_post_type( $post_type, $args['context'] ) ) {
74
+ $allowed_types[] = $post_type;
75
+ }
76
+ }
77
+
78
+ if ( empty( $allowed_types ) ) {
79
+ return array( 'found' => 0, 'posts' => array() );
80
+ }
81
+ $args['type'] = $allowed_types;
82
+ }
83
+ else {
84
+ if ( ! $this->current_user_can_access_post_type( $args['type'], $args['context'] ) ) {
85
+ return array( 'found' => 0, 'posts' => array() );
86
+ }
87
+ }
88
+
89
  $query = array(
90
  'posts_per_page' => $args['number'],
91
  'order' => $args['order'],
92
  'orderby' => $args['order_by'],
93
+ 'post_type' => $args['type'],
94
+ 'post_status' => $status,
95
  'post_parent' => isset( $args['parent_id'] ) ? $args['parent_id'] : null,
96
  'author' => isset( $args['author'] ) && 0 < $args['author'] ? $args['author'] : null,
97
  's' => isset( $args['search'] ) ? $args['search'] : null,
98
+ 'fields' => 'ids',
99
  );
100
 
101
+ if ( ! is_user_logged_in () ) {
102
+ $query['has_password'] = false;
103
+ }
104
+
105
  if ( isset( $args['meta_key'] ) ) {
106
  $show = false;
107
  if ( $this->is_metadata_public( $args['meta_key'] ) )
141
  $query['post__not_in'] = array_merge( $query['post__not_in'], (array) $args['exclude'] );
142
  }
143
 
144
+ if ( isset( $args['exclude_tree'] ) && is_post_type_hierarchical( $args['type'] ) ) {
145
+ // get_page_children is a misnomer; it supports all hierarchical post types
146
+ $page_args = array(
147
+ 'child_of' => $args['exclude_tree'],
148
+ 'post_type' => $args['type'],
149
+ // since we're looking for things to exclude, be aggressive
150
+ 'post_status' => 'publish,draft,pending,private,future,trash',
151
+ );
152
+ $post_descendants = get_pages( $page_args );
153
+
154
+ $exclude_tree = array( $args['exclude_tree'] );
155
+ foreach ( $post_descendants as $child ) {
156
+ $exclude_tree[] = $child->ID;
157
+ }
158
+
159
+ $query['post__not_in'] = isset( $query['post__not_in'] ) ? array_merge( $query['post__not_in'], $exclude_tree ) : $exclude_tree;
160
+ }
161
+
162
  if ( isset( $args['category'] ) ) {
163
  $category = get_term_by( 'slug', $args['category'], 'category' );
164
  if ( $category === false) {
221
  $return[$key] = (int) $wp_query->found_posts;
222
  break;
223
  case 'posts' :
 
 
 
 
 
 
 
 
 
224
  $posts = array();
225
+ foreach ( $wp_query->posts as $post_ID ) {
226
+ $the_post = $this->get_post_by( 'ID', $post_ID, $args['context'] );
227
+ if ( $the_post && ! is_wp_error( $the_post ) ) {
 
228
  $posts[] = $the_post;
229
  } else {
230
  $excluded_count++;
json-endpoints/class.wpcom-json-api-list-posts-v1-1-endpoint.php CHANGED
@@ -43,31 +43,76 @@ class WPCOM_JSON_API_List_Posts_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_E
43
  // determine statuses
44
  $status = $args['status'];
45
  $status = ( $status ) ? explode( ',', $status ) : array( 'publish' );
46
- if ( in_array( 'any', $status ) ) {
47
- $status = array();
48
- } else {
49
  $statuses_whitelist = array(
50
  'publish',
51
- 'trash',
52
  'pending',
53
  'draft',
54
  'future',
55
  'private',
 
 
56
  );
57
  $status = array_intersect( $status, $statuses_whitelist );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  }
59
 
 
60
  $query = array(
61
  'posts_per_page' => $args['number'],
62
  'order' => $args['order'],
63
  'orderby' => $args['order_by'],
64
- 'post_type' => isset( $args['type'] ) ? $args['type'] : null,
65
  'post_status' => $status,
66
  'post_parent' => isset( $args['parent_id'] ) ? $args['parent_id'] : null,
67
  'author' => isset( $args['author'] ) && 0 < $args['author'] ? $args['author'] : null,
68
  's' => isset( $args['search'] ) ? $args['search'] : null,
 
69
  );
70
 
 
 
 
 
71
  if ( isset( $args['meta_key'] ) ) {
72
  $show = false;
73
  if ( $this->is_metadata_public( $args['meta_key'] ) )
@@ -92,6 +137,11 @@ class WPCOM_JSON_API_List_Posts_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_E
92
  if ( is_array( $sticky ) ) {
93
  $query['post__not_in'] = $sticky;
94
  }
 
 
 
 
 
95
  }
96
 
97
  if ( isset( $args['exclude'] ) ) {
@@ -99,6 +149,24 @@ class WPCOM_JSON_API_List_Posts_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_E
99
  $query['post__not_in'] = isset( $query['post__not_in'] ) ? array_merge( $query['post__not_in'], $excluded_ids ) : $excluded_ids;
100
  }
101
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
  if ( isset( $args['category'] ) ) {
103
  $category = get_term_by( 'slug', $args['category'], 'category' );
104
  if ( $category === false) {
@@ -139,11 +207,11 @@ class WPCOM_JSON_API_List_Posts_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_E
139
  $this->date_range['after'] = $args['after'];
140
  }
141
 
142
- if ( isset ( $args['modified_before'] ) ) {
143
- $this->modified_range['before'] = $args['modified_before'];
144
  }
145
- if ( isset ( $args['modified_after'] ) ) {
146
- $this->modified_range['after'] = $args['modified_after'];
147
  }
148
 
149
  if ( $this->date_range ) {
@@ -154,7 +222,7 @@ class WPCOM_JSON_API_List_Posts_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_E
154
  add_filter( 'posts_where', array( $this, 'handle_modified_range' ) );
155
  }
156
 
157
- if ( isset ( $args['page_handle'] ) ) {
158
  $page_handle = wp_parse_args( $args['page_handle'] );
159
  if ( isset( $page_handle['value'] ) && isset( $page_handle['id'] ) ) {
160
  // we have a valid looking page handle
@@ -185,6 +253,11 @@ class WPCOM_JSON_API_List_Posts_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_E
185
  $this->date_range = array();
186
  }
187
 
 
 
 
 
 
188
  if ( $this->page_handle ) {
189
  remove_filter( 'posts_where', array( $this, 'handle_where_for_page_handle' ) );
190
 
@@ -198,20 +271,10 @@ class WPCOM_JSON_API_List_Posts_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_E
198
  $return[$key] = (int) $wp_query->found_posts;
199
  break;
200
  case 'posts' :
201
- if ( isset( $args['exclude_tree'] ) && is_post_type_hierarchical( $args['type'] ) ) {
202
- // get_page_children is a misnomer; it supports all hierarchical post types
203
- $post_descendants = get_page_children( $args['exclude_tree'], $wp_query->posts );
204
- $exclude_tree = array( $args['exclude_tree'] );
205
- foreach ( $post_descendants as $child ) {
206
- $exclude_tree[] = $child->ID;
207
- }
208
- }
209
-
210
  $posts = array();
211
- foreach ( $wp_query->posts as $post ) {
212
- $the_post = $this->get_post_by( 'ID', $post->ID, $args['context'] );
213
- $is_excluded_from_tree = isset( $exclude_tree ) && in_array( $post->ID, $exclude_tree );
214
- if ( $the_post && ! is_wp_error( $the_post ) && ! $is_excluded_from_tree ) {
215
  $posts[] = $the_post;
216
  } else {
217
  $excluded_count++;
43
  // determine statuses
44
  $status = $args['status'];
45
  $status = ( $status ) ? explode( ',', $status ) : array( 'publish' );
46
+ if ( is_user_logged_in() ) {
 
 
47
  $statuses_whitelist = array(
48
  'publish',
 
49
  'pending',
50
  'draft',
51
  'future',
52
  'private',
53
+ 'trash',
54
+ 'any',
55
  );
56
  $status = array_intersect( $status, $statuses_whitelist );
57
+ } else {
58
+ // logged-out users can see only published posts
59
+ $statuses_whitelist = array( 'publish', 'any' );
60
+ $status = array_intersect( $status, $statuses_whitelist );
61
+
62
+ if ( empty( $status ) ) {
63
+ // requested only protected statuses? nothing for you here
64
+ return array( 'found' => 0, 'posts' => array() );
65
+ }
66
+ // clear it (AKA published only) because "any" includes protected
67
+ $status = array();
68
+ }
69
+
70
+ if ( isset( $args['type'] ) &&
71
+ ! in_array( $args['type'], array( 'post', 'page', 'revision', 'any' ) ) &&
72
+ defined( 'IS_WPCOM' ) && IS_WPCOM ) {
73
+ $this->load_theme_functions();
74
+ }
75
+
76
+ // let's be explicit about defaulting to 'post'
77
+ $args['type'] = isset( $args['type'] ) ? $args['type'] : 'post';
78
+
79
+ // make sure the user can read or edit the requested post type(s)
80
+ if ( is_array( $args['type'] ) ) {
81
+ $allowed_types = array();
82
+ foreach ( $args['type'] as $post_type ) {
83
+ if ( $this->current_user_can_access_post_type( $post_type, $args['context'] ) ) {
84
+ $allowed_types[] = $post_type;
85
+ }
86
+ }
87
+
88
+ if ( empty( $allowed_types ) ) {
89
+ return array( 'found' => 0, 'posts' => array() );
90
+ }
91
+ $args['type'] = $allowed_types;
92
+ }
93
+ else {
94
+ if ( ! $this->current_user_can_access_post_type( $args['type'], $args['context'] ) ) {
95
+ return array( 'found' => 0, 'posts' => array() );
96
+ }
97
  }
98
 
99
+
100
  $query = array(
101
  'posts_per_page' => $args['number'],
102
  'order' => $args['order'],
103
  'orderby' => $args['order_by'],
104
+ 'post_type' => $args['type'],
105
  'post_status' => $status,
106
  'post_parent' => isset( $args['parent_id'] ) ? $args['parent_id'] : null,
107
  'author' => isset( $args['author'] ) && 0 < $args['author'] ? $args['author'] : null,
108
  's' => isset( $args['search'] ) ? $args['search'] : null,
109
+ 'fields' => 'ids',
110
  );
111
 
112
+ if ( ! is_user_logged_in () ) {
113
+ $query['has_password'] = false;
114
+ }
115
+
116
  if ( isset( $args['meta_key'] ) ) {
117
  $show = false;
118
  if ( $this->is_metadata_public( $args['meta_key'] ) )
137
  if ( is_array( $sticky ) ) {
138
  $query['post__not_in'] = $sticky;
139
  }
140
+ } else if ( $args['sticky'] === 'require' ) {
141
+ $sticky = get_option( 'sticky_posts' );
142
+ if ( is_array( $sticky ) ) {
143
+ $query['post__in'] = $sticky;
144
+ }
145
  }
146
 
147
  if ( isset( $args['exclude'] ) ) {
149
  $query['post__not_in'] = isset( $query['post__not_in'] ) ? array_merge( $query['post__not_in'], $excluded_ids ) : $excluded_ids;
150
  }
151
 
152
+ if ( isset( $args['exclude_tree'] ) && is_post_type_hierarchical( $args['type'] ) ) {
153
+ // get_page_children is a misnomer; it supports all hierarchical post types
154
+ $page_args = array(
155
+ 'child_of' => $args['exclude_tree'],
156
+ 'post_type' => $args['type'],
157
+ // since we're looking for things to exclude, be aggressive
158
+ 'post_status' => 'publish,draft,pending,private,future,trash',
159
+ );
160
+ $post_descendants = get_pages( $page_args );
161
+
162
+ $exclude_tree = array( $args['exclude_tree'] );
163
+ foreach ( $post_descendants as $child ) {
164
+ $exclude_tree[] = $child->ID;
165
+ }
166
+
167
+ $query['post__not_in'] = isset( $query['post__not_in'] ) ? array_merge( $query['post__not_in'], $exclude_tree ) : $exclude_tree;
168
+ }
169
+
170
  if ( isset( $args['category'] ) ) {
171
  $category = get_term_by( 'slug', $args['category'], 'category' );
172
  if ( $category === false) {
207
  $this->date_range['after'] = $args['after'];
208
  }
209
 
210
+ if ( isset( $args['modified_before_gmt'] ) ) {
211
+ $this->modified_range['before'] = $args['modified_before_gmt'];
212
  }
213
+ if ( isset( $args['modified_after_gmt'] ) ) {
214
+ $this->modified_range['after'] = $args['modified_after_gmt'];
215
  }
216
 
217
  if ( $this->date_range ) {
222
  add_filter( 'posts_where', array( $this, 'handle_modified_range' ) );
223
  }
224
 
225
+ if ( isset( $args['page_handle'] ) ) {
226
  $page_handle = wp_parse_args( $args['page_handle'] );
227
  if ( isset( $page_handle['value'] ) && isset( $page_handle['id'] ) ) {
228
  // we have a valid looking page handle
253
  $this->date_range = array();
254
  }
255
 
256
+ if ( $this->modified_range ) {
257
+ remove_filter( 'posts_where', array( $this, 'handle_modified_range' ) );
258
+ $this->modified_range = array();
259
+ }
260
+
261
  if ( $this->page_handle ) {
262
  remove_filter( 'posts_where', array( $this, 'handle_where_for_page_handle' ) );
263
 
271
  $return[$key] = (int) $wp_query->found_posts;
272
  break;
273
  case 'posts' :
 
 
 
 
 
 
 
 
 
274
  $posts = array();
275
+ foreach ( $wp_query->posts as $post_ID ) {
276
+ $the_post = $this->get_post_by( 'ID', $post_ID, $args['context'] );
277
+ if ( $the_post && ! is_wp_error( $the_post ) ) {
 
278
  $posts[] = $the_post;
279
  } else {
280
  $excluded_count++;
json-endpoints/class.wpcom-json-api-post-endpoint.php CHANGED
@@ -42,6 +42,7 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
42
  'post_thumbnail' => '(object>attachment) The attachment object for the featured image if it has one.',
43
  'format' => array(), // see constructor
44
  'geo' => '(object>geo|false)',
 
45
  'publicize_URLs' => '(array:URL) Array of Twitter and Facebook URLs published by this post.',
46
  'tags' => '(object:tag) Hash of tags (keyed by tag name) applied to the post.',
47
  'categories' => '(object:category) Hash of categories (keyed by category name) applied to the post.',
@@ -88,7 +89,15 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
88
  return __( 'This post is password protected.', 'jetpack' );
89
  }
90
 
91
- function get_post_by( $field, $post_id, $context = 'display' ) {
 
 
 
 
 
 
 
 
92
  global $blog_id;
93
 
94
  $is_jetpack = true === apply_filters( 'is_jetpack_site', false, $blog_id );
@@ -113,27 +122,18 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
113
 
114
  switch ( $field ) {
115
  case 'name' :
116
- $post_id = sanitize_title( $post_id );
117
- if ( !$post_id ) {
118
- return new WP_Error( 'invalid_post', 'Invalid post', 400 );
119
- }
120
-
121
- $posts = get_posts( array( 'name' => $post_id ) );
122
- if ( !$posts || !isset( $posts[0]->ID ) || !$posts[0]->ID ) {
123
- $page = get_page_by_path( $post_id );
124
- if ( !$page )
125
- return new WP_Error( 'unknown_post', 'Unknown post', 404 );
126
- $post_id = $page->ID;
127
- } else {
128
- $post_id = (int) $posts[0]->ID;
129
  }
130
  break;
131
  default :
132
- $post_id = (int) $post_id;
133
  break;
134
  }
135
 
136
- $post = get_post( $post_id );
 
137
  if ( !$post || is_wp_error( $post ) ) {
138
  return new WP_Error( 'unknown_post', 'Unknown post', 404 );
139
  }
@@ -143,9 +143,11 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
143
  }
144
 
145
  // Permissions
 
 
146
  switch ( $context ) {
147
  case 'edit' :
148
- if ( !current_user_can( 'edit_post', $post->ID ) ) {
149
  return new WP_Error( 'unauthorized', 'User cannot edit post', 403 );
150
  }
151
  break;
@@ -160,8 +162,6 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
160
  return $can_view;
161
  }
162
 
163
- // Re-get post according to the correct $context
164
- $post = get_post( $post->ID, OBJECT, $context );
165
  $GLOBALS['post'] = $post;
166
 
167
  if ( 'display' === $context ) {
@@ -170,8 +170,6 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
170
 
171
  $response = array();
172
 
173
- $capabilities = $this->get_current_user_capabilities( $post );
174
-
175
  foreach ( array_keys( $this->post_object_format ) as $key ) {
176
  switch ( $key ) {
177
  case 'ID' :
@@ -179,10 +177,10 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
179
  $response[$key] = (int) $post->ID;
180
  break;
181
  case 'site_ID' :
182
- $response[$key] = (int) $blog_id;
183
  break;
184
  case 'author' :
185
- $response[$key] = (object) $this->get_author( $post, 'edit' === $context && current_user_can( 'edit_post', $post->ID ) );
186
  break;
187
  case 'date' :
188
  $response[$key] = (string) $this->format_date( $post->post_date_gmt, $post->post_date );
@@ -283,6 +281,7 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
283
  break;
284
  case 'sharing_enabled' :
285
  $show = true;
 
286
  $show = apply_filters( 'sharing_show', $show, $post );
287
 
288
  $switched_status = get_post_meta( $post->ID, 'sharing_disabled', false );
@@ -310,7 +309,7 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
310
  $response[$key] = (string) $this->api->add_global_ID( $blog_id, $post->ID );
311
  break;
312
  case 'featured_image' :
313
- if ( $is_jetpack ) {
314
  $response[ $key ] = get_post_meta( $post->ID, '_jetpack_featured_image', true );
315
  } else {
316
  $image_attributes = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' );
@@ -360,7 +359,7 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
360
  }
361
  // Private
362
  if ( !isset( $geo_data['public'] ) || !$geo_data['public'] ) {
363
- if ( 'edit' !== $context || !current_user_can( 'edit_post', $post->ID ) ) {
364
  // user can't access
365
  $response[$key] = false;
366
  }
@@ -368,6 +367,9 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
368
  }
369
  }
370
  break;
 
 
 
371
  case 'publicize_URLs' :
372
  $publicize_URLs = array();
373
  $publicize = get_post_meta( $post->ID, 'publicize_results', true );
@@ -394,7 +396,7 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
394
  $terms = wp_get_post_tags( $post->ID );
395
  foreach ( $terms as $term ) {
396
  if ( !empty( $term->name ) ) {
397
- $response[$key][$term->name] = $this->format_taxonomy( $term, 'post_tag', $context );
398
  }
399
  }
400
  $response[$key] = (object) $response[$key];
@@ -404,14 +406,14 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
404
  $terms = wp_get_object_terms( $post->ID, 'category', array( 'fields' => 'all' ) );
405
  foreach ( $terms as $term ) {
406
  if ( !empty( $term->name ) ) {
407
- $response[$key][$term->name] = $this->format_taxonomy( $term, 'category', $context );
408
  }
409
  }
410
  $response[$key] = (object) $response[$key];
411
  break;
412
  case 'attachments':
413
  $response[$key] = array();
414
- $_attachments = get_posts( array( 'post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment' ) );
415
  foreach ( $_attachments as $attachment ) {
416
  $response[$key][$attachment->ID] = $this->get_attachment( $attachment );
417
  }
@@ -627,4 +629,36 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
627
  );
628
  }
629
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
630
  }
42
  'post_thumbnail' => '(object>attachment) The attachment object for the featured image if it has one.',
43
  'format' => array(), // see constructor
44
  'geo' => '(object>geo|false)',
45
+ 'menu_order' => '(int) (Pages Only) The order pages should appear in.',
46
  'publicize_URLs' => '(array:URL) Array of Twitter and Facebook URLs published by this post.',
47
  'tags' => '(object:tag) Hash of tags (keyed by tag name) applied to the post.',
48
  'categories' => '(object:category) Hash of categories (keyed by category name) applied to the post.',
89
  return __( 'This post is password protected.', 'jetpack' );
90
  }
91
 
92
+ /**
93
+ * Get a post by a specified field and value
94
+ *
95
+ * @param string $field
96
+ * @param string $field_value
97
+ * @param string $context Post use context (e.g. 'display')
98
+ * @return array Post
99
+ **/
100
+ function get_post_by( $field, $field_value, $context = 'display' ) {
101
  global $blog_id;
102
 
103
  $is_jetpack = true === apply_filters( 'is_jetpack_site', false, $blog_id );
122
 
123
  switch ( $field ) {
124
  case 'name' :
125
+ $post_id = $this->get_post_id_by_name( $field_value );
126
+ if ( is_wp_error( $post_id ) ) {
127
+ return $post_id;
 
 
 
 
 
 
 
 
 
 
128
  }
129
  break;
130
  default :
131
+ $post_id = (int) $field_value;
132
  break;
133
  }
134
 
135
+ $post = get_post( $post_id, OBJECT, $context );
136
+
137
  if ( !$post || is_wp_error( $post ) ) {
138
  return new WP_Error( 'unknown_post', 'Unknown post', 404 );
139
  }
143
  }
144
 
145
  // Permissions
146
+ $capabilities = $this->get_current_user_capabilities( $post );
147
+
148
  switch ( $context ) {
149
  case 'edit' :
150
+ if ( ! $capabilities['edit_post'] ) {
151
  return new WP_Error( 'unauthorized', 'User cannot edit post', 403 );
152
  }
153
  break;
162
  return $can_view;
163
  }
164
 
 
 
165
  $GLOBALS['post'] = $post;
166
 
167
  if ( 'display' === $context ) {
170
 
171
  $response = array();
172
 
 
 
173
  foreach ( array_keys( $this->post_object_format ) as $key ) {
174
  switch ( $key ) {
175
  case 'ID' :
177
  $response[$key] = (int) $post->ID;
178
  break;
179
  case 'site_ID' :
180
+ $response[$key] = (int) $this->api->get_blog_id_for_output();
181
  break;
182
  case 'author' :
183
+ $response[$key] = (object) $this->get_author( $post, 'edit' === $context && $capabilities['edit_post'] );
184
  break;
185
  case 'date' :
186
  $response[$key] = (string) $this->format_date( $post->post_date_gmt, $post->post_date );
281
  break;
282
  case 'sharing_enabled' :
283
  $show = true;
284
+ /** This filter is documented in modules/sharedaddy/sharing-service.php */
285
  $show = apply_filters( 'sharing_show', $show, $post );
286
 
287
  $switched_status = get_post_meta( $post->ID, 'sharing_disabled', false );
309
  $response[$key] = (string) $this->api->add_global_ID( $blog_id, $post->ID );
310
  break;
311
  case 'featured_image' :
312
+ if ( $is_jetpack && ( defined( 'IS_WPCOM' ) && IS_WPCOM ) ) {
313
  $response[ $key ] = get_post_meta( $post->ID, '_jetpack_featured_image', true );
314
  } else {
315
  $image_attributes = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' );
359
  }
360
  // Private
361
  if ( !isset( $geo_data['public'] ) || !$geo_data['public'] ) {
362
+ if ( 'edit' !== $context || ! $capabilities['edit_post'] ) {
363
  // user can't access
364
  $response[$key] = false;
365
  }
367
  }
368
  }
369
  break;
370
+ case 'menu_order':
371
+ $response[$key] = (int) $post->menu_order;
372
+ break;
373
  case 'publicize_URLs' :
374
  $publicize_URLs = array();
375
  $publicize = get_post_meta( $post->ID, 'publicize_results', true );
396
  $terms = wp_get_post_tags( $post->ID );
397
  foreach ( $terms as $term ) {
398
  if ( !empty( $term->name ) ) {
399
+ $response[$key][$term->name] = $this->format_taxonomy( $term, 'post_tag', 'display' );
400
  }
401
  }
402
  $response[$key] = (object) $response[$key];
406
  $terms = wp_get_object_terms( $post->ID, 'category', array( 'fields' => 'all' ) );
407
  foreach ( $terms as $term ) {
408
  if ( !empty( $term->name ) ) {
409
+ $response[$key][$term->name] = $this->format_taxonomy( $term, 'category', 'display' );
410
  }
411
  }
412
  $response[$key] = (object) $response[$key];
413
  break;
414
  case 'attachments':
415
  $response[$key] = array();
416
+ $_attachments = get_posts( array( 'post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment', 'posts_per_page' => 100 ) );
417
  foreach ( $_attachments as $attachment ) {
418
  $response[$key][$attachment->ID] = $this->get_attachment( $attachment );
419
  }
629
  );
630
  }
631
 
632
+ /**
633
+ * Get post ID by name
634
+ *
635
+ * Attempts to match name on post title and page path
636
+ *
637
+ * @param string $name
638
+ *
639
+ * @return int|object Post ID on success, WP_Error object on failure
640
+ **/
641
+ protected function get_post_id_by_name( $name ) {
642
+ $name = sanitize_title( $name );
643
+
644
+ if ( ! $name ) {
645
+ return new WP_Error( 'invalid_post', 'Invalid post', 400 );
646
+ }
647
+
648
+ $posts = get_posts( array( 'name' => $name ) );
649
+
650
+ if ( ! $posts || ! isset( $posts[0]->ID ) || ! $posts[0]->ID ) {
651
+ $page = get_page_by_path( $name );
652
+
653
+ if ( ! $page ) {
654
+ return new WP_Error( 'unknown_post', 'Unknown post', 404 );
655
+ }
656
+
657
+ $post_id = $page->ID;
658
+ } else {
659
+ $post_id = (int) $posts[0]->ID;
660
+ }
661
+
662
+ return $post_id;
663
+ }
664
  }
json-endpoints/class.wpcom-json-api-post-v1-1-endpoint.php CHANGED
@@ -3,50 +3,52 @@
3
  abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint {
4
  var $post_object_format = array(
5
  // explicitly document and cast all output
6
- 'ID' => '(int) The post ID.',
7
- 'site_ID' => '(int) The site ID.',
8
- 'author' => '(object>author) The author of the post.',
9
- 'date' => "(ISO 8601 datetime) The post's creation time.",
10
- 'modified' => "(ISO 8601 datetime) The post's most recent update time.",
11
- 'title' => '(HTML) <code>context</code> dependent.',
12
- 'URL' => '(URL) The full permalink URL to the post.',
13
- 'short_URL' => '(URL) The wp.me short URL.',
14
- 'content' => '(HTML) <code>context</code> dependent.',
15
- 'excerpt' => '(HTML) <code>context</code> dependent.',
16
- 'slug' => '(string) The name (slug) for the post, used in URLs.',
17
- 'guid' => '(string) The GUID for the post.',
18
- 'status' => array(
19
- 'publish' => 'The post is published.',
20
- 'draft' => 'The post is saved as a draft.',
21
- 'pending' => 'The post is pending editorial approval.',
22
- 'private' => 'The post is published privately',
23
- 'future' => 'The post is scheduled for future publishing.',
24
- 'trash' => 'The post is in the trash.',
25
- 'auto-draft' => 'The post is a placeholder for a new post.',
26
  ),
27
- 'sticky' => '(bool) Is the post sticky?',
28
- 'password' => '(string) The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected.',
29
- 'parent' => "(object>post_reference|false) A reference to the post's parent, if it has one.",
30
- 'type' => "(string) The post's post_type. Post types besides post, page and revision need to be whitelisted using the <code>rest_api_allowed_post_types</code> filter.",
31
- 'discussion' => '(object) Hash of discussion options for the post',
32
- 'likes_enabled' => "(bool) Is the post open to likes?",
33
- 'sharing_enabled' => "(bool) Should sharing buttons show on this post?",
34
- 'like_count' => '(int) The number of likes for this post.',
35
- 'i_like' => '(bool) Does the current user like this post?',
36
- 'is_reblogged' => '(bool) Did the current user reblog this post?',
37
- 'is_following' => '(bool) Is the current user following this blog?',
38
- 'global_ID' => '(string) A unique WordPress.com-wide representation of a post.',
39
- 'featured_image' => '(URL) The URL to the featured image for this post if it has one.',
40
- 'post_thumbnail' => '(object>attachment) The attachment object for the featured image if it has one.',
41
- 'format' => array(), // see constructor
42
- 'geo' => '(object>geo|false)',
43
- 'publicize_URLs' => '(array:URL) Array of Twitter and Facebook URLs published by this post.',
44
- 'tags' => '(object:tag) Hash of tags (keyed by tag name) applied to the post.',
45
- 'categories' => '(object:category) Hash of categories (keyed by category name) applied to the post.',
46
- 'attachments' => '(object:attachment) Hash of post attachments (keyed by attachment ID).',
47
- 'metadata' => '(array) Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the <code>rest_api_allowed_public_metadata</code> filter.',
48
- 'meta' => '(object) API result meta data',
49
- 'capabilities' => '(object) List of post-specific permissions for the user; publish_post, edit_post, delete_post',
 
 
50
  );
51
 
52
  // var $response_format =& $this->post_object_format;
@@ -85,7 +87,15 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
85
  return __( 'This post is password protected.', 'jetpack' );
86
  }
87
 
88
- function get_post_by( $field, $post_id, $context = 'display' ) {
 
 
 
 
 
 
 
 
89
  global $blog_id;
90
 
91
  $is_jetpack = true === apply_filters( 'is_jetpack_site', false, $blog_id );
@@ -110,27 +120,18 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
110
 
111
  switch ( $field ) {
112
  case 'name' :
113
- $post_id = sanitize_title( $post_id );
114
- if ( !$post_id ) {
115
- return new WP_Error( 'invalid_post', 'Invalid post', 400 );
116
- }
117
-
118
- $posts = get_posts( array( 'name' => $post_id ) );
119
- if ( !$posts || !isset( $posts[0]->ID ) || !$posts[0]->ID ) {
120
- $page = get_page_by_path( $post_id );
121
- if ( !$page )
122
- return new WP_Error( 'unknown_post', 'Unknown post', 404 );
123
- $post_id = $page->ID;
124
- } else {
125
- $post_id = (int) $posts[0]->ID;
126
  }
127
  break;
128
  default :
129
- $post_id = (int) $post_id;
130
  break;
131
  }
132
 
133
- $post = get_post( $post_id );
 
134
  if ( !$post || is_wp_error( $post ) ) {
135
  return new WP_Error( 'unknown_post', 'Unknown post', 404 );
136
  }
@@ -140,9 +141,11 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
140
  }
141
 
142
  // Permissions
 
 
143
  switch ( $context ) {
144
  case 'edit' :
145
- if ( !current_user_can( 'edit_post', $post->ID ) ) {
146
  return new WP_Error( 'unauthorized', 'User cannot edit post', 403 );
147
  }
148
  break;
@@ -157,8 +160,6 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
157
  return $can_view;
158
  }
159
 
160
- // Re-get post according to the correct $context
161
- $post = get_post( $post->ID, OBJECT, $context );
162
  $GLOBALS['post'] = $post;
163
 
164
  if ( 'display' === $context ) {
@@ -173,10 +174,10 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
173
  $response[$key] = (int) $post->ID;
174
  break;
175
  case 'site_ID' :
176
- $response[$key] = (int) $blog_id;
177
  break;
178
  case 'author' :
179
- $response[$key] = (object) $this->get_author( $post, 'edit' === $context && current_user_can( 'edit_post', $post->ID ) );
180
  break;
181
  case 'date' :
182
  $response[$key] = (string) $this->format_date( $post->post_date_gmt, $post->post_date );
@@ -280,6 +281,7 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
280
  break;
281
  case 'sharing_enabled' :
282
  $show = true;
 
283
  $show = apply_filters( 'sharing_show', $show, $post );
284
 
285
  $switched_status = get_post_meta( $post->ID, 'sharing_disabled', false );
@@ -304,7 +306,7 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
304
  $response[$key] = (string) $this->api->add_global_ID( $blog_id, $post->ID );
305
  break;
306
  case 'featured_image' :
307
- if ( $is_jetpack ) {
308
  $response[ $key ] = get_post_meta( $post->ID, '_jetpack_featured_image', true );
309
  } else {
310
  $image_attributes = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' );
@@ -354,7 +356,7 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
354
  }
355
  // Private
356
  if ( !isset( $geo_data['public'] ) || !$geo_data['public'] ) {
357
- if ( 'edit' !== $context || !current_user_can( 'edit_post', $post->ID ) ) {
358
  // user can't access
359
  $response[$key] = false;
360
  }
@@ -362,6 +364,9 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
362
  }
363
  }
364
  break;
 
 
 
365
  case 'publicize_URLs' :
366
  $publicize_URLs = array();
367
  $publicize = get_post_meta( $post->ID, 'publicize_results', true );
@@ -388,7 +393,7 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
388
  $terms = wp_get_post_tags( $post->ID );
389
  foreach ( $terms as $term ) {
390
  if ( !empty( $term->name ) ) {
391
- $response[$key][$term->name] = $this->format_taxonomy( $term, 'post_tag', $context );
392
  }
393
  }
394
  $response[$key] = (object) $response[$key];
@@ -398,17 +403,18 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
398
  $terms = wp_get_object_terms( $post->ID, 'category', array( 'fields' => 'all' ) );
399
  foreach ( $terms as $term ) {
400
  if ( !empty( $term->name ) ) {
401
- $response[$key][$term->name] = $this->format_taxonomy( $term, 'category', $context );
402
  }
403
  }
404
  $response[$key] = (object) $response[$key];
405
  break;
406
  case 'attachments':
407
  $response[$key] = array();
408
- $_attachments = get_posts( array( 'post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment' ) );
409
- foreach ( $_attachments as $attachment ) {
410
  $response[$key][$attachment->ID] = $this->get_media_item_v1_1( $attachment->ID );
411
  }
 
412
  $response[$key] = (object) $response[$key];
413
  break;
414
  case 'metadata' : // (array|false)
@@ -451,7 +457,7 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
451
  );
452
  break;
453
  case 'capabilities' :
454
- $response[$key] = $this->get_current_user_capabilities( $post );
455
  break;
456
 
457
  }
@@ -618,4 +624,37 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
618
  );
619
  }
620
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
621
  }
3
  abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint {
4
  var $post_object_format = array(
5
  // explicitly document and cast all output
6
+ 'ID' => '(int) The post ID.',
7
+ 'site_ID' => '(int) The site ID.',
8
+ 'author' => '(object>author) The author of the post.',
9
+ 'date' => "(ISO 8601 datetime) The post's creation time.",
10
+ 'modified' => "(ISO 8601 datetime) The post's most recent update time.",
11
+ 'title' => '(HTML) <code>context</code> dependent.',
12
+ 'URL' => '(URL) The full permalink URL to the post.',
13
+ 'short_URL' => '(URL) The wp.me short URL.',
14
+ 'content' => '(HTML) <code>context</code> dependent.',
15
+ 'excerpt' => '(HTML) <code>context</code> dependent.',
16
+ 'slug' => '(string) The name (slug) for the post, used in URLs.',
17
+ 'guid' => '(string) The GUID for the post.',
18
+ 'status' => array(
19
+ 'publish' => 'The post is published.',
20
+ 'draft' => 'The post is saved as a draft.',
21
+ 'pending' => 'The post is pending editorial approval.',
22
+ 'private' => 'The post is published privately',
23
+ 'future' => 'The post is scheduled for future publishing.',
24
+ 'trash' => 'The post is in the trash.',
25
+ 'auto-draft' => 'The post is a placeholder for a new post.',
26
  ),
27
+ 'sticky' => '(bool) Is the post sticky?',
28
+ 'password' => '(string) The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected.',
29
+ 'parent' => "(object>post_reference|false) A reference to the post's parent, if it has one.",
30
+ 'type' => "(string) The post's post_type. Post types besides post, page and revision need to be whitelisted using the <code>rest_api_allowed_post_types</code> filter.",
31
+ 'discussion' => '(object) Hash of discussion options for the post',
32
+ 'likes_enabled' => "(bool) Is the post open to likes?",
33
+ 'sharing_enabled' => "(bool) Should sharing buttons show on this post?",
34
+ 'like_count' => '(int) The number of likes for this post.',
35
+ 'i_like' => '(bool) Does the current user like this post?',
36
+ 'is_reblogged' => '(bool) Did the current user reblog this post?',
37
+ 'is_following' => '(bool) Is the current user following this blog?',
38
+ 'global_ID' => '(string) A unique WordPress.com-wide representation of a post.',
39
+ 'featured_image' => '(URL) The URL to the featured image for this post if it has one.',
40
+ 'post_thumbnail' => '(object>attachment) The attachment object for the featured image if it has one.',
41
+ 'format' => array(), // see constructor
42
+ 'geo' => '(object>geo|false)',
43
+ 'menu_order' => '(int) (Pages Only) The order pages should appear in.',
44
+ 'publicize_URLs' => '(array:URL) Array of Twitter and Facebook URLs published by this post.',
45
+ 'tags' => '(object:tag) Hash of tags (keyed by tag name) applied to the post.',
46
+ 'categories' => '(object:category) Hash of categories (keyed by category name) applied to the post.',
47
+ 'attachments' => '(object:attachment) Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here.',
48
+ 'attachment_count' => '(int) The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here.',
49
+ 'metadata' => '(array) Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the <code>rest_api_allowed_public_metadata</code> filter.',
50
+ 'meta' => '(object) API result meta data',
51
+ 'capabilities' => '(object) List of post-specific permissions for the user; publish_post, edit_post, delete_post',
52
  );
53
 
54
  // var $response_format =& $this->post_object_format;
87
  return __( 'This post is password protected.', 'jetpack' );
88
  }
89
 
90
+ /**
91
+ * Get a post by a specified field and value
92
+ *
93
+ * @param string $field
94
+ * @param string $field_value
95
+ * @param string $context Post use context (e.g. 'display')
96
+ * @return array Post
97
+ **/
98
+ function get_post_by( $field, $field_value, $context = 'display' ) {
99
  global $blog_id;
100
 
101
  $is_jetpack = true === apply_filters( 'is_jetpack_site', false, $blog_id );
120
 
121
  switch ( $field ) {
122
  case 'name' :
123
+ $post_id = $this->get_post_id_by_name( $field_value );
124
+ if ( is_wp_error( $post_id ) ) {
125
+ return $post_id;
 
 
 
 
 
 
 
 
 
 
126
  }
127
  break;
128
  default :
129
+ $post_id = (int) $field_value;
130
  break;
131
  }
132
 
133
+ $post = get_post( $post_id, OBJECT, $context );
134
+
135
  if ( !$post || is_wp_error( $post ) ) {
136
  return new WP_Error( 'unknown_post', 'Unknown post', 404 );
137
  }
141
  }
142
 
143
  // Permissions
144
+ $capabilities = $this->get_current_user_capabilities( $post );
145
+
146
  switch ( $context ) {
147
  case 'edit' :
148
+ if ( ! $capabilities['edit_post'] ) {
149
  return new WP_Error( 'unauthorized', 'User cannot edit post', 403 );
150
  }
151
  break;
160
  return $can_view;
161
  }
162
 
 
 
163
  $GLOBALS['post'] = $post;
164
 
165
  if ( 'display' === $context ) {
174
  $response[$key] = (int) $post->ID;
175
  break;
176
  case 'site_ID' :
177
+ $response[$key] = (int) $this->api->get_blog_id_for_output();
178
  break;
179
  case 'author' :
180
+ $response[$key] = (object) $this->get_author( $post, 'edit' === $context && $capabilities['edit_post'] );
181
  break;
182
  case 'date' :
183
  $response[$key] = (string) $this->format_date( $post->post_date_gmt, $post->post_date );
281
  break;
282
  case 'sharing_enabled' :
283
  $show = true;
284
+ /** This filter is documented in modules/sharedaddy/sharing-service.php */
285
  $show = apply_filters( 'sharing_show', $show, $post );
286
 
287
  $switched_status = get_post_meta( $post->ID, 'sharing_disabled', false );
306
  $response[$key] = (string) $this->api->add_global_ID( $blog_id, $post->ID );
307
  break;
308
  case 'featured_image' :
309
+ if ( $is_jetpack && ( defined( 'IS_WPCOM' ) && IS_WPCOM ) ) {
310
  $response[ $key ] = get_post_meta( $post->ID, '_jetpack_featured_image', true );
311
  } else {
312
  $image_attributes = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' );
356
  }
357
  // Private
358
  if ( !isset( $geo_data['public'] ) || !$geo_data['public'] ) {
359
+ if ( 'edit' !== $context || ! $capabilities['edit_post'] ) {
360
  // user can't access
361
  $response[$key] = false;
362
  }
364
  }
365
  }
366
  break;
367
+ case 'menu_order':
368
+ $response[$key] = (int) $post->menu_order;
369
+ break;
370
  case 'publicize_URLs' :
371
  $publicize_URLs = array();
372
  $publicize = get_post_meta( $post->ID, 'publicize_results', true );
393
  $terms = wp_get_post_tags( $post->ID );
394
  foreach ( $terms as $term ) {
395
  if ( !empty( $term->name ) ) {
396
+ $response[$key][$term->name] = $this->format_taxonomy( $term, 'post_tag', 'display' );
397
  }
398
  }
399
  $response[$key] = (object) $response[$key];
403
  $terms = wp_get_object_terms( $post->ID, 'category', array( 'fields' => 'all' ) );
404
  foreach ( $terms as $term ) {
405
  if ( !empty( $term->name ) ) {
406
+ $response[$key][$term->name] = $this->format_taxonomy( $term, 'category', 'display' );
407
  }
408
  }
409
  $response[$key] = (object) $response[$key];
410
  break;
411
  case 'attachments':
412
  $response[$key] = array();
413
+ $_attachments = new WP_Query( array( 'post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment', 'posts_per_page' => '20' ) );
414
+ foreach ( $_attachments->posts as $attachment ) {
415
  $response[$key][$attachment->ID] = $this->get_media_item_v1_1( $attachment->ID );
416
  }
417
+ $response['attachment_count'] = $_attachments->found_posts;
418
  $response[$key] = (object) $response[$key];
419
  break;
420
  case 'metadata' : // (array|false)
457
  );
458
  break;
459
  case 'capabilities' :
460
+ $response[$key] = $capabilities;
461
  break;
462
 
463
  }
624
  );
625
  }
626
 
627
+ /**
628
+ * Get post ID by name
629
+ *
630
+ * Attempts to match name on post title and page path
631
+ *
632
+ * @param string $name
633
+ *
634
+ * @return int|object Post ID on success, WP_Error object on failure
635
+ **/
636
+ protected function get_post_id_by_name( $name ) {
637
+ $name = sanitize_title( $name );
638
+
639
+ if ( ! $name ) {
640
+ return new WP_Error( 'invalid_post', 'Invalid post', 400 );
641
+ }
642
+
643
+ $posts = get_posts( array( 'name' => $name ) );
644
+
645
+ if ( ! $posts || ! isset( $posts[0]->ID ) || ! $posts[0]->ID ) {
646
+ $page = get_page_by_path( $name );
647
+
648
+ if ( ! $page ) {
649
+ return new WP_Error( 'unknown_post', 'Unknown post', 404 );
650
+ }
651
+
652
+ $post_id = $page->ID;
653
+ } else {
654
+ $post_id = (int) $posts[0]->ID;
655
+ }
656
+
657
+ return $post_id;
658
+ }
659
+
660
  }
json-endpoints/class.wpcom-json-api-sharing-buttons-endpoint.php CHANGED
@@ -1,76 +1,34 @@
1
  <?php
2
- /*
3
- * WARNING: This file is distributed verbatim in Jetpack.
4
- * There should be nothing WordPress.com specific in this file.
5
- *
6
- * @hide-in-jetpack
7
- */
8
 
9
- class WPCOM_JSON_API_Get_Sharing_Buttons_Endpoint extends WPCOM_JSON_API_Endpoint {
10
 
11
  public static $all_visibilities = array( 'visible', 'hidden' );
12
 
13
- // GET /sites/%s/sharing-buttons -> $blog_id
14
- public function callback( $path = '', $blog_id = 0 ) {
15
- $args = $this->query_args();
16
 
17
- // Validate request
18
- $blog_id = $this->api->switch_to_blog_and_validate_user( $this->api->get_blog_id( $blog_id ) );
19
- if ( is_wp_error( $blog_id ) ) {
20
- return $blog_id;
21
- }
22
 
23
  if ( ! current_user_can( 'manage_options' ) ) {
24
  return new WP_Error( 'forbidden', 'You do not have the capability to manage sharing buttons for this site', 403 );
25
- } else if ( ! class_exists( 'Sharing_Service' ) || ! class_exists( 'Sharing_Source' ) ||
26
  ( method_exists( 'Jetpack', 'is_module_active' ) && ! Jetpack::is_module_active( 'sharedaddy' ) ) ) {
27
  return new WP_Error( 'missing_jetpack_module', 'The Sharing module must be activated in order to use this endpoint', 400 );
28
- } else if ( ! empty( $args['visibility'] ) && ! in_array( $args['visibility'], self::$all_visibilities ) ) {
29
- return new WP_Error( 'invalid_visibility', sprintf( 'The visibility field must be one of the following values: %s', implode( ', ', self::$all_visibilities ) ), 400 );
30
- }
31
-
32
- // Determine which visibilities to include based on request
33
- $visibilities = empty( $args['visibility'] ) || ! in_array( $args['visibility'], self::$all_visibilities ) ? self::$all_visibilities : array( $args['visibility'] );
34
-
35
- // Discover enabled services
36
- $ss = new Sharing_Service();
37
- $buttons = array();
38
- $all_services = $ss->get_all_services_blog();
39
- foreach( $all_services as $button ) {
40
- // Filter enabled buttons
41
- if ( isset( $args['enabled_only'] ) && $args['enabled_only'] && ! WPCOM_JSON_API_Get_Sharing_Button_Endpoint::is_button_enabled( $ss, $button ) ) {
42
- continue;
43
- }
44
-
45
- // Filter visibility
46
- if ( isset( $args['visibility'] ) && ! in_array( WPCOM_JSON_API_Get_Sharing_Button_Endpoint::get_button_visibility( $ss, $button ), $visibilities ) ) {
47
- continue;
48
- }
49
-
50
- $buttons[] = WPCOM_JSON_API_Get_Sharing_Button_Endpoint::format_sharing_button( $ss, $button );
51
  }
52
-
53
- return array(
54
- 'found' => count( $buttons ),
55
- 'sharing_buttons' => $buttons
56
- );
57
  }
58
- }
59
 
60
- class WPCOM_JSON_API_Get_Sharing_Button_Endpoint extends WPCOM_JSON_API_Endpoint {
61
-
62
- public static function format_sharing_button( $sharing_service, $button ) {
63
  $response = array(
64
  'ID' => $button->get_id(),
65
  'name' => $button->get_name(),
66
  'shortname' => $button->shortname,
67
  'custom' => is_a( $button, 'Share_Custom' ),
68
- 'enabled' => self::is_button_enabled( $sharing_service, $button ),
69
  );
70
 
71
  if ( $response['enabled'] ) {
72
  // Status is either "disabled" or the visibility value
73
- $response['visibility'] = self::get_button_visibility( $sharing_service, $button );
74
  }
75
 
76
  if ( ! empty( $button->genericon ) ) {
@@ -88,15 +46,15 @@ class WPCOM_JSON_API_Get_Sharing_Button_Endpoint extends WPCOM_JSON_API_Endpoint
88
  }
89
 
90
  $response[ $key ] = $value;
91
- }
92
  }
93
 
94
  return $response;
95
  }
96
 
97
- public static function get_button_visibility( $sharing_service, $button ) {
98
- $services = $sharing_service->get_blog_services();
99
- $visibilities = WPCOM_JSON_API_Get_Sharing_Buttons_Endpoint::$all_visibilities;
100
  $button_id = $button->get_id();
101
 
102
  foreach ( $visibilities as $visibility ) {
@@ -108,9 +66,152 @@ class WPCOM_JSON_API_Get_Sharing_Button_Endpoint extends WPCOM_JSON_API_Endpoint
108
  return false;
109
  }
110
 
111
- public static function is_button_enabled( $sharing_service, $button ) {
112
- return false !== self::get_button_visibility( $sharing_service, $button );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113
  }
 
 
 
114
 
115
  // GET /sites/%s/sharing-buttons/%s -> $blog_id, $button_id
116
  public function callback( $path = '', $blog_id = 0, $button_id = 0 ) {
@@ -120,26 +221,92 @@ class WPCOM_JSON_API_Get_Sharing_Button_Endpoint extends WPCOM_JSON_API_Endpoint
120
  return $blog_id;
121
  }
122
 
123
- if ( ! current_user_can( 'manage_options' ) ) {
124
- return new WP_Error( 'forbidden', 'You do not have the capability to manage sharing buttons for this site', 403 );
125
- } else if ( ! class_exists( 'Sharing_Service' ) || ! class_exists( 'Sharing_Source' ) ||
126
- ( method_exists( 'Jetpack', 'is_module_active' ) && ! Jetpack::is_module_active( 'sharedaddy' ) ) ) {
127
- return new WP_Error( 'missing_jetpack_module', 'The Sharing module must be activated in order to use this endpoint', 400 );
128
  }
129
 
130
  // Search existing services for button
131
- $ss = new Sharing_Service();
132
- $all_buttons = $ss->get_all_services_blog();
133
  if ( ! array_key_exists( $button_id, $all_buttons ) ) {
134
  return new WP_Error( 'not_found', 'The specified sharing button was not found', 404 );
135
  } else {
136
- return self::format_sharing_button( $ss, $all_buttons[ $button_id ] );
137
  }
138
  }
139
 
140
  }
141
 
142
- class WPCOM_JSON_API_Update_Sharing_Button_Endpoint extends WPCOM_JSON_API_Endpoint {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143
 
144
  // POST /sites/%s/sharing-buttons/new -> $blog_id
145
  // POST /sites/%s/sharing-buttons/%s -> $blog_id, $button_id
@@ -153,84 +320,35 @@ class WPCOM_JSON_API_Update_Sharing_Button_Endpoint extends WPCOM_JSON_API_Endpo
153
  return $blog_id;
154
  }
155
 
156
- if ( ! current_user_can( 'manage_options' ) ) {
157
- return new WP_Error( 'forbidden', 'You do not have the capability to manage sharing buttons for this site', 403 );
158
- } else if ( ! class_exists( 'Sharing_Service' ) || ! class_exists( 'Sharing_Source' ) ||
159
- ( method_exists( 'Jetpack', 'is_module_active' ) && ! Jetpack::is_module_active( 'sharedaddy' ) ) ) {
160
- return new WP_Error( 'missing_jetpack_module', 'The Sharing module must be activated in order to use this endpoint', 400 );
161
- } else if ( ! empty( $input['visibility'] ) && ! in_array( $input['visibility'], WPCOM_JSON_API_Get_Sharing_Buttons_Endpoint::$all_visibilities ) ) {
162
- return new WP_Error( 'invalid_visibility', sprintf( 'The visibility field must be one of the following values: %s', implode( ', ', WPCOM_JSON_API_Get_Sharing_Buttons_Endpoint::$all_visibilities ) ), 400 );
163
- } else if ( $new && empty( $input['URL'] ) ) {
164
- return new WP_Error( 'invalid_request', 'The URL field is required', 400 );
165
- } else if ( $new && empty( $input['icon'] ) ) {
166
- return new WP_Error( 'invalid_request', 'The icon field is required', 400 );
167
  }
168
 
169
- // Assign default values
170
- $visibility = $input['visibility'];
171
- if ( empty( $visibility ) || ( ! isset( $input['visibility'] ) && true === $input['enabled'] ) ) {
172
- $visibility = 'visible';
173
  }
174
 
175
  // Update or create button
176
- $ss = new Sharing_Service();
177
- $blog_services = $ss->get_blog_services();
178
  if ( $new ) {
179
- // Attempt to create new button
180
- $updated_service = $ss->new_service( $input['name'], $input['URL'], $input['icon'] );
181
- if ( false !== $updated_service && ( ( isset( $input['enabled'] ) && true === $input['enabled'] ) || isset( $input['visibility'] ) ) ) {
182
- $blog_services[ $visibility ][ (string) $updated_service->get_id() ] = $updated_service;
183
- $ss->set_blog_services( array_keys( $blog_services['visible'] ), array_keys( $blog_services['hidden'] ) );
184
- }
185
  } else {
186
- // Find existing button
187
- $all_buttons = $ss->get_all_services_blog();
188
- if ( ! array_key_exists( $button_id, $all_buttons ) ) {
189
- // Button doesn't exist
190
- return new WP_Error( 'not_found', 'The specified sharing button was not found', 404 );
191
- }
192
-
193
- $updated_service = $all_buttons[ $button_id ];
194
- $service_id = $updated_service->get_id();
195
- if ( is_a( $all_buttons[ $button_id ], 'Share_Custom' ) ) {
196
- // Replace options for existing custom button
197
- $options = $updated_service->get_options();
198
- $name = isset( $input['name'] ) ? $input['name'] : $options['name'];
199
- $url = isset( $input['URL'] ) ? $input['URL'] : $options['url'];
200
- $icon = isset( $input['icon'] ) ? $input['icon'] : $options['icon'];
201
- $updated_service = new Share_Custom( $service_id, array( 'name' => $name, 'url' => $url, 'icon' => $icon ) );
202
- $ss->set_service( $button_id, $updated_service );
203
- }
204
-
205
- // Update button visibility
206
- $visibility_changed = ( isset( $input['visibility'] ) || true === $input['enabled'] ) && ! array_key_exists( $service_id, $blog_services[ $visibility ] );
207
- $is_disabling = false === $input['enabled'];
208
- if ( $visibility_changed || $is_disabling ) {
209
- // Remove from all other visibilities
210
- foreach ( $blog_services as $service_visibility => $services ) {
211
- if ( $service_visibility !== $visibility || $is_disabling ) {
212
- unset( $blog_services[ $service_visibility ][ $service_id ] );
213
- }
214
- }
215
-
216
- if ( $visibility_changed ) {
217
- $blog_services[ $visibility ][ $service_id ] = $updated_service;
218
- }
219
-
220
- $ss->set_blog_services( array_keys( $blog_services['visible'] ), array_keys( $blog_services['hidden'] ) );
221
- }
222
  }
223
 
224
  if ( false === $updated_service ) {
225
  return new WP_Error( 'invalid_request', sprintf( 'The sharing button was not %s', $new ? 'created' : 'updated' ), 400 );
 
 
226
  } else {
227
- return WPCOM_JSON_API_Get_Sharing_Button_Endpoint::format_sharing_button( $ss, $updated_service );
228
  }
229
  }
230
 
231
  }
232
 
233
- class WPCOM_JSON_API_Delete_Sharing_Button_Endpoint extends WPCOM_JSON_API_Endpoint {
234
 
235
  // POST /sites/%s/sharing-buttons/%s/delete -> $blog_id, $button_id
236
  public function callback( $path = '', $blog_id = 0, $button_id = 0 ) {
@@ -240,16 +358,13 @@ class WPCOM_JSON_API_Delete_Sharing_Button_Endpoint extends WPCOM_JSON_API_Endpo
240
  return $blog_id;
241
  }
242
 
243
- if ( ! current_user_can( 'manage_options' ) ) {
244
- return new WP_Error( 'forbidden', 'You do not have the capability to manage sharing buttons for this site', 403 );
245
- } else if ( ! class_exists( 'Sharing_Service' ) || ! class_exists( 'Sharing_Source' ) ||
246
- ( method_exists( 'Jetpack', 'is_module_active' ) && ! Jetpack::is_module_active( 'sharedaddy' ) ) ) {
247
- return new WP_Error( 'missing_jetpack_module', 'The Sharing module must be activated in order to use this endpoint', 400 );
248
  }
249
 
250
  // Find existing button
251
- $ss = new Sharing_Service();
252
- $all_buttons = $ss->get_all_services_blog();
253
  if ( ! array_key_exists( $button_id, $all_buttons ) ) {
254
  // Button doesn't exist
255
  return new WP_Error( 'not_found', 'The specified sharing button was not found', 404 );
@@ -260,11 +375,11 @@ class WPCOM_JSON_API_Delete_Sharing_Button_Endpoint extends WPCOM_JSON_API_Endpo
260
  return new WP_error( 'invalid_request', 'Only custom sharing buttons can be deleted', 400 );
261
  }
262
 
263
- $success = $ss->delete_service( $button_id );
264
  return array(
265
  'ID' => $button_id,
266
  'success' => $success
267
  );
268
  }
269
 
270
- }
1
  <?php
 
 
 
 
 
 
2
 
3
+ abstract class WPCOM_JSON_API_Sharing_Button_Endpoint extends WPCOM_JSON_API_Endpoint {
4
 
5
  public static $all_visibilities = array( 'visible', 'hidden' );
6
 
7
+ protected $sharing_service;
 
 
8
 
9
+ protected function setup() {
10
+ $this->sharing_service = new Sharing_Service();
 
 
 
11
 
12
  if ( ! current_user_can( 'manage_options' ) ) {
13
  return new WP_Error( 'forbidden', 'You do not have the capability to manage sharing buttons for this site', 403 );
14
+ } else if ( ! class_exists( 'Sharing_Service' ) || ! class_exists( 'Sharing_Source' ) ||
15
  ( method_exists( 'Jetpack', 'is_module_active' ) && ! Jetpack::is_module_active( 'sharedaddy' ) ) ) {
16
  return new WP_Error( 'missing_jetpack_module', 'The Sharing module must be activated in order to use this endpoint', 400 );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  }
 
 
 
 
 
18
  }
 
19
 
20
+ public function format_sharing_button( $button ) {
 
 
21
  $response = array(
22
  'ID' => $button->get_id(),
23
  'name' => $button->get_name(),
24
  'shortname' => $button->shortname,
25
  'custom' => is_a( $button, 'Share_Custom' ),
26
+ 'enabled' => $this->is_button_enabled( $button ),
27
  );
28
 
29
  if ( $response['enabled'] ) {
30
  // Status is either "disabled" or the visibility value
31
+ $response['visibility'] = $this->get_button_visibility( $button );
32
  }
33
 
34
  if ( ! empty( $button->genericon ) ) {
46
  }
47
 
48
  $response[ $key ] = $value;
49
+ }
50
  }
51
 
52
  return $response;
53
  }
54
 
55
+ public function get_button_visibility( $button ) {
56
+ $services = $this->sharing_service->get_blog_services();
57
+ $visibilities = self::$all_visibilities;
58
  $button_id = $button->get_id();
59
 
60
  foreach ( $visibilities as $visibility ) {
66
  return false;
67
  }
68
 
69
+ public function is_button_enabled( $button ) {
70
+ return false !== $this->get_button_visibility( $button );
71
+ }
72
+
73
+ protected function is_button_input_for_custom( $button ) {
74
+ return ( isset( $button['custom'] ) && $button['custom'] ) ||
75
+ ( isset( $button['ID'] ) && 1 === preg_match( '/^custom-/', $button['ID'] ) ) ||
76
+ ! empty( $button['name'] ) || ! empty( $button['URL'] ) || ! empty( $button['icon'] );
77
+ }
78
+
79
+ protected function validate_button_input( $button, $is_new = false ) {
80
+ if ( ! empty( $button['visibility'] ) && ! in_array( $button['visibility'], self::$all_visibilities ) ) {
81
+ return new WP_Error( 'invalid_visibility', sprintf( 'The visibility field must be one of the following values: %s', implode( ', ', self::$all_visibilities ) ), 400 );
82
+ } else if ( $is_new && empty( $button['URL'] ) ) {
83
+ return new WP_Error( 'invalid_request', 'The URL field is required', 400 );
84
+ } else if ( $is_new && empty( $button['icon'] ) ) {
85
+ return new WP_Error( 'invalid_request', 'The icon field is required', 400 );
86
+ }
87
+ }
88
+
89
+ public function create_custom_button( $button ) {
90
+ // Default visibility to 'visible' if enabled
91
+ if ( empty( $button['visibility'] ) && true === $button['enabled'] ) {
92
+ $button['visibility'] = 'visible';
93
+ }
94
+
95
+ $updated_service = $this->sharing_service->new_service( $button['name'], $button['URL'], $button['icon'] );
96
+ if ( false !== $updated_service && ( true === $button['enabled'] || ! empty( $button['visibility'] ) ) ) {
97
+ $blog_services = $this->sharing_service->get_blog_services();
98
+ $blog_services[ $button['visibility'] ][ (string) $updated_service->get_id() ] = $updated_service;
99
+ $this->sharing_service->set_blog_services( array_keys( $blog_services['visible'] ), array_keys( $blog_services['hidden'] ) );
100
+ }
101
+
102
+ return $updated_service;
103
+ }
104
+
105
+ public function update_button( $button_id, $button ) {
106
+ $blog_services = $this->sharing_service->get_blog_services();
107
+
108
+ // Find existing button
109
+ $all_buttons = $this->sharing_service->get_all_services_blog();
110
+ if ( ! array_key_exists( $button_id, $all_buttons ) ) {
111
+ // Button doesn't exist
112
+ return new WP_Error( 'not_found', 'The specified sharing button was not found', 404 );
113
+ }
114
+
115
+ $updated_service = $all_buttons[ $button_id ];
116
+ $service_id = $updated_service->get_id();
117
+ if ( is_a( $all_buttons[ $button_id ], 'Share_Custom' ) ) {
118
+ // Replace options for existing custom button
119
+ $options = $updated_service->get_options();
120
+ $name = isset( $button['name'] ) ? $button['name'] : $options['name'];
121
+ $url = isset( $button['URL'] ) ? $button['URL'] : $options['url'];
122
+ $icon = isset( $button['icon'] ) ? $button['icon'] : $options['icon'];
123
+ $updated_service = new Share_Custom( $service_id, array( 'name' => $name, 'url' => $url, 'icon' => $icon ) );
124
+ $this->sharing_service->set_service( $button_id, $updated_service );
125
+ }
126
+
127
+ // Default visibility to 'visible' if enabled
128
+ if ( empty( $button['visibility'] ) && true === $button['enabled'] ) {
129
+ $button['visibility'] = 'visible';
130
+ } else if ( false === $button['enabled'] ) {
131
+ unset( $button['visibility'] );
132
+ }
133
+
134
+ // Update button visibility and enabled status
135
+ $visibility_changed = ( isset( $button['visibility'] ) || true === $button['enabled'] ) && ! array_key_exists( $service_id, $blog_services[ $button['visibility'] ] );
136
+ $is_disabling = false === $button['enabled'];
137
+ if ( $visibility_changed || $is_disabling ) {
138
+ // Remove from all other visibilities
139
+ foreach ( $blog_services as $service_visibility => $services ) {
140
+ if ( $service_visibility !== $button['visibility'] || $is_disabling ) {
141
+ unset( $blog_services[ $service_visibility ][ $service_id ] );
142
+ }
143
+ }
144
+
145
+ if ( $visibility_changed ) {
146
+ $blog_services[ $button['visibility'] ][ $service_id ] = $updated_service;
147
+ }
148
+
149
+ $this->sharing_service->set_blog_services( array_keys( $blog_services['visible'] ), array_keys( $blog_services['hidden'] ) );
150
+ }
151
+
152
+ return $updated_service;
153
+ }
154
+
155
+ }
156
+
157
+ class WPCOM_JSON_API_Get_Sharing_Buttons_Endpoint extends WPCOM_JSON_API_Sharing_Button_Endpoint {
158
+
159
+ // GET /sites/%s/sharing-buttons -> $blog_id
160
+ public function callback( $path = '', $blog_id = 0 ) {
161
+ $args = $this->query_args();
162
+
163
+ // Validate request
164
+ $blog_id = $this->api->switch_to_blog_and_validate_user( $this->api->get_blog_id( $blog_id ) );
165
+ if ( is_wp_error( $blog_id ) ) {
166
+ return $blog_id;
167
+ }
168
+
169
+ $continue = $this->setup();
170
+ if ( is_wp_error( $continue ) ) {
171
+ return $continue;
172
+ }
173
+
174
+ if ( ! empty( $args['visibility'] ) && ! in_array( $args['visibility'], self::$all_visibilities ) ) {
175
+ return new WP_Error( 'invalid_visibility', sprintf( 'The visibility field must be one of the following values: %s', implode( ', ', self::$all_visibilities ) ), 400 );
176
+ }
177
+
178
+ // Determine which visibilities to include based on request
179
+ $visibilities = empty( $args['visibility'] ) ? self::$all_visibilities : array( $args['visibility'] );
180
+
181
+ // Discover enabled services
182
+ $buttons = array();
183
+ $enabled_services = $this->sharing_service->get_blog_services();
184
+ $all_services = $this->sharing_service->get_all_services_blog();
185
+
186
+ // Include buttons of desired visibility
187
+ foreach ( $visibilities as $visibility ) {
188
+ $buttons = array_merge( $buttons, $enabled_services[ $visibility ] );
189
+ }
190
+
191
+ // Unless `enabled_only` or `visibility` is specified, append the
192
+ // remaining buttons to the end of the array
193
+ if ( ( ! isset( $args['enabled_only'] ) || ! $args['enabled_only'] ) && empty( $args['visibility'] ) ) {
194
+ foreach ( $all_services as $id => $button ) {
195
+ if ( ! array_key_exists( $id, $buttons ) ) {
196
+ $buttons[ $id ] = $button;
197
+ }
198
+ }
199
+ }
200
+
201
+ // Format each button in the response
202
+ $response = array();
203
+ foreach ( $buttons as $button ) {
204
+ $response[] = $this->format_sharing_button( $button );
205
+ }
206
+
207
+ return array(
208
+ 'found' => count( $response ),
209
+ 'sharing_buttons' => $response
210
+ );
211
  }
212
+ }
213
+
214
+ class WPCOM_JSON_API_Get_Sharing_Button_Endpoint extends WPCOM_JSON_API_Sharing_Button_Endpoint {
215
 
216
  // GET /sites/%s/sharing-buttons/%s -> $blog_id, $button_id
217
  public function callback( $path = '', $blog_id = 0, $button_id = 0 ) {
221
  return $blog_id;
222
  }
223
 
224
+ $continue = $this->setup();
225
+ if ( is_wp_error( $continue ) ) {
226
+ return $continue;
 
 
227
  }
228
 
229
  // Search existing services for button
230
+ $all_buttons = $this->sharing_service->get_all_services_blog();
 
231
  if ( ! array_key_exists( $button_id, $all_buttons ) ) {
232
  return new WP_Error( 'not_found', 'The specified sharing button was not found', 404 );
233
  } else {
234
+ return $this->format_sharing_button( $all_buttons[ $button_id ] );
235
  }
236
  }
237
 
238
  }
239
 
240
+ class WPCOM_JSON_API_Update_Sharing_Buttons_Endpoint extends WPCOM_JSON_API_Sharing_Button_Endpoint {
241
+
242
+ // POST /sites/%s/sharing-buttons -> $blog_id
243
+ public function callback( $path = '', $blog_id = 0 ) {
244
+ $input = $this->input();
245
+
246
+ // Validate request
247
+ $blog_id = $this->api->switch_to_blog_and_validate_user( $this->api->get_blog_id( $blog_id ) );
248
+ if ( is_wp_error( $blog_id ) ) {
249
+ return $blog_id;
250
+ }
251
+
252
+ $continue = $this->setup();
253
+ if ( is_wp_error( $continue ) ) {
254
+ return $continue;
255
+ }
256
+
257
+ $all_buttons = $this->sharing_service->get_all_services_blog();
258
+
259
+ // We do a first pass of all buttons to verify that no validation
260
+ // issues exist before continuing to update
261
+ foreach ( $input['sharing_buttons'] as $button ) {
262
+ $button_exists = isset( $button['ID'] ) && array_key_exists( $button['ID'], $all_buttons );
263
+ $is_custom = $this->is_button_input_for_custom( $button );
264
+
265
+ // If neither custom nor existing, bail
266
+ if ( ! $button_exists && ! $is_custom ) {
267
+ return new WP_Error( 'not_found', 'The specified sharing button was not found', 404 );
268
+ }
269
+
270
+ // Validate input, only testing custom values if the button doesn't
271
+ // already exist
272
+ $validation_error = $this->validate_button_input( $button, ! $button_exists );
273
+ if ( is_wp_error( $validation_error ) ) {
274
+ return $validation_error;
275
+ }
276
+ }
277
+
278
+ // Reset all existing buttons
279
+ $this->sharing_service->set_blog_services( array(), array() );
280
+
281
+ // Finally, we iterate over each button and update or create
282
+ $success = true;
283
+ $updated = array();
284
+ foreach ( $input['sharing_buttons'] as $button ) {
285
+ $button_exists = isset( $button['ID'] ) && array_key_exists( $button['ID'], $all_buttons );
286
+ if ( $button_exists ) {
287
+ $updated_service = $this->update_button( $button['ID'], $button );
288
+ } else {
289
+ $updated_service = $this->create_custom_button( $button );
290
+ }
291
+
292
+ // We'll allow the request to continue if a failure occurred, but
293
+ // log it for the response
294
+ if ( false === $updated_service ) {
295
+ $success = false;
296
+ } else {
297
+ $updated[] = $this->format_sharing_button( $updated_service );
298
+ }
299
+ }
300
+
301
+ return array(
302
+ 'success' => $success,
303
+ 'updated' => $updated
304
+ );
305
+ }
306
+
307
+ }
308
+
309
+ class WPCOM_JSON_API_Update_Sharing_Button_Endpoint extends WPCOM_JSON_API_Sharing_Button_Endpoint {
310
 
311
  // POST /sites/%s/sharing-buttons/new -> $blog_id
312
  // POST /sites/%s/sharing-buttons/%s -> $blog_id, $button_id
320
  return $blog_id;
321
  }
322
 
323
+ $continue = $this->setup();
324
+ if ( is_wp_error( $continue ) ) {
325
+ return $continue;
 
 
 
 
 
 
 
 
326
  }
327
 
328
+ $validation_error = $this->validate_button_input( $input, $new );
329
+ if ( is_wp_error( $validation_error ) ) {
330
+ return $validation_error;
 
331
  }
332
 
333
  // Update or create button
 
 
334
  if ( $new ) {
335
+ $updated_service = $this->create_custom_button( $input );
 
 
 
 
 
336
  } else {
337
+ $updated_service = $this->update_button( $button_id, $input );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
338
  }
339
 
340
  if ( false === $updated_service ) {
341
  return new WP_Error( 'invalid_request', sprintf( 'The sharing button was not %s', $new ? 'created' : 'updated' ), 400 );
342
+ } else if ( is_wp_error( $updated_service ) ) {
343
+ return $updated_service;
344
  } else {
345
+ return $this->format_sharing_button( $updated_service );
346
  }
347
  }
348
 
349
  }
350
 
351
+ class WPCOM_JSON_API_Delete_Sharing_Button_Endpoint extends WPCOM_JSON_API_Sharing_Button_Endpoint {
352
 
353
  // POST /sites/%s/sharing-buttons/%s/delete -> $blog_id, $button_id
354
  public function callback( $path = '', $blog_id = 0, $button_id = 0 ) {
358
  return $blog_id;
359
  }
360
 
361
+ $continue = $this->setup();
362
+ if ( is_wp_error( $continue ) ) {
363
+ return $continue;
 
 
364
  }
365
 
366
  // Find existing button
367
+ $all_buttons = $this->sharing_service->get_all_services_blog();
 
368
  if ( ! array_key_exists( $button_id, $all_buttons ) ) {
369
  // Button doesn't exist
370
  return new WP_Error( 'not_found', 'The specified sharing button was not found', 404 );
375
  return new WP_error( 'invalid_request', 'Only custom sharing buttons can be deleted', 400 );
376
  }
377
 
378
+ $success = $this->sharing_service->delete_service( $button_id );
379
  return array(
380
  'ID' => $button_id,
381
  'success' => $success
382
  );
383
  }
384
 
385
+ }
json-endpoints/class.wpcom-json-api-site-settings-endpoint.php CHANGED
@@ -8,7 +8,7 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
8
  'description' => '(string) Tagline or description of site',
9
  'URL' => '(string) Full URL to the site',
10
  'lang' => '(string) Primary language code of the site',
11
- 'settings' => '(array) An array of options/settings for the blog. Only viewable by users with access to the site.',
12
  );
13
 
14
  // GET /sites/%s/settings
@@ -22,7 +22,7 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
22
  if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
23
  $this->load_theme_functions();
24
  }
25
-
26
  if ( ! is_user_logged_in() ) {
27
  return new WP_Error( 'Unauthorized', 'You must be logged-in to manage settings.', 401 );
28
  } else if ( ! current_user_can( 'manage_options' ) ) {
@@ -76,6 +76,7 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
76
 
77
  $response_format = self::$site_format;
78
  $blog_id = (int) $this->api->get_blog_id_for_output();
 
79
 
80
  foreach ( array_keys( $response_format ) as $key ) {
81
  switch ( $key ) {
@@ -153,6 +154,8 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
153
  'disabled_likes' => (bool) get_option( 'disabled_likes' ),
154
  'disabled_reblogs' => (bool) get_option( 'disabled_reblogs' ),
155
  'jetpack_comment_likes_enabled' => (bool) get_option( 'jetpack_comment_likes_enabled', false ),
 
 
156
  );
157
 
158
  if ( class_exists( 'Sharing_Service' ) ) {
@@ -164,6 +167,10 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
164
  $response[ $key ]['sharing_open_links'] = (string) $sharing['open_links'];
165
  }
166
 
 
 
 
 
167
  if ( ! current_user_can( 'edit_posts' ) )
168
  unset( $response[$key] );
169
  break;
@@ -206,6 +213,15 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
206
  $updated[ $key ] = $value;
207
  };
208
  break;
 
 
 
 
 
 
 
 
 
209
  case 'jetpack_sync_non_public_post_stati':
210
  Jetpack_Options::update_option( 'sync_non_public_post_stati', $value );
211
  break;
@@ -241,7 +257,7 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
241
  }
242
  break;
243
  case 'wga':
244
- if ( ! isset( $value['code'] ) || ! preg_match( '/^UA-[\d-]+$/', $value['code'] ) ) {
245
  return new WP_Error( 'invalid_code', 'Invalid UA ID' );
246
  }
247
  $wga = get_option( 'wga', array() );
@@ -249,6 +265,12 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
249
  if ( update_option( 'wga', $wga ) ) {
250
  $updated[ $key ] = $value;
251
  }
 
 
 
 
 
 
252
  break;
253
 
254
  case 'jetpack_comment_likes_enabled':
8
  'description' => '(string) Tagline or description of site',
9
  'URL' => '(string) Full URL to the site',
10
  'lang' => '(string) Primary language code of the site',
11
+ 'settings' => '(array) An array of options/settings for the blog. Only viewable by users with post editing rights to the site.',
12
  );
13
 
14
  // GET /sites/%s/settings
22
  if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
23
  $this->load_theme_functions();
24
  }
25
+
26
  if ( ! is_user_logged_in() ) {
27
  return new WP_Error( 'Unauthorized', 'You must be logged-in to manage settings.', 401 );
28
  } else if ( ! current_user_can( 'manage_options' ) ) {
76
 
77
  $response_format = self::$site_format;
78
  $blog_id = (int) $this->api->get_blog_id_for_output();
79
+ $is_jetpack = true === apply_filters( 'is_jetpack_site', false, $blog_id );
80
 
81
  foreach ( array_keys( $response_format ) as $key ) {
82
  switch ( $key ) {
154
  'disabled_likes' => (bool) get_option( 'disabled_likes' ),
155
  'disabled_reblogs' => (bool) get_option( 'disabled_reblogs' ),
156
  'jetpack_comment_likes_enabled' => (bool) get_option( 'jetpack_comment_likes_enabled', false ),
157
+ 'twitter_via' => (string) get_option( 'twitter_via' ),
158
+ 'jetpack-twitter-cards-site-tag' => (string) get_option( 'jetpack-twitter-cards-site-tag' ),
159
  );
160
 
161
  if ( class_exists( 'Sharing_Service' ) ) {
167
  $response[ $key ]['sharing_open_links'] = (string) $sharing['open_links'];
168
  }
169
 
170
+ if ( function_exists( 'jetpack_protect_format_whitelist' ) ) {
171
+ $response[ $key ]['jetpack_protect_whitelist'] = jetpack_protect_format_whitelist();
172
+ }
173
+
174
  if ( ! current_user_can( 'edit_posts' ) )
175
  unset( $response[$key] );
176
  break;
213
  $updated[ $key ] = $value;
214
  };
215
  break;
216
+ case 'jetpack_protect_whitelist':
217
+ if ( function_exists( 'jetpack_protect_save_whitelist' ) ) {
218
+ $result = jetpack_protect_save_whitelist( $value );
219
+ if ( is_wp_error( $result ) ) {
220
+ return $result;
221
+ }
222
+ $updated[ $key ] = jetpack_protect_format_whitelist();
223
+ }
224
+ break;
225
  case 'jetpack_sync_non_public_post_stati':
226
  Jetpack_Options::update_option( 'sync_non_public_post_stati', $value );
227
  break;
257
  }
258
  break;
259
  case 'wga':
260
+ if ( ! isset( $value['code'] ) || ! preg_match( '/^$|^UA-[\d-]+$/i', $value['code'] ) ) {
261
  return new WP_Error( 'invalid_code', 'Invalid UA ID' );
262
  }
263
  $wga = get_option( 'wga', array() );
265
  if ( update_option( 'wga', $wga ) ) {
266
  $updated[ $key ] = $value;
267
  }
268
+
269
+ $enabled_or_disabled = $wga['code'] ? 'enabled' : 'disabled';
270
+ bump_stats_extras( 'google-analytics', $enabled_or_disabled );
271
+
272
+ $business_plugins = WPCOM_Business_Plugins::instance();
273
+ $business_plugins->activate_plugin( 'wp-google-analytics' );
274
  break;
275
 
276
  case 'jetpack_comment_likes_enabled':
json-endpoints/class.wpcom-json-api-update-comment-endpoint.php CHANGED
@@ -50,7 +50,7 @@ class WPCOM_JSON_API_Update_Comment_Endpoint extends WPCOM_JSON_API_Comment_Endp
50
  return new WP_Error( 'unknown_post', 'Unknown post', 404 );
51
  }
52
 
53
- if ( -1 == get_option( 'blog_public' ) && ! is_user_member_of_blog() && ! is_super_admin() ) {
54
  return new WP_Error( 'unauthorized', 'User cannot create comments', 403 );
55
  }
56
 
50
  return new WP_Error( 'unknown_post', 'Unknown post', 404 );
51
  }
52
 
53
+ if ( -1 == get_option( 'blog_public' ) && ! apply_filters( 'wpcom_json_api_user_is_member_of_blog', is_user_member_of_blog() ) && ! is_super_admin() ) {
54
  return new WP_Error( 'unauthorized', 'User cannot create comments', 403 );
55
  }
56
 
json-endpoints/class.wpcom-json-api-update-media-v1-1-endpoint.php CHANGED
@@ -24,14 +24,49 @@ class WPCOM_JSON_API_Update_Media_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
24
  $insert['post_title'] = $input['title'];
25
  }
26
 
27
- if ( ! empty( $input['caption'] ) )
28
  $insert['post_excerpt'] = $input['caption'];
 
29
 
30
- if ( ! empty( $input['description'] ) )
31
  $insert['post_content'] = $input['description'];
 
32
 
33
- if ( ! empty( $input['parent_id'] ) )
34
  $insert['post_parent'] = $input['parent_id'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
 
36
  $insert['ID'] = $media_id;
37
  wp_update_post( (object) $insert );
24
  $insert['post_title'] = $input['title'];
25
  }
26
 
27
+ if ( ! empty( $input['caption'] ) ) {
28
  $insert['post_excerpt'] = $input['caption'];
29
+ }
30
 
31
+ if ( ! empty( $input['description'] ) ) {
32
  $insert['post_content'] = $input['description'];
33
+ }
34
 
35
+ if ( ! empty( $input['parent_id'] ) ) {
36
  $insert['post_parent'] = $input['parent_id'];
37
+ }
38
+
39
+ if ( ! empty( $input['alt'] ) ) {
40
+ $alt = wp_strip_all_tags( $input['alt'], true );
41
+ update_post_meta( $media_id, '_wp_attachment_image_alt', $alt );
42
+ }
43
+
44
+ // audio only artist/album info
45
+ if ( 0 === strpos( $item->mime_type, 'audio/' ) ) {
46
+ $changed = false;
47
+ $id3data = wp_get_attachment_metadata( $media_id );
48
+
49
+ if ( ! is_array( $id3data ) ) {
50
+ $changed = true;
51
+ $id3data = array();
52
+ }
53
+
54
+ $id3_keys = array(
55
+ 'artist' => __( 'Artist', 'jetpack' ),
56
+ 'album' => __( 'Album', 'jetpack' )
57
+ );
58
+
59
+ foreach ( $id3_keys as $key => $label ) {
60
+ if ( ! empty( $input[ $key ] ) ) {
61
+ $changed = true;
62
+ $id3data[ $key ] = wp_strip_all_tags( $input[ $key ], true );
63
+ }
64
+ }
65
+
66
+ if ( $changed ) {
67
+ wp_update_attachment_metadata( $media_id, $id3data );
68
+ }
69
+ }
70
 
71
  $insert['ID'] = $media_id;
72
  wp_update_post( (object) $insert );
json-endpoints/class.wpcom-json-api-update-taxonomy-endpoint.php CHANGED
@@ -30,7 +30,7 @@ class WPCOM_JSON_API_Update_Taxonomy_Endpoint extends WPCOM_JSON_API_Taxonomy_En
30
  $args = $this->query_args();
31
  $input = $this->input();
32
  if ( !is_array( $input ) || !$input || !strlen( $input['name'] ) ) {
33
- return new WP_Error( 'unknown_taxonomy', 'Unknown data passed', 404 );
34
  }
35
 
36
  $user = wp_get_current_user();
@@ -44,7 +44,7 @@ class WPCOM_JSON_API_Update_Taxonomy_Endpoint extends WPCOM_JSON_API_Taxonomy_En
44
  }
45
 
46
  if ( term_exists( $input['name'], $taxonomy_type ) ) {
47
- return new WP_Error( 'unknown_taxonomy', 'A taxonomy with that name already exists', 404 );
48
  }
49
 
50
  if ( 'category' !== $taxonomy_type )
30
  $args = $this->query_args();
31
  $input = $this->input();
32
  if ( !is_array( $input ) || !$input || !strlen( $input['name'] ) ) {
33
+ return new WP_Error( 'invalid_input', 'Unknown data passed', 400 );
34
  }
35
 
36
  $user = wp_get_current_user();
44
  }
45
 
46
  if ( term_exists( $input['name'], $taxonomy_type ) ) {
47
+ return new WP_Error( 'duplicate', 'A taxonomy with that name already exists', 400 );
48
  }
49
 
50
  if ( 'category' !== $taxonomy_type )
json-endpoints/class.wpcom-json-api-upload-media-endpoint.php CHANGED
@@ -44,7 +44,7 @@ class WPCOM_JSON_API_Upload_Media_Endpoint extends WPCOM_JSON_API_Endpoint {
44
  if ( $has_media_urls ) {
45
  foreach ( $input['media_urls'] as $url ) {
46
  $id = $this->handle_media_sideload( $url );
47
- if ( ! empty( $id ) )
48
  $media_ids[] = $id;
49
  }
50
  }
44
  if ( $has_media_urls ) {
45
  foreach ( $input['media_urls'] as $url ) {
46
  $id = $this->handle_media_sideload( $url );
47
+ if ( ! empty( $id ) && is_int( $id ) )
48
  $media_ids[] = $id;
49
  }
50
  }
json-endpoints/jetpack/class.jetpack-json-api-endpoint.php CHANGED
@@ -58,7 +58,7 @@ abstract class Jetpack_JSON_API_Endpoint extends WPCOM_JSON_API_Endpoint {
58
  * Switches to the blog and checks current user capabilities.
59
  * @return bool|WP_Error a WP_Error object or true if things are good.
60
  */
61
- protected function validate_call( $_blog_id, $capability, $check_full_management = null ) {
62
  $blog_id = $this->api->switch_to_blog_and_validate_user( $this->api->get_blog_id( $_blog_id ) );
63
  if ( is_wp_error( $blog_id ) ) {
64
  return $blog_id;
@@ -68,13 +68,10 @@ abstract class Jetpack_JSON_API_Endpoint extends WPCOM_JSON_API_Endpoint {
68
  return $error;
69
  }
70
 
71
- if ( is_null( $check_full_management ) ) {
72
- $check_full_management = $this->method !== 'GET';
73
  }
74
 
75
- if ( $check_full_management && ! Jetpack_Options::get_option( 'json_api_full_management' ) ) {
76
- return new WP_Error( 'unauthorized_full_access', sprintf( __( 'Full management mode is off for this site.' , 'jetpack' ), $capability ), 403 );
77
- }
78
  return true;
79
  }
80
 
58
  * Switches to the blog and checks current user capabilities.
59
  * @return bool|WP_Error a WP_Error object or true if things are good.
60
  */
61
+ protected function validate_call( $_blog_id, $capability, $check_manage_active = true ) {
62
  $blog_id = $this->api->switch_to_blog_and_validate_user( $this->api->get_blog_id( $_blog_id ) );
63
  if ( is_wp_error( $blog_id ) ) {
64
  return $blog_id;
68
  return $error;
69
  }
70
 
71
+ if ( $check_manage_active && 'GET' !== $this->method && ! Jetpack::is_module_active( 'manage' ) ) {
72
+ return new WP_Error( 'unauthorized_full_access', __( 'Full management mode is off for this site.', 'jetpack' ), 403 );
73
  }
74
 
 
 
 
75
  return true;
76
  }
77
 
json-endpoints/jetpack/class.jetpack-json-api-sync-endpoint.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Jetpack_JSON_API_Sync_Endpoint extends Jetpack_JSON_API_Endpoint {
4
+ // POST /sites/%s/sync
5
+ protected $needed_capabilities = 'manage_options';
6
+
7
+ protected function result() {
8
+ Jetpack::init();
9
+ do_action( 'jetpack_sync_all_registered_options' );
10
+ $result['scheduled'] = true;
11
+ return $result;
12
+ }
13
+ }
json-endpoints/jetpack/json-api-jetpack-endpoints.php CHANGED
@@ -563,3 +563,18 @@ new Jetpack_JSON_API_Core_Endpoint( array(
563
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.org/core'
564
  ) );
565
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
563
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.org/core'
564
  ) );
565
 
566
+ require_once( $json_jetpack_endpoints_dir . 'class.jetpack-json-api-sync-endpoint.php' );
567
+
568
+ new Jetpack_JSON_API_Sync_Endpoint( array(
569
+ 'description' => 'Force sync of all options and constants',
570
+ 'method' => 'POST',
571
+ 'path' => '/sites/%s/sync',
572
+ 'stat' => 'sync',
573
+ 'path_labels' => array(
574
+ '$site' => '(int|string) The site ID, The site domain'
575
+ ),
576
+ 'response_format' => array(
577
+ 'scheduled' => '(bool) Whether or not the synchronisation was scheduled'
578
+ ),
579
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/example.wordpress.org/sync'
580
+ ) );
languages/jetpack-ar.mo CHANGED
Binary file
languages/jetpack-ar.po CHANGED
@@ -1,2657 +1,2167 @@
1
- # Translation of 3.3 in Arabic
2
- # This file is distributed under the same license as the 3.3 package.
3
  msgid ""
4
  msgstr ""
5
- "PO-Revision-Date: 2015-02-16 19:11:37+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
9
  "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
10
  "X-Generator: GlotPress/0.1\n"
11
- "Project-Id-Version: 3.3\n"
12
 
13
- #: class.jetpack.php:2431
14
- msgid "Activate now"
15
- msgstr "فعّل الآن"
16
-
17
- #: class.jetpack.php:2457
18
- msgid "<p><a href=\"%1$s\" title=\"Opt in to WordPress.com Site Management\" >Activate Site Management</a> to manage plugins and multiple sites from our centralized dashboard at wordpress.com/plugins. <a href=\"%2$s\" target=\"_blank\">Learn more</a>.</p><a href=\"%1$s\" class=\"jp-button\">Activate Now</a>"
19
- msgstr "<p><a href=\"%1$s\" title=\"اشترك في إدارة موقع وردبرس دوت كوم\" >فعّل إدارة الموقع</a> لإدارة المكونات الإضافية والمواقع المتعددة من لوحة التحكم المركزية الخاصة بك في wordpress.com/plugins. <a href=\"%2$s\" target=\"_blank\">اعرف المزيد</a>.</p><a href=\"%1$s\" class=\"jp-button\">فعّل الآن</a>"
20
 
21
- #: class.jetpack.php:2861
22
- msgid "You are all set! Your site can now be managed from <a href=\"%s\" target=\"_blank\">wordpress.com/plugins</a>."
23
- msgstr "أنت مستعدٌ الآن! يمكن إدارة موقعك الآن من <a href=\"%s\" target=\"_blank\">WordPress.com/Plugins</a>."
 
24
 
25
- #: class.jetpack.php:2863
26
- msgid "JSON API has been activated for you!"
27
- msgstr "تم تفعيل مفتاح واجهة برمجة تطبيقات الجافا سكريبت الخاص بك!"
 
28
 
29
- #: class.jetpack.php:3371
30
- msgid "To enable all of the Jetpack features, you&#8217;ll need to connect your website to WordPress.com."
31
- msgstr "لتفعيل جميع ميزات Jetpack، يجب عليك ربط موقعك بوردبرس دوت كوم."
 
32
 
33
- #: class.jetpack.php:3372
34
- msgid "Once you&#8217;ve made the connection you&#8217;ll activate all the delightful features below."
35
- msgstr "حالما تقوم بالاتصال، ستفعل جميع المزايا الرائعة أدناه."
 
36
 
37
- #: class.jetpack.php:2376
38
- msgid "Your Jetpack is almost ready!"
39
- msgstr "أداة Jetpack الخاصة بك جاهزة مسبقًا!"
 
40
 
41
- #: class.jetpack.php:2384
42
- msgid "Jetpack is installed!"
43
- msgstr "تم تثبيب Jetpack!"
 
44
 
45
- #: class.jetpack.php:2425
46
- msgid "Dismiss this notice for now."
47
- msgstr "ارفض هذه الملاحظة الآن."
 
48
 
49
- #: class.jetpack.php:2427
50
- msgid "New in Jetpack: Centralized Site Management"
51
- msgstr "الجديد في Jetpack: إدارة الموقع المركزية"
 
52
 
53
- #: class.jetpack.php:2428
54
- msgid "Manage multiple sites and keep plugins up-to-date from one dashboard at wordpress.com/plugins. Enabling allows all existing, connected Administrators to modify your site from WordPress.com. <a href=\"%s\" target=\"_blank\">Learn More</a>."
55
- msgstr "قم بإدارة العديد من المواقع وحدّث مكوناتك الإضافية باستمرار من لوحة تحكم واحدة في wordpress.com/plugins. يسمح تمكين هذه الخاصية لجميع المستخدمين المتصلين الموجودين بتعديل موقعك من وردبرس دوت كوم. <a href=\"%s\" target=\"_blank\">اعرف المزيد</a>."
56
 
57
- #: views/admin/landing-page-templates.php:24
58
- msgid "Learn more"
59
- msgstr "تعرف على المزيد"
60
 
61
- #: modules/omnisearch/omnisearch-core.php:88
62
- msgid "search everything"
63
- msgstr "البحث عن كل شيء"
 
64
 
65
- #: modules/related-posts/jetpack-related-posts.php:93
66
- msgid "Related posts"
67
- msgstr "مواقع ذات صلة"
 
68
 
69
- #: views/admin/landing-page-templates.php:12
70
- msgid "loading&hellip;"
71
- msgstr "جاري التحميل&hellip;"
72
 
73
- #: modules/minileven/theme/pub/minileven/content.php:49
74
- #: modules/minileven/theme/pub/minileven/image.php:80
75
- msgid "Leave a reply"
76
- msgstr "أضف تعليق"
77
 
78
- #: modules/minileven/theme/pub/minileven/image.php:89
79
- msgid "Next &raquo; "
80
- msgstr "التالي &raquo;"
81
 
82
- #: class.jetpack.php:730
83
- msgid "In Development Mode, via the JETPACK_DEV_DEBUG constant being defined in wp-config.php or elsewhere."
84
- msgstr "في وضع التطوير، وعبر الاستمرار في تعريف JETPACK_DEV_DEBUG في wp-config.php أو أي مكان آخر."
 
85
 
86
- #: class.jetpack.php:732
87
- msgid "In Development Mode, via site URL lacking a dot (e.g. http://localhost)."
88
- msgstr "في وضع التطوير، عبر عنوان URL لموقع تنقصه نقطة (مثال http://localhost)."
 
89
 
90
- #: class.jetpack.php:734
91
- msgid "In Development Mode, via the jetpack_development_mode filter."
92
- msgstr "في وضع التطوير، عبر عامل تصفية jetpack_development_mode."
 
93
 
94
- #: class.jetpack.php:4210
95
- msgid "The WP.com user ID of the connected user"
96
- msgstr "معرف مستخدم WP.com للمستخدم المتصل"
 
97
 
98
- #: class.jetpack.php:4215
99
- msgid "The WP.com username of the connected user"
100
- msgstr "اسم مستخدم WP.com للمستخدم المتصل"
 
101
 
102
- #: class.jetpack.php:4220
103
- msgid "The WP.com user email of the connected user"
104
- msgstr "البريد الإلكتروني لمستخدم WP.com للمستخدم المتصل"
 
105
 
106
- #: class.jetpack.php:4225
107
- msgid "The number of sites of the connected WP.com user"
108
- msgstr "عدد مواقع مستخدم WP.com المتصل"
 
109
 
110
- #: modules/contact-form/grunion-form-view.php:151
111
- msgid "Click here"
112
- msgstr "اضغط هنا"
 
113
 
114
- #: modules/custom-css/custom-css.php:807
115
- msgid "Media Width:"
116
- msgstr "عرض الوسائط:"
 
117
 
118
- #: modules/custom-post-types/nova.php:747
119
- msgid "edit"
120
- msgstr "تحرير"
121
 
122
- #: json-endpoints/jetpack/class.jetpack-json-api-themes-install-endpoint.php:53
123
- msgid "The theme is already installed"
124
- msgstr "تم تثبيت القالب مسبقًا"
125
 
126
- #: modules/module-info.php:930
127
- msgid "Site Icon lets you create an icon for your site. This icon will be used as favicon, mobile icon, and Tile on Windows 8 computers."
128
- msgstr "تتيح لك أيقونة الموقع إنشاء أيقونة لموقعك. ستُستخدم هذه الأيقونة كأيقونة مفضلة وأيقونة هاتف محمول وتجانب في الحواسيب بنظام التشغيل Windows 8."
129
 
130
- #: modules/module-info.php:931
131
- msgid "To add a new icon to your site, head over to <a href=\"%s\">Settings &rarr; General &rarr; Site Icon</a>, and upload an icon."
132
- msgstr "لإضافة أيقونة جديدة إلى موقعك، اذهب إلى <a href=\"%s\">الإعدادات → عام → أيقونة الموقع</a>، وحمِّل أيقونةً."
133
 
134
- #: modules/shortcodes/instagram.php:73
135
- msgid "View on Instagram"
136
- msgstr "عرض على إنستغرام"
137
 
138
- #: json-endpoints/jetpack/class.jetpack-json-api-plugins-install-endpoint.php:28
139
- msgid "There was an error installing your plugin"
140
- msgstr "حدث خطأ أثناء تثبيت المكون الإضافي الخاص بك."
141
 
142
- #: json-endpoints/jetpack/class.jetpack-json-api-plugins-install-endpoint.php:32
143
- #: json-endpoints/jetpack/class.jetpack-json-api-themes-install-endpoint.php:27
144
- msgid "An unknown error occurred during installation"
145
- msgstr "حدث خطأ غير معروف أثناء التثبيت"
146
 
147
- #: json-endpoints/jetpack/class.jetpack-json-api-plugins-install-endpoint.php:56
148
- msgid "The plugin is already installed"
149
- msgstr "تم تثبيت المكون الإضافي مسبقًا"
150
 
151
- #: json-endpoints/jetpack/class.jetpack-json-api-plugins-modify-endpoint.php:148
152
- msgid "No update needed"
153
- msgstr "لا حاجة للتحديث"
154
 
155
- #: json-endpoints/jetpack/class.jetpack-json-api-themes-install-endpoint.php:31
156
- msgid "There was an error installing your theme"
157
- msgstr "حدث خطأ أثناء تثبيت القالب الخاص بك"
158
 
159
- #: json-endpoints/jetpack/class.jetpack-json-api-themes-install-endpoint.php:48
160
- msgid "No themes found."
161
- msgstr "لم يتّم إيجاد قوالب."
162
 
163
- #: json-endpoints/jetpack/class.jetpack-json-api-plugins-endpoint.php:156
164
- msgid "You are required to specify a plugin to activate."
165
- msgstr "يتعين عليك تحديد مكون إضافي لتنشيطه."
166
 
167
- #: json-endpoints/jetpack/class.jetpack-json-api-plugins-endpoint.php:147
168
- msgid "This user is not authorized to manage plugins network wide."
169
- msgstr "غير مخول للمستخدم بإدارة المكونات الإضافية على مستوى الشبكة."
170
 
171
- #: json-endpoints/jetpack/class.jetpack-json-api-plugins-endpoint.php:84
172
- #: json-endpoints/jetpack/class.jetpack-json-api-plugins-install-endpoint.php:50
173
- msgid "No plugins found."
174
- msgstr "لم يتم إيجاد أية إضافات."
175
 
176
- #: json-endpoints/jetpack/class.jetpack-json-api-modules-modify-endpoint.php:51
177
- msgid "There was an error while deactivating the module."
178
- msgstr "حدث خطأ أثناء تعطيل الوحدة النمطية."
179
 
180
- #: json-endpoints/jetpack/class.jetpack-json-api-plugins-endpoint.php:59
181
- msgid "You are required to specify a plugin."
182
- msgstr "يجب تحديد مكون إضافي."
183
 
184
- #: json-endpoints/jetpack/class.jetpack-json-api-modules-modify-endpoint.php:27
185
- msgid "The Jetpack Module is already activated."
186
- msgstr "وحدة Jetpack النمطية مفعّلة مسبقًا."
187
 
188
- #: json-endpoints/jetpack/class.jetpack-json-api-modules-modify-endpoint.php:32
189
- msgid "There was an error while activating the module."
190
- msgstr "حدث خطأ أثناء تفعيل الوحدة النمطية."
191
 
192
- #: json-endpoints/jetpack/class.jetpack-json-api-modules-modify-endpoint.php:46
193
- msgid "The Jetpack Module is already deactivated."
194
- msgstr "وحدة Jetpack النمطية غير نشطة بالفعل."
195
 
196
- #: json-endpoints/jetpack/class.jetpack-json-api-modules-endpoint.php:74
197
- msgid "Module not found: `%s`."
198
- msgstr "لم يتم العثور على الوحدة النمطية: `%s`."
199
 
200
- #: json-endpoints/jetpack/class.jetpack-json-api-modules-endpoint.php:48
201
- msgid "You are required to specify a module."
202
- msgstr "يجب عليك اختيار وحدة نمطية."
203
 
204
- #: json-endpoints/jetpack/class.jetpack-json-api-endpoint.php:106
205
- #: json-endpoints/jetpack/class.jetpack-json-api-endpoint.php:111
206
- msgid "This user is not authorized to %s on this blog."
207
- msgstr "غير مخول لهذا المستخدم بإجراء %s على هذه المدونة."
208
 
209
- #: json-endpoints/jetpack/class.jetpack-json-api-endpoint.php:50
210
- msgid "You must specify a valid action"
211
- msgstr "يجب تحديد إجراء صالح"
212
 
213
- #: json-endpoints/jetpack/class.jetpack-json-api-endpoint.php:76
214
- msgid "Full management mode is off for this site."
215
- msgstr "تم إيقاف تشغيل وضع الإدارة الكاملة لهذا الموقع."
 
 
 
 
216
 
217
- #: json-endpoints/jetpack/class.jetpack-json-api-check-capabilities-endpoint.php:14
218
- msgid "You are required to specify a capability to check."
219
- msgstr "يجب عليك تحديد سعة للتحقق منها."
 
 
 
 
220
 
221
- #: json-endpoints/class.wpcom-json-api-update-comment-endpoint.php:124
222
- msgid "Comment cache problem?"
223
- msgstr "مشكلة في ذاكرة التخزين المؤقت بالتعليق؟"
224
 
225
- #: json-endpoints/class.wpcom-json-api-post-endpoint.php:88
226
- #: json-endpoints/class.wpcom-json-api-post-v1-1-endpoint.php:85
227
- msgid "This post is password protected."
228
- msgstr "هذه التدوينة محمية بكلمة سر."
229
 
230
- #: functions.opengraph.php:101
231
- msgid "(no title)"
232
- msgstr "(لا عنوان)"
233
 
234
- #: functions.gallery.php:45
235
- msgid "Type"
236
- msgstr "النوع"
237
 
238
- #: functions.gallery.php:12
239
- msgid "Thumbnail Grid"
240
- msgstr "شبكة صور مصغرة"
241
 
242
- #: class.jetpack.php:4777
243
- msgid "That used to be my URL for this site before I changed it. Update the WordPress.com Cloud's data to match my current settings."
244
- msgstr "كان هذا رابطي لهذا الموقع قبل أن غيرته. حدث بيانات WordPress.com Cloud لتطابق إعداداتي الحالية."
245
 
246
- #: class.jetpack.php:4776
247
- msgid "Ignore the difference. This is just a staging site for the real site referenced above."
248
- msgstr "تجاهل الفرق. هذا فقط موقع تحضيري للموقع الحقيقي المشار إليه في الأعلى."
249
 
250
- #: class.jetpack.php:4775
251
- msgid "The data listed above is not for my current site. Please disconnect, and then form a new connection to WordPress.com for this site using my current settings."
252
- msgstr "البيانات المعروضة في الأعلى ليست من موقعي. رجاءً اقطع الاتصال، ثم أنشئ اتصالاً جديداً لهذا الموقع مع WordPress.com باستخدام إعداداتي."
253
 
254
- #: class.jetpack.php:4773
255
- msgid "Your <code>%1$s</code> option is set up as <strong>%2$s</strong>, but your WordPress.com connection lists it as <strong>%3$s</strong>!"
256
- msgstr "خيارك <code>%1$s</code> مضبوط على أنه <strong>%2$s</strong>، لكن اتصالك بـ WordPress.com يعرضه على أنه <strong>%3$s</strong>!"
257
 
258
- #: class.jetpack.php:4771
259
- msgid "Something has gotten mixed up!"
260
- msgstr "هناك خطأ ما!"
261
 
262
- #: class.jetpack.php:4585
263
- msgid "%s wants to access your site&#8217;s data. Log in to authorize that access."
264
- msgstr "%s يريد الوصول إلى بيانات مواقعك. قم بتسجيل الدخول لتسمح بالوصول."
265
 
266
- #: class.jetpack.php:4545
267
- msgid "The authorization process expired. Please go back and try again."
268
- msgstr "انتهت عملية المصادقة. يرجى الرجوع والمحاولة مرة أخرى."
269
 
270
- #: class.jetpack.php:4511
271
- msgid "Someone may be trying to trick you into giving them access to your site. Or it could be you just encountered a bug :). Either way, please close this window."
272
- msgstr "قد يكون شخص ما يحاول خداعك لمنحهم إمكانية الوصول إلى موقعك. أو من الممكن واجهك خطأ :). في كلتا الحالتين، يرجى إغلاق هذه النافذة."
273
 
274
- #: class.jetpack.php:4508
275
- msgid "You must connect your Jetpack plugin to WordPress.com to use this feature."
276
- msgstr "يجب عمل اتصال Jetpack مع حساب WordPress.com حتى تستخدم هذه الميزة."
277
 
278
- #: class.jetpack.php:4242
279
- msgid "The Client ID/WP.com Blog ID of this site"
280
- msgstr "معرف عميل المدونة WP.com من هذا الموقع"
281
 
282
- #: class.jetpack.php:4236
283
- msgid "Jetpack Plugin Version"
284
- msgstr "إصدار إضافة Jetpack"
285
 
286
- #: class.jetpack.php:3903
287
- msgid "Error Details: Jetpack ID begins with a numeral. Do not publicly post this error message! %s"
288
- msgstr "خطأ بالخصائص: معرف Jetpack يبدأ بالأرقام. لا تنشر رسالة الخطأ %s على الملأ!"
289
 
290
- #: class.jetpack.php:3901
291
- msgid "Error Details: Jetpack ID is not a scalar. Do not publicly post this error message! %s"
292
- msgstr "خطأ بالخصائص: معرف Jetpack ليس قيم فردية. لا تنشر رسالة الخطأ %s على الملأ!"
 
293
 
294
- #: class.jetpack.php:3899
295
- msgid "Error Details: Jetpack ID is empty. Do not publicly post this error message! %s"
296
- msgstr "خطأ بالخصائص: معرف Jetpack فارغ. لا تنشر رسالة الخطأ %s على الملأ!"
 
297
 
298
- #: class.jetpack.php:3815
299
- msgid "Your site is configured to only permit SSL connections to Jetpack, but SSL connections don't seem to be functional!"
300
- msgstr "إن موقعك مضبوط على السماح باتصالات SSL فقط مع Jetpack، لكن يبدو أن اتصالات SSL لا تعمل!"
 
301
 
302
- #: class.jetpack.php:3814
303
- msgid "Something is being cranky!"
304
- msgstr "هناك خطأ ما!"
 
305
 
306
- #: class.jetpack.php:3665
307
- msgid "Coming soon&#8230;"
308
- msgstr "قريبا&#8230;"
 
309
 
310
- #: class.jetpack.php:3599
311
- msgid "Updated"
312
- msgstr "تم التحديث"
 
313
 
314
- #: class.jetpack.php:3596
315
- msgid "New"
316
- msgstr "جديد"
 
317
 
318
- #: class.jetpack.php:3588
319
- msgid "Purchase"
320
- msgstr "شراء"
 
321
 
322
- #: class.jetpack.php:3588
323
- msgid "Free"
324
- msgstr "مجاني"
 
325
 
326
- #: class.jetpack.php:3496
327
- msgid "Configure %s"
328
- msgstr "تهيئة %s"
 
329
 
330
- #: class.jetpack.php:3463 views/admin/network-admin-footer.php:19
331
- msgid "Terms of Service"
332
- msgstr "شروط الخدمة"
 
333
 
334
- #: class.jetpack.php:3462 views/admin/network-admin-footer.php:18
335
- msgid "Privacy Policy"
336
- msgstr "سياسة الخصوصية"
 
337
 
338
- #: class.jetpack.php:3459 views/admin/network-admin-footer.php:15
339
- msgid "An <span>Automattic</span> Airline"
340
- msgstr "شركة <span>أوتوماتيك</span> لخدمات التدوين"
 
341
 
342
- #: class.jetpack.php:3447
343
- msgid "You will no longer receive email updates about Jetpack."
344
- msgstr "لا يمكنك استقبال تحديثات Jetpack عبر البريد الإلكتروني."
 
345
 
346
- #: class.jetpack.php:3445
347
- msgid "You have been subscribed to receive email updates."
348
- msgstr "لقد قمت بالاشتراك لاستقبال التحديثات عبر البريد الإلكتروني."
 
349
 
350
- #: class.jetpack.php:3438 modules/subscriptions.php:740
351
- msgid "Subscribe"
352
- msgstr "اشترك"
 
353
 
354
- #: class.jetpack.php:3433
355
- msgid "Unsubscribe"
356
- msgstr "إلغاء الاشتراك"
 
357
 
358
- #: class.jetpack.php:3426
359
- msgid "Checking email updates status&hellip;"
360
- msgstr "التحقق من حالة تحديثات البريد الإلكتروني..."
 
361
 
362
- #: class.jetpack.php:3420 views/admin/network-admin-footer.php:9
363
- msgid "Take Survey"
364
- msgstr "دراسة استقصائية"
365
 
366
- #: class.jetpack.php:3417 views/admin/network-admin-footer.php:6
367
- msgid "Answer a short survey to let us know how we&#8217;re doing and what to add in the future."
368
- msgstr "أجب عن أسئلتنا القصيرة لنعلم كيف نعمل لتطوير هذا البرنامج في المستقبل."
369
 
370
- #: class.jetpack.php:3415 views/admin/network-admin-footer.php:4
371
- msgid "Have feedback on Jetpack?"
372
- msgstr "لديك اقتراح لJetpack؟"
373
 
374
- #: class.jetpack.php:3395 modules/post-by-email.php:134
375
- #: modules/publicize/publicize-jetpack.php:80
376
- msgid "Link account with WordPress.com"
377
- msgstr "ربط الحساب بموقع WordPress.com"
378
 
379
- #: class.jetpack.php:3392
380
- msgid "To enable all of the Jetpack features you&#8217;ll need to link your account here to your WordPress.com account."
381
- msgstr "لتفعيل جميع ميزات Jetpack، يجب عليك ربط حسابك هنا بحساب وردبرس دوت كوم الخاص بك."
382
 
383
- #: class.jetpack.php:3359
384
- msgid "To use Jetpack please contact your WordPress administrator to connect it for you."
385
- msgstr "حتى تستخدم Jetpack، عليك الاتصال بمدير WordPress لوصلها لك."
386
 
387
- #: class.jetpack.php:3333
388
- msgid "Unlink user from WordPress.com"
389
- msgstr "فصل العضو بموقع WordPress.com"
390
 
391
- #: class.jetpack.php:3333
392
- msgid "User linked to WordPress.com"
393
- msgstr "ربط عضو بموقع WordPress.com"
394
 
395
- #: class.jetpack.php:3328
396
- msgid "Connected to WordPress.com"
397
- msgstr "متصل بموقع WordPress.com"
398
 
399
- #: class.jetpack.php:3027
400
- msgid "Is this site private?"
401
- msgstr "هل هذا الموقع خاص؟"
402
 
403
- #: class.jetpack.php:2961
404
- msgid "The old version has been deactivated and can be removed from your site."
405
- msgid_plural "The old versions have been deactivated and can be removed from your site."
406
- msgstr[0] "تم تعطيل الإصدار القديم ويمكن حذفه من موقعك."
407
- msgstr[1] "تم تعطيل الإصدار القديم ويمكن حذفه من موقعك."
408
- msgstr[2] "تم تعطيل الإصداران القديمان ويمكن حذفهما من موقعك."
409
- msgstr[3] "تم تعطيل الإصدار القديم ويمكن حذفه من موقعك."
410
- msgstr[4] "تم تعطيل الإصدار القديم ويمكن حذفه من موقعك."
411
- msgstr[5] "تم تعطيل الإصدار القديم ويمكن حذفه من موقعك."
412
 
413
- #: class.jetpack.php:2950
414
- msgid "Jetpack contains the most recent version of the old %l plugin."
415
- msgid_plural "Jetpack contains the most recent versions of the old %l plugins."
416
- msgstr[0] "يحتوي Jetpack على أحدث نسخة من أقدم إضافة %l."
417
- msgstr[1] "يحتوي Jetpack على أحدث نسخة من أقدم إضافة %l."
418
- msgstr[2] "يحتوي Jetpack على أحدث نسخة من أقدم إضافة %l."
419
- msgstr[3] "يحتوي Jetpack على أحدث نسخة من أقدم إضافة %l."
420
- msgstr[4] "يحتوي Jetpack على أحدث نسخة من أقدم إضافة %l."
421
- msgstr[5] "يحتوي Jetpack على أحدث نسخة من أقدم إضافة %l."
422
 
423
- #: class.jetpack.php:2927
424
- msgid "<strong>You have unlinked your account (%s) from WordPress.com.</strong>"
425
- msgstr "<strong>لم تقم بربط حسابك (%s) من موقع WordPress.com.</strong>"
426
 
427
- #: class.jetpack.php:2916
428
- msgid "Jetpack is now active. Browse through each Jetpack feature below. Visit the <a href=\"%s\">settings page</a> to activate/deactivate features."
429
- msgstr "Jetpack نشط الآن. تصفح عبر كل ميزة من ميزات Jetpack أدناه. تفضل بزيارة <a href=\"%s\">صفحة الإعدادات</a> لتنشيط/إلغاء تنشيط الميزات."
430
 
431
- #: class.jetpack.php:2914 class.jetpack.php:2921
432
- msgid "<strong>You&#8217;re fueled up and ready to go.</strong> "
433
- msgstr "<strong>أنت جاهز لاستخدام Jetpack</strong> "
434
 
435
- #: class.jetpack.php:2910
436
- msgid "<strong>Your Jetpack is already connected.</strong> "
437
- msgstr "<strong>إضافة Jetpack متصلة بالفعل</strong>"
438
 
439
- #: class.jetpack.php:2906
440
- msgid "<strong>Module settings were saved.</strong> "
441
- msgstr "<strong>تم حفظ إعدادات الإضافة.</strong> "
442
 
443
- #: class.jetpack.php:2868
444
- msgid "<strong>%s Activated!</strong> You can deactivate at any time by clicking the Deactivate link next to each module."
445
- msgstr "<strong>تم تنشيط %s!</strong> يمكنك إلغاء التنشيط في أي وقت بالنقر فوق رابط \"إلغاء التنشيط\" الموجود بجوار كل وحدة نمطية."
446
 
447
- #: class.jetpack.php:2854
448
- msgid "The following modules have been updated: %l."
449
- msgstr "تم تحديث الإضافات التالية: %l."
450
 
451
- #: class.jetpack.php:2842
452
- msgid "The following new modules have been activated: %l."
453
- msgstr "لقد تم تفعيل الإضافات الجديدة التالية: %l."
454
 
455
- #: class.jetpack.php:2830
456
- msgid "Welcome to <strong>Jetpack %s</strong>!"
457
- msgstr "مرحباً بك في <strong>Jetpack الإصدار: %s</strong>!"
458
 
459
- #: class.jetpack.php:2802
460
- msgid "Try connecting again."
461
- msgstr "حاول الاتصال مرة أخرى."
462
 
463
- #: class.jetpack.php:2799
464
- msgid "<strong>Your Jetpack has a glitch.</strong> Something went wrong that&#8217;s never supposed to happen. Guess you&#8217;re just lucky: %s"
465
- msgstr "<strong>يوجد خلل بإضافة Jetpack.</strong> لقد حصل خطأ من المفترض أن يحدث. أنت محظوظ: %s"
466
 
467
- #: class.jetpack.php:2759
468
- msgid "Jetpack could not contact WordPress.com: %s. This usually means something is incorrectly configured on your web host."
469
- msgstr "لم يتمكن Jetpack بالاتصال بموقع WordPress.com: %s. وهذا يعني بأن هناك إعدادات خاطئة باستضافة موقعك على الخادم."
470
 
471
- #: class.jetpack.php:2755
472
- msgid "WordPress.com is currently having problems and is unable to fuel up your Jetpack. Please try again later."
473
- msgstr "يوجد مشاكل حالياً مع WordPress.com وغير قادر على الربط مع Jetpack. يرجى المحاولة مرة أخرى في وقت لاحق."
474
 
475
- #: class.jetpack.php:2749
476
- msgid "<strong>Your Jetpack has a glitch.</strong> Connecting this site with WordPress.com is not possible. This usually means your site is not publicly accessible (localhost)."
477
- msgstr "<strong>يوجد خلل بإضافة Jetpack.</strong> ربط هذا الموقع مع WordPress.com غير ممكن. هذا يعني بأن موقعك غير متاح للزوار (سيرفر محلي)."
478
 
479
- #: class.jetpack.php:2745
480
- msgid "Only the user who initiated the Jetpack connection on this site can toggle %s, but that user no longer exists. This should not happen."
481
- msgstr "لا يمكن تفعيل أو إلغاء تفعيل %s إلا من قبل المستخدم الذي أنشأ اتصال Jetpack على هذا الموقع، لكن هذا المستخدم لم يعد موجوداً. ليس من المفترض أن يحدث هذا."
482
 
483
- #: class.jetpack.php:2742
484
- msgid "This module can only be altered by %s, the user who initiated the Jetpack connection on this site."
485
- msgstr "لا يمكن تعديل هذه الوحدة إلا من قبل %s، وهو المستخدم الذي أنشأ اتصال Jetpack على هذا الموقع."
486
 
487
- #: class.jetpack.php:2740
488
- msgid "%s was not deactivated."
489
- msgstr "لم يتم تفعيل %s."
 
490
 
491
- #: class.jetpack.php:2738
492
- msgid "%s was not activated."
493
- msgstr "لم يتم تنشيط %s."
494
 
495
- #: class.jetpack.php:2720
496
- msgid "Module could not be activated because it triggered a <strong>fatal error</strong>. Perhaps there is a conflict with another plugin you have installed?"
497
- msgstr "لا يمكن تفعيل الوحدة لأنها تسبب <strong>خطأ فادح</strong>. ربما هناك تعارض مع إضافة أخرى قد قمت بتثبيتها؟"
498
 
499
- #: class.jetpack.php:2717
500
- msgid "Do you still have the %s plugin installed?"
501
- msgstr "هل ما زالت إضافة %s مثبتة لديك؟"
502
 
503
- #: class.jetpack.php:2715
504
- msgid "%s could not be activated because it triggered a <strong>fatal error</strong>. Perhaps there is a conflict with another plugin you have installed?"
505
- msgstr "لا يمكن تنشيط %s لأنها تسبب <strong>خطأ فادح</strong>. ربما هناك تعارض مع إضافة أخرى قد قمت بتثبيتها؟"
506
 
507
- #: class.jetpack.php:2710
508
- msgid "Your website needs to be publicly accessible to use Jetpack: %s"
509
- msgstr "يجب أن يكون موقعك متاح للعموم لاستخدام Jetpack: %s"
510
 
511
- #: class.jetpack.php:2706
512
- msgid "Wrong size. Hm&#8230; it seems your Jetpack doesn&#8217;t quite fit. Have you lost weight? Click &#8220;Connect to WordPress.com&#8221; again to get your Jetpack adjusted."
513
- msgstr "خطأ بالحجم. يبدو بأن Jetpack غير متناسبة تماماً. هل فقدت الوزن؟ اضغط &#8220;الاتصال بـ WordPress.com&#8221; مرة أخرى ليتم تعديل Jetpack."
514
 
515
- #: class.jetpack.php:2703
516
- msgid "Return to sender. Whoops! It looks like you got the wrong Jetpack in the mail; deactivate then reactivate the Jetpack plugin to get a new one."
517
- msgstr "الرجوع إلى المرسل. انتبه! يبدو أنك حصلت على Jetpack خاطئ في بريدك، يرجى تعطيل وإعادة تفعيل الإضافة من جديد للحصول على واحدة جديدة."
518
 
519
- #: class.jetpack.php:2699
520
- msgid "Don&#8217;t cross the streams! You need to stay logged in to your WordPress blog while you authorize Jetpack."
521
- msgstr "لا تعبر التيارات! تحتاج أن تبقى مسجل الدخول في موقعك أثناء مصادقة إضافة Jetpack."
522
 
523
- #: class.jetpack.php:2696
524
- msgid "You need to authorize the Jetpack connection between your site and WordPress.com to enable the awesome features."
525
- msgstr "تحتاج مصادقة اتصال Jetpack بين موقعك وموقع WordPress.com لتفعيل الميزات المذهلة."
526
 
527
- #: class.jetpack.php:2693
528
- msgid "Cheatin&#8217; uh?"
529
- msgstr "عفواً ، لا تملك الصلاحية الكافية."
530
 
531
- #: class.jetpack.php:2521
532
- msgid "click here"
533
- msgstr "اضغط هنا"
534
 
535
- #: class.jetpack.php:2510
536
- msgid "Jetpack now includes Jetpack Comments, which enables your visitors to use their WordPress.com, Twitter, or Facebook accounts when commenting on your site. To activate Jetpack Comments, <a href=\"%s\">%s</a>."
537
- msgstr "Jetpack الآن يتضمن تعليقات Jetpack، الذي يقوم بتفعيل حسابات الزوار على موقع ووردبريس والتويتر أو الفيس بوك لاستخدامها بالتعليق في موقعك. لتفعيل تعليقات Jetpack ، <a href=\"%s\">%s</a>."
538
 
539
- #: class.jetpack.php:2483
540
- msgid "<strong>Jetpack is activated!</strong> Each site on your network must be connected individually by an admin on that site."
541
- msgstr "<strong>تم تفعيل Jetpack!</strong> كل موقع على شبكتك يجب أن يكون مرتبط بشكل منفرد بواسطة المدير العام على ذلك الموقع."
542
 
543
- #: class.jetpack.php:2385
544
- msgid "It's ready to bring awesome, WordPress.com cloud-powered features to your site."
545
- msgstr "جاهز للانطلاق نحو ميزات مذهلة تعمل بسحابة WordPress.com على موقعك."
546
 
547
- #: class.jetpack.php:2377
548
- msgid "Connect now to enable features like Stats, Likes, and Social Sharing."
549
- msgstr "اتصل الآن لتمكين ميزات مثل الإحصاءات والإعجابات والمشاركة عبر وسائل التواصل الاجتماعي."
550
 
551
- #: class.jetpack.php:2380 views/admin/must-connect-main-blog.php:11
552
- msgid "Connect to WordPress.com"
553
- msgstr "الاتصال بموقع WordPress.com"
554
 
555
- #: class.jetpack.php:2373
556
- msgid "Dismiss this notice and deactivate Jetpack."
557
- msgstr "أصرف النظر عن هذه الملاحظة وقم بتعطيل Jetpack."
558
 
559
- #: class.jetpack.php:2292
560
- msgid "Jetpack Support"
561
- msgstr "الدعم الفني لخدمة Jetpack"
562
-
563
- #: class.jetpack.php:2291
564
- msgid "Jetpack FAQ"
565
- msgstr "الأسئلة الشائعة عن Jetpack"
566
-
567
- #: class.jetpack.php:2290
568
- msgid "For more information:"
569
- msgstr "للمزيد من المعلومات:"
570
-
571
- #: class.jetpack.php:2283
572
- msgid "Using the tools on the right, you can search for specific modules, filter by module categories or which are active, or change the sorting order."
573
- msgstr "باستخدام الأدوات الموجودة على اليمين، يمكنك البحث عن وحدات نمطية معينة أو التصفية حسب فئات الوحدات النمطية أو النشطة منها أو تغيير ترتيب الفرز."
574
-
575
- #: class.jetpack.php:2281
576
- msgid "Using the checkboxes next to each module, you can select multiple modules to toggle via the Bulk Actions menu at the top of the list."
577
- msgstr "باستخدام مربعات الخيار الموجودة بجوار كل وحدة نمطية، يمكنك تحديد عدة وحدات نمطية للتبديل عبر قائمة الإجراءات المجمعة أعلى القائمة."
578
-
579
- #: class.jetpack.php:2280
580
- msgid "Each module has an Activate or Deactivate link so you can toggle one individually."
581
- msgstr "لكل وحدة نمطية رابط \"تنشيط\" أو \"إلغاء التنشيط\" حتى تتمكن من التبديل بينهما."
582
-
583
- #: class.jetpack.php:2278
584
- msgid "You can activate or deactivate individual Jetpack modules to suit your needs."
585
- msgstr "يمكنك تفعيل أو تعطيل إضافات Jetpack بشكل فردي لتناسب احتياجاتك."
586
-
587
- #: class.jetpack.php:2266
588
- msgid "On this page, you are able to view the modules available within Jetpack, learn more about them, and activate or deactivate them as needed."
589
- msgstr "في هذه الصفحة، تستطيع عرض الإضافات ضمن Jetpack، تعلم المزيد حولها وقم بتفعيلها أو تعطيلها عند الحاجة."
590
-
591
- #: class.jetpack.php:2265 class.jetpack.php:3341
592
- msgid "Jetpack supercharges your self-hosted WordPress site with the awesome cloud power of WordPress.com."
593
- msgstr "يقوم Jetpack بشحن موقعك بالقوة الرائعة من الخدمات السحابية من موقع WordPress.com"
594
-
595
- #. Plugin Name of the plugin/theme
596
- msgid "Jetpack by WordPress.com"
597
- msgstr "خدمة Jetpack من WordPress.com"
598
-
599
- #: class.jetpack.php:2062 class.jetpack.php:2078
600
- msgid "Jetpack contains the most recent version of the old &#8220;%1$s&#8221; plugin."
601
- msgstr "Jetpack يتضمن آخر إصدار قديم من إضافة &#8220;%1$s&#8221;."
602
-
603
- #: class.jetpack.php:1783
604
- msgid "Jetpack requires WordPress version %s or later."
605
- msgstr "إن إضافة Jetpackتتطلب ووردبريس الإصدار %sأو الأحدث."
606
-
607
- #: class.jetpack-twitter-cards.php:208
608
- msgid "The Twitter username of the owner of this site's domain."
609
- msgstr "اسم مستخدم Twitter لمالك نطاق الموقع هذا."
610
-
611
- #: class.jetpack-twitter-cards.php:182
612
- msgid "Twitter Site Tag"
613
- msgstr "علامة موقع Twitter"
614
-
615
- #: class.jetpack-twitter-cards.php:103
616
- msgid "Post by %s."
617
- msgstr "تدوينات بواسطة %s."
618
-
619
- #: class.jetpack-twitter-cards.php:101
620
- msgid "Gallery post."
621
- msgstr "تدوينة معرض."
622
-
623
- #: class.jetpack-twitter-cards.php:101
624
- msgid "Gallery post by %s."
625
- msgstr "تدوينة معرض من قبل %s."
626
-
627
- #: class.jetpack-twitter-cards.php:99
628
- msgid "Video post."
629
- msgstr "تدوينة فيديو."
630
-
631
- #: class.jetpack-twitter-cards.php:99
632
- msgid "Video post by %s."
633
- msgstr "تدوينة فيديو من قبل %s."
634
-
635
- #: class.jetpack-twitter-cards.php:97
636
- msgid "Photo post."
637
- msgstr "تدوينة صورة."
638
-
639
- #: class.jetpack-twitter-cards.php:97
640
- msgid "Photo post by %s."
641
- msgstr "تدوينة صورة من قبل %s."
642
-
643
- #: class.jetpack-sync.php:813
644
- msgid "This site is too large, please contact Jetpack support to sync."
645
- msgstr "هذا الموقع كبير جدًا، يُرجى الاتصال بدعم Jetpack لإجراء المزامنة."
646
-
647
- #: class.jetpack-twitter-cards.php:94 class.jetpack-twitter-cards.php:103
648
- #: functions.opengraph.php:71
649
- msgid "Visit the post for more."
650
- msgstr "تفضل بزيارة المقالة لمزيد من المعلومات."
651
-
652
- #: class.jetpack-sync.php:809
653
- msgid "Status unknown."
654
- msgstr "الحالة غير معروفة"
655
-
656
- #: class.jetpack-sync.php:805
657
- msgid "Posts indexed."
658
- msgstr "تمت فهرسة التدوينات."
659
 
660
- #: class.jetpack-sync.php:804
661
- msgid "Reindex Posts"
662
- msgstr "أعد فهرسة التدوينات"
663
 
664
- #: class.jetpack-sync.php:801
665
- msgid "Indexing posts"
666
- msgstr "فهرسة التدوينات"
667
 
668
- #: class.jetpack-sync.php:797
669
- msgid "Indexing request queued and waiting&hellip;"
670
- msgstr "تم إدراج طلب الفهرسة في قائمة الانتظار…"
671
 
672
- #: class.jetpack-sync.php:796 class.jetpack-sync.php:800
673
- #: class.jetpack-sync.php:808 class.jetpack-sync.php:812
674
- #: class.jetpack-sync.php:834
675
- msgid "Refresh Status"
676
- msgstr "حالة التحديث"
677
 
678
- #: class.jetpack-network.php:259 class.jetpack-network.php:536
679
- msgid "Sites"
680
- msgstr "مواقع"
681
 
682
- #: class.jetpack-network.php:259
683
- msgid "Jetpack Sites"
684
- msgstr "مواقع Jetpack"
685
 
686
- #: class.jetpack-network-sites-list-table.php:55
687
- #: modules/custom-css/custom-css.php:809 modules/custom-css/custom-css.php:904
688
- #: modules/custom-css/custom-css.php:934 modules/minileven/minileven.php:222
689
- #: modules/minileven/theme/pub/minileven/content-gallery.php:74
690
- #: modules/minileven/theme/pub/minileven/content.php:51
691
- #: modules/minileven/theme/pub/minileven/image.php:82
692
- #: modules/minileven/theme/pub/minileven/page.php:31
693
- msgid "Edit"
694
- msgstr "تحرير"
695
 
696
- #: class.jetpack-network-sites-list-table.php:16 modules/sso.php:901
697
- msgid "Connected"
698
- msgstr "متصل"
699
 
700
- #: class.jetpack-network-sites-list-table.php:15
701
- msgid "Path"
702
- msgstr "مسار"
 
703
 
704
- #: class.jetpack-network-sites-list-table.php:14
705
- msgid "Site Name"
706
- msgstr "اسم الموقع"
 
707
 
708
- #: class.jetpack-modules-list-table.php:226
709
- msgid "Module Info"
710
- msgstr "معلومات الوحدة النمطية"
 
 
 
 
 
 
 
711
 
712
- #: class.jetpack-modules-list-table.php:87
713
- msgid "No Modules Found"
714
- msgstr "لم يتم العثور على وحدات نمطية"
 
 
 
 
 
 
 
715
 
716
- #: class.jetpack-modules-list-table.php:77
717
- #: class.jetpack-modules-list-table.php:178
718
- #: class.jetpack-modules-list-table.php:242 class.jetpack.php:3568
719
- #: views/admin/module-modal-template.php:20
720
- msgid "Activate"
721
- msgstr "تفعيل"
722
 
723
- #: class.jetpack-modules-list-table.php:75
724
- #: class.jetpack-modules-list-table.php:179
725
- #: class.jetpack-modules-list-table.php:252 class.jetpack.php:3555
726
- #: views/admin/module-modal-template.php:18
727
- msgid "Deactivate"
728
- msgstr "تعطيل"
 
 
 
 
729
 
730
- #: class.jetpack-modules-list-table.php:45
731
- msgid "Search Modules…"
732
- msgstr "بحث عن الوحدات النمطية..."
 
733
 
734
- #: class.jetpack-debugger.php:205
735
- #: modules/contact-form/grunion-contact-form.php:871
736
- msgid "Submit &#187;"
737
- msgstr "أرسل &#187; "
738
 
739
- #: class.jetpack-debugger.php:197
740
- msgid "Debug Info"
741
- msgstr "معلومات تصحيح الأخطاء"
 
 
742
 
743
- #: class.jetpack-debugger.php:193
744
- msgid "The test results and some other useful debug information will be sent to the support team. Please feel free to <a href=\"#\">review/modify</a> this information."
745
- msgstr "سيتم إرسال نتائج الاختبار وبعض المعلومات الأخرى المفيدة عن تصحيح الأخطاء إلى فريق الدعم. لا تتردد في <a href=\"#\">مراجعة / تعديل</a> هذه المعلومات."
 
 
746
 
747
- #: class.jetpack-debugger.php:188
748
- msgid "Use a valid email address."
749
- msgstr "استخدم عنوان بريد إلكتروني صحيح."
 
750
 
751
- #: class.jetpack-debugger.php:187
752
- msgid "E-mail"
753
- msgstr "البريد الإلكتروني"
 
754
 
755
- #: class.jetpack-debugger.php:182
756
- msgid "Let us know your name."
757
- msgstr "دعنا نعرف اسمك."
 
 
758
 
759
- #: class.jetpack-debugger.php:181 class.jetpack-modules-list-table.php:171
760
- #: modules/carousel/jetpack-carousel.php:148
761
- #: modules/contact-form/grunion-contact-form.php:885
762
- #: modules/contact-form/grunion-form-view.php:178
763
- #: modules/custom-post-types/nova.php:855
764
  msgid "Name"
765
  msgstr "الاسم"
766
 
767
- #: class.jetpack-debugger.php:176
768
- msgid "Please describe the problem you are having."
769
- msgstr "الرجاء وصف المشكلة التي تواجهها."
 
770
 
771
- #: class.jetpack-debugger.php:157
772
- msgid "The primary connection is owned by <strong>%s</strong>'s WordPress.com account."
773
- msgstr "الاتصال الرئيسي يملكه حساب <strong>%s</strong> وردبرس دوت كوم."
 
774
 
775
- #: class.jetpack-debugger.php:161
776
- msgid "Some features of Jetpack uses the WordPress.com infrastructure and requires that your public content be mirrored there. If you see intermittent issues only affecting certain posts, please try requesting a reindex of your posts."
777
- msgstr "تستخدم بعض ميزات Jetpack بنية WordPress.com الأساسية وتتطلب انعكاس المحتوى العام الخاص بك هنا. إذا كنت تلاحظ وجود مشاكل مؤقتة تؤثر فقط على مقالات بعينها، فيُرجى محاولة طلب إعادة فهرسة مقالاتك."
 
778
 
779
- #: class.jetpack-debugger.php:151
780
- msgid "If none of these help you find a solution, <a href=\"%s\">click here to contact Jetpack support</a>. Tell us as much as you can about the issue and what steps you've tried to resolve it, and one of our Happiness Engineers will be in touch to help."
781
- msgstr "إذا لم تساعدك أي من هذه الحلول على إيجاد حل، <a href=\"%s\">فانقر هنا للاتصال بدعم Jetpack</a>. أخبرنا قدر استطاعتك عن المشكلة والخطوات التي جربتها لحلها وسيسعد أحد مهندسينا أن يتواصل معك بشأنها."
782
-
783
- #: class.jetpack-debugger.php:146
784
- msgid "If you get a 404 message, contact your web host. Their security may block XMLRPC."
785
- msgstr "إذا ظهرت رسالة الخطأ 404، اتصل بمستضيفك. قد تكون حمايتهم قد حظرت XMLRPC."
786
-
787
- #: class.jetpack-debugger.php:145
788
- msgid "If it's not by itself, a theme or plugin is displaying extra characters. Try steps 2 and 3."
789
- msgstr "إذا لم يكن بحد ذاته، قالب أو إضافة يظهر أحرف إضافية. حاول الخطوتين 2 و 3."
790
-
791
- #: class.jetpack-debugger.php:143
792
- msgid "Load your <a href=\"%s\">XMLRPC file</a>. It should say “XML-RPC server accepts POST requests only.” on a line by itself."
793
- msgstr "تحميل <a href=\"%s\">XMLRPC ملف</a>. ينبغي أن نقول بأن \"خادم XML-RPC يقبل طلبات الموضوع فقط.\" على سطر منفرد."
794
-
795
- #: class.jetpack-debugger.php:143
796
- msgid "A problem with your XMLRPC file."
797
- msgstr "مشكلة في ملف XMLRPC."
798
-
799
- #: class.jetpack-debugger.php:142
800
- msgid "If your problem isn't known or caused by a plugin, try activating Twenty Twelve (the default WordPress theme). If this solves the problem, something in your theme is probably broken – let the theme's author know."
801
- msgstr "في حال عدم معرفة مشكلتك أو الناجمة عن الإضافة، حاول تفعيل قالب 2012 (القالب الافتراضي). إذا كان هذا قد حل المشكلة، فشيئاً ما في القالب يوجد به خلل على الأرجح - دع مؤلف القالب يعلم بذلك."
802
-
803
- #: class.jetpack-debugger.php:142
804
- msgid "A theme conflict."
805
- msgstr "تعارض في القالب."
806
-
807
- #: class.jetpack-debugger.php:141
808
- msgid "Find out by disabling all plugins except Jetpack. If the problem persists, it's not a plugin issue. If the problem is solved, turn your plugins on one by one until the problem pops up again – there's the culprit! Let us know, and we'll try to help."
809
- msgstr "ولمعرفة ذلك من خلال تعطيل جميع الإضافات باستثناء Jetpack. إذا استمرت المشكلة، فهذه ليست مشكلة إضافة. وإذا تم حل المشكلة، قم بتفعيل الإضافات واحدة تلو الآخرى حتى تظهر المشكلة مرة أخرى - هكذا تعرف من هو المتهم! دعنا نعرف وسوف نحاول المساعدة."
810
-
811
- #: class.jetpack-debugger.php:141
812
- msgid "An incompatible plugin."
813
- msgstr "إضافة غير متوافقة."
814
-
815
- #: class.jetpack-debugger.php:140
816
- msgid "Some themes and plugins have <a href=\"%1$s\">known conflicts</a> with Jetpack – check the <a href=\"%2$s\">list</a>. (You can also browse the <a href=\"%3$s\">Jetpack support pages</a> or <a href=\"%4$s\">Jetpack support forum</a> to see if others have experienced and solved the problem.)"
817
- msgstr "لبعض القوالب والمكونات الإضافية <a href=\"%1$s\">تعارضات معروفة</a> مع Jetpack – تحقق من <a href=\"%2$s\">القائمة</a>. (يمكنك أيضًا تصفح <a href=\"%3$s\">صفحات دعم Jetpack</a> أو <a href=\"%4$s\">منتدى دعم Jetpack</a> لمعرفة ما إذا كان الآخرون قد مروا بهذه المشكلة وحلوها أم لا.)"
818
-
819
- #: class.jetpack-debugger.php:140
820
- msgid "A known issue."
821
- msgstr "مشكلة معروفة."
822
-
823
- #: class.jetpack-debugger.php:138
824
- msgid "It may be caused by one of these issues, which you can diagnose yourself:"
825
- msgstr "قد يكون سببه واحدة من هذه المشكلات التي يمكنك تشخيصها بنفسك:"
826
-
827
- #: class.jetpack-debugger.php:137
828
- msgid "Trouble with Jetpack?"
829
- msgstr "يوجد مشكلة في Jetpack؟"
830
-
831
- #: class.jetpack-debugger.php:130
832
- msgid "There seems to be a problem with your site’s ability to communicate with Jetpack!"
833
- msgstr "يبدو أن هناك مشكلة في قدرة موقعك على التواصل مع Jetpack."
834
-
835
- #: class.jetpack-debugger.php:127
836
- msgid "Your Jetpack setup looks a-okay!"
837
- msgstr "يبدو أن وضع Jetpack جيد!"
838
-
839
- #: class.jetpack-debugger.php:99
840
- msgid "Testing your site's compatibility with Jetpack..."
841
- msgstr "جارٍ اختبار مدى توافق موقعك مع Jetpack..."
842
-
843
- #: class.jetpack-debugger.php:92
844
- msgid "It looks like your site can not communicate properly with Jetpack."
845
- msgstr "يبدو أن موقعك لا يستطيع الاتصال بشكل مناسب مع Jetpack."
846
-
847
- #: class.jetpack-debugger.php:83
848
- msgid "Something has gotten mixed up in your Jetpack Connection!"
849
- msgstr "هناك خطأ ما في اتصال Jetpack!"
850
-
851
- #: class.jetpack-debugger.php:76
852
- msgid "Your `%1$s` option is set up as `%2$s`, but your WordPress.com connection lists it as `%3$s`!"
853
- msgstr "خيارك `%1$s` مضبوط على أنه `%2$s`، لكن اتصال WordPress.com يعرضه على أنه `%3$s`!"
854
-
855
- #: class.jetpack-debugger.php:71
856
- msgid "Your site isn’t securely reaching the Jetpack servers."
857
- msgstr "لا يستطيع موقعك الوصول بأمان إلى خوادم Jetpack."
858
-
859
- #: class.jetpack-debugger.php:68
860
- msgid "Your site isn’t reaching the Jetpack servers."
861
- msgstr "لا يستطيع موقعك الوصول إلى خوادم Jetpack."
862
-
863
- #: class.jetpack-debugger.php:24
864
- msgid "You do not have sufficient permissions to access this page."
865
- msgstr "ليس لديك الصلاحيات الكافية لدخول هذه الصفحة."
866
-
867
- #: class.jetpack-client-server.php:184 class.jetpack.php:3887
868
- #: class.jetpack.php:3889 class.jetpack.php:3891 class.jetpack.php:3894
869
- msgid "Error Details: %s"
870
- msgstr "تفاصيل الخطأ: %s"
871
-
872
- #: class.jetpack-client-server.php:142
873
- msgid "You need to register your Jetpack before connecting it."
874
- msgstr "تحتاج لتسجيل Jetpack قبل وصلها."
875
-
876
- #: class.jetpack-client-server.php:137
877
- msgid "An administrator for this blog must set up the Jetpack connection."
878
- msgstr "يجب على مدير الموقع إعداد اتصال Jetpack."
879
-
880
- #: class.jetpack-cli.php:169
881
- msgid "%s has been deactivated."
882
- msgstr "تم إلغاء تفعيل %s."
883
-
884
- #: class.jetpack-cli.php:163
885
- msgid "%s has been activated."
886
- msgstr "تم تفعيل %s."
887
-
888
- #: class.jetpack-cli.php:151
889
- msgid "Available Modules:"
890
- msgstr "الوحدات المتاحة:"
891
-
892
- #: class.jetpack-cli.php:144
893
- msgid "Please specify a valid module."
894
- msgstr "رجاءً حدد وحدة صالحة."
895
-
896
- #: class.jetpack-cli.php:138
897
- msgid "%s is not a valid module."
898
- msgstr "ليست %s وحدة صالحة."
899
-
900
- #: class.jetpack-cli.php:101
901
- msgid "Please specify if you would like to disconnect a blog or user."
902
- msgstr "رجاءً حدد فيما إذا كنت تريد قطع اتصال مدونة أو مستخدم."
903
-
904
- #: class.jetpack-cli.php:97
905
- msgid "%s could not be disconnected. Are you sure they're connected currently?"
906
- msgstr "لم يقطع اتصال %s. هل أنت متأكد من أنهم متصلون حالياً؟"
907
-
908
- #: class.jetpack-cli.php:95
909
- msgid "%s has been successfully disconnected."
910
- msgstr "قُطع اتصال %s بنجاح."
911
-
912
- #: class.jetpack-cli.php:90
913
- msgid "Jetpack has been successfully disconnected."
914
- msgstr "اتصلت Jetpack بنجاح."
915
-
916
- #: class.jetpack-cli.php:82
917
- msgid "Please specify a user."
918
- msgstr "رجاءً حدد مستخدماً."
919
-
920
- #: class.jetpack-cli.php:79
921
- msgid "Please specify a valid user."
922
- msgstr "رجاءً حدد مستخدماً صالحاً."
923
-
924
- #: class.jetpack-cli.php:62 class.jetpack-cli.php:131
925
- msgid "%s is not a valid command."
926
- msgstr "ليس %s أمراً صالحاً."
927
-
928
- #: class.jetpack-cli.php:57
929
- msgid "You cannot disconnect, without having first connected."
930
- msgstr "لا تستطيع قطع الاتصال قبل الاتصال أولاً."
931
-
932
- #: class.jetpack-cli.php:29
933
- msgid "Jetpack is not currently connected to WordPress.com"
934
- msgstr "إن Jetpack غير متصلة حالياً بـ WordPress.com"
935
-
936
- #: class.jetpack-cli.php:27
937
- msgid "The WordPress.com blog_id is %d"
938
- msgstr "إن قيمة blog_id في WordPress.com هي %d"
939
-
940
- #: class.jetpack-cli.php:26
941
- msgid "The Jetpack Version is %s"
942
- msgstr "إصدار Jetpack هو %s"
943
-
944
- #: class.jetpack-cli.php:25
945
- msgid "Jetpack is currently connected to WordPress.com"
946
- msgstr "إن Jetpack متصلة حالياً بـ WordPress.com"
947
-
948
- #: class.jetpack-admin.php:172 class.jetpack-debugger.php:98
949
- #: class.jetpack.php:2107 class.jetpack.php:2293
950
- msgid "Jetpack Debugging Center"
951
- msgstr "مركز تصحيح الأخطاء"
952
-
953
- #: class.jetpack-admin.php:93 class.jetpack.php:3627 modules/stats.php:351
954
- #: views/admin/landing-page-templates.php:24
955
- #: views/admin/module-modal-template.php:24
956
- msgid "Configure"
957
- msgstr "أعداد"
958
-
959
- #. Translators: Two dates with a separator
960
- #: _inc/lib/icalendar-reader.php:701
961
- msgid "%1$s &ndash; %2$s"
962
- msgstr "%1$s &ndash; %2$s"
963
-
964
- #. Translators: Date and time
965
- #. translators: 1: date, 2: time
966
- #: _inc/lib/icalendar-reader.php:699
967
- #: modules/minileven/theme/pub/minileven/inc/template-tags.php:61
968
- msgid "%1$s at %2$s"
969
- msgstr "%1$s عند %2$s"
970
-
971
- #: _inc/lib/admin-pages/class.jetpack-settings-page.php:62
972
- msgid "Show:"
973
- msgstr "عرض:"
974
-
975
- #: _inc/lib/admin-pages/class.jetpack-settings-page.php:60
976
- msgid "Popular"
977
- msgstr "شائع"
978
-
979
- #: _inc/lib/admin-pages/class.jetpack-settings-page.php:59
980
- #: views/admin/admin-page.php:83
981
- msgid "Newest"
982
- msgstr "الأحدث"
983
-
984
- #: _inc/lib/admin-pages/class.jetpack-settings-page.php:58
985
- #: views/admin/admin-page.php:85
986
- msgid "Alphabetical"
987
- msgstr "أبجدي"
988
-
989
- #: _inc/lib/admin-pages/class.jetpack-settings-page.php:56
990
- msgid "Sort by:"
991
- msgstr "ترتيب حسب:"
992
-
993
- #: _inc/lib/admin-pages/class.jetpack-settings-page.php:54
994
- #: class.jetpack-cli.php:155
995
- msgid "Inactive"
996
- msgstr "غير مفعل"
997
-
998
- #: _inc/lib/admin-pages/class.jetpack-settings-page.php:53
999
- #: class.jetpack-cli.php:155 modules/vaultpress.php:24
1000
- msgid "Active"
1001
- msgstr "مفعل"
1002
-
1003
- #: _inc/lib/admin-pages/class.jetpack-settings-page.php:52
1004
- #: class.jetpack-modules-list-table.php:104
1005
- #: modules/widgets/upcoming-events.php:56
1006
- msgid "All"
1007
- msgstr "الكل"
1008
-
1009
- #: _inc/lib/admin-pages/class.jetpack-settings-page.php:50
1010
- msgid "View:"
1011
- msgstr "عرض:"
1012
-
1013
- #: _inc/lib/admin-pages/class.jetpack-settings-page.php:49
1014
- #: modules/minileven/theme/pub/minileven/searchform.php:9
1015
- #: modules/minileven/theme/pub/minileven/searchform.php:10
1016
- #: modules/minileven/theme/pub/minileven/searchform.php:11
1017
- #: modules/omnisearch/omnisearch-core.php:159 views/admin/admin-page.php:79
1018
- msgid "Search"
1019
- msgstr "بحث"
1020
-
1021
- #: _inc/lib/admin-pages/class.jetpack-settings-page.php:13
1022
- msgid "Jetpack Settings"
1023
- msgstr "إعدادات Jetpack"
1024
-
1025
- #: _inc/lib/admin-pages/class.jetpack-landing-page.php:127
1026
- msgid "Sorry, no modules were found for the search term \"%s\""
1027
- msgstr "عذراً، لا توجد موديلات لمصطلح البحث \"%s\""
1028
-
1029
- #: _inc/lib/admin-pages/class.jetpack-landing-page.php:126
1030
- msgid "View all Jetpack features"
1031
- msgstr "عرض كل مميزات Jetpack"
1032
-
1033
- #: _inc/lib/admin-pages/class.jetpack-landing-page.php:125
1034
- msgid ""
1035
- "This will deactivate Jetpack.\n"
1036
- "Are you sure you want to deactivate Jetpack?"
1037
- msgstr ""
1038
- "سيؤدي هذا إلى إلغاء تنشيط Jetpack.\n"
1039
- "هل تريد بالتأكيد إلغاء تنشيط Jetpack؟"
1040
-
1041
- #: _inc/lib/admin-pages/class.jetpack-landing-page.php:124
1042
- msgid ""
1043
- "This will prevent user-specific modules such as Publicize, Notifications and Post By Email from working.\n"
1044
- "Are you sure you want to unlink?"
1045
- msgstr ""
1046
- "سيحول هذا دون عمل بعض الوحدات النمطية مثل الإشهار والتنبيهات والإرسال عبر البريد الإلكتروني.\n"
1047
- "هل تريد بالتأكيد إلغاء الربط؟"
1048
-
1049
- #: _inc/lib/admin-pages/class.jetpack-landing-page.php:123
1050
- msgid ""
1051
- "This will deactivate all Jetpack modules.\n"
1052
- "Are you sure you want to disconnect?"
1053
- msgstr ""
1054
- "سيؤدي هذا إلى إلغاء تنشيط جميع وحدات Jetpack النمطية.\n"
1055
- "هل تريد بالتأكيد فصل الاتصال؟"
1056
-
1057
- #: _inc/lib/admin-pages/class.jetpack-landing-page.php:109
1058
- msgid "Error, bad module."
1059
- msgstr "خطأ، الوحدة النمطية غير صحيحة."
1060
-
1061
- #: _inc/lib/admin-pages/class.jetpack-landing-page.php:29
1062
- #: class.jetpack.php:2099
1063
- msgid "One New Jetpack Module"
1064
- msgid_plural "%s New Jetpack Modules"
1065
- msgstr[0] "%s إضافة Jetpack جديدة"
1066
- msgstr[1] "إضافة Jetpack جديدة"
1067
- msgstr[2] "%s إضافات Jetpack جديدة"
1068
- msgstr[3] "%s إضافات Jetpack جديدة"
1069
- msgstr[4] "%s إضافات Jetpack جديدة"
1070
- msgstr[5] "%s إضافات Jetpack جديدة"
1071
-
1072
- #: _inc/header.php:16 modules/contact-form/grunion-contact-form.php:85
1073
- #: modules/contact-form/grunion-contact-form.php:86
1074
- #: modules/contact-form/grunion-form-view.php:156
1075
- msgid "Feedback"
1076
- msgstr "الرسائل"
1077
-
1078
- #: _inc/header.php:13 _inc/lib/admin-pages/class.jetpack-settings-page.php:13
1079
- #: class.jetpack-network.php:260 class.jetpack.php:2275 class.jetpack.php:2354
1080
- #: modules/publicize/ui.php:686 modules/sharedaddy/sharedaddy.php:79
1081
- #: modules/sharedaddy/sharedaddy.php:86
1082
- msgid "Settings"
1083
- msgstr "الإعدادات"
1084
-
1085
- #: _inc/header.php:8 class.jetpack-network.php:198
1086
- #: class.jetpack-network.php:258 class.jetpack.php:2102 class.jetpack.php:2349
1087
- msgid "Jetpack"
1088
- msgstr "Jetpack"
1089
-
1090
- #: _inc/header.php:8 class.jetpack.php:2262
1091
- msgid "Home"
1092
- msgstr "الرئيسية"
1093
-
1094
- #: _inc/footer.php:51
1095
- msgid "Config"
1096
- msgstr "تكوين"
1097
-
1098
- #: _inc/footer.php:50 class.jetpack.php:2388
1099
- #: modules/custom-content-types.php:43
1100
- #: modules/custom-post-types/portfolios.php:169 modules/module-info.php:44
1101
- #: modules/module-info.php:78 modules/module-info.php:144
1102
- #: modules/module-info.php:177 modules/module-info.php:209
1103
- #: modules/module-info.php:238 modules/module-info.php:269
1104
- #: modules/module-info.php:303 modules/module-info.php:352
1105
- #: modules/module-info.php:372 modules/module-info.php:410
1106
- #: modules/module-info.php:434 modules/module-info.php:450
1107
- #: modules/module-info.php:467 modules/module-info.php:473
1108
- #: modules/module-info.php:499 modules/module-info.php:528
1109
- #: modules/module-info.php:560 modules/module-info.php:581
1110
- #: modules/module-info.php:630 modules/module-info.php:656
1111
- #: modules/module-info.php:682 modules/module-info.php:701
1112
- #: modules/module-info.php:725 modules/module-info.php:746
1113
- #: modules/module-info.php:763 modules/module-info.php:783
1114
- #: modules/module-info.php:798 modules/module-info.php:817
1115
- #: modules/module-info.php:870 modules/module-info.php:884
1116
- #: modules/module-info.php:898 modules/module-info.php:917
1117
- #: modules/module-info.php:938
1118
- msgid "Learn More"
1119
- msgstr "تعلم المزيد"
1120
-
1121
- #: _inc/footer.php:38
1122
- msgid "Unlink your user account"
1123
- msgstr "إلغاء الربط بحساب المستخدم الخاص بك"
1124
-
1125
- #: _inc/footer.php:35 class.jetpack.php:3328
1126
- msgid "Disconnect from WordPress.com"
1127
- msgstr "قطع الاتصال بموقع WordPress.com"
1128
-
1129
- #: _inc/footer.php:32
1130
- msgid "Give Us Feedback"
1131
- msgstr "قدم ملاحظاتك لنا"
1132
-
1133
- #: _inc/footer.php:32
1134
- msgid "Take a survey. Tell us how we&#8217;re doing."
1135
- msgstr "شارك في الاستبيان. وأخبرنا عن مستوى أدائنا."
1136
-
1137
- #: _inc/footer.php:31 class.jetpack.php:3467
1138
- #: modules/sharedaddy/sharedaddy.php:87 views/admin/network-admin-footer.php:23
1139
- msgid "Support"
1140
- msgstr "الدعم الفني "
1141
-
1142
- #: _inc/footer.php:31
1143
- msgid "Contact the Jetpack Happiness Squad."
1144
- msgstr "اتصل بفريق Jetpack السعيد."
1145
-
1146
- #: _inc/footer.php:30 class.jetpack.php:3465
1147
- #: views/admin/network-admin-footer.php:21
1148
- msgid "Debug"
1149
- msgstr "تصحيح الأخطاء"
1150
-
1151
- #: _inc/footer.php:30
1152
- msgid "Test your site&#8217;s compatibility with Jetpack."
1153
- msgstr "اختبار مدى توافق موقعك مع Jetpack."
1154
-
1155
- #: _inc/footer.php:29
1156
- msgid "Privacy"
1157
- msgstr "الخصوصية"
1158
-
1159
- #: _inc/footer.php:28
1160
- msgid "Terms"
1161
- msgstr "الشروط"
1162
-
1163
- #: _inc/footer.php:18
1164
- msgid "An %s Airline"
1165
- msgstr "خطوط %s الجوية"
1166
-
1167
- #: _inc/footer.php:12 views/admin/admin-page.php:12
1168
- msgid "Link your account to WordPress.com"
1169
- msgstr "ربط حسابك بـ WordPress.com"
1170
-
1171
- #: _inc/footer.php:10 views/admin/admin-page.php:10
1172
- msgid "Connect to Get Started"
1173
- msgstr "اتصل لبدء الاستخدام"
1174
-
1175
- #: modules/widget-visibility/widget-conditions.php:54
1176
- msgid "Logged Out"
1177
- msgstr "تسجيل الخروج"
1178
-
1179
- #: modules/widget-visibility/widget-conditions.php:214
1180
- msgctxt "Noun"
1181
- msgid "User"
1182
- msgstr "حماية"
1183
-
1184
- #: json-endpoints/jetpack/class.jetpack-json-api-plugins-modify-endpoint.php:88
1185
- msgid "Plugin activated."
1186
- msgstr "تم تفعيل الإضافة."
1187
-
1188
- #: json-endpoints/jetpack/class.jetpack-json-api-plugins-modify-endpoint.php:111
1189
- msgid "There was an error deactivating your plugin"
1190
- msgstr "حدث خطأ أثناء تعطيل المكون الإضافي الخاص بك"
1191
-
1192
- #: json-endpoints/jetpack/class.jetpack-json-api-plugins-modify-endpoint.php:114
1193
- msgid "Plugin deactivated."
1194
- msgstr "تم إيقاف الإضافة."
1195
-
1196
- #: json-endpoints/jetpack/class.jetpack-json-api-plugins-modify-endpoint.php:167
1197
- msgid "There was an error updating your plugin"
1198
- msgstr "حدث خطأ أثناء تحديث المكون الإضافي الخاص بك"
1199
-
1200
- #: json-endpoints/jetpack/class.jetpack-json-api-themes-modify-endpoint.php:52
1201
- msgid "There was an error updating your theme"
1202
- msgstr "حدث خطأ أثناء تحديث القالب الخاص بك"
1203
-
1204
- #: modules/widget-visibility/widget-conditions.php:53
1205
- msgid "Logged In"
1206
- msgstr "تم الدخول"
1207
-
1208
- #: modules/widget-visibility/widget-conditions.php:196
1209
- msgctxt "placeholder: dropdown menu to select widget visibility; hide if or show if"
1210
- msgid "%s if:"
1211
- msgstr "%s لو:"
1212
-
1213
- #: modules/widget-visibility/widget-conditions.php:196
1214
- msgctxt "Used in the \"%s if:\" translation for the widget visibility dropdown"
1215
- msgid "Show"
1216
- msgstr "إظهار"
1217
-
1218
- #: modules/widget-visibility/widget-conditions.php:196
1219
- msgctxt "Used in the \"%s if:\" translation for the widget visibility dropdown"
1220
- msgid "Hide"
1221
- msgstr "إخفاء"
1222
-
1223
- #: modules/widget-visibility/widget-conditions.php:207
1224
- msgctxt "Used as the default option in a dropdown list"
1225
- msgid "-- Select --"
1226
- msgstr "-- تحديد --"
1227
-
1228
- #: modules/widget-visibility/widget-conditions.php:209
1229
- msgctxt "Noun, as in: \"The author of this post is...\""
1230
- msgid "Author"
1231
- msgstr "المؤلف"
1232
-
1233
- #: modules/widget-visibility/widget-conditions.php:215
1234
- msgctxt "Noun, as in: \"The user role of that can access this widget is...\""
1235
- msgid "Role"
1236
- msgstr "الدور"
1237
-
1238
- #: modules/widget-visibility/widget-conditions.php:217
1239
- msgctxt "Noun, as in: \"This post has one tag.\""
1240
- msgid "Tag"
1241
- msgstr "العلامة"
1242
-
1243
- #: modules/widget-visibility/widget-conditions.php:218
1244
- msgctxt "Noun, as in: \"This page is a date archive.\""
1245
- msgid "Date"
1246
- msgstr "التاريخ"
1247
-
1248
- #: modules/widget-visibility/widget-conditions.php:219
1249
- msgctxt "Example: The user is looking at a page, not a post."
1250
- msgid "Page"
1251
- msgstr "الصفحة"
1252
-
1253
- #: modules/widget-visibility/widget-conditions.php:221
1254
- msgctxt "Noun, as in: \"This post has one taxonomy.\""
1255
- msgid "Taxonomy"
1256
- msgstr "الفئة"
1257
-
1258
- #: modules/widget-visibility/widget-conditions.php:224
1259
- msgctxt "Widget Visibility: {Rule Major [Page]} is {Rule Minor [Search results]}"
1260
- msgid "is"
1261
- msgstr "هو"
1262
-
1263
- #: modules/widget-visibility/widget-conditions.php:231
1264
- msgctxt "Shown between widget visibility conditions."
1265
- msgid "or"
1266
- msgstr "أو"
1267
-
1268
- #: modules/widgets/gravatar-profile.php:155
1269
- msgctxt "1: User Name, 2: Service Name (Facebook, Twitter, ...)"
1270
- msgid "%1$s on %2$s"
1271
- msgstr "%1$s على %2$s"
1272
-
1273
- #: modules/widget-visibility/widget-conditions.php:209
1274
- msgctxt "Noun, as in: \"The Logged In status of this widget is...\""
1275
- msgid "User Loggedin"
1276
- msgstr "تم تسجيل دخول المستخدم"
1277
-
1278
- #: views/admin/landing-page-templates.php:16
1279
- msgctxt "As in Premium. Premium module description"
1280
- msgid "Paid"
1281
- msgstr "مدفوع"
1282
-
1283
- #: modules/module-headings.php:57
1284
- msgctxt "Module Description"
1285
- msgid "Give visitors an easy way to show their appreciation for your content."
1286
- msgstr "منح الزائرين طريقة سهلة لإظهار إعجابهم بالمحتوى الخاص بك."
1287
-
1288
- #: modules/module-headings.php:61
1289
- msgctxt "Module Description"
1290
- msgid "Write posts or pages in plain-text Markdown syntax."
1291
- msgstr "كتابة المقالات أو الصفحات بصياغة مبسطة بنص عادي."
1292
-
1293
- #: modules/module-headings.php:65
1294
- msgctxt "Module Description"
1295
- msgid "Optimize your site with a mobile-friendly theme for smartphones."
1296
- msgstr "طوِّر موقعك باستخدام قالب متوافق مع الهواتف المحمولة للهواتف الذكية."
1297
-
1298
- #: modules/module-headings.php:69
1299
- msgctxt "Module Description"
1300
- msgid "Receive notifications from Jetpack if your site goes offline — and when it it returns."
1301
- msgstr "استلام التنبيهات من Jetpack في حالة قطع الاتصال بموقعك — وعند عودته إلى وضع الاتصال."
1302
-
1303
- #: modules/module-headings.php:73
1304
- msgctxt "Module Description"
1305
- msgid "Receive notification of site activity via the admin toolbar and your Mobile devices."
1306
- msgstr "استلام تنبيه بنشاط الموقع عبر شريط أدوات المسؤول وأجهزتك المحمولة."
1307
-
1308
- #: modules/module-headings.php:77
1309
- msgctxt "Module Description"
1310
- msgid "Search your entire database from a single field in your Dashboard."
1311
- msgstr "بحث في قاعدة البيانات بأكملها من حقل واحد في لوحة التحكم الخاصة بك."
1312
-
1313
- #: modules/module-headings.php:81
1314
- msgctxt "Module Description"
1315
- msgid "Accelerate your site by loading images from the WordPress.com CDN."
1316
- msgstr "زيادة سرعة موقعك عن طريق تحميل الصور من WordPress.com CDN."
1317
-
1318
- #: modules/module-headings.php:85
1319
- msgctxt "Module Description"
1320
- msgid "Publish posts by email, using any device and email client."
1321
- msgstr "نشر مقالات عبر البريد الإلكتروني باستخدام أي جهاز وعميل بريد إلكتروني."
1322
-
1323
- #: modules/module-headings.php:89
1324
- msgctxt "Module Description"
1325
- msgid "Share new posts on social media networks automatically."
1326
- msgstr "مشاركة مقالات جديدة على شبكات التواصل الاجتماعي تلقائيًا."
1327
-
1328
- #: modules/module-headings.php:93
1329
- msgctxt "Module Description"
1330
- msgid "Display links to your related content under posts and pages."
1331
- msgstr "عرض روابط للمحتوى ذي الصلة ضمن المقالات والصفحات."
1332
-
1333
- #: modules/module-headings.php:97
1334
- msgctxt "Module Description"
1335
- msgid "Allow visitors to share your content on Facebook, Twitter, and more with a click."
1336
- msgstr "السماح للزائرين بمشاركة المحتوى الخاص بك على Facebook وTwitter وغيرهما بنقرة زر واحدة."
1337
-
1338
- #: modules/module-headings.php:101
1339
- msgctxt "Module Description"
1340
- msgid "Embed content from YouTube, Vimeo, SlideShare, and more, no coding necessary."
1341
- msgstr "تضمين المحتوى من YouTube وVimeo وSlideShare وغيرها، لا يلزم وجود أي ترميز."
1342
-
1343
- #: modules/module-headings.php:105
1344
- msgctxt "Module Description"
1345
- msgid "Enable WP.me-powered shortlinks for all posts and pages."
1346
- msgstr "تضمين روابط مختصرة تعمل بواسطة WP.me لجميع المقالات والصفحات."
1347
-
1348
- #: modules/module-headings.php:109
1349
- msgctxt "Module Description"
1350
- msgid "Add a site icon to your site."
1351
- msgstr "أضفْ أيقونة الموقع إلى موقعك."
1352
-
1353
- #: modules/module-headings.php:113
1354
- msgctxt "Module Description"
1355
- msgid "Allow your users to log in using their WordPress.com accounts."
1356
- msgstr "السماح للمستخدمين لديك بتسجيل الدخول باستخدام حسابات WordPress.com الخاصة بهم."
1357
-
1358
- #: modules/module-headings.php:117
1359
- msgctxt "Module Description"
1360
- msgid "Monitor your stats with clear, concise reports and no additional load on your server."
1361
- msgstr "مراقبة الإحصاءات باستخدام تقارير دقيقة وشفافة، دون أي تحميل على الخادم لديك."
1362
-
1363
- #: modules/module-headings.php:121
1364
- msgctxt "Module Description"
1365
- msgid "Allow users to subscribe to your posts and comments and receive notifications via email."
1366
- msgstr "السماح للمستخدمين بالاشتراك في مقالاتك وتعليقاتك واستلام تنبيهات عبر البريد الإلكتروني."
1367
-
1368
- #: modules/module-headings.php:125
1369
- msgctxt "Module Description"
1370
- msgid "Display your image galleries in a variety of sleek, graphic arrangements."
1371
- msgstr "عرض معارض صورك بمجموعة متنوعة من الترتيبات الرسومية الأنيقة."
1372
-
1373
- #: modules/module-headings.php:129
1374
- msgctxt "Module Description"
1375
- msgid "Protect your site with automatic backups and security scans. (Subscription required.)"
1376
- msgstr "حماية موقعك باستخدام عمليات نسخ احتياطي تلقائية وعمليات فحص للتحقق من الأمان. (يلزم الاشتراك.)"
1377
-
1378
- #: modules/module-headings.php:133
1379
- msgctxt "Module Description"
1380
- msgid "Verify your site or domain with Google Webmaster Tools, Pinterest, and others."
1381
- msgstr "التحقق من موقعك أو مجالك باستخدام Google Webmaster Tools وPinterest وغيرهما."
1382
-
1383
- #: modules/module-headings.php:137
1384
- msgctxt "Module Description"
1385
- msgid "Upload and embed videos right on your site. (Subscription required.)"
1386
- msgstr "حمِّل مقاطع الفيديو وضمِّنها إلى موقعك. (يلزم الاشتراك.)"
1387
-
1388
- #: modules/module-headings.php:141
1389
- msgctxt "Module Description"
1390
- msgid "Specify which widgets appear on which pages of your site."
1391
- msgstr "تحديد أي مربعات جانبية تظهر على أي صفحات في موقعك."
1392
-
1393
- #: modules/module-headings.php:145
1394
- msgctxt "Module Description"
1395
- msgid "Add images, Twitter streams, your site’s RSS links, and more to your sidebar."
1396
- msgstr "إضافة الصور وتدفقات Twitter وروابط RSS على موقعك وغيرها إلى الشريط الجانبي لديك."
1397
-
1398
- #: modules/module-info.php:28
1399
- msgctxt "Visit your _VaultPress_dashboard_."
1400
- msgid "To check your backups, see any security alerts, or check your VaultPress Vitality, visit your %s."
1401
- msgstr "لتفحص نسخك الاحتياطية، ومشاهدة أي تنبيهات أمنية، أو لفحص نشاط VaultPress. قم بزيارة لوحة التحكم %s. "
1402
-
1403
- #: modules/module-info.php:31
1404
- msgctxt "View _Plans_&_Pricing_. (VaultPress)"
1405
- msgid "View %s."
1406
- msgstr "عرض %s."
1407
-
1408
- #: modules/publicize/publicize-jetpack.php:384
1409
- msgctxt "Refresh connection with {social media service}"
1410
- msgid "Refresh connection with %s"
1411
- msgstr "تحديث الاتصال مع %s"
1412
-
1413
- #: modules/publicize/ui.php:604
1414
- msgctxt "Service: Account connected as"
1415
- msgid "%1$s: %2$s"
1416
- msgstr "%1$s: %2$s"
1417
-
1418
- #: modules/publicize.php:111
1419
- msgctxt "word count: words or characters?"
1420
- msgid "words"
1421
- msgstr "كلمة"
1422
 
1423
- #: modules/related-posts/jetpack-related-posts.php:954
1424
- #: modules/related-posts/jetpack-related-posts.php:967
1425
- msgctxt "in {category/tag name}"
1426
- msgid "In \"%s\""
1427
- msgstr "في \"%s\""
1428
 
1429
- #: modules/sharedaddy/sharing-sources.php:218
1430
- msgctxt "as sharing source"
1431
- msgid "Email"
1432
- msgstr "البريد الإلكتروني"
1433
 
1434
- #: modules/sharedaddy/sharing-sources.php:284
1435
- msgctxt "share to"
1436
- msgid "Email"
1437
- msgstr "البريد الإلكتروني"
1438
 
1439
- #: modules/sharedaddy/sharing-sources.php:417
1440
- msgctxt "share to"
1441
- msgid "Twitter"
1442
- msgstr "تويتر"
1443
 
1444
- #: modules/sharedaddy/sharing-sources.php:504
1445
- msgctxt "share to"
1446
- msgid "StumbleUpon"
1447
- msgstr "StumbleUpon"
1448
 
1449
- #: modules/sharedaddy/sharing-sources.php:539
1450
- msgctxt "share to"
1451
- msgid "Reddit"
1452
- msgstr "Reddit"
1453
 
1454
- #: modules/sharedaddy/sharing-sources.php:581
1455
- msgctxt "share to"
1456
- msgid "LinkedIn"
1457
- msgstr "LinkedIn"
1458
 
1459
- #: modules/sharedaddy/sharing-sources.php:724
1460
- msgctxt "share to"
1461
- msgid "Facebook"
1462
- msgstr "فيس بوك"
1463
 
1464
- #: modules/sharedaddy/sharing-sources.php:760
1465
- msgctxt "share to"
1466
- msgid "Print"
1467
- msgstr "طباعة"
1468
 
1469
- #: modules/sharedaddy/sharing-sources.php:822
1470
- msgctxt "share to"
1471
- msgid "Press This"
1472
- msgstr "نشر"
 
1473
 
1474
- #: modules/sharedaddy/sharing-sources.php:854
1475
- msgctxt "share to"
1476
- msgid "Google"
1477
- msgstr "Google"
 
 
 
1478
 
1479
- #: modules/sharedaddy/sharing-sources.php:1113
1480
- msgctxt "share to"
1481
- msgid "Tumblr"
1482
- msgstr "Tumblr"
 
 
 
 
1483
 
1484
- #: modules/sharedaddy/sharing-sources.php:1157
1485
- msgctxt "share to"
1486
- msgid "Pinterest"
1487
- msgstr "Pinterest"
1488
 
1489
- #: modules/sharedaddy/sharing-sources.php:1252
1490
- msgctxt "share to"
1491
- msgid "Pocket"
1492
- msgstr "Pocket"
1493
 
1494
- #: modules/videopress/class.videopress-player.php:382
1495
- msgctxt "watch a video title"
1496
- msgid "Watch: %s"
1497
- msgstr "شاهد: %s"
1498
 
1499
- #: modules/videopress/class.videopress-player.php:507
1500
- msgctxt "Play as in playback or view a movie"
1501
- msgid "JavaScript required to play %s."
1502
- msgstr "الجافا سكريبت المطلوبة للتشغيل %s."
1503
 
1504
- #: modules/module-headings.php:24
1505
  msgctxt "Module Name"
1506
  msgid "Contact Form"
1507
  msgstr "نموذج جهة الاتصال"
1508
 
1509
- #: modules/module-headings.php:28
1510
  msgctxt "Module Name"
1511
  msgid "Custom Content Types"
1512
  msgstr "أنواع المحتويات الخاصة"
1513
 
1514
- #: modules/module-headings.php:32
1515
  msgctxt "Module Name"
1516
  msgid "Custom CSS"
1517
  msgstr "CSS مخصصة"
1518
 
1519
- #: modules/module-headings.php:36
1520
  msgctxt "Module Name"
1521
  msgid "Enhanced Distribution"
1522
  msgstr "التوزيع المحسن"
1523
 
1524
- #: modules/module-headings.php:40
1525
  msgctxt "Module Name"
1526
  msgid "Gravatar Hovercards"
1527
  msgstr "بطاقات تمرير الصور الكرتونية المعروفة عالميًا (جرافاتار)"
1528
 
1529
- #: modules/module-headings.php:44
1530
  msgctxt "Module Name"
1531
  msgid "Infinite Scroll"
1532
  msgstr "تمرير لانهائي"
1533
 
1534
- #: modules/module-headings.php:48
1535
  msgctxt "Module Name"
1536
  msgid "JSON API"
1537
  msgstr "واجهة برمجة تطبيقات JSON"
1538
 
1539
- #: modules/module-headings.php:52
1540
  msgctxt "Module Name"
1541
  msgid "Beautiful Math"
1542
  msgstr "الرياضيات الجميلة"
1543
 
1544
- #: modules/module-headings.php:56
1545
  msgctxt "Module Name"
1546
  msgid "Likes"
1547
  msgstr "الإعجابات"
1548
 
1549
- #: modules/module-headings.php:60
1550
  msgctxt "Module Name"
1551
  msgid "Markdown"
1552
  msgstr "الضبط"
1553
 
1554
- #: modules/module-headings.php:64
1555
  msgctxt "Module Name"
1556
  msgid "Mobile Theme"
1557
  msgstr "قالب المحمول"
1558
 
1559
- #: modules/module-headings.php:68
1560
  msgctxt "Module Name"
1561
  msgid "Monitor"
1562
  msgstr "المراقبة"
1563
 
1564
- #: modules/module-headings.php:72
1565
  msgctxt "Module Name"
1566
  msgid "Notifications"
1567
  msgstr "التنبيهات"
1568
 
1569
- #: modules/module-headings.php:76
1570
  msgctxt "Module Name"
1571
  msgid "Omnisearch"
1572
  msgstr "بحث عام"
1573
 
1574
- #: modules/module-headings.php:80
1575
  msgctxt "Module Name"
1576
  msgid "Photon"
1577
  msgstr "الفوتون"
1578
 
1579
- #: modules/module-headings.php:84
1580
  msgctxt "Module Name"
1581
  msgid "Post by Email"
1582
  msgstr "الإرسال بالبريد الإلكتروني"
1583
 
1584
- #: modules/module-headings.php:88
 
 
 
 
 
1585
  msgctxt "Module Name"
1586
  msgid "Publicize"
1587
  msgstr "نشر عام"
1588
 
1589
- #: modules/module-headings.php:92
1590
  msgctxt "Module Name"
1591
  msgid "Related Posts"
1592
  msgstr "المقالات ذات الصلة"
1593
 
1594
- #: modules/module-headings.php:96
1595
  msgctxt "Module Name"
1596
  msgid "Sharing"
1597
  msgstr "مشاركة"
1598
 
1599
- #: modules/module-headings.php:100
1600
  msgctxt "Module Name"
1601
  msgid "Shortcode Embeds"
1602
  msgstr "تضمين الكود"
1603
 
1604
- #: modules/module-headings.php:104
1605
  msgctxt "Module Name"
1606
  msgid "WP.me Shortlinks"
1607
  msgstr "روابط WP.me القصيرة"
1608
 
1609
- #: modules/module-headings.php:108
1610
  msgctxt "Module Name"
1611
  msgid "Site Icon"
1612
  msgstr "أيقونة الموقع"
1613
 
1614
- #: modules/module-headings.php:112
1615
  msgctxt "Module Name"
1616
  msgid "Jetpack Single Sign On"
1617
  msgstr "تسجيل الدخول الموحد إلى Jetpack"
1618
 
1619
- #: modules/module-headings.php:116
1620
  msgctxt "Module Name"
1621
  msgid "WordPress.com Stats"
1622
  msgstr "إحصاءات WordPress.com"
1623
 
1624
- #: modules/module-headings.php:120
1625
  msgctxt "Module Name"
1626
  msgid "Subscriptions"
1627
  msgstr "الاشتراكات"
1628
 
1629
- #: modules/module-headings.php:124
1630
- msgctxt "Module Name"
1631
- msgid "Tiled Galleries"
1632
- msgstr "المعارض المتجانبة"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1633
 
1634
- #: modules/module-headings.php:128
1635
- msgctxt "Module Name"
1636
- msgid "VaultPress"
1637
- msgstr "VaultPress"
1638
 
1639
- #: modules/module-headings.php:132
1640
- msgctxt "Module Name"
1641
- msgid "Site Verification"
1642
- msgstr "التحقق من الموقع"
1643
 
1644
- #: modules/module-headings.php:136
1645
- msgctxt "Module Name"
1646
- msgid "VideoPress"
1647
- msgstr "VideoPress"
1648
 
1649
- #: modules/module-headings.php:140
1650
- msgctxt "Module Name"
1651
- msgid "Widget Visibility"
1652
- msgstr "رؤية المربع الجانبي"
1653
 
1654
- #: modules/module-headings.php:144
1655
- msgctxt "Module Name"
1656
- msgid "Extra Sidebar Widgets"
1657
- msgstr "مربعات جانبية إضافية بالشريط الجانبي"
1658
 
1659
- #: modules/module-headings.php:13
1660
  msgctxt "Module Description"
1661
- msgid "Check your spelling, style, and grammar with the After the Deadline proofreading service."
1662
- msgstr "تحقق من الإملاء والأسلوب والقواعد النحوية باستخدام خدمة التدقيق اللغوي After the Deadline."
1663
 
1664
- #: modules/module-headings.php:17
1665
  msgctxt "Module Description"
1666
- msgid "Transform standard image galleries into full-screen slideshows."
1667
- msgstr "تحويل معارض الصور القياسية إلى عروض شرائح بملء الشاشة."
1668
 
1669
- #: modules/module-headings.php:21
1670
  msgctxt "Module Description"
1671
- msgid "Let readers comment with WordPress.com, Twitter, Facebook, or Google+ accounts."
1672
- msgstr "السماح للقراء بالتعليق باستخدام حسابات WordPress.com أو Twitter أو Facebook أو Google+‎."
1673
 
1674
- #: modules/module-headings.php:25
1675
  msgctxt "Module Description"
1676
- msgid "Insert a contact form anywhere on your site."
1677
- msgstr "إدراج نموذج جهة اتصال في أي مكان على موقعك."
1678
 
1679
- #: modules/module-headings.php:29
1680
  msgctxt "Module Description"
1681
- msgid "Organize and display different types of content on your site, separate from posts and pages."
1682
- msgstr "تنظيم أنواع المحتوى المختلفة وعرضها على موقعك، بعيدًا عن المقالات والصفحات."
1683
 
1684
- #: modules/module-headings.php:33
1685
  msgctxt "Module Description"
1686
- msgid "Customize your site’s CSS without modifying your theme."
1687
- msgstr "تخصيص CSS لموقعك دون تعديل القالب."
1688
 
1689
- #: modules/module-headings.php:37
1690
  msgctxt "Module Description"
1691
- msgid "Share your public posts and comments to search engines and other services."
1692
- msgstr "مشاركة المقالات والتعليقات العامة على محركات البحث والخدمات الأخرى."
1693
 
1694
- #: modules/module-headings.php:41
1695
  msgctxt "Module Description"
1696
- msgid "Enable pop-up business cards over commenters’ Gravatars."
1697
- msgstr "تمكين بطاقة العمل المنبثقة عبر الصور الكرتونية المعروفة عالميًا (جرافاتار) للمعلقين."
1698
 
1699
- #: modules/module-headings.php:45
1700
  msgctxt "Module Description"
1701
- msgid "Add support for infinite scroll to your theme."
1702
- msgstr "إضافة الدعم للتمرير اللانهائي وصولاً إلى القالب الخاص بك."
1703
 
1704
- #: modules/module-headings.php:49
1705
  msgctxt "Module Description"
1706
- msgid "Allow applications to securely access your content through the cloud."
1707
- msgstr "السماح للتطبيقات بالوصول بأمان إلى محتواك من خلال السحابة."
1708
 
1709
- #: modules/module-headings.php:53
1710
  msgctxt "Module Description"
1711
- msgid "Use LaTeX markup language in posts and pages for complex equations and other geekery."
1712
- msgstr "استخدام لغة تمييز LaTeX في المقالات والصفحات للمعادلات المركبة والتركيبات الأخرى."
1713
 
1714
- #: _inc/lib/admin-pages/class.jetpack-landing-page.php:30
1715
- msgctxt "The menu item label with a new module count as %s"
1716
- msgid "Jetpack %s"
1717
- msgstr "Jetpack %s"
1718
 
1719
- #: modules/module-headings.php:170
1720
  msgctxt "Module Tag"
1721
- msgid "Photos and Videos"
1722
- msgstr "الصور والفيديو"
1723
 
1724
- #: modules/module-headings.php:182
1725
  msgctxt "Module Tag"
1726
- msgid "Social"
1727
- msgstr "اجتماعي"
1728
 
1729
- #: modules/module-headings.php:207
1730
  msgctxt "Module Tag"
1731
- msgid "WordPress.com Stats"
1732
- msgstr "إحصائيات WordPress.com"
1733
 
1734
- #: modules/module-headings.php:162
1735
  msgctxt "Module Tag"
1736
- msgid "Writing"
1737
- msgstr "الكتابة"
1738
 
1739
- #: modules/module-headings.php:193
1740
  msgctxt "Module Tag"
1741
  msgid "Appearance"
1742
  msgstr "المظهر"
1743
 
1744
- #: modules/module-headings.php:199
1745
  msgctxt "Module Tag"
1746
  msgid "Developers"
1747
  msgstr "المطورون"
1748
 
1749
- #: modules/module-headings.php:203
1750
  msgctxt "Module Tag"
1751
  msgid "Mobile"
1752
  msgstr "الموبايل"
1753
 
1754
- #: modules/module-headings.php:151
1755
  msgctxt "Module Tag"
1756
- msgid "Other"
1757
- msgstr "غير ذلك"
1758
 
1759
- #: class.jetpack.php:2894
1760
- msgctxt "%l = list of Jetpack module/feature names"
1761
- msgid "<strong>%l Deactivated!</strong> You can activate it again at any time using the activate link next to each module."
1762
- msgid_plural "<strong>%l Deactivated!</strong> You can activate them again at any time using the activate links next to each module."
1763
- msgstr[0] "<strong>تم إلغاء تنشيط %l!</strong> يمكنك تنشيطه مرة أخرى في أي وقت باستخدام روابط التنشيط الموجودة بجوار كل وحدة."
1764
- msgstr[1] "<strong>تم إلغاء تنشيط %l!</strong> يمكنك تنشيطها مرة أخرى في أي وقت باستخدام روابط التنشيط الموجودة بجوار كل وحدة."
1765
- msgstr[2] "<strong>تم إلغاء تنشيط %l!</strong> يمكنك تنشيطها مرة أخرى في أي وقت باستخدام روابط التنشيط الموجودة بجوار كل وحدة."
1766
- msgstr[3] "<strong>تم إلغاء تنشيط %l!</strong> يمكنك تنشيطها مرة أخرى في أي وقت باستخدام روابط التنشيط الموجودة بجوار كل وحدة."
1767
- msgstr[4] "<strong>تم إلغاء تنشيط %l!</strong> يمكنك تنشيطها مرة أخرى في أي وقت باستخدام روابط التنشيط الموجودة بجوار كل وحدة."
1768
- msgstr[5] "<strong>تم إلغاء تنشيط %l!</strong> يمكنك تنشيطها مرة أخرى في أي وقت باستخدام روابط التنشيط الموجودة بجوار كل وحدة."
1769
 
1770
- #: class.jetpack.php:3032
1771
- msgctxt "%l = list of Jetpack module/feature names"
1772
- msgid "Like your site's RSS feeds, %l allows access to your posts and other content to third parties."
1773
- msgid_plural "Like your site's RSS feeds, %l allow access to your posts and other content to third parties."
1774
- msgstr[0] "هل أحببت خلاصات RSS لموقعك، تسمح إضافة %l بالوصول إلى مواضيعك ومحتويات أخرى لجهات أخرى."
1775
- msgstr[1] "هل أحببت خلاصات RSS لموقعك، تسمح إضافة %l بالوصول إلى مواضيعك ومحتويات أخرى لجهات أخرى."
1776
- msgstr[2] "هل أحببت خلاصات RSS لموقعك، تسمح إضافة %l بالوصول إلى مواضيعك ومحتويات أخرى لجهات أخرى."
1777
- msgstr[3] "هل أحببت خلاصات RSS لموقعك، تسمح إضافة %l بالوصول إلى مواضيعك ومحتويات أخرى لجهات أخرى."
1778
- msgstr[4] "هل أحببت خلاصات RSS لموقعك، تسمح إضافة %l بالوصول إلى مواضيعك ومحتويات أخرى لجهات أخرى."
1779
- msgstr[5] "هل أحببت خلاصات RSS لموقعك، تسمح إضافة %l بالوصول إلى مواضيعك ومحتويات أخرى لجهات أخرى."
1780
 
1781
- #: class.jetpack.php:3066
1782
- msgctxt "%l = list of Jetpack module/feature names"
1783
- msgid "Deactivate %l"
1784
- msgstr "تعطيل %l"
1785
 
1786
- #: class.jetpack.php:3049
1787
- msgctxt "%1$s = deactivation URL, %2$s = \"Deactivate {list of Jetpack module/feature names}"
1788
- msgid "If your site is not publicly accessible, consider <a href=\"%1$s\" title=\"%2$s\">deactivating this feature</a>."
1789
- msgid_plural "If your site is not publicly accessible, consider <a href=\"%1$s\" title=\"%2$s\">deactivating these features</a>."
1790
- msgstr[0] "إذا كان موقعك غير متاح للعامة، يرجى <a href=\"%1$s\" title=\"%2$s\">تعطيل هذه الميزة</a>."
1791
- msgstr[1] "إذا كان موقعك غير متاح للعامة، يرجى <a href=\"%1$s\" title=\"%2$s\">تعطيل هذه الميزة</a>."
1792
- msgstr[2] "إذا كان موقعك غير متاح للعامة، يرجى <a href=\"%1$s\" title=\"%2$s\">تعطيل هذه الميزات</a>."
1793
- msgstr[3] "إذا كان موقعك غير متاح للعامة، يرجى <a href=\"%1$s\" title=\"%2$s\">تعطيل هذه الميزات</a>."
1794
- msgstr[4] "إذا كان موقعك غير متاح للعامة، يرجى <a href=\"%1$s\" title=\"%2$s\">تعطيل هذه الميزات</a>."
1795
- msgstr[5] "إذا كان موقعك غير متاح للعامة، يرجى <a href=\"%1$s\" title=\"%2$s\">تعطيل هذه الميزات</a>."
1796
 
1797
- #: class.jetpack.php:3432
1798
- msgctxt "%s = Unsubscribe link"
1799
- msgid "You are currently subscribed to email updates. %s"
1800
- msgstr "أنت مشترك حالياً بالتحديثات على البريد الإلكتروني. %s"
1801
 
1802
- #: class.jetpack.php:3437
1803
- msgctxt "%s = Subscribe link"
1804
- msgid "Want to receive updates about Jetpack by email? %s"
1805
- msgstr "هل تريد استقبال التحديثات حول Jetpack عبر البريد الإلكتروني؟ %s"
 
1806
 
1807
- #. translators: combined name for locales: 1: name in English, 2: native name
1808
- #: locales.php:29
1809
- msgctxt "locales"
1810
- msgid "%1$s/%2$s"
1811
- msgstr "%1$s/%2$s"
1812
 
1813
- #: modules/contact-form/admin.php:477
1814
- #: modules/contact-form/grunion-contact-form.php:1361
1815
- msgctxt "{$date_format} \\a\\t {$time_format}"
1816
- msgid "%1$s \\a\\t %2$s"
1817
- msgstr "%1$s \\a\\t %2$s"
1818
 
1819
- #: modules/contact-form/grunion-contact-form.php:854
1820
- msgctxt "%1$s = blog name"
1821
- msgid "%1$s Sidebar"
1822
- msgstr "القائمة الجانبية %1$s"
1823
 
1824
- #: modules/contact-form/grunion-contact-form.php:857
1825
- msgctxt "%1$s = blog name, %2$s = post title"
1826
- msgid "%1$s %2$s"
1827
- msgstr "%1$s %2$s"
1828
 
1829
- #: modules/contact-form/grunion-contact-form.php:1065
1830
- #: modules/contact-form/grunion-contact-form.php:1085
1831
- msgctxt "%1$s = form field label, %2$s = form field value"
1832
- msgid "%1$s: %2$s"
1833
- msgstr "%1$s: %2$s"
1834
 
1835
- #: modules/contact-form/grunion-form-view.php:8
1836
- msgctxt "Label for HTML form \"Name\" field in contact form builder"
1837
- msgid "Name"
1838
- msgstr "الاسم"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1839
 
1840
- #: modules/contact-form/grunion-form-view.php:9
1841
- msgctxt "Label for HTML form \"Email\" field in contact form builder"
1842
- msgid "Email"
1843
- msgstr "البريد الإلكتروني"
1844
 
1845
- #: modules/contact-form/grunion-form-view.php:10
1846
- msgctxt "Label for HTML form \"URL/Website\" field in contact form builder"
1847
- msgid "Website"
1848
- msgstr "الموقع"
1849
 
1850
- #: modules/contact-form/grunion-form-view.php:11
1851
- msgctxt "noun"
1852
- msgid "Comment"
1853
- msgstr "التعليق"
1854
 
1855
- #: modules/contact-form/grunion-form-view.php:12
1856
- msgctxt "Default label for new HTML form field in contact form builder"
1857
- msgid "New Field"
1858
- msgstr "حقل جديد"
1859
 
1860
- #: modules/contact-form/grunion-form-view.php:13
1861
- msgctxt "Label for the set of options to be included in a user-created dropdown in contact form builder"
1862
- msgid "Options"
1863
- msgstr "خيارات"
1864
 
1865
- #: modules/contact-form/grunion-form-view.php:14
1866
- msgctxt "Label for an option to be included in a user-created dropdown in contact form builder"
1867
- msgid "Option"
1868
- msgstr "الخيار"
1869
 
1870
- #: modules/contact-form/grunion-form-view.php:15
1871
- msgctxt "Default label for the first option to be included in a user-created dropdown in contact form builder"
1872
- msgid "First option"
1873
- msgstr "الخيار الأول"
1874
 
1875
- #: modules/contact-form/grunion-form-view.php:16
1876
- msgctxt "error message in contact form builder"
1877
- msgid "Oops, there was a problem generating your form. You'll likely need to try again."
1878
- msgstr "عفواً، هناك مشكلة في توليد النموذج الخاص بك. ستحتاج على الأرجح لإعادة المحاولة."
1879
 
1880
- #: modules/contact-form/grunion-form-view.php:18
1881
- msgctxt "Label to drag HTML form fields around to change their order in contact form builder"
1882
- msgid "move"
1883
- msgstr "تحريك"
1884
 
1885
- #: modules/contact-form/grunion-form-view.php:19
1886
- msgctxt "Link to edit an HTML form field in contact form builder"
1887
- msgid "edit"
1888
- msgstr "تحرير"
1889
 
1890
- #: modules/contact-form/grunion-form-view.php:21
1891
- msgctxt "This HTML form field is marked as required by the user in contact form builder"
1892
- msgid "(required)"
1893
- msgstr "(مطلوب)"
1894
 
1895
- #: modules/contact-form/grunion-form-view.php:150
1896
- msgctxt "%1$s = \"Click here\" in an HTML link"
1897
- msgid "Sure thing. %1$s to add a new text box, textarea, radio, checkbox, or dropdown field."
1898
- msgstr "بالتأكيد يمكنك ذلك. %1$s لإضافة مربع نص جديد، ومحتويات صندوق الكتابة والاختيارات، ومربع الاختيار، أو حقل القائمة المنسدلة."
1899
 
1900
- #: modules/contact-form/grunion-form-view.php:155
1901
- msgctxt "%1$s = \"Feedback\" in an HTML link"
1902
- msgid "Yep, you can read your feedback at any time by clicking the \"%1$s\" link in the admin menu."
1903
- msgstr "نعم، يمكنك قراءة ملاحظاتك في أي وقت بالنقر على رابط \"%1$s\" في قائمة المدير."
1904
 
1905
- #: modules/custom-post-types/nova.php:975
1906
- #: modules/custom-post-types/nova.php:994
1907
- msgctxt "Nova label separator"
1908
- msgid ", "
1909
- msgstr ", "
1910
 
1911
- #. translators: If there are characters in your language that are not supported
1912
- #. by Open Sans, translate this to 'off'. Do not translate into your own
1913
- #. language.
1914
- #: modules/minileven/theme/pub/minileven/functions.php:95
1915
- msgctxt "Open Sans font: on or off"
1916
- msgid "on"
1917
- msgstr "on"
1918
 
1919
- #. translators: To add an additional Open Sans character subset specific to
1920
- #. your language, translate
1921
- #. this to 'greek', 'cyrillic' or 'vietnamese'. Do not translate into your
1922
- #. own language.
1923
- #: modules/minileven/theme/pub/minileven/functions.php:101
1924
- msgctxt "Open Sans font: add new subset (greek, cyrillic, vietnamese)"
1925
- msgid "no-subset"
1926
- msgstr "no-subset"
1927
 
1928
- #: modules/minileven/theme/pub/minileven/image.php:87
1929
- msgctxt "next-saturday"
1930
- msgid "Image navigation"
1931
- msgstr "التنقل عبر الصور"
1932
 
1933
- #: modules/module-headings.php:12
1934
- msgctxt "Module Name"
1935
- msgid "Spelling and Grammar"
1936
- msgstr "التدقيق الإملائي والنحوي"
1937
 
1938
- #: modules/module-headings.php:16
1939
- msgctxt "Module Name"
1940
- msgid "Carousel"
1941
- msgstr "دائري"
1942
 
1943
- #: modules/module-headings.php:20
1944
- msgctxt "Module Name"
1945
- msgid "Jetpack Comments"
1946
- msgstr "تعليقات Jetpack"
1947
 
1948
- #. Author URI of the plugin/theme
1949
- msgid "http://jetpack.me"
1950
- msgstr "http://jetpack.me"
1951
 
1952
- #: _inc/lib/admin-pages/class.jetpack-landing-page.php:12
1953
- msgctxt "The menu item label"
1954
- msgid "Jetpack"
1955
- msgstr "Jetpack"
1956
 
1957
- #: modules/widgets/twitter-timeline.php:236
1958
- msgid "Timeline Theme:"
1959
- msgstr "قالب الجدول الزمني:"
1960
 
1961
- #: modules/widgets/upcoming-events.php:7 modules/widgets/upcoming-events.php:32
1962
- msgid "Upcoming Events"
1963
- msgstr "الأحداث التالية"
1964
 
1965
- #: modules/widgets/upcoming-events.php:9
1966
- msgid "Display upcoming events from an iCalendar feed."
1967
- msgstr "عرض الأحداث التالية من موجز iCalendar."
1968
 
1969
- #: modules/widgets/upcoming-events.php:45
1970
- msgid "iCalendar Feed URL:"
1971
- msgstr "عنوان URL لموجز iCalendar:"
1972
 
1973
- #: modules/widgets/upcoming-events.php:50
1974
- msgid "Items to show:"
1975
- msgstr "العناصر التي سيتم إظهارها:"
1976
 
1977
- #: modules/widgets/wordpress-post-widget.php:25
1978
- msgid "Display WordPress Posts"
1979
- msgstr "عرض مقالات WordPress"
1980
 
1981
- #: modules/widgets/wordpress-post-widget.php:27
1982
- msgid "Displays a list of recent posts from another WordPress.com or Jetpack-enabled blog."
1983
- msgstr "عرض قائمة بأحدث المقالات من مدونة WordPress.com أو مدونة أخرى تدعم Jetpack."
1984
 
1985
- #: modules/widgets/wordpress-post-widget.php:76
1986
- #: modules/widgets/wordpress-post-widget.php:97
1987
- msgid "We cannot load blog data at this time."
1988
- msgstr "لا نستطيع تحميل بيانات المدونة في حالياً."
1989
 
1990
- #: modules/widgets/wordpress-post-widget.php:107
1991
- msgid "We cannot display posts for this blog."
1992
- msgstr "لا نستطيع عرض التدوينات لهذه المدونة."
1993
 
1994
- #: modules/widgets/wordpress-post-widget.php:139
1995
- msgid "Recent Posts"
1996
- msgstr "أحدث التدوينات"
1997
 
1998
- #: modules/widgets/wordpress-post-widget.php:173
1999
- msgid "Blog URL:"
2000
- msgstr "عنوان المدونة"
2001
 
2002
- #: modules/widgets/wordpress-post-widget.php:176
2003
- msgid "Enter a WordPress.com or Jetpack WordPress site URL."
2004
- msgstr "أدخل عنوان URL لموقع WordPress.com أو Jetpack WordPress."
2005
 
2006
- #: modules/widgets/wordpress-post-widget.php:180
2007
- msgid "Number of Posts to Display:"
2008
- msgstr "عدد المقالات التي سيتم عرضها:"
2009
 
2010
- #: modules/widgets/wordpress-post-widget.php:190
2011
- msgid "Show Featured Image:"
2012
- msgstr "إظهار الصورة المميزة:"
2013
 
2014
- #: modules/widgets/wordpress-post-widget.php:194
2015
- msgid "Show Excerpts:"
2016
- msgstr "إظهار المقتطفات:"
 
2017
 
2018
- #: modules/widgets.php:42
2019
- msgid "%s (Jetpack)"
2020
- msgstr "%s (Jetpack)"
2021
 
2022
- #: views/admin/admin-page.php:7
2023
- msgid "Supercharge your self-hosted site with a suite of the most powerful WordPress.com features."
2024
- msgstr "تغذية موقعك المستضاف ذاتيًا بشكل زائد باستخدام مجموعة من ميزات WordPress.com الأكثر فعالية."
2025
 
2026
- #: views/admin/admin-page.php:31
2027
- msgid "Jetpack is in local development mode."
2028
- msgstr "Jetpack في وضع التطوير المحلي."
2029
 
2030
- #: views/admin/admin-page.php:33
2031
- msgid "You're successfully connected to Jetpack!"
2032
- msgstr "تم اتصالك بـ Jetpack بنجاح!"
2033
 
2034
- #: views/admin/admin-page.php:40
2035
- msgid "Once you’ve connected Jetpack, you’ll get access to all the delightful features below."
2036
- msgstr "بمجرد الاتصال بـ Jetpack، ستتمكن من الوصول إلى كل الميزات الرائعة التالية."
2037
 
2038
- #: views/admin/admin-page.php:45
2039
- msgid "Jetpack team favorites"
2040
- msgstr "مفضلات فريق Jetpack"
2041
 
2042
- #: views/admin/admin-page.php:52
2043
- msgid "Customize the look of your site, without modifying your theme."
2044
- msgstr "إضفاء الطابع الشخصي على مظهر موقعك، دون تعديل القالب."
2045
 
2046
- #: views/admin/admin-page.php:59
2047
- msgid "Single Sign On"
2048
- msgstr "تسجيل الدخول الموحد"
2049
 
2050
- #: views/admin/admin-page.php:60
2051
- msgid "Let users log in through WordPress.com with one click."
2052
- msgstr "السماح للمستخدمين بتسجيل الدخول عبر WordPress.com بنقرة واحدة."
2053
 
2054
- #: views/admin/admin-page.php:68
2055
- msgid "Simple, concise site stats with no additional load on your server."
2056
- msgstr "إحصائيات بسيطة ومختصرة للموقع بدون تحميل إضافي على الخادم."
2057
 
2058
- #: views/admin/admin-page.php:75
2059
- msgid "Jetpack features"
2060
- msgstr "مميزات Jetpack"
2061
 
2062
- #: views/admin/admin-page.php:79
2063
- msgid "Search the Jetpack features"
2064
- msgstr "ابحث في مميزات Jetpack"
2065
 
2066
- #: views/admin/admin-page.php:90
2067
- msgid "Load more"
2068
- msgstr "تحميل المزيد"
2069
 
2070
- #: views/admin/module-modal-template.php:2
2071
- msgid "Modal window. Press escape to close."
2072
- msgstr "نافذة مشروطة. اضغط على مفتاح escape للإغلاق."
2073
 
2074
- #: views/admin/module-modal-template.php:3
2075
- msgid "Close modal window"
2076
- msgstr "إغلاق النافذة المشروطة"
2077
 
2078
- #: views/admin/must-connect-main-blog.php:5
2079
- msgid "Get started with Jetpack Multisite"
2080
- msgstr "بدء استخدام تعدد مواقع Jetpack"
2081
 
2082
- #: views/admin/must-connect-main-blog.php:7
2083
- msgid "Get started managing your Multisite install of Jetpack by connecting."
2084
- msgstr "البدء في إدارة تثبيت Jetpack لتعدد المواقع عن طريق الاتصال."
2085
 
2086
- #: views/admin/network-activated-notice.php:3
2087
- msgid "Jetpack is network activated and notices can not be dismissed."
2088
- msgstr "Jetpack منشط على الشبكة والملاحظات لا يمكن استبعادها."
2089
 
2090
- #: views/admin/network-settings.php:8
2091
- msgid "Jetpack Network Settings Updated!"
2092
- msgstr "تم تحديث إعدادات شبكة Jetpack!"
2093
 
2094
- #: views/admin/network-settings.php:15
2095
- msgid "Network Settings"
2096
- msgstr "إعدادات الشبكة"
2097
 
2098
- #: views/admin/network-settings.php:17
2099
- msgid "Global"
2100
- msgstr "عام"
2101
 
2102
- #: views/admin/network-settings.php:18
2103
- msgid "These settings affect all sites on the network."
2104
- msgstr "تؤثر هذه الإعدادات على كل المواقع الموجودة على الشبكة."
2105
 
2106
- #: views/admin/network-settings.php:30
2107
- msgid "Sub-site override"
2108
- msgstr "تجاوز الموقع الفرعي"
 
2109
 
2110
- #: views/admin/network-settings.php:33
2111
- msgid "Allow individual si
1
+ # Translation of 3.4 in Arabic
2
+ # This file is distributed under the same license as the 3.4 package.
3
  msgid ""
4
  msgstr ""
5
+ "PO-Revision-Date: 2015-03-16 10:13:20+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
9
  "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
10
  "X-Generator: GlotPress/0.1\n"
11
+ "Project-Id-Version: 3.4\n"
12
 
13
+ #: modules/module-headings.php:138
14
+ msgctxt "Jumpstart Description"
15
+ msgid "give visitors two easy subscription options — while commenting, or via a separate email subscription widget you can display."
16
+ msgstr "منح الزوار خيارين للاشتراك بسهولة — أثناء التعليق، أو عبر مربع جانبي منفصل للاشتراك بالبريد الإلكتروني يمكن عرضه."
 
 
 
17
 
18
+ #: modules/module-headings.php:65
19
+ msgctxt "Jumpstart Description"
20
+ msgid "helps you remotely manage plugins, turn on automated updates, and more from <a href=\"https://wordpress.com/plugins/\" target=\"_blank\">wordpress.com</a>."
21
+ msgstr "يساعدك على إدارة الأدوات الإضافية عن بُعد وتشغيل التحديثات التلقائية والاطلاع على مزيد من المعلومات من <a href=\"https://wordpress.com/plugins/\" target=\"_blank\">وردبرس.كوم</a>."
22
 
23
+ #: modules/module-headings.php:90
24
+ msgctxt "Jumpstart Description"
25
+ msgid "mirrors and serves your images from our free and fast image CDN, improving your site’s performance with no additional load on your servers."
26
+ msgstr "يعكس صورك ويخدمها من CDN الخاص بالصور المجاني والسريع؛ مما يحسن من مستوى أداء موقعك من دون حمل إضافي على الخوادم."
27
 
28
+ #: modules/module-headings.php:107
29
+ msgctxt "Jumpstart Description"
30
+ msgid "keep visitors engaged on your blog by highlighting relevant and new content at the bottom of each published post."
31
+ msgstr "يجذب الزوار للمشاركة في مدونتك عن طريق تمييز المحتوى الجديد ذي الصلة أسفل كل من المقالات المنشورة."
32
 
33
+ #: modules/module-headings.php:112
34
+ msgctxt "Jumpstart Description"
35
+ msgid "Twitter, Facebook and LinkedIn buttons at the bottom of each post, making it easy for visitors to share your content."
36
+ msgstr "أزرار Twitter وFacebook وLinkedIn أسفل كل مقالة تسهل الأمر على الزوار لمشاركة محتواك."
37
 
38
+ #: modules/module-headings.php:129
39
+ msgctxt "Jumpstart Description"
40
+ msgid "lets you login to all your Jetpack-enabled sites with one click using your WordPress.com account."
41
+ msgstr "يتيح لك تسجيل الدخول إلى كل المواقع التي تدعم Jetpack بنقرة واحدة باستخدام حساب وردبرس.كوم الخاص بك."
42
 
43
+ #: modules/module-headings.php:18
44
+ msgctxt "Jumpstart Description"
45
+ msgid "brings your photos and images to life as full-size, easily navigable galleries."
46
+ msgstr "يعيد إلى صورك وصورك الفوتوغرافية الحياة من جديد بحجمها الكامل ويسهل من التنقل عبر معارض الصور."
47
 
48
+ #: modules/module-headings.php:27
49
+ msgctxt "Jumpstart Description"
50
+ msgid "adds a button to your post and page editors, allowing you to build simple forms to help visitors stay in touch."
51
+ msgstr "يضيف زرًا إلى برامج تحرير المقالات والصفحات؛ مما يتيح لك إنشاء نماذج بسيطة لمساعدة الزوار في البقاء على اتصال."
52
 
53
+ #: modules/module-headings.php:44
54
+ msgctxt "Jumpstart Description"
55
+ msgid "let commenters link their profiles to their Gravatar accounts, making it easy for your visitors to learn more about your community."
56
+ msgstr "يتيح للمعلقين ربط ملفاتهم التعريفية بحسابات جرافاتار؛ مما يسهل من تعلم الزوار المزيد عن مجتمعك."
57
 
58
+ #: modules/module-info.php:974
59
+ msgid "Add a new post or page to any of your sites from a single interface."
60
+ msgstr ""
61
 
62
+ #: views/admin/admin-page.php:27
63
+ msgid "Check out other recommended features below, or go to the <a href=\"%s\">settings</a> page to customize your Jetpack experience."
64
+ msgstr ""
65
 
66
+ #: modules/module-headings.php:199
67
+ msgctxt "Module Tag"
68
+ msgid "Jumpstart"
69
+ msgstr "بداية سريعة"
70
 
71
+ #: modules/module-headings.php:244
72
+ msgctxt "Module Tag"
73
+ msgid "Recommended"
74
+ msgstr "مستحسن"
75
 
76
+ #: modules/module-info.php:973
77
+ msgid "Posts and Pages"
78
+ msgstr ""
79
 
80
+ #: json-endpoints/class.wpcom-json-api-update-media-v1-1-endpoint.php:56
81
+ msgid "Album"
82
+ msgstr "ألبوم"
 
83
 
84
+ #: json-endpoints/class.wpcom-json-api-update-media-v1-1-endpoint.php:55
85
+ msgid "Artist"
86
+ msgstr "فنّان"
87
 
88
+ #: modules/widgets/goodreads.php:124
89
+ msgctxt "Goodreads numeric user id"
90
+ msgid "Invalid User ID, please verify and re-enter your"
91
+ msgstr "معرف المستخدم غير صالح، يُرجى التحقق وإعادة الإدخال"
92
 
93
+ #: modules/widgets/goodreads.php:34
94
+ msgctxt "my list of books to read"
95
+ msgid "To Read"
96
+ msgstr "للقراءة"
97
 
98
+ #: class.jetpack.php:5646
99
+ msgctxt "{#} blocked malicious login attempts -- number is on a prior line, text is a caption."
100
+ msgid "blocked malicious login attempts"
101
+ msgstr "تم حجب محاولات تسجيل الدخول الضارة"
102
 
103
+ #: class.jetpack.php:5657
104
+ msgctxt "{#} spam comments blocked by Akismet -- number is on a prior line, text is a caption."
105
+ msgid "spam comments blocked by Akismet."
106
+ msgstr "تم حجب التعليقات المزعجة بواسطة أكيسميت."
107
 
108
+ #: modules/module-headings.php:63
109
+ msgctxt "Module Name"
110
+ msgid "Manage"
111
+ msgstr "إدارة"
112
 
113
+ #: modules/module-headings.php:64
114
+ msgctxt "Module Description"
115
+ msgid "Manage all your sites from a centralized place, https://wordpress.com/sites."
116
+ msgstr "إدارة كل المواقع الخاصة بك من مكان مركزي، https://wordpress.com/sites."
117
 
118
+ #: modules/module-headings.php:232
119
+ msgctxt "Module Tag"
120
+ msgid "Centralized Management"
121
+ msgstr "إدارة مركزية"
122
 
123
+ #: modules/widgets/contact-info.php:48
124
+ msgctxt "Example of a phone number"
125
+ msgid "1-202-555-1212"
126
+ msgstr "1-202-555-1212"
127
 
128
+ #: modules/widgets/goodreads.php:32
129
+ msgctxt "past participle: books I have read"
130
+ msgid "Read"
131
+ msgstr "قراءة"
132
 
133
+ #: views/admin/admin-page.php:47
134
+ msgid "Get the most out of Jetpack with..."
135
+ msgstr "تحقيق أقصى استفادة من Jetpack مع..."
136
 
137
+ #: views/admin/admin-page.php:49
138
+ msgid "See the other 25 Jetpack features"
139
+ msgstr "مشاهدة ميزات Jetpack الأخرى البالغ عددها 25"
140
 
141
+ #: views/admin/admin-page.php:60
142
+ msgid "To start using Jetpack, connect to your WordPress.com account by clicking the button below <br>(if you don’t have an account you can create one quickly and for free)."
143
+ msgstr "للبدء في استخدام Jetpack، اتصل بحساب وردبرس.كوم الخاص بك بالنقر فوق الزر أدناه <br>(إذا لم يكن لديك حساب يمكنك إنشاء حساب بسرعة مجانًا)."
144
 
145
+ #: views/admin/admin-page.php:65
146
+ msgid "Link to your account to WordPress.com"
147
+ msgstr "ربط حسابك بموقع وردبرس.كوم"
148
 
149
+ #: views/admin/admin-page.php:83
150
+ msgid "RESET EVERYTHING (during testing only) - will reset modules to default as well"
151
+ msgstr "إعادة تعيين الكل (أثناء الاختبار فقط) - ستتم إعادة تعيين الوحدات إلى الوضع الافتراضي أيضًا"
152
 
153
+ #: views/admin/admin-page.php:19
154
+ msgid "Jump Start your site"
155
+ msgstr "بدء سريع لموقعك"
156
 
157
+ #: views/admin/admin-page.php:20
158
+ msgid "To immediately boost performance, security, and engagement, we recommend activating <strong>%s</strong> and a few others. Click <strong>Jump Start</strong> to activate these modules."
159
+ msgstr "لتعزيز الأداء والأمان والمشاركة على الفور، فإننا نوصي بتنشيط <strong>%s</strong> وغيره من العناصر الأخرى. انقر فوق <strong>بدء سريع</strong> لتنشيط هذه الوحدات."
 
160
 
161
+ #: views/admin/admin-page.php:21
162
+ msgid "Learn more about Jump Start and what it adds to your site."
163
+ msgstr "تعرف على ميزة البدء السريع وما تضيفه إلى موقعك."
164
 
165
+ #: views/admin/admin-page.php:26
166
+ msgid "Success! You've jump started your site."
167
+ msgstr "تمّ بنجاح! لقد بدأت موقعك بسرعة."
168
 
169
+ #: views/admin/admin-page.php:31
170
+ msgid "Jump Start"
171
+ msgstr "بدء سريع"
172
 
173
+ #: views/admin/admin-page.php:32
174
+ msgid "Dismiss"
175
+ msgstr "تجاهل"
176
 
177
+ #: modules/widgets/goodreads.php:57
178
+ msgid "You need to enter your numeric user ID for the <a href=\"%1$s\">Goodreads Widget</a> to work correctly. <a href=\"%2$s\">Full instructions</a>."
179
+ msgstr "يجب إدخال معرف المستخدم الرقمي <a href=\"%1$s\">لأداة Goodreads</a> للعمل بشكل صحيح. <a href=\"%2$s\">الإرشادات الكاملة</a>."
180
 
181
+ #: modules/widgets/goodreads.php:129
182
+ msgid "Goodreads numeric user id <a href=\"%s\" target=\"_blank\">(instructions)</a>:"
183
+ msgstr "معرف مستخدم Goodreads الرقمي <a href=\"%s\" target=\"_blank\">(الإرشادات)</a>:"
184
 
185
+ #: modules/widgets/goodreads.php:135
186
+ msgid "Shelf:"
187
+ msgstr "الرف:"
 
188
 
189
+ #: modules/widgets/goodreads.php:27
190
+ msgid "Display your books from Goodreads"
191
+ msgstr "عرض كتبك في Goodreads"
192
 
193
+ #: modules/widgets/goodreads.php:33
194
+ msgid "Currently Reading"
195
+ msgstr "قراءة الآن"
196
 
197
+ #: modules/widgets/goodreads.php:24 modules/widgets/goodreads.php:74
198
+ msgid "Goodreads"
199
+ msgstr "Goodreads"
200
 
201
+ #: modules/widgets/contact-info.php:213
202
+ msgid "Hours:"
203
+ msgstr "الساعات:"
204
 
205
+ #: modules/widgets/contact-info.php:204
206
+ msgid "Sorry. We can not plot this address. A map will not be displayed. Is the address formatted correctly?"
207
+ msgstr "عذرًا. لا يمكنك تعيين هذا العنوان. لن يتم عرض الخريطة. هل تم تنسيق العنوان بشكل صحيح؟"
208
 
209
+ #: modules/widgets/contact-info.php:210
210
+ msgid "Phone:"
211
+ msgstr "الهاتف:"
212
 
213
+ #: modules/widgets/contact-info.php:200
214
+ msgid "Show map"
215
+ msgstr "إظهار الخريطة"
216
 
217
+ #: modules/widgets/contact-info.php:194
218
+ msgid "Address:"
219
+ msgstr "العنوان:"
 
220
 
221
+ #: modules/widgets/contact-info.php:46
222
+ msgid "Hours & Info"
223
+ msgstr "الساعات والمعلومات"
224
 
225
+ #: modules/widgets/contact-info.php:47
226
+ msgid ""
227
+ "3999 Mission Boulevard,\n"
228
+ "San Diego CA 92109"
229
+ msgstr ""
230
+ "3999 Mission Boulevard,\n"
231
+ "San Diego CA 92109"
232
 
233
+ #: modules/widgets/contact-info.php:49
234
+ msgid ""
235
+ "Lunch: 11am - 2pm \n"
236
+ "Dinner: M-Th 5pm - 11pm, Fri-Sat:5pm - 1am"
237
+ msgstr ""
238
+ "الغداء: 11 ص - 2 م \n"
239
+ "العشاء: الاثنين-الخميس 5 م - 11 م، الجمعة-السبت: 5 م - 1 ص"
240
 
241
+ #: modules/widgets/contact-info.php:148
242
+ msgid "There was a problem getting the data to display this address on a map. Please refresh your browser and try again."
243
+ msgstr "حدثت مشكلة أثناء الحصول على البيانات لعرض هذا العنوان على الخريطة. يُرجى تحديث المستعرض والمحاولة مرة أخرى."
244
 
245
+ #: modules/widgets/contact-info.php:26
246
+ msgid "Display your location, hours, and contact information."
247
+ msgstr "عرض موقعك والساعات ومعلومات الاتصال."
 
248
 
249
+ #: modules/widgets/contact-info.php:30
250
+ msgid "Contact Info"
251
+ msgstr "معلومات الإتصال"
252
 
253
+ #: modules/protect/shared-functions.php:32
254
+ msgid "Expecting an array"
255
+ msgstr "توقع صفيف"
256
 
257
+ #: class.jetpack.php:5673 views/admin/admin-page.php:59
258
+ msgid "Jetpack connects your site to WordPress.com to give you traffic and customization tools, enhanced security, speed boosts, and more."
259
+ msgstr "يصل Jetpack موقعك بموقع وردبرس.كوم لمنحك أدوات تنظيم حركات المرور والتخصيص والأمان المحسن وسرعات فائقة، والمزيد."
260
 
261
+ #: class.jetpack.php:5681
262
+ msgid "or, deactivate Jetpack"
263
+ msgstr "أو إلغاء تنشيط Jetpack"
264
 
265
+ #: modules/module-info.php:966
266
+ msgid "Manage all of your WordPress sites, self-hosted or not, from WordPress.com"
267
+ msgstr "إدارة مواقع وردبرس المستضافة ذاتيًا أم لا من وردبرس.كوم"
268
 
269
+ #: modules/module-info.php:969
270
+ msgid "Enabling Manage allows you to update your self-hosted WordPress sites along with any WordPress.com sites you have, all in one simple dashboard."
271
+ msgstr "يتيح لك تمكين الإدارة تحديث مواقع وردبرس المستضافة ذاتيًا جنبًا إلى جنب مع أي مواقع وردبرس.كوم لديك، الكل في لوحة المعلومات البسيطة."
272
 
273
+ #: modules/module-info.php:971
274
+ msgid "Now you can update plugins, set plugins to automatically update, and activate or deactivate plugins on a per-site basis or in bulk from <a href=\"%s\">wordpress.com/plugins</a>."
275
+ msgstr ""
276
 
277
+ #: modules/protect/config-ui.php:7
278
+ msgid "Debug Jetpack for more information."
279
+ msgstr "إصلاح أخطاء Jetpack لمزيد من المعلومات."
280
 
281
+ #: class.jetpack.php:5661
282
+ msgid "Akismet can help to keep your blog safe from spam!"
283
+ msgstr "يمكن أن يساعدك أكيسميت في إصلاح أخطاء مدونتك بحيث لا تُصاب بالبريد المزعج!"
284
 
285
+ #: class.jetpack.php:5672 views/admin/admin-page.php:57
286
+ msgid "Boost traffic, enhance security, and improve performance."
287
+ msgstr "تعزيز حركات المرور وتحسين الأمان وتطوير الأداء"
288
 
289
+ #: class.jetpack.php:5648
290
+ msgid "Jetpack Protect helps to keep you secure from brute-force login attacks."
291
+ msgstr "يساعدك Jetpack Protect على الحفاظ على الأمان من هجمات تسجيل الدخول الشرسة."
292
 
293
+ #: class.jetpack.php:5648
294
+ msgid "Activate Jetpack Protect"
295
+ msgstr "تنشيط Jetpack Protect"
296
 
297
+ #: class.jetpack.php:5650
298
+ msgid "Jetpack Protect is inactive."
299
+ msgstr "Jetpack Protect غير نشط"
300
 
301
+ #: class.jetpack.php:5659
302
+ msgid "Activate Akismet"
303
+ msgstr "فعِّل أكيسميت"
304
 
305
+ #: class.jetpack.php:3256
306
+ msgid "<strong>You&#8217;re fueled up and ready to go, Jetpack is now active.</strong> "
307
+ msgstr "<strong>أنت مستعد للانطلاق الآن، Jetpack نشط الآن.</strong> "
308
 
309
+ #: modules/sharedaddy/sharing-sources.php:1277
310
+ msgctxt "share to"
311
+ msgid "Pocket"
312
+ msgstr "Pocket"
313
 
314
+ #: modules/videopress/class.videopress-player.php:382
315
+ msgctxt "watch a video title"
316
+ msgid "Watch: %s"
317
+ msgstr "شاهد: %s"
318
 
319
+ #: modules/videopress/class.videopress-player.php:507
320
+ msgctxt "Play as in playback or view a movie"
321
+ msgid "JavaScript required to play %s."
322
+ msgstr "الجافا سكريبت المطلوبة للتشغيل %s."
323
 
324
+ #: modules/widget-visibility/widget-conditions.php:199
325
+ msgctxt "placeholder: dropdown menu to select widget visibility; hide if or show if"
326
+ msgid "%s if:"
327
+ msgstr "%s لو:"
328
 
329
+ #: modules/widget-visibility/widget-conditions.php:199
330
+ msgctxt "Used in the \"%s if:\" translation for the widget visibility dropdown"
331
+ msgid "Show"
332
+ msgstr "إظهار"
333
 
334
+ #: modules/widget-visibility/widget-conditions.php:199
335
+ msgctxt "Used in the \"%s if:\" translation for the widget visibility dropdown"
336
+ msgid "Hide"
337
+ msgstr "إخفاء"
338
 
339
+ #: modules/widget-visibility/widget-conditions.php:210
340
+ msgctxt "Used as the default option in a dropdown list"
341
+ msgid "-- Select --"
342
+ msgstr "-- تحديد --"
343
 
344
+ #: modules/widget-visibility/widget-conditions.php:212
345
+ msgctxt "Noun, as in: \"The author of this post is...\""
346
+ msgid "Author"
347
+ msgstr "المؤلف"
348
 
349
+ #: modules/widget-visibility/widget-conditions.php:217
350
+ msgctxt "Noun"
351
+ msgid "User"
352
+ msgstr "حماية"
353
 
354
+ #: modules/widget-visibility/widget-conditions.php:218
355
+ msgctxt "Noun, as in: \"The user role of that can access this widget is...\""
356
+ msgid "Role"
357
+ msgstr "الدور"
358
 
359
+ #: modules/widget-visibility/widget-conditions.php:220
360
+ msgctxt "Noun, as in: \"This post has one tag.\""
361
+ msgid "Tag"
362
+ msgstr "العلامة"
363
 
364
+ #: modules/widget-visibility/widget-conditions.php:221
365
+ msgctxt "Noun, as in: \"This page is a date archive.\""
366
+ msgid "Date"
367
+ msgstr "التاريخ"
368
 
369
+ #: modules/widget-visibility/widget-conditions.php:222
370
+ msgctxt "Example: The user is looking at a page, not a post."
371
+ msgid "Page"
372
+ msgstr "الصفحة"
373
 
374
+ #: modules/widget-visibility/widget-conditions.php:224
375
+ msgctxt "Noun, as in: \"This post has one taxonomy.\""
376
+ msgid "Taxonomy"
377
+ msgstr "الفئة"
378
 
379
+ #: modules/widget-visibility/widget-conditions.php:227
380
+ msgctxt "Widget Visibility: {Rule Major [Page]} is {Rule Minor [Search results]}"
381
+ msgid "is"
382
+ msgstr "هو"
383
 
384
+ #: modules/widget-visibility/widget-conditions.php:234
385
+ msgctxt "Shown between widget visibility conditions."
386
+ msgid "or"
387
+ msgstr "أو"
388
 
389
+ #: modules/widgets/gravatar-profile.php:155
390
+ msgctxt "1: User Name, 2: Service Name (Facebook, Twitter, ...)"
391
+ msgid "%1$s on %2$s"
392
+ msgstr "%1$s على %2$s"
393
 
394
+ #: views/admin/landing-page-templates.php:16
395
+ msgctxt "As in Premium. Premium module description"
396
+ msgid "Paid"
397
+ msgstr "مدفوع"
398
 
399
+ #: modules/widgets/top-posts.php:86
400
+ msgid "Image List"
401
+ msgstr "قائمة صور"
402
 
403
+ #: modules/widgets/top-posts.php:87
404
+ msgid "Image Grid"
405
+ msgstr "شبكة صور"
406
 
407
+ #: modules/widgets/top-posts.php:91
408
+ msgid "Top Posts &amp; Pages by views are calculated from 24-48 hours of stats. They take a while to change."
409
+ msgstr "يتم حساب مشاهدة المواضيع الهامة والصفحات من 24-48 ساعة من الإحصائيات. تأخذ بعض الوقت لتتغير."
410
 
411
+ #: modules/widgets/top-posts.php:162
412
+ msgid "There are no posts to display. <a href=\"%s\">Want more traffic?</a>"
413
+ msgstr "لم يتم إيجاد أي موضوع لعرضه. <a href=\"%s\">هل تريد المزيد من تبادل البيانات؟</a>"
 
414
 
415
+ #: modules/widgets/twitter-timeline.php:24
416
+ msgid "Twitter Timeline"
417
+ msgstr "الجدول الزمني لتويتر"
418
 
419
+ #: modules/widgets/twitter-timeline.php:27
420
+ msgid "Display an official Twitter Embedded Timeline widget."
421
+ msgstr "إظهار ويدجت الجدول الزمني المدمج الرسمي لتويتر."
422
 
423
+ #: modules/widgets/twitter-timeline.php:95
424
+ msgid "My Tweets"
425
+ msgstr "تغريداتي"
426
 
427
+ #: modules/widgets/twitter-timeline.php:180
428
+ msgid "Follow me on Twitter"
429
+ msgstr "أتبعني على تويتر"
430
 
431
+ #: modules/widgets/twitter-timeline.php:200
432
+ msgid "Width (px):"
433
+ msgstr "العرض (بيكسل):"
434
 
435
+ #: modules/widgets/twitter-timeline.php:205
436
+ msgid "Height (px):"
437
+ msgstr "الارتفاع (بيكسل):"
438
 
439
+ #: modules/widgets/twitter-timeline.php:210
440
+ msgid "# of Tweets Shown:"
441
+ msgstr "عدد التدوينات المعروضة:"
 
 
 
 
 
 
442
 
443
+ #: modules/widgets/twitter-timeline.php:218
444
+ msgid "You need to <a href=\"%1$s\" target=\"_blank\">create a widget at Twitter.com</a>, and then enter your widget id (the long number found in the URL of your widget's config page) in the field below. <a href=\"%2$s\" target=\"_blank\">Read more</a>."
445
+ msgstr "يتعين عليك <a href=\"%1$s\" target=\"_blank\">إنشاء مربع جانبي في Twitter.com</a>، ثم إدخال معرف المربع الجانبي (الرقم الطويل الموجود في عنوان URL بصفحة تكوين المربع الجانبي) في الحقل الموجود أدناه. <a href=\"%2$s\" target=\"_blank\">قراءة المزيد</a>."
 
 
 
 
 
 
446
 
447
+ #: modules/widgets/twitter-timeline.php:226
448
+ msgid "Widget ID:"
449
+ msgstr "معرف المربع الجانبي:"
450
 
451
+ #: modules/widgets/twitter-timeline.php:231
452
+ msgid "Layout Options:"
453
+ msgstr "خيارات التخطيط:"
454
 
455
+ #: modules/widgets/twitter-timeline.php:232
456
+ msgid "No Header"
457
+ msgstr "لا يوجد هيدر"
458
 
459
+ #: modules/widgets/twitter-timeline.php:233
460
+ msgid "No Footer"
461
+ msgstr "لا يوجد فوتر"
462
 
463
+ #: modules/widgets/twitter-timeline.php:234
464
+ msgid "No Borders"
465
+ msgstr "لا يوجد حدود"
466
 
467
+ #: modules/widgets/twitter-timeline.php:235
468
+ msgid "No Scrollbar"
469
+ msgstr "لا يوجد شريط تمرير"
470
 
471
+ #: modules/widgets/twitter-timeline.php:236
472
+ msgid "Transparent Background"
473
+ msgstr "خلفية شفافة"
474
 
475
+ #: modules/widgets/twitter-timeline.php:240
476
+ msgid "Link Color (hex):"
477
+ msgstr "لون الرابط (ست عشري):"
478
 
479
+ #: modules/widgets/twitter-timeline.php:245
480
+ msgid "Border Color (hex):"
481
+ msgstr "لون الحدود (ست عشري):"
482
 
483
+ #: modules/widgets/twitter-timeline.php:250
484
+ msgid "Timeline Theme:"
485
+ msgstr "قالب الجدول الزمني:"
486
 
487
+ #: modules/widgets/upcoming-events.php:7 modules/widgets/upcoming-events.php:32
488
+ msgid "Upcoming Events"
489
+ msgstr "الأحداث التالية"
490
 
491
+ #: modules/widgets/upcoming-events.php:9
492
+ msgid "Display upcoming events from an iCalendar feed."
493
+ msgstr "عرض الأحداث التالية من موجز iCalendar."
494
 
495
+ #: modules/widgets/upcoming-events.php:45
496
+ msgid "iCalendar Feed URL:"
497
+ msgstr "عنوان URL لموجز iCalendar:"
498
 
499
+ #: modules/widgets/upcoming-events.php:50
500
+ msgid "Items to show:"
501
+ msgstr "العناصر التي سيتم إظهارها:"
502
 
503
+ #: modules/widgets/wordpress-post-widget.php:25
504
+ msgid "Display WordPress Posts"
505
+ msgstr "عرض مقالات WordPress"
506
 
507
+ #: modules/widgets/wordpress-post-widget.php:27
508
+ msgid "Displays a list of recent posts from another WordPress.com or Jetpack-enabled blog."
509
+ msgstr "عرض قائمة بأحدث المقالات من مدونة WordPress.com أو مدونة أخرى تدعم Jetpack."
510
 
511
+ #: modules/widgets/wordpress-post-widget.php:76
512
+ #: modules/widgets/wordpress-post-widget.php:97
513
+ msgid "We cannot load blog data at this time."
514
+ msgstr "لا نستطيع تحميل بيانات المدونة في حالياً."
515
 
516
+ #: modules/widgets/wordpress-post-widget.php:107
517
+ msgid "We cannot display posts for this blog."
518
+ msgstr "لا نستطيع عرض التدوينات لهذه المدونة."
519
 
520
+ #: modules/widgets/wordpress-post-widget.php:139
521
+ msgid "Recent Posts"
522
+ msgstr "أحدث التدوينات"
523
 
524
+ #: modules/widgets/wordpress-post-widget.php:173
525
+ msgid "Blog URL:"
526
+ msgstr "عنوان المدونة"
527
 
528
+ #: modules/widgets/wordpress-post-widget.php:176
529
+ msgid "Enter a WordPress.com or Jetpack WordPress site URL."
530
+ msgstr "أدخل عنوان URL لموقع WordPress.com أو Jetpack WordPress."
531
 
532
+ #: modules/widgets/wordpress-post-widget.php:180
533
+ msgid "Number of Posts to Display:"
534
+ msgstr "عدد المقالات التي سيتم عرضها:"
535
 
536
+ #: modules/widgets/wordpress-post-widget.php:190
537
+ msgid "Show Featured Image:"
538
+ msgstr "إظهار الصورة المميزة:"
539
 
540
+ #: modules/widgets/wordpress-post-widget.php:194
541
+ msgid "Show Excerpts:"
542
+ msgstr "إظهار المقتطفات:"
543
 
544
+ #: modules/widgets.php:48
545
+ msgid "%s (Jetpack)"
546
+ msgstr "%s (Jetpack)"
547
 
548
+ #: views/admin/admin-page.php:10
549
+ msgid "Jetpack is in local development mode."
550
+ msgstr "Jetpack في وضع التطوير المحلي."
551
 
552
+ #: views/admin/landing-page-templates.php:12
553
+ msgid "loading&hellip;"
554
+ msgstr "جاري التحميل&hellip;"
555
 
556
+ #: views/admin/landing-page-templates.php:24
557
+ msgid "Learn more"
558
+ msgstr "تعرف على المزيد"
559
 
560
+ #: views/admin/module-modal-template.php:2
561
+ msgid "Modal window. Press escape to close."
562
+ msgstr "نافذة مشروطة. اضغط على مفتاح escape للإغلاق."
563
 
564
+ #: views/admin/module-modal-template.php:3
565
+ msgid "Close modal window"
566
+ msgstr "إغلاق النافذة المشروطة"
567
 
568
+ #: views/admin/must-connect-main-blog.php:5
569
+ msgid "Get started with Jetpack Multisite"
570
+ msgstr "بدء استخدام تعدد مواقع Jetpack"
571
 
572
+ #: views/admin/must-connect-main-blog.php:7
573
+ msgid "Get started managing your Multisite install of Jetpack by connecting."
574
+ msgstr "البدء في إدارة تثبيت Jetpack لتعدد المواقع عن طريق الاتصال."
575
 
576
+ #: views/admin/network-activated-notice.php:3
577
+ msgid "Jetpack is network activated and notices can not be dismissed."
578
+ msgstr "Jetpack منشط على الشبكة والملاحظات لا يمكن استبعادها."
579
 
580
+ #: views/admin/network-settings.php:8
581
+ msgid "Jetpack Network Settings Updated!"
582
+ msgstr "تم تحديث إعدادات شبكة Jetpack!"
583
 
584
+ #: views/admin/network-settings.php:15
585
+ msgid "Network Settings"
586
+ msgstr "إعدادات الشبكة"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
587
 
588
+ #: views/admin/network-settings.php:17
589
+ msgid "Global"
590
+ msgstr "عام"
591
 
592
+ #: views/admin/network-settings.php:18
593
+ msgid "These settings affect all sites on the network."
594
+ msgstr "تؤثر هذه الإعدادات على كل المواقع الموجودة على الشبكة."
595
 
596
+ #: views/admin/network-settings.php:30
597
+ msgid "Sub-site override"
598
+ msgstr "تجاوز الموقع الفرعي"
599
 
600
+ #: views/admin/network-settings.php:33
601
+ msgid "Allow individual site administrators to manage their own connections (connect and disconnect) to <a href=\"//wordpress.com\">WordPress.com</a>"
602
+ msgstr "السماح لمسؤولي المواقع الأفراد بإدارة اتصالاتهم الخاصة (توصيلها وقطعها) بخدمة <a href=\"//wordpress.com\">WordPress.com</a>"
 
 
603
 
604
+ #. Plugin URI of the plugin/theme
605
+ msgid "http://wordpress.org/extend/plugins/jetpack/"
606
+ msgstr "http://wordpress.org/extend/plugins/jetpack/"
607
 
608
+ #. Description of the plugin/theme
609
+ msgid "Bring the power of the WordPress.com cloud to your self-hosted WordPress. Jetpack enables you to connect your blog to a WordPress.com account to use the powerful features normally only available to WordPress.com users."
610
+ msgstr "إضافة تجلب القوة السحابية لموقعك وتمكنك من ربط حسابك على موقع WordPress.com لاستخدام ميزات قوية متوفرة فقط لمستخدمي موقع WordPress.com"
611
 
612
+ #. Author of the plugin/theme
613
+ msgid "Automattic"
614
+ msgstr "Automattic"
 
 
 
 
 
 
615
 
616
+ #. Author URI of the plugin/theme
617
+ msgid "http://jetpack.me"
618
+ msgstr "http://jetpack.me"
619
 
620
+ #: _inc/lib/admin-pages/class.jetpack-landing-page.php:12
621
+ msgctxt "The menu item label"
622
+ msgid "Jetpack"
623
+ msgstr "Jetpack"
624
 
625
+ #: _inc/lib/admin-pages/class.jetpack-landing-page.php:30
626
+ msgctxt "The menu item label with a new module count as %s"
627
+ msgid "Jetpack %s"
628
+ msgstr "Jetpack %s"
629
 
630
+ #: class.jetpack.php:3236
631
+ msgctxt "%l = list of Jetpack module/feature names"
632
+ msgid "<strong>%l Deactivated!</strong> You can activate it again at any time using the activate link next to each module."
633
+ msgid_plural "<strong>%l Deactivated!</strong> You can activate them again at any time using the activate links next to each module."
634
+ msgstr[0] "<strong>تم إلغاء تنشيط %l!</strong> يمكنك تنشيطه مرة أخرى في أي وقت باستخدام روابط التنشيط الموجودة بجوار كل وحدة."
635
+ msgstr[1] "<strong>تم إلغاء تنشيط %l!</strong> يمكنك تنشيطها مرة أخرى في أي وقت باستخدام روابط التنشيط الموجودة بجوار كل وحدة."
636
+ msgstr[2] "<strong>تم إلغاء تنشيط %l!</strong> يمكنك تنشيطها مرة أخرى في أي وقت باستخدام روابط التنشيط الموجودة بجوار كل وحدة."
637
+ msgstr[3] "<strong>تم إلغاء تنشيط %l!</strong> يمكنك تنشيطها مرة أخرى في أي وقت باستخدام روابط التنشيط الموجودة بجوار كل وحدة."
638
+ msgstr[4] "<strong>تم إلغاء تنشيط %l!</strong> يمكنك تنشيطها مرة أخرى في أي وقت باستخدام روابط التنشيط الموجودة بجوار كل وحدة."
639
+ msgstr[5] "<strong>تم إلغاء تنشيط %l!</strong> يمكنك تنشيطها مرة أخرى في أي وقت باستخدام روابط التنشيط الموجودة بجوار كل وحدة."
640
 
641
+ #: class.jetpack.php:3372
642
+ msgctxt "%l = list of Jetpack module/feature names"
643
+ msgid "Like your site's RSS feeds, %l allows access to your posts and other content to third parties."
644
+ msgid_plural "Like your site's RSS feeds, %l allow access to your posts and other content to third parties."
645
+ msgstr[0] "هل أحببت خلاصات RSS لموقعك، تسمح إضافة %l بالوصول إلى مواضيعك ومحتويات أخرى لجهات أخرى."
646
+ msgstr[1] "هل أحببت خلاصات RSS لموقعك، تسمح إضافة %l بالوصول إلى مواضيعك ومحتويات أخرى لجهات أخرى."
647
+ msgstr[2] "هل أحببت خلاصات RSS لموقعك، تسمح إضافة %l بالوصول إلى مواضيعك ومحتويات أخرى لجهات أخرى."
648
+ msgstr[3] "هل أحببت خلاصات RSS لموقعك، تسمح إضافة %l بالوصول إلى مواضيعك ومحتويات أخرى لجهات أخرى."
649
+ msgstr[4] "هل أحببت خلاصات RSS لموقعك، تسمح إضافة %l بالوصول إلى مواضيعك ومحتويات أخرى لجهات أخرى."
650
+ msgstr[5] "هل أحببت خلاصات RSS لموقعك، تسمح إضافة %l بالوصول إلى مواضيعك ومحتويات أخرى لجهات أخرى."
651
 
652
+ #: class.jetpack.php:3406
653
+ msgctxt "%l = list of Jetpack module/feature names"
654
+ msgid "Deactivate %l"
655
+ msgstr "تعطيل %l"
 
 
656
 
657
+ #: class.jetpack.php:3389
658
+ msgctxt "%1$s = deactivation URL, %2$s = \"Deactivate {list of Jetpack module/feature names}"
659
+ msgid "If your site is not publicly accessible, consider <a href=\"%1$s\" title=\"%2$s\">deactivating this feature</a>."
660
+ msgid_plural "If your site is not publicly accessible, consider <a href=\"%1$s\" title=\"%2$s\">deactivating these features</a>."
661
+ msgstr[0] "إذا كان موقعك غير متاح للعامة، يرجى <a href=\"%1$s\" title=\"%2$s\">تعطيل هذه الميزة</a>."
662
+ msgstr[1] "إذا كان موقعك غير متاح للعامة، يرجى <a href=\"%1$s\" title=\"%2$s\">تعطيل هذه الميزة</a>."
663
+ msgstr[2] "إذا كان موقعك غير متاح للعامة، يرجى <a href=\"%1$s\" title=\"%2$s\">تعطيل هذه الميزات</a>."
664
+ msgstr[3] "إذا كان موقعك غير متاح للعامة، يرجى <a href=\"%1$s\" title=\"%2$s\">تعطيل هذه الميزات</a>."
665
+ msgstr[4] "إذا كان موقعك غير متاح للعامة، يرجى <a href=\"%1$s\" title=\"%2$s\">تعطيل هذه الميزات</a>."
666
+ msgstr[5] "إذا كان موقعك غير متاح للعامة، يرجى <a href=\"%1$s\" title=\"%2$s\">تعطيل هذه الميزات</a>."
667
 
668
+ #: class.jetpack.php:3774
669
+ msgctxt "%s = Unsubscribe link"
670
+ msgid "You are currently subscribed to email updates. %s"
671
+ msgstr "أنت مشترك حالياً بالتحديثات على البريد الإلكتروني. %s"
672
 
673
+ #: class.jetpack.php:3779
674
+ msgctxt "%s = Subscribe link"
675
+ msgid "Want to receive updates about Jetpack by email? %s"
676
+ msgstr "هل تريد استقبال التحديثات حول Jetpack عبر البريد الإلكتروني؟ %s"
677
 
678
+ #. translators: combined name for locales: 1: name in English, 2: native name
679
+ #: locales.php:31
680
+ msgctxt "locales"
681
+ msgid "%1$s/%2$s"
682
+ msgstr "%1$s/%2$s"
683
 
684
+ #: modules/contact-form/admin.php:478
685
+ #: modules/contact-form/grunion-contact-form.php:1453
686
+ msgctxt "{$date_format} \\a\\t {$time_format}"
687
+ msgid "%1$s \\a\\t %2$s"
688
+ msgstr "%1$s \\a\\t %2$s"
689
 
690
+ #: modules/contact-form/grunion-contact-form.php:893
691
+ msgctxt "%1$s = blog name"
692
+ msgid "%1$s Sidebar"
693
+ msgstr "القائمة الجانبية %1$s"
694
 
695
+ #: modules/contact-form/grunion-contact-form.php:896
696
+ msgctxt "%1$s = blog name, %2$s = post title"
697
+ msgid "%1$s %2$s"
698
+ msgstr "%1$s %2$s"
699
 
700
+ #: modules/contact-form/grunion-contact-form.php:1129
701
+ #: modules/contact-form/grunion-contact-form.php:1149
702
+ msgctxt "%1$s = form field label, %2$s = form field value"
703
+ msgid "%1$s: %2$s"
704
+ msgstr "%1$s: %2$s"
705
 
706
+ #: modules/contact-form/grunion-form-view.php:8
707
+ msgctxt "Label for HTML form \"Name\" field in contact form builder"
 
 
 
708
  msgid "Name"
709
  msgstr "الاسم"
710
 
711
+ #: modules/contact-form/grunion-form-view.php:9
712
+ msgctxt "Label for HTML form \"Email\" field in contact form builder"
713
+ msgid "Email"
714
+ msgstr "البريد الإلكتروني"
715
 
716
+ #: modules/contact-form/grunion-form-view.php:10
717
+ msgctxt "Label for HTML form \"URL/Website\" field in contact form builder"
718
+ msgid "Website"
719
+ msgstr "الموقع"
720
 
721
+ #: modules/contact-form/grunion-form-view.php:11
722
+ msgctxt "noun"
723
+ msgid "Comment"
724
+ msgstr "التعليق"
725
 
726
+ #: modules/contact-form/grunion-form-view.php:12
727
+ msgctxt "Default label for new HTML form field in contact form builder"
728
+ msgid "New Field"
729
+ msgstr "حقل جديد"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
730
 
731
+ #: modules/contact-form/grunion-form-view.php:13
732
+ msgctxt "Label for the set of options to be included in a user-created dropdown in contact form builder"
733
+ msgid "Options"
734
+ msgstr "خيارات"
 
735
 
736
+ #: modules/contact-form/grunion-form-view.php:14
737
+ msgctxt "Label for an option to be included in a user-created dropdown in contact form builder"
738
+ msgid "Option"
739
+ msgstr "الخيار"
740
 
741
+ #: modules/contact-form/grunion-form-view.php:15
742
+ msgctxt "Default label for the first option to be included in a user-created dropdown in contact form builder"
743
+ msgid "First option"
744
+ msgstr "الخيار الأول"
745
 
746
+ #: modules/contact-form/grunion-form-view.php:16
747
+ msgctxt "error message in contact form builder"
748
+ msgid "Oops, there was a problem generating your form. You'll likely need to try again."
749
+ msgstr "عفواً، هناك مشكلة في توليد النموذج الخاص بك. ستحتاج على الأرجح لإعادة المحاولة."
750
 
751
+ #: modules/contact-form/grunion-form-view.php:18
752
+ msgctxt "Label to drag HTML form fields around to change their order in contact form builder"
753
+ msgid "move"
754
+ msgstr "تحريك"
755
 
756
+ #: modules/contact-form/grunion-form-view.php:19
757
+ msgctxt "Link to edit an HTML form field in contact form builder"
758
+ msgid "edit"
759
+ msgstr "تحرير"
760
 
761
+ #: modules/contact-form/grunion-form-view.php:21
762
+ msgctxt "This HTML form field is marked as required by the user in contact form builder"
763
+ msgid "(required)"
764
+ msgstr "(مطلوب)"
765
 
766
+ #: modules/contact-form/grunion-form-view.php:150
767
+ msgctxt "%1$s = \"Click here\" in an HTML link"
768
+ msgid "Sure thing. %1$s to add a new text box, textarea, radio, checkbox, or dropdown field."
769
+ msgstr "بالتأكيد يمكنك ذلك. %1$s لإضافة مربع نص جديد، ومحتويات صندوق الكتابة والاختيارات، ومربع الاختيار، أو حقل القائمة المنسدلة."
770
 
771
+ #: modules/contact-form/grunion-form-view.php:155
772
+ msgctxt "%1$s = \"Feedback\" in an HTML link"
773
+ msgid "Yep, you can read your feedback at any time by clicking the \"%1$s\" link in the admin menu."
774
+ msgstr "نعم، يمكنك قراءة ملاحظاتك في أي وقت بالنقر على رابط \"%1$s\" في قائمة المدير."
775
 
776
+ #: modules/custom-post-types/nova.php:987
777
+ #: modules/custom-post-types/nova.php:1006
778
+ msgctxt "Nova label separator"
779
+ msgid ", "
780
+ msgstr ", "
781
 
782
+ #. translators: If there are characters in your language that are not supported
783
+ #. by Open Sans, translate this to 'off'. Do not translate into your own
784
+ #. language.
785
+ #: modules/minileven/theme/pub/minileven/functions.php:95
786
+ msgctxt "Open Sans font: on or off"
787
+ msgid "on"
788
+ msgstr "on"
789
 
790
+ #. translators: To add an additional Open Sans character subset specific to
791
+ #. your language, translate
792
+ #. this to 'greek', 'cyrillic' or 'vietnamese'. Do not translate into your
793
+ #. own language.
794
+ #: modules/minileven/theme/pub/minileven/functions.php:101
795
+ msgctxt "Open Sans font: add new subset (greek, cyrillic, vietnamese)"
796
+ msgid "no-subset"
797
+ msgstr "no-subset"
798
 
799
+ #: modules/minileven/theme/pub/minileven/image.php:87
800
+ msgctxt "next-saturday"
801
+ msgid "Image navigation"
802
+ msgstr "التنقل عبر الصور"
803
 
804
+ #: modules/module-headings.php:12
805
+ msgctxt "Module Name"
806
+ msgid "Spelling and Grammar"
807
+ msgstr "التدقيق الإملائي والنحوي"
808
 
809
+ #: modules/module-headings.php:16
810
+ msgctxt "Module Name"
811
+ msgid "Carousel"
812
+ msgstr "دائري"
813
 
814
+ #: modules/module-headings.php:21
815
+ msgctxt "Module Name"
816
+ msgid "Jetpack Comments"
817
+ msgstr "تعليقات Jetpack"
818
 
819
+ #: modules/module-headings.php:25
820
  msgctxt "Module Name"
821
  msgid "Contact Form"
822
  msgstr "نموذج جهة الاتصال"
823
 
824
+ #: modules/module-headings.php:30
825
  msgctxt "Module Name"
826
  msgid "Custom Content Types"
827
  msgstr "أنواع المحتويات الخاصة"
828
 
829
+ #: modules/module-headings.php:34
830
  msgctxt "Module Name"
831
  msgid "Custom CSS"
832
  msgstr "CSS مخصصة"
833
 
834
+ #: modules/module-headings.php:38
835
  msgctxt "Module Name"
836
  msgid "Enhanced Distribution"
837
  msgstr "التوزيع المحسن"
838
 
839
+ #: modules/module-headings.php:42
840
  msgctxt "Module Name"
841
  msgid "Gravatar Hovercards"
842
  msgstr "بطاقات تمرير الصور الكرتونية المعروفة عالميًا (جرافاتار)"
843
 
844
+ #: modules/module-headings.php:47
845
  msgctxt "Module Name"
846
  msgid "Infinite Scroll"
847
  msgstr "تمرير لانهائي"
848
 
849
+ #: modules/module-headings.php:51
850
  msgctxt "Module Name"
851
  msgid "JSON API"
852
  msgstr "واجهة برمجة تطبيقات JSON"
853
 
854
+ #: modules/module-headings.php:55
855
  msgctxt "Module Name"
856
  msgid "Beautiful Math"
857
  msgstr "الرياضيات الجميلة"
858
 
859
+ #: modules/module-headings.php:59
860
  msgctxt "Module Name"
861
  msgid "Likes"
862
  msgstr "الإعجابات"
863
 
864
+ #: modules/module-headings.php:68
865
  msgctxt "Module Name"
866
  msgid "Markdown"
867
  msgstr "الضبط"
868
 
869
+ #: modules/module-headings.php:72
870
  msgctxt "Module Name"
871
  msgid "Mobile Theme"
872
  msgstr "قالب المحمول"
873
 
874
+ #: modules/module-headings.php:76
875
  msgctxt "Module Name"
876
  msgid "Monitor"
877
  msgstr "المراقبة"
878
 
879
+ #: modules/module-headings.php:80
880
  msgctxt "Module Name"
881
  msgid "Notifications"
882
  msgstr "التنبيهات"
883
 
884
+ #: modules/module-headings.php:84
885
  msgctxt "Module Name"
886
  msgid "Omnisearch"
887
  msgstr "بحث عام"
888
 
889
+ #: modules/module-headings.php:88
890
  msgctxt "Module Name"
891
  msgid "Photon"
892
  msgstr "الفوتون"
893
 
894
+ #: modules/module-headings.php:93
895
  msgctxt "Module Name"
896
  msgid "Post by Email"
897
  msgstr "الإرسال بالبريد الإلكتروني"
898
 
899
+ #: modules/module-headings.php:97
900
+ msgctxt "Module Name"
901
+ msgid "Protect"
902
+ msgstr "المستخدم"
903
+
904
+ #: modules/module-headings.php:101
905
  msgctxt "Module Name"
906
  msgid "Publicize"
907
  msgstr "نشر عام"
908
 
909
+ #: modules/module-headings.php:105
910
  msgctxt "Module Name"
911
  msgid "Related Posts"
912
  msgstr "المقالات ذات الصلة"
913
 
914
+ #: modules/module-headings.php:110
915
  msgctxt "Module Name"
916
  msgid "Sharing"
917
  msgstr "مشاركة"
918
 
919
+ #: modules/module-headings.php:115
920
  msgctxt "Module Name"
921
  msgid "Shortcode Embeds"
922
  msgstr "تضمين الكود"
923
 
924
+ #: modules/module-headings.php:119
925
  msgctxt "Module Name"
926
  msgid "WP.me Shortlinks"
927
  msgstr "روابط WP.me القصيرة"
928
 
929
+ #: modules/module-headings.php:123
930
  msgctxt "Module Name"
931
  msgid "Site Icon"
932
  msgstr "أيقونة الموقع"
933
 
934
+ #: modules/module-headings.php:127
935
  msgctxt "Module Name"
936
  msgid "Jetpack Single Sign On"
937
  msgstr "تسجيل الدخول الموحد إلى Jetpack"
938
 
939
+ #: modules/module-headings.php:132
940
  msgctxt "Module Name"
941
  msgid "WordPress.com Stats"
942
  msgstr "إحصاءات WordPress.com"
943
 
944
+ #: modules/module-headings.php:136
945
  msgctxt "Module Name"
946
  msgid "Subscriptions"
947
  msgstr "الاشتراكات"
948
 
949
+ #: modules/module-headings.php:141
950
+ msgctxt "Module Name"
951
+ msgid "Tiled Galleries"
952
+ msgstr "المعارض المتجانبة"
953
+
954
+ #: modules/module-headings.php:145
955
+ msgctxt "Module Name"
956
+ msgid "VaultPress"
957
+ msgstr "VaultPress"
958
+
959
+ #: modules/module-headings.php:149
960
+ msgctxt "Module Name"
961
+ msgid "Site Verification"
962
+ msgstr "التحقق من الموقع"
963
+
964
+ #: modules/module-headings.php:153
965
+ msgctxt "Module Name"
966
+ msgid "VideoPress"
967
+ msgstr "VideoPress"
968
+
969
+ #: modules/module-headings.php:157
970
+ msgctxt "Module Name"
971
+ msgid "Widget Visibility"
972
+ msgstr "رؤية المربع الجانبي"
973
+
974
+ #: modules/module-headings.php:161
975
+ msgctxt "Module Name"
976
+ msgid "Extra Sidebar Widgets"
977
+ msgstr "مربعات جانبية إضافية بالشريط الجانبي"
978
+
979
+ #: modules/module-headings.php:13
980
+ msgctxt "Module Description"
981
+ msgid "Check your spelling, style, and grammar with the After the Deadline proofreading service."
982
+ msgstr "تحقق من الإملاء والأسلوب والقواعد النحوية باستخدام خدمة التدقيق اللغوي After the Deadline."
983
+
984
+ #: modules/module-headings.php:17
985
+ msgctxt "Module Description"
986
+ msgid "Transform standard image galleries into full-screen slideshows."
987
+ msgstr "تحويل معارض الصور القياسية إلى عروض شرائح بملء الشاشة."
988
+
989
+ #: modules/module-headings.php:22
990
+ msgctxt "Module Description"
991
+ msgid "Let readers comment with WordPress.com, Twitter, Facebook, or Google+ accounts."
992
+ msgstr "السماح للقراء بالتعليق باستخدام حسابات WordPress.com أو Twitter أو Facebook أو Google+‎."
993
+
994
+ #: modules/module-headings.php:26
995
+ msgctxt "Module Description"
996
+ msgid "Insert a contact form anywhere on your site."
997
+ msgstr "إدراج نموذج جهة اتصال في أي مكان على موقعك."
998
+
999
+ #: modules/module-headings.php:31
1000
+ msgctxt "Module Description"
1001
+ msgid "Organize and display different types of content on your site, separate from posts and pages."
1002
+ msgstr "تنظيم أنواع المحتوى المختلفة وعرضها على موقعك، بعيدًا عن المقالات والصفحات."
1003
+
1004
+ #: modules/module-headings.php:35
1005
+ msgctxt "Module Description"
1006
+ msgid "Customize your site’s CSS without modifying your theme."
1007
+ msgstr "تخصيص CSS لموقعك دون تعديل القالب."
1008
+
1009
+ #: modules/module-headings.php:39
1010
+ msgctxt "Module Description"
1011
+ msgid "Share your public posts and comments to search engines and other services."
1012
+ msgstr "مشاركة المقالات والتعليقات العامة على محركات البحث والخدمات الأخرى."
1013
+
1014
+ #: modules/module-headings.php:43
1015
+ msgctxt "Module Description"
1016
+ msgid "Enable pop-up business cards over commenters’ Gravatars."
1017
+ msgstr "تمكين بطاقة العمل المنبثقة عبر الصور الكرتونية المعروفة عالميًا (جرافاتار) للمعلقين."
1018
+
1019
+ #: modules/module-headings.php:48
1020
+ msgctxt "Module Description"
1021
+ msgid "Add support for infinite scroll to your theme."
1022
+ msgstr "إضافة الدعم للتمرير اللانهائي وصولاً إلى القالب الخاص بك."
1023
+
1024
+ #: modules/module-headings.php:52
1025
+ msgctxt "Module Description"
1026
+ msgid "Allow applications to securely access your content through the cloud."
1027
+ msgstr "السماح للتطبيقات بالوصول بأمان إلى محتواك من خلال السحابة."
1028
+
1029
+ #: modules/module-headings.php:56
1030
+ msgctxt "Module Description"
1031
+ msgid "Use LaTeX markup language in posts and pages for complex equations and other geekery."
1032
+ msgstr "استخدام لغة تمييز LaTeX في المقالات والصفحات للمعادلات المركبة والتركيبات الأخرى."
1033
+
1034
+ #: modules/module-headings.php:60
1035
+ msgctxt "Module Description"
1036
+ msgid "Give visitors an easy way to show their appreciation for your content."
1037
+ msgstr "منح الزائرين طريقة سهلة لإظهار إعجابهم بالمحتوى الخاص بك."
1038
+
1039
+ #: modules/module-headings.php:69
1040
+ msgctxt "Module Description"
1041
+ msgid "Write posts or pages in plain-text Markdown syntax."
1042
+ msgstr "كتابة المقالات أو الصفحات بصياغة مبسطة بنص عادي."
1043
+
1044
+ #: modules/module-headings.php:73
1045
+ msgctxt "Module Description"
1046
+ msgid "Optimize your site with a mobile-friendly theme for smartphones."
1047
+ msgstr "طوِّر موقعك باستخدام قالب متوافق مع الهواتف المحمولة للهواتف الذكية."
1048
+
1049
+ #: modules/module-headings.php:77
1050
+ msgctxt "Module Description"
1051
+ msgid "Receive notifications from Jetpack if your site goes offline — and when it it returns."
1052
+ msgstr "استلام التنبيهات من Jetpack في حالة قطع الاتصال بموقعك — وعند عودته إلى وضع الاتصال."
1053
+
1054
+ #: modules/module-headings.php:81
1055
+ msgctxt "Module Description"
1056
+ msgid "Receive notification of site activity via the admin toolbar and your Mobile devices."
1057
+ msgstr "استلام تنبيه بنشاط الموقع عبر شريط أدوات المسؤول وأجهزتك المحمولة."
1058
+
1059
+ #: modules/module-headings.php:85
1060
+ msgctxt "Module Description"
1061
+ msgid "Search your entire database from a single field in your Dashboard."
1062
+ msgstr "بحث في قاعدة البيانات بأكملها من حقل واحد في لوحة التحكم الخاصة بك."
1063
+
1064
+ #: modules/module-headings.php:89
1065
+ msgctxt "Module Description"
1066
+ msgid "Accelerate your site by loading images from the WordPress.com CDN."
1067
+ msgstr "زيادة سرعة موقعك عن طريق تحميل الصور من WordPress.com CDN."
1068
 
1069
+ #: modules/module-headings.php:94
1070
+ msgctxt "Module Description"
1071
+ msgid "Publish posts by email, using any device and email client."
1072
+ msgstr "نشر مقالات عبر البريد الإلكتروني باستخدام أي جهاز وعميل بريد إلكتروني."
1073
 
1074
+ #: modules/module-headings.php:98
1075
+ msgctxt "Module Description"
1076
+ msgid "Adds brute force protection to your login page. Formerly BruteProtect."
1077
+ msgstr "ركِّب إضافة brute force protection إلى صفحة تسجيل الدخول الخاصة بك. كانت هذه الإضافة تسمى BruteProtect سابقًا."
1078
 
1079
+ #: modules/module-headings.php:102
1080
+ msgctxt "Module Description"
1081
+ msgid "Share new posts on social media networks automatically."
1082
+ msgstr "مشاركة مقالات جديدة على شبكات التواصل الاجتماعي تلقائيًا."
1083
 
1084
+ #: modules/module-headings.php:106
1085
+ msgctxt "Module Description"
1086
+ msgid "Display links to your related content under posts and pages."
1087
+ msgstr "عرض روابط للمحتوى ذي الصلة ضمن المقالات والصفحات."
1088
 
1089
+ #: modules/module-headings.php:111
1090
+ msgctxt "Module Description"
1091
+ msgid "Allow visitors to share your content on Facebook, Twitter, and more with a click."
1092
+ msgstr "السماح للزائرين بمشاركة المحتوى الخاص بك على Facebook وTwitter وغيرهما بنقرة زر واحدة."
1093
 
1094
+ #: modules/module-headings.php:116
1095
  msgctxt "Module Description"
1096
+ msgid "Embed content from YouTube, Vimeo, SlideShare, and more, no coding necessary."
1097
+ msgstr "تضمين المحتوى من YouTube وVimeo وSlideShare وغيرها، لا يلزم وجود أي ترميز."
1098
 
1099
+ #: modules/module-headings.php:120
1100
  msgctxt "Module Description"
1101
+ msgid "Enable WP.me-powered shortlinks for all posts and pages."
1102
+ msgstr "تضمين روابط مختصرة تعمل بواسطة WP.me لجميع المقالات والصفحات."
1103
 
1104
+ #: modules/module-headings.php:124
1105
  msgctxt "Module Description"
1106
+ msgid "Add a site icon to your site."
1107
+ msgstr "أضفْ أيقونة الموقع إلى موقعك."
1108
 
1109
+ #: modules/module-headings.php:128
1110
  msgctxt "Module Description"
1111
+ msgid "Allow your users to log in using their WordPress.com accounts."
1112
+ msgstr "السماح للمستخدمين لديك بتسجيل الدخول باستخدام حسابات WordPress.com الخاصة بهم."
1113
 
1114
+ #: modules/module-headings.php:133
1115
  msgctxt "Module Description"
1116
+ msgid "Monitor your stats with clear, concise reports and no additional load on your server."
1117
+ msgstr "مراقبة الإحصاءات باستخدام تقارير دقيقة وشفافة، دون أي تحميل على الخادم لديك."
1118
 
1119
+ #: modules/module-headings.php:137
1120
  msgctxt "Module Description"
1121
+ msgid "Allow users to subscribe to your posts and comments and receive notifications via email."
1122
+ msgstr "السماح للمستخدمين بالاشتراك في مقالاتك وتعليقاتك واستلام تنبيهات عبر البريد الإلكتروني."
1123
 
1124
+ #: modules/module-headings.php:142
1125
  msgctxt "Module Description"
1126
+ msgid "Display your image galleries in a variety of sleek, graphic arrangements."
1127
+ msgstr "عرض معارض صورك بمجموعة متنوعة من الترتيبات الرسومية الأنيقة."
1128
 
1129
+ #: modules/module-headings.php:146
1130
  msgctxt "Module Description"
1131
+ msgid "Protect your site with automatic backups and security scans. (Subscription required.)"
1132
+ msgstr "حماية موقعك باستخدام عمليات نسخ احتياطي تلقائية وعمليات فحص للتحقق من الأمان. (يلزم الاشتراك.)"
1133
 
1134
+ #: modules/module-headings.php:150
1135
  msgctxt "Module Description"
1136
+ msgid "Verify your site or domain with Google Webmaster Tools, Pinterest, and others."
1137
+ msgstr "التحقق من موقعك أو مجالك باستخدام Google Webmaster Tools وPinterest وغيرهما."
1138
 
1139
+ #: modules/module-headings.php:154
1140
  msgctxt "Module Description"
1141
+ msgid "Upload and embed videos right on your site. (Subscription required.)"
1142
+ msgstr "حمِّل مقاطع الفيديو وضمِّنها إلى موقعك. (يلزم الاشتراك.)"
1143
 
1144
+ #: modules/module-headings.php:158
1145
  msgctxt "Module Description"
1146
+ msgid "Specify which widgets appear on which pages of your site."
1147
+ msgstr "تحديد أي مربعات جانبية تظهر على أي صفحات في موقعك."
1148
 
1149
+ #: modules/module-headings.php:162
1150
+ msgctxt "Module Description"
1151
+ msgid "Add images, Twitter streams, your site’s RSS links, and more to your sidebar."
1152
+ msgstr "إضافة الصور وتدفقات Twitter وروابط RSS على موقعك وغيرها إلى الشريط الجانبي لديك."
1153
 
1154
+ #: modules/module-headings.php:168
1155
  msgctxt "Module Tag"
1156
+ msgid "Other"
1157
+ msgstr "غير ذلك"
1158
 
1159
+ #: modules/module-headings.php:179
1160
  msgctxt "Module Tag"
1161
+ msgid "Writing"
1162
+ msgstr "الكتابة"
1163
 
1164
+ #: modules/module-headings.php:187
1165
  msgctxt "Module Tag"
1166
+ msgid "Photos and Videos"
1167
+ msgstr "الصور والفيديو"
1168
 
1169
+ #: modules/module-headings.php:211
1170
  msgctxt "Module Tag"
1171
+ msgid "Social"
1172
+ msgstr "اجتماعي"
1173
 
1174
+ #: modules/module-headings.php:222
1175
  msgctxt "Module Tag"
1176
  msgid "Appearance"
1177
  msgstr "المظهر"
1178
 
1179
+ #: modules/module-headings.php:228
1180
  msgctxt "Module Tag"
1181
  msgid "Developers"
1182
  msgstr "المطورون"
1183
 
1184
+ #: modules/module-headings.php:248
1185
  msgctxt "Module Tag"
1186
  msgid "Mobile"
1187
  msgstr "الموبايل"
1188
 
1189
+ #: modules/module-headings.php:252
1190
  msgctxt "Module Tag"
1191
+ msgid "WordPress.com Stats"
1192
+ msgstr "إحصائيات WordPress.com"
1193
 
1194
+ #: modules/module-info.php:28
1195
+ msgctxt "Visit your _VaultPress_dashboard_."
1196
+ msgid "To check your backups, see any security alerts, or check your VaultPress Vitality, visit your %s."
1197
+ msgstr "لتفحص نسخك الاحتياطية، ومشاهدة أي تنبيهات أمنية، أو لفحص نشاط VaultPress. قم بزيارة لوحة التحكم %s. "
 
 
 
 
 
 
1198
 
1199
+ #: modules/module-info.php:31
1200
+ msgctxt "View _Plans_&_Pricing_. (VaultPress)"
1201
+ msgid "View %s."
1202
+ msgstr "عرض %s."
 
 
 
 
 
 
1203
 
1204
+ #: modules/publicize/publicize-jetpack.php:384
1205
+ msgctxt "Refresh connection with {social media service}"
1206
+ msgid "Refresh connection with %s"
1207
+ msgstr "تحديث الاتصال مع %s"
1208
 
1209
+ #: modules/publicize/ui.php:616
1210
+ msgctxt "Service: Account connected as"
1211
+ msgid "%1$s: %2$s"
1212
+ msgstr "%1$s: %2$s"
 
 
 
 
 
 
1213
 
1214
+ #: modules/publicize.php:112
1215
+ msgctxt "word count: words or characters?"
1216
+ msgid "words"
1217
+ msgstr "كلمة"
1218
 
1219
+ #: modules/related-posts/jetpack-related-posts.php:954
1220
+ #: modules/related-posts/jetpack-related-posts.php:967
1221
+ msgctxt "in {category/tag name}"
1222
+ msgid "In \"%s\""
1223
+ msgstr "في \"%s\""
1224
 
1225
+ #: modules/sharedaddy/sharing-sources.php:232
1226
+ msgctxt "as sharing source"
1227
+ msgid "Email"
1228
+ msgstr "البريد الإلكتروني"
 
1229
 
1230
+ #: modules/sharedaddy/sharing-sources.php:298
1231
+ msgctxt "share to"
1232
+ msgid "Email"
1233
+ msgstr "البريد الإلكتروني"
 
1234
 
1235
+ #: modules/sharedaddy/sharing-sources.php:433
1236
+ msgctxt "share to"
1237
+ msgid "Twitter"
1238
+ msgstr "تويتر"
1239
 
1240
+ #: modules/sharedaddy/sharing-sources.php:520
1241
+ msgctxt "share to"
1242
+ msgid "StumbleUpon"
1243
+ msgstr "StumbleUpon"
1244
 
1245
+ #: modules/sharedaddy/sharing-sources.php:555
1246
+ msgctxt "share to"
1247
+ msgid "Reddit"
1248
+ msgstr "Reddit"
 
1249
 
1250
+ #: modules/sharedaddy/sharing-sources.php:597
1251
+ msgctxt "share to"
1252
+ msgid "LinkedIn"
1253
+ msgstr "LinkedIn"
1254
+
1255
+ #: modules/sharedaddy/sharing-sources.php:740
1256
+ msgctxt "share to"
1257
+ msgid "Facebook"
1258
+ msgstr "فيس بوك"
1259
+
1260
+ #: modules/sharedaddy/sharing-sources.php:776
1261
+ msgctxt "share to"
1262
+ msgid "Print"
1263
+ msgstr "طباعة"
1264
+
1265
+ #: modules/sharedaddy/sharing-sources.php:838
1266
+ msgctxt "share to"
1267
+ msgid "Press This"
1268
+ msgstr "نشر"
1269
+
1270
+ #: modules/sharedaddy/sharing-sources.php:870
1271
+ msgctxt "share to"
1272
+ msgid "Google"
1273
+ msgstr "Google"
1274
+
1275
+ #: modules/sharedaddy/sharing-sources.php:1129
1276
+ msgctxt "share to"
1277
+ msgid "Tumblr"
1278
+ msgstr "Tumblr"
1279
+
1280
+ #: modules/sharedaddy/sharing-sources.php:1176
1281
+ msgctxt "share to"
1282
+ msgid "Pinterest"
1283
+ msgstr "Pinterest"
1284
+
1285
+ #: modules/widgets/gravatar-profile.php:189
1286
+ msgid "Select a user or pick \"custom\" and enter a custom email address."
1287
+ msgstr "حدد مستخدم أو اختر \"مخصص\" وأدخل البريد الإلكتروني المخصص."
1288
+
1289
+ #: modules/widgets/gravatar-profile.php:193
1290
+ msgid "Custom"
1291
+ msgstr "مخصص"
1292
+
1293
+ #: modules/widgets/gravatar-profile.php:203
1294
+ msgid "Custom Email Address"
1295
+ msgstr "بريد إلكتروني مخصص"
1296
 
1297
+ #: modules/widgets/gravatar-profile.php:211
1298
+ msgid "Show Personal Links"
1299
+ msgstr "عرض الروابط الشخصية"
 
1300
 
1301
+ #: modules/widgets/gravatar-profile.php:213
1302
+ msgid "Links to your websites, blogs, or any other sites that help describe who you are."
1303
+ msgstr "روابط مواقعك، مدوناتك، أو أي مواقع أخرى تساعد في التعريف بنفسك."
 
1304
 
1305
+ #: modules/widgets/gravatar-profile.php:220
1306
+ msgid "Show Account Links"
1307
+ msgstr "عرض روابط الحساب"
 
1308
 
1309
+ #: modules/widgets/gravatar-profile.php:222
1310
+ msgid "Links to services that you use across the web."
1311
+ msgstr "روابط للخدمات التي تستخدمها على شبكة الإنترنت."
 
1312
 
1313
+ #: modules/widgets/gravatar-profile.php:226
1314
+ msgid "Opens in new window"
1315
+ msgstr "تفتح في نافذة جديدة"
 
1316
 
1317
+ #: modules/widgets/gravatar-profile.php:226
1318
+ msgid "Edit Your Profile"
1319
+ msgstr "تعديل الملف الشخصي"
 
1320
 
1321
+ #: modules/widgets/gravatar-profile.php:226
1322
+ msgid "What's a Gravatar?"
1323
+ msgstr "ما هو Gravatar؟"
 
1324
 
1325
+ #: modules/widgets/image-widget.php:24
1326
+ msgid "Image"
1327
+ msgstr "صورة"
 
1328
 
1329
+ #: modules/widgets/image-widget.php:27
1330
+ msgid "Display an image in your sidebar"
1331
+ msgstr "عرض صورة في القائمة الجانبية"
 
1332
 
1333
+ #: modules/widgets/image-widget.php:186
1334
+ msgid "Image URL:"
1335
+ msgstr "رابط الصورة:"
 
1336
 
1337
+ #: modules/shortcodes/twitter-timeline.php:22
1338
+ msgid "Tweets by @%s"
1339
+ msgstr "تغريدات بواسطة @%s"
 
1340
 
1341
+ #: modules/widgets/image-widget.php:189
1342
+ msgid "Alternate text:"
1343
+ msgstr "النص البديل:"
 
1344
 
1345
+ #: modules/shortcodes/upcoming-events.php:23
1346
+ #: modules/widgets/upcoming-events.php:79
1347
+ msgid "No upcoming events"
1348
+ msgstr "لا توجد أحداث تالية"
1349
 
1350
+ #: modules/widgets/image-widget.php:192
1351
+ msgid "Image title:"
1352
+ msgstr "عنوان الصورة:"
 
 
1353
 
1354
+ #: modules/site-icon/jetpack-site-icon.php:163
1355
+ msgid "Site Icon Upload"
1356
+ msgstr "تحميل أيقونة الموقع"
 
 
 
 
1357
 
1358
+ #: modules/widgets/image-widget.php:195
1359
+ msgid "Caption:"
1360
+ msgstr "الشرح:"
 
 
 
 
 
1361
 
1362
+ #: modules/site-icon/jetpack-site-icon.php:279
1363
+ #: modules/site-icon/jetpack-site-icon.php:318
1364
+ msgid "Update Site Icon"
1365
+ msgstr "تحديث أيقونة الموقع"
1366
 
1367
+ #: modules/widgets/image-widget.php:201
1368
+ msgid "Left"
1369
+ msgstr "يسار"
 
1370
 
1371
+ #: modules/site-icon/jetpack-site-icon.php:280
1372
+ msgid "Remove Icon"
1373
+ msgstr "إزالة الأيقونة"
 
1374
 
1375
+ #: modules/widgets/image-widget.php:202
1376
+ msgid "Center"
1377
+ msgstr "وسط"
 
1378
 
1379
+ #: modules/site-icon/jetpack-site-icon.php:284
1380
+ msgid "Add a Site Icon"
1381
+ msgstr "إضافة أيقونة موقع"
1382
 
1383
+ #: modules/widgets/image-widget.php:203
1384
+ msgid "Right"
1385
+ msgstr "يمين"
 
1386
 
1387
+ #: modules/site-icon/jetpack-site-icon.php:289
1388
+ msgid "Site Icon creates a favicon for your site and more."
1389
+ msgstr "تقوم أيقونة الموقع بإنشاء أيقونة مفضلة لموقعك، وغير ذلك المزيد."
1390
 
1391
+ #: modules/widgets/image-widget.php:205
1392
+ msgid "Image Alignment:"
1393
+ msgstr "محاذاة الصورة:"
1394
 
1395
+ #: modules/site-icon/jetpack-site-icon.php:320
1396
+ msgid "Add Site Icon"
1397
+ msgstr "إضافة أيقونة موقع"
1398
 
1399
+ #: modules/widgets/image-widget.php:215
1400
+ msgid "Width:"
1401
+ msgstr "العرض:"
1402
 
1403
+ #: modules/site-icon/jetpack-site-icon.php:321
1404
+ msgid "select a file"
1405
+ msgstr "تحديد ملف"
1406
 
1407
+ #: modules/widgets/image-widget.php:218
1408
+ msgid "Height:"
1409
+ msgstr "الإرتفاع:"
1410
 
1411
+ #: modules/site-icon/jetpack-site-icon.php:322
1412
+ msgid "Upload a image that you want to use as your site icon. You will be asked to crop it in the next step."
1413
+ msgstr "تحميل صورة ترغب في استخدامها كأيقونة لموقعك. سيُطلب منك قصها في الخطوة التالية."
1414
 
1415
+ #: modules/widgets/image-widget.php:221
1416
+ msgid "If empty, we will attempt to determine the image size."
1417
+ msgstr "إذا كانت فارغة، فسنحاول تحديد حجم الصورة."
 
1418
 
1419
+ #: modules/site-icon/jetpack-site-icon.php:326
1420
+ msgid "The image needs to be at least"
1421
+ msgstr "يجب أن تكون الصورة على الأقل"
1422
 
1423
+ #: modules/widgets/image-widget.php:222
1424
+ msgid "Link URL (when the image is clicked):"
1425
+ msgstr "رابط للصورة (في حال تم الضغط على الصورة):"
1426
 
1427
+ #: modules/site-icon/jetpack-site-icon.php:326
1428
+ msgid "in both width and height."
1429
+ msgstr "في كل من العرض والطول."
1430
 
1431
+ #: modules/widgets/image-widget.php:227
1432
+ msgid "Open link in a new window/tab"
1433
+ msgstr "فتح الرابط في نافذة/لسان جديد"
1434
 
1435
+ #: modules/site-icon/jetpack-site-icon.php:328
1436
+ msgid "Upload Image"
1437
+ msgstr "رفع صورة"
1438
 
1439
+ #: modules/widgets/readmill.php:11
1440
+ msgid "Retired: Send To Readmill"
1441
+ msgstr "التقاعد: إرسال إلى Readmill"
1442
 
1443
+ #: modules/site-icon/jetpack-site-icon.php:328
1444
+ #: modules/site-icon/jetpack-site-icon.php:365
1445
+ msgid " or <a href=\"%s\">Cancel</a> and go back to the settings."
1446
+ msgstr " أو <a href=\"%s\">إلغاء</a> ثم ارجع إلى الإعدادات."
1447
 
1448
+ #: modules/widgets/readmill.php:13
1449
+ msgid "Readmill has closed its doors. http://readmill.com/"
1450
+ msgstr "أغلق Readmill أبوابه. http://readmill.com/"
1451
 
1452
+ #: modules/site-icon/jetpack-site-icon.php:362
1453
+ msgid "crop the image"
1454
+ msgstr "قص الصورة"
1455
 
1456
+ #: modules/widgets/readmill.php:27
1457
+ msgid "<strong>The Readmill reading service has shut down</strong><br /> <a target=\"_blank\" href=\"%s\">Learn More</a>"
1458
+ msgstr "<strong>تم إيقاف تشغيل خدمة قراءة Readmill</strong><br /> <a target=\"_blank\" href=\"%s\">معرفة المزيد</a>"
1459
 
1460
+ #: modules/site-icon/jetpack-site-icon.php:365
1461
+ msgid "Crop Image"
1462
+ msgstr "اقتطع الصورة"
1463
 
1464
+ #: modules/widgets/readmill.php:30 modules/widgets/readmill.php:68
1465
+ msgid "The Send to Readmill widget is no longer working and will be removed completely from Jetpack."
1466
+ msgstr "لم يعد المربع الجانبي \"إرسال إلى Readmill\" يعمل وستتم إزالته نهائيًا من Jetpack."
1467
 
1468
+ #: modules/site-icon/jetpack-site-icon.php:370
1469
+ msgid "As your favicon"
1470
+ msgstr "كأيقونة مفضلة"
1471
 
1472
+ #: modules/widgets/readmill.php:32 modules/widgets/readmill.php:70
1473
+ msgid "The Send to Readmill widget is no longer working and will be removed completely."
1474
+ msgstr "لم يعد المربع الجانبي \"إرسال إلى Readmill\" يعمل وستتم إزالته نهائيًا."
1475
 
1476
+ #: modules/site-icon/jetpack-site-icon.php:372
1477
+ msgid "Browser Chrome"
1478
+ msgstr "المتصفح Chrome"
1479
 
1480
+ #: modules/widgets/readmill.php:34
1481
+ msgid "You can remove it yourself now."
1482
+ msgstr "يمكنك إزالته بنفسك الآن."
1483
 
1484
+ #: modules/site-icon/jetpack-site-icon.php:374
1485
+ msgid "Preview Favicon"
1486
+ msgstr "معاينة أيقونة المفضلة"
1487
 
1488
+ #: modules/widgets/readmill.php:35
1489
+ msgid "No content is displayed to users who can't manage widgets"
1490
+ msgstr "لا يتم عرض أي محتوى للمستخدمين الذين لا يمكنهم إدارة المربعات الجانبية"
1491
 
1492
+ #: modules/site-icon/jetpack-site-icon.php:379
1493
+ msgid "As a mobile icon"
1494
+ msgstr "كأيقونة محمول"
1495
 
1496
+ #: modules/widgets/readmill.php:66
1497
+ msgid "Notice to Administrators:<br /> <strong>The Readmill reading service has shut down</strong> <a target=\"_blank\" href=\"%s\">learn more</a>."
1498
+ msgstr "ملاحظة للمسؤولين:<br /> <strong>تم إيقاف تشغيل خدمة قراءة Readmill</strong> <a target=\"_blank\" href=\"%s\">معرفة المزيد</a>."
1499
 
1500
+ #: modules/site-icon/jetpack-site-icon.php:381
1501
+ msgid "Preview Home Icon"
1502
+ msgstr "أيقونة معاينة الصفحة الرئيسية"
1503
 
1504
+ #: modules/widgets/readmill.php:72
1505
+ msgid "You can visit <a href=\"%s\" title=\"Appearance > Widgets\">Appearance > Widgets </a> to remove it from this sidebar."
1506
+ msgstr "يمكنك زيارة <a href=\"%s\" title=\"المظهر > المربعات الجانبية\">المظهر > المربعات الجانبية </a> لإزالتها من الشريط الجانبي."
1507
 
1508
+ #: modules/site-icon/jetpack-site-icon.php:387
1509
+ msgid "Image to be cropped"
1510
+ msgstr "الصورة التي سيتم قصها"
1511
 
1512
+ #: modules/widgets/readmill.php:73
1513
+ msgid "This notice is only visible to logged in users that can manage widgets"
1514
+ msgstr "لا تكون هذه الملاحظة مرئية للمستخدمين الذين قاموا بتسجيل الدخول والذين يمكنهم إدارة المربعات الجانبية"
1515
 
1516
+ #: modules/site-icon/jetpack-site-icon.php:438
1517
+ msgid "Large Blog Image"
1518
+ msgstr "صورة المدونة الكبيرة"
1519
 
1520
+ #: modules/widgets/rsslinks-widget.php:12
1521
+ msgid "Links to your blog's RSS feeds"
1522
+ msgstr "روابط موقعك لتغذية RSS"
1523
 
1524
+ #: modules/site-icon/jetpack-site-icon.php:452
1525
+ msgid "All Done"
1526
+ msgstr "إتمام الكل"
1527
 
1528
+ #: modules/widgets/rsslinks-widget.php:13
1529
+ msgid "RSS Links (Jetpack)"
1530
+ msgstr "روابط التغذية (Jetpack)"
1531
 
1532
+ #: modules/site-icon/jetpack-site-icon.php:453
1533
+ msgid "Your site icon has been uploaded!"
1534
+ msgstr "تم تحميل أيقونة الموقع الخاصة بك!"
1535
 
1536
+ #: modules/widgets/rsslinks-widget.php:67
1537
+ #: modules/widgets/rsslinks-widget.php:133
1538
+ msgid "Posts"
1539
+ msgstr "تدوينات"
1540