Jetpack by WordPress.com - Version 3.6.2

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.6.2
Comparing to
See all releases

Code changes from version 3.5.4 to 3.6.2

Files changed (165) hide show
  1. CONTRIBUTING.md +38 -0
  2. _inc/footer.php +4 -17
  3. _inc/gallery-settings.js +2 -2
  4. _inc/header.php +13 -9
  5. _inc/jetpack-modules.js +11 -2
  6. _inc/jp-my-jetpack.js +86 -0
  7. _inc/jp.js +3 -3
  8. _inc/lib/admin-pages/class.jetpack-landing-page.php +9 -1
  9. _inc/lib/admin-pages/class.jetpack-my-jetpack-page.php +187 -0
  10. _inc/lib/markdown/extra.php +3 -3
  11. _inc/lib/markdown/gfm.php +2 -1
  12. _inc/lib/markdown/test.php +0 -33
  13. class.jetpack-admin.php +11 -2
  14. class.jetpack-cli.php +432 -17
  15. class.jetpack-client-server.php +48 -6
  16. class.jetpack-client.php +63 -0
  17. class.jetpack-data.php +83 -0
  18. class.jetpack-heartbeat.php +2 -0
  19. class.jetpack-ixr-client.php +3 -3
  20. class.jetpack-modules-list-table.php +43 -6
  21. class.jetpack-network-sites-list-table.php +10 -10
  22. class.jetpack-network.php +45 -6
  23. class.jetpack-options.php +13 -1
  24. class.jetpack-signature.php +1 -1
  25. class.jetpack-sync.php +5 -0
  26. class.jetpack-twitter-cards.php +7 -33
  27. class.jetpack-user-agent.php +1 -1
  28. class.jetpack-xmlrpc-server.php +22 -0
  29. class.jetpack.php +351 -35
  30. class.json-api-endpoints.php +60 -166
  31. class.media-summary.php +1 -0
  32. css/dashboard-widget-rtl.css +0 -1
  33. css/dashboard-widget.css +0 -2
  34. css/dashboard-widget.css.map +1 -1
  35. css/jetpack-admin-rtl.css +281 -8
  36. css/jetpack-admin-rtl.min.css +32 -1
  37. css/jetpack-admin.css +249 -8
  38. css/jetpack-admin.css.map +1 -1
  39. css/jetpack-admin.min.css +32 -1
  40. css/jetpack-admin.min.css.map +1 -1
  41. css/jetpack-banners-rtl.css +59 -20
  42. css/jetpack-banners-rtl.min.css +4 -1
  43. css/jetpack-banners.css +54 -19
  44. css/jetpack-banners.css.map +1 -1
  45. css/jetpack-banners.min.css +4 -1
  46. css/jetpack-banners.min.css.map +1 -1
  47. css/jetpack-icons.css +0 -2
  48. css/jetpack-icons.css.map +1 -1
  49. css/jetpack-rtl.css +1 -1
  50. css/jetpack.css +1 -1
  51. functions.gallery.php +0 -12
  52. functions.opengraph.php +53 -24
  53. images/the-footcloud.svg +4 -4
  54. jetpack.php +4 -4
  55. json-api-config.php +1 -0
  56. json-endpoints.php +145 -1603
  57. json-endpoints/class.wpcom-json-api-get-post-counts-v1-1-endpoint.php +40 -0
  58. json-endpoints/class.wpcom-json-api-get-site-endpoint.php +2 -2
  59. json-endpoints/class.wpcom-json-api-list-comments-endpoint.php +6 -2
  60. json-endpoints/class.wpcom-json-api-list-posts-v1-1-endpoint.php +20 -8
  61. json-endpoints/class.wpcom-json-api-site-settings-endpoint.php +28 -1
  62. json-endpoints/class.wpcom-json-api-update-post-endpoint.php +31 -15
  63. json-endpoints/class.wpcom-json-api-update-post-v1-1-endpoint.php +31 -15
  64. json-endpoints/class.wpcom-json-api-update-post-v1-2-endpoint.php +31 -15
  65. languages/jetpack-af.mo +0 -0
  66. languages/jetpack-ar.mo +0 -0
  67. languages/jetpack-az.mo +0 -0
  68. languages/jetpack-bg_BG.mo +0 -0
  69. languages/jetpack-bs_BA.mo +0 -0
  70. languages/jetpack-ca.mo +0 -0
  71. languages/jetpack-ckb.mo +0 -0
  72. languages/jetpack-cs_CZ.mo +0 -0
  73. languages/jetpack-cy.mo +0 -0
  74. languages/jetpack-da_DK.mo +0 -0
  75. languages/jetpack-de_DE.mo +0 -0
  76. languages/jetpack-el.mo +0 -0
  77. languages/jetpack-es_ES.mo +0 -0
  78. languages/jetpack-fa_IR.mo +0 -0
  79. languages/jetpack-fi.mo +0 -0
  80. languages/jetpack-fr_FR.mo +0 -0
  81. languages/jetpack-gd.mo +0 -0
  82. languages/jetpack-gl_ES.mo +0 -0
  83. languages/jetpack-he_IL.mo +0 -0
  84. languages/jetpack-hr.mo +0 -0
  85. languages/jetpack-hu_HU.mo +0 -0
  86. languages/jetpack-id_ID.mo +0 -0
  87. languages/jetpack-is_IS.mo +0 -0
  88. languages/jetpack-it_IT.mo +0 -0
  89. languages/jetpack-ja.mo +0 -0
  90. languages/jetpack-ka_GE.mo +0 -0
  91. languages/jetpack-ko_KR.mo +0 -0
  92. languages/jetpack-lt_LT.mo +0 -0
  93. languages/jetpack-mk_MK.mo +0 -0
  94. languages/jetpack-ms_MY.mo +0 -0
  95. languages/jetpack-my_MM.mo +0 -0
  96. languages/jetpack-nb_NO.mo +0 -0
  97. languages/jetpack-nl_NL.mo +0 -0
  98. languages/jetpack-nn_NO.mo +0 -0
  99. languages/jetpack-pl_PL.mo +0 -0
  100. languages/jetpack-pt_BR.mo +0 -0
  101. languages/jetpack-pt_PT.mo +0 -0
  102. languages/jetpack-ro_RO.mo +0 -0
  103. languages/jetpack-ru_RU.mo +0 -0
  104. languages/jetpack-sa_IN.mo +0 -0
  105. languages/jetpack-si_LK.mo +0 -0
  106. languages/jetpack-sk_SK.mo +0 -0
  107. languages/jetpack-sl_SI.mo +0 -0
  108. languages/jetpack-sq.mo +0 -0
  109. languages/jetpack-sr_RS.mo +0 -0
  110. languages/jetpack-sv_SE.mo +0 -0
  111. languages/jetpack-te.mo +0 -0
  112. languages/jetpack-th.mo +0 -0
  113. languages/jetpack-tr_TR.mo +0 -0
  114. languages/jetpack-uk.mo +0 -0
  115. languages/jetpack-ur.mo +0 -0
  116. languages/jetpack-vi.mo +0 -0
  117. languages/jetpack-zh_CN.mo +0 -0
  118. languages/jetpack-zh_TW.mo +0 -0
  119. locales.php +117 -36
  120. modules/after-the-deadline.php +1 -1
  121. modules/after-the-deadline/atd.core.js +66 -2
  122. modules/carousel/jetpack-carousel.css +15 -0
  123. modules/carousel/jetpack-carousel.js +1 -1
  124. modules/carousel/jetpack-carousel.php +15 -1
  125. modules/carousel/rtl/jetpack-carousel-rtl.css +15 -15
  126. modules/contact-form/admin.php +1 -1
  127. modules/contact-form/css/menu-alter-rtl.css +1 -1
  128. modules/contact-form/css/menu-alter-rtl.min.css +1 -1
  129. modules/contact-form/css/menu-alter.css +1 -1
  130. modules/contact-form/css/menu-alter.min.css +1 -1
  131. modules/contact-form/grunion-form-view.php +1 -1
  132. modules/custom-css/csstidy/data.inc.php +9 -0
  133. modules/custom-css/custom-css.php +2 -2
  134. modules/custom-css/custom-css/css/blank.css +1 -0
  135. modules/custom-css/custom-css/preprocessors/lessc.inc.php +149 -56
  136. modules/custom-post-types/comics.php +6 -5
  137. modules/custom-post-types/css/nova-font.css +3 -2
  138. modules/custom-post-types/css/testimonial-shortcode.css +1 -0
  139. modules/custom-post-types/nova.php +7 -7
  140. modules/custom-post-types/testimonial.php +163 -76
  141. modules/infinite-scroll/infinity.js +1 -1
  142. modules/infinite-scroll/infinity.php +7 -5
  143. modules/likes.php +13 -16
  144. modules/manage.php +11 -1
  145. modules/minileven/minileven.php +1 -1
  146. modules/minileven/theme/pub/minileven/content-gallery.php +5 -0
  147. modules/minileven/theme/pub/minileven/footer.php +8 -0
  148. modules/minileven/theme/pub/minileven/page.php +5 -0
  149. modules/module-info.php +2 -1
  150. modules/notes.php +2 -2
  151. modules/omnisearch/omnisearch-posts.php +4 -2
  152. modules/protect.php +170 -54
  153. modules/protect/config-ui.php +18 -5
  154. modules/protect/math-fallback.php +19 -5
  155. modules/protect/shared-functions.php +158 -36
  156. modules/publicize/publicize.php +10 -6
  157. modules/related-posts/jetpack-related-posts.php +1 -1
  158. modules/related-posts/related-posts.css +37 -39
  159. modules/related-posts/related-posts.js +1 -1
  160. modules/sharedaddy/recaptcha.php +179 -0
  161. modules/sharedaddy/recaptchalib.php +0 -277
  162. modules/sharedaddy/sharedaddy.php +18 -8
  163. modules/sharedaddy/sharing-service.php +16 -13
  164. modules/sharedaddy/sharing-sources.php +107 -74
  165. modules/sharedaddy/sharing.js +27 -25
CONTRIBUTING.md ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Want to contribute?
2
+
3
+ Did you know that you could be instrumental in making Jetpack more robust and secure? If you use and love Jetpack, why not contribute to the project?
4
+
5
+ ## Contributing for Everyone!
6
+
7
+ Whether you can barely recognize a filter (or don’t know what that means) or you’ve already authored your own plugins, there are ways for you to pitch in.
8
+
9
+ ### Beta Testing
10
+
11
+ Beta testers give updates, fixes, and new modules a test run before they’re publicly released, so they’re an important part of the development process. If you'd like to join our Beta group, [contact us](http://jetpack.me/contact-support/)!
12
+
13
+ ### Create Bug Reports
14
+
15
+ If you find a bug, let us know by creating a new issue [here](https://github.com/Automattic/jetpack/issues/new). You can [check our recommendations to create great bug reports here](http://jetpack.me/contribute/#bugs).
16
+
17
+ ### Write and submit a patch
18
+
19
+ If you'd like to fix a bug, you can submit a Pull Request. [Follow these detailed steps to find out how](http://jetpack.me/contribute/#patch).
20
+
21
+ When creating Pull Requests, remember:
22
+
23
+ - [Check In Early, Check In Often](http://blog.codinghorror.com/check-in-early-check-in-often/).
24
+ - Write [good commit messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
25
+ - Respect the [Best practices for WordPress development](http://jetpack.me/contribute/#practices).
26
+
27
+ There are a few bonuses that can increase the chances that your Pull Request is accepted:
28
+
29
+ - If you've created a new action or filter, [add inline documentation](https://make.wordpress.org/core/handbook/inline-documentation-standards/php-documentation-standards/#4-hooks-actions-and-filters) to help others understand how to use the action or the filter.
30
+ - Create [unit tests](https://github.com/Automattic/jetpack/tree/master/tests) if you can. If you're not familiar with Unit Testing, you can check [this tutorial](https://pippinsplugins.com/series/unit-tests-wordpress-plugins/).
31
+ - If [Grunt](http://gruntjs.com/) is installed on your testing environmenent, run it after committing your changes. It will allow you to [detect errors in Javascript files](http://jshint.com/about/), compile Sass to CSS, and [a few other things](https://github.com/Automattic/jetpack/blob/master/Gruntfile.js).
32
+
33
+ #### Where to get started?
34
+
35
+ If you'd like to contribute but don't know where to get started, you can take a look at existing issues:
36
+
37
+ - ["Good First Bug"](https://github.com/Automattic/Jetpack/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Bug%22) issues are a good entry point to get familiar with Jetpack's codebase.
38
+ - ["Whisky"](https://github.com/Automattic/jetpack/labels/Whisky%20Ticket) issues are important bugs or enhancements. Take a crack at it if you feel adventurous! :)
_inc/footer.php CHANGED
@@ -1,12 +1,4 @@
1
- <?php
2
- global $current_user;
3
- $is_active = Jetpack::is_active();
4
- $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
-
9
- </div><!-- .wrapper -->
10
  <div class="footer">
11
 
12
  <nav class="primary nav-horizontal">
@@ -24,17 +16,12 @@ $is_master_user = $current_user->ID == Jetpack_Options::get_option( 'master_u
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 -->
1
+ </div><!-- .wrapper -->
 
 
 
 
 
 
 
 
2
  <div class="footer">
3
 
4
  <nav class="primary nav-horizontal">
16
  <a href="http://jetpack.me">Jetpack <?php echo JETPACK__VERSION; ?></a>
17
  <a href="http://wordpress.com/tos/"><?php esc_html_e( 'Terms', 'jetpack' ); ?></a>
18
  <a href="http://automattic.com/privacy/"><?php esc_html_e( 'Privacy', 'jetpack' ); ?></a>
19
+ <?php if ( current_user_can( 'jetpack_manage_modules' ) ) : ?><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' ); ?><?php endif; ?></a>
20
  <a href="http://jetpack.me/contact-support/" title="<?php esc_attr_e( 'Contact the Jetpack Happiness Squad.', 'jetpack' ); ?>"><?php _e( 'Support', 'jetpack' ); ?></a>
21
  <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>
22
+ <?php if ( current_user_can( 'jetpack_disconnect' ) ) : ?>
23
+ <a href="<?php echo esc_url( Jetpack::admin_url( 'page=my_jetpack#disconnect' ) ); ?>"><?php esc_html_e( 'Disconnect Jetpack', 'jetpack' ); ?></a>
 
24
  <?php endif; ?>
 
 
 
 
25
  </div>
26
  </nav><!-- .secondary -->
27
  </div><!-- .footer -->
_inc/gallery-settings.js CHANGED
@@ -20,7 +20,7 @@
20
  $el.find( 'select[name=type]' ).on( 'change', function () {
21
  var columnSetting = $el.find( 'select[name=columns]' ).closest( 'label.setting' );
22
 
23
- if ( 'default' === $( this ).val() ) {
24
  columnSetting.show();
25
  } else {
26
  columnSetting.hide();
@@ -30,4 +30,4 @@
30
  return this;
31
  }
32
  });
33
- })(jQuery);
20
  $el.find( 'select[name=type]' ).on( 'change', function () {
21
  var columnSetting = $el.find( 'select[name=columns]' ).closest( 'label.setting' );
22
 
23
+ if ( 'default' === $( this ).val() || 'thumbnails' === $( this ).val() ) {
24
  columnSetting.show();
25
  } else {
26
  columnSetting.hide();
30
  return this;
31
  }
32
  });
33
+ })(jQuery);
_inc/header.php CHANGED
@@ -6,15 +6,19 @@
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; ?>
19
  </ul>
20
 
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() ) && current_user_can( 'jetpack_manage_modules' ) ) : ?>
10
+ <li class="jetpack-modules">
11
+ <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>
12
+ </li>
13
+ <li class="jetpack-modules">
14
+ <a href="http://jetpack.me/survey/?rel=<?php echo JETPACK__VERSION; ?>" class="jp-button--settings"><?php esc_html_e( 'Feedback', 'jetpack' ); ?></a>
15
+ </li>
16
+ <?php endif; // End if connected or dev mode and is admin ?>
17
+
18
+ <?php if ( Jetpack::is_active() && ! Jetpack::is_development_mode() ) : ?>
19
+ <li class="jetpack-modules">
20
+ <a href="<?php echo Jetpack::admin_url( 'page=my_jetpack' ); ?>" class="jp-button--settings <?php if ( 'my_jetpack' == $current ) { echo 'current'; } ?>"><?php esc_html_e( 'My Jetpack', 'jetpack' ); ?></a>
21
+ </li>
22
  <?php endif; ?>
23
  </ul>
24
 
_inc/jetpack-modules.js CHANGED
@@ -1,5 +1,5 @@
1
 
2
- ( function( window, $, items, models, views, i18n, nonces ) {
3
  'use strict';
4
 
5
  var modules, list_table, handle_module_tag_click, $the_table, $the_filters, $the_search, $jp_frame, $bulk_button, show_modal, hide_modal, set_modal_tab, originPoint;
@@ -59,6 +59,15 @@
59
  $( '.modal' ).focus();
60
  };
61
 
 
 
 
 
 
 
 
 
 
62
  hide_modal = function() {
63
  $jp_frame.children( '.modal, .shade' ).hide();
64
  $jp_frame.children( '.modal' ).data( 'current-module', '' );
@@ -138,4 +147,4 @@
138
  event.preventDefault();
139
  } );
140
 
141
- } ) ( this, jQuery, window.jetpackModulesData.modules, this.jetpackModules.models, this.jetpackModules.views, window.jetpackModulesData.i18n, window.jetpackModulesData.nonces );
1
 
2
+ ( function( window, $, items, models, views, i18n, modalinfo, nonces ) {
3
  'use strict';
4
 
5
  var modules, list_table, handle_module_tag_click, $the_table, $the_filters, $the_search, $jp_frame, $bulk_button, show_modal, hide_modal, set_modal_tab, originPoint;
59
  $( '.modal' ).focus();
60
  };
61
 
62
+ /**
63
+ * If modalinfo is defined, auto popup the modal
64
+ */
65
+ $( document ).ready(function() {
66
+ if ( modalinfo ) {
67
+ show_modal( modalinfo );
68
+ }
69
+ });
70
+
71
  hide_modal = function() {
72
  $jp_frame.children( '.modal, .shade' ).hide();
73
  $jp_frame.children( '.modal' ).data( 'current-module', '' );
147
  event.preventDefault();
148
  } );
149
 
150
+ } ) ( this, jQuery, window.jetpackModulesData.modules, this.jetpackModules.models, this.jetpackModules.views, window.jetpackModulesData.i18n, window.jetpackModulesData.modalinfo, window.jetpackModulesData.nonces );
_inc/jp-my-jetpack.js ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* global jpConnection, jQuery */
2
+
3
+ (function( $, jpConnection ) {
4
+
5
+ ///////////////////////////////////////
6
+ // INIT
7
+ ///////////////////////////////////////
8
+
9
+ var data = {
10
+ 'jetpackIsActive' : jpConnection.jetpackIsActive,
11
+ 'isAdmin' : jpConnection.isAdmin,
12
+ 'otherAdminsLinked' : jpConnection.otherAdminsLinked,
13
+ 'stats_urls' : jpConnection.my_jetpack_stats_urls,
14
+ 'masterUser' : jpConnection.masterUser,
15
+ 'masterUserLink' : jpConnection.masterUser.masterUserLink,
16
+ 'currentUser' : jpConnection.currentUser
17
+ };
18
+
19
+ $( document ).ready(function () {
20
+ renderPageTemplate( data );
21
+
22
+ // Set someone as master.
23
+ $( '#change-primary-btn' ).click( function() {
24
+ $( '#change-primary-btn' ).hide();
25
+ $( '#user-list' ).show();
26
+ $( '#save-primary-btn' ).show();
27
+
28
+ //Log My Jetpack event "change primary" in MC Stats
29
+ new Image().src = data.stats_urls.change_primary;
30
+ });
31
+
32
+ // Hide the success message after a little bit
33
+ setTimeout( function(){
34
+ jQuery( '.jetpack-message:not( .stay-visible, .jetpack-err )' ).hide( 600 );
35
+ }, 6000);
36
+
37
+ });
38
+
39
+ function renderPageTemplate( data ) {
40
+ $( '#my-jetpack-page-template' ).html( wp.template( 'connection-page' )( data ) );
41
+ // Save the focused element, then shift focus to the modal window.
42
+ confirmJetpackDisconnect();
43
+ }
44
+
45
+ /*
46
+ The function used to display the disconnect confirmation and support buttons
47
+ */
48
+ function confirmJetpackDisconnect() {
49
+ if ( window.location.hash.substr( '#disconnect' ) ) {
50
+ $( '#jetpack-disconnect-content' ).show();
51
+ $( '#my-jetpack-content, .my-jetpack-actions' ).hide();
52
+
53
+ //Log My Jetpack event "wants to disconnect Jetpack" in MC Stats
54
+ new Image().src = data.stats_urls.disconnect_site;
55
+ }
56
+
57
+ $( '#jetpack-disconnect' ).click( function() {
58
+ $( '#jetpack-disconnect-content' ).show();
59
+ $( '#my-jetpack-content, .my-jetpack-actions' ).hide();
60
+
61
+ //Log My Jetpack event "wants to disconnect Jetpack" in MC Stats
62
+ new Image().src = data.stats_urls.disconnect_site;
63
+ });
64
+
65
+ $( '#cancel-disconnect' ).click( function() {
66
+ event.preventDefault();
67
+
68
+ $( '#jetpack-disconnect-content' ).hide();
69
+ $( '#my-jetpack-content, .my-jetpack-actions' ).show();
70
+
71
+ //Log My Jetpack event "decided not to disconnect Jetpack" in MC Stats
72
+ new Image().src = data.stats_urls.cancel_disconnect;
73
+ });
74
+
75
+ $( '#jetpack-disconnect-content #support-no-disconnect' ).click( function() {
76
+ //Log My Jetpack event "get support instead of disconnecting site" in MC Stats
77
+ new Image().src = data.stats_urls.support_no_disconnect;
78
+ });
79
+
80
+ $( '#jetpack-disconnect-content #confirm-disconnect' ).click( function() {
81
+ //Log My Jetpack event "confirm the disconnecting of a the site" in MC Stats
82
+ new Image().src = data.stats_urls.confirm_disconnect;
83
+ });
84
+ }
85
+
86
+ })( jQuery, jpConnection );
_inc/jp.js CHANGED
@@ -65,7 +65,7 @@
65
 
66
  // Hide the successful connection message after a little bit
67
  setTimeout( function(){
68
- jQuery( '.jetpack-message:not(.stay-visible)' ).hide( 600 );
69
  }, 6000);
70
 
71
  // Modal events
@@ -200,8 +200,8 @@
200
  }
201
  });
202
 
203
- // Apply new height
204
- module.css( 'height', tallest + 'px' );
205
  }
206
 
207
  /*
65
 
66
  // Hide the successful connection message after a little bit
67
  setTimeout( function(){
68
+ jQuery( '.jetpack-message:not( .stay-visible, .jetpack-err )' ).hide( 600 );
69
  }, 6000);
70
 
71
  // Modal events
200
  }
201
  });
202
 
203
+ // Apply new height plus 20 pixels
204
+ module.css( 'height', ( parseInt( tallest, 10 ) + 5 ) + 'px' );
205
  }
206
 
207
  /*
_inc/lib/admin-pages/class.jetpack-landing-page.php CHANGED
@@ -38,7 +38,15 @@ class Jetpack_Landing_Page extends Jetpack_Admin_Page {
38
 
39
  function add_page_actions( $hook ) {
40
  // Add landing page specific underscore templates
41
- add_action( "admin_footer-$hook", array( $this, 'js_templates' ) );
 
 
 
 
 
 
 
 
42
  /** This action is documented in class.jetpack.php */
43
  do_action( 'jetpack_admin_menu', $hook );
44
 
38
 
39
  function add_page_actions( $hook ) {
40
  // Add landing page specific underscore templates
41
+ /**
42
+ * Filters the js_templates callback value
43
+ *
44
+ * @since 3.6.0
45
+ *
46
+ * @param array array( $this, 'js_templates' ) js_templates callback.
47
+ * @param string $hook Specific admin page.
48
+ */
49
+ add_action( "admin_footer-$hook", apply_filters( 'jetpack_landing_page_js_templates_callback', array( $this, 'js_templates' ), $hook ) );
50
  /** This action is documented in class.jetpack.php */
51
  do_action( 'jetpack_admin_menu', $hook );
52
 
_inc/lib/admin-pages/class.jetpack-my-jetpack-page.php ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ include_once( 'class.jetpack-admin-page.php' );
3
+ include_once( JETPACK__PLUGIN_DIR . 'class.jetpack-modules-list-table.php' );
4
+
5
+ // Builds the My Jetpack page
6
+ class Jetpack_My_Jetpack_Page extends Jetpack_Admin_Page {
7
+ // Show the settings page only when Jetpack is connected or in dev mode
8
+ protected $dont_show_if_not_active = true;
9
+ function add_page_actions( $hook ) {} // There are no page specific actions to attach to the menu
10
+
11
+ // Adds the My Jetpack page, but hides it from the submenu
12
+ function get_page_hook() {
13
+ return add_submenu_page( null, __( 'My Jetpack', 'jetpack' ), __( 'My Jetpack', 'jetpack' ), 'jetpack_connect_user', 'my_jetpack', array( $this, 'render' ) );
14
+ }
15
+
16
+ // Renders the view file
17
+ function page_render() {
18
+ Jetpack::init()->load_view( 'admin/my-jetpack-page.php' );
19
+
20
+ //My Jetpack view tracking, send to MC Stats
21
+ Jetpack::init()->stat( 'admin', 'my-jetpack' );
22
+ Jetpack::init()->do_stats( 'server_side' );
23
+
24
+ }
25
+
26
+ /*
27
+ * Handle the change in master user
28
+ */
29
+ function jetpack_my_jetpack_change_user() {
30
+ if ( ! isset( $_POST['_my_jetpack_nonce'] ) || ! wp_verify_nonce( $_POST['_my_jetpack_nonce'], 'jetpack_change_primary_user' ) ) {
31
+ wp_die( __( 'Failed permissions, please try again.', 'jetpack' ) );
32
+ exit;
33
+ }
34
+
35
+ if ( isset( $_POST['jetpack-new-master'] ) ) {
36
+ $old_master_user = Jetpack_Options::get_option( 'master_user' );
37
+ $new_master_user = $_POST['jetpack-new-master'];
38
+ $user_token = Jetpack_Data::get_access_token( $new_master_user );
39
+ $is_user_connected = $user_token && ! is_wp_error( $user_token );
40
+ if ( current_user_can( 'manage_options' ) && $is_user_connected ) {
41
+ Jetpack::log( 'switch_master_user', array( 'old_master' => $old_master_user, 'new_master' => $new_master_user ) );
42
+ Jetpack_Options::update_option( 'master_user', $new_master_user );
43
+ Jetpack::state( 'message', 'switch_master' );
44
+
45
+ //My Jetpack primary user successfully changed, send to MC Stats
46
+ Jetpack::init()->stat( 'admin', 'change-primary-successful' );
47
+ Jetpack::init()->do_stats( 'server_side' );
48
+
49
+ // Change the blog owner dotcom side
50
+ $this->wpcom_switch_blog_owner( $new_master_user );
51
+ }
52
+ }
53
+ }
54
+
55
+ /*
56
+ * Tell wpcom that the master user has switched
57
+ * so we can update the 'wpcom_blog_owner'
58
+ */
59
+ function wpcom_switch_blog_owner( $new_master ) {
60
+ $request = array(
61
+ 'new_blog_owner' => $new_master
62
+ );
63
+
64
+ // Tell wpcom about the change
65
+ Jetpack::load_xml_rpc_client();
66
+ $xml = new Jetpack_IXR_Client( array(
67
+ 'user_id' => get_current_user_id(),
68
+ ) );
69
+
70
+ $xml->query( 'jetpack.switchBlogOwner', $request );
71
+ }
72
+
73
+ /*
74
+ * Checks to see if there are any other users available to become primary
75
+ * Users must both:
76
+ * - Be linked to wpcom
77
+ * - Be an admin
78
+ *
79
+ * @return bool
80
+ */
81
+ function jetpack_are_other_users_linked_and_admin() {
82
+ // If only one admin
83
+ $all_users = count_users();
84
+ if ( 2 > $all_users['avail_roles']['administrator'] ) {
85
+ return false;
86
+ }
87
+
88
+ $users = get_users();
89
+ $available = array();
90
+ // If no one else is linked to dotcom
91
+ foreach ( $users as $user ) {
92
+ if ( isset( $user->caps['administrator'] ) && Jetpack::is_user_connected( $user->ID ) ) {
93
+ $available[] = $user->ID;
94
+ }
95
+ }
96
+
97
+ if ( 2 > count( $available ) ) {
98
+ return false;
99
+ }
100
+
101
+ return true;
102
+ }
103
+
104
+ /*
105
+ * All the data we'll need about the Master User
106
+ * for the My Jetpack page template
107
+ *
108
+ * @return array
109
+ */
110
+ function jetpack_master_user_data() {
111
+ // If the master user has disappeared, none of this is useful.
112
+ // @todo throw up a warning and offer a solution
113
+ $master = Jetpack_Options::get_option( 'master_user' );
114
+ if ( ! get_user_by( 'id', $master ) ) {
115
+ return false;
116
+ }
117
+
118
+ $master_user = get_userdata( $master );
119
+ $master_user_data_com = Jetpack::get_connected_user_data( $master_user->ID );
120
+ $gravatar = sprintf( '<a href="%s">%s</a>', get_edit_user_link( $master_user->ID ), get_avatar( $master_user->ID, 40 ) );
121
+
122
+ $master_user_data = array(
123
+ 'masterUser' => $master_user,
124
+ 'masterDataCom' => $master_user_data_com,
125
+ 'gravatar' => $gravatar,
126
+ );
127
+
128
+ return $master_user_data;
129
+ }
130
+
131
+ /*
132
+ * All the data we'll need about the Current User
133
+ *
134
+ * @return array
135
+ */
136
+ function jetpack_current_user_data() {
137
+ global $current_user;
138
+ $is_master_user = $current_user->ID == Jetpack_Options::get_option( 'master_user' );
139
+ $dotcom_data = Jetpack::get_connected_user_data();
140
+
141
+ $current_user_data = array(
142
+ 'isUserConnected' => Jetpack::is_user_connected( $current_user->ID ),
143
+ 'isMasterUser' => $is_master_user,
144
+ 'adminUsername' => $current_user->user_login,
145
+ 'userComData' => $dotcom_data,
146
+ 'gravatar' => sprintf( '<a href="%s">%s</a>', get_edit_user_link( $current_user->ID ), get_avatar( $current_user->ID, 40 ) ),
147
+ );
148
+
149
+ return $current_user_data;
150
+ }
151
+
152
+
153
+ /*
154
+ * Build an array of My Jetpack stats urls.
155
+ * requires the build URL args passed as an array
156
+ *
157
+ * @param array $my_jetpack_stats
158
+ * @return (array) of built stats urls
159
+ */
160
+ function build_my_jetpack_stats_urls( $my_jetpack_stats ) {
161
+ $my_jetpack_urls = array();
162
+
163
+ foreach ( $my_jetpack_stats as $value ) {
164
+ $my_jetpack_urls[ $value ] = Jetpack::build_stats_url( array( 'x_jetpack-admin' => $value ) );
165
+ }
166
+
167
+ return $my_jetpack_urls;
168
+
169
+ }
170
+
171
+ // Load up admin scripts
172
+ function page_admin_scripts() {
173
+ wp_enqueue_script( 'jp-connection-js', plugins_url( '_inc/jp-my-jetpack.js', JETPACK__PLUGIN_FILE ), array( 'jquery', 'wp-util' ), JETPACK__VERSION . 'yep' );
174
+
175
+ wp_localize_script( 'jp-connection-js', 'jpConnection',
176
+ array(
177
+ 'jetpackIsActive' => Jetpack::is_active(),
178
+ 'isAdmin' => current_user_can( 'jetpack_manage_modules' ),
179
+ 'otherAdminsLinked' => $this->jetpack_are_other_users_linked_and_admin(),
180
+ 'masterUser' => $this->jetpack_master_user_data(),
181
+ 'currentUser' => $this->jetpack_current_user_data(),
182
+ 'my_jetpack_stats_urls' => $this->build_my_jetpack_stats_urls( array( 'change_primary', 'disconnect_site', 'confirm_disconnect', 'support_no_disconnect', 'cancel_disconnect' ) ),
183
+ 'alertText' => __( 'You must link another admin account before switching primary account holders.', 'jetpack' ),
184
+ )
185
+ );
186
+ }
187
+ }
_inc/lib/markdown/extra.php CHANGED
@@ -99,7 +99,7 @@ class Markdown_Parser {
99
  var $escape_chars_re;
100
 
101
 
102
- function Markdown_Parser() {
103
  #
104
  # Constructor function. Initialize appropriate member variables.
105
  #
@@ -1574,7 +1574,7 @@ class MarkdownExtra_Parser extends Markdown_Parser {
1574
 
1575
  ### Parser Implementation ###
1576
 
1577
- function MarkdownExtra_Parser() {
1578
  #
1579
  # Constructor function. Initialize the parser object.
1580
  #
@@ -1600,7 +1600,7 @@ class MarkdownExtra_Parser extends Markdown_Parser {
1600
  "doAbbreviations" => 70,
1601
  );
1602
 
1603
- parent::Markdown_Parser();
1604
  }
1605
 
1606
 
99
  var $escape_chars_re;
100
 
101
 
102
+ function __construct() {
103
  #
104
  # Constructor function. Initialize appropriate member variables.
105
  #
1574
 
1575
  ### Parser Implementation ###
1576
 
1577
+ function __construct() {
1578
  #
1579
  # Constructor function. Initialize the parser object.
1580
  #
1600
  "doAbbreviations" => 70,
1601
  );
1602
 
1603
+ parent::__construct();
1604
  }
1605
 
1606
 
_inc/lib/markdown/gfm.php CHANGED
@@ -64,7 +64,7 @@ class WPCom_GHF_Markdown_Parser extends MarkdownExtra_Parser {
64
  $this->preserve_latex = function_exists( 'latex_markup' );
65
  $this->strip_paras = function_exists( 'wpautop' );
66
 
67
- parent::MarkdownExtra_Parser();
68
  }
69
 
70
  /**
@@ -148,6 +148,7 @@ class WPCom_GHF_Markdown_Parser extends MarkdownExtra_Parser {
148
  public function do_codeblock_preserve( $matches ) {
149
  $block = stripslashes( $matches[3] );
150
  $block = esc_html( $block );
 
151
  $open = $matches[1] . $matches[2] . "\n";
152
  return $open . $block . $matches[4];
153
  }
64
  $this->preserve_latex = function_exists( 'latex_markup' );
65
  $this->strip_paras = function_exists( 'wpautop' );
66
 
67
+ parent::__construct();
68
  }
69
 
70
  /**
148
  public function do_codeblock_preserve( $matches ) {
149
  $block = stripslashes( $matches[3] );
150
  $block = esc_html( $block );
151
+ $block = str_replace( '\\', '\\\\', $block );
152
  $open = $matches[1] . $matches[2] . "\n";
153
  return $open . $block . $matches[4];
154
  }
_inc/lib/markdown/test.php DELETED
@@ -1,33 +0,0 @@
1
- <?php
2
-
3
- require 'extra.php';
4
- require 'gfm.php';
5
- $parser = new WPCom_GHF_Markdown_Parser;
6
-
7
- $text1 = <<<EOD
8
- I am just back\slashing up a *storm* \*mofo*.
9
-
10
- EOD;
11
-
12
- $text = 'Just rockin in the *free* world
13
-
14
- ```html
15
- <html lang="en">
16
- </html>
17
- ```
18
- ';
19
- #echo $text;
20
- echo $parser->transform( $text );
21
- echo "\n\n\n";
22
- #echo $parser->hashBlock( '<pre>foobar</pre>' );
23
-
24
-
25
- $foo = <<<EOD
26
- Here is a *list* with things:
27
-
28
- * some `code` is better than others
29
- * **my** code is better than *yours*
30
- * the best code is that which need not be written
31
-
32
- Selah.
33
- EOD;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
class.jetpack-admin.php CHANGED
@@ -30,10 +30,19 @@ class Jetpack_Admin {
30
  jetpack_require_lib( 'admin-pages/class.jetpack-settings-page' );
31
  $this->settings_page = new Jetpack_Settings_Page;
32
 
 
 
 
 
 
 
 
33
  // Add hooks for admin menus
34
  add_action( 'admin_menu', array( $this->landing_page, 'add_actions' ), 998 );
35
  add_action( 'jetpack_admin_menu', array( $this, 'admin_menu_debugger' ) );
36
  add_action( 'jetpack_admin_menu', array( $this->settings_page, 'add_actions' ) );
 
 
37
 
38
  // Add redirect to current page for activation/deactivation of modules
39
  add_action( 'jetpack_pre_activate_module', array( $this, 'fix_redirect' ), 10, 2 );
@@ -146,14 +155,14 @@ class Jetpack_Admin {
146
  return false;
147
 
148
  /**
149
- * We never want to show VaultPress as activate-able through Jetpack.
150
  */
151
  if ( 'vaultpress' === $module['module'] ) {
152
  return false;
153
  }
154
 
155
  if ( Jetpack::is_development_mode() ) {
156
- return ! ( $module['requires_connection'] && ! Jetpack::is_active() );
157
  } else {
158
  return Jetpack::is_active();
159
  }
30
  jetpack_require_lib( 'admin-pages/class.jetpack-settings-page' );
31
  $this->settings_page = new Jetpack_Settings_Page;
32
 
33
+ jetpack_require_lib( 'admin-pages/class.jetpack-my-jetpack-page' );
34
+ $this->my_jetpack_page = new Jetpack_My_Jetpack_Page;
35
+
36
+ if ( isset( $_POST['jetpack-set-master-user'] ) ) {
37
+ add_action( 'init', array( $this->my_jetpack_page, 'jetpack_my_jetpack_change_user' ) );
38
+ }
39
+
40
  // Add hooks for admin menus
41
  add_action( 'admin_menu', array( $this->landing_page, 'add_actions' ), 998 );
42
  add_action( 'jetpack_admin_menu', array( $this, 'admin_menu_debugger' ) );
43
  add_action( 'jetpack_admin_menu', array( $this->settings_page, 'add_actions' ) );
44
+ add_action( 'jetpack_admin_menu', array( $this->my_jetpack_page, 'add_actions' ) );
45
+
46
 
47
  // Add redirect to current page for activation/deactivation of modules
48
  add_action( 'jetpack_pre_activate_module', array( $this, 'fix_redirect' ), 10, 2 );
155
  return false;
156
 
157
  /**
158
+ * We never want to show VaultPress as activatable through Jetpack.
159
  */
160
  if ( 'vaultpress' === $module['module'] ) {
161
  return false;
162
  }
163
 
164
  if ( Jetpack::is_development_mode() ) {
165
+ return ! ( $module['requires_connection'] );
166
  } else {
167
  return Jetpack::is_active();
168
  }
class.jetpack-cli.php CHANGED
@@ -7,26 +7,82 @@ WP_CLI::add_command( 'jetpack', 'Jetpack_CLI' );
7
  */
8
  class Jetpack_CLI extends WP_CLI_Command {
9
 
 
 
 
 
 
 
10
  /**
11
  * Get Jetpack Details
12
  *
13
  * ## OPTIONS
14
  *
15
- * None. Simply returns details about whether or not your blog
16
- * is connected, its Jetpack version, and WordPress.com blog_id.
 
17
  *
18
  * ## EXAMPLES
19
  *
20
  * wp jetpack status
 
21
  *
22
  */
23
  public function status( $args, $assoc_args ) {
24
- if ( Jetpack::is_active() ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  WP_CLI::success( __( 'Jetpack is currently connected to WordPress.com', 'jetpack' ) );
26
  WP_CLI::line( sprintf( __( 'The Jetpack Version is %s', 'jetpack' ), JETPACK__VERSION ) );
27
  WP_CLI::line( sprintf( __( 'The WordPress.com blog_id is %d', 'jetpack' ), Jetpack_Options::get_option( 'id' ) ) );
28
- } else {
29
- WP_CLI::line( __( 'Jetpack is not currently connected to WordPress.com', 'jetpack' ) );
30
  }
31
  }
32
 
@@ -50,7 +106,7 @@ class Jetpack_CLI extends WP_CLI_Command {
50
  * wp jetpack disconnect user username
51
  * wp jetpack disconnect user email@domain.com
52
  *
53
- * @synopsis blog|[user <user_id>]
54
  */
55
  public function disconnect( $args, $assoc_args ) {
56
  if ( ! Jetpack::is_active() ) {
@@ -79,7 +135,7 @@ class Jetpack_CLI extends WP_CLI_Command {
79
  WP_CLI::error( __( 'Please specify a valid user.', 'jetpack' ) );
80
  }
81
  } else {
82
- WP_CLI::error( __( 'Please specify a user.', 'jetpack' ) );
83
  }
84
  }
85
 
@@ -104,17 +160,91 @@ class Jetpack_CLI extends WP_CLI_Command {
104
  }
105
 
106
  /**
107
- * Manage Jetpack Modules
108
  *
109
  * ## OPTIONS
110
  *
111
- * list: View all available modules, and their status.
112
  *
113
- * activate <module_slug>: Activate a module.
 
 
 
 
 
114
  *
115
- * deactivate <module_slug>: Deactivate a module.
116
  *
117
- * toggle <module_slug>: Toggle a module on or off.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  *
119
  * ## EXAMPLES
120
  *
@@ -123,35 +253,47 @@ class Jetpack_CLI extends WP_CLI_Command {
123
  * wp jetpack module deactivate stats
124
  * wp jetpack module toggle stats
125
  *
126
- * @synopsis [list|activate|deactivate|toggle [<module_name>]]
 
 
 
127
  */
128
  public function module( $args, $assoc_args ) {
129
  $action = isset( $args[0] ) ? $args[0] : 'list';
130
  if ( ! in_array( $action, array( 'list', 'activate', 'deactivate', 'toggle' ) ) ) {
131
  WP_CLI::error( sprintf( __( '%s is not a valid command.', 'jetpack' ), $action ) );
132
  }
133
-
134
  if ( in_array( $action, array( 'activate', 'deactivate', 'toggle' ) ) ) {
135
  if ( isset( $args[1] ) ) {
136
  $module_slug = $args[1];
137
- if ( ! Jetpack::is_module( $module_slug ) ) {
138
  WP_CLI::error( sprintf( __( '%s is not a valid module.', 'jetpack' ), $module_slug ) );
139
  }
140
  if ( 'toggle' == $action ) {
141
  $action = Jetpack::is_module_active( $module_slug ) ? 'deactivate' : 'activate';
142
  }
 
 
 
 
 
 
 
 
143
  } else {
144
  WP_CLI::line( __( 'Please specify a valid module.', 'jetpack' ) );
145
  $action = 'list';
146
  }
147
  }
148
-
149
  switch ( $action ) {
150
  case 'list':
151
  WP_CLI::line( __( 'Available Modules:', 'jetpack' ) );
152
  $modules = Jetpack::get_available_modules();
153
  sort( $modules );
154
  foreach( $modules as $module_slug ) {
 
 
 
155
  $active = Jetpack::is_module_active( $module_slug ) ? __( 'Active', 'jetpack' ) : __( 'Inactive', 'jetpack' );
156
  WP_CLI::line( "\t" . str_pad( $module_slug, 24 ) . $active );
157
  }
@@ -159,19 +301,292 @@ class Jetpack_CLI extends WP_CLI_Command {
159
  case 'activate':
160
  $module = Jetpack::get_module( $module_slug );
161
  Jetpack::log( 'activate', $module_slug );
162
- Jetpack::activate_module( $module_slug, false );
163
  WP_CLI::success( sprintf( __( '%s has been activated.', 'jetpack' ), $module['name'] ) );
164
  break;
 
 
 
 
 
165
  case 'deactivate':
166
  $module = Jetpack::get_module( $module_slug );
167
  Jetpack::log( 'deactivate', $module_slug );
168
  Jetpack::deactivate_module( $module_slug );
169
  WP_CLI::success( sprintf( __( '%s has been deactivated.', 'jetpack' ), $module['name'] ) );
170
  break;
 
 
 
 
171
  case 'toggle':
172
  // Will never happen, should have been handled above and changed to activate or deactivate.
173
  break;
174
  }
175
  }
176
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  */
8
  class Jetpack_CLI extends WP_CLI_Command {
9
 
10
+ // Aesthetics
11
+ public $green_open = "\033[32m";
12
+ public $red_open = "\033[31m";
13
+ public $yellow_open = "\033[33m";
14
+ public $color_close = "\033[0m";
15
+
16
  /**
17
  * Get Jetpack Details
18
  *
19
  * ## OPTIONS
20
  *
21
+ * empty: Leave it empty for basic stats
22
+ *
23
+ * full: View full stats. It's the data from the heartbeat
24
  *
25
  * ## EXAMPLES
26
  *
27
  * wp jetpack status
28
+ * wp jetpack status full
29
  *
30
  */
31
  public function status( $args, $assoc_args ) {
32
+ if ( ! Jetpack::is_active() ) {
33
+ WP_CLI::error( __( 'Jetpack is not currently connected to WordPress.com', 'jetpack' ) );
34
+ }
35
+
36
+ if ( isset( $args[0] ) && 'full' !== $args[0] ) {
37
+ WP_CLI::error( sprintf( __( '%s is not a valid command.', 'jetpack' ), $args[0] ) );
38
+ }
39
+
40
+ /*
41
+ * Are they asking for all data?
42
+ *
43
+ * Loop through heartbeat data and organize by priority.
44
+ */
45
+ $all_data = ( isset( $args[0] ) && 'full' == $args[0] ) ? 'full' : false;
46
+ if ( $all_data ) {
47
+ WP_CLI::success( __( 'Jetpack is currently connected to WordPress.com', 'jetpack' ) );
48
+ WP_CLI::line( sprintf( __( "The Jetpack Version is %s", 'jetpack' ), JETPACK__VERSION ) );
49
+ WP_CLI::line( sprintf( __( "The WordPress.com blog_id is %d", 'jetpack' ), Jetpack_Options::get_option( 'id' ) ) );
50
+
51
+ // Heartbeat data
52
+ WP_CLI::line( "\n" . __( 'Additional data: ', 'jetpack' ) );
53
+
54
+ // Get the filtered heartbeat data.
55
+ // Filtered so we can color/list by severity
56
+ $stats = Jetpack::jetpack_check_heartbeat_data();
57
+
58
+ // Display red flags first
59
+ foreach ( $stats['bad'] as $stat => $value ) {
60
+ printf( "$this->red_open%-'.16s %s $this->color_close\n", $stat, $value );
61
+ }
62
+
63
+ // Display caution warnings next
64
+ foreach ( $stats['caution'] as $stat => $value ) {
65
+ printf( "$this->yellow_open%-'.16s %s $this->color_close\n", $stat, $value );
66
+ }
67
+
68
+ // The rest of the results are good!
69
+ foreach ( $stats['good'] as $stat => $value ) {
70
+
71
+ // Modules should get special spacing for aestetics
72
+ if ( strpos( $stat, 'odule-' ) ) {
73
+ printf( "%-'.30s %s\n", $stat, $value );
74
+ usleep( 4000 ); // For dramatic effect lolz
75
+ continue;
76
+ }
77
+ printf( "%-'.16s %s\n", $stat, $value );
78
+ usleep( 4000 ); // For dramatic effect lolz
79
+ }
80
+ } else {
81
+ // Just the basics
82
  WP_CLI::success( __( 'Jetpack is currently connected to WordPress.com', 'jetpack' ) );
83
  WP_CLI::line( sprintf( __( 'The Jetpack Version is %s', 'jetpack' ), JETPACK__VERSION ) );
84
  WP_CLI::line( sprintf( __( 'The WordPress.com blog_id is %d', 'jetpack' ), Jetpack_Options::get_option( 'id' ) ) );
85
+ WP_CLI::line( "\n" . _x( "View full status with 'wp jetpack status full'", '"wp jetpack status full" is a command - do not translate', 'jetpack' ) );
 
86
  }
87
  }
88
 
106
  * wp jetpack disconnect user username
107
  * wp jetpack disconnect user email@domain.com
108
  *
109
+ * @synopsis <blog|user> [<user_identifier>]
110
  */
111
  public function disconnect( $args, $assoc_args ) {
112
  if ( ! Jetpack::is_active() ) {
135
  WP_CLI::error( __( 'Please specify a valid user.', 'jetpack' ) );
136
  }
137
  } else {
138
+ WP_CLI::error( __( 'Please specify a user by either ID, username, or email.', 'jetpack' ) );
139
  }
140
  }
141
 
160
  }
161
 
162
  /**
163
+ * Reset Jetpack options and settings to default
164
  *
165
  * ## OPTIONS
166
  *
167
+ * modules: Resets modules to default state ( get_default_modules() )
168
  *
169
+ * options: Resets all Jetpack options except:
170
+ * - All private options (Blog token, user token, etc...)
171
+ * - id (The Client ID/WP.com Blog ID of this site)
172
+ * - master_user
173
+ * - version
174
+ * - activated
175
  *
176
+ * ## EXAMPLES
177
  *
178
+ * wp jetpack reset options
179
+ * wp jetpack reset modules
180
+ *
181
+ * @synopsis <modules|options>
182
+ */
183
+ public function reset( $args, $assoc_args ) {
184
+ $action = isset( $args[0] ) ? $args[0] : 'prompt';
185
+ if ( ! in_array( $action, array( 'options', 'modules' ) ) ) {
186
+ WP_CLI::error( sprintf( __( '%s is not a valid command.', 'jetpack' ), $action ) );
187
+ }
188
+
189
+ // Are you sure?
190
+ jetpack_cli_are_you_sure();
191
+
192
+ switch ( $action ) {
193
+ case 'options':
194
+ $options_to_reset = Jetpack::get_jetapck_options_for_reset();
195
+
196
+ // Reset the Jetpack options
197
+ _e( "Resetting Jetpack Options...\n", "jetpack" );
198
+ sleep(1); // Take a breath
199
+ foreach ( $options_to_reset['jp_options'] as $option_to_reset ) {
200
+ Jetpack_Options::delete_option( $option_to_reset );
201
+ usleep( 100000 );
202
+ WP_CLI::success( sprintf( __( '%s option reset', 'jetpack' ), $option_to_reset ) );
203
+ }
204
+
205
+ // Reset the WP options
206
+ _e( "Resetting the jetpack options stored in wp_options...\n", "jetpack" );
207
+ usleep( 500000 ); // Take a breath
208
+ foreach ( $options_to_reset['wp_options'] as $option_to_reset ) {
209
+ delete_option( $option_to_reset );
210
+ usleep( 100000 );
211
+ WP_CLI::success( sprintf( __( '%s option reset', 'jetpack' ), $option_to_reset ) );
212
+ }
213
+
214
+ // Reset to default modules
215
+ _e( "Resetting default modules...\n", "jetpack" );
216
+ usleep( 500000 ); // Take a breath
217
+ $default_modules = Jetpack::get_default_modules();
218
+ Jetpack_Options::update_option( 'active_modules', $default_modules );
219
+ WP_CLI::success( __( 'Modules reset to default.', 'jetpack' ) );
220
+
221
+ // Jumpstart option is special
222
+ Jetpack_Options::update_option( 'jumpstart', 'new_connection' );
223
+ WP_CLI::success( __( 'jumpstart option reset', 'jetpack' ) );
224
+ break;
225
+ case 'modules':
226
+ $default_modules = Jetpack::get_default_modules();
227
+ Jetpack_Options::update_option( 'active_modules', $default_modules );
228
+ WP_CLI::success( __( 'Modules reset to default.', 'jetpack' ) );
229
+ break;
230
+ case 'prompt':
231
+ WP_CLI::error( __( 'Please specify if you would like to reset your options, or modules', 'jetpack' ) );
232
+ break;
233
+ }
234
+ }
235
+
236
+ /**
237
+ * Manage Jetpack Modules
238
+ *
239
+ * ## OPTIONS
240
+ *
241
+ * list : View all available modules, and their status.
242
+ * activate all : Activate all modules
243
+ * deactivate all: Deactivate all modules
244
+ *
245
+ * activate <module_slug> : Activate a module.
246
+ * deactivate <module_slug> : Deactivate a module.
247
+ * toggle <module_slug> : Toggle a module on or off.
248
  *
249
  * ## EXAMPLES
250
  *
253
  * wp jetpack module deactivate stats
254
  * wp jetpack module toggle stats
255
  *
256
+ * wp jetpack module activate all
257
+ * wp jetpack module deactivate all
258
+ *
259
+ * @synopsis <list|activate|deactivate|toggle> [<module_name>]
260
  */
261
  public function module( $args, $assoc_args ) {
262
  $action = isset( $args[0] ) ? $args[0] : 'list';
263
  if ( ! in_array( $action, array( 'list', 'activate', 'deactivate', 'toggle' ) ) ) {
264
  WP_CLI::error( sprintf( __( '%s is not a valid command.', 'jetpack' ), $action ) );
265
  }
 
266
  if ( in_array( $action, array( 'activate', 'deactivate', 'toggle' ) ) ) {
267
  if ( isset( $args[1] ) ) {
268
  $module_slug = $args[1];
269
+ if ( 'all' !== $module_slug && ! Jetpack::is_module( $module_slug ) ) {
270
  WP_CLI::error( sprintf( __( '%s is not a valid module.', 'jetpack' ), $module_slug ) );
271
  }
272
  if ( 'toggle' == $action ) {
273
  $action = Jetpack::is_module_active( $module_slug ) ? 'deactivate' : 'activate';
274
  }
275
+ // Bulk actions
276
+ if ( 'all' == $args[1] ) {
277
+ $action = ( 'deactivate' == $action ) ? 'deactivate_all' : 'activate_all';
278
+ }
279
+ // VaultPress needs to be handled elsewhere.
280
+ if ( in_array( $action, array( 'activate', 'deactivate', 'toggle' ) ) && 'vaultpress' == $args[1] ) {
281
+ WP_CLI::error( sprintf( _x( 'Please visit %s to configure your VaultPress subscription.', '%s is a website', 'jetpack' ), esc_url( 'https://vaultpress.com/jetpack/' ) ) );
282
+ }
283
  } else {
284
  WP_CLI::line( __( 'Please specify a valid module.', 'jetpack' ) );
285
  $action = 'list';
286
  }
287
  }
 
288
  switch ( $action ) {
289
  case 'list':
290
  WP_CLI::line( __( 'Available Modules:', 'jetpack' ) );
291
  $modules = Jetpack::get_available_modules();
292
  sort( $modules );
293
  foreach( $modules as $module_slug ) {
294
+ if ( 'vaultpress' == $module_slug ) {
295
+ continue;
296
+ }
297
  $active = Jetpack::is_module_active( $module_slug ) ? __( 'Active', 'jetpack' ) : __( 'Inactive', 'jetpack' );
298
  WP_CLI::line( "\t" . str_pad( $module_slug, 24 ) . $active );
299
  }
301
  case 'activate':
302
  $module = Jetpack::get_module( $module_slug );
303
  Jetpack::log( 'activate', $module_slug );
304
+ Jetpack::activate_module( $module_slug, false, false );
305
  WP_CLI::success( sprintf( __( '%s has been activated.', 'jetpack' ), $module['name'] ) );
306
  break;
307
+ case 'activate_all':
308
+ $modules = Jetpack::get_available_modules();
309
+ Jetpack_Options::update_option( 'active_modules', $modules );
310
+ WP_CLI::success( __( 'All modules activated!', 'jetpack' ) );
311
+ break;
312
  case 'deactivate':
313
  $module = Jetpack::get_module( $module_slug );
314
  Jetpack::log( 'deactivate', $module_slug );
315
  Jetpack::deactivate_module( $module_slug );
316
  WP_CLI::success( sprintf( __( '%s has been deactivated.', 'jetpack' ), $module['name'] ) );
317
  break;
318
+ case 'deactivate_all':
319
+ Jetpack_Options::update_option( 'active_modules', '' );
320
+ WP_CLI::success( __( 'All modules deactivated!', 'jetpack' ) );
321
+ break;
322
  case 'toggle':
323
  // Will never happen, should have been handled above and changed to activate or deactivate.
324
  break;
325
  }
326
  }
327
 
328
+ /**
329
+ * Manage Jetpack Protect Settings
330
+ *
331
+ * ## OPTIONS
332
+ *
333
+ * whitelist: Whitelist an IP address. You can also read or clear the whitelist.
334
+ *
335
+ *
336
+ * ## EXAMPLES
337
+ *
338
+ * wp jetpack protect whitelist <ip address>
339
+ * wp jetpack protect whitelist list
340
+ * wp jetpack protect whitelist clear
341
+ *
342
+ * @synopsis <whitelist> [<ip|ip_low-ip_high|list|clear>]
343
+ */
344
+ public function protect( $args, $assoc_args ) {
345
+ $action = isset( $args[0] ) ? $args[0] : 'prompt';
346
+ if ( ! in_array( $action, array( 'whitelist' ) ) ) {
347
+ WP_CLI::error( sprintf( __( '%s is not a valid command.', 'jetpack' ), $action ) );
348
+ }
349
+ // Check if module is active
350
+ if ( ! Jetpack::is_module_active( __FUNCTION__ ) ) {
351
+ WP_CLI::error( sprintf( _x( '%s is not active. You can activate it with "wp jetpack module activate %s"', '"wp jetpack module activate" is a command - do not translate', 'jetpack' ), __FUNCTION__, __FUNCTION__ ) );
352
+ }
353
+ if ( in_array( $action, array( 'whitelist' ) ) ) {
354
+ if ( isset( $args[1] ) ) {
355
+ $action = 'whitelist';
356
+ } else {
357
+ $action = 'prompt';
358
+ }
359
+ }
360
+ switch ( $action ) {
361
+ case 'whitelist':
362
+ $whitelist = array();
363
+ $new_ip = $args[1];
364
+ $current_whitelist = get_site_option( 'jetpack_protect_whitelist' );
365
+
366
+ // Build array of IPs that are already whitelisted.
367
+ // Re-build manually instead of using jetpack_protect_format_whitelist() so we can easily get
368
+ // low & high range params for jetpack_protect_ip_address_is_in_range();
369
+ foreach( $current_whitelist as $whitelisted ) {
370
+
371
+ // IP ranges
372
+ if ( $whitelisted->range ) {
373
+
374
+ // Is it already whitelisted?
375
+ if ( jetpack_protect_ip_address_is_in_range( $new_ip, $whitelisted->range_low, $whitelisted->range_high ) ) {
376
+ WP_CLI::error( sprintf( __( "%s has already been whitelisted", 'jetpack' ), $new_ip ) );
377
+ break;
378
+ }
379
+ $whitelist[] = $whitelisted->range_low . " - " . $whitelisted->range_high;
380
+
381
+ } else { // Individual IPs
382
+
383
+ // Check if the IP is already whitelisted (single IP only)
384
+ if ( $new_ip == $whitelisted->ip_address ) {
385
+ WP_CLI::error( sprintf( __( "%s has already been whitelisted", 'jetpack' ), $new_ip ) );
386
+ break;
387
+ }
388
+ $whitelist[] = $whitelisted->ip_address;
389
+
390
+ }
391
+ }
392
+
393
+ /*
394
+ * List the whitelist
395
+ * Done here because it's easier to read the $whitelist array after it's been rebuilt
396
+ */
397
+ if ( isset( $args[1] ) && 'list' == $args[1] ) {
398
+ if ( ! empty( $whitelist ) ) {
399
+ WP_CLI::success( __( 'Here are your whitelisted IPs:', 'jetpack' ) );
400
+ foreach ( $whitelist as $ip ) {
401
+ WP_CLI::line( "\t" . str_pad( $ip, 24 ) ) ;
402
+ }
403
+ } else {
404
+ WP_CLI::line( __( 'Whitelist is empty.', "jetpack" ) ) ;
405
+ }
406
+ break;
407
+ }
408
+
409
+ /*
410
+ * Clear the whitelist
411
+ */
412
+ if ( isset( $args[1] ) && 'clear' == $args[1] ) {
413
+ if ( ! empty( $whitelist ) ) {
414
+ $whitelist = array();
415
+ jetpack_protect_save_whitelist( $whitelist );
416
+ WP_CLI::success( __( 'Cleared all whitelisted IPs', 'jetpack' ) );
417
+ } else {
418
+ WP_CLI::line( __( 'Whitelist is empty.', "jetpack" ) ) ;
419
+ }
420
+ break;
421
+ }
422
+
423
+ // Append new IP to whitelist array
424
+ array_push( $whitelist, $new_ip );
425
+
426
+ // Save whitelist if there are no errors
427
+ $result = jetpack_protect_save_whitelist( $whitelist );
428
+ if ( is_wp_error( $result ) ) {
429
+ WP_CLI::error( __( $result, 'jetpack' ) );
430
+ }
431
+
432
+ WP_CLI::success( sprintf( __( '%s has been whitelisted.', 'jetpack' ), $new_ip ) );
433
+ break;
434
+ case 'prompt':
435
+ WP_CLI::error(
436
+ __( 'No command found.', 'jetpack' ) . "\n" .
437
+ __( 'Please enter the IP address you want to whitelist.', 'jetpack' ) . "\n" .
438
+ _x( 'You can save a range of IPs {low_range}-{high_range}. No spaces allowed. (example: 1.1.1.1-2.2.2.2)', 'Instructions on how to whitelist IP ranges - low_range/high_range should be translated.', 'jetpack' ) . "\n" .
439
+ _x( "You can also 'list' or 'clear' the whitelist.", "'list' and 'clear' are commands and should not be translated", 'jetpack' ) . "\n"
440
+ );
441
+ break;
442
+ }
443
+ }
444
+
445
+ /**
446
+ * Manage Jetpack Options
447
+ *
448
+ * ## OPTIONS
449
+ *
450
+ * list : List all jetpack options and their values
451
+ * delete : Delete an option
452
+ * - can only delete options that are white listed.
453
+ * update : update an option
454
+ * - can only update option strings
455
+ * get : get the value of an option
456
+ *
457
+ * ## EXAMPLES
458
+ *
459
+ * wp jetpack options list
460
+ * wp jetpack options get <option_name>
461
+ * wp jetpack options delete <option_name>
462
+ * wp jetpack options update <option_name> [<option_value>]
463
+ *
464
+ * @synopsis <list|get|delete|update> [<option_name>] [<option_value>]
465
+ */
466
+ public function options( $args, $assoc_args ) {
467
+ $action = isset( $args[0] ) ? $args[0] : 'list';
468
+ $safe_to_modify = Jetpack::get_jetapck_options_for_reset();
469
+
470
+ // Jumpstart is special
471
+ array_push( $safe_to_modify, 'jumpstart' );
472
+
473
+ if ( ! in_array( $action, array( 'list', 'get', 'delete', 'update' ) ) ) {
474
+ WP_CLI::error( sprintf( __( '%s is not a valid command.', 'jetpack' ), $action ) );
475
+ }
476
+
477
+ if ( isset( $args[0] ) ) {
478
+ if ( 'get' == $args[0] && isset( $args[1] ) ) {
479
+ $action = 'get';
480
+ } else if ( 'delete' == $args[0] && isset( $args[1] ) ) {
481
+ $action = 'delete';
482
+ } else if ( 'update' == $args[0] && isset( $args[1] ) ) {
483
+ $action = 'update';
484
+ } else {
485
+ $action = 'list';
486
+ }
487
+ }
488
+
489
+ // Bail if the option isn't found
490
+ $option = isset( $args[1] ) ? Jetpack_Options::get_option( $args[1] ) : false;
491
+ if ( isset( $args[1] ) && ! $option && 'update' !== $args[0] ) {
492
+ WP_CLI::error( __( 'Option not found or is empty. Use "list" to list option names', 'jetpack' ) );
493
+ }
494
+
495
+ // Let's print_r the option if it's an array
496
+ // Used in the 'get' and 'list' actions
497
+ $option = is_array( $option ) ? print_r( $option ) : $option;
498
+
499
+ switch ( $action ) {
500
+ case 'get':
501
+ WP_CLI::success( "\t" . $option );
502
+ break;
503
+ case 'delete':
504
+ // Check if it's safe to modify
505
+ if ( ! in_array( $args[1], $safe_to_modify ) ) {
506
+ WP_CLI::error( __( 'It is not recommended to delete this option.', 'jetpack' ) );
507
+ }
508
+
509
+ // Are you sure?
510
+ jetpack_cli_are_you_sure();
511
+
512
+ Jetpack_Options::delete_option( $args[1] );
513
+ WP_CLI::success( sprintf( __( 'Deleted option: %s', 'jetpack' ), $args[1] ) );
514
+ break;
515
+ case 'update':
516
+ // Check if it's safe to modify
517
+ if ( ! in_array( $args[1], $safe_to_modify ) ) {
518
+ WP_CLI::error( __( 'It is not recommended to change this option.', 'jetpack' ) );
519
+ }
520
+
521
+ // Updating arrays would get pretty tricky...
522
+ $value = Jetpack_Options::get_option( $args[1] );
523
+ if ( $value && is_array( $value ) ) {
524
+ WP_CLI::error( __( 'Sorry, no updating arrays at this time', 'jetpack' ) );
525
+ }
526
+
527
+ Jetpack_Options::update_option( $args[1], $args[2] );
528
+ WP_CLI::success( sprintf( _x( 'Updated option: %s to "%s"', 'Updating an option from "this" to "that".', 'jetpack' ), $args[1], $args[2] ) );
529
+ break;
530
+ case 'list':
531
+ $options_compact = Jetpack_Options::get_option_names();
532
+ $options_non_compact = Jetpack_Options::get_option_names( 'non_compact' );
533
+ $options_private = Jetpack_Options::get_option_names( 'private' );
534
+ $options = array_merge( $options_compact, $options_non_compact, $options_private );
535
+
536
+ // Table headers
537
+ WP_CLI::line( "\t" . str_pad( __( 'Option', 'jetpack' ), 30 ) . __( 'Value', 'jetpack' ) );
538
+
539
+ // List out the options and their values
540
+ // Tell them if the value is empty or not
541
+ // Tell them if it's an array
542
+ foreach ( $options as $option ) {
543
+ $value = Jetpack_Options::get_option( $option );
544
+ if ( ! $value ) {
545
+ WP_CLI::line( "\t" . str_pad( $option, 30 ) . 'Empty' );
546
+ continue;
547
+ }
548
+
549
+ if ( ! is_array( $value ) ) {
550
+ WP_CLI::line( "\t" . str_pad( $option, 30 ) . $value );
551
+ } else if ( is_array( $value ) ) {
552
+ WP_CLI::line( "\t" . str_pad( $option, 30 ) . 'Array - Use "get <option>" to read option array.' );
553
+ }
554
+ }
555
+ $option_text = '{' . _x( 'option', 'a variable command that a user can write, provided in the printed instructions', 'jetpack' ) . '}';
556
+ $value_text = '{' . _x( 'value', 'the value that they want to update the option to', 'jetpack' ) . '}';
557
+
558
+ WP_CLI::success(
559
+ _x( "Above are your options. You may 'get', 'delete', and 'update' them.", "'get', 'delete', and 'update' are commands - do not translate.", 'jetpack' ) . "\n" .
560
+ str_pad( 'wp jetpack options get', 26 ) . $option_text . "\n" .
561
+ str_pad( 'wp jetpack options delete', 26 ) . $option_text . "\n" .
562
+ str_pad( 'wp jetpack options update', 26 ) . "$option_text $value_text" . "\n" .
563
+ _x( "Type 'wp jetpack options' for more info.", "'wp jetpack options' is a command - do not translate.", 'jetpack' ) . "\n"
564
+ );
565
+ break;
566
+ }
567
+ }
568
  }
569
+
570
+ /*
571
+ * Standard "ask for permission to continue" function.
572
+ * If action cancelled, ask if they need help.
573
+ *
574
+ * Written outside of the class so it's not listed as an executable command w/ 'wp jetpack'
575
+ *
576
+ * @param $error_msg string (optional)
577
+ */
578
+ function jetpack_cli_are_you_sure( $error_msg = false ) {
579
+ $cli = new Jetpack_CLI();
580
+
581
+ // Default cancellation message
582
+ if ( ! $error_msg ) {
583
+ $error_msg = sprintf( __( 'Action cancelled. Have a question? %sjetpack.me/support%s', 'jetpack' ), $cli->green_open, $cli->color_close );
584
+ }
585
+
586
+ WP_CLI::line( _x( 'Are you sure? This cannot be undone. Type "yes" to continue:', '"yes" is a command. Do not translate that.', 'jetpack' ) );
587
+ $handle = fopen( "php://stdin", "r" );
588
+ $line = fgets( $handle );
589
+ if ( 'yes' != trim( $line ) ){
590
+ WP_CLI::error( $error_msg );
591
+ }
592
+ }
class.jetpack-client-server.php CHANGED
@@ -5,14 +5,39 @@
5
  * Client Server = API Methods the Plugin must respond to
6
  */
7
  class Jetpack_Client_Server {
 
8
  function authorize() {
9
  $data = stripslashes_deep( $_GET );
10
  $args = array();
11
  $redirect = isset( $data['redirect'] ) ? esc_url_raw( (string) $data['redirect'] ) : '';
12
 
13
- do {
 
 
 
 
 
 
 
 
 
 
 
 
14
  $jetpack = Jetpack::init();
 
 
 
 
 
 
 
 
 
 
 
15
  $role = $jetpack->translate_current_user_to_role();
 
16
  if ( !$role ) {
17
  Jetpack::state( 'error', 'no_role' );
18
  break;
@@ -24,7 +49,7 @@ class Jetpack_Client_Server {
24
  break;
25
  }
26
 
27
- check_admin_referer( "jetpack-authorize_{$role}_{$redirect}" );
28
 
29
  if ( !empty( $data['error'] ) ) {
30
  Jetpack::state( 'error', $data['error'] );
@@ -100,12 +125,12 @@ class Jetpack_Client_Server {
100
  } while ( false );
101
 
102
  if ( wp_validate_redirect( $redirect ) ) {
103
- wp_safe_redirect( $redirect );
104
  } else {
105
- wp_safe_redirect( Jetpack::admin_url() );
106
  }
107
 
108
- exit;
109
  }
110
 
111
  public static function deactivate_plugin( $probable_file, $probable_title ) {
@@ -132,7 +157,7 @@ class Jetpack_Client_Server {
132
  * @return object|WP_Error
133
  */
134
  function get_token( $data ) {
135
- $jetpack = Jetpack::init();
136
  $role = $jetpack->translate_current_user_to_role();
137
 
138
  if ( !$role ) {
@@ -214,4 +239,21 @@ class Jetpack_Client_Server {
214
 
215
  return (string) $json->access_token;
216
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
217
  }
5
  * Client Server = API Methods the Plugin must respond to
6
  */
7
  class Jetpack_Client_Server {
8
+
9
  function authorize() {
10
  $data = stripslashes_deep( $_GET );
11
  $args = array();
12
  $redirect = isset( $data['redirect'] ) ? esc_url_raw( (string) $data['redirect'] ) : '';
13
 
14
+ $jetpack_unique_connection = Jetpack_Options::get_option( 'unique_connection' );
15
+ // Checking if site has been active/connected previously before recording unique connection
16
+ if ( ! $jetpack_unique_connection ) {
17
+ // jetpack_unique_connection option has never been set
18
+ $jetpack_unique_connection = array(
19
+ 'connected' => 0,
20
+ 'disconnected' => 0,
21
+ 'version' => '3.6.1'
22
+ );
23
+
24
+ update_option( 'jetpack_unique_connection', $jetpack_unique_connection );
25
+
26
+ //track unique connection
27
  $jetpack = Jetpack::init();
28
+
29
+ $jetpack->stat( 'connections', 'unique-connection' );
30
+ $jetpack->do_stats( 'server_side' );
31
+ }
32
+
33
+ // increment number of times connected
34
+ $jetpack_unique_connection['connected'] += 1;
35
+ Jetpack_Options::update_option( 'unique_connection', $jetpack_unique_connection );
36
+
37
+ do {
38
+ $jetpack = $this->get_jetpack();
39
  $role = $jetpack->translate_current_user_to_role();
40
+
41
  if ( !$role ) {
42
  Jetpack::state( 'error', 'no_role' );
43
  break;
49
  break;
50
  }
51
 
52
+ $this->check_admin_referer( "jetpack-authorize_{$role}_{$redirect}" );
53
 
54
  if ( !empty( $data['error'] ) ) {
55
  Jetpack::state( 'error', $data['error'] );
125
  } while ( false );
126
 
127
  if ( wp_validate_redirect( $redirect ) ) {
128
+ $this->wp_safe_redirect( $redirect );
129
  } else {
130
+ $this->wp_safe_redirect( Jetpack::admin_url() );
131
  }
132
 
133
+ $this->do_exit();
134
  }
135
 
136
  public static function deactivate_plugin( $probable_file, $probable_title ) {
157
  * @return object|WP_Error
158
  */
159
  function get_token( $data ) {
160
+ $jetpack = $this->get_jetpack();
161
  $role = $jetpack->translate_current_user_to_role();
162
 
163
  if ( !$role ) {
239
 
240
  return (string) $json->access_token;
241
  }
242
+
243
+ public function get_jetpack() {
244
+ return Jetpack::init();
245
+ }
246
+
247
+ public function check_admin_referer( $action ) {
248
+ return check_admin_referer( $action );
249
+ }
250
+
251
+ public function wp_safe_redirect( $redirect ) {
252
+ return wp_safe_redirect( $redirect );
253
+ }
254
+
255
+ public function do_exit() {
256
+ exit;
257
+ }
258
+
259
  }
class.jetpack-client.php CHANGED
@@ -1,6 +1,9 @@
1
  <?php
2
 
3
  class Jetpack_Client {
 
 
 
4
  /**
5
  * Makes an authorized remote request using Jetpack_Signature
6
  *
@@ -131,6 +134,21 @@ class Jetpack_Client {
131
  * @return array|WP_Error WP HTTP response on success
132
  */
133
  public static function _wp_remote_request( $url, $args, $set_fallback = false ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  $fallback = Jetpack_Options::get_option( 'fallback_no_verify_ssl_certs' );
135
  if ( false === $fallback ) {
136
  Jetpack_Options::update_option( 'fallback_no_verify_ssl_certs', 0 );
@@ -216,4 +234,49 @@ class Jetpack_Client {
216
  }
217
  }
218
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
219
  }
1
  <?php
2
 
3
  class Jetpack_Client {
4
+ const WPCOM_JSON_API_HOST = 'public-api.wordpress.com';
5
+ const WPCOM_JSON_API_VERSION = '1.1';
6
+
7
  /**
8
  * Makes an authorized remote request using Jetpack_Signature
9
  *
134
  * @return array|WP_Error WP HTTP response on success
135
  */
136
  public static function _wp_remote_request( $url, $args, $set_fallback = false ) {
137
+ /**
138
+ * SSL verification (`sslverify`) for the JetpackClient remote request
139
+ * defaults to off, use this filter to force it on.
140
+ *
141
+ * Return `true` to ENABLE SSL verification, return `false`
142
+ * to DISABLE SSL verification.
143
+ *
144
+ * @since 3.6
145
+ *
146
+ * @param bool Whether to force `sslverify` or not.
147
+ */
148
+ if ( apply_filters( 'jetpack_client_verify_ssl_certs', false ) ) {
149
+ return wp_remote_request( $url, $args );
150
+ }
151
+
152
  $fallback = Jetpack_Options::get_option( 'fallback_no_verify_ssl_certs' );
153
  if ( false === $fallback ) {
154
  Jetpack_Options::update_option( 'fallback_no_verify_ssl_certs', 0 );
234
  }
235
  }
236
  }
237
+
238
+ /**
239
+ * Query the WordPress.com REST API using the blog token
240
+ *
241
+ * @param string $path
242
+ * @param string $version
243
+ * @param array $args
244
+ * @param string $body
245
+ * @return array|WP_Error $response Data.
246
+ */
247
+ static function wpcom_json_api_request_as_blog( $path, $version = self::WPCOM_JSON_API_VERSION, $args = array(), $body = null ) {
248
+ $filtered_args = array_intersect_key( $args, array(
249
+ 'method' => 'string',
250
+ 'timeout' => 'int',
251
+ 'redirection' => 'int',
252
+ ) );
253
+
254
+ /**
255
+ * Determines whether Jetpack can send outbound https requests to the WPCOM api.
256
+ *
257
+ * @since 3.6.0
258
+ *
259
+ * @param bool $proto Defaults to true.
260
+ */
261
+ $proto = apply_filters( 'jetpack_can_make_outbound_https', true ) ? 'https' : 'http';
262
+
263
+ // unprecedingslashit
264
+ $_path = preg_replace( '/^\//', '', $path );
265
+
266
+ // Use GET by default whereas `remote_request` uses POST
267
+ if ( isset( $filtered_args['method'] ) && strtoupper( $filtered_args['method'] === 'POST' ) ) {
268
+ $request_method = 'POST';
269
+ } else {
270
+ $request_method = 'GET';
271
+ }
272
+
273
+ $validated_args = array_merge( $filtered_args, array(
274
+ 'url' => sprintf( '%s://%s/rest/v%s/%s', $proto, self::WPCOM_JSON_API_HOST, $version, $_path ),
275
+ 'blog_id' => (int) Jetpack_Options::get_option( 'id' ),
276
+ 'method' => $request_method,
277
+ ) );
278
+
279
+ return Jetpack_Client::remote_request( $validated_args, $body );
280
+ }
281
+
282
  }
class.jetpack-data.php CHANGED
@@ -39,4 +39,87 @@ class Jetpack_Data {
39
  'external_user_id' => (int) $user_id,
40
  );
41
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  }
39
  'external_user_id' => (int) $user_id,
40
  );
41
  }
42
+
43
+ /**
44
+ * This function mirrors Jetpack_Data::is_usable_domain() in the WPCOM codebase.
45
+ *
46
+ * @param $domain
47
+ * @param array $extra
48
+ *
49
+ * @return bool|WP_Error
50
+ */
51
+ public static function is_usable_domain( $domain, $extra = array() ) {
52
+
53
+ // If it's empty, just fail out.
54
+ if ( ! $domain ) {
55
+ return new WP_Error( 'fail_domain_empty', sprintf( __( 'Domain `%1$s` just failed is_usable_domain check as it is empty.', 'jetpack' ), $domain ) );
56
+ }
57
+
58
+ // None of the explicit localhosts.
59
+ $forbidden_domains = array(
60
+ 'wordpress.com',
61
+ 'localhost',
62
+ 'localhost.localdomain',
63
+ '127.0.0.1',
64
+ 'local.wordpress.dev', // VVV
65
+ 'local.wordpress-trunk.dev', // VVV
66
+ 'src.wordpress-develop.dev', // VVV
67
+ 'build.wordpress-develop.dev', // VVV
68
+ );
69
+ if ( in_array( $domain, $forbidden_domains ) ) {
70
+ return new WP_Error( 'fail_domain_forbidden', sprintf( __( 'Domain `%1$s` just failed is_usable_domain check as it is in the forbidden array.', 'jetpack' ), $domain ) );
71
+ }
72
+
73
+ // No .dev or .local domains
74
+ if ( preg_match( '#\.(dev|local)$#i', $domain ) ) {
75
+ return new WP_Error( 'fail_domain_tld', sprintf( __( 'Domain `%1$s` just failed is_usable_domain check as it uses an invalid top level domain.', 'jetpack' ), $domain ) );
76
+ }
77
+
78
+ // No WPCOM subdomains
79
+ if ( preg_match( '#\.wordpress\.com$#i', $domain ) ) {
80
+ return new WP_Error( 'fail_subdomain_wpcom', sprintf( __( 'Domain `%1$s` just failed is_usable_domain check as it is a subdomain of WordPress.com.', 'jetpack' ), $domain ) );
81
+ }
82
+
83
+ // If PHP was compiled without support for the Filter module (very edge case)
84
+ if ( ! function_exists( 'filter_var' ) ) {
85
+ // Just pass back true for now, and let wpcom sort it out.
86
+ return true;
87
+ }
88
+
89
+ // Check the IP to make sure it's pingable.
90
+ $ip = gethostbyname( $domain );
91
+
92
+ // Doing this again as I was getting some false positives when gethostbyname() flaked out and returned the domain.
93
+ $ip = filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 ) ? $ip : gethostbyname( $ip );
94
+
95
+ if ( ! filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE | FILTER_FLAG_IPV4 ) && ! self::php_bug_66229_check( $ip ) ) {
96
+ return new WP_Error( 'fail_domain_bad_ip_range', sprintf( __( 'Domain `%1$s` just failed is_usable_domain check as its IP `%2$s` is either invalid, or in a reserved or private range.', 'jetpack' ), $domain, $ip ) );
97
+ }
98
+
99
+ return true;
100
+ }
101
+
102
+ /**
103
+ * Returns true if the IP address passed in should not be in a reserved range, even if PHP says that it is.
104
+ * See: https://bugs.php.net/bug.php?id=66229 and https://github.com/php/php-src/commit/d1314893fd1325ca6aa0831101896e31135a2658
105
+ *
106
+ * This function mirrors Jetpack_Data::php_bug_66229_check() in the WPCOM codebase.
107
+ */
108
+ public static function php_bug_66229_check( $ip ) {
109
+ if ( ! filter_var( $ip, FILTER_VALIDATE_IP ) ) {
110
+ return false;
111
+ }
112
+
113
+ $ip_arr = array_map( 'intval', explode( '.', $ip ) );
114
+
115
+ if ( 128 == $ip_arr[0] && 0 == $ip_arr[1] ) {
116
+ return true;
117
+ }
118
+
119
+ if ( 191 == $ip_arr[0] && 255 == $ip_arr[1] ) {
120
+ return true;
121
+ }
122
+
123
+ return false;
124
+ }
125
  }
class.jetpack-heartbeat.php CHANGED
@@ -111,6 +111,8 @@ 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
  $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`
111
  $return["{$prefix}identitycrisis"] = Jetpack::check_identity_crisis( 1 ) ? 'yes' : 'no';
112
  $return["{$prefix}plugins"] = implode( ',', Jetpack::get_active_plugins() );
113
 
114
+ $return["{$prefix}single-user-site"]= Jetpack::is_single_user_site();
115
+
116
  $return["{$prefix}manage-enabled"] = Jetpack::is_module_active( 'manage' );
117
 
118
  // is-multi-network can have three values, `single-site`, `single-network`, and `multi-network`
class.jetpack-ixr-client.php CHANGED
@@ -10,7 +10,7 @@
10
  class Jetpack_IXR_Client extends IXR_Client {
11
  var $jetpack_args = null;
12
 
13
- function Jetpack_IXR_Client( $args = array(), $path = false, $port = 80, $timeout = 15 ) {
14
  $defaults = array(
15
  'url' => Jetpack::xmlrpc_api_url(),
16
  'user_id' => 0,
@@ -99,8 +99,8 @@ class Jetpack_IXR_Client extends IXR_Client {
99
  class Jetpack_IXR_ClientMulticall extends Jetpack_IXR_Client {
100
  var $calls = array();
101
 
102
- function Jetpack_IXR_ClientMulticall( $args = array(), $path = false, $port = 80, $timeout = 15 ) {
103
- parent::Jetpack_IXR_Client( $args, $path, $port, $timeout );
104
  }
105
 
106
  function addCall() {
10
  class Jetpack_IXR_Client extends IXR_Client {
11
  var $jetpack_args = null;
12
 
13
+ function __construct( $args = array(), $path = false, $port = 80, $timeout = 15 ) {
14
  $defaults = array(
15
  'url' => Jetpack::xmlrpc_api_url(),
16
  'user_id' => 0,
99
  class Jetpack_IXR_ClientMulticall extends Jetpack_IXR_Client {
100
  var $calls = array();
101
 
102
+ function __construct( $args = array(), $path = false, $port = 80, $timeout = 15 ) {
103
+ parent::__construct( $args, $path, $port, $timeout );
104
  }
105
 
106
  function addCall() {
class.jetpack-modules-list-table.php CHANGED
@@ -19,7 +19,8 @@ class Jetpack_Modules_List_Table extends WP_List_Table {
19
  $this->items = $this->all_items = Jetpack_Admin::init()->get_modules();
20
  $this->items = $this->filter_displayed_table_items( $this->items );
21
  $this->items = apply_filters( 'jetpack_modules_list_table_items', $this->items );
22
- $this->_column_headers = array( $this->get_columns(), array(), array() );
 
23
 
24
  wp_register_script(
25
  'models.jetpack-modules',
@@ -50,13 +51,23 @@ class Jetpack_Modules_List_Table extends WP_List_Table {
50
  'i18n' => array(
51
  'search_placeholder' => __( 'Search Modules…', 'jetpack' ),
52
  ),
 
53
  'nonces' => array(
54
  'bulk' => wp_create_nonce( 'bulk-jetpack_page_jetpack_modules' ),
55
  ),
 
56
  ) );
57
 
58
  wp_enqueue_script( 'jetpack-modules-list-table' );
59
- add_action( 'admin_footer', array( $this, 'js_templates' ), 9 );
 
 
 
 
 
 
 
 
60
  }
61
 
62
  function js_templates() {
@@ -66,7 +77,20 @@ class Jetpack_Modules_List_Table extends WP_List_Table {
66
  if ( data.items.length ) {
67
  _.each( data.items, function( item, key, list ) {
68
  if ( item === undefined ) return;
69
- #>
 
 
 
 
 
 
 
 
 
 
 
 
 
70
  <tr class="jetpack-module <# if ( ++i % 2 ) { #> alternate<# } #><# if ( item.activated ) { #> active<# } #><# if ( ! item.available ) { #> unavailable<# } #>" id="{{{ item.module }}}">
71
  <th scope="row" class="check-column">
72
  <input type="checkbox" name="modules[]" value="{{{ item.module }}}" />
@@ -77,7 +101,7 @@ class Jetpack_Modules_List_Table extends WP_List_Table {
77
  <# if ( item.configurable ) { #>
78
  <span class='configure'>{{{ item.configurable }}}</span>
79
  <# } #>
80
- <# if ( item.activated && 'vaultpress' !== item.module ) { #>
81
  <span class='delete'><a href="<?php echo admin_url( 'admin.php' ); ?>?page=jetpack&#038;action=deactivate&#038;module={{{ item.module }}}&#038;_wpnonce={{{ item.deactivate_nonce }}}"><?php _e( 'Deactivate', 'jetpack' ); ?></a></span>
82
  <# } else if ( item.available ) { #>
83
  <span class='activate'><a href="<?php echo admin_url( 'admin.php' ); ?>?page=jetpack&#038;action=activate&#038;module={{{ item.module }}}&#038;_wpnonce={{{ item.activate_nonce }}}"><?php _e( 'Activate', 'jetpack' ); ?></a></span>
@@ -115,7 +139,7 @@ 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
- if( 'Jumpstart' == $title ) {
119
  continue;
120
  }
121
  $key = sanitize_title( $title );
@@ -148,7 +172,11 @@ class Jetpack_Modules_List_Table extends WP_List_Table {
148
  if ( ! is_array( $module ) || empty( $module ) )
149
  return false;
150
 
151
- return ! ( $module['requires_connection'] && ! Jetpack::is_active() );
 
 
 
 
152
  }
153
 
154
  static function is_module_displayed( $module ) {
@@ -297,6 +325,15 @@ class Jetpack_Modules_List_Table extends WP_List_Table {
297
  }
298
  }
299
 
 
 
 
 
 
 
 
 
 
300
  /**
301
  * Core switched their `display_tablenav()` method to protected, so we can't access it directly.
302
  * Instead, let's include an access function to make it doable without errors!
19
  $this->items = $this->all_items = Jetpack_Admin::init()->get_modules();
20
  $this->items = $this->filter_displayed_table_items( $this->items );
21
  $this->items = apply_filters( 'jetpack_modules_list_table_items', $this->items );
22
+ $this->_column_headers = array( $this->get_columns(), array(), array(), 'name' );
23
+ $modal_info = isset( $_GET['info'] ) ? $_GET['info'] : false;
24
 
25
  wp_register_script(
26
  'models.jetpack-modules',
51
  'i18n' => array(
52
  'search_placeholder' => __( 'Search Modules…', 'jetpack' ),
53
  ),
54
+ 'modalinfo' => $this->module_info_check( $modal_info, $this->all_items ),
55
  'nonces' => array(
56
  'bulk' => wp_create_nonce( 'bulk-jetpack_page_jetpack_modules' ),
57
  ),
58
+ 'coreIconAvailable' => Jetpack::jetpack_site_icon_available_in_core(),
59
  ) );
60
 
61
  wp_enqueue_script( 'jetpack-modules-list-table' );
62
+
63
+ /**
64
+ * Filters the js_templates callback value
65
+ *
66
+ * @since 3.6.0
67
+ *
68
+ * @param array array( $this, 'js_templates' ) js_templates callback.
69
+ */
70
+ add_action( 'admin_footer', apply_filters( 'jetpack_modules_list_table_js_template_callback', array( $this, 'js_templates' ) ), 9 );
71
  }
72
 
73
  function js_templates() {
77
  if ( data.items.length ) {
78
  _.each( data.items, function( item, key, list ) {
79
  if ( item === undefined ) return;
80
+ if ( jetpackModulesData.coreIconAvailable && 'site-icon' == item.module ) { #>
81
+ <tr class="jetpack-module deprecated <# if ( ++i % 2 ) { #> alternate<# } #>" id="site-icon-deprecated">
82
+ <th scope="row" class="check-column">
83
+ <input type="checkbox" name="modules[]" value="{{{ item.module }}}" disabled />
84
+ </th>
85
+ <td class='name column-name'>
86
+ <span class='info'>{{{ item.name }}}</span>
87
+ <div class="row-actions">
88
+ <span class="dep-msg"><?php _ex( 'WordPress now has Site Icon built in!', '"Site Icon" is the feature name.', 'jetpack' ); ?></span>
89
+ <span class='configure'><a href="<?php esc_html_e( admin_url( 'options-general.php' ), 'jetpack' ); ?>"><?php _e( 'configure' , 'jetpack' ); ?></a></span>
90
+ </div>
91
+ </td>
92
+ </tr>
93
+ <# return; } #>
94
  <tr class="jetpack-module <# if ( ++i % 2 ) { #> alternate<# } #><# if ( item.activated ) { #> active<# } #><# if ( ! item.available ) { #> unavailable<# } #>" id="{{{ item.module }}}">
95
  <th scope="row" class="check-column">
96
  <input type="checkbox" name="modules[]" value="{{{ item.module }}}" />
101
  <# if ( item.configurable ) { #>
102
  <span class='configure'>{{{ item.configurable }}}</span>
103
  <# } #>
104
+ <# if ( item.activated && 'vaultpress' !== item.module && item.available ) { #>
105
  <span class='delete'><a href="<?php echo admin_url( 'admin.php' ); ?>?page=jetpack&#038;action=deactivate&#038;module={{{ item.module }}}&#038;_wpnonce={{{ item.deactivate_nonce }}}"><?php _e( 'Deactivate', 'jetpack' ); ?></a></span>
106
  <# } else if ( item.available ) { #>
107
  <span class='activate'><a href="<?php echo admin_url( 'admin.php' ); ?>?page=jetpack&#038;action=activate&#038;module={{{ item.module }}}&#038;_wpnonce={{{ item.activate_nonce }}}"><?php _e( 'Activate', 'jetpack' ); ?></a></span>
139
  'all' => sprintf( $format, $title, $count, $url, $current ),
140
  );
141
  foreach ( $module_tags_unique as $title => $count ) {
142
+ if ( 'Jumpstart' == $title ) {
143
  continue;
144
  }
145
  $key = sanitize_title( $title );
172
  if ( ! is_array( $module ) || empty( $module ) )
173
  return false;
174
 
175
+ if ( Jetpack::is_development_mode() ) {
176
+ return ! ( $module['requires_connection'] );
177
+ } else {
178
+ return Jetpack::is_active();
179
+ }
180
  }
181
 
182
  static function is_module_displayed( $module ) {
325
  }
326
  }
327
 
328
+ //Check if the info parameter provided in the URL corresponds to an actual module
329
+ function module_info_check( $info = false, $modules ) {
330
+ if ( false == $info ) {
331
+ return false;
332
+ } else if ( array_key_exists( $info, $modules ) ) {
333
+ return $info;
334
+ }
335
+ }
336
+
337
  /**
338
  * Core switched their `display_tablenav()` method to protected, so we can't access it directly.
339
  * Instead, let's include an access function to make it doable without errors!
class.jetpack-network-sites-list-table.php CHANGED
@@ -6,7 +6,7 @@ if( ! class_exists( 'WP_List_Table' ) ) {
6
 
7
  class Jetpack_Network_Sites_List_Table extends WP_List_Table {
8
 
9
-
10
  public function get_columns() {
11
  // site name, status, username connected under
12
  $columns = array(
@@ -27,9 +27,9 @@ class Jetpack_Network_Sites_List_Table extends WP_List_Table {
27
 
28
  // Get sites
29
  $sites = $jpms->wp_get_sites( array( 'exclude_blogs' => array( 1 ) ) );
30
-
31
  // Setup pagination
32
- $per_page = 40;
33
  $current_page = $this->get_pagenum();
34
  $total_items = count( $sites );
35
  $sites = array_slice( $sites, ( ( $current_page-1 ) * $per_page ), $per_page );
@@ -55,15 +55,15 @@ class Jetpack_Network_Sites_List_Table extends WP_List_Table {
55
  'edit' => '<a href="' . network_admin_url( 'site-info.php?id=' . $item->blog_id ) . '">' . __( 'Edit', 'jetpack' ) . '</a>',
56
  'dashboard' => '<a href="' . get_admin_url( $item->blog_id, '', 'admin' ) . '">Dashboard</a>',
57
  'view' => '<a href="' . get_site_url( $item->blog_id, '', 'admin' ) . '">View</a>',
58
- 'jetpack-' . $item->blog_id => '<a href="' . $jp_url . '">Jetpack</a>',
59
  );
60
 
61
  return sprintf('%1$s %2$s', '<strong>' . get_blog_option( $item->blog_id, 'blogname' ) . '</strong>', $this->row_actions($actions) );
62
  }
63
 
64
  public function column_blog_path( $item ) {
65
- return
66
- '<a href="' .
67
  get_site_url( $item->blog_id, '', 'admin' ) .
68
  '">' .
69
  str_replace( array( 'http://', 'https://' ), '', get_site_url( $item->blog_id, '', 'admin' ) ) .
@@ -76,7 +76,7 @@ class Jetpack_Network_Sites_List_Table extends WP_List_Table {
76
 
77
  switch_to_blog( $item->blog_id );
78
  if( $jp->is_active() ) {
79
- // Build url for disconnecting
80
  $url = $jpms->get_url( array(
81
  'name' => 'subsitedisconnect',
82
  'site_id' => $item->blog_id,
@@ -86,7 +86,7 @@ class Jetpack_Network_Sites_List_Table extends WP_List_Table {
86
  return '<a href="' . $url . '">Disconnect</a>';
87
  }
88
  restore_current_blog();
89
-
90
  // Build URL for connecting
91
  $url = $jpms->get_url( array(
92
  'name' => 'subsiteregister',
@@ -107,7 +107,7 @@ class Jetpack_Network_Sites_List_Table extends WP_List_Table {
107
  function column_cb($item) {
108
  return sprintf(
109
  '<input type="checkbox" name="bulk[]" value="%s" />', $item->blog_id
110
- );
111
  }
112
 
113
  public function process_bulk_action() {
@@ -123,7 +123,7 @@ class Jetpack_Network_Sites_List_Table extends WP_List_Table {
123
  case 'connect':
124
  foreach( $_POST['bulk'] as $k => $site ) {
125
  $jpms->do_subsiteregister( $site );
126
- }
127
  break;
128
  case 'disconnect':
129
  foreach( $_POST['bulk'] as $k => $site ) {
6
 
7
  class Jetpack_Network_Sites_List_Table extends WP_List_Table {
8
 
9
+
10
  public function get_columns() {
11
  // site name, status, username connected under
12
  $columns = array(
27
 
28
  // Get sites
29
  $sites = $jpms->wp_get_sites( array( 'exclude_blogs' => array( 1 ) ) );
30
+
31
  // Setup pagination
32
+ $per_page = 25;
33
  $current_page = $this->get_pagenum();
34
  $total_items = count( $sites );
35
  $sites = array_slice( $sites, ( ( $current_page-1 ) * $per_page ), $per_page );
55
  'edit' => '<a href="' . network_admin_url( 'site-info.php?id=' . $item->blog_id ) . '">' . __( 'Edit', 'jetpack' ) . '</a>',
56
  'dashboard' => '<a href="' . get_admin_url( $item->blog_id, '', 'admin' ) . '">Dashboard</a>',
57
  'view' => '<a href="' . get_site_url( $item->blog_id, '', 'admin' ) . '">View</a>',
58
+ 'jetpack-' . $item->blog_id => '<a href="' . $jp_url . '">Jetpack</a>',
59
  );
60
 
61
  return sprintf('%1$s %2$s', '<strong>' . get_blog_option( $item->blog_id, 'blogname' ) . '</strong>', $this->row_actions($actions) );
62
  }
63
 
64
  public function column_blog_path( $item ) {
65
+ return
66
+ '<a href="' .
67
  get_site_url( $item->blog_id, '', 'admin' ) .
68
  '">' .
69
  str_replace( array( 'http://', 'https://' ), '', get_site_url( $item->blog_id, '', 'admin' ) ) .
76
 
77
  switch_to_blog( $item->blog_id );
78
  if( $jp->is_active() ) {
79
+ // Build url for disconnecting
80
  $url = $jpms->get_url( array(
81
  'name' => 'subsitedisconnect',
82
  'site_id' => $item->blog_id,
86
  return '<a href="' . $url . '">Disconnect</a>';
87
  }
88
  restore_current_blog();
89
+
90
  // Build URL for connecting
91
  $url = $jpms->get_url( array(
92
  'name' => 'subsiteregister',
107
  function column_cb($item) {
108
  return sprintf(
109
  '<input type="checkbox" name="bulk[]" value="%s" />', $item->blog_id
110
+ );
111
  }
112
 
113
  public function process_bulk_action() {
123
  case 'connect':
124
  foreach( $_POST['bulk'] as $k => $site ) {
125
  $jpms->do_subsiteregister( $site );
126
+ }
127
  break;
128
  case 'disconnect':
129
  foreach( $_POST['bulk'] as $k => $site ) {
class.jetpack-network.php CHANGED
@@ -45,7 +45,8 @@ class Jetpack_Network {
45
  * @since 2.9
46
  */
47
  private function __construct() {
48
- require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); // For the is_plugin... check
 
49
  /*
50
  * Sanity check to ensure the install is Multisite and we
51
  * are in Network Admin
@@ -255,9 +256,9 @@ class Jetpack_Network {
255
  * @since 2.9
256
  */
257
  public function add_network_admin_menu() {
258
- add_menu_page( __('Jetpack', 'jetpack'), __('Jetpack', 'jetpack'), 'read', 'jetpack', array($this, 'network_admin_page'), 'div', 3);
259
- add_submenu_page('jetpack', __('Jetpack Sites', 'jetpack'), __('Sites', 'jetpack'), 'manage_options', 'jetpack', array($this, 'network_admin_page'));
260
- add_submenu_page('jetpack', __('Settings', 'jetpack'), __('Settings', 'jetpack'), 'read', 'jetpack-settings', array($this, 'render_network_admin_settings_page'));
261
 
262
  /**
263
  * As jetpack_register_genericons is by default fired off a hook,
@@ -356,6 +357,9 @@ class Jetpack_Network {
356
  * @see Jetpack_Network::jetpack_sites_list()
357
  */
358
  public function do_subsitedisconnect( $site_id = null ) {
 
 
 
359
  $site_id = ( is_null( $site_id ) ) ? $_GET['site_id']: $site_id;
360
  switch_to_blog( $site_id );
361
  Jetpack::disconnect();
@@ -370,6 +374,10 @@ class Jetpack_Network {
370
  * @see Jetpack_Network::jetpack_sites_list();
371
  */
372
  public function do_subsiteregister( $site_id = null ) {
 
 
 
 
373
  $jp = Jetpack::init();
374
 
375
  // Figure out what site we are working on
@@ -580,6 +588,31 @@ class Jetpack_Network {
580
  */
581
  public function save_network_settings_page() {
582
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
583
  /*
584
  * Fields
585
  *
@@ -611,7 +644,12 @@ class Jetpack_Network {
611
  );
612
 
613
  update_site_option( $this->settings_name, $data );
614
- wp_safe_redirect(add_query_arg(array('page' => 'jetpack-settings', 'updated' => 'true'), network_admin_url('admin.php')));
 
 
 
 
 
615
  exit();
616
  }
617
 
@@ -635,7 +673,8 @@ class Jetpack_Network {
635
 
636
  $data = array(
637
  'modules' => $modules,
638
- 'options' => $options
 
639
  );
640
 
641
  Jetpack::init()->load_view( 'admin/network-settings.php', $data );
45
  * @since 2.9
46
  */
47
  private function __construct() {
48
+ require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); // For the is_plugin... check
49
+ require_once( JETPACK__PLUGIN_DIR . 'modules/protect/shared-functions.php' ); // For managing the global whitelist
50
  /*
51
  * Sanity check to ensure the install is Multisite and we
52
  * are in Network Admin
256
  * @since 2.9
257
  */
258
  public function add_network_admin_menu() {
259
+ add_menu_page( __( 'Jetpack', 'jetpack' ), __( 'Jetpack', 'jetpack' ), 'manage_network_plugins', 'jetpack', array( $this, 'network_admin_page' ), 'div', 3 );
260
+ add_submenu_page( 'jetpack', __( 'Jetpack Sites', 'jetpack' ), __( 'Sites', 'jetpack' ), 'manage_sites', 'jetpack', array( $this, 'network_admin_page' ) );
261
+ add_submenu_page( 'jetpack', __( 'Settings', 'jetpack' ), __( 'Settings', 'jetpack' ), 'manage_network_plugins', 'jetpack-settings', array( $this, 'render_network_admin_settings_page' ) );
262
 
263
  /**
264
  * As jetpack_register_genericons is by default fired off a hook,
357
  * @see Jetpack_Network::jetpack_sites_list()
358
  */
359
  public function do_subsitedisconnect( $site_id = null ) {
360
+ if ( ! current_user_can( 'jetpack_disconnect' ) ) {
361
+ return;
362
+ }
363
  $site_id = ( is_null( $site_id ) ) ? $_GET['site_id']: $site_id;
364
  switch_to_blog( $site_id );
365
  Jetpack::disconnect();
374
  * @see Jetpack_Network::jetpack_sites_list();
375
  */
376
  public function do_subsiteregister( $site_id = null ) {
377
+ if ( ! current_user_can( 'jetpack_disconnect' ) ) {
378
+ return;
379
+ }
380
+
381
  $jp = Jetpack::init();
382
 
383
  // Figure out what site we are working on
588
  */
589
  public function save_network_settings_page() {
590
 
591
+ if ( ! wp_verify_nonce( $_POST['_wpnonce'], 'jetpack-network-settings' ) ) {
592
+ // no nonce, push back to settings page
593
+ wp_safe_redirect(
594
+ add_query_arg(
595
+ array( 'page' => 'jetpack-settings' ),
596
+ network_admin_url( 'admin.php' )
597
+ )
598
+ );
599
+ exit();
600
+ }
601
+
602
+ // try to save the Protect whitelist before anything else, since that action can result in errors
603
+ $whitelist = str_replace( ' ', '', $_POST['global-whitelist'] );
604
+ $whitelist = explode( PHP_EOL, $whitelist );
605
+ $result = jetpack_protect_save_whitelist( $whitelist, $global = true );
606
+ if ( is_wp_error( $result ) ) {
607
+ wp_safe_redirect(
608
+ add_query_arg(
609
+ array( 'page' => 'jetpack-settings', 'error' => 'jetpack_protect_whitelist' ),
610
+ network_admin_url( 'admin.php' )
611
+ )
612
+ );
613
+ exit();
614
+ }
615
+
616
  /*
617
  * Fields
618
  *
644
  );
645
 
646
  update_site_option( $this->settings_name, $data );
647
+ wp_safe_redirect(
648
+ add_query_arg(
649
+ array( 'page' => 'jetpack-settings', 'updated' => 'true' ),
650
+ network_admin_url( 'admin.php' )
651
+ )
652
+ );
653
  exit();
654
  }
655
 
673
 
674
  $data = array(
675
  'modules' => $modules,
676
+ 'options' => $options,
677
+ 'jetpack_protect_whitelist' => jetpack_protect_format_whitelist(),
678
  );
679
 
680
  Jetpack::init()->load_view( 'admin/network-settings.php', $data );
class.jetpack-options.php CHANGED
@@ -33,7 +33,11 @@ class Jetpack_Options {
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',
@@ -130,10 +134,18 @@ class Jetpack_Options {
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
 
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
+ 'restapi_stats_cache', // (array) Stats Cache data.
37
+ 'unique_connection', // (array) A flag to determine a unique connection to wordpress.com two values "connected" and "disconnected" with values for how many times each has occured
38
+ 'protect_whitelist' // (array) IP Address for the Protect module to ignore
39
  );
40
+
41
  case 'private' :
42
  return array(
43
  'register',
134
  *
135
  * @param string $name Option name
136
  * @param mixed $value Option value
137
+ * @param string $autoload If not compact option, allows specifying whether to autoload or not.
138
  */
139
+ public static function update_option( $name, $value, $autoload = null ) {
140
  do_action( 'pre_update_jetpack_option_' . $name, $name, $value );
141
  if ( self::is_valid( $name, 'non_compact' ) ) {
142
+ /**
143
+ * Allowing update_option to change autoload status only shipped in WordPress v4.2
144
+ * @link https://github.com/WordPress/WordPress/commit/305cf8b95
145
+ */
146
+ if ( version_compare( $GLOBALS['wp_version'], '4.2', '>=' ) ) {
147
+ return update_option( "jetpack_$name", $value, $autoload );
148
+ }
149
  return update_option( "jetpack_$name", $value );
150
  }
151
 
class.jetpack-signature.php CHANGED
@@ -7,7 +7,7 @@ class Jetpack_Signature {
7
  var $token;
8
  var $secret;
9
 
10
- function Jetpack_Signature( $access_token, $time_diff = 0 ) {
11
  $secret = explode( '.', $access_token );
12
  if ( 2 != count( $secret ) )
13
  return;
7
  var $token;
8
  var $secret;
9
 
10
+ function __construct( $access_token, $time_diff = 0 ) {
11
  $secret = explode( '.', $access_token );
12
  if ( 2 != count( $secret ) )
13
  return;
class.jetpack-sync.php CHANGED
@@ -168,6 +168,11 @@ class Jetpack_Sync {
168
  return false;
169
  }
170
 
 
 
 
 
 
171
  $sync_data = $this->get_common_sync_data();
172
 
173
  $wp_importing = defined( 'WP_IMPORTING' ) && WP_IMPORTING;
168
  return false;
169
  }
170
 
171
+ // Don't sync anything while in development mode
172
+ if ( Jetpack::is_development_mode() ) {
173
+ return false;
174
+ }
175
+
176
  $sync_data = $this->get_common_sync_data();
177
 
178
  $wp_importing = defined( 'WP_IMPORTING' ) && WP_IMPORTING;
class.jetpack-twitter-cards.php CHANGED
@@ -47,12 +47,8 @@ class Jetpack_Twitter_Cards {
47
  $featured = Jetpack_PostImages::from_thumbnail( $post->ID, 240, 240 );
48
  if ( !empty( $featured ) && count( $featured ) > 0 ) {
49
  if ( (int) $featured[0]['src_width'] >= 280 && (int) $featured[0]['src_height'] >= 150 ) {
50
- if ( 'image' === get_post_format( $post->ID ) ) {
51
- $card_type = 'photo';
52
- } else {
53
- $card_type = 'summary_large_image';
54
- }
55
- $og_tags['twitter:image:src'] = add_query_arg( 'w', 640, $featured[0]['src'] );
56
  } else {
57
  $og_tags['twitter:image'] = add_query_arg( 'w', 240, $featured[0]['src'] );
58
  }
@@ -72,10 +68,10 @@ class Jetpack_Twitter_Cards {
72
 
73
  if ( 'gallery' == $extract['type'] ) {
74
  list( $og_tags, $card_type ) = self::twitter_cards_define_type_based_on_image_count( $og_tags, $extract );
75
- } else if ( 'video' == $extract['type'] ) {
76
  // Leave as summary, but with large pict of poster frame (we know those comply to Twitter's size requirements)
77
  $card_type = 'summary_large_image';
78
- $og_tags['twitter:image:src'] = add_query_arg( 'w', 640, $extract['image'] );
79
  } else {
80
  list( $og_tags, $card_type ) = self::twitter_cards_define_type_based_on_image_count( $og_tags, $extract );
81
  }
@@ -95,12 +91,8 @@ class Jetpack_Twitter_Cards {
95
  // Make sure we have a description for Twitter, their validator isn't happy without some content (single space not valid).
96
  if ( ! isset( $og_tags['og:description'] ) || '' == trim( $og_tags['og:description'] ) || __('Visit the post for more.', 'jetpack') == $og_tags['og:description'] ) { // empty( trim( $og_tags['og:description'] ) ) isn't valid php
97
  $has_creator = ( ! empty($og_tags['twitter:creator']) && '@wordpressdotcom' != $og_tags['twitter:creator'] ) ? true : false;
98
- if ( 'photo' == $card_type ) {
99
- $og_tags['twitter:description'] = ( $has_creator ) ? sprintf( __('Photo post by %s.', 'jetpack'), $og_tags['twitter:creator'] ) : __('Photo post.', 'jetpack');
100
- } elseif ( ! empty( $extract ) && 'video' == $extract['type'] ) { // use $extract['type'] since $card_type is 'summary' for video posts
101
  $og_tags['twitter:description'] = ( $has_creator ) ? sprintf( __('Video post by %s.', 'jetpack'), $og_tags['twitter:creator'] ) : __('Video post.', 'jetpack');
102
- } elseif ( 'gallery' == $card_type ) {
103
- $og_tags['twitter:description'] = ( $has_creator ) ? sprintf( __('Gallery post by %s.', 'jetpack'), $og_tags['twitter:creator'] ) : __('Gallery post.', 'jetpack');
104
  } else {
105
  $og_tags['twitter:description'] = ( $has_creator ) ? sprintf( __('Post by %s.', 'jetpack'), $og_tags['twitter:creator'] ) : __('Visit the post for more.', 'jetpack');
106
  }
@@ -146,33 +138,15 @@ class Jetpack_Twitter_Cards {
146
 
147
  // Not falling back on Gravatar, because there's no way to know if we end up with an auto-generated one.
148
 
149
- } elseif ( 1 == $img_count && ( 'image' == $extract['type'] || 'gallery' == $extract['type'] ) ) {
150
- // 1 image = photo
151
  // Test for $extract['type'] to limit to image and gallery, so we don't send a potential fallback image like a Gravatar as a photo post.
152
- $card_type = 'photo';
153
  $og_tags['twitter:image'] = add_query_arg( 'w', 1400, ( empty( $extract['images'] ) ) ? $extract['image'] : $extract['images'][0]['url'] );
154
- } elseif ( $img_count <= 3 ) {
155
- // 2-3 images = summary with small thumbnail
156
- $og_tags['twitter:image'] = add_query_arg( 'w', 240, ( empty( $extract['images'] ) ) ? $extract['image'] : $extract['images'][0]['url'] );
157
- } elseif ( $img_count >= 4 ) {
158
- // >= 4 images = gallery
159
- $card_type = 'gallery';
160
- $og_tags = self::twitter_cards_gallery( $extract, $og_tags );
161
  }
162
 
163
  return array( $og_tags, $card_type );
164
  }
165
 
166
- static function twitter_cards_gallery( $extract, $og_tags ) {
167
- foreach( $extract['images'] as $key => $value ) {
168
- if ( $key > 3 ) {
169
- break; // only the first 4 appear in card template (https://dev.twitter.com/cards/types/gallery)
170
- }
171
- $og_tags[ 'twitter:image' . $key ] = add_query_arg( 'w', 640, $value['url'] );
172
- }
173
- return $og_tags;
174
- }
175
-
176
  static function twitter_cards_output( $og_tag ) {
177
  return ( false !== strpos( $og_tag, 'twitter:' ) ) ? preg_replace( '/property="([^"]+)"/', 'name="\1"', $og_tag ) : $og_tag;
178
  }
47
  $featured = Jetpack_PostImages::from_thumbnail( $post->ID, 240, 240 );
48
  if ( !empty( $featured ) && count( $featured ) > 0 ) {
49
  if ( (int) $featured[0]['src_width'] >= 280 && (int) $featured[0]['src_height'] >= 150 ) {
50
+ $card_type = 'summary_large_image';
51
+ $og_tags['twitter:image'] = add_query_arg( 'w', 640, $featured[0]['src'] );
 
 
 
 
52
  } else {
53
  $og_tags['twitter:image'] = add_query_arg( 'w', 240, $featured[0]['src'] );
54
  }
68
 
69
  if ( 'gallery' == $extract['type'] ) {
70
  list( $og_tags, $card_type ) = self::twitter_cards_define_type_based_on_image_count( $og_tags, $extract );
71
+ } elseif ( 'video' == $extract['type'] ) {
72
  // Leave as summary, but with large pict of poster frame (we know those comply to Twitter's size requirements)
73
  $card_type = 'summary_large_image';
74
+ $og_tags['twitter:image'] = add_query_arg( 'w', 640, $extract['image'] );
75
  } else {
76
  list( $og_tags, $card_type ) = self::twitter_cards_define_type_based_on_image_count( $og_tags, $extract );
77
  }
91
  // Make sure we have a description for Twitter, their validator isn't happy without some content (single space not valid).
92
  if ( ! isset( $og_tags['og:description'] ) || '' == trim( $og_tags['og:description'] ) || __('Visit the post for more.', 'jetpack') == $og_tags['og:description'] ) { // empty( trim( $og_tags['og:description'] ) ) isn't valid php
93
  $has_creator = ( ! empty($og_tags['twitter:creator']) && '@wordpressdotcom' != $og_tags['twitter:creator'] ) ? true : false;
94
+ if ( ! empty( $extract ) && 'video' == $extract['type'] ) { // use $extract['type'] since $card_type is 'summary' for video posts
 
 
95
  $og_tags['twitter:description'] = ( $has_creator ) ? sprintf( __('Video post by %s.', 'jetpack'), $og_tags['twitter:creator'] ) : __('Video post.', 'jetpack');
 
 
96
  } else {
97
  $og_tags['twitter:description'] = ( $has_creator ) ? sprintf( __('Post by %s.', 'jetpack'), $og_tags['twitter:creator'] ) : __('Visit the post for more.', 'jetpack');
98
  }
138
 
139
  // Not falling back on Gravatar, because there's no way to know if we end up with an auto-generated one.
140
 
141
+ } elseif ( $img_count && ( 'image' == $extract['type'] || 'gallery' == $extract['type'] ) ) {
 
142
  // Test for $extract['type'] to limit to image and gallery, so we don't send a potential fallback image like a Gravatar as a photo post.
143
+ $card_type = 'summary_large_image';
144
  $og_tags['twitter:image'] = add_query_arg( 'w', 1400, ( empty( $extract['images'] ) ) ? $extract['image'] : $extract['images'][0]['url'] );
 
 
 
 
 
 
 
145
  }
146
 
147
  return array( $og_tags, $card_type );
148
  }
149
 
 
 
 
 
 
 
 
 
 
 
150
  static function twitter_cards_output( $og_tag ) {
151
  return ( false !== strpos( $og_tag, 'twitter:' ) ) ? preg_replace( '/property="([^"]+)"/', 'name="\1"', $og_tag ) : $og_tag;
152
  }
class.jetpack-user-agent.php CHANGED
@@ -100,7 +100,7 @@ class Jetpack_User_Agent_Info {
100
  );
101
 
102
  //The constructor. Initializes default variables.
103
- function Jetpack_User_Agent_Info()
104
  {
105
  if ( !empty( $_SERVER['HTTP_USER_AGENT'] ) )
106
  $this->useragent = strtolower( $_SERVER['HTTP_USER_AGENT'] );
100
  );
101
 
102
  //The constructor. Initializes default variables.
103
+ function __construct()
104
  {
105
  if ( !empty( $_SERVER['HTTP_USER_AGENT'] ) )
106
  $this->useragent = strtolower( $_SERVER['HTTP_USER_AGENT'] );
class.jetpack-xmlrpc-server.php CHANGED
@@ -324,6 +324,7 @@ class Jetpack_XMLRPC_Server {
324
  $post_body = is_null( $json_api_args[2] ) ? null : (string) $json_api_args[2];
325
  $my_id = (int) $json_api_args[3];
326
  $user_details = (array) $json_api_args[4];
 
327
 
328
  if ( !$verify_api_user_args ) {
329
  $user_id = 0;
@@ -353,6 +354,27 @@ class Jetpack_XMLRPC_Server {
353
  error_log( "-- end json api via jetpack debugging -- " );
354
  */
355
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
356
  $old_user = wp_get_current_user();
357
  wp_set_current_user( $user_id );
358
 
324
  $post_body = is_null( $json_api_args[2] ) ? null : (string) $json_api_args[2];
325
  $my_id = (int) $json_api_args[3];
326
  $user_details = (array) $json_api_args[4];
327
+ $locale = (string) $json_api_args[5];
328
 
329
  if ( !$verify_api_user_args ) {
330
  $user_id = 0;
354
  error_log( "-- end json api via jetpack debugging -- " );
355
  */
356
 
357
+ if ( 'en' !== $locale ) {
358
+ // .org mo files are named slightly different from .com, and all we have is this the locale -- try to guess them.
359
+ $new_locale = $locale;
360
+ if ( strpos( $locale, '-' ) !== false ) {
361
+ $pieces = explode( '-', $locale );
362
+ $new_locale = $locale_pieces[0];
363
+ $new_locale .= ( ! empty( $locale_pieces[1] ) ) ? '_' . strtoupper( $locale_pieces[1] ) : '';
364
+ } else {
365
+ // .com might pass 'fr' because thats what our language files are named as, where core seems
366
+ // to do fr_FR - so try that if we don't think we can load the file.
367
+ if ( ! file_exists( WP_LANG_DIR . '/' . $locale . '.mo' ) ) {
368
+ $new_locale = $locale . '_' . strtoupper( $locale );
369
+ }
370
+ }
371
+
372
+ if ( file_exists( WP_LANG_DIR . '/' . $new_locale . '.mo' ) ) {
373
+ unload_textdomain( 'default' );
374
+ load_textdomain( 'default', WP_LANG_DIR . '/' . $new_locale . '.mo' );
375
+ }
376
+ }
377
+
378
  $old_user = wp_get_current_user();
379
  wp_set_current_user( $user_id );
380
 
class.jetpack.php CHANGED
@@ -178,7 +178,6 @@ class Jetpack {
178
  // 2 Click Social Media Buttons
179
  'add-link-to-facebook/add-link-to-facebook.php', // Add Link to Facebook
180
  'add-meta-tags/add-meta-tags.php', // Add Meta Tags
181
- 'all-in-one-seo-pack/all_in_one_seo_pack.php', // All in One SEO Pack
182
  'easy-facebook-share-thumbnails/esft.php', // Easy Facebook Share Thumbnail
183
  'facebook/facebook.php', // Facebook (official plugin)
184
  'facebook-awd/AWD_facebook.php', // Facebook AWD All in one
@@ -377,12 +376,25 @@ class Jetpack {
377
  add_action( 'init', array( __CLASS__, 'activate_new_modules' ) );
378
  do_action( 'jetpack_sync_all_registered_options' );
379
  }
 
 
 
 
 
 
 
 
 
 
 
 
380
  }
381
 
382
  if ( get_option( 'jetpack_json_api_full_management' ) ) {
383
  delete_option( 'jetpack_json_api_full_management' );
384
  self::activate_manage();
385
  }
 
386
  }
387
 
388
  static function activate_manage( ) {
@@ -398,7 +410,7 @@ class Jetpack {
398
  /**
399
  * Constructor. Initializes WordPress hooks
400
  */
401
- private function Jetpack() {
402
  /*
403
  * Check for and alert any deprecated hooks
404
  */
@@ -442,7 +454,8 @@ class Jetpack {
442
  'stylesheet',
443
  "theme_mods_{$theme_slug}",
444
  'jetpack_sync_non_public_post_stati',
445
- 'jetpack_options'
 
446
  );
447
 
448
  foreach( Jetpack_Options::get_option_names( 'non-compact' ) as $option ) {
@@ -456,8 +469,7 @@ class Jetpack {
456
  $this->sync->mock_option( 'is_main_network', array( $this, 'is_main_network_option' ) );
457
  $this->sync->mock_option( 'is_multi_site', array( $this, 'is_multisite' ) );
458
  $this->sync->mock_option( 'main_network_site', array( $this, 'jetpack_main_network_site_option' ) );
459
- $this->sync->mock_option( 'single_user_site', array( $this, 'is_single_user_site' ) );
460
-
461
 
462
  /**
463
  * Trigger an update to the main_network_site when we update the blogname of a site.
@@ -471,6 +483,10 @@ class Jetpack {
471
  add_action( 'user_register', array( $this, 'is_single_user_site_invalidate' ) );
472
  add_action( 'deleted_user', array( $this, 'is_single_user_site_invalidate' ) );
473
 
 
 
 
 
474
  if ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST && isset( $_GET['for'] ) && 'jetpack' == $_GET['for'] ) {
475
  @ini_set( 'display_errors', false ); // Display errors can cause the XML to be not well formed.
476
 
@@ -574,6 +590,34 @@ class Jetpack {
574
  add_action( 'wp_print_styles', array( $this, 'implode_frontend_css' ), -1 ); // Run first
575
  add_action( 'wp_print_footer_scripts', array( $this, 'implode_frontend_css' ), -1 ); // Run first to trigger before `print_late_styles`
576
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
577
  }
578
 
579
  /**
@@ -725,6 +769,11 @@ class Jetpack {
725
  $caps = array( 'manage_options' );
726
  break;
727
  }
 
 
 
 
 
728
  /**
729
  * Pass through. If it's not development mode, these should match the admin page.
730
  * Let users disconnect if it's development mode, just in case things glitch.
@@ -891,7 +940,7 @@ class Jetpack {
891
  *
892
  * @return bool
893
  */
894
- public function is_single_user_site() {
895
 
896
  $user_query = new WP_User_Query( array(
897
  'blog_id' => get_current_blog_id(),
@@ -907,7 +956,7 @@ class Jetpack {
907
  * @return null
908
  */
909
  function is_single_user_site_invalidate() {
910
- do_action( 'update_option_jetpack_single_user_site', 'jetpack_single_user_site', (bool) $this->is_single_user_site() );
911
  }
912
 
913
 
@@ -951,8 +1000,14 @@ class Jetpack {
951
  $notice = __( 'In Development Mode, via the jetpack_development_mode filter.', 'jetpack' );
952
  }
953
 
954
- $output = '<div class="error"><p>' . $notice . '</p></div>';
955
- echo $output;
 
 
 
 
 
 
956
  }
957
  }
958
 
@@ -1085,8 +1140,10 @@ class Jetpack {
1085
  * Loads the currently active modules.
1086
  */
1087
  public static function load_modules() {
1088
- if( !self::is_active() && !self::is_development_mode() ) {
1089
- return;
 
 
1090
  }
1091
 
1092
  $version = Jetpack_Options::get_option( 'version' );
@@ -1594,14 +1651,14 @@ class Jetpack {
1594
  }
1595
  }
1596
 
1597
- $modules = apply_filters( 'jetpack_get_available_modules', $modules, $min_version, $max_version );
1598
 
1599
  if ( ! $min_version && ! $max_version ) {
1600
- return array_keys( $modules );
1601
  }
1602
 
1603
  $r = array();
1604
- foreach ( $modules as $slug => $introduced ) {
1605
  if ( $min_version && version_compare( $min_version, $introduced, '>=' ) ) {
1606
  continue;
1607
  }
@@ -1812,15 +1869,29 @@ class Jetpack {
1812
  */
1813
  $mod['feature'] = apply_filters( 'jetpack_module_feature', $mod['feature'], $module, $mod );
1814
 
1815
- return $mod;
 
 
 
 
 
 
 
 
 
 
 
 
1816
  }
1817
 
1818
  /**
1819
  * Like core's get_file_data implementation, but caches the result.
1820
  */
1821
  public static function get_file_data( $file, $headers ) {
 
 
1822
  $file_data_option = Jetpack_Options::get_option( 'file_data', array() );
1823
- $key = md5( $file . serialize( $headers ) );
1824
  $refresh_cache = is_admin() && isset( $_GET['page'] ) && 'jetpack' === substr( $_GET['page'], 0, 7 );
1825
 
1826
  // If we don't need to refresh the cache, and already have the value, short-circuit!
@@ -1856,6 +1927,12 @@ class Jetpack {
1856
  } else {
1857
  $active = array_diff( $active, array( 'vaultpress' ) );
1858
  }
 
 
 
 
 
 
1859
  return array_unique( $active );
1860
  }
1861
 
@@ -2265,6 +2342,25 @@ p {
2265
  Jetpack_Options::update_option( 'activated', 4 );
2266
  }
2267
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2268
  // Disable the Heartbeat cron
2269
  Jetpack_Heartbeat::init()->deactivate();
2270
  }
@@ -2299,6 +2395,21 @@ p {
2299
  * Attempts Jetpack registration. If it fail, a state flag is set: @see ::admin_page_load()
2300
  */
2301
  public static function try_registration() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2302
  $result = Jetpack::register();
2303
 
2304
  // If there was an error with registration and the site was not registered, record this so we can show a message.
@@ -2698,12 +2809,11 @@ p {
2698
  }
2699
 
2700
  function admin_banner_styles() {
2701
- global $wp_styles;
2702
-
2703
  $min = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
2704
 
2705
  wp_enqueue_style( 'jetpack', plugins_url( "css/jetpack-banners{$min}.css", JETPACK__PLUGIN_FILE ), false, JETPACK__VERSION . '-20121016' );
2706
- $wp_styles->add_data( 'jetpack', 'rtl', true );
 
2707
  }
2708
 
2709
  function admin_scripts() {
@@ -2728,6 +2838,7 @@ p {
2728
  return array_merge(
2729
  $jetpack_home,
2730
  array( 'settings' => sprintf( '<a href="%s">%s</a>', Jetpack::admin_url( 'page=jetpack_modules' ), __( 'Settings', 'jetpack' ) ) ),
 
2731
  $actions
2732
  );
2733
  }
@@ -2916,8 +3027,9 @@ p {
2916
  <?php _e( 'You have successfully disconnected Jetpack.', 'jetpack' ); ?>
2917
  <br />
2918
  <?php echo sprintf(
2919
- __( 'Would you tell us why? Just <a href="%s">answering two simple questions</a> would help us improve Jetpack.', 'jetpack' ),
2920
- 'https://jetpack.me/survey-disconnected/" target="_blank'
 
2921
  ); ?>
2922
  </h4>
2923
  </div>
@@ -3003,6 +3115,10 @@ p {
3003
  $client_server->authorize();
3004
  exit;
3005
  case 'register' :
 
 
 
 
3006
  check_admin_referer( 'jetpack-register' );
3007
  Jetpack::log( 'register' );
3008
  Jetpack::maybe_set_version_option();
@@ -3077,11 +3193,12 @@ p {
3077
  wp_safe_redirect( Jetpack::admin_url( 'page=jetpack' ) );
3078
  exit;
3079
  case 'unlink' :
 
3080
  check_admin_referer( 'jetpack-unlink' );
3081
  Jetpack::log( 'unlink' );
3082
  $this->unlink_user();
3083
  Jetpack::state( 'message', 'unlinked' );
3084
- wp_safe_redirect( Jetpack::admin_url() );
3085
  exit;
3086
  default:
3087
  do_action( 'jetpack_unrecognized_action', sanitize_key( $_GET['action'] ) );
@@ -3328,6 +3445,17 @@ p {
3328
  $user = wp_get_current_user();
3329
  $this->message = sprintf( __( '<strong>You have unlinked your account (%s) from WordPress.com.</strong>', 'jetpack' ), $user->user_login );
3330
  break;
 
 
 
 
 
 
 
 
 
 
 
3331
  }
3332
 
3333
  $deactivated_plugins = Jetpack::state( 'deactivated_plugins' );
@@ -3670,6 +3798,21 @@ p {
3670
  }
3671
  }
3672
  break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3673
  case 'jetpack-manage-opt-in':
3674
  if ( check_admin_referer( 'jetpack_manage_banner_opt_in' ) ) {
3675
  // This makes sure that we are redirect to jetpack home so that we can see the Success Message.
@@ -4453,6 +4596,11 @@ p {
4453
  // Initialize Jump Start for the first and only time.
4454
  if ( ! Jetpack_Options::get_option( 'jumpstart' ) ) {
4455
  Jetpack_Options::update_option( 'jumpstart', 'new_connection' );
 
 
 
 
 
4456
  };
4457
 
4458
  return true;
@@ -4705,6 +4853,10 @@ p {
4705
  }
4706
 
4707
  function xmlrpc_options( $options ) {
 
 
 
 
4708
  $options['jetpack_version'] = array(
4709
  'desc' => __( 'Jetpack Plugin Version', 'jetpack' ),
4710
  'readonly' => true,
@@ -4714,7 +4866,7 @@ p {
4714
  $options['jetpack_client_id'] = array(
4715
  'desc' => __( 'The Client ID/WP.com Blog ID of this site', 'jetpack' ),
4716
  'readonly' => true,
4717
- 'value' => Jetpack_Options::get_option( 'id' ),
4718
  );
4719
  return $options;
4720
  }
@@ -5429,6 +5581,7 @@ p {
5429
  */
5430
  $deprecated_list = array(
5431
  'jetpack_bail_on_shortcode' => 'jetpack_shortcodes_to_include',
 
5432
  );
5433
 
5434
  // This is a silly loop depth. Better way?
@@ -5606,22 +5759,89 @@ p {
5606
  }
5607
 
5608
  /*
5609
- * Check if an option of a Jetpack module has been updated.
5610
  *
5611
- * If any module option has been updated before Jump Start has been dismissed,
5612
- * update the 'jumpstart' option so we can hide Jump Start.
 
 
 
 
 
 
 
5613
  */
5614
- public static function jumpstart_has_updated_module_option( $option_name = '' ) {
5615
- // Bail if Jump Start has already been dismissed
5616
- if ( 'new_connection' !== Jetpack::get_option( 'jumpstart' ) ) {
5617
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5618
  }
5619
 
5620
- $jetpack = Jetpack::init();
 
 
 
 
5621
 
 
 
5622
 
5623
- // Manual build of module options
5624
- $option_names = array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5625
  'sharing-options',
5626
  'disabled_likes',
5627
  'disabled_reblogs',
@@ -5648,7 +5868,51 @@ p {
5648
  'site_logo',
5649
  );
5650
 
5651
- if ( in_array( $option_name, $option_names ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5652
  Jetpack_Options::update_option( 'jumpstart', 'jetpack_action_taken' );
5653
 
5654
  //Jump start is being dismissed send data to MC Stats
@@ -5699,7 +5963,7 @@ p {
5699
  public function wp_dashboard_setup() {
5700
  if ( self::is_active() ) {
5701
  add_action( 'jetpack_dashboard_widget', array( __CLASS__, 'dashboard_widget_footer' ), 999 );
5702
- } elseif ( ! self::is_development_mode() ) {
5703
  add_action( 'jetpack_dashboard_widget', array( $this, 'dashboard_widget_connect_to_wpcom' ) );
5704
  }
5705
 
@@ -5792,6 +6056,9 @@ p {
5792
  }
5793
 
5794
  public function dashboard_widget_connect_to_wpcom() {
 
 
 
5795
  ?>
5796
  <div class="wpcom-connect">
5797
  <div class="jp-emblem">
@@ -5816,4 +6083,53 @@ p {
5816
  <?php
5817
  }
5818
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5819
  }
178
  // 2 Click Social Media Buttons
179
  'add-link-to-facebook/add-link-to-facebook.php', // Add Link to Facebook
180
  'add-meta-tags/add-meta-tags.php', // Add Meta Tags
 
181
  'easy-facebook-share-thumbnails/esft.php', // Easy Facebook Share Thumbnail
182
  'facebook/facebook.php', // Facebook (official plugin)
183
  'facebook-awd/AWD_facebook.php', // Facebook AWD All in one
376
  add_action( 'init', array( __CLASS__, 'activate_new_modules' ) );
377
  do_action( 'jetpack_sync_all_registered_options' );
378
  }
379
+
380
+ //if Jetpack is connected check if jetpack_unique_connection exists and if not then set it
381
+ $jetpack_unique_connection = get_option( 'jetpack_unique_connection' );
382
+ $is_unique_connection = $jetpack_unique_connection && array_key_exists( 'version', $jetpack_unique_connection );
383
+ if ( ! $is_unique_connection ) {
384
+ $jetpack_unique_connection = array(
385
+ 'connected' => 1,
386
+ 'disconnected' => -1,
387
+ 'version' => '3.6.1'
388
+ );
389
+ update_option( 'jetpack_unique_connection', $jetpack_unique_connection );
390
+ }
391
  }
392
 
393
  if ( get_option( 'jetpack_json_api_full_management' ) ) {
394
  delete_option( 'jetpack_json_api_full_management' );
395
  self::activate_manage();
396
  }
397
+
398
  }
399
 
400
  static function activate_manage( ) {
410
  /**
411
  * Constructor. Initializes WordPress hooks
412
  */
413
+ private function __construct() {
414
  /*
415
  * Check for and alert any deprecated hooks
416
  */
454
  'stylesheet',
455
  "theme_mods_{$theme_slug}",
456
  'jetpack_sync_non_public_post_stati',
457
+ 'jetpack_options',
458
+ 'site_icon' // (int) - ID of core's Site Icon attachment ID
459
  );
460
 
461
  foreach( Jetpack_Options::get_option_names( 'non-compact' ) as $option ) {
469
  $this->sync->mock_option( 'is_main_network', array( $this, 'is_main_network_option' ) );
470
  $this->sync->mock_option( 'is_multi_site', array( $this, 'is_multisite' ) );
471
  $this->sync->mock_option( 'main_network_site', array( $this, 'jetpack_main_network_site_option' ) );
472
+ $this->sync->mock_option( 'single_user_site', array( 'Jetpack', 'is_single_user_site' ) );
 
473
 
474
  /**
475
  * Trigger an update to the main_network_site when we update the blogname of a site.
483
  add_action( 'user_register', array( $this, 'is_single_user_site_invalidate' ) );
484
  add_action( 'deleted_user', array( $this, 'is_single_user_site_invalidate' ) );
485
 
486
+ // Unlink user before deleting the user from .com
487
+ add_action( 'deleted_user', array( $this, 'unlink_user' ), 10, 1 );
488
+ add_action( 'remove_user_from_blog', array( $this, 'unlink_user' ), 10, 1 );
489
+
490
  if ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST && isset( $_GET['for'] ) && 'jetpack' == $_GET['for'] ) {
491
  @ini_set( 'display_errors', false ); // Display errors can cause the XML to be not well formed.
492
 
590
  add_action( 'wp_print_styles', array( $this, 'implode_frontend_css' ), -1 ); // Run first
591
  add_action( 'wp_print_footer_scripts', array( $this, 'implode_frontend_css' ), -1 ); // Run first to trigger before `print_late_styles`
592
  }
593
+
594
+ // Sync Core Icon: Detect changes in Core's Site Icon and make it syncable.
595
+ add_action( 'add_option_site_icon', array( $this, 'jetpack_sync_core_icon' ) );
596
+ add_action( 'update_option_site_icon', array( $this, 'jetpack_sync_core_icon' ) );
597
+ add_action( 'delete_option_site_icon', array( $this, 'jetpack_sync_core_icon' ) );
598
+ add_action( 'jetpack_heartbeat', array( $this, 'jetpack_sync_core_icon' ) );
599
+
600
+ }
601
+
602
+ /*
603
+ * Make sure any site icon added to core can get
604
+ * synced back to dotcom, so we can display it there.
605
+ */
606
+ function jetpack_sync_core_icon() {
607
+ if ( function_exists( 'get_site_icon_url' ) ) {
608
+ $url = get_site_icon_url();
609
+ } else {
610
+ return;
611
+ }
612
+
613
+ require_once( JETPACK__PLUGIN_DIR . 'modules/site-icon/site-icon-functions.php' );
614
+ // If there's a core icon, maybe update the option. If not, fall back to Jetpack's.
615
+ if ( ! empty( $url ) && $url !== jetpack_site_icon_url() ) {
616
+ // This is the option that is synced with dotcom
617
+ Jetpack_Options::update_option( 'site_icon_url', $url );
618
+ } else if ( empty( $url ) && did_action( 'delete_option_site_icon' ) ) {
619
+ Jetpack_Options::delete_option( 'site_icon_url' );
620
+ }
621
  }
622
 
623
  /**
769
  $caps = array( 'manage_options' );
770
  break;
771
  }
772
+
773
+ if ( ! self::is_active() && ! current_user_can( 'jetpack_connect' ) ) {
774
+ $caps = array( 'do_not_allow' );
775
+ break;
776
+ }
777
  /**
778
  * Pass through. If it's not development mode, these should match the admin page.
779
  * Let users disconnect if it's development mode, just in case things glitch.
940
  *
941
  * @return bool
942
  */
943
+ public static function is_single_user_site() {
944
 
945
  $user_query = new WP_User_Query( array(
946
  'blog_id' => get_current_blog_id(),
956
  * @return null
957
  */
958
  function is_single_user_site_invalidate() {
959
+ do_action( 'update_option_jetpack_single_user_site', 'jetpack_single_user_site', (bool) Jetpack::is_single_user_site() );
960
  }
961
 
962
 
1000
  $notice = __( 'In Development Mode, via the jetpack_development_mode filter.', 'jetpack' );
1001
  }
1002
 
1003
+ echo '<div class="updated" style="border-color: #f0821e;"><p>' . $notice . '</p></div>';
1004
+ }
1005
+
1006
+ // Throw up a notice if using a development version and as for feedback.
1007
+ if ( Jetpack::is_development_version() ) {
1008
+ $notice = sprintf( _x( 'You are currently running a development version of Jetpack. %1s Submit your feedback. %2s', '%1s & %2s are HTML tags', 'jetpack' ), '<a href="https://jetpack.me/contact-support/beta-group/" target="_blank">', '</a>' );
1009
+
1010
+ echo '<div class="updated" style="border-color: #f0821e;"><p>' . $notice . '</p></div>';
1011
  }
1012
  }
1013
 
1140
  * Loads the currently active modules.
1141
  */
1142
  public static function load_modules() {
1143
+ if ( ! self::is_active() && !self::is_development_mode() ) {
1144
+ if ( ! is_multisite() || ! get_site_option( 'jetpack_protect_active' ) ) {
1145
+ return;
1146
+ }
1147
  }
1148
 
1149
  $version = Jetpack_Options::get_option( 'version' );
1651
  }
1652
  }
1653
 
1654
+ $mods = apply_filters( 'jetpack_get_available_modules', $modules, $min_version, $max_version );
1655
 
1656
  if ( ! $min_version && ! $max_version ) {
1657
+ return array_keys( $mods );
1658
  }
1659
 
1660
  $r = array();
1661
+ foreach ( $mods as $slug => $introduced ) {
1662
  if ( $min_version && version_compare( $min_version, $introduced, '>=' ) ) {
1663
  continue;
1664
  }
1869
  */
1870
  $mod['feature'] = apply_filters( 'jetpack_module_feature', $mod['feature'], $module, $mod );
1871
 
1872
+ /**
1873
+ * Filter the returned data about a module.
1874
+ *
1875
+ * This filter allows overriding any info about Jetpack modules. It is dangerous,
1876
+ * so please be careful.
1877
+ *
1878
+ * @since 3.6
1879
+ *
1880
+ * @param array $mod The details of the requested module.
1881
+ * @param string $module The slug of the module, e.g. sharedaddy
1882
+ * @param string $file The path to the module source file.
1883
+ */
1884
+ return apply_filters( 'jetpack_get_module', $mod, $module, $file );
1885
  }
1886
 
1887
  /**
1888
  * Like core's get_file_data implementation, but caches the result.
1889
  */
1890
  public static function get_file_data( $file, $headers ) {
1891
+ //Get just the filename from $file (i.e. exclude full path) so that a consistent hash is generated
1892
+ $file_name = basename( $file );
1893
  $file_data_option = Jetpack_Options::get_option( 'file_data', array() );
1894
+ $key = md5( $file_name . serialize( $headers ) );
1895
  $refresh_cache = is_admin() && isset( $_GET['page'] ) && 'jetpack' === substr( $_GET['page'], 0, 7 );
1896
 
1897
  // If we don't need to refresh the cache, and already have the value, short-circuit!
1927
  } else {
1928
  $active = array_diff( $active, array( 'vaultpress' ) );
1929
  }
1930
+
1931
+ //If protect is active on the main site of a multisite, it should be active on all sites.
1932
+ if ( ! in_array( 'protect', $active ) && is_multisite() && get_site_option( 'jetpack_protect_active' ) ) {
1933
+ $active[] = 'protect';
1934
+ }
1935
+
1936
  return array_unique( $active );
1937
  }
1938
 
2342
  Jetpack_Options::update_option( 'activated', 4 );
2343
  }
2344
 
2345
+ $jetpack_unique_connection = Jetpack_Options::get_option( 'unique_connection' );
2346
+ // Check then record unique disconnection if site has never been disconnected previously
2347
+ if ( -1 == $jetpack_unique_connection['disconnected'] ) {
2348
+ $jetpack_unique_connection['disconnected'] = 1;
2349
+ }
2350
+ else {
2351
+ if ( 0 == $jetpack_unique_connection['disconnected'] ) {
2352
+ //track unique disconnect
2353
+ $jetpack = Jetpack::init();
2354
+
2355
+ $jetpack->stat( 'connections', 'unique-disconnect' );
2356
+ $jetpack->do_stats( 'server_side' );
2357
+ }
2358
+ // increment number of times disconnected
2359
+ $jetpack_unique_connection['disconnected'] += 1;
2360
+ }
2361
+
2362
+ Jetpack_Options::update_option( 'unique_connection', $jetpack_unique_connection );
2363
+
2364
  // Disable the Heartbeat cron
2365
  Jetpack_Heartbeat::init()->deactivate();
2366
  }
2395
  * Attempts Jetpack registration. If it fail, a state flag is set: @see ::admin_page_load()
2396
  */
2397
  public static function try_registration() {
2398
+ // Let's get some testing in beta versions and such.
2399
+ if ( self::is_development_version() && defined( 'PHP_URL_HOST' ) ) {
2400
+ // Before attempting to connect, let's make sure that the domains are viable.
2401
+ $domains_to_check = array_unique( array(
2402
+ 'siteurl' => parse_url( get_site_url(), PHP_URL_HOST ),
2403
+ 'homeurl' => parse_url( get_home_url(), PHP_URL_HOST ),
2404
+ ) );
2405
+ foreach ( $domains_to_check as $domain ) {
2406
+ $result = Jetpack_Data::is_usable_domain( $domain );
2407
+ if ( is_wp_error( $result ) ) {
2408
+ return $result;
2409
+ }
2410
+ }
2411
+ }
2412
+
2413
  $result = Jetpack::register();
2414
 
2415
  // If there was an error with registration and the site was not registered, record this so we can show a message.
2809
  }
2810
 
2811
  function admin_banner_styles() {
 
 
2812
  $min = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
2813
 
2814
  wp_enqueue_style( 'jetpack', plugins_url( "css/jetpack-banners{$min}.css", JETPACK__PLUGIN_FILE ), false, JETPACK__VERSION . '-20121016' );
2815
+ wp_style_add_data( 'jetpack', 'rtl', 'replace' );
2816
+ wp_style_add_data( 'jetpack', 'suffix', $min );
2817
  }
2818
 
2819
  function admin_scripts() {
2838
  return array_merge(
2839
  $jetpack_home,
2840
  array( 'settings' => sprintf( '<a href="%s">%s</a>', Jetpack::admin_url( 'page=jetpack_modules' ), __( 'Settings', 'jetpack' ) ) ),
2841
+ array( 'support' => sprintf( '<a href="%s">%s</a>', Jetpack::admin_url( 'page=jetpack-debugger '), __( 'Support', 'jetpack' ) ) ),
2842
  $actions
2843
  );
2844
  }
3027
  <?php _e( 'You have successfully disconnected Jetpack.', 'jetpack' ); ?>
3028
  <br />
3029
  <?php echo sprintf(
3030
+ __( 'Would you tell us why? Just <a href="%1$s" target="%2$s">answering two simple questions</a> would help us improve Jetpack.', 'jetpack' ),
3031
+ 'https://jetpack.me/survey-disconnected/',
3032
+ '_blank'
3033
  ); ?>
3034
  </h4>
3035
  </div>
3115
  $client_server->authorize();
3116
  exit;
3117
  case 'register' :
3118
+ if ( ! current_user_can( 'jetpack_connect' ) ) {
3119
+ $error = 'cheatin';
3120
+ break;
3121
+ }
3122
  check_admin_referer( 'jetpack-register' );
3123
  Jetpack::log( 'register' );
3124
  Jetpack::maybe_set_version_option();
3193
  wp_safe_redirect( Jetpack::admin_url( 'page=jetpack' ) );
3194
  exit;
3195
  case 'unlink' :
3196
+ $redirect = isset( $_GET['redirect'] ) ? array( 'page' => $_GET['redirect'] ) : '';
3197
  check_admin_referer( 'jetpack-unlink' );
3198
  Jetpack::log( 'unlink' );
3199
  $this->unlink_user();
3200
  Jetpack::state( 'message', 'unlinked' );
3201
+ wp_safe_redirect( Jetpack::admin_url( $redirect ) );
3202
  exit;
3203
  default:
3204
  do_action( 'jetpack_unrecognized_action', sanitize_key( $_GET['action'] ) );
3445
  $user = wp_get_current_user();
3446
  $this->message = sprintf( __( '<strong>You have unlinked your account (%s) from WordPress.com.</strong>', 'jetpack' ), $user->user_login );
3447
  break;
3448
+
3449
+ case 'switch_master' :
3450
+ global $current_user;
3451
+ $is_master_user = $current_user->ID == Jetpack_Options::get_option( 'master_user' );
3452
+ $master_userdata = get_userdata( Jetpack_Options::get_option( 'master_user' ) );
3453
+ if ( $is_master_user ) {
3454
+ $this->message = __( 'You have successfully set yourself as Jetpack’s primary user.', 'jetpack' );
3455
+ } else {
3456
+ $this->message = sprintf( _x( 'You have successfully set %s as Jetpack’s primary user.', '%s is a username', 'jetpack' ), $master_userdata->user_login );
3457
+ }
3458
+ break;
3459
  }
3460
 
3461
  $deactivated_plugins = Jetpack::state( 'deactivated_plugins' );
3798
  }
3799
  }
3800
  break;
3801
+ case 'jetpack-protect-multisite-opt-out':
3802
+
3803
+ if ( check_admin_referer( 'jetpack_protect_multisite_banner_opt_out' ) ) {
3804
+ // Don't show the banner again
3805
+
3806
+ update_site_option( 'jetpack_dismissed_protect_multisite_banner', true );
3807
+ // redirect back to the page that had the notice
3808
+ if ( wp_get_referer() ) {
3809
+ wp_safe_redirect( wp_get_referer() );
3810
+ } else {
3811
+ // Take me to Jetpack
3812
+ wp_safe_redirect( admin_url( 'admin.php?page=jetpack' ) );
3813
+ }
3814
+ }
3815
+ break;
3816
  case 'jetpack-manage-opt-in':
3817
  if ( check_admin_referer( 'jetpack_manage_banner_opt_in' ) ) {
3818
  // This makes sure that we are redirect to jetpack home so that we can see the Success Message.
4596
  // Initialize Jump Start for the first and only time.
4597
  if ( ! Jetpack_Options::get_option( 'jumpstart' ) ) {
4598
  Jetpack_Options::update_option( 'jumpstart', 'new_connection' );
4599
+
4600
+ $jetpack = Jetpack::init();
4601
+
4602
+ $jetpack->stat( 'jumpstart', 'unique-views' );
4603
+ $jetpack->do_stats( 'server_side' );
4604
  };
4605
 
4606
  return true;
4853
  }
4854
 
4855
  function xmlrpc_options( $options ) {
4856
+ $jetpack_client_id = false;
4857
+ if ( self::is_active() ) {
4858
+ $jetpack_client_id = Jetpack_Options::get_option( 'id' );
4859
+ }
4860
  $options['jetpack_version'] = array(
4861
  'desc' => __( 'Jetpack Plugin Version', 'jetpack' ),
4862
  'readonly' => true,
4866
  $options['jetpack_client_id'] = array(
4867
  'desc' => __( 'The Client ID/WP.com Blog ID of this site', 'jetpack' ),
4868
  'readonly' => true,
4869
+ 'value' => $jetpack_client_id,
4870
  );
4871
  return $options;
4872
  }
5581
  */
5582
  $deprecated_list = array(
5583
  'jetpack_bail_on_shortcode' => 'jetpack_shortcodes_to_include',
5584
+ 'wpl_sharing_2014_1' => null,
5585
  );
5586
 
5587
  // This is a silly loop depth. Better way?
5759
  }
5760
 
5761
  /*
5762
+ * Check the heartbeat data
5763
  *
5764
+ * Organizes the heartbeat data by severity. For example, if the site
5765
+ * is in an ID crisis, it will be in the $filtered_data['bad'] array.
5766
+ *
5767
+ * Data will be added to "caution" array, if it either:
5768
+ * - Out of date Jetpack version
5769
+ * - Out of date WP version
5770
+ * - Out of date PHP version
5771
+ *
5772
+ * $return array $filtered_data
5773
  */
5774
+ public static function jetpack_check_heartbeat_data() {
5775
+ $raw_data = Jetpack_Heartbeat::generate_stats_array();
5776
+
5777
+ $good = array();
5778
+ $caution = array();
5779
+ $bad = array();
5780
+
5781
+ foreach ( $raw_data as $stat => $value ) {
5782
+
5783
+ // Check jetpack version
5784
+ if ( 'version' == $stat ) {
5785
+ if ( version_compare( $value, JETPACK__VERSION, '<' ) ) {
5786
+ $caution[ $stat ] = $value . " - min supported is " . JETPACK__VERSION;
5787
+ continue;
5788
+ }
5789
+ }
5790
+
5791
+ // Check WP version
5792
+ if ( 'wp-version' == $stat ) {
5793
+ if ( version_compare( $value, JETPACK__MINIMUM_WP_VERSION, '<' ) ) {
5794
+ $caution[ $stat ] = $value . " - min supported is " . JETPACK__MINIMUM_WP_VERSION;
5795
+ continue;
5796
+ }
5797
+ }
5798
+
5799
+ // Check PHP version
5800
+ if ( 'php-version' == $stat ) {
5801
+ if ( version_compare( PHP_VERSION, '5.2.4', '<' ) ) {
5802
+ $caution[ $stat ] = $value . " - min supported is 5.2.4";
5803
+ continue;
5804
+ }
5805
+ }
5806
+
5807
+ // Check ID crisis
5808
+ if ( 'identitycrisis' == $stat ) {
5809
+ if ( 'yes' == $value ) {
5810
+ $bad[ $stat ] = $value;
5811
+ continue;
5812
+ }
5813
+ }
5814
+
5815
+ // The rest are good :)
5816
+ $good[ $stat ] = $value;
5817
  }
5818
 
5819
+ $filtered_data = array(
5820
+ 'good' => $good,
5821
+ 'caution' => $caution,
5822
+ 'bad' => $bad
5823
+ );
5824
 
5825
+ return $filtered_data;
5826
+ }
5827
 
5828
+
5829
+ /*
5830
+ * This method is used to organize all options that can be reset
5831
+ * without disconnecting Jetpack.
5832
+ *
5833
+ * It is used in class.jetpack-cli.php to reset options
5834
+ *
5835
+ * @return array of options to delete.
5836
+ */
5837
+ public static function get_jetapck_options_for_reset() {
5838
+ $jetpack_options = Jetpack_Options::get_option_names();
5839
+ $jetpack_options_non_compat = Jetpack_Options::get_option_names( 'non_compact' );
5840
+
5841
+ $all_jp_options = array_merge( $jetpack_options, $jetpack_options_non_compat );
5842
+
5843
+ // A manual build of the wp options
5844
+ $wp_options = array(
5845
  'sharing-options',
5846
  'disabled_likes',
5847
  'disabled_reblogs',
5868
  'site_logo',
5869
  );
5870
 
5871
+ // Whitelist some Jetpack options
5872
+ $whitelist_terms = array(
5873
+ 'id', // (int) The Client ID/WP.com Blog ID of this site.
5874
+ 'master_user', // (int) The local User ID of the user who connected this site to jetpack.wordpress.com.
5875
+ 'version', // (string) Used during upgrade procedure to auto-activate new modules. version:time
5876
+ 'jumpstart', // (string) A flag for whether or not to show the Jump Start. Accepts: new_connection, jumpstart_activated, jetpack_action_taken, jumpstart_dismissed.
5877
+
5878
+ // non_compact
5879
+ 'activated',
5880
+ );
5881
+
5882
+ // Remove the whitelisted Jetpack options
5883
+ foreach ( $whitelist_terms as $whitelist_term ) {
5884
+ if ( false !== ( $key = array_search( $whitelist_term, $all_jp_options ) ) ) {
5885
+ unset( $all_jp_options[ $key ] );
5886
+ }
5887
+ }
5888
+
5889
+ $options = array(
5890
+ 'jp_options' => $all_jp_options,
5891
+ 'wp_options' => $wp_options
5892
+ );
5893
+
5894
+ return $options;
5895
+ }
5896
+
5897
+ /*
5898
+ * Check if an option of a Jetpack module has been updated.
5899
+ *
5900
+ * If any module option has been updated before Jump Start has been dismissed,
5901
+ * update the 'jumpstart' option so we can hide Jump Start.
5902
+ */
5903
+ public static function jumpstart_has_updated_module_option( $option_name = '' ) {
5904
+ // Bail if Jump Start has already been dismissed
5905
+ if ( 'new_connection' !== Jetpack::get_option( 'jumpstart' ) ) {
5906
+ return false;
5907
+ }
5908
+
5909
+ $jetpack = Jetpack::init();
5910
+
5911
+
5912
+ // Manual build of module options
5913
+ $option_names = self::get_jetapck_options_for_reset();
5914
+
5915
+ if ( in_array( $option_name, $option_names['wp_options'] ) ) {
5916
  Jetpack_Options::update_option( 'jumpstart', 'jetpack_action_taken' );
5917
 
5918
  //Jump start is being dismissed send data to MC Stats
5963
  public function wp_dashboard_setup() {
5964
  if ( self::is_active() ) {
5965
  add_action( 'jetpack_dashboard_widget', array( __CLASS__, 'dashboard_widget_footer' ), 999 );
5966
+ } elseif ( ! self::is_development_mode() && current_user_can( 'jetpack_connect' ) ) {
5967
  add_action( 'jetpack_dashboard_widget', array( $this, 'dashboard_widget_connect_to_wpcom' ) );
5968
  }
5969
 
6056
  }
6057
 
6058
  public function dashboard_widget_connect_to_wpcom() {
6059
+ if ( Jetpack::is_active() || Jetpack::is_development_mode() || ! current_user_can( 'jetpack_connect' ) ) {
6060
+ return;
6061
+ }
6062
  ?>
6063
  <div class="wpcom-connect">
6064
  <div class="jp-emblem">
6083
  <?php
6084
  }
6085
 
6086
+ /*
6087
+ * A graceful transition to using Core's site icon.
6088
+ *
6089
+ * All of the hard work has already been done with the image
6090
+ * in all_done_page(). All that needs to be done now is update
6091
+ * the option and display proper messaging.
6092
+ *
6093
+ * @todo remove when WP 4.3 is minimum
6094
+ *
6095
+ * @since 3.6.1
6096
+ *
6097
+ * @return bool false = Core's icon not available || true = Core's icon is available
6098
+ */
6099
+ public static function jetpack_site_icon_available_in_core() {
6100
+ global $wp_version;
6101
+ $core_icon_available = function_exists( 'has_site_icon' ) && version_compare( $wp_version, '4.3-beta' ) >= 0;
6102
+
6103
+ if ( ! $core_icon_available ) {
6104
+ return false;
6105
+ }
6106
+
6107
+ // No need for Jetpack's site icon anymore if core's is already set
6108
+ if ( has_site_icon() ) {
6109
+ if ( Jetpack::is_module_active( 'site-icon' ) ) {
6110
+ Jetpack::log( 'deactivate', 'site-icon' );
6111
+ Jetpack::deactivate_module( 'site-icon' );
6112
+ }
6113
+ return true;
6114
+ }
6115
+
6116
+ // Transfer Jetpack's site icon to use core.
6117
+ $site_icon_id = Jetpack::get_option( 'site_icon_id' );
6118
+ if ( $site_icon_id ) {
6119
+ // Update core's site icon
6120
+ update_option( 'site_icon', $site_icon_id );
6121
+
6122
+ // Delete Jetpack's icon option. We still want the blavatar and attached data though.
6123
+ delete_option( 'site_icon_id' );
6124
+ }
6125
+
6126
+ // No need for Jetpack's site icon anymore
6127
+ if ( Jetpack::is_module_active( 'site-icon' ) ) {
6128
+ Jetpack::log( 'deactivate', 'site-icon' );
6129
+ Jetpack::deactivate_module( 'site-icon' );
6130
+ }
6131
+
6132
+ return true;
6133
+ }
6134
+
6135
  }
class.json-api-endpoints.php CHANGED
@@ -104,6 +104,11 @@ abstract class WPCOM_JSON_API_Endpoint {
104
  */
105
  var $allow_unauthorized_request = false;
106
 
 
 
 
 
 
107
  function __construct( $args ) {
108
  $defaults = array(
109
  'in_testing' => false,
@@ -132,6 +137,7 @@ abstract class WPCOM_JSON_API_Endpoint {
132
  'custom_fields_filtering' => false,
133
  'allow_cross_origin_request' => false,
134
  'allow_unauthorized_request' => false,
 
135
  );
136
 
137
  $args = wp_parse_args( $args, $defaults );
@@ -159,8 +165,8 @@ abstract class WPCOM_JSON_API_Endpoint {
159
  $this->can_use_user_details_instead_of_blog_membership = $args['can_use_user_details_instead_of_blog_membership'];
160
 
161
  $this->allow_cross_origin_request = (bool) $args['allow_cross_origin_request'];
162
-
163
  $this->allow_unauthorized_request = (bool) $args['allow_unauthorized_request'];
 
164
 
165
  $this->version = $args['version'];
166
 
@@ -628,6 +634,7 @@ abstract class WPCOM_JSON_API_Endpoint {
628
  * Echoes HTML.
629
  */
630
  function document( $show_description = true ) {
 
631
  $original_post = isset( $GLOBALS['post'] ) ? $GLOBALS['post'] : 'unset';
632
  unset( $GLOBALS['post'] );
633
 
@@ -646,28 +653,46 @@ abstract class WPCOM_JSON_API_Endpoint {
646
  <p><strong>This endpoint is deprecated in favor of version <?php echo floatval( $this->new_version ); ?></strong></p>
647
  <?php } ?>
648
 
649
- <section class="resource-url">
650
- <h2 id="apidoc-resource-url">Resource URL</h2>
 
651
  <table class="api-doc api-doc-resource-parameters api-doc-resource">
652
- <thead>
653
- <tr>
654
- <th class="api-index-title" scope="column">Type</th>
655
- <th class="api-index-title" scope="column">URL and Format</th>
656
- </tr>
657
- </thead>
658
- <tbody>
659
- <tr class="api-index-item">
660
- <th scope="row" class="parameter api-index-item-title"><?php echo wp_kses_post( $doc['method'] ); ?></th>
661
- <?php
662
- $version = WPCOM_JSON_API__CURRENT_VERSION;
663
- if ( !empty( $this->max_version ) ) {
664
- $version = $this->max_version;
665
- }
666
- ?>
667
- <td class="type api-index-item-title" style="white-space: nowrap;">https://public-api.wordpress.com/rest/v<?php echo floatval( $version ); ?><?php echo wp_kses_post( $doc['path_labeled'] ); ?></td>
668
- </tr>
669
- </tbody>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
670
  </table>
 
671
  </section>
672
 
673
  <?php
@@ -719,146 +744,6 @@ abstract class WPCOM_JSON_API_Endpoint {
719
  </section>
720
  <?php endforeach; ?>
721
 
722
- <?php
723
- // If no example was hardcoded in the doc, try to get some
724
- if ( empty( $this->example_response ) ) {
725
-
726
- // Examples for endpoint documentation response
727
- $response_key = 'dev_example_response_' . $this->version . '_' . $this->method . '_' . sanitize_key( $this->path );
728
- $response_body = wp_cache_get( $response_key );
729
-
730
- // Response doesn't exist, so run the request
731
- if ( false === $response_body ) {
732
-
733
- // Only trust GET request
734
- if ( 'GET' === $this->method ) {
735
- $response = wp_remote_get( $this->example_request );
736
- $response_body = wp_remote_retrieve_body( $response );
737
-
738
- // Only cache if there's a result
739
- if ( ! is_wp_error( $response ) && strlen( $response_body ) ) {
740
- wp_cache_set( $response_key, $response_body );
741
- } else {
742
- wp_cache_delete( $response_key );
743
- }
744
- }
745
- }
746
-
747
- // Example response was passed into the constructor via params
748
- } else {
749
- $response_body = $this->example_response;
750
- }
751
-
752
- // Wrap the response in a sourcecode shortcode
753
- if ( !empty( $response_body ) && !is_wp_error( $response ) ) {
754
- $response_body = '[sourcecode language="javascript" wraplines="false" light="true" autolink="false" htmlscript="false"]' . $response_body . '[/sourcecode]';
755
- $response_body = apply_filters( 'the_content', $response_body );
756
- $this->example_response = $response_body;
757
- }
758
-
759
- $curl = 'curl';
760
-
761
- $php_opts = array( 'ignore_errors' => true );
762
-
763
- if ( 'GET' !== $this->method ) {
764
- $php_opts['method'] = $this->method;
765
- }
766
-
767
- if ( $this->example_request_data ) {
768
- if ( isset( $this->example_request_data['headers'] ) && is_array( $this->example_request_data['headers'] ) ) {
769
- $php_opts['header'] = array();
770
- foreach ( $this->example_request_data['headers'] as $header => $value ) {
771
- $curl .= " \\\n -H " . escapeshellarg( "$header: $value" );
772
- $php_opts['header'][] = "$header: $value";
773
- }
774
- }
775
-
776
- if ( isset( $this->example_request_data['body'] ) && is_array( $this->example_request_data['body'] ) ) {
777
- $php_opts['content'] = $this->example_request_data['body'];
778
- $php_opts['header'][] = 'Content-Type: application/x-www-form-urlencoded';
779
- foreach ( $this->example_request_data['body'] as $key => $value ) {
780
- $curl .= " \\\n --data-urlencode " . escapeshellarg( "$key=$value" );
781
- }
782
- }
783
- }
784
-
785
- if ( $php_opts ) {
786
- $php_opts_exported = var_export( array( 'http' => $php_opts ), true );
787
- if ( !empty( $php_opts['content'] ) ) {
788
- $content_exported = preg_quote( var_export( $php_opts['content'], true ), '/' );
789
- $content_exported = '\\s*' . str_replace( "\n", "\n\\s*", $content_exported ) . '\\s*';
790
- $php_opts_exported = preg_replace_callback( "/$content_exported/", array( $this, 'add_http_build_query_to_php_content_example' ), $php_opts_exported );
791
- }
792
- $php = <<<EOPHP
793
- <?php
794
-
795
- \$options = $php_opts_exported;
796
-
797
- \$context = stream_context_create( \$options );
798
- \$response = file_get_contents(
799
- '$this->example_request',
800
- false,
801
- \$context
802
- );
803
- \$response = json_decode( \$response );
804
-
805
- ?>
806
- EOPHP;
807
- } else {
808
- $php = <<<EOPHP
809
- <?php
810
-
811
- \$response = file_get_contents( '$this->example_request' );
812
- \$response = json_decode( \$response );
813
-
814
- ?>
815
- EOPHP;
816
- }
817
-
818
- if ( false !== strpos( $curl, "\n" ) ) {
819
- $curl .= " \\\n";
820
- }
821
-
822
- // Escape square brackets to prevent curl "[globbing] bad range specification" errors
823
- $example_request = strtr( $this->example_request, array( '[' => '\[', ']' => '\]' ) );
824
-
825
- $curl .= ' ' . escapeshellarg( $example_request );
826
-
827
- $curl = '[sourcecode language="bash" wraplines="false" light="true" autolink="false" htmlscript="false"]' . $curl . '[/sourcecode]';
828
- $curl = apply_filters( 'the_content', $curl );
829
-
830
- $php = '[sourcecode language="php" wraplines="false" light="true" autolink="false" htmlscript="false"]' . $php . '[/sourcecode]';
831
- $php = apply_filters( 'the_content', $php );
832
- ?>
833
-
834
- <?php if ( ! empty( $this->example_request ) || ! empty( $this->example_request_data ) || ! empty( $this->example_response ) ) : ?>
835
-
836
- <section class="example-response">
837
- <h2 id="apidoc-example">Example</h2>
838
-
839
- <section>
840
- <h3>cURL</h3>
841
- <?php echo wp_kses_post( $curl ); ?>
842
- </section>
843
-
844
- <section>
845
- <h3>PHP</h3>
846
- <?php echo wp_kses_post( $php ); ?>
847
- </section>
848
-
849
- <?php if ( ! empty( $this->example_response ) ) : ?>
850
-
851
- <section>
852
- <h3>Response Body</h3>
853
- <?php echo $this->example_response; ?>
854
- </section>
855
-
856
- <?php endif; ?>
857
-
858
- </section>
859
-
860
- <?php endif; ?>
861
-
862
  <?php
863
  if ( 'unset' !== $original_post ) {
864
  $GLOBALS['post'] = $original_post;
@@ -1187,8 +1072,10 @@ EOPHP;
1187
  $metadata = wp_get_attachment_metadata( $media_item->ID );
1188
  $response['height'] = $metadata['height'];
1189
  $response['width'] = $metadata['width'];
1190
- foreach ( $metadata['sizes'] as $size => $size_details ) {
1191
- $response['thumbnails'][ $size ] = dirname( $response['URL'] ) . '/' . $size_details['file'];
 
 
1192
  }
1193
  $response['exif'] = $metadata['image_meta'];
1194
  }
@@ -1200,8 +1087,10 @@ EOPHP;
1200
 
1201
  if ( in_array( $ext, array( 'ogv', 'mp4', 'mov', 'wmv', 'avi', 'mpg', '3gp', '3g2', 'm4v' ) ) ) {
1202
  $metadata = wp_get_attachment_metadata( $media_item->ID );
1203
- $response['height'] = $metadata['height'];
1204
- $response['width'] = $metadata['width'];
 
 
1205
 
1206
  // add VideoPress info
1207
  if ( function_exists( 'video_get_info_by_blogpostid' ) ) {
@@ -1410,7 +1299,7 @@ EOPHP;
1410
 
1411
  // Load the functions.php file for the current theme to get its post formats, CPTs, etc.
1412
  function load_theme_functions() {
1413
- // the theme info we care about is found either within functions.php or one of the jetpack files. it might also make sense to load inc/wpcom.php and includes/wpcom.php if there is a need for it
1414
  $function_files = array( '/functions.php', '/inc/jetpack.compat.php', '/inc/jetpack.php', '/includes/jetpack.compat.php' );
1415
 
1416
  // Is this a child theme? Load the child theme's functions file.
@@ -1428,6 +1317,9 @@ EOPHP;
1428
  }
1429
  }
1430
 
 
 
 
1431
  // since the stuff we care about (CPTS, post formats, are usually on setup or init hooks, we want to load those)
1432
  $this->copy_hooks( 'after_setup_theme', 'restapi_theme_after_setup_theme', WP_CONTENT_DIR . '/themes' );
1433
  do_action( 'restapi_theme_after_setup_theme' );
@@ -1645,6 +1537,8 @@ EOPHP;
1645
  $base = substr( $base, 0, - 1 ) . $api_version;
1646
  }
1647
 
 
 
1648
  // http, WPCOM_JSON_API__BASE, ... , path
1649
  // %s , %s , $format, %s
1650
  return esc_url_raw( sprintf( "%s://%s$relative_path", $this->api->public_api_scheme, $base ) );
104
  */
105
  var $allow_unauthorized_request = false;
106
 
107
+ /**
108
+ * @var bool Set to true if the endpoint should accept site based (not user based) authentication.
109
+ */
110
+ var $allow_jetpack_site_auth = false;
111
+
112
  function __construct( $args ) {
113
  $defaults = array(
114
  'in_testing' => false,
137
  'custom_fields_filtering' => false,
138
  'allow_cross_origin_request' => false,
139
  'allow_unauthorized_request' => false,
140
+ 'allow_jetpack_site_auth' => false,
141
  );
142
 
143
  $args = wp_parse_args( $args, $defaults );
165
  $this->can_use_user_details_instead_of_blog_membership = $args['can_use_user_details_instead_of_blog_membership'];
166
 
167
  $this->allow_cross_origin_request = (bool) $args['allow_cross_origin_request'];
 
168
  $this->allow_unauthorized_request = (bool) $args['allow_unauthorized_request'];
169
+ $this->allow_jetpack_site_auth = (bool) $args['allow_jetpack_site_auth'];
170
 
171
  $this->version = $args['version'];
172
 
634
  * Echoes HTML.
635
  */
636
  function document( $show_description = true ) {
637
+ global $wpdb;
638
  $original_post = isset( $GLOBALS['post'] ) ? $GLOBALS['post'] : 'unset';
639
  unset( $GLOBALS['post'] );
640
 
653
  <p><strong>This endpoint is deprecated in favor of version <?php echo floatval( $this->new_version ); ?></strong></p>
654
  <?php } ?>
655
 
656
+ <section class="resource-info">
657
+ <h2 id="apidoc-resource-info">Resource Information</h2>
658
+
659
  <table class="api-doc api-doc-resource-parameters api-doc-resource">
660
+
661
+ <thead>
662
+ <tr>
663
+ <th class="api-index-title" scope="column">&nbsp;</th>
664
+ <th class="api-index-title" scope="column">&nbsp;</th>
665
+ </tr>
666
+ </thead>
667
+ <tbody>
668
+
669
+ <tr class="api-index-item">
670
+ <th scope="row" class="parameter api-index-item-title">Method</th>
671
+ <td class="type api-index-item-title"><?php echo wp_kses_post( $doc['method'] ); ?></td>
672
+ </tr>
673
+
674
+ <tr class="api-index-item">
675
+ <th scope="row" class="parameter api-index-item-title">URL</th>
676
+ <?php
677
+ $version = WPCOM_JSON_API__CURRENT_VERSION;
678
+ if ( !empty( $this->max_version ) ) {
679
+ $version = $this->max_version;
680
+ }
681
+ ?>
682
+ <td class="type api-index-item-title">https://public-api.wordpress.com/rest/v<?php echo floatval( $version ); ?><?php echo wp_kses_post( $doc['path_labeled'] ); ?></td>
683
+ </tr>
684
+
685
+ <tr class="api-index-item">
686
+ <th scope="row" class="parameter api-index-item-title">Requires authentication?</th>
687
+ <?php
688
+ $requires_auth = $wpdb->get_row( $wpdb->prepare( "SELECT requires_authentication FROM rest_api_documentation WHERE `version` = %s AND `path` = %s AND `method` = %s LIMIT 1", $version, untrailingslashit( $doc['path_labeled'] ), $doc['method'] ) );
689
+ ?>
690
+ <td class="type api-index-item-title"><?php echo ( true === (bool) $requires_auth->requires_authentication ? 'Yes' : 'No' ); ?></td>
691
+ </tr>
692
+
693
+ </tbody>
694
  </table>
695
+
696
  </section>
697
 
698
  <?php
744
  </section>
745
  <?php endforeach; ?>
746
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
747
  <?php
748
  if ( 'unset' !== $original_post ) {
749
  $GLOBALS['post'] = $original_post;
1072
  $metadata = wp_get_attachment_metadata( $media_item->ID );
1073
  $response['height'] = $metadata['height'];
1074
  $response['width'] = $metadata['width'];
1075
+ if ( is_array( $metadata['sizes'] ) ) {
1076
+ foreach ( $metadata['sizes'] as $size => $size_details ) {
1077
+ $response['thumbnails'][ $size ] = dirname( $response['URL'] ) . '/' . $size_details['file'];
1078
+ }
1079
  }
1080
  $response['exif'] = $metadata['image_meta'];
1081
  }
1087
 
1088
  if ( in_array( $ext, array( 'ogv', 'mp4', 'mov', 'wmv', 'avi', 'mpg', '3gp', '3g2', 'm4v' ) ) ) {
1089
  $metadata = wp_get_attachment_metadata( $media_item->ID );
1090
+ if ( isset( $metadata['height'], $metadata['width'] ) ) {
1091
+ $response['height'] = $metadata['height'];
1092
+ $response['width'] = $metadata['width'];
1093
+ }
1094
 
1095
  // add VideoPress info
1096
  if ( function_exists( 'video_get_info_by_blogpostid' ) ) {
1299
 
1300
  // Load the functions.php file for the current theme to get its post formats, CPTs, etc.
1301
  function load_theme_functions() {
1302
+ // the theme info we care about is found either within functions.php or one of the jetpack files.
1303
  $function_files = array( '/functions.php', '/inc/jetpack.compat.php', '/inc/jetpack.php', '/includes/jetpack.compat.php' );
1304
 
1305
  // Is this a child theme? Load the child theme's functions file.
1317
  }
1318
  }
1319
 
1320
+ // add inc/wpcom.php and/or includes/wpcom.php
1321
+ wpcom_load_theme_compat_file();
1322
+
1323
  // since the stuff we care about (CPTS, post formats, are usually on setup or init hooks, we want to load those)
1324
  $this->copy_hooks( 'after_setup_theme', 'restapi_theme_after_setup_theme', WP_CONTENT_DIR . '/themes' );
1325
  do_action( 'restapi_theme_after_setup_theme' );
1537
  $base = substr( $base, 0, - 1 ) . $api_version;
1538
  }
1539
 
1540
+ // escape any % in the relative path before running it through sprintf again
1541
+ $relative_path = str_replace( '%', '%%', $relative_path );
1542
  // http, WPCOM_JSON_API__BASE, ... , path
1543
  // %s , %s , $format, %s
1544
  return esc_url_raw( sprintf( "%s://%s$relative_path", $this->api->public_api_scheme, $base ) );
class.media-summary.php CHANGED
@@ -249,6 +249,7 @@ class Jetpack_Media_Summary {
249
  'show_read_more' => false,
250
  'max_words' => $max_words,
251
  'max_chars' => $max_chars,
 
252
  ) ) );
253
  } else {
254
  $post_excerpt = apply_filters( 'get_the_excerpt', $post_excerpt );
249
  'show_read_more' => false,
250
  'max_words' => $max_words,
251
  'max_chars' => $max_chars,
252
+ 'read_more_threshold' => 25,
253
  ) ) );
254
  } else {
255
  $post_excerpt = apply_filters( 'get_the_excerpt', $post_excerpt );
css/dashboard-widget-rtl.css CHANGED
@@ -113,7 +113,6 @@
113
  text-align: center;
114
  }
115
 
116
- /*# sourceMappingURL=dashboard-widget.css.map */
117
  #jetpack_summary_widget *{-moz-box-sizing:border-box;box-sizing:border-box}#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:#fafafa;text-align:center}#jetpack_summary_widget .wpcom-connect .jp-emblem{padding:5px 0 0 0}#jetpack_summary_widget .wpcom-connect svg{width:40px;height:40px}#jetpack_summary_widget .wpcom-connect svg path{fill:#81a844}#jetpack_summary_widget .wpcom-connect .jp-emblem,#jetpack_summary_widget .wpcom-connect h3,#jetpack_summary_widget .wpcom-connect p{width:100%}#jetpack_summary_widget .wpcom-connect h3{font-size:1.25em;font-weight:400}#jetpack_summary_widget .wpcom-connect p{color:#777;margin-top:0;padding:0 15px}#jetpack_summary_widget .wpcom-connect .actions{text-align:center;padding:15px 0 10px 0}#jetpack_summary_widget .wpcom-connect .actions small{display:block}#jetpack_summary_widget .wpcom-connect .actions small a{color:#999}#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:#fafafa;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}
118
 
119
  /*# sourceMappingURL=dashboard-widget.min.css.map */
113
  text-align: center;
114
  }
115
 
 
116
  #jetpack_summary_widget *{-moz-box-sizing:border-box;box-sizing:border-box}#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:#fafafa;text-align:center}#jetpack_summary_widget .wpcom-connect .jp-emblem{padding:5px 0 0 0}#jetpack_summary_widget .wpcom-connect svg{width:40px;height:40px}#jetpack_summary_widget .wpcom-connect svg path{fill:#81a844}#jetpack_summary_widget .wpcom-connect .jp-emblem,#jetpack_summary_widget .wpcom-connect h3,#jetpack_summary_widget .wpcom-connect p{width:100%}#jetpack_summary_widget .wpcom-connect h3{font-size:1.25em;font-weight:400}#jetpack_summary_widget .wpcom-connect p{color:#777;margin-top:0;padding:0 15px}#jetpack_summary_widget .wpcom-connect .actions{text-align:center;padding:15px 0 10px 0}#jetpack_summary_widget .wpcom-connect .actions small{display:block}#jetpack_summary_widget .wpcom-connect .actions small a{color:#999}#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:#fafafa;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}
117
 
118
  /*# sourceMappingURL=dashboard-widget.min.css.map */
css/dashboard-widget.css CHANGED
@@ -112,5 +112,3 @@
112
  padding: 0;
113
  text-align: center;
114
  }
115
-
116
- /*# sourceMappingURL=dashboard-widget.css.map */
112
  padding: 0;
113
  text-align: center;
114
  }
 
 
css/dashboard-widget.css.map CHANGED
@@ -1 +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;;;IAIA;ADED;ECAE,6BAAU;EAAV,wBAAU;EDEX;AACD;ECCC,WAAA;EDCC,YAAW;EACX,wECAc;EDCf;AACD;;;ECIE,gBAAY;EDAb;ACEC;EACC,qBAAkB;EDAnB,oBAAmB;ECGnB;ADDF;ECGG,oBAAY;EDDd;ACEE;EACC,aC1BI;EF0BN,cAAa;ECIb;ADFF;EACE,eAAc;EACf;AACD;;;ECOG,aAAW;EDHb;ACMC;EACC,mBAAW;EACX,kBAAa;EDJf;AACD;ECOE,aAAA;EACC,eAAY;EACZ,iBAAS;EDLX;ACME;EACC,oBAAc;EDJhB,wBAAuB;ECKrB;ADHJ;EACE,gBAAe;ECShB;ADPD;EGhDC,aAAY;EHkDZ;AACD;EACE,qBAAoB;EGhDrB,uBAAA;EAEC,cAAY;EACZ,gEAA0C;EHiD3C;AACD;EACE,qBAAoB;EG9CrB,uBAAA;EACC,cAAY;EHgDZ,mCAAkC;EG3CnC;AH6CD;EG3CE,2FAA0C;EH6C3C;AACD;EACE,qBAAoB;EGxCrB,uBAAA;EAIC,cAAO;EACP,6GAAkD;EHuCnD;AACD;EACE,2BAA0B;ECd3B,gCAAO;EACN,kCAAmB;EACnB,8BAAc;EDgBf;AACD;EACE,qBAAoB;ECdpB,gBAAA;EDgBA,kBAAiB;ECdhB,4BAAU;EDgBZ;AACD;;ECZE,YAAA;EACC,aAAW;EACX,kBAAa;EDef;AACD;EACE,kBAAiB;ECZjB,qBAAA;EACC,WAAS;EACT,YAAU;EDcZ;ACXC;EACC,WAAS;EACT,YAAU;EDaZ;AACD;EACE,WAAU;EACV,YAAW;EACX,oBAAmB;EACpB","file":"dashboard-widget.css"}
1
+ {"version":3,"sources":["dashboard-widget.css","../scss/templates/_dashboard-widget.scss"],"names":[],"mappings":"AAAA;;;GAGE;ACDD;;;IDKE;AACH;ECAE,6BAAA;EAAA,wBAAA;EDED;AACD;EAAA,WAAA;EAAA,YAAA;EAAA,wEAAA;EAIC;AACD;;;EAGE,gBAAe;EAChB;AACD;EAAA,qBAAA;EAAA,oBAAA;EAGC;AACD;EAAA,oBAAA;EAEC;AACD;EAAA,aAAA;EAAA,cAAA;EAGC;AACD;EAAA,eAAA;EAEC;AACD;;;EAGE,aAAY;EACb;AACD;EAAA,mBAAA;EAAA,kBAAA;EAGC;AACD;EAAA,aAAA;EAAA,eAAA;EAAA,iBAAA;EAIC;AACD;EAAA,oBAAA;EAAA,wBAAA;EAGC;AACD;EAAA,gBAAA;EAEC;AACD;EAAA,aAAA;EAEC;AACD;EAAA,qBAAA;EAAA,uBAAA;EAAA,cAAA;EAAA,gEAAA;EAKC;AACD;EAAA,qBAAA;EAAA,uBAAA;EAAA,cAAA;EAAA,mCAAA;EAKC;AACD;EAAA,2FAAA;EAEC;AACD;EAAA,qBAAA;EAAA,uBAAA;EAAA,cAAA;EAAA,6GAAA;EAKC;AACD;EAAA,2BAAA;EAAA,gCAAA;EAAA,kCAAA;EAAA,8BAAA;EAKC;AACD;EAAA,qBAAA;EAAA,gBAAA;EAAA,kBAAA;EAAA,4BAAA;EAKC;AACD;;EAEE,YAAW;EAAX,aAAW;EAAX,kBAAW;EAGZ;AACD;EAAA,kBAAA;EAAA,qBAAA;EAAA,WAAA;EAAA,YAAA;EAKC;AACD;EAAA,WAAA;EAAA,YAAA;EAGC;AACD;EAAA,WAAA;EAAA,YAAA;EAAA,oBAAA;EAIC","file":"dashboard-widget.css"}
css/jetpack-admin-rtl.css CHANGED
@@ -173,7 +173,7 @@ button,
173
  input,
174
  select,
175
  textarea {
176
- color: #222;
177
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
178
  font-size: 14px;
179
  line-height: 1.4;
@@ -251,10 +251,12 @@ img {
251
  -webkit-transform: scale(0.3);
252
  transform: scale(0.3);
253
  }
 
254
  60% {
255
  -webkit-transform: scale(1.15);
256
  transform: scale(1.15);
257
  }
 
258
  100% {
259
  -webkit-transform: scale(1);
260
  transform: scale(1);
@@ -266,10 +268,12 @@ img {
266
  -webkit-transform: scale(0.3);
267
  transform: scale(0.3);
268
  }
 
269
  60% {
270
  -webkit-transform: scale(1.15);
271
  transform: scale(1.15);
272
  }
 
273
  100% {
274
  -webkit-transform: scale(1);
275
  transform: scale(1);
@@ -280,14 +284,17 @@ img {
280
  -webkit-transform: scale(1);
281
  transform: scale(1);
282
  }
 
283
  20% {
284
  -webkit-transform: scale(1.15);
285
  transform: scale(1.15);
286
  }
 
287
  60% {
288
  -webkit-transform: scale(0.95);
289
  transform: scale(0.95);
290
  }
 
291
  100% {
292
  -webkit-transform: scale(1);
293
  transform: scale(1);
@@ -298,14 +305,17 @@ img {
298
  -webkit-transform: scale(1);
299
  transform: scale(1);
300
  }
 
301
  20% {
302
  -webkit-transform: scale(1.15);
303
  transform: scale(1.15);
304
  }
 
305
  60% {
306
  -webkit-transform: scale(0.95);
307
  transform: scale(0.95);
308
  }
 
309
  100% {
310
  -webkit-transform: scale(1);
311
  transform: scale(1);
@@ -316,6 +326,7 @@ img {
316
  -webkit-transform: translate3d(0px, 0px, 0px);
317
  transform: translate3d(0px, 0px, 0px);
318
  }
 
319
  100% {
320
  -webkit-transform: translate3d(680px, -680px, 0px);
321
  transform: translate3d(680px, -680px, 0px);
@@ -326,6 +337,7 @@ img {
326
  -webkit-transform: translate3d(0px, 0px, 0px);
327
  transform: translate3d(0px, 0px, 0px);
328
  }
 
329
  100% {
330
  -webkit-transform: translate3d(680px, -680px, 0px);
331
  transform: translate3d(680px, -680px, 0px);
@@ -1249,6 +1261,37 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1249
  border-color: #69bedd;
1250
  box-shadow: inset -4px 0 0 #69bedd;
1251
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1252
  @media (max-width: 1147px) {
1253
  .cat .module:nth-child(3n + 1) {
1254
  margin: .75% 1.5% .75% 0;
@@ -1801,7 +1844,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1801
  opacity: 0.6;
1802
  position: absolute;
1803
  top: 23px;
1804
- top: calc( 50% - 22px );
1805
  }
1806
  @media (max-width: 530px) {
1807
  .jetpack-message .squeezer {
@@ -1826,10 +1869,12 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1826
  max-width: 100%;
1827
  }
1828
 
 
1829
  .modules h3.icon,
1830
  .jetpack-modules .info a {
1831
  width: auto;
1832
  }
 
1833
  .modules h3.icon:before,
1834
  .jetpack-modules .info a:before {
1835
  display: inline-block;
@@ -2037,6 +2082,10 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2037
  content: '\f475';
2038
  }
2039
 
 
 
 
 
2040
  @media (max-width: 782px) {
2041
  .blog .type-post,
2042
  .page-template-default .type-page,
@@ -2062,7 +2111,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2062
  width: 100%;
2063
  }
2064
  }
2065
- @media screen and (max-width: 400px) {
2066
  .jp-frame .header-nav {
2067
  padding-bottom: 10px;
2068
  }
@@ -2082,6 +2131,14 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2082
  .jp-frame .header-nav .jetpack-modules + .jetpack-modules {
2083
  text-align: right;
2084
  }
 
 
 
 
 
 
 
 
2085
  }
2086
  @media (max-width: 320px) {
2087
  .jetpack_page_jetpack_modules .wrap {
@@ -2205,6 +2262,13 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2205
  .table-bordered.jetpack-modules tr.jetpack-module#vaultpress {
2206
  opacity: 1;
2207
  }
 
 
 
 
 
 
 
2208
  .table-bordered.jetpack-modules tr.jetpack-module th,
2209
  .table-bordered.jetpack-modules tr.jetpack-module td {
2210
  background: #fff;
@@ -2349,10 +2413,10 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2349
  }
2350
  .wrap .manage-right.show {
2351
  display: block;
2352
- position: fixed;
2353
  overflow-y: auto;
2354
  overflow-x: hidden;
2355
  position: absolute;
 
2356
  }
2357
  .wrap .manage-right .search-bar {
2358
  margin-bottom: 18px;
@@ -2394,7 +2458,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2394
  border-radius: 2px;
2395
  margin-right: -5px;
2396
  background: #0D72B2;
2397
- color: #FFF;
2398
  }
2399
  .wrap .manage-right .subsubsub .current .count {
2400
  color: #BCD7E7;
@@ -2425,12 +2489,50 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2425
  }
2426
  }
2427
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2428
  /* 'Pages' is a temporary location for these styles, until we can break them up into their proper atmoic locations */
2429
  .configure-module p {
2430
  font-size: 14px;
2431
  }
2432
  .configure-module p.success, .configure-module p.error {
2433
- color: #fff;
2434
  padding: 10px;
2435
  }
2436
  .configure-module p.success {
@@ -2641,6 +2743,145 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2641
  }
2642
  }
2643
  /* end < 400px */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2644
  .jp-content .hide {
2645
  display: none;
2646
  }
@@ -2832,6 +3073,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2832
  -webkit-transform: translate3d(0px, 0px, 0px);
2833
  transform: translate3d(0px, 0px, 0px);
2834
  }
 
2835
  100% {
2836
  -webkit-transform: translate3d(900px, -900px, 0px);
2837
  transform: translate3d(900px, -900px, 0px);
@@ -2842,6 +3084,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2842
  -webkit-transform: translate3d(0px, 0px, 0px);
2843
  transform: translate3d(0px, 0px, 0px);
2844
  }
 
2845
  100% {
2846
  -webkit-transform: translate3d(900px, -900px, 0px);
2847
  transform: translate3d(900px, -900px, 0px);
@@ -2894,7 +3137,37 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2894
  clear: both;
2895
  }
2896
 
2897
- /*# sourceMappingURL=jetpack-admin.css.map */
2898
- .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 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.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}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2899
 
2900
  /*# sourceMappingURL=jetpack-admin.min.css.map */
173
  input,
174
  select,
175
  textarea {
176
+ color: #222222;
177
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
178
  font-size: 14px;
179
  line-height: 1.4;
251
  -webkit-transform: scale(0.3);
252
  transform: scale(0.3);
253
  }
254
+
255
  60% {
256
  -webkit-transform: scale(1.15);
257
  transform: scale(1.15);
258
  }
259
+
260
  100% {
261
  -webkit-transform: scale(1);
262
  transform: scale(1);
268
  -webkit-transform: scale(0.3);
269
  transform: scale(0.3);
270
  }
271
+
272
  60% {
273
  -webkit-transform: scale(1.15);
274
  transform: scale(1.15);
275
  }
276
+
277
  100% {
278
  -webkit-transform: scale(1);
279
  transform: scale(1);
284
  -webkit-transform: scale(1);
285
  transform: scale(1);
286
  }
287
+
288
  20% {
289
  -webkit-transform: scale(1.15);
290
  transform: scale(1.15);
291
  }
292
+
293
  60% {
294
  -webkit-transform: scale(0.95);
295
  transform: scale(0.95);
296
  }
297
+
298
  100% {
299
  -webkit-transform: scale(1);
300
  transform: scale(1);
305
  -webkit-transform: scale(1);
306
  transform: scale(1);
307
  }
308
+
309
  20% {
310
  -webkit-transform: scale(1.15);
311
  transform: scale(1.15);
312
  }
313
+
314
  60% {
315
  -webkit-transform: scale(0.95);
316
  transform: scale(0.95);
317
  }
318
+
319
  100% {
320
  -webkit-transform: scale(1);
321
  transform: scale(1);
326
  -webkit-transform: translate3d(0px, 0px, 0px);
327
  transform: translate3d(0px, 0px, 0px);
328
  }
329
+
330
  100% {
331
  -webkit-transform: translate3d(680px, -680px, 0px);
332
  transform: translate3d(680px, -680px, 0px);
337
  -webkit-transform: translate3d(0px, 0px, 0px);
338
  transform: translate3d(0px, 0px, 0px);
339
  }
340
+
341
  100% {
342
  -webkit-transform: translate3d(680px, -680px, 0px);
343
  transform: translate3d(680px, -680px, 0px);
1261
  border-color: #69bedd;
1262
  box-shadow: inset -4px 0 0 #69bedd;
1263
  }
1264
+ .module .button,
1265
+ .module .button-primary {
1266
+ margin-top: 15px;
1267
+ }
1268
+ @media (max-width: 530px) {
1269
+ .module .configure, .module .activate {
1270
+ display: block;
1271
+ width: 100%;
1272
+ text-align: center;
1273
+ }
1274
+ .module .button,
1275
+ .module .button-primary {
1276
+ width: 50%;
1277
+ }
1278
+ .module .button-primary {
1279
+ line-height: normal;
1280
+ padding: 6px 14px;
1281
+ height: auto;
1282
+ font-size: 14px;
1283
+ }
1284
+ }
1285
+ @media screen and (max-width: 450px) {
1286
+ .module .button,
1287
+ .module .button-primary {
1288
+ margin: 20px auto 0 auto;
1289
+ }
1290
+ .module .button.alignright,
1291
+ .module .button-primary.alignright {
1292
+ float: none;
1293
+ }
1294
+ }
1295
  @media (max-width: 1147px) {
1296
  .cat .module:nth-child(3n + 1) {
1297
  margin: .75% 1.5% .75% 0;
1844
  opacity: 0.6;
1845
  position: absolute;
1846
  top: 23px;
1847
+ top: calc(50% - 22px );
1848
  }
1849
  @media (max-width: 530px) {
1850
  .jetpack-message .squeezer {
1869
  max-width: 100%;
1870
  }
1871
 
1872
+ .jetpack-modules #site-icon-deprecated .info,
1873
  .modules h3.icon,
1874
  .jetpack-modules .info a {
1875
  width: auto;
1876
  }
1877
+ .jetpack-modules #site-icon-deprecated .info:before,
1878
  .modules h3.icon:before,
1879
  .jetpack-modules .info a:before {
1880
  display: inline-block;
2082
  content: '\f475';
2083
  }
2084
 
2085
+ .jetpack-modules #site-icon-deprecated .info:before {
2086
+ content: '\f475';
2087
+ }
2088
+
2089
  @media (max-width: 782px) {
2090
  .blog .type-post,
2091
  .page-template-default .type-page,
2111
  width: 100%;
2112
  }
2113
  }
2114
+ @media screen and (max-width: 515px) {
2115
  .jp-frame .header-nav {
2116
  padding-bottom: 10px;
2117
  }
2131
  .jp-frame .header-nav .jetpack-modules + .jetpack-modules {
2132
  text-align: right;
2133
  }
2134
+ .jp-frame .header-nav .jetpack-modules:nth-child(4) {
2135
+ text-align: center;
2136
+ margin: 0 auto;
2137
+ width: 100%;
2138
+ }
2139
+ .jp-frame .header-nav .jetpack-modules:nth-child(4) a {
2140
+ padding: 0 10px;
2141
+ }
2142
  }
2143
  @media (max-width: 320px) {
2144
  .jetpack_page_jetpack_modules .wrap {
2262
  .table-bordered.jetpack-modules tr.jetpack-module#vaultpress {
2263
  opacity: 1;
2264
  }
2265
+ .table-bordered.jetpack-modules tr.jetpack-module.deprecated span {
2266
+ color: #888;
2267
+ }
2268
+ .table-bordered.jetpack-modules tr.jetpack-module.deprecated .dep-msg {
2269
+ margin-left: 10px;
2270
+ color: #555;
2271
+ }
2272
  .table-bordered.jetpack-modules tr.jetpack-module th,
2273
  .table-bordered.jetpack-modules tr.jetpack-module td {
2274
  background: #fff;
2413
  }
2414
  .wrap .manage-right.show {
2415
  display: block;
 
2416
  overflow-y: auto;
2417
  overflow-x: hidden;
2418
  position: absolute;
2419
+ z-index: 100000;
2420
  }
2421
  .wrap .manage-right .search-bar {
2422
  margin-bottom: 18px;
2458
  border-radius: 2px;
2459
  margin-right: -5px;
2460
  background: #0D72B2;
2461
+ color: #fff;
2462
  }
2463
  .wrap .manage-right .subsubsub .current .count {
2464
  color: #BCD7E7;
2489
  }
2490
  }
2491
 
2492
+ @media (max-width: 782px) {
2493
+ .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary):not(.check-column) {
2494
+ padding: 11px 10px;
2495
+ display: block;
2496
+ }
2497
+
2498
+ .jetpack_page_jetpack_modules #doaction {
2499
+ padding: 7px 14px;
2500
+ }
2501
+ .jetpack_page_jetpack_modules .fixed-top thead .check-column {
2502
+ padding: 28px 10px 0 10px;
2503
+ }
2504
+ .jetpack_page_jetpack_modules .filter-search {
2505
+ margin-top: 28px;
2506
+ }
2507
+ .jetpack_page_jetpack_modules .filter-search .button {
2508
+ padding: 7px 14px;
2509
+ }
2510
+
2511
+ .manage-right.show .subsubsub li {
2512
+ padding: 5px;
2513
+ }
2514
+ }
2515
+ @media (max-width: 650px) {
2516
+ .table-bordered.jetpack-modules tr.jetpack-module.deprecated td .row-actions {
2517
+ float: none;
2518
+ padding-right: 18px;
2519
+ }
2520
+ }
2521
+ @media (max-width: 430px) {
2522
+ .table-bordered.jetpack-modules tr.jetpack-module td .row-actions {
2523
+ display: none;
2524
+ }
2525
+
2526
+ .table-bordered.jetpack-modules tr.jetpack-module.deprecated td .row-actions {
2527
+ display: block;
2528
+ }
2529
+ }
2530
  /* 'Pages' is a temporary location for these styles, until we can break them up into their proper atmoic locations */
2531
  .configure-module p {
2532
  font-size: 14px;
2533
  }
2534
  .configure-module p.success, .configure-module p.error {
2535
+ color: white;
2536
  padding: 10px;
2537
  }
2538
  .configure-module p.success {
2743
  }
2744
  }
2745
  /* end < 400px */
2746
+ .my-jetpack-actions {
2747
+ margin: 0 0 40px 0;
2748
+ }
2749
+ .my-jetpack-actions .j-col {
2750
+ padding: 0;
2751
+ text-align: center;
2752
+ }
2753
+ .my-jetpack-actions #user-list {
2754
+ height: 30px;
2755
+ margin-top: -1px;
2756
+ margin-right: -3px;
2757
+ }
2758
+
2759
+ #jetpack-disconnect-content {
2760
+ display: none;
2761
+ text-align: center;
2762
+ }
2763
+ #jetpack-disconnect-content .cancel-disconnect {
2764
+ display: block;
2765
+ margin-top: 10px;
2766
+ }
2767
+
2768
+ .connection-details {
2769
+ border: 1px #ddd solid;
2770
+ }
2771
+ .connection-details.local-user {
2772
+ margin-bottom: 10px;
2773
+ }
2774
+ .connection-details .user-01,
2775
+ .connection-details .wpuser-02,
2776
+ .connection-details .action-btns {
2777
+ padding: 10px;
2778
+ }
2779
+ .connection-details .user-01 .button, .connection-details .user-01 select,
2780
+ .connection-details .wpuser-02 .button,
2781
+ .connection-details .wpuser-02 select,
2782
+ .connection-details .action-btns .button,
2783
+ .connection-details .action-btns select {
2784
+ margin-top: 5px;
2785
+ }
2786
+ .connection-details .wpuser-02 {
2787
+ margin-top: 10px;
2788
+ }
2789
+ .connection-details h3 {
2790
+ padding: 10px;
2791
+ margin: 0;
2792
+ background: #eee;
2793
+ border-bottom: 1px #ddd solid;
2794
+ font-size: 14px;
2795
+ }
2796
+
2797
+ .jp-user img {
2798
+ margin-left: 10px;
2799
+ border-radius: 50%;
2800
+ }
2801
+
2802
+ .jp-user div,
2803
+ .wp-user div,
2804
+ .wp-action div {
2805
+ display: inline-block;
2806
+ width: 100%;
2807
+ }
2808
+
2809
+ .j-col.jp-user,
2810
+ .j-col.wp-user,
2811
+ .j-col.wp-action {
2812
+ padding: 0;
2813
+ }
2814
+
2815
+ .my-jetpack-actions select {
2816
+ max-width: 150px;
2817
+ }
2818
+
2819
+ .j-actions .button:nth-child(3) {
2820
+ margin-left: 5px;
2821
+ }
2822
+
2823
+ .j-row.disconnect {
2824
+ text-align: center;
2825
+ }
2826
+ .j-row.disconnect .button {
2827
+ margin: 0 auto;
2828
+ }
2829
+
2830
+ a.what-is-primary {
2831
+ color: #b4b9be;
2832
+ margin-right: 4px;
2833
+ }
2834
+
2835
+ @media (max-width: 782px) {
2836
+ .wp-action {
2837
+ border-top: 1px #ddd solid;
2838
+ }
2839
+ .wp-action h3 {
2840
+ display: none;
2841
+ }
2842
+ }
2843
+ @media screen and (max-width: 500px) {
2844
+ .connection-details {
2845
+ font-size: 11px;
2846
+ }
2847
+ .connection-details h3 {
2848
+ font-size: 12px;
2849
+ padding: 5px;
2850
+ }
2851
+ .connection-details .user-01,
2852
+ .connection-details .wpuser-02 {
2853
+ padding: 6px;
2854
+ white-space: nowrap;
2855
+ overflow: hidden;
2856
+ text-overflow: ellipsis;
2857
+ max-width: 200px;
2858
+ }
2859
+ .connection-details .action-btns {
2860
+ text-align: center;
2861
+ }
2862
+ }
2863
+ @media (max-width: 530px) {
2864
+ .connection-details .wpuser-02 {
2865
+ margin-top: 0;
2866
+ padding: 12px;
2867
+ }
2868
+ }
2869
+ @media screen and (max-width: 450px) {
2870
+ .j-actions .button {
2871
+ width: 100%;
2872
+ margin-bottom: 5px;
2873
+ text-align: center;
2874
+ }
2875
+ .j-actions .button.alignright {
2876
+ float: none;
2877
+ }
2878
+ }
2879
+ @media screen and (max-width: 350px) {
2880
+ .user-01,
2881
+ .wpuser-02 {
2882
+ max-width: 100px;
2883
+ }
2884
+ }
2885
  .jp-content .hide {
2886
  display: none;
2887
  }
3073
  -webkit-transform: translate3d(0px, 0px, 0px);
3074
  transform: translate3d(0px, 0px, 0px);
3075
  }
3076
+
3077
  100% {
3078
  -webkit-transform: translate3d(900px, -900px, 0px);
3079
  transform: translate3d(900px, -900px, 0px);
3084
  -webkit-transform: translate3d(0px, 0px, 0px);
3085
  transform: translate3d(0px, 0px, 0px);
3086
  }
3087
+
3088
  100% {
3089
  -webkit-transform: translate3d(900px, -900px, 0px);
3090
  transform: translate3d(900px, -900px, 0px);
3137
  clear: both;
3138
  }
3139
 
3140
+ .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}}
3141
+ #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}}
3142
+ @media (max-width: 782px){.configure .frame.top.fixed{padding-right:0}}
3143
+ .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}}
3144
+ @media (max-width: 1147px){.wrap.inner{background:#f9f9f9;padding:15px}}@media (max-width: 530px){.wrap.inner{margin-top:1.71429em}}
3145
+ .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}}
3146
+ @media (max-width: 1147px){.page-content.configure{background:#f9f9f9}}
3147
+ .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}}
3148
+ .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}}
3149
+ .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}}
3150
+ .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}}
3151
+ .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}}
3152
+ .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}}
3153
+ .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}}
3154
+ .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}}
3155
+ .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}}
3156
+ .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}}
3157
+ #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}}
3158
+ .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 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.active{border-color:#2ea2cc;box-shadow:inset -4px 0 0 #2ea2cc}.module.active:hover{border-color:#69bedd;box-shadow:inset -4px 0 0 #69bedd}.module .button,.module .button-primary{margin-top:15px}@media (max-width: 530px){.module .configure,.module .activate{display:block;width:100%;text-align:center}.module .button,.module .button-primary{width:50%}.module .button-primary{line-height:normal;padding:6px 14px;height:auto;font-size:14px}}@media screen and (max-width: 450px){.module .button,.module .button-primary{margin:20px auto 0 auto}.module .button.alignright,.module .button-primary.alignright{float:none}}@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}}
3159
+ .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}}
3160
+ .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}}
3161
+ .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}}
3162
+ .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}}
3163
+ .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}}
3164
+ .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}}
3165
+ .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}}
3166
+ .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%}.jetpack-modules #site-icon-deprecated .info,.modules h3.icon,.jetpack-modules .info a{width:auto}.jetpack-modules #site-icon-deprecated .info:before,.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'}.jetpack-modules #site-icon-deprecated .info: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: 515px){.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}.jp-frame .header-nav .jetpack-modules:nth-child(4){text-align:center;margin:0 auto;width:100%}.jp-frame .header-nav .jetpack-modules:nth-child(4) a{padding:0 10px}}@media (max-width: 320px){.jetpack_page_jetpack_modules .wrap{padding:0 0 1em}}
3167
+ .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}}
3168
+ .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}}
3169
+ .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.deprecated span{color:#888}.table-bordered.jetpack-modules tr.jetpack-module.deprecated .dep-msg{margin-left:10px;color:#555}.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}}
3170
+ .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;overflow-y:auto;overflow-x:hidden;position:absolute;z-index:100000}.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}}
3171
+ @media (max-width: 782px){.wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary):not(.check-column){padding:11px 10px;display:block}.jetpack_page_jetpack_modules #doaction{padding:7px 14px}.jetpack_page_jetpack_modules .fixed-top thead .check-column{padding:28px 10px 0 10px}.jetpack_page_jetpack_modules .filter-search{margin-top:28px}.jetpack_page_jetpack_modules .filter-search .button{padding:7px 14px}.manage-right.show .subsubsub li{padding:5px}}@media (max-width: 650px){.table-bordered.jetpack-modules tr.jetpack-module.deprecated td .row-actions{float:none;padding-right:18px}}@media (max-width: 430px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:none}.table-bordered.jetpack-modules tr.jetpack-module.deprecated td .row-actions{display:block}}.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%}}.my-jetpack-actions{margin:0 0 40px 0}.my-jetpack-actions .j-col{padding:0;text-align:center}.my-jetpack-actions #user-list{height:30px;margin-top:-1px;margin-right:-3px}#jetpack-disconnect-content{display:none;text-align:center}#jetpack-disconnect-content .cancel-disconnect{display:block;margin-top:10px}.connection-details{border:1px #ddd solid}.connection-details.local-user{margin-bottom:10px}.connection-details .user-01,.connection-details .wpuser-02,.connection-details .action-btns{padding:10px}.connection-details .user-01 .button,.connection-details .user-01 select,.connection-details .wpuser-02 .button,.connection-details .wpuser-02 select,.connection-details .action-btns .button,.connection-details .action-btns select{margin-top:5px}.connection-details .wpuser-02{margin-top:10px}.connection-details h3{padding:10px;margin:0;background:#eee;border-bottom:1px #ddd solid;font-size:14px}.jp-user img{margin-left:10px;border-radius:50%}.jp-user div,.wp-user div,.wp-action div{display:inline-block;width:100%}.j-col.jp-user,.j-col.wp-user,.j-col.wp-action{padding:0}.my-jetpack-actions select{max-width:150px}.j-actions .button:nth-child(3){margin-left:5px}.j-row.disconnect{text-align:center}.j-row.disconnect .button{margin:0 auto}a.what-is-primary{color:#b4b9be;margin-right:4px}@media (max-width: 782px){.wp-action{border-top:1px #ddd solid}.wp-action h3{display:none}}@media screen and (max-width: 500px){.connection-details{font-size:11px}.connection-details h3{font-size:12px;padding:5px}.connection-details .user-01,.connection-details .wpuser-02{padding:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.connection-details .action-btns{text-align:center}}@media (max-width: 530px){.connection-details .wpuser-02{margin-top:0;padding:12px}}@media screen and (max-width: 450px){.j-actions .button{width:100%;margin-bottom:5px;text-align:center}.j-actions .button.alignright{float:none}}@media screen and (max-width: 350px){.user-01,.wpuser-02{max-width:100px}}.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}
3172
 
3173
  /*# sourceMappingURL=jetpack-admin.min.css.map */
css/jetpack-admin-rtl.min.css CHANGED
@@ -1,3 +1,34 @@
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 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.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 */
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}}
2
+ #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}}
3
+ @media (max-width: 782px){.configure .frame.top.fixed{padding-right:0}}
4
+ .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}}
5
+ @media (max-width: 1147px){.wrap.inner{background:#f9f9f9;padding:15px}}@media (max-width: 530px){.wrap.inner{margin-top:1.71429em}}
6
+ .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}}
7
+ @media (max-width: 1147px){.page-content.configure{background:#f9f9f9}}
8
+ .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}}
9
+ .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}}
10
+ .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}}
11
+ .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}}
12
+ .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}}
13
+ .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}}
14
+ .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}}
15
+ .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}}
16
+ .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}}
17
+ .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}}
18
+ #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}}
19
+ .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 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.active{border-color:#2ea2cc;box-shadow:inset -4px 0 0 #2ea2cc}.module.active:hover{border-color:#69bedd;box-shadow:inset -4px 0 0 #69bedd}.module .button,.module .button-primary{margin-top:15px}@media (max-width: 530px){.module .configure,.module .activate{display:block;width:100%;text-align:center}.module .button,.module .button-primary{width:50%}.module .button-primary{line-height:normal;padding:6px 14px;height:auto;font-size:14px}}@media screen and (max-width: 450px){.module .button,.module .button-primary{margin:20px auto 0 auto}.module .button.alignright,.module .button-primary.alignright{float:none}}@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}}
20
+ .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}}
21
+ .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}}
22
+ .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}}
23
+ .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}}
24
+ .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}}
25
+ .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}}
26
+ .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}}
27
+ .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%}.jetpack-modules #site-icon-deprecated .info,.modules h3.icon,.jetpack-modules .info a{width:auto}.jetpack-modules #site-icon-deprecated .info:before,.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'}.jetpack-modules #site-icon-deprecated .info: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: 515px){.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}.jp-frame .header-nav .jetpack-modules:nth-child(4){text-align:center;margin:0 auto;width:100%}.jp-frame .header-nav .jetpack-modules:nth-child(4) a{padding:0 10px}}@media (max-width: 320px){.jetpack_page_jetpack_modules .wrap{padding:0 0 1em}}
28
+ .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}}
29
+ .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}}
30
+ .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.deprecated span{color:#888}.table-bordered.jetpack-modules tr.jetpack-module.deprecated .dep-msg{margin-left:10px;color:#555}.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}}
31
+ .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;overflow-y:auto;overflow-x:hidden;position:absolute;z-index:100000}.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}}
32
+ @media (max-width: 782px){.wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary):not(.check-column){padding:11px 10px;display:block}.jetpack_page_jetpack_modules #doaction{padding:7px 14px}.jetpack_page_jetpack_modules .fixed-top thead .check-column{padding:28px 10px 0 10px}.jetpack_page_jetpack_modules .filter-search{margin-top:28px}.jetpack_page_jetpack_modules .filter-search .button{padding:7px 14px}.manage-right.show .subsubsub li{padding:5px}}@media (max-width: 650px){.table-bordered.jetpack-modules tr.jetpack-module.deprecated td .row-actions{float:none;padding-right:18px}}@media (max-width: 430px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:none}.table-bordered.jetpack-modules tr.jetpack-module.deprecated td .row-actions{display:block}}.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%}}.my-jetpack-actions{margin:0 0 40px 0}.my-jetpack-actions .j-col{padding:0;text-align:center}.my-jetpack-actions #user-list{height:30px;margin-top:-1px;margin-right:-3px}#jetpack-disconnect-content{display:none;text-align:center}#jetpack-disconnect-content .cancel-disconnect{display:block;margin-top:10px}.connection-details{border:1px #ddd solid}.connection-details.local-user{margin-bottom:10px}.connection-details .user-01,.connection-details .wpuser-02,.connection-details .action-btns{padding:10px}.connection-details .user-01 .button,.connection-details .user-01 select,.connection-details .wpuser-02 .button,.connection-details .wpuser-02 select,.connection-details .action-btns .button,.connection-details .action-btns select{margin-top:5px}.connection-details .wpuser-02{margin-top:10px}.connection-details h3{padding:10px;margin:0;background:#eee;border-bottom:1px #ddd solid;font-size:14px}.jp-user img{margin-left:10px;border-radius:50%}.jp-user div,.wp-user div,.wp-action div{display:inline-block;width:100%}.j-col.jp-user,.j-col.wp-user,.j-col.wp-action{padding:0}.my-jetpack-actions select{max-width:150px}.j-actions .button:nth-child(3){margin-left:5px}.j-row.disconnect{text-align:center}.j-row.disconnect .button{margin:0 auto}a.what-is-primary{color:#b4b9be;margin-right:4px}@media (max-width: 782px){.wp-action{border-top:1px #ddd solid}.wp-action h3{display:none}}@media screen and (max-width: 500px){.connection-details{font-size:11px}.connection-details h3{font-size:12px;padding:5px}.connection-details .user-01,.connection-details .wpuser-02{padding:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.connection-details .action-btns{text-align:center}}@media (max-width: 530px){.connection-details .wpuser-02{margin-top:0;padding:12px}}@media screen and (max-width: 450px){.j-actions .button{width:100%;margin-bottom:5px;text-align:center}.j-actions .button.alignright{float:none}}@media screen and (max-width: 350px){.user-01,.wpuser-02{max-width:100px}}.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}
33
 
34
  /*# sourceMappingURL=jetpack-admin.min.css.map */
css/jetpack-admin.css CHANGED
@@ -173,7 +173,7 @@ button,
173
  input,
174
  select,
175
  textarea {
176
- color: #222;
177
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
178
  font-size: 14px;
179
  line-height: 1.4;
@@ -251,10 +251,12 @@ img {
251
  -webkit-transform: scale(0.3);
252
  transform: scale(0.3);
253
  }
 
254
  60% {
255
  -webkit-transform: scale(1.15);
256
  transform: scale(1.15);
257
  }
 
258
  100% {
259
  -webkit-transform: scale(1);
260
  transform: scale(1);
@@ -266,10 +268,12 @@ img {
266
  -webkit-transform: scale(0.3);
267
  transform: scale(0.3);
268
  }
 
269
  60% {
270
  -webkit-transform: scale(1.15);
271
  transform: scale(1.15);
272
  }
 
273
  100% {
274
  -webkit-transform: scale(1);
275
  transform: scale(1);
@@ -280,14 +284,17 @@ img {
280
  -webkit-transform: scale(1);
281
  transform: scale(1);
282
  }
 
283
  20% {
284
  -webkit-transform: scale(1.15);
285
  transform: scale(1.15);
286
  }
 
287
  60% {
288
  -webkit-transform: scale(0.95);
289
  transform: scale(0.95);
290
  }
 
291
  100% {
292
  -webkit-transform: scale(1);
293
  transform: scale(1);
@@ -298,14 +305,17 @@ img {
298
  -webkit-transform: scale(1);
299
  transform: scale(1);
300
  }
 
301
  20% {
302
  -webkit-transform: scale(1.15);
303
  transform: scale(1.15);
304
  }
 
305
  60% {
306
  -webkit-transform: scale(0.95);
307
  transform: scale(0.95);
308
  }
 
309
  100% {
310
  -webkit-transform: scale(1);
311
  transform: scale(1);
@@ -316,6 +326,7 @@ img {
316
  -webkit-transform: translate3d(0px, 0px, 0px);
317
  transform: translate3d(0px, 0px, 0px);
318
  }
 
319
  100% {
320
  -webkit-transform: translate3d(680px, -680px, 0px);
321
  transform: translate3d(680px, -680px, 0px);
@@ -326,6 +337,7 @@ img {
326
  -webkit-transform: translate3d(0px, 0px, 0px);
327
  transform: translate3d(0px, 0px, 0px);
328
  }
 
329
  100% {
330
  -webkit-transform: translate3d(680px, -680px, 0px);
331
  transform: translate3d(680px, -680px, 0px);
@@ -1249,6 +1261,37 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1249
  border-color: #69bedd;
1250
  box-shadow: inset 4px 0 0 #69bedd;
1251
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1252
  @media (max-width: 1147px) {
1253
  .cat .module:nth-child(3n + 1) {
1254
  margin: .75% 0 .75% 1.5%;
@@ -1801,7 +1844,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1801
  opacity: 0.6;
1802
  position: absolute;
1803
  top: 23px;
1804
- top: calc( 50% - 22px );
1805
  }
1806
  @media (max-width: 530px) {
1807
  .jetpack-message .squeezer {
@@ -1826,10 +1869,12 @@ ul#adminmenu a.toplevel_page_jetpack:after {
1826
  max-width: 100%;
1827
  }
1828
 
 
1829
  .modules h3.icon,
1830
  .jetpack-modules .info a {
1831
  width: auto;
1832
  }
 
1833
  .modules h3.icon:before,
1834
  .jetpack-modules .info a:before {
1835
  display: inline-block;
@@ -2037,6 +2082,10 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2037
  content: '\f475';
2038
  }
2039
 
 
 
 
 
2040
  @media (max-width: 782px) {
2041
  .blog .type-post,
2042
  .page-template-default .type-page,
@@ -2062,7 +2111,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2062
  width: 100%;
2063
  }
2064
  }
2065
- @media screen and (max-width: 400px) {
2066
  .jp-frame .header-nav {
2067
  padding-bottom: 10px;
2068
  }
@@ -2082,6 +2131,14 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2082
  .jp-frame .header-nav .jetpack-modules + .jetpack-modules {
2083
  text-align: left;
2084
  }
 
 
 
 
 
 
 
 
2085
  }
2086
  @media (max-width: 320px) {
2087
  .jetpack_page_jetpack_modules .wrap {
@@ -2205,6 +2262,13 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2205
  .table-bordered.jetpack-modules tr.jetpack-module#vaultpress {
2206
  opacity: 1;
2207
  }
 
 
 
 
 
 
 
2208
  .table-bordered.jetpack-modules tr.jetpack-module th,
2209
  .table-bordered.jetpack-modules tr.jetpack-module td {
2210
  background: #fff;
@@ -2349,10 +2413,10 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2349
  }
2350
  .wrap .manage-right.show {
2351
  display: block;
2352
- position: fixed;
2353
  overflow-y: auto;
2354
  overflow-x: hidden;
2355
  position: absolute;
 
2356
  }
2357
  .wrap .manage-right .search-bar {
2358
  margin-bottom: 18px;
@@ -2394,7 +2458,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2394
  border-radius: 2px;
2395
  margin-left: -5px;
2396
  background: #0D72B2;
2397
- color: #FFF;
2398
  }
2399
  .wrap .manage-right .subsubsub .current .count {
2400
  color: #BCD7E7;
@@ -2425,12 +2489,50 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2425
  }
2426
  }
2427
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2428
  /* 'Pages' is a temporary location for these styles, until we can break them up into their proper atmoic locations */
2429
  .configure-module p {
2430
  font-size: 14px;
2431
  }
2432
  .configure-module p.success, .configure-module p.error {
2433
- color: #fff;
2434
  padding: 10px;
2435
  }
2436
  .configure-module p.success {
@@ -2641,6 +2743,145 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2641
  }
2642
  }
2643
  /* end < 400px */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2644
  .jp-content .hide {
2645
  display: none;
2646
  }
@@ -2832,6 +3073,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2832
  -webkit-transform: translate3d(0px, 0px, 0px);
2833
  transform: translate3d(0px, 0px, 0px);
2834
  }
 
2835
  100% {
2836
  -webkit-transform: translate3d(900px, -900px, 0px);
2837
  transform: translate3d(900px, -900px, 0px);
@@ -2842,6 +3084,7 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2842
  -webkit-transform: translate3d(0px, 0px, 0px);
2843
  transform: translate3d(0px, 0px, 0px);
2844
  }
 
2845
  100% {
2846
  -webkit-transform: translate3d(900px, -900px, 0px);
2847
  transform: translate3d(900px, -900px, 0px);
@@ -2893,5 +3136,3 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2893
  .nav-horizontal:after, .features:after, .modules:after, .load-more:after {
2894
  clear: both;
2895
  }
2896
-
2897
- /*# sourceMappingURL=jetpack-admin.css.map */
173
  input,
174
  select,
175
  textarea {
176
+ color: #222222;
177
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
178
  font-size: 14px;
179
  line-height: 1.4;
251
  -webkit-transform: scale(0.3);
252
  transform: scale(0.3);
253
  }
254
+
255
  60% {
256
  -webkit-transform: scale(1.15);
257
  transform: scale(1.15);
258
  }
259
+
260
  100% {
261
  -webkit-transform: scale(1);
262
  transform: scale(1);
268
  -webkit-transform: scale(0.3);
269
  transform: scale(0.3);
270
  }
271
+
272
  60% {
273
  -webkit-transform: scale(1.15);
274
  transform: scale(1.15);
275
  }
276
+
277
  100% {
278
  -webkit-transform: scale(1);
279
  transform: scale(1);
284
  -webkit-transform: scale(1);
285
  transform: scale(1);
286
  }
287
+
288
  20% {
289
  -webkit-transform: scale(1.15);
290
  transform: scale(1.15);
291
  }
292
+
293
  60% {
294
  -webkit-transform: scale(0.95);
295
  transform: scale(0.95);
296
  }
297
+
298
  100% {
299
  -webkit-transform: scale(1);
300
  transform: scale(1);
305
  -webkit-transform: scale(1);
306
  transform: scale(1);
307
  }
308
+
309
  20% {
310
  -webkit-transform: scale(1.15);
311
  transform: scale(1.15);
312
  }
313
+
314
  60% {
315
  -webkit-transform: scale(0.95);
316
  transform: scale(0.95);
317
  }
318
+
319
  100% {
320
  -webkit-transform: scale(1);
321
  transform: scale(1);
326
  -webkit-transform: translate3d(0px, 0px, 0px);
327
  transform: translate3d(0px, 0px, 0px);
328
  }
329
+
330
  100% {
331
  -webkit-transform: translate3d(680px, -680px, 0px);
332
  transform: translate3d(680px, -680px, 0px);
337
  -webkit-transform: translate3d(0px, 0px, 0px);
338
  transform: translate3d(0px, 0px, 0px);
339
  }
340
+
341
  100% {
342
  -webkit-transform: translate3d(680px, -680px, 0px);
343
  transform: translate3d(680px, -680px, 0px);
1261
  border-color: #69bedd;
1262
  box-shadow: inset 4px 0 0 #69bedd;
1263
  }
1264
+ .module .button,
1265
+ .module .button-primary {
1266
+ margin-top: 15px;
1267
+ }
1268
+ @media (max-width: 530px) {
1269
+ .module .configure, .module .activate {
1270
+ display: block;
1271
+ width: 100%;
1272
+ text-align: center;
1273
+ }
1274
+ .module .button,
1275
+ .module .button-primary {
1276
+ width: 50%;
1277
+ }
1278
+ .module .button-primary {
1279
+ line-height: normal;
1280
+ padding: 6px 14px;
1281
+ height: auto;
1282
+ font-size: 14px;
1283
+ }
1284
+ }
1285
+ @media screen and (max-width: 450px) {
1286
+ .module .button,
1287
+ .module .button-primary {
1288
+ margin: 20px auto 0 auto;
1289
+ }
1290
+ .module .button.alignright,
1291
+ .module .button-primary.alignright {
1292
+ float: none;
1293
+ }
1294
+ }
1295
  @media (max-width: 1147px) {
1296
  .cat .module:nth-child(3n + 1) {
1297
  margin: .75% 0 .75% 1.5%;
1844
  opacity: 0.6;
1845
  position: absolute;
1846
  top: 23px;
1847
+ top: calc(50% - 22px );
1848
  }
1849
  @media (max-width: 530px) {
1850
  .jetpack-message .squeezer {
1869
  max-width: 100%;
1870
  }
1871
 
1872
+ .jetpack-modules #site-icon-deprecated .info,
1873
  .modules h3.icon,
1874
  .jetpack-modules .info a {
1875
  width: auto;
1876
  }
1877
+ .jetpack-modules #site-icon-deprecated .info:before,
1878
  .modules h3.icon:before,
1879
  .jetpack-modules .info a:before {
1880
  display: inline-block;
2082
  content: '\f475';
2083
  }
2084
 
2085
+ .jetpack-modules #site-icon-deprecated .info:before {
2086
+ content: '\f475';
2087
+ }
2088
+
2089
  @media (max-width: 782px) {
2090
  .blog .type-post,
2091
  .page-template-default .type-page,
2111
  width: 100%;
2112
  }
2113
  }
2114
+ @media screen and (max-width: 515px) {
2115
  .jp-frame .header-nav {
2116
  padding-bottom: 10px;
2117
  }
2131
  .jp-frame .header-nav .jetpack-modules + .jetpack-modules {
2132
  text-align: left;
2133
  }
2134
+ .jp-frame .header-nav .jetpack-modules:nth-child(4) {
2135
+ text-align: center;
2136
+ margin: 0 auto;
2137
+ width: 100%;
2138
+ }
2139
+ .jp-frame .header-nav .jetpack-modules:nth-child(4) a {
2140
+ padding: 0 10px;
2141
+ }
2142
  }
2143
  @media (max-width: 320px) {
2144
  .jetpack_page_jetpack_modules .wrap {
2262
  .table-bordered.jetpack-modules tr.jetpack-module#vaultpress {
2263
  opacity: 1;
2264
  }
2265
+ .table-bordered.jetpack-modules tr.jetpack-module.deprecated span {
2266
+ color: #888;
2267
+ }
2268
+ .table-bordered.jetpack-modules tr.jetpack-module.deprecated .dep-msg {
2269
+ margin-right: 10px;
2270
+ color: #555;
2271
+ }
2272
  .table-bordered.jetpack-modules tr.jetpack-module th,
2273
  .table-bordered.jetpack-modules tr.jetpack-module td {
2274
  background: #fff;
2413
  }
2414
  .wrap .manage-right.show {
2415
  display: block;
 
2416
  overflow-y: auto;
2417
  overflow-x: hidden;
2418
  position: absolute;
2419
+ z-index: 100000;
2420
  }
2421
  .wrap .manage-right .search-bar {
2422
  margin-bottom: 18px;
2458
  border-radius: 2px;
2459
  margin-left: -5px;
2460
  background: #0D72B2;
2461
+ color: #fff;
2462
  }
2463
  .wrap .manage-right .subsubsub .current .count {
2464
  color: #BCD7E7;
2489
  }
2490
  }
2491
 
2492
+ @media (max-width: 782px) {
2493
+ .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary):not(.check-column) {
2494
+ padding: 11px 10px;
2495
+ display: block;
2496
+ }
2497
+
2498
+ .jetpack_page_jetpack_modules #doaction {
2499
+ padding: 7px 14px;
2500
+ }
2501
+ .jetpack_page_jetpack_modules .fixed-top thead .check-column {
2502
+ padding: 28px 10px 0 10px;
2503
+ }
2504
+ .jetpack_page_jetpack_modules .filter-search {
2505
+ margin-top: 28px;
2506
+ }
2507
+ .jetpack_page_jetpack_modules .filter-search .button {
2508
+ padding: 7px 14px;
2509
+ }
2510
+
2511
+ .manage-right.show .subsubsub li {
2512
+ padding: 5px;
2513
+ }
2514
+ }
2515
+ @media (max-width: 650px) {
2516
+ .table-bordered.jetpack-modules tr.jetpack-module.deprecated td .row-actions {
2517
+ float: none;
2518
+ padding-left: 18px;
2519
+ }
2520
+ }
2521
+ @media (max-width: 430px) {
2522
+ .table-bordered.jetpack-modules tr.jetpack-module td .row-actions {
2523
+ display: none;
2524
+ }
2525
+
2526
+ .table-bordered.jetpack-modules tr.jetpack-module.deprecated td .row-actions {
2527
+ display: block;
2528
+ }
2529
+ }
2530
  /* 'Pages' is a temporary location for these styles, until we can break them up into their proper atmoic locations */
2531
  .configure-module p {
2532
  font-size: 14px;
2533
  }
2534
  .configure-module p.success, .configure-module p.error {
2535
+ color: white;
2536
  padding: 10px;
2537
  }
2538
  .configure-module p.success {
2743
  }
2744
  }
2745
  /* end < 400px */
2746
+ .my-jetpack-actions {
2747
+ margin: 0 0 40px 0;
2748
+ }
2749
+ .my-jetpack-actions .j-col {
2750
+ padding: 0;
2751
+ text-align: center;
2752
+ }
2753
+ .my-jetpack-actions #user-list {
2754
+ height: 30px;
2755
+ margin-top: -1px;
2756
+ margin-left: -3px;
2757
+ }
2758
+
2759
+ #jetpack-disconnect-content {
2760
+ display: none;
2761
+ text-align: center;
2762
+ }
2763
+ #jetpack-disconnect-content .cancel-disconnect {
2764
+ display: block;
2765
+ margin-top: 10px;
2766
+ }
2767
+
2768
+ .connection-details {
2769
+ border: 1px #ddd solid;
2770
+ }
2771
+ .connection-details.local-user {
2772
+ margin-bottom: 10px;
2773
+ }
2774
+ .connection-details .user-01,
2775
+ .connection-details .wpuser-02,
2776
+ .connection-details .action-btns {
2777
+ padding: 10px;
2778
+ }
2779
+ .connection-details .user-01 .button, .connection-details .user-01 select,
2780
+ .connection-details .wpuser-02 .button,
2781
+ .connection-details .wpuser-02 select,
2782
+ .connection-details .action-btns .button,
2783
+ .connection-details .action-btns select {
2784
+ margin-top: 5px;
2785
+ }
2786
+ .connection-details .wpuser-02 {
2787
+ margin-top: 10px;
2788
+ }
2789
+ .connection-details h3 {
2790
+ padding: 10px;
2791
+ margin: 0;
2792
+ background: #eee;
2793
+ border-bottom: 1px #ddd solid;
2794
+ font-size: 14px;
2795
+ }
2796
+
2797
+ .jp-user img {
2798
+ margin-right: 10px;
2799
+ border-radius: 50%;
2800
+ }
2801
+
2802
+ .jp-user div,
2803
+ .wp-user div,
2804
+ .wp-action div {
2805
+ display: inline-block;
2806
+ width: 100%;
2807
+ }
2808
+
2809
+ .j-col.jp-user,
2810
+ .j-col.wp-user,
2811
+ .j-col.wp-action {
2812
+ padding: 0;
2813
+ }
2814
+
2815
+ .my-jetpack-actions select {
2816
+ max-width: 150px;
2817
+ }
2818
+
2819
+ .j-actions .button:nth-child(3) {
2820
+ margin-right: 5px;
2821
+ }
2822
+
2823
+ .j-row.disconnect {
2824
+ text-align: center;
2825
+ }
2826
+ .j-row.disconnect .button {
2827
+ margin: 0 auto;
2828
+ }
2829
+
2830
+ a.what-is-primary {
2831
+ color: #b4b9be;
2832
+ margin-left: 4px;
2833
+ }
2834
+
2835
+ @media (max-width: 782px) {
2836
+ .wp-action {
2837
+ border-top: 1px #ddd solid;
2838
+ }
2839
+ .wp-action h3 {
2840
+ display: none;
2841
+ }
2842
+ }
2843
+ @media screen and (max-width: 500px) {
2844
+ .connection-details {
2845
+ font-size: 11px;
2846
+ }
2847
+ .connection-details h3 {
2848
+ font-size: 12px;
2849
+ padding: 5px;
2850
+ }
2851
+ .connection-details .user-01,
2852
+ .connection-details .wpuser-02 {
2853
+ padding: 6px;
2854
+ white-space: nowrap;
2855
+ overflow: hidden;
2856
+ text-overflow: ellipsis;
2857
+ max-width: 200px;
2858
+ }
2859
+ .connection-details .action-btns {
2860
+ text-align: center;
2861
+ }
2862
+ }
2863
+ @media (max-width: 530px) {
2864
+ .connection-details .wpuser-02 {
2865
+ margin-top: 0;
2866
+ padding: 12px;
2867
+ }
2868
+ }
2869
+ @media screen and (max-width: 450px) {
2870
+ .j-actions .button {
2871
+ width: 100%;
2872
+ margin-bottom: 5px;
2873
+ text-align: center;
2874
+ }
2875
+ .j-actions .button.alignright {
2876
+ float: none;
2877
+ }
2878
+ }
2879
+ @media screen and (max-width: 350px) {
2880
+ .user-01,
2881
+ .wpuser-02 {
2882
+ max-width: 100px;
2883
+ }
2884
+ }
2885
  .jp-content .hide {
2886
  display: none;
2887
  }
3073
  -webkit-transform: translate3d(0px, 0px, 0px);
3074
  transform: translate3d(0px, 0px, 0px);
3075
  }
3076
+
3077
  100% {
3078
  -webkit-transform: translate3d(900px, -900px, 0px);
3079
  transform: translate3d(900px, -900px, 0px);
3084
  -webkit-transform: translate3d(0px, 0px, 0px);
3085
  transform: translate3d(0px, 0px, 0px);
3086
  }
3087
+
3088
  100% {
3089
  -webkit-transform: translate3d(900px, -900px, 0px);
3090
  transform: translate3d(900px, -900px, 0px);
3136
  .nav-horizontal:after, .features:after, .modules:after, .load-more:after {
3137
  clear: both;
3138
  }
 
 
css/jetpack-admin.css.map CHANGED
@@ -1 +1 @@
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":"AAKA;;;GCFE;ADKD;EAEC,aAAY;EACZ,gBAAc;ECJf;ADOA;EACC,cAAW;ECLX,gBAAe;EAChB;ADQD;EACC,aAAS;ECNT;;AAED;EACE,iBAAgB;EAChB,aAAY;EDSd,aAAA;EACC,oBAAS;ECPT;;AAED;EDMC;IAAU,iBAAgB;ICHxB;;EDIF;IAAU,kBAAU;ICAlB;;EDCF;IAAU,YAAO;ICGf;;EDFF;IAAU,kBAAgB;ICMxB;;EDLF;IAAU,kBAAU;ICSlB;;EDRF;IAAU,YAAO;ICYf;;EDXF;IAAU,kBAAgB;ICexB;;EDdF;IAAU,kBAAU;ICkBlB;;EDjBF;IAAU,YAAO;ICqBf;;EDpBF;IAAU,kBAAgB;ICwBxB;;EDvBF;IAAU,kBAAW;IC2BnB;;EC1BA;IFKF,aAAS;ICyBP;EACF;AACD;ED1BC;IAAU,iBAAgB;IC6BxB;;ED5BF;IAAU,kBAAU;ICgClB;;ED/BF;IAAU,YAAO;ICmCf;;EDlCF;IAAU,kBAAgB;ICsCxB;;EDrCF;IAAU,kBAAU;ICyClB;;EDxCF;IAAU,YAAO;IC4Cf;;ED3CF;IAAU,kBAAgB;IC+CxB;;ED9CF;IAAU,kBAAU;ICkDlB;;EDjDF;IAAU,YAAO;ICqDf;;EDpDF;IAAU,kBAAgB;ICwDxB;;EDvDF;IAAU,kBAAW;IC2DnB;;EC3EA;IFsBF,aAAS;ICyDP;EACF;AACD;ED1DC;IAAU,iBAAgB;IC6DxB;;ED5DF;IAAU,kBAAU;ICgElB;;ED/DF;IAAU,YAAO;ICmEf;;EDlEF;IAAU,kBAAgB;ICsExB;;EDrEF;IAAU,kBAAU;ICyElB;;EDxEF;IAAU,YAAO;IC4Ef;;ED3EF;IAAU,kBAAgB;IC+ExB;;ED9EF;IAAU,kBAAU;ICkFlB;;EDjFF;IAAW,YAAO;ICqFhB;;EDpFF;IAAW,kBAAgB;ICwFzB;;EDvFF;IAAW,kBAAW;IC2FpB;;EE5JH;IF+JI,aAAY;IACb;EACF;AACD;;;;;EEzJC,aAAA;EF+JC,wDAAuD;EACvD,iBAAgB;EExJlB,kBAAA;EF0JE,qCAAoC;EACrC;;AAED;;;;;;EE9IE,aAAA;EACD,aAAO;EFqJP;;AAED;EEnJC,gBAAU;EACT,uBAAc;EFqJd,uBAAsB;EEnJvB;AFqJD;EACE,gBAAe;EEnJhB;AFqJD;EACE,gBAAe;EAChB;AE7ID;EACC,sBAAiB;EF+IjB;;AExID;EF2IE,mBE1IM;EF2IP;;AAED;;EExIC,cAAY;EF2IZ;;AAED;EErIG,kBAAA;EACF,uBC/ES;EHsNT;;AE/HD;EACC,kBAAS;EFkIT;;AAED;EACE,WAAU;EE/HZ,WAAS;EACR,YAAQ;EFiIR;;AE7HD;EACC,kBAAc;EFgId;;AAED;EE9HC,gBAAa;EACb,aAAU;EFgIT,WAAU;EACV,4BAA2B;EI1O7B,eAAI;EACH,YAAA;EJ4OA;;AK7OD;EACC,wBAAG;ELgPH;;AAED;EACE;IACE,+BAAsB;IAAtB,uBAAsB;IK9OzB;ELgPC;IACE,gCAAuB;IAAvB,wBAAuB;IACxB;EK7OH;IACI,6BAAA;IAAA,qBAAA;IL+OD;EACF;;AAVD;EACE;IACE,+BAAsB;IAAtB,uBAAsB;IK9OzB;ELgPC;IACE,gCAAuB;IAAvB,wBAAuB;IACxB;EK7OH;IACI,6BAAA;IAAA,qBAAA;IL+OD;EACF;AACD;EACE;IACE,6BAAoB;IAApB,qBAAoB;IK7OvB;EL+OC;IACE,gCAAuB;IAAvB,wBAAuB;IK7O1B;EL+OC;IACE,gCAAuB;IAAvB,wBAAuB;IACxB;EK5OH;IACK,6BAAA;IAAA,qBAAA;IL8OF;EACF;AAbD;EACE;IACE,6BAAoB;IAApB,qBAAoB;IK7OvB;EL+OC;IACE,gCAAuB;IAAvB,wBAAuB;IK7O1B;EL+OC;IACE,gCAAuB;IAAvB,wBAAuB;IACxB;EK5OH;IACK,6BAAA;IAAA,qBAAA;IL8OF;EACF;AACD;EACE;IACE,+CAAsC;IAAtC,uCAAsC;IACvC;EMhRH;INkRI,oDMjRc;INiRd,4CMjRc;IACjB;ENkRA;AAPD;EACE;IACE,+CAAsC;IAAtC,uCAAsC;IACvC;EMhRH;INkRI,oDMjRc;INiRd,4CMjRc;IACjB;ENkRA;AACD;;EMhRC,iCAAqB;ENmRrB;;AAED;EMjRC,uBAAM;EACN,oBAAa;EACb,8BAAmB;EACnB,gBAAe;ENmRd,+DAA8D;EMjR/D,2CAAA;EACC,qBAAc;ENmRd,oBAAmB;EMjRpB;ANmRD;EMhRE,gBAAY;ENkRb;AMhRA;EACC,aAAY;EACZ,qBAAY;ENkRb;AACD;EMhRA,qBAAqB;EAEpB,cAAY;ENiRZ;;AM9QA;EACC,qBAAc;ENiRd,gBAAe;EM/QhB;ANiRD;EM9QE,gBAAW;ENgRZ;AM9QA;EACC,qBAAmB;EACnB,aAAW;ENgRZ;AACD;EACE,qBAAoB;EM5QtB,aAAA;EACC,4DAAqB;EN8QrB;;AAED;EM5QC,uBAAM;EACN,oBAAmB;EACnB,wCAAU;EACV,aAAA;EACA,qEACgB;EN6Qf,qBAAoB;EM1QrB,YAAA;EACC,oBAAW;EN4QX,2DAA0D;EM1Q3D;AN4QD;EMzQE,aAAY;EN2Qb;AACD;EMvQC,aAAA;EACC,qBAAQ;EACR,2DACgB;ENwQjB;AMrQC;EAEC,UAAS;ENsQV,uDAAsD;EMnQvD;ANqQD;EMnQE,WAAS;ENqQV;AACD;EMnQE,aAAY;EACZ,uBAAW;EACX,oBAAY;EACZ,WAAA;EACA,oBAAY;EACZ,aAAA;ENqQA,cAAa;EMnQd,wBAAQ;EAEP,uEAAW;EACX,uBAAkB;ENoQnB;AACD;EMlQE,aAAW;EACX,oBAAY;ENoQZ,QAAO;ECjVN,SAAA;EKuBH,aAAA;EN6TE,cMpQW;ENqQZ;AACD;EACE;IMnQC,sBAAW;INqQX;EACD;IACE,WAAU;IC3VX,aAAA;IKyFD,cAAA;INqQC;EACF;AACD;EChWG;IKuBH,QAAA;IN4UG;EACF;AACD;EMpQE;IACC,sBAAW;IACX,kBAAY;INsQZ;EACD;IACE,aAAY;IACZ,cAAa;IMpQjB,mBAAc;IACb;ENsQA;;AAED;EMpQC,uBAAc;EACd,cAAM;EACN,oBAAa;EACb,0BAAmB;EACnB,gBAAa;EACb,sDAAkB;ENsQjB,2CAA0C;EMpQ3C,qBAAU;EACT,eAAc;ENsQd,oBAAmB;EMpQpB;ANsQD;EMnQE,gBAAY;ENqQb;AMnQA;EACC,aAAY;ENqQZ,qBAAoB;EACrB;AOvZD;EACC,cAAa;EPyZb;;AAED;EOpZC,8BAAkB;EPsZjB,2DAA0D;EQna5D,sUASC;EARA,qBAAa;EACb,oBAAK;ERqaL;AACD;EQhaC,wBAAkB;ERkajB,+CAA8C;EQ/ZhD,yQAAqD;EACpD,qBAGC;ER8ZA,oBQhaa;ERiad;AACD;EACE;IS7aD,wBAAE;IACD,qEAAqB;IT+apB;ES7aF;AT+aD;ES7aE,uBAAW;ET+aZ;AS7aA;EACC,oBAAS;EACT,aAAU;ET+aX;AACD;EU9bA,WAAA;EVgcE,YAAW;EACZ;;AAED;;;EU3bC,6BAAmB;EAAnB,wBAAmB;EV+bnB;;AAED;EACE,qBAAoB;EU1btB,aAAA;EACC,mBAAiB;EV4bjB;;AAJD;EACE,qBAAoB;EU1btB,aAAA;EACC,mBAAiB;EV4bjB;;AU1bD;EACC,mBAAkB;EV6blB;;AAED;EU3bA,oBAAA;EACC,YAAA;EV6bA;;AU1bD;EACC,6BAAiB;EV6bjB;;AU3bD;EACC,mBAAa;EV8bb;;AU3bD;EACC,eChCQ;EX8dR;;AAED;EU5bC,qBAAW;EACX,WAAO;EACP,cAAA;EV8bC,kBAAiB;EU5blB,aAAA;EACC,aCzCO;EXueP,qCAAoC;EACrC;ACjdE;ESsBH,qBAAA;EV8bC;;AAED;EACE;;;;;ICvdC,mBAAA;ISsBH,iBAAA;IVwcG;EACF;AACD;EACE;;;;;ICjeC,gBAAA;ISoCH;EVocC;;AAED;EACE;IU3bF,iBAAA;IV6bG;EACF;;AAED;;EAEE,kBU7bE;EACF,gBAAa;EV8bd;AACD;;EU3bA,mBAAc;EV8bb;;AAED;EACE;IC3fC,eAAA;ISgEH;EV8bC;;AAED;EACE;ICjgBC,qBAAA;ISgEH,eAAY;IVocT;EACF;AACD;EACE;IU5bD,uBAAA;IAEC;EV6bD;;AAED;EU3bE,WAAU;EV6bX;AACD;EACE,mBAAkB;EU1bpB,mBAAoB;EACnB,WAAU;EV4bV;;ACnhBE;ESsFH,oBAAoB;EViclB,aU5bU;EV6bX;AACD;EACE;IACE,qBAAoB;IC3hBrB,eAAA;ISgGH;EV8bC;;AAED;EACE;IU3bF,qBAAY;IACX;EV6bA;;AAED;EUtbA,kBAAQ;EACP,gBAAO;EVwbP;;AAED;EACE,SAAQ;EUtbT,UAAA;EACC,qBAAiB;EVwblB;;AAED;EUrbE,mBAAiB;EVublB;AUpbC;EACC,sBAAqB;EACrB,mBAAkB;EVsbpB;AACD;EUpbG,uBAAY;EACZ,oBAAY;EACZ,cAAA;EACA,mBAAW;EACX,qEAAiB;EACjB,2EAAmB;EVsbpB,6BAA4B;EUpb3B,aAAA;EACC,mBAAa;EACb,qBAAkB;EVsbrB;AUlbE;EACC,sBAAW;EACX,oBAAkB;EVobrB;AACD;EUlbI,aAAW;EACX,oBAAY;EAEZ,QAAA;EVmbF,SAAQ;EU/aT,aAAA;EACC,cAAY;EVibZ,6BAA4B;EAC7B;AU9aD;EACC,mBAAW;EVgbX;;AAED;EACE,aAAY;ECtlBX;ADwlBH;EACE,WUhbA;EVibD;AACD;EACE;IU/aF,iBAAU;IACT;EVibA;;AAED;EACE,cAAa;EACd;AU5aA;EACC,WAAS;EV8aV;;AAED;EACE,WAAU;EU5aX;AV8aD;EACE,YAAW;EU5aZ;AV8aD;EACE,cAAa;EACd;AUvaD;EAKC,eAAU;EVqaV;;AAED;EUnaC,oBAAkB;EVqajB,oBAAmB;EUlanB,YAAA;EACC,2BAAc;EVoaf,0DAAyD;EUlazD;AVoaF;EACE,gBAAe;EC7nBd;AD+nBH;EACE,mBUpac;EVqaf;AACD;EACE;IUlaD,mBAAA;IVoaG,YUnaA;IACF;EVoaD;AUlaA;;EAEC,gBAAW;EVoaZ;AACD;EUlaE,4BAAkB;EAClB,uBAAa;EACb,aAAU;EVoaV,qFAAoF;EUlapF,oBAAS;EACR,4CAAiB;EVoalB,YAAW;ECnpBV;ADqpBH;EACE,mBUpac;EVqaf;AACD;EACE;ICzpBC,wBAAsD;ISqOxD,sBAAG;IVubD;EACF;AACD;EACE;IC/pBC,kBAAA;ISqOF,iBAAG;IV6bD;EACF;AACD;EACE;IACE,gBAAe;IACf,wBAAuB;IACvB,iBAAgB;IUvapB,kBAAA;IACC;EVyaA;;AAED;EUxaA,qBAAO;EACN,kBAAU;EV0aV;;AAED;EClrBG,oBAAA;ESqQH,mBAAO;EVgbL,gBU1aa;EV2ad;AACD;EACE;IU1aF,eAAO;IACN;EV4aA;;AAED;EU1aC,oBAAW;EV4aV,gBAAe;EU1ahB,UAAA;EACC,YAAS;EACT,8CAAY;EAAZ,sCAAY;EV4ab;AACD;EU1aE,WAAA;EV4aA,cAAa;EU1ad,eAAA;EACC,+BAAS;EAAT,uBAAS;EACT,kCAAW;EAAX,0BAAW;EV4aZ;AACD;EU1aE,WAAA;EV4aA,aAAY;EACZ,cAAa;EU1af,+BAAS;EAAT,uBAAS;EACR,kCAAkB;EAAlB,0BAAkB;EV4alB;;AAED;EU1aC,oBAAU;EV4aT,mBAAkB;EU1anB,gBAAG;EACF,qBAAgB;EAChB,YAAO;EV4aR;AACD;EACE,kBAAiB;EC3tBhB,gBAAA;ES2SF,qFAAG;EVmbF,6BU5aiB;EV6alB;AACD;EACE;ICjuBC,kBAAA;IS2SF,iBAAG;IVybD;EACF;AACD;EU7aC;IACC,eAAW;IACX;EV+aD;AACD;EU7aE,aAAA;EACA,oBAAW;EACX,cAAa;EACb,SAAA;EACA,qBAAoB;EACpB,aAAW;EV+aX,eAAc;EClvBb,mEAAsD;ESoSzD,sBAAS;EVidP,aU/aU;EVgbX;AACD;EU9aE;IACC,mBAAiB;IVgbhB,sBAAqB;IACtB;EC3vBA;ISoSH,4BAAS;IV0dN;EACF;AACD;EACE;ICjwBC,mBAAA;ISoSH,sBAAS;IVgeN;EACF;AACD;EACE;IACE,kBAAiB;IUlbrB,yBAAW;IAIV;EVibA;;AAED;EU/aC,eAAA;EACA,oBAAkB;EAClB,oBAAkB;EAClB,YAAA;EACA,2BAAkB;EAMjB,0DAAkB;EVibnB;AACD;EU/aE,aAAA;EACA,oBAAW;EACX,WAAQ;EACR,SAAA;EACA,qBAAoB;EACpB,aAAU;EVibV,eAAc;ECjyBb,sEAAsD;ESsVzD,sBAAW;EV8cT,YUjbQ;EVkbT;AACD;EACE;IU5aF,cAAU;IACT;EV8aA;;AAED;EU5aC,+BAA4B;EAC5B,kCAAkB;EAClB,kBAAU;EV8aT,oBAAmB;EU3apB,8BAAS;EACR,oBAAW;EACX,YAAS;EV6aV;AACD;EU3aE,aAAY;EACZ,gBAAW;EV6aX,oBAAmB;EU3apB,QAAA;EACC,cAAQ;EACR,aAAS;EV6aV;AC5zBE;ES2XH,gBAAU;EVocR,uBU7aa;EV8ad;AACD;EACE;IU7aF,eAAA;IV+aG;EACF;;AAED;;EAEE,iBAAgB;ECz0Bf,gBAAA;ESqZH,6EAAA;EVubE,oBUtbc;EVubf;AACD;EACE;;IU1bF,iBAAA;IV6bG;EACF;AACD;EACE;;IUjbF,iBAAU;IACT;EVobA;;AUjbD;EVobE,gBUnbM;EVobP;;AAED;;EUjbC,oBAAY;EVobX,aAAY;ECl2BX,oBAAA;ESwaH,cAAA;EV6bE,iCU5bM;EV6bP;AACD;EACE;;IUnbA,0BAAA;IVsbE,mBAAkB;IUrbnB,kBAAc;IVubd;EUrbD;;IACC,gBAAM;IVwbN;EACD;;IAEE,QAAO;IUtbX,kBAAS;IACR;EVwbA;;AAED;EUtbE,kCAAc;EAAd,0BAAc;EVwbf;AACD;EUtbE,uBAAgB;EVwbhB,gBAAe;EUtbhB,sBAAE;EACD,kBAAS;EACT,kBAAc;EVwbf;AUtbA;EACC,WAAS;EACT,gBAAU;EVwbX;AACD;EUtbE,aAAW;EACX,oBAAY;EACZ,WAAU;EACV,SAAO;EACP,aAAW;EACX,cAAY;EVwbZ,iCAAgC;EUrbjC,aAAQ;EACP,kCAAW;EAAX,0BAAW;EVubX,iCAAgC;EUrbhC;AVubF;EACE,qCAA4B;EAA5B,iCAA4B;EAA5B,6BAA4B;EUrb5B;AVubF;EUrbG,gBAAe;EVubjB;AUrbC;EACC,wBAAY;EVubb,qBAAoB;EUrbpB;AVubF;EACE,cAAa;EC95BZ;ADg6BH;EACE,oCUtbgB;EVsbhB,gCUtbgB;EVsbhB,4BUtbgB;EVubjB;AACD;EACE;IUrbE,gBAAe;IVubhB;EUrbA;IACC,wBAAY;IVubZ,qBAAoB;IACrB;EUnbF;IACC,cAAa;IACb;EVqbD;AACD;EUnbE,kBAAe;EVqbf,aAAY;EUnbZ,cAAA;EACC,wBAAY;EACZ,qBAAiB;EVqbnB;AUnbE;EAJD,uDAAa;EV0bb,4BUjboB;EVkbrB;AACD;EUhbE;IACC,sDAAY;IACZ;EVkbF;AUhbE;EAJD,8DAAoB;EVubpB,4BU9aoB;EV+arB;AACD;EU7aE;IACC,6DAA0D;IAC1D;EV+aF;AU7aE;EAJD,4DAAkB;EVoblB,4BU3aoB;EV4arB;AACD;EU1aE;IAGC,2DAAY;IACZ;EV0aF;AACD;EUvaA,cAAA;EACC,qBAAc;EVyad;;AAED;EACE,gBAAe;EUvahB,kCAAiB;EAChB,wBAAgB;EAChB,qBAAkB;EVyanB;AC39BE;ESgjBF,kBAAA;EV8aC,oBUzaS;EV0aV;AACD;EACE;ICj+BC,wBAAsD;IS0iBzD,qBAAqB;IV0blB;EACF;AACD;EACE;IUraG,mBAAA;IACJ;EVuaA;;AUpaA;EACC,aAAW;EACX,qBAAgB;EVuajB;AACD;EACE,iBAAgB;EUrajB,kBAAO;EACN,sBAAW;EVuaX,kBAAiB;EAClB;AUraD;EACC,aAAY;EVuaZ;;AAED;EACE,oBAAmB;EC3/BlB;AD6/BH;EACE,eUtaY;EVuab;AACD;EACE;IACE,mBAAkB;IAClB,eAAc;IUralB,iBAAe;IACd;EVuaA;;AAED;EUraC,oBAAgB;EVuaf,aAAY;EACZ,uBAAsB;EUtaxB,0BAAgB;EACf,kBAAS;EVwaT;;AAED;EUtaC,WAAA;EACA,8BAAgB;EAChB,aAAO;EACP,2BAAe;EVwad,oBAAmB;EUtapB,kBAAA;EACC,gBAAc;EACd,kBAAa;EVwad;AUtaC;EACC,gBAAY;EACZ,eAAU;EVwaZ;AUraA;EACC,yBAAc;EVuad,YAAW;EUraZ;AVuaD;EACE,gBAAe;EUrahB;AVuaD;EACE,gBAAe;EUrahB;AVuaD;EACE,gBAAe;EUrahB;AVuaD;EUraE,gBAAQ;EVuaT;AACD;EUraE,oBAAW;EACX,UAAO;EACP,YAAW;EACX,aAAA;EACA,aAAA;EACA,gBAAY;EVuaZ,sBAAqB;EUrarB,sBAAA;EACC,oBAAgB;EAChB,iCAAkB;EVuapB;AACD;EUraG,kBAAQ;EACR,oBAAW;EACX,aAAW;EACX,mBPtpBU;EH6jCX,UAAS;EACT,sBAAqB;EUpavB,qBAAW;EACV,2BAAuB;EVsavB;;AUnaA;EACC,0BAAqB;EACrB,gBAAU;EVsaX;AACD;EUpaE,uBAAM;EACN,oBAAa;EACb,8BAAgB;EAChB,aAAA;EACA,iEAAkB;EAClB,iDAAoC;EACpC,kBAAA;EVuaA,oBAAmB;EUhalB,8BAAa;EVoaf;AACD;ECvlCG,gBAAA;ESgqBF,2CAAE;EV0bD,qBUpaU;EVqaX;AACD;EACE;IU/ZF,qBAAQ;IACP;EViaA;;AAED;EU/ZC,gBAAY;EACZ,kCAAY;EACZ,kBAAY;EViaX,2BAA0B;EU/Z3B,kBAAQ;EACP,uCAAqB;EACrB,gCAAmB;EViapB;AU/ZA;EACC,uBAAe;EACf,qBAAmB;EViapB;AACD;EU/ZE,iBAAa;EACb,mBAAgB;EViahB,gBAAe;EU/ZhB,sBAAE;EACD,oBAAS;EACT,kBAAc;EViaf;AACD;EU/ZC,WAAA;EACC,gBAAc;EACd,sBAAmB;EViapB;AU9ZA;EACC,uBCpvBiB;EDqvBjB,qBAAY;EVgab;AU9ZC;EACC,uBAAwC;EACxC,mCAAoD;EVgatD;ACnoCE;ESyuBA,uBAAA;EV6ZD,mCU5Z0B;EV6Z3B;AACD;EACE;IACE,0BAAyB;IAC1B;EC3oCA;ISuuBF,gBAAO;IVuaL;EACF;AACD;EACE;IACE,oBAAmB;IU5ZpB;EV8ZD;IACE,oBAAmB;IACpB;ECtpCA;ISuuBF,gBAAO;IVkbL;EACF;AACD;EACE;IACE,eAAc;IU7Zf;EV+ZD;IACE,gBAAe;IAChB;ECjqCA;IS8rBH,gBAAQ;IVseL;EACF;AACD;EU7ZE;IACC,oBAAe;IV+Zd,YAAW;IU7Zb;EV+ZA;IACE,iBAAgB;IACjB;EC7qCA;IS8rBH,gBAAQ;IVkfL;EACF;AACD;EU9ZE;IACC,eAAc;IVgab,aAAY;IU9Zd;EVgaA;IACE,gBAAe;IAChB;EACD;IU9ZG,gBAAA;IAGJ;EV8ZA;;AAED;EU5ZE,oBAAkB;EV8ZnB;AACD;EU5ZE,gBAAa;EACb,oBAVU;EAWV,WAXM;EAYN,aAAW;EACX,mBAAc;EACd,aAAW;EACX,cAAY;EACZ,aAAW;EACX,gBAAY;EACZ,kBAAiB;EACjB,oBAAkB;EV8ZlB,0CAAyC;EACzC,oEAAmE;EU5ZrE,uBAAM;EACL,oBAAS;EV8ZT;;AAED;EU5ZC,uBAAsB;EACtB,oBAAY;EACZ,UAAO;EACP,mBAAM;EACN,wBAAa;EACb,cAAY;EACZ,aAAA;EV8ZC,4DAA2D;EU5Z5D,2CACQ;EACP,qBAAkB;EAClB,qBAAM;EV6ZP;AACD;EACE,oBAAmB;EU3ZpB,QAAA;EACC,aAAS;EACT,qCAAc;EV6Zf;AACD;EU3ZC,kBAAQ;EACP,gBAAS;EACT,mBAAkB;EV6ZnB;AACD;EACE,kBAAiB;EU3ZnB,oBAAkB;EACjB,iBAAgB;EV6ZhB;;AU3ZD;EAGC,kBAAQ;EV4ZR;;AUxZD;EACC,+BAAa;EV2Zb;;AUzZD;EACC,eAAc;EV4Zd;;AUrZD;EACC,gBAAW;EVwZX;;AAED;EACE,aAAY;EUtZb,oBAAK;EACJ,UAAO;EVwZP,aAAY;EACb;AUtZD;EACC,aAAY;EVwZZ;;AAED;EUtZC,kBAAW;EACX,iBAAU;EACV,WAAA;EACA,cAAa;EACb,aAAY;EACZ,YAAS;EVwZR,oBAAmB;EUtZpB,eAAO;EACN,+CAAkB;EAClB,cAAM;EVwZP;AACD;EUtZE,oBAAW;EACX,QAAO;EACP,UAAS;EACT,6CAAiC;EACjC,aAAU;EVwZV,kBAAiB;EUtZjB,uBAAQ;EACP,wCAAgB;EAChB,YAAS;EVwZX;AUtZC;EACC,kBAAgB;EAChB,cAAY;EVwZd;AUrZA;EACC,kBAAa;EVuZb,cAAa;EUrZd;AVuZD;EUrZE,eAAM;EVuZP;AACD;EUrZE,oBAAO;EACP,QAAA;EACA,UAAS;EVuZT,WAAU;EUrZX,SAAA;EACC,gBAAc;EACd,oBAAgB;EVuZjB;AACD;EUrZC,gBAAG;EACF,kBAAgB;EAChB,kBAAa;EVuZd;AACD;EUrZE,kBAAa;EVuZb,eAAc;EC9zCb,gBAAA;ESk6BF,0EAAG;EV+ZF,6BUvZgB;EVwZjB;AACD;EUtZC;IACC,iBAAW;IVwZV;EUtZF;AVwZD;EACE,aAAY;EUtZb;AVwZD;EUtZE,sBAAO;EVwZR;AACD;EUtZE,oBAAkB;EAClB,SAAA;EACA,WAAU;EACV,aAAY;EVwZZ,oBAAmB;EUtZnB,4BAAG;EACF,kBAAS;EVwZV,mBAAkB;EUtZlB;AVwZF;EUtZG,WAAS;EVwZX;AUrZA;EVuZC,uBAAsB;EUpZtB,WAAA;EVsZD;AC91CE;;EDi2CD,0BUtZU;EVuZX;AACD;EACE;IUrZA,YAAA;IACC,mBAAS;IVuZR,gBAAe;IAChB;ECx2CA;ISi3BH,WAAO;IV0fJ;EACF;AACD;EACE;IC92CC,WAAA;ISi3BH,gBAAO;IVggBJ;EACF;AACD;EACE;IACE,WAAU;IACV,aAAY;IACZ,cAAa;IUzZjB,YAAa;IACZ;EV2ZA;;AUxZA;EACC,cAAQ;EACR,uBAAe;EV2ZhB;AACD;EUzZE,wBAAA;EACC,iBAAa;EV2Zd,cAAa;ECn4CZ;ADq4CH;EACE,eU1ZW;EV2ZZ;AACD;EACE;IACE,aAAY;IU1ZhB,kBAAA;IACC;EV4ZA;;AU1ZD;EACC,cAAY;EV6ZZ;;AAED;EU3ZC,kBAAO;EACP,WAAS;EACT,iBAAe;EACf,eAAQ;EACR,SAAM;EACN,cAAW;EV6ZV,iBAAgB;EAChB,UAAS;EUvZX,QAAA;EVyZE,aAAY;EACb;;AAED;;EAEE,uBAAsB;ECl6CrB,gBAAA;ESogCH,qFAAA;EViaE,6BUhawB;EViazB;AACD;EACE;;IUxZF,gBAAA;IV2ZG;EACF;;AAED;;;EAGE,uBAAsB;ECj7CrB,gBAAA;ESghCH,2EAAA;EVoaE,6BAA4B;EAC7B;AACD;EACE;;;IU1ZF,kBAAA;IACC;EV8ZA;;AU3ZD;EV8ZE,wBAAuB;EACxB;;AAED;;;;EUpZA,aAAQ;EACP,YAAU;EVyZV;;AAED;EACE,uBAAsB;EUtZvB,oBAAA;EAEC,2BAAW;EACX,oBAAkB;EVuZnB;AACD;EACE,aAAY;EUrZb,oBAAS;EACR,SAAM;EACN,sBAAgB;EVuZjB;AACD;EACE,QAAO;EUpZR,kBAAQ;EACP,aAAS;EACT,eAAW;EVsZZ;AACD;EUpZE,WAAA;EACA,aAAU;EVsZV,cAAa;EUpZd,wEAAkB;EACjB,4BAAmB;EVsZnB,YAAW;ECl+CV;ADo+CH;EACE,qBUtZkB;EVuZnB;AACD;EUrZE;IACC,oBAAiB;IVuZhB,mBAAkB;IUrZpB;EVuZA;IACE,4BAA2B;IUrZ7B;EVuZA;IUrZC,eAAU;IVuZV;EACD;ICl/CC,aAAA;IS8iCH,kBAAQ;IVucL;EACF;AACD;ECv/CG;IS8iCH,oBAAQ;IV4cL;EACF;AACD;EC5/CG;IS8iCH,eAAQ;IVidL;EACF;AACD;EACE;IClgDC,eAAA;IS8iCH,oBAAQ;IVudL;EACF;AACD;EACE;IU7ZF,mBAAY;IACX;EV+ZA;;AAED;EU5ZE,iBAAgB;EV8ZjB;AACD;;EAEE,kBAAiB;EACjB,aAAY;EACb;AACD;;;EAGE,gBU7ZY;EV8Zb;AACD;EU1ZG;IV4ZC,cAAa;IACb,YAAW;IACZ;EACD;;;IUxZA,aAAG;IV4ZF;EACF;AACD;EACE;IACE,gBAAe;IU1ZjB,aAAE;IACD,WAAS;IACT,kBAAe;IV4Zf;EACD;IACE,gBAAe;IACf,iBAAgB;IU1ZpB,mBAAS;IACR;EV4ZA;;AAED;EU3ZA,8BAAkB;EACjB,+BAAc;EV6Zd;;AAED;EACE,gBAAe;ECzjDd;AD2jDH;EACE,mBU7Zc;EV8Zf;AACD;EACE;IC/jDC,gBAAA;ISwpCH,wBAAkB;IV0af;EACF;AACD;EACE;IACE,WAAU;IU9ZZ,YAAA;IACC,cAAY;IVgaX,kBAAiB;IAClB;EACD;IU9ZF,4BAAyB;IACxB;EVgaA;;AAED;EU9ZC,WAAA;EACA,gBAAc;EVgab,aAAY;EACZ,sBAAqB;EACrB,qFAAoF;EACpF,2BAA0B;EUja3B;;OAKC;EVgaD;AACD;EU9ZE,uBAAU;EVgaV,oBAAmB;EU9ZnB,mBAAA;EACC,eAAY;EACZ,YAAU;EVgaZ;AACD;EU9ZG,cAAY;EACZ,oBAAW;EACX,UAAS;EACT,gBH9tCa;EG+tCb,cAAY;EVgab,aAAY;EU7ZX,sBAAA;EACC,8BAAW;EV+Zb,oBAAmB;EACpB;AUxZD;EACC,0CAAyB;EAAzB,kCAAyB;EV0ZzB;;AUjZD;EACC,2BAA+B;EVoZ/B;;AAED;EUlZC,qBAAkB;EAClB,2BAAU;EVoZT,qBAAoB;EUlZrB,gBAAA;EACC,oBAAgB;EAChB,YAAW;EVoZZ;AACD;EUlZE,kBAAS;EACT,iBAAY;EACZ,oBAAe;EACf,kBAAY;EVoZZ,WAAU;EUjZV,4CAAW;EACV,iBAAS;EACT,oBAAiB;EVmZnB;AACD;EACE,WAAU;EUjZT,mBAAA;EACC,yBAAqB;EVmZvB,kBAAiB;EUhZjB;AVkZF;EACE,uBAAsB;EUhZtB;AVkZF;EUhZG,gBAAa;EVkZf;AU/YA;EACC,kBAAW;EACX,eAAS;EViZV;AU/YA;EACC,aAAW;EACX,WAAS;EViZV;AACD;EU/YC,aAAA;EACC,WAAS;EACT,cAAU;EViZX;AACD;EU/YE,8BAAA;EACC,oBAAW;EACX,kBAAgB;EViZlB;AACD;EU/YG,aAAY;EACZ,kBAAU;EACV,2BAAY;EACZ,iBAAU;EACV,cAAS;EACT,YAAK;EViZN,cAAa;EC5qDZ,oBAAA;ES4wCF,WAAA;EVmaC,yBUjZc;EVkZf;AACD;EACE;IACE,eAAc;IACf;EUhZD;IACC,eAAU;IACV;EVkZF;AUjZG;EACD,aAAA;EVmZD,kCAAiC;EUhZlC;AVkZD;EACE,kCAAiC;EAClC;AU9YD;EACC,kBAAc;EVgZd;;AUzYD;EV4YE,iBAAgB;EACjB;;AUzYA;;EACC,aAAS;EV6YV;AACD;;EU1YE,uBAAiB;EACjB,oBAAY;EACZ,UAAM;EACN,YAAA;EV6YA,mBAAkB;EAClB,cAAa;EU1Yf,gCAAgC;EAC/B,qBAAe;EV4Yf;;AUzYD;EV4YE,iBAAgB;EACjB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EU5YA,kBAAA;EV+YE,+BAA8B;EAC/B;;AAED;;EU7YA,kBAAA;EVgZE,+BAA8B;EAC/B;;AAED;;EU9YA,kBAAA;EViZE,+BAA8B;EAC/B;;AAED;;EU/YA,kBAAA;EVkZE,+BAA8B;EAC/B;;AAED;;EUhZA,cAAA;EVmZE,8BAA6B;EAC9B;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EU/ZnB,oBAAA;EViaE,WAAU;EACX;;AAED;;EU/ZA,kBAAA;EVkaE,+BAA8B;EAC/B;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EUtaA,cAAA;EVyaE,8BAA6B;EAC9B;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EUxaA,kBAAA;EV2aE,+BAA8B;EAC/B;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EU1aA,kBAAA;EV6aE,+BAA8B;EAC/B;;AAED;;EUpaC,kBAAA;EVuaA;;AAED;EACE;;;;IU/ZD,aAAW;IVoaT;EACF;AACD;ECn6DG;ISogDD,eAAA;IVkaC;EACF;AACD;EACE;IUhaE,aAAW;IVkaZ;EU/ZD;IACC,iBAAW;IViaV,aAAY;IACb;EUzZH;IAEE,aAAA;IV0ZC;EACF;AACD;EACE;IACE,sBAAqB;IUxZtB;EV0ZD;IUxZE,mBAAkB;IV0ZnB;EUxZA;IACC,aAAS;IACT,oBAAU;IV0ZX;EACD;IACE,WAAU;IUxZX,YAAA;IACC,mBAAgB;IV0ZhB,gBAAe;IAChB;ECp8DA;IWxBF,kBAAA;IZ+9DE;EACF;AACD;EACE;IY39DF,kBAAA;IACC;EZ69DA;;AYx9DA;EACC,eAAY;EZ29Db;;AAED;EYz9DE,cAAS;EZ29DT,kBAAiB;EYz9DjB,wBAAA;EACC,oBAAmB;EACnB,WAAA;EZ29DF;AACD;EYz9DG,qBAAe;EACf,kCAAQ;EACR,qBAAS;EACT,kBAAW;EACX,iBAAU;EACV,UAAA;EZ29DD,WAAU;EYz9DT,aAAA;EAZD,YAAA;EZw+DA,iCY39Dc;EZ49Df;AACD;EACE;IY19DE,cAAS;IZ49DT,kBAAiB;IACjB,wBAAuB;IY39DxB,oBAAA;IAnBD,WAAA;IZi/DC;EACF;AACD;EY39DE;IACC,QAAO;IZ69DP;EY19DC;AZ49DJ;EACE,aY59DY;EZ69Db;AACD;EY59DI;IAJD,gBAAA;IZm+DA;EACF;AACD;EACE;IY19DF,iBAAA;IACC;EZ49DA;;AYz9DD;EACC,mBAAa;EZ49Db;;AAED;EY39DC,eAAA;EAJD,cAAA;EZk+DE,kBY79Dc;EZ89Df;AACD;EY79DC;IAPD,gBAAe;IZu+DZ;EACF;AACD;EACE;IY99DF,eAAA;IACC;EZg+DA;;AY79DA;EACC,cAAW;EZg+DX,oBAAmB;EACpB;AY79DD;EACC,kBAAY;EZ+9DZ;;AY39DC;EACC,cAAa;EACb,kBAAS;EZ89DX;AY79DE;EACC,gBAAc;EZ+9DhB,qBAAoB;EY39DnB;AZ69DH;EACE,gBAAe;EY39Dd;AZ69DH;EACE,uBAAsB;EYz9DrB;AZ29DH;EYz9DI,YAAU;EZ29Db;AYz9DE;;EAEC,qBAAiB;EZ29DpB;AYx9DG;EACC,gCAA8B;EZ09DjC,mBAAkB;EYt9DlB;AZw9DF;EACE,gCAA+B;EYv9D9B;AZy9DH;EACE,cAAa;EYt9Db;AZw9DF;EACE,eAAc;EYt9Dd;AZw9DF;EYt9DG,YAAU;EZw9DZ;AACD;;EAEE,kBAAiB;EYr9DjB,WAAA;EAEC,+CAAiB;EZu9DnB;AYr9DE;EACC,6BAA2B;EZu9D7B,mBAAkB;EYr9DjB;AZu9DH;EYr9DI,6BAAgB;EZu9DnB;AACD;EYr9DI,cAAA;EACC,kBAAgB;EZu9DnB,qBAAoB;EYt9DjB;AZw9DL;EACE,kBAAiB;EYv9Db;AZy9DN;EACE,YAAW;EYp9DT;AZs9DJ;EACE,YYt9DY;EZu9Db;AACD;EC/lEG;IWuHA,eAAA;IZ2+DA;EACF;AACD;EACE;IACE,gBAAe;IYp9DlB,oBAAA;IACC,qBAAS;IACT;EZs9DD;AYp9DC;EACC,WAAA;EZs9DD,wBAAuB;EC7mEtB;AD+mEH;EACE,kBYt9DiB;EZu9DlB;AACD;EYp9DC;IACC,iBAAgB;IZs9Df;EYp9DF;AZs9DD;EACE,kBAAiB;EYp9DjB;AZs9DF;EACE,eYt9DU;EZu9DX;AACD;EYr9DC;IACC,mBAAe;IZu9Dd;EYr9DF;AZu9DD;EACE,iBAAgB;EYr9DjB;AZu9DD;EYr9DE,iBAAa;EZu9Dd;AACD;ECxoEG,aAAA;EW8KF,eAAA;EZ69DC,mBYv9DU;EZw9DX;AACD;EYt9DC;IACC,uBAAW;IZw9DV;EYt9DF;AZw9DD;EACE,aAAY;EYt9Db;AZw9DD;EACE,aYv9DQ;EZw9DT;AACD;EACE;IYt9DF,aAAA;IACC;EZw9DA;;AAED;EYv9DA,0BAAM;EACL,cAAS;EZy9DT;;AAED;EYv9DC,WAAG;EACF,sBAAe;EACf,kBAAgB;EZy9DjB;AYv9DA;EACC,iBAAW;EACX,kBAAS;EZy9DV;AACD;EACE,aAAY;EYv9DZ,WAAA;EACC,YAAW;EZy9DZ,YAAW;EYv9DX;AZy9DF;EACE,aAAY;EYt9DZ;AZw9DF;EACE,kBYx9DY;EZy9Db;AACD;EYv9DC;IACC,aAAS;IACT;EZy9DD;AACD;EYv9DE,WAAO;EACP,YAAU;EACV;cZy9DW;EYv9DX,cAAA;EACC,YAAW;EACX,YAAW;EZy9Db;AACD;EYv9DG,iBAAgB;EAChB,mBAAgB;EAChB,aAAW;EZy9DZ,kBAAiB;EYv9DjB,2BAAQ;EACP,qBAAiB;EZy9DlB,aAAY;EYv9DZ;AZy9DF;EYv9DG,mBAAe;EZy9DjB;AACD;EYv9DG,gBAAU;EZy9DX,iBAAgB;EYv9DhB,kBAAA;EACC,oBAAmB;EACnB,oBAAgB;EZy9DlB;AYv9DC;EACC,qBAAW;EACX,kBAAY;EZy9Dd;AACD;EACE,aAAY;EYv9DX,cAAA;EACC,kBAAc;EACd,oBAAU;EZy9Db;AACD;EYv9DI,gBAAA;EALD,YAAA;EZ+9DD,sBYz9Dc;EZ09Df;AACD;EACE;IYx9DC,aAAA;IACC,kBAAa;IZ09Dd;EYt9DA;AZw9DH;EACE,eAAc;EYr9Dd;AZu9DF;EYr9DG,eAAU;EZu9DZ;AYr9DE;EACC,WAAU;EACV,YAAW;EZu9Dd;AYr9DE;EACC,YAAQ;EACR,sBAAiB;EZu9DpB;AACD;EYr9DI,kBAAU;EZu9DZ,oBAAmB;EYr9DjB,mBAAA;EACC,qBAAa;EACb,aAAW;EZu9Df;AYn9DE;EACC,gBAAc;EACd,kBAAgB;EZq9DnB;AYj9DC;EApFD,gBAAA;EZwiEC,kBYn9Da;EZo9Dd;AACD;EACE;IYl9DC,kBAAe;IACf,WAAQ;IACR,eAAM;IACN,kBAAW;IACX,iBAAY;IZo9DX,UAAS;IYl9DV,QAAA;IACC,aAAY;IZo9DZ,+CAA8C;IYl9D/C;EZo9DD;IYl9DE,cAAU;IZo9DX;EACD;IACE,WAAU;IACV,YAAW;IalzEf;EbozEC;;AajzEA,sHAAmB;AbozEpB;EalzEE,iBAAa;EbozEd;AajzEA;EACC,aAAA;EbmzEA,eAAc;EahzEf;AbkzED;EACE,2BAA0B;EAC3B;Aa7yEA;EACC,2BAAe;Eb+yEhB;;AAED;Ea5yEE,iBAAgB;Eb8yEjB;AACD;Ea5yEE,uBAAsB;EACtB,kBAAe;EACf,kBAAW;EACX,eAAW;Eb8yEX,wBAAuB;Ea3yExB,iBAAA;EACC,aFlCI;EX+0EJ,iBAAgB;Ea1yEjB;Ab4yED;EACE,gBAAe;EAChB;AACD;EazyEA,gBAAA;Eb2yEC;;AAED,mBAAkB;AavyEjB;EACC,kBAAW;EbyyEZ;;AAED;EatyEA,aAAA;EACC,mBAAW;EbwyEX;;AAED;EanyEC,aAAA;EbqyEA;;AajyEA,oBAAA;AboyED;EACE,aAAY;EACb;AACD;EahyEA,mBAAiB;EbkyEhB;;AAED,sBajyEmB;AbkyEnB;EACE,uBAAsB;EahyEvB,yBAAA;EACC,oBAAa;EACb,wBAAS;EbkyEV;AACD;EahyEE,eAAc;EACd,WAAS;EbkyET,0BAAyB;Ea/xE1B,wBAAA;EACC,oBAAiB;EACjB,iBAAc;EbiyEf;AACD;EACE,mBAAkB;Ea9xEnB,gBAAA;EACC,kBAAiB;EACjB,wBAAiB;EbgyElB;Aa7xEA;EACC,mBAAU;Eb+xEV,mBAAkB;Ea5xEnB;Ab8xED;Ea5xEE,YAAU;Eb8xEX;AACD;EACE,oBAAmB;Ea3xErB,YAAA;EACC,6BAAU;Eb6xEV;;AAED;EACE,YAAW;Ea3xEb,kBAAmB;EAClB,wBAAkB;Eb6xElB;;AAED;Ea3xEC,oBAAgB;EAChB,WAAS;EACT,yBAAS;EACT,gBAAU;EACV,kBAAe;EACf,iBAAe;Eb6xEd,WAAU;Ea3xEX,YAAA;EACC,iBAAgB;Eb6xEhB,oBAAmB;EACpB;Aa1xED;EACC,kBAAW;Eb4xEX;;AAED;Ea1xEA,aAAA;EAEC,eAAA;Eb2xEA;;AAED;EACE;IACE,YAAW;IazxEd,cAAA;IACC,eAAU;Ib2xET;;EAED;IACE,YAAW;IaxxEf,aAAA;IAEC;EbyxEA;AACD,mBAAkB;AAClB;EACE;IatxEF,kBAAA;IAEC;EbuxEA;AACD,mBAAkB;AAClB;EarxEC;IACC,YAAU;IbuxET;;EAED;IapxEF,YAAA;IAEC;EbqxEA;AACD,8BAA6B;AAC7B;EanxEC;IACC,mBAAe;IbqxEd;;EAED;IACE,iBAAgB;IalxEpB,oBAAA;IAEC;EbmxEA;AACD,kBAAiB;AACjB;EACE;IahxEF,oBAAA;IAEC;EbixEA;AACD,kBAAiB;AACjB;EACE;Ia9wEF,kBAAA;IAEC;Eb+wEA;AACD,4BAA2B;AAC3B;Ea7wEC;IACC,aAAY;Ib+wEX;;Ea5wEF;IACC,4BAAkB;Ib+wEjB;;Ea5wEF;IACC,oBAAc;Ib+wEb;;EAED;Ia7wED,gBAAA;IACC,oBAAW;Ib+wEV;;EAED;Ia7wED,aAAA;Ib+wEG,iBa9wEe;Ib+wEhB;;EAED;;Ia5wED,YAAA;IACC,gBAAY;Ib+wEX;;EAED;Ia5wEF,kBAAA;IAEC;Eb6wEA;AACD,kBa5wEY;Ab6wEZ;EACE;Ia3wED,iBAAA;Ib6wEG,gBa5wEe;Ib6wEhB;;EAED;;IczgFD,aAAA;IACC;Ed4gFD;Ac1gFA,kBAAA;Ad4gFD;EACE,eAAc;Ec1gFf;Ad4gFD;Ec1gFE,iBAAU;Ed4gFX;AACD;Ec1gFC,gBAAG;EACF,YAAM;EACN,oBAAkB;Ed4gFnB;AACD;Ec1gFE,+EAAkB;Ed4gFlB,oBAAmB;Ec3gFnB,YAAA;EACC,aJ4VM;EVirEP,oBAAmB;Ec1gFpB;Ad4gFD;Ec1gFE,gBAAa;Ed4gFd;AACD;Ec3gFE,gBAAA;EACC,eAAQ;Ed6gFT,wBAAuB;Ec1gFxB;Ad4gFD;EACE,iBAAgB;EACjB;AcxgFA;EACC,eAAY;Ed0gFb;;AcrgFA;EACC,mBAAU;EdwgFX;;AAED;EACE,YAAW;EctgFZ;AdwgFD;EACE,qBAAoB;EACrB;AcrgFD;EACC,oBAAW;EdugFX;;AAED;EcpgFA,aAAA;EACC,+EAAyB;EdsgFzB;;AclgFD;EACC,4BAAgB;EdqgFhB;;AAED;EcngFC,kBAAQ;EACR,oBAAgB;EdqgFf,qBAAoB;EcngFrB,qBAAA;EdqgFC,2BAA0B;EcngF1B,sBAAU;EdqgFX;AcngFA;;EAEC,YAAW;EdqgFZ;AcngFA;EACC,iBAAW;EACX,mBAAc;EdqgFf;AACD;EcngFE,aAAY;EACZ,gBAAW;EACX,oBAAmB;EACnB,WAAA;EACA,cAAS;EACT,aAAW;EdqgFX,8BAA6B;EAC7B,6CAA4C;EcjgF7C,gBAAA;EACC,aAAA;EdmgFD;;Ac//ED;EACC,qBAAgB;EdkgFhB;;Ac//ED;EACC,kBAAY;EdkgFZ;;Ac//ED;EACC,oBAAW;EdkgFX;;AAED;Ec//EA,aAAA;EdigFE,iBAAgB;EACjB;;AAED;;EAEE,aAAY;EACZ,iBAAgB;Ec//ElB,yBAAA;EACC,uBAAc;EdigFd;;AAED;Ec//EA,gBAAgB;EACf,4BAAkB;EdigFlB;;AAED;Ec//EC,oBAAmB;EdigFlB,mBAAkB;Ec//EnB,sBAAO;EACN,oBAAa;EdigFb,qBAAoB;Ec//ErB;AdigFD;EACE,eAAc;Ec//Ef;AdigFD;Ec//EE,uBAAe;EdigFhB;AACD;Ec//EC,gBAAA;EACC,iBAAU;EACV,mBAAS;EdigFV;AACD;Ec//EE,oBAAiB;EACjB,WAAS;EACT,UAAS;EdigFT,2BAA0B;EAC1B,mBAAkB;Ec9/EpB,gBAAkB;EACjB,YAAA;EdggFA;;AAED;Ec9/EC,2BAAW;EACX,iBAAY;EACZ,mBAAkB;EAClB,mBAAgB;EAChB,aAAS;EdggFR,qBAAoB;EACpB,oBAAmB;Ec9/ErB,kBAAQ;EACP,uBAAa;EdggFb;;AAED;Ec9/EC,eAAO;EACP,iBAAU;EACV,cAAA;EACA,gBAAW;EdggFV,SAAQ;EACR,YAAW;Ec9/Eb,+CAAqB;EACpB,uCAAS;EdggFT;;AAED;Ec9/EC,WAAA;EACA,cAAA;EACA,eAAA;EdggFC,kCAAiC;EACjC,0BAAyB;Ec9/E3B,6BAAqB;EACpB,qBAAS;EdggFT;;AAED;Ec9/EC,WAAA;EACA,aAAA;EACA,cAAA;EdggFC,kCAAiC;EACjC,0BAAyB;Ec9/E3B,6BASC;EARA,qBAAG;EdggFH;;AAED;Ec9/EC;IACC,+CAAmB;IACnB,uCAAW;IdggFV;EACD;Ic9/EF,oDASC;IARG,4CAAA;IdggFD;EACF;AACD;Ec9/EC;IACC,+CAAmB;IACnB,uCAAW;IdggFV;EACD;ICjsFC,oDAAsD;IawMvD,4CAAS;Id4/ER;EACF;AACD;EACE;IACE,gBAAe;IAChB;ECzsFA;IaoNF,oBAAA;Idw/EE;EACF;AACD;Ect/EC;IACC,sBAAqB;Idw/EpB;;ECjtFA;IaiOD,8BAAS;Ido/ER;EACF;AACD;Ecj/EC;IACC,iBAAc;Idm/Eb;;Ec/+ED;IACC,gBAAe;Idk/Ef;;Ec9+EF;IACC,kBAAiB;Idi/EhB;;EAED;Ic/+ED,mBAAA;IACC,sBAAQ;Idi/EP;;Ee3vFF;IACC,UAAW;IACX;Ef8vFD;Ae5vFA;EACC,aAAW;Ef8vFX,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/_media.scss","../scss/atoms/_animations.scss","../scss/templates/_main.scss","../scss/templates/_settings.scss","../scss/pages/_connection.scss"],"names":[],"mappings":"AAKA;;;GCFE;ADKD;EAEC,aAAA;EACA,gBAAA;ECJD;ADOA;EACC,cAAA;ECLA,gBAAA;EACD;ADQD;EACC,aAAA;ECNA;;AAED;EACE,iBAAA;EACA,aAAA;EDSF,aAAA;EACC,oBAAA;ECPA;;AAED;EDMC;IAAU,iBAAA;ICHR;;EDIF;IAAU,kBAAA;ICAR;;EDCF;IAAU,YAAA;ICGR;;EDFF;IAAU,kBAAA;ICMR;;EDLF;IAAU,kBAAA;ICSR;;EDRF;IAAU,YAAA;ICYR;;EDXF;IAAU,kBAAA;ICeR;;EDdF;IAAU,kBAAA;ICkBR;;EDjBF;IAAU,YAAA;ICqBR;;EDpBF;IAAU,kBAAA;ICwBR;;EDvBF;IAAU,kBAAA;IC2BR;;EC1BA;IFKF,aAAA;ICyBE;EACF;AACD;ED1BC;IAAU,iBAAA;IC6BR;;ED5BF;IAAU,kBAAA;ICgCR;;ED/BF;IAAU,YAAA;ICmCR;;EDlCF;IAAU,kBAAA;ICsCR;;EDrCF;IAAU,kBAAA;ICyCR;;EDxCF;IAAU,YAAA;IC4CR;;ED3CF;IAAU,kBAAA;IC+CR;;ED9CF;IAAU,kBAAA;ICkDR;;EDjDF;IAAU,YAAA;ICqDR;;EDpDF;IAAU,kBAAA;ICwDR;;EDvDF;IAAU,kBAAA;IC2DR;;EC3EA;IFsBF,aAAA;ICyDE;EACF;AACD;ED1DC;IAAU,iBAAA;IC6DR;;ED5DF;IAAU,kBAAA;ICgER;;ED/DF;IAAU,YAAA;ICmER;;EDlEF;IAAU,kBAAA;ICsER;;EDrEF;IAAU,kBAAA;ICyER;;EDxEF;IAAU,YAAA;IC4ER;;ED3EF;IAAU,kBAAA;IC+ER;;ED9EF;IAAU,kBAAA;ICkFR;;EDjFF;IAAW,YAAA;ICqFT;;EDpFF;IAAW,kBAAA;ICwFT;;EDvFF;IAAW,kBAAA;IC2FT;;EE5JH;IF+JI,aAAA;IACD;EACF;AACD;;;;;EEzJC,gBAAA;EF+JC,wDAAA;EACA,iBAAA;EExJF,kBAAA;EF0JE,qCAAA;EACD;;AAED;;;;;;EE9IE,aAAA;EACD,aAAA;EFqJA;;AAED;EEnJC,gBAAA;EACC,uBAAA;EFqJA,uBAAA;EACD;AACD;EACE,gBAAA;EACD;AACD;EACE,gBAAA;EACD;AE7ID;EACC,sBAAA;EF+IA;;AExID;EF2IE,mBAAA;EACD;;AAED;;EExIC,cAAA;EF2IA;;AAED;EErIG,kBAAA;EACF,uBAAA;EFuIA;;AE/HD;EACC,kBAAA;EFkIA;;AAED;EACE,WAAA;EE/HF,WAAA;EACC,YAAA;EFiIA;;AE7HD;EACC,kBAAA;EFgIA;;AAED;EE9HC,gBAAA;EACA,aAAA;EFgIC,WAAA;EACA,4BAAA;EG1OF,eAAA;EACC,YAAA;EH4OA;;AI7OD;EACC,wBAAA;EJgPA;;AAED;EACE;IACE,+BAAA;IAAA,uBAAA;IACD;;EAED;IAAA,gCAAA;IAAA,wBAAA;IAEC;;EAED;IACE,6BAAoB;IAApB,qBAAoB;IADtB;EAGD;;AAZD;EACE;IACE,+BAAA;IAAA,uBAAA;IACD;;EAED;IAAA,gCAAA;IAAA,wBAAA;IAEC;;EAED;IACE,6BAAoB;IAApB,qBAAoB;IADtB;EAGD;AACD;EACE;IAFD,6BAAA;IAAA,qBAAA;IAIE;;EAfD;IACE,gCAAA;IAAA,wBAAA;IAkBD;;EAED;IAjBA,gCAAA;IAAA,wBAAA;IAmBC;;EAED;IACE,6BAAoB;IAApB,qBAAoB;IAlBtB;EAoBD;AAhBD;EACE;IAFD,6BAAA;IAAA,qBAAA;IAIE;;EAfD;IACE,gCAAA;IAAA,wBAAA;IAkBD;;EAED;IAjBA,gCAAA;IAAA,wBAAA;IAmBC;;EAED;IACE,6BAAoB;IAApB,qBAAoB;IAlBtB;EAoBD;AACD;EACE;IAnBD,+CAAA;IAAA,uCAAA;IACD;;EAsBE;IAvBD,oDAAA;IAAA,4CAAA;IAyBE;EACF;AARD;EACE;IAnBD,+CAAA;IAAA,uCAAA;IACD;;EAsBE;IAvBD,oDAAA;IAAA,4CAAA;IAyBE;EACF;AACD;;EAEE,iCAvCE;EAwCH;;AAED;EACE,uBAxCA;EAyCA,oBAzCA;EA0CA,8BAvBC;EAwBD,gBAAe;EAtBf,+DAAA;EAwBA,2CAvBsB;EAwBtB,qBAxBE;EAyBF,oBA3CA;EA4CD;AAxCD;EACE,gBAAA;EA0CD;AACD;EACE,aA1CC;EA2CD,qBAAoB;EACrB;AACD;EACE,qBA5DE;EA6DF,cA3CC;EA4CF;;AAED;EACE,qBA9DA;EA+DA,gBA5CC;EA6CF;AACD;EACE,gBA5CE;EA6CH;AACD;EA5CC,qBAAA;EACD,aAAA;EA8CC;AACD;EACE,qBAlED;EAmEC,aAlEF;EAmEE,4DAA2D;EAC5D;;AAED;EACE,uBA/CC;EACF,oBAAA;EARD,wCAAA;EACE,aAAA;EAyDA,qEA5ED;EA6EC,qBA7ED;EA8EC,YA7EF;EA8EE,oBAAmB;EAxDnB,2DAAA;EA0DD;AACD;EACE,aA1DC;EA2DF;AAzDD;EA2DE,aAAY;EAzDZ,qBAAA;EACD,2DAAA;EA2DA;AAzDD;EACE,UAAA;EACA,uDAzCA;EAoGD;AACD;EAhFE,WAAA;EAkFD;AACD;EAzDE,aAAA;EACD,uBAAA;EAxCD,oBAAA;EACE,WAAA;EA0CD,oBAAA;EACD,aAAA;EACE,cA1CC;EA2CD,wBAAoB;EACrB,uEAAA;EACD,uBAAA;EA2DC;AACD;EAzDC,aAAA;EA2DC,oBAAmB;EAzDrB,QAAA;EACE,SAAA;EACA,aAAA;EACD,cAAA;EACD;AA2DA;EAzDC;IACD,sBAAA;IA5CC;EACD;IA8CC,WAAA;IACD,aAAA;IACE,cAAA;IACA;EA2DD;AACD;EACE;IAzDF,QAAA;IACE;EA2DD;AACD;EAjHE;IAyDA,sBAAA;IACA,kBAAA;IACA;EACA;IAxDA,aAAA;IA0DD,cAAA;IACD,mBAAA;IACE;EA2DD;;AAED;EAnHE,uBAAA;EACD,cAAA;EA2DA,oBAAA;EAzDD,0BAAA;EACE,gBAAA;EACA,sDAAA;EA2DD,2CAAA;EACD,qBAAA;EAhFE,eAAA;EAkFD,oBAAA;EACD;AA2DA;EAnHC,gBAAA;EAqHA;AACD;EAnHC,aAAA;EACD,qBAAA;EAqHC;AACD;EAnHC,cAAA;EAqHA;;AAxDD;EAzDC,8BAAA;EA2DC,2DAAmB;EAzDrB,sUAAA;EACE,qBAAA;EACA,oBAAA;EAqHD;AACD;EAzDA,wBAAA;EAzDC,+CAAA;EAqHC,yQApHF;EAqHE,qBAjKD;EACD,oBAAA;EAkKC;AACD;EACE;IAnHA,wBAAA;IA2DD,qEAAA;IACD;EA2DC;AACD;EACE,uBApHA;EAqHD;AAzDD;EAjHE,oBAAA;EA6KA,aApHA;EAqHD;AACD;EAnHE,WAAA;EAqHA,YA7KA;EA8KD;;AAED;;;EAvDA,6BAAA;EAAA,wBAAA;EA2DC;;AAED;EA7KA,qBAAA;EACE,aAAA;EACA,mBAAA;EA+KD;;AAJD;EA7KA,qBAAA;EACE,aAAA;EACA,mBAAA;EA+KD;;AAED;EAnHC,mBAAA;EAqHA;;AAED;EAzDC,oBAAA;EACD,YAAA;EA2DC;;AAED;EAzDA,6BAAA;EA2DC;;AAED;EAnHA,mBAAA;EAqHC;;AAED;EA7KE,eAAA;EA+KD;;AAxDD;EAzDA,qBAAA;EAzDC,WAAA;EAqHC,cAAA;EACA,kBAAA;EAhKF,aAAA;EAkKC,aAAA;EACD,qCAAA;EA2DC;AACD;EACE,qBApHD;EAqHA;;AAxDD;EACE;;;;;IAKD,mBAAA;IACD,iBAAA;IAnHE;EA+KD;AACD;EACE;;;;;IAhHF,gBAAA;IA2DC;EA4DA;;AAED;EAxOE;IACA,iBAAA;IA+KD;EA4DA;;AAED;;EA7OE,kBAAA;EA+KD,gBAAA;EAkEA;AAhED;;EAEC,mBAAA;EAkEA;;AAED;EA1HA;IA2DC,eAAA;IAkEE;EAhEH;;AAmEA;EACE;IAhEF,qBAAA;IAnHA,eAAA;IAqHC;EAkEA;AAhED;EA7KE;IA+KD,uBAAA;IAkEE;EA1HH;;AA6HA;EA1HE,WAAA;EA4HD;AACD;EA1HC,mBAAA;EACD,mBAAA;EA2DC,WAAA;EACD;;AAmEA;EACE,oBAAmB;EA1HrB,aAAA;EA4HC;AACD;EACE;IACE,qBAAoB;IACpB,eAAc;IACf;EACF;;AAED;EAhEA;IACE,qBAAA;IAkEC;EACF;;AAED;EACE,kBAtLF;EAuLE,gBA5HD;EA6HA;;AA/DD;EAxOE,SAAA;EA2SA,UAhUD;EAiUC,qBA5HD;EA6HA;;AA/DD;EAkEE,mBAAkB;EACnB;AACD;EAhEC,sBAAA;EAhED,mBAAA;EAmIC;AACD;EAhEC,uBAAA;EAkEC,oBAAmB;EAhErB,cAAA;EA1HA,mBAAA;EA6LE,qEAlID;EAmIC,2EAjEC;EAhEH,6BAAA;EAmIE,aAAY;EAhEd,mBAAA;EACE,qBAAA;EAkED;AACD;EACE,sBAlID;EAkEA,oBAAA;EAhED;AAmIA;EACE,aAlID;EAmIC,oBAjEC;EA1HH,QAAA;EA6LE,SAAQ;EAhEV,aAAA;EA1HE,cAAA;EA4HD,6BAAA;EACD;AAkEA;EA3LA,mBAAA;EA6LC;;AAED;EAhEA,aAAA;EAkEC;AACD;EAhEC,WAAA;EACD;AAkEA;EACE;IAhEE,iBAAc;IAkEf;EACF;;AA/DD;EAhEA,cAAA;EAmIC;AACD;EAhEC,WAAA;EAkEA;;AAED;EAhEE,WAAA;EAkED;AACD;EAjIA,YAAA;EAmIC;AACD;EAhEE,cAAA;EAkED;AACD;EAjIA,eAAA;EAmIC;;AA/DD;EAhEC,oBAAA;EAhED,oBAAA;EAmIC,YAAA;EACD,2BAAA;EAhEC,0DAAA;EAmIA;AACD;EA5PA,gBAAA;EA8PC;AACD;EAlMA,mBAAA;EAoMC;AACD;EAjIE;IAkED,mBAAA;IACD,YAAA;IACE;EAkED;AACD;;EA/DE,gBAlID;EAoMA;AACD;EAhEE,4BAAQ;EAhEV,uBAAA;EA1HE,aAAA;EA4HD,qFAAA;EACD,oBAAA;EAkEA,4CAAA;EA3LA,YAAA;EA8PC;AACD;EAhEA,mBAAA;EAkEC;AACD;EAhEA;IAhEC,wBAAA;IACD,sBAAA;IAkEA;EAkEC;AACD;EACE;IAhED,kBAAA;IAkEG,iBAAgB;IAjIpB;EAmIC;AACD;EAhEA;IAhEC,gBAAA;IAkEA,wBAAA;IAkEG,iBAAgB;IAhEpB,kBAAA;IAhEE;EAmID;;AAED;EAhEC,qBAAA;EACD,kBAAA;EAkEC;;AA/DD;EAjIA,oBAAA;EAmIC,mBAAA;EAkEC,gBAAe;EAjIjB;AAmIA;EAnQA;IAmIC,eAAA;IACD;EAmIC;;AA/DD;EA5PA,oBAAA;EA8PC,gBAAA;EACD,UAAA;EAlMA,YAAA;EAoMC,8CAAA;EAAA,sCAAA;EACD;AAkEA;EACE,WAlID;EAmIC,cAlIF;EAmIE,eAlIA;EAkED,+BAAA;EAAA,uBAAA;EACD,kCAAA;EAAA,0BAAA;EAkEC;AACD;EAhEC,WAAA;EACD,aAAA;EAhEE,cAAA;EAhEF,+BAAA;EAAA,uBAAA;EA9KC,kCAAA;EAAA,0BAAA;EAmXA;;AAED;EA7TA,oBAAA;EA8PC,mBAAA;EACD,gBAAA;EAhEA,qBAAA;EAkEC,YAAA;EACD;AAkEA;EACE,kBAnMD;EAoMC,gBAnMF;EAoME,qFAlIF;EAkEC,6BAAA;EACD;AAkEA;EACE;IAhEE,kBAAgB;IAjIpB,iBAAA;IAmIC;EACD;AAkEA;EACE;IAjID,eAAA;IAmIE;EACF;AACD;EAhEC,aAAA;EAkEC,oBAAmB;EAhErB,cAAA;EAhEC,SAAA;EACD,qBAAA;EAkEC,aAAA;EAkEC,eAAc;EAjIhB,mEAAA;EAjIA,sBAAA;EAmIC,aAAA;EAmIA;AACD;EAhEA;IAnQA,mBAAA;IAmIC,sBAAA;IAoME;EAhEF;IAkEG,4BAA2B;IAjI/B;EAmIC;AACD;EAjIA;IAtPA,mBAAA;IAwPC,sBAAA;IAAA;EAoIA;AAjED;EACE;IACA,kBAlIF;IAmIE,yBAlIA;IAkED;EAoIA;;AAED;EAnEC,eAAA;EACD,oBAAA;EAhEC,oBAAA;EACD,YAAA;EAhEE,2BAAA;EA4MA,0DAAyD;EArE3D;AAuEA;EAtIC,aAAA;EACD,oBAAA;EAhEA,WAAA;EAkEC,SAAA;EACD,qBAAA;EAkEA,aAAA;EACE,eAAA;EACA,sEAnMF;EAoME,sBAAA;EAhED,YAAA;EAwIA;AArED;EACE;IAhEE,cAAA;IAwID;EACF;;AApED;EACE,+BAAA;EAuEA,kCAxMD;EAyMC,kBAtEC;EACF,oBAAA;EACD,8BAAA;EAhEC,oBAAA;EAkEC,YAAA;EAuED;AACD;EAvMA,aAAA;EAkEC,gBAAA;EAkEC,oBAAc;EAjIhB,QAAA;EAjIA,cAAA;EAmIC,aAAA;EAyMA;AArED;EAhEA,gBAAA;EAwIE,uBA1UF;EA2UC;AACD;EAtIC;IAkEG,eAAA;IAuED;EACF;;AAED;;EAEE,iBAxMD;EAyMC,gBAzMD;EAoIA,6EAAA;EAjED,oBAAA;EAyIC;AACD;EACE;;IApED,iBAAA;IAuEE;EArEH;AAuEA;EAzIA;;IA/DA,iBAAA;IAhEE;EA6QD;;AA/DD;EAtIC,gBAAA;EAyMA;;AAED;;EArIA,oBAAA;EACE,aAAA;EACA,oBAAA;EACA,cAAA;EAhED,iCAAA;EAyMA;AAtID;EACE;;IAwEC,0BAAA;IACF,mBAAA;IAkEG,kBAAiB;IAtIrB;EACE;;IAwEA,gBAAA;IArED;EACD;;IAEE,QAAA;IAuED,kBAAA;IACD;EAkEC;;AAED;EAxQA,kCAAA;EAAA,0BAAA;EA0QC;AACD;EAhEC,uBAAA;EArED,gBAAA;EAhEA,sBAAA;EAwIE,kBAAA;EACD,kBAAA;EACD;AAkEA;EACE,WAvIE;EAwIF,gBAjEC;EAkEF;AACD;EAhEA,aAAA;EAkEE,oBAAmB;EAhEnB,WAAA;EACA,SAAA;EArED,aAAA;EAjED,cAAA;EAyIC,iCAAA;EACD,aAAA;EACE,kCAAA;EAAA,0BAAA;EAkEA,iCAAgC;EACjC;AACD;EAtIA,qCAAA;EAAA,iCAAA;EAAA,6BAAA;EAuEA;AAkEA;EACE,gBAAe;EAChB;AACD;EAhEC,wBAAA;EAkEC,qBAAoB;EAjItB;AAmIA;EAhEC,cAAA;EAkEA;AAhED;EAkEE,oCAA2B;EAA3B,gCAA2B;EAA3B,4BAA2B;EAC5B;AACD;EAvME;IACA,gBAAA;IAhED;EAyMA;IAtID,wBAAA;IACE,qBAAA;IAyMC;EACD;IAjID,cAAA;IAmIE;EACF;AACD;EACE,kBAAiB;EACjB,aAlIA;EAmIA,cAxMD;EACD,wBAAA;EAyME,qBAAoB;EACrB;AACD;EACE,uDAlIF;EAkEC,4BAAA;EAkEA;AAhED;EAxQA;IAAA,sDAAA;IA0QC;EACD;AAmEA;EAxMA,8DAAA;EAhEA,4BAAA;EA2QC;AACD;EAlIA;IAkEA,6DAAA;IACE;EAmED;AACD;EAjEA,4DAAA;EAhEA,4BAAA;EAoIC;AACD;EAlIE;IArED,2DAAA;IAjED;EA4QC;AACD;EAlIE,cAAA;EAAA,qBAAA;EAqID;;AAjED;EAtIA,gBAAA;EAAA,kCAAA;EAAA,wBAAA;EAuEA,qBAAA;EAkEA;AAsEA;EApEC,kBAAA;EACD,oBAAA;EAsEC;AACD;EAtMA;IAmIA,wBAAA;IAhEC,qBAAA;IAkEA;EAhED;AAuIA;EArEE;IAAA,mBAAA;IACD;EACD;;AAyEA;EACE,aA3YF;EAoQC,qBAAA;EAyIA;AACD;EACE,iBAvEC;EACD,kBAAA;EAwEA,sBAzMD;EA0MC,kBAvEC;EAwEF;AAtED;EACE,aAAA;EAwED;;AAED;EAtEE,oBAAA;EAwED;AAtED;EACE,eAAA;EAwED;AACD;EAvIA;IAvMA,mBAAA;IAAA,eAAA;IAyMC,iBAAA;IACD;EAmEA;;AAyEA;EAtEC,oBAAA;EACD,aAAA;EAlIA,uBAAA;EA2ME,0BAzIF;EA0IE,kBAzIA;EA0ID;;AAED;EAzMA,WAAA;EAoIC,8BAAA;EACD,aAAA;EAlIE,2BAAA;EA2MA,oBAhRD;EAiRC,kBAlVF;EA4QC,gBAAA;EACD,kBAAA;EAwEC;AACD;EAtEC,gBAAA;EAwEC,eAAc;EAzIhB;AA2IA;EAjRA,yBAAA;EAAA,YAAA;EAoRC;AACD;EAtEA,gBAAA;EAwEC;AACD;EAtEC,gBAAA;EACD;AAwEA;EACE,gBA5IF;EA6IC;AACD;EA5MA,gBAAA;EAuIA;AAwEA;EACE,oBA9IA;EA+IA,UA9ID;EACD,YAAA;EA+IE,aAAY;EAtEd,aAAA;EACE,gBA/QA;EAwID,sBAAA;EAyIA,sBAAA;EACD,oBAAA;EACE,iCAvEC;EA+IF;AACD;EAtEE,kBAAA;EACD,oBAAA;EAtED,aAAA;EACE,mBAAA;EAwED,UAAA;EAwEC,sBAAqB;EAtEvB,qBAAA;EAtEE,2BAAA;EA+ID;;AAED;EAtEC,0BAAA;EACD,gBAAA;EAwEC;AACD;EACE,uBK7zBD;EL8zBC,oBAhND;EAiNC,8BAhNF;EAmEA,aAAA;EA+IE,iEAAgE;EAtElE,iDAAA;EAtEC,kBAAA;EAjID,oBAAA;EA6MC,8BAAA;EAwEA;AAtED;EAzMA,gBAAA;EAoIC,2CAAA;EACD,qBAAA;EA+IC;AACD;EAtEE;IAtED,qBAAA;IACD;EA+IC;;AAED;EAtEE,gBAAc;EAzIhB,kCAAA;EA2IA,kBAAA;EAjVA,2BAAA;EAAA,kBAAA;EAoVC,uCAAA;EACD,gCAAA;EAwEC;AACD;EAtEA,uBAAA;EAtEC,qBAAA;EA+IA;AAtED;EACE,iBA5IF;EA6IC,mBAAA;EACD,gBAAA;EA5MA,sBAAA;EAuIA,oBAAA;EAwEA,kBAAA;EAwEC;AACD;EApNA,WAAA;EA+IE,gBAAY;EAtEd,sBAAA;EA+IC;AACD;EA7IC,uBAAA;EACD,qBAAA;EA+IC;AACD;EAtEA,uBAAA;EAtEE,mCAAA;EA+ID;AACD;EApNE,uBAAA;EAwED,mCAAA;EA+IA;AACD;;EArEC,kBAAA;EAwEA;AAtED;EAtEC;IACD,gBAAA;IAwEC,aAAA;IACD,oBAAA;IACE;EACA;;IA5IF,YAAA;IA+IE;EAtEF;IAtEC,qBAAA;IAjID,mBAAA;IA6MC,cAAA;IAwEA,iBAAA;IAtED;EA4IC;AACD;EAjNA;;IAgJA,0BAAA;IAtEE;EA4IA;;IAlED,aAAA;IAqEE;EAnEH;AAqEA;EApRA;IA2IA,0BAAA;IA3MC;EAAA;IA8MA,gBAAA;IACD;EA4IC;AAnED;EAtEA;IAtEC,oBAAA;IA+IA;EAtED;IACE,oBA5IF;IA6IC;EACD;IA5MA,gBAAA;IAuIA;EAmNC;AACD;EAnEA;IApNA,eAAA;IA+IE;EAtEF;IA+IC,gBAAA;IACD;EA7IC;IACD,gBAAA;IA+IC;EACD;AAqEA;EAjNE;IA+ID,oBAAA;IACD,YAAA;IApNE;EAwED;IA+IA,iBAAA;IACD;EAqEE;IA1ID,gBAAA;IAwEA;EAtED;AA4IA;EACE;IA1ID,eAAA;IACD,aAAA;IA4IG;EA1ID;IA4IE,gBAAe;IAChB;EACD;IAjNF,gBAAA;IAmNG;EACF;;AAED;EACE,oBA/MF;EAgNC;AAnED;EAjNA,gBAAA;EAuRE,oBAAmB;EACnB,WAxIF;EAyIE,aA/MA;EA4IA,mBAAA;EAqEA,aAAY;EACZ,cAxID;EAyIC,aApEC;EAnEH,gBAAA;EAqEA,kBAAA;EApRA,oBAAA;EA0VE,0CA/MF;EAgNE,oEArZF;EAAA,uBAAA;EAuZE,oBA/MD;EAgNA;;AAtID;EAtEA,uBAAA;EAgNE,oBAtRD;EAuRC,UAxID;EAtED,mBAAA;EAgNE,wBA3VF;EA4VE,cA/MD;EACD,aAAA;EAgNE,4DA3VF;EA4VE,2CAtRF;EAmNC,qBAAA;EACD,qBAAA;EAqEC;AACD;EACE,oBA/MA;EAtEF,QAAA;EAuRE,aAxID;EAyIC,qCAxIF;EAyIC;AACD;EACE,kBAxID;EACD,gBAAA;EAqEA,mBAAA;EAqEC;AACD;EACE,kBAxIF;EAyIE,oBKh1BA;EL2jBD,iBAAA;EAuRA;;AAED;EACE,kBA/MD;EAgNA;;AAlED;EACE,+BAAA;EAqED;;AAED;EA9ME,eAAA;EAgND;;AAED;EACE,gBAtRF;EAuRC;;AAED;EAnEA,aAAA;EACE,oBAAA;EACD,UAAA;EAnED,aAAA;EAyIC;AACD;EAnEE,aAxIF;EA6MC;;AAED;EAnEE,kBAxID;EAyIC,iBApEC;EAnEH,WAAA;EAqEA,cAAA;EAhRA,aAAA;EAsVE,YAAA;EACA,oBAAA;EApVF,eAAA;EAsVE,+CA/MD;EAgNA,cAAA;EAqEA;AA3MD;EAtEA,oBAAA;EAgNE,QAAA;EACA,UAAA;EA9MF,6CAAA;EAgNE,aAAA;EACA,kBA/MD;EACD,uBAAA;EAgNE,wCAAA;EACA,YAAA;EAqED;AACD;EAnEC,kBAAA;EACD,cAAA;EAqEC;AACD;EAnEE,kBAxID;EAyIC,cAAA;EAqED;AAnED;EACE,eAAA;EAqED;AACD;EAnEC,oBAAA;EACD,QAAA;EACE,UAAA;EACA,WAAA;EArRD,SAAA;EAuRA,gBAAA;EAqEC,oBAAmB;EAnErB;AAqEA;EAnEC,gBAAA;EAqEC,kBAAiB;EAvInB,kBAAA;EAyIC;AACD;EACE,kBAAiB;EAnEnB,eAAA;EA9ME,gBAAA;EAgND,0EAAA;EAqEC,6BAA4B;EAnE9B;AAqEA;EAnEC;IAqEG,iBAAgB;IAnEpB;EAqEC;AACD;EAvIC,aAAA;EAyIA;AACD;EAnEA,sBAAA;EAqEC;AACD;EACE,oBAAmB;EAnErB,SAAA;EAnEE,WAAA;EACA,aAAA;EAvIF,oBAAA;EAqEA,4BAAA;EA1IC,kBAAA;EAgNC,mBAAA;EAyID;AACD;EAvIE,WAAA;EAyID;AACD;EA/QA,uBAAA;EAtEA,WAAA;EAwVC;AACD;;EAtIE,0BAAA;EAyID;AACD;EAvIE;IACA,YAAA;IAqED,mBAAA;IACD,gBAAA;IAnEC;EACD;IAqEC,WAAA;IACD;EAqEC;AACD;EAnEC;IAnED,WAAA;IACE,gBAAA;IAqED;EACD;AAqEA;EAvIA;IACE,WAAA;IACA,aAAA;IA9MA,cAAA;IAgND,YAAA;IAqEC;EAqED;;AAED;EAnEE,cAAA;EAvIF,uBAAA;EA6MC;AAnED;EACE,wBAAiB;EAnEnB,iBAAA;EA/QA,cAAA;EAyZC;AACD;EAvIA,eAAA;EAqEA;AAqEA;EACE;IAvIF,aAAA;IAqEC,kBAAA;IACD;EAqEC;;AAlED;EAnEA,cAAA;EAyIC;;AAED;EAvIA,kBAAA;EAnEE,WAAA;EACA,iBAAA;EAvIF,eAAA;EAqEA,SAAA;EApIE,cAAA;EA0MA,iBAAA;EAyID,UAAA;EACD,QAAA;EAvIE,aAAA;EA6MD;;AAED;;EAlEC,uBAAA;EACD,gBAAA;EAqEE,qFAAoF;EA3MpF,6BAAA;EA6MD;AAnED;EAvIE;;IAsED,gBAAA;IAyIE;EACF;;AAED;;;EAjEA,uBAAA;EAnEC,gBAAA;EAyIC,2EA5MF;EA6ME,6BA5MA;EA6MD;AACD;EAnEA;;;IArIE,kBAAA;IA6MC;EACF;;AAED;EACE,wBAAuB;EAnEzB;;AAsEA;;;;EAxMA,aAAA;EArME,YAAA;EAmZD;;AAED;EAvIA,uBAAA;EAqEA,oBAAA;EACE,2BAAA;EAqEA,oBA5MF;EA6MC;AACD;EAnEC,aAAA;EAqEC,oBAAmB;EAvIrB,SAAA;EAnEA,sBAAA;EA6MC;AACD;EAnEA,QAAA;EAvIA,kBAAA;EAnEE,aAAA;EACA,eAAA;EAiRD;AACD;EKjzBE,WAAA;ELmiBA,aAAA;EAyID,cAAA;EACD,wEAAA;EAvIE,4BAAA;EA6MD,YAAA;EAqEA;AAnED;EAqEE,qBAAoB;EACrB;AACD;EAnEE;IA3MA,oBAAA;IA6MD,mBAAA;IAnED;EAvIE;IAiRE,4BAA2B;IAC5B;EACD;IAnED,eAAA;IAqEE;EAnEH;IAqEI,aAAY;IACZ,kBAAiB;IAvIrB;EAyIC;AACD;EAnEE;IACD,oBAAA;IACD;EAqEC;AACD;EACE;IA/QA,eAAA;IAiRC;EACF;AACD;EAnEA;IACE,eAAA;IAnEF,oBAAA;IAyIG;EAnEH;AAqEA;EACE;IACE,mBAAkB;IA/QtB;EAiRC;;AAED;EAnEA,iBAAA;EAqEC;AACD;;EAlEE,kBAAA;EACD,aAAA;EACD;AAqEA;;;EA7QA,gBAAA;EAiRC;AAnED;EAnEA;IAvIA,cAAA;IAjIE,YAAA;IA+DA;EAiRD;;;IA7QC,aAAA;IAyID;EA6MA;AACD;EAvIC;IAqEA,gBAAA;IAnED,aAAA;IAqEE,WAAA;IACD,kBAAA;IACD;EAnEE;IA3MA,gBAAA;IA6MD,iBAAA;IAnED,mBAAA;IAvIE;EAqVD;;AAED;EACE,8BAxID;EAyIC,+BApEC;EAqEF;;AAED;EACE,gBA5MF;EA6MC;AAnED;EAnEE,mBAAA;EAyID;AACD;EAnEC;IACD,gBAAA;IACE,wBAAA;IAqEC;EACF;AACD;EAnEA;IAnEA,WAAA;IACE,YAAA;IAnEF,cAAA;IAyIG,kBAAA;IAnEH;EAqEA;IACE,4BAAA;IAqEC;EACF;;AAED;EAnEA,WAAA;EAnEA,gBAAA;EAqEC,aAAA;EACD,sBAAA;EAqEE,qFAAoF;EAvIpF,2BAAA;EACD;;OAsED;EAqEC;AACD;EAnVA,uBAAA;EAiRC,oBAAA;EAnED,mBAAA;EAnEA,eAAA;EA6ME,YAlZF;EAmZC;AACD;EAvIC,cAAA;EAyIC,oBAAmB;EACnB,UAAS;EACT,gBK3yBD;EL4yBC,cAhRD;EA6MA,aAAA;EACD,sBAAA;EAvIC,8BAAA;EA6MC,oBAxID;EAyIA;AACD;EACE,0CAxID;EAwIC,kCAxID;EAyIA;;AAED;EACE,2BA5MD;EA6MA;;AAED;EACE,qBAAoB;EAnEtB,2BAAA;EACE,qBAAA;EACA,gBAAA;EACD,oBAAA;EAqEC,YAAW;EAnEb;AAqEA;EAnEC,kBAAA;EAnED,iBAAA;EAnEE,oBAAA;EAyID,kBAAA;EACD,WAAA;EAnEC,4CAAA;EAyIC,iBAxIF;EAyIE,oBAxIA;EAyID;AACD;EAnEA,WAAA;EAnEA,mBAAA;EAyIE,yBA5MF;EA6ME,kBA5MA;EA6MD;AACD;EACE,uBA5MF;EA6MC;AACD;EACE,gBApEC;EAqEF;AACD;EAnEA,kBAAA;EAnEA,eAAA;EAyIC;AACD;EAvIA,aAAA;EAqEE,WAAA;EAqED;AACD;EACE,aAAY;EACZ,WAxIF;EAqEC,cAAA;EACD;AAqEA;EAvIC,8BAAA;EAnED,oBAAA;EAnEA,kBAAA;EAiRC;AACD;EAnEA,aAAA;EAvIC,kBAAA;EAyIC,2BAAmB;EACnB,iBAAS;EACT,cAAA;EACA,YAAA;EAnED,cAAA;EACD,oBAAA;EAvIC,WAAA;EA6MC,wBAxID;EA6MA;AAnED;EACE;IAAA,eAAA;IACD;EAsEC;IApEF,eAAA;IACE;EAsED;AACD;EApEA,aAAA;EACE,kCAAoB;EAsErB;AACD;EAxIE,kCAAA;EA0ID;AACD;EAxIA,kBAAA;EAqEA;;AAuEA;EAhRE,iBAAA;EAkRD;;AAED;;;EAlEC,aAAA;EACD;AAsEA;;;EAlEE,uBA5MA;EA6MD,oBAAA;EACD,UAAA;EACE,YAAA;EACD,mBAAA;EACD,cAAA;EACE,gCApEC;EAqEF,qBAAA;EACD;;AAuEA;EApEC,iBAAA;EACD;;AAuEA;;EAnEA,kBAAA;EAsEC;;AAED;;EAnEA,kBAAA;EAsEC;;AAED;;EAnEA,kBAAA;EAnEA,+BAAA;EA0IC;;AAED;;EAvIE,kBAAA;EAnED,+BAAA;EA8MA;;AAED;;EAvIA,kBAAA;EACE,+BAAA;EA0ID;;AAED;;EAEE,kBA1IA;EAsED,+BAAA;EACD;;AAuEA;;EAnEA,cAAA;EAxIE,8BAAA;EA+MD;;AAED;;EAEE,kBAAiB;EApEnB;;AAuEA;;EAnEA,kBAAA;EAsEC;;AAED;;EAnEA,kBAAA;EAsEC;;AAED;;EAxIA,kBAAA;EA2IC;;AAED;;EAxIC,kBAAA;EA2IA;;AAnED;;EAnEA,kBAAA;EA2IC;;AAED;;EAnEC,kBAAA;EAsEA;;AAED;;EAnEC,kBAAA;EAsEA;;AAED;;EA5MA,kBAAA;EA+MC;;AAnED;;EAvIE,kBAAA;EA+MD;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAnEA,kBAAA;EAsEC;;AAED;;EAEE,kBAAiB;EApEnB;;AAuEA;;EAnEC,kBAAA;EAsEC,oBAAmB;EApErB,WAAA;EAsEC;;AAED;;EAnEA,kBAAA;EAsEE,+BAA8B;EAC/B;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,cAAa;EAlRb,8BAAA;EAoRD;;AAnED;;EAEE,kBAAA;EAsED;;AAnED;;EAnEA,kBAAA;EAsEC,+BAAA;EAsEA;;AAED;;EAxIA,kBAAA;EA2IC;;AAED;;EAnEE,kBAAA;EAsED;;AAED;;EAEE,kBAAiB;EAzInB,+BAAA;EA2IC;;AAED;;EAEE,kBAAiB;EAClB;;AAED;EApEA,kBAAA;EAsEC;;AAED;EACE;;;;IAjED,aAAA;IAsEE;EApEH;AAsEA;EApEE;IACD,eAAA;IAsEE;EApEH;AAsEA;EApEE;IACD,aAAA;IAsEE;EApEH;IAsEI,iBAAgB;IApElB,aAAA;IACD;EAsEC;IApEF,aAAA;IAsEG;EACF;AACD;EACE;IApEF,sBAAA;IAsEG;EApED;IAlRA,mBAAA;IAoRD;EAsEC;IAzIF,aAAA;IA2II,oBAAmB;IAzIrB;EAsED;IAsEG,WAAU;IAzId,YAAA;IA2II,mBAAkB;IA9MtB,gBAAA;IAsEC;EAsEA;IAsEG,kBAAiB;IApErB;EAsEE;IA9MF,oBAAA;IA2IC,gBAAA;IAsEG,aAAY;IApEhB;EAsEE;IAzIA,iBAAA;IAsED;EAsEA;AApED;EAsEE;IApEA,kBAAiB;IAzInB;EAgNC;;AAnED;EAsEE,eAAc;EACf;;AAED;EApEA,cAAA;EApEA,kBAAA;EAsEC,wBAAA;EAsEC,oBAAmB;EApErB,WAAA;EAsEC;AACD;EACE,qBAAoB;EACpB,kCAAiC;EACjC,qBA1ID;EA2IC,kBArEC;EApEH,iBAAA;EAsEA,UAAA;EApEE,WAAA;EA2IA,aA1ID;EA2IC,YArEC;EApEH,iCAAA;EAsEA;AAsEA;EACE;IApEC,cAAA;IApEH,kBAAA;IAsEI,wBAAgB;IApElB,oBAAA;IACD,WAAA;IAsEC;EAsED;AACD;EApEC;IACD,QAAA;IACE;EAsED;AACD;EAzIE,aAAA;EA2ID;AACD;EApEE;IAzIF,gBAAA;IAgNG;EACF;AACD;EACE;IAnRF,iBAAA;IAqRG;EACF;;AAED;EACE,mBArEE;EAsEH;;AAED;EACE,eA1ID;EA2IC,cArEE;EAsEF,kBA1IF;EA2IC;AACD;EACE;IApED,gBAAA;IApED;EA2IC;AACD;EACE;IApED,eAAA;IAsEE;EAzIH;;AA4IA;EACE,cAAa;EApEf,oBAAA;EAsEC;AACD;EAzIC,kBAAA;EA2IA;;AAED;EApEA,cAAA;EACE,kBAAA;EAsED;AACD;EApEE,gBAAA;EAzIF,qBAAA;EAgNC;AACD;EApEE,gBA1ID;EAgNA;AACD;EAzIA,uBAAA;EAsEA;AAsEA;EACE,YA1IC;EA2IF;AACD;;EAEE,qBA/MD;EAgNA;AACD;EApEA,gCAAA;EApEC,mBAAA;EA2IA;AACD;EApEC,gCAAA;EACD;AAsEA;EApEC,cAAA;EACD;AAsEA;EACE,eA/MF;EAgNC;AACD;EApEA,YAAA;EAsEC;AACD;EACE,aArEC;EAsEF;AACD;EApEA,oBAAA;EACE,aAAA;EAsED;AACD;;EAnEE,kBA1ID;EA2IC,WAAA;EAED,+CAAA;EACD;AAsEA;EACE,6BA1ID;EA2IC,mBA/MF;EAgNC;AApED;EACE,6BAAA;EAsED;AACD;EA9MA,cAAA;EAgNE,kBAAiB;EApEnB,qBAAA;EAsEC;AACD;EApEC,kBAAA;EACD;AAsEA;EApEC,YAAA;EAsEA;AApED;EApEA,YAAA;EA2IC;AACD;EApEA;IApEE,eAAA;IApED;EAgNA;AApED;EApEE;IAsED,gBAAA;IACD,oBAAA;IAzIA,qBAAA;IAsEA;EAsEA;AAsEA;EApEC,WAAA;EACD,wBAAA;EAsEC;AACD;EApEC,kBAAA;EACD;AAsEA;EA9MC;IA2IA,iBAAA;IACD;EAsEC;AACD;EApEA,kBAAA;EAsEC;AACD;EApEA,eAAA;EAsEC;AACD;EApEA;IApEA,mBAAA;IAsEC;EACD;AAsEA;EApEC,iBAAA;EACD;AAsEA;EAzIE,iBAAA;EA2ID;AApED;EAsEE,aAAY;EAzIZ,eAAA;EACA,mBAAA;EA2ID;AACD;EAnEA;IACE,uBAAA;IACA;EAqED;AAxID;EACE,aAAA;EA0ID;AAnED;EAzIA,aAAA;EA+MC;AACD;EAnEC;IACD,aAAA;IApEC;EA0IA;;AAED;EAnEC,0BAAA;EApED,cAAA;EA0IC;;AAlED;EApEA,WAAA;EA0IE,sBAnRD;EAoRC,kBAnRF;EAoRC;AAxID;EApEE,iBAAA;EA+MA,kBAzID;EA0IA;AACD;EACE,aA9MF;EAsEA,WAAA;EAsEA,YAAA;EApEC,YAAA;EA0IA;AACD;EAnEA,aAAA;EAqEC;AACD;EAnEA,kBAAA;EAqEC;AACD;EACE;IAnED,aAAA;IACD;EAqEC;AACD;EAnEA,WAAA;EApEA,YAAA;EAsEC;cACD;EApEA,cAAA;EA0IE,YA9MF;EA+ME,YAzID;EA0IA;AAnED;EApEC,iBAAA;EACD,mBAAA;EAsEA,aAAA;EAzIE,kBAAA;EA2ID,2BAAA;EApED,qBAAA;EAsEE,aAAA;EAqED;AACD;EAnEC,mBAAA;EACD;AAqEA;EACE,gBAxIA;EAyIA,kBAxIA;EAqED,oBAAA;EAxID,oBAAA;EACE,iBAAA;EA8MD;AAvID;EApEC,qBAAA;EA0IA,kBAAA;EACD;AAqEA;EACE,aAxIF;EAyIE,cAlRF;EA+MC,kBAAA;EAqEC,oBAAmB;EAnErB;AAqEA;EA5MA,gBAAA;EA0IC,YAAA;EAqEC,sBAAqB;EAvIvB;AAyIA;EAnEE;IACA,aAAA;IACD,kBAAA;IAxID;EA8MC;AACD;EAnEC,eAAA;EACD;AAqEA;EA5MA,eAAA;EA8MC;AACD;EAnEC,WAAA;EACD,YAAA;EAqEC;AACD;EAnEA,YAAA;EAnEA,sBAAA;EAyIC;AAnED;EACE,kBAAA;EAqEA,oBAxID;EAyIC,mBAxIF;EAqEC,qBAAA;EACD,aAAA;EAqEC;AACD;EAvIC,gBAAA;EAyIC,kBAxIF;EAyIC;AACD;EAnEE,gBAzID;EA0IA,kBAAA;EAnED;AAyIA;EA5MA;IAsEA,kBAAA;IAzIE,WAAA;IA2ID,eAAA;IAzID,kBAAA;IA2IE,iBAAA;IAqED,UAAA;IACD,QAAA;IAnEC,aAAA;IACD,+CAAA;IAqEA;EACE;IACA,cAAA;IAnED;EAxID;IACE,WAAA;IA8MD,YAAA;IAvID;EA6MC;;AAED;EAnEA;IACE,oBA7MF;IA8ME,gBAlRF;IA+MC;;EAED;IAqEA,mBAAA;IAvIA;EAqEC;IAqEC,2BAAqB;IAvIvB;EAyIA;IAnEE,kBAAA;IAyIC;EACD;IAhRF,mBAAA;IA8MC;;EAlEA;IACD,cAAA;IAqEA;EAqEC;AACD;EAnEA;IAnEC,aAAA;IACD,oBAAA;IAqEC;EACD;AAqEA;EAhRA;IA8MC,eAAA;IAnED;;EAsEE;IACA,gBAAA;IAnED;EAyIA;AACD,sHApEC;AACD;EAvIC,iBAAA;EA6MA;AACD;EAnEA,cAAA;EAnEE,eAAA;EAyID;AACD;EAnEA,2BAAA;EAqEC;AACD;EACE,2BArVD;EAsVA;;AAED;EACE,iBAxID;EAyIA;AACD;EACE,uBAhRF;EAiRE,kBAxIF;EACE,kBAAA;EAyIA,eAxIA;EAyIA,wBA5MD;EACD,iBAAA;EA6ME,aAhRF;EAiRE,iBAxID;EAyIA;AACD;EACE,gBAAe;EAnEjB;AAqEA;EACE,gBAxIA;EAyID;;AAED,mBAAkB;AAClB;EACE,kBAxIF;EAyIC;;AAED;EACE,aA5MF;EAqEA,mBAAA;EAyIC;;AAED;EACE,aA5MF;EA6MC;;AAED,oBA5MC;AA6MD;EACE,aAxIF;EAyIC;AAnED;EAnEA,mBAAA;EAyIC;;AAED,sBAxIC;AAyID;EAnEA,uBAAA;EAvIE,yBAAA;EA6MA,oBAxID;EAyIC,wBA5MF;EA6MC;AACD;EACE,eAxIA;EAyIA,WArVF;EAkRC,0BAAA;EACD,wBAAA;EAnEA,oBAAA;EAvIE,iBAAA;EAiRD;AAnED;EAnEA,mBAAA;EAvIA,gBAAA;EA6MC,kBAAA;EACD,wBAAA;EAqEC;AACD;EAnEA,mBAAA;EACE,mBAAA;EAqED;AACD;EAnEA,YAAA;EAqEC;AACD;EAnEA,oBAAA;EACE,YAAA;EACA,6BAxIF;EA6MC;;AAED;EMv5EG,YAAA;ENq1ED,kBAhRF;EAiRE,wBAxID;EA6MA;;AAED;EAvIA,oBAAA;EAqEA,WAAA;EACE,yBA5MD;EA6MA,gBAAA;EAqEC,kBAAiB;EAnEnB,iBAAA;EACA,WAAA;EACE,YAAA;EACD,iBAAA;EAqEC,oBAAmB;EAnErB;AAqEA;EA3MA,kBAAA;EA6MC;;AAlED;EACE,aAAA;EACD,eAAA;EAqEA;;AAlED;EACE;IACD,YAAA;IAnED,cAAA;IAvIA,eAAA;IA6MC;;EAED;IACA,YAAA;IAnEA,aAAA;IAvIE;EAiRD;AACD,mBApEE;AAqEF;EAnEA;IACE,kBAhRD;IAiRC;EAqED;AACD,mBAxIA;AAyIA;EAjZA;IA+UC,YAAA;IAnED;;EA1MA;IA6MC,YAAA;IACD;EAyIC;AAnED,8BAAA;AAqEA;EAvIE;IAqED,mBAAA;IACD;;EAEC;IACD,iBAAA;IAnEA,oBAAA;IACE;EAyID;AACD,kBApEC;AAqED;EAnEA;IA3MA,oBAAA;IAyIE;EAyID;AACD,kBApEC;AAqED;EAnEA;IAvIA,kBAAA;IAqEA;EAyIC;AACD,4BAxIC;AAyID;EAvIA;IACA,aAAA;IACE;;EAsEA;IAnEF,4BAAA;IAqEA;;EAEC;IAqEG,oBAAmB;IAvIvB;;EAEC;IAqEA,gBAAA;IAqEG,oBAAmB;IAvIvB;;EA0IE;IA3MF,aAAA;IArMA,iBAAA;IAmZG;;EAtIH;;IAlEA,YAAA;IAnEA,gBAAA;IA6MC;;EAED;IAnEA,kBAAA;IAyIG;EACF;AACD,kBApEC;AACD;EACA;IAvIE,iBAAA;IAqED,gBAAA;IAyIE;;EA1MD;;IAEF,aAAA;IAyIC;EAnED;AAqEA,kBAAA;AAqEA;EACE,oBAxID;EAyIA;AACD;EAvIC,YAAA;EAyIC,oBAxIF;EAyIC;AACD;EAnEC,cAAA;EACD,kBApEC;EAqED,mBAAA;EAqEC;;AAED;EAnEC,eAAA;EACD,oBApEC;EAqED;AAqEA;EACE,gBA5MD;EA6MC,kBA5MF;EA6MC;;AAlED;EAvIA,wBAAA;EA6MC;AACD;EACE,qBAAoB;EACrB;AACD;;;EArIC,eAAA;EAyIA;AACD;;;;;EAKE,iBA5MF;EA6MC;AACD;EACE,kBAhRF;EAiRC;AACD;EACE,eAAc;EA3MhB,WAAA;EA6ME,kBAAiB;EACjB,+BA5MA;EA6MA,iBAlZF;EAmZC;;AAED;EACE,oBA5MF;EA6ME,oBApEC;EAqEF;;AAtID;;;EA2IE,uBA5MD;EA6MC,aApEC;EAqEF;;AAED;;;EAzMA,YAAA;EAqEA;;AA0IA;EAnEC,kBAAA;EACD;;AAsEA;EAnEC,mBAAA;EACD;;AAsEA;EAvIA,oBAAA;EAyIC;AACD;EAnEA,gBAAA;EAqEC;;AAED;EAnEA,gBAAA;EACE,kBA5MF;EAiRC;;AAED;EAvIA;IAvIA,4BAAA;IA6MC;EACD;IACE,eAAA;IACD;EACD;AAqEA;EACE;IA3MD,iBAAA;IAyIA;EACD;IAqEI,iBAAgB;IAChB,cAAa;IACd;EACD;;IAlED,cAAA;IACD,qBAAA;IACE,kBAhRF;IAiRC,yBAAA;IACD,kBAAA;IACE;EA/QA;IAiRA,oBAAiB;IACjB;EAqED;AACD;EACE;IAnEF,eAAA;IACE,eAAA;IACA;EAqED;AACD;EA/QA;IAiRI,aAAY;IACZ,oBAAmB;IAnErB,oBAAA;IACA;EACD;IAqEG,aAAY;IAnEhB;EAqEC;AACD;EA3MA;;IA8MI,kBAAiB;IAnErB;EAqEC;AACD;EACE,eAAc;EAnEhB;AAqEA;EAvIA,iBAAA;EAyIC;AAnED;EA/QA,gBAAA;EAiRC,YAAA;EACD,oBAAA;EAqEC;AACD;EACE,+EAA8E;EAnEhF,oBAAA;EAnEA,YAAA;EACE,aAAA;EAqED,oBAAA;EAqEA;AAnED;EAvIA,gBAAA;EA6MC;AACD;EAvIA,gBAAA;EAyIE,eAxIA;EAyIA,wBAxID;EAyIA;AAnED;EACE,iBAAA;EAqED;AACD;EAvIA,eAAA;EAyIC;;AAED;EAnEE,mBAAA;EAqED;;AAED;EACE,YAxIA;EAyID;AACD;EACE,qBAxIA;EAyID;AACD;EACE,oBAxIA;EAyID;;AAED;EACE,aAxIF;EAyIE,+EAxIA;EAyID;;AAlED;EAvIA,4BAAA;EA6MC;;AAED;EACE,kBAxIA;EACD,oBAAA;EAyIC,qBApEc;EAqEd,qBAxIF;EAqEC,2BAAA;EACD,sBAAA;EAqEC;AACD;;EAEE,YAxIF;EAyIC;AAnED;EACE,iBAAc;EAnEhB,mBAAA;EAqEA;AAqEA;EAnEC,aAAA;EAnED,gBAAA;EAnEE,oBAAA;EAqED,WAAA;EACD,cAAA;EAqEC,aAAA;EACD,8BAAA;EACE,6CAAA;EAnEF,gBAAA;EAnEA,aAAA;EA6MC;;AAED;EAvIA,qBAAA;EAyIC;;AAlED;EAvIA,kBAAA;EA6MC;;AAED;EAvIA,oBAAA;EAyIC;;AAlED;EA/QA,aAAA;EAiRC,iBAAA;EAqEA;;AAED;;EAEE,aAAY;EAnEd,iBAAA;EACE,yBAxIA;EAyID,uBAAA;EACD;;AAsEA;EAnEA,gBAAA;EACE,4BA5MD;EAiRA;;AAlED;EACE,oBAxIF;EAyIE,mBAAA;EACD,sBAAA;EAqEC,oBAAmB;EAvIrB,qBAAA;EAyIC;AACD;EACE,eAAc;EAnEhB;AAqEA;EA3MC,uBAAA;EA6MA;AACD;EAvIC,gBAAA;EACD,iBAAA;EAqEC,mBAAA;EACD;AAqEA;EAnEE,oBAxIF;EAyIC,WAAA;EAnED,UAAA;EACE,2BAAc;EAvIhB,mBAAA;EAyIA,gBAAA;EAqEA,YAAA;EAqEC;;AAED;EA3MC,2BAAA;EACD,iBAAA;EAqEC,mBAAA;EACD,mBAAA;EACE,aAAA;EAnEF,qBAAA;EAnEA,oBAAA;EA6MC,kBAAA;EAqEC,uBAAsB;EAnExB;;AAsEA;EACE,eAAc;EAvIhB,iBAAA;EAvIE,cAAA;EA6MD,gBAAA;EAqEC,SAAQ;EAnEV,YAAA;EAvIA,+CAAA;EAyIC,uCAAA;EAqEA;;AAED;EAvIC,WAAA;EAqEA,cAAA;EAqEC,eAAc;EAnEhB,kCAAA;EAqEE,0BAAyB;EAnEzB,6BAAY;EAnEd,qBAAA;EAyIC;;AAED;EACE,WAAU;EAnEZ,aAAA;EAnEA,cAAA;EACE,kCA5MD;EAiRA,0BAAA;EAqEC,6BAA4B;EAvI9B,qBAAA;EAyIC;;AAED;EAnEE;IAvIF,+CAAA;IAyIC,uCAAA;IACD;;EAlEA;IAqEA,oDAAA;IA3MA,4CAAA;IA6MC;EACD;AAqEA;EA3MA;IAqEC,+CAAA;IACD,uCAAA;IAqEA;;EAlEC;IAnED,oDAAA;IACE,4CO1vFD;IP2vFA;EA6MA;AACD;EAnEC;IAqEG,gBAAe;IAnEnB;EAvIE;IACA,oBAAA;IACD;EA6MA;AACD;EA3ME;IACA,sBAxIF;IA6MC;;EAED;IAyII,8BAA6B;IAnEjC;EAqEC;AACD;EA/QC;IAyIA,iBAAA;IAqEC;;EAtIF;IAqEC,gBAAA;IAqEA;;EAED;IAvIC,kBAAA;IAqEA;;EAED;IAqEE,mBAAA;IAnEA,sBAAA;IAnEF;;EA8ME;IAnEF,UAAA;IACE;EAqED;AACD;EA/QC,aAAA;EAyIA,gBAAA;EAyIA;AACD;EAnEC,aAAA;EAqEA","file":"jetpack-admin.css"}
css/jetpack-admin.min.css CHANGED
@@ -1,3 +1,34 @@
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 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.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 */
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}}
2
+ #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}}
3
+ @media (max-width: 782px){.configure .frame.top.fixed{padding-left:0}}
4
+ .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}}
5
+ @media (max-width: 1147px){.wrap.inner{background:#f9f9f9;padding:15px}}@media (max-width: 530px){.wrap.inner{margin-top:1.71429em}}
6
+ .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}}
7
+ @media (max-width: 1147px){.page-content.configure{background:#f9f9f9}}
8
+ .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}}
9
+ .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}}
10
+ .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}}
11
+ .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}}
12
+ .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}}
13
+ .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}}
14
+ .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}}
15
+ .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}}
16
+ .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}}
17
+ .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}}
18
+ #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}}
19
+ .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 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.active{border-color:#2ea2cc;box-shadow:inset 4px 0 0 #2ea2cc}.module.active:hover{border-color:#69bedd;box-shadow:inset 4px 0 0 #69bedd}.module .button,.module .button-primary{margin-top:15px}@media (max-width: 530px){.module .configure,.module .activate{display:block;width:100%;text-align:center}.module .button,.module .button-primary{width:50%}.module .button-primary{line-height:normal;padding:6px 14px;height:auto;font-size:14px}}@media screen and (max-width: 450px){.module .button,.module .button-primary{margin:20px auto 0 auto}.module .button.alignright,.module .button-primary.alignright{float:none}}@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}}
20
+ .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}}
21
+ .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}}
22
+ .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}}
23
+ .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}}
24
+ .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}}
25
+ .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}}
26
+ .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}}
27
+ .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%}.jetpack-modules #site-icon-deprecated .info,.modules h3.icon,.jetpack-modules .info a{width:auto}.jetpack-modules #site-icon-deprecated .info:before,.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'}.jetpack-modules #site-icon-deprecated .info: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: 515px){.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}.jp-frame .header-nav .jetpack-modules:nth-child(4){text-align:center;margin:0 auto;width:100%}.jp-frame .header-nav .jetpack-modules:nth-child(4) a{padding:0 10px}}@media (max-width: 320px){.jetpack_page_jetpack_modules .wrap{padding:0 0 1em}}
28
+ .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}}
29
+ .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}}
30
+ .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.deprecated span{color:#888}.table-bordered.jetpack-modules tr.jetpack-module.deprecated .dep-msg{margin-right:10px;color:#555}.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}}
31
+ .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;overflow-y:auto;overflow-x:hidden;position:absolute;z-index:100000}.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}}
32
+ @media (max-width: 782px){.wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary):not(.check-column){padding:11px 10px;display:block}.jetpack_page_jetpack_modules #doaction{padding:7px 14px}.jetpack_page_jetpack_modules .fixed-top thead .check-column{padding:28px 10px 0 10px}.jetpack_page_jetpack_modules .filter-search{margin-top:28px}.jetpack_page_jetpack_modules .filter-search .button{padding:7px 14px}.manage-right.show .subsubsub li{padding:5px}}@media (max-width: 650px){.table-bordered.jetpack-modules tr.jetpack-module.deprecated td .row-actions{float:none;padding-left:18px}}@media (max-width: 430px){.table-bordered.jetpack-modules tr.jetpack-module td .row-actions{display:none}.table-bordered.jetpack-modules tr.jetpack-module.deprecated td .row-actions{display:block}}.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%}}.my-jetpack-actions{margin:0 0 40px 0}.my-jetpack-actions .j-col{padding:0;text-align:center}.my-jetpack-actions #user-list{height:30px;margin-top:-1px;margin-left:-3px}#jetpack-disconnect-content{display:none;text-align:center}#jetpack-disconnect-content .cancel-disconnect{display:block;margin-top:10px}.connection-details{border:1px #ddd solid}.connection-details.local-user{margin-bottom:10px}.connection-details .user-01,.connection-details .wpuser-02,.connection-details .action-btns{padding:10px}.connection-details .user-01 .button,.connection-details .user-01 select,.connection-details .wpuser-02 .button,.connection-details .wpuser-02 select,.connection-details .action-btns .button,.connection-details .action-btns select{margin-top:5px}.connection-details .wpuser-02{margin-top:10px}.connection-details h3{padding:10px;margin:0;background:#eee;border-bottom:1px #ddd solid;font-size:14px}.jp-user img{margin-right:10px;border-radius:50%}.jp-user div,.wp-user div,.wp-action div{display:inline-block;width:100%}.j-col.jp-user,.j-col.wp-user,.j-col.wp-action{padding:0}.my-jetpack-actions select{max-width:150px}.j-actions .button:nth-child(3){margin-right:5px}.j-row.disconnect{text-align:center}.j-row.disconnect .button{margin:0 auto}a.what-is-primary{color:#b4b9be;margin-left:4px}@media (max-width: 782px){.wp-action{border-top:1px #ddd solid}.wp-action h3{display:none}}@media screen and (max-width: 500px){.connection-details{font-size:11px}.connection-details h3{font-size:12px;padding:5px}.connection-details .user-01,.connection-details .wpuser-02{padding:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.connection-details .action-btns{text-align:center}}@media (max-width: 530px){.connection-details .wpuser-02{margin-top:0;padding:12px}}@media screen and (max-width: 450px){.j-actions .button{width:100%;margin-bottom:5px;text-align:center}.j-actions .button.alignright{float:none}}@media screen and (max-width: 350px){.user-01,.wpuser-02{max-width:100px}}.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}
33
 
34
  /*# sourceMappingURL=jetpack-admin.min.css.map */
css/jetpack-admin.min.css.map CHANGED
@@ -1 +1 @@
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":"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","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/pages/_connection.scss","../scss/templates/_module-overhaul.scss","../scss/_utilities/_clearings.scss"],"names":[],"mappings":"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","file":"jetpack-admin.min.css"}
css/jetpack-banners-rtl.css CHANGED
@@ -54,9 +54,6 @@
54
  padding: 0 20px 0 0;
55
  -moz-box-sizing: border-box;
56
  box-sizing: border-box;
57
- width: 75%;
58
- }
59
- #message .jp-banner__content.is-connection {
60
  width: 50%;
61
  }
62
  @media (max-width: 768px) {
@@ -68,16 +65,19 @@
68
  }
69
  }
70
  #message .jp-banner__content a {
71
- background-image: linear-gradient(to bottom, transparent 75%, #fff 50%);
72
- background-repeat: repeat-x;
73
- background-size: 2px 2px;
74
- background-position: 0 1.2em;
75
- }
76
- @media not all, only screen and (min-resolution: 2dppx), only screen and (-webkit-min-device-pixel-ratio: 2) {
77
- #message .jp-banner__content a {
78
- background-image: linear-gradient(to bottom, transparent 75%, #fff 75%);
79
- background-repeat: repeat-x;
80
- }
 
 
 
81
  }
82
  #message .jp-banner__content p {
83
  margin: 0;
@@ -90,7 +90,7 @@
90
  top: 0;
91
  left: 0;
92
  padding-right: 20px;
93
- width: 25%;
94
  height: 100%;
95
  -moz-box-sizing: border-box;
96
  box-sizing: border-box;
@@ -108,15 +108,24 @@
108
  width: 100%;
109
  height: auto;
110
  }
111
- #message .jp-banner__action-container.is-connection {
112
- width: 50%;
113
- }
114
  @media (max-width: 768px) {
115
  #message .jp-banner__action-container.is-connection {
116
  width: 100%;
117
  }
118
  }
119
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  #message .jp-banner__button {
121
  display: inline-block;
122
  position: absolute;
@@ -132,7 +141,7 @@
132
  font: 400 1.5em/1 'Open Sans', Helvetica, sans-serif;
133
  transition: all .1s ease-in-out;
134
  }
135
- @media (max-width: 1080px) {
136
  #message .jp-banner__button {
137
  font-size: 1.25em;
138
  left: 110px;
@@ -224,7 +233,37 @@
224
  outline: none;
225
  }
226
 
227
- /*# sourceMappingURL=jetpack-banners.css.map */
228
- #message.jp-banner{position:relative;margin-bottom:26px;padding:17px 0 17px 44px;border:none;background:#81a844;color:#fff;overflow:hidden;-moz-box-sizing:border-box;box-sizing:border-box}#message.jp-banner:after{content:'';position:absolute;bottom:0;left:-100px;width:100%;height:50px;background:url("../images/the-footcloud.svg") left bottom no-repeat;pointer-events:none;z-index:1}@media (max-width: 830px){#message.jp-banner:after{display:none}}#message.jp-banner a{color:#fff}#message.jp-banner h4{display:block;margin:0;padding:0;color:#fff;font-size:20px;line-height:1.3;font-weight:normal}#message.jp-banner h4+p{margin-top:10px}.jp-banner a{padding:0}#message .jp-banner__content{color:#dfffcc;padding:0 20px 0 0;-moz-box-sizing:border-box;box-sizing:border-box;width:75%}#message .jp-banner__content.is-connection{width:50%}@media (max-width: 768px){#message .jp-banner__content{width:100%}#message .jp-banner__content.is-connection{width:100%}}#message .jp-banner__content a{background-image:linear-gradient(to bottom, transparent 75%, #fff 50%);background-repeat:repeat-x;background-size:2px 2px;background-position:0 1.2em}@media not all, only screen and (min-resolution: 2dppx), only screen and (-webkit-min-device-pixel-ratio: 2){#message .jp-banner__content a{background-image:linear-gradient(to bottom, transparent 75%, #fff 75%);background-repeat:repeat-x}}#message .jp-banner__content p{margin:0;padding:0;line-height:1.5}#message .jp-banner__action-container{position:absolute;top:0;left:0;padding-right:20px;width:25%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box}@media (max-width: 768px){#message .jp-banner__action-container{position:static;margin:14px 0 9px;width:100%}}#message .jp-banner__action-container.is-full-width{position:static;margin:14px 0 9px;width:100%;height:auto}#message .jp-banner__action-container.is-connection{width:50%}@media (max-width: 768px){#message .jp-banner__action-container.is-connection{width:100%}}#message .jp-banner__button{display:inline-block;position:absolute;top:50%;left:125px;margin-top:-23px;padding:0.57143em 0.57143em 0.38095em 0.85714em;border-radius:6px;-moz-box-sizing:border-box;box-sizing:border-box;background:#518d2a;box-shadow:0 4px 0 #3e6c20,0 2px 3px rgba(0,0,0,0.2);font:400 1.5em/1 'Open Sans', Helvetica, sans-serif;transition:all .1s ease-in-out}@media (max-width: 1080px){#message .jp-banner__button{font-size:1.25em;left:110px}}@media (max-width: 830px){#message .jp-banner__button{left:45px}}@media (max-width: 768px){#message .jp-banner__button{position:static;margin:0}}@media (max-width: 420px){#message .jp-banner__button{display:block;width:100%;text-align:center;font-size:1.1em;left:0}}#message .jp-banner__button:hover,#message .jp-banner__button:focus{box-shadow:0 4px 0 #3e6c20,0 2px 3px rgba(0,0,0,0.2)}#message .jp-banner__button:active{outline:none;-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px);box-shadow:0 0px 0 #3e6c20,0 0 0 rgba(0,0,0,0.2)}#message .jp-banner__button:active:after{top:-2px}#message .jp-banner__button:before{content:'';display:inline-block;position:relative;vertical-align:middle;background:url("../images/connect-plug.svg") center center no-repeat;background-size:100%;top:-2px;margin-left:13px;width:22px;height:22px}@media (max-width: 420px){#message .jp-banner__button:before{display:none}}#message .is-full-width .jp-banner__button{position:static;margin:0}#message .is-opt-in .jp-banner__button:before{content:"\f147";width:20px;height:20px;background:none;font:normal 20px/1 Dashicons}#message .jp-banner__dismiss{position:absolute;top:0;left:0;width:44px;height:44px;text-align:center;z-index:99}#message .jp-banner__dismiss:before{color:#a7c979;content:'\f158';font:normal 20px/44px 'dashicons'}#message .jp-banner__dismiss:hover{opacity:0.8}#message .jp-banner__dismiss:active{opacity:1;outline:none}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
 
230
  /*# sourceMappingURL=jetpack-banners.min.css.map */
54
  padding: 0 20px 0 0;
55
  -moz-box-sizing: border-box;
56
  box-sizing: border-box;
 
 
 
57
  width: 50%;
58
  }
59
  @media (max-width: 768px) {
65
  }
66
  }
67
  #message .jp-banner__content a {
68
+ text-decoration: underline;
69
+ /* Medium.com text underline hack - doesn't work well on small mobile devices... reverting to traditional underline
70
+ background-image: linear-gradient(to bottom, rgba(0,0,0,0) 75%, #fff 50%);
71
+ background-repeat: repeat-x;
72
+ background-size: 2px 2px;
73
+ background-position: 0 95%;
74
+ display: inline-block;
75
+
76
+ @media not all, only screen and (min-resolution: 2dppx), only screen and (-webkit-min-device-pixel-ratio: 2) {
77
+ background-image: linear-gradient(to bottom, rgba(0,0,0,0) 75%, #fff 75%);
78
+ background-repeat: repeat-x;
79
+ }
80
+ */
81
  }
82
  #message .jp-banner__content p {
83
  margin: 0;
90
  top: 0;
91
  left: 0;
92
  padding-right: 20px;
93
+ width: 50%;
94
  height: 100%;
95
  -moz-box-sizing: border-box;
96
  box-sizing: border-box;
108
  width: 100%;
109
  height: auto;
110
  }
 
 
 
111
  @media (max-width: 768px) {
112
  #message .jp-banner__action-container.is-connection {
113
  width: 100%;
114
  }
115
  }
116
 
117
+ #message.is-opt-in .jp-banner__content {
118
+ width: 60%;
119
+ }
120
+ #message.is-opt-in .jp-banner__action-container {
121
+ width: 40%;
122
+ }
123
+ @media (max-width: 768px) {
124
+ #message.is-opt-in .jp-banner__content, #message.is-opt-in .jp-banner__action-container {
125
+ width: 100%;
126
+ }
127
+ }
128
+
129
  #message .jp-banner__button {
130
  display: inline-block;
131
  position: absolute;
141
  font: 400 1.5em/1 'Open Sans', Helvetica, sans-serif;
142
  transition: all .1s ease-in-out;
143
  }
144
+ @media (max-width: 1175px) {
145
  #message .jp-banner__button {
146
  font-size: 1.25em;
147
  left: 110px;
233
  outline: none;
234
  }
235
 
236
+ #message.jp-banner.protect-error {
237
+ background: #fff;
238
+ border-right: 4px #d94f4f solid;
239
+ }
240
+ #message.jp-banner.protect-error .jp-banner__content {
241
+ color: #444;
242
+ }
243
+ #message.jp-banner.protect-error .jp-banner__content h4, #message.jp-banner.protect-error .jp-banner__content a {
244
+ color: #d94f4f;
245
+ }
246
+ #message.jp-banner.protect-error .jp-banner__content a:hover {
247
+ color: #d43a3a;
248
+ }
249
+ #message.jp-banner.protect-error .jp-banner__button {
250
+ background: #d94f4f;
251
+ box-shadow: none;
252
+ color: #fff;
253
+ }
254
+ #message.jp-banner.protect-error .jp-banner__button:hover, #message.jp-banner.protect-error .jp-banner__button:focus, #message.jp-banner.protect-error .jp-banner__button:active {
255
+ box-shadow: none;
256
+ }
257
+ #message.jp-banner.protect-error .jp-banner__button:hover {
258
+ background: #d43a3a;
259
+ }
260
+ #message.jp-banner.protect-error .jp-banner__dismiss:before {
261
+ color: #a0a5aa;
262
+ }
263
+
264
+ #message.jp-banner{position:relative;margin-bottom:26px;padding:17px 0 17px 44px;border:none;background:#81a844;color:#fff;overflow:hidden;-moz-box-sizing:border-box;box-sizing:border-box}#message.jp-banner:after{content:'';position:absolute;bottom:0;left:-100px;width:100%;height:50px;background:url("../images/the-footcloud.svg") left bottom no-repeat;pointer-events:none;z-index:1}@media (max-width: 830px){#message.jp-banner:after{display:none}}#message.jp-banner a{color:#fff}#message.jp-banner h4{display:block;margin:0;padding:0;color:#fff;font-size:20px;line-height:1.3;font-weight:normal}#message.jp-banner h4+p{margin-top:10px}.jp-banner a{padding:0}#message .jp-banner__content{color:#dfffcc;padding:0 20px 0 0;-moz-box-sizing:border-box;box-sizing:border-box;width:50%}@media (max-width: 768px){#message .jp-banner__content{width:100%}#message .jp-banner__content.is-connection{width:100%}}#message .jp-banner__content a{text-decoration:underline}#message .jp-banner__content p{margin:0;padding:0;line-height:1.5}#message .jp-banner__action-container{position:absolute;top:0;left:0;padding-right:20px;width:50%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box}@media (max-width: 768px){#message .jp-banner__action-container{position:static;margin:14px 0 9px;width:100%}}#message .jp-banner__action-container.is-full-width{position:static;margin:14px 0 9px;width:100%;height:auto}@media (max-width: 768px){#message .jp-banner__action-container.is-connection{width:100%}}
265
+ #message.is-opt-in .jp-banner__content{width:60%}#message.is-opt-in .jp-banner__action-container{width:40%}@media (max-width: 768px){#message.is-opt-in .jp-banner__content,#message.is-opt-in .jp-banner__action-container{width:100%}}
266
+ #message .jp-banner__button{display:inline-block;position:absolute;top:50%;left:125px;margin-top:-23px;padding:0.57143em 0.57143em 0.38095em 0.85714em;border-radius:6px;-moz-box-sizing:border-box;box-sizing:border-box;background:#518d2a;box-shadow:0 4px 0 #3e6c20,0 2px 3px rgba(0,0,0,0.2);font:400 1.5em/1 'Open Sans', Helvetica, sans-serif;transition:all .1s ease-in-out}@media (max-width: 1175px){#message .jp-banner__button{font-size:1.25em;left:110px}}@media (max-width: 830px){#message .jp-banner__button{left:45px}}@media (max-width: 768px){#message .jp-banner__button{position:static;margin:0}}@media (max-width: 420px){#message .jp-banner__button{display:block;width:100%;text-align:center;font-size:1.1em;left:0}}#message .jp-banner__button:hover,#message .jp-banner__button:focus{box-shadow:0 4px 0 #3e6c20,0 2px 3px rgba(0,0,0,0.2)}#message .jp-banner__button:active{outline:none;-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px);box-shadow:0 0px 0 #3e6c20,0 0 0 rgba(0,0,0,0.2)}#message .jp-banner__button:active:after{top:-2px}#message .jp-banner__button:before{content:'';display:inline-block;position:relative;vertical-align:middle;background:url("../images/connect-plug.svg") center center no-repeat;background-size:100%;top:-2px;margin-left:13px;width:22px;height:22px}@media (max-width: 420px){#message .jp-banner__button:before{display:none}}
267
+ #message .is-full-width .jp-banner__button{position:static;margin:0}#message .is-opt-in .jp-banner__button:before{content:"\f147";width:20px;height:20px;background:none;font:normal 20px/1 Dashicons}#message .jp-banner__dismiss{position:absolute;top:0;left:0;width:44px;height:44px;text-align:center;z-index:99}#message .jp-banner__dismiss:before{color:#a7c979;content:'\f158';font:normal 20px/44px 'dashicons'}#message .jp-banner__dismiss:hover{opacity:0.8}#message .jp-banner__dismiss:active{opacity:1;outline:none}#message.jp-banner.protect-error{background:#fff;border-right:4px #d94f4f solid}#message.jp-banner.protect-error .jp-banner__content{color:#444}#message.jp-banner.protect-error .jp-banner__content h4,#message.jp-banner.protect-error .jp-banner__content a{color:#d94f4f}#message.jp-banner.protect-error .jp-banner__content a:hover{color:#d43a3a}#message.jp-banner.protect-error .jp-banner__button{background:#d94f4f;box-shadow:none;color:#fff}#message.jp-banner.protect-error .jp-banner__button:hover,#message.jp-banner.protect-error .jp-banner__button:focus,#message.jp-banner.protect-error .jp-banner__button:active{box-shadow:none}#message.jp-banner.protect-error .jp-banner__button:hover{background:#d43a3a}#message.jp-banner.protect-error .jp-banner__dismiss:before{color:#a0a5aa}
268
 
269
  /*# sourceMappingURL=jetpack-banners.min.css.map */
css/jetpack-banners-rtl.min.css CHANGED
@@ -1,3 +1,6 @@
1
- #message.jp-banner{position:relative;margin-bottom:26px;padding:17px 0 17px 44px;border:none;background:#81a844;color:#fff;overflow:hidden;-moz-box-sizing:border-box;box-sizing:border-box}#message.jp-banner:after{content:'';position:absolute;bottom:0;left:-100px;width:100%;height:50px;background:url("../images/the-footcloud.svg") left bottom no-repeat;pointer-events:none;z-index:1}@media (max-width: 830px){#message.jp-banner:after{display:none}}#message.jp-banner a{color:#fff}#message.jp-banner h4{display:block;margin:0;padding:0;color:#fff;font-size:20px;line-height:1.3;font-weight:normal}#message.jp-banner h4+p{margin-top:10px}.jp-banner a{padding:0}#message .jp-banner__content{color:#dfffcc;padding:0 20px 0 0;-moz-box-sizing:border-box;box-sizing:border-box;width:75%}#message .jp-banner__content.is-connection{width:50%}@media (max-width: 768px){#message .jp-banner__content{width:100%}#message .jp-banner__content.is-connection{width:100%}}#message .jp-banner__content a{background-image:linear-gradient(to bottom, transparent 75%, #fff 50%);background-repeat:repeat-x;background-size:2px 2px;background-position:0 1.2em}@media not all, only screen and (min-resolution: 2dppx), only screen and (-webkit-min-device-pixel-ratio: 2){#message .jp-banner__content a{background-image:linear-gradient(to bottom, transparent 75%, #fff 75%);background-repeat:repeat-x}}#message .jp-banner__content p{margin:0;padding:0;line-height:1.5}#message .jp-banner__action-container{position:absolute;top:0;left:0;padding-right:20px;width:25%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box}@media (max-width: 768px){#message .jp-banner__action-container{position:static;margin:14px 0 9px;width:100%}}#message .jp-banner__action-container.is-full-width{position:static;margin:14px 0 9px;width:100%;height:auto}#message .jp-banner__action-container.is-connection{width:50%}@media (max-width: 768px){#message .jp-banner__action-container.is-connection{width:100%}}#message .jp-banner__button{display:inline-block;position:absolute;top:50%;left:125px;margin-top:-23px;padding:0.57143em 0.57143em 0.38095em 0.85714em;border-radius:6px;-moz-box-sizing:border-box;box-sizing:border-box;background:#518d2a;box-shadow:0 4px 0 #3e6c20,0 2px 3px rgba(0,0,0,0.2);font:400 1.5em/1 'Open Sans', Helvetica, sans-serif;transition:all .1s ease-in-out}@media (max-width: 1080px){#message .jp-banner__button{font-size:1.25em;left:110px}}@media (max-width: 830px){#message .jp-banner__button{left:45px}}@media (max-width: 768px){#message .jp-banner__button{position:static;margin:0}}@media (max-width: 420px){#message .jp-banner__button{display:block;width:100%;text-align:center;font-size:1.1em;left:0}}#message .jp-banner__button:hover,#message .jp-banner__button:focus{box-shadow:0 4px 0 #3e6c20,0 2px 3px rgba(0,0,0,0.2)}#message .jp-banner__button:active{outline:none;-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px);box-shadow:0 0px 0 #3e6c20,0 0 0 rgba(0,0,0,0.2)}#message .jp-banner__button:active:after{top:-2px}#message .jp-banner__button:before{content:'';display:inline-block;position:relative;vertical-align:middle;background:url("../images/connect-plug.svg") center center no-repeat;background-size:100%;top:-2px;margin-left:13px;width:22px;height:22px}@media (max-width: 420px){#message .jp-banner__button:before{display:none}}#message .is-full-width .jp-banner__button{position:static;margin:0}#message .is-opt-in .jp-banner__button:before{content:"\f147";width:20px;height:20px;background:none;font:normal 20px/1 Dashicons}#message .jp-banner__dismiss{position:absolute;top:0;left:0;width:44px;height:44px;text-align:center;z-index:99}#message .jp-banner__dismiss:before{color:#a7c979;content:'\f158';font:normal 20px/44px 'dashicons'}#message .jp-banner__dismiss:hover{opacity:0.8}#message .jp-banner__dismiss:active{opacity:1;outline:none}
 
 
 
2
 
3
  /*# sourceMappingURL=jetpack-banners.min.css.map */
1
+ #message.jp-banner{position:relative;margin-bottom:26px;padding:17px 0 17px 44px;border:none;background:#81a844;color:#fff;overflow:hidden;-moz-box-sizing:border-box;box-sizing:border-box}#message.jp-banner:after{content:'';position:absolute;bottom:0;left:-100px;width:100%;height:50px;background:url("../images/the-footcloud.svg") left bottom no-repeat;pointer-events:none;z-index:1}@media (max-width: 830px){#message.jp-banner:after{display:none}}#message.jp-banner a{color:#fff}#message.jp-banner h4{display:block;margin:0;padding:0;color:#fff;font-size:20px;line-height:1.3;font-weight:normal}#message.jp-banner h4+p{margin-top:10px}.jp-banner a{padding:0}#message .jp-banner__content{color:#dfffcc;padding:0 20px 0 0;-moz-box-sizing:border-box;box-sizing:border-box;width:50%}@media (max-width: 768px){#message .jp-banner__content{width:100%}#message .jp-banner__content.is-connection{width:100%}}#message .jp-banner__content a{text-decoration:underline}#message .jp-banner__content p{margin:0;padding:0;line-height:1.5}#message .jp-banner__action-container{position:absolute;top:0;left:0;padding-right:20px;width:50%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box}@media (max-width: 768px){#message .jp-banner__action-container{position:static;margin:14px 0 9px;width:100%}}#message .jp-banner__action-container.is-full-width{position:static;margin:14px 0 9px;width:100%;height:auto}@media (max-width: 768px){#message .jp-banner__action-container.is-connection{width:100%}}
2
+ #message.is-opt-in .jp-banner__content{width:60%}#message.is-opt-in .jp-banner__action-container{width:40%}@media (max-width: 768px){#message.is-opt-in .jp-banner__content,#message.is-opt-in .jp-banner__action-container{width:100%}}
3
+ #message .jp-banner__button{display:inline-block;position:absolute;top:50%;left:125px;margin-top:-23px;padding:0.57143em 0.57143em 0.38095em 0.85714em;border-radius:6px;-moz-box-sizing:border-box;box-sizing:border-box;background:#518d2a;box-shadow:0 4px 0 #3e6c20,0 2px 3px rgba(0,0,0,0.2);font:400 1.5em/1 'Open Sans', Helvetica, sans-serif;transition:all .1s ease-in-out}@media (max-width: 1175px){#message .jp-banner__button{font-size:1.25em;left:110px}}@media (max-width: 830px){#message .jp-banner__button{left:45px}}@media (max-width: 768px){#message .jp-banner__button{position:static;margin:0}}@media (max-width: 420px){#message .jp-banner__button{display:block;width:100%;text-align:center;font-size:1.1em;left:0}}#message .jp-banner__button:hover,#message .jp-banner__button:focus{box-shadow:0 4px 0 #3e6c20,0 2px 3px rgba(0,0,0,0.2)}#message .jp-banner__button:active{outline:none;-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px);box-shadow:0 0px 0 #3e6c20,0 0 0 rgba(0,0,0,0.2)}#message .jp-banner__button:active:after{top:-2px}#message .jp-banner__button:before{content:'';display:inline-block;position:relative;vertical-align:middle;background:url("../images/connect-plug.svg") center center no-repeat;background-size:100%;top:-2px;margin-left:13px;width:22px;height:22px}@media (max-width: 420px){#message .jp-banner__button:before{display:none}}
4
+ #message .is-full-width .jp-banner__button{position:static;margin:0}#message .is-opt-in .jp-banner__button:before{content:"\f147";width:20px;height:20px;background:none;font:normal 20px/1 Dashicons}#message .jp-banner__dismiss{position:absolute;top:0;left:0;width:44px;height:44px;text-align:center;z-index:99}#message .jp-banner__dismiss:before{color:#a7c979;content:'\f158';font:normal 20px/44px 'dashicons'}#message .jp-banner__dismiss:hover{opacity:0.8}#message .jp-banner__dismiss:active{opacity:1;outline:none}#message.jp-banner.protect-error{background:#fff;border-right:4px #d94f4f solid}#message.jp-banner.protect-error .jp-banner__content{color:#444}#message.jp-banner.protect-error .jp-banner__content h4,#message.jp-banner.protect-error .jp-banner__content a{color:#d94f4f}#message.jp-banner.protect-error .jp-banner__content a:hover{color:#d43a3a}#message.jp-banner.protect-error .jp-banner__button{background:#d94f4f;box-shadow:none;color:#fff}#message.jp-banner.protect-error .jp-banner__button:hover,#message.jp-banner.protect-error .jp-banner__button:focus,#message.jp-banner.protect-error .jp-banner__button:active{box-shadow:none}#message.jp-banner.protect-error .jp-banner__button:hover{background:#d43a3a}#message.jp-banner.protect-error .jp-banner__dismiss:before{color:#a0a5aa}
5
 
6
  /*# sourceMappingURL=jetpack-banners.min.css.map */
css/jetpack-banners.css CHANGED
@@ -54,9 +54,6 @@
54
  padding: 0 0 0 20px;
55
  -moz-box-sizing: border-box;
56
  box-sizing: border-box;
57
- width: 75%;
58
- }
59
- #message .jp-banner__content.is-connection {
60
  width: 50%;
61
  }
62
  @media (max-width: 768px) {
@@ -68,16 +65,19 @@
68
  }
69
  }
70
  #message .jp-banner__content a {
71
- background-image: linear-gradient(to bottom, transparent 75%, #fff 50%);
72
- background-repeat: repeat-x;
73
- background-size: 2px 2px;
74
- background-position: 0 1.2em;
75
- }
76
- @media not all, only screen and (min-resolution: 2dppx), only screen and (-webkit-min-device-pixel-ratio: 2) {
77
- #message .jp-banner__content a {
78
- background-image: linear-gradient(to bottom, transparent 75%, #fff 75%);
79
- background-repeat: repeat-x;
80
- }
 
 
 
81
  }
82
  #message .jp-banner__content p {
83
  margin: 0;
@@ -90,7 +90,7 @@
90
  top: 0;
91
  right: 0;
92
  padding-left: 20px;
93
- width: 25%;
94
  height: 100%;
95
  -moz-box-sizing: border-box;
96
  box-sizing: border-box;
@@ -108,15 +108,24 @@
108
  width: 100%;
109
  height: auto;
110
  }
111
- #message .jp-banner__action-container.is-connection {
112
- width: 50%;
113
- }
114
  @media (max-width: 768px) {
115
  #message .jp-banner__action-container.is-connection {
116
  width: 100%;
117
  }
118
  }
119
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  #message .jp-banner__button {
121
  display: inline-block;
122
  position: absolute;
@@ -132,7 +141,7 @@
132
  font: 400 1.5em/1 'Open Sans', Helvetica, sans-serif;
133
  transition: all .1s ease-in-out;
134
  }
135
- @media (max-width: 1080px) {
136
  #message .jp-banner__button {
137
  font-size: 1.25em;
138
  right: 110px;
@@ -224,4 +233,30 @@
224
  outline: none;
225
  }
226
 
227
- /*# sourceMappingURL=jetpack-banners.css.map */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  padding: 0 0 0 20px;
55
  -moz-box-sizing: border-box;
56
  box-sizing: border-box;
 
 
 
57
  width: 50%;
58
  }
59
  @media (max-width: 768px) {
65
  }
66
  }
67
  #message .jp-banner__content a {
68
+ text-decoration: underline;
69
+ /* Medium.com text underline hack - doesn't work well on small mobile devices... reverting to traditional underline
70
+ background-image: linear-gradient(to bottom, rgba(0,0,0,0) 75%, #fff 50%);
71
+ background-repeat: repeat-x;
72
+ background-size: 2px 2px;
73
+ background-position: 0 95%;
74
+ display: inline-block;
75
+
76
+ @media not all, only screen and (min-resolution: 2dppx), only screen and (-webkit-min-device-pixel-ratio: 2) {
77
+ background-image: linear-gradient(to bottom, rgba(0,0,0,0) 75%, #fff 75%);
78
+ background-repeat: repeat-x;
79
+ }
80
+ */
81
  }
82
  #message .jp-banner__content p {
83
  margin: 0;
90
  top: 0;
91
  right: 0;
92
  padding-left: 20px;
93
+ width: 50%;
94
  height: 100%;
95
  -moz-box-sizing: border-box;
96
  box-sizing: border-box;
108
  width: 100%;
109
  height: auto;
110
  }
 
 
 
111
  @media (max-width: 768px) {
112
  #message .jp-banner__action-container.is-connection {
113
  width: 100%;
114
  }
115
  }
116
 
117
+ #message.is-opt-in .jp-banner__content {
118
+ width: 60%;
119
+ }
120
+ #message.is-opt-in .jp-banner__action-container {
121
+ width: 40%;
122
+ }
123
+ @media (max-width: 768px) {
124
+ #message.is-opt-in .jp-banner__content, #message.is-opt-in .jp-banner__action-container {
125
+ width: 100%;
126
+ }
127
+ }
128
+
129
  #message .jp-banner__button {
130
  display: inline-block;
131
  position: absolute;
141
  font: 400 1.5em/1 'Open Sans', Helvetica, sans-serif;
142
  transition: all .1s ease-in-out;
143
  }
144
+ @media (max-width: 1175px) {
145
  #message .jp-banner__button {
146
  font-size: 1.25em;
147
  right: 110px;
233
  outline: none;
234
  }
235
 
236
+ #message.jp-banner.protect-error {
237
+ background: #fff;
238
+ border-left: 4px #d94f4f solid;
239
+ }
240
+ #message.jp-banner.protect-error .jp-banner__content {
241
+ color: #444;
242
+ }
243
+ #message.jp-banner.protect-error .jp-banner__content h4, #message.jp-banner.protect-error .jp-banner__content a {
244
+ color: #d94f4f;
245
+ }
246
+ #message.jp-banner.protect-error .jp-banner__content a:hover {
247
+ color: #d43a3a;
248
+ }
249
+ #message.jp-banner.protect-error .jp-banner__button {
250
+ background: #d94f4f;
251
+ box-shadow: none;
252
+ color: #fff;
253
+ }
254
+ #message.jp-banner.protect-error .jp-banner__button:hover, #message.jp-banner.protect-error .jp-banner__button:focus, #message.jp-banner.protect-error .jp-banner__button:active {
255
+ box-shadow: none;
256
+ }
257
+ #message.jp-banner.protect-error .jp-banner__button:hover {
258
+ background: #d43a3a;
259
+ }
260
+ #message.jp-banner.protect-error .jp-banner__dismiss:before {
261
+ color: #a0a5aa;
262
+ }
css/jetpack-banners.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../scss/organisms/_banners.scss","jetpack-banners.css"],"names":[],"mappings":"AAAA;;;GAGC;ACCD;EDCC,oBAAmB;EACnB,qBAAW;EACX,2BAAgB;EAChB,cAAY;ECCX,qBAAoB;EDCrB,aAAA;EACC,kBAAW;EACX,6BAAkB;EAAlB,wBAAkB;ECCnB;AACD;EDCE,aAAW;EACX,oBAAY;EACZ,WAAU;EACV,eAAc;EACd,aAAU;ECCV,cAAa;EDCb,uEAA4B;EAX7B,sBAAA;ECaC,YDDU;ECEX;AACD;EDAC;IACC,eAAW;ICEV;EDAF;ACED;EDAE,aAAS;ECEV;AACD;EDAE,gBAAe;EACf,WAAA;EACA,YAAW;ECEX,aAAY;EDAZ,iBAAA;EACC,kBAAgB;ECEjB,qBAAoB;EACrB;ADED;EACC,kBAAU;ECAV;;ADGD;EACC,YAAO;ECAP;;AAED;EACE,gBAAe;EDEhB,qBAAA;EACC,6BAAU;EAAV,wBAAU;ECAV,YAAW;EDGZ;ACDD;EACE,YDCO;ECAR;AACD;EACE;IACE,aAAY;IACb;EDGF;IAEC,aAAA;IACA;ECFD;AACD;EACE,yEAAwE;EDIxE,6BAAA;EAPD,0BAAA;ECMC,8BDEmB;ECDpB;AACD;EACE;IDGD,yEAAE;IACD,6BAAS;IACT;ECDD;AACD;EACE,WAAU;EDIZ,YAAA;EACC,kBAAU;ECFV;;AAED;EDIC,oBAAU;EACV,QAAM;EACN,UAAA;ECFC,oBAAmB;EDIpB,YAAA;EATD,cAAA;ECQE,6BDEgB;ECFhB,wBDEgB;ECDjB;AACD;EACE;IACE,kBAAiB;IDEpB,oBAAA;IACC,aAAU;IACV;ECAD;AACD;EACE,kBAAiB;EDElB,oBAAA;EACC,aAAU;ECAV,cAAa;EDEb;ACAF;EACE,YDAQ;ECCT;AACD;EACE;IDEF,aAAA;IACC;ECAA;;AAED;EDEC,uBAAiB;EACjB,oBAAS;EACT,UAAA;EACA,cAAY;EACZ,mBAAY;EACZ,kDACC;EAED,oBAAM;EACN,6BAAY;EAAZ,wBAAY;ECFX,qBAAoB;EDIrB,2DAA4B;EAhB7B,sDAA4B;ECe1B,iCDEiB;ECDlB;AACD;EACE;IDGD,mBAAA;IArBD,cAAA;ICqBG;EACF;AACD;EDEC;IAzBD,aAAA;IC0BG;EACF;AACD;EACE;IDAD,kBAAA;IA7BD,WAAA;ICgCG;EACF;AACD;EACE;IDDA,gBAAQ;ICGN,aAAY;IACZ,oBAAmB;IDFtB,kBAAA;IAEC,UAAU;ICGT;EDCF;ACCD;EDCE,2DAA0B;ECC3B;AACD;EDGE,eAAA;EAEC,oCAAS;EAAT,gCAAS;EAAT,4BAAS;ECFV,uDAAsD;EDKvD;ACHD;EDKE,WAAS;ECHV;AACD;EDKE,aAAY;EACZ,uBAAqB;EACrB,oBAAS;EACT,wBAAkB;EAClB,uEAAW;EACX,uBAAY;ECHZ,WAAU;EDKV,oBAAA;EAZD,aAAA;ECUC,cDGU;ECFX;AACD;EACE;IDKF,eAAA;IACC;ECHA;;AAED;EDMA,kBAAA;EACC,WAAS;ECJT;;AAED;EDMC,kBAAM;ECJL,aAAY;EACZ,cAAa;EDMf,kBAAA;EACC,+BAAkB;ECJlB;;AAED;EDMC,oBAAY;EACZ,QAAA;EACA,UAAS;ECJR,aAAY;EDMb,cAAA;EACC,oBAAc;EACd,aAAS;ECJV;AACD;EDMC,gBAAA;EACC,kBAAY;ECJZ,oCAAmC;EDMpC;ACJD;EDME,cAAa;ECJd;AACD;EACE,YAAW;EACX,eAAc;EACf","file":"jetpack-banners.css"}
1
+ {"version":3,"sources":["../scss/organisms/_banners.scss","jetpack-banners.css"],"names":[],"mappings":"AAAA;;;GCGE;AACF;EDCC,oBAAA;EACA,qBAAA;EACA,2BAAA;EACA,cAAA;ECCC,qBAAA;EDCD,aAAA;EACC,kBAAA;EACA,6BAAA;EAAA,wBAAA;ECCD;AACD;EAAA,aAAA;EAAA,oBAAA;EAAA,WAAA;EAAA,eAAA;EAAA,aAAA;EAAA,cAAA;EDCE,uEAAA;EACA,sBAAA;EACA,YAAA;ECOD;AACD;EAAA;IAAA,eAAA;IAGG;EACF;AACD;EAAA,aAAA;EAEC;AACD;EAAA,gBAAA;EAAA,WAAA;EAAA,YAAA;EAAA,aAAA;EAAA,iBAAA;EAAA,kBAAA;EDAE,qBAAA;ECQD;AACD;EAAA,kBAAA;EAEC;;AAED;EAAA,YAAA;EAEC;;AAED;EAAA,gBAAA;EAAA,qBAAA;EAAA,6BAAA;EAAA,wBAAA;EAAA,YAAA;EAKC;AACD;EADC;IACD,aAAA;IADC;EAKC;IALD,aAAA;IAKC;EAGD;AACD;EADC,4BAAA;IACD;;;;;;;;;;;OAaM;EACL;AACD;EADC,WAAA;EACD,YAAA;EADC,kBAAA;EAKA;;AAED;EACE,oBAAmB;EADrB,QAAA;EACE,UAAA;EADF,oBAAA;EACE,YAAA;EADF,cAAA;EACE,6BAAA;EAAA,wBAAA;EAOD;AACD;EARE;IAOD,kBAAA;IACD,oBAAA;IARE,aAAA;IAaC;EACF;AACD;EACE,kBAHC;EACF,oBAAA;EACD,aAAA;EACE,cAAA;EAID;AACD;EALE;IAID,aAAA;IACD;EAIC;;AAED;EAFC,YAAA;EAIA;AAFD;EAFC,YAAA;EAOA;AALD;EAFC;IAOA,aAAA;IALD;EAUC;;AAED;EAFC,uBAAA;EAIC,oBAAmB;EAFrB,UAAA;EAFC,cAAA;EAIC,mBAAA;EAFF,kDAAA;EAFC,oBAAA;EAIC,6BAAA;EAAA,wBAAA;EAFF,qBAAA;EAFC,2DAAA;EAIC,sDAAA;EAAA,iCAAA;EAWD;AACD;EAZE;IAAA,mBAAA;IAWD,cAAA;IACD;EAKC;AACD;EACE;IAPF,aAAA;IAKC;EACD;AAKA;EACE;IAPD,kBAAA;IACD,WAAA;IAKA;EAKC;AACD;EACE;IAPF,gBAAA;IAKC,aAAA;IACD,oBAAA;IACE,kBAAA;IAPF,UAAA;IAaG;EACF;AACD;EACE,2DAhBF;EAiBC;AACD;EAHA,eAAA;EACE,oCAAA;EAAA,gCAAA;EAAA,4BAAA;EACD,uDAAA;EACD;AAKA;EAPE,WAAA;EASD;AACD;EATC,aAAA;EACD,uBAAA;EAKA,oBAAA;EAPE,wBAAA;EASD,uEAAA;EACD,uBAAA;EATC,WAAA;EACD,oBAAA;EAKA,aAAA;EAPE,cAAA;EAqBD;AACD;EArBC;IACD,eAAA;IAKA;EAmBC;;AAJD;EArBC,kBAAA;EA6BC,WA5BF;EA6BC;;AAED;EAXA,kBAAA;EArBC,aAAA;EA6BC,cA5BF;EA6BC,kBAAA;EAOC,+BAA8B;EALhC;;AAQA;EAXE,oBDbD;ECcA,QAAA;EAOC,UAAA;EALF,aAAA;EAaE,cAAa;EALf,oBAAA;EAXE,aAAA;EAmBD;AACD;EAjBA,gBAAA;EAaE,kBAAa;EALf,oCAAA;EAaC;AACD;EALA,cAAA;EAOC;AACD;EAjBA,YAAA;EAaC,eAAA;EACD;;AAQA;EALA,kBAAA;EAjBA,gCAAA;EAyBC;AACD;EACE,aAAY;EALd;AAOA;EA7BA,gBAAA;EA+BC;AALD;EACE,gBAAY;EAOb;AALD;EA7BA,qBAAA;EA+BC,kBAAA;EALD,aAAA;EAaC;AACD;EAXA,kBAAA;EAaC;AACD;EAjBA,qBAAA;EAmBC;AALD;EAXA,gBAAA;EAmBC","file":"jetpack-banners.css"}
css/jetpack-banners.min.css CHANGED
@@ -1,3 +1,6 @@
1
- #message.jp-banner{position:relative;margin-bottom:26px;padding:17px 44px 17px 0;border:none;background:#81a844;color:#fff;overflow:hidden;-moz-box-sizing:border-box;box-sizing:border-box}#message.jp-banner:after{content:'';position:absolute;bottom:0;right:-100px;width:100%;height:50px;background:url("../images/the-footcloud.svg") right bottom no-repeat;pointer-events:none;z-index:1}@media (max-width: 830px){#message.jp-banner:after{display:none}}#message.jp-banner a{color:#fff}#message.jp-banner h4{display:block;margin:0;padding:0;color:#fff;font-size:20px;line-height:1.3;font-weight:normal}#message.jp-banner h4+p{margin-top:10px}.jp-banner a{padding:0}#message .jp-banner__content{color:#dfffcc;padding:0 0 0 20px;-moz-box-sizing:border-box;box-sizing:border-box;width:75%}#message .jp-banner__content.is-connection{width:50%}@media (max-width: 768px){#message .jp-banner__content{width:100%}#message .jp-banner__content.is-connection{width:100%}}#message .jp-banner__content a{background-image:linear-gradient(to bottom, transparent 75%, #fff 50%);background-repeat:repeat-x;background-size:2px 2px;background-position:0 1.2em}@media not all, only screen and (min-resolution: 2dppx), only screen and (-webkit-min-device-pixel-ratio: 2){#message .jp-banner__content a{background-image:linear-gradient(to bottom, transparent 75%, #fff 75%);background-repeat:repeat-x}}#message .jp-banner__content p{margin:0;padding:0;line-height:1.5}#message .jp-banner__action-container{position:absolute;top:0;right:0;padding-left:20px;width:25%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box}@media (max-width: 768px){#message .jp-banner__action-container{position:static;margin:14px 0 9px;width:100%}}#message .jp-banner__action-container.is-full-width{position:static;margin:14px 0 9px;width:100%;height:auto}#message .jp-banner__action-container.is-connection{width:50%}@media (max-width: 768px){#message .jp-banner__action-container.is-connection{width:100%}}#message .jp-banner__button{display:inline-block;position:absolute;top:50%;right:125px;margin-top:-23px;padding:0.57143em 0.85714em 0.38095em 0.57143em;border-radius:6px;-moz-box-sizing:border-box;box-sizing:border-box;background:#518d2a;box-shadow:0 4px 0 #3e6c20,0 2px 3px rgba(0,0,0,0.2);font:400 1.5em/1 'Open Sans', Helvetica, sans-serif;transition:all .1s ease-in-out}@media (max-width: 1080px){#message .jp-banner__button{font-size:1.25em;right:110px}}@media (max-width: 830px){#message .jp-banner__button{right:45px}}@media (max-width: 768px){#message .jp-banner__button{position:static;margin:0}}@media (max-width: 420px){#message .jp-banner__button{display:block;width:100%;text-align:center;font-size:1.1em;right:0}}#message .jp-banner__button:hover,#message .jp-banner__button:focus{box-shadow:0 4px 0 #3e6c20,0 2px 3px rgba(0,0,0,0.2)}#message .jp-banner__button:active{outline:none;-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px);box-shadow:0 0px 0 #3e6c20,0 0 0 rgba(0,0,0,0.2)}#message .jp-banner__button:active:after{top:-2px}#message .jp-banner__button:before{content:'';display:inline-block;position:relative;vertical-align:middle;background:url("../images/connect-plug.svg") center center no-repeat;background-size:100%;top:-2px;margin-right:13px;width:22px;height:22px}@media (max-width: 420px){#message .jp-banner__button:before{display:none}}#message .is-full-width .jp-banner__button{position:static;margin:0}#message .is-opt-in .jp-banner__button:before{content:"\f147";width:20px;height:20px;background:none;font:normal 20px/1 Dashicons}#message .jp-banner__dismiss{position:absolute;top:0;right:0;width:44px;height:44px;text-align:center;z-index:99}#message .jp-banner__dismiss:before{color:#a7c979;content:'\f158';font:normal 20px/44px 'dashicons'}#message .jp-banner__dismiss:hover{opacity:0.8}#message .jp-banner__dismiss:active{opacity:1;outline:none}
 
 
 
2
 
3
  /*# sourceMappingURL=jetpack-banners.min.css.map */
1
+ #message.jp-banner{position:relative;margin-bottom:26px;padding:17px 44px 17px 0;border:none;background:#81a844;color:#fff;overflow:hidden;-moz-box-sizing:border-box;box-sizing:border-box}#message.jp-banner:after{content:'';position:absolute;bottom:0;right:-100px;width:100%;height:50px;background:url("../images/the-footcloud.svg") right bottom no-repeat;pointer-events:none;z-index:1}@media (max-width: 830px){#message.jp-banner:after{display:none}}#message.jp-banner a{color:#fff}#message.jp-banner h4{display:block;margin:0;padding:0;color:#fff;font-size:20px;line-height:1.3;font-weight:normal}#message.jp-banner h4+p{margin-top:10px}.jp-banner a{padding:0}#message .jp-banner__content{color:#dfffcc;padding:0 0 0 20px;-moz-box-sizing:border-box;box-sizing:border-box;width:50%}@media (max-width: 768px){#message .jp-banner__content{width:100%}#message .jp-banner__content.is-connection{width:100%}}#message .jp-banner__content a{text-decoration:underline}#message .jp-banner__content p{margin:0;padding:0;line-height:1.5}#message .jp-banner__action-container{position:absolute;top:0;right:0;padding-left:20px;width:50%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box}@media (max-width: 768px){#message .jp-banner__action-container{position:static;margin:14px 0 9px;width:100%}}#message .jp-banner__action-container.is-full-width{position:static;margin:14px 0 9px;width:100%;height:auto}@media (max-width: 768px){#message .jp-banner__action-container.is-connection{width:100%}}
2
+ #message.is-opt-in .jp-banner__content{width:60%}#message.is-opt-in .jp-banner__action-container{width:40%}@media (max-width: 768px){#message.is-opt-in .jp-banner__content,#message.is-opt-in .jp-banner__action-container{width:100%}}
3
+ #message .jp-banner__button{display:inline-block;position:absolute;top:50%;right:125px;margin-top:-23px;padding:0.57143em 0.85714em 0.38095em 0.57143em;border-radius:6px;-moz-box-sizing:border-box;box-sizing:border-box;background:#518d2a;box-shadow:0 4px 0 #3e6c20,0 2px 3px rgba(0,0,0,0.2);font:400 1.5em/1 'Open Sans', Helvetica, sans-serif;transition:all .1s ease-in-out}@media (max-width: 1175px){#message .jp-banner__button{font-size:1.25em;right:110px}}@media (max-width: 830px){#message .jp-banner__button{right:45px}}@media (max-width: 768px){#message .jp-banner__button{position:static;margin:0}}@media (max-width: 420px){#message .jp-banner__button{display:block;width:100%;text-align:center;font-size:1.1em;right:0}}#message .jp-banner__button:hover,#message .jp-banner__button:focus{box-shadow:0 4px 0 #3e6c20,0 2px 3px rgba(0,0,0,0.2)}#message .jp-banner__button:active{outline:none;-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px);box-shadow:0 0px 0 #3e6c20,0 0 0 rgba(0,0,0,0.2)}#message .jp-banner__button:active:after{top:-2px}#message .jp-banner__button:before{content:'';display:inline-block;position:relative;vertical-align:middle;background:url("../images/connect-plug.svg") center center no-repeat;background-size:100%;top:-2px;margin-right:13px;width:22px;height:22px}@media (max-width: 420px){#message .jp-banner__button:before{display:none}}
4
+ #message .is-full-width .jp-banner__button{position:static;margin:0}#message .is-opt-in .jp-banner__button:before{content:"\f147";width:20px;height:20px;background:none;font:normal 20px/1 Dashicons}#message .jp-banner__dismiss{position:absolute;top:0;right:0;width:44px;height:44px;text-align:center;z-index:99}#message .jp-banner__dismiss:before{color:#a7c979;content:'\f158';font:normal 20px/44px 'dashicons'}#message .jp-banner__dismiss:hover{opacity:0.8}#message .jp-banner__dismiss:active{opacity:1;outline:none}#message.jp-banner.protect-error{background:#fff;border-left:4px #d94f4f solid}#message.jp-banner.protect-error .jp-banner__content{color:#444}#message.jp-banner.protect-error .jp-banner__content h4,#message.jp-banner.protect-error .jp-banner__content a{color:#d94f4f}#message.jp-banner.protect-error .jp-banner__content a:hover{color:#d43a3a}#message.jp-banner.protect-error .jp-banner__button{background:#d94f4f;box-shadow:none;color:#fff}#message.jp-banner.protect-error .jp-banner__button:hover,#message.jp-banner.protect-error .jp-banner__button:focus,#message.jp-banner.protect-error .jp-banner__button:active{box-shadow:none}#message.jp-banner.protect-error .jp-banner__button:hover{background:#d43a3a}#message.jp-banner.protect-error .jp-banner__dismiss:before{color:#a0a5aa}
5
 
6
  /*# sourceMappingURL=jetpack-banners.min.css.map */
css/jetpack-banners.min.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../scss/organisms/_banners.scss"],"names":[],"mappings":"AAAA,mBACC,kBACA,CAAA,kBACA,CAAA,wBACA,CAAA,WACA,CAAA,kBACA,CAAA,UACA,CAAA,eACA,CAAA,0BAAA,CAEA,qBAAA,CAAA,wBACC,WACA,CAAA,iBACA,CAAA,QACA,CAAA,YACA,CAAA,UACA,CAAA,WACA,CAAA,oEACA,CAAA,mBACA,CAAA,SAEA,CAAA,yBAXD,yBAYE,aAAa,CAAA,AAGf,CAAA,oBACC,WAED,CAAA,qBACC,cACA,CAAA,QACA,CAAA,SACA,CAAA,UACA,CAAA,cACA,CAAA,eACA,CAAA,kBAEA,CAAA,uBACC,gBAKH,CAAA,YACC,UAGD,CAAA,4BACC,cACA,CAAA,kBACA,CAAA,0BAAA,CACA,qBAAA,CAAA,SAEA,CAAA,0CACC,UAGD,CAAA,yBAVD,6BAWE,WAEA,CAAA,0CACC,WAAW,CAAA,AAIb,CAAA,8BAEC,uEACA,CAAA,0BACA,CAAA,uBACA,CAAA,2BAEA,CAAA,4GAPD,+BAQE,uEACA,CAAA,0BAA2B,CAAA,AAG7B,CAAA,8BACC,SACA,CAAA,SACA,CAAA,eAIF,CAAA,qCACC,kBACA,CAAA,KACA,CAAA,OACA,CAAA,iBACA,CAAA,SACA,CAAA,WACA,CAAA,0BAAA,CAEA,qBAAA,CAAA,yBATD,sCAUE,gBACA,CAAA,iBACA,CAAA,UAAW,CAAA,AAEZ,CAAA,mDACC,gBACA,CAAA,iBACA,CAAA,UACA,CAAA,WAED,CAAA,mDACC,UAEA,CAAA,yBAHD,oDAIE,WAAW,CAAA,AAKd,CAAA,2BACC,qBACA,CAAA,iBACC,CAAA,OACA,CAAA,WACD,CAAA,gBACA,CAAA,+CACA,CAAA,iBACA,CAAA,0BAAA,CACA,qBAAA,CAAA,kBACA,CAAA,oDAGA,CAAA,mDACA,CAAA,8BAEA,CAAA,0BAhBD,4BAiBE,iBACA,CAAA,WAAY,CAAA,AAGb,CAAA,yBArBD,4BAsBE,WAAW,CAAA,AAGZ,CAAA,yBAzBD,4BA0BE,gBACA,CAAA,QAAS,CAAA,AAEV,CAAA,yBA7BD,4BA8BE,cACA,CAAA,UACA,CAAA,iBACA,CAAA,eACA,CAAA,OAAQ,CAAA,AAET,CAAA,mEAEC,qDAID,CAAA,kCACC,aACA,CAAA,iCAAA,CACA,6BADA,CACA,yBAAA,CAAA,gDAIA,CAAA,wCAEC,SAGF,CAAA,kCACC,WACA,CAAA,oBACA,CAAA,iBACA,CAAA,qBACA,CAAA,oEACA,CAAA,oBACA,CAAA,QACA,CAAA,iBACA,CAAA,UACA,CAAA,WAEA,CAAA,yBAZD,mCAaE,aAAa,CAAA,AAKhB,CAAA,0CACC,gBACA,CAAA,QAID,CAAA,6CACC,gBACA,CAAA,UACA,CAAA,WACA,CAAA,eACA,CAAA,4BAGD,CAAA,4BACC,kBACC,CAAA,KACA,CAAA,OACD,CAAA,UACA,CAAA,WACA,CAAA,iBACA,CAAA,UAEA,CAAA,mCACC,cACA,CAAA,eACA,CAAA,iCAED,CAAA,kCACC,YAED,CAAA,mCACC,UACA,CAAA,YAAa,CAAA","file":"jetpack-banners.min.css"}
1
+ {"version":3,"sources":["../scss/organisms/_banners.scss"],"names":[],"mappings":"AAAA,mBACC,kBACA,CAAA,kBACA,CAAA,wBACA,CAAA,WACA,CAAA,kBACA,CAAA,UACA,CAAA,eACA,CAAA,0BAAA,CAEA,qBAAA,CAAA,wBACC,WACA,CAAA,iBACA,CAAA,QACA,CAAA,YACA,CAAA,UACA,CAAA,WACA,CAAA,oEACA,CAAA,mBACA,CAAA,SAEA,CAAA,yBAXD,yBAYE,aAAa,CAAA,AAGf,CAAA,oBACC,WAED,CAAA,qBACC,cACA,CAAA,QACA,CAAA,SACA,CAAA,UACA,CAAA,cACA,CAAA,eACA,CAAA,kBAEA,CAAA,uBACC,gBAKH,CAAA,YACC,UAGD,CAAA,4BACC,cACA,CAAA,kBACA,CAAA,0BAAA,CACA,qBAAA,CAAA,SAEA,CAAA,yBAND,6BAOE,WAEA,CAAA,0CACC,WAAW,CAAA,AAIb,CAAA,8BACC,0BAcD,CAAA,8BACC,SACA,CAAA,SACA,CAAA,eAIF,CAAA,qCACC,kBACA,CAAA,KACA,CAAA,OACA,CAAA,iBACA,CAAA,SACA,CAAA,WACA,CAAA,0BAAA,CAEA,qBAAA,CAAA,yBATD,sCAUE,gBACA,CAAA,iBACA,CAAA,UAAW,CAAA,AAEZ,CAAA,mDACC,gBACA,CAAA,iBACA,CAAA,UACA,CAAA,WAIA,CAAA,yBAFD,oDAGE,WAAW,CAAA,CAAA;AAQZ,uCACC,UAED,CAAA,+CACC,UAGD,CAAA,yBACC,uFACC,WAAW,CAAA,CAAA;AAMf,4BACC,qBACA,CAAA,iBACC,CAAA,OACA,CAAA,WACD,CAAA,gBACA,CAAA,+CACA,CAAA,iBACA,CAAA,0BAAA,CACA,qBAAA,CAAA,kBACA,CAAA,oDAGA,CAAA,mDACA,CAAA,8BAEA,CAAA,0BAhBD,4BAiBE,iBACA,CAAA,WAAY,CAAA,AAGb,CAAA,yBArBD,4BAsBE,WAAW,CAAA,AAGZ,CAAA,yBAzBD,4BA0BE,gBACA,CAAA,QAAS,CAAA,AAEV,CAAA,yBA7BD,4BA8BE,cACA,CAAA,UACA,CAAA,iBACA,CAAA,eACA,CAAA,OAAQ,CAAA,AAET,CAAA,mEAEC,qDAID,CAAA,kCACC,aACA,CAAA,iCAAA,CACA,6BADA,CACA,yBAAA,CAAA,gDAIA,CAAA,wCAEC,SAGF,CAAA,kCACC,WACA,CAAA,oBACA,CAAA,iBACA,CAAA,qBACA,CAAA,oEACA,CAAA,oBACA,CAAA,QACA,CAAA,iBACA,CAAA,UACA,CAAA,WAEA,CAAA,yBAZD,mCAaE,aAAa,CAAA,CAAA;AAKhB,2CACC,gBACA,CAAA,QAID,CAAA,6CACC,gBACA,CAAA,UACA,CAAA,WACA,CAAA,eACA,CAAA,4BAGD,CAAA,4BACC,kBACC,CAAA,KACA,CAAA,OACD,CAAA,UACA,CAAA,WACA,CAAA,iBACA,CAAA,UAEA,CAAA,mCACC,cACA,CAAA,eACA,CAAA,iCAED,CAAA,kCACC,YAED,CAAA,mCACC,UACA,CAAA,YAMF,CAAA,gCACC,gBACA,CAAA,6BAEA,CAAA,oDACC,WACA,CAAA,8GACC,cAED,CAAA,4DACC,cAIF,CAAA,mDACC,mBACA,CAAA,eACA,CAAA,UAEA,CAAA,8KAGC,gBAED,CAAA,yDACC,mBAIF,CAAA,2DACC,cAAc,CAAA","file":"jetpack-banners.min.css"}
css/jetpack-icons.css CHANGED
@@ -35,5 +35,3 @@ li.toplevel_page_jetpack .wp-menu-image:before {
35
  height: auto;
36
  }
37
  }
38
-
39
- /*# sourceMappingURL=jetpack-icons.css.map */
35
  height: auto;
36
  }
37
  }
 
 
css/jetpack-icons.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../scss/atoms/icons/_jetpack.scss","jetpack-icons.css","../scss/jetpack-icons.scss"],"names":[],"mappings":"AAIA;;;GAGC;ACHD;EDQC,wBAAkB;ECNjB,+CAA8C;EDShD,yQAAqD;EACpD,qBAGC;ECVA,oBDQa;ECPd;AACD;EACE;ICNF,wBAAA;IACC,qEAAiC;IACjC;EDQA;AACD;ECPA,mCAAA;EACC,kBAAa;EDSb;;AAED;ECRA,mCAAA;EACC,kBAAY;EDUZ;;AAED;ECTA,6BAAyB;EACxB,8BAAA;EDWA;;AAED;EACE;IACE,cAAa;IACd;EACF","file":"jetpack-icons.css"}
1
+ {"version":3,"sources":["../scss/atoms/icons/_jetpack.scss","jetpack-icons.css","../scss/jetpack-icons.scss"],"names":[],"mappings":"AAIA;;;GCDE;AACF;EDQC,wBAAA;ECNC,+CAAA;EDSF,yQAAA;EACC,qBAAA;ECPC,oBAAA;EACD;AACD;EACE;ICNF,wBAAA;IACC,qEAAA;IDQE;EACF;AACD;ECPA,mCAAA;EACC,kBAAA;EDSA;;AAED;ECRA,mCAAA;EACC,kBAAA;EDUA;;AAED;ECTA,6BAAA;EACC,8BAAA;EDWA;;AAED;EACE;IACE,cAAA;IACD;EACF","file":"jetpack-icons.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-left:auto!important;padding-right:26px!important;color:#999}div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0 -156px;padding-right:19px!important}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}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}.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}.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}.jp-carousel-light a.jp-carousel-image-download:hover{background-position:0 -122px;color:#f1831e}.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 .fb-share-button>span{vertical-align:top!important}.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,.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}#jetpack-source_f_name{display:none!important;position:absolute!important;right:-9000px}#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}
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}.jp-carousel-msg{font-family:"Open Sans",sans-serif;font-style:normal;display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:center;margin:25px 2px 0 20px;background-color:#fff;border-right:4px solid #ffba00;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}@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-left:auto!important;padding-right:26px!important;color:#999}div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0 -156px;padding-right:19px!important}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}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}.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}.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}.jp-carousel-light a.jp-carousel-image-download:hover{background-position:0 -122px;color:#f1831e}.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}#jp-relatedposts{display:none;padding-top:1em;margin:1em 0;position:relative;clear:both}.jp-relatedposts:after{content:'';display:block;clear:both}#jp-relatedposts h3.jp-relatedposts-headline{margin:0 0 1em;display:inline-block;float:right;font-size:9pt;font-weight:700;font-family:inherit}#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}#jp-relatedposts h3.jp-relatedposts-headline em{font-style:normal;font-weight:700}#jp-relatedposts .jp-relatedposts-items{clear:right}#jp-relatedposts .jp-relatedposts-items-visual{margin-left:-20px}#jp-relatedposts .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}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post{padding-left:20px;filter:alpha(opacity=80);-moz-opacity:.8;opacity:.8}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:nth-child(3n+4),#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post:nth-child(3n+4){clear:both}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:hover .jp-relatedposts-post-title a{text-decoration:underline}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:hover{filter:alpha(opacity=100);-moz-opacity:1;opacity:1}#jp-relatedposts .jp-relatedposts-items p,#jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title{font-size:14px;line-height:20px;margin:0}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs{position:relative}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs a.jp-relatedposts-post-aoverlay{position:absolute;top:0;bottom:0;right:0;left:0;display:block}#jp-relatedposts .jp-relatedposts-items p{margin-bottom:0}#jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title{text-transform:none;margin:0;font-family:inherit;display:block;max-width:100%}#jp-relatedposts .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}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a:hover{text-decoration:underline}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post img.jp-relatedposts-post-img,#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post span{display:block;max-width:90%;overflow:hidden;text-overflow:ellipsis}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img,#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post span{max-width:100%}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-context,#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date{opacity:.6}#jp-relatedposts .jp-relatedposts-items-visual div.jp-relatedposts-post-thumbs p.jp-relatedposts-post-excerpt,.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date{display:none}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs p.jp-relatedposts-post-excerpt{overflow:hidden}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs span{margin-bottom:1em}@media only screen and (max-width:640px){#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post{width:50%}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:nth-child(3n){clear:right}#jp-relatedposts .jp-relatedposts-items-visual{margin-left:20px}}@media only screen and (max-width:320px){#jp-relatedposts .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 .fb-share-button>span{vertical-align:top!important}.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,.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}#jetpack-source_f_name{display:none!important;position:absolute!important;right:-9000px}#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:10px;height:0;margin-bottom:20px;overflow:hidden;padding-top:30px!important;padding-bottom:56.25%!important;position:relative;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{background-color:transparent!important;background-image:none!important;border-width:0!important;display:block;margin:0 auto;max-width:100%;max-height:100%;padding:0!important;position:relative;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);top:50%}.slideshow-loading img{vertical-align:middle}.slideshow-slide{display:none;height:100%!important;right:0;margin:auto;position:absolute;text-align:center;top:0;width:100%!important}.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;transition:300ms opacity ease-out}.slideshow-window:hover .slideshow-controls{-ms-filter:"alpha(Opacity=100)";opacity:1}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}.jetpack-video-wrapper{margin-bottom:1.6em}.jetpack-video-wrapper>.wp-video,.jetpack-video-wrapper>embed,.jetpack-video-wrapper>iframe,.jetpack-video-wrapper>object{margin-bottom:0}.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}.widget_wpcom_social_media_icons_widget ul{list-style-type:none;margin-right:0}.widget_wpcom_social_media_icons_widget li{border:0;display:inline;margin-left:.5em}.widget_wpcom_social_media_icons_widget li a{border:0;text-decoration:none}.widget_wpcom_social_media_icons_widget .genericon{font-family:Genericons}.widget_wpcom_social_media_icons_widget .screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}.widget_wpcom_social_media_icons_widget .screen-reader-text:active,.widget_wpcom_social_media_icons_widget .screen-reader-text:focus,.widget_wpcom_social_media_icons_widget .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-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.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-right:auto!important;padding-left:26px!important;color:#999}div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0 -156px;padding-left:19px!important}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}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}.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}.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}.jp-carousel-light a.jp-carousel-image-download:hover{background-position:0 -122px;color:#f1831e}.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 .fb-share-button>span{vertical-align:top!important}.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,.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}#jetpack-source_f_name{display:none!important;position:absolute!important;left:-9000px}#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}
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}.jp-carousel-msg{font-family:"Open Sans",sans-serif;font-style:normal;display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:center;margin:25px 20px 0 2px;background-color:#fff;border-left:4px solid #ffba00;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}@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-right:auto!important;padding-left:26px!important;color:#999}div.jp-carousel-buttons a.jp-carousel-commentlink{background-position:0 -156px;padding-left:19px!important}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}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}.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}.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}.jp-carousel-light a.jp-carousel-image-download:hover{background-position:0 -122px;color:#f1831e}.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}#jp-relatedposts{display:none;padding-top:1em;margin:1em 0;position:relative;clear:both}.jp-relatedposts:after{content:'';display:block;clear:both}#jp-relatedposts h3.jp-relatedposts-headline{margin:0 0 1em;display:inline-block;float:left;font-size:9pt;font-weight:700;font-family:inherit}#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}#jp-relatedposts h3.jp-relatedposts-headline em{font-style:normal;font-weight:700}#jp-relatedposts .jp-relatedposts-items{clear:left}#jp-relatedposts .jp-relatedposts-items-visual{margin-right:-20px}#jp-relatedposts .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}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post{padding-right:20px;filter:alpha(opacity=80);-moz-opacity:.8;opacity:.8}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:nth-child(3n+4),#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post:nth-child(3n+4){clear:both}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:hover .jp-relatedposts-post-title a{text-decoration:underline}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:hover{filter:alpha(opacity=100);-moz-opacity:1;opacity:1}#jp-relatedposts .jp-relatedposts-items p,#jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title{font-size:14px;line-height:20px;margin:0}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs{position:relative}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs a.jp-relatedposts-post-aoverlay{position:absolute;top:0;bottom:0;left:0;right:0;display:block}#jp-relatedposts .jp-relatedposts-items p{margin-bottom:0}#jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title{text-transform:none;margin:0;font-family:inherit;display:block;max-width:100%}#jp-relatedposts .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}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a:hover{text-decoration:underline}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post img.jp-relatedposts-post-img,#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post span{display:block;max-width:90%;overflow:hidden;text-overflow:ellipsis}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img,#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post span{max-width:100%}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-context,#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date{opacity:.6}#jp-relatedposts .jp-relatedposts-items-visual div.jp-relatedposts-post-thumbs p.jp-relatedposts-post-excerpt,.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date{display:none}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs p.jp-relatedposts-post-excerpt{overflow:hidden}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs span{margin-bottom:1em}@media only screen and (max-width:640px){#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post{width:50%}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:nth-child(3n){clear:left}#jp-relatedposts .jp-relatedposts-items-visual{margin-right:20px}}@media only screen and (max-width:320px){#jp-relatedposts .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 .fb-share-button>span{vertical-align:top!important}.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,.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}#jetpack-source_f_name{display:none!important;position:absolute!important;left:-9000px}#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:10px;height:0;margin-bottom:20px;overflow:hidden;padding-top:30px!important;padding-bottom:56.25%!important;position:relative;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{background-color:transparent!important;background-image:none!important;border-width:0!important;display:block;margin:0 auto;max-width:100%;max-height:100%;padding:0!important;position:relative;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);top:50%}.slideshow-loading img{vertical-align:middle}.slideshow-slide{display:none;height:100%!important;left:0;margin:auto;position:absolute;text-align:center;top:0;width:100%!important}.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;transition:300ms opacity ease-out}.slideshow-window:hover .slideshow-controls{-ms-filter:"alpha(Opacity=100)";opacity:1}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}.jetpack-video-wrapper{margin-bottom:1.6em}.jetpack-video-wrapper>.wp-video,.jetpack-video-wrapper>embed,.jetpack-video-wrapper>iframe,.jetpack-video-wrapper>object{margin-bottom:0}.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}.widget_wpcom_social_media_icons_widget ul{list-style-type:none;margin-left:0}.widget_wpcom_social_media_icons_widget li{border:0;display:inline;margin-right:.5em}.widget_wpcom_social_media_icons_widget li a{border:0;text-decoration:none}.widget_wpcom_social_media_icons_widget .genericon{font-family:Genericons}.widget_wpcom_social_media_icons_widget .screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}.widget_wpcom_social_media_icons_widget .screen-reader-text:active,.widget_wpcom_social_media_icons_widget .screen-reader-text:focus,.widget_wpcom_social_media_icons_widget .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-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.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}
functions.gallery.php CHANGED
@@ -30,19 +30,7 @@ class Jetpack_Gallery_Settings {
30
  wp_register_script( 'jetpack-gallery-settings', plugins_url( 'gallery-settings/gallery-settings.js', __FILE__ ), array( 'media-views' ), '20121225' );
31
  }
32
 
33
- /*
34
- * Register Gallery's admin.js here so we can upload images in the customizer
35
- */
36
- if ( ! wp_script_is( 'gallery-widget-admin', 'registered' ) ) {
37
- wp_register_script( 'gallery-widget-admin', plugins_url( 'modules/widgets/gallery/js/admin.js', __FILE__ ), array(
38
- 'media-models',
39
- 'media-views'
40
- ) );
41
- }
42
-
43
  wp_enqueue_script( 'jetpack-gallery-settings' );
44
-
45
- wp_enqueue_script( 'gallery-widget-admin' );
46
  }
47
 
48
  /**
30
  wp_register_script( 'jetpack-gallery-settings', plugins_url( 'gallery-settings/gallery-settings.js', __FILE__ ), array( 'media-views' ), '20121225' );
31
  }
32
 
 
 
 
 
 
 
 
 
 
 
33
  wp_enqueue_script( 'jetpack-gallery-settings' );
 
 
34
  }
35
 
36
  /**
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 ) );
@@ -75,8 +81,6 @@ function jetpack_og_tags() {
75
  $publicize_facebook_user = get_post_meta( $data->ID, '_publicize_facebook_user', true );
76
  if ( ! empty( $publicize_facebook_user ) ) {
77
  $tags['article:author'] = esc_url( $publicize_facebook_user );
78
- } else {
79
- $tags['article:author'] = get_author_posts_url( $data->post_author );
80
  }
81
  }
82
  }
@@ -93,8 +97,18 @@ function jetpack_og_tags() {
93
 
94
  $tags['og:site_name'] = get_bloginfo( 'name' );
95
 
96
- if ( !post_password_required() )
97
- $tags['og:image'] = jetpack_og_get_image( $image_width, $image_height );
 
 
 
 
 
 
 
 
 
 
98
 
99
  // Facebook whines if you give it an empty title
100
  if ( empty( $tags['og:title'] ) )
@@ -162,17 +176,21 @@ function jetpack_og_tags() {
162
  function jetpack_og_get_image( $width = 200, $height = 200, $max_images = 4 ) { // Facebook requires thumbnails to be a minimum of 200x200
163
  $image = '';
164
 
165
- if ( is_singular() && !is_home() ) {
166
  global $post;
167
  $image = '';
168
 
169
  // Attempt to find something good for this post using our generalized PostImages code
170
  if ( class_exists( 'Jetpack_PostImages' ) ) {
171
  $post_images = Jetpack_PostImages::get_images( $post->ID, array( 'width' => $width, 'height' => $height ) );
172
- if ( $post_images && !is_wp_error( $post_images ) ) {
173
  $image = array();
174
  foreach ( (array) $post_images as $post_image ) {
175
- $image[] = $post_image['src'];
 
 
 
 
176
  }
177
  }
178
  }
@@ -180,50 +198,61 @@ function jetpack_og_get_image( $width = 200, $height = 200, $max_images = 4 ) {
180
  $author = get_queried_object();
181
  if ( function_exists( 'get_avatar_url' ) ) {
182
  // Prefer the core function get_avatar_url() if available, WP 4.2+
183
- $image = get_avatar_url( $author->user_email, array( 'size' => $width ) );
184
  }
185
  else {
186
  $has_filter = has_filter( 'pre_option_show_avatars', '__return_true' );
187
- if ( !$has_filter ) {
188
  add_filter( 'pre_option_show_avatars', '__return_true' );
189
  }
190
  $avatar = get_avatar( $author->user_email, $width );
191
- if ( !$has_filter ) {
192
  remove_filter( 'pre_option_show_avatars', '__return_true' );
193
  }
194
 
195
- if ( !empty( $avatar ) && !is_wp_error( $avatar ) ) {
196
  if ( preg_match( '/src=["\']([^"\']+)["\']/', $avatar, $matches ) );
197
- $image = wp_specialchars_decode( $matches[1], ENT_QUOTES );
198
  }
199
  }
200
  }
201
 
202
- if ( empty( $image ) )
203
  $image = array();
204
- else if ( !is_array( $image ) )
205
- $image = array( $image );
 
 
 
206
 
207
  // First fall back, blavatar
208
  if ( empty( $image ) && function_exists( 'blavatar_domain' ) ) {
209
  $blavatar_domain = blavatar_domain( site_url() );
210
- if ( blavatar_exists( $blavatar_domain ) )
211
- $image[] = blavatar_url( $blavatar_domain, 'img', $width );
 
 
 
212
  }
213
 
214
  // Second fall back, Site Logo
215
  if ( empty( $image ) && ( function_exists( 'jetpack_has_site_logo' ) && jetpack_has_site_logo() ) ) {
216
- $image[] = jetpack_get_site_logo( 'url' );
217
  }
218
 
219
  // Third fall back, Site Icon
220
  if ( empty( $image ) && ( function_exists( 'jetpack_has_site_icon' ) && jetpack_has_site_icon() ) ) {
221
- $image[] = jetpack_site_icon_url( null, '512' );
 
 
 
 
 
222
  }
223
 
224
- // Fourth fall back, blank image
225
  if ( empty( $image ) ) {
226
- $image[] = apply_filters( 'jetpack_open_graph_image_default', 'https://s0.wp.com/i/blank.jpg' );
227
  }
228
 
229
  return $image;
@@ -237,7 +266,7 @@ function jetpack_og_get_image( $width = 200, $height = 200, $max_images = 4 ) {
237
  function jetpack_og_get_image_gravatar( $email, $width ) {
238
  $image = '';
239
  if ( function_exists( 'get_avatar_url' ) ) {
240
- $avatar = get_avatar_url($email, $width);
241
  if ( ! empty( $avatar ) ) {
242
  if ( is_array( $avatar ) )
243
  $image = $avatar[0];
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 ) );
81
  $publicize_facebook_user = get_post_meta( $data->ID, '_publicize_facebook_user', true );
82
  if ( ! empty( $publicize_facebook_user ) ) {
83
  $tags['article:author'] = esc_url( $publicize_facebook_user );
 
 
84
  }
85
  }
86
  }
97
 
98
  $tags['og:site_name'] = get_bloginfo( 'name' );
99
 
100
+ // Get image info and build tags
101
+ if ( ! post_password_required() ) {
102
+ $image_info = jetpack_og_get_image( $image_width, $image_height );
103
+ $tags['og:image'] = $image_info['src'];
104
+
105
+ if ( ! empty( $image_info['width'] ) ) {
106
+ $tags['og:image:width'] = $image_info['width'];
107
+ }
108
+ if ( ! empty( $image_info['height'] ) ) {
109
+ $tags['og:image:height'] = $image_info['height'];
110
+ }
111
+ }
112
 
113
  // Facebook whines if you give it an empty title
114
  if ( empty( $tags['og:title'] ) )
176
  function jetpack_og_get_image( $width = 200, $height = 200, $max_images = 4 ) { // Facebook requires thumbnails to be a minimum of 200x200
177
  $image = '';
178
 
179
+ if ( is_singular() && ! is_home() ) {
180
  global $post;
181
  $image = '';
182
 
183
  // Attempt to find something good for this post using our generalized PostImages code
184
  if ( class_exists( 'Jetpack_PostImages' ) ) {
185
  $post_images = Jetpack_PostImages::get_images( $post->ID, array( 'width' => $width, 'height' => $height ) );
186
+ if ( $post_images && ! is_wp_error( $post_images ) ) {
187
  $image = array();
188
  foreach ( (array) $post_images as $post_image ) {
189
+ $image['src'] = $post_image['src'];
190
+ if ( isset( $post_image['src_width'], $post_image['src_height'] ) ) {
191
+ $image['width'] = $post_image['src_width'];
192
+ $image['height'] = $post_image['src_height'];
193
+ }
194
  }
195
  }
196
  }
198
  $author = get_queried_object();
199
  if ( function_exists( 'get_avatar_url' ) ) {
200
  // Prefer the core function get_avatar_url() if available, WP 4.2+
201
+ $image['src'] = get_avatar_url( $author->user_email, array( 'size' => $width ) );
202
  }
203
  else {
204
  $has_filter = has_filter( 'pre_option_show_avatars', '__return_true' );
205
+ if ( ! $has_filter ) {
206
  add_filter( 'pre_option_show_avatars', '__return_true' );
207
  }
208
  $avatar = get_avatar( $author->user_email, $width );
209
+ if ( ! $has_filter ) {
210
  remove_filter( 'pre_option_show_avatars', '__return_true' );
211
  }
212
 
213
+ if ( ! empty( $avatar ) && ! is_wp_error( $avatar ) ) {
214
  if ( preg_match( '/src=["\']([^"\']+)["\']/', $avatar, $matches ) );
215
+ $image['src'] = wp_specialchars_decode( $matches[1], ENT_QUOTES );
216
  }
217
  }
218
  }
219
 
220
+ if ( empty( $image ) ) {
221
  $image = array();
222
+ } else if ( ! is_array( $image ) ) {
223
+ $image = array(
224
+ 'src' => $image
225
+ );
226
+ }
227
 
228
  // First fall back, blavatar
229
  if ( empty( $image ) && function_exists( 'blavatar_domain' ) ) {
230
  $blavatar_domain = blavatar_domain( site_url() );
231
+ if ( blavatar_exists( $blavatar_domain ) ) {
232
+ $image['src'] = blavatar_url( $blavatar_domain, 'img', $width, false, true );
233
+ $image['width'] = $width;
234
+ $image['height'] = $height;
235
+ }
236
  }
237
 
238
  // Second fall back, Site Logo
239
  if ( empty( $image ) && ( function_exists( 'jetpack_has_site_logo' ) && jetpack_has_site_logo() ) ) {
240
+ $image['src'] = jetpack_get_site_logo( 'url' );
241
  }
242
 
243
  // Third fall back, Site Icon
244
  if ( empty( $image ) && ( function_exists( 'jetpack_has_site_icon' ) && jetpack_has_site_icon() ) ) {
245
+ $image['src'] = jetpack_site_icon_url( null, '512' );
246
+ }
247
+
248
+ // Fourth fall back, Core Site Icon. Added in WP 4.3.
249
+ if ( empty( $image ) && ( function_exists( 'has_site_icon') && has_site_icon() ) ) {
250
+ $image['src'] = get_site_icon_url( null, '512' );
251
  }
252
 
253
+ // Finally fall back, blank image
254
  if ( empty( $image ) ) {
255
+ $image['src'] = apply_filters( 'jetpack_open_graph_image_default', 'https://s0.wp.com/i/blank.jpg' );
256
  }
257
 
258
  return $image;
266
  function jetpack_og_get_image_gravatar( $email, $width ) {
267
  $image = '';
268
  if ( function_exists( 'get_avatar_url' ) ) {
269
+ $avatar = get_avatar_url( $email, $width );
270
  if ( ! empty( $avatar ) ) {
271
  if ( is_array( $avatar ) )
272
  $image = $avatar[0];
images/the-footcloud.svg CHANGED
@@ -2,8 +2,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>
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="0 370.2 500 129.8" enable-background="new 0 370.2 500 129.8" xml:space="preserve">
6
+ <path fill="#F1F1F1" d="M500,500c-7.8-26.8-32.3-46.1-61.7-46.1c-7.8,0-15.3,1.4-22.2,4c-18.5-28.8-50.7-47.9-87.4-47.9
7
+ c-13,0-25.4,2.3-36.9,6.6c-22.5-28.3-57.4-46.4-96.3-46.4c-46.4,0-86.8,25.7-107.8,63.4c-3.5-0.6-7.2-0.9-10.7-0.9
8
+ c-39.2,0-71.8,29.1-77,67.2L500,500L500,500z"/>
9
  </svg>
jetpack.php CHANGED
@@ -2,19 +2,19 @@
2
 
3
  /*
4
  * Plugin Name: Jetpack by WordPress.com
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.5.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.5.4' );
18
  define( 'JETPACK_MASTER_USER', true );
19
  define( 'JETPACK__API_VERSION', 1 );
20
  define( 'JETPACK__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
2
 
3
  /*
4
  * Plugin Name: Jetpack by WordPress.com
5
+ * Plugin URI: http://wordpress.org/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.6.2
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.1.1' );
16
 
17
+ define( 'JETPACK__VERSION', '3.6.2' );
18
  define( 'JETPACK_MASTER_USER', true );
19
  define( 'JETPACK__API_VERSION', 1 );
20
  define( 'JETPACK__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
json-api-config.php CHANGED
@@ -2,6 +2,7 @@
2
 
3
 
4
  define( 'WPCOM_JSON_API__CURRENT_VERSION', '1.1' );
 
5
 
6
  $wpcom_json_api_production_versions = array(
7
  '1',
2
 
3
 
4
  define( 'WPCOM_JSON_API__CURRENT_VERSION', '1.1' );
5
+ global $wpcom_json_api_production_versions, $wpcom_json_api_dev_versions;
6
 
7
  $wpcom_json_api_production_versions = array(
8
  '1',
json-endpoints.php CHANGED
@@ -59,6 +59,7 @@ require_once( $json_endpoints_dir . 'class.wpcom-json-api-upload-media-v1-1-endp
59
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-get-post-v1-1-endpoint.php' );
60
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-list-posts-v1-1-endpoint.php' );
61
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-update-post-v1-1-endpoint.php' );
 
62
 
63
  // Custom Menus
64
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-menus-v1-1-endpoint.php' );
@@ -95,9 +96,35 @@ new WPCOM_JSON_API_GET_Site_Endpoint( array(
95
 
96
  'response_format' => WPCOM_JSON_API_GET_Site_Endpoint::$site_format,
97
 
98
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/?pretty=1',
99
  ) );
100
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  new WPCOM_JSON_API_List_Post_Formats_Endpoint( array(
102
  'description' => 'Get a list of post formats supported by a site.',
103
  'group' => '__do_not_document',
@@ -173,30 +200,12 @@ new WPCOM_JSON_API_List_Shortcodes_Endpoint( array(
173
  'response_format' => array(
174
  'shortcodes' => '(array) A list of supported shortcodes by their handle.',
175
  ),
176
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.com/shortcodes',
177
  'example_request_data' => array(
178
  'headers' => array(
179
  'authorization' => 'Bearer YOUR_API_TOKEN'
180
  ),
181
- ),
182
- 'example_response' => '
183
- {
184
- "shortcodes": [
185
- "wp_caption",
186
- "caption",
187
- "gallery",
188
- "playlist",
189
- "audio",
190
- "video",
191
- "flickr",
192
- "github-buttons",
193
- "gist",
194
- "gravatar",
195
- "gravatar_profile",
196
- "polldaddy",
197
- "simplenote",
198
- ],
199
- } ',
200
  ) );
201
 
202
  new WPCOM_JSON_API_Render_Shortcode_Endpoint( array(
@@ -217,38 +226,12 @@ new WPCOM_JSON_API_Render_Shortcode_Endpoint( array(
217
  '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.',
218
  '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.',
219
  ),
220
- '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',
221
  'example_request_data' => array(
222
  'headers' => array(
223
  'authorization' => 'Bearer YOUR_API_TOKEN'
224
  ),
225
- ),
226
- 'example_response' => '
227
- {
228
- "shortcode": "[[gallery ids=\"729,732,731,720\"]]",
229
- "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",
230
- "scripts": {
231
- "spin": {
232
- "src": "https://en.blog.wordpress.com/wp-includes/js/spin.js?ver=1.3"
233
- },
234
- "jquery.spin": {
235
- "src": "https://en.blog.wordpress.com/wp-includes/js/jquery/jquery.spin.js?ver=1.3"
236
- },
237
- "jetpack-carousel": {
238
- "src": "https://s1.wp.com/wp-content/mu-plugins/carousel/jetpack-carousel.js?ver=1738091679",
239
- }
240
- },
241
- "styles": {
242
- "jetpack-carousel": {
243
- "src": "https://s1.wp.com/wp-content/mu-plugins/carousel/jetpack-carousel.css?ver=1201731771",
244
- "media": "all"
245
- },
246
- "jetpack-carousel-ie8fix": {
247
- "src": "https://s1.wp.com/wp-content/mu-plugins/carousel/jetpack-carousel-ie8fix.css?ver=1777576104",
248
- "media": "all"
249
- }
250
- },
251
- } '
252
  ) );
253
 
254
  /*
@@ -266,25 +249,12 @@ new WPCOM_JSON_API_List_Embeds_Endpoint( array(
266
  'response_format' => array(
267
  'embeds' => '(array) A list of supported embeds by their regex pattern.',
268
  ),
269
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.com/embeds',
270
  'example_request_data' => array(
271
  'headers' => array(
272
  'authorization' => 'Bearer YOUR_API_TOKEN'
273
  ),
274
- ),
275
- 'example_response' => '
276
- {
277
- "embeds": [
278
- "#https?://gist\\.github\\.com/([a-zA-Z0-9]+)#",
279
- "#https?://(www.)?youtube\\.com/embed/([^/]+)#i",
280
- "/^https?:\\/\\/(?:app.simplenote.com|simp.ly)\\/publish\\/(\\w+)/i",
281
- "#https?://(www\\.)?flickr\\.com/.*#i",
282
- "#https?://flic\\.kr/.*#i",
283
- "#https?://wordpress.tv/.*#i",
284
- "#https?://(.+\\.)?polldaddy\\.com/.*#i",
285
- "#https?://cloudup\\.com/([^/.]+)#",
286
- ],
287
- } '
288
  ) );
289
 
290
  new WPCOM_JSON_API_Render_Embed_Endpoint( array(
@@ -303,17 +273,12 @@ new WPCOM_JSON_API_Render_Embed_Endpoint( array(
303
  'embed_url' => '(string) The embed_url that was passed in for rendering.',
304
  'result' => '(html) The rendered HTML result of the embed.',
305
  ),
306
- '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',
307
  'example_request_data' => array(
308
  'headers' => array(
309
  'authorization' => 'Bearer YOUR_API_TOKEN'
310
  ),
311
- ),
312
- 'example_response' => '
313
- {
314
- "embed_url": "https://www.youtube.com/watch?v=SQEQr7c0-dw",
315
- "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>",
316
- } '
317
  ) );
318
 
319
  new WPCOM_JSON_API_Render_Embed_Reversal_Endpoint( array(
@@ -337,7 +302,7 @@ new WPCOM_JSON_API_Render_Embed_Reversal_Endpoint( array(
337
  'scripts' => '(array) An array of JavaScript files needed to render the embed or 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.',
338
  'styles' => '(array) An array of CSS files needed to render the embed or shortcode. Returned in the format of <code>{ "style-slug" : { "src": "http://example.com/file.css", "media" : "all" } }</code>. Omitted if no styles are neccessary.',
339
  ),
340
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/shortcode-reversals/render/',
341
  'example_request_data' => array(
342
  'headers' => array(
343
  'authorization' => 'Bearer YOUR_API_TOKEN'
@@ -347,13 +312,6 @@ new WPCOM_JSON_API_Render_Embed_Reversal_Endpoint( array(
347
  'maybe_embed' => '<iframe width="480" height="302" src="http://www.ustream.tv/embed/recorded/26370522/highlight/299667?v=3&amp;wmode=direct" scrolling="no" frameborder="0"></iframe>',
348
  )
349
  ),
350
-
351
- 'example_response' => array(
352
- 'maybe_embed' => '<iframe width="480" height="302" src="http://www.ustream.tv/embed/recorded/26370522/highlight/299667?v=3&amp;wmode=direct" scrolling="no" frameborder="0"></iframe>',
353
- 'render_result' => '<iframe src="https://www.ustream.tv/embed/recorded/26370522/highlight/299667?v=3&#038;wmode=direct" width="480" height="302" scrolling="no" frameborder="0" style="border: 0px none transparent;"></iframe>',
354
- 'reversal_type' => 'shortcode',
355
- 'result' => '[ustream id=26370522 highlight=299667 hwaccel=1 version=3 width=480 height=302]',
356
- ),
357
  ) );
358
 
359
 
@@ -415,7 +373,7 @@ new WPCOM_JSON_API_List_Posts_Endpoint( array(
415
  'meta_value' => '(string) Metadata value that the post should contain. Will only be applied if a `meta_key` is also given',
416
  ),
417
 
418
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/posts/?number=5&pretty=1'
419
  ) );
420
 
421
  new WPCOM_JSON_API_List_Posts_v1_1_Endpoint( array(
@@ -470,7 +428,7 @@ new WPCOM_JSON_API_List_Posts_v1_1_Endpoint( array(
470
  'meta_value' => '(string) Metadata value that the post should contain. Will only be applied if a `meta_key` is also given',
471
  ),
472
 
473
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/?number=2&pretty=1'
474
  ) );
475
 
476
  new WPCOM_JSON_API_Get_Post_Endpoint( array(
@@ -486,7 +444,7 @@ new WPCOM_JSON_API_Get_Post_Endpoint( array(
486
  '$post_ID' => '(int) The post ID',
487
  ),
488
 
489
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/posts/7/?pretty=1'
490
  ) );
491
 
492
  new WPCOM_JSON_API_Get_Post_v1_1_Endpoint( array(
@@ -501,7 +459,7 @@ new WPCOM_JSON_API_Get_Post_v1_1_Endpoint( array(
501
  '$site' => '(int|string) Site ID or domain',
502
  '$post_ID' => '(int) The post ID',
503
  ),
504
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/7/?pretty=1'
505
  ) );
506
 
507
  new WPCOM_JSON_API_Get_Post_Endpoint( array(
@@ -531,7 +489,7 @@ new WPCOM_JSON_API_Get_Post_Endpoint( array(
531
  '$post_slug' => '(string) The post slug (a.k.a. sanitized name)',
532
  ),
533
 
534
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/posts/slug:blogging-and-stuff?pretty=1',
535
  ) );
536
 
537
  new WPCOM_JSON_API_Get_Post_v1_1_Endpoint( array(
@@ -546,7 +504,7 @@ new WPCOM_JSON_API_Get_Post_v1_1_Endpoint( array(
546
  '$site' => '(int|string) Site ID or domain',
547
  '$post_slug' => '(string) The post slug (a.k.a. sanitized name)',
548
  ),
549
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/slug:blogging-and-stuff?pretty=1',
550
  ) );
551
 
552
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
@@ -600,7 +558,7 @@ new WPCOM_JSON_API_Update_Post_Endpoint( array(
600
  'menu_order' => "(int) (Pages Only) the order pages should appear in. Use 0 to maintain alphabetical order.",
601
  ),
602
 
603
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/posts/new/',
604
 
605
  'example_request_data' => array(
606
  'headers' => array(
@@ -613,104 +571,7 @@ new WPCOM_JSON_API_Update_Post_Endpoint( array(
613
  'tags' => 'tests',
614
  'categories' => 'API'
615
  )
616
- ),
617
-
618
- 'example_response' => '
619
- {
620
- "ID": 1270,
621
- "author": {
622
- "ID": 18342963,
623
- "email": false,
624
- "name": "binarysmash",
625
- "URL": "http:\/\/binarysmash.wordpress.com",
626
- "avatar_URL": "http:\/\/0.gravatar.com\/avatar\/a178ebb1731d432338e6bb0158720fcc?s=96&d=identicon&r=G",
627
- "profile_URL": "http:\/\/en.gravatar.com\/binarysmash"
628
- },
629
- "date": "2012-04-11T19:42:44+00:00",
630
- "modified": "2012-04-11T19:42:44+00:00",
631
- "title": "Hello World",
632
- "URL": "http:\/\/opossumapi.wordpress.com\/2012\/04\/11\/hello-world-3\/",
633
- "short_URL": "http:\/\/wp.me\/p23HjV-ku",
634
- "content": "<p>Hello. I am a test post. I was created by the API<\/p>\n",
635
- "excerpt": "<p>Hello. I am a test post. I was created by the API<\/p>\n",
636
- "status": "publish",
637
- "sticky": false,
638
- "password": "",
639
- "parent": false,
640
- "type": "post",
641
- "comments_open": true,
642
- "pings_open": true,
643
- "likes_enabled": true,
644
- "sharing_enabled": true,
645
- "comment_count": 0,
646
- "like_count": 0,
647
- "i_like": false,
648
- "is_reblogged": false,
649
- "is_following": false,
650
- "featured_image": "",
651
- "format": "standard",
652
- "geo": false,
653
- "current_user_can": {
654
- "publish_post": true,
655
- "delete_post": true,
656
- "edit_post": true,
657
- },
658
- "capabilities": {
659
- "publish_post": true,
660
- "delete_post": true,
661
- "edit_post": true,
662
- },
663
- "publicize_URLs": [
664
-
665
- ],
666
- "tags": {
667
- "tests": {
668
- "name": "tests",
669
- "slug": "tests",
670
- "description": "",
671
- "post_count": 1,
672
- "meta": {
673
- "links": {
674
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/tests",
675
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/tests\/help",
676
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
677
- }
678
- }
679
- }
680
- },
681
- "categories": {
682
- "API": {
683
- "name": "API",
684
- "slug": "api",
685
- "description": "",
686
- "post_count": 1,
687
- "parent": 0,
688
- "meta": {
689
- "links": {
690
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/categories\/api",
691
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/categories\/api\/help",
692
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
693
- }
694
- }
695
- }
696
- },
697
- "metadata": {
698
- {
699
- "id" : 123,
700
- "key" : "test_meta_key",
701
- "value" : "test_value",
702
- }
703
- },
704
- "meta": {
705
- "links": {
706
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1270",
707
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1270\/help",
708
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
709
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1270\/replies\/",
710
- "likes": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1270\/likes\/"
711
- }
712
- }
713
- }'
714
  ) );
715
 
716
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
@@ -766,7 +627,7 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
766
  'page_template' => '(string) (Pages Only) The page template this page should use.',
767
  ),
768
 
769
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/30434183/posts/new/',
770
 
771
  'example_request_data' => array(
772
  'headers' => array(
@@ -779,103 +640,7 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
779
  'tags' => 'tests',
780
  'categories' => 'API'
781
  )
782
- ),
783
-
784
- 'example_response' => '
785
- {
786
- "ID": 1270,
787
- "author": {
788
- "ID": 18342963,
789
- "email": false,
790
- "name": "binarysmash",
791
- "URL": "http:\/\/binarysmash.wordpress.com",
792
- "avatar_URL": "http:\/\/0.gravatar.com\/avatar\/a178ebb1731d432338e6bb0158720fcc?s=96&d=identicon&r=G",
793
- "profile_URL": "http:\/\/en.gravatar.com\/binarysmash"
794
- },
795
- "date": "2012-04-11T19:42:44+00:00",
796
- "modified": "2012-04-11T19:42:44+00:00",
797
- "title": "Hello World",
798
- "URL": "http:\/\/opossumapi.wordpress.com\/2012\/04\/11\/hello-world-3\/",
799
- "short_URL": "http:\/\/wp.me\/p23HjV-ku",
800
- "content": "<p>Hello. I am a test post. I was created by the API<\/p>\n",
801
- "excerpt": "<p>Hello. I am a test post. I was created by the API<\/p>\n",
802
- "status": "publish",
803
- "sticky": false,
804
- "password": "",
805
- "parent": false,
806
- "type": "post",
807
- "discussion": {
808
- "comments_open": true,
809
- "comment_status": "open",
810
- "pings_open": true,
811
- "ping_status": "open",
812
- "comment_count": 0
813
- },
814
- "likes_enabled": true,
815
- "sharing_enabled": true,
816
- "like_count": 0,
817
- "i_like": false,
818
- "is_reblogged": false,
819
- "is_following": false,
820
- "featured_image": "",
821
- "format": "standard",
822
- "geo": false,
823
- "capabilities": {
824
- "publish_post": true,
825
- "delete_post": true,
826
- "edit_post": true,
827
- },
828
- "publicize_URLs": [
829
-
830
- ],
831
- "tags": {
832
- "tests": {
833
- "name": "tests",
834
- "slug": "tests",
835
- "description": "",
836
- "post_count": 1,
837
- "meta": {
838
- "links": {
839
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/tags\/tests",
840
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/tags\/tests\/help",
841
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183"
842
- }
843
- }
844
- }
845
- },
846
- "categories": {
847
- "API": {
848
- "name": "API",
849
- "slug": "api",
850
- "description": "",
851
- "post_count": 1,
852
- "parent": 0,
853
- "meta": {
854
- "links": {
855
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/categories\/api",
856
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/categories\/api\/help",
857
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183"
858
- }
859
- }
860
- }
861
- },
862
- "metadata": {
863
- {
864
- "id" : 123,
865
- "key" : "test_meta_key",
866
- "value" : "test_value",
867
- }
868
- },
869
- "meta": {
870
- "links": {
871
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1270",
872
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1270\/help",
873
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183",
874
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1270\/replies\/",
875
- "likes": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1270\/likes\/"
876
- }
877
- }
878
- }'
879
  ) );
880
 
881
  new WPCOM_JSON_API_Update_Post_v1_2_Endpoint( array(
@@ -933,7 +698,7 @@ new WPCOM_JSON_API_Update_Post_v1_2_Endpoint( array(
933
  'page_template' => '(string) (Pages Only) The page template this page should use.',
934
  ),
935
 
936
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.2/sites/30434183/posts/new/',
937
 
938
  'example_request_data' => array(
939
  'headers' => array(
@@ -946,103 +711,7 @@ new WPCOM_JSON_API_Update_Post_v1_2_Endpoint( array(
946
  'tags' => 'tests',
947
  'categories' => 'API'
948
  )
949
- ),
950
-
951
- 'example_response' => '
952
- {
953
- "ID": 1270,
954
- "author": {
955
- "ID": 18342963,
956
- "email": false,
957
- "name": "binarysmash",
958
- "URL": "http:\/\/binarysmash.wordpress.com",
959
- "avatar_URL": "http:\/\/0.gravatar.com\/avatar\/a178ebb1731d432338e6bb0158720fcc?s=96&d=identicon&r=G",
960
- "profile_URL": "http:\/\/en.gravatar.com\/binarysmash"
961
- },
962
- "date": "2012-04-11T19:42:44+00:00",
963
- "modified": "2012-04-11T19:42:44+00:00",
964
- "title": "Hello World",
965
- "URL": "http:\/\/opossumapi.wordpress.com\/2012\/04\/11\/hello-world-3\/",
966
- "short_URL": "http:\/\/wp.me\/p23HjV-ku",
967
- "content": "<p>Hello. I am a test post. I was created by the API<\/p>\n",
968
- "excerpt": "<p>Hello. I am a test post. I was created by the API<\/p>\n",
969
- "status": "publish",
970
- "sticky": false,
971
- "password": "",
972
- "parent": false,
973
- "type": "post",
974
- "discussion": {
975
- "comments_open": true,
976
- "comment_status": "open",
977
- "pings_open": true,
978
- "ping_status": "open",
979
- "comment_count": 0
980
- },
981
- "likes_enabled": true,
982
- "sharing_enabled": true,
983
- "like_count": 0,
984
- "i_like": false,
985
- "is_reblogged": false,
986
- "is_following": false,
987
- "featured_image": "",
988
- "format": "standard",
989
- "geo": false,
990
- "capabilities": {
991
- "publish_post": true,
992
- "delete_post": true,
993
- "edit_post": true,
994
- },
995
- "publicize_URLs": [
996
-
997
- ],
998
- "tags": {
999
- "tests": {
1000
- "name": "tests",
1001
- "slug": "tests",
1002
- "description": "",
1003
- "post_count": 1,
1004
- "meta": {
1005
- "links": {
1006
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/tags\/tests",
1007
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/tags\/tests\/help",
1008
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183"
1009
- }
1010
- }
1011
- }
1012
- },
1013
- "categories": {
1014
- "API": {
1015
- "name": "API",
1016
- "slug": "api",
1017
- "description": "",
1018
- "post_count": 1,
1019
- "parent": 0,
1020
- "meta": {
1021
- "links": {
1022
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/categories\/api",
1023
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/categories\/api\/help",
1024
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183"
1025
- }
1026
- }
1027
- }
1028
- },
1029
- "metadata": {
1030
- {
1031
- "id" : 123,
1032
- "key" : "test_meta_key",
1033
- "value" : "test_value",
1034
- }
1035
- },
1036
- "meta": {
1037
- "links": {
1038
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/posts\/1270",
1039
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/posts\/1270\/help",
1040
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183",
1041
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/posts\/1270\/replies\/",
1042
- "likes": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/posts\/1270\/likes\/"
1043
- }
1044
- }
1045
- }'
1046
  ) );
1047
 
1048
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
@@ -1094,7 +763,7 @@ new WPCOM_JSON_API_Update_Post_Endpoint( array(
1094
  '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.",
1095
  ),
1096
 
1097
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/posts/1222/',
1098
 
1099
  'example_request_data' => array(
1100
  'headers' => array(
@@ -1107,106 +776,7 @@ new WPCOM_JSON_API_Update_Post_Endpoint( array(
1107
  'tags' => 'tests',
1108
  'categories' => 'API'
1109
  )
1110
- ),
1111
-
1112
- 'example_response' => '
1113
- {
1114
- "ID": 1222,
1115
- "author": {
1116
- "ID": 422,
1117
- "email": false,
1118
- "name": "Justin Shreve",
1119
- "URL": "http:\/\/justin.wordpress.com",
1120
- "avatar_URL": "http:\/\/1.gravatar.com\/avatar\/9ea5b460afb2859968095ad3afe4804b?s=96&d=identicon&r=G",
1121
- "profile_URL": "http:\/\/en.gravatar.com\/justin"
1122
- },
1123
- "date": "2012-04-11T15:53:52+00:00",
1124
- "modified": "2012-04-11T19:44:35+00:00",
1125
- "title": "Hello World (Again)",
1126
- "URL": "http:\/\/opossumapi.wordpress.com\/2012\/04\/11\/hello-world-2\/",
1127
- "short_URL": "http:\/\/wp.me\/p23HjV-jI",
1128
- "content": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1129
- "excerpt": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1130
- "status": "publish",
1131
- "sticky": false,
1132
- "password": "",
1133
- "parent": false,
1134
- "type": "post",
1135
- "comments_open": true,
1136
- "pings_open": true,
1137
- "likes_enabled": true,
1138
- "sharing_enabled": true,
1139
- "comment_count": 5,
1140
- "like_count": 0,
1141
- "i_like": false,
1142
- "is_reblogged": false,
1143
- "is_following": false,
1144
- "featured_image": "",
1145
- "post_thumbnail": null,
1146
- "format": "standard",
1147
- "geo": false,
1148
- "current_user_can": {
1149
- "publish_post": true,
1150
- "delete_post": true,
1151
- "edit_post": true,
1152
- },
1153
- "capabilities": {
1154
- "publish_post": true,
1155
- "delete_post": true,
1156
- "edit_post": true,
1157
- },
1158
- "publicize_URLs": [
1159
-
1160
- ],
1161
- "tags": {
1162
- "tests": {
1163
- "name": "tests",
1164
- "slug": "tests",
1165
- "description": "",
1166
- "post_count": 2,
1167
- "meta": {
1168
- "links": {
1169
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/tests",
1170
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/tests\/help",
1171
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
1172
- }
1173
- }
1174
- }
1175
- },
1176
- "categories": {
1177
- "API": {
1178
- "name": "API",
1179
- "slug": "api",
1180
- "description": "",
1181
- "post_count": 2,
1182
- "parent": 0,
1183
- "meta": {
1184
- "links": {
1185
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/categories\/api",
1186
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/categories\/api\/help",
1187
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
1188
- }
1189
- }
1190
- }
1191
- },
1192
- "metadata": {
1193
- {
1194
- "id" : 123,
1195
- "key" : "test_meta_key",
1196
- "value" : "test_value",
1197
- }
1198
- },
1199
- "meta": {
1200
- "links": {
1201
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222",
1202
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222\/help",
1203
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
1204
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222\/replies\/",
1205
- "likes": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222\/likes\/"
1206
- }
1207
- }
1208
- }'
1209
-
1210
  ) );
1211
 
1212
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
@@ -1258,7 +828,7 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1258
  '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.",
1259
  ),
1260
 
1261
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/30434183/posts/1222/',
1262
 
1263
  'example_request_data' => array(
1264
  'headers' => array(
@@ -1271,105 +841,7 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1271
  'tags' => 'tests',
1272
  'categories' => 'API'
1273
  )
1274
- ),
1275
-
1276
- 'example_response' => '
1277
- {
1278
- "ID": 1222,
1279
- "author": {
1280
- "ID": 422,
1281
- "email": false,
1282
- "name": "Justin Shreve",
1283
- "URL": "http:\/\/justin.wordpress.com",
1284
- "avatar_URL": "http:\/\/1.gravatar.com\/avatar\/9ea5b460afb2859968095ad3afe4804b?s=96&d=identicon&r=G",
1285
- "profile_URL": "http:\/\/en.gravatar.com\/justin"
1286
- },
1287
- "date": "2012-04-11T15:53:52+00:00",
1288
- "modified": "2012-04-11T19:44:35+00:00",
1289
- "title": "Hello World (Again)",
1290
- "URL": "http:\/\/opossumapi.wordpress.com\/2012\/04\/11\/hello-world-2\/",
1291
- "short_URL": "http:\/\/wp.me\/p23HjV-jI",
1292
- "content": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1293
- "excerpt": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1294
- "status": "publish",
1295
- "sticky": false,
1296
- "password": "",
1297
- "parent": false,
1298
- "type": "post",
1299
- "discussion": {
1300
- "comments_open": true,
1301
- "comment_status": "open",
1302
- "pings_open": true,
1303
- "ping_status": "open",
1304
- "comment_count": 5
1305
- },
1306
- "likes_enabled": true,
1307
- "sharing_enabled": true,
1308
- "like_count": 0,
1309
- "i_like": false,
1310
- "is_reblogged": false,
1311
- "is_following": false,
1312
- "featured_image": "",
1313
- "post_thumbnail": null,
1314
- "format": "standard",
1315
- "geo": false,
1316
- "capabilities": {
1317
- "publish_post": true,
1318
- "delete_post": true,
1319
- "edit_post": true,
1320
- },
1321
- "publicize_URLs": [
1322
-
1323
- ],
1324
- "tags": {
1325
- "tests": {
1326
- "name": "tests",
1327
- "slug": "tests",
1328
- "description": "",
1329
- "post_count": 2,
1330
- "meta": {
1331
- "links": {
1332
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/tags\/tests",
1333
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/tags\/tests\/help",
1334
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183"
1335
- }
1336
- }
1337
- }
1338
- },
1339
- "categories": {
1340
- "API": {
1341
- "name": "API",
1342
- "slug": "api",
1343
- "description": "",
1344
- "post_count": 2,
1345
- "parent": 0,
1346
- "meta": {
1347
- "links": {
1348
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/categories\/api",
1349
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/categories\/api\/help",
1350
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183"
1351
- }
1352
- }
1353
- }
1354
- },
1355
- "metadata": {
1356
- {
1357
- "id" : 123,
1358
- "key" : "test_meta_key",
1359
- "value" : "test_value",
1360
- }
1361
- },
1362
- "meta": {
1363
- "links": {
1364
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1222",
1365
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1222\/help",
1366
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183",
1367
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1222\/replies\/",
1368
- "likes": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1222\/likes\/"
1369
- }
1370
- }
1371
- }'
1372
-
1373
  ) );
1374
 
1375
  new WPCOM_JSON_API_Update_Post_v1_2_Endpoint( array(
@@ -1423,7 +895,7 @@ new WPCOM_JSON_API_Update_Post_v1_2_Endpoint( array(
1423
  '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.",
1424
  ),
1425
 
1426
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.2/sites/30434183/posts/1222/',
1427
 
1428
  'example_request_data' => array(
1429
  'headers' => array(
@@ -1436,105 +908,7 @@ new WPCOM_JSON_API_Update_Post_v1_2_Endpoint( array(
1436
  'tags' => 'tests',
1437
  'categories' => 'API'
1438
  )
1439
- ),
1440
-
1441
- 'example_response' => '
1442
- {
1443
- "ID": 1222,
1444
- "author": {
1445
- "ID": 422,
1446
- "email": false,
1447
- "name": "Justin Shreve",
1448
- "URL": "http:\/\/justin.wordpress.com",
1449
- "avatar_URL": "http:\/\/1.gravatar.com\/avatar\/9ea5b460afb2859968095ad3afe4804b?s=96&d=identicon&r=G",
1450
- "profile_URL": "http:\/\/en.gravatar.com\/justin"
1451
- },
1452
- "date": "2012-04-11T15:53:52+00:00",
1453
- "modified": "2012-04-11T19:44:35+00:00",
1454
- "title": "Hello World (Again)",
1455
- "URL": "http:\/\/opossumapi.wordpress.com\/2012\/04\/11\/hello-world-2\/",
1456
- "short_URL": "http:\/\/wp.me\/p23HjV-jI",
1457
- "content": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1458
- "excerpt": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1459
- "status": "publish",
1460
- "sticky": false,
1461
- "password": "",
1462
- "parent": false,
1463
- "type": "post",
1464
- "discussion": {
1465
- "comments_open": true,
1466
- "comment_status": "open",
1467
- "pings_open": true,
1468
- "ping_status": "open",
1469
- "comment_count": 5
1470
- },
1471
- "likes_enabled": true,
1472
- "sharing_enabled": true,
1473
- "like_count": 0,
1474
- "i_like": false,
1475
- "is_reblogged": false,
1476
- "is_following": false,
1477
- "featured_image": "",
1478
- "post_thumbnail": null,
1479
- "format": "standard",
1480
- "geo": false,
1481
- "capabilities": {
1482
- "publish_post": true,
1483
- "delete_post": true,
1484
- "edit_post": true,
1485
- },
1486
- "publicize_URLs": [
1487
-
1488
- ],
1489
- "tags": {
1490
- "tests": {
1491
- "name": "tests",
1492
- "slug": "tests",
1493
- "description": "",
1494
- "post_count": 2,
1495
- "meta": {
1496
- "links": {
1497
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/tags\/tests",
1498
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/tags\/tests\/help",
1499
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183"
1500
- }
1501
- }
1502
- }
1503
- },
1504
- "categories": {
1505
- "API": {
1506
- "name": "API",
1507
- "slug": "api",
1508
- "description": "",
1509
- "post_count": 2,
1510
- "parent": 0,
1511
- "meta": {
1512
- "links": {
1513
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/categories\/api",
1514
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/categories\/api\/help",
1515
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183"
1516
- }
1517
- }
1518
- }
1519
- },
1520
- "metadata": {
1521
- {
1522
- "id" : 123,
1523
- "key" : "test_meta_key",
1524
- "value" : "test_value",
1525
- }
1526
- },
1527
- "meta": {
1528
- "links": {
1529
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/posts\/1222",
1530
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/posts\/1222\/help",
1531
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183",
1532
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/posts\/1222\/replies\/",
1533
- "likes": "https:\/\/public-api.wordpress.com\/rest\/v1.2\/sites\/30434183\/posts\/1222\/likes\/"
1534
- }
1535
- }
1536
- }'
1537
-
1538
  ) );
1539
 
1540
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
@@ -1550,112 +924,13 @@ new WPCOM_JSON_API_Update_Post_Endpoint( array(
1550
  '$post_ID' => '(int) The post ID',
1551
  ),
1552
 
1553
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/posts/1222/delete/',
1554
 
1555
  'example_request_data' => array(
1556
  'headers' => array(
1557
  'authorization' => 'Bearer YOUR_API_TOKEN'
1558
  )
1559
- ),
1560
-
1561
- 'example_response' => '
1562
- {
1563
- "ID": 1222,
1564
- "author": {
1565
- "ID": 422,
1566
- "email": false,
1567
- "name": "Justin Shreve",
1568
- "URL": "http:\/\/justin.wordpress.com",
1569
- "avatar_URL": "http:\/\/1.gravatar.com\/avatar\/9ea5b460afb2859968095ad3afe4804b?s=96&d=identicon&r=G",
1570
- "profile_URL": "http:\/\/en.gravatar.com\/justin"
1571
- },
1572
- "date": "2012-04-11T15:53:52+00:00",
1573
- "modified": "2012-04-11T19:49:42+00:00",
1574
- "title": "Hello World (Again)",
1575
- "URL": "http:\/\/opossumapi.wordpress.com\/2012\/04\/11\/hello-world-2\/",
1576
- "short_URL": "http:\/\/wp.me\/p23HjV-jI",
1577
- "content": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1578
- "excerpt": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1579
- "status": "trash",
1580
- "sticky": false,
1581
- "password": "",
1582
- "parent": false,
1583
- "type": "post",
1584
- "comments_open": true,
1585
- "pings_open": true,
1586
- "likes_enabled": true,
1587
- "sharing_enabled": true,
1588
- "comment_count": 5,
1589
- "like_count": 0,
1590
- "i_like": false,
1591
- "is_reblogged": false,
1592
- "is_following": false,
1593
- "featured_image": "",
1594
- "post_thumbnail": null,
1595
- "format": "standard",
1596
- "geo": false,
1597
- "current_user_can": {
1598
- "publish_post": true,
1599
- "delete_post": true,
1600
- "edit_post": true,
1601
- },
1602
- "capabilities": {
1603
- "publish_post": true,
1604
- "delete_post": true,
1605
- "edit_post": true,
1606
- },
1607
- "publicize_URLs": [
1608
-
1609
- ],
1610
- "tags": {
1611
- "tests": {
1612
- "name": "tests",
1613
- "slug": "tests",
1614
- "description": "",
1615
- "post_count": 1,
1616
- "meta": {
1617
- "links": {
1618
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/tests",
1619
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/tests\/help",
1620
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
1621
- }
1622
- }
1623
- }
1624
- },
1625
- "metadata": {
1626
- {
1627
- "id" : 123,
1628
- "key" : "test_meta_key",
1629
- "value" : "test_value",
1630
- }
1631
- },
1632
- "categories": {
1633
- "API": {
1634
- "name": "API",
1635
- "slug": "api",
1636
- "description": "",
1637
- "post_count": 1,
1638
- "parent": 0,
1639
- "meta": {
1640
- "links": {
1641
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/categories\/api",
1642
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/categories\/api\/help",
1643
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
1644
- }
1645
- }
1646
- }
1647
- },
1648
- "meta": {
1649
- "links": {
1650
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222",
1651
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222\/help",
1652
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
1653
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222\/replies\/",
1654
- "likes": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222\/likes\/"
1655
- }
1656
- }
1657
- }'
1658
-
1659
  ) );
1660
 
1661
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
@@ -1671,111 +946,13 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1671
  '$post_ID' => '(int) The post ID',
1672
  ),
1673
 
1674
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/30434183/posts/1222/delete/',
1675
 
1676
  'example_request_data' => array(
1677
  'headers' => array(
1678
  'authorization' => 'Bearer YOUR_API_TOKEN'
1679
  )
1680
- ),
1681
-
1682
- 'example_response' => '
1683
- {
1684
- "ID": 1222,
1685
- "author": {
1686
- "ID": 422,
1687
- "email": false,
1688
- "name": "Justin Shreve",
1689
- "URL": "http:\/\/justin.wordpress.com",
1690
- "avatar_URL": "http:\/\/1.gravatar.com\/avatar\/9ea5b460afb2859968095ad3afe4804b?s=96&d=identicon&r=G",
1691
- "profile_URL": "http:\/\/en.gravatar.com\/justin"
1692
- },
1693
- "date": "2012-04-11T15:53:52+00:00",
1694
- "modified": "2012-04-11T19:49:42+00:00",
1695
- "title": "Hello World (Again)",
1696
- "URL": "http:\/\/opossumapi.wordpress.com\/2012\/04\/11\/hello-world-2\/",
1697
- "short_URL": "http:\/\/wp.me\/p23HjV-jI",
1698
- "content": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1699
- "excerpt": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1700
- "status": "trash",
1701
- "sticky": false,
1702
- "password": "",
1703
- "parent": false,
1704
- "type": "post",
1705
- "discussion": {
1706
- "comments_open": true,
1707
- "comment_status": "open",
1708
- "pings_open": true,
1709
- "ping_status": "open",
1710
- "comment_count": 5
1711
- },
1712
- "likes_enabled": true,
1713
- "sharing_enabled": true,
1714
- "like_count": 0,
1715
- "i_like": false,
1716
- "is_reblogged": false,
1717
- "is_following": false,
1718
- "featured_image": "",
1719
- "post_thumbnail": null,
1720
- "format": "standard",
1721
- "geo": false,
1722
- "capabilities": {
1723
- "publish_post": true,
1724
- "delete_post": true,
1725
- "edit_post": true,
1726
- },
1727
- "publicize_URLs": [
1728
-
1729
- ],
1730
- "tags": {
1731
- "tests": {
1732
- "name": "tests",
1733
- "slug": "tests",
1734
- "description": "",
1735
- "post_count": 1,
1736
- "meta": {
1737
- "links": {
1738
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/tags\/tests",
1739
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/tags\/tests\/help",
1740
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183"
1741
- }
1742
- }
1743
- }
1744
- },
1745
- "metadata": {
1746
- {
1747
- "id" : 123,
1748
- "key" : "test_meta_key",
1749
- "value" : "test_value",
1750
- }
1751
- },
1752
- "categories": {
1753
- "API": {
1754
- "name": "API",
1755
- "slug": "api",
1756
- "description": "",
1757
- "post_count": 1,
1758
- "parent": 0,
1759
- "meta": {
1760
- "links": {
1761
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/categories\/api",
1762
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/categories\/api\/help",
1763
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183"
1764
- }
1765
- }
1766
- }
1767
- },
1768
- "meta": {
1769
- "links": {
1770
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1222",
1771
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1222\/help",
1772
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183",
1773
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1222\/replies\/",
1774
- "likes": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1222\/likes\/"
1775
- }
1776
- }
1777
- }'
1778
-
1779
  ) );
1780
 
1781
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
@@ -1792,112 +969,13 @@ new WPCOM_JSON_API_Update_Post_Endpoint( array(
1792
  '$post_ID' => '(int) The post ID',
1793
  ),
1794
 
1795
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/posts/1222/restore/',
1796
 
1797
  'example_request_data' => array(
1798
  'headers' => array(
1799
  'authorization' => 'Bearer YOUR_API_TOKEN'
1800
  )
1801
- ),
1802
-
1803
- 'example_response' => '
1804
- {
1805
- "ID": 1222,
1806
- "author": {
1807
- "ID": 422,
1808
- "email": false,
1809
- "name": "Justin Shreve",
1810
- "URL": "http:\/\/justin.wordpress.com",
1811
- "avatar_URL": "http:\/\/1.gravatar.com\/avatar\/9ea5b460afb2859968095ad3afe4804b?s=96&d=identicon&r=G",
1812
- "profile_URL": "http:\/\/en.gravatar.com\/justin"
1813
- },
1814
- "date": "2012-04-11T15:53:52+00:00",
1815
- "modified": "2012-04-11T19:49:42+00:00",
1816
- "title": "Hello World (Again)",
1817
- "URL": "http:\/\/opossumapi.wordpress.com\/2012\/04\/11\/hello-world-2\/",
1818
- "short_URL": "http:\/\/wp.me\/p23HjV-jI",
1819
- "content": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1820
- "excerpt": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1821
- "status": "draft",
1822
- "sticky": false,
1823
- "password": "",
1824
- "parent": false,
1825
- "type": "post",
1826
- "comments_open": true,
1827
- "pings_open": true,
1828
- "likes_enabled": true,
1829
- "sharing_enabled": true,
1830
- "comment_count": 5,
1831
- "like_count": 0,
1832
- "i_like": false,
1833
- "is_reblogged": false,
1834
- "is_following": false,
1835
- "featured_image": "",
1836
- "post_thumbnail": null,
1837
- "format": "standard",
1838
- "geo": false,
1839
- "current_user_can": {
1840
- "publish_post": true,
1841
- "delete_post": true,
1842
- "edit_post": true,
1843
- },
1844
- "capabilities": {
1845
- "publish_post": true,
1846
- "delete_post": true,
1847
- "edit_post": true,
1848
- },
1849
- "publicize_URLs": [
1850
-
1851
- ],
1852
- "tags": {
1853
- "tests": {
1854
- "name": "tests",
1855
- "slug": "tests",
1856
- "description": "",
1857
- "post_count": 1,
1858
- "meta": {
1859
- "links": {
1860
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/tests",
1861
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/tests\/help",
1862
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
1863
- }
1864
- }
1865
- }
1866
- },
1867
- "metadata": {
1868
- {
1869
- "id" : 123,
1870
- "key" : "test_meta_key",
1871
- "value" : "test_value",
1872
- }
1873
- },
1874
- "categories": {
1875
- "API": {
1876
- "name": "API",
1877
- "slug": "api",
1878
- "description": "",
1879
- "post_count": 1,
1880
- "parent": 0,
1881
- "meta": {
1882
- "links": {
1883
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/categories\/api",
1884
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/categories\/api\/help",
1885
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
1886
- }
1887
- }
1888
- }
1889
- },
1890
- "meta": {
1891
- "links": {
1892
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222",
1893
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222\/help",
1894
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
1895
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222\/replies\/",
1896
- "likes": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222\/likes\/"
1897
- }
1898
- }
1899
- }'
1900
-
1901
  ) );
1902
 
1903
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
@@ -1913,107 +991,13 @@ new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
1913
  '$post_ID' => '(int) The post ID',
1914
  ),
1915
 
1916
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/30434183/posts/1222/restore/',
1917
 
1918
  'example_request_data' => array(
1919
  'headers' => array(
1920
  'authorization' => 'Bearer YOUR_API_TOKEN'
1921
  )
1922
- ),
1923
-
1924
- 'example_response' => '
1925
- {
1926
- "ID": 1222,
1927
- "author": {
1928
- "ID": 422,
1929
- "email": false,
1930
- "name": "Justin Shreve",
1931
- "URL": "http:\/\/justin.wordpress.com",
1932
- "avatar_URL": "http:\/\/1.gravatar.com\/avatar\/9ea5b460afb2859968095ad3afe4804b?s=96&d=identicon&r=G",
1933
- "profile_URL": "http:\/\/en.gravatar.com\/justin"
1934
- },
1935
- "date": "2012-04-11T15:53:52+00:00",
1936
- "modified": "2012-04-11T19:49:42+00:00",
1937
- "title": "Hello World (Again)",
1938
- "URL": "http:\/\/opossumapi.wordpress.com\/2012\/04\/11\/hello-world-2\/",
1939
- "short_URL": "http:\/\/wp.me\/p23HjV-jI",
1940
- "content": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1941
- "excerpt": "<p>Hello. I am an edited post. I was edited by the API<\/p>\n",
1942
- "status": "draft",
1943
- "sticky": false,
1944
- "password": "",
1945
- "parent": false,
1946
- "type": "post",
1947
- "comments_open": true,
1948
- "pings_open": true,
1949
- "likes_enabled": true,
1950
- "sharing_enabled": true,
1951
- "comment_count": 5,
1952
- "like_count": 0,
1953
- "i_like": false,
1954
- "is_reblogged": false,
1955
- "is_following": false,
1956
- "featured_image": "",
1957
- "post_thumbnail": null,
1958
- "format": "standard",
1959
- "geo": false,
1960
- "capabilities": {
1961
- "publish_post": true,
1962
- "delete_post": true,
1963
- "edit_post": true,
1964
- },
1965
- "publicize_URLs": [
1966
-
1967
- ],
1968
- "tags": {
1969
- "tests": {
1970
- "name": "tests",
1971
- "slug": "tests",
1972
- "description": "",
1973
- "post_count": 1,
1974
- "meta": {
1975
- "links": {
1976
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/tags\/tests",
1977
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/tags\/tests\/help",
1978
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183"
1979
- }
1980
- }
1981
- }
1982
- },
1983
- "metadata": {
1984
- {
1985
- "id" : 123,
1986
- "key" : "test_meta_key",
1987
- "value" : "test_value",
1988
- }
1989
- },
1990
- "categories": {
1991
- "API": {
1992
- "name": "API",
1993
- "slug": "api",
1994
- "description": "",
1995
- "post_count": 1,
1996
- "parent": 0,
1997
- "meta": {
1998
- "links": {
1999
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/categories\/api",
2000
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/categories\/api\/help",
2001
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183"
2002
- }
2003
- }
2004
- }
2005
- },
2006
- "meta": {
2007
- "links": {
2008
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1222",
2009
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1222\/help",
2010
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183",
2011
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1222\/replies\/",
2012
- "likes": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/posts\/1222\/likes\/"
2013
- }
2014
- }
2015
- }'
2016
-
2017
  ) );
2018
 
2019
  /*
@@ -2045,7 +1029,12 @@ new WPCOM_JSON_API_List_Media_Endpoint( array(
2045
  'found' => '(int) The number of total results found'
2046
  ),
2047
 
2048
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.com/media/?number=2&pretty=true',
 
 
 
 
 
2049
  ) );
2050
 
2051
  new WPCOM_JSON_API_List_Media_v1_1_Endpoint( array(
@@ -2086,91 +1075,12 @@ new WPCOM_JSON_API_List_Media_v1_1_Endpoint( array(
2086
  'found' => '(int) The number of total results found'
2087
  ),
2088
 
2089
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/opossumapi.wordpress.com/media',
2090
- 'example_request_data' => array(
2091
- 'headers' => array(
2092
- 'authorization' => 'Bearer YOUR_API_TOKEN'
2093
- )
2094
- ),
2095
-
2096
- 'example_response' => '
2097
- {
2098
- "found": 5549,
2099
- "media": [
2100
- {
2101
- "ID": "880165",
2102
- "URL": "https:\/\/opossumapi.files.wordpress.com\/2014\/10\/screen-shot-2014-10-14-at-3-22-19-pm.png",
2103
- "guid": "http:\/\/opossumapi.files.wordpress.com\/2014\/10\/screen-shot-2014-10-14-at-3-22-19-pm.png",
2104
- "date": "2014-10-14T22:22:41+00:00",
2105
- "post_ID": 0,
2106
- "file": "screen-shot-2014-10-14-at-3-22-19-pm.png",
2107
- "mime_type": "image\/png",
2108
- "extension": "png",
2109
- "title": "Screen Shot 2014-10-14 at 3.22.19 PM",
2110
- "caption": "",
2111
- "description": "",
2112
- "alt": "",
2113
- "height": 602,
2114
- "width": 764,
2115
- "exif": {
2116
- "aperture": 0,
2117
- "credit": "",
2118
- "camera": "",
2119
- "caption": "",
2120
- "created_timestamp": 0,
2121
- "copyright": "",
2122
- "focal_length": 0,
2123
- "iso": 0,
2124
- "shutter_speed": 0,
2125
- "title": "",
2126
- "orientation": 0
2127
- },
2128
- "meta": {
2129
- "links": {
2130
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880165",
2131
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880165\/help",
2132
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
2133
- }
2134
- }
2135
- },
2136
- {
2137
- "ID": "880156",
2138
- "URL": "https:\/\/opossumapi.files.wordpress.com\/2014\/10\/encdrtnnuk-3000x30001530.jpeg",
2139
- "guid": "http:\/\/opossumapi.files.wordpress.com\/2014\/10\/encdrtnnuk-3000x30001530.jpeg",
2140
- "date": "2014-10-14T22:08:30+00:00",
2141
- "post_ID": 880155,
2142
- "file": "encdrtnnuk-3000x30001530.jpeg",
2143
- "mime_type": "image\/jpeg",
2144
- "extension": "jpeg",
2145
- "title": "encdrtnnuk-3000x30001530",
2146
- "caption": "",
2147
- "description": "",
2148
- "height": 1536,
2149
- "width": 2048,
2150
- "exif": {
2151
- "aperture": 0,
2152
- "credit": "",
2153
- "camera": "",
2154
- "caption": "",
2155
- "created_timestamp": 0,
2156
- "copyright": "",
2157
- "focal_length": 0,
2158
- "iso": 0,
2159
- "shutter_speed": 0,
2160
- "title": "",
2161
- "orientation": 0
2162
- },
2163
- "meta": {
2164
- "links": {
2165
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880156",
2166
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880156\/help",
2167
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
2168
- "parent": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/880155"
2169
- }
2170
- }
2171
- },
2172
- ]
2173
- }',
2174
  ) );
2175
 
2176
  new WPCOM_JSON_API_Get_Media_Endpoint( array(
@@ -2197,7 +1107,12 @@ new WPCOM_JSON_API_Get_Media_Endpoint( array(
2197
  'metadata' => '(array) Array of metadata about the file, such as Exif data or sizes',
2198
  ),
2199
 
2200
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/example.wordpress.com/media/36',
 
 
 
 
 
2201
  ) );
2202
 
2203
  new WPCOM_JSON_API_Get_Media_v1_1_Endpoint( array(
@@ -2233,52 +1148,12 @@ new WPCOM_JSON_API_Get_Media_v1_1_Endpoint( array(
2233
  '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.'
2234
  ),
2235
 
2236
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/opossumapi.wordpress.com/media/880165',
2237
  'example_request_data' => array(
2238
  'headers' => array(
2239
  'authorization' => 'Bearer YOUR_API_TOKEN'
2240
  )
2241
- ),
2242
-
2243
- 'example_response' => '
2244
- {
2245
- "ID": "880165",
2246
- "URL": "https:\/\/opossumapi.files.wordpress.com\/2014\/10\/screen-shot-2014-10-14-at-3-22-19-pm.png",
2247
- "guid": "http:\/\/opossumapi.files.wordpress.com\/2014\/10\/screen-shot-2014-10-14-at-3-22-19-pm.png",
2248
- "date": "2014-10-14T22:22:41+00:00",
2249
- "post_ID": 0,
2250
- "file": "screen-shot-2014-10-14-at-3-22-19-pm.png",
2251
- "mime_type": "image\/png",
2252
- "extension": "png",
2253
- "title": "Screen Shot 2014-10-14 at 3.22.19 PM",
2254
- "caption": "",
2255
- "description": "",
2256
- "alt": "",
2257
- "thumbnails": {},
2258
- "height": 602,
2259
- "width": 764,
2260
- "exif": {
2261
- "aperture": 0,
2262
- "credit": "",
2263
- "camera": "",
2264
- "caption": "",
2265
- "created_timestamp": 0,
2266
- "copyright": "",
2267
- "focal_length": 0,
2268
- "iso": 0,
2269
- "shutter_speed": 0,
2270
- "title": "",
2271
- "orientation": 0
2272
- },
2273
- "meta": {
2274
- "links": {
2275
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880165",
2276
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880165\/help",
2277
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
2278
- }
2279
- }
2280
- }
2281
- ',
2282
  ) );
2283
 
2284
  new WPCOM_JSON_API_Upload_Media_Endpoint( array(
@@ -2300,12 +1175,20 @@ new WPCOM_JSON_API_Upload_Media_Endpoint( array(
2300
  'media_urls' => "(array) An array of URLs to upload to the post."
2301
  ),
2302
 
2303
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/media/new/',
2304
 
2305
  'response_format' => array(
2306
  'media' => '(array) Array of uploaded media',
2307
  'errors' => '(array) Array of error messages of uploading media failures'
2308
  ),
 
 
 
 
 
 
 
 
2309
  ) );
2310
 
2311
  new WPCOM_JSON_API_Upload_Media_v1_1_Endpoint( array(
@@ -2333,56 +1216,15 @@ new WPCOM_JSON_API_Upload_Media_v1_1_Endpoint( array(
2333
  'errors' => '(array) Array of error messages of uploading media failures'
2334
  ),
2335
 
2336
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/33534099/media/new',
2337
  'example_request_data' => array(
2338
  'headers' => array(
2339
  'authorization' => 'Bearer YOUR_API_TOKEN'
2340
  ),
2341
  'body' => array(
2342
- 'media_urls[]' => "https://s.w.org/about/images/logos/codeispoetry-rgb.png"
2343
  )
2344
- ),
2345
- 'example_response' => '
2346
- {
2347
- "media": [
2348
- {
2349
- "ID": 25378,
2350
- "URL": "https://developer.files.wordpress.com/2015/01/codeispoetry-rgb.png",
2351
- "guid": "http://developer.files.wordpress.com/2015/01/codeispoetry-rgb.png",
2352
- "date": "2015-01-14T22:55:33+00:00",
2353
- "post_ID": 0,
2354
- "file": "codeispoetry-rgb.png",
2355
- "mime_type": "image/png",
2356
- "extension": "png",
2357
- "title": "codeispoetry-rgb",
2358
- "caption": "",
2359
- "description": "",
2360
- "alt": "",
2361
- "height": 34,
2362
- "width": 500,
2363
- "exif": {
2364
- "aperture": 0,
2365
- "credit": "",
2366
- "camera": "",
2367
- "caption": "",
2368
- "created_timestamp": 0,
2369
- "copyright": "",
2370
- "focal_length": 0,
2371
- "iso": 0,
2372
- "shutter_speed": 0,
2373
- "title": "",
2374
- "orientation": 0
2375
- },
2376
- "meta": {
2377
- "links": {
2378
- "self": "https://public-api.wordpress.com/rest/v1/sites/33534099/media/25378",
2379
- "help": "https://public-api.wordpress.com/rest/v1/sites/33534099/media/25378/help",
2380
- "site": "https://public-api.wordpress.com/rest/v1/sites/33534099"
2381
- }
2382
- }
2383
- }
2384
- ]
2385
- } '
2386
  ) );
2387
 
2388
  new WPCOM_JSON_API_Update_Media_Endpoint( array(
@@ -2413,6 +1255,15 @@ new WPCOM_JSON_API_Update_Media_Endpoint( array(
2413
  'caption' => '(string) User provided caption of the file',
2414
  'description' => '(string) Description of the file',
2415
  'metadata' => '(array) Array of metadata about the file, such as Exif data or sizes',
 
 
 
 
 
 
 
 
 
2416
  )
2417
  ) );
2418
 
@@ -2460,7 +1311,7 @@ new WPCOM_JSON_API_Update_Media_v1_1_Endpoint( array(
2460
  '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.'
2461
  ),
2462
 
2463
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/opossumapi.wordpress.com/media/880165',
2464
  'example_request_data' => array(
2465
  'headers' => array(
2466
  'authorization' => 'Bearer YOUR_API_TOKEN'
@@ -2468,47 +1319,7 @@ new WPCOM_JSON_API_Update_Media_v1_1_Endpoint( array(
2468
  'body' => array(
2469
  'title' => 'Updated Title'
2470
  )
2471
- ),
2472
-
2473
- 'example_response' => '
2474
- {
2475
- "ID": "880165",
2476
- "URL": "https:\/\/opossumapi.files.wordpress.com\/2014\/10\/screen-shot-2014-10-14-at-3-22-19-pm.png",
2477
- "guid": "http:\/\/opossumapi.files.wordpress.com\/2014\/10\/screen-shot-2014-10-14-at-3-22-19-pm.png",
2478
- "date": "2014-10-14T22:22:41+00:00",
2479
- "post_ID": 0,
2480
- "file": "screen-shot-2014-10-14-at-3-22-19-pm.png",
2481
- "mime_type": "image\/png",
2482
- "extension": "png",
2483
- "title": "Updated Title",
2484
- "caption": "",
2485
- "description": "",
2486
- "alt": "",
2487
- "thumbnails": {},
2488
- "height": 602,
2489
- "width": 764,
2490
- "exif": {
2491
- "aperture": 0,
2492
- "credit": "",
2493
- "camera": "",
2494
- "caption": "",
2495
- "created_timestamp": 0,
2496
- "copyright": "",
2497
- "focal_length": 0,
2498
- "iso": 0,
2499
- "shutter_speed": 0,
2500
- "title": "",
2501
- "orientation": 0
2502
- },
2503
- "meta": {
2504
- "links": {
2505
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880165",
2506
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880165\/help",
2507
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
2508
- }
2509
- }
2510
- }
2511
- ',
2512
  ) );
2513
 
2514
 
@@ -2536,6 +1347,13 @@ new WPCOM_JSON_API_Delete_Media_Endpoint( array(
2536
  'caption' => '(string) User provided caption of the file',
2537
  'description' => '(string) Description of the file',
2538
  'metadata' => '(array) Misc array of information about the file, such as exif data or sizes',
 
 
 
 
 
 
 
2539
  )
2540
  ) );
2541
 
@@ -2574,53 +1392,12 @@ new WPCOM_JSON_API_Delete_Media_v1_1_Endpoint( array(
2574
  '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'
2575
  ),
2576
 
2577
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/opossumapi.wordpress.com/media/880165/delete',
2578
  'example_request_data' => array(
2579
  'headers' => array(
2580
  'authorization' => 'Bearer YOUR_API_TOKEN'
2581
  )
2582
- ),
2583
-
2584
- 'example_response' => '
2585
- {
2586
- "status": "deleted",
2587
- "ID": "880165",
2588
- "URL": "https:\/\/opossumapi.files.wordpress.com\/2014\/10\/screen-shot-2014-10-14-at-3-22-19-pm.png",
2589
- "guid": "http:\/\/opossumapi.files.wordpress.com\/2014\/10\/screen-shot-2014-10-14-at-3-22-19-pm.png",
2590
- "date": "2014-10-14T22:22:41+00:00",
2591
- "post_ID": 0,
2592
- "file": "screen-shot-2014-10-14-at-3-22-19-pm.png",
2593
- "mime_type": "image\/png",
2594
- "extension": "png",
2595
- "title": "Screen Shot 2014-10-14 at 3.22.19 PM",
2596
- "caption": "",
2597
- "description": "",
2598
- "alt": "",
2599
- "thumbnails": {},
2600
- "height": 602,
2601
- "width": 764,
2602
- "exif": {
2603
- "aperture": 0,
2604
- "credit": "",
2605
- "camera": "",
2606
- "caption": "",
2607
- "created_timestamp": 0,
2608
- "copyright": "",
2609
- "focal_length": 0,
2610
- "iso": 0,
2611
- "shutter_speed": 0,
2612
- "title": "",
2613
- "orientation": 0
2614
- },
2615
- "meta": {
2616
- "links": {
2617
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880165",
2618
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1.1\/sites\/30434183\/media\/880165\/help",
2619
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
2620
- }
2621
- }
2622
- }
2623
- ',
2624
  ) );
2625
 
2626
  /*
@@ -2637,7 +1414,7 @@ new WPCOM_JSON_API_List_Comments_Endpoint( array(
2637
  '$site' => '(int|string) Site ID or domain',
2638
  ),
2639
 
2640
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/comments/?number=2&pretty=1'
2641
  ) );
2642
 
2643
  new WPCOM_JSON_API_List_Comments_Endpoint( array(
@@ -2652,7 +1429,7 @@ new WPCOM_JSON_API_List_Comments_Endpoint( array(
2652
  '$post_ID' => '(int) The post ID',
2653
  ),
2654
 
2655
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/posts/7/replies/?number=2&pretty=1'
2656
  ) );
2657
 
2658
  new WPCOM_JSON_API_Get_Comment_Endpoint( array(
@@ -2667,7 +1444,7 @@ new WPCOM_JSON_API_Get_Comment_Endpoint( array(
2667
  '$comment_ID' => '(int) The comment ID'
2668
  ),
2669
 
2670
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/comments/147564/?pretty=1'
2671
  ) );
2672
 
2673
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
@@ -2692,7 +1469,7 @@ new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2692
  'pass_wpcom_user_details' => true,
2693
  'can_use_user_details_instead_of_blog_membership' => true,
2694
 
2695
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/posts/1222/replies/new/',
2696
  'example_request_data' => array(
2697
  'headers' => array(
2698
  'authorization' => 'Bearer YOUR_API_TOKEN'
@@ -2700,45 +1477,7 @@ new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2700
  'body' => array(
2701
  'content' => 'Your reply is very interesting. This is a reply.'
2702
  )
2703
- ),
2704
-
2705
- 'example_response' => '
2706
- {
2707
- "ID": 9,
2708
- "post": {
2709
- "ID": 1222,
2710
- "type": "post",
2711
- "link": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222"
2712
- },
2713
- "author": {
2714
- "ID": 18342963,
2715
- "email": false,
2716
- "name": "binarysmash",
2717
- "URL": "http:\/\/binarysmash.wordpress.com",
2718
- "avatar_URL": "http:\/\/0.gravatar.com\/avatar\/a178ebb1731d432338e6bb0158720fcc?s=96&d=identicon&r=G",
2719
- "profile_URL": "http:\/\/en.gravatar.com\/binarysmash"
2720
- },
2721
- "date": "2012-04-11T18:09:41+00:00",
2722
- "URL": "http:\/\/opossumapi.wordpress.com\/2012\/04\/11\/hello-world-2\/#comment-9",
2723
- "short_URL": "http:\/\/wp.me\/p23HjV-jI%23comment-9",
2724
- "content": "<p>Your reply is very interesting. This is a reply.<\/p>\n",
2725
- "status": "approved",
2726
- "parent": {
2727
- "ID":8,
2728
- "type": "comment",
2729
- "link": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/8"
2730
- },
2731
- "type": "comment",
2732
- "meta": {
2733
- "links": {
2734
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/9",
2735
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/9\/help",
2736
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
2737
- "post": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1222",
2738
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/9\/replies\/"
2739
- }
2740
- }
2741
- }',
2742
  ) );
2743
 
2744
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
@@ -2762,7 +1501,7 @@ new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2762
  'pass_wpcom_user_details' => true,
2763
  'can_use_user_details_instead_of_blog_membership' => true,
2764
 
2765
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/comments/8/replies/new/',
2766
  'example_request_data' => array(
2767
  'headers' => array(
2768
  'authorization' => 'Bearer YOUR_API_TOKEN'
@@ -2770,45 +1509,7 @@ new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2770
  'body' => array(
2771
  'content' => 'This reply is very interesting. This is editing a comment reply via the API.',
2772
  )
2773
- ),
2774
- 'example_response' => '
2775
- {
2776
- "ID": 13,
2777
- "post": {
2778
- "ID": 1,
2779
- "type": "post",
2780
- "link": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1"
2781
- },
2782
- "author": {
2783
- "ID": 18342963,
2784
- "email": false,
2785
- "name": "binarysmash",
2786
- "URL": "http:\/\/binarysmash.wordpress.com",
2787
- "avatar_URL": "http:\/\/0.gravatar.com\/avatar\/a178ebb1731d432338e6bb0158720fcc?s=96&d=identicon&r=G",
2788
- "profile_URL": "http:\/\/en.gravatar.com\/binarysmash"
2789
- },
2790
- "date": "2012-04-11T20:16:28+00:00",
2791
- "URL": "http:\/\/opossumapi.wordpress.com\/2011\/12\/13\/hello-world\/#comment-13",
2792
- "short_URL": "http:\/\/wp.me\/p23HjV-1%23comment-13",
2793
- "content": "<p>This reply is very interesting. This is editing a comment reply via the API.<\/p>\n",
2794
- "status": "approved",
2795
- "parent": {
2796
- "ID": 1,
2797
- "type": "comment",
2798
- "link": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/1"
2799
- },
2800
- "type": "comment",
2801
- "meta": {
2802
- "links": {
2803
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/13",
2804
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/13\/help",
2805
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
2806
- "post": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1",
2807
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/13\/replies\/"
2808
- }
2809
- }
2810
- }'
2811
-
2812
  ) );
2813
 
2814
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
@@ -2836,7 +1537,7 @@ new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2836
  ),
2837
  ),
2838
 
2839
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/comments/8/',
2840
  'example_request_data' => array(
2841
  'headers' => array(
2842
  'authorization' => 'Bearer YOUR_API_TOKEN'
@@ -2845,45 +1546,7 @@ new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2845
  'content' => 'This reply is now edited via the API.',
2846
  'status' => 'approved',
2847
  )
2848
- ),
2849
- 'example_response' => '
2850
- {
2851
- "ID": 13,
2852
- "post": {
2853
- "ID": 1,
2854
- "type": "post",
2855
- "link": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1"
2856
- },
2857
- "author": {
2858
- "ID": 18342963,
2859
- "email": false,
2860
- "name": "binarysmash",
2861
- "URL": "http:\/\/binarysmash.wordpress.com",
2862
- "avatar_URL": "http:\/\/0.gravatar.com\/avatar\/a178ebb1731d432338e6bb0158720fcc?s=96&d=identicon&r=G",
2863
- "profile_URL": "http:\/\/en.gravatar.com\/binarysmash"
2864
- },
2865
- "date": "2012-04-11T20:16:28+00:00",
2866
- "URL": "http:\/\/opossumapi.wordpress.com\/2011\/12\/13\/hello-world\/#comment-13",
2867
- "short_URL": "http:\/\/wp.me\/p23HjV-1%23comment-13",
2868
- "content": "<p>This reply is very interesting. This is editing a comment reply via the API.<\/p>\n",
2869
- "status": "approved",
2870
- "parent": {
2871
- "ID": 1,
2872
- "type": "comment",
2873
- "link": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/1"
2874
- },
2875
- "type": "comment",
2876
- "meta": {
2877
- "links": {
2878
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/13",
2879
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/13\/help",
2880
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
2881
- "post": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1",
2882
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/13\/replies\/"
2883
- }
2884
- }
2885
- }'
2886
-
2887
  ) );
2888
 
2889
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
@@ -2898,51 +1561,12 @@ new WPCOM_JSON_API_Update_Comment_Endpoint( array(
2898
  '$comment_ID' => '(int) The comment ID'
2899
  ),
2900
 
2901
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/comments/8/delete/',
2902
  'example_request_data' => array(
2903
  'headers' => array(
2904
  'authorization' => 'Bearer YOUR_API_TOKEN'
2905
  )
2906
- ),
2907
-
2908
- 'example_response' => '
2909
- {
2910
- "ID": 13,
2911
- "post": {
2912
- "ID": 1,
2913
- "type": "post",
2914
- "link": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1"
2915
- },
2916
- "author": {
2917
- "ID": 18342963,
2918
- "email": false,
2919
- "name": "binarysmash",
2920
- "URL": "http:\/\/binarysmash.wordpress.com",
2921
- "avatar_URL": "http:\/\/0.gravatar.com\/avatar\/a178ebb1731d432338e6bb0158720fcc?s=96&d=identicon&r=G",
2922
- "profile_URL": "http:\/\/en.gravatar.com\/binarysmash"
2923
- },
2924
- "date": "2012-04-11T20:16:28+00:00",
2925
- "URL": "http:\/\/opossumapi.wordpress.com\/2011\/12\/13\/hello-world\/#comment-13",
2926
- "short_URL": "http:\/\/wp.me\/p23HjV-1%23comment-13",
2927
- "content": "<p>This reply is very interesting. This is editing a comment reply via the API.<\/p>\n",
2928
- "status": "deleted",
2929
- "parent": {
2930
- "ID": 1,
2931
- "type": "comment",
2932
- "link": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/1"
2933
- },
2934
- "type": "comment",
2935
- "meta": {
2936
- "links": {
2937
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/13",
2938
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/13\/help",
2939
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183",
2940
- "post": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/posts\/1",
2941
- "replies": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/comments\/13\/replies\/"
2942
- }
2943
- }
2944
- }'
2945
-
2946
  ) );
2947
 
2948
  /**
@@ -2960,7 +1584,7 @@ new WPCOM_JSON_API_Get_Taxonomy_Endpoint( array(
2960
  '$category' => '(string) The category slug'
2961
  ),
2962
 
2963
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/categories/slug:community?pretty=1'
2964
  ) );
2965
 
2966
  new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
@@ -2990,7 +1614,7 @@ new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
2990
  'found' => '(int) The number of categories returned.',
2991
  'categories' => '(array) Array of category objects.',
2992
  ),
2993
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/categories/?number=5&pretty=1'
2994
  ) );
2995
 
2996
  new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
@@ -3020,7 +1644,7 @@ new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
3020
  'found' => '(int) The number of tags returned.',
3021
  'tags' => '(array) Array of tag objects.',
3022
  ),
3023
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/tags/?number=5&pretty=1'
3024
  ) );
3025
 
3026
  new WPCOM_JSON_API_Get_Taxonomy_Endpoint( array(
@@ -3035,7 +1659,7 @@ new WPCOM_JSON_API_Get_Taxonomy_Endpoint( array(
3035
  '$tag' => '(string) The tag slug'
3036
  ),
3037
 
3038
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/tags/slug:wordpresscom?pretty=1'
3039
  ) );
3040
 
3041
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
@@ -3055,7 +1679,7 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
3055
  'parent' => '(int) ID of the parent category',
3056
  ),
3057
 
3058
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/categories/new/',
3059
  'example_request_data' => array(
3060
  'headers' => array(
3061
  'authorization' => 'Bearer YOUR_API_TOKEN'
@@ -3063,22 +1687,7 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
3063
  'body' => array(
3064
  'name' => 'Puppies',
3065
  )
3066
- ),
3067
- 'example_response' => '
3068
- {
3069
- "name": "Puppies",
3070
- "slug": "puppies",
3071
- "description": "",
3072
- "post_count": 0,
3073
- "meta": {
3074
- "links": {
3075
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/puppies",
3076
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/puppies\/help",
3077
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
3078
- }
3079
- }
3080
- }'
3081
-
3082
  ) );
3083
 
3084
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
@@ -3097,7 +1706,7 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
3097
  'description' => '(string) A description of the tag',
3098
  ),
3099
 
3100
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/tags/new/',
3101
  'example_request_data' => array(
3102
  'headers' => array(
3103
  'authorization' => 'Bearer YOUR_API_TOKEN'
@@ -3105,22 +1714,7 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
3105
  'body' => array(
3106
  'name' => 'Kitties'
3107
  )
3108
- ),
3109
- 'example_response' => '
3110
- {
3111
- "name": "Kitties",
3112
- "slug": "kitties",
3113
- "description": "",
3114
- "post_count": 0,
3115
- "meta": {
3116
- "links": {
3117
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/kitties",
3118
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/kitties\/help",
3119
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
3120
- }
3121
- }
3122
- }'
3123
-
3124
  ) );
3125
 
3126
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
@@ -3140,7 +1734,7 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
3140
  'description' => '(string) A description of the tag',
3141
  ),
3142
 
3143
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/tags/slug:testing-tag',
3144
  'example_request_data' => array(
3145
  'headers' => array(
3146
  'authorization' => 'Bearer YOUR_API_TOKEN'
@@ -3148,22 +1742,7 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
3148
  'body' => array(
3149
  'description' => 'Kitties are awesome!'
3150
  )
3151
- ),
3152
- 'example_response' => '
3153
- {
3154
- "name": "testing tag",
3155
- "slug": "testing-tag",
3156
- "description": "Kitties are awesome!",
3157
- "post_count": 0,
3158
- "meta": {
3159
- "links": {
3160
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/testing-tag",
3161
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/tags\/testing-tag\/help",
3162
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
3163
- }
3164
- }
3165
- }'
3166
-
3167
  ) );
3168
 
3169
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
@@ -3184,7 +1763,7 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
3184
  'parent' => '(int) ID of the parent category',
3185
  ),
3186
 
3187
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/categories/slug:testing-category',
3188
  'example_request_data' => array(
3189
  'headers' => array(
3190
  'authorization' => 'Bearer YOUR_API_TOKEN'
@@ -3192,23 +1771,7 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
3192
  'body' => array(
3193
  'description' => 'Puppies are great!'
3194
  )
3195
- ),
3196
- 'example_response' => '
3197
- {
3198
- "name": "testing category",
3199
- "slug": "testing-category",
3200
- "description": "Puppies are great!",
3201
- "post_count": 0,
3202
- "parent": 0,
3203
- "meta": {
3204
- "links": {
3205
- "self": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/categories\/testing-category",
3206
- "help": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183\/categories\/testing-category\/help",
3207
- "site": "https:\/\/public-api.wordpress.com\/rest\/v1\/sites\/30434183"
3208
- }
3209
- }
3210
- }'
3211
-
3212
  ) );
3213
 
3214
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
@@ -3227,16 +1790,12 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
3227
  'success' => '(bool) Was the operation successful?',
3228
  ),
3229
 
3230
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/categories/slug:some-category-name/delete',
3231
  'example_request_data' => array(
3232
  'headers' => array(
3233
  'authorization' => 'Bearer YOUR_API_TOKEN'
3234
  ),
3235
- ),
3236
- 'example_response' => '{
3237
- "slug": "some-category-name",
3238
- "success": "true"
3239
- }'
3240
  ) );
3241
 
3242
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
@@ -3255,16 +1814,12 @@ new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
3255
  'success' => '(bool) Was the operation successful?',
3256
  ),
3257
 
3258
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/tags/slug:some-tag-name/delete',
3259
  'example_request_data' => array(
3260
  'headers' => array(
3261
  'authorization' => 'Bearer YOUR_API_TOKEN'
3262
  ),
3263
- ),
3264
- 'example_response' => '{
3265
- "slug": "some-tag-name",
3266
- "success": "true"
3267
- }'
3268
  ) );
3269
 
3270
  new WPCOM_JSON_API_List_Users_Endpoint( array(
@@ -3304,26 +1859,12 @@ new WPCOM_JSON_API_List_Users_Endpoint( array(
3304
  'authors' => '(array:author) Array of author objects.',
3305
  ),
3306
 
3307
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/users',
3308
  'example_request_data' => array(
3309
  'headers' => array(
3310
  'authorization' => 'Bearer YOUR_API_TOKEN'
3311
  ),
3312
- ),
3313
- 'example_response' => '{
3314
- "found": 1,
3315
- "users": [
3316
- {
3317
- "ID": 18342963,
3318
- "login": "binarysmash"
3319
- "email": false,
3320
- "name": "binarysmash",
3321
- "URL": "http:\/\/binarysmash.wordpress.com",
3322
- "avatar_URL": "http:\/\/0.gravatar.com\/avatar\/a178ebb1731d432338e6bb0158720fcc?s=96&d=identicon&r=G",
3323
- "profile_URL": "http:\/\/en.gravatar.com\/binarysmash"
3324
- },
3325
- ]
3326
- }'
3327
  ) );
3328
 
3329
  new WPCOM_JSON_API_Site_Settings_Endpoint( array(
@@ -3403,6 +1944,7 @@ new WPCOM_JSON_API_Site_Settings_Endpoint( array(
3403
  'sharing_open_links' => '(string) Link target for sharing buttons (same or new)',
3404
  'twitter_via' => '(string) Twitter username to include in tweets when people share using the Twitter button',
3405
  'jetpack-twitter-cards-site-tag' => '(string) The Twitter username of the owner of the site\'s domain.',
 
3406
  ),
3407
 
3408
  'response_format' => array(
59
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-get-post-v1-1-endpoint.php' );
60
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-list-posts-v1-1-endpoint.php' );
61
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-update-post-v1-1-endpoint.php' );
62
+ require_once( $json_endpoints_dir . 'class.wpcom-json-api-get-post-counts-v1-1-endpoint.php' );
63
 
64
  // Custom Menus
65
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-menus-v1-1-endpoint.php' );
96
 
97
  'response_format' => WPCOM_JSON_API_GET_Site_Endpoint::$site_format,
98
 
99
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/',
100
  ) );
101
 
102
+ new WPCOM_JSON_API_GET_Post_Counts_V1_1_Endpoint( array(
103
+ 'description' => 'Get number of posts in the post type groups by post status',
104
+ 'group' => '__do_not_document',
105
+ 'stat' => 'sites:X:post-counts:X',
106
+ 'force' => 'wpcom',
107
+ 'method' => 'GET',
108
+ 'min_version' => '1.1',
109
+ 'max_version' => '1.2',
110
+ 'path' => '/sites/%s/post-counts/%s',
111
+ 'path_labels' => array(
112
+ '$site' => '(int|string) Site ID or domain',
113
+ '$post_type' => '(string) Post Type',
114
+ ),
115
+
116
+ 'query_parameters' => array(
117
+ 'context' => false,
118
+ ),
119
+
120
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.2/sites/en.blog.wordpress.com/post-counts/page',
121
+
122
+ 'response_format' => array(
123
+ 'statuses' => '(array) Number of posts in the post type grouped by post status',
124
+ )
125
+ ) );
126
+
127
+
128
  new WPCOM_JSON_API_List_Post_Formats_Endpoint( array(
129
  'description' => 'Get a list of post formats supported by a site.',
130
  'group' => '__do_not_document',
200
  'response_format' => array(
201
  'shortcodes' => '(array) A list of supported shortcodes by their handle.',
202
  ),
203
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/shortcodes',
204
  'example_request_data' => array(
205
  'headers' => array(
206
  'authorization' => 'Bearer YOUR_API_TOKEN'
207
  ),
208
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  ) );
210
 
211
  new WPCOM_JSON_API_Render_Shortcode_Endpoint( array(
226
  '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.',
227
  '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.',
228
  ),
229
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/shortcodes/render?shortcode=%5Bgallery%20ids%3D%22729%2C732%2C731%2C720%22%5D',
230
  'example_request_data' => array(
231
  'headers' => array(
232
  'authorization' => 'Bearer YOUR_API_TOKEN'
233
  ),
234
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
235
  ) );
236
 
237
  /*
249
  'response_format' => array(
250
  'embeds' => '(array) A list of supported embeds by their regex pattern.',
251
  ),
252
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/embeds',
253
  'example_request_data' => array(
254
  'headers' => array(
255
  'authorization' => 'Bearer YOUR_API_TOKEN'
256
  ),
257
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
258
  ) );
259
 
260
  new WPCOM_JSON_API_Render_Embed_Endpoint( array(
273
  'embed_url' => '(string) The embed_url that was passed in for rendering.',
274
  'result' => '(html) The rendered HTML result of the embed.',
275
  ),
276
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/apiexamples.wordpress.com/embeds/render?embed_url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DSQEQr7c0-dw',
277
  'example_request_data' => array(
278
  'headers' => array(
279
  'authorization' => 'Bearer YOUR_API_TOKEN'
280
  ),
281
+ )
 
 
 
 
 
282
  ) );
283
 
284
  new WPCOM_JSON_API_Render_Embed_Reversal_Endpoint( array(
302
  'scripts' => '(array) An array of JavaScript files needed to render the embed or 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.',
303
  'styles' => '(array) An array of CSS files needed to render the embed or shortcode. Returned in the format of <code>{ "style-slug" : { "src": "http://example.com/file.css", "media" : "all" } }</code>. Omitted if no styles are neccessary.',
304
  ),
305
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/shortcode-reversals/render/',
306
  'example_request_data' => array(
307
  'headers' => array(
308
  'authorization' => 'Bearer YOUR_API_TOKEN'
312
  'maybe_embed' => '<iframe width="480" height="302" src="http://www.ustream.tv/embed/recorded/26370522/highlight/299667?v=3&amp;wmode=direct" scrolling="no" frameborder="0"></iframe>',
313
  )
314
  ),
 
 
 
 
 
 
 
315
  ) );
316
 
317
 
373
  'meta_value' => '(string) Metadata value that the post should contain. Will only be applied if a `meta_key` is also given',
374
  ),
375
 
376
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/posts/?number=5'
377
  ) );
378
 
379
  new WPCOM_JSON_API_List_Posts_v1_1_Endpoint( array(
428
  'meta_value' => '(string) Metadata value that the post should contain. Will only be applied if a `meta_key` is also given',
429
  ),
430
 
431
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/?number=2'
432
  ) );
433
 
434
  new WPCOM_JSON_API_Get_Post_Endpoint( array(
444
  '$post_ID' => '(int) The post ID',
445
  ),
446
 
447
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/posts/7'
448
  ) );
449
 
450
  new WPCOM_JSON_API_Get_Post_v1_1_Endpoint( array(
459
  '$site' => '(int|string) Site ID or domain',
460
  '$post_ID' => '(int) The post ID',
461
  ),
462
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/7'
463
  ) );
464
 
465
  new WPCOM_JSON_API_Get_Post_Endpoint( array(
489
  '$post_slug' => '(string) The post slug (a.k.a. sanitized name)',
490
  ),
491
 
492
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/posts/slug:blogging-and-stuff',
493
  ) );
494
 
495
  new WPCOM_JSON_API_Get_Post_v1_1_Endpoint( array(
504
  '$site' => '(int|string) Site ID or domain',
505
  '$post_slug' => '(string) The post slug (a.k.a. sanitized name)',
506
  ),
507
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/slug:blogging-and-stuff',
508
  ) );
509
 
510
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
558
  'menu_order' => "(int) (Pages Only) the order pages should appear in. Use 0 to maintain alphabetical order.",
559
  ),
560
 
561
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/posts/new/',
562
 
563
  'example_request_data' => array(
564
  'headers' => array(
571
  'tags' => 'tests',
572
  'categories' => 'API'
573
  )
574
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
575
  ) );
576
 
577
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
627
  'page_template' => '(string) (Pages Only) The page template this page should use.',
628
  ),
629
 
630
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/posts/new/',
631
 
632
  'example_request_data' => array(
633
  'headers' => array(
640
  'tags' => 'tests',
641
  'categories' => 'API'
642
  )
643
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
644
  ) );
645
 
646
  new WPCOM_JSON_API_Update_Post_v1_2_Endpoint( array(
698
  'page_template' => '(string) (Pages Only) The page template this page should use.',
699
  ),
700
 
701
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.2/sites/82974409/posts/new/',
702
 
703
  'example_request_data' => array(
704
  'headers' => array(
711
  'tags' => 'tests',
712
  'categories' => 'API'
713
  )
714
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
715
  ) );
716
 
717
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
763
  '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.",
764
  ),
765
 
766
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/posts/881',
767
 
768
  'example_request_data' => array(
769
  'headers' => array(
776
  'tags' => 'tests',
777
  'categories' => 'API'
778
  )
779
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
780
  ) );
781
 
782
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
828
  '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.",
829
  ),
830
 
831
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/posts/881',
832
 
833
  'example_request_data' => array(
834
  'headers' => array(
841
  'tags' => 'tests',
842
  'categories' => 'API'
843
  )
844
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
845
  ) );
846
 
847
  new WPCOM_JSON_API_Update_Post_v1_2_Endpoint( array(
895
  '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.",
896
  ),
897
 
898
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.2/sites/82974409/posts/881',
899
 
900
  'example_request_data' => array(
901
  'headers' => array(
908
  'tags' => 'tests',
909
  'categories' => 'API'
910
  )
911
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
912
  ) );
913
 
914
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
924
  '$post_ID' => '(int) The post ID',
925
  ),
926
 
927
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/posts/$post_ID/delete/',
928
 
929
  'example_request_data' => array(
930
  'headers' => array(
931
  'authorization' => 'Bearer YOUR_API_TOKEN'
932
  )
933
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
934
  ) );
935
 
936
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
946
  '$post_ID' => '(int) The post ID',
947
  ),
948
 
949
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/posts/$post_ID/delete/',
950
 
951
  'example_request_data' => array(
952
  'headers' => array(
953
  'authorization' => 'Bearer YOUR_API_TOKEN'
954
  )
955
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
956
  ) );
957
 
958
  new WPCOM_JSON_API_Update_Post_Endpoint( array(
969
  '$post_ID' => '(int) The post ID',
970
  ),
971
 
972
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/posts/$post_ID/restore/',
973
 
974
  'example_request_data' => array(
975
  'headers' => array(
976
  'authorization' => 'Bearer YOUR_API_TOKEN'
977
  )
978
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
979
  ) );
980
 
981
  new WPCOM_JSON_API_Update_Post_v1_1_Endpoint( array(
991
  '$post_ID' => '(int) The post ID',
992
  ),
993
 
994
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/posts/$post_ID/restore/',
995
 
996
  'example_request_data' => array(
997
  'headers' => array(
998
  'authorization' => 'Bearer YOUR_API_TOKEN'
999
  )
1000
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1001
  ) );
1002
 
1003
  /*
1029
  'found' => '(int) The number of total results found'
1030
  ),
1031
 
1032
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/media/?number=2',
1033
+ 'example_request_data' => array(
1034
+ 'headers' => array(
1035
+ 'authorization' => 'Bearer YOUR_API_TOKEN'
1036
+ )
1037
+ )
1038
  ) );
1039
 
1040
  new WPCOM_JSON_API_List_Media_v1_1_Endpoint( array(
1075
  'found' => '(int) The number of total results found'
1076
  ),
1077
 
1078
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/media',
1079
+ 'example_request_data' => array(
1080
+ 'headers' => array(
1081
+ 'authorization' => 'Bearer YOUR_API_TOKEN'
1082
+ )
1083
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1084
  ) );
1085
 
1086
  new WPCOM_JSON_API_Get_Media_Endpoint( array(
1107
  'metadata' => '(array) Array of metadata about the file, such as Exif data or sizes',
1108
  ),
1109
 
1110
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/media/934',
1111
+ 'example_request_data' => array(
1112
+ 'headers' => array(
1113
+ 'authorization' => 'Bearer YOUR_API_TOKEN'
1114
+ )
1115
+ )
1116
  ) );
1117
 
1118
  new WPCOM_JSON_API_Get_Media_v1_1_Endpoint( array(
1148
  '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.'
1149
  ),
1150
 
1151
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/media/934',
1152
  'example_request_data' => array(
1153
  'headers' => array(
1154
  'authorization' => 'Bearer YOUR_API_TOKEN'
1155
  )
1156
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1157
  ) );
1158
 
1159
  new WPCOM_JSON_API_Upload_Media_Endpoint( array(
1175
  'media_urls' => "(array) An array of URLs to upload to the post."
1176
  ),
1177
 
1178
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/media/new/',
1179
 
1180
  'response_format' => array(
1181
  'media' => '(array) Array of uploaded media',
1182
  'errors' => '(array) Array of error messages of uploading media failures'
1183
  ),
1184
+ 'example_request_data' => array(
1185
+ 'headers' => array(
1186
+ 'authorization' => 'Bearer YOUR_API_TOKEN'
1187
+ ),
1188
+ 'body' => array(
1189
+ 'media_urls' => "https://s.w.org/about/images/logos/codeispoetry-rgb.png"
1190
+ )
1191
+ )
1192
  ) );
1193
 
1194
  new WPCOM_JSON_API_Upload_Media_v1_1_Endpoint( array(
1216
  'errors' => '(array) Array of error messages of uploading media failures'
1217
  ),
1218
 
1219
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/media/new',
1220
  'example_request_data' => array(
1221
  'headers' => array(
1222
  'authorization' => 'Bearer YOUR_API_TOKEN'
1223
  ),
1224
  'body' => array(
1225
+ 'media_urls' => "https://s.w.org/about/images/logos/codeispoetry-rgb.png"
1226
  )
1227
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1228
  ) );
1229
 
1230
  new WPCOM_JSON_API_Update_Media_Endpoint( array(
1255
  'caption' => '(string) User provided caption of the file',
1256
  'description' => '(string) Description of the file',
1257
  'metadata' => '(array) Array of metadata about the file, such as Exif data or sizes',
1258
+ ),
1259
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/media/446',
1260
+ 'example_request_data' => array(
1261
+ 'headers' => array(
1262
+ 'authorization' => 'Bearer YOUR_API_TOKEN'
1263
+ ),
1264
+ 'body' => array(
1265
+ 'title' => 'Updated Title'
1266
+ )
1267
  )
1268
  ) );
1269
 
1311
  '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.'
1312
  ),
1313
 
1314
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/media/446',
1315
  'example_request_data' => array(
1316
  'headers' => array(
1317
  'authorization' => 'Bearer YOUR_API_TOKEN'
1319
  'body' => array(
1320
  'title' => 'Updated Title'
1321
  )
1322
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1323
  ) );
1324
 
1325
 
1347
  'caption' => '(string) User provided caption of the file',
1348
  'description' => '(string) Description of the file',
1349
  'metadata' => '(array) Misc array of information about the file, such as exif data or sizes',
1350
+ ),
1351
+
1352
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/media/$media_ID/delete',
1353
+ 'example_request_data' => array(
1354
+ 'headers' => array(
1355
+ 'authorization' => 'Bearer YOUR_API_TOKEN'
1356
+ )
1357
  )
1358
  ) );
1359
 
1392
  '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'
1393
  ),
1394
 
1395
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/media/$media_ID/delete',
1396
  'example_request_data' => array(
1397
  'headers' => array(
1398
  'authorization' => 'Bearer YOUR_API_TOKEN'
1399
  )
1400
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1401
  ) );
1402
 
1403
  /*
1414
  '$site' => '(int|string) Site ID or domain',
1415
  ),
1416
 
1417
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/comments/?number=2'
1418
  ) );
1419
 
1420
  new WPCOM_JSON_API_List_Comments_Endpoint( array(
1429
  '$post_ID' => '(int) The post ID',
1430
  ),
1431
 
1432
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/posts/7/replies/?number=2'
1433
  ) );
1434
 
1435
  new WPCOM_JSON_API_Get_Comment_Endpoint( array(
1444
  '$comment_ID' => '(int) The comment ID'
1445
  ),
1446
 
1447
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/comments/147564'
1448
  ) );
1449
 
1450
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
1469
  'pass_wpcom_user_details' => true,
1470
  'can_use_user_details_instead_of_blog_membership' => true,
1471
 
1472
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/posts/843/replies/new/',
1473
  'example_request_data' => array(
1474
  'headers' => array(
1475
  'authorization' => 'Bearer YOUR_API_TOKEN'
1477
  'body' => array(
1478
  'content' => 'Your reply is very interesting. This is a reply.'
1479
  )
1480
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1481
  ) );
1482
 
1483
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
1501
  'pass_wpcom_user_details' => true,
1502
  'can_use_user_details_instead_of_blog_membership' => true,
1503
 
1504
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/comments/29/replies/new',
1505
  'example_request_data' => array(
1506
  'headers' => array(
1507
  'authorization' => 'Bearer YOUR_API_TOKEN'
1509
  'body' => array(
1510
  'content' => 'This reply is very interesting. This is editing a comment reply via the API.',
1511
  )
1512
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1513
  ) );
1514
 
1515
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
1537
  ),
1538
  ),
1539
 
1540
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/comments/29',
1541
  'example_request_data' => array(
1542
  'headers' => array(
1543
  'authorization' => 'Bearer YOUR_API_TOKEN'
1546
  'content' => 'This reply is now edited via the API.',
1547
  'status' => 'approved',
1548
  )
1549
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1550
  ) );
1551
 
1552
  new WPCOM_JSON_API_Update_Comment_Endpoint( array(
1561
  '$comment_ID' => '(int) The comment ID'
1562
  ),
1563
 
1564
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/comments/$comment_ID/delete',
1565
  'example_request_data' => array(
1566
  'headers' => array(
1567
  'authorization' => 'Bearer YOUR_API_TOKEN'
1568
  )
1569
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1570
  ) );
1571
 
1572
  /**
1584
  '$category' => '(string) The category slug'
1585
  ),
1586
 
1587
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/categories/slug:community'
1588
  ) );
1589
 
1590
  new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
1614
  'found' => '(int) The number of categories returned.',
1615
  'categories' => '(array) Array of category objects.',
1616
  ),
1617
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/categories/?number=5'
1618
  ) );
1619
 
1620
  new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
1644
  'found' => '(int) The number of tags returned.',
1645
  'tags' => '(array) Array of tag objects.',
1646
  ),
1647
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/tags/?number=5'
1648
  ) );
1649
 
1650
  new WPCOM_JSON_API_Get_Taxonomy_Endpoint( array(
1659
  '$tag' => '(string) The tag slug'
1660
  ),
1661
 
1662
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/tags/slug:wordpresscom'
1663
  ) );
1664
 
1665
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
1679
  'parent' => '(int) ID of the parent category',
1680
  ),
1681
 
1682
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/categories/new/',
1683
  'example_request_data' => array(
1684
  'headers' => array(
1685
  'authorization' => 'Bearer YOUR_API_TOKEN'
1687
  'body' => array(
1688
  'name' => 'Puppies',
1689
  )
1690
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1691
  ) );
1692
 
1693
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
1706
  'description' => '(string) A description of the tag',
1707
  ),
1708
 
1709
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/tags/new/',
1710
  'example_request_data' => array(
1711
  'headers' => array(
1712
  'authorization' => 'Bearer YOUR_API_TOKEN'
1714
  'body' => array(
1715
  'name' => 'Kitties'
1716
  )
1717
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1718
  ) );
1719
 
1720
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
1734
  'description' => '(string) A description of the tag',
1735
  ),
1736
 
1737
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/tags/slug:testing-tag',
1738
  'example_request_data' => array(
1739
  'headers' => array(
1740
  'authorization' => 'Bearer YOUR_API_TOKEN'
1742
  'body' => array(
1743
  'description' => 'Kitties are awesome!'
1744
  )
1745
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1746
  ) );
1747
 
1748
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
1763
  'parent' => '(int) ID of the parent category',
1764
  ),
1765
 
1766
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/categories/slug:testing-category',
1767
  'example_request_data' => array(
1768
  'headers' => array(
1769
  'authorization' => 'Bearer YOUR_API_TOKEN'
1771
  'body' => array(
1772
  'description' => 'Puppies are great!'
1773
  )
1774
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1775
  ) );
1776
 
1777
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
1790
  'success' => '(bool) Was the operation successful?',
1791
  ),
1792
 
1793
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/categories/slug:$category/delete',
1794
  'example_request_data' => array(
1795
  'headers' => array(
1796
  'authorization' => 'Bearer YOUR_API_TOKEN'
1797
  ),
1798
+ )
 
 
 
 
1799
  ) );
1800
 
1801
  new WPCOM_JSON_API_Update_Taxonomy_Endpoint( array(
1814
  'success' => '(bool) Was the operation successful?',
1815
  ),
1816
 
1817
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/tags/slug:$tag/delete',
1818
  'example_request_data' => array(
1819
  'headers' => array(
1820
  'authorization' => 'Bearer YOUR_API_TOKEN'
1821
  ),
1822
+ )
 
 
 
 
1823
  ) );
1824
 
1825
  new WPCOM_JSON_API_List_Users_Endpoint( array(
1859
  'authors' => '(array:author) Array of author objects.',
1860
  ),
1861
 
1862
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/users',
1863
  'example_request_data' => array(
1864
  'headers' => array(
1865
  'authorization' => 'Bearer YOUR_API_TOKEN'
1866
  ),
1867
+ )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1868
  ) );
1869
 
1870
  new WPCOM_JSON_API_Site_Settings_Endpoint( array(
1944
  'sharing_open_links' => '(string) Link target for sharing buttons (same or new)',
1945
  'twitter_via' => '(string) Twitter username to include in tweets when people share using the Twitter button',
1946
  'jetpack-twitter-cards-site-tag' => '(string) The Twitter username of the owner of the site\'s domain.',
1947
+ 'eventbrite_api_token' => '(int) The Keyring token ID for an Eventbrite token to associate with the site',
1948
  ),
1949
 
1950
  'response_format' => array(
json-endpoints/class.wpcom-json-api-get-post-counts-v1-1-endpoint.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WPCOM_JSON_API_GET_Post_Counts_V1_1_Endpoint extends WPCOM_JSON_API_Endpoint {
4
+ public function callback( $path = '', $blog_id = 0, $post_type = 'post' ) {
5
+ if ( ! get_current_user_id() ) {
6
+ return new WP_Error( 'authorization_required', __( 'An active access token must be used to retrieve post counts.', 'jetpack' ), 403 );
7
+ }
8
+
9
+ $blog_id = $this->api->switch_to_blog_and_validate_user( $this->api->get_blog_id( $blog_id ), false );
10
+
11
+ if ( is_wp_error( $blog_id ) ) {
12
+ // invalid token/user access
13
+ return $blog_id;
14
+ }
15
+
16
+ if ( ! post_type_exists( $post_type ) ) {
17
+ return new WP_Error( 'unknown_post_type', __( 'Unknown post type requested.', 'jetpack' ), 404 );
18
+ }
19
+
20
+ $wp_post_counts = (array) wp_count_posts( $post_type );
21
+ $whitelist = array( 'publish' );
22
+ $counts = array();
23
+
24
+ if ( current_user_can( 'edit_posts' ) ) {
25
+ array_push( $whitelist, 'draft', 'future', 'pending', 'private', 'trash' );
26
+ }
27
+
28
+ foreach ( $wp_post_counts as $post_type => $type_count ) {
29
+ if ( in_array( $post_type, $whitelist ) ) {
30
+ $counts[ $post_type ] = (int) $type_count;
31
+ }
32
+ };
33
+
34
+ $return = array(
35
+ 'statuses' => (array) $counts
36
+ );
37
+
38
+ return $return;
39
+ }
40
+ }
json-endpoints/class.wpcom-json-api-get-site-endpoint.php CHANGED
@@ -376,7 +376,7 @@ class WPCOM_JSON_API_List_Post_Formats_Endpoint extends WPCOM_JSON_API_Endpoint
376
  }
377
  }
378
 
379
- $response['formats'] = $supported_formats;
380
 
381
  return $response;
382
  }
@@ -414,7 +414,7 @@ class WPCOM_JSON_API_List_Page_Templates_Endpoint extends WPCOM_JSON_API_Endpoin
414
  }
415
 
416
  class WPCOM_JSON_API_List_Post_Types_Endpoint extends WPCOM_JSON_API_Endpoint {
417
- static $post_type_keys_to_include = array( 'name', 'label', 'description', 'map_meta_cap' );
418
 
419
  // /sites/%s/post-types -> $blog_id
420
  function callback( $path = '', $blog_id = 0 ) {
376
  }
377
  }
378
 
379
+ $response['formats'] = (object) $supported_formats;
380
 
381
  return $response;
382
  }
414
  }
415
 
416
  class WPCOM_JSON_API_List_Post_Types_Endpoint extends WPCOM_JSON_API_Endpoint {
417
+ static $post_type_keys_to_include = array( 'name', 'label', 'description', 'map_meta_cap', 'cap' );
418
 
419
  // /sites/%s/post-types -> $blog_id
420
  function callback( $path = '', $blog_id = 0 ) {
json-endpoints/class.wpcom-json-api-list-comments-endpoint.php CHANGED
@@ -61,6 +61,7 @@ class WPCOM_JSON_API_List_Comments_Walker extends Walker {
61
  class WPCOM_JSON_API_List_Comments_Endpoint extends WPCOM_JSON_API_Comment_Endpoint {
62
  var $response_format = array(
63
  'found' => '(int) The total number of comments found that match the request (ignoring limits, offsets, and pagination).',
 
64
  'comments' => '(array:comment) An array of comment objects.',
65
  );
66
 
@@ -236,7 +237,10 @@ class WPCOM_JSON_API_List_Comments_Endpoint extends WPCOM_JSON_API_Comment_Endpo
236
  foreach ( array_keys( $this->response_format ) as $key ) {
237
  switch ( $key ) {
238
  case 'found' :
239
- $return[$key] = (int) $found;
 
 
 
240
  break;
241
  case 'comments' :
242
  $return_comments = array();
@@ -251,7 +255,7 @@ class WPCOM_JSON_API_List_Comments_Endpoint extends WPCOM_JSON_API_Comment_Endpo
251
  do_action( 'wpcom_json_api_objects', 'comments', count( $return_comments ) );
252
  }
253
 
254
- $return[$key] = $return_comments;
255
  break;
256
  }
257
  }
61
  class WPCOM_JSON_API_List_Comments_Endpoint extends WPCOM_JSON_API_Comment_Endpoint {
62
  var $response_format = array(
63
  'found' => '(int) The total number of comments found that match the request (ignoring limits, offsets, and pagination).',
64
+ 'site_ID' => '(int) The site ID',
65
  'comments' => '(array:comment) An array of comment objects.',
66
  );
67
 
237
  foreach ( array_keys( $this->response_format ) as $key ) {
238
  switch ( $key ) {
239
  case 'found' :
240
+ $return[ $key ] = (int) $found;
241
+ break;
242
+ case 'site_ID' :
243
+ $return[ $key ] = (int) $blog_id;
244
  break;
245
  case 'comments' :
246
  $return_comments = array();
255
  do_action( 'wpcom_json_api_objects', 'comments', count( $return_comments ) );
256
  }
257
 
258
+ $return[ $key ] = $return_comments;
259
  break;
260
  }
261
  }
json-endpoints/class.wpcom-json-api-list-posts-v1-1-endpoint.php CHANGED
@@ -9,6 +9,7 @@ class WPCOM_JSON_API_List_Posts_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_E
9
  var $response_format = array(
10
  'found' => '(int) The total number of posts found that match the request (ignoring limits, offsets, and pagination).',
11
  'posts' => '(array:post) An array of post objects.',
 
12
  );
13
 
14
  // /sites/%s/posts/ -> $blog_id
@@ -290,16 +291,27 @@ class WPCOM_JSON_API_List_Posts_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_E
290
 
291
  $return[$key] = $posts;
292
  break;
293
- }
294
- }
295
 
296
- if ( $is_eligible_for_page_handle && $return['posts'] ) {
297
- $last_post = end( $return['posts'] );
298
- reset( $return['posts'] );
 
 
 
 
 
299
 
300
- if ( ( $return['found'] > count( $return['posts'] ) ) && $last_post ) {
301
- $return['meta'] = array();
302
- $return['meta']['next_page'] = $this->build_page_handle( $last_post, $query );
 
 
 
 
 
 
 
 
303
  }
304
  }
305
 
9
  var $response_format = array(
10
  'found' => '(int) The total number of posts found that match the request (ignoring limits, offsets, and pagination).',
11
  'posts' => '(array:post) An array of post objects.',
12
+ 'meta' => '(object) Meta data',
13
  );
14
 
15
  // /sites/%s/posts/ -> $blog_id
291
 
292
  $return[$key] = $posts;
293
  break;
 
 
294
 
295
+ case 'meta' :
296
+ if ( ! is_array( $args['type'] ) ) {
297
+ $return[$key] = (object) array(
298
+ 'links' => (object) array(
299
+ 'counts' => (string) $this->get_site_link( $blog_id, 'post-counts/' . $args['type'] ),
300
+ )
301
+ );
302
+ }
303
 
304
+ if ( $is_eligible_for_page_handle && $return['posts'] ) {
305
+ $last_post = end( $return['posts'] );
306
+ reset( $return['posts'] );
307
+ if ( ( $return['found'] > count( $return['posts'] ) ) && $last_post ) {
308
+ if ( ! isset( $return[$key] ) ) {
309
+ $return[$key] = (object) array();
310
+ }
311
+ $return[$key]->next_page = $this->build_page_handle( $last_post, $query );
312
+ }
313
+ }
314
+ break;
315
  }
316
  }
317
 
json-endpoints/class.wpcom-json-api-site-settings-endpoint.php CHANGED
@@ -111,6 +111,11 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
111
  )
112
  );
113
 
 
 
 
 
 
114
  $response[$key] = array(
115
 
116
  // also exists as "options"
@@ -156,6 +161,7 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
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' ) ) {
@@ -190,7 +196,14 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
190
 
191
  // $this->input() retrieves posted arguments whitelisted and casted to the $request_format
192
  // specs that get passed in when this class is instantiated
193
- $input = $this->input();
 
 
 
 
 
 
 
194
 
195
  $jetpack_relatedposts_options = array();
196
  $sharing_options = array();
@@ -291,6 +304,20 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
291
  $sharing_options[ $key ] = $value;
292
  break;
293
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
294
  // no worries, we've already whitelisted and casted arguments above
295
  default:
296
  if ( update_option( $key, $value ) ) {
111
  )
112
  );
113
 
114
+ $eventbrite_api_token = (int) get_option( 'eventbrite_api_token' );
115
+ if ( 0 === $eventbrite_api_token ) {
116
+ $eventbrite_api_token = null;
117
+ }
118
+
119
  $response[$key] = array(
120
 
121
  // also exists as "options"
161
  'jetpack_comment_likes_enabled' => (bool) get_option( 'jetpack_comment_likes_enabled', false ),
162
  'twitter_via' => (string) get_option( 'twitter_via' ),
163
  'jetpack-twitter-cards-site-tag' => (string) get_option( 'jetpack-twitter-cards-site-tag' ),
164
+ 'eventbrite_api_token' => $eventbrite_api_token,
165
  );
166
 
167
  if ( class_exists( 'Sharing_Service' ) ) {
196
 
197
  // $this->input() retrieves posted arguments whitelisted and casted to the $request_format
198
  // specs that get passed in when this class is instantiated
199
+ /**
200
+ * Filters the settings to be updated on the site.
201
+ *
202
+ * @since 3.6
203
+ *
204
+ * @param array $input Associative array of site settings to be updated.
205
+ */
206
+ $input = apply_filters( 'rest_api_update_site_settings', $this->input() );
207
 
208
  $jetpack_relatedposts_options = array();
209
  $sharing_options = array();
304
  $sharing_options[ $key ] = $value;
305
  break;
306
 
307
+ // Keyring token option
308
+ case 'eventbrite_api_token':
309
+ // These options can only be updated for sites hosted on WordPress.com
310
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
311
+ if ( empty( $value ) || WPCOM_JSON_API::is_falsy( $value ) ) {
312
+ if ( delete_option( $key ) ) {
313
+ $updated[ $key ] = null;
314
+ }
315
+ } else if ( update_option( $key, $value ) ) {
316
+ $updated[ $key ] = (int) $value;
317
+ }
318
+ }
319
+ break;
320
+
321
  // no worries, we've already whitelisted and casted arguments above
322
  default:
323
  if ( update_option( $key, $value ) ) {
json-endpoints/class.wpcom-json-api-update-post-endpoint.php CHANGED
@@ -222,12 +222,20 @@ class WPCOM_JSON_API_Update_Post_Endpoint extends WPCOM_JSON_API_Post_Endpoint {
222
 
223
  unset( $input['comments_open'], $input['pings_open'] );
224
 
225
- $insert['menu_order'] = $input['menu_order'];
226
- unset( $input['menu_order'] );
 
 
 
 
 
 
 
227
 
228
- $publicize = $input['publicize'];
229
- $publicize_custom_message = $input['publicize_message'];
230
- unset( $input['publicize'], $input['publicize_message'] );
 
231
 
232
  if ( isset( $input['featured_image'] ) ) {
233
  $featured_image = trim( $input['featured_image'] );
@@ -236,17 +244,25 @@ class WPCOM_JSON_API_Update_Post_Endpoint extends WPCOM_JSON_API_Post_Endpoint {
236
  unset( $input['featured_image'] );
237
  }
238
 
239
- $metadata = $input['metadata'];
240
- unset( $input['metadata'] );
 
 
241
 
242
- $likes = $input['likes_enabled'];
243
- $sharing = $input['sharing_enabled'];
 
 
244
 
245
- unset( $input['likes_enabled'] );
246
- unset( $input['sharing_enabled'] );
 
 
247
 
248
- $sticky = $input['sticky'];
249
- unset( $input['sticky'] );
 
 
250
 
251
  foreach ( $input as $key => $value ) {
252
  $insert["post_$key"] = $value;
@@ -393,7 +409,7 @@ class WPCOM_JSON_API_Update_Post_Endpoint extends WPCOM_JSON_API_Post_Endpoint {
393
  // We ask the user/dev to pass Publicize services he/she wants activated for the post, but Publicize expects us
394
  // to instead flag the ones we don't want to be skipped. proceed with said logic.
395
  // any posts coming from Path (client ID 25952) should also not publicize
396
- if ( $publicize === false || 25952 == $this->api->token_details['client_id'] ) {
397
  // No publicize at all, skip all by ID
398
  foreach ( $GLOBALS['publicize_ui']->publicize->get_services( 'all' ) as $name => $service ) {
399
  delete_post_meta( $post_id, $GLOBALS['publicize_ui']->publicize->POST_SKIP . $name );
@@ -549,7 +565,7 @@ class WPCOM_JSON_API_Update_Post_Endpoint extends WPCOM_JSON_API_Post_Endpoint {
549
  return $return;
550
  }
551
 
552
- if ( 'revision' === $input['type'] ) {
553
  $return['preview_nonce'] = wp_create_nonce( 'post_preview_' . $input['parent'] );
554
  }
555
 
222
 
223
  unset( $input['comments_open'], $input['pings_open'] );
224
 
225
+ if ( isset( $input['menu_order'] ) ) {
226
+ $insert['menu_order'] = $input['menu_order'];
227
+ unset( $input['menu_order'] );
228
+ }
229
+
230
+ if ( isset( $input['publicize'] ) ) {
231
+ $publicize = $input['publicize'];
232
+ unset( $input['publicize'] );
233
+ }
234
 
235
+ if ( isset( $input['publicize_message'] ) ) {
236
+ $publicize_custom_message = $input['publicize_message'];
237
+ unset( $input['publicize_message'] );
238
+ }
239
 
240
  if ( isset( $input['featured_image'] ) ) {
241
  $featured_image = trim( $input['featured_image'] );
244
  unset( $input['featured_image'] );
245
  }
246
 
247
+ if ( isset( $input['metadata'] ) ) {
248
+ $metadata = $input['metadata'];
249
+ unset( $input['metadata'] );
250
+ }
251
 
252
+ if ( isset( $input['likes_enabled'] ) ) {
253
+ $likes = $input['likes_enabled'];
254
+ unset( $input['likes_enabled'] );
255
+ }
256
 
257
+ if ( isset( $input['sharing_enabled'] ) ) {
258
+ $sharing = $input['sharing_enabled'];
259
+ unset( $input['sharing_enabled'] );
260
+ }
261
 
262
+ if ( isset( $input['sticky'] ) ) {
263
+ $sticky = $input['sticky'];
264
+ unset( $input['sticky'] );
265
+ }
266
 
267
  foreach ( $input as $key => $value ) {
268
  $insert["post_$key"] = $value;
409
  // We ask the user/dev to pass Publicize services he/she wants activated for the post, but Publicize expects us
410
  // to instead flag the ones we don't want to be skipped. proceed with said logic.
411
  // any posts coming from Path (client ID 25952) should also not publicize
412
+ if ( $publicize === false || ( isset( $this->api->token_details['client_id'] ) && 25952 == $this->api->token_details['client_id'] ) ) {
413
  // No publicize at all, skip all by ID
414
  foreach ( $GLOBALS['publicize_ui']->publicize->get_services( 'all' ) as $name => $service ) {
415
  delete_post_meta( $post_id, $GLOBALS['publicize_ui']->publicize->POST_SKIP . $name );
565
  return $return;
566
  }
567
 
568
+ if ( isset( $input['type'] ) && 'revision' === $input['type'] ) {
569
  $return['preview_nonce'] = wp_create_nonce( 'post_preview_' . $input['parent'] );
570
  }
571
 
json-endpoints/class.wpcom-json-api-update-post-v1-1-endpoint.php CHANGED
@@ -229,12 +229,20 @@ class WPCOM_JSON_API_Update_Post_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_
229
 
230
  unset( $input['discussion'] );
231
 
232
- $insert['menu_order'] = $input['menu_order'];
233
- unset( $input['menu_order'] );
 
 
 
 
 
 
 
234
 
235
- $publicize = $input['publicize'];
236
- $publicize_custom_message = $input['publicize_message'];
237
- unset( $input['publicize'], $input['publicize_message'] );
 
238
 
239
  if ( isset( $input['featured_image'] ) ) {
240
  $featured_image = trim( $input['featured_image'] );
@@ -242,17 +250,25 @@ class WPCOM_JSON_API_Update_Post_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_
242
  unset( $input['featured_image'] );
243
  }
244
 
245
- $metadata = $input['metadata'];
246
- unset( $input['metadata'] );
 
 
247
 
248
- $likes = $input['likes_enabled'];
249
- $sharing = $input['sharing_enabled'];
 
 
250
 
251
- unset( $input['likes_enabled'] );
252
- unset( $input['sharing_enabled'] );
 
 
253
 
254
- $sticky = $input['sticky'];
255
- unset( $input['sticky'] );
 
 
256
 
257
  foreach ( $input as $key => $value ) {
258
  $insert["post_$key"] = $value;
@@ -398,7 +414,7 @@ class WPCOM_JSON_API_Update_Post_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_
398
  // We ask the user/dev to pass Publicize services he/she wants activated for the post, but Publicize expects us
399
  // to instead flag the ones we don't want to be skipped. proceed with said logic.
400
  // any posts coming from Path (client ID 25952) should also not publicize
401
- if ( $publicize === false || 25952 == $this->api->token_details['client_id'] ) {
402
  // No publicize at all, skip all by ID
403
  foreach ( $GLOBALS['publicize_ui']->publicize->get_services( 'all' ) as $name => $service ) {
404
  delete_post_meta( $post_id, $GLOBALS['publicize_ui']->publicize->POST_SKIP . $name );
@@ -555,7 +571,7 @@ class WPCOM_JSON_API_Update_Post_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_
555
  return $return;
556
  }
557
 
558
- if ( 'revision' === $input['type'] ) {
559
  $return['preview_nonce'] = wp_create_nonce( 'post_preview_' . $input['parent'] );
560
  }
561
 
229
 
230
  unset( $input['discussion'] );
231
 
232
+ if ( isset( $input['menu_order'] ) ) {
233
+ $insert['menu_order'] = $input['menu_order'];
234
+ unset( $input['menu_order'] );
235
+ }
236
+
237
+ if ( isset( $input['publicize'] ) ) {
238
+ $publicize = $input['publicize'];
239
+ unset( $input['publicize'] );
240
+ }
241
 
242
+ if ( isset( $input['publicize_message'] ) ) {
243
+ $publicize_custom_message = $input['publicize_message'];
244
+ unset( $input['publicize_message'] );
245
+ }
246
 
247
  if ( isset( $input['featured_image'] ) ) {
248
  $featured_image = trim( $input['featured_image'] );
250
  unset( $input['featured_image'] );
251
  }
252
 
253
+ if ( isset( $input['metadata'] ) ) {
254
+ $metadata = $input['metadata'];
255
+ unset( $input['metadata'] );
256
+ }
257
 
258
+ if ( isset( $input['likes_enabled'] ) ) {
259
+ $likes = $input['likes_enabled'];
260
+ unset( $input['likes_enabled'] );
261
+ }
262
 
263
+ if ( isset( $input['sharing_enabled'] ) ) {
264
+ $sharing = $input['sharing_enabled'];
265
+ unset( $input['sharing_enabled'] );
266
+ }
267
 
268
+ if ( isset( $input['sticky'] ) ) {
269
+ $sticky = $input['sticky'];
270
+ unset( $input['sticky'] );
271
+ }
272
 
273
  foreach ( $input as $key => $value ) {
274
  $insert["post_$key"] = $value;
414
  // We ask the user/dev to pass Publicize services he/she wants activated for the post, but Publicize expects us
415
  // to instead flag the ones we don't want to be skipped. proceed with said logic.
416
  // any posts coming from Path (client ID 25952) should also not publicize
417
+ if ( $publicize === false || ( isset( $this->api->token_details['client_id'] ) && 25952 == $this->api->token_details['client_id'] ) ) {
418
  // No publicize at all, skip all by ID
419
  foreach ( $GLOBALS['publicize_ui']->publicize->get_services( 'all' ) as $name => $service ) {
420
  delete_post_meta( $post_id, $GLOBALS['publicize_ui']->publicize->POST_SKIP . $name );
571
  return $return;
572
  }
573
 
574
+ if ( isset( $input['type'] ) && 'revision' === $input['type'] ) {
575
  $return['preview_nonce'] = wp_create_nonce( 'post_preview_' . $input['parent'] );
576
  }
577
 
json-endpoints/class.wpcom-json-api-update-post-v1-2-endpoint.php CHANGED
@@ -229,12 +229,20 @@ class WPCOM_JSON_API_Update_Post_v1_2_Endpoint extends WPCOM_JSON_API_Update_Pos
229
 
230
  unset( $input['discussion'] );
231
 
232
- $insert['menu_order'] = $input['menu_order'];
233
- unset( $input['menu_order'] );
 
 
 
 
 
 
 
234
 
235
- $publicize = $input['publicize'];
236
- $publicize_custom_message = $input['publicize_message'];
237
- unset( $input['publicize'], $input['publicize_message'] );
 
238
 
239
  if ( isset( $input['featured_image'] ) ) {
240
  $featured_image = trim( $input['featured_image'] );
@@ -242,17 +250,25 @@ class WPCOM_JSON_API_Update_Post_v1_2_Endpoint extends WPCOM_JSON_API_Update_Pos
242
  unset( $input['featured_image'] );
243
  }
244
 
245
- $metadata = $input['metadata'];
246
- unset( $input['metadata'] );
 
 
247
 
248
- $likes = $input['likes_enabled'];
249
- $sharing = $input['sharing_enabled'];
 
 
250
 
251
- unset( $input['likes_enabled'] );
252
- unset( $input['sharing_enabled'] );
 
 
253
 
254
- $sticky = $input['sticky'];
255
- unset( $input['sticky'] );
 
 
256
 
257
  foreach ( $input as $key => $value ) {
258
  $insert["post_$key"] = $value;
@@ -398,7 +414,7 @@ class WPCOM_JSON_API_Update_Post_v1_2_Endpoint extends WPCOM_JSON_API_Update_Pos
398
  // We ask the user/dev to pass Publicize services he/she wants activated for the post, but Publicize expects us
399
  // to instead flag the ones we don't want to be skipped. proceed with said logic.
400
  // any posts coming from Path (client ID 25952) should also not publicize
401
- if ( $publicize === false || 25952 == $this->api->token_details['client_id'] ) {
402
  // No publicize at all, skip all by ID
403
  foreach ( $GLOBALS['publicize_ui']->publicize->get_services( 'all' ) as $name => $service ) {
404
  delete_post_meta( $post_id, $GLOBALS['publicize_ui']->publicize->POST_SKIP . $name );
@@ -555,7 +571,7 @@ class WPCOM_JSON_API_Update_Post_v1_2_Endpoint extends WPCOM_JSON_API_Update_Pos
555
  return $return;
556
  }
557
 
558
- if ( 'revision' === $input['type'] ) {
559
  $return['preview_nonce'] = wp_create_nonce( 'post_preview_' . $input['parent'] );
560
  }
561
 
229
 
230
  unset( $input['discussion'] );
231
 
232
+ if ( isset( $input['menu_order'] ) ) {
233
+ $insert['menu_order'] = $input['menu_order'];
234
+ unset( $input['menu_order'] );
235
+ }
236
+
237
+ if ( isset( $input['publicize'] ) ) {
238
+ $publicize = $input['publicize'];
239
+ unset( $input['publicize'] );
240
+ }
241
 
242
+ if ( isset( $input['publicize_message'] ) ) {
243
+ $publicize_custom_message = $input['publicize_message'];
244
+ unset( $input['publicize_message'] );
245
+ }
246
 
247
  if ( isset( $input['featured_image'] ) ) {
248
  $featured_image = trim( $input['featured_image'] );
250
  unset( $input['featured_image'] );
251
  }
252
 
253
+ if ( isset( $input['metadata'] ) ) {
254
+ $metadata = $input['metadata'];
255
+ unset( $input['metadata'] );
256
+ }
257
 
258
+ if ( isset( $input['likes_enabled'] ) ) {
259
+ $likes = $input['likes_enabled'];
260
+ unset( $input['likes_enabled'] );
261
+ }
262
 
263
+ if ( isset( $input['sharing_enabled'] ) ) {
264
+ $sharing = $input['sharing_enabled'];
265
+ unset( $input['sharing_enabled'] );
266
+ }
267
 
268
+ if ( isset( $input['sticky'] ) ) {
269
+ $sticky = $input['sticky'];
270
+ unset( $input['sticky'] );
271
+ }
272
 
273
  foreach ( $input as $key => $value ) {
274
  $insert["post_$key"] = $value;
414
  // We ask the user/dev to pass Publicize services he/she wants activated for the post, but Publicize expects us
415
  // to instead flag the ones we don't want to be skipped. proceed with said logic.
416
  // any posts coming from Path (client ID 25952) should also not publicize
417
+ if ( $publicize === false || ( isset( $this->api->token_details['client_id'] ) && 25952 == $this->api->token_details['client_id'] ) ) {
418
  // No publicize at all, skip all by ID
419
  foreach ( $GLOBALS['publicize_ui']->publicize->get_services( 'all' ) as $name => $service ) {
420
  delete_post_meta( $post_id, $GLOBALS['publicize_ui']->publicize->POST_SKIP . $name );
571
  return $return;
572
  }
573
 
574
+ if ( isset( $input['type'] ) && 'revision' === $input['type'] ) {
575
  $return['preview_nonce'] = wp_create_nonce( 'post_preview_' . $input['parent'] );
576
  }
577
 
languages/jetpack-af.mo CHANGED
Binary file
languages/jetpack-ar.mo CHANGED
Binary file
languages/jetpack-az.mo CHANGED
Binary file
languages/jetpack-bg_BG.mo CHANGED
Binary file
languages/jetpack-bs_BA.mo CHANGED
Binary file
languages/jetpack-ca.mo CHANGED
Binary file
languages/jetpack-ckb.mo CHANGED
Binary file
languages/jetpack-cs_CZ.mo CHANGED
Binary file
languages/jetpack-cy.mo CHANGED
Binary file
languages/jetpack-da_DK.mo CHANGED
Binary file
languages/jetpack-de_DE.mo CHANGED
Binary file
languages/jetpack-el.mo CHANGED
Binary file
languages/jetpack-es_ES.mo CHANGED
Binary file
languages/jetpack-fa_IR.mo CHANGED
Binary file
languages/jetpack-fi.mo CHANGED
Binary file
languages/jetpack-fr_FR.mo CHANGED
Binary file
languages/jetpack-gd.mo ADDED
Binary file
languages/jetpack-gl_ES.mo CHANGED
Binary file
languages/jetpack-he_IL.mo CHANGED
Binary file
languages/jetpack-hr.mo CHANGED
Binary file
languages/jetpack-hu_HU.mo CHANGED
Binary file
languages/jetpack-id_ID.mo CHANGED
Binary file
languages/jetpack-is_IS.mo ADDED
Binary file
languages/jetpack-it_IT.mo CHANGED
Binary file
languages/jetpack-ja.mo CHANGED
Binary file
languages/jetpack-ka_GE.mo CHANGED
Binary file
languages/jetpack-ko_KR.mo CHANGED
Binary file
languages/jetpack-lt_LT.mo CHANGED
Binary file
languages/jetpack-mk_MK.mo CHANGED
Binary file
languages/jetpack-ms_MY.mo CHANGED
Binary file
languages/jetpack-my_MM.mo CHANGED
Binary file
languages/jetpack-nb_NO.mo CHANGED
Binary file
languages/jetpack-nl_NL.mo CHANGED
Binary file
languages/jetpack-nn_NO.mo CHANGED
Binary file
languages/jetpack-pl_PL.mo CHANGED
Binary file
languages/jetpack-pt_BR.mo CHANGED
Binary file
languages/jetpack-pt_PT.mo CHANGED
Binary file
languages/jetpack-ro_RO.mo CHANGED
Binary file
languages/jetpack-ru_RU.mo CHANGED
Binary file
languages/jetpack-sa_IN.mo CHANGED
Binary file
languages/jetpack-si_LK.mo CHANGED
Binary file
languages/jetpack-sk_SK.mo CHANGED
Binary file
languages/jetpack-sl_SI.mo CHANGED
Binary file
languages/jetpack-sq.mo CHANGED
Binary file
languages/jetpack-sr_RS.mo CHANGED
Binary file
languages/jetpack-sv_SE.mo CHANGED
Binary file
languages/jetpack-te.mo CHANGED
Binary file
languages/jetpack-th.mo CHANGED
Binary file
languages/jetpack-tr_TR.mo CHANGED
Binary file
languages/jetpack-uk.mo CHANGED
Binary file
languages/jetpack-ur.mo CHANGED
Binary file
languages/jetpack-vi.mo CHANGED
Binary file
languages/jetpack-zh_CN.mo CHANGED
Binary file
languages/jetpack-zh_TW.mo CHANGED
Binary file
locales.php CHANGED
@@ -44,8 +44,9 @@ class GP_Locale {
44
 
45
  public function index_for_number( $number ) {
46
  if ( !isset( $this->_index_for_number ) ) {
47
- $expression = Gettext_Translations::parenthesize_plural_exression( $this->plural_expression );
48
- $this->_index_for_number = Gettext_Translations::make_plural_form_function( $this->nplurals, $expression );
 
49
  }
50
  $f = $this->_index_for_number;
51
  return $f( $number );
@@ -98,7 +99,6 @@ class GP_Locales {
98
  $am->country_code = 'et';
99
  $am->wp_locale = 'am';
100
  $am->slug = 'am';
101
- $am->google_code = 'am';
102
 
103
  $an = new GP_Locale();
104
  $an->english_name = 'Aragonese';
@@ -122,6 +122,17 @@ class GP_Locales {
122
  $ar->rtl = true;
123
  $ar->preferred_sans_serif_font_family = 'Tahoma';
124
 
 
 
 
 
 
 
 
 
 
 
 
125
  $as = new GP_Locale();
126
  $as->english_name = 'Assamese';
127
  $as->native_name = 'অসমীয়া';
@@ -203,6 +214,18 @@ class GP_Locales {
203
  $bal->wp_locale = 'bal';
204
  $bal->slug = 'bal';
205
 
 
 
 
 
 
 
 
 
 
 
 
 
206
  $be = new GP_Locale();
207
  $be->english_name = 'Belarusian';
208
  $be->native_name = 'Беларуская мова';
@@ -210,7 +233,7 @@ class GP_Locales {
210
  $be->lang_code_iso_639_2 = 'bel';
211
  $be->country_code = 'by';
212
  $be->wp_locale = 'bel';
213
- $be->slug = 'bel';
214
  $be->google_code = 'be';
215
  $be->facebook_locale = 'be_BY';
216
  $be->nplurals = 3;
@@ -266,7 +289,6 @@ class GP_Locales {
266
  $bo->lang_code_iso_639_2 = 'tib';
267
  $bo->wp_locale = 'bo';
268
  $bo->slug = 'bo';
269
- $bo->google_code = 'bo';
270
  $bo->nplurals = 1;
271
  $bo->plural_expression = '0';
272
 
@@ -415,7 +437,7 @@ class GP_Locales {
415
 
416
  $de_ch = new GP_Locale();
417
  $de_ch->english_name = 'German (Switzerland)';
418
- $de_ch->native_name = 'Schweizer Hochdeutsch';
419
  $de_ch->lang_code_iso_639_1 = 'de';
420
  $de_ch->country_code = 'ch';
421
  $de_ch->wp_locale = 'de_CH';
@@ -430,18 +452,18 @@ class GP_Locales {
430
  $dv->country_code = 'mv';
431
  $dv->wp_locale = 'dv';
432
  $dv->slug = 'dv';
433
- $dv->google_code = 'dv';
434
  $dv->rtl = true;
435
 
436
- $dz = new GP_Locale();
437
- $dz->english_name = 'Dzongkha';
438
- $dz->native_name = 'རྫོང་ཁ';
439
- $dz->lang_code_iso_639_1 = 'dz';
440
- $dz->lang_code_iso_639_2 = 'dzo';
441
- $dz->country_code = 'bt';
442
- $dz->slug = 'dz';
443
- $dz->nplurals = 1;
444
- $dz->plural_expression = '0';
 
445
 
446
  $ee = new GP_Locale();
447
  $ee->english_name = 'Ewe';
@@ -487,6 +509,7 @@ class GP_Locales {
487
  $en_au->wp_locale = 'en_AU';
488
  $en_au->slug = 'en-au';
489
  $en_au->google_code = 'en';
 
490
 
491
  $en_ca = new GP_Locale();
492
  $en_ca->english_name = 'English (Canada)';
@@ -498,6 +521,7 @@ class GP_Locales {
498
  $en_ca->wp_locale = 'en_CA';
499
  $en_ca->slug = 'en-ca';
500
  $en_ca->google_code = 'en';
 
501
 
502
  $en_gb = new GP_Locale();
503
  $en_gb->english_name = 'English (UK)';
@@ -733,6 +757,16 @@ class GP_Locales {
733
  $fr_ch->country_code = 'ch';
734
  $fr_ch->slug = 'fr-ch';
735
 
 
 
 
 
 
 
 
 
 
 
736
  $fy = new GP_Locale();
737
  $fy->english_name = 'Frisian';
738
  $fy->native_name = 'Frysk';
@@ -779,6 +813,7 @@ class GP_Locales {
779
  $gl->slug = 'gl';
780
  $gl->google_code = 'gl';
781
  $gl->facebook_locale = 'gl_ES';
 
782
 
783
  $gn = new GP_Locale();
784
  $gn->english_name = 'Guaraní';
@@ -787,7 +822,15 @@ class GP_Locales {
787
  $gn->lang_code_iso_639_2 = 'grn';
788
  $gn->wp_locale = 'gn';
789
  $gn->slug = 'gn';
790
- $gn->google_code = 'gn';
 
 
 
 
 
 
 
 
791
 
792
  $gsw = new GP_Locale();
793
  $gsw->english_name = 'Swiss German';
@@ -814,6 +857,7 @@ class GP_Locales {
814
  $ha->lang_code_iso_639_2 = 'hau';
815
  $ha->slug = 'ha';
816
  $ha->rtl = true;
 
817
 
818
  $haw = new GP_Locale();
819
  $haw->english_name = 'Hawaiian';
@@ -913,7 +957,7 @@ class GP_Locales {
913
  $ido = new GP_Locale();
914
  $ido->english_name = 'Ido';
915
  $ido->native_name = 'Ido';
916
- $ido->lang_code_iso_639_1 = 'id';
917
  $ido->lang_code_iso_639_2 = 'ido';
918
  $ido->lang_code_iso_639_3 = 'ido';
919
  $ido->wp_locale = 'ido';
@@ -993,6 +1037,17 @@ class GP_Locales {
993
  $ka->nplurals = 1;
994
  $ka->plural_expression = '0';
995
 
 
 
 
 
 
 
 
 
 
 
 
996
  $kin = new GP_Locale();
997
  $kin->english_name = 'Kinyarwanda';
998
  $kin->native_name = 'Ikinyarwanda';
@@ -1063,7 +1118,6 @@ class GP_Locales {
1063
  $ku->lang_code_iso_639_2 = 'kur';
1064
  $ku->country_code = 'ku';
1065
  $ku->slug = 'ku';
1066
- $ku->google_code = 'ku';
1067
  $ku->facebook_locale = 'ku_TR';
1068
 
1069
  $ky = new GP_Locale();
@@ -1084,6 +1138,7 @@ class GP_Locales {
1084
  $la->lang_code_iso_639_2 = 'lat';
1085
  $la->slug = 'la';
1086
  $la->facebook_locale = 'la_VA';
 
1087
 
1088
  $lb = new GP_Locale();
1089
  $lb->english_name = 'Luxembourgish';
@@ -1102,7 +1157,16 @@ class GP_Locales {
1102
  $li->country_code = 'nl';
1103
  $li->wp_locale = 'li';
1104
  $li->slug = 'li';
1105
- $li->google_code = 'li';
 
 
 
 
 
 
 
 
 
1106
 
1107
  $lin = new GP_Locale();
1108
  $lin->english_name = 'Lingala';
@@ -1157,7 +1221,6 @@ class GP_Locales {
1157
  $me->lang_code_iso_639_1 = 'me';
1158
  $me->country_code = 'me';
1159
  $me->wp_locale = 'me_ME';
1160
- $me->google_code = 'srp';
1161
  $me->slug = 'me';
1162
  $me->nplurals = 3;
1163
  $me->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
@@ -1177,7 +1240,6 @@ class GP_Locales {
1177
  $mhr->lang_code_iso_639_3 = 'mhr';
1178
  $mhr->country_code = 'ru';
1179
  $mhr->slug = 'mhr';
1180
- $mhr->google_code = 'chm';
1181
 
1182
  $mk = new GP_Locale();
1183
  $mk->english_name = 'Macedonian';
@@ -1230,6 +1292,7 @@ class GP_Locales {
1230
  $mri->slug = 'mri';
1231
  $mri->nplurals = 2;
1232
  $mri->plural_expression = '(n > 1)';
 
1233
 
1234
  $mrj = new GP_Locale();
1235
  $mrj->english_name = 'Mari (Hill)';
@@ -1237,7 +1300,6 @@ class GP_Locales {
1237
  $mrj->lang_code_iso_639_3 = 'mrj';
1238
  $mrj->country_code = 'ru';
1239
  $mrj->slug = 'mrj';
1240
- $mrj->google_code = 'chm';
1241
 
1242
  $ms = new GP_Locale();
1243
  $ms->english_name = 'Malay';
@@ -1258,7 +1320,7 @@ class GP_Locales {
1258
  $mwl->slug = 'mwl';
1259
 
1260
  $my = new GP_Locale();
1261
- $my->english_name = 'Burmese';
1262
  $my->native_name = 'ဗမာစာ';
1263
  $my->lang_code_iso_639_1 = 'my';
1264
  $my->lang_code_iso_639_2 = 'mya';
@@ -1276,6 +1338,7 @@ class GP_Locales {
1276
  $ne->wp_locale = 'ne_NP';
1277
  $ne->slug = 'ne';
1278
  $ne->facebook_locale = 'ne_NP';
 
1279
 
1280
  $nb = new GP_Locale();
1281
  $nb->english_name = 'Norwegian (Bokmål)';
@@ -1318,6 +1381,7 @@ class GP_Locales {
1318
  $nn->wp_locale = 'nn_NO';
1319
  $nn->slug = 'nn';
1320
  $nn->facebook_locale = 'nn_NO';
 
1321
 
1322
  $no = new GP_Locale();
1323
  $no->english_name = 'Norwegian';
@@ -1328,12 +1392,22 @@ class GP_Locales {
1328
  $no->slug = 'no';
1329
  $no->google_code = 'no';
1330
 
1331
- $oc = new GP_Locale();
1332
- $oc->english_name = 'Occitan';
1333
- $oc->native_name = 'Occitan';
1334
- $oc->lang_code_iso_639_1 = 'oc';
1335
- $oc->lang_code_iso_639_2 = 'oci';
1336
- $oc->slug = 'oc';
 
 
 
 
 
 
 
 
 
 
1337
 
1338
  $ory = new GP_Locale();
1339
  $ory->english_name = 'Oriya';
@@ -1362,6 +1436,7 @@ class GP_Locales {
1362
  $pa->wp_locale = 'pa_IN';
1363
  $pa->slug = 'pa';
1364
  $pa->facebook_locale = 'pa_IN';
 
1365
 
1366
  $pl = new GP_Locale();
1367
  $pl->english_name = 'Polish';
@@ -1376,7 +1451,6 @@ class GP_Locales {
1376
  $pl->nplurals = 3;
1377
  $pl->plural_expression = '(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
1378
 
1379
-
1380
  $pt_br = new GP_Locale();
1381
  $pt_br->english_name = 'Portuguese (Brazil)';
1382
  $pt_br->native_name = 'Português do Brasil';
@@ -1385,7 +1459,7 @@ class GP_Locales {
1385
  $pt_br->country_code = 'br';
1386
  $pt_br->wp_locale = 'pt_BR';
1387
  $pt_br->slug = 'pt-br';
1388
- $pt_br->google_code = 'pt-PT';
1389
  $pt_br->facebook_locale = 'pt_BR';
1390
  $pt_br->nplurals = 2;
1391
  $pt_br->plural_expression = '(n > 1)';
@@ -1406,7 +1480,6 @@ class GP_Locales {
1406
  $ps->lang_code_iso_639_1 = 'ps';
1407
  $ps->wp_locale = 'ps';
1408
  $ps->slug = 'ps';
1409
- $ps->google_code = 'ps';
1410
  $ps->facebook_locale = 'ps_AF';
1411
  $ps->rtl = true;
1412
 
@@ -1433,6 +1506,15 @@ class GP_Locales {
1433
  $ro->nplurals = 3;
1434
  $ro->plural_expression = '(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2)';
1435
 
 
 
 
 
 
 
 
 
 
1436
  $ru = new GP_Locale();
1437
  $ru->english_name = 'Russian';
1438
  $ru->native_name = 'Русский';
@@ -1502,7 +1584,6 @@ class GP_Locales {
1502
  $sd->country_code = 'pk';
1503
  $sd->wp_locale = 'sd_PK';
1504
  $sd->slug = 'sd';
1505
- $sd->google_code = 'sd';
1506
 
1507
  $si = new GP_Locale();
1508
  $si->english_name = 'Sinhala';
@@ -1594,6 +1675,7 @@ class GP_Locales {
1594
  $su->slug = 'su';
1595
  $su->nplurals = 1;
1596
  $su->plural_expression = '0';
 
1597
 
1598
  $sv = new GP_Locale();
1599
  $sv->english_name = 'Swedish';
@@ -1721,7 +1803,6 @@ class GP_Locales {
1721
  $tt_ru->country_code = 'tt';
1722
  $tt_ru->wp_locale = 'tt_RU';
1723
  $tt_ru->slug = 'tt';
1724
- $tt_ru->google_code = 'tt';
1725
  $tt_ru->nplurals = 3;
1726
  $tt_ru->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
1727
 
@@ -1760,7 +1841,6 @@ class GP_Locales {
1760
  $ug->country_code = 'cn';
1761
  $ug->wp_locale = 'ug_CN';
1762
  $ug->slug = 'ug';
1763
- $ug->google_code = 'ug';
1764
 
1765
  $uk = new GP_Locale();
1766
  $uk->english_name = 'Ukrainian';
@@ -1848,6 +1928,7 @@ class GP_Locales {
1848
  $yo->lang_code_iso_639_1 = 'yo';
1849
  $yo->lang_code_iso_639_2 = 'yor';
1850
  $yo->slug = 'yo';
 
1851
 
1852
  $zh_cn = new GP_Locale();
1853
  $zh_cn->english_name = 'Chinese (China)';
44
 
45
  public function index_for_number( $number ) {
46
  if ( !isset( $this->_index_for_number ) ) {
47
+ $gettext = new Gettext_Translations;
48
+ $expression = $gettext->parenthesize_plural_exression( $this->plural_expression );
49
+ $this->_index_for_number = $gettext->make_plural_form_function( $this->nplurals, $expression );
50
  }
51
  $f = $this->_index_for_number;
52
  return $f( $number );
99
  $am->country_code = 'et';
100
  $am->wp_locale = 'am';
101
  $am->slug = 'am';
 
102
 
103
  $an = new GP_Locale();
104
  $an->english_name = 'Aragonese';
122
  $ar->rtl = true;
123
  $ar->preferred_sans_serif_font_family = 'Tahoma';
124
 
125
+ $arq = new GP_Locale();
126
+ $arq->english_name = 'Algerian Arabic';
127
+ $arq->native_name = 'الدارجة الجزايرية';
128
+ $arq->lang_code_iso_639_3 = 'arq';
129
+ $arq->country_code = 'dz';
130
+ $arq->wp_locale = 'arq';
131
+ $arq->slug = 'arq';
132
+ $arq->nplurals = 6;
133
+ $arq->plural_expression = 'n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5';
134
+ $arq->rtl = true;
135
+
136
  $as = new GP_Locale();
137
  $as->english_name = 'Assamese';
138
  $as->native_name = 'অসমীয়া';
214
  $bal->wp_locale = 'bal';
215
  $bal->slug = 'bal';
216
 
217
+ $bcc = new GP_Locale();
218
+ $bcc->english_name = 'Balochi Southern';
219
+ $bcc->native_name = 'بلوچی مکرانی';
220
+ $bcc->lang_code_iso_639_2 = 'bal';
221
+ $bcc->lang_code_iso_639_3 = 'bcc';
222
+ $bcc->country_code = 'pk';
223
+ $bcc->wp_locale = 'bcc';
224
+ $bcc->slug = 'bcc';
225
+ $bcc->nplurals = 1;
226
+ $bcc->plural_expression = 0;
227
+ $bcc->rtl = true;
228
+
229
  $be = new GP_Locale();
230
  $be->english_name = 'Belarusian';
231
  $be->native_name = 'Беларуская мова';
233
  $be->lang_code_iso_639_2 = 'bel';
234
  $be->country_code = 'by';
235
  $be->wp_locale = 'bel';
236
+ $be->slug = 'be';
237
  $be->google_code = 'be';
238
  $be->facebook_locale = 'be_BY';
239
  $be->nplurals = 3;
289
  $bo->lang_code_iso_639_2 = 'tib';
290
  $bo->wp_locale = 'bo';
291
  $bo->slug = 'bo';
 
292
  $bo->nplurals = 1;
293
  $bo->plural_expression = '0';
294
 
437
 
438
  $de_ch = new GP_Locale();
439
  $de_ch->english_name = 'German (Switzerland)';
440
+ $de_ch->native_name = 'Deutsch (Schweiz)';
441
  $de_ch->lang_code_iso_639_1 = 'de';
442
  $de_ch->country_code = 'ch';
443
  $de_ch->wp_locale = 'de_CH';
452
  $dv->country_code = 'mv';
453
  $dv->wp_locale = 'dv';
454
  $dv->slug = 'dv';
 
455
  $dv->rtl = true;
456
 
457
+ $dzo = new GP_Locale();
458
+ $dzo->english_name = 'Dzongkha';
459
+ $dzo->native_name = 'རྫོང་ཁ';
460
+ $dzo->lang_code_iso_639_1 = 'dz';
461
+ $dzo->lang_code_iso_639_2 = 'dzo';
462
+ $dzo->country_code = 'bt';
463
+ $dzo->wp_locale = 'dzo';
464
+ $dzo->slug = 'dzo';
465
+ $dzo->nplurals = 1;
466
+ $dzo->plural_expression = '0';
467
 
468
  $ee = new GP_Locale();
469
  $ee->english_name = 'Ewe';
509
  $en_au->wp_locale = 'en_AU';
510
  $en_au->slug = 'en-au';
511
  $en_au->google_code = 'en';
512
+ $en_au->facebook_locale = 'en_AU';
513
 
514
  $en_ca = new GP_Locale();
515
  $en_ca->english_name = 'English (Canada)';
521
  $en_ca->wp_locale = 'en_CA';
522
  $en_ca->slug = 'en-ca';
523
  $en_ca->google_code = 'en';
524
+ $en_ca->facebook_locale = 'en_CA';
525
 
526
  $en_gb = new GP_Locale();
527
  $en_gb->english_name = 'English (UK)';
757
  $fr_ch->country_code = 'ch';
758
  $fr_ch->slug = 'fr-ch';
759
 
760
+ $frp = new GP_Locale();
761
+ $frp->english_name = 'Arpitan';
762
+ $frp->native_name = 'Arpitan';
763
+ $frp->lang_code_iso_639_3 = 'frp';
764
+ $frp->country_code = 'fr';
765
+ $frp->wp_locale = 'frp';
766
+ $frp->slug = 'frp';
767
+ $frp->nplurals = 2;
768
+ $frp->plural_expression = 'n > 1';
769
+
770
  $fy = new GP_Locale();
771
  $fy->english_name = 'Frisian';
772
  $fy->native_name = 'Frysk';
813
  $gl->slug = 'gl';
814
  $gl->google_code = 'gl';
815
  $gl->facebook_locale = 'gl_ES';
816
+ $gl->google_code = 'gl';
817
 
818
  $gn = new GP_Locale();
819
  $gn->english_name = 'Guaraní';
822
  $gn->lang_code_iso_639_2 = 'grn';
823
  $gn->wp_locale = 'gn';
824
  $gn->slug = 'gn';
825
+
826
+ $gsw = new GP_Locale();
827
+ $gsw->english_name = 'Swiss German';
828
+ $gsw->native_name = 'Schwyzerdütsch';
829
+ $gsw->lang_code_iso_639_2 = 'gsw';
830
+ $gsw->lang_code_iso_639_3 = 'gsw';
831
+ $gsw->country_code = 'ch';
832
+ $gsw->wp_locale = 'gsw';
833
+ $gsw->slug = 'gsw';
834
 
835
  $gsw = new GP_Locale();
836
  $gsw->english_name = 'Swiss German';
857
  $ha->lang_code_iso_639_2 = 'hau';
858
  $ha->slug = 'ha';
859
  $ha->rtl = true;
860
+ $ha->google_code = 'ha';
861
 
862
  $haw = new GP_Locale();
863
  $haw->english_name = 'Hawaiian';
957
  $ido = new GP_Locale();
958
  $ido->english_name = 'Ido';
959
  $ido->native_name = 'Ido';
960
+ $ido->lang_code_iso_639_1 = 'io';
961
  $ido->lang_code_iso_639_2 = 'ido';
962
  $ido->lang_code_iso_639_3 = 'ido';
963
  $ido->wp_locale = 'ido';
1037
  $ka->nplurals = 1;
1038
  $ka->plural_expression = '0';
1039
 
1040
+ $kab = new GP_Locale();
1041
+ $kab->english_name = 'Kabyle';
1042
+ $kab->native_name = 'Taqbaylit';
1043
+ $kab->lang_code_iso_639_2 = 'kab';
1044
+ $kab->lang_code_iso_639_3 = 'kab';
1045
+ $kab->country_code = 'dz';
1046
+ $kab->wp_locale = 'kab';
1047
+ $kab->slug = 'kab';
1048
+ $kab->nplurals = 2;
1049
+ $kab->plural_expression = '(n > 1)';
1050
+
1051
  $kin = new GP_Locale();
1052
  $kin->english_name = 'Kinyarwanda';
1053
  $kin->native_name = 'Ikinyarwanda';
1118
  $ku->lang_code_iso_639_2 = 'kur';
1119
  $ku->country_code = 'ku';
1120
  $ku->slug = 'ku';
 
1121
  $ku->facebook_locale = 'ku_TR';
1122
 
1123
  $ky = new GP_Locale();
1138
  $la->lang_code_iso_639_2 = 'lat';
1139
  $la->slug = 'la';
1140
  $la->facebook_locale = 'la_VA';
1141
+ $la->google_code = 'la';
1142
 
1143
  $lb = new GP_Locale();
1144
  $lb->english_name = 'Luxembourgish';
1157
  $li->country_code = 'nl';
1158
  $li->wp_locale = 'li';
1159
  $li->slug = 'li';
1160
+
1161
+ $lin = new GP_Locale();
1162
+ $lin->english_name = 'Lingala';
1163
+ $lin->native_name = 'Ngala';
1164
+ $lin->lang_code_iso_639_1 = 'ln';
1165
+ $lin->lang_code_iso_639_2 = 'lin';
1166
+ $lin->wp_locale = 'lin';
1167
+ $lin->slug = 'lin';
1168
+ $lin->nplurals = 2;
1169
+ $lin->plural_expression = 'n>1';
1170
 
1171
  $lin = new GP_Locale();
1172
  $lin->english_name = 'Lingala';
1221
  $me->lang_code_iso_639_1 = 'me';
1222
  $me->country_code = 'me';
1223
  $me->wp_locale = 'me_ME';
 
1224
  $me->slug = 'me';
1225
  $me->nplurals = 3;
1226
  $me->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
1240
  $mhr->lang_code_iso_639_3 = 'mhr';
1241
  $mhr->country_code = 'ru';
1242
  $mhr->slug = 'mhr';
 
1243
 
1244
  $mk = new GP_Locale();
1245
  $mk->english_name = 'Macedonian';
1292
  $mri->slug = 'mri';
1293
  $mri->nplurals = 2;
1294
  $mri->plural_expression = '(n > 1)';
1295
+ $mri->google_code = 'mi';
1296
 
1297
  $mrj = new GP_Locale();
1298
  $mrj->english_name = 'Mari (Hill)';
1300
  $mrj->lang_code_iso_639_3 = 'mrj';
1301
  $mrj->country_code = 'ru';
1302
  $mrj->slug = 'mrj';
 
1303
 
1304
  $ms = new GP_Locale();
1305
  $ms->english_name = 'Malay';
1320
  $mwl->slug = 'mwl';
1321
 
1322
  $my = new GP_Locale();
1323
+ $my->english_name = 'Myanmar (Burmese)';
1324
  $my->native_name = 'ဗမာစာ';
1325
  $my->lang_code_iso_639_1 = 'my';
1326
  $my->lang_code_iso_639_2 = 'mya';
1338
  $ne->wp_locale = 'ne_NP';
1339
  $ne->slug = 'ne';
1340
  $ne->facebook_locale = 'ne_NP';
1341
+ $ne->google_code = 'ne';
1342
 
1343
  $nb = new GP_Locale();
1344
  $nb->english_name = 'Norwegian (Bokmål)';
1381
  $nn->wp_locale = 'nn_NO';
1382
  $nn->slug = 'nn';
1383
  $nn->facebook_locale = 'nn_NO';
1384
+ $nn->google_code = 'no';
1385
 
1386
  $no = new GP_Locale();
1387
  $no->english_name = 'Norwegian';
1392
  $no->slug = 'no';
1393
  $no->google_code = 'no';
1394
 
1395
+ $oci = new GP_Locale();
1396
+ $oci->english_name = 'Occitan';
1397
+ $oci->native_name = 'Occitan';
1398
+ $oci->lang_code_iso_639_1 = 'oc';
1399
+ $oci->lang_code_iso_639_2 = 'oci';
1400
+ $oci->country_code = 'fr';
1401
+ $oci->slug = 'oc';
1402
+
1403
+ $ory = new GP_Locale();
1404
+ $ory->english_name = 'Oriya';
1405
+ $ory->native_name = 'ଓଡ଼ିଆ';
1406
+ $ory->lang_code_iso_639_1 = 'or';
1407
+ $ory->lang_code_iso_639_2 = 'ory';
1408
+ $ory->country_code = 'in';
1409
+ $ory->wp_locale = 'ory';
1410
+ $ory->slug = 'ory';
1411
 
1412
  $ory = new GP_Locale();
1413
  $ory->english_name = 'Oriya';
1436
  $pa->wp_locale = 'pa_IN';
1437
  $pa->slug = 'pa';
1438
  $pa->facebook_locale = 'pa_IN';
1439
+ $pa->google_code = 'pa';
1440
 
1441
  $pl = new GP_Locale();
1442
  $pl->english_name = 'Polish';
1451
  $pl->nplurals = 3;
1452
  $pl->plural_expression = '(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
1453
 
 
1454
  $pt_br = new GP_Locale();
1455
  $pt_br->english_name = 'Portuguese (Brazil)';
1456
  $pt_br->native_name = 'Português do Brasil';
1459
  $pt_br->country_code = 'br';
1460
  $pt_br->wp_locale = 'pt_BR';
1461
  $pt_br->slug = 'pt-br';
1462
+ $pt_br->google_code = 'pt-BR';
1463
  $pt_br->facebook_locale = 'pt_BR';
1464
  $pt_br->nplurals = 2;
1465
  $pt_br->plural_expression = '(n > 1)';
1480
  $ps->lang_code_iso_639_1 = 'ps';
1481
  $ps->wp_locale = 'ps';
1482
  $ps->slug = 'ps';
 
1483
  $ps->facebook_locale = 'ps_AF';
1484
  $ps->rtl = true;
1485
 
1506
  $ro->nplurals = 3;
1507
  $ro->plural_expression = '(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2)';
1508
 
1509
+ $roh = new GP_Locale();
1510
+ $roh->english_name = 'Romansh Vallader';
1511
+ $roh->native_name = 'Rumantsch Vallader';
1512
+ $roh->lang_code_iso_639_2 = 'rm';
1513
+ $roh->lang_code_iso_639_3 = 'roh';
1514
+ $roh->country_code = 'ch';
1515
+ $roh->wp_locale = 'roh';
1516
+ $roh->slug = 'roh';
1517
+
1518
  $ru = new GP_Locale();
1519
  $ru->english_name = 'Russian';
1520
  $ru->native_name = 'Русский';
1584
  $sd->country_code = 'pk';
1585
  $sd->wp_locale = 'sd_PK';
1586
  $sd->slug = 'sd';
 
1587
 
1588
  $si = new GP_Locale();
1589
  $si->english_name = 'Sinhala';
1675
  $su->slug = 'su';
1676
  $su->nplurals = 1;
1677
  $su->plural_expression = '0';
1678
+ $su->google_code = 'su';
1679
 
1680
  $sv = new GP_Locale();
1681
  $sv->english_name = 'Swedish';
1803
  $tt_ru->country_code = 'tt';
1804
  $tt_ru->wp_locale = 'tt_RU';
1805
  $tt_ru->slug = 'tt';
 
1806
  $tt_ru->nplurals = 3;
1807
  $tt_ru->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
1808
 
1841
  $ug->country_code = 'cn';
1842
  $ug->wp_locale = 'ug_CN';
1843
  $ug->slug = 'ug';
 
1844
 
1845
  $uk = new GP_Locale();
1846
  $uk->english_name = 'Ukrainian';
1928
  $yo->lang_code_iso_639_1 = 'yo';
1929
  $yo->lang_code_iso_639_2 = 'yor';
1930
  $yo->slug = 'yo';
1931
+ $yo->google_code = 'yo';
1932
 
1933
  $zh_cn = new GP_Locale();
1934
  $zh_cn->english_name = 'Chinese (China)';
modules/after-the-deadline.php CHANGED
@@ -63,7 +63,7 @@ include( dirname( __FILE__ ) . '/after-the-deadline/config-options.php' );
63
  include( dirname( __FILE__ ) . '/after-the-deadline/config-unignore.php' );
64
  include( dirname( __FILE__ ) . '/after-the-deadline/proxy.php' );
65
 
66
- define( 'ATD_VERSION', '20140527' );
67
 
68
  /*
69
  * Display the AtD configuration options
63
  include( dirname( __FILE__ ) . '/after-the-deadline/config-unignore.php' );
64
  include( dirname( __FILE__ ) . '/after-the-deadline/proxy.php' );
65
 
66
+ define( 'ATD_VERSION', '20150708' );
67
 
68
  /*
69
  * Display the AtD configuration options
modules/after-the-deadline/atd.core.js CHANGED
@@ -359,7 +359,48 @@ AtDCore.prototype.markMyWords = function(container_nodes, errors) {
359
  ecount = 0, /* track number of highlighted errors */
360
  parent = this,
361
  bogus = this._isTinyMCE ? ' data-mce-bogus="1"' : '',
362
- emptySpan = '<span class="mceItemHidden"' + bogus + '>&nbsp;</span>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
363
 
364
  /* Collect all text nodes */
365
  /* Our goal--ignore nodes that are already wrapped */
@@ -439,6 +480,8 @@ AtDCore.prototype.markMyWords = function(container_nodes, errors) {
439
  because eventually the whole thing gets wrapped in an mceItemHidden span and from there it's necessary to
440
  handle each node individually. */
441
  var bringTheHurt = function( node ) {
 
 
442
  if ( node.nodeType === 3 ) {
443
  ecount++;
444
 
@@ -447,7 +490,28 @@ AtDCore.prototype.markMyWords = function(container_nodes, errors) {
447
  if ( parent.isIE() && node.nodeValue.length > 0 && node.nodeValue.substr(0, 1) === ' ' ) {
448
  return parent.create( emptySpan + node.nodeValue.substr( 1, node.nodeValue.length - 1 ).replace( regexp, result ), false );
449
  } else {
450
- return parent.create( node.nodeValue.replace( regexp, result ), false );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
451
  }
452
  }
453
  else {
359
  ecount = 0, /* track number of highlighted errors */
360
  parent = this,
361
  bogus = this._isTinyMCE ? ' data-mce-bogus="1"' : '',
362
+ emptySpan = '<span class="mceItemHidden"' + bogus + '>&nbsp;</span>',
363
+ textOnlyMode;
364
+
365
+ /**
366
+ * Split a text node into an ordered list of siblings:
367
+ * - text node to the left of the match
368
+ * - the element replacing the match
369
+ * - text node to the right of the match
370
+ *
371
+ * We have to leave the text to the left and right of the match alone
372
+ * in order to prevent XSS
373
+ *
374
+ * @return array
375
+ */
376
+ function splitTextNode( textnode, regexp, replacement ) {
377
+ var text = textnode.nodeValue,
378
+ index = text.search( regexp ),
379
+ match = text.match( regexp ),
380
+ captured = [],
381
+ cursor;
382
+
383
+ if ( index < 0 || ! match.length ) {
384
+ return [ textnode ];
385
+ }
386
+
387
+ if ( index > 0 ) {
388
+ // capture left text node
389
+ captured.push( document.createTextNode( text.substr( 0, index ) ) );
390
+ }
391
+
392
+ // capture the replacement of the matched string
393
+ captured.push( parent.create( match[0].replace( regexp, replacement ) ) );
394
+
395
+ cursor = index + match[0].length;
396
+
397
+ if ( cursor < text.length ) {
398
+ // capture right text node
399
+ captured.push( document.createTextNode( text.substr( cursor ) ) );
400
+ }
401
+
402
+ return captured;
403
+ }
404
 
405
  /* Collect all text nodes */
406
  /* Our goal--ignore nodes that are already wrapped */
480
  because eventually the whole thing gets wrapped in an mceItemHidden span and from there it's necessary to
481
  handle each node individually. */
482
  var bringTheHurt = function( node ) {
483
+ var span, splitNodes;
484
+
485
  if ( node.nodeType === 3 ) {
486
  ecount++;
487
 
490
  if ( parent.isIE() && node.nodeValue.length > 0 && node.nodeValue.substr(0, 1) === ' ' ) {
491
  return parent.create( emptySpan + node.nodeValue.substr( 1, node.nodeValue.length - 1 ).replace( regexp, result ), false );
492
  } else {
493
+ if ( textOnlyMode ) {
494
+ return parent.create( node.nodeValue.replace( regexp, result ), false );
495
+ }
496
+
497
+ span = parent.create( '<span />' );
498
+ if ( typeof textOnlyMode === 'undefined' ) {
499
+ // cache this to avoid adding / removing nodes unnecessarily
500
+ textOnlyMode = typeof span.appendChild !== 'function';
501
+ if ( textOnlyMode ) {
502
+ parent.remove( span );
503
+ return parent.create( node.nodeValue.replace( regexp, result ), false );
504
+ }
505
+ }
506
+
507
+ // "Visual" mode
508
+ splitNodes = splitTextNode( node, regexp, result );
509
+ for ( var i = 0; i < splitNodes.length; i++ ) {
510
+ span.appendChild( splitNodes[i] );
511
+ }
512
+
513
+ node = span;
514
+ return node;
515
  }
516
  }
517
  else {
modules/carousel/jetpack-carousel.css CHANGED
@@ -22,6 +22,21 @@ div.jp-carousel-fadeaway {
22
  background-size: 200px 126px;
23
  }
24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  @media
26
  only screen and (-webkit-min-device-pixel-ratio: 1.5),
27
  only screen and (-o-min-device-pixel-ratio: 3/2),
22
  background-size: 200px 126px;
23
  }
24
 
25
+ .jp-carousel-msg {
26
+ font-family: "Open Sans", sans-serif;
27
+ font-style: normal;
28
+ display: inline-block;
29
+ line-height: 19px;
30
+ padding: 11px 15px;
31
+ font-size: 14px;
32
+ text-align: center;
33
+ margin: 25px 20px 0 2px;
34
+ background-color: #fff;
35
+ border-left: 4px solid #ffba00;
36
+ -webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
37
+ box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
38
+ }
39
+
40
  @media
41
  only screen and (-webkit-min-device-pixel-ratio: 1.5),
42
  only screen and (-o-min-device-pixel-ratio: 3/2),
modules/carousel/jetpack-carousel.js CHANGED
@@ -871,7 +871,7 @@ jQuery(document).ready(function($) {
871
  thumb_size = { width : src_item[0].naturalWidth, height : src_item[0].naturalHeight },
872
  title = src_item.data('image-title') || '',
873
  description = src_item.data('image-description') || '',
874
- caption = src_item.parents('dl').find('dd.gallery-caption').html() || '',
875
  src = src_item.data('gallery-src') || '',
876
  medium_file = src_item.data('medium-file') || '',
877
  large_file = src_item.data('large-file') || '',
871
  thumb_size = { width : src_item[0].naturalWidth, height : src_item[0].naturalHeight },
872
  title = src_item.data('image-title') || '',
873
  description = src_item.data('image-description') || '',
874
+ caption = src_item.parents('.gallery-item').find('.gallery-caption').html() || '',
875
  src = src_item.data('gallery-src') || '',
876
  medium_file = src_item.data('medium-file') || '',
877
  large_file = src_item.data('large-file') || '',
modules/carousel/jetpack-carousel.php CHANGED
@@ -78,11 +78,25 @@ class Jetpack_Carousel {
78
  return apply_filters( 'jp_carousel_asset_version', $version );
79
  }
80
 
 
 
 
 
 
 
 
 
 
 
81
  function enqueue_assets( $output ) {
82
  if ( ! empty( $output ) && ! apply_filters( 'jp_carousel_force_enable', false ) ) {
83
  // Bail because someone is overriding the [gallery] shortcode.
84
  remove_filter( 'gallery_style', array( $this, 'add_data_to_container' ) );
85
  remove_filter( 'wp_get_attachment_image_attributes', array( $this, 'add_data_to_images' ) );
 
 
 
 
86
  return $output;
87
  }
88
 
@@ -164,7 +178,7 @@ class Jetpack_Carousel {
164
  wp_register_style( 'jetpack-carousel-ie8fix', plugins_url( 'jetpack-carousel-ie8fix.css', __FILE__ ), array(), $this->asset_version( '20121024' ) );
165
  $GLOBALS['wp_styles']->add_data( 'jetpack-carousel-ie8fix', 'conditional', 'lte IE 8' );
166
  wp_enqueue_style( 'jetpack-carousel-ie8fix' );
167
-
168
  /**
169
  * Fires after carousel assets are enqueued for the first time.
170
  * Allows for adding additional assets to the carousel page.
78
  return apply_filters( 'jp_carousel_asset_version', $version );
79
  }
80
 
81
+ function display_bail_message( $output= '' ) {
82
+ // Displays a message on top of gallery if carousel has bailed
83
+ $message = '<div class="jp-carousel-msg"><p>';
84
+ $message .= __( 'Jetpack\'s Carousel has been disabled, because another plugin or your theme is overriding the [gallery] shortcode.', 'jetpack' );
85
+ $message .= '</p></div>';
86
+ // put before gallery output
87
+ $output = $message . $output;
88
+ return $output;
89
+ }
90
+
91
  function enqueue_assets( $output ) {
92
  if ( ! empty( $output ) && ! apply_filters( 'jp_carousel_force_enable', false ) ) {
93
  // Bail because someone is overriding the [gallery] shortcode.
94
  remove_filter( 'gallery_style', array( $this, 'add_data_to_container' ) );
95
  remove_filter( 'wp_get_attachment_image_attributes', array( $this, 'add_data_to_images' ) );
96
+ // Display message that carousel has bailed, if user is super_admin
97
+ if ( is_super_admin() ) {
98
+ add_filter( 'post_gallery', array( $this, 'display_bail_message' ) );
99
+ }
100
  return $output;
101
  }
102
 
178
  wp_register_style( 'jetpack-carousel-ie8fix', plugins_url( 'jetpack-carousel-ie8fix.css', __FILE__ ), array(), $this->asset_version( '20121024' ) );
179
  $GLOBALS['wp_styles']->add_data( 'jetpack-carousel-ie8fix', 'conditional', 'lte IE 8' );
180
  wp_enqueue_style( 'jetpack-carousel-ie8fix' );
181
+
182
  /**
183
  * Fires after carousel assets are enqueued for the first time.
184
  * Allows for adding additional assets to the carousel page.
modules/carousel/rtl/jetpack-carousel-rtl.css CHANGED
@@ -1,4 +1,4 @@
1
- /* This file was automatically generated on Oct 06 2014 18:02:19 */
2
 
3
  .jp-carousel-wrap * {
4
  line-height:inherit; /* prevent declarations of line-height in the universal selector */
@@ -284,14 +284,13 @@ div.jp-carousel-buttons a.jp-carousel-commentlink {
284
  div.jp-carousel-buttons a.jp-carousel-reblog.reblogged,
285
  div.jp-carousel-buttons a.jp-carousel-like.liked {
286
  background-color: #303030;
287
- padding-right: auto;
288
  padding-left: 8px !important;
289
  border-radius: 2px;
290
  border-radius: 2px;
291
- -webkit-border-radius: 2px;
292
- -moz-border-radius: 2px;
293
- -ms-border-radius: 2px;
294
- -o-border-radius: 2px;
295
  }
296
 
297
  div.jp-carousel-buttons a.jp-carousel-reblog.reblogged {
@@ -300,13 +299,14 @@ div.jp-carousel-buttons a.jp-carousel-reblog.reblogged {
300
 
301
  div.jp-carousel-buttons a.jp-carousel-reblog,
302
  div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover {
303
- background-position: 98% -36px;
 
304
  padding-right: 26px !important;
305
  color: #999;
306
  }
307
 
308
  div.jp-carousel-buttons a.jp-carousel-commentlink {
309
- background-position: 100% -156px;
310
  padding-right: 19px !important;
311
  }
312
 
@@ -315,7 +315,7 @@ div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover {
315
  }
316
 
317
  div.jp-carousel-buttons a.jp-carousel-reblog:hover {
318
- background-position: 98% -56px;
319
  color: #68c9e8;
320
  }
321
 
@@ -574,7 +574,7 @@ a.jp-carousel-image-download {
574
  font-weight: 400;
575
  font-size: 13px;
576
  text-decoration: none;
577
- background-position: 100% -82px;
578
  }
579
 
580
  a.jp-carousel-image-download span.photo-size {
@@ -589,7 +589,7 @@ a.jp-carousel-image-download span.photo-size-times {
589
  }
590
 
591
  a.jp-carousel-image-download:hover {
592
- background-position: 100% -122px;
593
  color: #68c9e8;
594
  border: none !important;
595
  }
@@ -932,7 +932,7 @@ textarea#jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder
932
  }
933
 
934
  .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-commentlink {
935
- background-position: 100% -176px;
936
  }
937
 
938
  .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like,
@@ -942,7 +942,7 @@ textarea#jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder
942
  }
943
 
944
  .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged {
945
- background-position: 96% -36px;
946
  }
947
 
948
  .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked {
@@ -1022,11 +1022,11 @@ textarea#jp-carousel-comment-form-comment-field:focus::-webkit-input-placeholder
1022
  }
1023
 
1024
  .jp-carousel-light a.jp-carousel-image-download {
1025
- background-position: 100% -122px;
1026
  }
1027
 
1028
  .jp-carousel-light a.jp-carousel-image-download:hover {
1029
- background-position: 100% -122px;
1030
  color: #f1831e;
1031
  }
1032
 
1
+ /* This file was automatically generated on May 08 2015 23:47:14 */
2
 
3
  .jp-carousel-wrap * {
4
  line-height:inherit; /* prevent declarations of line-height in the universal selector */
284
  div.jp-carousel-buttons a.jp-carousel-reblog.reblogged,
285
  div.jp-carousel-buttons a.jp-carousel-like.liked {
286
  background-color: #303030;
 
287
  padding-left: 8px !important;
288
  border-radius: 2px;
289
  border-radius: 2px;
290
+ -webkit-border-radius:2px;
291
+ -moz-border-radius:2px;
292
+ -ms-border-radius:2px;
293
+ -o-border-radius:2px;
294
  }
295
 
296
  div.jp-carousel-buttons a.jp-carousel-reblog.reblogged {
299
 
300
  div.jp-carousel-buttons a.jp-carousel-reblog,
301
  div.jp-carousel-buttons a.jp-carousel-reblog.reblogged:hover {
302
+ background-position: 6px -36px;
303
+ padding-left: auto !important;
304
  padding-right: 26px !important;
305
  color: #999;
306
  }
307
 
308
  div.jp-carousel-buttons a.jp-carousel-commentlink {
309
+ background-position: 0px -156px;
310
  padding-right: 19px !important;
311
  }
312
 
315
  }
316
 
317
  div.jp-carousel-buttons a.jp-carousel-reblog:hover {
318
+ background-position: 6px -56px;
319
  color: #68c9e8;
320
  }
321
 
574
  font-weight: 400;
575
  font-size: 13px;
576
  text-decoration: none;
577
+ background-position: 0 -82px;
578
  }
579
 
580
  a.jp-carousel-image-download span.photo-size {
589
  }
590
 
591
  a.jp-carousel-image-download:hover {
592
+ background-position: 0 -122px;
593
  color: #68c9e8;
594
  border: none !important;
595
  }
932
  }
933
 
934
  .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-commentlink {
935
+ background-position: 0px -176px;
936
  }
937
 
938
  .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like,
942
  }
943
 
944
  .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-reblog.reblogged {
945
+ background-position: 5px -36px;
946
  }
947
 
948
  .jp-carousel-light div.jp-carousel-buttons a.jp-carousel-like.liked {
1022
  }
1023
 
1024
  .jp-carousel-light a.jp-carousel-image-download {
1025
+ background-position: 0 -122px;
1026
  }
1027
 
1028
  .jp-carousel-light a.jp-carousel-image-download:hover {
1029
+ background-position: 0 -122px;
1030
  color: #f1831e;
1031
  }
1032
 
modules/contact-form/admin.php CHANGED
@@ -82,7 +82,7 @@ color: #D98500;
82
  }
83
 
84
  #icon-edit.icon32-posts-feedback, #icon-post.icon32-posts-feedback { background: url("<?php echo GRUNION_PLUGIN_URL; ?>images/grunion-menu-big.png") no-repeat !important; }
85
- @media only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
86
  #icon-edit.icon32-posts-feedback, #icon-post.icon32-posts-feedback { background: url("<?php echo GRUNION_PLUGIN_URL; ?>images/grunion-menu-big-2x.png") no-repeat !important; background-size: 30px 31px !important; }
87
  }
88
 
82
  }
83
 
84
  #icon-edit.icon32-posts-feedback, #icon-post.icon32-posts-feedback { background: url("<?php echo GRUNION_PLUGIN_URL; ?>images/grunion-menu-big.png") no-repeat !important; }
85
+ @media only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
86
  #icon-edit.icon32-posts-feedback, #icon-post.icon32-posts-feedback { background: url("<?php echo GRUNION_PLUGIN_URL; ?>images/grunion-menu-big-2x.png") no-repeat !important; background-size: 30px 31px !important; }
87
  }
88
 
modules/contact-form/css/menu-alter-rtl.css CHANGED
@@ -50,7 +50,7 @@
50
  display: none;
51
  }
52
 
53
- @media only screen and (-moz-min-device-pixel-ratio: 1.5),
54
  only screen and (-o-min-device-pixel-ratio: 3/2),
55
  only screen and (-webkit-min-device-pixel-ratio: 1.5),
56
  only screen and (min-device-pixel-ratio: 1.5) {
50
  display: none;
51
  }
52
 
53
+ @media only screen and (min--moz-device-pixel-ratio: 1.5),
54
  only screen and (-o-min-device-pixel-ratio: 3/2),
55
  only screen and (-webkit-min-device-pixel-ratio: 1.5),
56
  only screen and (min-device-pixel-ratio: 1.5) {
modules/contact-form/css/menu-alter-rtl.min.css CHANGED
@@ -1 +1 @@
1
- #menu-posts-feedback .wp-menu-image img{display:none}#adminmenu .menu-icon-feedback div.wp-menu-image{background:none!important}#adminmenu .menu-icon-feedback div.wp-menu-image:before{content:'\f175';margin-right:-1px}.jetpack-contact-form-icon:before{content:'\f175';color:#888;vertical-align:text-bottom;font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pre-mp6 #adminmenu .menu-icon-feedback.current div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback.wp-has-current-submenu div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback:hover div.wp-menu-image{background:url(../images/grunion-menu-hover.png) 7px 7px/15px 16px no-repeat!important}.pre-mp6 #adminmenu .menu-icon-feedback div.wp-menu-image{background:url(../images/grunion-menu.png) 7px 7px/15px 16px no-repeat!important}.pre-mp6 #adminmenu .menu-icon-feedback div.wp-menu-image:before{display:none}.pre-mp6 .jetpack-contact-form-icon{background:url(../images/grunion-form.png) no-repeat;width:16px;height:16px;display:inline-block;vertical-align:middle;background-size:13px 12px!important}.pre-mp6 .jetpack-contact-form-icon:before{display:none}@media only screen and (-moz-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){.pre-mp6 #adminmenu .menu-icon-feedback.current div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback.wp-has-current-submenu div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback:hover div.wp-menu-image{background-image:url(../images/grunion-menu-hover-2x.png)}.pre-mp6 #adminmenu .menu-icon-feedback div.wp-menu-image{background-image:url(../images/grunion-menu-2x.png)}.pre-mp6 .jetpack-contact-form-icon{background-image:url(../images/grunion-form-2x.png);vertical-align:bottom}}
1
+ #menu-posts-feedback .wp-menu-image img{display:none}#adminmenu .menu-icon-feedback div.wp-menu-image{background:none!important}#adminmenu .menu-icon-feedback div.wp-menu-image:before{content:'\f175';margin-right:-1px}.jetpack-contact-form-icon:before{content:'\f175';color:#888;vertical-align:text-bottom;font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pre-mp6 #adminmenu .menu-icon-feedback.current div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback.wp-has-current-submenu div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback:hover div.wp-menu-image{background:url(../images/grunion-menu-hover.png) 7px 7px/15px 16px no-repeat!important}.pre-mp6 #adminmenu .menu-icon-feedback div.wp-menu-image{background:url(../images/grunion-menu.png) 7px 7px/15px 16px no-repeat!important}.pre-mp6 #adminmenu .menu-icon-feedback div.wp-menu-image:before{display:none}.pre-mp6 .jetpack-contact-form-icon{background:url(../images/grunion-form.png) no-repeat;width:16px;height:16px;display:inline-block;vertical-align:middle;background-size:13px 12px!important}.pre-mp6 .jetpack-contact-form-icon:before{display:none}@media only screen and (min--moz-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){.pre-mp6 #adminmenu .menu-icon-feedback.current div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback.wp-has-current-submenu div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback:hover div.wp-menu-image{background-image:url(../images/grunion-menu-hover-2x.png)}.pre-mp6 #adminmenu .menu-icon-feedback div.wp-menu-image{background-image:url(../images/grunion-menu-2x.png)}.pre-mp6 .jetpack-contact-form-icon{background-image:url(../images/grunion-form-2x.png);vertical-align:bottom}}
modules/contact-form/css/menu-alter.css CHANGED
@@ -50,7 +50,7 @@
50
  display: none;
51
  }
52
 
53
- @media only screen and (-moz-min-device-pixel-ratio: 1.5),
54
  only screen and (-o-min-device-pixel-ratio: 3/2),
55
  only screen and (-webkit-min-device-pixel-ratio: 1.5),
56
  only screen and (min-device-pixel-ratio: 1.5) {
50
  display: none;
51
  }
52
 
53
+ @media only screen and (min--moz-device-pixel-ratio: 1.5),
54
  only screen and (-o-min-device-pixel-ratio: 3/2),
55
  only screen and (-webkit-min-device-pixel-ratio: 1.5),
56
  only screen and (min-device-pixel-ratio: 1.5) {
modules/contact-form/css/menu-alter.min.css CHANGED
@@ -1 +1 @@
1
- #menu-posts-feedback .wp-menu-image img{display:none}#adminmenu .menu-icon-feedback div.wp-menu-image{background:none!important}#adminmenu .menu-icon-feedback div.wp-menu-image:before{content:'\f175';margin-left:-1px}.jetpack-contact-form-icon:before{content:'\f175';color:#888;vertical-align:text-bottom;font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pre-mp6 #adminmenu .menu-icon-feedback.current div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback.wp-has-current-submenu div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback:hover div.wp-menu-image{background:url(../images/grunion-menu-hover.png) 7px 7px/15px 16px no-repeat!important}.pre-mp6 #adminmenu .menu-icon-feedback div.wp-menu-image{background:url(../images/grunion-menu.png) 7px 7px/15px 16px no-repeat!important}.pre-mp6 #adminmenu .menu-icon-feedback div.wp-menu-image:before{display:none}.pre-mp6 .jetpack-contact-form-icon{background:url(../images/grunion-form.png) no-repeat;width:16px;height:16px;display:inline-block;vertical-align:middle;background-size:13px 12px!important}.pre-mp6 .jetpack-contact-form-icon:before{display:none}@media only screen and (-moz-min-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){.pre-mp6 #adminmenu .menu-icon-feedback.current div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback.wp-has-current-submenu div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback:hover div.wp-menu-image{background-image:url(../images/grunion-menu-hover-2x.png)}.pre-mp6 #adminmenu .menu-icon-feedback div.wp-menu-image{background-image:url(../images/grunion-menu-2x.png)}.pre-mp6 .jetpack-contact-form-icon{background-image:url(../images/grunion-form-2x.png);vertical-align:bottom}}
1
+ #menu-posts-feedback .wp-menu-image img{display:none}#adminmenu .menu-icon-feedback div.wp-menu-image{background:none!important}#adminmenu .menu-icon-feedback div.wp-menu-image:before{content:'\f175';margin-left:-1px}.jetpack-contact-form-icon:before{content:'\f175';color:#888;vertical-align:text-bottom;font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pre-mp6 #adminmenu .menu-icon-feedback.current div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback.wp-has-current-submenu div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback:hover div.wp-menu-image{background:url(../images/grunion-menu-hover.png) 7px 7px/15px 16px no-repeat!important}.pre-mp6 #adminmenu .menu-icon-feedback div.wp-menu-image{background:url(../images/grunion-menu.png) 7px 7px/15px 16px no-repeat!important}.pre-mp6 #adminmenu .menu-icon-feedback div.wp-menu-image:before{display:none}.pre-mp6 .jetpack-contact-form-icon{background:url(../images/grunion-form.png) no-repeat;width:16px;height:16px;display:inline-block;vertical-align:middle;background-size:13px 12px!important}.pre-mp6 .jetpack-contact-form-icon:before{display:none}@media only screen and (min--moz-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5){.pre-mp6 #adminmenu .menu-icon-feedback.current div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback.wp-has-current-submenu div.wp-menu-image,.pre-mp6 #adminmenu .menu-icon-feedback:hover div.wp-menu-image{background-image:url(../images/grunion-menu-hover-2x.png)}.pre-mp6 #adminmenu .menu-icon-feedback div.wp-menu-image{background-image:url(../images/grunion-menu-2x.png)}.pre-mp6 .jetpack-contact-form-icon{background-image:url(../images/grunion-form-2x.png);vertical-align:bottom}}
modules/contact-form/grunion-form-view.php CHANGED
@@ -124,7 +124,7 @@ wp_localize_script( 'grunion', 'GrunionFB_i18n', array(
124
  .rtl .fb-right label { float: right; }
125
  .rtl .fb-success { right: auto; left: 100px;}
126
  .rtl .right { float: left; }
127
- @media only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
128
  .fb-remove { background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-field-2x.png') no-repeat; background-size: 20px 23px; }
129
  .fb-remove:hover { background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-field-hover-2x.png') no-repeat; background-size: 20px 23px; }
130
  .fb-remove-option { background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-option-2x.png') no-repeat; background-size: 20px 23px; }
124
  .rtl .fb-right label { float: right; }
125
  .rtl .fb-success { right: auto; left: 100px;}
126
  .rtl .right { float: left; }
127
+ @media only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
128
  .fb-remove { background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-field-2x.png') no-repeat; background-size: 20px 23px; }
129
  .fb-remove:hover { background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-field-hover-2x.png') no-repeat; background-size: 20px 23px; }
130
  .fb-remove-option { background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-option-2x.png') no-repeat; background-size: 20px 23px; }
modules/custom-css/csstidy/data.inc.php CHANGED
@@ -293,7 +293,9 @@ $GLOBALS['csstidy']['shorthands']['-moz-border-radius'] = 0;
293
  * @version 1.0
294
  * @see csstidy::property_is_next()
295
  */
 
296
  $GLOBALS['csstidy']['all_properties']['align-items'] = 'CSS3.0';
 
297
  $GLOBALS['csstidy']['all_properties']['alignment-adjust'] = 'CSS3.0';
298
  $GLOBALS['csstidy']['all_properties']['alignment-baseline'] = 'CSS3.0';
299
  $GLOBALS['csstidy']['all_properties']['animation'] = 'CSS3.0';
@@ -399,11 +401,17 @@ $GLOBALS['csstidy']['all_properties']['elevation'] = 'CSS2.0,CSS2.1,CSS3.0';
399
  $GLOBALS['csstidy']['all_properties']['empty-cells'] = 'CSS2.0,CSS2.1,CSS3.0';
400
  $GLOBALS['csstidy']['all_properties']['fit'] = 'CSS3.0';
401
  $GLOBALS['csstidy']['all_properties']['fit-position'] = 'CSS3.0';
 
402
  $GLOBALS['csstidy']['all_properties']['flex-align'] = 'CSS3.0';
 
 
403
  $GLOBALS['csstidy']['all_properties']['flex-flow'] = 'CSS3.0';
 
404
  $GLOBALS['csstidy']['all_properties']['flex-line-pack'] = 'CSS3.0';
405
  $GLOBALS['csstidy']['all_properties']['flex-order'] = 'CSS3.0';
406
  $GLOBALS['csstidy']['all_properties']['flex-pack'] = 'CSS3.0';
 
 
407
  $GLOBALS['csstidy']['all_properties']['float'] = 'CSS1.0,CSS2.0,CSS2.1,CSS3.0';
408
  $GLOBALS['csstidy']['all_properties']['float-offset'] = 'CSS3.0';
409
  $GLOBALS['csstidy']['all_properties']['font'] = 'CSS1.0,CSS2.0,CSS2.1,CSS3.0';
@@ -465,6 +473,7 @@ $GLOBALS['csstidy']['all_properties']['nav-left'] = 'CSS3.0';
465
  $GLOBALS['csstidy']['all_properties']['nav-right'] = 'CSS3.0';
466
  $GLOBALS['csstidy']['all_properties']['nav-up'] = 'CSS3.0';
467
  $GLOBALS['csstidy']['all_properties']['opacity'] = 'CSS3.0';
 
468
  $GLOBALS['csstidy']['all_properties']['orphans'] = 'CSS2.0,CSS2.1,CSS3.0';
469
  $GLOBALS['csstidy']['all_properties']['outline'] = 'CSS2.0,CSS2.1,CSS3.0';
470
  $GLOBALS['csstidy']['all_properties']['outline-color'] = 'CSS2.0,CSS2.1,CSS3.0';
293
  * @version 1.0
294
  * @see csstidy::property_is_next()
295
  */
296
+ $GLOBALS['csstidy']['all_properties']['align-content'] = 'CSS3.0';
297
  $GLOBALS['csstidy']['all_properties']['align-items'] = 'CSS3.0';
298
+ $GLOBALS['csstidy']['all_properties']['align-self'] = 'CSS3.0';
299
  $GLOBALS['csstidy']['all_properties']['alignment-adjust'] = 'CSS3.0';
300
  $GLOBALS['csstidy']['all_properties']['alignment-baseline'] = 'CSS3.0';
301
  $GLOBALS['csstidy']['all_properties']['animation'] = 'CSS3.0';
401
  $GLOBALS['csstidy']['all_properties']['empty-cells'] = 'CSS2.0,CSS2.1,CSS3.0';
402
  $GLOBALS['csstidy']['all_properties']['fit'] = 'CSS3.0';
403
  $GLOBALS['csstidy']['all_properties']['fit-position'] = 'CSS3.0';
404
+ $GLOBALS['csstidy']['all_properties']['flex'] = 'CSS3.0';
405
  $GLOBALS['csstidy']['all_properties']['flex-align'] = 'CSS3.0';
406
+ $GLOBALS['csstidy']['all_properties']['flex-basis'] = 'CSS3.0';
407
+ $GLOBALS['csstidy']['all_properties']['flex-direction'] = 'CSS3.0';
408
  $GLOBALS['csstidy']['all_properties']['flex-flow'] = 'CSS3.0';
409
+ $GLOBALS['csstidy']['all_properties']['flex-grow'] = 'CSS3.0';
410
  $GLOBALS['csstidy']['all_properties']['flex-line-pack'] = 'CSS3.0';
411
  $GLOBALS['csstidy']['all_properties']['flex-order'] = 'CSS3.0';
412
  $GLOBALS['csstidy']['all_properties']['flex-pack'] = 'CSS3.0';
413
+ $GLOBALS['csstidy']['all_properties']['flex-shrink'] = 'CSS3.0';
414
+ $GLOBALS['csstidy']['all_properties']['flex-wrap'] = 'CSS3.0';
415
  $GLOBALS['csstidy']['all_properties']['float'] = 'CSS1.0,CSS2.0,CSS2.1,CSS3.0';
416
  $GLOBALS['csstidy']['all_properties']['float-offset'] = 'CSS3.0';
417
  $GLOBALS['csstidy']['all_properties']['font'] = 'CSS1.0,CSS2.0,CSS2.1,CSS3.0';
473
  $GLOBALS['csstidy']['all_properties']['nav-right'] = 'CSS3.0';
474
  $GLOBALS['csstidy']['all_properties']['nav-up'] = 'CSS3.0';
475
  $GLOBALS['csstidy']['all_properties']['opacity'] = 'CSS3.0';
476
+ $GLOBALS['csstidy']['all_properties']['order'] = 'CSS3.0';
477
  $GLOBALS['csstidy']['all_properties']['orphans'] = 'CSS2.0,CSS2.1,CSS3.0';
478
  $GLOBALS['csstidy']['all_properties']['outline'] = 'CSS2.0,CSS2.1,CSS3.0';
479
  $GLOBALS['csstidy']['all_properties']['outline-color'] = 'CSS2.0,CSS2.1,CSS3.0';
modules/custom-css/custom-css.php CHANGED
@@ -670,7 +670,7 @@ class Jetpack_Custom_CSS {
670
  if ( Jetpack_Custom_CSS::is_freetrial() && ( ! Jetpack_Custom_CSS::is_preview() || ! current_user_can( 'switch_themes' ) ) )
671
  return $current;
672
  else if ( Jetpack_Custom_CSS::skip_stylesheet() )
673
- return apply_filters( 'safecss_style_filter_url', plugins_url( 'custom-css/blank.css', __FILE__ ) );
674
 
675
  return $current;
676
  }
@@ -1584,7 +1584,7 @@ function safecss_class() {
1584
  require_once( dirname( __FILE__ ) . '/csstidy/class.csstidy.php' );
1585
 
1586
  class safecss extends csstidy_optimise {
1587
- function safecss( &$css ) {
1588
  return $this->csstidy_optimise( $css );
1589
  }
1590
 
670
  if ( Jetpack_Custom_CSS::is_freetrial() && ( ! Jetpack_Custom_CSS::is_preview() || ! current_user_can( 'switch_themes' ) ) )
671
  return $current;
672
  else if ( Jetpack_Custom_CSS::skip_stylesheet() )
673
+ return apply_filters( 'safecss_style_filter_url', plugins_url( 'custom-css/css/blank.css', __FILE__ ) );
674
 
675
  return $current;
676
  }
1584
  require_once( dirname( __FILE__ ) . '/csstidy/class.csstidy.php' );
1585
 
1586
  class safecss extends csstidy_optimise {
1587
+ function __construct( &$css ) {
1588
  return $this->csstidy_optimise( $css );
1589
  }
1590
 
modules/custom-css/custom-css/css/blank.css ADDED
@@ -0,0 +1 @@
 
1
+ /* */
modules/custom-css/custom-css/preprocessors/lessc.inc.php CHANGED
@@ -1,18 +1,18 @@
1
  <?php
2
 
3
  /**
4
- * lessphp v0.4.0
5
  * http://leafo.net/lessphp
6
  *
7
- * LESS css compiler, adapted from http://lesscss.org
8
  *
9
- * Copyright 2012, Leaf Corcoran <leafot@gmail.com>
10
  * Licensed under MIT or GPLv3, see LICENSE
11
  */
12
 
13
 
14
  /**
15
- * The less compiler and parser.
16
  *
17
  * Converting LESS to CSS is a three stage process. The incoming file is parsed
18
  * by `lessc_parser` into a syntax tree, then it is compiled into another tree
@@ -27,7 +27,7 @@
27
  *
28
  * In summary:
29
  *
30
- * The `lessc` class creates an intstance of the parser, feeds it LESS code,
31
  * then transforms the resulting tree to a CSS tree. This class also holds the
32
  * evaluation context, such as all available mixins and variables at any given
33
  * time.
@@ -38,9 +38,10 @@
38
  * handling things like indentation.
39
  */
40
  class lessc {
41
- static public $VERSION = "v0.4.0";
42
- static protected $TRUE = array("keyword", "true");
43
- static protected $FALSE = array("keyword", "false");
 
44
 
45
  protected $libFunctions = array();
46
  protected $registeredVars = array();
@@ -62,8 +63,6 @@ class lessc {
62
  protected $sourceParser = null;
63
  protected $sourceLoc = null;
64
 
65
- static public $defaultValue = array("keyword", "");
66
-
67
  static protected $nextImportId = 0; // uniquely identify imports
68
 
69
  // attempts to find the path of an import url, returns null for css files
@@ -283,39 +282,73 @@ class lessc {
283
  foreach ($this->sortProps($block->props) as $prop) {
284
  $this->compileProp($prop, $block, $out);
285
  }
 
 
 
 
 
 
 
 
 
 
 
286
 
287
- $out->lines = array_values(array_unique($out->lines));
 
 
 
 
 
 
 
 
 
 
 
288
  }
289
 
290
  protected function sortProps($props, $split = false) {
291
  $vars = array();
292
  $imports = array();
293
  $other = array();
 
294
 
295
  foreach ($props as $prop) {
296
  switch ($prop[0]) {
 
 
 
297
  case "assign":
 
298
  if (isset($prop[1][0]) && $prop[1][0] == $this->vPrefix) {
299
- $vars[] = $prop;
300
  } else {
301
- $other[] = $prop;
302
  }
 
303
  break;
304
  case "import":
305
  $id = self::$nextImportId++;
306
  $prop[] = $id;
307
- $imports[] = $prop;
 
308
  $other[] = array("import_mixin", $id);
 
309
  break;
310
  default:
311
- $other[] = $prop;
 
 
 
312
  }
313
  }
 
314
 
315
  if ($split) {
316
- return array(array_merge($vars, $imports), $other);
317
  } else {
318
- return array_merge($vars, $imports, $other);
319
  }
320
  }
321
 
@@ -537,7 +570,7 @@ class lessc {
537
  return true; // not having enough is handled above
538
  } else {
539
  $numMatched = $i + 1;
540
- // greater than because default values always match
541
  return $numMatched >= count($orderedArgs);
542
  }
543
  }
@@ -684,8 +717,7 @@ class lessc {
684
  $mixins = $this->findBlocks($block, $path, $orderedArgs, $keywordArgs);
685
 
686
  if ($mixins === null) {
687
- // fwrite(STDERR,"failed to find block: ".implode(" > ", $path)."\n");
688
- break; // throw error here??
689
  }
690
 
691
  foreach ($mixins as $mixin) {
@@ -787,7 +819,7 @@ class lessc {
787
  * The input is expected to be reduced. This function will not work on
788
  * things like expressions and variables.
789
  */
790
- protected function compileValue($value) {
791
  switch ($value[0]) {
792
  case 'list':
793
  // [1] - delimiter
@@ -951,6 +983,39 @@ class lessc {
951
  return $this->lib_rgbahex($color);
952
  }
953
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
954
  // utility func to unquote a string
955
  protected function lib_e($arg) {
956
  switch ($arg[0]) {
@@ -959,7 +1024,7 @@ class lessc {
959
  if (isset($items[0])) {
960
  return $this->lib_e($items[0]);
961
  }
962
- return self::$defaultValue;
963
  case "string":
964
  $arg[1] = "";
965
  return $arg;
@@ -1009,8 +1074,14 @@ class lessc {
1009
  }
1010
 
1011
  protected function lib_round($arg) {
1012
- $value = $this->assertNumber($arg);
1013
- return array("number", round($value), $arg[2]);
 
 
 
 
 
 
1014
  }
1015
 
1016
  protected function lib_unit($arg) {
@@ -1027,7 +1098,7 @@ class lessc {
1027
  * Helper function to get arguments for color manipulation functions.
1028
  * takes a list that contains a color like thing and a percentage
1029
  */
1030
- protected function colorArgs($args) {
1031
  if ($args[0] != 'list' || count($args[2]) < 2) {
1032
  return array(array('color', 0, 0, 0), 0);
1033
  }
@@ -1168,36 +1239,56 @@ class lessc {
1168
  }
1169
 
1170
  protected function lib_contrast($args) {
1171
- if ($args[0] != 'list' || count($args[2]) < 3) {
1172
- return array(array('color', 0, 0, 0), 0);
1173
- }
1174
 
1175
- list($inputColor, $darkColor, $lightColor) = $args[2];
 
 
 
 
 
 
 
 
1176
 
1177
- $inputColor = $this->assertColor($inputColor);
1178
- $darkColor = $this->assertColor($darkColor);
1179
- $lightColor = $this->assertColor($lightColor);
1180
- $hsl = $this->toHSL($inputColor);
1181
 
1182
- if ($hsl[3] > 50) {
1183
- return $darkColor;
1184
- }
 
 
 
1185
 
1186
- return $lightColor;
 
 
 
 
1187
  }
1188
 
1189
- protected function assertColor($value, $error = "expected color value") {
 
 
 
 
 
 
1190
  $color = $this->coerceColor($value);
1191
  if (is_null($color)) $this->throwError($error);
1192
  return $color;
1193
  }
1194
 
1195
- protected function assertNumber($value, $error = "expecting number") {
1196
  if ($value[0] == "number") return $value[1];
1197
  $this->throwError($error);
1198
  }
1199
 
1200
- protected function assertArgs($value, $expectedArgs, $name="") {
1201
  if ($expectedArgs == 1) {
1202
  return $value;
1203
  } else {
@@ -1381,7 +1472,7 @@ class lessc {
1381
  }
1382
 
1383
  $seen[$key] = true;
1384
- $out = $this->reduce($this->get($key, self::$defaultValue));
1385
  $seen[$key] = false;
1386
  return $out;
1387
  case "list":
@@ -1409,8 +1500,9 @@ class lessc {
1409
 
1410
  list(, $name, $args) = $value;
1411
  if ($name == "%") $name = "_sprintf";
 
1412
  $f = isset($this->libFunctions[$name]) ?
1413
- $this->libFunctions[$name] : array($this, 'lib_'.$name);
1414
 
1415
  if (is_callable($f)) {
1416
  if ($args[0] == 'list')
@@ -1517,7 +1609,7 @@ class lessc {
1517
  return $value;
1518
  }
1519
 
1520
- protected function toBool($a) {
1521
  if ($a) return self::$TRUE;
1522
  else return self::$FALSE;
1523
  }
@@ -1740,7 +1832,7 @@ class lessc {
1740
 
1741
 
1742
  // get the highest occurrence entry for a name
1743
- protected function get($name, $default=null) {
1744
  $current = $this->env;
1745
 
1746
  $isArguments = $name == $this->vPrefix . 'arguments';
@@ -1757,7 +1849,7 @@ class lessc {
1757
  }
1758
  }
1759
 
1760
- return $default;
1761
  }
1762
 
1763
  // inject array of unparsed strings into environment as variables
@@ -1993,14 +2085,14 @@ class lessc {
1993
  return $this->allParsedFiles;
1994
  }
1995
 
1996
- protected function addParsedFile($file) {
1997
  $this->allParsedFiles[realpath($file)] = filemtime($file);
1998
  }
1999
 
2000
  /**
2001
  * Uses the current value of $this->count to show line and line number
2002
  */
2003
- protected function throwError($msg = null) {
2004
  if ($this->sourceLoc >= 0) {
2005
  $this->sourceParser->throwError($msg, $this->sourceLoc);
2006
  }
@@ -2204,7 +2296,7 @@ class lessc_parser {
2204
  // regex string to match any of the operators
2205
  static protected $operatorString;
2206
 
2207
- // these properties will suppress division unless it's inside parenthases
2208
  static protected $supressDivisionProps =
2209
  array('/border-radius$/i', '/^font$/i');
2210
 
@@ -2266,14 +2358,13 @@ class lessc_parser {
2266
  $this->whitespace();
2267
 
2268
  // parse the entire file
2269
- $lastCount = $this->count;
2270
  while (false !== $this->parseChunk());
2271
 
2272
  if ($this->count != strlen($this->buffer))
2273
  $this->throwError();
2274
 
2275
  // TODO report where the block was opened
2276
- if (!is_null($this->env->parent))
2277
  throw new exception('parse error: unclosed block');
2278
 
2279
  return $this->env;
@@ -2319,6 +2410,10 @@ class lessc_parser {
2319
  if (empty($this->buffer)) return false;
2320
  $s = $this->seek();
2321
 
 
 
 
 
2322
  // setting a property
2323
  if ($this->keyword($key) && $this->assign() &&
2324
  $this->propertyValue($value, $key) && $this->end())
@@ -2399,7 +2494,7 @@ class lessc_parser {
2399
  }
2400
 
2401
  // opening a simple block
2402
- if ($this->tags($tags) && $this->literal('{')) {
2403
  $tags = $this->fixTags($tags);
2404
  $this->pushBlock($tags);
2405
  return true;
@@ -2674,7 +2769,6 @@ class lessc_parser {
2674
 
2675
  // an import statement
2676
  protected function import(&$out) {
2677
- $s = $this->seek();
2678
  if (!$this->literal('@import')) return false;
2679
 
2680
  // @import "something.css" media;
@@ -3034,7 +3128,6 @@ class lessc_parser {
3034
  // list of tags of specifying mixin path
3035
  // optionally separated by > (lazy, accepts extra >)
3036
  protected function mixinTags(&$tags) {
3037
- $s = $this->seek();
3038
  $tags = array();
3039
  while ($this->tag($tt, true)) {
3040
  $tags[] = $tt;
@@ -3262,7 +3355,7 @@ class lessc_parser {
3262
 
3263
  // consume an end of statement delimiter
3264
  protected function end() {
3265
- if ($this->literal(';')) {
3266
  return true;
3267
  } elseif ($this->count == strlen($this->buffer) || $this->buffer[$this->count] == '}') {
3268
  // if there is end of file or a closing block next then we don't need a ;
@@ -3411,9 +3504,9 @@ class lessc_parser {
3411
  if ($this->writeComments) {
3412
  $gotWhite = false;
3413
  while (preg_match(self::$whitePattern, $this->buffer, $m, null, $this->count)) {
3414
- if (isset($m[1]) && empty($this->commentsSeen[$this->count])) {
3415
  $this->append(array("comment", $m[1]));
3416
- $this->commentsSeen[$this->count] = true;
3417
  }
3418
  $this->count += strlen($m[0]);
3419
  $gotWhite = true;
1
  <?php
2
 
3
  /**
4
+ * lessphp v0.5.0
5
  * http://leafo.net/lessphp
6
  *
7
+ * LESS CSS compiler, adapted from http://lesscss.org
8
  *
9
+ * Copyright 2013, Leaf Corcoran <leafot@gmail.com>
10
  * Licensed under MIT or GPLv3, see LICENSE
11
  */
12
 
13
 
14
  /**
15
+ * The LESS compiler and parser.
16
  *
17
  * Converting LESS to CSS is a three stage process. The incoming file is parsed
18
  * by `lessc_parser` into a syntax tree, then it is compiled into another tree
27
  *
28
  * In summary:
29
  *
30
+ * The `lessc` class creates an instance of the parser, feeds it LESS code,
31
  * then transforms the resulting tree to a CSS tree. This class also holds the
32
  * evaluation context, such as all available mixins and variables at any given
33
  * time.
38
  * handling things like indentation.
39
  */
40
  class lessc {
41
+ static public $VERSION = "v0.5.0";
42
+
43
+ static public $TRUE = array("keyword", "true");
44
+ static public $FALSE = array("keyword", "false");
45
 
46
  protected $libFunctions = array();
47
  protected $registeredVars = array();
63
  protected $sourceParser = null;
64
  protected $sourceLoc = null;
65
 
 
 
66
  static protected $nextImportId = 0; // uniquely identify imports
67
 
68
  // attempts to find the path of an import url, returns null for css files
282
  foreach ($this->sortProps($block->props) as $prop) {
283
  $this->compileProp($prop, $block, $out);
284
  }
285
+ $out->lines = $this->deduplicate($out->lines);
286
+ }
287
+
288
+ /**
289
+ * Deduplicate lines in a block. Comments are not deduplicated. If a
290
+ * duplicate rule is detected, the comments immediately preceding each
291
+ * occurence are consolidated.
292
+ */
293
+ protected function deduplicate($lines) {
294
+ $unique = array();
295
+ $comments = array();
296
 
297
+ foreach($lines as $line) {
298
+ if (strpos($line, '/*') === 0) {
299
+ $comments[] = $line;
300
+ continue;
301
+ }
302
+ if (!in_array($line, $unique)) {
303
+ $unique[] = $line;
304
+ }
305
+ array_splice($unique, array_search($line, $unique), 0, $comments);
306
+ $comments = array();
307
+ }
308
+ return array_merge($unique, $comments);
309
  }
310
 
311
  protected function sortProps($props, $split = false) {
312
  $vars = array();
313
  $imports = array();
314
  $other = array();
315
+ $stack = array();
316
 
317
  foreach ($props as $prop) {
318
  switch ($prop[0]) {
319
+ case "comment":
320
+ $stack[] = $prop;
321
+ break;
322
  case "assign":
323
+ $stack[] = $prop;
324
  if (isset($prop[1][0]) && $prop[1][0] == $this->vPrefix) {
325
+ $vars = array_merge($vars, $stack);
326
  } else {
327
+ $other = array_merge($other, $stack);
328
  }
329
+ $stack = array();
330
  break;
331
  case "import":
332
  $id = self::$nextImportId++;
333
  $prop[] = $id;
334
+ $stack[] = $prop;
335
+ $imports = array_merge($imports, $stack);
336
  $other[] = array("import_mixin", $id);
337
+ $stack = array();
338
  break;
339
  default:
340
+ $stack[] = $prop;
341
+ $other = array_merge($other, $stack);
342
+ $stack = array();
343
+ break;
344
  }
345
  }
346
+ $other = array_merge($other, $stack);
347
 
348
  if ($split) {
349
+ return array(array_merge($imports, $vars), $other);
350
  } else {
351
+ return array_merge($imports, $vars, $other);
352
  }
353
  }
354
 
570
  return true; // not having enough is handled above
571
  } else {
572
  $numMatched = $i + 1;
573
+ // greater than becuase default values always match
574
  return $numMatched >= count($orderedArgs);
575
  }
576
  }
717
  $mixins = $this->findBlocks($block, $path, $orderedArgs, $keywordArgs);
718
 
719
  if ($mixins === null) {
720
+ $this->throwError("{$prop[1][0]} is undefined");
 
721
  }
722
 
723
  foreach ($mixins as $mixin) {
819
  * The input is expected to be reduced. This function will not work on
820
  * things like expressions and variables.
821
  */
822
+ public function compileValue($value) {
823
  switch ($value[0]) {
824
  case 'list':
825
  // [1] - delimiter
983
  return $this->lib_rgbahex($color);
984
  }
985
 
986
+ /**
987
+ * Given an url, decide whether to output a regular link or the base64-encoded contents of the file
988
+ *
989
+ * @param array $value either an argument list (two strings) or a single string
990
+ * @return string formatted url(), either as a link or base64-encoded
991
+ */
992
+ protected function lib_data_uri($value) {
993
+ $mime = ($value[0] === 'list') ? $value[2][0][2] : null;
994
+ $url = ($value[0] === 'list') ? $value[2][1][2][0] : $value[2][0];
995
+
996
+ $fullpath = $this->findImport($url);
997
+
998
+ if($fullpath && ($fsize = filesize($fullpath)) !== false) {
999
+ // IE8 can't handle data uris larger than 32KB
1000
+ if($fsize/1024 < 32) {
1001
+ if(is_null($mime)) {
1002
+ if(class_exists('finfo')) { // php 5.3+
1003
+ $finfo = new finfo(FILEINFO_MIME);
1004
+ $mime = explode('; ', $finfo->file($fullpath));
1005
+ $mime = $mime[0];
1006
+ } elseif(function_exists('mime_content_type')) { // PHP 5.2
1007
+ $mime = mime_content_type($fullpath);
1008
+ }
1009
+ }
1010
+
1011
+ if(!is_null($mime)) // fallback if the mime type is still unknown
1012
+ $url = sprintf('data:%s;base64,%s', $mime, base64_encode(file_get_contents($fullpath)));
1013
+ }
1014
+ }
1015
+
1016
+ return 'url("'.$url.'")';
1017
+ }
1018
+
1019
  // utility func to unquote a string
1020
  protected function lib_e($arg) {
1021
  switch ($arg[0]) {
1024
  if (isset($items[0])) {
1025
  return $this->lib_e($items[0]);
1026
  }
1027
+ $this->throwError("unrecognised input");
1028
  case "string":
1029
  $arg[1] = "";
1030
  return $arg;
1074
  }
1075
 
1076
  protected function lib_round($arg) {
1077
+ if($arg[0] != "list") {
1078
+ $value = $this->assertNumber($arg);
1079
+ return array("number", round($value), $arg[2]);
1080
+ } else {
1081
+ $value = $this->assertNumber($arg[2][0]);
1082
+ $precision = $this->assertNumber($arg[2][1]);
1083
+ return array("number", round($value, $precision), $arg[2][0][2]);
1084
+ }
1085
  }
1086
 
1087
  protected function lib_unit($arg) {
1098
  * Helper function to get arguments for color manipulation functions.
1099
  * takes a list that contains a color like thing and a percentage
1100
  */
1101
+ public function colorArgs($args) {
1102
  if ($args[0] != 'list' || count($args[2]) < 2) {
1103
  return array(array('color', 0, 0, 0), 0);
1104
  }
1239
  }
1240
 
1241
  protected function lib_contrast($args) {
1242
+ $darkColor = array('color', 0, 0, 0);
1243
+ $lightColor = array('color', 255, 255, 255);
1244
+ $threshold = 0.43;
1245
 
1246
+ if ( $args[0] == 'list' ) {
1247
+ $inputColor = ( isset($args[2][0]) ) ? $this->assertColor($args[2][0]) : $lightColor;
1248
+ $darkColor = ( isset($args[2][1]) ) ? $this->assertColor($args[2][1]) : $darkColor;
1249
+ $lightColor = ( isset($args[2][2]) ) ? $this->assertColor($args[2][2]) : $lightColor;
1250
+ $threshold = ( isset($args[2][3]) ) ? $this->assertNumber($args[2][3]) : $threshold;
1251
+ }
1252
+ else {
1253
+ $inputColor = $this->assertColor($args);
1254
+ }
1255
 
1256
+ $inputColor = $this->coerceColor($inputColor);
1257
+ $darkColor = $this->coerceColor($darkColor);
1258
+ $lightColor = $this->coerceColor($lightColor);
 
1259
 
1260
+ //Figure out which is actually light and dark!
1261
+ if ( $this->lib_luma($darkColor) > $this->lib_luma($lightColor) ) {
1262
+ $t = $lightColor;
1263
+ $lightColor = $darkColor;
1264
+ $darkColor = $t;
1265
+ }
1266
 
1267
+ $inputColor_alpha = $this->lib_alpha($inputColor);
1268
+ if ( ( $this->lib_luma($inputColor) * $inputColor_alpha) < $threshold) {
1269
+ return $lightColor;
1270
+ }
1271
+ return $darkColor;
1272
  }
1273
 
1274
+ protected function lib_luma($color) {
1275
+ $color = $this->coerceColor($color);
1276
+ return (0.2126 * $color[0] / 255) + (0.7152 * $color[1] / 255) + (0.0722 * $color[2] / 255);
1277
+ }
1278
+
1279
+
1280
+ public function assertColor($value, $error = "expected color value") {
1281
  $color = $this->coerceColor($value);
1282
  if (is_null($color)) $this->throwError($error);
1283
  return $color;
1284
  }
1285
 
1286
+ public function assertNumber($value, $error = "expecting number") {
1287
  if ($value[0] == "number") return $value[1];
1288
  $this->throwError($error);
1289
  }
1290
 
1291
+ public function assertArgs($value, $expectedArgs, $name="") {
1292
  if ($expectedArgs == 1) {
1293
  return $value;
1294
  } else {
1472
  }
1473
 
1474
  $seen[$key] = true;
1475
+ $out = $this->reduce($this->get($key));
1476
  $seen[$key] = false;
1477
  return $out;
1478
  case "list":
1500
 
1501
  list(, $name, $args) = $value;
1502
  if ($name == "%") $name = "_sprintf";
1503
+
1504
  $f = isset($this->libFunctions[$name]) ?
1505
+ $this->libFunctions[$name] : array($this, 'lib_'.str_replace('-', '_', $name));
1506
 
1507
  if (is_callable($f)) {
1508
  if ($args[0] == 'list')
1609
  return $value;
1610
  }
1611
 
1612
+ public function toBool($a) {
1613
  if ($a) return self::$TRUE;
1614
  else return self::$FALSE;
1615
  }
1832
 
1833
 
1834
  // get the highest occurrence entry for a name
1835
+ protected function get($name) {
1836
  $current = $this->env;
1837
 
1838
  $isArguments = $name == $this->vPrefix . 'arguments';
1849
  }
1850
  }
1851
 
1852
+ $this->throwError("variable $name is undefined");
1853
  }
1854
 
1855
  // inject array of unparsed strings into environment as variables
2085
  return $this->allParsedFiles;
2086
  }
2087
 
2088
+ public function addParsedFile($file) {
2089
  $this->allParsedFiles[realpath($file)] = filemtime($file);
2090
  }
2091
 
2092
  /**
2093
  * Uses the current value of $this->count to show line and line number
2094
  */
2095
+ public function throwError($msg = null) {
2096
  if ($this->sourceLoc >= 0) {
2097
  $this->sourceParser->throwError($msg, $this->sourceLoc);
2098
  }
2296
  // regex string to match any of the operators
2297
  static protected $operatorString;
2298
 
2299
+ // these properties will supress division unless it's inside parenthases
2300
  static protected $supressDivisionProps =
2301
  array('/border-radius$/i', '/^font$/i');
2302
 
2358
  $this->whitespace();
2359
 
2360
  // parse the entire file
 
2361
  while (false !== $this->parseChunk());
2362
 
2363
  if ($this->count != strlen($this->buffer))
2364
  $this->throwError();
2365
 
2366
  // TODO report where the block was opened
2367
+ if ( !property_exists($this->env, 'parent') || !is_null($this->env->parent) )
2368
  throw new exception('parse error: unclosed block');
2369
 
2370
  return $this->env;
2410
  if (empty($this->buffer)) return false;
2411
  $s = $this->seek();
2412
 
2413
+ if ($this->whitespace()) {
2414
+ return true;
2415
+ }
2416
+
2417
  // setting a property
2418
  if ($this->keyword($key) && $this->assign() &&
2419
  $this->propertyValue($value, $key) && $this->end())
2494
  }
2495
 
2496
  // opening a simple block
2497
+ if ($this->tags($tags) && $this->literal('{', false)) {
2498
  $tags = $this->fixTags($tags);
2499
  $this->pushBlock($tags);
2500
  return true;
2769
 
2770
  // an import statement
2771
  protected function import(&$out) {
 
2772
  if (!$this->literal('@import')) return false;
2773
 
2774
  // @import "something.css" media;
3128
  // list of tags of specifying mixin path
3129
  // optionally separated by > (lazy, accepts extra >)
3130
  protected function mixinTags(&$tags) {
 
3131
  $tags = array();
3132
  while ($this->tag($tt, true)) {
3133
  $tags[] = $tt;
3355
 
3356
  // consume an end of statement delimiter
3357
  protected function end() {
3358
+ if ($this->literal(';', false)) {
3359
  return true;
3360
  } elseif ($this->count == strlen($this->buffer) || $this->buffer[$this->count] == '}') {
3361
  // if there is end of file or a closing block next then we don't need a ;
3504
  if ($this->writeComments) {
3505
  $gotWhite = false;
3506
  while (preg_match(self::$whitePattern, $this->buffer, $m, null, $this->count)) {
3507
+ if (isset($m[1]) && empty($this->seenComments[$this->count])) {
3508
  $this->append(array("comment", $m[1]));
3509
+ $this->seenComments[$this->count] = true;
3510
  }
3511
  $this->count += strlen($m[0]);
3512
  $gotWhite = true;
modules/custom-post-types/comics.php CHANGED
@@ -331,8 +331,9 @@ class Jetpack_Comic {
331
  || current_theme_supports( self::POST_TYPE )
332
  || get_stylesheet() == 'pub/panel' );
333
  restore_current_blog();
334
- /** This action is documented in modules/custom-post-types/nova.php */
335
- return (bool) apply_filters( 'jetpack_enable_cpt', $supports_comics, self::POST_TYPE );
 
336
  }
337
 
338
  $supports_comics = false;
@@ -352,11 +353,11 @@ class Jetpack_Comic {
352
  $supports_comics = true;
353
  }
354
 
355
- /**
356
  * Filter it in case something else knows better.
357
  */
358
- /** This action is documented in modules/custom-post-types/nova.php */
359
- return (bool) apply_filters( 'jetpack_enable_cpt', $supports_comics, self::POST_TYPE );
360
  }
361
 
362
  /**
331
  || current_theme_supports( self::POST_TYPE )
332
  || get_stylesheet() == 'pub/panel' );
333
  restore_current_blog();
334
+
335
+ /** This action is documented in modules/custom-post-types/nova.php */
336
+ return (bool) apply_filters( 'jetpack_enable_cpt', $supports_comics, self::POST_TYPE );
337
  }
338
 
339
  $supports_comics = false;
353
  $supports_comics = true;
354
  }
355
 
356
+ /**
357
  * Filter it in case something else knows better.
358
  */
359
+ /** This action is documented in modules/custom-post-types/nova.php */
360
+ return (bool) apply_filters( 'jetpack_enable_cpt', $supports_comics, self::POST_TYPE );
361
  }
362
 
363
  /**
modules/custom-post-types/css/nova-font.css CHANGED
@@ -11,7 +11,8 @@
11
  }
12
 
13
  #menu-posts-nova_menu_item:before,
14
- #dashboard_right_now .nova-menu-count a:before {
 
15
  font-family: 'nova-font';
16
  speak: none;
17
  font-style: normal;
@@ -24,6 +25,6 @@
24
  -webkit-font-smoothing: antialiased;
25
  -moz-osx-font-smoothing: grayscale;
26
  }
27
- #dashboard_right_now .nova-menu-count a:before {
28
  content: '\e603';
29
  }
11
  }
12
 
13
  #menu-posts-nova_menu_item:before,
14
+ #dashboard_right_now .nova-menu-count a:before,
15
+ #dashboard_right_now .nova-menu-count span:before {
16
  font-family: 'nova-font';
17
  speak: none;
18
  font-style: normal;
25
  -webkit-font-smoothing: antialiased;
26
  -moz-osx-font-smoothing: grayscale;
27
  }
28
+ #dashboard_right_now .nova-menu-count a:before, #dashboard_right_now .nova-menu-count span:before {
29
  content: '\e603';
30
  }
modules/custom-post-types/css/testimonial-shortcode.css CHANGED
@@ -79,6 +79,7 @@
79
  font-weight: 700;
80
  margin: 0;
81
  padding: 0;
 
82
  }
83
 
84
  .testimonial-featured-image + .testimonial-entry-title {
79
  font-weight: 700;
80
  margin: 0;
81
  padding: 0;
82
+ display: block;
83
  }
84
 
85
  .testimonial-featured-image + .testimonial-entry-title {
modules/custom-post-types/nova.php CHANGED
@@ -281,16 +281,16 @@ class Nova_Restaurant {
281
  */
282
  function add_to_dashboard() {
283
  $number_menu_items = wp_count_posts( self::MENU_ITEM_POST_TYPE );
284
- $number_menu_items_published = sprintf( '%1s %2s',
285
- number_format_i18n( $number_menu_items->publish ),
286
- _n( 'Food Menu Item', 'Food Menu Items', intval( $number_menu_items->publish ), 'jetpack' )
287
- );
288
 
289
  if ( current_user_can( 'administrator' ) ) {
290
- $number_menu_items_published = sprintf( '<a href="%1s">%2s %3s</a>',
291
  esc_url( get_admin_url( get_current_blog_id(), 'edit.php?post_type=' . self::MENU_ITEM_POST_TYPE ) ),
292
- number_format_i18n( $number_menu_items->publish ),
293
- _n( 'Food Menu Item', 'Food Menu Items', intval( $number_menu_items->publish ), 'jetpack' )
 
 
 
 
294
  );
295
  }
296
 
281
  */
282
  function add_to_dashboard() {
283
  $number_menu_items = wp_count_posts( self::MENU_ITEM_POST_TYPE );
 
 
 
 
284
 
285
  if ( current_user_can( 'administrator' ) ) {
286
+ $number_menu_items_published = sprintf( '<a href="%1$s">%2$s</a>',
287
  esc_url( get_admin_url( get_current_blog_id(), 'edit.php?post_type=' . self::MENU_ITEM_POST_TYPE ) ),
288
+ sprintf( _n( '%1$d Food Menu Item', '%1$d Food Menu Items', intval( $number_menu_items->publish ), 'jetpack' ), number_format_i18n( $number_menu_items->publish ) )
289
+ );
290
+ }
291
+ else {
292
+ $number_menu_items_published = sprintf( '<span>%1$s</span>',
293
+ sprintf( _n( '%1$d Food Menu Item', '%1$d Food Menu Items', intval( $number_menu_items->publish ), 'jetpack' ), number_format_i18n( $number_menu_items->publish ) )
294
  );
295
  }
296
 
modules/custom-post-types/testimonial.php CHANGED
@@ -19,8 +19,9 @@ class Jetpack_Testimonial {
19
  static function init() {
20
  static $instance = false;
21
 
22
- if ( ! $instance )
23
  $instance = new Jetpack_Testimonial;
 
24
 
25
  return $instance;
26
  }
@@ -28,21 +29,32 @@ class Jetpack_Testimonial {
28
  /**
29
  * Conditionally hook into WordPress.
30
  *
31
- * Themes must declare that they support this module by adding
32
- * add_theme_support( 'jetpack-testimonial' ); during after_setup_theme.
33
- *
34
- * If no theme support is found there is no need to hook into
35
- * WordPress. We'll just return early instead.
36
  */
37
  function __construct() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  // Add an option to enable the CPT
39
  add_action( 'admin_init', array( $this, 'settings_api_init' ) );
40
 
41
  // Check on theme switch if theme supports CPT and setting is disabled
42
- add_action( 'after_switch_theme', array( $this, 'activation_post_type_support' ) );
43
-
44
- // Make sure the post types are loaded for imports
45
- add_action( 'import_start', array( $this, 'register_post_types' ) );
46
 
47
  $setting = get_option( self::OPTION_NAME, '0' );
48
 
@@ -51,46 +63,54 @@ class Jetpack_Testimonial {
51
  return;
52
  }
53
 
54
- // Enable Omnisearch for Testimonials.
55
- if ( class_exists( 'Jetpack_Omnisearch_Posts' ) )
56
  new Jetpack_Omnisearch_Posts( self::CUSTOM_POST_TYPE );
 
57
 
58
  // CPT magic
59
  $this->register_post_types();
60
- add_action( sprintf( 'add_option_%s', self::OPTION_NAME ), array( $this, 'flush_rules_on_enable' ), 10 );
61
- add_action( sprintf( 'update_option_%s', self::OPTION_NAME ), array( $this, 'flush_rules_on_enable' ), 10 );
62
- add_action( sprintf( 'publish_%s', self::CUSTOM_POST_TYPE ), array( $this, 'flush_rules_on_first_testimonial' ) );
63
- add_action( 'after_switch_theme', array( $this, 'flush_rules_on_switch' ) );
64
 
65
  // Admin Customization
66
- add_filter( 'enter_title_here', array( $this, 'change_default_title' ) );
67
- add_filter( sprintf( 'manage_%s_posts_columns', self::CUSTOM_POST_TYPE), array( $this, 'edit_title_column_label' ) );
68
- add_filter( 'post_updated_messages', array( $this, 'updated_messages' ) );
69
- add_action( 'customize_register', array( $this, 'customize_register' ) );
70
 
 
71
  $num_testimonials = self::count_testimonials();
72
- if ( ! empty( $num_testimonials ) )
73
- add_action( 'admin_menu', array( $this, 'add_customize_page' ) );
 
74
 
75
- add_action( 'after_switch_theme', array( $this, 'flush_rules_on_switch' ) );
 
 
 
 
76
 
77
- // Adjust CPT archive and custom taxonomies to obey CPT reading setting
78
- add_filter( 'pre_get_posts', array( $this, 'query_reading_setting' ) );
 
79
 
80
- // If called via REST API, we need to register later in lifecycle
81
- add_action( 'restapi_theme_init', array( $this, 'maybe_register_cpt' ) );
82
 
83
  // Register [jetpack_testimonials] always and
84
  // register [testimonials] if [testimonials] isn't already set
85
- add_shortcode( 'jetpack_testimonials', array( $this, 'jetpack_testimonial_shortcode' ) );
86
 
87
  if ( ! shortcode_exists( 'testimonials' ) ) {
88
- add_shortcode( 'testimonials', array( $this, 'jetpack_testimonial_shortcode' ) );
89
  }
90
 
91
  // If CPT was enabled programatically and no CPT items exist when user switches away, disable
92
  if ( $setting && $this->site_supports_custom_post_type() ) {
93
- add_action( 'switch_theme', array( $this, 'deactivation_post_type_support' ) );
94
  }
95
  }
96
 
@@ -108,6 +128,7 @@ class Jetpack_Testimonial {
108
  'writing',
109
  'jetpack_cpt_section'
110
  );
 
111
  register_setting(
112
  'writing',
113
  self::OPTION_NAME,
@@ -115,7 +136,7 @@ class Jetpack_Testimonial {
115
  );
116
 
117
  // Check if CPT is enabled first so that intval doesn't get set to NULL on re-registering
118
- if ( get_option( self::OPTION_NAME, '0' ) || current_theme_supports( self::CUSTOM_POST_TYPE ) ) {
119
  register_setting(
120
  'writing',
121
  self::OPTION_READING_SETTING,
@@ -124,17 +145,15 @@ class Jetpack_Testimonial {
124
  }
125
  }
126
 
127
-
128
-
129
  /**
130
  * HTML code to display a checkbox true/false option
131
- * for the Testimonial CPT setting.
132
  *
133
  * @return html
134
  */
135
  function setting_html() {
136
  if ( current_theme_supports( self::CUSTOM_POST_TYPE ) ) : ?>
137
- <p><?php printf( __( 'Your theme supports <strong>%s</strong>', 'jetpack' ), self::CUSTOM_POST_TYPE ); ?></p>
138
  <?php else : ?>
139
  <label for="<?php echo esc_attr( self::OPTION_NAME ); ?>">
140
  <input name="<?php echo esc_attr( self::OPTION_NAME ); ?>" id="<?php echo esc_attr( self::OPTION_NAME ); ?>" <?php echo checked( get_option( self::OPTION_NAME, '0' ), true, false ); ?> type="checkbox" value="1" />
@@ -143,7 +162,7 @@ class Jetpack_Testimonial {
143
  </label>
144
  <?php endif;
145
 
146
- if ( get_option( self::OPTION_NAME, '0' ) || current_theme_supports( self::CUSTOM_POST_TYPE ) ) :
147
  printf( '<p><label for="%1$s">%2$s</label></p>',
148
  esc_attr( self::OPTION_READING_SETTING ),
149
  sprintf( __( 'Testimonial pages display at most %1$s testimonials', 'jetpack' ),
@@ -170,6 +189,42 @@ class Jetpack_Testimonial {
170
  return (bool) apply_filters( 'jetpack_enable_cpt', false, self::CUSTOM_POST_TYPE );
171
  }
172
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  /*
174
  * Flush permalinks when CPT option is turned on/off
175
  */
@@ -227,7 +282,9 @@ class Jetpack_Testimonial {
227
  }
228
  }
229
 
230
- /* Setup */
 
 
231
  function register_post_types() {
232
  if ( post_type_exists( self::CUSTOM_POST_TYPE ) ) {
233
  return;
@@ -264,6 +321,7 @@ class Jetpack_Testimonial {
264
  'public' => true,
265
  'show_ui' => true,
266
  'menu_position' => 20, // below Pages
 
267
  'capability_type' => 'page',
268
  'map_meta_cap' => true,
269
  'has_archive' => true,
@@ -271,34 +329,13 @@ class Jetpack_Testimonial {
271
  ) );
272
  }
273
 
274
- /**
275
- * Change ‘Enter Title Here’ text for the Testimonial.
276
- */
277
- function change_default_title( $title ) {
278
- $screen = get_current_screen();
279
-
280
- if ( 'jetpack-testimonial' == $screen->post_type )
281
- $title = esc_html__( "Enter the customer's name here", 'jetpack' );
282
-
283
- return $title;
284
- }
285
-
286
- /**
287
- * Change ‘Title’ column label on all Testimonials page.
288
- */
289
- function edit_title_column_label( $columns ) {
290
- $columns['title'] = esc_html__( 'Customer Name', 'jetpack' );
291
-
292
- return $columns;
293
- }
294
-
295
  /**
296
  * Update messages for the Testimonial admin.
297
  */
298
  function updated_messages( $messages ) {
299
  global $post;
300
 
301
- $messages['jetpack-testimonial'] = array(
302
  0 => '', // Unused. Messages start at index 1.
303
  1 => sprintf( __( 'Testimonial updated. <a href="%s">View testimonial</a>', 'jetpack'), esc_url( get_permalink( $post->ID ) ) ),
304
  2 => esc_html__( 'Custom field updated.', 'jetpack' ),
@@ -310,40 +347,68 @@ class Jetpack_Testimonial {
310
  7 => esc_html__( 'Testimonial saved.', 'jetpack' ),
311
  8 => sprintf( __( 'Testimonial submitted. <a target="_blank" href="%s">Preview testimonial</a>', 'jetpack'), esc_url( add_query_arg( 'preview', 'true', get_permalink( $post->ID ) ) ) ),
312
  9 => sprintf( __( 'Testimonial scheduled for: <strong>%1$s</strong>. <a target="_blank" href="%2$s">Preview testimonial</a>', 'jetpack' ),
313
- // translators: Publish box date format, see http://php.net/date
314
- date_i18n( __( 'M j, Y @ G:i', 'jetpack' ), strtotime( $post->post_date ) ), esc_url( get_permalink($post->ID) ) ),
315
  10 => sprintf( __( 'Testimonial draft updated. <a target="_blank" href="%s">Preview testimonial</a>', 'jetpack' ), esc_url( add_query_arg( 'preview', 'true', get_permalink( $post->ID ) ) ) ),
316
  );
317
 
318
  return $messages;
319
  }
320
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
321
  /**
322
  * Follow CPT reading setting on CPT archive page
323
  */
324
  function query_reading_setting( $query ) {
325
- if ( ! is_admin() &&
326
- $query->is_main_query() &&
327
- ( $query->is_post_type_archive( self::CUSTOM_POST_TYPE ) )
328
  ) {
329
  $query->set( 'posts_per_page', get_option( self::OPTION_READING_SETTING, '10' ) );
330
  }
331
  }
332
 
333
- function set_testimonial_option() {
334
- $testimonials_option = get_option( 'jetpack_testimonial' );
 
 
 
335
 
336
- $testimonials = wp_count_posts( 'jetpack-testimonial' );
 
 
 
 
337
  $published_testimonials = $testimonials->publish;
338
 
339
- update_option( 'jetpack_testimonial', $published_testimonials );
340
  }
341
 
342
  function count_testimonials() {
343
  $testimonials = get_transient( 'jetpack-testimonial-count-cache' );
344
 
345
  if ( false === $testimonials ) {
346
- $testimonials = (int) wp_count_posts( 'jetpack-testimonial' )->publish;
347
 
348
  if ( ! empty( $testimonials ) ) {
349
  set_transient( 'jetpack-testimonial-count-cache', $testimonials, 60*60*12 );
@@ -358,11 +423,14 @@ class Jetpack_Testimonial {
358
  */
359
  function add_customize_page() {
360
  add_submenu_page(
361
- 'edit.php?post_type=jetpack-testimonial',
362
  esc_html__( 'Customize Testimonials Archive', 'jetpack' ),
363
  esc_html__( 'Customize', 'jetpack' ),
364
  'edit_theme_options',
365
- add_query_arg( array( 'url' => urlencode( home_url( 'testimonial' ) ) ), 'customize.php' ) . '#accordion-section-jetpack_testimonials'
 
 
 
366
  );
367
  }
368
 
@@ -374,7 +442,7 @@ class Jetpack_Testimonial {
374
 
375
  $wp_customize->add_section( 'jetpack_testimonials', array(
376
  'title' => esc_html__( 'Testimonials', 'jetpack' ),
377
- 'theme_supports' => 'jetpack-testimonial',
378
  'priority' => 130,
379
  ) );
380
 
@@ -410,8 +478,27 @@ class Jetpack_Testimonial {
410
  'section' => 'jetpack_testimonials',
411
  'label' => esc_html__( 'Testimonial Page Featured Image', 'jetpack' ),
412
  ) ) );
 
 
 
 
 
 
413
  }
414
 
 
 
 
 
 
 
 
 
 
 
 
 
 
415
 
416
  /**
417
  * Our [testimonial] shortcode.
@@ -502,7 +589,7 @@ class Jetpack_Testimonial {
502
  // If we have testimonials, create the html
503
  if ( $query->have_posts() ) {
504
 
505
- ?>
506
  <div class="jetpack-testimonial-shortcode column-<?php echo esc_attr( $atts['columns'] ); ?>">
507
  <?php // open .jetpack-testimonial-shortcode
508
 
@@ -618,10 +705,10 @@ function jetpack_testimonial_custom_control_classes() {
618
  public function render_content() {
619
  ?>
620
  <label>
621
- <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
622
- <textarea rows="5" style="width:100%;" <?php $this->link(); ?>><?php echo esc_textarea( $this->value() ); ?></textarea>
623
  </label>
624
- <?php
625
  }
626
 
627
  public static function sanitize_content( $value ) {
19
  static function init() {
20
  static $instance = false;
21
 
22
+ if ( ! $instance ) {
23
  $instance = new Jetpack_Testimonial;
24
+ }
25
 
26
  return $instance;
27
  }
29
  /**
30
  * Conditionally hook into WordPress.
31
  *
32
+ * Setup user option for enabling CPT.
33
+ * If user has CPT enabled, show in admin.
 
 
 
34
  */
35
  function __construct() {
36
+ // Make sure the post types are loaded for imports
37
+ add_action( 'import_start', array( $this, 'register_post_types' ) );
38
+
39
+ // If called via REST API, we need to register later in lifecycle
40
+ add_action( 'restapi_theme_init', array( $this, 'maybe_register_cpt' ) );
41
+
42
+ // Add to REST API post type whitelist
43
+ add_filter( 'rest_api_allowed_post_types', array( $this, 'allow_cpt_rest_api_type' ) );
44
+
45
+ $this->maybe_register_cpt();
46
+ }
47
+
48
+ /**
49
+ * Registers the custom post types and adds action/filter handlers, but
50
+ * only if the site supports it
51
+ */
52
+ function maybe_register_cpt() {
53
  // Add an option to enable the CPT
54
  add_action( 'admin_init', array( $this, 'settings_api_init' ) );
55
 
56
  // Check on theme switch if theme supports CPT and setting is disabled
57
+ add_action( 'after_switch_theme', array( $this, 'activation_post_type_support' ) );
 
 
 
58
 
59
  $setting = get_option( self::OPTION_NAME, '0' );
60
 
63
  return;
64
  }
65
 
66
+ // Enable Omnisearch for CPT.
67
+ if ( class_exists( 'Jetpack_Omnisearch_Posts' ) ) {
68
  new Jetpack_Omnisearch_Posts( self::CUSTOM_POST_TYPE );
69
+ }
70
 
71
  // CPT magic
72
  $this->register_post_types();
73
+ add_action( sprintf( 'add_option_%s', self::OPTION_NAME ), array( $this, 'flush_rules_on_enable' ), 10 );
74
+ add_action( sprintf( 'update_option_%s', self::OPTION_NAME ), array( $this, 'flush_rules_on_enable' ), 10 );
75
+ add_action( sprintf( 'publish_%s', self::CUSTOM_POST_TYPE ), array( $this, 'flush_rules_on_first_testimonial' ) );
76
+ add_action( 'after_switch_theme', array( $this, 'flush_rules_on_switch' ) );
77
 
78
  // Admin Customization
79
+ add_filter( 'enter_title_here', array( $this, 'change_default_title' ) );
80
+ add_filter( sprintf( 'manage_%s_posts_columns', self::CUSTOM_POST_TYPE), array( $this, 'edit_title_column_label' ) );
81
+ add_filter( 'post_updated_messages', array( $this, 'updated_messages' ) );
82
+ add_action( 'customize_register', array( $this, 'customize_register' ) );
83
 
84
+ // Only add the 'Customize' sub-menu if the theme supports it.
85
  $num_testimonials = self::count_testimonials();
86
+ if ( ! empty( $num_testimonials ) && current_theme_supports( self::CUSTOM_POST_TYPE ) ) {
87
+ add_action( 'admin_menu', array( $this, 'add_customize_page' ) );
88
+ }
89
 
90
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
91
+ // Track all the things
92
+ add_action( sprintf( 'add_option_%s', self::OPTION_NAME ), array( $this, 'new_activation_stat_bump' ) );
93
+ add_action( sprintf( 'update_option_%s', self::OPTION_NAME ), array( $this, 'update_option_stat_bump' ), 11, 2 );
94
+ add_action( sprintf( 'publish_%s', self::CUSTOM_POST_TYPE), array( $this, 'new_testimonial_stat_bump' ) );
95
 
96
+ // Add to Dotcom XML sitemaps
97
+ add_filter( 'wpcom_sitemap_post_types', array( $this, 'add_to_sitemap' ) );
98
+ }
99
 
100
+ // Adjust CPT archive and custom taxonomies to obey CPT reading setting
101
+ add_filter( 'pre_get_posts', array( $this, 'query_reading_setting' ), 20 );
102
 
103
  // Register [jetpack_testimonials] always and
104
  // register [testimonials] if [testimonials] isn't already set
105
+ add_shortcode( 'jetpack_testimonials', array( $this, 'jetpack_testimonial_shortcode' ) );
106
 
107
  if ( ! shortcode_exists( 'testimonials' ) ) {
108
+ add_shortcode( 'testimonials', array( $this, 'jetpack_testimonial_shortcode' ) );
109
  }
110
 
111
  // If CPT was enabled programatically and no CPT items exist when user switches away, disable
112
  if ( $setting && $this->site_supports_custom_post_type() ) {
113
+ add_action( 'switch_theme', array( $this, 'deactivation_post_type_support' ) );
114
  }
115
  }
116
 
128
  'writing',
129
  'jetpack_cpt_section'
130
  );
131
+
132
  register_setting(
133
  'writing',
134
  self::OPTION_NAME,
136
  );
137
 
138
  // Check if CPT is enabled first so that intval doesn't get set to NULL on re-registering
139
+ if ( $this->site_supports_custom_post_type() ) {
140
  register_setting(
141
  'writing',
142
  self::OPTION_READING_SETTING,
145
  }
146
  }
147
 
 
 
148
  /**
149
  * HTML code to display a checkbox true/false option
150
+ * for the CPT setting.
151
  *
152
  * @return html
153
  */
154
  function setting_html() {
155
  if ( current_theme_supports( self::CUSTOM_POST_TYPE ) ) : ?>
156
+ <p><?php printf( __( 'Your theme supports Testimonials', 'jetpack' ) ); ?></p>
157
  <?php else : ?>
158
  <label for="<?php echo esc_attr( self::OPTION_NAME ); ?>">
159
  <input name="<?php echo esc_attr( self::OPTION_NAME ); ?>" id="<?php echo esc_attr( self::OPTION_NAME ); ?>" <?php echo checked( get_option( self::OPTION_NAME, '0' ), true, false ); ?> type="checkbox" value="1" />
162
  </label>
163
  <?php endif;
164
 
165
+ if ( $this->site_supports_custom_post_type() ) :
166
  printf( '<p><label for="%1$s">%2$s</label></p>',
167
  esc_attr( self::OPTION_READING_SETTING ),
168
  sprintf( __( 'Testimonial pages display at most %1$s testimonials', 'jetpack' ),
189
  return (bool) apply_filters( 'jetpack_enable_cpt', false, self::CUSTOM_POST_TYPE );
190
  }
191
 
192
+ /**
193
+ * Add to REST API post type whitelist
194
+ */
195
+ function allow_cpt_rest_api_type( $post_types ) {
196
+ $post_types[] = self::CUSTOM_POST_TYPE;
197
+
198
+ return $post_types;
199
+ }
200
+
201
+ /**
202
+ * Bump Testimonial > New Activation stat
203
+ */
204
+ function new_activation_stat_bump() {
205
+ bump_stats_extras( 'testimonials', 'new-activation' );
206
+ }
207
+
208
+ /**
209
+ * Bump Testimonial > Option On/Off stats to get total active
210
+ */
211
+ function update_option_stat_bump( $old, $new ) {
212
+ if ( empty( $old ) && ! empty( $new ) ) {
213
+ bump_stats_extras( 'testimonials', 'option-on' );
214
+ }
215
+
216
+ if ( ! empty( $old ) && empty( $new ) ) {
217
+ bump_stats_extras( 'testimonials', 'option-off' );
218
+ }
219
+ }
220
+
221
+ /**
222
+ * Bump Testimonial > Published Testimonials stat when testimonials are published
223
+ */
224
+ function new_testimonial_stat_bump() {
225
+ bump_stats_extras( 'testimonials', 'published-testimonials' );
226
+ }
227
+
228
  /*
229
  * Flush permalinks when CPT option is turned on/off
230
  */
282
  }
283
  }
284
 
285
+ /**
286
+ * Register Post Type
287
+ */
288
  function register_post_types() {
289
  if ( post_type_exists( self::CUSTOM_POST_TYPE ) ) {
290
  return;
321
  'public' => true,
322
  'show_ui' => true,
323
  'menu_position' => 20, // below Pages
324
+ 'menu_icon' => 'dashicons-testimonial',
325
  'capability_type' => 'page',
326
  'map_meta_cap' => true,
327
  'has_archive' => true,
329
  ) );
330
  }
331
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
332
  /**
333
  * Update messages for the Testimonial admin.
334
  */
335
  function updated_messages( $messages ) {
336
  global $post;
337
 
338
+ $messages[ self::CUSTOM_POST_TYPE ] = array(
339
  0 => '', // Unused. Messages start at index 1.
340
  1 => sprintf( __( 'Testimonial updated. <a href="%s">View testimonial</a>', 'jetpack'), esc_url( get_permalink( $post->ID ) ) ),
341
  2 => esc_html__( 'Custom field updated.', 'jetpack' ),
347
  7 => esc_html__( 'Testimonial saved.', 'jetpack' ),
348
  8 => sprintf( __( 'Testimonial submitted. <a target="_blank" href="%s">Preview testimonial</a>', 'jetpack'), esc_url( add_query_arg( 'preview', 'true', get_permalink( $post->ID ) ) ) ),
349
  9 => sprintf( __( 'Testimonial scheduled for: <strong>%1$s</strong>. <a target="_blank" href="%2$s">Preview testimonial</a>', 'jetpack' ),
350
+ // translators: Publish box date format, see http://php.net/date
351
+ date_i18n( __( 'M j, Y @ G:i', 'jetpack' ), strtotime( $post->post_date ) ), esc_url( get_permalink($post->ID) ) ),
352
  10 => sprintf( __( 'Testimonial draft updated. <a target="_blank" href="%s">Preview testimonial</a>', 'jetpack' ), esc_url( add_query_arg( 'preview', 'true', get_permalink( $post->ID ) ) ) ),
353
  );
354
 
355
  return $messages;
356
  }
357
 
358
+ /**
359
+ * Change ‘Enter Title Here’ text for the Testimonial.
360
+ */
361
+ function change_default_title( $title ) {
362
+ $screen = get_current_screen();
363
+
364
+ if ( self::CUSTOM_POST_TYPE == $screen->post_type )
365
+ $title = esc_html__( "Enter the customer's name here", 'jetpack' );
366
+
367
+ return $title;
368
+ }
369
+
370
+ /**
371
+ * Change ‘Title’ column label on all Testimonials page.
372
+ */
373
+ function edit_title_column_label( $columns ) {
374
+ $columns['title'] = esc_html__( 'Customer Name', 'jetpack' );
375
+
376
+ return $columns;
377
+ }
378
+
379
  /**
380
  * Follow CPT reading setting on CPT archive page
381
  */
382
  function query_reading_setting( $query ) {
383
+ if ( ! is_admin()
384
+ && $query->is_main_query()
385
+ && $query->is_post_type_archive( self::CUSTOM_POST_TYPE )
386
  ) {
387
  $query->set( 'posts_per_page', get_option( self::OPTION_READING_SETTING, '10' ) );
388
  }
389
  }
390
 
391
+ /**
392
+ * Add CPT to Dotcom sitemap
393
+ */
394
+ function add_to_sitemap( $post_types ) {
395
+ $post_types[] = self::CUSTOM_POST_TYPE;
396
 
397
+ return $post_types;
398
+ }
399
+
400
+ function set_testimonial_option() {
401
+ $testimonials = wp_count_posts( self::CUSTOM_POST_TYPE );
402
  $published_testimonials = $testimonials->publish;
403
 
404
+ update_option( self::OPTION_NAME, $published_testimonials );
405
  }
406
 
407
  function count_testimonials() {
408
  $testimonials = get_transient( 'jetpack-testimonial-count-cache' );
409
 
410
  if ( false === $testimonials ) {
411
+ $testimonials = (int) wp_count_posts( self::CUSTOM_POST_TYPE )->publish;
412
 
413
  if ( ! empty( $testimonials ) ) {
414
  set_transient( 'jetpack-testimonial-count-cache', $testimonials, 60*60*12 );
423
  */
424
  function add_customize_page() {
425
  add_submenu_page(
426
+ 'edit.php?post_type=' . self::CUSTOM_POST_TYPE,
427
  esc_html__( 'Customize Testimonials Archive', 'jetpack' ),
428
  esc_html__( 'Customize', 'jetpack' ),
429
  'edit_theme_options',
430
+ add_query_arg( array(
431
+ 'url' => urlencode( home_url( '/testimonial/' ) ),
432
+ 'autofocus[section]' => 'jetpack_testimonials'
433
+ ), 'customize.php' )
434
  );
435
  }
436
 
442
 
443
  $wp_customize->add_section( 'jetpack_testimonials', array(
444
  'title' => esc_html__( 'Testimonials', 'jetpack' ),
445
+ 'theme_supports' => self::CUSTOM_POST_TYPE,
446
  'priority' => 130,
447
  ) );
448
 
478
  'section' => 'jetpack_testimonials',
479
  'label' => esc_html__( 'Testimonial Page Featured Image', 'jetpack' ),
480
  ) ) );
481
+
482
+ // The featured image control doesn't display properly in the Customizer unless we coerce
483
+ // it back into a URL sooner, since that's what WP_Customize_Upload_Control::to_json() expects
484
+ if ( is_admin() ) {
485
+ add_filter( 'theme_mod_jetpack_testimonials', array( $this, 'coerce_testimonial_image_to_url' ) );
486
+ }
487
  }
488
 
489
+ public function coerce_testimonial_image_to_url( $opt ) {
490
+ if ( ! $opt || ! is_array( $opt ) ) {
491
+ return $opt;
492
+ }
493
+ if ( ! isset( $opt['featured-image'] ) || ! is_scalar( $opt['featured-image'] ) ) {
494
+ return $opt;
495
+ }
496
+ $url = wp_get_attachment_url( $opt['featured-image'] );
497
+ if ( $url ) {
498
+ $opt['featured-image'] = $url;
499
+ }
500
+ return $opt;
501
+ }
502
 
503
  /**
504
  * Our [testimonial] shortcode.
589
  // If we have testimonials, create the html
590
  if ( $query->have_posts() ) {
591
 
592
+ ?>
593
  <div class="jetpack-testimonial-shortcode column-<?php echo esc_attr( $atts['columns'] ); ?>">
594
  <?php // open .jetpack-testimonial-shortcode
595
 
705
  public function render_content() {
706
  ?>
707
  <label>
708
+ <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
709
+ <textarea rows="5" style="width:100%;" <?php $this->link(); ?>><?php echo esc_textarea( $this->value() ); ?></textarea>
710
  </label>
711
+ <?php
712
  }
713
 
714
  public static function sanitize_content( $value ) {
modules/infinite-scroll/infinity.js CHANGED
@@ -315,7 +315,7 @@ Scroller.prototype.refresh = function() {
315
  }
316
 
317
  // stash the response in the page cache
318
- self.pageCache[self.page] = response;
319
 
320
  // Increment the page number
321
  self.page++;
315
  }
316
 
317
  // stash the response in the page cache
318
+ self.pageCache[self.page] = response;
319
 
320
  // Increment the page number
321
  self.page++;
modules/infinite-scroll/infinity.php CHANGED
@@ -359,7 +359,7 @@ class The_Neverending_Home_Page {
359
  $disabled = '' === get_option( self::$option_name_enabled ) ? true : false;
360
  if ( ! $disabled || 'click' == self::get_settings()->type ) {
361
  $classes[] = 'infinite-scroll';
362
-
363
  if ( 'scroll' == self::get_settings()->type )
364
  $classes[] = 'neverending';
365
  }
@@ -404,7 +404,7 @@ class The_Neverending_Home_Page {
404
  * @return array
405
  */
406
  function get_query_vars() {
407
-
408
  $query_vars = self::wp_query()->query_vars;
409
  //applies to search page only
410
  if ( true === self::wp_query()->is_search() ) {
@@ -428,7 +428,7 @@ class The_Neverending_Home_Page {
428
  * @return bool
429
  */
430
  function has_only_title_matching_posts() {
431
-
432
  //apply following logic for search page results only
433
  if ( false === self::wp_query()->is_search() ) {
434
  return false;
@@ -436,7 +436,7 @@ class The_Neverending_Home_Page {
436
 
437
  //grab the last posts in the stack as if the last one is title-matching the rest is title-matching as well
438
  $post = end( self::wp_query()->posts );
439
-
440
  //code inspired by WP_Query class
441
  if ( preg_match_all( '/".*?("|$)|((?<=[\t ",+])|^)[^\t ",+]+/', self::wp_query()->get( 's' ), $matches ) ) {
442
  $search_terms = self::wp_query()->parse_search_terms( $matches[0] );
@@ -449,9 +449,11 @@ class The_Neverending_Home_Page {
449
  }
450
 
451
  //actual testing. As search query combines multiple keywords with AND, it's enough to check if any of the keywords is present in the title
452
- if ( false !== strpos( $post->post_title, current( $search_terms ) ) ) {
 
453
  return true;
454
  }
 
455
  return false;
456
  }
457
 
359
  $disabled = '' === get_option( self::$option_name_enabled ) ? true : false;
360
  if ( ! $disabled || 'click' == self::get_settings()->type ) {
361
  $classes[] = 'infinite-scroll';
362
+
363
  if ( 'scroll' == self::get_settings()->type )
364
  $classes[] = 'neverending';
365
  }
404
  * @return array
405
  */
406
  function get_query_vars() {
407
+
408
  $query_vars = self::wp_query()->query_vars;
409
  //applies to search page only
410
  if ( true === self::wp_query()->is_search() ) {
428
  * @return bool
429
  */
430
  function has_only_title_matching_posts() {
431
+
432
  //apply following logic for search page results only
433
  if ( false === self::wp_query()->is_search() ) {
434
  return false;
436
 
437
  //grab the last posts in the stack as if the last one is title-matching the rest is title-matching as well
438
  $post = end( self::wp_query()->posts );
439
+
440
  //code inspired by WP_Query class
441
  if ( preg_match_all( '/".*?("|$)|((?<=[\t ",+])|^)[^\t ",+]+/', self::wp_query()->get( 's' ), $matches ) ) {
442
  $search_terms = self::wp_query()->parse_search_terms( $matches[0] );
449
  }
450
 
451
  //actual testing. As search query combines multiple keywords with AND, it's enough to check if any of the keywords is present in the title
452
+ $term = current( $search_terms );
453
+ if ( ! empty( $term ) && false !== strpos( $post->post_title, $term ) ) {
454
  return true;
455
  }
456
+
457
  return false;
458
  }
459
 
modules/likes.php CHANGED
@@ -564,7 +564,12 @@ class Jetpack_Likes {
564
  add_action( "admin_print_scripts-edit.php", array( $this, 'enqueue_admin_scripts' ) );
565
 
566
  if ( $this->in_jetpack ) {
567
- Jetpack_Sync::sync_posts( __FILE__ );
 
 
 
 
 
568
  }
569
  }
570
 
@@ -595,14 +600,7 @@ class Jetpack_Likes {
595
  wp_enqueue_script( 'postmessage', '/wp-content/js/postmessage.js', array( 'jquery' ), JETPACK__VERSION, false );
596
  wp_enqueue_script( 'jquery_inview', '/wp-content/js/jquery/jquery.inview.js', array( 'jquery' ), JETPACK__VERSION, false );
597
  wp_enqueue_script( 'jetpack_resize', '/wp-content/js/jquery/jquery.jetpack-resize.js', array( 'jquery' ), JETPACK__VERSION, false );
598
-
599
-
600
- // @todo: Remove this opt-out filter in the future
601
- if ( apply_filters( 'wpl_sharing_2014_1', true ) ) {
602
- wp_enqueue_style( 'jetpack_likes', plugins_url( 'jetpack-likes.css', __FILE__ ), array(), JETPACK__VERSION );
603
- } else {
604
- wp_enqueue_style( 'jetpack_likes', plugins_url( 'jetpack-likes-legacy.css', __FILE__ ), array(), JETPACK__VERSION );
605
- }
606
  }
607
  }
608
 
@@ -847,12 +845,7 @@ class Jetpack_Likes {
847
 
848
  $likes_locale = ( '' == $_locale || 'en' == $_locale ) ? '' : '&amp;lang=' . strtolower( $_locale );
849
 
850
- // @todo: Remove this opt-out filter in the future
851
- if ( apply_filters( 'wpl_sharing_2014_1', true ) ) {
852
- $src = sprintf( '%1$s://widgets.wp.com/likes/master.html?ver=%2$s#ver=%2$s%3$s&amp;mp6=%4$d', $protocol, $this->version, $likes_locale, apply_filters( 'mp6_enabled', 0 ) );
853
- } else {
854
- $src = sprintf( '%1$s://widgets.wp.com/likes/master-legacy.html?ver=%2$s#ver=%2$s%3$s&amp;mp6=%4$d', $protocol, $this->version, $likes_locale, apply_filters( 'mp6_enabled', 0 ) );
855
- }
856
 
857
  $likersText = wp_kses( __( '<span>%d</span> bloggers like this:', 'jetpack' ), array( 'span' => array() ) );
858
  ?>
@@ -906,7 +899,7 @@ class Jetpack_Likes {
906
  */
907
  function is_likes_visible() {
908
 
909
- global $post; // Used to apply 'sharing_show' filter
910
 
911
  // Never show on feeds or previews
912
  if ( is_feed() || is_preview() || is_comments_popup() ) {
@@ -926,6 +919,10 @@ class Jetpack_Likes {
926
  if ( post_password_required() )
927
  $enabled = false;
928
 
 
 
 
 
929
  // Sharing Setting Overrides ****************************************
930
 
931
  // Single post including custom post types
564
  add_action( "admin_print_scripts-edit.php", array( $this, 'enqueue_admin_scripts' ) );
565
 
566
  if ( $this->in_jetpack ) {
567
+ $post_stati = get_post_stati( array( 'public' => true ) ); // All public post stati
568
+ $post_stati[] = 'private'; // Content from private stati will be redacted
569
+ Jetpack_Sync::sync_posts( __FILE__, array(
570
+ 'post_types' => get_post_types( array( 'public' => true ) ),
571
+ 'post_stati' => $post_stati,
572
+ ) );
573
  }
574
  }
575
 
600
  wp_enqueue_script( 'postmessage', '/wp-content/js/postmessage.js', array( 'jquery' ), JETPACK__VERSION, false );
601
  wp_enqueue_script( 'jquery_inview', '/wp-content/js/jquery/jquery.inview.js', array( 'jquery' ), JETPACK__VERSION, false );
602
  wp_enqueue_script( 'jetpack_resize', '/wp-content/js/jquery/jquery.jetpack-resize.js', array( 'jquery' ), JETPACK__VERSION, false );
603
+ wp_enqueue_style( 'jetpack_likes', plugins_url( 'jetpack-likes.css', __FILE__ ), array(), JETPACK__VERSION );
 
 
 
 
 
 
 
604
  }
605
  }
606
 
845
 
846
  $likes_locale = ( '' == $_locale || 'en' == $_locale ) ? '' : '&amp;lang=' . strtolower( $_locale );
847
 
848
+ $src = sprintf( '%1$s://widgets.wp.com/likes/master.html?ver=%2$s#ver=%2$s%3$s&amp;mp6=%4$d', $protocol, $this->version, $likes_locale, apply_filters( 'mp6_enabled', 0 ) );
 
 
 
 
 
849
 
850
  $likersText = wp_kses( __( '<span>%d</span> bloggers like this:', 'jetpack' ), array( 'span' => array() ) );
851
  ?>
899
  */
900
  function is_likes_visible() {
901
 
902
+ global $post, $wp_current_filter; // Used to apply 'sharing_show' filter
903
 
904
  // Never show on feeds or previews
905
  if ( is_feed() || is_preview() || is_comments_popup() ) {
919
  if ( post_password_required() )
920
  $enabled = false;
921
 
922
+ if ( in_array( 'get_the_excerpt', (array) $wp_current_filter ) ) {
923
+ $enabled = false;
924
+ }
925
+
926
  // Sharing Setting Overrides ****************************************
927
 
928
  // Single post including custom post types
modules/manage.php CHANGED
@@ -13,4 +13,14 @@
13
  */
14
 
15
  add_action( 'jetpack_activate_module_manage', array( Jetpack::init(), 'toggle_module_on_wpcom' ) );
16
- add_action( 'jetpack_deactivate_module_manage', array( Jetpack::init(), 'toggle_module_on_wpcom' ) );
 
 
 
 
 
 
 
 
 
 
13
  */
14
 
15
  add_action( 'jetpack_activate_module_manage', array( Jetpack::init(), 'toggle_module_on_wpcom' ) );
16
+ add_action( 'jetpack_deactivate_module_manage', array( Jetpack::init(), 'toggle_module_on_wpcom' ) );
17
+
18
+ // Re add sync for non public posts when the optin is selected in Calypso.
19
+ // This will only work if you have manage enabled as well.
20
+ if ( Jetpack_Options::get_option( 'sync_non_public_post_stati' ) ) {
21
+ $sync_options = array(
22
+ 'post_types' => get_post_types( array( 'public' => true ) ),
23
+ 'post_stati' => get_post_stati(),
24
+ );
25
+ Jetpack_Sync::sync_posts( __FILE__, $sync_options );
26
+ }
modules/minileven/minileven.php CHANGED
@@ -90,7 +90,7 @@ function jetpack_mobile_template( $theme ) {
90
  }
91
 
92
  function jetpack_mobile_available() {
93
- echo '<div style="text-align:center;margin:10px 0;"><a href="'. home_url( '?ak_action=accept_mobile' ) . '">' . __( 'View Mobile Site', 'jetpack' ) . '</a></div>';
94
  }
95
 
96
  function jetpack_mobile_request_handler() {
90
  }
91
 
92
  function jetpack_mobile_available() {
93
+ echo '<div class="jetpack-mobile-link" style="text-align:center;margin:10px 0;"><a href="'. home_url( '?ak_action=accept_mobile' ) . '">' . __( 'View Mobile Site', 'jetpack' ) . '</a></div>';
94
  }
95
 
96
  function jetpack_mobile_request_handler() {
modules/minileven/theme/pub/minileven/content-gallery.php CHANGED
@@ -11,6 +11,11 @@
11
  <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
12
  <header class="entry-header">
13
  <div class="entry-heading">
 
 
 
 
 
14
  <h2 class="entry-title"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
15
  <h3 class="entry-format"><?php _e( 'Gallery', 'jetpack' ); ?></h3>
16
  </div>
11
  <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
12
  <header class="entry-header">
13
  <div class="entry-heading">
14
+ <?php if ( '1' == get_option( 'wp_mobile_featured_images' ) && minileven_show_featured_images() ) : ?>
15
+ <div class="entry-thumbnail">
16
+ <a href="<?php the_permalink(); ?>" title="<?php echo esc_attr( sprintf( __( 'Permalink to %s', 'jetpack' ), the_title_attribute( 'echo=0' ) ) ); ?>" rel="<?php the_ID(); ?>" class="minileven-featured-thumbnail"><?php the_post_thumbnail(); ?></a>
17
+ </div><!-- .entry-thumbnail -->
18
+ <?php endif; ?>
19
  <h2 class="entry-title"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
20
  <h3 class="entry-format"><?php _e( 'Gallery', 'jetpack' ); ?></h3>
21
  </div>
modules/minileven/theme/pub/minileven/footer.php CHANGED
@@ -14,6 +14,14 @@
14
 
15
  </div><!-- #wrapper -->
16
 
 
 
 
 
 
 
 
 
17
  <footer id="colophon" role="contentinfo">
18
  <div id="site-generator">
19
 
14
 
15
  </div><!-- #wrapper -->
16
 
17
+ <?php
18
+ /**
19
+ * Fires before the Mobile Theme's <footer> tag.
20
+ * @since 3.6
21
+ */
22
+ do_action( 'jetpack_mobile_footer_before' );
23
+ ?>
24
+
25
  <footer id="colophon" role="contentinfo">
26
  <div id="site-generator">
27
 
modules/minileven/theme/pub/minileven/page.php CHANGED
@@ -19,6 +19,11 @@ get_header(); ?>
19
 
20
  <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
21
  <header class="entry-header">
 
 
 
 
 
22
  <h1 class="entry-title"><?php the_title(); ?></h1>
23
  </header><!-- .entry-header -->
24
 
19
 
20
  <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
21
  <header class="entry-header">
22
+ <?php if ( '1' == get_option( 'wp_mobile_featured_images' ) && minileven_show_featured_images() ) : ?>
23
+ <div class="entry-thumbnail">
24
+ <a href="<?php the_permalink(); ?>" title="<?php echo esc_attr( sprintf( __( 'Permalink to %s', 'jetpack' ), the_title_attribute( 'echo=0' ) ) ); ?>" rel="<?php the_ID(); ?>" class="minileven-featured-thumbnail"><?php the_post_thumbnail(); ?></a>
25
+ </div><!-- .entry-thumbnail -->
26
+ <?php endif; ?>
27
  <h1 class="entry-title"><?php the_title(); ?></h1>
28
  </header><!-- .entry-header -->
29
 
modules/module-info.php CHANGED
@@ -406,7 +406,8 @@ function jetpack_widgets_more_info_connected() { ?>
406
  <p><?php printf( __( '<strong>The Gravatar Widget</strong> allows you to pull in your Gravatar image along with some of your Gravatar profile data.', 'jetpack' ) ); ?></p>
407
  <p><?php printf( __( '<strong>The Gallery Widget</strong> provides you with a simple way to display a photo gallery or slideshow in your blog’s sidebar. Requires the Tiled Gallery module.', 'jetpack' ) ); ?></p>
408
  <p><?php printf( __( '<strong>The Display WordPress Posts Widget</strong> lets you display up to ten recent posts from another WordPress.com blog, or a self-hosted WordPress site with Jetpack enabled.', 'jetpack' ) ); ?></p>
409
- <p><?php printf( __( '<strong>The Upcoming Events Widget</strong> allows you to use an iCalendar link to display a list of events on your site.', 'jetpack' ) ); ?></p>
 
410
 
411
  <p><?php esc_html_e( 'Each of these widgets has a number of customization options.', 'jetpack' ); ?> <?php printf( __( 'To use the widgets, go to Appearance &#8594; <a href="%s">Widgets</a>. Drag them into one of your sidebars and configure away.', 'jetpack' ), admin_url( 'widgets.php' ) ); ?></p>
412
  <?php
406
  <p><?php printf( __( '<strong>The Gravatar Widget</strong> allows you to pull in your Gravatar image along with some of your Gravatar profile data.', 'jetpack' ) ); ?></p>
407
  <p><?php printf( __( '<strong>The Gallery Widget</strong> provides you with a simple way to display a photo gallery or slideshow in your blog’s sidebar. Requires the Tiled Gallery module.', 'jetpack' ) ); ?></p>
408
  <p><?php printf( __( '<strong>The Display WordPress Posts Widget</strong> lets you display up to ten recent posts from another WordPress.com blog, or a self-hosted WordPress site with Jetpack enabled.', 'jetpack' ) ); ?></p>
409
+ <p><?php printf( __( '<strong>The Social Media Icons Widget</strong> lets you add icons for the most popular social networks to your sidebar or other widget area.', 'jetpack' ) ); ?></p>
410
+ <!--<p><?php printf( __( '<strong>The Upcoming Events Widget</strong> allows you to use an iCalendar link to display a list of events on your site.', 'jetpack' ) ); ?></p>-->
411
 
412
  <p><?php esc_html_e( 'Each of these widgets has a number of customization options.', 'jetpack' ); ?> <?php printf( __( 'To use the widgets, go to Appearance &#8594; <a href="%s">Widgets</a>. Drag them into one of your sidebars and configure away.', 'jetpack' ), admin_url( 'widgets.php' ) ); ?></p>
413
  <?php
modules/notes.php CHANGED
@@ -41,7 +41,7 @@ class Jetpack_Notifications {
41
  return $instance[0];
42
  }
43
 
44
- function Jetpack_Notifications() {
45
  $this->jetpack = Jetpack::init();
46
 
47
  add_action( 'init', array( &$this, 'action_init' ) );
@@ -141,7 +141,7 @@ class Jetpack_Notifications {
141
  wp_register_script( 'backbone', $this->wpcom_static_url( '/wp-includes/js/backbone.min.js' ), array( 'underscore' ), JETPACK_NOTES__CACHE_BUSTER );
142
  }
143
 
144
- wp_register_script( 'wpcom-notes-common', $this->wpcom_static_url( '/wp-content/mu-plugins/notes/notes-common-v2.js' ), array( 'jquery', 'underscore', 'backbone', 'mustache', 'jquery.spin' ), JETPACK_NOTES__CACHE_BUSTER );
145
  wp_enqueue_script( 'wpcom-notes-admin-bar', $this->wpcom_static_url( '/wp-content/mu-plugins/notes/admin-bar-v2.js' ), array( 'wpcom-notes-common' ), JETPACK_NOTES__CACHE_BUSTER );
146
  }
147
 
41
  return $instance[0];
42
  }
43
 
44
+ function __construct() {
45
  $this->jetpack = Jetpack::init();
46
 
47
  add_action( 'init', array( &$this, 'action_init' ) );
141
  wp_register_script( 'backbone', $this->wpcom_static_url( '/wp-includes/js/backbone.min.js' ), array( 'underscore' ), JETPACK_NOTES__CACHE_BUSTER );
142
  }
143
 
144
+ wp_register_script( 'wpcom-notes-common', $this->wpcom_static_url( '/wp-content/mu-plugins/notes/notes-common-v2.js' ), array( 'jquery', 'underscore', 'backbone', 'mustache' ), JETPACK_NOTES__CACHE_BUSTER );
145
  wp_enqueue_script( 'wpcom-notes-admin-bar', $this->wpcom_static_url( '/wp-content/mu-plugins/notes/admin-bar-v2.js' ), array( 'wpcom-notes-common' ), JETPACK_NOTES__CACHE_BUSTER );
146
  }
147
 
modules/omnisearch/omnisearch-posts.php CHANGED
@@ -71,13 +71,16 @@ class Jetpack_Omnisearch_Posts extends WP_List_Table {
71
  function column_post_title( $post ) {
72
  $actions = array();
73
  if ( current_user_can( $this->post_type_obj->cap->edit_post, $post ) ) {
 
74
  $actions['edit'] = sprintf( '<a href="%s">%s</a>', esc_url( get_edit_post_link( $post->ID ) ), esc_html( $this->post_type_obj->labels->edit_item ) );
 
 
75
  }
76
  if ( current_user_can( $this->post_type_obj->cap->delete_post, $post ) ) {
77
  $actions['delete'] = sprintf( '<a href="%s">%s</a>', esc_url( get_delete_post_link( $post->ID ) ), esc_html__('Trash', 'jetpack') );
78
  }
79
  $actions['view'] = sprintf( '<a href="%s">%s</a>', esc_url( get_permalink( $post->ID ) ), esc_html( $this->post_type_obj->labels->view_item ) );
80
- return wptexturize( $post->post_title ) . $this->row_actions( $actions );
81
  }
82
 
83
  function column_date( $post ) {
@@ -131,4 +134,3 @@ class Jetpack_Omnisearch_Posts extends WP_List_Table {
131
  }
132
  }
133
  }
134
-
71
  function column_post_title( $post ) {
72
  $actions = array();
73
  if ( current_user_can( $this->post_type_obj->cap->edit_post, $post ) ) {
74
+ $post_title = sprintf( '<a href="%s">%s</a>', esc_url( get_edit_post_link( $post->ID ) ), wptexturize( $post->post_title ) );
75
  $actions['edit'] = sprintf( '<a href="%s">%s</a>', esc_url( get_edit_post_link( $post->ID ) ), esc_html( $this->post_type_obj->labels->edit_item ) );
76
+ } else {
77
+ $post_title = wptexturize( $post->post_title );
78
  }
79
  if ( current_user_can( $this->post_type_obj->cap->delete_post, $post ) ) {
80
  $actions['delete'] = sprintf( '<a href="%s">%s</a>', esc_url( get_delete_post_link( $post->ID ) ), esc_html__('Trash', 'jetpack') );
81
  }
82
  $actions['view'] = sprintf( '<a href="%s">%s</a>', esc_url( get_permalink( $post->ID ) ), esc_html( $this->post_type_obj->labels->view_item ) );
83
+ return $post_title . $this->row_actions( $actions );
84
  }
85
 
86
  function column_date( $post ) {
134
  }
135
  }
136
  }
 
modules/protect.php CHANGED
@@ -44,13 +44,16 @@ class Jetpack_Protect_Module {
44
  * Registers actions
45
  */
46
  private function __construct() {
47
- add_action( 'jetpack_activate_module_protect', array( $this, 'on_activation' ) );
48
- add_action( 'init', array( $this, 'maybe_get_protect_key' ) );
49
- add_action( 'jetpack_modules_loaded', array( $this, 'modules_loaded' ) );
50
- add_action( 'login_head', array( $this, 'check_use_math' ) );
51
- add_filter( 'authenticate', array( $this, 'check_preauth' ), 10, 3 );
52
- add_action( 'wp_login', array( $this, 'log_successful_login' ), 10, 2 );
53
- add_action( 'wp_login_failed', array( $this, 'log_failed_attempt' ) );
 
 
 
54
 
55
  // This is a backup in case $pagenow fails for some reason
56
  add_action( 'login_head', array( $this, 'check_login_ability' ) );
@@ -58,6 +61,12 @@ class Jetpack_Protect_Module {
58
  // Runs a script every day to clean up expired transients so they don't
59
  // clog up our users' databases
60
  require_once( JETPACK__PLUGIN_DIR . '/modules/protect/transient-cleanup.php' );
 
 
 
 
 
 
61
  }
62
 
63
  /**
@@ -65,9 +74,19 @@ class Jetpack_Protect_Module {
65
  */
66
  public function on_activation() {
67
  update_site_option('jetpack_protect_activating', 'activating');
 
68
  // Get BruteProtect's counter number
69
  Jetpack_Protect_Module::protect_call( 'check_key' );
70
  }
 
 
 
 
 
 
 
 
 
71
 
72
  public function maybe_get_protect_key() {
73
  if ( get_site_option('jetpack_protect_activating', false ) && ! get_site_option('jetpack_protect_key', false ) ) {
@@ -76,6 +95,107 @@ class Jetpack_Protect_Module {
76
  }
77
  }
78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  /**
80
  * Request an api key from wordpress.com
81
  *
@@ -198,7 +318,6 @@ class Jetpack_Protect_Module {
198
  * to the ip address whitelist
199
  */
200
  public function log_successful_login( $user_login, $user ) {
201
- // TODO: update whitelist
202
  $this->protect_call( 'successful_login', array( 'roles' => $user->roles ) );
203
  }
204
 
@@ -216,10 +335,12 @@ class Jetpack_Protect_Module {
216
  */
217
  function check_preauth( $user = 'Not Used By Protect', $username = 'Not Used By Protect', $password = 'Not Used By Protect' ) {
218
 
219
- $this->check_login_ability( true );
220
  $use_math = $this->get_transient( 'brute_use_math' );
221
-
222
- if ( 1 == $use_math && isset( $_POST['log'] ) ) {
 
 
223
  include_once dirname( __FILE__ ) . '/protect/math-fallback.php';
224
  Jetpack_Protect_Math_Authenticate::math_authenticate();
225
  }
@@ -275,7 +396,11 @@ class Jetpack_Protect_Module {
275
  return true;
276
  }
277
 
278
- $whitelist = get_site_option( 'jetpack_protect_whitelist', array() );
 
 
 
 
279
 
280
  if ( ! empty( $whitelist ) ) :
281
  foreach ( $whitelist as $item ) :
@@ -285,7 +410,7 @@ class Jetpack_Protect_Module {
285
  }
286
 
287
  if ( $item->range && isset( $item->range_low ) && isset( $item->range_high ) ) {
288
- if ( $this->ip_address_is_in_range( $ip, $item->range_low, $item->range_high ) ) {
289
  return true;
290
  }
291
  }
@@ -295,49 +420,12 @@ class Jetpack_Protect_Module {
295
  return false;
296
  }
297
 
298
- /**
299
- * Checks that a given IP address is within a given low - high range.
300
- * Servers that support inet_pton will use that function to convert the ip to number,
301
- * while other servers will use ip2long.
302
- *
303
- * NOTE: servers that do not support inet_pton cannot support ipv6.
304
- *
305
- * @param $ip
306
- * @param $range_low
307
- * @param $range_high
308
- *
309
- * @return bool
310
- */
311
- function ip_address_is_in_range( $ip, $range_low, $range_high ) {
312
- // inet_pton will give us binary string of an ipv4 or ipv6
313
- // we can then use strcmp to see if the address is in range
314
- if ( function_exists( 'inet_pton' ) ) {
315
- $ip_num = inet_pton( $ip );
316
- $ip_low = inet_pton( $range_low );
317
- $ip_high = inet_pton( $range_high );
318
- if ( $ip_num && $ip_low && $ip_high && strcmp( $ip_num, $ip_low ) >= 0 && strcmp( $ip_num, $ip_high ) <= 0 ) {
319
- return true;
320
- }
321
- // ip2long will give us an integer of an ipv4 address only. it will produce FALSE for ipv6
322
- } else {
323
- $ip_num = ip2long( $ip );
324
- $ip_low = ip2long( $range_low );
325
- $ip_high = ip2long( $range_high );
326
- if ( $ip_num && $ip_low && $ip_high && $ip_num >= $ip_low && $ip_num <= $ip_high ) {
327
- return true;
328
- }
329
- }
330
-
331
- return false;
332
-
333
- }
334
-
335
  /**
336
  * Checks the status for a given IP. API results are cached as transients
337
  *
338
  * @param bool $preauth Whether or not we are checking prior to authorization
339
  *
340
- * @return bool Either returns true, fires $this->kill_login, or includes a math fallback
341
  */
342
  function check_login_ability( $preauth = false ) {
343
  $headers = $this->get_headers();
@@ -360,24 +448,53 @@ class Jetpack_Protect_Module {
360
  }
361
 
362
  if ( isset( $transient_value ) && 'blocked' == $transient_value['status'] ) {
363
- // There is a current block -- prevent login
 
 
 
364
  $this->kill_login();
365
  }
366
 
367
  // If we've reached this point, this means that the IP isn't cached.
368
  // Now we check with the Protect API to see if we should allow login
369
  $response = $this->protect_call( $action = 'check_ip' );
370
-
371
  if ( isset( $response['math'] ) && ! function_exists( 'brute_math_authenticate' ) ) {
372
  include_once dirname( __FILE__ ) . '/protect/math-fallback.php';
 
 
373
  }
374
 
375
  if ( 'blocked' == $response['status'] ) {
 
 
 
 
376
  $this->kill_login();
377
  }
378
 
379
  return true;
380
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
381
 
382
  /*
383
  * Kill a login attempt
@@ -435,7 +552,6 @@ class Jetpack_Protect_Module {
435
  }
436
 
437
  $this->api_key = get_site_option( 'jetpack_protect_key', false );
438
- $this->whitelist = get_site_option( 'jetpack_protect_whitelist', array() );
439
  $this->user_ip = jetpack_protect_get_ip();
440
  }
441
 
44
  * Registers actions
45
  */
46
  private function __construct() {
47
+ add_action( 'jetpack_activate_module_protect', array( $this, 'on_activation' ) );
48
+ add_action( 'jetpack_deactivate_module_protect', array( $this, 'on_deactivation' ) );
49
+ add_action( 'init', array( $this, 'maybe_get_protect_key' ) );
50
+ add_action( 'jetpack_modules_loaded', array( $this, 'modules_loaded' ) );
51
+ add_action( 'login_head', array( $this, 'check_use_math' ) );
52
+ add_filter( 'authenticate', array( $this, 'check_preauth' ), 10, 3 );
53
+ add_action( 'wp_login', array( $this, 'log_successful_login' ), 10, 2 );
54
+ add_action( 'wp_login_failed', array( $this, 'log_failed_attempt' ) );
55
+ add_action( 'admin_init', array( $this, 'maybe_update_headers' ) );
56
+ add_action( 'admin_init', array( $this, 'maybe_display_security_warning' ) );
57
 
58
  // This is a backup in case $pagenow fails for some reason
59
  add_action( 'login_head', array( $this, 'check_login_ability' ) );
61
  // Runs a script every day to clean up expired transients so they don't
62
  // clog up our users' databases
63
  require_once( JETPACK__PLUGIN_DIR . '/modules/protect/transient-cleanup.php' );
64
+
65
+ //this should move into on_activation in 3.8, but, for now, we want to make sure all sites get this option set
66
+ if( is_multisite() && is_main_site() ) {
67
+ update_site_option( 'jetpack_protect_active', 1 );
68
+ }
69
+
70
  }
71
 
72
  /**
74
  */
75
  public function on_activation() {
76
  update_site_option('jetpack_protect_activating', 'activating');
77
+
78
  // Get BruteProtect's counter number
79
  Jetpack_Protect_Module::protect_call( 'check_key' );
80
  }
81
+
82
+ /**
83
+ * On module deactivation, unset protect_active
84
+ */
85
+ public function on_deactivation() {
86
+ if ( is_multisite() && is_main_site() ) {
87
+ update_site_option( 'jetpack_protect_active', 0 );
88
+ }
89
+ }
90
 
91
  public function maybe_get_protect_key() {
92
  if ( get_site_option('jetpack_protect_activating', false ) && ! get_site_option('jetpack_protect_key', false ) ) {
95
  }
96
  }
97
 
98
+ /**
99
+ * Sends a "check_key" API call once a day. This call allows us to track IP-related
100
+ * headers for this server via the Protect API, in order to better identify the source
101
+ * IP for login attempts
102
+ */
103
+ public function maybe_update_headers() {
104
+ $updated_recently = $this->get_transient( 'jpp_headers_updated_recently' );
105
+
106
+ // check that current user is admin so we prevent a lower level user from adding
107
+ // a trusted header, allowing them to brute force an admin account
108
+ if ( ! $updated_recently && current_user_can( 'update_plugins' ) ) {
109
+ Jetpack_Protect_Module::protect_call( 'check_key' );
110
+ $this->set_transient( 'jpp_headers_updated_recently', 1, DAY_IN_SECONDS );
111
+
112
+ $headers = $this->get_headers();
113
+ $trusted_header = 'REMOTE_ADDR';
114
+
115
+ if ( count( $headers ) == 1 ) {
116
+ $trusted_header = key( $headers );
117
+ } elseif ( count( $headers ) > 1 ) {
118
+ foreach( $headers as $header => $ip ) {
119
+
120
+ $ips = explode( ', ', $ip );
121
+
122
+ $ip_list_has_nonprivate_ip = false;
123
+ foreach( $ips as $ip ) {
124
+ $ip = jetpack_clean_ip( $ip );
125
+
126
+ // If the IP is in a private or reserved range, return REMOTE_ADDR to help prevent spoofing
127
+ if ( $ip == '127.0.0.1' || $ip == '::1' || jetpack_protect_ip_is_private( $ip ) ) {
128
+ continue;
129
+ } else {
130
+ $ip_list_has_nonprivate_ip = true;
131
+ break;
132
+ }
133
+ }
134
+
135
+ if( ! $ip_list_has_nonprivate_ip ) {
136
+ continue;
137
+ }
138
+
139
+ // IP is not local, we'll trust this header
140
+ $trusted_header = $header;
141
+ break;
142
+ }
143
+ }
144
+ update_site_option( 'trusted_ip_header', $trusted_header );
145
+ }
146
+ }
147
+
148
+ public function maybe_display_security_warning() {
149
+ if ( is_multisite() && current_user_can( 'manage_network' ) ) {
150
+ if ( ! function_exists( 'is_plugin_active_for_network' ) ) {
151
+ require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
152
+ }
153
+
154
+ if ( ! is_plugin_active_for_network( 'jetpack/jetpack.php' ) ) {
155
+ add_action( 'load-index.php', array( $this, 'prepare_jetpack_protect_multisite_notice' ) );
156
+ }
157
+ }
158
+ }
159
+
160
+ public function prepare_jetpack_protect_multisite_notice() {
161
+ add_action( 'admin_print_styles', array( $this, 'admin_banner_styles' ) );
162
+ add_action( 'admin_notices', array( $this, 'admin_jetpack_manage_notice' ) );
163
+ }
164
+
165
+ public function admin_banner_styles() {
166
+ global $wp_styles;
167
+
168
+ $min = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
169
+
170
+ wp_enqueue_style( 'jetpack', plugins_url( "css/jetpack-banners{$min}.css", JETPACK__PLUGIN_FILE ), false, JETPACK__VERSION );
171
+ $wp_styles->add_data( 'jetpack', 'rtl', true );
172
+ }
173
+
174
+ public function admin_jetpack_manage_notice() {
175
+
176
+ $dismissed = get_site_option( 'jetpack_dismissed_protect_multisite_banner' );
177
+
178
+ if( $dismissed ) {
179
+ return;
180
+ }
181
+
182
+ $referer = '&_wp_http_referer=' . add_query_arg( '_wp_http_referer', null );
183
+ $opt_out_url = wp_nonce_url( Jetpack::admin_url( 'jetpack-notice=jetpack-protect-multisite-opt-out' . $referer ), 'jetpack_protect_multisite_banner_opt_out' );
184
+
185
+ ?>
186
+ <div id="message" class="updated jetpack-message jp-banner is-opt-in protect-error" style="display:block !important;">
187
+ <a class="jp-banner__dismiss" href="<?php echo esc_url( $opt_out_url ); ?>" title="<?php esc_attr_e( 'Dismiss this notice.', 'jetpack' ); ?>"></a>
188
+ <div class="jp-banner__content">
189
+ <h4><?php esc_html_e( 'Jetpack Protect cannot keep your site secure.', 'jetpack' ); ?></h4>
190
+ <p><?php printf( __( 'Thanks for activating Jetpack Protect! To start protecting your site, please network activate Jetpack on your Multisite installation and activate Protect on your primary site. Due to the way logins are handled on WordPress Multisite, Jetpack must be network-enabled in order for Protect to work properly. <a href="%s" target="_blank">Learn More</a>', 'jetpack' ), 'http://jetpack.me/support/multisite-protect' ); ?></p>
191
+ </div>
192
+ <div class="jp-banner__action-container is-opt-in">
193
+ <a href="<?php echo network_admin_url('plugins.php'); ?>" class="jp-banner__button" id="wpcom-connect"><?php _e( 'View Network Admin', 'jetpack' ); ?></a>
194
+ </div>
195
+ </div>
196
+ <?php
197
+ }
198
+
199
  /**
200
  * Request an api key from wordpress.com
201
  *
318
  * to the ip address whitelist
319
  */
320
  public function log_successful_login( $user_login, $user ) {
 
321
  $this->protect_call( 'successful_login', array( 'roles' => $user->roles ) );
322
  }
323
 
335
  */
336
  function check_preauth( $user = 'Not Used By Protect', $username = 'Not Used By Protect', $password = 'Not Used By Protect' ) {
337
 
338
+ $allow_login = $this->check_login_ability( true );
339
  $use_math = $this->get_transient( 'brute_use_math' );
340
+
341
+ if( ! $allow_login ) {
342
+ $this->block_with_math();
343
+ } else if ( 1 == $use_math && isset( $_POST['log'] ) ) {
344
  include_once dirname( __FILE__ ) . '/protect/math-fallback.php';
345
  Jetpack_Protect_Math_Authenticate::math_authenticate();
346
  }
396
  return true;
397
  }
398
 
399
+ $whitelist = jetpack_protect_get_local_whitelist();
400
+
401
+ if ( is_multisite() ) {
402
+ $whitelist = array_merge( $whitelist, get_site_option( 'jetpack_protect_global_whitelist', array() ) );
403
+ }
404
 
405
  if ( ! empty( $whitelist ) ) :
406
  foreach ( $whitelist as $item ) :
410
  }
411
 
412
  if ( $item->range && isset( $item->range_low ) && isset( $item->range_high ) ) {
413
+ if ( jetpack_protect_ip_address_is_in_range( $ip, $item->range_low, $item->range_high ) ) {
414
  return true;
415
  }
416
  }
420
  return false;
421
  }
422
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
423
  /**
424
  * Checks the status for a given IP. API results are cached as transients
425
  *
426
  * @param bool $preauth Whether or not we are checking prior to authorization
427
  *
428
+ * @return bool Either returns true, fires $this->kill_login, or includes a math fallback and returns false
429
  */
430
  function check_login_ability( $preauth = false ) {
431
  $headers = $this->get_headers();
448
  }
449
 
450
  if ( isset( $transient_value ) && 'blocked' == $transient_value['status'] ) {
451
+ $this->block_with_math();
452
+ }
453
+
454
+ if ( isset( $transient_value ) && 'blocked-hard' == $transient_value['status'] ) {
455
  $this->kill_login();
456
  }
457
 
458
  // If we've reached this point, this means that the IP isn't cached.
459
  // Now we check with the Protect API to see if we should allow login
460
  $response = $this->protect_call( $action = 'check_ip' );
461
+
462
  if ( isset( $response['math'] ) && ! function_exists( 'brute_math_authenticate' ) ) {
463
  include_once dirname( __FILE__ ) . '/protect/math-fallback.php';
464
+ new Jetpack_Protect_Math_Authenticate;
465
+ return false;
466
  }
467
 
468
  if ( 'blocked' == $response['status'] ) {
469
+ $this->block_with_math();
470
+ }
471
+
472
+ if ( 'blocked-hard' == $response['status'] ) {
473
  $this->kill_login();
474
  }
475
 
476
  return true;
477
  }
478
+
479
+ function block_with_math() {
480
+ /**
481
+ * By default, Jetpack Protect will allow a user who has been blocked for too
482
+ * many failed logins to start answering math questions to continue logging in
483
+ *
484
+ * For added security, you can disable this
485
+ *
486
+ * @since 3.6
487
+ *
488
+ * @param bool Whether to allow math for blocked users or not.
489
+ */
490
+ $allow_math_fallback_on_fail = apply_filters( 'jpp_use_captcha_when_blocked', true );
491
+ if( !$allow_math_fallback_on_fail ) {
492
+ $this->kill_login();
493
+ }
494
+ include_once dirname( __FILE__ ) . '/protect/math-fallback.php';
495
+ new Jetpack_Protect_Math_Authenticate;
496
+ return false;
497
+ }
498
 
499
  /*
500
  * Kill a login attempt
552
  }
553
 
554
  $this->api_key = get_site_option( 'jetpack_protect_key', false );
 
555
  $this->user_ip = jetpack_protect_get_ip();
556
  }
557
 
modules/protect/config-ui.php CHANGED
@@ -22,7 +22,7 @@
22
 
23
  <?php
24
  global $current_user;
25
- $whitelist = jetpack_protect_format_whitelist( $this->whitelist ); // todo remove 'local' from schema when we merge next iteration on calypso
26
  ?>
27
  <div class="protect-whitelist">
28
 
@@ -30,17 +30,30 @@
30
  <h3><?php _e( 'Whitelist Management', 'jetpack' ); ?></h3>
31
 
32
  <?php if( ! empty( $this->whitelist_error ) ) : ?>
33
- <p class="error"><?php _e('One of your IP addresses was not valid.', 'jetpack'); ?></p>
34
  <?php endif; ?>
35
 
36
  <?php if( $this->whitelist_saved === true ) : ?>
37
- <p class="success"><?php _e('Whitelist saved.', 'jetpack'); ?></p>
38
  <?php endif; ?>
39
 
40
  <p>
41
- <?php _e( 'Whitelisting an IP address prevents it from ever being blocked by Jetpack.', 'jetpack' ); ?><br />
42
- <strong><?php printf( __( 'Your current IP: %s', 'jetpack' ), $this->user_ip ); ?></strong>
 
 
 
 
 
 
 
 
 
43
  </p>
 
 
 
 
44
  <?php wp_nonce_field( 'jetpack-protect' ); ?>
45
  <input type='hidden' name='action' value='jetpack_protect_save_whitelist' />
46
  <textarea name="whitelist"><?php echo implode( PHP_EOL, $whitelist['local'] ); ?></textarea>
22
 
23
  <?php
24
  global $current_user;
25
+ $whitelist = jetpack_protect_format_whitelist();
26
  ?>
27
  <div class="protect-whitelist">
28
 
30
  <h3><?php _e( 'Whitelist Management', 'jetpack' ); ?></h3>
31
 
32
  <?php if( ! empty( $this->whitelist_error ) ) : ?>
33
+ <p class="error"><?php _e( 'One of your IP addresses was not valid.', 'jetpack' ); ?></p>
34
  <?php endif; ?>
35
 
36
  <?php if( $this->whitelist_saved === true ) : ?>
37
+ <p class="success"><?php _e( 'Whitelist saved.', 'jetpack' ); ?></p>
38
  <?php endif; ?>
39
 
40
  <p>
41
+ <?php _e( 'Whitelisting an IP address prevents it from ever being blocked by Jetpack. ', 'jetpack' ); ?><br />
42
+
43
+ <?php if ( is_multisite() && current_user_can( 'manage_network' ) ) : ?>
44
+ <a href="<?php echo network_admin_url( 'admin.php?page=jetpack-settings' ); ?>">
45
+ <?php _e( 'You can manage your network-wide whitelist via the network admin.', 'jetpack' ); ?>
46
+ </a><br />
47
+ <?php endif; ?>
48
+
49
+ <small>
50
+ <?php _e( 'Make sure to add your most frequently used IP addresses as they can change between your home, office or other locations. Removing an IP address from the list below will remove it from your whitelist.', 'jetpack' ); ?>
51
+ </small>
52
  </p>
53
+
54
+
55
+
56
+ <p><strong><?php printf( __( 'Your current IP: %s', 'jetpack' ), $this->user_ip ); ?></strong></p>
57
  <?php wp_nonce_field( 'jetpack-protect' ); ?>
58
  <input type='hidden' name='action' value='jetpack_protect_save_whitelist' />
59
  <textarea name="whitelist"><?php echo implode( PHP_EOL, $whitelist['local'] ); ?></textarea>
modules/protect/math-fallback.php CHANGED
@@ -6,8 +6,18 @@ if ( ! class_exists( 'Jetpack_Protect_Math_Authenticate' ) ) {
6
  */
7
  class Jetpack_Protect_Math_Authenticate {
8
 
 
 
9
  function __construct() {
 
 
 
 
 
 
 
10
  add_action( 'login_form', array( $this, 'math_form' ) );
 
11
  if( isset( $_POST[ 'jetpack_protect_process_math_form' ] ) ) {
12
  add_action( 'init', array( $this, 'process_generate_math_page' ) );
13
  }
@@ -37,7 +47,11 @@ if ( ! class_exists( 'Jetpack_Protect_Math_Authenticate' ) ) {
37
  if ( ! $correct_ans || !$_POST['jetpack_protect_num'] ) {
38
  Jetpack_Protect_Math_Authenticate::generate_math_page();
39
  } elseif ( $salted_ans != $correct_ans ) {
40
- wp_die( __( '<strong>You failed to correctly answer the math problem.</strong> This is used to combat spam when the Jetpack Protect API is unavailable. Please use your browser\'s back button to return to the login form, press the "refresh" button to generate a new math problem, and try to log in again.', 'jetpack' ) );
 
 
 
 
41
  } else {
42
  return true;
43
  }
@@ -61,10 +75,10 @@ if ( ! class_exists( 'Jetpack_Protect_Math_Authenticate' ) ) {
61
  <h3><?php _e( 'Your answer was incorrect, please try again.', 'jetpack' ); ?></h3>
62
  <?php endif ?>
63
 
64
- <form action="<?php echo home_url(); ?>" method="post" accept-charset="utf-8">
65
  <?php Jetpack_Protect_Math_Authenticate::math_form(); ?>
66
  <input type="hidden" name="jetpack_protect_process_math_form" value="1" id="jetpack_protect_process_math_form" />
67
- <p><input type="submit" value="Continue &rarr;"></p>
68
  </form>
69
  <?php
70
  $mathage = ob_get_contents();
@@ -101,7 +115,7 @@ if ( ! class_exists( 'Jetpack_Protect_Math_Authenticate' ) ) {
101
  $ans = sha1( $salt . $sum );
102
  ?>
103
  <div style="margin: 5px 0 20px;">
104
- <strong>Prove your humanity: </strong>
105
  <?php echo $num1 ?> &nbsp; + &nbsp; <?php echo $num2 ?> &nbsp; = &nbsp;
106
  <input type="input" name="jetpack_protect_num" value="" size="2" />
107
  <input type="hidden" name="jetpack_protect_answer" value="<?php echo $ans; ?>" />
@@ -110,4 +124,4 @@ if ( ! class_exists( 'Jetpack_Protect_Math_Authenticate' ) ) {
110
  }
111
 
112
  }
113
- }
6
  */
7
  class Jetpack_Protect_Math_Authenticate {
8
 
9
+ static $loaded;
10
+
11
  function __construct() {
12
+
13
+ if ( self::$loaded ) {
14
+ return;
15
+ }
16
+
17
+ self::$loaded = 1;
18
+
19
  add_action( 'login_form', array( $this, 'math_form' ) );
20
+
21
  if( isset( $_POST[ 'jetpack_protect_process_math_form' ] ) ) {
22
  add_action( 'init', array( $this, 'process_generate_math_page' ) );
23
  }
47
  if ( ! $correct_ans || !$_POST['jetpack_protect_num'] ) {
48
  Jetpack_Protect_Math_Authenticate::generate_math_page();
49
  } elseif ( $salted_ans != $correct_ans ) {
50
+ wp_die(
51
+ __( '<strong>You failed to correctly answer the math problem.</strong> This is used to combat spam when the Jetpack Protect API is unavailable. Please use your browser\'s back button to return to the login form, press the "refresh" button to generate a new math problem, and try to log in again.', 'jetpack' ),
52
+ '',
53
+ 401
54
+ );
55
  } else {
56
  return true;
57
  }
75
  <h3><?php _e( 'Your answer was incorrect, please try again.', 'jetpack' ); ?></h3>
76
  <?php endif ?>
77
 
78
+ <form action="<?php echo wp_login_url(); ?>" method="post" accept-charset="utf-8">
79
  <?php Jetpack_Protect_Math_Authenticate::math_form(); ?>
80
  <input type="hidden" name="jetpack_protect_process_math_form" value="1" id="jetpack_protect_process_math_form" />
81
+ <p><input type="submit" value="<?php esc_html_e( 'Continue &rarr;', 'jetpack' ); ?>"></p>
82
  </form>
83
  <?php
84
  $mathage = ob_get_contents();
115
  $ans = sha1( $salt . $sum );
116
  ?>
117
  <div style="margin: 5px 0 20px;">
118
+ <strong><?php esc_html_e( 'Prove your humanity:', 'jetpack' ); ?> </strong>
119
  <?php echo $num1 ?> &nbsp; + &nbsp; <?php echo $num2 ?> &nbsp; = &nbsp;
120
  <input type="input" name="jetpack_protect_num" value="" size="2" />
121
  <input type="hidden" name="jetpack_protect_answer" value="<?php echo $ans; ?>" />
124
  }
125
 
126
  }
127
+ }
modules/protect/shared-functions.php CHANGED
@@ -3,17 +3,23 @@
3
  * These functions are shared by the Protect module and its related json-endpoints
4
  */
5
 
6
- function jetpack_protect_format_whitelist( $whitelist = null ) {
 
 
 
 
 
 
 
 
7
 
8
- if( ! $whitelist ) {
9
- $whitelist = get_site_option( 'jetpack_protect_whitelist', array() );
10
- }
11
 
12
  $formatted = array(
13
- 'local' => array(), // todo remove 'local' when we merge next iteration on calypso
14
  );
15
 
16
- foreach( $whitelist as $item ) {
17
  if ( $item->range ) {
18
  $formatted['local'][] = $item->range_low . ' - ' . $item->range_high;
19
  } else {
@@ -21,10 +27,72 @@ function jetpack_protect_format_whitelist( $whitelist = null ) {
21
  }
22
  }
23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  return $formatted;
25
  }
26
 
27
- function jetpack_protect_save_whitelist( $whitelist ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  $whitelist_error = false;
29
  $new_items = array();
30
 
@@ -32,6 +100,14 @@ function jetpack_protect_save_whitelist( $whitelist ) {
32
  return new WP_Error( 'invalid_parameters', __( 'Expecting an array', 'jetpack' ) );
33
  }
34
 
 
 
 
 
 
 
 
 
35
  // validate each item
36
  foreach( $whitelist as $item ) {
37
 
@@ -89,44 +165,53 @@ function jetpack_protect_save_whitelist( $whitelist ) {
89
  return new WP_Error( 'invalid_ip', __( 'One of your IP addresses was not valid.', 'jetpack' ) );
90
  }
91
 
92
- update_site_option( 'jetpack_protect_whitelist', $new_items );
 
 
 
 
 
 
 
93
  return true;
94
  }
95
 
96
  function jetpack_protect_get_ip() {
 
 
97
 
98
- $server_headers = array(
99
- 'HTTP_CLIENT_IP',
100
- 'HTTP_CF_CONNECTING_IP',
101
- 'HTTP_X_FORWARDED_FOR',
102
- 'HTTP_X_FORWARDED',
103
- 'HTTP_X_CLUSTER_CLIENT_IP',
104
- 'HTTP_FORWARDED_FOR',
105
- 'HTTP_FORWARDED',
106
- 'REMOTE_ADDR'
107
- );
108
-
109
- foreach( $server_headers as $key ) {
110
-
111
- if ( ! array_key_exists( $key, $_SERVER ) ) {
112
  continue;
113
- }
114
-
115
- foreach( explode( ',', $_SERVER[ $key ] ) as $ip ) {
116
- $ip = trim( $ip ); // just to be safe
117
-
118
- // Check for IPv4 IP cast as IPv6
119
- if ( preg_match('/^::ffff:(\d+\.\d+\.\d+\.\d+)$/', $ip, $matches ) ) {
120
- $ip = $matches[1];
121
- }
122
-
123
- // If the IP is in a private or reserved range, return REMOTE_ADDR to help prevent spoofing
124
- if ( $ip == '127.0.0.1' || $ip == '::1' || jetpack_protect_ip_is_private( $ip ) ) {
125
- return $_SERVER[ 'REMOTE_ADDR' ];
126
- }
127
  return $ip;
128
  }
129
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  }
131
 
132
  /**
@@ -180,4 +265,41 @@ function jetpack_convert_ip_address( $ip ) {
180
  return inet_pton( $ip );
181
  }
182
  return ip2long( $ip );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  }
3
  * These functions are shared by the Protect module and its related json-endpoints
4
  */
5
 
6
+ /**
7
+ * Returns an array of IP objects that will never be blocked by the Protect module
8
+ *
9
+ * The array is segmented into a local whitelist which applies only to the current site
10
+ * and a global whitelist which, for multisite installs, applies to the entire networko
11
+ *
12
+ * @return array
13
+ */
14
+ function jetpack_protect_format_whitelist() {
15
 
16
+ $local_whitelist = jetpack_protect_get_local_whitelist();
 
 
17
 
18
  $formatted = array(
19
+ 'local' => array(),
20
  );
21
 
22
+ foreach( $local_whitelist as $item ) {
23
  if ( $item->range ) {
24
  $formatted['local'][] = $item->range_low . ' - ' . $item->range_high;
25
  } else {
27
  }
28
  }
29
 
30
+ if ( is_multisite() && current_user_can( 'manage_network' ) ) {
31
+ $formatted['global'] = array();
32
+ $global_whitelist = jetpack_protect_get_global_whitelist();
33
+
34
+ if ( false === $global_whitelist ) {
35
+ // if the global whitelist has never been set, check for a legacy option set prior to 3.6
36
+ $global_whitelist = get_site_option( 'jetpack_protect_whitelist', array() );
37
+ }
38
+
39
+ foreach( $global_whitelist as $item ) {
40
+ if ( $item->range ) {
41
+ $formatted['global'][] = $item->range_low . ' - ' . $item->range_high;
42
+ } else {
43
+ $formatted['global'][] = $item->ip_address;
44
+ }
45
+ }
46
+ }
47
+
48
  return $formatted;
49
  }
50
 
51
+ /**
52
+ * Gets the local Protect whitelist
53
+ *
54
+ * The 'local' part of the whitelist only really applies to multisite installs,
55
+ * which can have a network wide whitelist, as well as a local list that applies
56
+ * only to the current site. On single site installs, there will only be a local
57
+ * whitelist.
58
+ *
59
+ * @return array A list of IP Address objects or an empty array
60
+ */
61
+ function jetpack_protect_get_local_whitelist() {
62
+ $whitelist = Jetpack_Options::get_option( 'protect_whitelist' );
63
+
64
+ if ( false === $whitelist ) {
65
+ // The local whitelist has never been set
66
+ if ( is_multisite() ) {
67
+ // On a multisite, we can check for a legacy site_option that existed prior to v 3.6, or default to an empty array
68
+ $whitelist = get_site_option( 'jetpack_protect_whitelist', array() );
69
+ } else {
70
+ // On a single site, we can just use an empty array
71
+ $whitelist = array();
72
+ }
73
+ }
74
+
75
+ return $whitelist;
76
+ }
77
+
78
+ /**
79
+ * Get the global, network-wide whitelist
80
+ *
81
+ * It will revert to the legacy site_option if jetpack_protect_global_whitelist has never been set
82
+ *
83
+ * @return array
84
+ */
85
+ function jetpack_protect_get_global_whitelist() {
86
+ $whitelist = get_site_option( 'jetpack_protect_global_whitelist' );
87
+
88
+ if ( false === $whitelist ) {
89
+ // The global whitelist has never been set. Check for legacy site_option, or default to an empty array
90
+ $whitelist = get_site_option( 'jetpack_protect_whitelist', array() );
91
+ }
92
+ return $whitelist;
93
+ }
94
+
95
+ function jetpack_protect_save_whitelist( $whitelist, $global = false ) {
96
  $whitelist_error = false;
97
  $new_items = array();
98
 
100
  return new WP_Error( 'invalid_parameters', __( 'Expecting an array', 'jetpack' ) );
101
  }
102
 
103
+ if( $global && ! is_multisite() ) {
104
+ return new WP_Error( 'invalid_parameters', __( 'Cannot use global flag on non-multisites', 'jetpack' ) );
105
+ }
106
+
107
+ if ( $global && ! current_user_can( 'manage_network' ) ) {
108
+ return new WP_Error( 'permission_denied', __( 'Only super admins can edit the global whitelist', 'jetpack' ) );
109
+ }
110
+
111
  // validate each item
112
  foreach( $whitelist as $item ) {
113
 
165
  return new WP_Error( 'invalid_ip', __( 'One of your IP addresses was not valid.', 'jetpack' ) );
166
  }
167
 
168
+ if ( $global ) {
169
+ update_site_option( 'jetpack_protect_global_whitelist', $new_items );
170
+ // once a user has saved their global whitelist, we can permanently remove the legacy option
171
+ delete_site_option( 'jetpack_protect_whitelist' );
172
+ } else {
173
+ Jetpack_Options::update_option( 'protect_whitelist', $new_items );
174
+ }
175
+
176
  return true;
177
  }
178
 
179
  function jetpack_protect_get_ip() {
180
+
181
+ $trusted_header = get_site_option( 'trusted_ip_header' );
182
 
183
+ if( isset( $trusted_header ) && isset( $_SERVER[ $trusted_header ] ) ) {
184
+ $ip = $_SERVER[ $trusted_header ];
185
+ } else {
186
+ $ip = $_SERVER['REMOTE_ADDR'];
187
+ }
188
+
189
+ $ips = array_reverse( explode( ', ', $ip ) );
190
+
191
+ $ip_list_has_nonprivate_ip = false;
192
+ foreach( $ips as $ip ) {
193
+ $ip = jetpack_clean_ip( $ip );
194
+
195
+ // If the IP is in a private or reserved range, keep looking
196
+ if ( $ip == '127.0.0.1' || $ip == '::1' || jetpack_protect_ip_is_private( $ip ) ) {
197
  continue;
198
+ } else {
 
 
 
 
 
 
 
 
 
 
 
 
 
199
  return $ip;
200
  }
201
  }
202
+
203
+ return jetpack_clean_ip( $_SERVER['REMOTE_ADDR'] );
204
+ }
205
+
206
+ function jetpack_clean_ip( $ip ) {
207
+ $ip = trim( $ip );
208
+
209
+ // Check for IPv4 IP cast as IPv6
210
+ if ( preg_match('/^::ffff:(\d+\.\d+\.\d+\.\d+)$/', $ip, $matches ) ) {
211
+ $ip = $matches[1];
212
+ }
213
+
214
+ return $ip;
215
  }
216
 
217
  /**
265
  return inet_pton( $ip );
266
  }
267
  return ip2long( $ip );
268
+ }
269
+
270
+ /**
271
+ * Checks that a given IP address is within a given low - high range.
272
+ * Servers that support inet_pton will use that function to convert the ip to number,
273
+ * while other servers will use ip2long.
274
+ *
275
+ * NOTE: servers that do not support inet_pton cannot support ipv6.
276
+ *
277
+ * @param $ip
278
+ * @param $range_low
279
+ * @param $range_high
280
+ *
281
+ * @return bool
282
+ */
283
+ function jetpack_protect_ip_address_is_in_range( $ip, $range_low, $range_high ) {
284
+ // inet_pton will give us binary string of an ipv4 or ipv6
285
+ // we can then use strcmp to see if the address is in range
286
+ if ( function_exists( 'inet_pton' ) ) {
287
+ $ip_num = inet_pton( $ip );
288
+ $ip_low = inet_pton( $range_low );
289
+ $ip_high = inet_pton( $range_high );
290
+ if ( $ip_num && $ip_low && $ip_high && strcmp( $ip_num, $ip_low ) >= 0 && strcmp( $ip_num, $ip_high ) <= 0 ) {
291
+ return true;
292
+ }
293
+ // ip2long will give us an integer of an ipv4 address only. it will produce FALSE for ipv6
294
+ } else {
295
+ $ip_num = ip2long( $ip );
296
+ $ip_low = ip2long( $range_low );
297
+ $ip_high = ip2long( $range_high );
298
+ if ( $ip_num && $ip_low && $ip_high && $ip_num >= $ip_low && $ip_num <= $ip_high ) {
299
+ return true;
300
+ }
301
+ }
302
+
303
+ return false;
304
+
305
  }
modules/publicize/publicize.php CHANGED
@@ -32,7 +32,7 @@ abstract class Publicize_Base {
32
  */
33
  var $default_prefix = '';
34
  var $default_message = '%title%';
35
- var $default_suffix = ' %url%';
36
 
37
  /**
38
  * What WP capability is require to create/delete global connections?
@@ -104,7 +104,7 @@ abstract class Publicize_Base {
104
 
105
  return $cmeta['connection_data']['meta']['link'];
106
  } elseif ( 'facebook' == $service_name && isset( $cmeta['connection_data']['meta']['facebook_page'] ) ) {
107
- return 'https://www.facebook.com/' . $cmeta['connection_data']['meta']['facebook_page'];
108
  } elseif ( 'tumblr' == $service_name && isset( $cmeta['connection_data']['meta']['tumblr_base_hostname'] ) ) {
109
  return 'http://' . $cmeta['connection_data']['meta']['tumblr_base_hostname'];
110
  } elseif ( 'twitter' == $service_name ) {
@@ -232,8 +232,9 @@ abstract class Publicize_Base {
232
  // Don't Publicize during certain contexts:
233
 
234
  // - import
235
- if ( defined( 'WP_IMPORTING' ) && WP_IMPORTING )
236
  $submit_post = false;
 
237
 
238
  // - on quick edit, autosave, etc but do fire on p2, quickpress, and instapost ajax
239
  if (
@@ -253,8 +254,9 @@ abstract class Publicize_Base {
253
  }
254
 
255
  // - bulk edit
256
- if ( isset( $_GET['bulk_edit'] ) )
257
  $submit_post = false;
 
258
 
259
  // - API/XML-RPC Test Posts
260
  if (
@@ -274,12 +276,14 @@ abstract class Publicize_Base {
274
  }
275
 
276
  // only work with certain statuses (avoids inherits, auto drafts etc)
277
- if ( !in_array( $post->post_status, array( 'publish', 'draft', 'future' ) ) )
278
  $submit_post = false;
 
279
 
280
  // don't publish password protected posts
281
- if ( '' !== $post->post_password )
282
  $submit_post = false;
 
283
 
284
  // Did this request happen via wp-admin?
285
  $from_web = 'post' == strtolower( $_SERVER['REQUEST_METHOD'] ) && isset( $_POST[$this->ADMIN_PAGE] );
32
  */
33
  var $default_prefix = '';
34
  var $default_message = '%title%';
35
+ var $default_suffix = '';
36
 
37
  /**
38
  * What WP capability is require to create/delete global connections?
104
 
105
  return $cmeta['connection_data']['meta']['link'];
106
  } elseif ( 'facebook' == $service_name && isset( $cmeta['connection_data']['meta']['facebook_page'] ) ) {
107
+ return 'https://facebook.com/' . $cmeta['connection_data']['meta']['facebook_page'];
108
  } elseif ( 'tumblr' == $service_name && isset( $cmeta['connection_data']['meta']['tumblr_base_hostname'] ) ) {
109
  return 'http://' . $cmeta['connection_data']['meta']['tumblr_base_hostname'];
110
  } elseif ( 'twitter' == $service_name ) {
232
  // Don't Publicize during certain contexts:
233
 
234
  // - import
235
+ if ( defined( 'WP_IMPORTING' ) && WP_IMPORTING ) {
236
  $submit_post = false;
237
+ }
238
 
239
  // - on quick edit, autosave, etc but do fire on p2, quickpress, and instapost ajax
240
  if (
254
  }
255
 
256
  // - bulk edit
257
+ if ( isset( $_GET['bulk_edit'] ) ) {
258
  $submit_post = false;
259
+ }
260
 
261
  // - API/XML-RPC Test Posts
262
  if (
276
  }
277
 
278
  // only work with certain statuses (avoids inherits, auto drafts etc)
279
+ if ( !in_array( $post->post_status, array( 'publish', 'draft', 'future' ) ) ) {
280
  $submit_post = false;
281
+ }
282
 
283
  // don't publish password protected posts
284
+ if ( '' !== $post->post_password ) {
285
  $submit_post = false;
286
+ }
287
 
288
  // Did this request happen via wp-admin?
289
  $from_web = 'post' == strtolower( $_SERVER['REQUEST_METHOD'] ) && isset( $_POST[$this->ADMIN_PAGE] );
modules/related-posts/jetpack-related-posts.php CHANGED
@@ -674,7 +674,7 @@ EOT;
674
  'title' => $this->_to_utf8( $this->_get_title( $post->post_title, $post->post_content ) ),
675
  'date' => get_the_date( '', $post->ID ),
676
  'format' => get_post_format( $post->ID ),
677
- 'excerpt' => $this->_to_utf8( $this->_get_excerpt( $post->post_excerpt, $post->post_content ) ),
678
  'context' => apply_filters(
679
  'jetpack_relatedposts_filter_post_context',
680
  $this->_to_utf8( $this->_generate_related_post_context( $post->ID ) ),
674
  'title' => $this->_to_utf8( $this->_get_title( $post->post_title, $post->post_content ) ),
675
  'date' => get_the_date( '', $post->ID ),
676
  'format' => get_post_format( $post->ID ),
677
+ 'excerpt' => html_entity_decode( $this->_to_utf8( $this->_get_excerpt( $post->post_excerpt, $post->post_content ) ), ENT_QUOTES, 'UTF-8' ),
678
  'context' => apply_filters(
679
  'jetpack_relatedposts_filter_post_context',
680
  $this->_to_utf8( $this->_generate_related_post_context( $post->ID ) ),
modules/related-posts/related-posts.css CHANGED
@@ -1,17 +1,18 @@
1
  /**
2
- * Styles for Jetpack related posts
3
  */
4
 
5
  /* Container */
6
 
7
- div#jp-relatedposts {
8
  display: none;
9
  padding-top: 1em;
10
  margin: 1em 0;
11
  position: relative;
 
12
  }
13
 
14
- div.jp-relatedposts:after {
15
  content: '';
16
  display: block;
17
  clear: both;
@@ -19,7 +20,7 @@ div.jp-relatedposts:after {
19
 
20
  /* Headline above related posts section, labeled "Related" */
21
 
22
- div#jp-relatedposts h3.jp-relatedposts-headline {
23
  margin: 0 0 1em 0;
24
  display: inline-block;
25
  float: left;
@@ -28,7 +29,7 @@ div#jp-relatedposts h3.jp-relatedposts-headline {
28
  font-family: inherit;
29
  }
30
 
31
- div#jp-relatedposts h3.jp-relatedposts-headline em:before {
32
  content: "";
33
  display: block;
34
  width: 100%;
@@ -38,24 +39,24 @@ div#jp-relatedposts h3.jp-relatedposts-headline em:before {
38
  margin-bottom: 1em;
39
  }
40
 
41
- div#jp-relatedposts h3.jp-relatedposts-headline em {
42
  font-style: normal;
43
  font-weight: bold;
44
  }
45
 
46
  /* Related posts items (wrapping items) */
47
 
48
- div#jp-relatedposts div.jp-relatedposts-items {
49
  clear: left;
50
  }
51
 
52
- div#jp-relatedposts div.jp-relatedposts-items-visual {
53
  margin-right: -20px;
54
  }
55
 
56
  /* Related posts item */
57
 
58
- div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post {
59
  float: left;
60
  width: 33%;
61
  margin: 0 0 1em; /* Needs to be same as the main outer wrapper for Related Posts */
@@ -64,24 +65,23 @@ div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post {
64
  -webkit-box-sizing: border-box;
65
  }
66
 
67
- div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post {
68
  padding-right: 20px;
69
- /*cursor: pointer;*/
70
  filter: alpha(opacity=80);
71
  -moz-opacity: .8;
72
  opacity: .8;
73
  }
74
 
75
- div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post:nth-child(3n+4),
76
- div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post:nth-child(3n+4) {
77
  clear: both;
78
  }
79
 
80
- div#jp-relatedposts div.jp-relatedposts-items div.jp-relatedposts-post:hover .jp-relatedposts-post-title a {
81
  text-decoration: underline;
82
  }
83
 
84
- div#jp-relatedposts div.jp-relatedposts-items div.jp-relatedposts-post:hover {
85
  filter: alpha(opacity=100);
86
  -moz-opacity: 1;
87
  opacity: 1;
@@ -89,16 +89,16 @@ div#jp-relatedposts div.jp-relatedposts-items div.jp-relatedposts-post:hover {
89
 
90
  /* Related posts item content */
91
 
92
- div#jp-relatedposts div.jp-relatedposts-items-visual h4.jp-relatedposts-post-title,
93
- div#jp-relatedposts div.jp-relatedposts-items p {
94
  font-size: 14px;
95
  line-height: 20px;
96
  margin: 0;
97
  }
98
- div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs {
99
  position:relative;
100
  }
101
- div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs a.jp-relatedposts-post-aoverlay {
102
  position:absolute;
103
  top:0;
104
  bottom:0;
@@ -107,11 +107,11 @@ div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-no
107
  display:block;
108
  }
109
 
110
- div#jp-relatedposts div.jp-relatedposts-items p {
111
  margin-bottom: 0;
112
  }
113
 
114
- div#jp-relatedposts div.jp-relatedposts-items-visual h4.jp-relatedposts-post-title {
115
  text-transform: none;
116
  margin: 0;
117
  font-family: inherit;
@@ -119,7 +119,7 @@ div#jp-relatedposts div.jp-relatedposts-items-visual h4.jp-relatedposts-post-tit
119
  max-width: 100%;
120
  }
121
 
122
- div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a {
123
  font-size: inherit;
124
  font-weight: normal;
125
  text-decoration: none;
@@ -128,25 +128,25 @@ div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedp
128
  opacity: 1;
129
  }
130
 
131
- div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a:hover {
132
  text-decoration: underline;
133
  }
134
 
135
- div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post img.jp-relatedposts-post-img,
136
- div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post span {
137
  display: block;
138
  max-width: 90%;
139
  overflow: hidden;
140
  text-overflow: ellipsis;
141
  }
142
 
143
- div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img,
144
- div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post span {
145
  max-width: 100%;
146
  }
147
 
148
- div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date,
149
- div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-context {
150
  opacity: .6;
151
  }
152
 
@@ -156,44 +156,42 @@ div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post .jp-relatedp
156
  }
157
 
158
  /* Behavior when there are thumbnails in visual mode */
159
- div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-thumbs p.jp-relatedposts-post-excerpt {
160
  display: none;
161
  }
162
 
163
  /* Behavior when there are no thumbnails in visual mode */
164
- div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs p.jp-relatedposts-post-excerpt {
165
  overflow: hidden;
166
  }
167
- div#jp-relatedposts div.jp-relatedposts-items-visual div.jp-relatedposts-post-nothumbs span {
168
  margin-bottom: 1em;
169
  }
170
 
171
- /**
172
  * Responsive
173
  */
174
 
175
  @media only screen and (max-width: 640px) {
176
 
177
- div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post {
178
  width: 50%;
179
  }
180
 
181
- div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post:nth-child(3n) {
182
  clear: left;
183
  }
184
 
185
- div#jp-relatedposts div.jp-relatedposts-items-visual {
186
  margin-right: 20px;
187
  }
188
-
189
  }
190
 
191
  @media only screen and (max-width: 320px) {
192
 
193
- div#jp-relatedposts div.jp-relatedposts-items .jp-relatedposts-post {
194
  width: 100%;
195
  clear: both;
196
  margin: 0 0 1em;
197
  }
198
-
199
  }
1
  /**
2
+ * Jetpack related posts
3
  */
4
 
5
  /* Container */
6
 
7
+ #jp-relatedposts {
8
  display: none;
9
  padding-top: 1em;
10
  margin: 1em 0;
11
  position: relative;
12
+ clear: both;
13
  }
14
 
15
+ .jp-relatedposts:after {
16
  content: '';
17
  display: block;
18
  clear: both;
20
 
21
  /* Headline above related posts section, labeled "Related" */
22
 
23
+ #jp-relatedposts h3.jp-relatedposts-headline {
24
  margin: 0 0 1em 0;
25
  display: inline-block;
26
  float: left;
29
  font-family: inherit;
30
  }
31
 
32
+ #jp-relatedposts h3.jp-relatedposts-headline em:before {
33
  content: "";
34
  display: block;
35
  width: 100%;
39
  margin-bottom: 1em;
40
  }
41
 
42
+ #jp-relatedposts h3.jp-relatedposts-headline em {
43
  font-style: normal;
44
  font-weight: bold;
45
  }
46
 
47
  /* Related posts items (wrapping items) */
48
 
49
+ #jp-relatedposts .jp-relatedposts-items {
50
  clear: left;
51
  }
52
 
53
+ #jp-relatedposts .jp-relatedposts-items-visual {
54
  margin-right: -20px;
55
  }
56
 
57
  /* Related posts item */
58
 
59
+ #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post {
60
  float: left;
61
  width: 33%;
62
  margin: 0 0 1em; /* Needs to be same as the main outer wrapper for Related Posts */
65
  -webkit-box-sizing: border-box;
66
  }
67
 
68
+ #jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post {
69
  padding-right: 20px;
 
70
  filter: alpha(opacity=80);
71
  -moz-opacity: .8;
72
  opacity: .8;
73
  }
74
 
75
+ #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:nth-child(3n+4),
76
+ #jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post:nth-child(3n+4) {
77
  clear: both;
78
  }
79
 
80
+ #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:hover .jp-relatedposts-post-title a {
81
  text-decoration: underline;
82
  }
83
 
84
+ #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:hover {
85
  filter: alpha(opacity=100);
86
  -moz-opacity: 1;
87
  opacity: 1;
89
 
90
  /* Related posts item content */
91
 
92
+ #jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title,
93
+ #jp-relatedposts .jp-relatedposts-items p {
94
  font-size: 14px;
95
  line-height: 20px;
96
  margin: 0;
97
  }
98
+ #jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs {
99
  position:relative;
100
  }
101
+ #jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs a.jp-relatedposts-post-aoverlay {
102
  position:absolute;
103
  top:0;
104
  bottom:0;
107
  display:block;
108
  }
109
 
110
+ #jp-relatedposts .jp-relatedposts-items p {
111
  margin-bottom: 0;
112
  }
113
 
114
+ #jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title {
115
  text-transform: none;
116
  margin: 0;
117
  font-family: inherit;
119
  max-width: 100%;
120
  }
121
 
122
+ #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a {
123
  font-size: inherit;
124
  font-weight: normal;
125
  text-decoration: none;
128
  opacity: 1;
129
  }
130
 
131
+ #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a:hover {
132
  text-decoration: underline;
133
  }
134
 
135
+ #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post img.jp-relatedposts-post-img,
136
+ #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post span {
137
  display: block;
138
  max-width: 90%;
139
  overflow: hidden;
140
  text-overflow: ellipsis;
141
  }
142
 
143
+ #jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img,
144
+ #jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post span {
145
  max-width: 100%;
146
  }
147
 
148
+ #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date,
149
+ #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-context {
150
  opacity: .6;
151
  }
152
 
156
  }
157
 
158
  /* Behavior when there are thumbnails in visual mode */
159
+ #jp-relatedposts .jp-relatedposts-items-visual div.jp-relatedposts-post-thumbs p.jp-relatedposts-post-excerpt {
160
  display: none;
161
  }
162
 
163
  /* Behavior when there are no thumbnails in visual mode */
164
+ #jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs p.jp-relatedposts-post-excerpt {
165
  overflow: hidden;
166
  }
167
+ #jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs span {
168
  margin-bottom: 1em;
169
  }
170
 
171
+ /*
172
  * Responsive
173
  */
174
 
175
  @media only screen and (max-width: 640px) {
176
 
177
+ #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post {
178
  width: 50%;
179
  }
180
 
181
+ #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:nth-child(3n) {
182
  clear: left;
183
  }
184
 
185
+ #jp-relatedposts .jp-relatedposts-items-visual {
186
  margin-right: 20px;
187
  }
 
188
  }
189
 
190
  @media only screen and (max-width: 320px) {
191
 
192
+ #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post {
193
  width: 100%;
194
  clear: both;
195
  margin: 0 0 1em;
196
  }
 
197
  }
modules/related-posts/related-posts.js CHANGED
@@ -100,7 +100,7 @@
100
  html += anchor_overlay[0] + anchor_overlay[1];
101
  }
102
  html += '<h4 class="jp-relatedposts-post-title">' + anchor[0] + post.title + anchor[1] + '</h4>';
103
- html += '<p class="jp-relatedposts-post-excerpt">' + post.excerpt + '</p>';
104
  html += '<p class="jp-relatedposts-post-date">' + post.date + '</p>';
105
  html += '<p class="jp-relatedposts-post-context">' + post.context + '</p>';
106
  html += '</div>';
100
  html += anchor_overlay[0] + anchor_overlay[1];
101
  }
102
  html += '<h4 class="jp-relatedposts-post-title">' + anchor[0] + post.title + anchor[1] + '</h4>';
103
+ html += '<p class="jp-relatedposts-post-excerpt">' + $( '<p>' ).text( post.excerpt ).html() + '</p>';
104
  html += '<p class="jp-relatedposts-post-date">' + post.date + '</p>';
105
  html += '<p class="jp-relatedposts-post-context">' + post.context + '</p>';
106
  html += '</div>';
modules/sharedaddy/recaptcha.php ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Class that handles reCAPTCHA.
5
+ */
6
+ class Jetpack_ReCaptcha {
7
+
8
+ /**
9
+ * URL to which requests are POSTed.
10
+ *
11
+ * @const string
12
+ */
13
+ const VERIFY_URL = 'https://www.google.com/recaptcha/api/siteverify';
14
+
15
+ /**
16
+ * Site key to use in HTML code.
17
+ *
18
+ * @var string
19
+ */
20
+ private $site_key;
21
+
22
+ /**
23
+ * Shared secret for the site.
24
+ *
25
+ * @var string
26
+ */
27
+ private $secret_key;
28
+
29
+ /**
30
+ * Config for reCAPTCHA instance.
31
+ *
32
+ * @var array
33
+ */
34
+ private $config;
35
+
36
+ /**
37
+ * Error codes returned from reCAPTCHA API.
38
+ *
39
+ * @see https://developers.google.com/recaptcha/docs/verify
40
+ *
41
+ * @var array
42
+ */
43
+ private $error_codes;
44
+
45
+ /**
46
+ * Create a configured instance to use the reCAPTCHA service.
47
+ *
48
+ * @param string $site_key Site key to use in HTML code.
49
+ * @param string $secret_key Shared secret between site and reCAPTCHA server.
50
+ * @param array $config Config array to optionally configure reCAPTCHA instance.
51
+ */
52
+ public function __construct( $site_key, $secret_key, $config = array() ) {
53
+ $this->site_key = $site_key;
54
+ $this->secret_key = $secret_key;
55
+ $this->config = wp_parse_args( $config, $this->get_default_config() );
56
+
57
+ $this->error_codes = array(
58
+ 'missing-input-secret' => __( 'The secret parameter is missing', 'jetpack' ),
59
+ 'invalid-input-secret' => __( 'The secret parameter is invalid or malformed', 'jetpack' ),
60
+ 'missing-input-response' => __( 'The response parameter is missing', 'jetpack' ),
61
+ 'invalid-input-response' => __( 'The response parameter is invalid or malformed', 'jetpack' ),
62
+ 'invalid-json' => __( 'Invalid JSON', 'jetpack' ),
63
+ 'unexpected-response' => __( 'Unexpected response', 'jetpack' ),
64
+ );
65
+ }
66
+
67
+ /**
68
+ * Get default config for this reCAPTCHA instance.
69
+ *
70
+ * @return array Default config
71
+ */
72
+ public function get_default_config() {
73
+ return array(
74
+ 'language' => get_locale(),
75
+ 'script_async' => true,
76
+ 'tag_class' => 'g-recaptcha',
77
+ 'tag_attributes' => array(
78
+ 'theme' => 'light',
79
+ 'type' => 'image',
80
+ 'tabindex' => 0,
81
+ ),
82
+ );
83
+ }
84
+
85
+ /**
86
+ * Calls the reCAPTCHA siteverify API to verify whether the user passes
87
+ * CAPTCHA test.
88
+ *
89
+ * @param string $response The value of 'g-recaptcha-response' in the submitted
90
+ * form.
91
+ * @param string $remote_ip The end user's IP address.
92
+ *
93
+ * @return bool|WP_Error Returns true if verified. Otherwise WP_Error is returned.
94
+ */
95
+ public function verify( $response, $remote_ip ) {
96
+ // No need make a request if response is empty.
97
+ if ( empty( $response ) ) {
98
+ return new WP_Error( 'missing-input-response', $this->error_codes['missing-input-response'], 400 );
99
+ }
100
+
101
+ $resp = wp_remote_post( self::VERIFY_URL, $this->get_verify_request_params( $response, $remote_ip ) );
102
+ if ( is_wp_error( $resp ) ) {
103
+ return $resp;
104
+ }
105
+
106
+ $resp_decoded = json_decode( wp_remote_retrieve_body( $resp ), true );
107
+ if ( ! $resp_decoded ) {
108
+ return new WP_Error( 'invalid-json', $this->error_codes['invalid-json'], 400 );
109
+ }
110
+
111
+ // Default error code and message.
112
+ $error_code = 'unexpected-response';
113
+ $error_message = $this->error_codes['unexpected-response'];
114
+
115
+ // Use the first error code if exists.
116
+ if ( isset( $resp_decoded['error-codes'] ) && is_array( $resp_decoded['error-codes'] ) ) {
117
+ if ( isset( $resp_decoded['error-codes'][0] ) && isset( $this->error_codes[ $resp_decoded['error-codes'][0] ] ) ) {
118
+ $error_message = $this->error_codes[ $resp_decoded['error-codes'][0] ];
119
+ $error_code = $resp_decoded['error-codes'][0];
120
+ }
121
+ }
122
+
123
+ if ( ! isset( $resp_decoded['success'] ) ) {
124
+ return new WP_Error( $error_code, $error_message );
125
+ }
126
+
127
+ if ( true !== $resp_decoded['success'] ) {
128
+ return new WP_Error( $error_code, $error_message );
129
+ }
130
+
131
+ return true;
132
+ }
133
+
134
+ /**
135
+ * Get siteverify request parameters.
136
+ *
137
+ * @param string $response The value of 'g-recaptcha-response' in the submitted
138
+ * form.
139
+ * @param string $remote_ip The end user's IP address.
140
+ *
141
+ * @return array
142
+ */
143
+ public function get_verify_request_params( $response, $remote_ip ) {
144
+ return array(
145
+ 'body' => array(
146
+ 'secret' => $this->secret_key,
147
+ 'response' => $response,
148
+ 'remoteip' => $remote_ip,
149
+ ),
150
+ 'sslverify' => true,
151
+ );
152
+ }
153
+
154
+ /**
155
+ * Get reCAPTCHA HTML to render.
156
+ *
157
+ * @return string
158
+ */
159
+ public function get_recaptcha_html() {
160
+ return sprintf(
161
+ '
162
+ <div
163
+ class="%s"
164
+ data-sitekey="%s"
165
+ data-theme="%s"
166
+ data-type="%s"
167
+ data-tabindex="%s"></div>
168
+ <script type="text/javascript" src="https://www.google.com/recaptcha/api.js?hl=%s"%s></script>
169
+ ',
170
+ esc_attr( $this->config['tag_class'] ),
171
+ esc_attr( $this->site_key ),
172
+ esc_attr( $this->config['tag_attributes']['theme'] ),
173
+ esc_attr( $this->config['tag_attributes']['type'] ),
174
+ esc_attr( $this->config['tag_attributes']['tabindex'] ),
175
+ rawurlencode( $this->config['language'] ),
176
+ $this->config['script_async'] ? ' async' : ''
177
+ );
178
+ }
179
+ }
modules/sharedaddy/recaptchalib.php DELETED
@@ -1,277 +0,0 @@
1
- <?php
2
- /*
3
- * This is a PHP library that handles calling reCAPTCHA.
4
- * - Documentation and latest version
5
- * http://recaptcha.net/plugins/php/
6
- * - Get a reCAPTCHA API Key
7
- * https://www.google.com/recaptcha/admin/create
8
- * - Discussion group
9
- * http://groups.google.com/group/recaptcha
10
- *
11
- * Copyright (c) 2007 reCAPTCHA -- http://recaptcha.net
12
- * AUTHORS:
13
- * Mike Crawford
14
- * Ben Maurer
15
- *
16
- * Permission is hereby granted, free of charge, to any person obtaining a copy
17
- * of this software and associated documentation files (the "Software"), to deal
18
- * in the Software without restriction, including without limitation the rights
19
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
20
- * copies of the Software, and to permit persons to whom the Software is
21
- * furnished to do so, subject to the following conditions:
22
- *
23
- * The above copyright notice and this permission notice shall be included in
24
- * all copies or substantial portions of the Software.
25
- *
26
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
27
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
29
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
30
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
31
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
32
- * THE SOFTWARE.
33
- */
34
-
35
- /**
36
- * The reCAPTCHA server URL's
37
- */
38
- define("RECAPTCHA_API_SERVER", "http://www.google.com/recaptcha/api");
39
- define("RECAPTCHA_API_SECURE_SERVER", "https://www.google.com/recaptcha/api");
40
- define("RECAPTCHA_VERIFY_SERVER", "www.google.com");
41
-
42
- /**
43
- * Encodes the given data into a query string format
44
- * @param $data - array of string elements to be encoded
45
- * @return string - encoded request
46
- */
47
- function _recaptcha_qsencode ($data) {
48
- $req = "";
49
- foreach ( $data as $key => $value )
50
- $req .= $key . '=' . urlencode( stripslashes($value) ) . '&';
51
-
52
- // Cut the last '&'
53
- $req=substr($req,0,strlen($req)-1);
54
- return $req;
55
- }
56
-
57
-
58
-
59
- /**
60
- * Submits an HTTP POST to a reCAPTCHA server
61
- * @param string $host
62
- * @param string $path
63
- * @param array $data
64
- * @param int port
65
- * @return array response
66
- */
67
- function _recaptcha_http_post($host, $path, $data, $port = 80) {
68
-
69
- $req = _recaptcha_qsencode ($data);
70
-
71
- $http_request = "POST $path HTTP/1.0\r\n";
72
- $http_request .= "Host: $host\r\n";
73
- $http_request .= "Content-Type: application/x-www-form-urlencoded;\r\n";
74
- $http_request .= "Content-Length: " . strlen($req) . "\r\n";
75
- $http_request .= "User-Agent: reCAPTCHA/PHP\r\n";
76
- $http_request .= "\r\n";
77
- $http_request .= $req;
78
-
79
- $response = '';
80
- if( false == ( $fs = @fsockopen($host, $port, $errno, $errstr, 10) ) ) {
81
- die ('Could not open socket');
82
- }
83
-
84
- fwrite($fs, $http_request);
85
-
86
- while ( !feof($fs) )
87
- $response .= fgets($fs, 1160); // One TCP-IP packet
88
- fclose($fs);
89
- $response = explode("\r\n\r\n", $response, 2);
90
-
91
- return $response;
92
- }
93
-
94
-
95
-
96
- /**
97
- * Gets the challenge HTML (javascript and non-javascript version).
98
- * This is called from the browser, and the resulting reCAPTCHA HTML widget
99
- * is embedded within the HTML form it was called from.
100
- * @param string $pubkey A public key for reCAPTCHA
101
- * @param string $error The error given by reCAPTCHA (optional, default is null)
102
- * @param boolean $use_ssl Should the request be made over ssl? (optional, default is false)
103
-
104
- * @return string - The HTML to be embedded in the user's form.
105
- */
106
- function recaptcha_get_html ($pubkey, $error = null, $use_ssl = false)
107
- {
108
- if ($pubkey == null || $pubkey == '') {
109
- die ("To use reCAPTCHA you must get an API key from <a href='https://www.google.com/recaptcha/admin/create'>https://www.google.com/recaptcha/admin/create</a>");
110
- }
111
-
112
- if ($use_ssl) {
113
- $server = RECAPTCHA_API_SECURE_SERVER;
114
- } else {
115
- $server = RECAPTCHA_API_SERVER;
116
- }
117
-
118
- $errorpart = "";
119
- if ($error) {
120
- $errorpart = "&amp;error=" . $error;
121
- }
122
- return '<script type="text/javascript" src="'. $server . '/challenge?k=' . $pubkey . $errorpart . '"></script>
123
-
124
- <noscript>
125
- <iframe src="'. $server . '/noscript?k=' . $pubkey . $errorpart . '" height="300" width="500" frameborder="0"></iframe><br/>
126
- <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
127
- <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
128
- </noscript>';
129
- }
130
-
131
-
132
-
133
-
134
- /**
135
- * A ReCaptchaResponse is returned from recaptcha_check_answer()
136
- */
137
- class ReCaptchaResponse {
138
- var $is_valid;
139
- var $error;
140
- }
141
-
142
-
143
- /**
144
- * Calls an HTTP POST function to verify if the user's guess was correct
145
- * @param string $privkey
146
- * @param string $remoteip
147
- * @param string $challenge
148
- * @param string $response
149
- * @param array $extra_params an array of extra variables to post to the server
150
- * @return ReCaptchaResponse
151
- */
152
- function recaptcha_check_answer ($privkey, $remoteip, $challenge, $response, $extra_params = array())
153
- {
154
- if ($privkey == null || $privkey == '') {
155
- die ("To use reCAPTCHA you must get an API key from <a href='https://www.google.com/recaptcha/admin/create'>https://www.google.com/recaptcha/admin/create</a>");
156
- }
157
-
158
- if ($remoteip == null || $remoteip == '') {
159
- die ("For security reasons, you must pass the remote ip to reCAPTCHA");
160
- }
161
-
162
-
163
-
164
- //discard spam submissions
165
- if ($challenge == null || strlen($challenge) == 0 || $response == null || strlen($response) == 0) {
166
- $recaptcha_response = new ReCaptchaResponse();
167
- $recaptcha_response->is_valid = false;
168
- $recaptcha_response->error = 'incorrect-captcha-sol';
169
- return $recaptcha_response;
170
- }
171
-
172
- $response = _recaptcha_http_post (RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",
173
- array (
174
- 'privatekey' => $privkey,
175
- 'remoteip' => $remoteip,
176
- 'challenge' => $challenge,
177
- 'response' => $response
178
- ) + $extra_params
179
- );
180
-
181
- $answers = explode ("\n", $response [1]);
182
- $recaptcha_response = new ReCaptchaResponse();
183
-
184
- if (trim ($answers [0]) == 'true') {
185
- $recaptcha_response->is_valid = true;
186
- }
187
- else {
188
- $recaptcha_response->is_valid = false;
189
- $recaptcha_response->error = $answers [1];
190
- }
191
- return $recaptcha_response;
192
-
193
- }
194
-
195
- /**
196
- * gets a URL where the user can sign up for reCAPTCHA. If your application
197
- * has a configuration page where you enter a key, you should provide a link
198
- * using this function.
199
- * @param string $domain The domain where the page is hosted
200
- * @param string $appname The name of your application
201
- */
202
- function recaptcha_get_signup_url ($domain = null, $appname = null) {
203
- return "https://www.google.com/recaptcha/admin/create?" . _recaptcha_qsencode (array ('domains' => $domain, 'app' => $appname));
204
- }
205
-
206
- function _recaptcha_aes_pad($val) {
207
- $block_size = 16;
208
- $numpad = $block_size - (strlen ($val) % $block_size);
209
- return str_pad($val, strlen ($val) + $numpad, chr($numpad));
210
- }
211
-
212
- /* Mailhide related code */
213
-
214
- function _recaptcha_aes_encrypt($val,$ky) {
215
- if (! function_exists ("mcrypt_encrypt")) {
216
- die ("To use reCAPTCHA Mailhide, you need to have the mcrypt php module installed.");
217
- }
218
- $mode=MCRYPT_MODE_CBC;
219
- $enc=MCRYPT_RIJNDAEL_128;
220
- $val=_recaptcha_aes_pad($val);
221
- return mcrypt_encrypt($enc, $ky, $val, $mode, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");
222
- }
223
-
224
-
225
- function _recaptcha_mailhide_urlbase64 ($x) {
226
- return strtr(base64_encode ($x), '+/', '-_');
227
- }
228
-
229
- /* gets the reCAPTCHA Mailhide url for a given email, public key and private key */
230
- function recaptcha_mailhide_url($pubkey, $privkey, $email) {
231
- if ($pubkey == '' || $pubkey == null || $privkey == "" || $privkey == null) {
232
- die ("To use reCAPTCHA Mailhide, you have to sign up for a public and private key, " .
233
- "you can do so at <a href='http://www.google.com/recaptcha/mailhide/apikey'>http://www.google.com/recaptcha/mailhide/apikey</a>");
234
- }
235
-
236
-
237
- $ky = pack('H*', $privkey);
238
- $cryptmail = _recaptcha_aes_encrypt ($email, $ky);
239
-
240
- return "http://www.google.com/recaptcha/mailhide/d?k=" . $pubkey . "&c=" . _recaptcha_mailhide_urlbase64 ($cryptmail);
241
- }
242
-
243
- /**
244
- * gets the parts of the email to expose to the user.
245
- * eg, given johndoe@example,com return ["john", "example.com"].
246
- * the email is then displayed as john...@example.com
247
- */
248
- function _recaptcha_mailhide_email_parts ($email) {
249
- $arr = preg_split("/@/", $email );
250
-
251
- if (strlen ($arr[0]) <= 4) {
252
- $arr[0] = substr ($arr[0], 0, 1);
253
- } else if (strlen ($arr[0]) <= 6) {
254
- $arr[0] = substr ($arr[0], 0, 3);
255
- } else {
256
- $arr[0] = substr ($arr[0], 0, 4);
257
- }
258
- return $arr;
259
- }
260
-
261
- /**
262
- * Gets html to display an email address given a public an private key.
263
- * to get a key, go to:
264
- *
265
- * http://www.google.com/recaptcha/mailhide/apikey
266
- */
267
- function recaptcha_mailhide_html($pubkey, $privkey, $email) {
268
- $emailparts = _recaptcha_mailhide_email_parts ($email);
269
- $url = recaptcha_mailhide_url ($pubkey, $privkey, $email);
270
-
271
- return htmlentities($emailparts[0]) . "<a href='" . htmlentities ($url) .
272
- "' onclick=\"window.open('" . htmlentities ($url) . "', '', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300'); return false;\" title=\"Reveal this e-mail address\">...</a>@" . htmlentities ($emailparts [1]);
273
-
274
- }
275
-
276
-
277
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
modules/sharedaddy/sharedaddy.php CHANGED
@@ -54,6 +54,7 @@ function sharing_email_check_for_spam_via_akismet( $data ) {
54
  }
55
 
56
  function sharing_email_send_post_content( $data ) {
 
57
  $content = sprintf( __( '%1$s (%2$s) thinks you may be interested in the following post:', 'jetpack' ), $data['name'], $data['source'] );
58
  $content .= "\n\n";
59
  $content .= $data['post']->post_title."\n";
@@ -62,6 +63,7 @@ function sharing_email_send_post_content( $data ) {
62
  }
63
 
64
  function sharing_add_meta_box() {
 
65
  $post_types = get_post_types( array( 'public' => true ) );
66
  /**
67
  * Filter the Sharing Meta Box title.
@@ -71,11 +73,14 @@ function sharing_add_meta_box() {
71
  * @param string $var Sharing Meta Box title. Default is "Sharing".
72
  */
73
  $title = apply_filters( 'sharing_meta_box_title', __( 'Sharing', 'jetpack' ) );
74
- foreach( $post_types as $post_type ) {
75
- add_meta_box( 'sharing_meta', $title, 'sharing_meta_box_content', $post_type, 'advanced', 'high' );
 
 
76
  }
77
  }
78
 
 
79
  function sharing_meta_box_content( $post ) {
80
  /**
81
  * Fires before the sharing meta box content.
@@ -188,19 +193,24 @@ function sharing_global_resources_save() {
188
  }
189
 
190
  function sharing_email_dialog() {
191
- echo '<div class="recaptcha" id="sharing_recaptcha"></div><input type="hidden" name="recaptcha_public_key" id="recaptcha_public_key" value="'.(defined( 'RECAPTCHA_PUBLIC_KEY' ) ? esc_attr( RECAPTCHA_PUBLIC_KEY ) : '').'" />';
 
 
 
192
  }
193
 
194
  function sharing_email_check( $true, $post, $data ) {
195
- require_once plugin_dir_path( __FILE__ ).'recaptchalib.php';
196
 
197
- $recaptcha_result = recaptcha_check_answer( RECAPTCHA_PRIVATE_KEY, $_SERVER["REMOTE_ADDR"], $data["recaptcha_challenge_field"], $data["recaptcha_response_field"] );
 
 
198
 
199
- return $recaptcha_result->is_valid;
200
  }
201
 
202
  add_action( 'init', 'sharing_init' );
203
- add_action( 'admin_init', 'sharing_add_meta_box' );
204
  add_action( 'save_post', 'sharing_meta_box_save' );
205
  add_action( 'sharing_email_send_post', 'sharing_email_send_post' );
206
  add_filter( 'sharing_email_can_send', 'sharing_email_check_for_spam_via_akismet' );
@@ -210,7 +220,7 @@ add_filter( 'sharing_services', 'sharing_restrict_to_single' );
210
  add_action( 'plugin_action_links_'.basename( dirname( __FILE__ ) ).'/'.basename( __FILE__ ), 'sharing_plugin_settings', 10, 4 );
211
  add_filter( 'plugin_row_meta', 'sharing_add_plugin_settings', 10, 2 );
212
 
213
- if ( defined( 'RECAPTCHA_PRIVATE_KEY' ) ) {
214
  add_action( 'sharing_email_dialog', 'sharing_email_dialog' );
215
  add_filter( 'sharing_email_check', 'sharing_email_check', 10, 3 );
216
  }
54
  }
55
 
56
  function sharing_email_send_post_content( $data ) {
57
+ /* translators: included in e-mail when post is shared via e-mail. First item is sender's name. Second is sender's e-mail address. */
58
  $content = sprintf( __( '%1$s (%2$s) thinks you may be interested in the following post:', 'jetpack' ), $data['name'], $data['source'] );
59
  $content .= "\n\n";
60
  $content .= $data['post']->post_title."\n";
63
  }
64
 
65
  function sharing_add_meta_box() {
66
+ global $post;
67
  $post_types = get_post_types( array( 'public' => true ) );
68
  /**
69
  * Filter the Sharing Meta Box title.
73
  * @param string $var Sharing Meta Box title. Default is "Sharing".
74
  */
75
  $title = apply_filters( 'sharing_meta_box_title', __( 'Sharing', 'jetpack' ) );
76
+ if ( $post->ID !== get_option( 'page_for_posts' ) ) {
77
+ foreach( $post_types as $post_type ) {
78
+ add_meta_box( 'sharing_meta', $title, 'sharing_meta_box_content', $post_type, 'advanced', 'high' );
79
+ }
80
  }
81
  }
82
 
83
+
84
  function sharing_meta_box_content( $post ) {
85
  /**
86
  * Fires before the sharing meta box content.
193
  }
194
 
195
  function sharing_email_dialog() {
196
+ require_once plugin_dir_path( __FILE__ ) . 'recaptcha.php';
197
+
198
+ $recaptcha = new Jetpack_ReCaptcha( RECAPTCHA_PUBLIC_KEY, RECAPTCHA_PRIVATE_KEY );
199
+ echo $recaptcha->get_recaptcha_html(); // xss ok
200
  }
201
 
202
  function sharing_email_check( $true, $post, $data ) {
203
+ require_once plugin_dir_path( __FILE__ ) . 'recaptcha.php';
204
 
205
+ $recaptcha = new Jetpack_ReCaptcha( RECAPTCHA_PUBLIC_KEY, RECAPTCHA_PRIVATE_KEY );
206
+ $response = ! empty( $_POST['g-recaptcha-response'] ) ? $_POST['g-recaptcha-response'] : '';
207
+ $result = $recaptcha->verify( $response, $_SERVER['REMOTE_ADDR'] );
208
 
209
+ return ( true === $result );
210
  }
211
 
212
  add_action( 'init', 'sharing_init' );
213
+ add_action( 'add_meta_boxes', 'sharing_add_meta_box' );
214
  add_action( 'save_post', 'sharing_meta_box_save' );
215
  add_action( 'sharing_email_send_post', 'sharing_email_send_post' );
216
  add_filter( 'sharing_email_can_send', 'sharing_email_check_for_spam_via_akismet' );
220
  add_action( 'plugin_action_links_'.basename( dirname( __FILE__ ) ).'/'.basename( __FILE__ ), 'sharing_plugin_settings', 10, 4 );
221
  add_filter( 'plugin_row_meta', 'sharing_add_plugin_settings', 10, 2 );
222
 
223
+ if ( defined( 'RECAPTCHA_PUBLIC_KEY' ) && defined( 'RECAPTCHA_PRIVATE_KEY' ) ) {
224
  add_action( 'sharing_email_dialog', 'sharing_email_dialog' );
225
  add_filter( 'sharing_email_check', 'sharing_email_check', 10, 3 );
226
  }
modules/sharedaddy/sharing-service.php CHANGED
@@ -49,7 +49,6 @@ class Sharing_Service {
49
  'facebook' => 'Share_Facebook',
50
  'linkedin' => 'Share_LinkedIn',
51
  'reddit' => 'Share_Reddit',
52
- 'stumbleupon' => 'Share_Stumbleupon',
53
  'twitter' => 'Share_Twitter',
54
  'press-this' => 'Share_PressThis',
55
  'google-plus-1' => 'Share_GooglePlus1',
@@ -240,7 +239,7 @@ class Sharing_Service {
240
 
241
  // Defaults
242
  $options['global'] = array(
243
- 'button_style' => 'icon',
244
  'sharing_label' => $this->default_sharing_label,
245
  'open_links' => 'same',
246
  'show' => array(),
@@ -416,7 +415,7 @@ class Sharing_Service_Total {
416
  var $service = '';
417
  var $total = 0;
418
 
419
- public function Sharing_Service_Total( $id, $total ) {
420
  $services = new Sharing_Service();
421
  $this->id = esc_html( $id );
422
  $this->service = $services->get_service( $id );
@@ -438,7 +437,7 @@ class Sharing_Post_Total {
438
  var $title = '';
439
  var $url = '';
440
 
441
- public function Sharing_Post_Total( $id, $total ) {
442
  $this->id = (int) $id;
443
  $this->total = (int) $total;
444
  $this->title = get_the_title( $this->id );
@@ -504,6 +503,15 @@ function sharing_add_footer() {
504
  if ( apply_filters( 'jetpack_sharing_counts', true ) && is_array( $jetpack_sharing_counts ) && count( $jetpack_sharing_counts ) ) :
505
  $sharing_post_urls = array_filter( $jetpack_sharing_counts );
506
  if ( $sharing_post_urls ) :
 
 
 
 
 
 
 
 
 
507
  $is_jetpack = true === apply_filters( 'is_jetpack_site', false, get_current_blog_id() );
508
  $site_id = $is_jetpack ? Jetpack_Options::get_option( 'id' ) : get_current_blog_id();
509
  ?>
@@ -544,13 +552,8 @@ function sharing_add_header() {
544
  }
545
 
546
  if ( count( $enabled['all'] ) > 0 && sharing_maybe_enqueue_scripts() ) {
547
- // @todo: Remove this opt-out filter in the future
548
- if ( ( ! defined( 'IS_WPCOM' ) ) || ( ! IS_WPCOM ) || apply_filters( 'wpl_sharing_2014_1', true ) ) {
549
- wp_enqueue_style( 'sharedaddy', plugin_dir_url( __FILE__ ) .'sharing.css', array(), JETPACK__VERSION );
550
- wp_enqueue_style( 'genericons' );
551
- } else {
552
- wp_enqueue_style( 'sharedaddy', plugin_dir_url( __FILE__ ) .'sharing-legacy.css', array(), JETPACK__VERSION );
553
- }
554
  }
555
 
556
  }
@@ -577,7 +580,7 @@ function sharing_display( $text = '', $echo = false ) {
577
  if ( empty( $post ) )
578
  return $text;
579
 
580
- if ( is_preview() || is_admin() ) {
581
  return $text;
582
  }
583
 
@@ -641,7 +644,7 @@ function sharing_display( $text = '', $echo = false ) {
641
  // Private post?
642
  $post_status = get_post_status( $post->ID );
643
 
644
- if ( $post_status == 'private' ) {
645
  $show = false;
646
  }
647
 
49
  'facebook' => 'Share_Facebook',
50
  'linkedin' => 'Share_LinkedIn',
51
  'reddit' => 'Share_Reddit',
 
52
  'twitter' => 'Share_Twitter',
53
  'press-this' => 'Share_PressThis',
54
  'google-plus-1' => 'Share_GooglePlus1',
239
 
240
  // Defaults
241
  $options['global'] = array(
242
+ 'button_style' => 'icon-text',
243
  'sharing_label' => $this->default_sharing_label,
244
  'open_links' => 'same',
245
  'show' => array(),
415
  var $service = '';
416
  var $total = 0;
417
 
418
+ public function __construct( $id, $total ) {
419
  $services = new Sharing_Service();
420
  $this->id = esc_html( $id );
421
  $this->service = $services->get_service( $id );
437
  var $title = '';
438
  var $url = '';
439
 
440
+ public function __construct( $id, $total ) {
441
  $this->id = (int) $id;
442
  $this->total = (int) $total;
443
  $this->title = get_the_title( $this->id );
503
  if ( apply_filters( 'jetpack_sharing_counts', true ) && is_array( $jetpack_sharing_counts ) && count( $jetpack_sharing_counts ) ) :
504
  $sharing_post_urls = array_filter( $jetpack_sharing_counts );
505
  if ( $sharing_post_urls ) :
506
+
507
+ /**
508
+ * Defines whether a blog is a Jetpack site.
509
+ *
510
+ * @since 3.6.0
511
+ *
512
+ * @param bool false Assumption on whether a blog is a Jetpack site.
513
+ * @param int $blog_id A blog ID to check.
514
+ */
515
  $is_jetpack = true === apply_filters( 'is_jetpack_site', false, get_current_blog_id() );
516
  $site_id = $is_jetpack ? Jetpack_Options::get_option( 'id' ) : get_current_blog_id();
517
  ?>
552
  }
553
 
554
  if ( count( $enabled['all'] ) > 0 && sharing_maybe_enqueue_scripts() ) {
555
+ wp_enqueue_style( 'sharedaddy', plugin_dir_url( __FILE__ ) .'sharing.css', array(), JETPACK__VERSION );
556
+ wp_enqueue_style( 'genericons' );
 
 
 
 
 
557
  }
558
 
559
  }
580
  if ( empty( $post ) )
581
  return $text;
582
 
583
+ if ( ( is_preview() || is_admin() ) && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
584
  return $text;
585
  }
586
 
644
  // Private post?
645
  $post_status = get_post_status( $post->ID );
646
 
647
+ if ( 'private' === $post_status ) {
648
  $show = false;
649
  }
650
 
modules/sharedaddy/sharing-sources.php CHANGED
@@ -123,7 +123,7 @@ abstract class Sharing_Source {
123
  $klasses[] = 'no-icon';
124
 
125
  $link = sprintf(
126
- '<a rel="nofollow" class="%s" href="javascript:void(0);return false;" title="%s"><span>%s</span></a>',
127
  implode( ' ', $klasses ),
128
  $this->get_name(),
129
  $text
@@ -391,9 +391,7 @@ class Share_Twitter extends Sharing_Source {
391
 
392
  // Strip out anything other than a letter, number, or underscore.
393
  // This will prevent the inadvertent inclusion of an extra @, as well as normalizing the handle.
394
- $twitter_site_tag_value = preg_replace( '/[^\da-z_]+/i', '', $twitter_site_tag_value );
395
-
396
- return $twitter_site_tag_value;
397
  }
398
 
399
  public function get_related_accounts( $post ) {
@@ -431,7 +429,6 @@ class Share_Twitter extends Sharing_Source {
431
  if ( $this->smart ) {
432
  $share_url = $this->get_share_url( $post->ID );
433
  $post_title = $this->get_share_title( $post->ID );
434
-
435
  return '<div class="twitter_button"><iframe allowtransparency="true" frameborder="0" scrolling="no" src="' . esc_url( $this->http() . '://platform.twitter.com/widgets/tweet_button.html?url=' . rawurlencode( $share_url ) . '&counturl=' . rawurlencode( get_permalink( $post->ID ) ) . '&count=horizontal&text=' . rawurlencode( $post_title . ':' ) . $via ) . '" style="width:101px; height:20px;"></iframe></div>';
436
  } else {
437
  if ( apply_filters( 'jetpack_register_post_for_share_counts', true, $post->ID, 'twitter' ) ) {
@@ -498,45 +495,6 @@ class Share_Twitter extends Sharing_Source {
498
  }
499
  }
500
 
501
- class Share_Stumbleupon extends Sharing_Source {
502
- var $shortname = 'stumbleupon';
503
- var $genericon = '\f223';
504
- public function __construct( $id, array $settings ) {
505
- parent::__construct( $id, $settings );
506
-
507
- if ( 'official' == $this->button_style )
508
- $this->smart = true;
509
- else
510
- $this->smart = false;
511
- }
512
-
513
- public function get_name() {
514
- return __( 'StumbleUpon', 'jetpack' );
515
- }
516
-
517
- public function has_custom_button_style() {
518
- return $this->smart;
519
- }
520
-
521
- public function get_display( $post ) {
522
- if ( $this->smart )
523
- return '<div class="stumbleupon_button"><iframe src="http://www.stumbleupon.com/badge/embed/1/?url=' . rawurlencode( $this->get_share_url( $post->ID ) ) . '&amp;title=' . rawurlencode( $this->get_share_title( $post->ID ) ) . '" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:74px; height: 18px;" allowTransparency="true"></iframe></div>';
524
- else
525
- return $this->get_link( get_permalink( $post->ID ), _x( 'StumbleUpon', 'share to', 'jetpack' ), __( 'Click to share on StumbleUpon', 'jetpack' ), 'share=stumbleupon' );
526
- }
527
-
528
- public function process_request( $post, array $post_data ) {
529
- $stumbleupon_url = $this->http() . '://www.stumbleupon.com/submit?url=' . rawurlencode( $this->get_share_url( $post->ID ) ) . '&title=' . rawurlencode( $this->get_share_title( $post->ID ) );
530
-
531
- // Record stats
532
- parent::process_request( $post, $post_data );
533
-
534
- // Redirect to Stumbleupon
535
- wp_redirect( $stumbleupon_url );
536
- die();
537
- }
538
- }
539
-
540
  class Share_Reddit extends Sharing_Source {
541
  var $shortname = 'reddit';
542
  var $genericon = '\f222';
@@ -692,17 +650,38 @@ class Share_Facebook extends Sharing_Source {
692
  $locale = GP_Locales::by_field( 'wp_locale', $lang );
693
  }
694
 
695
- if ( !$locale || empty( $locale->facebook_locale ) ) {
696
  return false;
697
  }
698
 
 
 
 
 
 
 
 
 
 
 
 
 
699
  return $locale->facebook_locale;
700
  }
701
 
702
  public function get_display( $post ) {
703
  if ( $this->smart ) {
704
  $share_url = $this->get_share_url( $post->ID );
705
- return '<div class="fb-share-button" data-href="' . esc_attr( $share_url ) . '" data-layout="button_count"></div>';
 
 
 
 
 
 
 
 
 
706
  }
707
 
708
  if ( apply_filters( 'jetpack_register_post_for_share_counts', true, $post->ID, 'facebook' ) ) {
@@ -726,6 +705,9 @@ class Share_Facebook extends Sharing_Source {
726
  $this->js_dialog( $this->shortname );
727
  if ( $this->smart ) {
728
  $locale = $this->guess_locale_from_lang( get_locale() );
 
 
 
729
  ?><div id="fb-root"></div><script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = '//connect.facebook.net/<?php echo $locale; ?>/sdk.js#xfbml=1&appId=249643311490&version=v2.3'; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script><?php
730
  }
731
  }
@@ -837,6 +819,7 @@ class Share_GooglePlus1 extends Sharing_Source {
837
  }
838
 
839
  public function get_display( $post ) {
 
840
  if ( $this->smart ) {
841
  $share_url = $this->get_share_url( $post->ID );
842
  return '<div class="googleplus1_button"><div class="g-plus" data-action="share" data-annotation="bubble" data-href="' . esc_url( $share_url ) . '"></div></div>';
@@ -1064,7 +1047,7 @@ class Share_Custom extends Sharing_Advanced_Source {
1064
  $klasses[] = 'no-icon';
1065
 
1066
  $link = sprintf(
1067
- '<a rel="nofollow" class="%s" href="javascript:void(0);return false;" title="%s"><span style="background-image:url(&quot;%s&quot;) !important;background-position:left center;background-repeat:no-repeat;">%s</span></a>',
1068
  implode( ' ', $klasses ),
1069
  $this->get_name(),
1070
  addcslashes( esc_url_raw( $opts['icon'] ), '"' ),
@@ -1129,7 +1112,6 @@ class Share_Pinterest extends Sharing_Source {
1129
 
1130
  public function __construct( $id, array $settings ) {
1131
  parent::__construct( $id, $settings );
1132
-
1133
  if ( 'official' == $this->button_style )
1134
  $this->smart = true;
1135
  else
@@ -1140,14 +1122,61 @@ class Share_Pinterest extends Sharing_Source {
1140
  return __( 'Pinterest', 'jetpack' );
1141
  }
1142
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1143
  public function get_display( $post ) {
1144
  $display = '';
1145
 
1146
  if ( $this->smart ) {
1147
- $share_url = 'http://pinterest.com/pin/create/button/?url=' . rawurlencode( $this->get_share_url( $post->ID ) ) . '&description=' . rawurlencode( $post->post_title );
1148
- $display .= sprintf( '<div class="pinterest_button"><a href="%s" data-pin-do="buttonBookmark" data-pin-config="beside"><img src="//assets.pinterest.com/images/pidgets/pinit_fg_en_rect_gray_20.png" /></a></div>', esc_url( $share_url ) );
 
 
 
1149
  } else {
1150
- $display = $this->get_link( get_permalink( $post->ID ), _x( 'Pinterest', 'share to', 'jetpack' ), __( 'Click to share on Pinterest', 'jetpack' ), 'share=pinterest', 'sharing-pinterest-' . $post->ID );
1151
  }
1152
 
1153
  if ( apply_filters( 'jetpack_register_post_for_share_counts', true, $post->ID, 'linkedin' ) ) {
@@ -1160,19 +1189,25 @@ class Share_Pinterest extends Sharing_Source {
1160
  public function process_request( $post, array $post_data ) {
1161
  // Record stats
1162
  parent::process_request( $post, $post_data );
1163
-
1164
  // If we're triggering the multi-select panel, then we don't need to redirect to Pinterest
1165
  if ( !isset( $_GET['js_only'] ) ) {
1166
- $pinterest_url = esc_url_raw( 'http://pinterest.com/pin/create/button/?url=' . rawurlencode( $this->get_share_url( $post->ID ) ) . '&description=' . rawurlencode( $this->get_share_title( $post->ID ) ) );
1167
  wp_redirect( $pinterest_url );
1168
  } else {
1169
  echo '// share count bumped';
1170
  }
1171
-
1172
  die();
1173
  }
1174
 
1175
  public function display_footer() {
 
 
 
 
 
 
 
 
1176
  ?>
1177
  <?php if ( $this->smart ) : ?>
1178
  <script type="text/javascript">
@@ -1180,34 +1215,32 @@ class Share_Pinterest extends Sharing_Source {
1180
  var s = document.createElement("script");
1181
  s.type = "text/javascript";
1182
  s.async = true;
1183
- s.setAttribute('data-pin-hover', true);
1184
  s.src = window.location.protocol + "//assets.pinterest.com/js/pinit.js";
1185
  var x = document.getElementsByTagName("script")[0];
1186
  x.parentNode.insertBefore(s, x);
1187
  // if 'Pin it' button has 'counts' make container wider
1188
  jQuery(window).load( function(){ jQuery( 'li.share-pinterest a span:visible' ).closest( '.share-pinterest' ).width( '80px' ); } );
1189
  </script>
1190
- <?php else : ?>
1191
  <script type="text/javascript">
1192
- jQuery(document).on('ready', function(){
1193
- jQuery('body').on('click', 'a.share-pinterest', function(e){
1194
- e.preventDefault();
1195
-
1196
- // Load Pinterest Bookmarklet code
1197
- var s = document.createElement("script");
1198
- s.type = "text/javascript";
1199
- s.src = window.location.protocol + "//assets.pinterest.com/js/pinmarklet.js?r=" + ( Math.random() * 99999999 );
1200
- var x = document.getElementsByTagName("script")[0];
1201
- x.parentNode.insertBefore(s, x);
1202
-
1203
- // Trigger Stats
1204
- var s = document.createElement("script");
1205
- s.type = "text/javascript";
1206
- s.src = this + ( this.toString().indexOf( '?' ) ? '&' : '?' ) + 'js_only=1';
1207
- var x = document.getElementsByTagName("script")[0];
1208
- x.parentNode.insertBefore(s, x);
1209
  });
1210
- });
1211
  </script>
1212
  <?php endif;
1213
  }
123
  $klasses[] = 'no-icon';
124
 
125
  $link = sprintf(
126
+ '<a rel="nofollow" class="%s" href="javascript:void(0)" title="%s"><span>%s</span></a>',
127
  implode( ' ', $klasses ),
128
  $this->get_name(),
129
  $text
391
 
392
  // Strip out anything other than a letter, number, or underscore.
393
  // This will prevent the inadvertent inclusion of an extra @, as well as normalizing the handle.
394
+ return preg_replace( '/[^\da-z_]+/i', '', $twitter_site_tag_value );
 
 
395
  }
396
 
397
  public function get_related_accounts( $post ) {
429
  if ( $this->smart ) {
430
  $share_url = $this->get_share_url( $post->ID );
431
  $post_title = $this->get_share_title( $post->ID );
 
432
  return '<div class="twitter_button"><iframe allowtransparency="true" frameborder="0" scrolling="no" src="' . esc_url( $this->http() . '://platform.twitter.com/widgets/tweet_button.html?url=' . rawurlencode( $share_url ) . '&counturl=' . rawurlencode( get_permalink( $post->ID ) ) . '&count=horizontal&text=' . rawurlencode( $post_title . ':' ) . $via ) . '" style="width:101px; height:20px;"></iframe></div>';
433
  } else {
434
  if ( apply_filters( 'jetpack_register_post_for_share_counts', true, $post->ID, 'twitter' ) ) {
495
  }
496
  }
497
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
498
  class Share_Reddit extends Sharing_Source {
499
  var $shortname = 'reddit';
500
  var $genericon = '\f222';
650
  $locale = GP_Locales::by_field( 'wp_locale', $lang );
651
  }
652
 
653
+ if ( ! $locale ) {
654
  return false;
655
  }
656
 
657
+ if ( empty( $locale->facebook_locale ) ) {
658
+ if ( empty( $locale->wp_locale ) ) {
659
+ return false;
660
+ } else {
661
+ // Facebook SDK is smart enough to fall back to en_US if a
662
+ // locale isn't supported. Since supported Facebook locales
663
+ // can fall out of sync, we'll attempt to use the known
664
+ // wp_locale value and rely on said fallback.
665
+ return $locale->wp_locale;
666
+ }
667
+ }
668
+
669
  return $locale->facebook_locale;
670
  }
671
 
672
  public function get_display( $post ) {
673
  if ( $this->smart ) {
674
  $share_url = $this->get_share_url( $post->ID );
675
+ $fb_share_html = '<div class="fb-share-button" data-href="' . esc_attr( $share_url ) . '" data-layout="button_count"></div>';
676
+ /**
677
+ * Filter the output of the Facebook Sharing button.
678
+ *
679
+ * @since 3.6.0
680
+ *
681
+ * @param string $fb_share_html Facebook Sharing button HTML.
682
+ * @param string $share_url URL of the post to share.
683
+ */
684
+ return apply_filters( 'jetpack_sharing_facebook_official_button_output', $fb_share_html, $share_url );
685
  }
686
 
687
  if ( apply_filters( 'jetpack_register_post_for_share_counts', true, $post->ID, 'facebook' ) ) {
705
  $this->js_dialog( $this->shortname );
706
  if ( $this->smart ) {
707
  $locale = $this->guess_locale_from_lang( get_locale() );
708
+ if ( ! $locale ) {
709
+ $locale = 'en_US';
710
+ }
711
  ?><div id="fb-root"></div><script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = '//connect.facebook.net/<?php echo $locale; ?>/sdk.js#xfbml=1&appId=249643311490&version=v2.3'; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script><?php
712
  }
713
  }
819
  }
820
 
821
  public function get_display( $post ) {
822
+
823
  if ( $this->smart ) {
824
  $share_url = $this->get_share_url( $post->ID );
825
  return '<div class="googleplus1_button"><div class="g-plus" data-action="share" data-annotation="bubble" data-href="' . esc_url( $share_url ) . '"></div></div>';
1047
  $klasses[] = 'no-icon';
1048
 
1049
  $link = sprintf(
1050
+ '<a rel="nofollow" class="%s" href="javascript:void(0)" title="%s"><span style="background-image:url(&quot;%s&quot;) !important;background-position:left center;background-repeat:no-repeat;">%s</span></a>',
1051
  implode( ' ', $klasses ),
1052
  $this->get_name(),
1053
  addcslashes( esc_url_raw( $opts['icon'] ), '"' ),
1112
 
1113
  public function __construct( $id, array $settings ) {
1114
  parent::__construct( $id, $settings );
 
1115
  if ( 'official' == $this->button_style )
1116
  $this->smart = true;
1117
  else
1122
  return __( 'Pinterest', 'jetpack' );
1123
  }
1124
 
1125
+ public function get_image( $post ) {
1126
+ if ( class_exists( 'Jetpack_PostImages' ) ) {
1127
+ $image = Jetpack_PostImages::get_image( $post->ID, array( 'fallback_to_avatars' => true ) );
1128
+ if ( ! empty( $image ) ) {
1129
+ return $image['src'];
1130
+ }
1131
+ }
1132
+
1133
+ /**
1134
+ * Filters the default image used by the Pinterest Pin It share button.
1135
+ *
1136
+ * @since 3.6
1137
+ *
1138
+ * @param string $url Default image URL.
1139
+ */
1140
+ return apply_filters( 'jetpack_sharing_pinterest_default_image', 'https://s0.wp.com/i/blank.jpg' );
1141
+ }
1142
+
1143
+ public function get_external_url( $post ) {
1144
+ $url = '//www.pinterest.com/pin/create/button/?url=' . rawurlencode( $this->get_share_url( $post->ID ) ) . '&media=' . rawurlencode( $this->get_image( $post ) ) . '&description=' . rawurlencode( $post->post_title );
1145
+
1146
+ /**
1147
+ * Filters the Pinterest share URL used in sharing button output.
1148
+ *
1149
+ * @since 3.6
1150
+ *
1151
+ * @param string $url Pinterest share URL.
1152
+ */
1153
+ return apply_filters( 'jetpack_sharing_pinterest_share_url', $url );
1154
+ }
1155
+
1156
+ public function get_widget_type() {
1157
+ /**
1158
+ * Filters the Pinterest widget type used in official sharing button output.
1159
+ *
1160
+ * @since 3.6
1161
+ *
1162
+ * @link https://business.pinterest.com/en/widget-builder
1163
+ *
1164
+ * @param string $type Pinterest widget type.
1165
+ */
1166
+ return apply_filters( 'jetpack_sharing_pinterest_widget_type', 'buttonPin' );
1167
+ }
1168
+
1169
  public function get_display( $post ) {
1170
  $display = '';
1171
 
1172
  if ( $this->smart ) {
1173
+ $display = sprintf(
1174
+ '<div class="pinterest_button"><a href="%s" data-pin-do="%s" data-pin-config="beside"><img src="//assets.pinterest.com/images/pidgets/pinit_fg_en_rect_gray_20.png" /></a></div>',
1175
+ esc_url( $this->get_external_url( $post ) ),
1176
+ esc_attr( $this->get_widget_type() )
1177
+ );
1178
  } else {
1179
+ $display = $this->get_link( $this->get_share_url( $post->ID ), _x( 'Pinterest', 'share to', 'jetpack' ), __( 'Click to share on Pinterest', 'jetpack' ), 'share=pinterest', 'sharing-pinterest-' . $post->ID );
1180
  }
1181
 
1182
  if ( apply_filters( 'jetpack_register_post_for_share_counts', true, $post->ID, 'linkedin' ) ) {
1189
  public function process_request( $post, array $post_data ) {
1190
  // Record stats
1191
  parent::process_request( $post, $post_data );
 
1192
  // If we're triggering the multi-select panel, then we don't need to redirect to Pinterest
1193
  if ( !isset( $_GET['js_only'] ) ) {
1194
+ $pinterest_url = esc_url_raw( $this->get_external_url( $post ) );
1195
  wp_redirect( $pinterest_url );
1196
  } else {
1197
  echo '// share count bumped';
1198
  }
 
1199
  die();
1200
  }
1201
 
1202
  public function display_footer() {
1203
+ /**
1204
+ * Filter the Pin it button appearing when hovering over images when using the official button style.
1205
+ *
1206
+ * @since 3.6.0
1207
+ *
1208
+ * @param bool $jetpack_pinit_over True by default, displays the Pin it button when hovering over images.
1209
+ */
1210
+ $jetpack_pinit_over = apply_filters( 'jetpack_pinit_over_button', true );
1211
  ?>
1212
  <?php if ( $this->smart ) : ?>
1213
  <script type="text/javascript">
1215
  var s = document.createElement("script");
1216
  s.type = "text/javascript";
1217
  s.async = true;
1218
+ <?php if ( $jetpack_pinit_over ) echo "s.setAttribute('data-pin-hover', true);"; ?>
1219
  s.src = window.location.protocol + "//assets.pinterest.com/js/pinit.js";
1220
  var x = document.getElementsByTagName("script")[0];
1221
  x.parentNode.insertBefore(s, x);
1222
  // if 'Pin it' button has 'counts' make container wider
1223
  jQuery(window).load( function(){ jQuery( 'li.share-pinterest a span:visible' ).closest( '.share-pinterest' ).width( '80px' ); } );
1224
  </script>
1225
+ <?php elseif ( 'buttonPin' != $this->get_widget_type() ) : ?>
1226
  <script type="text/javascript">
1227
+ jQuery(document).on('ready', function(){
1228
+ jQuery('body').on('click', 'a.share-pinterest', function(e){
1229
+ e.preventDefault();
1230
+ // Load Pinterest Bookmarklet code
1231
+ var s = document.createElement("script");
1232
+ s.type = "text/javascript";
1233
+ s.src = window.location.protocol + "//assets.pinterest.com/js/pinmarklet.js?r=" + ( Math.random() * 99999999 );
1234
+ var x = document.getElementsByTagName("script")[0];
1235
+ x.parentNode.insertBefore(s, x);
1236
+ // Trigger Stats
1237
+ var s = document.createElement("script");
1238
+ s.type = "text/javascript";
1239
+ s.src = this + ( this.toString().indexOf( '?' ) ? '&' : '?' ) + 'js_only=1';
1240
+ var x = document.getElementsByTagName("script")[0];
1241
+ x.parentNode.insertBefore(s, x);
1242
+ });
 
1243
  });
 
1244
  </script>
1245
  <?php endif;
1246
  }
modules/sharedaddy/sharing.js CHANGED
@@ -1,4 +1,4 @@
1
- /* global WPCOM_sharing_counts, Recaptcha */
2
  var sharing_js_options;
3
  if ( sharing_js_options && sharing_js_options.counts ) {
4
  var WPCOMSharing = {
@@ -20,24 +20,19 @@ if ( sharing_js_options && sharing_js_options.counts ) {
20
  }
21
 
22
  // get both the http and https version of these URLs
23
- https_url = encodeURIComponent( url.replace( /^http:\/\//i, 'https://' ) );
24
- http_url = encodeURIComponent( url.replace( /^https:\/\//i, 'http://' ) );
25
-
26
- if ( jQuery( 'a[data-shared=sharing-facebook-' + id + ']' ).length ) {
27
- facebookPostIds.push( id );
28
- }
29
 
30
  urls = {
31
  twitter: [
32
  'https://cdn.api.twitter.com/1/urls/count.json?callback=WPCOMSharing.update_twitter_count&url=' +
33
- http_url,
34
  'https://cdn.api.twitter.com/1/urls/count.json?callback=WPCOMSharing.update_twitter_count&url=' +
35
- https_url
36
  ],
37
  // LinkedIn actually gets the share count for both the http and https version automatically -- so we don't need to do extra magic
38
  linkedin: [
39
- window.location.protocol +
40
- '//www.linkedin.com/countserv/count/share?format=jsonp&callback=WPCOMSharing.update_linkedin_count&url=' +
41
  encodeURIComponent( url )
42
  ],
43
  // Pinterest, like LinkedIn, handles share counts for both http and https
@@ -48,6 +43,11 @@ if ( sharing_js_options && sharing_js_options.counts ) {
48
  ]
49
  };
50
 
 
 
 
 
 
51
  for ( service in urls ) {
52
  if ( ! jQuery( 'a[data-shared=sharing-' + service + '-' + id + ']' ).length ) {
53
  continue;
@@ -56,6 +56,8 @@ if ( sharing_js_options && sharing_js_options.counts ) {
56
  while ( ( service_url = urls[ service ].pop() ) ) {
57
  jQuery.getScript( service_url );
58
  }
 
 
59
  }
60
 
61
  WPCOMSharing.done_urls[ id ] = true;
@@ -68,7 +70,6 @@ if ( sharing_js_options && sharing_js_options.counts ) {
68
  url: 'https://public-api.wordpress.com/rest/v1.1/sites/' + window.WPCOM_site_ID + '/sharing-buttons/facebook/' + path_ending,
69
  jsonpCallback: 'WPCOMSharing.update_facebook_count',
70
  data: { post_ID: facebookPostIds },
71
- success: WPCOMSharing.update_facebook_count,
72
  cache: true
73
  });
74
  }
@@ -154,6 +155,9 @@ if ( sharing_js_options && sharing_js_options.counts ) {
154
  return String( count ).substring( 0, 1 ) + 'K+';
155
  }
156
  return '10K+';
 
 
 
157
  }
158
  };
159
  }
@@ -176,7 +180,9 @@ if ( sharing_js_options && sharing_js_options.counts ) {
176
 
177
  function WPCOMSharing_do() {
178
  var $more_sharing_buttons;
179
- WPCOMSharing.get_counts();
 
 
180
  $more_sharing_buttons = $( '.sharedaddy a.sharing-anchor' );
181
 
182
  $more_sharing_buttons.click( function() {
@@ -381,7 +387,7 @@ if ( sharing_js_options && sharing_js_options.counts ) {
381
 
382
  // Email button
383
  $( 'a.share-email', this ).on( 'click', function() {
384
- var url = $( this ).attr( 'href' ), key;
385
 
386
  if ( $sharing_email.is( ':visible' ) ) {
387
  $sharing_email.slideUp( 200 );
@@ -393,14 +399,11 @@ if ( sharing_js_options && sharing_js_options.counts ) {
393
  $( '#sharing_email form input[type=submit]' ).removeAttr( 'disabled' );
394
  $( '#sharing_email form a.sharing_cancel' ).show();
395
 
396
- key = '';
397
- if ( $( '#recaptcha_public_key' ).length > 0 ) {
398
- key = $( '#recaptcha_public_key' ).val();
399
  }
400
 
401
- // Update the recaptcha
402
- Recaptcha.create( key, 'sharing_recaptcha', { lang : sharing_js_options.lang } );
403
-
404
  // Show dialog
405
  $sharing_email.css( {
406
  left: $( this ).offset().left + 'px',
@@ -448,7 +451,10 @@ if ( sharing_js_options && sharing_js_options.counts ) {
448
  $( '#sharing_email .errors-' + response ).show();
449
  form.find( 'input[type=submit]' ).removeAttr( 'disabled' );
450
  form.find( 'a.sharing_cancel' ).show();
451
- Recaptcha.reload();
 
 
 
452
  }
453
  else {
454
  $( '#sharing_email form' ).hide();
@@ -481,36 +487,3 @@ if ( sharing_js_options && sharing_js_options.counts ) {
481
  $( 'li.share-email, li.share-custom a.sharing-anchor' ).addClass( 'share-service-visible' );
482
  }
483
  })( jQuery );
484
-
485
- // Recaptcha code
486
- /* jshint ignore:start */
487
- var RecaptchaTemplates={};RecaptchaTemplates.VertHtml='<table id="recaptcha_table" class="recaptchatable" > <tr> <td colspan="6" class=\'recaptcha_r1_c1\'></td> </tr> <tr> <td class=\'recaptcha_r2_c1\'></td> <td colspan="4" class=\'recaptcha_image_cell\'><div id="recaptcha_image"></div></td> <td class=\'recaptcha_r2_c2\'></td> </tr> <tr> <td rowspan="6" class=\'recaptcha_r3_c1\'></td> <td colspan="4" class=\'recaptcha_r3_c2\'></td> <td rowspan="6" class=\'recaptcha_r3_c3\'></td> </tr> <tr> <td rowspan="3" class=\'recaptcha_r4_c1\' height="49"> <div class="recaptcha_input_area"> <label for="recaptcha_response_field" class="recaptcha_input_area_text"><span id="recaptcha_instructions_image" class="recaptcha_only_if_image recaptcha_only_if_no_incorrect_sol"></span><span id="recaptcha_instructions_audio" class="recaptcha_only_if_no_incorrect_sol recaptcha_only_if_audio"></span><span id="recaptcha_instructions_error" class="recaptcha_only_if_incorrect_sol"></span></label><br/> <input name="recaptcha_response_field" id="recaptcha_response_field" type="text" /> </div> </td> <td rowspan="4" class=\'recaptcha_r4_c2\'></td> <td><a id=\'recaptcha_reload_btn\'><img id=\'recaptcha_reload\' width="25" height="17" /></a></td> <td rowspan="4" class=\'recaptcha_r4_c4\'></td> </tr> <tr> <td><a id=\'recaptcha_switch_audio_btn\' class="recaptcha_only_if_image"><img id=\'recaptcha_switch_audio\' width="25" height="16" alt="" /></a><a id=\'recaptcha_switch_img_btn\' class="recaptcha_only_if_audio"><img id=\'recaptcha_switch_img\' width="25" height="16" alt=""/></a></td> </tr> <tr> <td><a id=\'recaptcha_whatsthis_btn\'><img id=\'recaptcha_whatsthis\' width="25" height="16" /></a></td> </tr> <tr> <td class=\'recaptcha_r7_c1\'></td> <td class=\'recaptcha_r8_c1\'></td> </tr> </table> ';RecaptchaTemplates.CleanCss=".recaptchatable td img{display:block}.recaptchatable .recaptcha_image_cell center img{height:57px}.recaptchatable .recaptcha_image_cell center{height:57px}.recaptchatable .recaptcha_image_cell{background-color:white;height:57px;padding:7px!important}.recaptchatable,#recaptcha_area tr,#recaptcha_area td,#recaptcha_area th{margin:0!important;border:0!important;border-collapse:collapse!important;vertical-align:middle!important}.recaptchatable *{margin:0;padding:0;border:0;color:black;position:static;top:auto;left:auto;right:auto;bottom:auto;text-align:left!important}.recaptchatable #recaptcha_image{margin:auto;border:1px solid #dfdfdf!important}.recaptchatable a img{border:0}.recaptchatable a,.recaptchatable a:hover{-moz-outline:none;border:0!important;padding:0!important;text-decoration:none;color:blue;background:none!important;font-weight:normal}.recaptcha_input_area{position:relative!important;background:none!important}.recaptchatable label.recaptcha_input_area_text{border:1px solid #dfdfdf!important;margin:0!important;padding:0!important;position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important}.recaptcha_theme_red label.recaptcha_input_area_text,.recaptcha_theme_white label.recaptcha_input_area_text{color:black!important}.recaptcha_theme_blackglass label.recaptcha_input_area_text{color:white!important}.recaptchatable #recaptcha_response_field{font-size:11pt}.recaptcha_theme_blackglass #recaptcha_response_field,.recaptcha_theme_white #recaptcha_response_field{border:1px solid gray}.recaptcha_theme_red #recaptcha_response_field{border:1px solid #cca940}.recaptcha_audio_cant_hear_link{font-size:7pt;color:black}.recaptchatable{line-height:1em;border:1px solid #dfdfdf!important}.recaptcha_error_text{color:red}";RecaptchaTemplates.CleanHtml='<table id="recaptcha_table" class="recaptchatable"> <tr height="73"> <td class=\'recaptcha_image_cell\' width="302"><center><div id="recaptcha_image"></div></center></td> <td style="padding: 10px 7px 7px 7px;"> <a id=\'recaptcha_reload_btn\'><img id=\'recaptcha_reload\' width="25" height="18" alt="" /></a> <a id=\'recaptcha_switch_audio_btn\' class="recaptcha_only_if_image"><img id=\'recaptcha_switch_audio\' width="25" height="15" alt="" /></a><a id=\'recaptcha_switch_img_btn\' class="recaptcha_only_if_audio"><img id=\'recaptcha_switch_img\' width="25" height="15" alt=""/></a> <a id=\'recaptcha_whatsthis_btn\'><img id=\'recaptcha_whatsthis\' width="25" height="16" /></a> </td> <td style="padding: 18px 7px 18px 7px;"> <img id=\'recaptcha_logo\' alt="" width="71" height="36" /> </td> </tr> <tr> <td style="padding-left: 7px;"> <div class="recaptcha_input_area" style="padding-top: 2px; padding-bottom: 7px;"> <input style="border: 1px solid #3c3c3c; width: 302px;" name="recaptcha_response_field" id="recaptcha_response_field" type="text" /> </div> </td> <td></td> <td style="padding: 4px 7px 12px 7px;"> <img id="recaptcha_tagline" width="71" height="17" /> </td> </tr> </table> ';RecaptchaTemplates.ContextHtml='<table id="recaptcha_table" class="recaptchatable"> <tr> <td colspan="6" class=\'recaptcha_r1_c1\'></td> </tr> <tr> <td class=\'recaptcha_r2_c1\'></td> <td colspan="4" class=\'recaptcha_image_cell\'><div id="recaptcha_image"></div></td> <td class=\'recaptcha_r2_c2\'></td> </tr> <tr> <td rowspan="6" class=\'recaptcha_r3_c1\'></td> <td colspan="4" class=\'recaptcha_r3_c2\'></td> <td rowspan="6" class=\'recaptcha_r3_c3\'></td> </tr> <tr> <td rowspan="3" class=\'recaptcha_r4_c1\' height="49"> <div class="recaptcha_input_area"> <label for="recaptcha_response_field" class="recaptcha_input_area_text"><span id="recaptcha_instructions_context" class="recaptcha_only_if_image recaptcha_only_if_no_incorrect_sol"></span><span id="recaptcha_instructions_audio" class="recaptcha_only_if_no_incorrect_sol recaptcha_only_if_audio"></span><span id="recaptcha_instructions_error" class="recaptcha_only_if_incorrect_sol"></span></label><br/> <input name="recaptcha_response_field" id="recaptcha_response_field" type="text" /> </div> </td> <td rowspan="4" class=\'recaptcha_r4_c2\'></td> <td><a id=\'recaptcha_reload_btn\'><img id=\'recaptcha_reload\' width="25" height="17" /></a></td> <td rowspan="4" class=\'recaptcha_r4_c4\'></td> </tr> <tr> <td><a id=\'recaptcha_switch_audio_btn\' class="recaptcha_only_if_image"><img id=\'recaptcha_switch_audio\' width="25" height="16" alt="" /></a><a id=\'recaptcha_switch_img_btn\' class="recaptcha_only_if_audio"><img id=\'recaptcha_switch_img\' width="25" height="16" alt=""/></a></td> </tr> <tr> <td><a id=\'recaptcha_whatsthis_btn\'><img id=\'recaptcha_whatsthis\' width="25" height="16" /></a></td> </tr> <tr> <td class=\'recaptcha_r7_c1\'></td> <td class=\'recaptcha_r8_c1\'></td> </tr> </table> ';RecaptchaTemplates.VertCss=".recaptchatable td img{display:block}.recaptchatable .recaptcha_r1_c1{background:url(IMGROOT/sprite.png) 0 -63px no-repeat;width:318px;height:9px}.recaptchatable .recaptcha_r2_c1{background:url(IMGROOT/sprite.png) -18px 0 no-repeat;width:9px;height:57px}.recaptchatable .recaptcha_r2_c2{background:url(IMGROOT/sprite.png) -27px 0 no-repeat;width:9px;height:57px}.recaptchatable .recaptcha_r3_c1{background:url(IMGROOT/sprite.png) 0 0 no-repeat;width:9px;height:63px}.recaptchatable .recaptcha_r3_c2{background:url(IMGROOT/sprite.png) -18px -57px no-repeat;width:300px;height:6px}.recaptchatable .recaptcha_r3_c3{background:url(IMGROOT/sprite.png) -9px 0 no-repeat;width:9px;height:63px}.recaptchatable .recaptcha_r4_c1{background:url(IMGROOT/sprite.png) -43px 0 no-repeat;width:171px;height:49px}.recaptchatable .recaptcha_r4_c2{background:url(IMGROOT/sprite.png) -36px 0 no-repeat;width:7px;height:57px}.recaptchatable .recaptcha_r4_c4{background:url(IMGROOT/sprite.png) -214px 0 no-repeat;width:97px;height:57px}.recaptchatable .recaptcha_r7_c1{background:url(IMGROOT/sprite.png) -43px -49px no-repeat;width:171px;height:8px}.recaptchatable .recaptcha_r8_c1{background:url(IMGROOT/sprite.png) -43px -49px no-repeat;width:25px;height:8px}.recaptchatable .recaptcha_image_cell center img{height:57px}.recaptchatable .recaptcha_image_cell center{height:57px}.recaptchatable .recaptcha_image_cell{background-color:white;height:57px}#recaptcha_area,#recaptcha_table{width:318px!important}.recaptchatable,#recaptcha_area tr,#recaptcha_area td,#recaptcha_area th{margin:0!important;border:0!important;padding:0!important;border-collapse:collapse!important;vertical-align:middle!important}.recaptchatable *{margin:0;padding:0;border:0;font-family:helvetica,sans-serif;font-size:8pt;color:black;position:static;top:auto;left:auto;right:auto;bottom:auto;text-align:left!important}.recaptchatable #recaptcha_image{margin:auto}.recaptchatable img{border:0!important;margin:0!important;padding:0!important}.recaptchatable a,.recaptchatable a:hover{-moz-outline:none;border:0!important;padding:0!important;text-decoration:none;color:blue;background:none!important;font-weight:normal}.recaptcha_input_area{position:relative!important;width:146px!important;height:45px!important;margin-left:20px!important;margin-right:5px!important;margin-top:4px!important;background:none!important}.recaptchatable label.recaptcha_input_area_text{margin:0!important;padding:0!important;position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;background:none!important;height:auto!important;width:auto!important}.recaptcha_theme_red label.recaptcha_input_area_text,.recaptcha_theme_white label.recaptcha_input_area_text{color:black!important}.recaptcha_theme_blackglass label.recaptcha_input_area_text{
1
+ /* global WPCOM_sharing_counts, grecaptcha */
2
  var sharing_js_options;
3
  if ( sharing_js_options && sharing_js_options.counts ) {
4
  var WPCOMSharing = {
20
  }
21
 
22
  // get both the http and https version of these URLs
23
+ https_url = url.replace( /^http:\/\//i, 'https://' );
24
+ http_url = url.replace( /^https:\/\//i, 'http://' );
 
 
 
 
25
 
26
  urls = {
27
  twitter: [
28
  'https://cdn.api.twitter.com/1/urls/count.json?callback=WPCOMSharing.update_twitter_count&url=' +
29
+ encodeURIComponent( http_url ),
30
  'https://cdn.api.twitter.com/1/urls/count.json?callback=WPCOMSharing.update_twitter_count&url=' +
31
+ encodeURIComponent( https_url )
32
  ],
33
  // LinkedIn actually gets the share count for both the http and https version automatically -- so we don't need to do extra magic
34
  linkedin: [
35
+ 'https://www.linkedin.com/countserv/count/share?format=jsonp&callback=WPCOMSharing.update_linkedin_count&url=' +
 
36
  encodeURIComponent( url )
37
  ],
38
  // Pinterest, like LinkedIn, handles share counts for both http and https
43
  ]
44
  };
45
 
46
+ if ( jQuery( 'a[data-shared=sharing-facebook-' + id + ']' ).length ) {
47
+ WPCOMSharing.bump_sharing_count_stat( 'facebook' );
48
+ facebookPostIds.push( id );
49
+ }
50
+
51
  for ( service in urls ) {
52
  if ( ! jQuery( 'a[data-shared=sharing-' + service + '-' + id + ']' ).length ) {
53
  continue;
56
  while ( ( service_url = urls[ service ].pop() ) ) {
57
  jQuery.getScript( service_url );
58
  }
59
+
60
+ WPCOMSharing.bump_sharing_count_stat( service );
61
  }
62
 
63
  WPCOMSharing.done_urls[ id ] = true;
70
  url: 'https://public-api.wordpress.com/rest/v1.1/sites/' + window.WPCOM_site_ID + '/sharing-buttons/facebook/' + path_ending,
71
  jsonpCallback: 'WPCOMSharing.update_facebook_count',
72
  data: { post_ID: facebookPostIds },
 
73
  cache: true
74
  });
75
  }
155
  return String( count ).substring( 0, 1 ) + 'K+';
156
  }
157
  return '10K+';
158
+ },
159
+ bump_sharing_count_stat: function( service ) {
160
+ new Image().src = document.location.protocol + '//pixel.wp.com/g.gif?v=wpcom-no-pv&x_sharing-count-request=' + service + '&r=' + Math.random();
161
  }
162
  };
163
  }
180
 
181
  function WPCOMSharing_do() {
182
  var $more_sharing_buttons;
183
+ if ( 'undefined' !== typeof WPCOMSharing ) {
184
+ WPCOMSharing.get_counts();
185
+ }
186
  $more_sharing_buttons = $( '.sharedaddy a.sharing-anchor' );
187
 
188
  $more_sharing_buttons.click( function() {
387
 
388
  // Email button
389
  $( 'a.share-email', this ).on( 'click', function() {
390
+ var url = $( this ).attr( 'href' );
391
 
392
  if ( $sharing_email.is( ':visible' ) ) {
393
  $sharing_email.slideUp( 200 );
399
  $( '#sharing_email form input[type=submit]' ).removeAttr( 'disabled' );
400
  $( '#sharing_email form a.sharing_cancel' ).show();
401
 
402
+ // Reset reCATPCHA if exists.
403
+ if ( 'object' === typeof grecaptcha && 'function' === typeof grecaptcha.reset ) {
404
+ grecaptcha.reset();
405
  }
406
 
 
 
 
407
  // Show dialog
408
  $sharing_email.css( {
409
  left: $( this ).offset().left + 'px',
451
  $( '#sharing_email .errors-' + response ).show();
452
  form.find( 'input[type=submit]' ).removeAttr( 'disabled' );
453
  form.find( 'a.sharing_cancel' ).show();
454
+
455
+ if ( 'object' === typeof grecaptcha && 'function' === typeof grecaptcha.reset ) {
456
+ grecaptcha.reset();
457
+ }
458
  }
459
  else {
460
  $( '#sharing_email form' ).hide();
487
  $( 'li.share-email, li.share-custom a.sharing-anchor' ).addClass( 'share-service-visible' );
488
  }
489
  })( jQuery );