Jetpack by WordPress.com - Version 3.9.7

Version Description

Release date: May 26th, 2016

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

Release Info

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

Code changes from version 3.8.3 to 3.9.7

Files changed (125) hide show
  1. _inc/facebook-embed.js +57 -0
  2. _inc/footer.php +3 -3
  3. _inc/genericons/README.md +4 -0
  4. _inc/genericons/genericons/genericons.css +1 -0
  5. _inc/genericons/genericons/rtl/genericons-rtl.css +2 -1
  6. _inc/header.php +1 -1
  7. _inc/jetpack-jitm.js +55 -19
  8. _inc/jetpack-modules.js +1 -4
  9. _inc/lib/admin-pages/class.jetpack-landing-page.php +2 -4
  10. _inc/lib/class.color.php +11 -6
  11. _inc/lib/markdown/extra.php +2 -2
  12. _inc/lib/markdown/gfm.php +16 -0
  13. _inc/lib/tracks/class.tracks-client.php +168 -0
  14. _inc/lib/tracks/class.tracks-event.php +149 -0
  15. _inc/lib/tracks/client.php +124 -0
  16. _inc/lib/tracks/tracks-ajax.js +49 -0
  17. _inc/twitter-timeline.js +39 -0
  18. changelog.txt +261 -27
  19. class.jetpack-admin.php +7 -17
  20. class.jetpack-cli.php +1 -1
  21. class.jetpack-client-server.php +8 -1
  22. class.jetpack-client.php +7 -2
  23. class.jetpack-debugger.php +34 -8
  24. class.jetpack-jitm.php +298 -80
  25. class.jetpack-modules-list-table.php +3 -8
  26. class.jetpack-network-sites-list-table.php +4 -1
  27. class.jetpack-network.php +5 -5
  28. class.jetpack-post-images.php +23 -0
  29. class.jetpack-signature.php +5 -0
  30. class.jetpack-sync.php +1 -1
  31. class.jetpack-tracks.php +83 -0
  32. class.jetpack-user-agent.php +3 -3
  33. class.jetpack-xmlrpc-server.php +1 -1
  34. class.jetpack.php +332 -176
  35. class.json-api-endpoints.php +105 -42
  36. class.json-api.php +2 -14
  37. class.photon.php +48 -21
  38. composer.json +1 -1
  39. css/jetpack-admin-jitm-rtl.css +44 -1
  40. css/jetpack-admin-jitm-rtl.min.css +1 -1
  41. css/jetpack-admin-jitm.css +43 -0
  42. css/jetpack-admin-jitm.css.map +1 -1
  43. css/jetpack-admin-jitm.min.css +1 -1
  44. css/jetpack-admin-jitm.min.css.map +1 -1
  45. css/jetpack-admin-rtl.css +16 -8
  46. css/jetpack-admin-rtl.min.css +1 -1
  47. css/jetpack-admin.css +15 -7
  48. css/jetpack-admin.css.map +1 -1
  49. css/jetpack-admin.min.css +1 -1
  50. css/jetpack-admin.min.css.map +1 -1
  51. css/jetpack-rtl.css +1 -1
  52. css/jetpack.css +1 -1
  53. functions.opengraph.php +14 -9
  54. functions.photon.php +6 -2
  55. jetpack.php +9 -6
  56. json-endpoints.php +24 -232
  57. json-endpoints/class.wpcom-json-api-delete-media-endpoint.php +1 -1
  58. json-endpoints/class.wpcom-json-api-delete-media-v1-1-endpoint.php +1 -1
  59. json-endpoints/class.wpcom-json-api-get-media-v1-1-endpoint.php +4 -0
  60. json-endpoints/class.wpcom-json-api-get-site-endpoint.php +73 -99
  61. json-endpoints/class.wpcom-json-api-get-site-v1-2-endpoint.php +52 -0
  62. json-endpoints/class.wpcom-json-api-list-media-v1-1-endpoint.php +4 -0
  63. json-endpoints/class.wpcom-json-api-list-post-types-endpoint.php +84 -0
  64. json-endpoints/class.wpcom-json-api-menus-v1-1-endpoint.php +2 -1
  65. json-endpoints/class.wpcom-json-api-post-endpoint.php +3 -3
  66. json-endpoints/class.wpcom-json-api-post-v1-1-endpoint.php +20 -5
  67. json-endpoints/class.wpcom-json-api-sharing-buttons-endpoint.php +4 -0
  68. json-endpoints/class.wpcom-json-api-site-settings-endpoint.php +66 -9
  69. json-endpoints/class.wpcom-json-api-site-settings-v1-2-endpoint.php +61 -0
  70. json-endpoints/class.wpcom-json-api-update-post-endpoint.php +8 -1
  71. json-endpoints/class.wpcom-json-api-update-post-v1-1-endpoint.php +8 -1
  72. json-endpoints/class.wpcom-json-api-update-post-v1-2-endpoint.php +8 -2
  73. json-endpoints/jetpack/class.jetpack-json-api-core-modify-endpoint.php +9 -0
  74. json-endpoints/jetpack/class.jetpack-json-api-modules-endpoint.php +2 -7
  75. json-endpoints/jetpack/class.jetpack-json-api-plugins-install-endpoint.php +24 -14
  76. json-endpoints/jetpack/class.jetpack-json-api-plugins-modify-endpoint.php +11 -0
  77. json-endpoints/jetpack/class.jetpack-json-api-themes-modify-endpoint.php +10 -1
  78. json-endpoints/jetpack/class.wpcom-json-api-update-option-endpoint.php +9 -1
  79. json-endpoints/jetpack/json-api-jetpack-endpoints.php +6 -5
  80. languages/jetpack-ar.mo +0 -0
  81. languages/jetpack-de_DE.mo +0 -0
  82. languages/jetpack-es_ES.mo +0 -0
  83. languages/jetpack-fi.mo +0 -0
  84. languages/jetpack-fr_FR.mo +0 -0
  85. languages/jetpack-he_IL.mo +0 -0
  86. languages/jetpack-id_ID.mo +0 -0
  87. languages/jetpack-it_IT.mo +0 -0
  88. languages/jetpack-ja.mo +0 -0
  89. languages/jetpack-ko_KR.mo +0 -0
  90. languages/jetpack-nl_NL.mo +0 -0
  91. languages/jetpack-pt_BR.mo +0 -0
  92. languages/jetpack-ro_RO.mo +0 -0
  93. languages/jetpack-ru_RU.mo +0 -0
  94. languages/jetpack-sq.mo +0 -0
  95. languages/jetpack-sv_SE.mo +0 -0
  96. languages/jetpack-tr_TR.mo +0 -0
  97. languages/jetpack-zh_CN.mo +0 -0
  98. languages/jetpack-zh_TW.mo +0 -0
  99. locales.php +1 -3
  100. modules/after-the-deadline/atd-nonvis-editor-plugin.js +18 -2
  101. modules/after-the-deadline/atd.core.js +14 -1
  102. modules/carousel/jetpack-carousel.js +39 -17
  103. modules/carousel/jetpack-carousel.php +5 -2
  104. modules/carousel/rtl/jetpack-carousel-rtl.css +16 -1
  105. modules/comments/comments.php +5 -6
  106. modules/contact-form/admin.php +10 -7
  107. modules/contact-form/grunion-contact-form.php +355 -34
  108. modules/contact-form/js/grunion-frontend.js +3 -1
  109. modules/custom-content-types.php +1 -1
  110. modules/custom-css/custom-css.php +2 -2
  111. modules/custom-post-types/comics.php +1 -0
  112. modules/custom-post-types/js/many-items.js +1 -1
  113. modules/custom-post-types/nova.php +54 -48
  114. modules/custom-post-types/portfolios.php +18 -0
  115. modules/custom-post-types/testimonial.php +4 -0
  116. modules/infinite-scroll/infinity.js +65 -7
  117. modules/infinite-scroll/infinity.php +31 -154
  118. modules/latex.php +16 -1
  119. modules/likes.php +8 -1
  120. modules/manage/activate-admin.php +1 -1
  121. modules/manage/confirm-admin.php +2 -2
  122. modules/minileven.php +2 -2
  123. modules/module-extras.php +2 -1
  124. modules/module-headings.php +304 -236
  125. modules/module-info.php +264 -369
_inc/facebook-embed.js ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* global FB, jpfbembed */
2
+ (function( window ) {
3
+ var facebookEmbed = function() {
4
+ var fbroot, src;
5
+
6
+ if ( 'undefined' !== typeof FB && FB.XFBML ) {
7
+ FB.XFBML.parse();
8
+ } else {
9
+ fbroot = document.createElement( 'div' );
10
+ fbroot.id = 'fb-root';
11
+ document.getElementsByTagName( 'body' )[0].appendChild( fbroot );
12
+
13
+ src = '//connect.facebook.net/' + jpfbembed.locale + '/sdk.js#xfbml=1';
14
+ if ( jpfbembed.appid ) {
15
+ src += '&appId=' + jpfbembed.appid;
16
+ }
17
+ src += '&version=v2.3';
18
+ jQuery.getScript( src );
19
+ }
20
+ };
21
+
22
+ window.fbAsyncInit = function() {
23
+ FB.init( {
24
+ appId : jpfbembed.appid,
25
+ version: 'v2.3'
26
+ } );
27
+
28
+ FB.XFBML.parse();
29
+ };
30
+
31
+ if ( 'undefined' !== typeof infiniteScroll ) {
32
+ jQuery( document.body ).on( 'post-load', facebookEmbed );
33
+ }
34
+
35
+ // Re-render Facebook XFBML when partials are re-rendered in the Customizer.
36
+ jQuery( function() {
37
+ var hasSelectiveRefresh = (
38
+ 'undefined' !== typeof wp &&
39
+ wp.customize &&
40
+ wp.customize.selectiveRefresh &&
41
+ wp.customize.widgetsPreview &&
42
+ wp.customize.widgetsPreview.WidgetPartial
43
+ );
44
+ if ( ! hasSelectiveRefresh ) {
45
+ return;
46
+ }
47
+
48
+ // Render Facebook widget in rendered partial.
49
+ wp.customize.selectiveRefresh.bind( 'partial-content-rendered', function( placement ) {
50
+ if ( placement.container ) {
51
+ FB.XFBML.parse( placement.container[0] );
52
+ }
53
+ } );
54
+ } );
55
+
56
+ facebookEmbed();
57
+ })( this );
_inc/footer.php CHANGED
@@ -13,12 +13,12 @@
13
 
14
  <nav class="secondary nav-horizontal">
15
  <div class="secondary-footer">
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 ( Jetpack::is_active() && 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; ?>
13
 
14
  <nav class="secondary nav-horizontal">
15
  <div class="secondary-footer">
16
+ <a href="http://jetpack.com">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.com/contact-support/" title="<?php esc_attr_e( 'Contact the Jetpack Happiness Squad.', 'jetpack' ); ?>"><?php _e( 'Support', 'jetpack' ); ?></a>
21
+ <a href="http://jetpack.com/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 ( Jetpack::is_active() && 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; ?>
_inc/genericons/README.md CHANGED
@@ -94,6 +94,10 @@ Base64 encoding comes with a 25% filesize overhead compared to just loading the
94
 
95
  ## Changelog
96
 
 
 
 
 
97
  **3.4**
98
 
99
  * Updated: Update Google Plus icon to new geometric version. This also *retires* the "alt" version, so *please be mindful if you choose to update, make sure you use the `f206` glyph, not the `f218` glyph, as it no longer exists!
94
 
95
  ## Changelog
96
 
97
+ **3.4.1**
98
+
99
+ * IE8 support restored.
100
+
101
  **3.4**
102
 
103
  * Updated: Update Google Plus icon to new geometric version. This also *retires* the "alt" version, so *please be mindful if you choose to update, make sure you use the `f206` glyph, not the `f218` glyph, as it no longer exists!
_inc/genericons/genericons/genericons.css CHANGED
@@ -11,6 +11,7 @@
11
  When the font is base64 encoded, cross-site embedding works in Firefox */
12
  @font-face {
13
  font-family: "Genericons";
 
14
  src: url("./Genericons.eot?") format("embedded-opentype");
15
  font-weight: normal;
16
  font-style: normal;
11
  When the font is base64 encoded, cross-site embedding works in Firefox */
12
  @font-face {
13
  font-family: "Genericons";
14
+ src: url("./Genericons.eot");
15
  src: url("./Genericons.eot?") format("embedded-opentype");
16
  font-weight: normal;
17
  font-style: normal;
_inc/genericons/genericons/rtl/genericons-rtl.css CHANGED
@@ -1,4 +1,4 @@
1
- /* This file was automatically generated on Sep 18 2015 08:27:44 */
2
 
3
  /**
4
 
@@ -13,6 +13,7 @@
13
  When the font is base64 encoded, cross-site embedding works in Firefox */
14
  @font-face {
15
  font-family: "Genericons";
 
16
  src: url(".././Genericons.eot?") format("embedded-opentype");
17
  font-weight: normal;
18
  font-style: normal;
1
+ /* This file was automatically generated on Sep 30 2015 12:24:15 */
2
 
3
  /**
4
 
13
  When the font is base64 encoded, cross-site embedding works in Firefox */
14
  @font-face {
15
  font-family: "Genericons";
16
+ src: url(".././Genericons.eot");
17
  src: url(".././Genericons.eot?") format("embedded-opentype");
18
  font-weight: normal;
19
  font-style: normal;
_inc/header.php CHANGED
@@ -11,7 +11,7 @@
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
 
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.com/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
 
_inc/jetpack-jitm.js CHANGED
@@ -15,7 +15,9 @@
15
  'jitmNonce' : jitmL10n.jitm_nonce,
16
  'photon' : jitmL10n.photon_msgs,
17
  'manage' : jitmL10n.manage_msgs,
18
- 'jitm_stats_url' : jitmL10n.jitm_stats_url
 
 
19
  };
20
 
21
  initEvents();
@@ -28,16 +30,19 @@
28
 
29
  function initEvents() {
30
 
31
- var module_slug, success_msg, fail_msg, hide_msg;
 
32
 
33
  // On dismiss of JITM admin notice
34
- $( '.jp-jitm .dismiss' ).click( function() {
 
 
35
  // hide the notice
36
- $( '.jp-jitm' ).hide();
37
 
38
  // ajax request to save dismiss and never show again
39
  data.jitmActionToTake = 'dismiss';
40
- module_slug = $(this).data( 'module' );
41
  data.jitmModule = module_slug;
42
 
43
  $.post( jitmL10n.ajaxurl, data, function ( response ) {
@@ -47,11 +52,12 @@
47
  });
48
  });
49
 
50
- $( '.jp-jitm .activate' ).click(function() {
51
 
52
- var $self = $( this );
53
- $( '.button' ).addClass( 'hide' );
54
- $( '.j-spinner' ).toggleClass( 'hide' );
 
55
  data.jitmActionToTake = 'activate';
56
 
57
  // get the module we're working with using the data-module attribute
@@ -66,34 +72,64 @@
66
  $.post( jitmL10n.ajaxurl, data, function ( response ) {
67
  // If there's no response, something bad happened
68
  if ( true === response.success ) {
69
- var $msg = $( '.msg' );
70
  $msg.html( success_msg );
71
- $( '#jetpack-wordpressdotcom, .j-spinner' ).toggleClass( 'hide' );
72
  if ( 'manage' !== data.jitmModule ) {
73
  hide_msg = setTimeout( function () {
74
- $( '.jp-jitm' ).hide( 'slow' );
75
  }, 5000 );
76
  }
77
- $msg.closest( '.jp-jitm' ).find( '.show-after-enable.hide' ).removeClass( 'hide' );
 
78
  } else {
79
- $( '.jp-jitm' ).html( '<p><span class="icon"></span>' + fail_msg + '</p>' );
80
  }
81
  });
82
 
83
  });
84
 
85
- $( '.jp-jitm .launch' ).click(function() {
 
 
 
 
 
 
 
 
86
  data.jitmActionToTake = 'launch';
87
- module_slug = $(this).data( 'module' );
88
- data.jitmModule = module_slug;
89
  // ajax request to save click in stat
90
  $.post( jitmL10n.ajaxurl, data );
91
  } );
92
 
93
- $( '#jetpack-wordpressdotcom' ).click(function() {
94
  //Log user heads to wordpress.com/plugins
95
  new Image().src = data.jitm_stats_url;
96
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  }
98
 
99
- })(jQuery, jitmL10n);
15
  'jitmNonce' : jitmL10n.jitm_nonce,
16
  'photon' : jitmL10n.photon_msgs,
17
  'manage' : jitmL10n.manage_msgs,
18
+ 'stats' : jitmL10n.stats_msgs,
19
+ 'jitm_stats_url' : jitmL10n.jitm_stats_url,
20
+ 'enabledModules' : []
21
  };
22
 
23
  initEvents();
30
 
31
  function initEvents() {
32
 
33
+ var module_slug, success_msg, fail_msg, hide_msg,
34
+ $body = $( 'body' );
35
 
36
  // On dismiss of JITM admin notice
37
+ $body.on( 'click', '.jp-jitm .dismiss', function() {
38
+ var $self = $( this );
39
+
40
  // hide the notice
41
+ $self.closest( '.jp-jitm' ).hide();
42
 
43
  // ajax request to save dismiss and never show again
44
  data.jitmActionToTake = 'dismiss';
45
+ module_slug = $self.data( 'module' );
46
  data.jitmModule = module_slug;
47
 
48
  $.post( jitmL10n.ajaxurl, data, function ( response ) {
52
  });
53
  });
54
 
55
+ $body.on( 'click', '.jp-jitm .activate', function() {
56
 
57
+ var $self = $( this ),
58
+ $jitm = $self.closest( '.jp-jitm' );
59
+ $jitm.find( '.button' ).addClass( 'hide' );
60
+ $jitm.find( '.j-spinner' ).toggleClass( 'hide' );
61
  data.jitmActionToTake = 'activate';
62
 
63
  // get the module we're working with using the data-module attribute
72
  $.post( jitmL10n.ajaxurl, data, function ( response ) {
73
  // If there's no response, something bad happened
74
  if ( true === response.success ) {
75
+ var $msg = $jitm.find( '.msg' );
76
  $msg.html( success_msg );
77
+ $jitm.find( '.j-spinner' ).add( '#jetpack-wordpressdotcom' ).toggleClass( 'hide' );
78
  if ( 'manage' !== data.jitmModule ) {
79
  hide_msg = setTimeout( function () {
80
+ $jitm.hide( 'slow' );
81
  }, 5000 );
82
  }
83
+ $jitm.find( '.show-after-enable.hide' ).removeClass( 'hide' );
84
+ data.enabledModules.push( module_slug );
85
  } else {
86
+ $jitm.html( '<p><span class="icon"></span>' + fail_msg + '</p>' );
87
  }
88
  });
89
 
90
  });
91
 
92
+ $body.on( 'click', '.jp-jitm .launch', function() {
93
+ var $jitm = $(this).closest( '.jp-jitm' );
94
+
95
+ if ( $jitm.data( 'stats_url' ) ) {
96
+ data.jitm_stats_url = $jitm.data( 'stats_url' );
97
+ new Image().src = data.jitm_stats_url;
98
+ }
99
+
100
+ data.jitmModule = $jitm.data( 'track' ) ? $jitm.data( 'track' ) : $(this).data( 'module' );
101
  data.jitmActionToTake = 'launch';
 
 
102
  // ajax request to save click in stat
103
  $.post( jitmL10n.ajaxurl, data );
104
  } );
105
 
106
+ $body.on( 'click', '#jetpack-wordpressdotcom', function() {
107
  //Log user heads to wordpress.com/plugins
108
  new Image().src = data.jitm_stats_url;
109
  });
110
+
111
+ // Display Photon JITM after user started uploading an image.
112
+ if ( $( '#tmpl-jitm-photon' ).length > 0 ) {
113
+ wp.Uploader.queue.on( 'add', function ( e ) {
114
+ if ( -1 === $.inArray( 'photon', data.enabledModules ) ) {
115
+ if ( 'image' === e.attributes.type ) {
116
+ var jitmTemplate = wp.template( 'jitm-photon' ),
117
+ $menu = wp.media.frame.$el.find( '.media-menu' ),
118
+ $jitm;
119
+ if ( $menu.length > 0 && 0 === $menu.find( '.jp-jitm' ).length ) {
120
+ $jitm = $menu.append( jitmTemplate() ).find( '.jp-jitm' );
121
+
122
+ // JITM is visible to user, track it.
123
+ data.jitmActionToTake = 'viewed';
124
+ data.jitmModule = $jitm.data( 'track' );
125
+ $.post( jitmL10n.ajaxurl, data );
126
+ }
127
+ } else {
128
+ $( '.media-menu' ).find( '.jp-jitm' ).remove();
129
+ }
130
+ }
131
+ } );
132
+ }
133
  }
134
 
135
+ })(jQuery, jitmL10n);
_inc/jetpack-modules.js CHANGED
@@ -41,10 +41,7 @@
41
  $( window ).on( 'keydown', function( e ) {
42
  // If pressing ESC close the modal
43
  if ( 27 === e.keyCode ) {
44
- $( '.shade, .modal' ).hide();
45
- $( '.manage-right' ).removeClass( 'show' );
46
- originPoint.focus();
47
- $( '.modal' )[0].removeAttribute( 'tabindex' );
48
  }
49
  });
50
 
41
  $( window ).on( 'keydown', function( e ) {
42
  // If pressing ESC close the modal
43
  if ( 27 === e.keyCode ) {
44
+ hide_modal();
 
 
 
45
  }
46
  });
47
 
_inc/lib/admin-pages/class.jetpack-landing-page.php CHANGED
@@ -123,10 +123,8 @@ class Jetpack_Landing_Page extends Jetpack_Admin_Page {
123
  $module_name[] = $val['module_name'];
124
  }
125
  }
126
- $last_item = array_pop( $module_name );
127
- $jumpstart_module_list = implode( $module_name, ', ' ) . ', and ' . $last_item;
128
 
129
- return $jumpstart_module_list;
130
  }
131
 
132
  function jetpack_menu_order( $menu_order ) {
@@ -285,7 +283,7 @@ class Jetpack_Landing_Page extends Jetpack_Admin_Page {
285
  'ays_dismiss' => __( "This will deactivate Jetpack.\nAre you sure you want to deactivate Jetpack?", 'jetpack' ),
286
  'view_all_features' => __( 'View all Jetpack features', 'jetpack' ),
287
  'no_modules_found' => sprintf( __( 'Sorry, no modules were found for the search term "%s"', 'jetpack' ), '{term}' ),
288
- 'modules' => array_values( Jetpack_Admin::init()->get_modules() ),
289
  'currentVersion' => JETPACK__VERSION,
290
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
291
  'jumpstart_modules' => $this->jumpstart_module_tag( 'Jumpstart' ),
123
  $module_name[] = $val['module_name'];
124
  }
125
  }
 
 
126
 
127
+ return $module_name;
128
  }
129
 
130
  function jetpack_menu_order( $menu_order ) {
283
  'ays_dismiss' => __( "This will deactivate Jetpack.\nAre you sure you want to deactivate Jetpack?", 'jetpack' ),
284
  'view_all_features' => __( 'View all Jetpack features', 'jetpack' ),
285
  'no_modules_found' => sprintf( __( 'Sorry, no modules were found for the search term "%s"', 'jetpack' ), '{term}' ),
286
+ 'modules' => Jetpack::get_translated_modules( array_values( Jetpack_Admin::init()->get_modules() ) ),
287
  'currentVersion' => JETPACK__VERSION,
288
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
289
  'jumpstart_modules' => $this->jumpstart_module_tag( 'Jumpstart' ),
_inc/lib/class.color.php CHANGED
@@ -419,7 +419,7 @@ class Jetpack_Color {
419
  }
420
  $rgb = $rgb_new;
421
 
422
- //Observer. = 2�, Illuminant = D65
423
  $xyz = array(
424
  'x' => ($rgb['red'] * 0.4124) + ($rgb['green'] * 0.3576) + ($rgb['blue'] * 0.1805),
425
  'y' => ($rgb['red'] * 0.2126) + ($rgb['green'] * 0.7152) + ($rgb['blue'] * 0.0722),
@@ -536,8 +536,12 @@ class Jetpack_Color {
536
  }
537
 
538
  public function toLuminosity() {
539
- extract( $this->toRgbInt() );
540
- return 0.2126 * pow( $red / 255, 2.2 ) + 0.7152 * pow( $green / 255, 2.2 ) + 0.0722 * pow( $blue / 255, 2.2);
 
 
 
 
541
  }
542
 
543
  /**
@@ -547,7 +551,7 @@ class Jetpack_Color {
547
  * @param Jetpack_Color $color Another color
548
  * @return float
549
  */
550
- public function getDistanceLuminosityFrom(Jetpack_Color $color) {
551
  $L1 = $this->toLuminosity();
552
  $L2 = $color->toLuminosity();
553
  if ( $L1 > $L2 ) {
@@ -559,9 +563,10 @@ class Jetpack_Color {
559
  }
560
 
561
  public function getMaxContrastColor() {
562
- $lum = $this->toLuminosity();
 
563
  $color = new Jetpack_Color;
564
- $hex = ( $lum >= 0.5 ) ? '000000' : 'ffffff';
565
  return $color->fromHex( $hex );
566
  }
567
 
419
  }
420
  $rgb = $rgb_new;
421
 
422
+ // Observer. = 2°, Illuminant = D65
423
  $xyz = array(
424
  'x' => ($rgb['red'] * 0.4124) + ($rgb['green'] * 0.3576) + ($rgb['blue'] * 0.1805),
425
  'y' => ($rgb['red'] * 0.2126) + ($rgb['green'] * 0.7152) + ($rgb['blue'] * 0.0722),
536
  }
537
 
538
  public function toLuminosity() {
539
+ $lum = array();
540
+ foreach( $this->toRgbInt() as $slot => $value ) {
541
+ $chan = $value / 255;
542
+ $lum[ $slot ] = ( $chan <= 0.03928 ) ? $chan / 12.92 : pow( ( ( $chan + 0.055 ) / 1.055 ), 2.4 );
543
+ }
544
+ return 0.2126 * $lum['red'] + 0.7152 * $lum['green'] + 0.0722 * $lum['blue'];
545
  }
546
 
547
  /**
551
  * @param Jetpack_Color $color Another color
552
  * @return float
553
  */
554
+ public function getDistanceLuminosityFrom( Jetpack_Color $color ) {
555
  $L1 = $this->toLuminosity();
556
  $L2 = $color->toLuminosity();
557
  if ( $L1 > $L2 ) {
563
  }
564
 
565
  public function getMaxContrastColor() {
566
+ $withBlack = $this->getDistanceLuminosityFrom( new Jetpack_Color( '#000') );
567
+ $withWhite = $this->getDistanceLuminosityFrom( new Jetpack_Color( '#fff') );
568
  $color = new Jetpack_Color;
569
+ $hex = ( $withBlack >= $withWhite ) ? '#000000' : '#ffffff';
570
  return $color->fromHex( $hex );
571
  }
572
 
_inc/lib/markdown/extra.php CHANGED
@@ -2949,7 +2949,7 @@ class MarkdownExtra_Parser extends Markdown_Parser {
2949
  $text .= "<hr". $this->empty_element_suffix ."\n";
2950
  $text .= "<ol>\n\n";
2951
 
2952
- $attr = " rev=\"footnote\"";
2953
  if ($this->fn_backlink_class != "") {
2954
  $class = $this->fn_backlink_class;
2955
  $class = $this->encodeAttribute($class);
@@ -3018,7 +3018,7 @@ class MarkdownExtra_Parser extends Markdown_Parser {
3018
  $ref_count_mark = $this->footnotes_ref_count[$node_id] += 1;
3019
  }
3020
 
3021
- $attr = " rel=\"footnote\"";
3022
  if ($this->fn_link_class != "") {
3023
  $class = $this->fn_link_class;
3024
  $class = $this->encodeAttribute($class);
2949
  $text .= "<hr". $this->empty_element_suffix ."\n";
2950
  $text .= "<ol>\n\n";
2951
 
2952
+ $attr = "";
2953
  if ($this->fn_backlink_class != "") {
2954
  $class = $this->fn_backlink_class;
2955
  $class = $this->encodeAttribute($class);
3018
  $ref_count_mark = $this->footnotes_ref_count[$node_id] += 1;
3019
  }
3020
 
3021
+ $attr = "";
3022
  if ($this->fn_link_class != "") {
3023
  $class = $this->fn_link_class;
3024
  $class = $this->encodeAttribute($class);
_inc/lib/markdown/gfm.php CHANGED
@@ -93,6 +93,22 @@ class WPCom_GHF_Markdown_Parser extends MarkdownExtra_Parser {
93
  // escape line-beginning # chars that do not have a space after them.
94
  $text = preg_replace_callback( '|^#{1,6}( )?|um', array( $this, '_doEscapeForHashWithoutSpacing' ), $text );
95
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  // run through core Markdown
97
  $text = parent::transform( $text );
98
 
93
  // escape line-beginning # chars that do not have a space after them.
94
  $text = preg_replace_callback( '|^#{1,6}( )?|um', array( $this, '_doEscapeForHashWithoutSpacing' ), $text );
95
 
96
+ /**
97
+ * Allow third-party plugins to define custom patterns that won't be processed by Markdown.
98
+ *
99
+ * @module markdown
100
+ *
101
+ * @since 3.9.2
102
+ *
103
+ * @param array $custom_patterns Array of custom patterns to be ignored by Markdown.
104
+ */
105
+ $custom_patterns = apply_filters( 'jetpack_markdown_preserve_pattern', array() );
106
+ if ( is_array( $custom_patterns ) && ! empty( $custom_patterns ) ) {
107
+ foreach ( $custom_patterns as $pattern ) {
108
+ $text = preg_replace_callback( $pattern, array( $this, '_doRemoveText'), $text );
109
+ }
110
+ }
111
+
112
  // run through core Markdown
113
  $text = parent::transform( $text );
114
 
_inc/lib/tracks/class.tracks-client.php ADDED
@@ -0,0 +1,168 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Jetpack_Tracks_Client
5
+ * @autounit nosara tracks-client
6
+ *
7
+ * Send Tracks events on behalf of a user
8
+ *
9
+ * Example Usage:
10
+ ```php
11
+ require( dirname(__FILE__).'path/to/tracks/class.tracks-client' );
12
+
13
+ $result = Jetpack_Tracks_Client::record_event( array(
14
+ '_en' => $event_name, // required
15
+ '_ui' => $user_id, // required unless _ul is provided
16
+ '_ul' => $user_login, // required unless _ui is provided
17
+
18
+ // Optional, but recommended
19
+ '_ts' => $ts_in_ms, // Default: now
20
+ '_via_ip' => $client_ip, // we use it for geo, etc.
21
+
22
+ // Possibly useful to set some context for the event
23
+ '_via_ua' => $client_user_agent,
24
+ '_via_url' => $client_url,
25
+ '_via_ref' => $client_referrer,
26
+
27
+ // For user-targeted tests
28
+ 'abtest_name' => $abtest_name,
29
+ 'abtest_variation' => $abtest_variation,
30
+
31
+ // Your application-specific properties
32
+ 'custom_property' => $some_value,
33
+ ) );
34
+
35
+ if ( is_wp_error( $result ) ) {
36
+ // Handle the error in your app
37
+ }
38
+ ```
39
+ */
40
+
41
+ require_once( dirname(__FILE__).'/class.tracks-client.php' );
42
+
43
+ class Jetpack_Tracks_Client {
44
+ const PIXEL = 'http://pixel.wp.com/t.gif';
45
+ const BROWSER_TYPE = 'php-agent';
46
+ const USER_AGENT_SLUG = 'tracks-client';
47
+ const VERSION = '0.3';
48
+
49
+ /**
50
+ * record_event
51
+ * @param mixed $event Event object to send to Tracks. An array will be cast to object. Required.
52
+ * Properties are included directly in the pixel query string after light validation.
53
+ * @return mixed True on success, WP_Error on failure
54
+ */
55
+ static function record_event( $event ) {
56
+ if ( ! $event instanceof Jetpack_Tracks_Event ) {
57
+ $event = new Jetpack_Tracks_Event( $event );
58
+ }
59
+ if ( is_wp_error( $event ) ) {
60
+ return $event;
61
+ }
62
+
63
+ $pixel = $event->build_pixel_url( $event );
64
+
65
+ if ( ! $pixel ) {
66
+ return new WP_Error( 'invalid_pixel', 'cannot generate tracks pixel for given input', 400 );
67
+ }
68
+
69
+ return self::record_pixel( $pixel );
70
+ }
71
+
72
+ /**
73
+ * Synchronously request the pixel
74
+ */
75
+ static function record_pixel( $pixel ) {
76
+ // Add the Request Timestamp and URL terminator just before the HTTP request.
77
+ $pixel .= '&_rt=' . self::build_timestamp() . '&_=_';
78
+
79
+ $response = wp_remote_get( $pixel, array(
80
+ 'blocking' => true, // The default, but being explicit here :)
81
+ 'timeout' => 1,
82
+ 'redirection' => 2,
83
+ 'httpversion' => '1.1',
84
+ 'user-agent' => self::get_user_agent(),
85
+ ) );
86
+
87
+ if ( is_wp_error( $response ) ) {
88
+ return $response;
89
+ }
90
+
91
+ $code = isset( $response['response']['code'] ) ? $response['response']['code'] : 0;
92
+
93
+ if ( $code !== 200 ) {
94
+ return new WP_Error( 'request_failed', 'Tracks pixel request failed', $code );
95
+ }
96
+
97
+ return true;
98
+ }
99
+
100
+ static function get_user_agent() {
101
+ return Jetpack_Tracks_Client::USER_AGENT_SLUG . '-v' . Jetpack_Tracks_Client::VERSION;
102
+ }
103
+
104
+ /**
105
+ * Build an event and return its tracking URL
106
+ * @deprecated Call the `build_pixel_url` method on a Jetpack_Tracks_Event object instead.
107
+ * @param array $event Event keys and values
108
+ * @return string URL of a tracking pixel
109
+ */
110
+ static function build_pixel_url( $event ) {
111
+ $_event = new Jetpack_Tracks_Event( $event );
112
+ return $_event->build_pixel_url();
113
+ }
114
+
115
+ /**
116
+ * Validate input for a tracks event.
117
+ * @deprecated Instantiate a Jetpack_Tracks_Event object instead
118
+ * @param array $event Event keys and values
119
+ * @return mixed Validated keys and values or WP_Error on failure
120
+ */
121
+ private static function validate_and_sanitize( $event ) {
122
+ $_event = new Jetpack_Tracks_Event( $event );
123
+ if ( is_wp_error( $_event ) ) {
124
+ return $_event;
125
+ }
126
+ return get_object_vars( $_event );
127
+ }
128
+
129
+ // Milliseconds since 1970-01-01
130
+ static function build_timestamp() {
131
+ $ts = round( microtime( true ) * 1000 );
132
+ return number_format( $ts, 0, '', '' );
133
+ }
134
+
135
+ /**
136
+ * Grabs the user's anon id from cookies, or generates and sets a new one
137
+ *
138
+ * @return string An anon id for the user
139
+ */
140
+ static function get_anon_id() {
141
+ static $anon_id = null;
142
+
143
+ if ( ! isset( $anon_id ) ) {
144
+
145
+ // Did the browser send us a cookie?
146
+ if ( isset( $_COOKIE[ 'tk_ai' ] ) && preg_match( '#^[A-Za-z0-9+/=]{24}$#', $_COOKIE[ 'tk_ai' ] ) ) {
147
+ $anon_id = $_COOKIE[ 'tk_ai' ];
148
+ } else {
149
+
150
+ $binary = '';
151
+
152
+ // Generate a new anonId and try to save it in the browser's cookies
153
+ // Note that base64-encoding an 18 character string generates a 24-character anon id
154
+ for ( $i = 0; $i < 18; ++$i ) {
155
+ $binary .= chr( mt_rand( 0, 255 ) );
156
+ }
157
+
158
+ $anon_id = 'jetpack:' . base64_encode( $binary );
159
+
160
+ if ( ! headers_sent() ) {
161
+ setcookie( 'tk_ai', $anon_id );
162
+ }
163
+ }
164
+ }
165
+
166
+ return $anon_id;
167
+ }
168
+ }
_inc/lib/tracks/class.tracks-event.php ADDED
@@ -0,0 +1,149 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * @autounit nosara tracks-client
5
+ *
6
+ * Example Usage:
7
+ ```php
8
+ require_once( dirname(__FILE__) . 'path/to/tracks/class.tracks-event' );
9
+
10
+ $event = new Jetpack_Tracks_Event( array(
11
+ '_en' => $event_name, // required
12
+ '_ui' => $user_id, // required unless _ul is provided
13
+ '_ul' => $user_login, // required unless _ui is provided
14
+
15
+ // Optional, but recommended
16
+ '_via_ip' => $client_ip, // for geo, etc.
17
+
18
+ // Possibly useful to set some context for the event
19
+ '_via_ua' => $client_user_agent,
20
+ '_via_url' => $client_url,
21
+ '_via_ref' => $client_referrer,
22
+
23
+ // For user-targeted tests
24
+ 'abtest_name' => $abtest_name,
25
+ 'abtest_variation' => $abtest_variation,
26
+
27
+ // Your application-specific properties
28
+ 'custom_property' => $some_value,
29
+ ) );
30
+
31
+ if ( is_wp_error( $event->error ) ) {
32
+ // Handle the error in your app
33
+ }
34
+
35
+ $bump_and_redirect_pixel = $event->build_signed_pixel_url();
36
+ ```
37
+ */
38
+
39
+ require_once( dirname(__FILE__) . '/class.tracks-client.php' );
40
+
41
+ class Jetpack_Tracks_Event {
42
+ const EVENT_NAME_REGEX = '/^(([a-z0-9]+)_){2}([a-z0-9_]+)$/';
43
+ const PROP_NAME_REGEX = '/^[a-z_][a-z0-9_]*$/';
44
+ public $error;
45
+
46
+ function __construct( $event ) {
47
+ $_event = self::validate_and_sanitize( $event );
48
+ if ( is_wp_error( $_event ) ) {
49
+ $this->error = $_event;
50
+ return;
51
+ }
52
+
53
+ foreach( $_event as $key => $value ) {
54
+ $this->{$key} = $value;
55
+ }
56
+ }
57
+
58
+ function record() {
59
+ return Jetpack_Tracks_Client::record_event( $this );
60
+ }
61
+
62
+ /**
63
+ * Annotate the event with all relevant info.
64
+ * @param mixed $event Object or (flat) array
65
+ * @return mixed The transformed event array or WP_Error on failure.
66
+ */
67
+ static function validate_and_sanitize( $event ) {
68
+ $event = (object) $event;
69
+
70
+ // Required
71
+ if ( ! $event->_en ) {
72
+ return new WP_Error( 'invalid_event', 'A valid event must be specified via `_en`', 400 );
73
+ }
74
+
75
+ // delete non-routable addresses otherwise geoip will discard the record entirely
76
+ if ( property_exists( $event, '_via_ip' ) && preg_match( '/^192\.168|^10\./', $event->_via_ip ) ) {
77
+ unset($event->_via_ip);
78
+ }
79
+
80
+ $validated = array(
81
+ 'browser_type' => Jetpack_Tracks_Client::BROWSER_TYPE,
82
+ '_aua' => Jetpack_Tracks_Client::get_user_agent(),
83
+ );
84
+
85
+ $_event = (object) array_merge( (array) $event, $validated );
86
+
87
+ // If you want to blacklist property names, do it here.
88
+
89
+ // Make sure we have an event timestamp.
90
+ if ( ! isset( $_event->_ts ) ) {
91
+ $_event->_ts = Jetpack_Tracks_Client::build_timestamp();
92
+ }
93
+
94
+ return $_event;
95
+ }
96
+
97
+ /**
98
+ * Build a pixel URL that will send a Tracks event when fired.
99
+ * On error, returns an empty string ('').
100
+ *
101
+ * @return string A pixel URL or empty string ('') if there were invalid args.
102
+ */
103
+ function build_pixel_url() {
104
+ if ( $this->error ) {
105
+ return '';
106
+ }
107
+
108
+ $args = get_object_vars( $this );
109
+
110
+ // Request Timestamp and URL Terminator must be added just before the HTTP request or not at all.
111
+ unset( $args['_rt'] );
112
+ unset( $args['_'] );
113
+
114
+ $validated = self::validate_and_sanitize( $args );
115
+
116
+ if ( is_wp_error( $validated ) )
117
+ return '';
118
+
119
+ return Jetpack_Tracks_Client::PIXEL . '?' . http_build_query( $validated );
120
+ }
121
+
122
+ static function event_name_is_valid( $name ) {
123
+ return preg_match( Jetpack_Tracks_Event::EVENT_NAME_REGEX, $name );
124
+ }
125
+
126
+ static function prop_name_is_valid( $name ) {
127
+ return preg_match( Jetpack_Tracks_Event::PROP_NAME_REGEX, $name );
128
+ }
129
+
130
+ static function scrutinize_event_names( $event ) {
131
+ if ( ! Jetpack_Tracks_Event::event_name_is_valid( $event->_en ) ) {
132
+ return;
133
+ }
134
+
135
+ $whitelisted_key_names = array(
136
+ 'anonId',
137
+ 'Browser_Type',
138
+ );
139
+
140
+ foreach ( array_keys( (array) $event ) as $key ) {
141
+ if ( in_array( $key, $whitelisted_key_names ) ) {
142
+ continue;
143
+ }
144
+ if ( ! Jetpack_Tracks_Event::prop_name_is_valid( $key ) ) {
145
+ return;
146
+ }
147
+ }
148
+ }
149
+ }
_inc/lib/tracks/client.php ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * PHP Tracks Client
4
+ * @autounit nosara tracks-client
5
+ * Example Usage:
6
+ *
7
+ ```php
8
+ include( plugin_dir_path( __FILE__ ) . 'lib/tracks/client.php');
9
+ $result = jetpack_tracks_record_event( $user, $event_name, $properties );
10
+
11
+ if ( is_wp_error( $result ) ) {
12
+ // Handle the error in your app
13
+ }
14
+ ```
15
+ */
16
+
17
+ // Load the client classes
18
+ require_once( dirname(__FILE__) . '/class.tracks-event.php' );
19
+ require_once( dirname(__FILE__) . '/class.tracks-client.php' );
20
+
21
+ // Now, let's export a sprinkling of syntactic sugar!
22
+
23
+ /**
24
+ * Procedurally (vs. Object-oriented), track an event object (or flat array)
25
+ * NOTE: Use this only when the simpler jetpack_tracks_record_event() function won't work for you.
26
+ * @param \Jetpack_Tracks_Event $event The event object.
27
+ * @return \Jetpack_Tracks_Event|\WP_Error
28
+ */
29
+ function jetpack_tracks_record_event_raw( $event ) {
30
+ return Jetpack_Tracks_Client::record_event( $event );
31
+ }
32
+
33
+ /**
34
+ * Procedurally build a Tracks Event Object.
35
+ * NOTE: Use this only when the simpler jetpack_tracks_record_event() function won't work for you.
36
+ * @param $identity WP_user object
37
+ * @param string $event_name The name of the event
38
+ * @param array $properties Custom properties to send with the event
39
+ * @param int $event_timestamp_millis The time in millis since 1970-01-01 00:00:00 when the event occurred
40
+ * @return \Jetpack_Tracks_Event|\WP_Error
41
+ */
42
+ function jetpack_tracks_build_event_obj( $user, $event_name, $properties = array(), $event_timestamp_millis = false ) {
43
+
44
+ $identity = jetpack_tracks_get_identity( $user->ID );
45
+
46
+ $properties['user_lang'] = $user->get( 'WPLANG' );
47
+
48
+ $blog_details = array(
49
+ 'blog_lang' => isset( $properties['blog_lang'] ) ? $properties['blog_lang'] : get_bloginfo( 'language' )
50
+ );
51
+
52
+ $timestamp = ( $event_timestamp_millis !== false ) ? $event_timestamp_millis : round( microtime( true ) * 1000 );
53
+ $timestamp_string = is_string( $timestamp ) ? $timestamp : number_format( $timestamp, 0, '', '' );
54
+
55
+ return new Jetpack_Tracks_Event( array_merge( $blog_details, (array) $properties, $identity, array(
56
+ '_en' => $event_name,
57
+ '_ts' => $timestamp_string
58
+ ) ) );
59
+ }
60
+
61
+ /*
62
+ * Get the identity to send to tracks.
63
+ *
64
+ * @param int $user_id The user id of the local user
65
+ * @return array $identity
66
+ */
67
+ function jetpack_tracks_get_identity( $user_id ) {
68
+
69
+ // Meta is set, and user is still connected. Use WPCOM ID
70
+ $wpcom_id = get_user_meta( $user_id, 'jetpack_tracks_wpcom_id', true );
71
+ if ( $wpcom_id && Jetpack::is_user_connected( $user_id ) ) {
72
+ return array(
73
+ '_ut' => 'wpcom:user_id',
74
+ '_ui' => $wpcom_id
75
+ );
76
+ }
77
+
78
+ // User is connected, but no meta is set yet. Use WPCOM ID and set meta.
79
+ if ( Jetpack::is_user_connected( $user_id ) ) {
80
+ $wpcom_user_data = Jetpack::get_connected_user_data( $user_id );
81
+ add_user_meta( $user_id, 'jetpack_tracks_wpcom_id', $wpcom_user_data['ID'], true );
82
+
83
+ return array(
84
+ '_ut' => 'wpcom:user_id',
85
+ '_ui' => $wpcom_user_data['ID']
86
+ );
87
+ }
88
+
89
+ // User isn't linked at all. Fall back to anonymous ID.
90
+ $anon_id = get_user_meta( $user_id, 'jetpack_tracks_anon_id', true );
91
+ if ( ! $anon_id ) {
92
+ $anon_id = Jetpack_Tracks_Client::get_anon_id();
93
+ add_user_meta( $user_id, 'jetpack_tracks_anon_id', $anon_id, false );
94
+ }
95
+
96
+ if ( ! isset( $_COOKIE[ 'tk_ai' ] ) && ! headers_sent() ) {
97
+ setcookie( 'tk_ai', $anon_id );
98
+ }
99
+
100
+ return array(
101
+ '_ut' => 'anon',
102
+ '_ui' => $anon_id
103
+ );
104
+
105
+ }
106
+
107
+ /**
108
+ * Record an event in Tracks - this is the preferred way to record events from PHP.
109
+ *
110
+ * @param mixed $identity username, user_id, or WP_user object
111
+ * @param string $event_name The name of the event
112
+ * @param array $properties Custom properties to send with the event
113
+ * @param int $event_timestamp_millis The time in millis since 1970-01-01 00:00:00 when the event occurred
114
+ * @return bool true for success | \WP_Error if the event pixel could not be fired
115
+ */
116
+ function jetpack_tracks_record_event( $user, $event_name, $properties = array(), $event_timestamp_millis = false ) {
117
+ $event_obj = jetpack_tracks_build_event_obj( $user, $event_name, $properties, $event_timestamp_millis );
118
+
119
+ if ( is_wp_error( $event_obj->error ) ) {
120
+ return $event_obj->error;
121
+ }
122
+
123
+ return $event_obj->record();
124
+ }
_inc/lib/tracks/tracks-ajax.js ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* global jpTracksAJAX, jQuery */
2
+
3
+ (function( $, jpTracksAJAX ) {
4
+
5
+ $( document ).ready( function () {
6
+ $( 'body' ).on( 'click', '.jptracks a, a.jptracks', function( event ) {
7
+
8
+ // We know that the jptracks element is either this, or its ancestor
9
+ var $jptracks = $( this ).closest( '.jptracks' );
10
+
11
+ var data = {
12
+ tracksNonce: jpTracksAJAX.jpTracksAJAX_nonce,
13
+ action: 'jetpack_tracks',
14
+ tracksEventType: 'click',
15
+ tracksEventName: $jptracks.attr( 'data-jptracks-name' ),
16
+ tracksEventProp: $jptracks.attr( 'data-jptracks-prop' ) || false
17
+ };
18
+
19
+ // We need an event name at least
20
+ if ( undefined === data.tracksEventName ) {
21
+ return;
22
+ }
23
+
24
+ var url = $( this ).attr( 'href' );
25
+ var target = $( this ).get( 0 ).target;
26
+ if ( url && target && '_self' !== target ) {
27
+ var newTabWindow = window.open( '', target );
28
+ }
29
+
30
+ event.preventDefault();
31
+
32
+ $.ajax( {
33
+ type: 'POST',
34
+ url: jpTracksAJAX.ajaxurl,
35
+ data: data
36
+ } ).always( function() {
37
+ // Continue on to whatever url they were trying to get to.
38
+ if ( url ) {
39
+ if ( newTabWindow ) {
40
+ newTabWindow.location = url;
41
+ return;
42
+ }
43
+ window.location = url;
44
+ }
45
+ } );
46
+ });
47
+ });
48
+
49
+ })( jQuery, jpTracksAJAX );
_inc/twitter-timeline.js ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* global twttr */
2
+
3
+ /* jshint ignore:start */
4
+ !function(d,s,id){
5
+ var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';
6
+ if(!d.getElementById(id)){
7
+ js=d.createElement(s);
8
+ js.id=id;js.src=p+"://platform.twitter.com/widgets.js";
9
+ fjs.parentNode.insertBefore(js,fjs);
10
+ }
11
+ }(document,"script","twitter-wjs");
12
+ /* jshint ignore:end */
13
+
14
+ jQuery( function() {
15
+ var hasSelectiveRefresh = (
16
+ 'undefined' !== typeof wp &&
17
+ wp.customize &&
18
+ wp.customize.selectiveRefresh &&
19
+ wp.customize.widgetsPreview &&
20
+ wp.customize.widgetsPreview.WidgetPartial
21
+ );
22
+ if ( ! hasSelectiveRefresh ) {
23
+ return;
24
+ }
25
+
26
+ // Re-load Twitter widgets when a partial is rendered.
27
+ wp.customize.selectiveRefresh.bind( 'partial-content-rendered', function( placement ) {
28
+ if ( placement.container ) {
29
+ twttr.widgets.load( placement.container[0] );
30
+ }
31
+ } );
32
+
33
+ // Refresh a moved partial containing a Twitter timeline iframe, since it has to be re-built.
34
+ wp.customize.selectiveRefresh.bind( 'partial-content-moved', function( placement ) {
35
+ if ( placement.container && placement.container.find( 'iframe.twitter-timeline:not([src]):first' ).length ) {
36
+ placement.partial.refresh();
37
+ }
38
+ } );
39
+ } );
changelog.txt CHANGED
@@ -1,4 +1,238 @@
1
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  = 3.7.2 =
3
  Release date: September 29th, 2015
4
 
@@ -99,11 +333,11 @@ Release Date: July 24, 2015
99
 
100
  = 3.6 =
101
  Release Date: July 6th, 2015
102
- Release Post: http://jetpack.me/2015/07/06/jetpack-3-6-updated-social-widgets-jetpack-cli-and-more/
103
 
104
  Feature Enhancements:
105
 
106
- * CLI: Add a number of Jetpack CLI improvements: see http://jetpack.me/support/jetpack-cli
107
  * New Jetpack admin page for connection management
108
  * New Social Media Icons widget
109
  * FB Like Box: A visual refresh of the Facebook likebox widget
@@ -167,7 +401,7 @@ Release Date: May 5th, 2015
167
 
168
  = 3.5 =
169
  Release Date: April 23rd, 2015
170
- Release Post: http://jetpack.me/2016/04/23/jetpack-3-5-menu-management/
171
 
172
  Jetpack 3.5 introduces the ability to manage your site's menus directly from WordPress.com and several bug fixes and enhancements. This upgrade is recommended for all users.
173
 
@@ -215,7 +449,7 @@ Release Date: March 19th, 2015
215
  = 3.4 =
216
  Release Date: March 18th, 2015
217
 
218
- Release Post: http://jetpack.me/2015/03/17/jetpack-3-4-protect-secure-and-simplify/
219
 
220
  * Enhancement : Config Settings: provide a notification for users that update features settings
221
  * Enhancement : Config Settings: provide a notification for users that update features settings
@@ -299,7 +533,7 @@ Release Date: February 11th, 2015
299
 
300
  = 3.3 =
301
  Release Date: December 15th, 2014
302
- Release Post: http://jetpack.me/2014/12/16/jetpack-3-3-a-single-home-for-all-your-wordpress-sites/
303
 
304
  * Enhancement: Adds responsive video support to BuddyPress.
305
  * Enhancement: Custom Content Types: Added 'order' and 'orderby' options to portfolio shortcode.
@@ -348,7 +582,7 @@ Release Date: November 14th, 2014
348
 
349
  = 3.2 =
350
  Release Date: October 29, 2014
351
- Release Post: http://jetpack.me/2014/11/03/jetpack-3-2/
352
 
353
  * Enhancement: Speed Improvements (woohoo!).
354
  * Enhancement: Add site icons: an avatar for your blog.
@@ -386,7 +620,7 @@ Release Date: August 7, 2014
386
 
387
  = 3.1 =
388
  Release Date: July 31, 2014
389
- Release Post: http://jetpack.me/2014/07/31/jetpack-3-1-portfolio-custom-post-types-a-new-logo-and-much-more/
390
 
391
  * Enhancement: New Custom Content Types module.
392
  * Enhancement: New Jetpack Logo.
@@ -458,7 +692,7 @@ Release Date: May 22, 2014
458
 
459
  = 3.0 =
460
  Release Date: May 20, 2014
461
- Release Post: http://jetpack.me/2014/05/20/jetpack-3-0/
462
 
463
  * New User Interface for managing modules and settings
464
  * New Module: Verfication Tools
@@ -502,7 +736,7 @@ Release Date: March 6, 2014
502
 
503
  = 2.9 =
504
  Release Date: February 26, 2014
505
- Release Post: http://jetpack.me/2014/02/26/jetpack-2-9/
506
 
507
  * Added Multisite network functionality
508
  * New Module: Related Posts
@@ -526,7 +760,7 @@ Release Post: http://jetpack.me/2014/02/26/jetpack-2-9/
526
 
527
  = 2.8 =
528
  Release Date: January 31, 2014
529
- Release Post: http://jetpack.me/2014/01/31/jetpack-2-8-introducing-markdown-and-improving-monitor/
530
 
531
  * New Module: Markdown
532
  * Module Update: Jetpack Monitor
@@ -567,7 +801,7 @@ Release Post: http://jetpack.me/2014/01/31/jetpack-2-8-introducing-markdown-and-
567
 
568
  = 2.7 =
569
  Release Date: December 11, 2013
570
- Release Post: http://jetpack.me/2013/12/11/jetpack-2-7-publicize/
571
 
572
  * Enhancement: Google+ Publicize
573
  * Enhancement: Add Cloudup as an oEmbed provider
@@ -604,10 +838,10 @@ Release Date: December 3, 2013
604
 
605
  = 2.6 =
606
  Release Date: November 28, 2013
607
- Release Post: http://jetpack.me/2013/11/26/new-release-jetpack-2-6/
608
 
609
- * Enhancement: WPCC / now called [SSO](http://jetpack.me/support/sso/): refactored.
610
- * Enhancement: Monitor: new module which will notify you if your site goes down(http://jetpack.me/support/monitor/).
611
  * Enhancement: Custom CSS: replace Ace editor with Codemirror.
612
  * Enhancement: Widgets: new “Display Posts” widget.
613
  * Enhancement: WP-CLI: add commands to disconnect a site and manage modules.
@@ -642,7 +876,7 @@ Release Post: http://jetpack.me/2013/11/26/new-release-jetpack-2-6/
642
 
643
  = 2.5 =
644
  Release Date: September 19, 2013
645
- Release Post: http://jetpack.me/2013/09/19/jetpack-2-5/
646
 
647
  * Enhancement: Connect your Google+ profile and WordPress site to prove authorship of posts.
648
  * Enhancement: Improved sharing buttons display.
@@ -692,7 +926,7 @@ Release Date: September 4, 2013
692
 
693
  = 2.4 =
694
  Release Date: August 30, 2013
695
- Release Post: http://jetpack.me/2013/09/04/jetpack-2-4-widget-visibility-and-wpcc-and-more/
696
 
697
  * Enhancement: WordPress.com Connect (WPCC): New Module.
698
  * Enhancement: Widget Visibility: New Module.
@@ -771,7 +1005,7 @@ Release Date: July 2, 2013
771
 
772
  = 2.3 =
773
  Release Date: June 19, 2013
774
- Release Post: http://jetpack.me/2013/06/19/jetpack-2-3/
775
 
776
  * Enhancement: Omnisearch: Search once, get results from everything! Omnisearch is a single search box that lets you search many different things
777
  * Enhancement: Debugger: this module helps you debug connection issues right from your dashboard, and contact the Jetpack support team if needed
@@ -934,7 +1168,7 @@ Release Date: March 28, 2013
934
 
935
  = 2.2 =
936
  Release Date: February 26, 2013
937
- Release Post: http://jetpack.me/2013/02/26/jetpack-2-2-likes/
938
 
939
  * Enhancement: Likes: Allow your readers to show their appreciation of your posts.
940
  * Enhancement: Shortcodes: SoundCloud: Update to version 2.3 of the SoundCloud plugin (HTML5 default player, various fixes).
@@ -1015,7 +1249,7 @@ Release Date: January 5, 2013
1015
 
1016
  = 2.1 =
1017
  Release Date: January 4, 2013
1018
- Release Post: http://jetpack.me/2013/01/04/galleries/
1019
 
1020
  * Enhancement: Tiled Galleries: Show off your photos with cool mosaic galleries.
1021
  * Enhancement: Slideshow gallery type: Display any gallery as a slideshow.
@@ -1074,7 +1308,7 @@ Release Date: November 21, 2012
1074
 
1075
  = 2.0 =
1076
  Release Date: November 8, 2012
1077
- Release Post: http://jetpack.me/2012/11/08/jetpack-2-0-publicize-to-facebook-twitter-linkedin-tumblr-post-by-email-photon-infinite-scroll/
1078
 
1079
  * Enhancement: Publicize: Connect your site to popular social networks and automatically share new posts with your friends.
1080
  * Enhancement: Post By Email: Publish posts to your blog directly from your personal email account.
@@ -1101,7 +1335,7 @@ Release Date: October 29, 2012
1101
 
1102
  = 1.9 =
1103
  Release Date: October 26, 2012
1104
- Release Post: http://jetpack.me/2012/10/26/jetpack-1-9-toolbar-notifications/
1105
 
1106
  * Enhancement: Notifications: Display Notifications in the toolbar and support reply/moderation of comment notifications.
1107
  * Enhancement: Mobile Push Notifications: Added support for mobile push notifications of new comments for users that linked their accounts to WordPress.com accounts.
@@ -1153,7 +1387,7 @@ Release Date: September 28, 2012
1153
 
1154
  = 1.8 =
1155
  Release Date: September 27, 2012
1156
- Release Post: http://jetpack.me/2012/09/27/jetpack-1-8-mobile-theme/
1157
 
1158
  * Enhancement: Mobile Theme: Automatically serve a slimmed down version of your site to users on mobile devices.
1159
  * Enhancement: Multiuser: Allow multiple users to link their accounts to WordPress.com accounts.
@@ -1171,7 +1405,7 @@ Release Post: http://jetpack.me/2012/09/27/jetpack-1-8-mobile-theme/
1171
 
1172
  = 1.7 =
1173
  Release Date: August 23, 2012
1174
- Release Post: http://jetpack.me/2012/08/23/jetpack-1-7-custom-css/
1175
 
1176
  * Enhancement: CSS Editor: Customize your site's design without modifying your theme.
1177
  * Enhancement: Comments: Submit the comment within the iframe. No more full page load to jetpack.wordpress.com.
@@ -1204,7 +1438,7 @@ Release Date: August 4, 2012
1204
 
1205
  = 1.6 =
1206
  Release Date: August 2, 2012
1207
- Release Post: http://jetpack.me/2012/08/02/jetpack-1-6-retina-and-pinterest/
1208
 
1209
  * Enhancement: Carousel: Better image resolution selection based on available width/height.
1210
  * Enhancement: Carousel: Load image caption, metadata, comments, et alii when a slide is clicked to switch to instead of waiting.
@@ -1283,7 +1517,7 @@ Release Date: May 22, 2012
1283
 
1284
  = 1.3 =
1285
  Release Date: April 25, 2012
1286
- Release Post: http://jetpack.me/2012/04/24/jetpack-1-3-released-contact-forms/
1287
 
1288
  * Enhancement: Add Contact Forms feature. Formerly Grunion Contact Forms.
1289
  * Bug Fix: Tweak YouTube autoembedder to catch more YouTube URLs.
@@ -1333,11 +1567,11 @@ Release Date: November 18, 2011
1333
  * Bug Fix: Fixed errors displayed during some upgrades.
1334
  * Bug Fix: Fix inaccurate new modules "bubble" in menu for some upgrades.
1335
  * Bug Fix: Fix VaultPress detection.
1336
- * Bug Fix: Fix link to http://jetpack.me/faq/
1337
 
1338
  = 1.2 =
1339
  Release Date: November 17, 2011
1340
- Release Post: http://jetpack.me/2011/11/17/announcing-jetpack-1-2/
1341
 
1342
  * Enhancement: Add Subscriptions: Subscribe to site's posts and posts' comments.
1343
  * Enhancement: Add Google Maps shortcode.
1
  == Changelog ==
2
+ = 3.9.4 =
3
+ Release date: March 10th, 2016
4
+
5
+ Bug fix: Shortcodes: Addresses an issue with embedded Vimeo content
6
+
7
+ = 3.9.3 =
8
+ Release date: March 9th, 2016
9
+ Release post: http://wp.me/p1moTy-396
10
+
11
+ Featured:
12
+
13
+ * Site Logo now supports Custom Logo - a theme tool to be introduced in WordPress 4.5.
14
+
15
+ Enhancements:
16
+
17
+ * Carousel: Made the full size image URL use a Photon URL if enabled.
18
+ * Comments: Removed an unnecessary redirect by always connecting via HTTPS.
19
+ * General: Added new actions that fire before automatic updates.
20
+ * Infinite Scroll: Introduced a later filter for settings.
21
+ * Infinite Scroll: Removed code that is now redundant due to WordPress Core.
22
+ * Markdown: Removed deprecated markup from the output.
23
+ * Publicize: Improved handling of featured images in posts.
24
+ * Shortcodes: Added houzz.com support.
25
+ * Sitemaps: Added a language attribute to the news sitemap.
26
+ * Sitemaps: Improved the image retrieval mechanism for posts.
27
+ * Widgets: Added new filters in the Top Posts Widget code.
28
+ * Widgets: Cleaned up the CSS for the Subscription widget.
29
+
30
+ Bug Fixes:
31
+
32
+ * Comments: No longer reloading the page on clicking the reply button.
33
+ * Contact Forms: Fixed a fatal error on missing metadata.
34
+ * Contact Forms: Fixed message formatting for plaintext email clients.
35
+ * Shortcodes: Fixed dimensions of Vimeo embeds in certain cases.
36
+ * Shortcodes: Fixed warnings and allowed shorter style Vimeo embeds.
37
+ * Shortcodes: Removed alignment markup from feeds for YouTube embeds.
38
+ * Sitemaps: Made URLs display properly according to the permalink structure.
39
+ * Stats: Fixed non-XHTML-valid markup.
40
+ * Widgets: No longer showing errors when adding new instances of the Display Post Widget.
41
+
42
+ = 3.9.2 =
43
+ Release date: February 25th, 2016
44
+ Release post: http://wp.me/p1moTy-2Ei
45
+
46
+ Maintenance and Security Release
47
+
48
+ Featured:
49
+
50
+ * Beautiful Math: fix XSS vulnerability when parsing LaTeX markup within HTML elements.
51
+ * Contact Form: do not save private site credentials in post meta. Thanks to @visualdatasolutions.
52
+
53
+ Enhancements:
54
+
55
+ * Contact Info: Added two hooks for adding arbitrary information to the widget.
56
+ * Development: Added new possibilities for REST API debugging.
57
+ * Embeds: Added Codepen embeds support.
58
+ * Embeds: Added Sketchfab embeds support.
59
+ * I18n: Added support for translation packages for the Finnish language.
60
+ * Markdown: Added a filter to enable skipping processing of developer supplied patterns.
61
+ * Related Posts: Added a filter to change heading markup.
62
+ * Staging: Added a constant to force staging mode.
63
+ * Staging: Added a notice to make staging mode more obvious.
64
+ * Top Posts Widget: Added a new `[jetpack_top_posts_widget]` shortcode.
65
+
66
+ Bug Fixes:
67
+
68
+ * Custom Post Types: Nova: Fixed a JavaScript bug on adding multiple items.
69
+ * Embeds: Allowing embeds from Instagram with a www in an URL.
70
+ * General: Fixed untranslated module names on the Settings screen.
71
+ * General: Improved module descriptions and fixed misleading or broken links in descriptions.
72
+ * General: No more notices on module deprecation on older installations.
73
+ * General: Only showing one prompt to enable Photon when uploading several new images.
74
+ * Multisite: Fixed a problem with site lists for older WordPress installations.
75
+ * OpenGraph: Fixed a bug to properly fallback to a WordPress Site Icon image.
76
+ * Photon: Improve performance for images over a secure connection.
77
+ * Photon: No longer including links from data attributes.
78
+ * Publicize: Fixed problems for en_AU and en_CA locales with Facebook.
79
+ * Related Posts: Fixed a notice on certain requests.
80
+ * Site Logo: It's no longer possible to choose a non-image.
81
+ * Widget Visibility: No longer confusing page IDs and titles in certain cases.
82
+
83
+ = 3.9.1 =
84
+ Release date: January 21st, 2016
85
+
86
+ Bug Fixes:
87
+
88
+ * General: Addresses a namespacing issue which was causing conflicts on some hosting providers.
89
+ * Sitemaps: Added MSM-Sitemap to the list of plugins which, if installed, will prevent Jetpack Sitemaps from being used
90
+
91
+ = 3.9 =
92
+ Release date: January 20th, 2016
93
+
94
+ Featured:
95
+
96
+ * New sharing button: let users share your content using Skype.
97
+ * New "Social Menu" theme tool that uses Genericons to display Social Links.
98
+ * Sitemap support for better search engine indexing.
99
+
100
+ Enhancements:
101
+
102
+ * Contact Form: Added a new filter that allows you to change the "Required" text.
103
+ * General: Hidden archived sites in multisite site list.
104
+ * General: Removed several function calls that would be deprecated in WordPress 4.5.
105
+ * Infinite Scroll: Added a new filter to check if Infinite Scroll has been triggered.
106
+ * Likes: Added a conditional to ensure WordPress 4.5 compatibility.
107
+ * Photon: Improved compatibility with responsive images feature added in WordPress 4.4.
108
+ * Photon: Now enabled by default on sites using HTTPS.
109
+ * REST API: Extended the ability to manage users from WordPress.com.
110
+ * REST API: Increased the performance of the plugin update endpoint.
111
+ * Responsive Videos: Centering videos when they are wrapped in a centered paragraph.
112
+ * Sharing: Added a new filter to customize the default OpenGraph description.
113
+ * Shortcodes: Added Wistia oEmbed support.
114
+ * Shortcodes: Bandcamp: Added support for new attributes for tracks approved by artists.
115
+ * Shortcodes: Improved Medium path format recognition.
116
+ * Slideshow: Improved compatibility with older IE versions.
117
+ * Staging: Improved staging environment detection.
118
+ * Widgets: Added "width" option to the Facebook Page widget.
119
+ * Widgets: Added size parameters to tags in Top Posts to avoid warnings.
120
+ * Widgets: Introduced major performance and stability improvements to the Display Posts Widget.
121
+ * Widgets: Refactored to remove deprecated code patterns.
122
+
123
+ Bug Fixes:
124
+
125
+ * AtD: Fixed replacing emojis with images in the text editor in Chrome.
126
+ * AtD: Made pre tags be excluded from spell-checking.
127
+ * CPT: Not registering Nova if it is already registered.
128
+ * Carousel: Fixed a bug where full size images were not always served by Photon.
129
+ * Carousel: Reverted a change that broke direct link to carousel image.
130
+ * Contact Form: Fixed a CSV export bug with multiple choice questions.
131
+ * Contact Form: Fixed notices when creating feedback entries without a contact form.
132
+ * General: Fixed a scrolling bug on modal window closing.
133
+ * Infinite Scroll: Disabled in the Customizer when previewing a non-active theme.
134
+ * Publicize: Fixed notices appearing with bbPress or BuddyPress installed.
135
+ * Publicize: Showing options only to users that can change them.
136
+ * Related Posts: Fixed incorrect URLs generated for posts.
137
+ * Responsive Videos: Fixed warnings in debug mode.
138
+ * Shortcodes: Bandcamp: Fixed a problem with large track IDs.
139
+ * Shortcodes: Fixed a problem with dynamic Gist embeds.
140
+ * Stats: Fixed dashboard widget resize problem.
141
+ * Widgets: Added a fallback to English US when a locale isn't supported by Facebook.
142
+ * Widgets: Fixed layout for Twenty Sixteen.
143
+
144
+ = 3.8.2 =
145
+ Release date: December 17th, 2015
146
+ Release post: http://wp.me/p1moTy-26v
147
+
148
+ Jetpack 3.8.2 is here to squash a few annoying bugs.
149
+
150
+ Bug Fixes:
151
+
152
+ * Photon: Fixed a bug where some custom thumbnail image sizes weren't being sized properly.
153
+ * Shortcodes: Fixed an incompatibility with how WordPress renders the YouTube shortcode.
154
+ * Shortcodes: Tightened up security in the Wufoo shortcode.
155
+ * Image Widget: Now shows the caption.
156
+ * Fixed typos in inline docs.
157
+ * Very minor fixes to: Carousel, Publicize, Google+, and Infinite Scroll.
158
+
159
+ = 3.8.1 =
160
+ Release date: December 1st, 2015
161
+ Release post: http://wp.me/p1moTy-23V
162
+
163
+ Jetpack 3.8.1 is here and is fully compatible with WordPress 4.4.
164
+
165
+ Featured:
166
+
167
+ * Photon + Responsive Images FTW.
168
+ * Fully compatible with Twenty Sixteen.
169
+ * More accessibility enhancements.
170
+ * Dropped some weight by optimizing Jetpack's plugin images.
171
+
172
+ Enhancements:
173
+
174
+ * Comments: filter to allow disabling comments per post type.
175
+
176
+ Bug Fixes:
177
+
178
+ * Carousel: Stop page from scrolling to top when Carousel is closed.
179
+ * Carousel: Browser compatibility fixes with older version of IE.
180
+ * Markdown: Fixed a bug that would strip markdown when saving in "Quick Edit" mode.
181
+ * Single Sign On: Fixed login always redirecting to the admin dashboard.
182
+ * Subscriptions: Filter to allow per-post emails fixed for use in themes.
183
+
184
+ = 3.8.0 =
185
+ Release date: November 4th, 2015
186
+ Release post: http://wp.me/p1moTy-1VN
187
+
188
+ We're happy to introduce Jetpack 3.8, which has significant contributions from the Jetpack community. Read more about it here: http://wp.me/p1moTy-1VN
189
+
190
+ Feature enhancements:
191
+
192
+ * New Google+ Badge Widget. Display your profile, page, or community Google+ badge.
193
+ * New twitch.tv shortcode embeds. Display a Twitch.tv stream in your posts.
194
+ * Accessibility enhancements.
195
+ * A handful of new filters to allow further customization of Jetpack.
196
+
197
+ Other enhancements:
198
+
199
+ * Carousel: Added support to retrieve image dimensions from an image url.
200
+ * Carousel: Simpler algorithm to detect shutter speeds.
201
+ * Contact Form: New "Checkbox with Multiple Items" field available in the Contact Form.
202
+ * Contact Form: Allow pre-filling form fields with URL parameters.
203
+ * Contact Form: Better styling of the emailed form responses.
204
+ * Performance: Replaced some custom-built functions with core's native functions.
205
+ * Related Posts: New filter to add post classes to post's container class.
206
+ * Sharing: New filter to choose if sharing meta box should be shown.
207
+ * Sharing: New filter to allow sharing button markup to be editable.
208
+ * Sharing: New filter to allow you to specify a custom Facebook app ID.
209
+ * Social Media Icons Widget: Added option for YouTube username as well as Channel ID.
210
+ * Social Media Icons Widget: Added Google+ icon.
211
+ * Social Media Icons Widget: New filter to allow you to add your own social media icons and links.
212
+ * Subscriptions: Better errors to your visitors if their subscription sign-up fails.
213
+ * Subscriptions: Removed "widget" class from Subs shortcode form.
214
+
215
+
216
+ Bug fixes:
217
+
218
+ * Carousel: Fixed browser back/forward button behavior.
219
+ * Contact Form: Allow the email field to be set to empty when building form in post editor.
220
+ * Facebook Likebox Widget: Fixed an issue where some languages were not translating.
221
+ * Facebook Likebox Widget: Return a language when none found.
222
+ * General: Fixed some minor styling issues in the Jetpack admin areas.
223
+ * General: Add missing parameter to the_title filter call.
224
+ * General: Prevent scrolling of body when the Jetpack admin modals are opened.
225
+ * General: Update doc to reflect that Open Graph filter jetpack_enable_opengraph has been deprecated in favor of jetpack_enable_open_graph.
226
+ * Infinite Scroll: Fixed an error that sometimes occurred that would stop posts from loading.
227
+ * JSON API: Fixed some undefined notices when publishing a post with the API.
228
+ * Open Graph: Fixed bug where facebook description content was sometimes being polluted by a filter.
229
+ * Sharing: Use full SSL Pinterest url instead of protocol relative.
230
+ * Sharing: Fixed plus signs appearing in tweets shared from iOS.
231
+ * Shortcodes: Prefer HTTPS for video embeds to avoid mixed content warnings.
232
+ * Subscriptions Widget: Fix HTML Validation error.
233
+ * Theme Tools: Check oEmbeds for the presence of a video before adding the responsive videos filter.
234
+ * Tiled Galleries: Add image alt attribute if there is a title set. This was breaking some screen reader functionality.
235
+
236
  = 3.7.2 =
237
  Release date: September 29th, 2015
238
 
333
 
334
  = 3.6 =
335
  Release Date: July 6th, 2015
336
+ Release Post: http://jetpack.com/2015/07/06/jetpack-3-6-updated-social-widgets-jetpack-cli-and-more/
337
 
338
  Feature Enhancements:
339
 
340
+ * CLI: Add a number of Jetpack CLI improvements: see http://jetpack.com/support/jetpack-cli
341
  * New Jetpack admin page for connection management
342
  * New Social Media Icons widget
343
  * FB Like Box: A visual refresh of the Facebook likebox widget
401
 
402
  = 3.5 =
403
  Release Date: April 23rd, 2015
404
+ Release Post: http://jetpack.com/2016/04/23/jetpack-3-5-menu-management/
405
 
406
  Jetpack 3.5 introduces the ability to manage your site's menus directly from WordPress.com and several bug fixes and enhancements. This upgrade is recommended for all users.
407
 
449
  = 3.4 =
450
  Release Date: March 18th, 2015
451
 
452
+ Release Post: http://jetpack.com/2015/03/17/jetpack-3-4-protect-secure-and-simplify/
453
 
454
  * Enhancement : Config Settings: provide a notification for users that update features settings
455
  * Enhancement : Config Settings: provide a notification for users that update features settings
533
 
534
  = 3.3 =
535
  Release Date: December 15th, 2014
536
+ Release Post: http://jetpack.com/2014/12/16/jetpack-3-3-a-single-home-for-all-your-wordpress-sites/
537
 
538
  * Enhancement: Adds responsive video support to BuddyPress.
539
  * Enhancement: Custom Content Types: Added 'order' and 'orderby' options to portfolio shortcode.
582
 
583
  = 3.2 =
584
  Release Date: October 29, 2014
585
+ Release Post: http://jetpack.com/2014/11/03/jetpack-3-2/
586
 
587
  * Enhancement: Speed Improvements (woohoo!).
588
  * Enhancement: Add site icons: an avatar for your blog.
620
 
621
  = 3.1 =
622
  Release Date: July 31, 2014
623
+ Release Post: http://jetpack.com/2014/07/31/jetpack-3-1-portfolio-custom-post-types-a-new-logo-and-much-more/
624
 
625
  * Enhancement: New Custom Content Types module.
626
  * Enhancement: New Jetpack Logo.
692
 
693
  = 3.0 =
694
  Release Date: May 20, 2014
695
+ Release Post: http://jetpack.com/2014/05/20/jetpack-3-0/
696
 
697
  * New User Interface for managing modules and settings
698
  * New Module: Verfication Tools
736
 
737
  = 2.9 =
738
  Release Date: February 26, 2014
739
+ Release Post: http://jetpack.com/2014/02/26/jetpack-2-9/
740
 
741
  * Added Multisite network functionality
742
  * New Module: Related Posts
760
 
761
  = 2.8 =
762
  Release Date: January 31, 2014
763
+ Release Post: http://jetpack.com/2014/01/31/jetpack-2-8-introducing-markdown-and-improving-monitor/
764
 
765
  * New Module: Markdown
766
  * Module Update: Jetpack Monitor
801
 
802
  = 2.7 =
803
  Release Date: December 11, 2013
804
+ Release Post: http://jetpack.com/2013/12/11/jetpack-2-7-publicize/
805
 
806
  * Enhancement: Google+ Publicize
807
  * Enhancement: Add Cloudup as an oEmbed provider
838
 
839
  = 2.6 =
840
  Release Date: November 28, 2013
841
+ Release Post: http://jetpack.com/2013/11/26/new-release-jetpack-2-6/
842
 
843
+ * Enhancement: WPCC / now called [SSO](http://jetpack.com/support/sso/): refactored.
844
+ * Enhancement: Monitor: new module which will notify you if your site goes down(http://jetpack.com/support/monitor/).
845
  * Enhancement: Custom CSS: replace Ace editor with Codemirror.
846
  * Enhancement: Widgets: new “Display Posts” widget.
847
  * Enhancement: WP-CLI: add commands to disconnect a site and manage modules.
876
 
877
  = 2.5 =
878
  Release Date: September 19, 2013
879
+ Release Post: http://jetpack.com/2013/09/19/jetpack-2-5/
880
 
881
  * Enhancement: Connect your Google+ profile and WordPress site to prove authorship of posts.
882
  * Enhancement: Improved sharing buttons display.
926
 
927
  = 2.4 =
928
  Release Date: August 30, 2013
929
+ Release Post: http://jetpack.com/2013/09/04/jetpack-2-4-widget-visibility-and-wpcc-and-more/
930
 
931
  * Enhancement: WordPress.com Connect (WPCC): New Module.
932
  * Enhancement: Widget Visibility: New Module.
1005
 
1006
  = 2.3 =
1007
  Release Date: June 19, 2013
1008
+ Release Post: http://jetpack.com/2013/06/19/jetpack-2-3/
1009
 
1010
  * Enhancement: Omnisearch: Search once, get results from everything! Omnisearch is a single search box that lets you search many different things
1011
  * Enhancement: Debugger: this module helps you debug connection issues right from your dashboard, and contact the Jetpack support team if needed
1168
 
1169
  = 2.2 =
1170
  Release Date: February 26, 2013
1171
+ Release Post: http://jetpack.com/2013/02/26/jetpack-2-2-likes/
1172
 
1173
  * Enhancement: Likes: Allow your readers to show their appreciation of your posts.
1174
  * Enhancement: Shortcodes: SoundCloud: Update to version 2.3 of the SoundCloud plugin (HTML5 default player, various fixes).
1249
 
1250
  = 2.1 =
1251
  Release Date: January 4, 2013
1252
+ Release Post: http://jetpack.com/2013/01/04/galleries/
1253
 
1254
  * Enhancement: Tiled Galleries: Show off your photos with cool mosaic galleries.
1255
  * Enhancement: Slideshow gallery type: Display any gallery as a slideshow.
1308
 
1309
  = 2.0 =
1310
  Release Date: November 8, 2012
1311
+ Release Post: http://jetpack.com/2012/11/08/jetpack-2-0-publicize-to-facebook-twitter-linkedin-tumblr-post-by-email-photon-infinite-scroll/
1312
 
1313
  * Enhancement: Publicize: Connect your site to popular social networks and automatically share new posts with your friends.
1314
  * Enhancement: Post By Email: Publish posts to your blog directly from your personal email account.
1335
 
1336
  = 1.9 =
1337
  Release Date: October 26, 2012
1338
+ Release Post: http://jetpack.com/2012/10/26/jetpack-1-9-toolbar-notifications/
1339
 
1340
  * Enhancement: Notifications: Display Notifications in the toolbar and support reply/moderation of comment notifications.
1341
  * Enhancement: Mobile Push Notifications: Added support for mobile push notifications of new comments for users that linked their accounts to WordPress.com accounts.
1387
 
1388
  = 1.8 =
1389
  Release Date: September 27, 2012
1390
+ Release Post: http://jetpack.com/2012/09/27/jetpack-1-8-mobile-theme/
1391
 
1392
  * Enhancement: Mobile Theme: Automatically serve a slimmed down version of your site to users on mobile devices.
1393
  * Enhancement: Multiuser: Allow multiple users to link their accounts to WordPress.com accounts.
1405
 
1406
  = 1.7 =
1407
  Release Date: August 23, 2012
1408
+ Release Post: http://jetpack.com/2012/08/23/jetpack-1-7-custom-css/
1409
 
1410
  * Enhancement: CSS Editor: Customize your site's design without modifying your theme.
1411
  * Enhancement: Comments: Submit the comment within the iframe. No more full page load to jetpack.wordpress.com.
1438
 
1439
  = 1.6 =
1440
  Release Date: August 2, 2012
1441
+ Release Post: http://jetpack.com/2012/08/02/jetpack-1-6-retina-and-pinterest/
1442
 
1443
  * Enhancement: Carousel: Better image resolution selection based on available width/height.
1444
  * Enhancement: Carousel: Load image caption, metadata, comments, et alii when a slide is clicked to switch to instead of waiting.
1517
 
1518
  = 1.3 =
1519
  Release Date: April 25, 2012
1520
+ Release Post: http://jetpack.com/2012/04/24/jetpack-1-3-released-contact-forms/
1521
 
1522
  * Enhancement: Add Contact Forms feature. Formerly Grunion Contact Forms.
1523
  * Bug Fix: Tweak YouTube autoembedder to catch more YouTube URLs.
1567
  * Bug Fix: Fixed errors displayed during some upgrades.
1568
  * Bug Fix: Fix inaccurate new modules "bubble" in menu for some upgrades.
1569
  * Bug Fix: Fix VaultPress detection.
1570
+ * Bug Fix: Fix link to http://jetpack.com/faq/
1571
 
1572
  = 1.2 =
1573
  Release Date: November 17, 2011
1574
+ Release Post: http://jetpack.com/2011/11/17/announcing-jetpack-1-2/
1575
 
1576
  * Enhancement: Add Subscriptions: Subscribe to site's posts and posts' comments.
1577
  * Enhancement: Add Google Maps shortcode.
class.jetpack-admin.php CHANGED
@@ -111,23 +111,13 @@ class Jetpack_Admin {
111
  $module_array['learn_more_button'] = ob_get_clean();
112
 
113
  ob_start();
114
- if ( Jetpack::is_active() && has_action( 'jetpack_module_more_info_connected_' . $module ) ) {
115
- /**
116
- * Allow the display of information text when Jetpack is connected to WordPress.com.
117
- * The dynamic part of the action, $module, is the module slug.
118
- *
119
- * @since 3.0.0
120
- */
121
- do_action( 'jetpack_module_more_info_connected_' . $module );
122
- } else {
123
- /**
124
- * Allow the display of information text when Jetpack is connected to WordPress.com.
125
- * The dynamic part of the action, $module, is the module slug.
126
- *
127
- * @since 3.0.0
128
- */
129
- do_action( 'jetpack_module_more_info_' . $module );
130
- }
131
 
132
  /**
133
  * Filter the long description of a module.
111
  $module_array['learn_more_button'] = ob_get_clean();
112
 
113
  ob_start();
114
+ /**
115
+ * Allow the display of information text when Jetpack is connected to WordPress.com.
116
+ * The dynamic part of the action, $module, is the module slug.
117
+ *
118
+ * @since 3.0.0
119
+ */
120
+ do_action( 'jetpack_module_more_info_' . $module );
 
 
 
 
 
 
 
 
 
 
121
 
122
  /**
123
  * Filter the long description of a module.
class.jetpack-cli.php CHANGED
@@ -579,7 +579,7 @@ function jetpack_cli_are_you_sure( $flagged = false, $error_msg = false ) {
579
  __( 'Action cancelled. Have a question?', 'jetpack' )
580
  . ' '
581
  . $cli->green_open
582
- . 'jetpack.me/support'
583
  . $cli->color_close;
584
  }
585
 
579
  __( 'Action cancelled. Have a question?', 'jetpack' )
580
  . ' '
581
  . $cli->green_open
582
+ . 'jetpack.com/support'
583
  . $cli->color_close;
584
  }
585
 
class.jetpack-client-server.php CHANGED
@@ -234,9 +234,16 @@ class Jetpack_Client_Server {
234
 
235
  if ( !$cap = $jetpack->translate_role_to_cap( $role ) )
236
  return new Jetpack_Error( 'scope', 'No Cap', $code );
237
- if ( !current_user_can( $cap ) )
238
  return new Jetpack_Error( 'scope', 'current_user_cannot', $code );
239
 
 
 
 
 
 
 
 
240
  return (string) $json->access_token;
241
  }
242
 
234
 
235
  if ( !$cap = $jetpack->translate_role_to_cap( $role ) )
236
  return new Jetpack_Error( 'scope', 'No Cap', $code );
237
+ if ( ! current_user_can( $cap ) )
238
  return new Jetpack_Error( 'scope', 'current_user_cannot', $code );
239
 
240
+ /**
241
+ * Fires after user has successfully received an auth token.
242
+ *
243
+ * @since 3.9.0
244
+ */
245
+ do_action( 'jetpack_user_authorized' );
246
+
247
  return (string) $json->access_token;
248
  }
249
 
class.jetpack-client.php CHANGED
@@ -1,7 +1,6 @@
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
  /**
@@ -111,6 +110,12 @@ class Jetpack_Client {
111
  'Authorization' => "X_JETPACK " . join( ' ', $header_pieces ),
112
  );
113
 
 
 
 
 
 
 
114
  if ( 'header' != $args['auth_location'] ) {
115
  $url = add_query_arg( 'signature', urlencode( $signature ), $url );
116
  }
@@ -271,7 +276,7 @@ class Jetpack_Client {
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
  ) );
1
  <?php
2
 
3
  class Jetpack_Client {
 
4
  const WPCOM_JSON_API_VERSION = '1.1';
5
 
6
  /**
110
  'Authorization' => "X_JETPACK " . join( ' ', $header_pieces ),
111
  );
112
 
113
+ // Make sure we keep the host when we do JETPACK__WPCOM_JSON_API_HOST requests.
114
+ $host = parse_url( $url, PHP_URL_HOST );
115
+ if ( $host === JETPACK__WPCOM_JSON_API_HOST ) {
116
+ $request['headers']['Host'] = 'public-api.wordpress.com';
117
+ }
118
+
119
  if ( 'header' != $args['auth_location'] ) {
120
  $url = add_query_arg( 'signature', urlencode( $signature ), $url );
121
  }
276
  }
277
 
278
  $validated_args = array_merge( $filtered_args, array(
279
+ 'url' => sprintf( '%s://%s/rest/v%s/%s', $proto, JETPACK__WPCOM_JSON_API_HOST, $version, $_path ),
280
  'blog_id' => (int) Jetpack_Options::get_option( 'id' ),
281
  'method' => $request_method,
282
  ) );
class.jetpack-debugger.php CHANGED
@@ -4,7 +4,7 @@ class Jetpack_Debugger {
4
 
5
  private static function is_jetpack_support_open() {
6
  try {
7
- $response = wp_remote_request( "http://jetpack.me/is-support-open" );
8
  $body = wp_remote_retrieve_body( $response );
9
  $json = json_decode( $body );
10
  return ( ( bool ) $json->is_support_open );
@@ -22,8 +22,7 @@ class Jetpack_Debugger {
22
  if ( ! current_user_can( 'manage_options' ) )
23
  wp_die( esc_html__('You do not have sufficient permissions to access this page.', 'jetpack' ) );
24
 
25
- global $current_user;
26
- get_currentuserinfo();
27
 
28
  $user_id = get_current_user_id();
29
  $user_tokens = Jetpack_Options::get_option( 'user_tokens' );
@@ -167,9 +166,21 @@ class Jetpack_Debugger {
167
  <h3><?php esc_html_e( 'Trouble with Jetpack?', 'jetpack' ); ?></h3>
168
  <h4><?php esc_html_e( 'It may be caused by one of these issues, which you can diagnose yourself:', 'jetpack' ); ?></h4>
169
  <ol>
170
- <li><b><em><?php esc_html_e( 'A known issue.', 'jetpack' ); ?></em></b> <?php echo sprintf( __( 'Some themes and plugins have <a href="%1$s">known conflicts</a> with Jetpack – check the <a href="%2$s">list</a>. (You can also browse the <a href="%3$s">Jetpack support pages</a> or <a href="%4$s">Jetpack support forum</a> to see if others have experienced and solved the problem.)', 'jetpack' ), 'http://jetpack.me/support/getting-started-with-jetpack/known-issues/', 'http://jetpack.me/support/getting-started-with-jetpack/known-issues/', 'http://jetpack.me/support/', 'http://wordpress.org/support/plugin/jetpack' ); ?></li>
171
  <li><b><em><?php esc_html_e( 'An incompatible plugin.', 'jetpack' ); ?></em></b> <?php esc_html_e( "Find out by disabling all plugins except Jetpack. If the problem persists, it's not a plugin issue. If the problem is solved, turn your plugins on one by one until the problem pops up again – there's the culprit! Let us know, and we'll try to help.", 'jetpack' ); ?></li>
172
- <li><b><em><?php esc_html_e( 'A theme conflict.', 'jetpack' ); ?></em></b> <?php esc_html_e( "If your problem isn't known or caused by a plugin, try activating Twenty Fifteen (the default WordPress theme). If this solves the problem, something in your theme is probably broken – let the theme's author know.", 'jetpack' ); ?></li>
 
 
 
 
 
 
 
 
 
 
 
 
173
  <li><b><em><?php esc_html_e( 'A problem with your XMLRPC file.', 'jetpack' ); ?></em></b> <?php echo sprintf( __( 'Load your <a href="%s">XMLRPC file</a>. It should say “XML-RPC server accepts POST requests only.” on a line by itself.', 'jetpack' ), site_url( 'xmlrpc.php' ) ); ?>
174
  <ul>
175
  <li>- <?php esc_html_e( "If it's not by itself, a theme or plugin is displaying extra characters. Try steps 2 and 3.", 'jetpack' ); ?></li>
@@ -188,20 +199,35 @@ class Jetpack_Debugger {
188
  </div>
189
  <hr />
190
  <div id="sync-related-posts">
191
- <p><?php echo esc_html__( 'Some features of Jetpack uses the WordPress.com infrastructure and requires that your public content be mirrored there. If you see intermittent issues only affecting certain posts, please try requesting a reindex of your posts.', 'jetpack' ); ?></p>
192
  <?php echo Jetpack::init()->sync->reindex_ui() ?>
193
  </div>
194
  <?php endif; ?>
195
  </div>
196
  <div id="contact-message" <?php if( ! isset( $_GET['contact'] ) ) {?> style="display:none" <?php } ?>>
197
  <?php if ( self::is_jetpack_support_open() ): ?>
198
- <form id="contactme" method="post" action="http://jetpack.me/contact-support/">
199
  <input type="hidden" name="action" value="submit">
200
  <input type="hidden" name="jetpack" value="needs-service">
201
 
202
  <input type="hidden" name="contact_form" id="contact_form" value="1">
203
  <input type="hidden" name="blog_url" id="blog_url" value="<?php echo esc_attr( site_url() ); ?>">
204
- <input type="hidden" name="subject" id="subject" value="from: <?php echo esc_attr( site_url() ); ?> Jetpack contact form">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
  <div class="formbox">
206
  <label for="message" class="h"><?php esc_html_e( 'Please describe the problem you are having.', 'jetpack' ); ?></label>
207
  <textarea name="message" cols="40" rows="7" id="did"></textarea>
4
 
5
  private static function is_jetpack_support_open() {
6
  try {
7
+ $response = wp_remote_request( "http://jetpack.com/is-support-open" );
8
  $body = wp_remote_retrieve_body( $response );
9
  $json = json_decode( $body );
10
  return ( ( bool ) $json->is_support_open );
22
  if ( ! current_user_can( 'manage_options' ) )
23
  wp_die( esc_html__('You do not have sufficient permissions to access this page.', 'jetpack' ) );
24
 
25
+ $current_user = wp_get_current_user();
 
26
 
27
  $user_id = get_current_user_id();
28
  $user_tokens = Jetpack_Options::get_option( 'user_tokens' );
166
  <h3><?php esc_html_e( 'Trouble with Jetpack?', 'jetpack' ); ?></h3>
167
  <h4><?php esc_html_e( 'It may be caused by one of these issues, which you can diagnose yourself:', 'jetpack' ); ?></h4>
168
  <ol>
169
+ <li><b><em><?php esc_html_e( 'A known issue.', 'jetpack' ); ?></em></b> <?php echo sprintf( __( 'Some themes and plugins have <a href="%1$s">known conflicts</a> with Jetpack – check the <a href="%2$s">list</a>. (You can also browse the <a href="%3$s">Jetpack support pages</a> or <a href="%4$s">Jetpack support forum</a> to see if others have experienced and solved the problem.)', 'jetpack' ), 'http://jetpack.com/support/getting-started-with-jetpack/known-issues/', 'http://jetpack.com/support/getting-started-with-jetpack/known-issues/', 'http://jetpack.com/support/', 'http://wordpress.org/support/plugin/jetpack' ); ?></li>
170
  <li><b><em><?php esc_html_e( 'An incompatible plugin.', 'jetpack' ); ?></em></b> <?php esc_html_e( "Find out by disabling all plugins except Jetpack. If the problem persists, it's not a plugin issue. If the problem is solved, turn your plugins on one by one until the problem pops up again – there's the culprit! Let us know, and we'll try to help.", 'jetpack' ); ?></li>
171
+ <li>
172
+ <b><em><?php esc_html_e( 'A theme conflict.', 'jetpack' ); ?></em></b>
173
+ <?php
174
+ $default_theme = wp_get_theme( WP_DEFAULT_THEME );
175
+
176
+ if ( $default_theme->exists() ) {
177
+ echo esc_html( sprintf( __( "If your problem isn't known or caused by a plugin, try activating %s (the default WordPress theme).", 'jetpack' ), $default_theme->get( 'Name' ) ) );
178
+ } else {
179
+ esc_html_e( "If your problem isn't known or caused by a plugin, try activating the default WordPress theme.", 'jetpack' );
180
+ }
181
+ ?>
182
+ <?php esc_html_e( "If this solves the problem, something in your theme is probably broken – let the theme's author know.", 'jetpack' ); ?>
183
+ </li>
184
  <li><b><em><?php esc_html_e( 'A problem with your XMLRPC file.', 'jetpack' ); ?></em></b> <?php echo sprintf( __( 'Load your <a href="%s">XMLRPC file</a>. It should say “XML-RPC server accepts POST requests only.” on a line by itself.', 'jetpack' ), site_url( 'xmlrpc.php' ) ); ?>
185
  <ul>
186
  <li>- <?php esc_html_e( "If it's not by itself, a theme or plugin is displaying extra characters. Try steps 2 and 3.", 'jetpack' ); ?></li>
199
  </div>
200
  <hr />
201
  <div id="sync-related-posts">
202
+ <p><?php echo esc_html__( 'Some features of Jetpack use the WordPress.com infrastructure and require that your public content be mirrored there. If you see intermittent issues only affecting certain posts, please try requesting a reindex of your posts.', 'jetpack' ); ?></p>
203
  <?php echo Jetpack::init()->sync->reindex_ui() ?>
204
  </div>
205
  <?php endif; ?>
206
  </div>
207
  <div id="contact-message" <?php if( ! isset( $_GET['contact'] ) ) {?> style="display:none" <?php } ?>>
208
  <?php if ( self::is_jetpack_support_open() ): ?>
209
+ <form id="contactme" method="post" action="http://jetpack.com/contact-support/">
210
  <input type="hidden" name="action" value="submit">
211
  <input type="hidden" name="jetpack" value="needs-service">
212
 
213
  <input type="hidden" name="contact_form" id="contact_form" value="1">
214
  <input type="hidden" name="blog_url" id="blog_url" value="<?php echo esc_attr( site_url() ); ?>">
215
+ <?php
216
+ $subject_line = sprintf(
217
+ /* translators: %s is the URL of the site */
218
+ _x( 'from: %s Jetpack contact form', 'Support request email subject line', 'jetpack' ),
219
+ esc_attr( site_url() )
220
+ );
221
+
222
+ if ( Jetpack::is_development_version() ) {
223
+ $subject_line = 'BETA ' . $subject_line;
224
+ }
225
+
226
+ $subject_line_input = printf(
227
+ '<input type="hidden" name="subject" id="subject" value="%s"">',
228
+ $subject_line
229
+ );
230
+ ?>
231
  <div class="formbox">
232
  <label for="message" class="h"><?php esc_html_e( 'Please describe the problem you are having.', 'jetpack' ); ?></label>
233
  <textarea name="message" cols="40" rows="7" id="did"></textarea>
class.jetpack-jitm.php CHANGED
@@ -17,7 +17,14 @@ class Jetpack_JITM {
17
  *
18
  * @var array
19
  */
20
- private static $jetpack_hide_jitm = array();
 
 
 
 
 
 
 
21
 
22
  static function init() {
23
  if ( is_null( self::$instance ) ) {
@@ -28,7 +35,7 @@ class Jetpack_JITM {
28
  }
29
 
30
  private function __construct() {
31
- if ( ! Jetpack::is_active() ) {
32
  return;
33
  }
34
  add_action( 'current_screen', array( $this, 'prepare_jitms' ) );
@@ -39,31 +46,26 @@ class Jetpack_JITM {
39
  *
40
  * @since 3.8.2
41
  *
 
 
42
  * @param object $screen
43
  */
44
  function prepare_jitms( $screen ) {
45
- global $pagenow;
46
- $post_type = $screen->post_type;
47
- self::$jetpack_hide_jitm = Jetpack_Options::get_option( 'hide_jitm' );
48
- $showphoton = empty( self::$jetpack_hide_jitm['photon'] ) ? 'show' : self::$jetpack_hide_jitm['photon'];
49
- $showmanage = empty( self::$jetpack_hide_jitm['manage'] ) ? 'show' : self::$jetpack_hide_jitm['manage'];
50
- $show_manage_pi = empty( self::$jetpack_hide_jitm['manage-pi'] ) ? 'show' : self::$jetpack_hide_jitm['manage-pi'];
51
- $show_editor = empty( self::$jetpack_hide_jitm['editor'] ) ? 'show' : self::$jetpack_hide_jitm['editor'];
52
- if ( 'media-new.php' == $pagenow && ! Jetpack::is_module_active( 'photon' ) && 'hide' != $showphoton ) {
53
- add_action( 'admin_enqueue_scripts', array( $this, 'jitm_enqueue_files' ) );
54
- add_action( 'post-plupload-upload-ui', array( $this, 'photon_msg' ) );
55
  }
56
- else if ( 'update-core.php' == $pagenow && 'hide' != $showmanage ) {
 
57
  add_action( 'admin_enqueue_scripts', array( $this, 'jitm_enqueue_files' ) );
58
- add_action( 'admin_notices', array( $this, 'manage_msg' ) );
59
  }
60
- elseif ( 'plugins.php' === $pagenow && isset( $_GET['activate'] ) && 'true' === $_GET['activate'] && 'hide' != $show_manage_pi ) {
61
  add_action( 'admin_enqueue_scripts', array( $this, 'jitm_enqueue_files' ) );
62
- add_action( 'pre_current_active_plugins', array( $this, 'manage_pi_msg' ) );
63
  }
64
- elseif ( 'post-new.php' === $pagenow && in_array( $post_type, array( 'post', 'page' ) ) && 'hide' != $show_editor ) {
65
  add_action( 'admin_enqueue_scripts', array( $this, 'jitm_enqueue_files' ) );
66
- add_action( 'admin_notices', array( $this, 'editor_msg' ) );
67
  }
68
  }
69
 
@@ -72,30 +74,31 @@ class Jetpack_JITM {
72
  *
73
  */
74
  function manage_msg() {
75
- if ( current_user_can( 'jetpack_manage_modules' ) ) {
76
- $normalized_site_url = Jetpack::build_raw_urls( get_home_url() );
77
- $manage_active = Jetpack::is_module_active( 'manage' );
78
- ?>
79
- <div class="jp-jitm">
80
- <a href="#" data-module="manage" class="dismiss"><span class="genericon genericon-close"></span></a>
81
- <div class="jp-emblem">
82
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0" y="0" viewBox="0 0 172.9 172.9" enable-background="new 0 0 172.9 172.9" xml:space="preserve">
83
- <path d="M86.4 0C38.7 0 0 38.7 0 86.4c0 47.7 38.7 86.4 86.4 86.4s86.4-38.7 86.4-86.4C172.9 38.7 134.2 0 86.4 0zM83.1 106.6l-27.1-6.9C49 98 45.7 90.1 49.3 84l33.8-58.5V106.6zM124.9 88.9l-33.8 58.5V66.3l27.1 6.9C125.1 74.9 128.4 82.8 124.9 88.9z"/>
84
- </svg>
85
- </div>
86
- <p class="msg">
87
- <?php _e( 'Reduce security risks with automated plugin updates.', 'jetpack' ); ?>
88
- </p>
89
- <p>
90
- <img class="j-spinner hide" src="<?php echo esc_url( includes_url( 'images/spinner-2x.gif' ) ); ?>" alt="Loading ..." /><a href="#" data-module="manage" class="activate button <?php if( Jetpack::is_module_active( 'manage' ) ) { echo 'hide'; } ?>"><?php esc_html_e( 'Activate Now', 'jetpack' ); ?></a><a href="<?php echo esc_url( 'https://wordpress.com/plugins/' . $normalized_site_url ); ?>" target="_blank" title="<?php esc_attr_e( 'Go to WordPress.com to try these features', 'jetpack' ); ?>" id="jetpack-wordpressdotcom" class="button button-jetpack <?php if( ! Jetpack::is_module_active( 'manage' ) ) { echo 'hide'; } ?>"><?php esc_html_e( 'Go to WordPress.com', 'jetpack' ); ?></a>
91
- </p>
92
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
93
  <?php
94
- //jitm is being viewed, track it
95
- $jetpack = Jetpack::init();
96
- $jetpack->stat( 'jitm', 'manage-viewed-' . JETPACK__VERSION );
97
- $jetpack->do_stats( 'server_side' );
98
- }
99
  }
100
 
101
  /*
@@ -103,27 +106,52 @@ class Jetpack_JITM {
103
  *
104
  */
105
  function photon_msg() {
106
- if ( current_user_can( 'jetpack_manage_modules' ) ) { ?>
107
- <div class="jp-jitm">
108
- <a href="#" data-module="photon" class="dismiss"><span class="genericon genericon-close"></span></a>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
  <div class="jp-emblem">
110
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0" y="0" viewBox="0 0 172.9 172.9" enable-background="new 0 0 172.9 172.9" xml:space="preserve">
111
- <path d="M86.4 0C38.7 0 0 38.7 0 86.4c0 47.7 38.7 86.4 86.4 86.4s86.4-38.7 86.4-86.4C172.9 38.7 134.2 0 86.4 0zM83.1 106.6l-27.1-6.9C49 98 45.7 90.1 49.3 84l33.8-58.5V106.6zM124.9 88.9l-33.8 58.5V66.3l27.1 6.9C125.1 74.9 128.4 82.8 124.9 88.9z"/>
112
- </svg>
113
  </div>
114
  <p class="msg">
115
- <?php _e( 'Speed up your photos and save bandwidth costs by using a free content delivery network.', 'jetpack' ); ?>
116
  </p>
 
117
  <p>
118
- <img class="j-spinner hide" style="margin-top: 13px;" width="17" height="17" src="<?php echo esc_url( includes_url( 'images/spinner-2x.gif' ) ); ?>" alt="Loading ..." /><a href="#" data-module="photon" class="activate button button-jetpack"><?php esc_html_e( 'Activate Photon', 'jetpack' ); ?></a>
119
  </p>
120
  </div>
 
121
  <?php
122
- //jitm is being viewed, track it
123
- $jetpack = Jetpack::init();
124
- $jetpack->stat( 'jitm', 'photon-viewed-' . JETPACK__VERSION );
125
- $jetpack->do_stats( 'server_side' );
126
- }
127
  }
128
 
129
  /**
@@ -132,45 +160,79 @@ class Jetpack_JITM {
132
  * @since 3.8.2
133
  */
134
  function manage_pi_msg() {
135
- if ( current_user_can( 'jetpack_manage_modules' ) ) {
136
- $normalized_site_url = Jetpack::build_raw_urls( get_home_url() );
137
- $manage_active = Jetpack::is_module_active( 'manage' );
138
- $manage_pi_dismissed = isset( self::$jetpack_hide_jitm['manage-pi'] );
139
 
140
- if ( ! $manage_active || ! $manage_pi_dismissed ) :
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
  ?>
142
  <div class="jp-jitm">
143
- <a href="#" data-module="manage-pi" class="dismiss"><span class="genericon genericon-close"></span></a>
 
144
  <div class="jp-emblem">
145
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0" y="0" viewBox="0 0 172.9 172.9" enable-background="new 0 0 172.9 172.9" xml:space="preserve">
146
- <path d="M86.4 0C38.7 0 0 38.7 0 86.4c0 47.7 38.7 86.4 86.4 86.4s86.4-38.7 86.4-86.4C172.9 38.7 134.2 0 86.4 0zM83.1 106.6l-27.1-6.9C49 98 45.7 90.1 49.3 84l33.8-58.5V106.6zM124.9 88.9l-33.8 58.5V66.3l27.1 6.9C125.1 74.9 128.4 82.8 124.9 88.9z"/>
147
- </svg>
148
  </div>
149
  <?php if ( ! $manage_active ) : ?>
150
  <p class="msg">
151
- <?php _e( 'Save time with automated plugin updates.', 'jetpack' ); ?>
152
  </p>
153
  <p>
154
- <img class="j-spinner hide" src="<?php echo esc_url( includes_url( 'images/spinner-2x.gif' ) ); ?>" alt="<?php echo esc_attr__( 'Loading...', 'jetpack' ); ?>" /><a href="#" data-module="manage" data-module-success="<?php esc_attr_e( 'Success!', 'jetpack' ); ?>" class="activate button"><?php esc_html_e( 'Activate remote management', 'jetpack' ); ?></a>
155
  </p>
156
  <?php elseif ( $manage_active ) : ?>
157
  <p>
158
  <?php esc_html_e( 'Save time with auto updates on WordPress.com', 'jetpack' ); ?>
159
  </p>
160
- <?php endif; // manage inactive ?>
161
- <?php if ( ! $manage_pi_dismissed ) : ?>
162
- <p class="show-after-enable <?php echo $manage_active ? '' : 'hide' ; ?>">
163
- <a href="<?php echo esc_url( 'https://wordpress.com/plugins/' . $normalized_site_url ); ?>" target="_blank" title="<?php esc_attr_e( 'Go to WordPress.com to enable auto-updates for plugins', 'jetpack' ); ?>" data-module="manage-pi" class="button button-jetpack launch show-after-enable"><?php esc_html_e( 'Enable auto-updates on WordPress.com', 'jetpack' ); ?></a>
164
- </p>
165
- <?php endif; // manage-pi inactive ?>
166
  </div>
167
  <?php
168
  //jitm is being viewed, track it
169
  $jetpack = Jetpack::init();
170
  $jetpack->stat( 'jitm', 'manage-pi-viewed-' . JETPACK__VERSION );
171
  $jetpack->do_stats( 'server_side' );
172
- endif; // manage or manage-pi inactive
173
- }
174
  }
175
 
176
  /**
@@ -180,7 +242,7 @@ class Jetpack_JITM {
180
  */
181
  function editor_msg() {
182
  global $typenow;
183
- if ( current_user_can( 'jetpack_manage_modules' ) && current_user_can( 'manage_options' ) ) {
184
  $normalized_site_url = Jetpack::build_raw_urls( get_home_url() );
185
  $editor_dismissed = isset( self::$jetpack_hide_jitm['editor'] );
186
  if ( ! $editor_dismissed ) :
@@ -188,9 +250,7 @@ class Jetpack_JITM {
188
  <div class="jp-jitm">
189
  <a href="#" data-module="editor" class="dismiss"><span class="genericon genericon-close"></span></a>
190
  <div class="jp-emblem">
191
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0" y="0" viewBox="0 0 172.9 172.9" enable-background="new 0 0 172.9 172.9" xml:space="preserve">
192
- <path d="M86.4 0C38.7 0 0 38.7 0 86.4c0 47.7 38.7 86.4 86.4 86.4s86.4-38.7 86.4-86.4C172.9 38.7 134.2 0 86.4 0zM83.1 106.6l-27.1-6.9C49 98 45.7 90.1 49.3 84l33.8-58.5V106.6zM124.9 88.9l-33.8 58.5V66.3l27.1 6.9C125.1 74.9 128.4 82.8 124.9 88.9z"/>
193
- </svg>
194
  </div>
195
  <p class="msg">
196
  <?php esc_html_e( 'Try the brand new editor.', 'jetpack' ); ?>
@@ -208,6 +268,131 @@ class Jetpack_JITM {
208
  }
209
  }
210
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  /*
212
  * Function to enqueue jitm css and js
213
  */
@@ -231,17 +416,50 @@ class Jetpack_JITM {
231
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
232
  'jitm_nonce' => wp_create_nonce( 'jetpack-jitm-nonce' ),
233
  'photon_msgs' => array(
234
- 'success' => __( 'Success! Photon is now actively optimizing and serving your images for free.', 'jetpack' ),
235
- 'fail' => __( 'We are sorry but unfortunately Photon did not activate.', 'jetpack' )
236
  ),
237
  'manage_msgs' => array(
238
- 'success' => __( 'Success! WordPress.com tools are now active.', 'jetpack' ),
239
- 'fail' => __( 'We are sorry but unfortunately Manage did not activate.', 'jetpack' )
 
 
 
 
240
  ),
241
  'jitm_stats_url' => $jitm_stats_url
242
  )
243
  );
244
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
245
  }
246
  /**
247
  * Filter to turn off all just in time messages
17
  *
18
  * @var array
19
  */
20
+ private static $jetpack_hide_jitm = null;
21
+
22
+ /**
23
+ * Whether plugin auto updates are allowed in this WordPress installation or not.
24
+ *
25
+ * @var bool
26
+ */
27
+ private static $auto_updates_allowed = false;
28
 
29
  static function init() {
30
  if ( is_null( self::$instance ) ) {
35
  }
36
 
37
  private function __construct() {
38
+ if ( ! Jetpack::is_active() || self::is_jitm_dismissed() ) {
39
  return;
40
  }
41
  add_action( 'current_screen', array( $this, 'prepare_jitms' ) );
46
  *
47
  * @since 3.8.2
48
  *
49
+ * @uses Jetpack_Autoupdate::get_possible_failures()
50
+ *
51
  * @param object $screen
52
  */
53
  function prepare_jitms( $screen ) {
54
+ if ( ! current_user_can( 'jetpack_manage_modules' ) ) {
55
+ return;
 
 
 
 
 
 
 
 
56
  }
57
+
58
+ if ( 'edit-comments' == $screen->base && ! Jetpack::is_plugin_active( 'akismet/akismet.php' ) ) {
59
  add_action( 'admin_enqueue_scripts', array( $this, 'jitm_enqueue_files' ) );
60
+ add_action( 'admin_notices', array( $this, 'akismet_msg' ) );
61
  }
62
+ elseif ( 'post' == $screen->base && ( isset( $_GET['message'] ) && 6 == $_GET['message'] ) ) {
63
  add_action( 'admin_enqueue_scripts', array( $this, 'jitm_enqueue_files' ) );
64
+ add_action( 'edit_form_top', array( $this, 'backups_after_publish_msg' ) );
65
  }
66
+ elseif ( 'update-core' == $screen->base && ! Jetpack::is_plugin_active( 'vaultpress/vaultpress.php' ) ) {
67
  add_action( 'admin_enqueue_scripts', array( $this, 'jitm_enqueue_files' ) );
68
+ add_action( 'admin_notices', array( $this, 'backups_updates_msg' ) );
69
  }
70
  }
71
 
74
  *
75
  */
76
  function manage_msg() {
77
+ $normalized_site_url = Jetpack::build_raw_urls( get_home_url() );
78
+ ?>
79
+ <div class="jp-jitm">
80
+ <a href="#" data-module="manage" class="dismiss"><span class="genericon genericon-close"></span></a>
81
+
82
+ <div class="jp-emblem">
83
+ <?php echo self::get_jp_emblem(); ?>
 
 
 
 
 
 
 
 
 
 
84
  </div>
85
+ <p class="msg">
86
+ <?php esc_html_e( 'Reduce security risks with automated plugin updates.', 'jetpack' ); ?>
87
+ </p>
88
+
89
+ <p>
90
+ <img class="j-spinner hide" src="<?php echo esc_url( includes_url( 'images/spinner-2x.gif' ) ); ?>" alt="<?php echo esc_attr__( 'Loading...', 'jetpack' ); ?>" /><a href="#" data-module="manage" class="activate button <?php if ( Jetpack::is_module_active( 'manage' ) ) {
91
+ echo 'hide';
92
+ } ?>"><?php esc_html_e( 'Activate Now', 'jetpack' ); ?></a><a href="<?php echo esc_url( 'https://wordpress.com/plugins/' . $normalized_site_url ); ?>" target="_blank" title="<?php esc_attr_e( 'Go to WordPress.com to try these features', 'jetpack' ); ?>" id="jetpack-wordpressdotcom" class="button button-jetpack <?php if ( ! Jetpack::is_module_active( 'manage' ) ) {
93
+ echo 'hide';
94
+ } ?>"><?php esc_html_e( 'Go to WordPress.com', 'jetpack' ); ?></a>
95
+ </p>
96
+ </div>
97
  <?php
98
+ //jitm is being viewed, track it
99
+ $jetpack = Jetpack::init();
100
+ $jetpack->stat( 'jitm', 'manage-viewed-' . JETPACK__VERSION );
101
+ $jetpack->do_stats( 'server_side' );
 
102
  }
103
 
104
  /*
106
  *
107
  */
108
  function photon_msg() {
109
+ ?>
110
+ <div class="jp-jitm">
111
+ <a href="#" data-module="photon" class="dismiss"><span class="genericon genericon-close"></span></a>
112
+
113
+ <div class="jp-emblem">
114
+ <?php echo self::get_jp_emblem(); ?>
115
+ </div>
116
+ <p class="msg">
117
+ <?php esc_html_e( 'Speed up your photos and save bandwidth costs by using a free content delivery network.', 'jetpack' ); ?>
118
+ </p>
119
+
120
+ <p>
121
+ <img class="j-spinner hide" style="margin-top: 13px;" width="17" height="17" src="<?php echo esc_url( includes_url( 'images/spinner-2x.gif' ) ); ?>" alt="<?php echo esc_attr__( 'Loading...', 'jetpack' ); ?>" /><a href="#" data-module="photon" class="activate button button-jetpack"><?php esc_html_e( 'Activate Photon', 'jetpack' ); ?></a>
122
+ </p>
123
+ </div>
124
+ <?php
125
+ //jitm is being viewed, track it
126
+ $jetpack = Jetpack::init();
127
+ $jetpack->stat( 'jitm', 'photon-viewed-' . JETPACK__VERSION );
128
+ $jetpack->do_stats( 'server_side' );
129
+ }
130
+
131
+ /**
132
+ * Display Photon JITM template in Media Library after user uploads an image.
133
+ *
134
+ * @since 3.9.0
135
+ */
136
+ function photon_tmpl() {
137
+ ?>
138
+ <script id="tmpl-jitm-photon" type="text/html">
139
+ <div class="jp-jitm" data-track="photon-modal">
140
+ <a href="#" data-module="photon" class="dismiss"><span class="genericon genericon-close"></span></a>
141
+
142
  <div class="jp-emblem">
143
+ <?php echo self::get_jp_emblem(); ?>
 
 
144
  </div>
145
  <p class="msg">
146
+ <?php esc_html_e( 'Let Jetpack deliver your images optimized and faster than ever.', 'jetpack' ); ?>
147
  </p>
148
+
149
  <p>
150
+ <img class="j-spinner hide" style="margin-top: 13px;" width="17" height="17" src="<?php echo esc_url( includes_url( 'images/spinner-2x.gif' ) ); ?>" alt="<?php echo esc_attr__( 'Loading...', 'jetpack' ); ?>" /><a href="#" data-module="photon" class="activate button button-jetpack"><?php esc_html_e( 'Activate Photon', 'jetpack' ); ?></a>
151
  </p>
152
  </div>
153
+ </script>
154
  <?php
 
 
 
 
 
155
  }
156
 
157
  /**
160
  * @since 3.8.2
161
  */
162
  function manage_pi_msg() {
163
+ $normalized_site_url = Jetpack::build_raw_urls( get_home_url() );
164
+ $manage_active = Jetpack::is_module_active( 'manage' );
 
 
165
 
166
+ // Check if plugin has auto update already enabled in WordPress.com and don't show JITM in such case.
167
+ $active_before = get_option( 'jetpack_temp_active_plugins_before', array() );
168
+ delete_option( 'jetpack_temp_active_plugins_before' );
169
+ $active_now = get_option( 'active_plugins', array() );
170
+ $activated = array_diff( $active_now, $active_before );
171
+ $auto_update_plugin_list = Jetpack_Options::get_option( 'autoupdate_plugins', array() );
172
+ $plugin_auto_update_disabled = false;
173
+ foreach ( $activated as $plugin ) {
174
+ if ( ! in_array( $plugin, $auto_update_plugin_list ) ) {
175
+
176
+ // Plugin doesn't have auto updates enabled in WordPress.com yet.
177
+ $plugin_auto_update_disabled = true;
178
+
179
+ // We don't need to continue checking, it's ok to show JITM for this plugin.
180
+ break;
181
+ }
182
+ }
183
+
184
+ // Check if the activated plugin is in the WordPress.org repository
185
+ $plugin_can_auto_update = false;
186
+ $plugin_updates = get_site_transient( 'update_plugins' );
187
+ if ( false === $plugin_updates ) {
188
+
189
+ // If update_plugins doesn't exist, display message anyway
190
+ $plugin_can_auto_update = true;
191
+ } else {
192
+ $plugin_updates = array_merge( $plugin_updates->response, $plugin_updates->no_update );
193
+ foreach ( $activated as $plugin ) {
194
+ if ( isset( $plugin_updates[ $plugin ] ) ) {
195
+
196
+ // There's at least one plugin set cleared for auto updates
197
+ $plugin_can_auto_update = true;
198
+
199
+ // We don't need to continue checking, it's ok to show JITM for this round.
200
+ break;
201
+ }
202
+ }
203
+ }
204
+
205
+ if ( ! $manage_active && $plugin_auto_update_disabled && $plugin_can_auto_update && self::$auto_updates_allowed ) :
206
  ?>
207
  <div class="jp-jitm">
208
+ <a href="#" data-module="manage-pi" class="dismiss"><span class="genericon genericon-close"></span></a>
209
+
210
  <div class="jp-emblem">
211
+ <?php echo self::get_jp_emblem(); ?>
 
 
212
  </div>
213
  <?php if ( ! $manage_active ) : ?>
214
  <p class="msg">
215
+ <?php esc_html_e( 'Save time with automated plugin updates.', 'jetpack' ); ?>
216
  </p>
217
  <p>
218
+ <img class="j-spinner hide" src="<?php echo esc_url( includes_url( 'images/spinner-2x.gif' ) ); ?>" alt="<?php echo esc_attr__( 'Loading...', 'jetpack' ); ?>" /><a href="#" data-module="manage" data-module-success="<?php esc_attr_e( 'Success!', 'jetpack' ); ?>" class="activate button"><?php esc_html_e( 'Activate remote management', 'jetpack' ); ?></a>
219
  </p>
220
  <?php elseif ( $manage_active ) : ?>
221
  <p>
222
  <?php esc_html_e( 'Save time with auto updates on WordPress.com', 'jetpack' ); ?>
223
  </p>
224
+ <?php endif; // manage inactive
225
+ ?>
226
+ <p class="show-after-enable <?php echo $manage_active ? '' : 'hide'; ?>">
227
+ <a href="<?php echo esc_url( 'https://wordpress.com/plugins/' . $normalized_site_url ); ?>" target="_blank" title="<?php esc_attr_e( 'Go to WordPress.com to enable auto-updates for plugins', 'jetpack' ); ?>" data-module="manage-pi" class="button button-jetpack launch show-after-enable"><?php if ( ! $manage_active ) : ?><?php esc_html_e( 'Enable auto-updates on WordPress.com', 'jetpack' ); ?><?php elseif ( $manage_active ) : ?><?php esc_html_e( 'Enable auto-updates', 'jetpack' ); ?><?php endif; // manage inactive ?></a>
228
+ </p>
 
229
  </div>
230
  <?php
231
  //jitm is being viewed, track it
232
  $jetpack = Jetpack::init();
233
  $jetpack->stat( 'jitm', 'manage-pi-viewed-' . JETPACK__VERSION );
234
  $jetpack->do_stats( 'server_side' );
235
+ endif; // manage inactive
 
236
  }
237
 
238
  /**
242
  */
243
  function editor_msg() {
244
  global $typenow;
245
+ if ( current_user_can( 'manage_options' ) ) {
246
  $normalized_site_url = Jetpack::build_raw_urls( get_home_url() );
247
  $editor_dismissed = isset( self::$jetpack_hide_jitm['editor'] );
248
  if ( ! $editor_dismissed ) :
250
  <div class="jp-jitm">
251
  <a href="#" data-module="editor" class="dismiss"><span class="genericon genericon-close"></span></a>
252
  <div class="jp-emblem">
253
+ <?php echo self::get_jp_emblem(); ?>
 
 
254
  </div>
255
  <p class="msg">
256
  <?php esc_html_e( 'Try the brand new editor.', 'jetpack' ); ?>
268
  }
269
  }
270
 
271
+ /**
272
+ * Display message in editor prompting user to enable stats.
273
+ *
274
+ * @since 3.9.0
275
+ */
276
+ function stats_msg() {
277
+ $stats_active = Jetpack::is_module_active( 'stats' );
278
+ $normalized_site_url = Jetpack::build_raw_urls( get_home_url() );
279
+ ?>
280
+ <div class="jp-jitm">
281
+ <a href="#" data-module="stats" class="dismiss"><span class="genericon genericon-close"></span></a>
282
+
283
+ <div class="jp-emblem">
284
+ <?php echo self::get_jp_emblem(); ?>
285
+ </div>
286
+ <p class="msg">
287
+ <?php esc_html_e( 'Track detailed stats on this post and the rest of your site.', 'jetpack' ); ?>
288
+ </p>
289
+ <?php if ( ! $stats_active ) : ?>
290
+ <p>
291
+ <img class="j-spinner hide" src="<?php echo esc_url( includes_url( 'images/spinner-2x.gif' ) ); ?>" alt="<?php echo esc_attr__( 'Loading...', 'jetpack' ); ?>" /><a href="#" data-module="stats" data-module-success="<?php esc_attr_e( 'Success! Jetpack Stats is now activated.', 'jetpack' ); ?>" class="activate button"><?php esc_html_e( 'Enable Jetpack Stats', 'jetpack' ); ?></a>
292
+ </p>
293
+ <?php endif; // stats inactive
294
+ ?>
295
+ <p class="show-after-enable <?php echo $stats_active ? '' : 'hide'; ?>">
296
+ <a href="<?php echo esc_url( 'https://wordpress.com/stats/insights/' . $normalized_site_url ); ?>" target="_blank" title="<?php esc_attr_e( 'Go to WordPress.com', 'jetpack' ); ?>" data-module="stats" class="button button-jetpack launch show-after-enable"><?php esc_html_e( 'Go to WordPress.com', 'jetpack' ); ?></a>
297
+ </p>
298
+ </div>
299
+ <?php
300
+ //jitm is being viewed, track it
301
+ $jetpack = Jetpack::init();
302
+ $jetpack->stat( 'jitm', 'post-stats-viewed-' . JETPACK__VERSION );
303
+ $jetpack->do_stats( 'server_side' );
304
+ }
305
+
306
+ /**
307
+ * Display JITM in Updates screen prompting user to enable Backups.
308
+ *
309
+ * @since 3.9.5
310
+ */
311
+ function backups_updates_msg() {
312
+ $normalized_site_url = Jetpack::build_raw_urls( get_home_url() );
313
+ $url = 'https://wordpress.com/plans/' . $normalized_site_url;
314
+ $jitm_stats_url = Jetpack::build_stats_url( array( 'x_jetpack-jitm' => 'vaultpress' ) );
315
+ ?>
316
+ <div class="jp-jitm" data-track="vaultpress-updates" data-stats_url="<?php echo esc_url( $jitm_stats_url ); ?>">
317
+ <a href="#" data-module="vaultpress" class="dismiss"><span class="genericon genericon-close"></span></a>
318
+
319
+ <div class="jp-emblem">
320
+ <?php echo self::get_jp_emblem(); ?>
321
+ </div>
322
+ <p class="msg">
323
+ <?php esc_html_e( 'Backups are recommended to protect your site before you make any changes.', 'jetpack' ); ?>
324
+ </p>
325
+ <p>
326
+ <a href="<?php echo esc_url( $url ); ?>" target="_blank" title="<?php esc_attr_e( 'Enable VaultPress Backups', 'jetpack' ); ?>" data-module="vaultpress" data-jptracks-name="nudge_click" data-jptracks-prop="jitm-vault" class="button button-jetpack launch jptracks"><?php esc_html_e( 'Enable VaultPress Backups', 'jetpack' ); ?></a>
327
+ </p>
328
+ </div>
329
+ <?php
330
+ //jitm is being viewed, track it
331
+ $jetpack = Jetpack::init();
332
+ $jetpack->stat( 'jitm', 'vaultpress-updates-viewed-' . JETPACK__VERSION );
333
+ $jetpack->do_stats( 'server_side' );
334
+ }
335
+
336
+ /**
337
+ * Display JITM in Comments screen prompting user to enable Akismet.
338
+ *
339
+ * @since 3.9.5
340
+ */
341
+ function akismet_msg() {
342
+ $normalized_site_url = Jetpack::build_raw_urls( get_home_url() );
343
+ $url = 'https://wordpress.com/plans/' . $normalized_site_url;
344
+ $jitm_stats_url = Jetpack::build_stats_url( array( 'x_jetpack-jitm' => 'akismet' ) );
345
+ ?>
346
+ <div class="jp-jitm" data-stats_url="<?php echo esc_url( $jitm_stats_url ); ?>">
347
+ <a href="#" data-module="akismet" class="dismiss"><span class="genericon genericon-close"></span></a>
348
+
349
+ <div class="jp-emblem">
350
+ <?php echo self::get_jp_emblem(); ?>
351
+ </div>
352
+ <p class="msg">
353
+ <?php esc_html_e( "Spam affects your site's legitimacy, protect your site with Akismet.", 'jetpack' ); ?>
354
+ </p>
355
+ <p>
356
+ <a href="<?php echo esc_url( $url ); ?>" target="_blank" title="<?php esc_attr_e( 'Automate Spam Blocking', 'jetpack' ); ?>" data-module="akismet" data-jptracks-name="nudge_click" data-jptracks-prop="jitm-akismet" class="button button-jetpack launch jptracks"><?php esc_html_e( 'Automate Spam Blocking', 'jetpack' ); ?></a>
357
+ </p>
358
+ </div>
359
+ <?php
360
+ //jitm is being viewed, track it
361
+ $jetpack = Jetpack::init();
362
+ $jetpack->stat( 'jitm', 'akismet-viewed-' . JETPACK__VERSION );
363
+ $jetpack->do_stats( 'server_side' );
364
+ }
365
+
366
+ /**
367
+ * Display JITM after a post is published prompting user to enable Backups.
368
+ *
369
+ * @since 3.9.5
370
+ */
371
+ function backups_after_publish_msg() {
372
+ $normalized_site_url = Jetpack::build_raw_urls( get_home_url() );
373
+ $url = 'https://wordpress.com/plans/' . $normalized_site_url;
374
+ $jitm_stats_url = Jetpack::build_stats_url( array( 'x_jetpack-jitm' => 'vaultpress' ) );
375
+ ?>
376
+ <div class="jp-jitm" data-track="vaultpress-publish" data-stats_url="<?php echo esc_url( $jitm_stats_url ); ?>">
377
+ <a href="#" data-module="vaultpress" class="dismiss"><span class="genericon genericon-close"></span></a>
378
+
379
+ <div class="jp-emblem">
380
+ <?php echo self::get_jp_emblem(); ?>
381
+ </div>
382
+ <p class="msg">
383
+ <?php esc_html_e( "Great job! Now let's make sure your hard work is never lost, backup everything with VaultPress.", 'jetpack' ); ?>
384
+ </p>
385
+ <p>
386
+ <a href="<?php echo esc_url( $url ); ?>" target="_blank" title="<?php esc_attr_e( 'Enable Backups', 'jetpack' ); ?>" data-module="vaultpress" data-jptracks-name="nudge_click" data-jptracks-prop="jitm-vault-post" class="button button-jetpack launch jptracks"><?php esc_html_e( 'Enable Backups', 'jetpack' ); ?></a>
387
+ </p>
388
+ </div>
389
+ <?php
390
+ //jitm is being viewed, track it
391
+ $jetpack = Jetpack::init();
392
+ $jetpack->stat( 'jitm', 'vaultpress-publish-viewed-' . JETPACK__VERSION );
393
+ $jetpack->do_stats( 'server_side' );
394
+ }
395
+
396
  /*
397
  * Function to enqueue jitm css and js
398
  */
416
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
417
  'jitm_nonce' => wp_create_nonce( 'jetpack-jitm-nonce' ),
418
  'photon_msgs' => array(
419
+ 'success' => esc_html__( 'Success! Photon is now actively optimizing and serving your images for free.', 'jetpack' ),
420
+ 'fail' => esc_html__( 'We are sorry but unfortunately Photon did not activate.', 'jetpack' )
421
  ),
422
  'manage_msgs' => array(
423
+ 'success' => esc_html__( 'Success! WordPress.com tools are now active.', 'jetpack' ),
424
+ 'fail' => esc_html__( 'We are sorry but unfortunately Manage did not activate.', 'jetpack' )
425
+ ),
426
+ 'stats_msgs' => array(
427
+ 'success' => esc_html__( 'Success! Stats are now active.', 'jetpack' ),
428
+ 'fail' => esc_html__( 'We are sorry but unfortunately Stats did not activate.', 'jetpack' )
429
  ),
430
  'jitm_stats_url' => $jitm_stats_url
431
  )
432
  );
433
  }
434
+
435
+ /**
436
+ * Check if a JITM was dismissed or not. Currently, dismissing one JITM will dismiss all of them.
437
+ *
438
+ * @since 3.8.2
439
+ *
440
+ * @return bool
441
+ */
442
+ function is_jitm_dismissed() {
443
+ if ( is_null( self::$jetpack_hide_jitm ) ) {
444
+
445
+ // The option returns false when nothing was dismissed
446
+ self::$jetpack_hide_jitm = Jetpack_Options::get_option( 'hide_jitm' );
447
+ }
448
+
449
+ // so if it's not an array, it means no JITM was dismissed
450
+ return is_array( self::$jetpack_hide_jitm );
451
+ }
452
+
453
+ /**
454
+ * Return string containing the Jetpack logo.
455
+ *
456
+ * @since 3.9.0
457
+ *
458
+ * @return string
459
+ */
460
+ function get_jp_emblem() {
461
+ return '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0" y="0" viewBox="0 0 172.9 172.9" enable-background="new 0 0 172.9 172.9" xml:space="preserve"> <path d="M86.4 0C38.7 0 0 38.7 0 86.4c0 47.7 38.7 86.4 86.4 86.4s86.4-38.7 86.4-86.4C172.9 38.7 134.2 0 86.4 0zM83.1 106.6l-27.1-6.9C49 98 45.7 90.1 49.3 84l33.8-58.5V106.6zM124.9 88.9l-33.8 58.5V66.3l27.1 6.9C125.1 74.9 128.4 82.8 124.9 88.9z" /></svg>';
462
+ }
463
  }
464
  /**
465
  * Filter to turn off all just in time messages
class.jetpack-modules-list-table.php CHANGED
@@ -54,7 +54,7 @@ class Jetpack_Modules_List_Table extends WP_List_Table {
54
  );
55
 
56
  wp_localize_script( 'jetpack-modules-list-table', 'jetpackModulesData', array(
57
- 'modules' => $this->all_items,
58
  'i18n' => array(
59
  'search_placeholder' => __( 'Search Modules…', 'jetpack' ),
60
  ),
@@ -306,13 +306,8 @@ class Jetpack_Modules_List_Table extends WP_List_Table {
306
  /** This action is documented in class.jetpack-admin.php */
307
  do_action( 'jetpack_learn_more_button_' . $item['module'] );
308
  echo '<div id="more-info-' . $item['module'] . '" class="more-info">';
309
- if ( Jetpack::is_active() && has_action( 'jetpack_module_more_info_connected_' . $item['module'] ) ) {
310
- /** This action is documented in class.jetpack-admin.php */
311
- do_action( 'jetpack_module_more_info_connected_' . $item['module'] );
312
- } else {
313
- /** This action is documented in class.jetpack-admin.php */
314
- do_action( 'jetpack_module_more_info_' . $item['module'] );
315
- }
316
  echo '</div>';
317
  return ob_get_clean();
318
  }
54
  );
55
 
56
  wp_localize_script( 'jetpack-modules-list-table', 'jetpackModulesData', array(
57
+ 'modules' => Jetpack::get_translated_modules( $this->all_items ),
58
  'i18n' => array(
59
  'search_placeholder' => __( 'Search Modules…', 'jetpack' ),
60
  ),
306
  /** This action is documented in class.jetpack-admin.php */
307
  do_action( 'jetpack_learn_more_button_' . $item['module'] );
308
  echo '<div id="more-info-' . $item['module'] . '" class="more-info">';
309
+ /** This action is documented in class.jetpack-admin.php */
310
+ do_action( 'jetpack_module_more_info_' . $item['module'] );
 
 
 
 
 
311
  echo '</div>';
312
  return ob_get_clean();
313
  }
class.jetpack-network-sites-list-table.php CHANGED
@@ -26,7 +26,10 @@ class Jetpack_Network_Sites_List_Table extends WP_List_Table {
26
  $this->process_bulk_action();
27
 
28
  // Get sites
29
- $sites = $jpms->wp_get_sites( array( 'exclude_blogs' => array( 1 ) ) );
 
 
 
30
 
31
  // Setup pagination
32
  $per_page = 25;
26
  $this->process_bulk_action();
27
 
28
  // Get sites
29
+ $sites = $jpms->wp_get_sites( array(
30
+ 'exclude_blogs' => array( 1 ),
31
+ 'archived' => false,
32
+ ) );
33
 
34
  // Setup pagination
35
  $per_page = 25;
class.jetpack-network.php CHANGED
@@ -769,23 +769,23 @@ class Jetpack_Network {
769
  }
770
 
771
  if ( isset( $args['public'] ) ) {
772
- $query .= $wpdb->prepare( "AND public = %s ", $args['public'] );
773
  }
774
 
775
  if ( isset( $args['archived'] ) ) {
776
- $query .= $wpdb->prepare( "AND archived = %s ", $args['archived'] );
777
  }
778
 
779
  if ( isset( $args['mature'] ) ) {
780
- $query .= $wpdb->prepare( "AND mature = %s ", $args['mature'] );
781
  }
782
 
783
  if ( isset( $args['spam'] ) ) {
784
- $query .= $wpdb->prepare( "AND spam = %s ", $args['spam'] );
785
  }
786
 
787
  if ( isset( $args['deleted'] ) ) {
788
- $query .= $wpdb->prepare( "AND deleted = %s ", $args['deleted'] );
789
  }
790
 
791
  if ( isset( $args['exclude_blogs'] ) ) {
769
  }
770
 
771
  if ( isset( $args['public'] ) ) {
772
+ $query .= $wpdb->prepare( "AND public = %d ", $args['public'] );
773
  }
774
 
775
  if ( isset( $args['archived'] ) ) {
776
+ $query .= $wpdb->prepare( "AND archived = %d ", $args['archived'] );
777
  }
778
 
779
  if ( isset( $args['mature'] ) ) {
780
+ $query .= $wpdb->prepare( "AND mature = %d ", $args['mature'] );
781
  }
782
 
783
  if ( isset( $args['spam'] ) ) {
784
+ $query .= $wpdb->prepare( "AND spam = %d ", $args['spam'] );
785
  }
786
 
787
  if ( isset( $args['deleted'] ) ) {
788
+ $query .= $wpdb->prepare( "AND deleted = %d ", $args['deleted'] );
789
  }
790
 
791
  if ( isset( $args['exclude_blogs'] ) ) {
class.jetpack-post-images.php CHANGED
@@ -232,6 +232,29 @@ class Jetpack_PostImages {
232
  'href' => get_permalink( $thumb ),
233
  ) );
234
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
235
  return $images;
236
  }
237
 
232
  'href' => get_permalink( $thumb ),
233
  ) );
234
  }
235
+
236
+ if ( empty( $images ) && ( defined( 'IS_WPCOM' ) && IS_WPCOM ) ) {
237
+ $meta_thumbnail = get_post_meta( $post_id, '_jetpack_post_thumbnail', true );
238
+ if ( ! empty( $meta_thumbnail ) ) {
239
+ if ( ! isset( $meta_thumbnail['width'] ) || $meta_thumbnail['width'] < $width ) {
240
+ return $images;
241
+ }
242
+
243
+ if ( ! isset( $meta_thumbnail['height'] ) || $meta_thumbnail['height'] < $height ) {
244
+ return $images;
245
+ }
246
+
247
+ $images = array( array( // Other methods below all return an array of arrays
248
+ 'type' => 'image',
249
+ 'from' => 'thumbnail',
250
+ 'src' => $meta_thumbnail['URL'],
251
+ 'src_width' => $meta_thumbnail['width'],
252
+ 'src_height' => $meta_thumbnail['height'],
253
+ 'href' => $meta_thumbnail['URL'],
254
+ ) );
255
+ }
256
+ }
257
+
258
  return $images;
259
  }
260
 
class.jetpack-signature.php CHANGED
@@ -2,6 +2,7 @@
2
 
3
  defined( 'JETPACK_SIGNATURE__HTTP_PORT' ) or define( 'JETPACK_SIGNATURE__HTTP_PORT' , 80 );
4
  defined( 'JETPACK_SIGNATURE__HTTPS_PORT' ) or define( 'JETPACK_SIGNATURE__HTTPS_PORT', 443 );
 
5
 
6
  class Jetpack_Signature {
7
  public $token;
@@ -109,6 +110,10 @@ class Jetpack_Signature {
109
  return new Jetpack_Error( 'invalid_signature', sprintf( 'The required "%s" parameter is malformed.', 'url' ) );
110
  }
111
 
 
 
 
 
112
  if ( !empty( $parsed['port'] ) ) {
113
  $port = $parsed['port'];
114
  } else {
2
 
3
  defined( 'JETPACK_SIGNATURE__HTTP_PORT' ) or define( 'JETPACK_SIGNATURE__HTTP_PORT' , 80 );
4
  defined( 'JETPACK_SIGNATURE__HTTPS_PORT' ) or define( 'JETPACK_SIGNATURE__HTTPS_PORT', 443 );
5
+ defined( 'JETPACK__WPCOM_JSON_API_HOST' ) or define( 'JETPACK__WPCOM_JSON_API_HOST', 'public-api.wordpress.com' );
6
 
7
  class Jetpack_Signature {
8
  public $token;
110
  return new Jetpack_Error( 'invalid_signature', sprintf( 'The required "%s" parameter is malformed.', 'url' ) );
111
  }
112
 
113
+ if ( $parsed['host'] === JETPACK__WPCOM_JSON_API_HOST ) {
114
+ $parsed['host'] = 'public-api.wordpress.com';
115
+ }
116
+
117
  if ( !empty( $parsed['port'] ) ) {
118
  $port = $parsed['port'];
119
  } else {
class.jetpack-sync.php CHANGED
@@ -170,7 +170,7 @@ class Jetpack_Sync {
170
  }
171
 
172
  // Don't sync anything from a staging site.
173
- if ( Jetpack::is_development_mode() || Jetpack::jetpack_is_staging_site() ) {
174
  return false;
175
  }
176
 
170
  }
171
 
172
  // Don't sync anything from a staging site.
173
+ if ( Jetpack::is_development_mode() || Jetpack::is_staging_site() ) {
174
  return false;
175
  }
176
 
class.jetpack-tracks.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Nosara Tracks for Jetpack
4
+ */
5
+
6
+ require_once( dirname( __FILE__ ) . '/_inc/lib/tracks/client.php' );
7
+
8
+ class JetpackTracking {
9
+ static $product_name = 'jetpack';
10
+
11
+ static function track_jetpack_usage() {
12
+ if ( ! Jetpack::is_active() ) {
13
+ return;
14
+ }
15
+
16
+ // For tracking stuff via js/ajax
17
+ add_action( 'admin_enqueue_scripts', array( __CLASS__, 'enqueue_tracks_scripts' ) );
18
+
19
+ add_action( 'jetpack_pre_activate_module', array( __CLASS__, 'track_activate_module'), 1, 1 );
20
+ add_action( 'jetpack_pre_deactivate_module', array( __CLASS__, 'track_deactivate_module'), 1, 1 );
21
+ add_action( 'jetpack_user_authorized', array( __CLASS__, 'track_user_linked' ) );
22
+ }
23
+
24
+ static function enqueue_tracks_scripts() {
25
+ wp_enqueue_script( 'jptracks', plugins_url( '_inc/lib/tracks/tracks-ajax.js', JETPACK__PLUGIN_FILE ), array(), JETPACK__VERSION, true );
26
+ wp_localize_script( 'jptracks', 'jpTracksAJAX', array(
27
+ 'ajaxurl' => admin_url( 'admin-ajax.php' ),
28
+ 'jpTracksAJAX_nonce' => wp_create_nonce( 'jp-tracks-ajax-nonce' ),
29
+ ) );
30
+ }
31
+
32
+ /* User has linked their account */
33
+ static function track_user_linked() {
34
+ $user_id = get_current_user_id();
35
+ $anon_id = get_user_meta( $user_id, 'jetpack_tracks_anon_id', true );
36
+
37
+ if ( $anon_id ) {
38
+ self::record_user_event( '_aliasUser', array( 'anonId' => $anon_id ) );
39
+ delete_user_meta( $user_id, 'jetpack_tracks_anon_id' );
40
+ if ( ! headers_sent() ) {
41
+ setcookie( 'tk_ai', 'expired', time() - 1000 );
42
+ }
43
+ }
44
+
45
+ $wpcom_user_data = Jetpack::get_connected_user_data( $user_id );
46
+ update_user_meta( $user_id, 'jetpack_tracks_wpcom_id', $wpcom_user_data['ID'] );
47
+
48
+ self::record_user_event( 'user_linked', array() );
49
+ }
50
+
51
+ /* Activated module */
52
+ static function track_activate_module( $module ) {
53
+ self::record_user_event( 'module_activated', array( 'module' => $module ) );
54
+ }
55
+
56
+ /* Deactivated module */
57
+ static function track_deactivate_module( $module ) {
58
+ self::record_user_event( 'module_deactivated', array( 'module' => $module ) );
59
+ }
60
+
61
+ static function record_user_event( $event_type, $data ) {
62
+
63
+ $user = wp_get_current_user();
64
+ $site_url = get_option( 'siteurl' );
65
+
66
+ $data['_via_ua'] = $_SERVER['HTTP_USER_AGENT'];
67
+ $data['_via_ip'] = $_SERVER['REMOTE_ADDR'];
68
+ $data['_lg'] = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
69
+ $data['blog_url'] = $site_url;
70
+ $data['blog_id'] = Jetpack_Options::get_option( 'id' );
71
+
72
+ // Top level events should not be namespaced
73
+ if ( '_aliasUser' != $event_type ) {
74
+ $event_type = self::$product_name . '_' . $event_type;
75
+ }
76
+
77
+ $data['jetpack_version'] = defined( 'JETPACK__VERSION' ) ? JETPACK__VERSION : '0';
78
+
79
+ jetpack_tracks_record_event( $user, $event_type, $data );
80
+ }
81
+ }
82
+
83
+ add_action( 'init', array( 'JetpackTracking', 'track_jetpack_usage' ) );
class.jetpack-user-agent.php CHANGED
@@ -1394,11 +1394,11 @@ class Jetpack_User_Agent_Info {
1394
  $bot_agents = array(
1395
  'alexa', 'altavista', 'ask jeeves', 'attentio', 'baiduspider', 'bingbot', 'chtml generic', 'crawler', 'fastmobilecrawl',
1396
  'feedfetcher-google', 'firefly', 'froogle', 'gigabot', 'googlebot', 'googlebot-mobile', 'heritrix', 'ia_archiver', 'irlbot',
1397
- 'infoseek', 'jumpbot', 'lycos', 'mediapartners', 'mediobot', 'motionbot', 'msnbot', 'mshots', 'openbot',
1398
  'pss-webkit-request', 'pythumbnail', 'scooter', 'slurp', 'snapbot', 'spider', 'taptubot', 'technoratisnoop',
1399
  'teoma', 'twiceler', 'yahooseeker', 'yahooysmcm', 'yammybot', 'ahrefsbot', 'pingdom.com_bot', 'kraken', 'yandexbot',
1400
- 'twitterbot', 'tweetmemebot', 'openhosebot', 'queryseekerspider', 'linkdexbot', 'grokkit-crawler',
1401
- 'livelapbot', 'germcrawler', 'domaintunocrawler', 'grapeshotcrawler', 'cloudflare-alwaysonline',
1402
  );
1403
 
1404
  foreach ( $bot_agents as $bot_agent ) {
1394
  $bot_agents = array(
1395
  'alexa', 'altavista', 'ask jeeves', 'attentio', 'baiduspider', 'bingbot', 'chtml generic', 'crawler', 'fastmobilecrawl',
1396
  'feedfetcher-google', 'firefly', 'froogle', 'gigabot', 'googlebot', 'googlebot-mobile', 'heritrix', 'ia_archiver', 'irlbot',
1397
+ 'iescholar', 'infoseek', 'jumpbot', 'lycos', 'mediapartners', 'mediobot', 'motionbot', 'msnbot', 'mshots', 'openbot',
1398
  'pss-webkit-request', 'pythumbnail', 'scooter', 'slurp', 'snapbot', 'spider', 'taptubot', 'technoratisnoop',
1399
  'teoma', 'twiceler', 'yahooseeker', 'yahooysmcm', 'yammybot', 'ahrefsbot', 'pingdom.com_bot', 'kraken', 'yandexbot',
1400
+ 'twitterbot', 'tweetmemebot', 'openhosebot', 'queryseekerspider', 'linkdexbot', 'grokkit-crawler',
1401
+ 'livelapbot', 'germcrawler', 'domaintunocrawler', 'grapeshotcrawler', 'cloudflare-alwaysonline',
1402
  );
1403
 
1404
  foreach ( $bot_agents as $bot_agent ) {
class.jetpack-xmlrpc-server.php CHANGED
@@ -112,7 +112,7 @@ class Jetpack_XMLRPC_Server {
112
  return $this->error( new Jetpack_Error( 'verify_secrets_missing', 'Verification took too long', 400 ) );
113
  }
114
 
115
- if ( $verify_secret !== $secret_1 ) {
116
  Jetpack_Options::delete_option( $action );
117
  return $this->error( new Jetpack_Error( 'verify_secrets_mismatch', 'Secret mismatch', 400 ) );
118
  }
112
  return $this->error( new Jetpack_Error( 'verify_secrets_missing', 'Verification took too long', 400 ) );
113
  }
114
 
115
+ if ( ! hash_equals( $verify_secret, $secret_1 ) ) {
116
  Jetpack_Options::delete_option( $action );
117
  return $this->error( new Jetpack_Error( 'verify_secrets_mismatch', 'Secret mismatch', 400 ) );
118
  }
class.jetpack.php CHANGED
@@ -49,6 +49,7 @@ class Jetpack {
49
  'widget-grid-and-list',
50
  'jetpack-widgets',
51
  'goodreads-widget',
 
52
  );
53
 
54
  public $plugins_to_deactivate = array(
@@ -94,73 +95,88 @@ class Jetpack {
94
  */
95
  private $conflicting_plugins = array(
96
  'comments' => array(
97
- 'Intense Debate' => 'intensedebate/intensedebate.php',
98
- 'Disqus' => 'disqus-comment-system/disqus.php',
99
- 'Livefyre' => 'livefyre-comments/livefyre.php',
100
- 'Comments Evolved for WordPress' => 'gplus-comments/comments-evolved.php',
101
- 'Google+ Comments' => 'google-plus-comments/google-plus-comments.php',
102
- 'WP-SpamShield Anti-Spam' => 'wp-spamshield/wp-spamshield.php',
103
  ),
104
  'contact-form' => array(
105
- 'Contact Form 7' => 'contact-form-7/wp-contact-form-7.php',
106
- 'Gravity Forms' => 'gravityforms/gravityforms.php',
107
- 'Contact Form Plugin' => 'contact-form-plugin/contact_form.php',
108
- 'Easy Contact Forms' => 'easy-contact-forms/easy-contact-forms.php',
109
- 'Fast Secure Contact Form' => 'si-contact-form/si-contact-form.php',
110
  ),
111
  'minileven' => array(
112
- 'WPtouch' => 'wptouch/wptouch.php',
113
  ),
114
  'latex' => array(
115
- 'LaTeX for WordPress' => 'latex/latex.php',
116
- 'Youngwhans Simple Latex' => 'youngwhans-simple-latex/yw-latex.php',
117
- 'Easy WP LaTeX' => 'easy-wp-latex-lite/easy-wp-latex-lite.php',
118
- 'MathJax-LaTeX' => 'mathjax-latex/mathjax-latex.php',
119
- 'Enable Latex' => 'enable-latex/enable-latex.php',
120
- 'WP QuickLaTeX' => 'wp-quicklatex/wp-quicklatex.php',
121
  ),
122
  'protect' => array(
123
- 'Limit Login Attempts' => 'limit-login-attempts/limit-login-attempts.php',
124
- 'Captcha' => 'captcha/captcha.php',
125
- 'Brute Force Login Protection' => 'brute-force-login-protection/brute-force-login-protection.php',
126
- 'Login Security Solution' => 'login-security-solution/login-security-solution.php',
127
- 'WPSecureOps Brute Force Protect' => 'wpsecureops-bruteforce-protect/wpsecureops-bruteforce-protect.php',
128
- 'BulletProof Security' => 'bulletproof-security/bulletproof-security.php',
129
- 'SiteGuard WP Plugin' => 'siteguard/siteguard.php',
130
- 'Security-protection' => 'security-protection/security-protection.php',
131
- 'Login Security' => 'login-security/login-security.php',
132
- 'Botnet Attack Blocker' => 'botnet-attack-blocker/botnet-attack-blocker.php',
133
- 'Wordfence Security' => 'wordfence/wordfence.php',
134
- 'All In One WP Security & Firewall' => 'all-in-one-wp-security-and-firewall/wp-security.php',
135
- 'iThemes Security' => 'better-wp-security/better-wp-security.php',
136
  ),
137
  'random-redirect' => array(
138
- 'Random Redirect 2' => 'random-redirect-2/random-redirect.php',
139
  ),
140
  'related-posts' => array(
141
- 'YARPP' => 'yet-another-related-posts-plugin/yarpp.php',
142
- 'WordPress Related Posts' => 'wordpress-23-related-posts-plugin/wp_related_posts.php',
143
- 'nrelate Related Content' => 'nrelate-related-content/nrelate-related.php',
144
- 'Contextual Related Posts' => 'contextual-related-posts/contextual-related-posts.php',
145
- 'Related Posts for WordPress' => 'microkids-related-posts/microkids-related-posts.php',
146
- 'outbrain' => 'outbrain/outbrain.php',
147
- 'Shareaholic' => 'shareaholic/shareaholic.php',
148
- 'Sexybookmarks' => 'sexybookmarks/shareaholic.php',
149
  ),
150
  'sharedaddy' => array(
151
- 'AddThis' => 'addthis/addthis_social_widget.php',
152
- 'Add To Any' => 'add-to-any/add-to-any.php',
153
- 'ShareThis' => 'share-this/sharethis.php',
154
- 'Shareaholic' => 'shareaholic/shareaholic.php',
155
  ),
156
  'verification-tools' => array(
157
- 'WordPress SEO by Yoast' => 'wordpress-seo/wp-seo.php',
158
- 'WordPress SEO Premium by Yoast' => 'wordpress-seo-premium/wp-seo-premium.php',
159
- 'All in One SEO Pack' => 'all-in-one-seo-pack/all_in_one_seo_pack.php',
160
  ),
161
  'widget-visibility' => array(
162
- 'Widget Logic' => 'widget-logic/widget_logic.php',
163
- 'Dynamic Widgets' => 'dynamic-widgets/dynamic-widgets.php',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
  ),
165
  );
166
 
@@ -311,77 +327,17 @@ class Jetpack {
311
  * Must never be called statically
312
  */
313
  function plugin_upgrade() {
314
- // Upgrade: 1.1 -> 1.2
315
- if ( get_option( 'jetpack_id' ) ) {
316
- // Move individual jetpack options to single array of options
317
- $options = array();
318
- foreach ( Jetpack_Options::get_option_names() as $option ) {
319
- if ( false !== $value = get_option( "jetpack_$option" ) ) {
320
- $options[$option] = $value;
321
- }
322
- }
323
-
324
- if ( $options ) {
325
- Jetpack_Options::update_options( $options );
326
-
327
- foreach ( array_keys( $options ) as $option ) {
328
- delete_option( "jetpack_$option" );
329
- }
330
- }
331
-
332
- // Add missing version and old_version options
333
- if ( ! $version = Jetpack_Options::get_option( 'version' ) ) {
334
- $version = $old_version = '1.1:' . time();
335
- /**
336
- * Fires on update, before bumping version numbers up to a new version.
337
- *
338
- * @since 3.4.0
339
- *
340
- * @param string $version Jetpack version number.
341
- * @param bool false Does an old version exist. Default is false.
342
- */
343
- do_action( 'updating_jetpack_version', $version, false );
344
- Jetpack_Options::update_options( compact( 'version', 'old_version' ) );
345
- }
346
- }
347
-
348
- // Upgrade from a single user token to a user_id-indexed array and a master_user ID
349
- if ( ! Jetpack_Options::get_option( 'user_tokens' ) ) {
350
- if ( $user_token = Jetpack_Options::get_option( 'user_token' ) ) {
351
- $token_parts = explode( '.', $user_token );
352
- if ( isset( $token_parts[2] ) ) {
353
- $master_user = $token_parts[2];
354
- $user_tokens = array( $master_user => $user_token );
355
- Jetpack_Options::update_options( compact( 'master_user', 'user_tokens' ) );
356
- Jetpack_Options::delete_option( 'user_token' );
357
- } else {
358
- // @todo: is this even possible?
359
- trigger_error( sprintf( 'Jetpack::plugin_upgrade found no user_id in user_token "%s"', $user_token ), E_USER_WARNING );
360
- }
361
- }
362
- }
363
-
364
- // Clean up legacy G+ Authorship data.
365
- if ( get_option( 'gplus_authors' ) ) {
366
- delete_option( 'gplus_authors' );
367
- delete_option( 'hide_gplus' );
368
- delete_metadata( 'post', 0, 'gplus_authorship_disabled', null, true );
369
- }
370
-
371
- if ( ! get_option( 'jetpack_private_options' ) ) {
372
- $jetpack_options = get_option( 'jetpack_options', array() );
373
- foreach( Jetpack_Options::get_option_names( 'private' ) as $option_name ) {
374
- if ( isset( $jetpack_options[ $option_name ] ) ) {
375
- Jetpack_Options::update_option( $option_name, $jetpack_options[ $option_name ] );
376
- unset( $jetpack_options[ $option_name ] );
377
- }
378
- }
379
- update_option( 'jetpack_options', $jetpack_options );
380
- }
381
-
382
  if ( Jetpack::is_active() ) {
383
  list( $version ) = explode( ':', Jetpack_Options::get_option( 'version' ) );
384
  if ( JETPACK__VERSION != $version ) {
 
 
 
 
 
 
 
 
385
  add_action( 'init', array( __CLASS__, 'activate_new_modules' ) );
386
  /**
387
  * Fires when synchronizing all registered options and constants.
@@ -390,25 +346,7 @@ class Jetpack {
390
  */
391
  do_action( 'jetpack_sync_all_registered_options' );
392
  }
393
-
394
- //if Jetpack is connected check if jetpack_unique_connection exists and if not then set it
395
- $jetpack_unique_connection = get_option( 'jetpack_unique_connection' );
396
- $is_unique_connection = $jetpack_unique_connection && array_key_exists( 'version', $jetpack_unique_connection );
397
- if ( ! $is_unique_connection ) {
398
- $jetpack_unique_connection = array(
399
- 'connected' => 1,
400
- 'disconnected' => -1,
401
- 'version' => '3.6.1'
402
- );
403
- update_option( 'jetpack_unique_connection', $jetpack_unique_connection );
404
- }
405
- }
406
-
407
- if ( get_option( 'jetpack_json_api_full_management' ) ) {
408
- delete_option( 'jetpack_json_api_full_management' );
409
- self::activate_manage();
410
  }
411
-
412
  }
413
 
414
  static function activate_manage( ) {
@@ -614,6 +552,9 @@ class Jetpack {
614
  add_action( 'wp_ajax_jetpack_admin_ajax', array( $this, 'jetpack_admin_ajax_callback' ) );
615
  add_action( 'wp_ajax_jetpack_admin_ajax_refresh', array( $this, 'jetpack_admin_ajax_refresh_data' ) );
616
 
 
 
 
617
  add_action( 'wp_loaded', array( $this, 'register_assets' ) );
618
  add_action( 'wp_enqueue_scripts', array( $this, 'devicepx' ) );
619
  add_action( 'customize_controls_enqueue_scripts', array( $this, 'devicepx' ) );
@@ -684,6 +625,26 @@ class Jetpack {
684
  }
685
  }
686
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
687
  function jetpack_admin_ajax_callback() {
688
  // Check for nonce
689
  if ( ! isset( $_REQUEST['adminNonce'] ) || ! wp_verify_nonce( $_REQUEST['adminNonce'], 'jetpack-admin-nonce' ) || ! current_user_can( 'jetpack_manage_modules' ) ) {
@@ -874,6 +835,15 @@ class Jetpack {
874
  $this->stat( 'jitm', $module_slug.'-wordpress-tools-' . JETPACK__VERSION );
875
  $this->do_stats( 'server_side' );
876
 
 
 
 
 
 
 
 
 
 
877
  wp_send_json_success();
878
  }
879
  }
@@ -1018,6 +988,28 @@ class Jetpack {
1018
  wp_register_script( 'jetpack-gallery-settings', plugins_url( '_inc/gallery-settings.js', JETPACK__PLUGIN_FILE ), array( 'media-views' ), '20121225' );
1019
  }
1020
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1021
  /**
1022
  * As jetpack_register_genericons is by default fired off a hook,
1023
  * the hook may have already fired by this point.
@@ -1030,6 +1022,67 @@ class Jetpack {
1030
  wp_register_style( 'jetpack-icons', plugins_url( 'css/jetpack-icons.min.css', JETPACK__PLUGIN_FILE ), false, JETPACK__VERSION );
1031
  }
1032
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1033
  /**
1034
  * Device Pixels support
1035
  * This improves the resolution of gravatars and wordpress.com uploads on hi-res and zoomed browsers.
@@ -1448,7 +1501,7 @@ class Jetpack {
1448
  /**
1449
  * Filters Jetpack's development mode.
1450
  *
1451
- * @see http://jetpack.me/support/development-mode/
1452
  *
1453
  * @since 2.2.1
1454
  *
@@ -1469,19 +1522,19 @@ class Jetpack {
1469
  $notice = sprintf(
1470
  /* translators: %s is a URL */
1471
  __( 'In <a href="%s" target="_blank">Development Mode</a>, via the JETPACK_DEV_DEBUG constant being defined in wp-config.php or elsewhere.', 'jetpack' ),
1472
- 'http://jetpack.me/support/development-mode/'
1473
  );
1474
  } elseif ( site_url() && false === strpos( site_url(), '.' ) ) {
1475
  $notice = sprintf(
1476
  /* translators: %s is a URL */
1477
  __( 'In <a href="%s" target="_blank">Development Mode</a>, via site URL lacking a dot (e.g. http://localhost).', 'jetpack' ),
1478
- 'http://jetpack.me/support/development-mode/'
1479
  );
1480
  } else {
1481
  $notice = sprintf(
1482
  /* translators: %s is a URL */
1483
  __( 'In <a href="%s" target="_blank">Development Mode</a>, via the jetpack_development_mode filter.', 'jetpack' ),
1484
- 'http://jetpack.me/support/development-mode/'
1485
  );
1486
  }
1487
 
@@ -1491,7 +1544,14 @@ class Jetpack {
1491
  // Throw up a notice if using a development version and as for feedback.
1492
  if ( Jetpack::is_development_version() ) {
1493
  /* translators: %s is a URL */
1494
- $notice = sprintf( __( 'You are currently running a development version of Jetpack. <a href="%s" target="_blank">Submit your feedback</a>', 'jetpack' ), 'https://jetpack.me/contact-support/beta-group/' );
 
 
 
 
 
 
 
1495
 
1496
  echo '<div class="updated" style="border-color: #f0821e;"><p>' . $notice . '</p></div>';
1497
  }
@@ -1575,6 +1635,8 @@ class Jetpack {
1575
  wp_oembed_add_provider( 'https://cloudup.com/*' , 'https://cloudup.com/oembed' );
1576
  wp_oembed_add_provider( 'https://me.sh/*', 'https://me.sh/oembed?format=json' );
1577
  wp_oembed_add_provider( '#https?://(www\.)?gfycat\.com/.*#i', 'https://api.gfycat.com/v1/oembed', true );
 
 
1578
  }
1579
 
1580
  /**
@@ -1668,7 +1730,7 @@ class Jetpack {
1668
 
1669
  $is_development_mode = Jetpack::is_development_mode();
1670
 
1671
- foreach ( $modules as $module ) {
1672
  // If we're in dev mode, disable modules requiring a connection
1673
  if ( $is_development_mode ) {
1674
  // Prime the pump if we need to
@@ -1685,7 +1747,12 @@ class Jetpack {
1685
  continue;
1686
  }
1687
 
1688
- require Jetpack::get_module_path( $module );
 
 
 
 
 
1689
  /**
1690
  * Fires when a specific module is loaded.
1691
  * The dynamic part of the hook, $module, is the module slug.
@@ -2511,10 +2578,38 @@ class Jetpack {
2511
  return $data;
2512
  }
2513
 
2514
- public static function translate_module_tag( $untranslated_tag ) {
2515
- // Tags are aggregated by tools/build-module-headings-translations.php
2516
- // and output in modules/module-headings.php
2517
- return _x( $untranslated_tag, 'Module Tag', 'jetpack' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2518
  }
2519
 
2520
  /**
@@ -3524,8 +3619,8 @@ p {
3524
  // Help Sidebar
3525
  $current_screen->set_help_sidebar(
3526
  '<p><strong>' . __( 'For more information:', 'jetpack' ) . '</strong></p>' .
3527
- '<p><a href="http://jetpack.me/faq/" target="_blank">' . __( 'Jetpack FAQ', 'jetpack' ) . '</a></p>' .
3528
- '<p><a href="http://jetpack.me/support/" target="_blank">' . __( 'Jetpack Support', 'jetpack' ) . '</a></p>' .
3529
  '<p><a href="' . Jetpack::admin_url( array( 'page' => 'jetpack-debugger' ) ) .'">' . __( 'Jetpack Debugging Center', 'jetpack' ) . '</a></p>'
3530
  );
3531
  }
@@ -3617,7 +3712,7 @@ p {
3617
  <p><?php _e( 'Connect now to enable features like Stats, Likes, and Social Sharing.', 'jetpack' ); ?></p>
3618
  </div>
3619
  <div class="jp-banner__action-container is-connection">
3620
- <a href="<?php echo $this->build_connect_url() ?>" class="jp-banner__button" id="wpcom-connect"><?php _e( 'Connect to WordPress.com', 'jetpack' ); ?></a>
3621
  </div>
3622
  <?php else : ?>
3623
  <div class="jp-banner__content">
@@ -3666,7 +3761,7 @@ p {
3666
  <a class="jp-banner__dismiss" href="<?php echo esc_url( $opt_out_url ); ?>" title="<?php esc_attr_e( 'Dismiss this notice for now.', 'jetpack' ); ?>"></a>
3667
  <div class="jp-banner__content">
3668
  <h2><?php esc_html_e( 'New in Jetpack: Centralized Site Management', 'jetpack' ); ?></h2>
3669
- <p><?php printf( __( 'Manage multiple sites from one dashboard at wordpress.com/sites. Enabling allows all existing, connected Administrators to modify your site from WordPress.com. <a href="%s" target="_blank">Learn More</a>.', 'jetpack' ), 'http://jetpack.me/support/site-management' ); ?></p>
3670
  </div>
3671
  <div class="jp-banner__action-container is-opt-in">
3672
  <a href="<?php echo esc_url( $opt_in_url ); ?>" class="jp-banner__button" id="wpcom-connect"><?php _e( 'Activate now', 'jetpack' ); ?></a>
@@ -3695,7 +3790,7 @@ p {
3695
  ?>
3696
  <div class="wrap">
3697
  <div id="message" class="jetpack-message is-opt-in">
3698
- <?php echo sprintf( __( '<p><a href="%1$s" title="Opt in to WordPress.com Site Management" >Activate Site Management</a> to manage multiple sites from our centralized dashboard at wordpress.com/sites. <a href="%2$s" target="_blank">Learn more</a>.</p><a href="%1$s" class="jp-button">Activate Now</a>', 'jetpack' ), $this->opt_in_jetpack_manage_url(), 'http://jetpack.me/support/site-management' ); ?>
3699
  </div>
3700
  </div>
3701
  <?php
@@ -3787,7 +3882,7 @@ p {
3787
  <br />
3788
  <?php echo sprintf(
3789
  __( 'Would you tell us why? Just <a href="%1$s" target="%2$s">answering two simple questions</a> would help us improve Jetpack.', 'jetpack' ),
3790
- 'https://jetpack.me/survey-disconnected/',
3791
  '_blank'
3792
  ); ?>
3793
  </h2>
@@ -3848,7 +3943,7 @@ p {
3848
  if ( isset( $_GET['connect_url_redirect'] ) ) {
3849
  // User clicked in the iframe to link their accounts
3850
  if ( ! Jetpack::is_user_connected() ) {
3851
- $connect_url = $this->build_connect_url( true );
3852
  if ( isset( $_GET['notes_iframe'] ) )
3853
  $connect_url .= '&notes_iframe';
3854
  wp_redirect( $connect_url );
@@ -3888,7 +3983,7 @@ p {
3888
  break;
3889
  }
3890
 
3891
- wp_redirect( $this->build_connect_url( true ) );
3892
  exit;
3893
  case 'activate' :
3894
  if ( ! current_user_can( 'jetpack_activate_modules' ) ) {
@@ -3933,7 +4028,7 @@ p {
3933
  check_admin_referer( 'jetpack-reconnect' );
3934
  Jetpack::log( 'reconnect' );
3935
  $this->disconnect();
3936
- wp_redirect( $this->build_connect_url( true ) );
3937
  exit;
3938
  case 'deactivate' :
3939
  if ( ! current_user_can( 'jetpack_deactivate_modules' ) ) {
@@ -4087,7 +4182,7 @@ p {
4087
  case 'verify_secrets_missing' :
4088
  case 'verify_secrets_mismatch' :
4089
  $error = esc_html( $error );
4090
- $this->error = sprintf( __( '<strong>Your Jetpack has a glitch.</strong> Something went wrong that&#8217;s never supposed to happen. Guess you&#8217;re just lucky: %s', 'jetpack' ), "<code>$error</code>" );
4091
  if ( ! Jetpack::is_active() ) {
4092
  $this->error .= '<br />';
4093
  $this->error .= sprintf( __( 'Try connecting again.', 'jetpack' ) );
@@ -4489,7 +4584,20 @@ p {
4489
  return $role . ':' . hash_hmac( 'md5', "{$role}|{$user_id}", $token->secret );
4490
  }
4491
 
4492
- function build_connect_url( $raw = false, $redirect = false ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
4493
  if ( ! Jetpack_Options::get_option( 'blog_token' ) || ! Jetpack_Options::get_option( 'id' ) ) {
4494
  $url = Jetpack::nonce_url_no_esc( Jetpack::admin_url( 'action=register' ), 'jetpack-register' );
4495
  if( is_network_admin() ) {
@@ -4532,6 +4640,9 @@ p {
4532
  $url = add_query_arg( $args, Jetpack::api_url( 'authorize' ) );
4533
  }
4534
 
 
 
 
4535
  return $raw ? $url : esc_url( $url );
4536
  }
4537
 
@@ -4719,7 +4830,7 @@ p {
4719
 
4720
  $activate_url = Jetpack::init()->opt_in_jetpack_manage_url();
4721
 
4722
- $info['description'] = sprintf( __( 'Manage your multiple Jetpack sites from our centralized dashboard at wordpress.com/sites. <a href="%s" target="_blank">Learn more</a>.', 'jetpack' ), 'http://jetpack.me/support/site-management' );
4723
 
4724
  // $extra = __( 'To use Site Management, you need to first activate JSON API to allow remote management of your site. ', 'jetpack' );
4725
  } ?>
@@ -5000,7 +5111,6 @@ p {
5000
  return $valid_response;
5001
  }
5002
 
5003
-
5004
  // Grab the response values to work with
5005
  $code = wp_remote_retrieve_response_code( $response );
5006
  $entity = wp_remote_retrieve_body( $response );
@@ -5782,7 +5892,7 @@ p {
5782
  * @return array An array of options that do not match. If everything is good, it will evaluate to false.
5783
  */
5784
  public static function check_identity_crisis( $force_recheck = false ) {
5785
- if ( ! Jetpack::is_active() || Jetpack::is_development_mode() )
5786
  return false;
5787
 
5788
  if ( $force_recheck || false === ( $errors = get_transient( 'jetpack_has_identity_crisis' ) ) ) {
@@ -5989,21 +6099,68 @@ p {
5989
  *
5990
  * @return bool True = already whitelsisted False = not whitelisted
5991
  */
5992
- public static function jetpack_is_staging_site() {
 
 
5993
  $current_whitelist = Jetpack_Options::get_option( 'identity_crisis_whitelist' );
5994
- if ( ! $current_whitelist ) {
5995
- return false;
 
 
 
 
 
 
 
 
5996
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5997
 
5998
- $options_to_check = Jetpack::identity_crisis_options_to_check();
5999
- $cloud_options = Jetpack::init()->get_cloud_site_options( $options_to_check );
 
 
 
 
 
 
6000
 
6001
- foreach ( $cloud_options as $cloud_key => $cloud_value ) {
6002
- if ( ! self::is_identity_crisis_value_whitelisted( $cloud_key, $cloud_value ) ) {
6003
- return false;
 
 
6004
  }
6005
  }
6006
- return true;
 
 
 
 
 
 
 
 
6007
  }
6008
 
6009
  public function identity_crisis_js( $nonce ) {
@@ -6157,7 +6314,7 @@ p {
6157
  <div class="banner-content">
6158
  <p><?php
6159
  /* translators: %s is a URL */
6160
- printf( __( 'Our records show that this site does not have a valid connection to WordPress.com. Please reset your connection to fix this. <a href="%s" target="_blank">What caused this?</a>', 'jetpack' ), 'https://jetpack.me/support/no-valid-wordpress-com-connection/' );
6161
  ?></p>
6162
  </div>
6163
  <div class="jp-btn-group">
@@ -6186,13 +6343,13 @@ p {
6186
  ),
6187
  $errors[ $key ],
6188
  (string) get_option( $key ),
6189
- 'https://jetpack.me/support/what-does-resetting-the-connection-mean/'
6190
  ); ?></p>
6191
  </div>
6192
  <div class="jp-btn-group">
6193
  <a href="#" class="reset-connection"><?php _e( 'Reset the connection', 'jetpack' ); ?></a> <span class="idc-separator">|</span>
6194
  <a href="#" class="is-dev-env"><?php _e( 'This is a development environment', 'jetpack' ); ?></a> <span class="idc-separator">|</span>
6195
- <a href="https://jetpack.me/contact-support/" class="contact-support"><?php _e( 'Submit a support ticket', 'jetpack' ); ?></a>
6196
  <span class="spinner"></span>
6197
  </div>
6198
  </div>
@@ -6363,6 +6520,7 @@ p {
6363
  $deprecated_list = array(
6364
  'jetpack_bail_on_shortcode' => 'jetpack_shortcodes_to_include',
6365
  'wpl_sharing_2014_1' => null,
 
6366
  );
6367
 
6368
  // This is a silly loop depth. Better way?
@@ -6449,9 +6607,7 @@ p {
6449
  global $wp_version;
6450
  $ssl = is_ssl();
6451
 
6452
- if ( version_compare( $wp_version, '4.4-alpha', '<=' ) && force_ssl_login() ) { // force_ssl_login deprecated WP 4.4.
6453
- $ssl = true;
6454
- } else if ( force_ssl_admin() ) {
6455
  $ssl = true;
6456
  }
6457
  return $ssl;
@@ -6878,7 +7034,7 @@ p {
6878
  <p><?php echo wp_kses( __( 'Connecting Jetpack will show you <strong>stats</strong> about your traffic, <strong>protect</strong> you from brute force attacks, <strong>speed up</strong> your images and photos, and enable other <strong>traffic and security</strong> features.', 'jetpack' ), 'jetpack' ) ?></p>
6879
 
6880
  <div class="actions">
6881
- <a href="<?php echo $this->build_connect_url() ?>" class="button button-primary">
6882
  <?php esc_html_e( 'Connect Jetpack', 'jetpack' ); ?>
6883
  </a>
6884
  </div>
49
  'widget-grid-and-list',
50
  'jetpack-widgets',
51
  'goodreads-widget',
52
+ 'jetpack_social_media_icons_widget',
53
  );
54
 
55
  public $plugins_to_deactivate = array(
95
  */
96
  private $conflicting_plugins = array(
97
  'comments' => array(
98
+ 'Intense Debate' => 'intensedebate/intensedebate.php',
99
+ 'Disqus' => 'disqus-comment-system/disqus.php',
100
+ 'Livefyre' => 'livefyre-comments/livefyre.php',
101
+ 'Comments Evolved for WordPress' => 'gplus-comments/comments-evolved.php',
102
+ 'Google+ Comments' => 'google-plus-comments/google-plus-comments.php',
103
+ 'WP-SpamShield Anti-Spam' => 'wp-spamshield/wp-spamshield.php',
104
  ),
105
  'contact-form' => array(
106
+ 'Contact Form 7' => 'contact-form-7/wp-contact-form-7.php',
107
+ 'Gravity Forms' => 'gravityforms/gravityforms.php',
108
+ 'Contact Form Plugin' => 'contact-form-plugin/contact_form.php',
109
+ 'Easy Contact Forms' => 'easy-contact-forms/easy-contact-forms.php',
110
+ 'Fast Secure Contact Form' => 'si-contact-form/si-contact-form.php',
111
  ),
112
  'minileven' => array(
113
+ 'WPtouch' => 'wptouch/wptouch.php',
114
  ),
115
  'latex' => array(
116
+ 'LaTeX for WordPress' => 'latex/latex.php',
117
+ 'Youngwhans Simple Latex' => 'youngwhans-simple-latex/yw-latex.php',
118
+ 'Easy WP LaTeX' => 'easy-wp-latex-lite/easy-wp-latex-lite.php',
119
+ 'MathJax-LaTeX' => 'mathjax-latex/mathjax-latex.php',
120
+ 'Enable Latex' => 'enable-latex/enable-latex.php',
121
+ 'WP QuickLaTeX' => 'wp-quicklatex/wp-quicklatex.php',
122
  ),
123
  'protect' => array(
124
+ 'Limit Login Attempts' => 'limit-login-attempts/limit-login-attempts.php',
125
+ 'Captcha' => 'captcha/captcha.php',
126
+ 'Brute Force Login Protection' => 'brute-force-login-protection/brute-force-login-protection.php',
127
+ 'Login Security Solution' => 'login-security-solution/login-security-solution.php',
128
+ 'WPSecureOps Brute Force Protect' => 'wpsecureops-bruteforce-protect/wpsecureops-bruteforce-protect.php',
129
+ 'BulletProof Security' => 'bulletproof-security/bulletproof-security.php',
130
+ 'SiteGuard WP Plugin' => 'siteguard/siteguard.php',
131
+ 'Security-protection' => 'security-protection/security-protection.php',
132
+ 'Login Security' => 'login-security/login-security.php',
133
+ 'Botnet Attack Blocker' => 'botnet-attack-blocker/botnet-attack-blocker.php',
134
+ 'Wordfence Security' => 'wordfence/wordfence.php',
135
+ 'All In One WP Security & Firewall' => 'all-in-one-wp-security-and-firewall/wp-security.php',
136
+ 'iThemes Security' => 'better-wp-security/better-wp-security.php',
137
  ),
138
  'random-redirect' => array(
139
+ 'Random Redirect 2' => 'random-redirect-2/random-redirect.php',
140
  ),
141
  'related-posts' => array(
142
+ 'YARPP' => 'yet-another-related-posts-plugin/yarpp.php',
143
+ 'WordPress Related Posts' => 'wordpress-23-related-posts-plugin/wp_related_posts.php',
144
+ 'nrelate Related Content' => 'nrelate-related-content/nrelate-related.php',
145
+ 'Contextual Related Posts' => 'contextual-related-posts/contextual-related-posts.php',
146
+ 'Related Posts for WordPress' => 'microkids-related-posts/microkids-related-posts.php',
147
+ 'outbrain' => 'outbrain/outbrain.php',
148
+ 'Shareaholic' => 'shareaholic/shareaholic.php',
149
+ 'Sexybookmarks' => 'sexybookmarks/shareaholic.php',
150
  ),
151
  'sharedaddy' => array(
152
+ 'AddThis' => 'addthis/addthis_social_widget.php',
153
+ 'Add To Any' => 'add-to-any/add-to-any.php',
154
+ 'ShareThis' => 'share-this/sharethis.php',
155
+ 'Shareaholic' => 'shareaholic/shareaholic.php',
156
  ),
157
  'verification-tools' => array(
158
+ 'WordPress SEO by Yoast' => 'wordpress-seo/wp-seo.php',
159
+ 'WordPress SEO Premium by Yoast' => 'wordpress-seo-premium/wp-seo-premium.php',
160
+ 'All in One SEO Pack' => 'all-in-one-seo-pack/all_in_one_seo_pack.php',
161
  ),
162
  'widget-visibility' => array(
163
+ 'Widget Logic' => 'widget-logic/widget_logic.php',
164
+ 'Dynamic Widgets' => 'dynamic-widgets/dynamic-widgets.php',
165
+ ),
166
+ 'sitemaps' => array(
167
+ 'Google XML Sitemaps' => 'google-sitemap-generator/sitemap.php',
168
+ 'Better WordPress Google XML Sitemaps' => 'bwp-google-xml-sitemaps/bwp-simple-gxs.php',
169
+ 'Google XML Sitemaps for qTranslate' => 'google-xml-sitemaps-v3-for-qtranslate/sitemap.php',
170
+ 'XML Sitemap & Google News feeds' => 'xml-sitemap-feed/xml-sitemap.php',
171
+ 'Google Sitemap by BestWebSoft' => 'google-sitemap-plugin/google-sitemap-plugin.php',
172
+ 'WordPress SEO by Yoast' => 'wordpress-seo/wp-seo.php',
173
+ 'WordPress SEO Premium by Yoast' => 'wordpress-seo-premium/wp-seo-premium.php',
174
+ 'All in One SEO Pack' => 'all-in-one-seo-pack/all_in_one_seo_pack.php',
175
+ 'Sitemap' => 'sitemap/sitemap.php',
176
+ 'Simple Wp Sitemap' => 'simple-wp-sitemap/simple-wp-sitemap.php',
177
+ 'Simple Sitemap' => 'simple-sitemap/simple-sitemap.php',
178
+ 'XML Sitemaps' => 'xml-sitemaps/xml-sitemaps.php',
179
+ 'MSM Sitemaps' => 'msm-sitemap/msm-sitemap.php',
180
  ),
181
  );
182
 
327
  * Must never be called statically
328
  */
329
  function plugin_upgrade() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
330
  if ( Jetpack::is_active() ) {
331
  list( $version ) = explode( ':', Jetpack_Options::get_option( 'version' ) );
332
  if ( JETPACK__VERSION != $version ) {
333
+
334
+ // Check which active modules actually exist and remove others from active_modules list
335
+ $unfiltered_modules = Jetpack::get_active_modules();
336
+ $modules = array_filter( $unfiltered_modules, array( 'Jetpack', 'is_module' ) );
337
+ if ( array_diff( $unfiltered_modules, $modules ) ) {
338
+ Jetpack_Options::update_option( 'active_modules', $modules );
339
+ }
340
+
341
  add_action( 'init', array( __CLASS__, 'activate_new_modules' ) );
342
  /**
343
  * Fires when synchronizing all registered options and constants.
346
  */
347
  do_action( 'jetpack_sync_all_registered_options' );
348
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
349
  }
 
350
  }
351
 
352
  static function activate_manage( ) {
552
  add_action( 'wp_ajax_jetpack_admin_ajax', array( $this, 'jetpack_admin_ajax_callback' ) );
553
  add_action( 'wp_ajax_jetpack_admin_ajax_refresh', array( $this, 'jetpack_admin_ajax_refresh_data' ) );
554
 
555
+ // Universal ajax callback for all tracking events triggered via js
556
+ add_action( 'wp_ajax_jetpack_tracks', array( $this, 'jetpack_admin_ajax_tracks_callback' ) );
557
+
558
  add_action( 'wp_loaded', array( $this, 'register_assets' ) );
559
  add_action( 'wp_enqueue_scripts', array( $this, 'devicepx' ) );
560
  add_action( 'customize_controls_enqueue_scripts', array( $this, 'devicepx' ) );
625
  }
626
  }
627
 
628
+ function jetpack_admin_ajax_tracks_callback() {
629
+ // Check for nonce
630
+ if ( ! isset( $_REQUEST['tracksNonce'] ) || ! wp_verify_nonce( $_REQUEST['tracksNonce'], 'jp-tracks-ajax-nonce' ) ) {
631
+ wp_die( 'Permissions check failed.' );
632
+ }
633
+
634
+ if ( ! isset( $_REQUEST['tracksEventName'] ) || ! isset( $_REQUEST['tracksEventType'] ) ) {
635
+ wp_die( 'No valid event name or type.' );
636
+ }
637
+
638
+ $tracks_data = array();
639
+ if ( 'click' === $_REQUEST['tracksEventType'] && isset( $_REQUEST['tracksEventProp'] ) ) {
640
+ $tracks_data = array( 'clicked' => $_REQUEST['tracksEventProp'] );
641
+ }
642
+
643
+ JetpackTracking::record_user_event( $_REQUEST['tracksEventName'], $tracks_data );
644
+ wp_send_json_success();
645
+ wp_die();
646
+ }
647
+
648
  function jetpack_admin_ajax_callback() {
649
  // Check for nonce
650
  if ( ! isset( $_REQUEST['adminNonce'] ) || ! wp_verify_nonce( $_REQUEST['adminNonce'], 'jetpack-admin-nonce' ) || ! current_user_can( 'jetpack_manage_modules' ) ) {
835
  $this->stat( 'jitm', $module_slug.'-wordpress-tools-' . JETPACK__VERSION );
836
  $this->do_stats( 'server_side' );
837
 
838
+ wp_send_json_success();
839
+ }
840
+ if ( isset( $_REQUEST['jitmActionToTake'] ) && 'viewed' == $_REQUEST['jitmActionToTake'] ) {
841
+ $track = $_REQUEST['jitmModule'];
842
+
843
+ // User is viewing JITM, track it.
844
+ $this->stat( 'jitm', $track . '-viewed-' . JETPACK__VERSION );
845
+ $this->do_stats( 'server_side' );
846
+
847
  wp_send_json_success();
848
  }
849
  }
988
  wp_register_script( 'jetpack-gallery-settings', plugins_url( '_inc/gallery-settings.js', JETPACK__PLUGIN_FILE ), array( 'media-views' ), '20121225' );
989
  }
990
 
991
+ if ( ! wp_script_is( 'jetpack-twitter-timeline', 'registered' ) ) {
992
+ wp_register_script( 'jetpack-twitter-timeline', plugins_url( '_inc/twitter-timeline.js', JETPACK__PLUGIN_FILE ) , array( 'jquery' ), '3.10', true );
993
+ }
994
+
995
+ if ( ! wp_script_is( 'jetpack-facebook-embed', 'registered' ) ) {
996
+ wp_register_script( 'jetpack-facebook-embed', plugins_url( '_inc/facebook-embed.js', __FILE__ ), array( 'jquery' ), null, true );
997
+
998
+ /** This filter is documented in modules/sharedaddy/sharing-sources.php */
999
+ $fb_app_id = apply_filters( 'jetpack_sharing_facebook_app_id', '249643311490' );
1000
+ if ( ! is_numeric( $fb_app_id ) ) {
1001
+ $fb_app_id = '';
1002
+ }
1003
+ wp_localize_script(
1004
+ 'jetpack-facebook-embed',
1005
+ 'jpfbembed',
1006
+ array(
1007
+ 'appid' => $fb_app_id,
1008
+ 'locale' => $this->get_locale(),
1009
+ )
1010
+ );
1011
+ }
1012
+
1013
  /**
1014
  * As jetpack_register_genericons is by default fired off a hook,
1015
  * the hook may have already fired by this point.
1022
  wp_register_style( 'jetpack-icons', plugins_url( 'css/jetpack-icons.min.css', JETPACK__PLUGIN_FILE ), false, JETPACK__VERSION );
1023
  }
1024
 
1025
+ /**
1026
+ * Guess locale from language code.
1027
+ *
1028
+ * @param string $lang Language code.
1029
+ * @return string|bool
1030
+ */
1031
+ function guess_locale_from_lang( $lang ) {
1032
+ if ( 'en' === $lang || 'en_US' === $lang || ! $lang ) {
1033
+ return 'en_US';
1034
+ }
1035
+
1036
+ if ( ! class_exists( 'GP_Locales' ) ) {
1037
+ if ( ! defined( 'JETPACK__GLOTPRESS_LOCALES_PATH' ) || ! file_exists( JETPACK__GLOTPRESS_LOCALES_PATH ) ) {
1038
+ return false;
1039
+ }
1040
+
1041
+ require JETPACK__GLOTPRESS_LOCALES_PATH;
1042
+ }
1043
+
1044
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
1045
+ // WP.com: get_locale() returns 'it'
1046
+ $locale = GP_Locales::by_slug( $lang );
1047
+ } else {
1048
+ // Jetpack: get_locale() returns 'it_IT';
1049
+ $locale = GP_Locales::by_field( 'facebook_locale', $lang );
1050
+ }
1051
+
1052
+ if ( ! $locale ) {
1053
+ return false;
1054
+ }
1055
+
1056
+ if ( empty( $locale->facebook_locale ) ) {
1057
+ if ( empty( $locale->wp_locale ) ) {
1058
+ return false;
1059
+ } else {
1060
+ // Facebook SDK is smart enough to fall back to en_US if a
1061
+ // locale isn't supported. Since supported Facebook locales
1062
+ // can fall out of sync, we'll attempt to use the known
1063
+ // wp_locale value and rely on said fallback.
1064
+ return $locale->wp_locale;
1065
+ }
1066
+ }
1067
+
1068
+ return $locale->facebook_locale;
1069
+ }
1070
+
1071
+ /**
1072
+ * Get the locale.
1073
+ *
1074
+ * @return string|bool
1075
+ */
1076
+ function get_locale() {
1077
+ $locale = $this->guess_locale_from_lang( get_locale() );
1078
+
1079
+ if ( ! $locale ) {
1080
+ $locale = 'en_US';
1081
+ }
1082
+
1083
+ return $locale;
1084
+ }
1085
+
1086
  /**
1087
  * Device Pixels support
1088
  * This improves the resolution of gravatars and wordpress.com uploads on hi-res and zoomed browsers.
1501
  /**
1502
  * Filters Jetpack's development mode.
1503
  *
1504
+ * @see http://jetpack.com/support/development-mode/
1505
  *
1506
  * @since 2.2.1
1507
  *
1522
  $notice = sprintf(
1523
  /* translators: %s is a URL */
1524
  __( 'In <a href="%s" target="_blank">Development Mode</a>, via the JETPACK_DEV_DEBUG constant being defined in wp-config.php or elsewhere.', 'jetpack' ),
1525
+ 'http://jetpack.com/support/development-mode/'
1526
  );
1527
  } elseif ( site_url() && false === strpos( site_url(), '.' ) ) {
1528
  $notice = sprintf(
1529
  /* translators: %s is a URL */
1530
  __( 'In <a href="%s" target="_blank">Development Mode</a>, via site URL lacking a dot (e.g. http://localhost).', 'jetpack' ),
1531
+ 'http://jetpack.com/support/development-mode/'
1532
  );
1533
  } else {
1534
  $notice = sprintf(
1535
  /* translators: %s is a URL */
1536
  __( 'In <a href="%s" target="_blank">Development Mode</a>, via the jetpack_development_mode filter.', 'jetpack' ),
1537
+ 'http://jetpack.com/support/development-mode/'
1538
  );
1539
  }
1540
 
1544
  // Throw up a notice if using a development version and as for feedback.
1545
  if ( Jetpack::is_development_version() ) {
1546
  /* translators: %s is a URL */
1547
+ $notice = sprintf( __( 'You are currently running a development version of Jetpack. <a href="%s" target="_blank">Submit your feedback</a>', 'jetpack' ), 'https://jetpack.com/contact-support/beta-group/' );
1548
+
1549
+ echo '<div class="updated" style="border-color: #f0821e;"><p>' . $notice . '</p></div>';
1550
+ }
1551
+ // Throw up a notice if using staging mode
1552
+ if ( Jetpack::is_staging_site() ) {
1553
+ /* translators: %s is a URL */
1554
+ $notice = sprintf( __( 'You are running Jetpack on a <a href="%s" target="_blank">staging server</a>.', 'jetpack' ), 'https://jetpack.com/support/staging-sites/' );
1555
 
1556
  echo '<div class="updated" style="border-color: #f0821e;"><p>' . $notice . '</p></div>';
1557
  }
1635
  wp_oembed_add_provider( 'https://cloudup.com/*' , 'https://cloudup.com/oembed' );
1636
  wp_oembed_add_provider( 'https://me.sh/*', 'https://me.sh/oembed?format=json' );
1637
  wp_oembed_add_provider( '#https?://(www\.)?gfycat\.com/.*#i', 'https://api.gfycat.com/v1/oembed', true );
1638
+ wp_oembed_add_provider( '#https?://[^.]+\.(wistia\.com|wi\.st)/(medias|embed)/.*#', 'https://fast.wistia.com/oembed', true );
1639
+ wp_oembed_add_provider( '#https?://sketchfab\.com/.*#i', 'https://sketchfab.com/oembed', true );
1640
  }
1641
 
1642
  /**
1730
 
1731
  $is_development_mode = Jetpack::is_development_mode();
1732
 
1733
+ foreach ( $modules as $index => $module ) {
1734
  // If we're in dev mode, disable modules requiring a connection
1735
  if ( $is_development_mode ) {
1736
  // Prime the pump if we need to
1747
  continue;
1748
  }
1749
 
1750
+ if ( ! @include( Jetpack::get_module_path( $module ) ) ) {
1751
+ unset( $modules[ $index ] );
1752
+ Jetpack_Options::update_option( 'active_modules', array_values( $modules ) );
1753
+ continue;
1754
+ }
1755
+
1756
  /**
1757
  * Fires when a specific module is loaded.
1758
  * The dynamic part of the hook, $module, is the module slug.
2578
  return $data;
2579
  }
2580
 
2581
+ /**
2582
+ * Return translated module tag.
2583
+ *
2584
+ * @param string $tag Tag as it appears in each module heading.
2585
+ *
2586
+ * @return mixed
2587
+ */
2588
+ public static function translate_module_tag( $tag ) {
2589
+ return jetpack_get_module_i18n_tag( $tag );
2590
+ }
2591
+
2592
+ /**
2593
+ * Return module name translation. Uses matching string created in modules/module-headings.php.
2594
+ *
2595
+ * @since 3.9.2
2596
+ *
2597
+ * @param array $modules
2598
+ *
2599
+ * @return string|void
2600
+ */
2601
+ public static function get_translated_modules( $modules ) {
2602
+ foreach ( $modules as $index => $module ) {
2603
+ $i18n_module = jetpack_get_module_i18n( $module['module'] );
2604
+ if ( isset( $module['name'] ) ) {
2605
+ $modules[ $index ]['name'] = $i18n_module['name'];
2606
+ }
2607
+ if ( isset( $module['description'] ) ) {
2608
+ $modules[ $index ]['description'] = $i18n_module['description'];
2609
+ $modules[ $index ]['short_description'] = $i18n_module['description'];
2610
+ }
2611
+ }
2612
+ return $modules;
2613
  }
2614
 
2615
  /**
3619
  // Help Sidebar
3620
  $current_screen->set_help_sidebar(
3621
  '<p><strong>' . __( 'For more information:', 'jetpack' ) . '</strong></p>' .
3622
+ '<p><a href="http://jetpack.com/faq/" target="_blank">' . __( 'Jetpack FAQ', 'jetpack' ) . '</a></p>' .
3623
+ '<p><a href="http://jetpack.com/support/" target="_blank">' . __( 'Jetpack Support', 'jetpack' ) . '</a></p>' .
3624
  '<p><a href="' . Jetpack::admin_url( array( 'page' => 'jetpack-debugger' ) ) .'">' . __( 'Jetpack Debugging Center', 'jetpack' ) . '</a></p>'
3625
  );
3626
  }
3712
  <p><?php _e( 'Connect now to enable features like Stats, Likes, and Social Sharing.', 'jetpack' ); ?></p>
3713
  </div>
3714
  <div class="jp-banner__action-container is-connection">
3715
+ <a href="<?php echo $this->build_connect_url( false, false, 'banner' ) ?>" class="jp-banner__button" id="wpcom-connect"><?php _e( 'Connect to WordPress.com', 'jetpack' ); ?></a>
3716
  </div>
3717
  <?php else : ?>
3718
  <div class="jp-banner__content">
3761
  <a class="jp-banner__dismiss" href="<?php echo esc_url( $opt_out_url ); ?>" title="<?php esc_attr_e( 'Dismiss this notice for now.', 'jetpack' ); ?>"></a>
3762
  <div class="jp-banner__content">
3763
  <h2><?php esc_html_e( 'New in Jetpack: Centralized Site Management', 'jetpack' ); ?></h2>
3764
+ <p><?php printf( __( 'Manage multiple sites from one dashboard at wordpress.com/sites. Enabling allows all existing, connected Administrators to modify your site from WordPress.com. <a href="%s" target="_blank">Learn More</a>.', 'jetpack' ), 'http://jetpack.com/support/site-management' ); ?></p>
3765
  </div>
3766
  <div class="jp-banner__action-container is-opt-in">
3767
  <a href="<?php echo esc_url( $opt_in_url ); ?>" class="jp-banner__button" id="wpcom-connect"><?php _e( 'Activate now', 'jetpack' ); ?></a>
3790
  ?>
3791
  <div class="wrap">
3792
  <div id="message" class="jetpack-message is-opt-in">
3793
+ <?php echo sprintf( __( '<p><a href="%1$s" title="Opt in to WordPress.com Site Management" >Activate Site Management</a> to manage multiple sites from our centralized dashboard at wordpress.com/sites. <a href="%2$s" target="_blank">Learn more</a>.</p><a href="%1$s" class="jp-button">Activate Now</a>', 'jetpack' ), $this->opt_in_jetpack_manage_url(), 'http://jetpack.com/support/site-management' ); ?>
3794
  </div>
3795
  </div>
3796
  <?php
3882
  <br />
3883
  <?php echo sprintf(
3884
  __( 'Would you tell us why? Just <a href="%1$s" target="%2$s">answering two simple questions</a> would help us improve Jetpack.', 'jetpack' ),
3885
+ 'https://jetpack.com/survey-disconnected/',
3886
  '_blank'
3887
  ); ?>
3888
  </h2>
3943
  if ( isset( $_GET['connect_url_redirect'] ) ) {
3944
  // User clicked in the iframe to link their accounts
3945
  if ( ! Jetpack::is_user_connected() ) {
3946
+ $connect_url = $this->build_connect_url( true, false, 'iframe' );
3947
  if ( isset( $_GET['notes_iframe'] ) )
3948
  $connect_url .= '&notes_iframe';
3949
  wp_redirect( $connect_url );
3983
  break;
3984
  }
3985
 
3986
+ wp_redirect( $this->build_connect_url( true, false, 'error-desc' ) );
3987
  exit;
3988
  case 'activate' :
3989
  if ( ! current_user_can( 'jetpack_activate_modules' ) ) {
4028
  check_admin_referer( 'jetpack-reconnect' );
4029
  Jetpack::log( 'reconnect' );
4030
  $this->disconnect();
4031
+ wp_redirect( $this->build_connect_url( true, false, 'reconnect' ) );
4032
  exit;
4033
  case 'deactivate' :
4034
  if ( ! current_user_can( 'jetpack_deactivate_modules' ) ) {
4182
  case 'verify_secrets_missing' :
4183
  case 'verify_secrets_mismatch' :
4184
  $error = esc_html( $error );
4185
+ $this->error = sprintf( __( '<strong>Your Jetpack has a glitch.</strong> We&#8217;re sorry for the inconvenience. Please try again later, if the issue continues please contact support with this message: %s', 'jetpack' ), "<code>$error</code>" );
4186
  if ( ! Jetpack::is_active() ) {
4187
  $this->error .= '<br />';
4188
  $this->error .= sprintf( __( 'Try connecting again.', 'jetpack' ) );
4584
  return $role . ':' . hash_hmac( 'md5', "{$role}|{$user_id}", $token->secret );
4585
  }
4586
 
4587
+
4588
+ /**
4589
+ * Builds a URL to the Jetpack connection auth page
4590
+ *
4591
+ * @since 3.9.5
4592
+ *
4593
+ * @param bool $raw If true, URL will not be escaped.
4594
+ * @param bool|string $redirect If true, will redirect back to Jetpack wp-admin landing page after connection.
4595
+ * If string, will be a custom redirect.
4596
+ * @param bool|string $from If not false, adds 'from=$from' param to the connect URL.
4597
+ *
4598
+ * @return string Connect URL
4599
+ */
4600
+ function build_connect_url( $raw = false, $redirect = false, $from = false ) {
4601
  if ( ! Jetpack_Options::get_option( 'blog_token' ) || ! Jetpack_Options::get_option( 'id' ) ) {
4602
  $url = Jetpack::nonce_url_no_esc( Jetpack::admin_url( 'action=register' ), 'jetpack-register' );
4603
  if( is_network_admin() ) {
4640
  $url = add_query_arg( $args, Jetpack::api_url( 'authorize' ) );
4641
  }
4642
 
4643
+ if ( $from ) {
4644
+ $url = add_query_arg( 'from', $from, $url );
4645
+ }
4646
  return $raw ? $url : esc_url( $url );
4647
  }
4648
 
4830
 
4831
  $activate_url = Jetpack::init()->opt_in_jetpack_manage_url();
4832
 
4833
+ $info['description'] = sprintf( __( 'Manage your multiple Jetpack sites from our centralized dashboard at wordpress.com/sites. <a href="%s" target="_blank">Learn more</a>.', 'jetpack' ), 'http://jetpack.com/support/site-management' );
4834
 
4835
  // $extra = __( 'To use Site Management, you need to first activate JSON API to allow remote management of your site. ', 'jetpack' );
4836
  } ?>
5111
  return $valid_response;
5112
  }
5113
 
 
5114
  // Grab the response values to work with
5115
  $code = wp_remote_retrieve_response_code( $response );
5116
  $entity = wp_remote_retrieve_body( $response );
5892
  * @return array An array of options that do not match. If everything is good, it will evaluate to false.
5893
  */
5894
  public static function check_identity_crisis( $force_recheck = false ) {
5895
+ if ( ! Jetpack::is_active() || Jetpack::is_development_mode() || Jetpack::is_staging_site() )
5896
  return false;
5897
 
5898
  if ( $force_recheck || false === ( $errors = get_transient( 'jetpack_has_identity_crisis' ) ) ) {
6099
  *
6100
  * @return bool True = already whitelsisted False = not whitelisted
6101
  */
6102
+ public static function is_staging_site() {
6103
+ $is_staging = false;
6104
+
6105
  $current_whitelist = Jetpack_Options::get_option( 'identity_crisis_whitelist' );
6106
+ if ( $current_whitelist ) {
6107
+ $options_to_check = Jetpack::identity_crisis_options_to_check();
6108
+ $cloud_options = Jetpack::init()->get_cloud_site_options( $options_to_check );
6109
+
6110
+ foreach ( $cloud_options as $cloud_key => $cloud_value ) {
6111
+ if ( self::is_identity_crisis_value_whitelisted( $cloud_key, $cloud_value ) ) {
6112
+ $is_staging = true;
6113
+ break;
6114
+ }
6115
+ }
6116
  }
6117
+ $known_staging = array(
6118
+ 'urls' => array(
6119
+ '#\.staging\.wpengine\.com$#i',
6120
+ ),
6121
+ 'constants' => array(
6122
+ 'IS_WPE_SNAPSHOT',
6123
+ 'JETPACK_STAGING_MODE',
6124
+ )
6125
+ );
6126
+ /**
6127
+ * Filters the flags of known staging sites.
6128
+ *
6129
+ * @since 3.9.0
6130
+ *
6131
+ * @param array $known_staging {
6132
+ * An array of arrays that each are used to check if the current site is staging.
6133
+ * @type array $urls URLs of staging sites in regex to check against site_url.
6134
+ * @type array $cosntants PHP constants of known staging/developement environments.
6135
+ * }
6136
+ */
6137
+ $known_staging = apply_filters( 'jetpack_known_staging', $known_staging );
6138
 
6139
+ if ( isset( $known_staging['urls'] ) ) {
6140
+ foreach ( $known_staging['urls'] as $url ){
6141
+ if ( preg_match( $url, site_url() ) ) {
6142
+ $is_staging = true;
6143
+ break;
6144
+ }
6145
+ }
6146
+ }
6147
 
6148
+ if ( isset( $known_staging['constants'] ) ) {
6149
+ foreach ( $known_staging['constants'] as $constant ) {
6150
+ if ( defined( $constant ) && constant( $constant ) ) {
6151
+ $is_staging = true;
6152
+ }
6153
  }
6154
  }
6155
+
6156
+ /**
6157
+ * Filters is_staging_site check.
6158
+ *
6159
+ * @since 3.9.0
6160
+ *
6161
+ * @param bool $is_staging If the current site is a staging site.
6162
+ */
6163
+ return apply_filters( 'jetpack_is_staging_site', $is_staging );
6164
  }
6165
 
6166
  public function identity_crisis_js( $nonce ) {
6314
  <div class="banner-content">
6315
  <p><?php
6316
  /* translators: %s is a URL */
6317
+ printf( __( 'Our records show that this site does not have a valid connection to WordPress.com. Please reset your connection to fix this. <a href="%s" target="_blank">What caused this?</a>', 'jetpack' ), 'https://jetpack.com/support/no-valid-wordpress-com-connection/' );
6318
  ?></p>
6319
  </div>
6320
  <div class="jp-btn-group">
6343
  ),
6344
  $errors[ $key ],
6345
  (string) get_option( $key ),
6346
+ 'https://jetpack.com/support/what-does-resetting-the-connection-mean/'
6347
  ); ?></p>
6348
  </div>
6349
  <div class="jp-btn-group">
6350
  <a href="#" class="reset-connection"><?php _e( 'Reset the connection', 'jetpack' ); ?></a> <span class="idc-separator">|</span>
6351
  <a href="#" class="is-dev-env"><?php _e( 'This is a development environment', 'jetpack' ); ?></a> <span class="idc-separator">|</span>
6352
+ <a href="https://jetpack.com/contact-support/" class="contact-support"><?php _e( 'Submit a support ticket', 'jetpack' ); ?></a>
6353
  <span class="spinner"></span>
6354
  </div>
6355
  </div>
6520
  $deprecated_list = array(
6521
  'jetpack_bail_on_shortcode' => 'jetpack_shortcodes_to_include',
6522
  'wpl_sharing_2014_1' => null,
6523
+ 'jetpack-tools-to-include' => 'jetpack_tools_to_include',
6524
  );
6525
 
6526
  // This is a silly loop depth. Better way?
6607
  global $wp_version;
6608
  $ssl = is_ssl();
6609
 
6610
+ if ( force_ssl_admin() ) {
 
 
6611
  $ssl = true;
6612
  }
6613
  return $ssl;
7034
  <p><?php echo wp_kses( __( 'Connecting Jetpack will show you <strong>stats</strong> about your traffic, <strong>protect</strong> you from brute force attacks, <strong>speed up</strong> your images and photos, and enable other <strong>traffic and security</strong> features.', 'jetpack' ), 'jetpack' ) ?></p>
7035
 
7036
  <div class="actions">
7037
+ <a href="<?php echo $this->build_connect_url( false, false, 'widget-btn' ); ?>" class="button button-primary">
7038
  <?php esc_html_e( 'Connect Jetpack', 'jetpack' ); ?>
7039
  </a>
7040
  </div>
class.json-api-endpoints.php CHANGED
@@ -8,7 +8,6 @@ abstract class WPCOM_JSON_API_Endpoint {
8
  public $api;
9
 
10
  public $pass_wpcom_user_details = false;
11
- public $can_use_user_details_instead_of_blog_membership = false;
12
 
13
  // One liner.
14
  public $description;
@@ -45,7 +44,7 @@ abstract class WPCOM_JSON_API_Endpoint {
45
  ),
46
  'http_envelope' => array(
47
  'false' => '',
48
- 'true' => 'Some environments (like in-browser Javascript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.',
49
  ),
50
  'pretty' => array(
51
  'false' => '',
@@ -69,6 +68,9 @@ abstract class WPCOM_JSON_API_Endpoint {
69
  // Is this endpoint still allowed if the site in question is flagged?
70
  public $allowed_if_flagged = false;
71
 
 
 
 
72
  /**
73
  * @var string Version of the API
74
  */
@@ -113,6 +115,7 @@ abstract class WPCOM_JSON_API_Endpoint {
113
  $defaults = array(
114
  'in_testing' => false,
115
  'allowed_if_flagged' => false,
 
116
  'description' => '',
117
  'group' => '',
118
  'method' => 'GET',
@@ -133,7 +136,6 @@ abstract class WPCOM_JSON_API_Endpoint {
133
  'example_response' => '',
134
  'required_scope' => '',
135
  'pass_wpcom_user_details' => false,
136
- 'can_use_user_details_instead_of_blog_membership' => false,
137
  'custom_fields_filtering' => false,
138
  'allow_cross_origin_request' => false,
139
  'allow_unauthorized_request' => false,
@@ -145,6 +147,7 @@ abstract class WPCOM_JSON_API_Endpoint {
145
  $this->in_testing = $args['in_testing'];
146
 
147
  $this->allowed_if_flagged = $args['allowed_if_flagged'];
 
148
 
149
  $this->description = $args['description'];
150
  $this->group = $args['group'];
@@ -162,7 +165,6 @@ abstract class WPCOM_JSON_API_Endpoint {
162
 
163
  $this->pass_wpcom_user_details = $args['pass_wpcom_user_details'];
164
  $this->custom_fields_filtering = (bool) $args['custom_fields_filtering'];
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'];
@@ -330,7 +332,8 @@ abstract class WPCOM_JSON_API_Endpoint {
330
  /**
331
  * Casts $value according to $type.
332
  * Handles fallbacks for certain values of $type when $value is not that $type
333
- * Currently, only handles fallback between string <-> array (two way), from string -> false (one way), and from object -> false (one way)
 
334
  *
335
  * Handles "child types" - array:URL, object:category
336
  * array:URL means an array of URLs
@@ -351,8 +354,8 @@ abstract class WPCOM_JSON_API_Endpoint {
351
  $return[$key] = (string) esc_url_raw( $value );
352
  break;
353
  case 'string' :
354
- // Fallback string -> array
355
- if ( is_array( $value ) ) {
356
  if ( !empty( $types[0] ) ) {
357
  $next_type = array_shift( $types );
358
  return $this->cast_and_filter_item( $return, $next_type, $key, $value, $types, $for_output );
@@ -376,11 +379,11 @@ abstract class WPCOM_JSON_API_Endpoint {
376
  break;
377
  case 'media' :
378
  if ( is_array( $value ) ) {
379
- if ( isset( $value['name'] ) ) {
380
  // It's a $_FILES array
381
  // Reformat into array of $_FILES items
382
-
383
  $files = array();
 
384
  foreach ( $value['name'] as $k => $v ) {
385
  $files[$k] = array();
386
  foreach ( array_keys( $value ) as $file_key ) {
@@ -1009,6 +1012,7 @@ abstract class WPCOM_JSON_API_Endpoint {
1009
  $first_name = '';
1010
  $last_name = '';
1011
  $URL = $author->comment_author_url;
 
1012
  $profile_URL = 'http://en.gravatar.com/' . md5( strtolower( trim( $email ) ) );
1013
  $nice = '';
1014
  $site_id = -1;
@@ -1019,7 +1023,11 @@ abstract class WPCOM_JSON_API_Endpoint {
1019
  $$field = str_replace( '&amp;', '&', $$field );
1020
  }
1021
  } else {
1022
- if ( isset( $author->post_author ) ) {
 
 
 
 
1023
  // then $author is a Post Object.
1024
  if ( 0 == $author->post_author )
1025
  return null;
@@ -1047,10 +1055,6 @@ abstract class WPCOM_JSON_API_Endpoint {
1047
  } else {
1048
  $author = $author->post_author;
1049
  }
1050
- } elseif ( isset( $author->user_id ) && $author->user_id ) {
1051
- $author = $author->user_id;
1052
- } elseif ( isset( $author->user_email ) ) {
1053
- $author = $author->ID;
1054
  }
1055
 
1056
  if ( ! isset( $ID ) ) {
@@ -1077,9 +1081,9 @@ abstract class WPCOM_JSON_API_Endpoint {
1077
  $profile_URL = 'http://en.gravatar.com/' . md5( strtolower( trim( $email ) ) );
1078
  $site_id = -1;
1079
  }
1080
- }
1081
 
1082
- $avatar_URL = $this->api->get_avatar_url( $email );
 
1083
 
1084
  $email = $show_email ? (string) $email : false;
1085
 
@@ -1153,6 +1157,7 @@ abstract class WPCOM_JSON_API_Endpoint {
1153
  'guid' => $media_item->guid,
1154
  'date' => (string) $this->format_date( $media_item->post_date_gmt, $media_item->post_date ),
1155
  'post_ID' => $media_item->post_parent,
 
1156
  'file' => $file,
1157
  'mime_type' => $media_item->post_mime_type,
1158
  'extension' => $ext,
@@ -1169,12 +1174,29 @@ abstract class WPCOM_JSON_API_Endpoint {
1169
  $response['height'] = $metadata['height'];
1170
  $response['width'] = $metadata['width'];
1171
  }
1172
- if ( is_array( $metadata['sizes'] ) ) {
1173
- foreach ( $metadata['sizes'] as $size => $size_details ) {
1174
- $response['thumbnails'][ $size ] = dirname( $response['URL'] ) . '/' . $size_details['file'];
1175
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1176
  }
1177
- $response['exif'] = $metadata['image_meta'];
1178
  }
1179
 
1180
  if ( in_array( $ext, array( 'mp3', 'm4a', 'wav', 'ogg' ) ) ) {
@@ -1404,15 +1426,18 @@ abstract class WPCOM_JSON_API_Endpoint {
1404
  if ( defined( 'REST_API_THEME_FUNCTIONS_LOADED' ) )
1405
  return;
1406
 
 
 
 
 
 
 
1407
  define( 'REST_API_THEME_FUNCTIONS_LOADED', true );
1408
 
1409
  // the theme info we care about is found either within functions.php or one of the jetpack files.
1410
  $function_files = array( '/functions.php', '/inc/jetpack.compat.php', '/inc/jetpack.php', '/includes/jetpack.compat.php' );
1411
 
1412
  $copy_dirs = array( get_template_directory() );
1413
- if ( wpcom_is_vip() ) {
1414
- $copy_dirs[] = WP_CONTENT_DIR . '/themes/vip/plugins/';
1415
- }
1416
 
1417
  // Is this a child theme? Load the child theme's functions file.
1418
  if ( get_stylesheet_directory() !== get_template_directory() && wpcom_is_child_theme() ) {
@@ -1533,6 +1558,19 @@ abstract class WPCOM_JSON_API_Endpoint {
1533
  return $this->api->version;
1534
  }
1535
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1536
  $endpoint_path_versions = $this->get_endpoint_path_versions();
1537
  $last_path_segment = $this->get_last_segment_of_relative_path( $path );
1538
  $max_version_found = null;
@@ -1554,26 +1592,28 @@ abstract class WPCOM_JSON_API_Endpoint {
1554
  $endpoint_path = untrailingslashit( $endpoint['path'] );
1555
  $endpoint_path_regex = str_replace( array( '%s', '%d' ), array( '([^/?&]+)', '(\d+)' ), $endpoint_path );
1556
 
1557
- if ( ! preg_match( "#^$endpoint_path_regex\$#", $path, $matches ) ) {
1558
  continue;
1559
  }
1560
 
1561
  // Make sure the endpoint exists at the same version
1562
  if ( version_compare( $this->api->version, $endpoint['min_version'], '>=') &&
1563
  version_compare( $this->api->version, $endpoint['max_version'], '<=') ) {
 
1564
  return $this->api->version;
1565
  }
1566
 
1567
  // If the endpoint doesn't exist at the same version, record the max version we found
1568
- if ( empty( $max_version_found ) || version_compare( $max_version_found, $endpoint['max_version'], '<' ) ) {
1569
- $max_version_found = $endpoint['max_version'];
1570
  }
1571
  }
1572
  }
1573
 
1574
  // If the endpoint version is less than the requested endpoint version, return the max version found
1575
  if ( ! empty( $max_version_found ) ) {
1576
- return $max_version_found;
 
1577
  }
1578
 
1579
  // Otherwise, use the API version of the current request
@@ -1589,8 +1629,7 @@ abstract class WPCOM_JSON_API_Endpoint {
1589
  **/
1590
  protected function get_endpoint_path_versions() {
1591
 
1592
- // Do we already have the result of this method in the cache?
1593
- $cache_result = get_transient( 'endpoint_path_versions' );
1594
 
1595
  if ( ! empty ( $cache_result ) ) {
1596
  return $cache_result;
@@ -1618,11 +1657,7 @@ abstract class WPCOM_JSON_API_Endpoint {
1618
  );
1619
  }
1620
 
1621
- set_transient(
1622
- 'endpoint_path_versions',
1623
- $endpoint_path_versions,
1624
- (HOUR_IN_SECONDS / 2)
1625
- );
1626
 
1627
  return $endpoint_path_versions;
1628
  }
@@ -1864,21 +1899,49 @@ abstract class WPCOM_JSON_API_Endpoint {
1864
  $attrs = $media_attrs[$index];
1865
  $insert = array();
1866
 
1867
- if ( ! empty( $attrs['title'] ) ) {
 
 
1868
  $insert['post_title'] = $attrs['title'];
1869
  }
1870
 
1871
- if ( ! empty( $attrs['caption'] ) )
1872
  $insert['post_excerpt'] = $attrs['caption'];
 
1873
 
1874
- if ( ! empty( $attrs['description'] ) )
1875
  $insert['post_content'] = $attrs['description'];
 
1876
 
1877
- if ( empty( $insert ) )
1878
- continue;
 
 
 
 
 
 
 
 
 
 
 
1879
 
1880
- $insert['ID'] = $media_id;
1881
- wp_update_post( (object) $insert );
 
 
 
 
 
 
 
 
 
 
 
 
 
1882
  }
1883
  }
1884
 
8
  public $api;
9
 
10
  public $pass_wpcom_user_details = false;
 
11
 
12
  // One liner.
13
  public $description;
44
  ),
45
  'http_envelope' => array(
46
  'false' => '',
47
+ 'true' => 'Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.',
48
  ),
49
  'pretty' => array(
50
  'false' => '',
68
  // Is this endpoint still allowed if the site in question is flagged?
69
  public $allowed_if_flagged = false;
70
 
71
+ // Is this endpoint allowed if the site is red flagged?
72
+ public $allowed_if_red_flagged = false;
73
+
74
  /**
75
  * @var string Version of the API
76
  */
115
  $defaults = array(
116
  'in_testing' => false,
117
  'allowed_if_flagged' => false,
118
+ 'allowed_if_red_flagged' => false,
119
  'description' => '',
120
  'group' => '',
121
  'method' => 'GET',
136
  'example_response' => '',
137
  'required_scope' => '',
138
  'pass_wpcom_user_details' => false,
 
139
  'custom_fields_filtering' => false,
140
  'allow_cross_origin_request' => false,
141
  'allow_unauthorized_request' => false,
147
  $this->in_testing = $args['in_testing'];
148
 
149
  $this->allowed_if_flagged = $args['allowed_if_flagged'];
150
+ $this->allowed_if_red_flagged = $args['allowed_if_red_flagged'];
151
 
152
  $this->description = $args['description'];
153
  $this->group = $args['group'];
165
 
166
  $this->pass_wpcom_user_details = $args['pass_wpcom_user_details'];
167
  $this->custom_fields_filtering = (bool) $args['custom_fields_filtering'];
 
168
 
169
  $this->allow_cross_origin_request = (bool) $args['allow_cross_origin_request'];
170
  $this->allow_unauthorized_request = (bool) $args['allow_unauthorized_request'];
332
  /**
333
  * Casts $value according to $type.
334
  * Handles fallbacks for certain values of $type when $value is not that $type
335
+ * Currently, only handles fallback between string <-> array (two way), from string -> false (one way), and from object -> false (one way),
336
+ * and string -> object (one way)
337
  *
338
  * Handles "child types" - array:URL, object:category
339
  * array:URL means an array of URLs
354
  $return[$key] = (string) esc_url_raw( $value );
355
  break;
356
  case 'string' :
357
+ // Fallback string -> array, or for string -> object
358
+ if ( is_array( $value ) || is_object( $value ) ) {
359
  if ( !empty( $types[0] ) ) {
360
  $next_type = array_shift( $types );
361
  return $this->cast_and_filter_item( $return, $next_type, $key, $value, $types, $for_output );
379
  break;
380
  case 'media' :
381
  if ( is_array( $value ) ) {
382
+ if ( isset( $value['name'] ) && is_array( $value['name'] ) ) {
383
  // It's a $_FILES array
384
  // Reformat into array of $_FILES items
 
385
  $files = array();
386
+
387
  foreach ( $value['name'] as $k => $v ) {
388
  $files[$k] = array();
389
  foreach ( array_keys( $value ) as $file_key ) {
1012
  $first_name = '';
1013
  $last_name = '';
1014
  $URL = $author->comment_author_url;
1015
+ $avatar_URL = $this->api->get_avatar_url( $author );
1016
  $profile_URL = 'http://en.gravatar.com/' . md5( strtolower( trim( $email ) ) );
1017
  $nice = '';
1018
  $site_id = -1;
1023
  $$field = str_replace( '&amp;', '&', $$field );
1024
  }
1025
  } else {
1026
+ if ( isset( $author->user_id ) && $author->user_id ) {
1027
+ $author = $author->user_id;
1028
+ } elseif ( isset( $author->user_email ) ) {
1029
+ $author = $author->ID;
1030
+ } elseif ( isset( $author->post_author ) ) {
1031
  // then $author is a Post Object.
1032
  if ( 0 == $author->post_author )
1033
  return null;
1055
  } else {
1056
  $author = $author->post_author;
1057
  }
 
 
 
 
1058
  }
1059
 
1060
  if ( ! isset( $ID ) ) {
1081
  $profile_URL = 'http://en.gravatar.com/' . md5( strtolower( trim( $email ) ) );
1082
  $site_id = -1;
1083
  }
 
1084
 
1085
+ $avatar_URL = $this->api->get_avatar_url( $email );
1086
+ }
1087
 
1088
  $email = $show_email ? (string) $email : false;
1089
 
1157
  'guid' => $media_item->guid,
1158
  'date' => (string) $this->format_date( $media_item->post_date_gmt, $media_item->post_date ),
1159
  'post_ID' => $media_item->post_parent,
1160
+ 'author_ID' => (int) $media_item->post_author,
1161
  'file' => $file,
1162
  'mime_type' => $media_item->post_mime_type,
1163
  'extension' => $ext,
1174
  $response['height'] = $metadata['height'];
1175
  $response['width'] = $metadata['width'];
1176
  }
1177
+
1178
+ if ( isset( $metadata['sizes'] ) ) {
1179
+ /**
1180
+ * Filter the thumbnail sizes available for each attachment ID.
1181
+ *
1182
+ * @module json-api
1183
+ *
1184
+ * @since 3.9.0
1185
+ *
1186
+ * @param array $metadata['sizes'] Array of thumbnail sizes available for a given attachment ID.
1187
+ * @param string $media_id Attachment ID.
1188
+ */
1189
+ $sizes = apply_filters( 'rest_api_thumbnail_sizes', $metadata['sizes'], $media_id );
1190
+ if ( is_array( $sizes ) ) {
1191
+ foreach ( $sizes as $size => $size_details ) {
1192
+ $response['thumbnails'][ $size ] = dirname( $response['URL'] ) . '/' . $size_details['file'];
1193
+ }
1194
+ }
1195
+ }
1196
+
1197
+ if ( isset( $metadata['image_meta'] ) ) {
1198
+ $response['exif'] = $metadata['image_meta'];
1199
  }
 
1200
  }
1201
 
1202
  if ( in_array( $ext, array( 'mp3', 'm4a', 'wav', 'ogg' ) ) ) {
1426
  if ( defined( 'REST_API_THEME_FUNCTIONS_LOADED' ) )
1427
  return;
1428
 
1429
+ // VIP context loading is handled elsewhere, so bail to prevent
1430
+ // duplicate loading. See `switch_to_blog_and_validate_user()`
1431
+ if ( function_exists( 'wpcom_is_vip' ) && wpcom_is_vip() ) {
1432
+ return;
1433
+ }
1434
+
1435
  define( 'REST_API_THEME_FUNCTIONS_LOADED', true );
1436
 
1437
  // the theme info we care about is found either within functions.php or one of the jetpack files.
1438
  $function_files = array( '/functions.php', '/inc/jetpack.compat.php', '/inc/jetpack.php', '/includes/jetpack.compat.php' );
1439
 
1440
  $copy_dirs = array( get_template_directory() );
 
 
 
1441
 
1442
  // Is this a child theme? Load the child theme's functions file.
1443
  if ( get_stylesheet_directory() !== get_template_directory() && wpcom_is_child_theme() ) {
1558
  return $this->api->version;
1559
  }
1560
 
1561
+ static $matches;
1562
+ if ( empty( $matches ) ) {
1563
+ $matches = array();
1564
+ } else {
1565
+ // try to match out of saved matches
1566
+ foreach( $matches as $match ) {
1567
+ $regex = $match->regex;
1568
+ if ( preg_match( "#^$regex\$#", $path ) ) {
1569
+ return $match->version;
1570
+ }
1571
+ }
1572
+ }
1573
+
1574
  $endpoint_path_versions = $this->get_endpoint_path_versions();
1575
  $last_path_segment = $this->get_last_segment_of_relative_path( $path );
1576
  $max_version_found = null;
1592
  $endpoint_path = untrailingslashit( $endpoint['path'] );
1593
  $endpoint_path_regex = str_replace( array( '%s', '%d' ), array( '([^/?&]+)', '(\d+)' ), $endpoint_path );
1594
 
1595
+ if ( ! preg_match( "#^$endpoint_path_regex\$#", $path ) ) {
1596
  continue;
1597
  }
1598
 
1599
  // Make sure the endpoint exists at the same version
1600
  if ( version_compare( $this->api->version, $endpoint['min_version'], '>=') &&
1601
  version_compare( $this->api->version, $endpoint['max_version'], '<=') ) {
1602
+ array_push( $matches, (object) array( 'version' => $this->api->version, 'regex' => $endpoint_path_regex ) );
1603
  return $this->api->version;
1604
  }
1605
 
1606
  // If the endpoint doesn't exist at the same version, record the max version we found
1607
+ if ( empty( $max_version_found ) || version_compare( $max_version_found['version'], $endpoint['max_version'], '<' ) ) {
1608
+ $max_version_found = array( 'version' => $endpoint['max_version'], 'regex' => $endpoint_path_regex );
1609
  }
1610
  }
1611
  }
1612
 
1613
  // If the endpoint version is less than the requested endpoint version, return the max version found
1614
  if ( ! empty( $max_version_found ) ) {
1615
+ array_push( $matches, (object) $max_version_found );
1616
+ return $max_version_found['version'];
1617
  }
1618
 
1619
  // Otherwise, use the API version of the current request
1629
  **/
1630
  protected function get_endpoint_path_versions() {
1631
 
1632
+ static $cache_result;
 
1633
 
1634
  if ( ! empty ( $cache_result ) ) {
1635
  return $cache_result;
1657
  );
1658
  }
1659
 
1660
+ $cache_result = $endpoint_path_versions;
 
 
 
 
1661
 
1662
  return $endpoint_path_versions;
1663
  }
1899
  $attrs = $media_attrs[$index];
1900
  $insert = array();
1901
 
1902
+ // Attributes: Title, Caption, Description
1903
+
1904
+ if ( isset( $attrs['title'] ) ) {
1905
  $insert['post_title'] = $attrs['title'];
1906
  }
1907
 
1908
+ if ( isset( $attrs['caption'] ) ) {
1909
  $insert['post_excerpt'] = $attrs['caption'];
1910
+ }
1911
 
1912
+ if ( isset( $attrs['description'] ) ) {
1913
  $insert['post_content'] = $attrs['description'];
1914
+ }
1915
 
1916
+ if ( ! empty( $insert ) ) {
1917
+ $insert['ID'] = $media_id;
1918
+ wp_update_post( (object) $insert );
1919
+ }
1920
+
1921
+ // Attributes: Alt
1922
+
1923
+ if ( isset( $attrs['alt'] ) ) {
1924
+ $alt = wp_strip_all_tags( $attrs['alt'], true );
1925
+ update_post_meta( $media_id, '_wp_attachment_image_alt', $alt );
1926
+ }
1927
+
1928
+ // Attributes: Artist, Album
1929
 
1930
+ $id3_meta = array();
1931
+
1932
+ foreach ( array( 'artist', 'album' ) as $key ) {
1933
+ if ( isset( $attrs[ $key ] ) ) {
1934
+ $id3_meta[ $key ] = wp_strip_all_tags( $attrs[ $key ], true );
1935
+ }
1936
+ }
1937
+
1938
+ if ( ! empty( $id3_meta ) ) {
1939
+ // Before updating metadata, ensure that the item is audio
1940
+ $item = $this->get_media_item_v1_1( $media_id );
1941
+ if ( 0 === strpos( $item->mime_type, 'audio/' ) ) {
1942
+ wp_update_attachment_metadata( $media_id, $id3_meta );
1943
+ }
1944
+ }
1945
  }
1946
  }
1947
 
class.json-api.php CHANGED
@@ -174,20 +174,8 @@ class WPCOM_JSON_API {
174
  // Normalize path and extract API version
175
  $this->path = untrailingslashit( $this->path );
176
  preg_match( '#^/rest/v(\d+(\.\d+)*)#', $this->path, $matches );
177
-
178
- // HACK Alert!
179
- // In order to workaround a bug in the iOS 5.6 release we need to handle /rest/sites/new as if it was
180
- // /rest/v1.1/sites/new
181
- if ( $this->path === '/rest/sites/new' ) {
182
- $this->version = '1.1';
183
- $this->path = '/sites/new';
184
- } else if ( $this->path === '/rest/users/new' ) {
185
- $this->version = '1.1';
186
- $this->path = '/users/new';
187
- } else {
188
- $this->path = substr( $this->path, strlen( $matches[0] ) );
189
- $this->version = $matches[1];
190
- }
191
 
192
  $allowed_methods = array( 'GET', 'POST' );
193
  $four_oh_five = false;
174
  // Normalize path and extract API version
175
  $this->path = untrailingslashit( $this->path );
176
  preg_match( '#^/rest/v(\d+(\.\d+)*)#', $this->path, $matches );
177
+ $this->path = substr( $this->path, strlen( $matches[0] ) );
178
+ $this->version = $matches[1];
 
 
 
 
 
 
 
 
 
 
 
 
179
 
180
  $allowed_methods = array( 'GET', 'POST' );
181
  $four_oh_five = false;
class.photon.php CHANGED
@@ -91,7 +91,7 @@ class Jetpack_Photon {
91
  public static function parse_images_from_html( $content ) {
92
  $images = array();
93
 
94
- if ( preg_match_all( '#(?:<a[^>]+?href=["|\'](?P<link_url>[^\s]+?)["|\'][^>]*?>\s*)?(?P<img_tag><img[^>]+?src=["|\'](?P<img_url>[^\s]+?)["|\'].*?>){1}(?:\s*</a>)?#is', $content, $images ) ) {
95
  foreach ( $images as $key => $unused ) {
96
  // Simplify the output as much as possible, mostly for confirming test results.
97
  if ( is_numeric( $key ) && $key > 0 )
@@ -442,11 +442,16 @@ class Jetpack_Photon {
442
  // Get the image URL and proceed with Photon-ification if successful
443
  $image_url = wp_get_attachment_url( $attachment_id );
444
 
 
 
 
445
  if ( $image_url ) {
446
  // Check if image URL should be used with Photon
447
  if ( ! self::validate_image_url( $image_url ) )
448
  return $image;
449
 
 
 
450
  // If an image is requested with a size known to WordPress, use that size's settings with Photon
451
  if ( ( is_string( $size ) || is_int( $size ) ) && array_key_exists( $size, self::image_sizes() ) ) {
452
  $image_args = self::image_sizes();
@@ -459,21 +464,28 @@ class Jetpack_Photon {
459
  // 'full' is a special case: We need consistent data regardless of the requested size.
460
  if ( 'full' == $size ) {
461
  $image_meta = wp_get_attachment_metadata( $attachment_id );
 
462
  } elseif ( ! $image_meta ) {
463
  // If we still don't have any image meta at this point, it's probably from a custom thumbnail size
464
  // for an image that was uploaded before the custom image was added to the theme. Try to determine the size manually.
465
  $image_meta = wp_get_attachment_metadata( $attachment_id );
466
- $image_resized = image_resize_dimensions( $image_meta['width'], $image_meta['height'], $image_args['width'], $image_args['height'], $image_args['crop'] );
467
- if ( $image_resized ) { // This could be false when the requested image size is larger than the full-size image.
468
- $image_meta['width'] = $image_resized[6];
469
- $image_meta['height'] = $image_resized[7];
 
 
 
470
  }
471
  }
472
 
473
- $image_args['width'] = $image_meta['width'];
474
- $image_args['height'] = $image_meta['height'];
 
475
 
476
- list( $image_args['width'], $image_args['height'] ) = image_constrain_size_for_editor( $image_args['width'], $image_args['height'], $size, 'display' );
 
 
477
 
478
  // Expose determined arguments to a filter before passing to Photon
479
  $transform = $image_args['crop'] ? 'resize' : 'fit';
@@ -487,11 +499,13 @@ class Jetpack_Photon {
487
  }
488
  } else {
489
  if ( ( 'resize' === $transform ) && $image_meta = wp_get_attachment_metadata( $attachment_id ) ) {
490
- // Lets make sure that we don't upscale images since wp never upscales them as well
491
- $smaller_width = ( ( $image_meta['width'] < $image_args['width'] ) ? $image_meta['width'] : $image_args['width'] );
492
- $smaller_height = ( ( $image_meta['height'] < $image_args['height'] ) ? $image_meta['height'] : $image_args['height'] );
 
493
 
494
- $photon_args[ $transform ] = $smaller_width . ',' . $smaller_height;
 
495
  } else {
496
  $photon_args[ $transform ] = $image_args['width'] . ',' . $image_args['height'];
497
  }
@@ -524,8 +538,9 @@ class Jetpack_Photon {
524
  // Generate Photon URL
525
  $image = array(
526
  jetpack_photon_url( $image_url, $photon_args ),
527
- $image_args['width'],
528
- $image_args['height']
 
529
  );
530
  } elseif ( is_array( $size ) ) {
531
  // Pull width and height values from the provided array, if possible
@@ -538,9 +553,19 @@ class Jetpack_Photon {
538
  }
539
 
540
  $image_meta = wp_get_attachment_metadata( $attachment_id );
541
- $image_resized = image_resize_dimensions( $image_meta['width'], $image_meta['height'], $width, $height );
542
- $width = $image_resized[6];
543
- $height = $image_resized[7];
 
 
 
 
 
 
 
 
 
 
544
 
545
  list( $width, $height ) = image_constrain_size_for_editor( $width, $height, $size );
546
 
@@ -572,8 +597,9 @@ class Jetpack_Photon {
572
  // Generate Photon URL
573
  $image = array(
574
  jetpack_photon_url( $image_url, $photon_args ),
575
- $width,
576
- $height
 
577
  );
578
  }
579
  }
@@ -658,10 +684,11 @@ class Jetpack_Photon {
658
  * @module photon
659
  *
660
  * @since 2.4.0
 
661
  *
662
- * @param bool true Should Photon ignore images using the HTTPS scheme. Default to true.
663
  */
664
- apply_filters( 'jetpack_photon_reject_https', true )
665
  ) {
666
  return false;
667
  }
91
  public static function parse_images_from_html( $content ) {
92
  $images = array();
93
 
94
+ if ( preg_match_all( '#(?:<a[^>]+?href=["|\'](?P<link_url>[^\s]+?)["|\'][^>]*?>\s*)?(?P<img_tag><img[^>]*?\s+?src=["|\'](?P<img_url>[^\s]+?)["|\'].*?>){1}(?:\s*</a>)?#is', $content, $images ) ) {
95
  foreach ( $images as $key => $unused ) {
96
  // Simplify the output as much as possible, mostly for confirming test results.
97
  if ( is_numeric( $key ) && $key > 0 )
442
  // Get the image URL and proceed with Photon-ification if successful
443
  $image_url = wp_get_attachment_url( $attachment_id );
444
 
445
+ // Set this to true later when we know we have size meta.
446
+ $has_size_meta = false;
447
+
448
  if ( $image_url ) {
449
  // Check if image URL should be used with Photon
450
  if ( ! self::validate_image_url( $image_url ) )
451
  return $image;
452
 
453
+ $intermediate = true; // For the fourth array item returned by the image_downsize filter.
454
+
455
  // If an image is requested with a size known to WordPress, use that size's settings with Photon
456
  if ( ( is_string( $size ) || is_int( $size ) ) && array_key_exists( $size, self::image_sizes() ) ) {
457
  $image_args = self::image_sizes();
464
  // 'full' is a special case: We need consistent data regardless of the requested size.
465
  if ( 'full' == $size ) {
466
  $image_meta = wp_get_attachment_metadata( $attachment_id );
467
+ $intermediate = false;
468
  } elseif ( ! $image_meta ) {
469
  // If we still don't have any image meta at this point, it's probably from a custom thumbnail size
470
  // for an image that was uploaded before the custom image was added to the theme. Try to determine the size manually.
471
  $image_meta = wp_get_attachment_metadata( $attachment_id );
472
+
473
+ if ( isset( $image_meta['width'], $image_meta['height'] ) ) {
474
+ $image_resized = image_resize_dimensions( $image_meta['width'], $image_meta['height'], $image_args['width'], $image_args['height'], $image_args['crop'] );
475
+ if ( $image_resized ) { // This could be false when the requested image size is larger than the full-size image.
476
+ $image_meta['width'] = $image_resized[6];
477
+ $image_meta['height'] = $image_resized[7];
478
+ }
479
  }
480
  }
481
 
482
+ if ( isset( $image_meta['width'], $image_meta['height'] ) ) {
483
+ $image_args['width'] = $image_meta['width'];
484
+ $image_args['height'] = $image_meta['height'];
485
 
486
+ list( $image_args['width'], $image_args['height'] ) = image_constrain_size_for_editor( $image_args['width'], $image_args['height'], $size, 'display' );
487
+ $has_size_meta = true;
488
+ }
489
 
490
  // Expose determined arguments to a filter before passing to Photon
491
  $transform = $image_args['crop'] ? 'resize' : 'fit';
499
  }
500
  } else {
501
  if ( ( 'resize' === $transform ) && $image_meta = wp_get_attachment_metadata( $attachment_id ) ) {
502
+ if ( isset( $image_meta['width'], $image_meta['height'] ) ) {
503
+ // Lets make sure that we don't upscale images since wp never upscales them as well
504
+ $smaller_width = ( ( $image_meta['width'] < $image_args['width'] ) ? $image_meta['width'] : $image_args['width'] );
505
+ $smaller_height = ( ( $image_meta['height'] < $image_args['height'] ) ? $image_meta['height'] : $image_args['height'] );
506
 
507
+ $photon_args[ $transform ] = $smaller_width . ',' . $smaller_height;
508
+ }
509
  } else {
510
  $photon_args[ $transform ] = $image_args['width'] . ',' . $image_args['height'];
511
  }
538
  // Generate Photon URL
539
  $image = array(
540
  jetpack_photon_url( $image_url, $photon_args ),
541
+ $has_size_meta ? $image_args['width'] : false,
542
+ $has_size_meta ? $image_args['height'] : false,
543
+ $intermediate
544
  );
545
  } elseif ( is_array( $size ) ) {
546
  // Pull width and height values from the provided array, if possible
553
  }
554
 
555
  $image_meta = wp_get_attachment_metadata( $attachment_id );
556
+ if ( isset( $image_meta['width'], $image_meta['height'] ) ) {
557
+ $image_resized = image_resize_dimensions( $image_meta['width'], $image_meta['height'], $width, $height );
558
+
559
+ if ( $image_resized ) { // This could be false when the requested image size is larger than the full-size image.
560
+ $width = $image_resized[6];
561
+ $height = $image_resized[7];
562
+ } else {
563
+ $width = $image_meta['width'];
564
+ $height = $image_meta['height'];
565
+ }
566
+
567
+ $has_size_meta = true;
568
+ }
569
 
570
  list( $width, $height ) = image_constrain_size_for_editor( $width, $height, $size );
571
 
597
  // Generate Photon URL
598
  $image = array(
599
  jetpack_photon_url( $image_url, $photon_args ),
600
+ $has_size_meta ? $width : false,
601
+ $has_size_meta ? $height : false,
602
+ $intermediate
603
  );
604
  }
605
  }
684
  * @module photon
685
  *
686
  * @since 2.4.0
687
+ * @since 3.9.0 Default to false.
688
  *
689
+ * @param bool $reject_https Should Photon ignore images using the HTTPS scheme. Default to false.
690
  */
691
+ apply_filters( 'jetpack_photon_reject_https', false )
692
  ) {
693
  return false;
694
  }
composer.json CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "name" : "automattic/jetpack",
3
  "description": "Jetpack supercharges your self‑hosted WordPress site with the awesome cloud power of WordPress.com",
4
- "homepage" : "http://jetpack.me/",
5
  "type" : "wordpress-plugin",
6
  "license" : "GPL-2.0+",
7
  "require" : {
1
  {
2
  "name" : "automattic/jetpack",
3
  "description": "Jetpack supercharges your self‑hosted WordPress site with the awesome cloud power of WordPress.com",
4
+ "homepage" : "http://jetpack.com/",
5
  "type" : "wordpress-plugin",
6
  "license" : "GPL-2.0+",
7
  "require" : {
css/jetpack-admin-jitm-rtl.css CHANGED
@@ -58,6 +58,9 @@
58
  .jp-jitm .hide {
59
  display: none;
60
  }
 
 
 
61
  @media (min-width: 800px) {
62
  .jp-jitm .jp-emblem, .jp-jitm p {
63
  float: right;
@@ -84,6 +87,10 @@
84
  .jp-jitm {
85
  margin: 2.5em .5em .5em .75em;
86
  }
 
 
 
 
87
  }
88
  @media (max-width: 800px) {
89
  .jp-jitm .jp-emblem {
@@ -101,7 +108,43 @@
101
  top: 20%;
102
  }
103
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  /*# sourceMappingURL=jetpack-admin-jitm.css.map */
105
- .jp-jitm{border-radius:2px;max-width:100%;margin:2em auto 1em auto;padding:.85em;background:#fcfcfc;border:1px solid #dedede;text-align:center}.jp-jitm:before,.jp-jitm:after{content:"";display:table}.jp-jitm:after{clear:both}#screen-meta-links+.jp-jitm{margin:3em auto 0 1.5385em}.jp-jitm .activate{margin-top:.5em}.jp-jitm .jp-emblem{width:25px;height:25px;margin:.40em auto 0 1em}.jp-jitm svg{width:100%;height:100%}.jp-jitm path{fill:#8cc258}.jp-jitm .dismiss{margin:0;text-decoration:none;float:left}.jp-jitm .dismiss:before{color:#666;font:400 15px/1 dashicons;content:'\f158'}.jp-jitm p{font-size:1em;line-height:165%}.jp-jitm .j-spinner{margin:8px 0 0;height:17px;width:17px}.jp-jitm .hide{display:none}@media (min-width: 800px){.jp-jitm .jp-emblem,.jp-jitm p{float:right}.jp-jitm .jp-emblem{width:20px;height:20px;margin-left:.5em}.jp-jitm p{margin:.40em 0 0 1em}.jp-jitm p+p{margin:0;padding:0}.jp-jitm .activate{margin-top:0}}@media (max-width: 1100px){.jp-jitm{margin:2.5em .5em .5em .75em}}@media (max-width: 800px){.jp-jitm .jp-emblem{margin:.40em auto 0 auto}}@media (min-width: 1100px){.update-core-php .jp-jitm{margin:3em auto 0 2em}}.jetpack-connected .media-modal-content .uploader-inline-content{top:20%}
106
 
107
  /*# sourceMappingURL=jetpack-admin-jitm.min.css.map */
58
  .jp-jitm .hide {
59
  display: none;
60
  }
61
+ form[name=post] > .jp-jitm:first-of-type {
62
+ margin-top: 1em;
63
+ }
64
  @media (min-width: 800px) {
65
  .jp-jitm .jp-emblem, .jp-jitm p {
66
  float: right;
87
  .jp-jitm {
88
  margin: 2.5em .5em .5em .75em;
89
  }
90
+ form[name=post] > .jp-jitm:first-of-type {
91
+ margin-right: auto;
92
+ margin-left: auto;
93
+ }
94
  }
95
  @media (max-width: 800px) {
96
  .jp-jitm .jp-emblem {
108
  top: 20%;
109
  }
110
 
111
+ @media only screen and (min-width: 800px) {
112
+ .media-menu .jp-jitm {
113
+ margin: 10px 0;
114
+ padding: 5px 5px 15px;
115
+ border-width: 1px 0;
116
+ }
117
+ .media-menu .jp-jitm .jp-emblem {
118
+ margin: 20px 15px 0 10px;
119
+ }
120
+ .media-menu .jp-jitm .msg {
121
+ width: 75%;
122
+ text-align: right;
123
+ margin: 0 0 10px;
124
+ }
125
+ .media-menu .jp-jitm .msg + p {
126
+ text-align: center;
127
+ width: 100%;
128
+ }
129
+ }
130
+ @media only screen and (max-width: 900px) {
131
+ .media-menu .jp-jitm {
132
+ display: none;
133
+ margin: .5em 3%;
134
+ border-width: 1px;
135
+ }
136
+ .media-menu .jp-jitm .msg {
137
+ margin-top: 20px;
138
+ width: 88%;
139
+ margin-right: auto;
140
+ margin-left: auto;
141
+ }
142
+ .media-menu.visible .jp-jitm {
143
+ display: block;
144
+ }
145
+ }
146
+
147
  /*# sourceMappingURL=jetpack-admin-jitm.css.map */
148
+ .jp-jitm{border-radius:2px;max-width:100%;margin:2em auto 1em auto;padding:.85em;background:#fcfcfc;border:1px solid #dedede;text-align:center}.jp-jitm:before,.jp-jitm:after{content:"";display:table}.jp-jitm:after{clear:both}#screen-meta-links+.jp-jitm{margin:3em auto 0 1.5385em}.jp-jitm .activate{margin-top:.5em}.jp-jitm .jp-emblem{width:25px;height:25px;margin:.40em auto 0 1em}.jp-jitm svg{width:100%;height:100%}.jp-jitm path{fill:#8cc258}.jp-jitm .dismiss{margin:0;text-decoration:none;float:left}.jp-jitm .dismiss:before{color:#666;font:400 15px/1 dashicons;content:'\f158'}.jp-jitm p{font-size:1em;line-height:165%}.jp-jitm .j-spinner{margin:8px 0 0;height:17px;width:17px}.jp-jitm .hide{display:none}form[name=post]>.jp-jitm:first-of-type{margin-top:1em}@media (min-width: 800px){.jp-jitm .jp-emblem,.jp-jitm p{float:right}.jp-jitm .jp-emblem{width:20px;height:20px;margin-left:.5em}.jp-jitm p{margin:.40em 0 0 1em}.jp-jitm p+p{margin:0;padding:0}.jp-jitm .activate{margin-top:0}}@media (max-width: 1100px){.jp-jitm{margin:2.5em .5em .5em .75em}form[name=post]>.jp-jitm:first-of-type{margin-right:auto;margin-left:auto}}@media (max-width: 800px){.jp-jitm .jp-emblem{margin:.40em auto 0 auto}}@media (min-width: 1100px){.update-core-php .jp-jitm{margin:3em auto 0 2em}}.jetpack-connected .media-modal-content .uploader-inline-content{top:20%}@media only screen and (min-width: 800px){.media-menu .jp-jitm{margin:10px 0;padding:5px 5px 15px;border-width:1px 0}.media-menu .jp-jitm .jp-emblem{margin:20px 15px 0 10px}.media-menu .jp-jitm .msg{width:75%;text-align:right;margin:0 0 10px}.media-menu .jp-jitm .msg+p{text-align:center;width:100%}}@media only screen and (max-width: 900px){.media-menu .jp-jitm{display:none;margin:.5em 3%;border-width:1px}.media-menu .jp-jitm .msg{margin-top:20px;width:88%;margin-right:auto;margin-left:auto}.media-menu.visible .jp-jitm{display:block}}
149
 
150
  /*# sourceMappingURL=jetpack-admin-jitm.min.css.map */
css/jetpack-admin-jitm-rtl.min.css CHANGED
@@ -1,3 +1,3 @@
1
- .jp-jitm{border-radius:2px;max-width:100%;margin:2em auto 1em auto;padding:.85em;background:#fcfcfc;border:1px solid #dedede;text-align:center}.jp-jitm:before,.jp-jitm:after{content:"";display:table}.jp-jitm:after{clear:both}#screen-meta-links+.jp-jitm{margin:3em auto 0 1.5385em}.jp-jitm .activate{margin-top:.5em}.jp-jitm .jp-emblem{width:25px;height:25px;margin:.40em auto 0 1em}.jp-jitm svg{width:100%;height:100%}.jp-jitm path{fill:#8cc258}.jp-jitm .dismiss{margin:0;text-decoration:none;float:left}.jp-jitm .dismiss:before{color:#666;font:400 15px/1 dashicons;content:'\f158'}.jp-jitm p{font-size:1em;line-height:165%}.jp-jitm .j-spinner{margin:8px 0 0;height:17px;width:17px}.jp-jitm .hide{display:none}@media (min-width: 800px){.jp-jitm .jp-emblem,.jp-jitm p{float:right}.jp-jitm .jp-emblem{width:20px;height:20px;margin-left:.5em}.jp-jitm p{margin:.40em 0 0 1em}.jp-jitm p+p{margin:0;padding:0}.jp-jitm .activate{margin-top:0}}@media (max-width: 1100px){.jp-jitm{margin:2.5em .5em .5em .75em}}@media (max-width: 800px){.jp-jitm .jp-emblem{margin:.40em auto 0 auto}}@media (min-width: 1100px){.update-core-php .jp-jitm{margin:3em auto 0 2em}}.jetpack-connected .media-modal-content .uploader-inline-content{top:20%}
2
 
3
  /*# sourceMappingURL=jetpack-admin-jitm.min.css.map */
1
+ .jp-jitm{border-radius:2px;max-width:100%;margin:2em auto 1em auto;padding:.85em;background:#fcfcfc;border:1px solid #dedede;text-align:center}.jp-jitm:before,.jp-jitm:after{content:"";display:table}.jp-jitm:after{clear:both}#screen-meta-links+.jp-jitm{margin:3em auto 0 1.5385em}.jp-jitm .activate{margin-top:.5em}.jp-jitm .jp-emblem{width:25px;height:25px;margin:.40em auto 0 1em}.jp-jitm svg{width:100%;height:100%}.jp-jitm path{fill:#8cc258}.jp-jitm .dismiss{margin:0;text-decoration:none;float:left}.jp-jitm .dismiss:before{color:#666;font:400 15px/1 dashicons;content:'\f158'}.jp-jitm p{font-size:1em;line-height:165%}.jp-jitm .j-spinner{margin:8px 0 0;height:17px;width:17px}.jp-jitm .hide{display:none}form[name=post]>.jp-jitm:first-of-type{margin-top:1em}@media (min-width: 800px){.jp-jitm .jp-emblem,.jp-jitm p{float:right}.jp-jitm .jp-emblem{width:20px;height:20px;margin-left:.5em}.jp-jitm p{margin:.40em 0 0 1em}.jp-jitm p+p{margin:0;padding:0}.jp-jitm .activate{margin-top:0}}@media (max-width: 1100px){.jp-jitm{margin:2.5em .5em .5em .75em}form[name=post]>.jp-jitm:first-of-type{margin-right:auto;margin-left:auto}}@media (max-width: 800px){.jp-jitm .jp-emblem{margin:.40em auto 0 auto}}@media (min-width: 1100px){.update-core-php .jp-jitm{margin:3em auto 0 2em}}.jetpack-connected .media-modal-content .uploader-inline-content{top:20%}@media only screen and (min-width: 800px){.media-menu .jp-jitm{margin:10px 0;padding:5px 5px 15px;border-width:1px 0}.media-menu .jp-jitm .jp-emblem{margin:20px 15px 0 10px}.media-menu .jp-jitm .msg{width:75%;text-align:right;margin:0 0 10px}.media-menu .jp-jitm .msg+p{text-align:center;width:100%}}@media only screen and (max-width: 900px){.media-menu .jp-jitm{display:none;margin:.5em 3%;border-width:1px}.media-menu .jp-jitm .msg{margin-top:20px;width:88%;margin-right:auto;margin-left:auto}.media-menu.visible .jp-jitm{display:block}}
2
 
3
  /*# sourceMappingURL=jetpack-admin-jitm.min.css.map */
css/jetpack-admin-jitm.css CHANGED
@@ -58,6 +58,9 @@
58
  .jp-jitm .hide {
59
  display: none;
60
  }
 
 
 
61
  @media (min-width: 800px) {
62
  .jp-jitm .jp-emblem, .jp-jitm p {
63
  float: left;
@@ -84,6 +87,10 @@
84
  .jp-jitm {
85
  margin: 2.5em .75em .5em .5em;
86
  }
 
 
 
 
87
  }
88
  @media (max-width: 800px) {
89
  .jp-jitm .jp-emblem {
@@ -101,4 +108,40 @@
101
  top: 20%;
102
  }
103
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  /*# sourceMappingURL=jetpack-admin-jitm.css.map */
58
  .jp-jitm .hide {
59
  display: none;
60
  }
61
+ form[name=post] > .jp-jitm:first-of-type {
62
+ margin-top: 1em;
63
+ }
64
  @media (min-width: 800px) {
65
  .jp-jitm .jp-emblem, .jp-jitm p {
66
  float: left;
87
  .jp-jitm {
88
  margin: 2.5em .75em .5em .5em;
89
  }
90
+ form[name=post] > .jp-jitm:first-of-type {
91
+ margin-left: auto;
92
+ margin-right: auto;
93
+ }
94
  }
95
  @media (max-width: 800px) {
96
  .jp-jitm .jp-emblem {
108
  top: 20%;
109
  }
110
 
111
+ @media only screen and (min-width: 800px) {
112
+ .media-menu .jp-jitm {
113
+ margin: 10px 0;
114
+ padding: 5px 5px 15px;
115
+ border-width: 1px 0;
116
+ }
117
+ .media-menu .jp-jitm .jp-emblem {
118
+ margin: 20px 10px 0 15px;
119
+ }
120
+ .media-menu .jp-jitm .msg {
121
+ width: 75%;
122
+ text-align: left;
123
+ margin: 0 0 10px;
124
+ }
125
+ .media-menu .jp-jitm .msg + p {
126
+ text-align: center;
127
+ width: 100%;
128
+ }
129
+ }
130
+ @media only screen and (max-width: 900px) {
131
+ .media-menu .jp-jitm {
132
+ display: none;
133
+ margin: .5em 3%;
134
+ border-width: 1px;
135
+ }
136
+ .media-menu .jp-jitm .msg {
137
+ margin-top: 20px;
138
+ width: 88%;
139
+ margin-left: auto;
140
+ margin-right: auto;
141
+ }
142
+ .media-menu.visible .jp-jitm {
143
+ display: block;
144
+ }
145
+ }
146
+
147
  /*# sourceMappingURL=jetpack-admin-jitm.css.map */
css/jetpack-admin-jitm.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../scss/jetpack-admin-jitm.scss","jetpack-admin-jitm.css"],"names":[],"mappings":"AAEA;;;GAGC;ACDD;EDGC,oBAAmB;EACnB,iBAAQ;EACR,2BAAkB;ECDjB,gBAAe;EDIhB,qBAAA;EACC,2BAAW;EACX,oBAAc;ECFf;ADIA;EACC,aAAW;ECFX,gBAAe;EDKhB;ACHD;EACE,aAAY;EDMb;ACJD;EACE,6BAA4B;EDM7B;ACJD;EDME,kBAAY;ECJb;AACD;EDOC,aAAI;EACH,cAAW;EACX,0BAAY;ECLb;ADQA;EACC,aAAM;ECNN,cAAa;EDSd;ACPD;EDSE,eAAA;ECPD;AACD;EDQE,WAAA;EACC,uBAAW;EACX,cAAM;ECNR;AACD;EDUC,aAAE;EACD,4BAAc;EACd,kBAAiB;ECRlB;ADWA;EACC,gBAAe;EACf,mBAAY;ECTb;AACD;EDYC,iBAAM;EACL,cAAa;ECVb,aAAY;EDab;ACXD;EACE,eDYY;ECXb;AACD;EACE;IDaA,aAAA;IACC;yBACY;ICXZ;EACD;IDaA,aAAE;IACD,cAAQ;ICXP,oBAAmB;IDarB;ECXA;IDaC,uBAAU;ICXV;EDaD;IACC,WAAU;ICXT,YAAW;IACZ;EDcF;IAzFD,eAAS;IC8EN;EACF;AACD;EDaC;IACC,+BAAW;ICXV;EACF;AACD;EACE;IDiBD,2BAA2B;IAD5B;ECbC;;AAED;EACE;IDeF,wBAAA;IACC;ECbA;;AAED;EACE,UAAS;EACV","file":"jetpack-admin-jitm.css"}
1
+ {"version":3,"sources":["../scss/jetpack-admin-jitm.scss","jetpack-admin-jitm.css"],"names":[],"mappings":"AAEA;;;GAGC;ACDD;EDGC,oBAAmB;EACnB,iBAAQ;EACR,2BAAkB;ECDjB,gBAAe;EDIhB,qBAAA;EACC,2BAAW;EACX,oBAAc;ECFf;ADIA;EACC,aAAW;ECFX,gBAAe;EDKhB;ACHD;EACE,aAAY;EDMb;ACJD;EACE,6BAA4B;EDM7B;ACJD;EDME,kBAAY;ECJb;AACD;EDOC,aAAI;EACH,cAAW;EACX,0BAAY;ECLb;ADQA;EACC,aAAM;ECNN,cAAa;EDSd;ACPD;EDSE,eAAA;ECPD;AACD;EDQE,WAAA;EACC,uBAAW;EACX,cAAM;ECNR;AACD;EDUC,aAAE;EACD,4BAAc;EACd,kBAAiB;ECRlB;ADWA;EACC,gBAAe;EACf,mBAAY;ECTb;AACD;EDYC,iBAAM;EACL,cAAa;ECVb,aAAY;EDab;ACXD;EACE,eAAc;EDcf;ACZD;EACE,iBDaY;ECZb;AACD;EACE;IDcA,aAAA;IACC;yBACY;ICZZ;EACD;IDcA,aAAE;IACD,cAAQ;ICZP,oBAAmB;IDcrB;ECZA;IDcC,uBAAU;ICZV;EDcD;IACC,WAAU;ICZT,YAAW;IACZ;EDeF;IA7FD,eAAS;ICiFN;EACF;AACD;EACE;IDcC,+BAAkB;ICZlB;EACD;IDeD,mBAAA;IACC,oBAAW;ICbV;EACF;AACD;EACE;IDmBD,2BAA2B;IAD5B;ECfC;;AAED;EACE;IDiBF,wBAAA;IACC;ECfA;;ADoBA;EAEC,UAAA;EClBD;;AAED;EACE;IDoBC,gBAAA;IACC,uBAAQ;IClBR,qBAAoB;IDqBrB;ECnBD;IDqBE,0BAAgB;ICnBjB;EACD;IDsBC,YAAA;IACC,kBAAY;IACZ,kBAAW;ICpBZ;EACD;IDyBD,oBAAA;IAEC,aAAA;ICxBC;EACF;AACD;EACE;ID0BC,eAAA;IACC,iBAAgB;IAChB,mBAAU;ICxBX;EACD;IACE,kBAAiB;ID4BnB,YAAA;IACC,mBAAc;IC1Bb,oBAAmB;IACpB;EACD;IACE,gBAAe;IAChB;EACF","file":"jetpack-admin-jitm.css"}
css/jetpack-admin-jitm.min.css CHANGED
@@ -1,3 +1,3 @@
1
- .jp-jitm{border-radius:2px;max-width:100%;margin:2em auto 1em auto;padding:.85em;background:#fcfcfc;border:1px solid #dedede;text-align:center}.jp-jitm:before,.jp-jitm:after{content:"";display:table}.jp-jitm:after{clear:both}#screen-meta-links+.jp-jitm{margin:3em 1.5385em 0 auto}.jp-jitm .activate{margin-top:.5em}.jp-jitm .jp-emblem{width:25px;height:25px;margin:.40em 1em 0 auto}.jp-jitm svg{width:100%;height:100%}.jp-jitm path{fill:#8cc258}.jp-jitm .dismiss{margin:0;text-decoration:none;float:right}.jp-jitm .dismiss:before{color:#666;font:400 15px/1 dashicons;content:'\f158'}.jp-jitm p{font-size:1em;line-height:165%}.jp-jitm .j-spinner{margin:8px 0 0;height:17px;width:17px}.jp-jitm .hide{display:none}@media (min-width: 800px){.jp-jitm .jp-emblem,.jp-jitm p{float:left}.jp-jitm .jp-emblem{width:20px;height:20px;margin-right:.5em}.jp-jitm p{margin:.40em 1em 0 0}.jp-jitm p+p{margin:0;padding:0}.jp-jitm .activate{margin-top:0}}@media (max-width: 1100px){.jp-jitm{margin:2.5em .75em .5em .5em}}@media (max-width: 800px){.jp-jitm .jp-emblem{margin:.40em auto 0 auto}}@media (min-width: 1100px){.update-core-php .jp-jitm{margin:3em 2em 0 auto}}.jetpack-connected .media-modal-content .uploader-inline-content{top:20%}
2
 
3
  /*# sourceMappingURL=jetpack-admin-jitm.min.css.map */
1
+ .jp-jitm{border-radius:2px;max-width:100%;margin:2em auto 1em auto;padding:.85em;background:#fcfcfc;border:1px solid #dedede;text-align:center}.jp-jitm:before,.jp-jitm:after{content:"";display:table}.jp-jitm:after{clear:both}#screen-meta-links+.jp-jitm{margin:3em 1.5385em 0 auto}.jp-jitm .activate{margin-top:.5em}.jp-jitm .jp-emblem{width:25px;height:25px;margin:.40em 1em 0 auto}.jp-jitm svg{width:100%;height:100%}.jp-jitm path{fill:#8cc258}.jp-jitm .dismiss{margin:0;text-decoration:none;float:right}.jp-jitm .dismiss:before{color:#666;font:400 15px/1 dashicons;content:'\f158'}.jp-jitm p{font-size:1em;line-height:165%}.jp-jitm .j-spinner{margin:8px 0 0;height:17px;width:17px}.jp-jitm .hide{display:none}form[name=post]>.jp-jitm:first-of-type{margin-top:1em}@media (min-width: 800px){.jp-jitm .jp-emblem,.jp-jitm p{float:left}.jp-jitm .jp-emblem{width:20px;height:20px;margin-right:.5em}.jp-jitm p{margin:.40em 1em 0 0}.jp-jitm p+p{margin:0;padding:0}.jp-jitm .activate{margin-top:0}}@media (max-width: 1100px){.jp-jitm{margin:2.5em .75em .5em .5em}form[name=post]>.jp-jitm:first-of-type{margin-left:auto;margin-right:auto}}@media (max-width: 800px){.jp-jitm .jp-emblem{margin:.40em auto 0 auto}}@media (min-width: 1100px){.update-core-php .jp-jitm{margin:3em 2em 0 auto}}.jetpack-connected .media-modal-content .uploader-inline-content{top:20%}@media only screen and (min-width: 800px){.media-menu .jp-jitm{margin:10px 0;padding:5px 5px 15px;border-width:1px 0}.media-menu .jp-jitm .jp-emblem{margin:20px 10px 0 15px}.media-menu .jp-jitm .msg{width:75%;text-align:left;margin:0 0 10px}.media-menu .jp-jitm .msg+p{text-align:center;width:100%}}@media only screen and (max-width: 900px){.media-menu .jp-jitm{display:none;margin:.5em 3%;border-width:1px}.media-menu .jp-jitm .msg{margin-top:20px;width:88%;margin-left:auto;margin-right:auto}.media-menu.visible .jp-jitm{display:block}}
2
 
3
  /*# sourceMappingURL=jetpack-admin-jitm.min.css.map */
css/jetpack-admin-jitm.min.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../scss/jetpack-admin-jitm.scss"],"names":[],"mappings":"AAEA,SACC,kBACA,CAAA,cACA,CAAA,wBACA,CAAA,aACA,CAAA,kBACA,CAAA,wBACA,CAAA,iBAGA,CAAA,8BACC,WACA,CAAA,aAED,CAAA,cACC,WAGD,CAAA,2BACE,2BAGF,CAAA,kBACC,gBAED,CAAA,mBACC,WACA,CAAA,WACA,CAAA,uBAGD,CAAA,YACC,WACA,CAAA,WAGD,CAAA,aACC,aAGD,CAAA,iBACC,SACA,CAAA,oBACA,CAAA,WACA,CAAA,wBACC,WACA,CAAA,yBACA,CAAA,eAIF,CAAA,UACC,cACA,CAAA,gBAGD,CAAA,mBACC,eACA,CAAA,WACA,CAAA,UAGD,CAAA,cACC,aAGD,CAAA,yBACC,+BACC,WAID,CAAA,mBACC,WACA,CAAA,WACA,CAAA,iBAED,CAAA,UACC,qBAED,CAAA,YACC,SACA,CAAA,SAED,CAAA,kBACC,aAAa,CAAA,AAIf,CAAA,0BAzFD,SA0FE,6BAA6B,CAAA,AAG9B,CAAA,yBACC,oBACC,yBAAyB,CAAA,AAQ3B,CAAA,0BADD,0BAC8B,sBAAsB,CAAA,AAIpD,CAAA,gEACC,QAAQ,CAAA","file":"jetpack-admin-jitm.min.css"}
1
+ {"version":3,"sources":["../scss/jetpack-admin-jitm.scss"],"names":[],"mappings":"AAEA,SACC,kBACA,CAAA,cACA,CAAA,wBACA,CAAA,aACA,CAAA,kBACA,CAAA,wBACA,CAAA,iBAGA,CAAA,8BACC,WACA,CAAA,aAED,CAAA,cACC,WAGD,CAAA,2BACE,2BAGF,CAAA,kBACC,gBAED,CAAA,mBACC,WACA,CAAA,WACA,CAAA,uBAGD,CAAA,YACC,WACA,CAAA,WAGD,CAAA,aACC,aAGD,CAAA,iBACC,SACA,CAAA,oBACA,CAAA,WACA,CAAA,wBACC,WACA,CAAA,yBACA,CAAA,eAIF,CAAA,UACC,cACA,CAAA,gBAGD,CAAA,mBACC,eACA,CAAA,WACA,CAAA,UAGD,CAAA,cACC,aAGD,CAAA,sCACC,eAGD,CAAA,yBACC,+BACC,WAID,CAAA,mBACC,WACA,CAAA,WACA,CAAA,iBAED,CAAA,UACC,qBAED,CAAA,YACC,SACA,CAAA,SAED,CAAA,kBACC,aAAa,CAAA,AAIf,CAAA,0BA7FD,SA8FE,6BAEA,CAAA,sCACC,iBACA,CAAA,iBAAkB,CAAA,AAIpB,CAAA,yBACC,oBACC,yBAAyB,CAAA,AAQ3B,CAAA,0BADD,0BAC8B,sBAAsB,CAAA,AAIpD,CAAA,gEACC,QAKA,CAAA,yCAEC,qBACC,cACA,CAAA,oBACA,CAAA,kBAEA,CAAA,+BACC,wBAGD,CAAA,yBACC,UACA,CAAA,eACA,CAAA,eAGD,CAAA,2BACC,kBACA,CAAA,UAAW,CAAA,AAMd,CAAA,yCAEC,qBACC,aACA,CAAA,cACA,CAAA,gBAEA,CAAA,yBACC,gBACA,CAAA,SACA,CAAA,gBACA,CAAA,iBAIF,CAAA,4BACC,cAAc,CAAA,CAAA","file":"jetpack-admin-jitm.min.css"}
css/jetpack-admin-rtl.css CHANGED
@@ -2076,6 +2076,10 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2076
  content: '\f475';
2077
  }
2078
 
 
 
 
 
2079
  @media (max-width: 782px) {
2080
  .blog .type-post,
2081
  .page-template-default .type-page,
@@ -3271,9 +3275,15 @@ a.what-is-primary {
3271
  border-top: 1px #f9f9f9 solid;
3272
  }
3273
  }
 
 
 
 
 
 
3274
  .nux-foot img {
3275
- float: right;
3276
- margin-left: 1em;
3277
  width: 75px;
3278
  border-radius: 4px;
3279
  }
@@ -3292,8 +3302,11 @@ a.what-is-primary {
3292
  margin-bottom: 0;
3293
  }
3294
  .nux-foot ul li {
 
3295
  margin-bottom: 0;
3296
  line-height: 175%;
 
 
3297
  }
3298
 
3299
  .form-toggle[type="checkbox"] {
@@ -3437,11 +3450,6 @@ a.what-is-primary {
3437
  .nux-foot .j-col {
3438
  border: none;
3439
  }
3440
- .nux-foot img {
3441
- float: left;
3442
- margin-left: 0;
3443
- margin-right: 1em;
3444
- }
3445
  }
3446
  @media (max-width: 900px) {
3447
  .nux-intro .main-col {
@@ -3502,6 +3510,6 @@ a.what-is-primary {
3502
  }
3503
 
3504
  /*# sourceMappingURL=jetpack-admin.css.map */
3505
- .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}.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}.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}.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}}.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{display:none}.footer .download-jetpack{margin-bottom:33px}@media (min-width: 1147px){.footer{padding-bottom:35px}}@media (max-width: 1147px){.footer{padding-top:165px;padding-bottom:0}.footer:before{background-size:160% auto}.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 a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#81a844}}@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 (min-width: 782px){.secondary-footer{padding:8px 15px 10px;margin-bottom:30px;border-bottom:1px solid #eee}}@media (min-width: 1147px){.secondary-footer{margin-bottom:0}}@media (max-width: 782px){.secondary-footer{padding:8px 15px 8px;border-bottom:none}}@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}@media (min-width: 782px){.secondary{padding:0 15px 10px 15px;border-bottom:1px solid #eee}}@media (min-width: 1147px){.secondary{padding:0 15px 10px 15px;border-bottom:none}}.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 .squeezer h2{font-size:1em}.jetpack-message h2{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}}.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.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}}.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}}@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}}.manage__icon{width:155px;height:155px;margin:20px auto}.manage-page .manage__description{max-width:600px;text-align:center;font-size:22px;color:#999;margin:20px auto}.manage-page .manage__button{font-size:16px;padding:0 20px;height:40px;line-height:40px}.manage__title .genericon{font-size:38px;color:#81A944}.manage__link{font-size:16px;padding:0 20px;height:40px;line-height:40px;font-weight:normal}.manage__link .genericon{font-size:28px;vertical-align:middle;margin-top:-6px}.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;text-align:center}#jump-start-area .connect-btn{text-align:center}#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;display:inline-block;float:none}.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}.nux-intro h3{background:#81a844;color:#fff;font-weight:600;padding:.75em;margin:0}.nux-intro h4{margin:0 0 2px 0}.nux-intro p{text-align:center;font-size:1.24em;line-height:175%}.nux-intro a{transition:all .4s ease}.nux-intro .j-col{padding:0 0.5em}.nux-intro .j-col:first-of-type{padding-right:0}.nux-intro .j-col:last-of-type{padding-left:0}.nux-intro .nux-in{background:#ececec;-webkit-border-bottom-left-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.nux-intro .nux-in h3{font-size:1.10em;-webkit-border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;border-top-left-radius:6px}.nux-intro .nux-in h3 .dashicons{float:left;color:#658435;font-size:1.25em;padding-right:0}.nux-intro .nux-in h3 .dashicons:hover{color:#57722e}.nux-intro .nux-in p{font-size:.9em;line-height:150%;margin:0;text-align:right;color:#686f72}.nux-intro .nux-in .j-row{border-bottom:1px #f9f9f9 solid;padding:5px 0;position:relative;min-height:70px}.nux-intro .nux-in .j-row:hover{background:#e0e0e0}.nux-intro .nux-in .unavailable{opacity:0.5}.nux-intro .nux-in .unavailable .act{display:none}.nux-intro .nux-in .paid{top:4px;margin-right:12px}.nux-intro .nux-in .dashicons{color:#81a844;font-size:1em;position:relative;top:3px;padding-right:6px}.nux-intro .nux-in .dashicons:hover{color:#57722e}.nux-intro .nux-in .dashicons-external{font-size:1.5em;top:2px;padding-right:3px}.nux-intro .nux-in .lmore{font-size:11px;color:#81a844}.nux-intro .nux-in .lmore:hover{color:#57722e}.nux-intro .feat.j-col{padding:10px 10px 10px 2px}.nux-intro .feat .dashicons{display:none}.nux-intro .activated .feat .dashicons{display:inline-block}.nux-intro .act{position:absolute;top:50%;-ms-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);transform:translate(0, -50%);left:8px;float:left}.nux-intro .act.j-col{padding:5px;text-align:left}.nux-intro .module-action{text-transform:uppercase;font-size:.85em;font-weight:600}.nux-intro .wpcom h3{background:#0087be}.nux-intro .wpcom h3 .dashicons{color:#00638b}.nux-intro .wpcom h3 .dashicons:hover{color:#005172}.nux-intro .wpcom .j-col{padding:10px}.nux-intro .wpcom .goto{text-align:center;padding:1em}.nux-intro .wpcom .goto:hover{background:#ececec}.nux-intro .wpcom .goto .j-col{padding:0 5px}.nux-intro .wpcom .goto a{width:100%;padding:.25em;height:auto}.nux-intro .wpcom .goto .button{height:auto;min-height:28px;line-height:18px;white-space:normal;max-width:200px;margin-bottom:0;padding-top:4px;padding-bottom:5px}.nux-intro .wpcom .goto .feat{position:absolute;top:50%;-ms-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);transform:translate(0, -50%)}.nux-intro .nux-foot .j-col{padding:1em}.nux-foot{margin-top:2em;background:#ececec;border-radius:6px}.nux-foot .j-col{min-height:75px;padding:1em}@media (max-width: 650px){.nux-foot .j-col{width:100%}}.nux-foot .j-col+.j-col{border-right:1px #f9f9f9 solid}@media (max-width: 650px){.nux-foot .j-col+.j-col{border-right:none;border-top:1px #f9f9f9 solid}}.nux-foot img{float:right;margin-left:1em;width:75px;border-radius:4px}.nux-foot p{font-size:.9em;text-align:right;font-weight:600;margin-top:0}.nux-foot p+p{font-weight:400;margin-bottom:0}.nux-foot ul{font-size:.9em;margin-bottom:0}.nux-foot ul li{margin-bottom:0;line-height:175%}.form-toggle[type="checkbox"]{opacity:0;position:absolute}.form-toggle__switch{position:relative;display:inline-block;border-radius:12px;-moz-box-sizing:border-box;box-sizing:border-box;padding:2px;width:40px;height:24px;background:#b9b9b9;vertical-align:middle;outline:0;cursor:pointer;transition:all .4s ease}.form-toggle__switch:before,.form-toggle__switch:after{position:relative;display:block;content:"";width:20px;height:20px}.form-toggle__switch:after{right:0;border-radius:50%;background:#fff;transition:all .2s ease}.form-toggle__switch:before{display:none}.form-toggle__switch:hover{background:#bdd597}.form-toggle__label{cursor:pointer}.plugin-action__label{padding-left:5px;top:-1px;position:relative;color:#8e9598}.activated .plugin-action__label{color:#81a844}.form-toggle:focus+.form-toggle__label .form-toggle__switch,.form-toggle:focus:checked+.form-toggle__label .form-toggle__switch{box-shadow:0 0 0 2px #0087be}.form-toggle:checked+.form-toggle__label .form-toggle__switch{background:#81a844}.form-toggle:checked+.form-toggle__label .form-toggle__switch:after{right:16px}.form-toggle:checked:hover+.form-toggle__label .form-toggle__switch{background:#bdd597}.form-toggle:disabled+.form-toggle__label .form-toggle__switch,.form-toggle:disabled:hover+.form-toggle__label .form-toggle__switch{background:#e9eff3}.form-toggle.is-toggling+.form-toggle__label .form-toggle__switch{background:#81a844}.form-toggle.is-toggling:checked+.form-toggle__label .form-toggle__switch{background:#bdd597}.form-toggle.is-compact+.form-toggle__label .form-toggle__switch{border-radius:8px;width:24px;height:16px}.form-toggle.is-compact+.form-toggle__label .form-toggle__switch:before,.form-toggle.is-compact+.form-toggle__label .form-toggle__switch:after{width:12px;height:12px}.form-toggle.is-compact:checked+.form-toggle__label .form-toggle__switch:after{right:8px}@media (max-width: 1147px){.jp-content .landing{padding:0 2em}.jp-content .footer{padding-top:1.5em}.nux-intro .main-col{width:50%;margin-bottom:2em}.nux-intro .main-col.wpcom{width:100%}.nux-intro .main-col+.main-col{padding-left:0}.nux-intro .wpcom{padding:0}.nux-intro .wpcom .j-row{width:50%;float:right;border-bottom:1px #f9f9f9 solid;border-left:1px #f9f9f9 solid}.nux-intro .wpcom .j-row:last-of-type{width:100%;float:none;clear:both;border:none;border-top:1px #f9f9f9 solid;position:relative;top:-1px}.nux-intro .wpcom .goto .feat a{float:right}.nux-foot .j-col{border:none}.nux-foot img{float:left;margin-left:0;margin-right:1em}}@media (max-width: 900px){.nux-intro .main-col{width:100%;padding:0;margin-bottom:2em}.nux-intro .wpcom .j-row{width:100%;float:none}}@media (max-width: 782px){#jumpstart-cta .button-primary{margin:10px 0 5px 0}#jump-start-area .spinner{background-position:50% 35%}}@media (max-width: 600px){.nux-intro h1{font-size:1.75em}.nux-intro p{font-size:1em}}@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}
3506
 
3507
  /*# sourceMappingURL=jetpack-admin.min.css.map */
2076
  content: '\f475';
2077
  }
2078
 
2079
+ .jetpack-modules #sitemaps .info a:before {
2080
+ content: '\f507';
2081
+ }
2082
+
2083
  @media (max-width: 782px) {
2084
  .blog .type-post,
2085
  .page-template-default .type-page,
3275
  border-top: 1px #f9f9f9 solid;
3276
  }
3277
  }
3278
+ .nux-foot .actions {
3279
+ margin-top: 1em;
3280
+ }
3281
+ .nux-foot a {
3282
+ text-decoration: underline;
3283
+ }
3284
  .nux-foot img {
3285
+ float: left;
3286
+ margin-right: 1em;
3287
  width: 75px;
3288
  border-radius: 4px;
3289
  }
3302
  margin-bottom: 0;
3303
  }
3304
  .nux-foot ul li {
3305
+ margin-left: .875em;
3306
  margin-bottom: 0;
3307
  line-height: 175%;
3308
+ display: inline-block;
3309
+ vertical-align: middle;
3310
  }
3311
 
3312
  .form-toggle[type="checkbox"] {
3450
  .nux-foot .j-col {
3451
  border: none;
3452
  }
 
 
 
 
 
3453
  }
3454
  @media (max-width: 900px) {
3455
  .nux-intro .main-col {
3510
  }
3511
 
3512
  /*# sourceMappingURL=jetpack-admin.css.map */
3513
+ .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}.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}.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}.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}}.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{display:none}.footer .download-jetpack{margin-bottom:33px}@media (min-width: 1147px){.footer{padding-bottom:35px}}@media (max-width: 1147px){.footer{padding-top:165px;padding-bottom:0}.footer:before{background-size:160% auto}.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 a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#81a844}}@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 (min-width: 782px){.secondary-footer{padding:8px 15px 10px;margin-bottom:30px;border-bottom:1px solid #eee}}@media (min-width: 1147px){.secondary-footer{margin-bottom:0}}@media (max-width: 782px){.secondary-footer{padding:8px 15px 8px;border-bottom:none}}@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}@media (min-width: 782px){.secondary{padding:0 15px 10px 15px;border-bottom:1px solid #eee}}@media (min-width: 1147px){.secondary{padding:0 15px 10px 15px;border-bottom:none}}.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 .squeezer h2{font-size:1em}.jetpack-message h2{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'}.jetpack-modules #sitemaps .info a:before{content:'\f507'}@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}}.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.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}}.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}}@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}}.manage__icon{width:155px;height:155px;margin:20px auto}.manage-page .manage__description{max-width:600px;text-align:center;font-size:22px;color:#999;margin:20px auto}.manage-page .manage__button{font-size:16px;padding:0 20px;height:40px;line-height:40px}.manage__title .genericon{font-size:38px;color:#81A944}.manage__link{font-size:16px;padding:0 20px;height:40px;line-height:40px;font-weight:normal}.manage__link .genericon{font-size:28px;vertical-align:middle;margin-top:-6px}.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;text-align:center}#jump-start-area .connect-btn{text-align:center}#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;display:inline-block;float:none}.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}.nux-intro h3{background:#81a844;color:#fff;font-weight:600;padding:.75em;margin:0}.nux-intro h4{margin:0 0 2px 0}.nux-intro p{text-align:center;font-size:1.24em;line-height:175%}.nux-intro a{transition:all .4s ease}.nux-intro .j-col{padding:0 0.5em}.nux-intro .j-col:first-of-type{padding-right:0}.nux-intro .j-col:last-of-type{padding-left:0}.nux-intro .nux-in{background:#ececec;-webkit-border-bottom-left-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.nux-intro .nux-in h3{font-size:1.10em;-webkit-border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;border-top-left-radius:6px}.nux-intro .nux-in h3 .dashicons{float:left;color:#658435;font-size:1.25em;padding-right:0}.nux-intro .nux-in h3 .dashicons:hover{color:#57722e}.nux-intro .nux-in p{font-size:.9em;line-height:150%;margin:0;text-align:right;color:#686f72}.nux-intro .nux-in .j-row{border-bottom:1px #f9f9f9 solid;padding:5px 0;position:relative;min-height:70px}.nux-intro .nux-in .j-row:hover{background:#e0e0e0}.nux-intro .nux-in .unavailable{opacity:0.5}.nux-intro .nux-in .unavailable .act{display:none}.nux-intro .nux-in .paid{top:4px;margin-right:12px}.nux-intro .nux-in .dashicons{color:#81a844;font-size:1em;position:relative;top:3px;padding-right:6px}.nux-intro .nux-in .dashicons:hover{color:#57722e}.nux-intro .nux-in .dashicons-external{font-size:1.5em;top:2px;padding-right:3px}.nux-intro .nux-in .lmore{font-size:11px;color:#81a844}.nux-intro .nux-in .lmore:hover{color:#57722e}.nux-intro .feat.j-col{padding:10px 10px 10px 2px}.nux-intro .feat .dashicons{display:none}.nux-intro .activated .feat .dashicons{display:inline-block}.nux-intro .act{position:absolute;top:50%;-ms-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);transform:translate(0, -50%);left:8px;float:left}.nux-intro .act.j-col{padding:5px;text-align:left}.nux-intro .module-action{text-transform:uppercase;font-size:.85em;font-weight:600}.nux-intro .wpcom h3{background:#0087be}.nux-intro .wpcom h3 .dashicons{color:#00638b}.nux-intro .wpcom h3 .dashicons:hover{color:#005172}.nux-intro .wpcom .j-col{padding:10px}.nux-intro .wpcom .goto{text-align:center;padding:1em}.nux-intro .wpcom .goto:hover{background:#ececec}.nux-intro .wpcom .goto .j-col{padding:0 5px}.nux-intro .wpcom .goto a{width:100%;padding:.25em;height:auto}.nux-intro .wpcom .goto .button{height:auto;min-height:28px;line-height:18px;white-space:normal;max-width:200px;margin-bottom:0;padding-top:4px;padding-bottom:5px}.nux-intro .wpcom .goto .feat{position:absolute;top:50%;-ms-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);transform:translate(0, -50%)}.nux-intro .nux-foot .j-col{padding:1em}.nux-foot{margin-top:2em;background:#ececec;border-radius:6px}.nux-foot .j-col{min-height:75px;padding:1em}@media (max-width: 650px){.nux-foot .j-col{width:100%}}.nux-foot .j-col+.j-col{border-right:1px #f9f9f9 solid}@media (max-width: 650px){.nux-foot .j-col+.j-col{border-right:none;border-top:1px #f9f9f9 solid}}.nux-foot .actions{margin-top:1em}.nux-foot a{text-decoration:underline}.nux-foot img{float:left;margin-right:1em;width:75px;border-radius:4px}.nux-foot p{font-size:.9em;text-align:right;font-weight:600;margin-top:0}.nux-foot p+p{font-weight:400;margin-bottom:0}.nux-foot ul{font-size:.9em;margin-bottom:0}.nux-foot ul li{margin-left:.875em;margin-bottom:0;line-height:175%;display:inline-block;vertical-align:middle}.form-toggle[type="checkbox"]{opacity:0;position:absolute}.form-toggle__switch{position:relative;display:inline-block;border-radius:12px;-moz-box-sizing:border-box;box-sizing:border-box;padding:2px;width:40px;height:24px;background:#b9b9b9;vertical-align:middle;outline:0;cursor:pointer;transition:all .4s ease}.form-toggle__switch:before,.form-toggle__switch:after{position:relative;display:block;content:"";width:20px;height:20px}.form-toggle__switch:after{right:0;border-radius:50%;background:#fff;transition:all .2s ease}.form-toggle__switch:before{display:none}.form-toggle__switch:hover{background:#bdd597}.form-toggle__label{cursor:pointer}.plugin-action__label{padding-left:5px;top:-1px;position:relative;color:#8e9598}.activated .plugin-action__label{color:#81a844}.form-toggle:focus+.form-toggle__label .form-toggle__switch,.form-toggle:focus:checked+.form-toggle__label .form-toggle__switch{box-shadow:0 0 0 2px #0087be}.form-toggle:checked+.form-toggle__label .form-toggle__switch{background:#81a844}.form-toggle:checked+.form-toggle__label .form-toggle__switch:after{right:16px}.form-toggle:checked:hover+.form-toggle__label .form-toggle__switch{background:#bdd597}.form-toggle:disabled+.form-toggle__label .form-toggle__switch,.form-toggle:disabled:hover+.form-toggle__label .form-toggle__switch{background:#e9eff3}.form-toggle.is-toggling+.form-toggle__label .form-toggle__switch{background:#81a844}.form-toggle.is-toggling:checked+.form-toggle__label .form-toggle__switch{background:#bdd597}.form-toggle.is-compact+.form-toggle__label .form-toggle__switch{border-radius:8px;width:24px;height:16px}.form-toggle.is-compact+.form-toggle__label .form-toggle__switch:before,.form-toggle.is-compact+.form-toggle__label .form-toggle__switch:after{width:12px;height:12px}.form-toggle.is-compact:checked+.form-toggle__label .form-toggle__switch:after{right:8px}@media (max-width: 1147px){.jp-content .landing{padding:0 2em}.jp-content .footer{padding-top:1.5em}.nux-intro .main-col{width:50%;margin-bottom:2em}.nux-intro .main-col.wpcom{width:100%}.nux-intro .main-col+.main-col{padding-left:0}.nux-intro .wpcom{padding:0}.nux-intro .wpcom .j-row{width:50%;float:right;border-bottom:1px #f9f9f9 solid;border-left:1px #f9f9f9 solid}.nux-intro .wpcom .j-row:last-of-type{width:100%;float:none;clear:both;border:none;border-top:1px #f9f9f9 solid;position:relative;top:-1px}.nux-intro .wpcom .goto .feat a{float:right}.nux-foot .j-col{border:none}}@media (max-width: 900px){.nux-intro .main-col{width:100%;padding:0;margin-bottom:2em}.nux-intro .wpcom .j-row{width:100%;float:none}}@media (max-width: 782px){#jumpstart-cta .button-primary{margin:10px 0 5px 0}#jump-start-area .spinner{background-position:50% 35%}}@media (max-width: 600px){.nux-intro h1{font-size:1.75em}.nux-intro p{font-size:1em}}@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}
3514
 
3515
  /*# sourceMappingURL=jetpack-admin.min.css.map */
css/jetpack-admin-rtl.min.css CHANGED
@@ -1,3 +1,3 @@
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}.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}.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}.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}}.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{display:none}.footer .download-jetpack{margin-bottom:33px}@media (min-width: 1147px){.footer{padding-bottom:35px}}@media (max-width: 1147px){.footer{padding-top:165px;padding-bottom:0}.footer:before{background-size:160% auto}.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 a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#81a844}}@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 (min-width: 782px){.secondary-footer{padding:8px 15px 10px;margin-bottom:30px;border-bottom:1px solid #eee}}@media (min-width: 1147px){.secondary-footer{margin-bottom:0}}@media (max-width: 782px){.secondary-footer{padding:8px 15px 8px;border-bottom:none}}@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}@media (min-width: 782px){.secondary{padding:0 15px 10px 15px;border-bottom:1px solid #eee}}@media (min-width: 1147px){.secondary{padding:0 15px 10px 15px;border-bottom:none}}.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 .squeezer h2{font-size:1em}.jetpack-message h2{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}}.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.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}}.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}}@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}}.manage__icon{width:155px;height:155px;margin:20px auto}.manage-page .manage__description{max-width:600px;text-align:center;font-size:22px;color:#999;margin:20px auto}.manage-page .manage__button{font-size:16px;padding:0 20px;height:40px;line-height:40px}.manage__title .genericon{font-size:38px;color:#81A944}.manage__link{font-size:16px;padding:0 20px;height:40px;line-height:40px;font-weight:normal}.manage__link .genericon{font-size:28px;vertical-align:middle;margin-top:-6px}.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;text-align:center}#jump-start-area .connect-btn{text-align:center}#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;display:inline-block;float:none}.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}.nux-intro h3{background:#81a844;color:#fff;font-weight:600;padding:.75em;margin:0}.nux-intro h4{margin:0 0 2px 0}.nux-intro p{text-align:center;font-size:1.24em;line-height:175%}.nux-intro a{transition:all .4s ease}.nux-intro .j-col{padding:0 0.5em}.nux-intro .j-col:first-of-type{padding-right:0}.nux-intro .j-col:last-of-type{padding-left:0}.nux-intro .nux-in{background:#ececec;-webkit-border-bottom-left-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.nux-intro .nux-in h3{font-size:1.10em;-webkit-border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;border-top-left-radius:6px}.nux-intro .nux-in h3 .dashicons{float:left;color:#658435;font-size:1.25em;padding-right:0}.nux-intro .nux-in h3 .dashicons:hover{color:#57722e}.nux-intro .nux-in p{font-size:.9em;line-height:150%;margin:0;text-align:right;color:#686f72}.nux-intro .nux-in .j-row{border-bottom:1px #f9f9f9 solid;padding:5px 0;position:relative;min-height:70px}.nux-intro .nux-in .j-row:hover{background:#e0e0e0}.nux-intro .nux-in .unavailable{opacity:0.5}.nux-intro .nux-in .unavailable .act{display:none}.nux-intro .nux-in .paid{top:4px;margin-right:12px}.nux-intro .nux-in .dashicons{color:#81a844;font-size:1em;position:relative;top:3px;padding-right:6px}.nux-intro .nux-in .dashicons:hover{color:#57722e}.nux-intro .nux-in .dashicons-external{font-size:1.5em;top:2px;padding-right:3px}.nux-intro .nux-in .lmore{font-size:11px;color:#81a844}.nux-intro .nux-in .lmore:hover{color:#57722e}.nux-intro .feat.j-col{padding:10px 10px 10px 2px}.nux-intro .feat .dashicons{display:none}.nux-intro .activated .feat .dashicons{display:inline-block}.nux-intro .act{position:absolute;top:50%;-ms-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);transform:translate(0, -50%);left:8px;float:left}.nux-intro .act.j-col{padding:5px;text-align:left}.nux-intro .module-action{text-transform:uppercase;font-size:.85em;font-weight:600}.nux-intro .wpcom h3{background:#0087be}.nux-intro .wpcom h3 .dashicons{color:#00638b}.nux-intro .wpcom h3 .dashicons:hover{color:#005172}.nux-intro .wpcom .j-col{padding:10px}.nux-intro .wpcom .goto{text-align:center;padding:1em}.nux-intro .wpcom .goto:hover{background:#ececec}.nux-intro .wpcom .goto .j-col{padding:0 5px}.nux-intro .wpcom .goto a{width:100%;padding:.25em;height:auto}.nux-intro .wpcom .goto .button{height:auto;min-height:28px;line-height:18px;white-space:normal;max-width:200px;margin-bottom:0;padding-top:4px;padding-bottom:5px}.nux-intro .wpcom .goto .feat{position:absolute;top:50%;-ms-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);transform:translate(0, -50%)}.nux-intro .nux-foot .j-col{padding:1em}.nux-foot{margin-top:2em;background:#ececec;border-radius:6px}.nux-foot .j-col{min-height:75px;padding:1em}@media (max-width: 650px){.nux-foot .j-col{width:100%}}.nux-foot .j-col+.j-col{border-right:1px #f9f9f9 solid}@media (max-width: 650px){.nux-foot .j-col+.j-col{border-right:none;border-top:1px #f9f9f9 solid}}.nux-foot img{float:right;margin-left:1em;width:75px;border-radius:4px}.nux-foot p{font-size:.9em;text-align:right;font-weight:600;margin-top:0}.nux-foot p+p{font-weight:400;margin-bottom:0}.nux-foot ul{font-size:.9em;margin-bottom:0}.nux-foot ul li{margin-bottom:0;line-height:175%}.form-toggle[type="checkbox"]{opacity:0;position:absolute}.form-toggle__switch{position:relative;display:inline-block;border-radius:12px;-moz-box-sizing:border-box;box-sizing:border-box;padding:2px;width:40px;height:24px;background:#b9b9b9;vertical-align:middle;outline:0;cursor:pointer;transition:all .4s ease}.form-toggle__switch:before,.form-toggle__switch:after{position:relative;display:block;content:"";width:20px;height:20px}.form-toggle__switch:after{right:0;border-radius:50%;background:#fff;transition:all .2s ease}.form-toggle__switch:before{display:none}.form-toggle__switch:hover{background:#bdd597}.form-toggle__label{cursor:pointer}.plugin-action__label{padding-left:5px;top:-1px;position:relative;color:#8e9598}.activated .plugin-action__label{color:#81a844}.form-toggle:focus+.form-toggle__label .form-toggle__switch,.form-toggle:focus:checked+.form-toggle__label .form-toggle__switch{box-shadow:0 0 0 2px #0087be}.form-toggle:checked+.form-toggle__label .form-toggle__switch{background:#81a844}.form-toggle:checked+.form-toggle__label .form-toggle__switch:after{right:16px}.form-toggle:checked:hover+.form-toggle__label .form-toggle__switch{background:#bdd597}.form-toggle:disabled+.form-toggle__label .form-toggle__switch,.form-toggle:disabled:hover+.form-toggle__label .form-toggle__switch{background:#e9eff3}.form-toggle.is-toggling+.form-toggle__label .form-toggle__switch{background:#81a844}.form-toggle.is-toggling:checked+.form-toggle__label .form-toggle__switch{background:#bdd597}.form-toggle.is-compact+.form-toggle__label .form-toggle__switch{border-radius:8px;width:24px;height:16px}.form-toggle.is-compact+.form-toggle__label .form-toggle__switch:before,.form-toggle.is-compact+.form-toggle__label .form-toggle__switch:after{width:12px;height:12px}.form-toggle.is-compact:checked+.form-toggle__label .form-toggle__switch:after{right:8px}@media (max-width: 1147px){.jp-content .landing{padding:0 2em}.jp-content .footer{padding-top:1.5em}.nux-intro .main-col{width:50%;margin-bottom:2em}.nux-intro .main-col.wpcom{width:100%}.nux-intro .main-col+.main-col{padding-left:0}.nux-intro .wpcom{padding:0}.nux-intro .wpcom .j-row{width:50%;float:right;border-bottom:1px #f9f9f9 solid;border-left:1px #f9f9f9 solid}.nux-intro .wpcom .j-row:last-of-type{width:100%;float:none;clear:both;border:none;border-top:1px #f9f9f9 solid;position:relative;top:-1px}.nux-intro .wpcom .goto .feat a{float:right}.nux-foot .j-col{border:none}.nux-foot img{float:left;margin-left:0;margin-right:1em}}@media (max-width: 900px){.nux-intro .main-col{width:100%;padding:0;margin-bottom:2em}.nux-intro .wpcom .j-row{width:100%;float:none}}@media (max-width: 782px){#jumpstart-cta .button-primary{margin:10px 0 5px 0}#jump-start-area .spinner{background-position:50% 35%}}@media (max-width: 600px){.nux-intro h1{font-size:1.75em}.nux-intro p{font-size:1em}}@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}}#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}.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}.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}.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}}.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{display:none}.footer .download-jetpack{margin-bottom:33px}@media (min-width: 1147px){.footer{padding-bottom:35px}}@media (max-width: 1147px){.footer{padding-top:165px;padding-bottom:0}.footer:before{background-size:160% auto}.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 a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#81a844}}@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 (min-width: 782px){.secondary-footer{padding:8px 15px 10px;margin-bottom:30px;border-bottom:1px solid #eee}}@media (min-width: 1147px){.secondary-footer{margin-bottom:0}}@media (max-width: 782px){.secondary-footer{padding:8px 15px 8px;border-bottom:none}}@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}@media (min-width: 782px){.secondary{padding:0 15px 10px 15px;border-bottom:1px solid #eee}}@media (min-width: 1147px){.secondary{padding:0 15px 10px 15px;border-bottom:none}}.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 .squeezer h2{font-size:1em}.jetpack-message h2{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'}.jetpack-modules #sitemaps .info a:before{content:'\f507'}@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}}.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.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}}.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}}@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}}.manage__icon{width:155px;height:155px;margin:20px auto}.manage-page .manage__description{max-width:600px;text-align:center;font-size:22px;color:#999;margin:20px auto}.manage-page .manage__button{font-size:16px;padding:0 20px;height:40px;line-height:40px}.manage__title .genericon{font-size:38px;color:#81A944}.manage__link{font-size:16px;padding:0 20px;height:40px;line-height:40px;font-weight:normal}.manage__link .genericon{font-size:28px;vertical-align:middle;margin-top:-6px}.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;text-align:center}#jump-start-area .connect-btn{text-align:center}#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;display:inline-block;float:none}.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}.nux-intro h3{background:#81a844;color:#fff;font-weight:600;padding:.75em;margin:0}.nux-intro h4{margin:0 0 2px 0}.nux-intro p{text-align:center;font-size:1.24em;line-height:175%}.nux-intro a{transition:all .4s ease}.nux-intro .j-col{padding:0 0.5em}.nux-intro .j-col:first-of-type{padding-right:0}.nux-intro .j-col:last-of-type{padding-left:0}.nux-intro .nux-in{background:#ececec;-webkit-border-bottom-left-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.nux-intro .nux-in h3{font-size:1.10em;-webkit-border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;border-top-left-radius:6px}.nux-intro .nux-in h3 .dashicons{float:left;color:#658435;font-size:1.25em;padding-right:0}.nux-intro .nux-in h3 .dashicons:hover{color:#57722e}.nux-intro .nux-in p{font-size:.9em;line-height:150%;margin:0;text-align:right;color:#686f72}.nux-intro .nux-in .j-row{border-bottom:1px #f9f9f9 solid;padding:5px 0;position:relative;min-height:70px}.nux-intro .nux-in .j-row:hover{background:#e0e0e0}.nux-intro .nux-in .unavailable{opacity:0.5}.nux-intro .nux-in .unavailable .act{display:none}.nux-intro .nux-in .paid{top:4px;margin-right:12px}.nux-intro .nux-in .dashicons{color:#81a844;font-size:1em;position:relative;top:3px;padding-right:6px}.nux-intro .nux-in .dashicons:hover{color:#57722e}.nux-intro .nux-in .dashicons-external{font-size:1.5em;top:2px;padding-right:3px}.nux-intro .nux-in .lmore{font-size:11px;color:#81a844}.nux-intro .nux-in .lmore:hover{color:#57722e}.nux-intro .feat.j-col{padding:10px 10px 10px 2px}.nux-intro .feat .dashicons{display:none}.nux-intro .activated .feat .dashicons{display:inline-block}.nux-intro .act{position:absolute;top:50%;-ms-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);transform:translate(0, -50%);left:8px;float:left}.nux-intro .act.j-col{padding:5px;text-align:left}.nux-intro .module-action{text-transform:uppercase;font-size:.85em;font-weight:600}.nux-intro .wpcom h3{background:#0087be}.nux-intro .wpcom h3 .dashicons{color:#00638b}.nux-intro .wpcom h3 .dashicons:hover{color:#005172}.nux-intro .wpcom .j-col{padding:10px}.nux-intro .wpcom .goto{text-align:center;padding:1em}.nux-intro .wpcom .goto:hover{background:#ececec}.nux-intro .wpcom .goto .j-col{padding:0 5px}.nux-intro .wpcom .goto a{width:100%;padding:.25em;height:auto}.nux-intro .wpcom .goto .button{height:auto;min-height:28px;line-height:18px;white-space:normal;max-width:200px;margin-bottom:0;padding-top:4px;padding-bottom:5px}.nux-intro .wpcom .goto .feat{position:absolute;top:50%;-ms-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);transform:translate(0, -50%)}.nux-intro .nux-foot .j-col{padding:1em}.nux-foot{margin-top:2em;background:#ececec;border-radius:6px}.nux-foot .j-col{min-height:75px;padding:1em}@media (max-width: 650px){.nux-foot .j-col{width:100%}}.nux-foot .j-col+.j-col{border-right:1px #f9f9f9 solid}@media (max-width: 650px){.nux-foot .j-col+.j-col{border-right:none;border-top:1px #f9f9f9 solid}}.nux-foot .actions{margin-top:1em}.nux-foot a{text-decoration:underline}.nux-foot img{float:left;margin-right:1em;width:75px;border-radius:4px}.nux-foot p{font-size:.9em;text-align:right;font-weight:600;margin-top:0}.nux-foot p+p{font-weight:400;margin-bottom:0}.nux-foot ul{font-size:.9em;margin-bottom:0}.nux-foot ul li{margin-left:.875em;margin-bottom:0;line-height:175%;display:inline-block;vertical-align:middle}.form-toggle[type="checkbox"]{opacity:0;position:absolute}.form-toggle__switch{position:relative;display:inline-block;border-radius:12px;-moz-box-sizing:border-box;box-sizing:border-box;padding:2px;width:40px;height:24px;background:#b9b9b9;vertical-align:middle;outline:0;cursor:pointer;transition:all .4s ease}.form-toggle__switch:before,.form-toggle__switch:after{position:relative;display:block;content:"";width:20px;height:20px}.form-toggle__switch:after{right:0;border-radius:50%;background:#fff;transition:all .2s ease}.form-toggle__switch:before{display:none}.form-toggle__switch:hover{background:#bdd597}.form-toggle__label{cursor:pointer}.plugin-action__label{padding-left:5px;top:-1px;position:relative;color:#8e9598}.activated .plugin-action__label{color:#81a844}.form-toggle:focus+.form-toggle__label .form-toggle__switch,.form-toggle:focus:checked+.form-toggle__label .form-toggle__switch{box-shadow:0 0 0 2px #0087be}.form-toggle:checked+.form-toggle__label .form-toggle__switch{background:#81a844}.form-toggle:checked+.form-toggle__label .form-toggle__switch:after{right:16px}.form-toggle:checked:hover+.form-toggle__label .form-toggle__switch{background:#bdd597}.form-toggle:disabled+.form-toggle__label .form-toggle__switch,.form-toggle:disabled:hover+.form-toggle__label .form-toggle__switch{background:#e9eff3}.form-toggle.is-toggling+.form-toggle__label .form-toggle__switch{background:#81a844}.form-toggle.is-toggling:checked+.form-toggle__label .form-toggle__switch{background:#bdd597}.form-toggle.is-compact+.form-toggle__label .form-toggle__switch{border-radius:8px;width:24px;height:16px}.form-toggle.is-compact+.form-toggle__label .form-toggle__switch:before,.form-toggle.is-compact+.form-toggle__label .form-toggle__switch:after{width:12px;height:12px}.form-toggle.is-compact:checked+.form-toggle__label .form-toggle__switch:after{right:8px}@media (max-width: 1147px){.jp-content .landing{padding:0 2em}.jp-content .footer{padding-top:1.5em}.nux-intro .main-col{width:50%;margin-bottom:2em}.nux-intro .main-col.wpcom{width:100%}.nux-intro .main-col+.main-col{padding-left:0}.nux-intro .wpcom{padding:0}.nux-intro .wpcom .j-row{width:50%;float:right;border-bottom:1px #f9f9f9 solid;border-left:1px #f9f9f9 solid}.nux-intro .wpcom .j-row:last-of-type{width:100%;float:none;clear:both;border:none;border-top:1px #f9f9f9 solid;position:relative;top:-1px}.nux-intro .wpcom .goto .feat a{float:right}.nux-foot .j-col{border:none}}@media (max-width: 900px){.nux-intro .main-col{width:100%;padding:0;margin-bottom:2em}.nux-intro .wpcom .j-row{width:100%;float:none}}@media (max-width: 782px){#jumpstart-cta .button-primary{margin:10px 0 5px 0}#jump-start-area .spinner{background-position:50% 35%}}@media (max-width: 600px){.nux-intro h1{font-size:1.75em}.nux-intro p{font-size:1em}}@media (max-width: 530px){.jp-content .landing{padding:0 .5em}#jump-start-area{padding:0 1em}.jumpstart-message p{padding-left:0}#jumpstart-cta .button-primary{margin:0 0 5px 0;padding-bottom:10px}.footer .a8c-attribution a:after{top:6px}}.nav-horizontal:before,.features:before,.modules:before,.load-more:before,.nav-horizontal:after,.features:after,.modules:after,.load-more:after{content:"";display:table}.nav-horizontal:after,.features:after,.modules:after,.load-more:after{clear:both}
2
 
3
  /*# sourceMappingURL=jetpack-admin.min.css.map */
css/jetpack-admin.css CHANGED
@@ -2076,6 +2076,10 @@ ul#adminmenu a.toplevel_page_jetpack:after {
2076
  content: '\f475';
2077
  }
2078
 
 
 
 
 
2079
  @media (max-width: 782px) {
2080
  .blog .type-post,
2081
  .page-template-default .type-page,
@@ -3271,9 +3275,15 @@ a.what-is-primary {
3271
  border-top: 1px #f9f9f9 solid;
3272
  }
3273
  }
 
 
 
 
 
 
3274
  .nux-foot img {
3275
- float: left;
3276
- margin-right: 1em;
3277
  width: 75px;
3278
  border-radius: 4px;
3279
  }
@@ -3292,8 +3302,11 @@ a.what-is-primary {
3292
  margin-bottom: 0;
3293
  }
3294
  .nux-foot ul li {
 
3295
  margin-bottom: 0;
3296
  line-height: 175%;
 
 
3297
  }
3298
 
3299
  .form-toggle[type="checkbox"] {
@@ -3437,11 +3450,6 @@ a.what-is-primary {
3437
  .nux-foot .j-col {
3438
  border: none;
3439
  }
3440
- .nux-foot img {
3441
- float: right;
3442
- margin-right: 0;
3443
- margin-left: 1em;
3444
- }
3445
  }
3446
  @media (max-width: 900px) {
3447
  .nux-intro .main-col {
2076
  content: '\f475';
2077
  }
2078
 
2079
+ .jetpack-modules #sitemaps .info a:before {
2080
+ content: '\f507';
2081
+ }
2082
+
2083
  @media (max-width: 782px) {
2084
  .blog .type-post,
2085
  .page-template-default .type-page,
3275
  border-top: 1px #f9f9f9 solid;
3276
  }
3277
  }
3278
+ .nux-foot .actions {
3279
+ margin-top: 1em;
3280
+ }
3281
+ .nux-foot a {
3282
+ text-decoration: underline;
3283
+ }
3284
  .nux-foot img {
3285
+ float: right;
3286
+ margin-left: 1em;
3287
  width: 75px;
3288
  border-radius: 4px;
3289
  }
3302
  margin-bottom: 0;
3303
  }
3304
  .nux-foot ul li {
3305
+ margin-right: .875em;
3306
  margin-bottom: 0;
3307
  line-height: 175%;
3308
+ display: inline-block;
3309
+ vertical-align: middle;
3310
  }
3311
 
3312
  .form-toggle[type="checkbox"] {
3450
  .nux-foot .j-col {
3451
  border: none;
3452
  }
 
 
 
 
 
3453
  }
3454
  @media (max-width: 900px) {
3455
  .nux-intro .main-col {
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/pages/_connection.scss","../scss/pages/_manage.scss","../scss/templates/_nux-landing-2015.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,qEAEyB;EN4QxB,qBAAoB;EM1QrB,YAAA;EACC,oBAAW;EN4QX,2DAA0D;EM1Q3D;AN4QD;EMzQE,aAAY;EN2Qb;AACD;EMvQC,aAAA;EACC,qBAAQ;EACR,2DAEqB;ENuQtB;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;;AU1bD;EACC,mBCrBQ;EXkdR;;AAED;EU3bC,qBAAW;EACX,WAAO;EACP,cAAA;EV6bC,kBAAiB;EU3blB,aAAA;EACC,aC9BO;EX2dP,qCAAoC;EACrC;AC7cE;ESmBH,qBAAA;EV6bC;;AAED;EACE;;;;;ICndC,mBAAA;ISmBH,iBAAA;IVucG;EACF;AACD;EACE;;;;;IC7dC,gBAAA;ISiCH;EVmcC;;AAED;EACE;IU1bF,iBAAA;IV4bG;EACF;;AAED;;EAEE,kBU5bE;EACF,gBAAa;EV6bd;AACD;;EU1bA,mBAAc;EV6bb;;AAED;EACE;ICvfC,eAAA;IS6DH;EV6bC;;AAED;EACE;IC7fC,qBAAA;IS6DH,eAAY;IVmcT;EACF;AACD;EACE;IU3bD,uBAAA;IAEC;EV4bD;;AAED;EU1bE,WAAU;EV4bX;AACD;EACE,mBAAkB;EUzbpB,mBAAoB;EACnB,WAAU;EV2bV;;AC/gBE;ESmFH,oBAAoB;EVgclB,aU3bU;EV4bX;AACD;EACE;IACE,qBAAoB;ICvhBrB,eAAA;IS6FH;EV6bC;;AAED;EACE;IU1bF,qBAAY;IACX;EV4bA;;AAED;EUrbA,kBAAQ;EACP,gBAAO;EVubP;;AAED;EACE,SAAQ;EUrbT,UAAA;EACC,qBAAiB;EVublB;;AAED;EUpbE,mBAAiB;EVsblB;AUnbC;EACC,sBAAqB;EACrB,mBAAkB;EVqbpB;AACD;EUnbG,uBAAY;EACZ,oBAAY;EACZ,cAAA;EACA,mBAAW;EACX,qEAAiB;EACjB,2EAAmB;EVqbpB,6BAA4B;EUnb3B,aAAA;EACC,mBAAa;EACb,qBAAkB;EVqbrB;AUjbE;EACC,sBAAW;EACX,oBAAkB;EVmbrB;AACD;EUjbI,aAAW;EACX,oBAAY;EAEZ,QAAA;EVkbF,SAAQ;EU9aT,aAAA;EACC,cAAa;EVgbb,6BAA4B;EAC7B;AU7aD;EACC,mBAAW;EV+aX;;AAED;EACE,aAAY;ECllBX;ADolBH;EACE,WU/aA;EVgbD;AACD;EACE;IU9aF,iBAAU;IACT;EVgbA;;AAED;EACE,cAAa;EACd;AU3aA;EACC,WAAS;EV6aV;;AAED;EACE,WAAU;EU3aX;AV6aD;EACE,YAAW;EU3aZ;AV6aD;EACE,cAAa;EACd;AUtaD;EAKC,eAAU;EVoaV;;AAED;EUlaC,oBAAkB;EVoajB,oBAAmB;EUjanB,YAAA;EACC,2BAAc;EVmaf,0DAAyD;EUjazD;AVmaF;EACE,gBAAe;ECznBd;AD2nBH;EACE,mBUnac;EVoaf;AACD;EACE;IUjaD,mBAAA;IVmaG,YUlaA;IACF;EVmaD;AUjaA;;EAEC,gBAAW;EVmaZ;AACD;EUjaE,4BAAkB;EAClB,uBAAa;EACb,aAAU;EVmaV,qFAAoF;EUjapF,oBAAS;EACR,4CAAiB;EVmalB,YAAW;EC/oBV;ADipBH;EACE,mBUnac;EVoaf;AACD;EACE;ICrpBC,wBAAsD;ISkOxD,sBAAG;IVsbD;EACF;AACD;EACE;IC3pBC,kBAAA;ISkOF,iBAAG;IV4bD;EACF;AACD;EACE;IACE,gBAAe;IACf,wBAAuB;IACvB,iBAAgB;IUtapB,kBAAA;IACC;EVwaA;;AAED;EUtaA,qBAAO;EACN,kBAAU;EVwaV;;AAED;EUtaC,oBAAW;EVwaV,gBAAe;EUtahB,UAAA;EACC,YAAS;EACT,8CAAY;EAAZ,sCAAY;EVwab;AACD;EUtaE,WAAA;EVwaA,cAAa;EUtad,eAAA;EACC,+BAAS;EAAT,uBAAS;EACT,kCAAW;EAAX,0BAAW;EVwaZ;AACD;EUtaE,WAAA;EVwaA,aAAY;EACZ,cAAa;EUtaf,+BAAS;EAAT,uBAAS;EACR,kCAAkB;EAAlB,0BAAkB;EVwalB;;AAED;EUtaC,oBAAU;EVwaT,mBAAkB;EUtanB,gBAAG;EACF,qBAAgB;EAChB,YAAO;EVwaR;AACD;EACE,kBAAiB;EC5sBhB,gBAAA;ESgSF,qFAAG;EV+aF,6BUxaiB;EVyalB;AACD;EACE;ICltBC,kBAAA;ISgSF,iBAAG;IVqbD;EACF;AACD;EUzaC;IACC,eAAW;IACX;EV2aD;AACD;EUzaE,aAAA;EACA,oBAAW;EACX,cAAa;EACb,SAAA;EACA,qBAAoB;EACpB,aAAW;EV2aX,eAAc;ECnuBb,mEAAsD;ESyRzD,sBAAS;EV6cP,aU3aU;EV4aX;AACD;EU1aE;IACC,mBAAiB;IV4ahB,sBAAqB;IACtB;EC5uBA;ISyRH,4BAAS;IVsdN;EACF;AACD;EACE;IClvBC,mBAAA;ISyRH,sBAAS;IV4dN;EACF;AACD;EACE;IACE,kBAAiB;IU9arB,yBAAW;IAIV;EV6aA;;AAED;EU3aC,eAAA;EACA,oBAAkB;EAClB,oBAAkB;EAClB,YAAA;EACA,2BAAkB;EAMjB,0DAAkB;EV6anB;AACD;EU3aE,aAAA;EACA,oBAAW;EACX,WAAQ;EACR,SAAA;EACA,qBAAoB;EACpB,aAAU;EV6aV,eAAc;EClxBb,sEAAsD;ES2UzD,sBAAW;EV0cT,YU7aQ;EV8aT;AACD;EACE;IUxaF,cAAU;IACT;EV0aA;;AAED;EUxaC,+BAA4B;EAC5B,kCAAkB;EAClB,kBAAU;EV0aT,oBAAmB;EUvapB,8BAAS;EACR,oBAAW;EACX,YAAS;EVyaV;AACD;EUvaE,aAAY;EACZ,gBAAW;EVyaX,oBAAmB;EUvapB,QAAA;EACC,cAAQ;EACR,aAAS;EVyaV;AC7yBE;ESgXH,gBAAU;EVgcR,uBUzaa;EV0ad;AACD;EACE;IUzaF,eAAA;IV2aG;EACF;;AAED;;EAEE,iBAAgB;EC1zBf,gBAAA;ES0YH,6EAAA;EVmbE,oBUlbc;EVmbf;AACD;EACE;;IUtbF,iBAAA;IVybG;EACF;AACD;EACE;;IU7aF,iBAAU;IACT;EVgbA;;AU7aD;EVgbE,gBU/aM;EVgbP;;AAED;;EU7aC,oBAAY;EVgbX,aAAY;ECn1BX,oBAAA;ES6ZH,cAAA;EVybE,iCUxbM;EVybP;AACD;EACE;;IU/aA,0BAAA;IVkbE,mBAAkB;IUjbnB,kBAAc;IVmbd;EUjbD;;IACC,gBAAM;IVobN;EACD;;IAEE,QAAO;IUlbX,kBAAS;IACR;EVobA;;AAED;EUlbE,kCAAc;EAAd,0BAAc;EVobf;AACD;EUlbE,uBAAgB;EVobhB,gBAAe;EUlbhB,sBAAE;EACD,kBAAS;EACT,kBAAc;EVobf;AUlbA;EACC,WAAS;EACT,gBAAU;EVobX;AACD;EUlbE,aAAW;EACX,oBAAY;EACZ,WAAU;EACV,SAAO;EACP,aAAW;EACX,cAAY;EVobZ,iCAAgC;EUjbjC,aAAQ;EACP,kCAAW;EAAX,0BAAW;EVmbX,iCAAgC;EUjbhC;AVmbF;EACE,qCAA4B;EAA5B,iCAA4B;EAA5B,6BAA4B;EUjb5B;AVmbF;EUjbG,gBAAe;EVmbjB;AUjbC;EACC,wBAAY;EVmbb,qBAAoB;EUjbpB;AVmbF;EACE,cAAa;EC/4BZ;ADi5BH;EACE,oCUlbgB;EVkbhB,gCUlbgB;EVkbhB,4BUlbgB;EVmbjB;AACD;EACE;IUjbE,gBAAe;IVmbhB;EUjbA;IACC,wBAAY;IVmbZ,qBAAoB;IACrB;EU/aF;IACC,cAAa;IACb;EVibD;AACD;EU/aE,kBAAe;EVibf,aAAY;EU/aZ,cAAA;EACC,wBAAY;EACZ,qBAAiB;EVibnB;AU/aE;EAJD,uDAAa;EVsbb,4BU7aoB;EV8arB;AACD;EU5aE;IACC,sDAAY;IACZ;EV8aF;AU5aE;EAJD,8DAAoB;EVmbpB,4BU1aoB;EV2arB;AACD;EUzaE;IACC,6DAA0D;IAC1D;EV2aF;AUzaE;EAJD,4DAAkB;EVgblB,4BUvaoB;EVwarB;AACD;EUtaE;IAGC,2DAAY;IACZ;EVsaF;AACD;EUnaA,cAAA;EACC,qBAAc;EVqad;;AAED;EACE,gBAAe;EUnahB,kCAAiB;EAChB,wBAAgB;EAChB,qBAAkB;EVqanB;AC58BE;ESqiBF,kBAAA;EV0aC,oBUraS;EVsaV;AACD;EACE;ICl9BC,wBAAsD;IS+hBzD,qBAAqB;IVsblB;EACF;AACD;EACE;IUjaG,mBAAA;IACJ;EVmaA;;AUhaA;EACC,aAAW;EACX,qBAAgB;EVmajB;AACD;EACE,iBAAgB;EUjajB,kBAAO;EACN,sBAAW;EVmaX,kBAAiB;EAClB;AUjaD;EACC,aAAY;EVmaZ;;AAED;EACE,oBAAmB;EC5+BlB;AD8+BH;EACE,eUlaY;EVmab;AACD;EACE;IACE,mBAAkB;IAClB,eAAc;IUjalB,iBAAe;IACd;EVmaA;;AAED;EUjaC,oBAAgB;EVmaf,aAAY;EACZ,uBAAsB;EUlaxB,0BAAgB;EACf,kBAAS;EVoaT;;AAED;EUlaC,WAAA;EACA,8BAAgB;EAChB,aAAO;EACP,2BAAe;EVoad,oBAAmB;EUlapB,kBAAA;EACC,gBAAc;EACd,kBAAa;EVoad;AUlaC;EACC,gBAAY;EACZ,eAAU;EVoaZ;AUjaA;EACC,yBAAc;EVmad,YAAW;EUjaZ;AVmaD;EACE,gBAAe;EUjahB;AVmaD;EACE,gBAAe;EUjahB;AVmaD;EACE,gBAAe;EUjahB;AVmaD;EUjaE,gBAAQ;EVmaT;AACD;EUjaE,oBAAW;EACX,UAAO;EACP,YAAW;EACX,aAAA;EACA,aAAA;EACA,gBAAY;EVmaZ,sBAAqB;EUjarB,sBAAA;EACC,oBAAgB;EAChB,iCAAkB;EVmapB;AACD;EUjaG,kBAAQ;EACR,oBAAW;EACX,aAAW;EACX,mBP3oBU;EH8iCX,UAAS;EACT,sBAAqB;EUhavB,qBAAW;EACV,2BAAuB;EVkavB;;AU/ZA;EACC,0BAAqB;EACrB,gBAAU;EVkaX;AACD;EUhaE,uBAAM;EACN,oBAAa;EACb,8BAAgB;EAChB,aAAA;EACA,iEAAkB;EAClB,iDAAoC;EACpC,kBAAA;EVmaA,oBAAmB;EU5ZlB,8BAAa;EVgaf;AACD;ECxkCG,gBAAA;ESqpBF,2CAAE;EVsbD,qBUhaU;EViaX;AACD;EACE;IU3ZF,qBAAQ;IACP;EV6ZA;;AAED;EU3ZC,gBAAY;EACZ,kCAAY;EACZ,kBAAY;EV6ZX,2BAA0B;EU3Z3B,kBAAQ;EACP,uCAAqB;EACrB,gCAAmB;EV6ZpB;AU3ZA;EACC,uBAAe;EACf,qBAAmB;EV6ZpB;AACD;EU3ZE,iBAAa;EACb,mBAAgB;EV6ZhB,gBAAe;EU3ZhB,sBAAE;EACD,oBAAS;EACT,kBAAc;EV6Zf;AACD;EU3ZC,WAAA;EACC,gBAAc;EACd,sBAAmB;EV6ZpB;AU1ZA;EACC,uBCvuBiB;EDwuBjB,qBAAY;EV4Zb;AU1ZC;EACC,uBAAwC;EACxC,mCAAoD;EV4ZtD;AUxZA;EV0ZC,uBUzZe;EACf,mCAAgB;EV0ZjB;ACxnCE;;ED2nCD,kBUxZe;EVyZhB;AACD;EACE;IUvZA,gBAAA;IVyZE,aAAY;IUvZb,oBAAU;IVyZV;EUvZD;;IAGC,YAAS;IVwZT;EACD;IACE,qBAAoB;IACpB,mBAAkB;IUrZrB,cAAA;IACC,iBAAA;IVuZC;EACF;AACD;EUrZG;;IACC,0BAAW;IVwZZ;EACD;;IUlZC,aAAA;IVqZA;EACF;AACD;EACE;IACE,0BAAyB;IAC1B;EC3pCA;IS+vBF,gBAAO;IV+ZL;EACF;AACD;EACE;IACE,oBAAmB;IUpZpB;EVsZD;IACE,oBAAmB;IACpB;ECtqCA;IS+vBF,gBAAO;IV0aL;EACF;AACD;EACE;IACE,eAAc;IUrZf;EVuZD;IACE,gBAAe;IAChB;ECjrCA;ISmrBH,gBAAQ;IVigBL;EACF;AACD;EUrZE;IACC,oBAAe;IVuZd,YAAW;IUrZb;EVuZA;IACE,iBAAgB;IACjB;EC7rCA;ISmrBH,gBAAQ;IV6gBL;EACF;AACD;EUtZE;IACC,eAAc;IVwZb,aAAY;IUtZd;EVwZA;IACE,gBAAe;IAChB;EACD;IUtZG,gBAAA;IAGJ;EVsZA;;AAED;EUpZE,oBAAkB;EVsZnB;AACD;EUpZE,gBAAa;EACb,oBAVU;EAWV,WAXM;EAYN,aAAW;EACX,mBAAc;EACd,aAAW;EACX,cAAY;EACZ,aAAW;EACX,gBAAY;EACZ,kBAAiB;EACjB,oBAAkB;EVsZlB,0CAAyC;EACzC,oEAAmE;EUpZrE,uBAAM;EACL,oBAAS;EVsZT;;AAED;EUpZC,uBAAsB;EACtB,oBAAY;EACZ,UAAO;EACP,mBAAM;EACN,wBAAa;EACb,cAAY;EACZ,aAAA;EVsZC,4DAA2D;EUpZ5D,2CACQ;EACP,qBAAkB;EAClB,qBAAM;EVqZP;AACD;EACE,oBAAmB;EUnZpB,QAAA;EACC,aAAS;EACT,qCAAc;EVqZf;AACD;EUnZC,kBAAQ;EACP,gBAAS;EACT,mBAAkB;EVqZnB;AACD;EACE,kBAAiB;EUnZnB,oBAAkB;EACjB,iBAAgB;EVqZhB;;AUnZD;EAGC,kBAAQ;EVoZR;;AUhZD;EACC,+BAAa;EVmZb;;AUjZD;EACC,eAAc;EVoZd;;AU7YD;EACC,gBAAW;EVgZX;;AAED;EACE,aAAY;EU9Yb,oBAAK;EACJ,UAAO;EVgZP,aAAY;EACb;AU9YD;EACC,aAAY;EVgZZ;;AAED;EU9YC,kBAAW;EACX,iBAAU;EACV,WAAA;EACA,cAAa;EACb,aAAY;EACZ,YAAS;EVgZR,oBAAmB;EU9YpB,eAAO;EACN,+CAAkB;EAClB,cAAM;EVgZP;AACD;EU9YE,oBAAW;EACX,QAAO;EACP,UAAS;EACT,6CAAiC;EACjC,aAAU;EVgZV,kBAAiB;EU9YjB,uBAAQ;EACP,wCAAgB;EAChB,YAAS;EVgZX;AU9YC;EACC,kBAAgB;EAChB,cAAY;EVgZd;AU7YA;EACC,kBAAa;EV+Yb,cAAa;EU7Yd;AV+YD;EU7YE,eAAM;EV+YP;AACD;EU7YE,oBAAO;EACP,QAAA;EACA,UAAS;EV+YT,WAAU;EU7YX,SAAA;EACC,gBAAc;EACd,oBAAgB;EV+YjB;AACD;EU7YC,gBAAG;EACF,kBAAgB;EAChB,kBAAa;EV+Yd;AACD;EU7YE,kBAAa;EV+Yb,eAAc;EC90Cb,gBAAA;ES07BF,0EAAG;EVuZF,6BU/YgB;EVgZjB;AACD;EU9YC;IACC,iBAAW;IVgZV;EU9YF;AVgZD;EACE,aAAY;EU9Yb;AVgZD;EU9YE,sBAAO;EVgZR;AACD;EU9YE,oBAAkB;EAClB,SAAA;EACA,WAAU;EACV,aAAY;EVgZZ,oBAAmB;EU9YnB,4BAAG;EACF,kBAAS;EVgZV,mBAAkB;EU9YlB;AVgZF;EU9YG,WAAS;EVgZX;AU7YA;EV+YC,uBAAsB;EU5YtB,WAAA;EV8YD;AC92CE;;EDi3CD,0BU9YU;EV+YX;AACD;EACE;IU7YA,YAAA;IACC,mBAAS;IV+YR,gBAAe;IAChB;ECx3CA;ISy4BH,WAAO;IVkfJ;EACF;AACD;EACE;IC93CC,WAAA;ISy4BH,gBAAO;IVwfJ;EACF;AACD;EACE;IACE,WAAU;IACV,aAAY;IACZ,cAAa;IUjZjB,YAAa;IACZ;EVmZA;;AUhZA;EACC,cAAQ;EACR,uBAAe;EVmZhB;AACD;EUjZE,wBAAA;EACC,iBAAa;EVmZd,cAAa;ECn5CZ;ADq5CH;EACE,eUlZW;EVmZZ;AACD;EACE;IACE,aAAY;IUlZhB,kBAAA;IACC;EVoZA;;AUlZD;EACC,cAAY;EVqZZ;;AAED;EUnZC,kBAAO;EACP,WAAS;EACT,iBAAe;EACf,eAAQ;EACR,SAAM;EACN,cAAW;EVqZV,iBAAgB;EAChB,UAAS;EU/YX,QAAA;EViZE,aAAY;EACb;;AAED;;EAEE,uBAAsB;ECl7CrB,gBAAA;ES4hCH,qFAAA;EVyZE,6BUxZwB;EVyZzB;AACD;EACE;;IUhZF,gBAAA;IVmZG;EACF;;AAED;;;EAGE,uBAAsB;ECj8CrB,gBAAA;ESwiCH,2EAAA;EV4ZE,6BAA4B;EAC7B;AACD;EACE;;;IUlZF,kBAAA;IACC;EVsZA;;AUnZD;EVsZE,wBAAuB;EACxB;;AAED;;;;EU5YA,aAAQ;EACP,YAAU;EViZV;;AAED;EACE,uBAAsB;EU/YvB,oBAAA;EAEC,2BAAW;EACX,oBAAkB;EVgZnB;AACD;EACE,aAAY;EU9Yb,oBAAS;EACR,SAAM;EACN,sBAAgB;EVgZjB;AACD;EACE,QAAO;EU9YR,kBAAQ;EACP,aAAS;EVgZT,eAAc;EU9Yf;AVgZD;EACE,eAAc;ECl+Cb;ADo+CH;EACE,qBUhZiB;EViZlB;AACD;ECl/CG;ISskCH,sBAAQ;IV+aL;EACF;AACD;EACE;IACE,oBAAmB;IACnB,mBAAkB;IUpZpB;;QVuZK;IUjZL;EVmZA;IUjZC,4BAAgB;IVmZhB;EACD;IClgDC,aAAA;ISskCH,kBAAQ;IV+bL;EACF;AACD;ECvgDG;ISskCH,oBAAQ;IVocL;EACF;AACD;EC5gDG;ISskCH,eAAQ;IVycL;EACF;AACD;EACE;IClhDC,eAAA;ISskCH,oBAAQ;IV+cL;EACF;AACD;EACE;IUzZF,mBAAY;IACX;EV2ZA;;AAED;EUzZE,iBAAgB;EV2ZjB;AACD;;EAEE,kBAAiB;EACjB,aAAY;EACb;AACD;;;EAGE,gBAAe;EAChB;AACD;EACE;;;IUnZA,gBAAG;IVuZF;EACF;AACD;EACE;IACE,gBAAe;IUrZjB,aAAE;IACD,WAAS;IACT,kBAAe;IVuZf;EACD;IACE,gBAAe;IACf,iBAAgB;IUrZpB,mBAAS;IACR;EVuZA;;AAED;EUtZA,8BAAkB;EACjB,+BAAc;EVwZd;;AAED;EACE,gBAAe;EC1jDd;AD4jDH;EACE,mBUxZS;EVyZV;AACD;EACE;IACE,wBAAuB;ICjkDxB,qBAAA;IS8pCH,+BAAkB;IVsaf;EACF;AACD;ECjlDG;ISyqCH,kBAAkB;IV2af;EACF;AACD;EACE;ICvlDC,uBAAsD;ISyqCzD,qBAAkB;IVibf;EACF;AACD;EACE;IACE,WAAU;IU7ZZ,YAAA;IACC,cAAY;IV+ZX,kBAAiB;IAClB;EACD;IU7ZF,4BAAyB;IACxB;EV+ZA;;AAED;EU7ZC,WAAA;EACA,gBAAc;EV+Zb,aAAY;EU7Zb,sBAAA;EAIC,qFAAqB;EACrB,2BAAkB;EV4ZnB;AACD;EU1ZE,uBAAU;EV4ZV,oBAAmB;EU1ZnB,mBAAA;EACC,eAAY;EACZ,YAAU;EV4ZZ;AACD;EU1ZG,cAAY;EACZ,oBAAW;EACX,UAAS;EACT,gBHvvCa;EGwvCb,cAAY;EV4Zb,aAAY;EUzZX,sBAAA;EACC,8BAAW;EV2Zb,oBAAmB;EACpB;ACtnDE;ES+tCH,0CAAW;EAAX,kCAAW;EV0ZV;;AAED;EACE;IC5nDC,2BAAsD;IS+tCzD,+BAAW;IVgaR;EACF;AACD;EACE;IACE,2BAA0B;IUpZ9B,qBAAiB;IAChB;EVsZA;;AAED;EUpZC,qBAAkB;EAClB,2BAAU;EVsZT,qBAAoB;EUpZrB,gBAAA;EACC,oBAAgB;EAChB,YAAW;EVsZZ;AACD;EUpZE,kBAAS;EACT,iBAAY;EACZ,oBAAe;EACf,kBAAY;EVsZZ,WAAU;EUnZV,4CAAW;EACV,iBAAS;EACT,oBAAiB;EVqZnB;AACD;EACE,WAAU;EUnZT,mBAAA;EACC,yBAAqB;EVqZvB,kBAAiB;EUlZjB;AVoZF;EACE,uBAAsB;EUlZtB;AVoZF;EUlZG,gBAAa;EVoZf;AUhZC;EACC,kBAAc;EVkZf,eAAc;EU/Yf;AViZD;EU/YE,gBAAS;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;EC7sDZ,oBAAA;ES6yCF,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;;AAED;;;EAGE,aAAY;EACb;AACD;;;EU1YE,uBAAiB;EACjB,oBAAY;EACZ,UAAM;EACN,YAAA;EV8YA,mBAAkB;EAClB,cAAa;EU3Yf,gCAAgC;EAC/B,qBAAe;EV6Yf;;AU1YD;EV6YE,iBAAgB;EACjB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EU7YA,kBAAA;EVgZE,+BAA8B;EAC/B;;AAED;;EU9YA,kBAAA;EViZE,+BAA8B;EAC/B;;AAED;;EU/YA,kBAAA;EVkZE,+BAA8B;EAC/B;;AAED;;EUhZA,kBAAA;EVmZE,+BAA8B;EAC/B;;AAED;;EUjZA,cAAA;EVoZE,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;EUhanB,oBAAA;EVkaE,WAAU;EACX;;AAED;;EUhaA,kBAAA;EVmaE,+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;;EUvaA,cAAA;EV0aE,8BAA6B;EAC9B;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EUzaA,kBAAA;EV4aE,+BAA8B;EAC/B;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EAEE,kBAAiB;EAClB;;AAED;;EU3aA,kBAAA;EV8aE,+BAA8B;EAC/B;;AAED;;EU3aC,kBAAgB;EV8ahB;;AC57DE;ESuhDF,kBAAA;EVyaA;;AAED;EACE;;;;IUjaD,aAAW;IVsaT;EACF;AACD;EC18DG;ISyiDD,eAAA;IVoaC;EACF;AACD;EACE;IUlaE,aAAW;IVoaZ;EUjaD;IACC,iBAAW;IVmaV,aAAY;IACb;EU3ZH;IAEE,aAAA;IV4ZC;EACF;AACD;EACE;IACE,sBAAqB;IU1ZtB;EV4ZD;IU1ZE,mBAAkB;IV4ZnB;EU1ZA;IACC,aAAS;IACT,oBAAU;IV4ZX;EACD;IACE,WAAU;IU1ZX,YAAA;IACC,mBAAgB;IV4ZhB,gBAAe;IU1ZhB;EV4ZD;IU1ZE,kBAAc;IV4Zf;EACD;IU3ZE,oBAAA;IACC,gBAAe;IV6ZhB,aAAY;IACb;ECn/DA;IWxBF,iBAAA;IZ8gEE;EACF;AACD;EACE;IY1gEF,kBAAA;IACC;EZ4gEA;;AYvgEA;EACC,eAAY;EZ0gEb;;AAED;EYxgEE,cAAS;EZ0gET,kBAAiB;EYxgEjB,wBAAA;EACC,oBAAmB;EACnB,WAAA;EZ0gEF;AACD;EYxgEG,qBAAe;EACf,kCAAQ;EACR,qBAAS;EACT,kBAAW;EACX,iBAAU;EACV,UAAA;EZ0gED,WAAU;EYxgET,aAAA;EAZD,YAAA;EZuhEA,iCY1gEc;EZ2gEf;AACD;EACE;IYzgEE,cAAS;IZ2gET,kBAAiB;IACjB,wBAAuB;IY1gExB,oBAAA;IAnBD,WAAA;IZgiEC;EACF;AACD;EY1gEE;IACC,QAAO;IZ4gEP;EYzgEC;AZ2gEJ;EACE,aY3gEY;EZ4gEb;AACD;EY3gEI;IAJD,gBAAA;IZkhEA;EACF;AACD;EACE;IYzgEF,iBAAA;IACC;EZ2gEA;;AYxgED;EACC,mBAAa;EZ2gEb;;AAED;EY1gEC,eAAA;EAJD,cAAA;EZihEE,kBY5gEc;EZ6gEf;AACD;EY5gEC;IAPD,gBAAe;IZshEZ;EACF;AACD;EACE;IY7gEF,eAAA;IACC;EZ+gEA;;AY5gEA;EACC,cAAW;EZ+gEX,oBAAmB;EACpB;AY5gED;EACC,kBAAY;EZ8gEZ;;AY1gEC;EACC,cAAa;EACb,kBAAS;EZ6gEX;AY5gEE;EACC,gBAAc;EZ8gEhB,qBAAoB;EY1gEnB;AZ4gEH;EACE,gBAAe;EY1gEd;AZ4gEH;EACE,uBAAsB;EYxgErB;AZ0gEH;EYxgEI,YAAU;EZ0gEb;AYxgEE;;EAEC,qBAAiB;EZ0gEpB;AYvgEG;EACC,gCAA8B;EZygEjC,mBAAkB;EYrgElB;AZugEF;EACE,gCAA+B;EYtgE9B;AZwgEH;EACE,cAAa;EYrgEb;AZugEF;EACE,eAAc;EYpgEb;AZsgEH;EACE,YAAW;EYpgEV;AZsgEH;EYpgEI,aAAW;EZsgEd;AYngEC;EZqgEA,oBAAmB;EYngElB,aAAY;EZqgEd;AACD;;EAEE,kBAAiB;EYlgEjB,WAAA;EAEC,+CAAiB;EZogEnB;AYlgEE;EACC,6BAA2B;EZogE7B,mBAAkB;EYlgEjB;AZogEH;EYlgEI,6BAAgB;EZogEnB;AACD;EYlgEI,cAAA;EACC,kBAAgB;EZogEnB,qBAAoB;EYngEjB;AZqgEL;EACE,kBAAiB;EYpgEb;AZsgEN;EACE,YAAW;EYjgET;AZmgEJ;EACE,YYngEY;EZogEb;AACD;ECrpEG;IWgIA,eAAA;IZwhEA;EACF;AACD;EACE;IACE,gBAAe;IYjgElB,oBAAA;IACC,qBAAS;IACT;EZmgED;AYjgEC;EACC,WAAA;EZmgED,wBAAuB;ECnqEtB;ADqqEH;EACE,kBYngEiB;EZogElB;AACD;EYjgEC;IACC,iBAAgB;IZmgEf;EYjgEF;AZmgED;EACE,kBAAiB;EYjgEjB;AZmgEF;EACE,eYngEU;EZogEX;AACD;EYlgEC;IACC,mBAAe;IZogEd;EYlgEF;AZogED;EACE,iBAAgB;EYlgEjB;AZogED;EYlgEE,iBAAa;EZogEd;AACD;EC9rEG,aAAA;EWuLF,eAAA;EZ0gEC,mBYpgEU;EZqgEX;AACD;EYngEC;IACC,uBAAW;IZqgEV;EYngEF;AZqgED;EACE,aAAY;EYngEb;AZqgED;EACE,aYpgEQ;EZqgET;AACD;EACE;IYngEF,aAAA;IACC;EZqgEA;;AAED;EYpgEA,0BAAM;EACL,cAAS;EZsgET;;AAED;EYpgEC,WAAG;EACF,sBAAe;EACf,kBAAgB;EZsgEjB;AYpgEA;EACC,iBAAW;EACX,kBAAS;EZsgEV;AACD;EACE,aAAY;EYpgEZ,WAAA;EACC,YAAW;EZsgEZ,YAAW;EYpgEX;AZsgEF;EACE,aAAY;EYngEZ;AZqgEF;EACE,kBYrgEY;EZsgEb;AACD;EYpgEC;IACC,aAAS;IACT;EZsgED;AACD;EYpgEE,WAAO;EACP,YAAU;EACV;cZsgEW;EYpgEX,cAAA;EACC,YAAW;EACX,YAAW;EZsgEb;AACD;EYpgEG,iBAAgB;EAChB,mBAAgB;EAChB,aAAW;EZsgEZ,kBAAiB;EYpgEjB,2BAAQ;EACP,qBAAiB;EZsgElB,aAAY;EYpgEZ;AZsgEF;EYngEG,mBAAgB;EZqgElB;AACD;EYngEG,gBAAe;EZqgEhB,kBAAiB;EYngEjB,oBAAA;EACC,oBAAmB;EACnB,iBAAgB;EZqgElB;AYngEC;EACC,qBAAW;EACX,kBAAY;EZqgEd;AACD;EACE,aAAY;EYngEX,cAAA;EACC,kBAAc;EACd,oBAAU;EZqgEb;AACD;EYngEI,gBAAA;EALD,YAAA;EZ2gED,sBYrgEc;EZsgEf;AACD;EACE;IYpgEC,aAAA;IACC,kBAAa;IZsgEd;EYlgEA;AZogEH;EACE,eAAc;EYjgEd;AZmgEF;EYjgEG,eAAU;EZmgEZ;AYjgEE;EACC,WAAU;EACV,YAAW;EZmgEd;AYjgEE;EACC,YAAQ;EACR,sBAAiB;EZmgEpB;AACD;EYjgEI,kBAAW;EZmgEb,oBAAmB;EYjgEjB,mBAAA;EACC,qBAAc;EACd,aAAW;EZmgEf;AY//DE;EACC,gBAAc;EACd,kBAAgB;EZigEnB;AY7/DC;EArFD,gBAAA;EZqlEC,kBY//Da;EZggEd;AACD;EACE;IY9/DC,kBAAe;IACf,WAAQ;IACR,eAAM;IACN,kBAAW;IACX,iBAAY;IZggEX,UAAS;IY9/DV,QAAA;IACC,aAAY;IZggEZ,+CAA8C;IY9/D/C;EZggED;IY9/DE,cAAU;IZggEX;EACD;IACE,WAAU;IY5/Dd,YAAA;IAGE;EZ4/DD;;AAED;EACE;IYz/DC,oBAAA;IACC,gBAAS;IZ2/DV;;EAED;IACE,mBAAkB;IYz/DnB;EZ2/DD;IACE,2BAA0B;IY1/D1B;EZ4/DF;IACE,kBAAiB;IAClB;EYz/DD;IACE,mBAAY;IZ2/Db;;EYt/DH;IAEC,cAAA;IZw/DE;EACF;AACD;EACE;IYr/DF,aAAA;IAGE,oBAAA;IZq/DC;EACF;AACD;EYn/DE;IACC,eAAc;IZq/Dd;;EAED;Ia94EF,gBAAoB;IACnB;Ebg5EA;Aa94EA,sHAAmB;Abg5EpB;Ea94EE,iBAAa;Ebg5Ed;Aa74EA;EACC,aAAA;Eb+4EA,eAAc;Ea54Ef;Ab84ED;EACE,2BAA0B;EAC3B;Aaz4EA;EACC,2BAAe;Eb24EhB;;AAED;Eax4EE,iBAAgB;Eb04EjB;AACD;Eax4EE,uBAAsB;EACtB,kBAAe;EACf,kBAAW;EACX,eAAW;Eb04EX,wBAAuB;Eav4ExB,iBAAA;EACC,aFpCI;EX66EJ,iBAAgB;Eat4EjB;Abw4ED;EACE,gBAAe;EAChB;AACD;Ear4EA,gBAAA;Ebu4EC;;AAED,mBAAkB;Aan4EjB;EACC,kBAAW;Ebq4EZ;;AAED;Eal4EA,aAAA;EACC,mBAAW;Ebo4EX;;AAED;Ea/3EC,aAAA;Ebi4EA;;Aa73EA,oBAAA;Abg4ED;EACE,aAAY;EACb;AACD;Ea53EA,mBAAiB;Eb83EhB;;AAED,sBa73EmB;Ab83EnB;EACE,uBAAsB;Ea53EvB,yBAAA;EACC,oBAAa;EACb,wBAAS;Eb83EV;AACD;Ea53EE,eAAc;EACd,WAAS;Eb83ET,0BAAyB;Ea33E1B,wBAAA;EACC,oBAAiB;EACjB,iBAAc;Eb63Ef;AACD;EACE,mBAAkB;Ea13EnB,gBAAA;EACC,kBAAiB;EACjB,wBAAiB;Eb43ElB;Aaz3EA;EACC,mBAAU;Eb23EV,mBAAkB;Eax3EnB;Ab03ED;Eax3EE,YAAU;Eb03EX;AACD;EACE,oBAAmB;Eav3ErB,YAAA;EACC,6BAAU;Eby3EV;;AAED;EACE,YAAW;Eav3Eb,kBAAmB;EAClB,wBAAkB;Eby3ElB;;AAED;Eav3EC,oBAAgB;EAChB,WAAS;EACT,yBAAS;EACT,gBAAU;EACV,kBAAe;EACf,iBAAe;Eby3Ed,WAAU;Eav3EX,YAAA;EACC,iBAAgB;Eby3EhB,oBAAmB;EACpB;Aat3ED;EACC,kBAAW;Ebw3EX;;AAED;Eat3EA,aAAA;EAEC,eAAA;Ebu3EA;;AAED;EACE;IACE,YAAW;Iar3Ed,cAAA;IACC,eAAU;Ibu3ET;;EAED;IACE,YAAW;Iap3Ef,aAAA;IAEC;Ebq3EA;AACD,mBAAkB;AAClB;EACE;Ial3EF,kBAAA;IAEC;Ebm3EA;AACD,mBAAkB;AAClB;Eaj3EC;IACC,YAAU;Ibm3ET;;EAED;Iah3EF,YAAA;IAEC;Ebi3EA;AACD,8BAA6B;AAC7B;Ea/2EC;IACC,mBAAe;Ibi3Ed;;EAED;IACE,iBAAgB;Ia92EpB,oBAAA;IAEC;Eb+2EA;AACD,kBAAiB;AACjB;EACE;Ia52EF,oBAAA;IAEC;Eb62EA;AACD,kBAAiB;AACjB;EACE;Ia12EF,kBAAA;IAEC;Eb22EA;AACD,4BAA2B;AAC3B;Eaz2EC;IACC,aAAY;Ib22EX;;Eax2EF;IACC,4BAAkB;Ib22EjB;;Eax2EF;IACC,oBAAc;Ib22Eb;;EAED;Iaz2ED,gBAAA;IACC,oBAAW;Ib22EV;;EAED;Iaz2ED,aAAA;Ib22EG,iBa12Ee;Ib22EhB;;EAED;;Iax2ED,YAAA;IACC,gBAAY;Ib22EX;;EAED;Iax2EF,kBAAA;IAEC;Eby2EA;AACD,kBax2EY;Aby2EZ;EACE;Iav2ED,iBAAA;Iby2EG,gBax2Ee;Iby2EhB;;EAED;;IcvmFF,aAAA;IACC;Ed0mFA;AcxmFA,kBAAA;Ad0mFD;EcxmFE,oBAAkB;Ed0mFnB;AcvmFA;EACC,YAAQ;EACR,oBAAgB;EdymFjB;AACD;EACE,cAAa;EctmFf,kBAAA;EACC,mBAAa;EdwmFb;;ActmFA;EACC,eAAc;EACd,oBAAgB;EdymFjB;AACD;EctmFA,gBAAA;EACC,kBAAQ;EdwmFR;;AAED;EACE,wBAAuB;EcrmFxB;AdumFD;EACE,qBAAoB;EACrB;AACD;;;EAGE,eAAc;EACf;AACD;;;;;EAKE,iBAAgB;EctmFjB;AdwmFD;EctmFE,kBAAS;EdwmFV;AACD;EctmFE,eAAW;EdwmFX,WAAU;EACV,kBAAiB;EcpmFlB,+BAAI;EACH,iBAAc;EdsmFf;;AAED;EchmFC,oBAAA;EdkmFC,oBAAmB;EACpB;;AAED;;;Ec/lFA,uBAAA;EdmmFE,aAAY;EACb;;AAED;;;Ec/lFC,YAAW;EdmmFX;;AchmFD;EACC,kBAAiB;EdmmFjB;;AchmFD;EACC,mBAAkB;EdmmFlB;;AAED;EACE,oBAAmB;EACpB;AcjmFD;EACC,gBAAc;EdmmFd;;AAED;ECxqFG,gBAAA;EawEF,kBAAW;EdmmFX;;AAED;EACE;IACE,4BAA2B;IAC5B;EchmFH;IAEC,eAAA;IdimFE;EACF;AACD;EACE;Ic/lFC,iBAAY;IdimFZ;Ec9lFD;IdgmFE,iBAAgB;Ic9lFjB,cAAY;IdgmFZ;EACD;;Ic7lFC,cAAW;IdgmFV,qBAAoB;Ic7lFtB,kBAAA;IACC,yBAAkB;Id+lFjB,kBAAiB;IAClB;ECpsFA;Ia0GF,oBAAA;Id6lFE;EACF;AACD;EACE;Ic1lFF,eAAA;IAEC,eAAA;Id2lFE;EACF;AACD;EACE;IczlFA,aAAA;IACC,oBAAW;Id2lFV,oBAAmB;IACpB;EcvlFH;IACC,aAAA;IdylFE;EACF;AACD;EACE;;IervFD,kBAAY;IACZ;EfwvFA;AACD;EACE,cAAa;EervFd,eAAA;EACC,mBAAgB;EfuvFjB;;AAED;EervFE,kBAAiB;EfuvFjB,oBAAmB;EervFpB,iBAAA;EACC,aAAU;EACV,mBAAe;EfuvFhB;AACD;EACE,iBAAgB;EAChB,iBAAgB;EervFlB,cAAA;EACC,mBAAe;EfuvFf;;AAED;EervFA,iBAAc;EACb,gBAAe;EfuvFf;;AAED;EervFC,iBAAa;EfuvFZ,iBAAgB;EervFhB,cAAA;EACA,mBAAe;EACf,qBAAgB;EfuvFjB;AACD;EACE,iBAAgB;EgBvxFjB,wBAAM;EACL,kBAAa;EhByxFd;;AAED;EACE,eAAc;EgBvxFf;AhByxFD;EgBvxFE,iBAAU;EhByxFX;AACD;EgBvxFC,gBAAG;EACF,YAAM;EACN,oBAAkB;EhByxFnB;AACD;EgBvxFE,+EAAkB;EhByxFlB,oBAAmB;EgBxxFnB,YAAA;EACC,aNiVM;EVy8EP,oBAAmB;EgBvxFpB;AhByxFD;EgBvxFE,gBAAa;EhByxFd;AACD;EgBxxFE,gBAAA;EACC,eAAQ;EhB0xFT,wBAAuB;EgBvxFxB;AhByxFD;EACE,iBAAgB;EACjB;AgBrxFA;EACC,eAAY;EhBuxFb;;AgBlxFA;EACC,mBAAU;EhBqxFX;;AAED;EACE,YAAW;EgBnxFZ;AhBqxFD;EACE,qBAAoB;EACrB;AgBlxFD;EACC,oBAAW;EhBoxFX;;AAED;EgBjxFA,aAAA;EACC,+EAAyB;EhBmxFzB;;AgB/wFD;EACC,4BAAgB;EhBkxFhB;;AAED;EgBhxFC,kBAAQ;EACR,oBAAgB;EAChB,qBAAiB;EhBkxFhB,qBAAoB;EgBhxFrB,2BAAA;EACC,sBAAiB;EhBkxFjB,oBAAmB;EgB/wFpB;AhBixFD;EgB/wFE,oBAAU;EhBixFX;AgB/wFA;;EAEC,YAAW;EhBixFZ;AgB/wFA;EACC,iBAAW;EACX,mBAAc;EhBixFf;AACD;EgB/wFE,aAAY;EACZ,gBAAW;EACX,oBAAmB;EACnB,WAAA;EACA,cAAS;EACT,aAAW;EhBixFX,8BAA6B;EAC7B,6CAA4C;EgB7wF7C,gBAAA;EACC,aAAA;EhB+wFD;;AgB3wFD;EACC,qBAAgB;EhB8wFhB;;AgB3wFD;EACC,kBAAY;EhB8wFZ;;AAED;EACE,oBAAmB;EgB5wFrB,uBAAmB;EAClB,aAAW;EhB8wFX;;AAED;EgB3wFA,aAAA;EhB6wFE,iBAAgB;EACjB;;AAED;;EAEE,aAAY;EACZ,iBAAgB;EgB3wFlB,yBAAA;EACC,uBAAc;EhB6wFd;;AAED;EgB3wFA,gBAAgB;EACf,4BAAkB;EhB6wFlB;;AAED;EgB3wFC,oBAAmB;EhB6wFlB,mBAAkB;EgB3wFnB,sBAAO;EACN,oBAAa;EhB6wFb,qBAAoB;EgB3wFrB;AhB6wFD;EACE,eAAc;EgB3wFf;AhB6wFD;EgB3wFE,uBAAe;EhB6wFhB;AACD;EgB3wFC,gBAAA;EACC,iBAAU;EACV,mBAAS;EhB6wFV;AACD;EgB3wFE,oBAAiB;EACjB,WAAS;EACT,UAAS;EhB6wFT,2BAA0B;EAC1B,mBAAkB;EgB1wFpB,gBAAkB;EACjB,YAAA;EhB4wFA;;AAED;EgB1wFC,2BAAW;EACX,iBAAY;EACZ,mBAAkB;EAClB,mBAAgB;EAChB,aAAS;EhB4wFR,qBAAoB;EACpB,oBAAmB;EgB9vFpB,kBAAG;EACF,uBNwKa;EVwlFd;;AAED;EgB9vFE,qBAAS;EhBgwFT,aAAY;EgB7vFb,kBAAG;EACF,gBAAQ;EhB+vFR,WAAU;EgB5vFX;AhB8vFD;EgB5vFE,mBAAiB;EhB8vFlB;AACD;EgB3vFC,oBAAE;EACD,mBAAY;EhB6vFZ,mBAAkB;EgB1vFnB;AhB4vFD;EACE,0BAAyB;EgB3vFzB;AhB6vFF;EACE,kBAAiB;EgB3vFjB;AhB6vFF;EACE,iBAAgB;EgBzvFjB;AhB2vFD;EgBzvFE,kBAAA;EhB2vFD;AACD;EgBzvFE,qBAAA;EACA,yCAA+B;EAC/B,wCAA8B;EhB2vF9B,qCAAoC;EgBzvFpC,oCAAG;EACF,iCAAiB;EACjB,gCAA8B;EhB2vFhC;AACD;EgBzvFG,mBAAA;EACA,qCAA2B;EAC3B,sCAA4B;EhB2vF7B,iCAAgC;EgBzvF/B,kCAAW;EACV,6BAAY;EACZ,8BAA0B;EhB2vF7B;AACD;EACE,cAAa;EgB1vFX,gBAAA;EACC,mBAA0B;EhB4vF7B,iBAAgB;EgBvvFhB;AhByvFF;EgBvvFG,gBAAa;EhByvFf;AACD;EgBvvFG,iBLnPe;EX4+FhB,mBAAkB;EgBtvFlB,WAAA;EACC,kBAAe;EACf,gBAAc;EhBwvFhB;AACD;EACE,kCAAiC;EgBvvFhC,gBAAA;EACC,oBAAgC;EhByvFlC,kBAAiB;EgBrvFjB;AhBuvFF;EACE,qBAAoB;EgBrvFnB;AhBuvFH;EACE,cAAa;EgBnvFb;AhBqvFF;EgBnvFG,eAAa;EhBqvFf;AgBlvFC;EACC,UN4EM;EM3EN,mBAAc;EhBovFhB;AACD;EgBlvFG,gBAAc;EhBovFf,gBAAe;EgBnvFd,oBAAA;EACC,UAAO;EhBqvFT,mBAAkB;EgBjvFlB;AhBmvFF;EgBjvFG,gBAAQ;EhBmvFV;AACD;EgBhvFE,kBAAA;EACC,UAAS;EACT,mBN0DY;EVwrFd;AgBjvFE;EACC,iBAA0B;EhBmvF5B,gBAAe;EgB5uFf;AhB8uFF;EACE,gBAAe;EgB5uFf;AhB8uFF;EACE,6BAA4B;EgBzuF5B;AhB2uFF;EACE,eAAc;EgBvuFf;AhByuFD;EgBv3FE,uBAAQ;EhBy3FT;AACD;EgBv3FE,oBAAW;EA6IX,UAAO;EACP,mCAAY;EhB6uFZ,uCAAsC;EgB3uFtC,+BAAQ;EACP,YAAS;EACT,cAAY;EhB6uFd;AgBzuFA;EACC,cAAA;EACA,mBAAgB;EhB2uFjB;AACD;EgBtuFE,2BAAG;EACF,kBLhVK;EXwjGN,kBAAiB;EgBvuFhB;AhByuFH;EACE,qBAAoB;EgBxuFlB;AhB0uFJ;EACE,gBAAe;EgBruFf;AhBuuFF;EACE,gBAAe;EgBpuFf;AhBsuFF;EgBpuFG,eAAY;EhBsuFd;AgBpuFE;EACC,oBAA+B;EhBsuFjC,cAAa;EgBnuFZ;AhBquFH;EACE,qBAAoB;EgBluFlB;AhBouFJ;EgBluFI,gBAAc;EhBouFjB;AACD;EgBjuFG,aAAA;EACC,gBAAY;EACZ,cAAY;EhBmuFf;AACD;EgBjuFI,cAAW;EACX,kBAAgB;EAChB,mBAAgB;EAChB,qBAAmB;EhBmuFrB,kBAAiB;EgBjuFhB,kBAAA;EA5MD,kBAAU;EACV,qBAAQ;EhBg7FT;AACD;EgB96FE,oBAAW;EhBg7FX,UAAS;EgBjuFT,mCAAO;EACN,uCAAY;EhBmuFb,+BAA8B;EAC/B;AgB9tFD;EACC,cAAY;EhBguFZ;;AAED;EgB9tFC,iBAAO;EACN,qBAAgB;EAChB,oBAAY;EhBguFb;AgB/tFC;EAHD,kBAAO;EhBquFN,cgBluFuC;EhBmuFxC;AACD;EgBjuFC;IACC,aAAa;IhBmuFZ;EgBluFD;AhBouFF;EACE,gCgBruF6C;EhBsuF9C;AACD;EACE;IgBruFD,mBAAI;IACH,+BAAW;IACX;EhBuuFD;AACD;EACE,aAAY;EgBpuFb,mBAAE;EACD,aAAW;EACX,oBAAgB;EhBsuFjB;AACD;EACE,iBAAgB;EgBnuFjB,kBAAM;EACL,kBAAgB;EAChB,eAAa;EhBquFd;AgBluFA;EACC,kBAAe;EACf,kBAAgB;EhBouFjB;AgBluFC;EACC,iBAAgB;EAChB,kBAAiB;EhBouFnB;AACD;EgB/tFA,kBAAA;EACC,mBAAU;EhBiuFV;;AAED;EgB/tFA,YAAA;EACC,oBAAkB;EhBiuFlB;;AAED;EgB/tFC,oBAAY;EACZ,uBAAW;EACX,qBAAY;EACZ,6BAAgC;EAAhC,wBAAgC;EAChC,cAAA;EACA,aAAU;EACV,cAAQ;EACR,qBAAY;EhBiuFX,wBAAuB;EgB/tFxB,YAAA;EACC,iBAAU;EACV,0BAAc;EhBiuFf;AACD;EgB/tFE,oBAAY;EhBiuFZ,gBAAe;EgB9tFhB,aAAA;EACC,aAAO;EACP,cAAa;EhBguFd;AACD;EACE,SAAQ;EgB7tFT,oBAAA;EACC,kBAAa;EhB+tFb,0BAAyB;EgB5tF1B;AhB8tFD;EACE,eAAc;EACf;AgB3tFD;EACC,qBAAe;EhB6tFf;;AgB1tFD;EACC,iBAAe;EhB6tFf;;AAED;EACE,oBAAmB;EACnB,WAAU;EgB3tFZ,oBAAA;EACE,gBN9Ia;EV22Fd;;AgB1tFD;EhB6tFE,gBAAe;EAChB;;AAED;;EgB1tFC,+BNvJc;EVo3Fd;;AAED;EACE,qBAAoB;EACrB;AgB3tFD;EACC,YAAU;EhB6tFV;;AgBztFD;EhB4tFE,qBAAoB;EACrB;;AAED;;EgBztFC,qBNxKc;EVo4Fd;;AgBztFD;EACC,qBAAgC;EhB4tFhC;;AgBztFD;EACC,qBAAkB;EhB4tFlB;;AAED;EgB3tFC,oBAAA;EACC,aAAW;EACX,cAAY;EhB6tFb;AACD;EgB1tFA,aAAA;EACC,cAAS;EhB4tFT;;ACluGE;EeihBD,WAAA;EhBqtFD;;AAED;EACE;IACE,gBAAe;IAChB;EgBjtFD;IACC,oBAAU;IhBmtFV;;EgBjtFA;IACC,YAAW;IhBotFX,oBAAmB;IgBjtFrB;EhBmtFA;IACE,aAAY;IgBjtFd;EhBmtFA;IACE,kBAAiB;IgBjtFlB;EhBmtFD;IgBjtFE,YAAW;IhBmtFZ;EACD;IACE,YAAW;IgBltFX,aAAA;IACC,kCAAW;IACX,iCAAW;IhBotFb;EACD;IgBltFG,aAAY;IACZ,aAAU;IACV,aAAS;IhBotFV,cAAa;IgBhtFb,+BAAQ;IACP,oBAAW;IhBktFZ,WAAU;IACX;EgB5sFD;IACC,aAAY;IhB8sFZ;;EAED;IgB5sFC,cAAY;IhB8sFZ;EACD;IACE,cAAa;ICpxGd,iBAAA;Ie+kBD,kBAAA;IhBwsFC;EACF;AACD;EACE;IgBrsFC,aAAA;IACC,YAAW;IACX,oBAAW;IhBusFZ;EACD;IC/xGC,aAAA;IegmBF,aAAA;IhBksFE;EACF;AACD;EgBhsFC;IACC,sBAAqB;IhBksFpB;;ECvyGA;Ie6mBD,8BAAG;IhB8rFF;EACF;AACD;EACE;IACE,mBAAkB;IACnB;EChzGA;Ie0nBD,gBAAA;IhByrFC;EACF;AACD;EgBtrFC;IACC,iBAAc;IhBwrFb;;EgBprFD;IACC,gBAAe;IhBurFf;;EgBnrFF;IACC,kBAAiB;IhBsrFhB;;EAED;IgBprFD,mBAAA;IACC,sBAAQ;IhBsrFP;;EiBz1GF;IACC,UAAW;IACX;EjB41GD;AiB11GA;EACC,aAAW;EjB41GX,gBAAe;EAChB;AACD;EACE,aAAY;EACb","file":"jetpack-admin.css"}
1
+ {"version":3,"sources":["../scss/_utilities/_grid.scss","jetpack-admin.css","../scss/_utilities/mixins/_breakpoint.scss","../scss/atoms/typography/_typography.scss","../scss/atoms/typography/_variables.scss","../scss/atoms/_media.scss","../scss/atoms/_animations.scss","../scss/atoms/_buttons.scss","../scss/atoms/icons/_automatticons.scss","../scss/atoms/icons/_jetpack.scss","../scss/molecules/_nav-horizontal.scss","../scss/templates/_main.scss","../scss/atoms/colors/_colors.scss","../scss/templates/_settings.scss","../scss/pages/_protect.scss","../scss/pages/_connection.scss","../scss/pages/_manage.scss","../scss/templates/_nux-landing-2015.scss","../scss/_utilities/_clearings.scss"],"names":[],"mappings":"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","file":"jetpack-admin.css"}
css/jetpack-admin.min.css CHANGED
@@ -1,3 +1,3 @@
1
- .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}.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}.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}.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}}.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{display:none}.footer .download-jetpack{margin-bottom:33px}@media (min-width: 1147px){.footer{padding-bottom:35px}}@media (max-width: 1147px){.footer{padding-top:165px;padding-bottom:0}.footer:before{background-size:160% auto}.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 a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#81a844}}@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 (min-width: 782px){.secondary-footer{padding:8px 15px 10px;margin-bottom:30px;border-bottom:1px solid #eee}}@media (min-width: 1147px){.secondary-footer{margin-bottom:0}}@media (max-width: 782px){.secondary-footer{padding:8px 15px 8px;border-bottom:none}}@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}@media (min-width: 782px){.secondary{padding:0 15px 10px 15px;border-bottom:1px solid #eee}}@media (min-width: 1147px){.secondary{padding:0 15px 10px 15px;border-bottom:none}}.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 .squeezer h2{font-size:1em}.jetpack-message h2{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}}.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.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}}.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}}@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}}.manage__icon{width:155px;height:155px;margin:20px auto}.manage-page .manage__description{max-width:600px;text-align:center;font-size:22px;color:#999;margin:20px auto}.manage-page .manage__button{font-size:16px;padding:0 20px;height:40px;line-height:40px}.manage__title .genericon{font-size:38px;color:#81A944}.manage__link{font-size:16px;padding:0 20px;height:40px;line-height:40px;font-weight:normal}.manage__link .genericon{font-size:28px;vertical-align:middle;margin-top:-6px}.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;text-align:center}#jump-start-area .connect-btn{text-align:center}#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;display:inline-block;float:none}.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}.nux-intro h3{background:#81a844;color:#fff;font-weight:600;padding:.75em;margin:0}.nux-intro h4{margin:0 0 2px 0}.nux-intro p{text-align:center;font-size:1.24em;line-height:175%}.nux-intro a{transition:all .4s ease}.nux-intro .j-col{padding:0 0.5em}.nux-intro .j-col:first-of-type{padding-left:0}.nux-intro .j-col:last-of-type{padding-right:0}.nux-intro .nux-in{background:#ececec;-webkit-border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomright:6px;-moz-border-radius-bottomleft:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.nux-intro .nux-in h3{font-size:1.10em;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-left-radius:6px;border-top-right-radius:6px}.nux-intro .nux-in h3 .dashicons{float:right;color:#658435;font-size:1.25em;padding-left:0}.nux-intro .nux-in h3 .dashicons:hover{color:#57722e}.nux-intro .nux-in p{font-size:.9em;line-height:150%;margin:0;text-align:left;color:#686f72}.nux-intro .nux-in .j-row{border-bottom:1px #f9f9f9 solid;padding:5px 0;position:relative;min-height:70px}.nux-intro .nux-in .j-row:hover{background:#e0e0e0}.nux-intro .nux-in .unavailable{opacity:0.5}.nux-intro .nux-in .unavailable .act{display:none}.nux-intro .nux-in .paid{top:4px;margin-left:12px}.nux-intro .nux-in .dashicons{color:#81a844;font-size:1em;position:relative;top:3px;padding-left:6px}.nux-intro .nux-in .dashicons:hover{color:#57722e}.nux-intro .nux-in .dashicons-external{font-size:1.5em;top:2px;padding-left:3px}.nux-intro .nux-in .lmore{font-size:11px;color:#81a844}.nux-intro .nux-in .lmore:hover{color:#57722e}.nux-intro .feat.j-col{padding:10px 2px 10px 10px}.nux-intro .feat .dashicons{display:none}.nux-intro .activated .feat .dashicons{display:inline-block}.nux-intro .act{position:absolute;top:50%;-ms-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);transform:translate(0, -50%);right:8px;float:right}.nux-intro .act.j-col{padding:5px;text-align:right}.nux-intro .module-action{text-transform:uppercase;font-size:.85em;font-weight:600}.nux-intro .wpcom h3{background:#0087be}.nux-intro .wpcom h3 .dashicons{color:#00638b}.nux-intro .wpcom h3 .dashicons:hover{color:#005172}.nux-intro .wpcom .j-col{padding:10px}.nux-intro .wpcom .goto{text-align:center;padding:1em}.nux-intro .wpcom .goto:hover{background:#ececec}.nux-intro .wpcom .goto .j-col{padding:0 5px}.nux-intro .wpcom .goto a{width:100%;padding:.25em;height:auto}.nux-intro .wpcom .goto .button{height:auto;min-height:28px;line-height:18px;white-space:normal;max-width:200px;margin-bottom:0;padding-top:4px;padding-bottom:5px}.nux-intro .wpcom .goto .feat{position:absolute;top:50%;-ms-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);transform:translate(0, -50%)}.nux-intro .nux-foot .j-col{padding:1em}.nux-foot{margin-top:2em;background:#ececec;border-radius:6px}.nux-foot .j-col{min-height:75px;padding:1em}@media (max-width: 650px){.nux-foot .j-col{width:100%}}.nux-foot .j-col+.j-col{border-left:1px #f9f9f9 solid}@media (max-width: 650px){.nux-foot .j-col+.j-col{border-left:none;border-top:1px #f9f9f9 solid}}.nux-foot img{float:left;margin-right:1em;width:75px;border-radius:4px}.nux-foot p{font-size:.9em;text-align:left;font-weight:600;margin-top:0}.nux-foot p+p{font-weight:400;margin-bottom:0}.nux-foot ul{font-size:.9em;margin-bottom:0}.nux-foot ul li{margin-bottom:0;line-height:175%}.form-toggle[type="checkbox"]{opacity:0;position:absolute}.form-toggle__switch{position:relative;display:inline-block;border-radius:12px;-moz-box-sizing:border-box;box-sizing:border-box;padding:2px;width:40px;height:24px;background:#b9b9b9;vertical-align:middle;outline:0;cursor:pointer;transition:all .4s ease}.form-toggle__switch:before,.form-toggle__switch:after{position:relative;display:block;content:"";width:20px;height:20px}.form-toggle__switch:after{left:0;border-radius:50%;background:#fff;transition:all .2s ease}.form-toggle__switch:before{display:none}.form-toggle__switch:hover{background:#bdd597}.form-toggle__label{cursor:pointer}.plugin-action__label{padding-right:5px;top:-1px;position:relative;color:#8e9598}.activated .plugin-action__label{color:#81a844}.form-toggle:focus+.form-toggle__label .form-toggle__switch,.form-toggle:focus:checked+.form-toggle__label .form-toggle__switch{box-shadow:0 0 0 2px #0087be}.form-toggle:checked+.form-toggle__label .form-toggle__switch{background:#81a844}.form-toggle:checked+.form-toggle__label .form-toggle__switch:after{left:16px}.form-toggle:checked:hover+.form-toggle__label .form-toggle__switch{background:#bdd597}.form-toggle:disabled+.form-toggle__label .form-toggle__switch,.form-toggle:disabled:hover+.form-toggle__label .form-toggle__switch{background:#e9eff3}.form-toggle.is-toggling+.form-toggle__label .form-toggle__switch{background:#81a844}.form-toggle.is-toggling:checked+.form-toggle__label .form-toggle__switch{background:#bdd597}.form-toggle.is-compact+.form-toggle__label .form-toggle__switch{border-radius:8px;width:24px;height:16px}.form-toggle.is-compact+.form-toggle__label .form-toggle__switch:before,.form-toggle.is-compact+.form-toggle__label .form-toggle__switch:after{width:12px;height:12px}.form-toggle.is-compact:checked+.form-toggle__label .form-toggle__switch:after{left:8px}@media (max-width: 1147px){.jp-content .landing{padding:0 2em}.jp-content .footer{padding-top:1.5em}.nux-intro .main-col{width:50%;margin-bottom:2em}.nux-intro .main-col.wpcom{width:100%}.nux-intro .main-col+.main-col{padding-right:0}.nux-intro .wpcom{padding:0}.nux-intro .wpcom .j-row{width:50%;float:left;border-bottom:1px #f9f9f9 solid;border-right:1px #f9f9f9 solid}.nux-intro .wpcom .j-row:last-of-type{width:100%;float:none;clear:both;border:none;border-top:1px #f9f9f9 solid;position:relative;top:-1px}.nux-intro .wpcom .goto .feat a{float:left}.nux-foot .j-col{border:none}.nux-foot img{float:right;margin-right:0;margin-left:1em}}@media (max-width: 900px){.nux-intro .main-col{width:100%;padding:0;margin-bottom:2em}.nux-intro .wpcom .j-row{width:100%;float:none}}@media (max-width: 782px){#jumpstart-cta .button-primary{margin:10px 0 5px 0}#jump-start-area .spinner{background-position:50% 35%}}@media (max-width: 600px){.nux-intro h1{font-size:1.75em}.nux-intro p{font-size:1em}}@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}}#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}.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}.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}.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}}.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{display:none}.footer .download-jetpack{margin-bottom:33px}@media (min-width: 1147px){.footer{padding-bottom:35px}}@media (max-width: 1147px){.footer{padding-top:165px;padding-bottom:0}.footer:before{background-size:160% auto}.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 a:hover,.footer nav a:focus,.footer nav a:visited:hover,.footer nav a:visited:focus{color:#81a844}}@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 (min-width: 782px){.secondary-footer{padding:8px 15px 10px;margin-bottom:30px;border-bottom:1px solid #eee}}@media (min-width: 1147px){.secondary-footer{margin-bottom:0}}@media (max-width: 782px){.secondary-footer{padding:8px 15px 8px;border-bottom:none}}@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}@media (min-width: 782px){.secondary{padding:0 15px 10px 15px;border-bottom:1px solid #eee}}@media (min-width: 1147px){.secondary{padding:0 15px 10px 15px;border-bottom:none}}.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 .squeezer h2{font-size:1em}.jetpack-message h2{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'}.jetpack-modules #sitemaps .info a:before{content:'\f507'}@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}}.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.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}}.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}}@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}}.manage__icon{width:155px;height:155px;margin:20px auto}.manage-page .manage__description{max-width:600px;text-align:center;font-size:22px;color:#999;margin:20px auto}.manage-page .manage__button{font-size:16px;padding:0 20px;height:40px;line-height:40px}.manage__title .genericon{font-size:38px;color:#81A944}.manage__link{font-size:16px;padding:0 20px;height:40px;line-height:40px;font-weight:normal}.manage__link .genericon{font-size:28px;vertical-align:middle;margin-top:-6px}.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;text-align:center}#jump-start-area .connect-btn{text-align:center}#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;display:inline-block;float:none}.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}.nux-intro h3{background:#81a844;color:#fff;font-weight:600;padding:.75em;margin:0}.nux-intro h4{margin:0 0 2px 0}.nux-intro p{text-align:center;font-size:1.24em;line-height:175%}.nux-intro a{transition:all .4s ease}.nux-intro .j-col{padding:0 0.5em}.nux-intro .j-col:first-of-type{padding-left:0}.nux-intro .j-col:last-of-type{padding-right:0}.nux-intro .nux-in{background:#ececec;-webkit-border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomright:6px;-moz-border-radius-bottomleft:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.nux-intro .nux-in h3{font-size:1.10em;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-left-radius:6px;border-top-right-radius:6px}.nux-intro .nux-in h3 .dashicons{float:right;color:#658435;font-size:1.25em;padding-left:0}.nux-intro .nux-in h3 .dashicons:hover{color:#57722e}.nux-intro .nux-in p{font-size:.9em;line-height:150%;margin:0;text-align:left;color:#686f72}.nux-intro .nux-in .j-row{border-bottom:1px #f9f9f9 solid;padding:5px 0;position:relative;min-height:70px}.nux-intro .nux-in .j-row:hover{background:#e0e0e0}.nux-intro .nux-in .unavailable{opacity:0.5}.nux-intro .nux-in .unavailable .act{display:none}.nux-intro .nux-in .paid{top:4px;margin-left:12px}.nux-intro .nux-in .dashicons{color:#81a844;font-size:1em;position:relative;top:3px;padding-left:6px}.nux-intro .nux-in .dashicons:hover{color:#57722e}.nux-intro .nux-in .dashicons-external{font-size:1.5em;top:2px;padding-left:3px}.nux-intro .nux-in .lmore{font-size:11px;color:#81a844}.nux-intro .nux-in .lmore:hover{color:#57722e}.nux-intro .feat.j-col{padding:10px 2px 10px 10px}.nux-intro .feat .dashicons{display:none}.nux-intro .activated .feat .dashicons{display:inline-block}.nux-intro .act{position:absolute;top:50%;-ms-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);transform:translate(0, -50%);right:8px;float:right}.nux-intro .act.j-col{padding:5px;text-align:right}.nux-intro .module-action{text-transform:uppercase;font-size:.85em;font-weight:600}.nux-intro .wpcom h3{background:#0087be}.nux-intro .wpcom h3 .dashicons{color:#00638b}.nux-intro .wpcom h3 .dashicons:hover{color:#005172}.nux-intro .wpcom .j-col{padding:10px}.nux-intro .wpcom .goto{text-align:center;padding:1em}.nux-intro .wpcom .goto:hover{background:#ececec}.nux-intro .wpcom .goto .j-col{padding:0 5px}.nux-intro .wpcom .goto a{width:100%;padding:.25em;height:auto}.nux-intro .wpcom .goto .button{height:auto;min-height:28px;line-height:18px;white-space:normal;max-width:200px;margin-bottom:0;padding-top:4px;padding-bottom:5px}.nux-intro .wpcom .goto .feat{position:absolute;top:50%;-ms-transform:translate(0, -50%);-webkit-transform:translate(0, -50%);transform:translate(0, -50%)}.nux-intro .nux-foot .j-col{padding:1em}.nux-foot{margin-top:2em;background:#ececec;border-radius:6px}.nux-foot .j-col{min-height:75px;padding:1em}@media (max-width: 650px){.nux-foot .j-col{width:100%}}.nux-foot .j-col+.j-col{border-left:1px #f9f9f9 solid}@media (max-width: 650px){.nux-foot .j-col+.j-col{border-left:none;border-top:1px #f9f9f9 solid}}.nux-foot .actions{margin-top:1em}.nux-foot a{text-decoration:underline}.nux-foot img{float:right;margin-left:1em;width:75px;border-radius:4px}.nux-foot p{font-size:.9em;text-align:left;font-weight:600;margin-top:0}.nux-foot p+p{font-weight:400;margin-bottom:0}.nux-foot ul{font-size:.9em;margin-bottom:0}.nux-foot ul li{margin-right:.875em;margin-bottom:0;line-height:175%;display:inline-block;vertical-align:middle}.form-toggle[type="checkbox"]{opacity:0;position:absolute}.form-toggle__switch{position:relative;display:inline-block;border-radius:12px;-moz-box-sizing:border-box;box-sizing:border-box;padding:2px;width:40px;height:24px;background:#b9b9b9;vertical-align:middle;outline:0;cursor:pointer;transition:all .4s ease}.form-toggle__switch:before,.form-toggle__switch:after{position:relative;display:block;content:"";width:20px;height:20px}.form-toggle__switch:after{left:0;border-radius:50%;background:#fff;transition:all .2s ease}.form-toggle__switch:before{display:none}.form-toggle__switch:hover{background:#bdd597}.form-toggle__label{cursor:pointer}.plugin-action__label{padding-right:5px;top:-1px;position:relative;color:#8e9598}.activated .plugin-action__label{color:#81a844}.form-toggle:focus+.form-toggle__label .form-toggle__switch,.form-toggle:focus:checked+.form-toggle__label .form-toggle__switch{box-shadow:0 0 0 2px #0087be}.form-toggle:checked+.form-toggle__label .form-toggle__switch{background:#81a844}.form-toggle:checked+.form-toggle__label .form-toggle__switch:after{left:16px}.form-toggle:checked:hover+.form-toggle__label .form-toggle__switch{background:#bdd597}.form-toggle:disabled+.form-toggle__label .form-toggle__switch,.form-toggle:disabled:hover+.form-toggle__label .form-toggle__switch{background:#e9eff3}.form-toggle.is-toggling+.form-toggle__label .form-toggle__switch{background:#81a844}.form-toggle.is-toggling:checked+.form-toggle__label .form-toggle__switch{background:#bdd597}.form-toggle.is-compact+.form-toggle__label .form-toggle__switch{border-radius:8px;width:24px;height:16px}.form-toggle.is-compact+.form-toggle__label .form-toggle__switch:before,.form-toggle.is-compact+.form-toggle__label .form-toggle__switch:after{width:12px;height:12px}.form-toggle.is-compact:checked+.form-toggle__label .form-toggle__switch:after{left:8px}@media (max-width: 1147px){.jp-content .landing{padding:0 2em}.jp-content .footer{padding-top:1.5em}.nux-intro .main-col{width:50%;margin-bottom:2em}.nux-intro .main-col.wpcom{width:100%}.nux-intro .main-col+.main-col{padding-right:0}.nux-intro .wpcom{padding:0}.nux-intro .wpcom .j-row{width:50%;float:left;border-bottom:1px #f9f9f9 solid;border-right:1px #f9f9f9 solid}.nux-intro .wpcom .j-row:last-of-type{width:100%;float:none;clear:both;border:none;border-top:1px #f9f9f9 solid;position:relative;top:-1px}.nux-intro .wpcom .goto .feat a{float:left}.nux-foot .j-col{border:none}}@media (max-width: 900px){.nux-intro .main-col{width:100%;padding:0;margin-bottom:2em}.nux-intro .wpcom .j-row{width:100%;float:none}}@media (max-width: 782px){#jumpstart-cta .button-primary{margin:10px 0 5px 0}#jump-start-area .spinner{background-position:50% 35%}}@media (max-width: 600px){.nux-intro h1{font-size:1.75em}.nux-intro p{font-size:1em}}@media (max-width: 530px){.jp-content .landing{padding:0 .5em}#jump-start-area{padding:0 1em}.jumpstart-message p{padding-right:0}#jumpstart-cta .button-primary{margin:0 0 5px 0;padding-bottom:10px}.footer .a8c-attribution a:after{top:6px}}.nav-horizontal:before,.features:before,.modules:before,.load-more:before,.nav-horizontal:after,.features:after,.modules:after,.load-more:after{content:"";display:table}.nav-horizontal:after,.features:after,.modules:after,.load-more:after{clear:both}
2
 
3
  /*# sourceMappingURL=jetpack-admin.min.css.map */
css/jetpack-admin.min.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../scss/_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/pages/_manage.scss","../scss/templates/_nux-landing-2015.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/pages/_manage.scss","../scss/templates/_nux-landing-2015.scss","../scss/_utilities/_clearings.scss"],"names":[],"mappings":"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","file":"jetpack-admin.min.css"}
css/jetpack-rtl.css CHANGED
@@ -1,4 +1,4 @@
1
  /*!
2
  * Do not modify this file directly. It is concatenated from individual module CSS files.
3
  */
4
- .jp-carousel-wrap *{line-height:inherit}.jp-carousel-overlay{background:#000}div.jp-carousel-fadeaway{position:fixed;bottom:0;z-index:2147483647;width:100%;height:15px}.jp-carousel-next-button span,.jp-carousel-previous-button span{background:url(../modules/carousel/images/arrows.png) center center/200px 126px no-repeat}.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}.contact-form-submission{margin-bottom:4em;padding:1.5em 1em}.contact-form-submission p{margin:0 auto}.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-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}.googleplus1_button .g-plus{vertical-align:top!important}.reddit_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-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:inherit;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}
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}.contact-form-submission{margin-bottom:4em;padding:1.5em 1em}.contact-form-submission p{margin:0 auto}.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-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-skype div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-skype a:before,.sd-social-icon-text .sd-content li.share-skype a:before,.sd-social-text .sd-content ul li.share-skype a:before{content:'\f220'}.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 .skypeShare{width:55px}.googleplus1_button .g-plus{vertical-align:top!important}.reddit_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-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-skype a.sd-button{background:#00AFF0;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%}.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}.jetpack-social-navigation ul{display:block;margin:0 0 1.5em;padding:0}.jetpack-social-navigation li{display:inline-block;margin:0;line-height:1}.jetpack-social-navigation a{border:0;height:1em;text-decoration:none;width:1em}.jetpack-social-navigation a:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:Genericons;font-size:1em;font-style:normal;font-weight:400;height:1em;line-height:1;speak:none;text-decoration:inherit;vertical-align:top;width:1em;content:"\f415"}.jetpack-social-navigation a[href*="codepen.io"]:before{content:"\f216"}.jetpack-social-navigation a[href*="digg.com"]:before{content:"\f221"}.jetpack-social-navigation a[href*="dribbble.com"]:before{content:"\f201"}.jetpack-social-navigation a[href*="dropbox.com"]:before{content:"\f225"}.jetpack-social-navigation a[href*="mailto:"]:before{content:"\f410"}.jetpack-social-navigation a[href*="facebook.com"]:before{content:"\f203"}.jetpack-social-navigation a[href*="flickr.com"]:before{content:"\f211"}.jetpack-social-navigation a[href*="foursquare.com"]:before{content:"\f226"}.jetpack-social-navigation a[href*="github.com"]:before{content:"\f200"}.jetpack-social-navigation a[href*="plus.google.com"]:before{content:"\f206"}.jetpack-social-navigation a[href*="instagram.com"]:before{content:"\f215"}.jetpack-social-navigation a[href*="linkedin.com"]:before{content:"\f208"}.jetpack-social-navigation a[href*="path.com"]:before{content:"\f219"}.jetpack-social-navigation a[href*="pinterest.com"]:before{content:"\f210"}.jetpack-social-navigation a[href*="getpocket.com"]:before{content:"\f224"}.jetpack-social-navigation a[href*="polldaddy.com"]:before{content:"\f217"}.jetpack-social-navigation a[href*="reddit.com"]:before{content:"\f222"}.jetpack-social-navigation a[href$="/feed/"]:before{content:"\f413"}.jetpack-social-navigation a[href*="skype:"]:before{content:"\f220"}.jetpack-social-navigation a[href*="spotify.com"]:before{content:"\f515"}.jetpack-social-navigation a[href*="stumbleupon.com"]:before{content:"\f223"}.jetpack-social-navigation a[href*="tumblr.com"]:before{content:"\f214"}.jetpack-social-navigation a[href*="twitch.tv"]:before{content:"\f516"}.jetpack-social-navigation a[href*="twitter.com"]:before{content:"\f202"}.jetpack-social-navigation a[href*="vimeo.com"]:before{content:"\f212"}.jetpack-social-navigation a[href*="vine.co"]:before{content:"\f517"}.jetpack-social-navigation a[href*="wordpress.com"]:before,.jetpack-social-navigation a[href*="wordpress.org"]:before{content:"\f205"}.jetpack-social-navigation a[href*="youtube.com"]:before{content:"\f213"}.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:inherit;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}.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}.contact-form-submission{margin-bottom:4em;padding:1.5em 1em}.contact-form-submission p{margin:0 auto}.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-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}.googleplus1_button .g-plus{vertical-align:top!important}.reddit_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-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:inherit;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}
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}.contact-form-submission{margin-bottom:4em;padding:1.5em 1em}.contact-form-submission p{margin:0 auto}.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-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-skype div.option.option-smart-off a:before,.sd-social-icon .sd-content ul li.share-skype a:before,.sd-social-icon-text .sd-content li.share-skype a:before,.sd-social-text .sd-content ul li.share-skype a:before{content:'\f220'}.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 .skypeShare{width:55px}.googleplus1_button .g-plus{vertical-align:top!important}.reddit_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-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-skype a.sd-button{background:#00AFF0;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%}.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}.jetpack-social-navigation ul{display:block;margin:0 0 1.5em;padding:0}.jetpack-social-navigation li{display:inline-block;margin:0;line-height:1}.jetpack-social-navigation a{border:0;height:1em;text-decoration:none;width:1em}.jetpack-social-navigation a:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:Genericons;font-size:1em;font-style:normal;font-weight:400;height:1em;line-height:1;speak:none;text-decoration:inherit;vertical-align:top;width:1em;content:"\f415"}.jetpack-social-navigation a[href*="codepen.io"]:before{content:"\f216"}.jetpack-social-navigation a[href*="digg.com"]:before{content:"\f221"}.jetpack-social-navigation a[href*="dribbble.com"]:before{content:"\f201"}.jetpack-social-navigation a[href*="dropbox.com"]:before{content:"\f225"}.jetpack-social-navigation a[href*="mailto:"]:before{content:"\f410"}.jetpack-social-navigation a[href*="facebook.com"]:before{content:"\f203"}.jetpack-social-navigation a[href*="flickr.com"]:before{content:"\f211"}.jetpack-social-navigation a[href*="foursquare.com"]:before{content:"\f226"}.jetpack-social-navigation a[href*="github.com"]:before{content:"\f200"}.jetpack-social-navigation a[href*="plus.google.com"]:before{content:"\f206"}.jetpack-social-navigation a[href*="instagram.com"]:before{content:"\f215"}.jetpack-social-navigation a[href*="linkedin.com"]:before{content:"\f208"}.jetpack-social-navigation a[href*="path.com"]:before{content:"\f219"}.jetpack-social-navigation a[href*="pinterest.com"]:before{content:"\f210"}.jetpack-social-navigation a[href*="getpocket.com"]:before{content:"\f224"}.jetpack-social-navigation a[href*="polldaddy.com"]:before{content:"\f217"}.jetpack-social-navigation a[href*="reddit.com"]:before{content:"\f222"}.jetpack-social-navigation a[href$="/feed/"]:before{content:"\f413"}.jetpack-social-navigation a[href*="skype:"]:before{content:"\f220"}.jetpack-social-navigation a[href*="spotify.com"]:before{content:"\f515"}.jetpack-social-navigation a[href*="stumbleupon.com"]:before{content:"\f223"}.jetpack-social-navigation a[href*="tumblr.com"]:before{content:"\f214"}.jetpack-social-navigation a[href*="twitch.tv"]:before{content:"\f516"}.jetpack-social-navigation a[href*="twitter.com"]:before{content:"\f202"}.jetpack-social-navigation a[href*="vimeo.com"]:before{content:"\f212"}.jetpack-social-navigation a[href*="vine.co"]:before{content:"\f517"}.jetpack-social-navigation a[href*="wordpress.com"]:before,.jetpack-social-navigation a[href*="wordpress.org"]:before{content:"\f205"}.jetpack-social-navigation a[href*="youtube.com"]:before{content:"\f213"}.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:inherit;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.opengraph.php CHANGED
@@ -108,7 +108,17 @@ function jetpack_og_tags() {
108
  }
109
  }
110
  if ( empty( $tags['og:description'] ) ) {
111
- $tags['og:description'] = __('Visit the post for more.', 'jetpack');
 
 
 
 
 
 
 
 
 
 
112
  } else {
113
  // Intentionally not using a filter to prevent pollution. @see https://github.com/Automattic/jetpack/pull/2899#issuecomment-151957382
114
  $tags['og:description'] = wp_kses( trim( convert_chars( wptexturize( $tags['og:description'] ) ) ), array() );
@@ -327,18 +337,13 @@ function jetpack_og_get_image( $width = 200, $height = 200, $max_images = 4 ) {
327
  }
328
  }
329
 
330
- // Third fall back, Site Icon
331
- if ( empty( $image ) && ( function_exists( 'jetpack_has_site_icon' ) && jetpack_has_site_icon() ) ) {
332
- $image['src'] = jetpack_site_icon_url( null, '512' );
333
  $image['width'] = '512';
334
  $image['height'] = '512';
335
  }
336
 
337
- // Fourth fall back, Core Site Icon. Added in WP 4.3.
338
- if ( empty( $image ) && ( function_exists( 'has_site_icon') && has_site_icon() ) ) {
339
- $image['src'] = get_site_icon_url( null, '512' );
340
- }
341
-
342
  // Finally fall back, blank image
343
  if ( empty( $image ) ) {
344
  /**
108
  }
109
  }
110
  if ( empty( $tags['og:description'] ) ) {
111
+ /**
112
+ * Filter the fallback `og:description` used when no excerpt information is provided.
113
+ *
114
+ * @module sharedaddy, publicize
115
+ *
116
+ * @since 3.9.0
117
+ *
118
+ * @param string $var Fallback og:description. Default is translated `Visit the post for more'.
119
+ * @param object $data Post object for the current post.
120
+ */
121
+ $tags['og:description'] = apply_filters( 'jetpack_open_graph_fallback_description', __( 'Visit the post for more.', 'jetpack' ), $data );
122
  } else {
123
  // Intentionally not using a filter to prevent pollution. @see https://github.com/Automattic/jetpack/pull/2899#issuecomment-151957382
124
  $tags['og:description'] = wp_kses( trim( convert_chars( wptexturize( $tags['og:description'] ) ) ), array() );
337
  }
338
  }
339
 
340
+ // Third fall back, Core Site Icon. Added in WP 4.3.
341
+ if ( empty( $image ) && ( function_exists( 'has_site_icon') && has_site_icon() ) ) {
342
+ $image['src'] = get_site_icon_url( 512 );
343
  $image['width'] = '512';
344
  $image['height'] = '512';
345
  }
346
 
 
 
 
 
 
347
  // Finally fall back, blank image
348
  if ( empty( $image ) ) {
349
  /**
functions.photon.php CHANGED
@@ -39,7 +39,7 @@ function jetpack_photon_url( $image_url, $args = array(), $scheme = null ) {
39
  * @param array|string $args Array of Photon arguments.
40
  * @param string|null $scheme Image scheme. Default to null.
41
  */
42
- $image_url = apply_filters( 'jetpack_photon_pre_image_url', $image_url, $args, $scheme );
43
  /**
44
  * Filter the original Photon image parameters before Photon is applied to an image.
45
  *
@@ -51,7 +51,7 @@ function jetpack_photon_url( $image_url, $args = array(), $scheme = null ) {
51
  * @param string $image_url Image URL.
52
  * @param string|null $scheme Image scheme. Default to null.
53
  */
54
- $args = apply_filters( 'jetpack_photon_pre_args', $args, $image_url, $scheme );
55
 
56
  if ( empty( $image_url ) )
57
  return $image_url;
@@ -62,6 +62,10 @@ function jetpack_photon_url( $image_url, $args = array(), $scheme = null ) {
62
  if ( ! is_array( $image_url_parts ) || empty( $image_url_parts['host'] ) || empty( $image_url_parts['path'] ) )
63
  return $image_url;
64
 
 
 
 
 
65
  if ( is_array( $args ) ){
66
  // Convert values that are arrays into strings
67
  foreach ( $args as $arg => $value ) {
39
  * @param array|string $args Array of Photon arguments.
40
  * @param string|null $scheme Image scheme. Default to null.
41
  */
42
+ $image_url = apply_filters( 'jetpack_photon_pre_image_url', $image_url, $args, $scheme );
43
  /**
44
  * Filter the original Photon image parameters before Photon is applied to an image.
45
  *
51
  * @param string $image_url Image URL.
52
  * @param string|null $scheme Image scheme. Default to null.
53
  */
54
+ $args = apply_filters( 'jetpack_photon_pre_args', $args, $image_url, $scheme );
55
 
56
  if ( empty( $image_url ) )
57
  return $image_url;
62
  if ( ! is_array( $image_url_parts ) || empty( $image_url_parts['host'] ) || empty( $image_url_parts['path'] ) )
63
  return $image_url;
64
 
65
+ if ( isset( $image_url_parts['scheme'] ) && 'https' == $image_url_parts['scheme'] ) {
66
+ $args['ssl'] = '1';
67
+ }
68
+
69
  if ( is_array( $args ) ){
70
  // Convert values that are arrays into strings
71
  foreach ( $args as $arg => $value ) {
jetpack.php CHANGED
@@ -2,19 +2,19 @@
2
 
3
  /*
4
  * Plugin Name: Jetpack by WordPress.com
5
- * Plugin URI: http://jetpack.me
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.8.3
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.2' );
16
 
17
- define( 'JETPACK__VERSION', '3.8.3' );
18
  define( 'JETPACK_MASTER_USER', true );
19
  define( 'JETPACK__API_VERSION', 1 );
20
  define( 'JETPACK__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
@@ -25,6 +25,7 @@ defined( 'JETPACK_CLIENT__HTTPS' ) or define( 'JETPACK_CLIENT__HTTPS',
25
  defined( 'JETPACK__GLOTPRESS_LOCALES_PATH' ) or define( 'JETPACK__GLOTPRESS_LOCALES_PATH', JETPACK__PLUGIN_DIR . 'locales.php' );
26
  defined( 'JETPACK__API_BASE' ) or define( 'JETPACK__API_BASE', 'https://jetpack.wordpress.com/jetpack.' );
27
  defined( 'JETPACK_PROTECT__API_HOST' ) or define( 'JETPACK_PROTECT__API_HOST', 'https://api.bruteprotect.com/' );
 
28
 
29
  // @todo: Abstract out the admin functions, and only include them if is_admin()
30
  // @todo: Only include things like class.jetpack-sync.php if we're connected.
@@ -48,6 +49,8 @@ require_once( JETPACK__PLUGIN_DIR . 'functions.compat.php' );
48
  require_once( JETPACK__PLUGIN_DIR . 'functions.gallery.php' );
49
  require_once( JETPACK__PLUGIN_DIR . 'require-lib.php' );
50
  require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-autoupdate.php' );
 
 
51
 
52
  if ( is_admin() ) {
53
  require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-admin.php' );
@@ -70,7 +73,7 @@ add_filter( 'is_jetpack_site', '__return_true' );
70
  /**
71
  * Add an easy way to photon-ize a URL that is safe to call even if Jetpack isn't active.
72
  *
73
- * See: http://jetpack.me/2013/07/11/photon-and-themes/
74
  */
75
  if ( Jetpack::is_module_active( 'photon' ) ) {
76
  add_filter( 'jetpack_photon_url', 'jetpack_photon_url', 10, 3 );
2
 
3
  /*
4
  * Plugin Name: Jetpack by WordPress.com
5
+ * Plugin URI: http://jetpack.com
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.9.7
9
+ * Author URI: http://jetpack.com
10
  * License: GPL2+
11
  * Text Domain: jetpack
12
  * Domain Path: /languages/
13
  */
14
 
15
+ define( 'JETPACK__MINIMUM_WP_VERSION', '4.3' );
16
 
17
+ define( 'JETPACK__VERSION', '3.9.7' );
18
  define( 'JETPACK_MASTER_USER', true );
19
  define( 'JETPACK__API_VERSION', 1 );
20
  define( 'JETPACK__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
25
  defined( 'JETPACK__GLOTPRESS_LOCALES_PATH' ) or define( 'JETPACK__GLOTPRESS_LOCALES_PATH', JETPACK__PLUGIN_DIR . 'locales.php' );
26
  defined( 'JETPACK__API_BASE' ) or define( 'JETPACK__API_BASE', 'https://jetpack.wordpress.com/jetpack.' );
27
  defined( 'JETPACK_PROTECT__API_HOST' ) or define( 'JETPACK_PROTECT__API_HOST', 'https://api.bruteprotect.com/' );
28
+ defined( 'JETPACK__WPCOM_JSON_API_HOST' ) or define( 'JETPACK__WPCOM_JSON_API_HOST', 'public-api.wordpress.com' );
29
 
30
  // @todo: Abstract out the admin functions, and only include them if is_admin()
31
  // @todo: Only include things like class.jetpack-sync.php if we're connected.
49
  require_once( JETPACK__PLUGIN_DIR . 'functions.gallery.php' );
50
  require_once( JETPACK__PLUGIN_DIR . 'require-lib.php' );
51
  require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-autoupdate.php' );
52
+ require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-tracks.php' );
53
+ require_once( JETPACK__PLUGIN_DIR . 'modules/module-headings.php');
54
 
55
  if ( is_admin() ) {
56
  require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-admin.php' );
73
  /**
74
  * Add an easy way to photon-ize a URL that is safe to call even if Jetpack isn't active.
75
  *
76
+ * See: http://jetpack.com/2013/07/11/photon-and-themes/
77
  */
78
  if ( Jetpack::is_module_active( 'photon' ) ) {
79
  add_filter( 'jetpack_photon_url', 'jetpack_photon_url', 10, 3 );
json-endpoints.php CHANGED
@@ -33,6 +33,7 @@ require_once( $json_endpoints_dir . 'class.wpcom-json-api-get-taxonomies-endpoin
33
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-get-taxonomy-endpoint.php' );
34
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-list-comments-endpoint.php' );
35
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-list-media-endpoint.php' );
 
36
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-list-posts-endpoint.php' );
37
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-list-roles-endpoint.php' );
38
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-list-users-endpoint.php' );
@@ -40,12 +41,10 @@ require_once( $json_endpoints_dir . 'class.wpcom-json-api-site-user-endpoint.php
40
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-update-comment-endpoint.php' );
41
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-update-media-endpoint.php' );
42
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-update-post-endpoint.php' );
43
- require_once( $json_endpoints_dir . 'class.wpcom-json-api-update-user-endpoint.php' );
44
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-update-taxonomy-endpoint.php' );
45
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-update-user-endpoint.php' );
46
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-upload-media-endpoint.php' );
47
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-site-settings-endpoint.php' );
48
- require_once( $json_endpoints_dir . 'class.wpcom-json-api-publicize-endpoint.php' );
49
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-sharing-buttons-endpoint.php' );
50
 
51
  // **********
@@ -115,7 +114,7 @@ new WPCOM_JSON_API_GET_Site_Endpoint( array(
115
 
116
  new WPCOM_JSON_API_GET_Post_Counts_V1_1_Endpoint( array(
117
  'description' => 'Get number of posts in the post type groups by post status',
118
- 'group' => '__do_not_document',
119
  'stat' => 'sites:X:post-counts:X',
120
  'force' => 'wpcom',
121
  'method' => 'GET',
@@ -183,7 +182,7 @@ new WPCOM_JSON_API_List_Page_Templates_Endpoint( array(
183
 
184
  new WPCOM_JSON_API_List_Post_Types_Endpoint( array (
185
  'description' => 'Get a list of post types available for a site.',
186
- 'group' => '__do_not_document',
187
  'stat' => 'sites:X:post-types',
188
 
189
  'method' => 'GET',
@@ -1215,6 +1214,7 @@ new WPCOM_JSON_API_Get_Media_v1_1_Endpoint( array(
1215
  'ID' => '(int) The ID of the media item',
1216
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
1217
  'post_ID' => '(int) ID of the post this media is attached to',
 
1218
  'URL' => '(string) URL to the file',
1219
  'guid' => '(string) Unique identifier',
1220
  'file' => '(string) Filename',
@@ -1379,6 +1379,7 @@ new WPCOM_JSON_API_Update_Media_v1_1_Endpoint( array(
1379
  'ID' => '(int) The ID of the media item',
1380
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
1381
  'post_ID' => '(int) ID of the post this media is attached to',
 
1382
  'URL' => '(string) URL to the file',
1383
  'guid' => '(string) Unique identifier',
1384
  'file' => '(string) File name',
@@ -1461,6 +1462,7 @@ new WPCOM_JSON_API_Delete_Media_v1_1_Endpoint( array(
1461
  'ID' => '(int) The ID of the media item',
1462
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
1463
  'post_ID' => '(int) ID of the post this media is attached to',
 
1464
  'URL' => '(string) URL to the file',
1465
  'guid' => '(string) Unique identifier',
1466
  'file' => '(string) File name',
@@ -1554,7 +1556,6 @@ new WPCOM_JSON_API_Update_Comment_Endpoint( array(
1554
  ),
1555
 
1556
  'pass_wpcom_user_details' => true,
1557
- 'can_use_user_details_instead_of_blog_membership' => true,
1558
 
1559
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/posts/843/replies/new/',
1560
  'example_request_data' => array(
@@ -1586,7 +1587,6 @@ new WPCOM_JSON_API_Update_Comment_Endpoint( array(
1586
  ),
1587
 
1588
  'pass_wpcom_user_details' => true,
1589
- 'can_use_user_details_instead_of_blog_membership' => true,
1590
 
1591
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/comments/29/replies/new',
1592
  'example_request_data' => array(
@@ -1690,7 +1690,7 @@ new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
1690
  'search' => '(string) Limit response to include only categories whose names or slugs match the provided search query.',
1691
  'order' => array(
1692
  'ASC' => 'Return categories in ascending order.',
1693
- 'DESC' => 'Return categories in decending order.',
1694
  ),
1695
  'order_by' => array(
1696
  'name' => 'Order by the name of each category.',
@@ -1720,7 +1720,7 @@ new WPCOM_JSON_API_Get_Taxonomies_Endpoint( array(
1720
  'search' => '(string) Limit response to include only tags whose names or slugs match the provided search query.',
1721
  'order' => array(
1722
  'ASC' => 'Return tags in ascending order.',
1723
- 'DESC' => 'Return tags in decending order.',
1724
  ),
1725
  'order_by' => array(
1726
  'name' => 'Order by the name of each tag.',
@@ -1966,8 +1966,8 @@ new WPCOM_JSON_API_List_Users_Endpoint( array(
1966
  'authors_only' => '(bool) Set to true to fetch authors only',
1967
  'type' => "(string) Specify the post type to query authors for. Only works when combined with the `authors_only` flag. Defaults to 'post'. Post types besides post and page need to be whitelisted using the <code>rest_api_allowed_post_types</code> filter.",
1968
  'search' => '(string) Find matching users.',
1969
- 'search_columns' => "(array) Specify which columns to check for matching users. Can be any of 'ID', 'user_login', 'user_email', 'user_url', 'user_nicename', and 'display_name'. Only works when combined with `search` parameter. Default is [ 'user_login', 'user_nicename' ]",
1970
- 'role' => "(string) Specify a specific user role to fetch.",
1971
  ),
1972
 
1973
  'response_format' => array(
@@ -2007,15 +2007,15 @@ new WPCOM_JSON_API_List_Users_Endpoint( array(
2007
  ) );
2008
 
2009
  new WPCOM_JSON_API_Update_User_Endpoint( array(
2010
- 'description' => 'Delete a user of a site.',
2011
- 'group' => '__do_not_document',
2012
  'stat' => 'users:delete',
2013
 
2014
  'method' => 'POST',
2015
  'path' => '/sites/%s/users/%d/delete',
2016
  'path_labels' => array(
2017
- '$site' => '(int|string) Site ID or domain',
2018
- '$user_ID' => '(int) User ID'
2019
  ),
2020
 
2021
  'request_format' => array(
@@ -2034,93 +2034,6 @@ new WPCOM_JSON_API_Update_User_Endpoint( array(
2034
  )
2035
  ) );
2036
 
2037
- new WPCOM_JSON_API_Site_User_Endpoint( array(
2038
- 'description' => 'Get details of a user of a site by ID.',
2039
- 'group' => '__do_not_document', //'users'
2040
- 'stat' => 'sites:1:user',
2041
- 'method' => 'GET',
2042
- 'path' => '/sites/%s/users/%d',
2043
- 'path_labels' => array(
2044
- '$site' => '(int|string) Site ID or domain',
2045
- '$user_id' => '(int) User ID',
2046
- ),
2047
- 'response_format' => WPCOM_JSON_API_Site_User_Endpoint::$user_format,
2048
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/user/23',
2049
- 'example_request_data' => array(
2050
- 'headers' => array(
2051
- 'authorization' => 'Bearer YOUR_API_TOKEN'
2052
- ),
2053
- ),
2054
- 'example_response' => '{
2055
- "ID": 18342963,
2056
- "login": "binarysmash"
2057
- "email": false,
2058
- "name": "binarysmash",
2059
- "URL": "http:\/\/binarysmash.wordpress.com",
2060
- "avatar_URL": "http:\/\/0.gravatar.com\/avatar\/a178ebb1731d432338e6bb0158720fcc?s=96&d=identicon&r=G",
2061
- "profile_URL": "http:\/\/en.gravatar.com\/binarysmash",
2062
- "roles": [ "administrator" ]
2063
- }'
2064
- ) );
2065
-
2066
- new WPCOM_JSON_API_Site_User_Endpoint( array(
2067
- 'description' => 'Get details of a user of a site by login.',
2068
- 'group' => '__do_not_document', //'users'
2069
- 'stat' => 'sites:1:user',
2070
- 'method' => 'GET',
2071
- 'path' => '/sites/%s/users/login:%s',
2072
- 'path_labels' => array(
2073
- '$site' => '(int|string) Site ID or domain',
2074
- '$user_id' => '(string) User login',
2075
- ),
2076
- 'response_format' => WPCOM_JSON_API_Site_User_Endpoint::$user_format,
2077
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/user/login:binarysmash',
2078
- 'example_request_data' => array(
2079
- 'headers' => array(
2080
- 'authorization' => 'Bearer YOUR_API_TOKEN'
2081
- ),
2082
- ),
2083
- 'example_response' => '{
2084
- "ID": 18342963,
2085
- "login": "binarysmash"
2086
- "email": false,
2087
- "name": "binarysmash",
2088
- "URL": "http:\/\/binarysmash.wordpress.com",
2089
- "avatar_URL": "http:\/\/0.gravatar.com\/avatar\/a178ebb1731d432338e6bb0158720fcc?s=96&d=identicon&r=G",
2090
- "profile_URL": "http:\/\/en.gravatar.com\/binarysmash",
2091
- "roles": [ "administrator" ]
2092
- }'
2093
- ) );
2094
-
2095
- new WPCOM_JSON_API_Site_User_Endpoint( array(
2096
- 'description' => 'Update details of a users of a site.',
2097
- 'group' => '__do_not_document', //'users'
2098
- 'stat' => 'sites:1:user',
2099
- 'method' => 'POST',
2100
- 'path' => '/sites/%s/users/%d',
2101
- 'path_labels' => array(
2102
- '$site' => '(int|string) Site ID or domain',
2103
- '$user_id' => '(int) User ID',
2104
- ),
2105
- 'request_format' => WPCOM_JSON_API_Site_User_Endpoint::$user_format,
2106
- 'response_format' => WPCOM_JSON_API_Site_User_Endpoint::$user_format,
2107
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/user/23',
2108
- 'example_request_data' => array(
2109
- 'headers' => array(
2110
- 'authorization' => 'Bearer YOUR_API_TOKEN'
2111
- ),
2112
- 'body' => array(
2113
- 'roles' => array(
2114
- array(
2115
- 'administrator',
2116
- )
2117
- ),
2118
- 'first_name' => 'Rocco',
2119
- 'last_name' => 'Tripaldi',
2120
- )
2121
- ),
2122
- ) );
2123
-
2124
  new WPCOM_JSON_API_List_Invites_Endpoint( array(
2125
  'description' => 'List the invites of a site.',
2126
  'group' => '__do_not_document',
@@ -2152,59 +2065,6 @@ new WPCOM_JSON_API_List_Invites_Endpoint( array(
2152
  'authorization' => 'Bearer YOUR_API_TOKEN'
2153
  ),
2154
  ),
2155
- 'example_response' => '{
2156
- "ID": 18342963,
2157
- "login": "binarysmash"
2158
- "email": false,
2159
- "name": "binarysmash",
2160
- "URL": "http:\/\/binarysmash.wordpress.com",
2161
- "avatar_URL": "http:\/\/0.gravatar.com\/avatar\/a178ebb1731d432338e6bb0158720fcc?s=96&d=identicon&r=G",
2162
- "profile_URL": "http:\/\/en.gravatar.com\/binarysmash",
2163
- "roles": [ "administrator" ]
2164
- }'
2165
- ) );
2166
-
2167
- new WPCOM_JSON_API_Update_Invites_Endpoint( array(
2168
- 'description' => 'Delete an invite for a user to join a site.',
2169
- 'group' => '__do_not_document',
2170
- 'stat' => 'invites:1:delete',
2171
- 'method' => 'POST',
2172
- 'path' => '/sites/%s/invites/%s/delete',
2173
- 'path_labels' => array(
2174
- '$site' => '(int|string) Site ID or domain',
2175
- '$invite_id' => '(string) The ID of the invite'
2176
- ),
2177
- 'response_format' => array(
2178
- 'invite_key' => '(string) Identifier for the deleted invite',
2179
- 'deleted' => '(bool) Was the invitation removed?'
2180
- ),
2181
-
2182
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/invites/123523562/delete',
2183
-
2184
- 'example_request_data' => array(
2185
- 'headers' => array( 'authorization' => 'Bearer YOUR_API_TOKEN' ),
2186
- ),
2187
- ) );
2188
-
2189
- new WPCOM_JSON_API_Update_Invites_Endpoint( array(
2190
- 'description' => 'Resend invitation for a user to join a site.',
2191
- 'group' => '__do_not_document',
2192
- 'stat' => 'invites:1',
2193
- 'method' => 'POST',
2194
- 'path' => '/sites/%s/invites/%s',
2195
- 'path_labels' => array(
2196
- '$site' => '(int|string) Site ID or domain',
2197
- '$invite_id' => '(string) The ID of the invite'
2198
- ),
2199
- 'response_format' => array(
2200
- 'result' => '(bool) Was the invitation resent?'
2201
- ),
2202
-
2203
- 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/invites/123523562',
2204
-
2205
- 'example_request_data' => array(
2206
- 'headers' => array( 'authorization' => 'Bearer YOUR_API_TOKEN' ),
2207
- ),
2208
  ) );
2209
 
2210
  new WPCOM_JSON_API_Site_User_Endpoint( array(
@@ -2238,13 +2098,13 @@ new WPCOM_JSON_API_Site_User_Endpoint( array(
2238
 
2239
  new WPCOM_JSON_API_Site_User_Endpoint( array(
2240
  'description' => 'Get details of a user of a site by login.',
2241
- 'group' => '__do_not_document', //'users'
2242
  'stat' => 'sites:1:user',
2243
  'method' => 'GET',
2244
  'path' => '/sites/%s/users/login:%s',
2245
  'path_labels' => array(
2246
- '$site' => '(int|string) Site ID or domain',
2247
- '$user_id' => '(string) User login',
2248
  ),
2249
  'response_format' => WPCOM_JSON_API_Site_User_Endpoint::$user_format,
2250
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/user/login:binarysmash',
@@ -2266,14 +2126,14 @@ new WPCOM_JSON_API_Site_User_Endpoint( array(
2266
  ) );
2267
 
2268
  new WPCOM_JSON_API_Site_User_Endpoint( array(
2269
- 'description' => 'Update details of a users of a site.',
2270
- 'group' => '__do_not_document', //'users'
2271
  'stat' => 'sites:1:user',
2272
  'method' => 'POST',
2273
  'path' => '/sites/%s/users/%d',
2274
  'path_labels' => array(
2275
- '$site' => '(int|string) Site ID or domain',
2276
- '$user_id' => '(int) User ID',
2277
  ),
2278
  'request_format' => WPCOM_JSON_API_Site_User_Endpoint::$user_format,
2279
  'response_format' => WPCOM_JSON_API_Site_User_Endpoint::$user_format,
@@ -2331,7 +2191,7 @@ new WPCOM_JSON_API_Update_Invites_Endpoint( array(
2331
  'group' => '__do_not_document',
2332
  'stat' => 'invites:1',
2333
  'method' => 'POST',
2334
- 'path' => '/sites/%s/invites/%s',
2335
  'path_labels' => array(
2336
  '$site' => '(int|string) Site ID or domain',
2337
  '$invite_id' => '(string) The ID of the invite'
@@ -2435,81 +2295,13 @@ new WPCOM_JSON_API_Site_Settings_Endpoint( array(
2435
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/settings?pretty=1',
2436
  ) );
2437
 
2438
- /**
2439
- * Publicize Endpoints
2440
- */
2441
-
2442
- new WPCOM_JSON_API_Get_Connections_Endpoint( array(
2443
- 'description' => 'Get a list of a site\'s current Publicize connections to third-party services for the current user (personal or shared).',
2444
- 'group' => 'Publicize',
2445
- 'stat' => 'connections',
2446
- 'method' => 'GET',
2447
- 'path' => '/sites/%s/connections/',
2448
- 'path_labels' => array(
2449
- '$site' => '(int|string) Site ID or domain',
2450
- ),
2451
- 'query_parameters' => array(
2452
- 'service' => "(string) Get Publicize connections for a specific service only. Default is 'all' but you can enter 'facebook', 'twitter', etc."
2453
- ),
2454
- 'response_format' => array(
2455
- 'connections' => '(array:object) List of Publicize connections'
2456
- )
2457
- ) );
2458
-
2459
- new WPCOM_JSON_API_Get_Connection_Endpoint( array(
2460
- 'description' => 'Get information about a specific Publicize connection.',
2461
- 'group' => 'Publicize',
2462
- 'stat' => 'connections:1',
2463
- 'method' => 'GET',
2464
- 'path' => '/sites/%s/connections/%d',
2465
- 'path_labels' => array(
2466
- '$site' => '(int|string) Site ID or domain',
2467
- '$connection_id' => '(int) The ID of the Publicize connection',
2468
- ),
2469
- 'response_format' => array(
2470
- 'ID' => '(int) Identifier for the Publicize connection',
2471
- 'token_ID' => '(int) Identifier for the Keyring token',
2472
- 'conn_ID' => '(int) Identifier for the Publicize connection',
2473
- 'site_ID' => '(int) Identifier for the Site',
2474
- 'user_ID' => '(int) Identifier for the Publicize connection user, or 0 if the connection is shared',
2475
- 'shared' => '(bool) Is this connection specific to the current user, or a shared one for the site?',
2476
- 'service' => '(string) An identifier for the type of service (facebook, linkedin, path, tumblr, etc)',
2477
- 'label' => '(string) Formatted nicename for the service.',
2478
- 'issued' => '(ISO 8601 datetime) When the conncetion was created',
2479
- 'expires' => '(ISO 8601 datetime) When the connection expires and needs to be refreshed',
2480
- 'external_ID' => '(string) An identifier for the user on the third-party service',
2481
- 'external_name' => '(string) Usually a username or login name.',
2482
- 'external_display' => '(string) How the user prefers their name to be displayed on the third-party service.',
2483
- 'URL' => '(string|null) URL to the user\'s profile. NULL if there is no URL to link to.',
2484
- 'status' => '(string) The current status of the connection. "ok" for connections with no problems, and "broken" for connections that need fixed.',
2485
- 'refresh_url' => '(string) The URL to refresh a token if it is broken.',
2486
- 'meta' => '(object) Extra and optional metadata for the current Publicize connection',
2487
- )
2488
- ) );
2489
-
2490
- new WPCOM_JSON_API_Delete_Connection_Endpoint( array(
2491
- 'description' => 'Delete a publicize connection.',
2492
- 'group' => 'Publicize',
2493
- 'stat' => 'connections:1:delete',
2494
- 'method' => 'POST',
2495
- 'path' => '/sites/%s/connections/%d/delete',
2496
- 'path_labels' => array(
2497
- '$site' => '(int|string) Site ID or domain',
2498
- '$connection_id' => 'The ID of the connection',
2499
- ),
2500
- 'response_format' => array(
2501
- 'ID' => '(int) Identifier for the connection',
2502
- 'deleted' => '(bool) Confirmation that the connection has been removed'
2503
- )
2504
- ) );
2505
-
2506
  /**
2507
  * Sharing Button Endpoints
2508
  */
2509
 
2510
  new WPCOM_JSON_API_Get_Sharing_Buttons_Endpoint( array(
2511
  'description' => 'Get a list of a site\'s sharing buttons.',
2512
- 'group' => '__do_not_document',
2513
  'stat' => 'sharing-buttons',
2514
  'method' => 'GET',
2515
  'path' => '/sites/%s/sharing-buttons/',
@@ -2582,7 +2374,7 @@ new WPCOM_JSON_API_Get_Sharing_Button_Endpoint( array(
2582
 
2583
  new WPCOM_JSON_API_Update_Sharing_Buttons_Endpoint( array(
2584
  'description' => 'Edit all sharing buttons for a site.',
2585
- 'group' => '__do_not_document',
2586
  'stat' => 'sharing-buttons:X:POST',
2587
  'method' => 'POST',
2588
  'path' => '/sites/%s/sharing-buttons',
33
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-get-taxonomy-endpoint.php' );
34
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-list-comments-endpoint.php' );
35
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-list-media-endpoint.php' );
36
+ require_once( $json_endpoints_dir . 'class.wpcom-json-api-list-post-types-endpoint.php' );
37
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-list-posts-endpoint.php' );
38
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-list-roles-endpoint.php' );
39
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-list-users-endpoint.php' );
41
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-update-comment-endpoint.php' );
42
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-update-media-endpoint.php' );
43
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-update-post-endpoint.php' );
 
44
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-update-taxonomy-endpoint.php' );
45
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-update-user-endpoint.php' );
46
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-upload-media-endpoint.php' );
47
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-site-settings-endpoint.php' );
 
48
  require_once( $json_endpoints_dir . 'class.wpcom-json-api-sharing-buttons-endpoint.php' );
49
 
50
  // **********
114
 
115
  new WPCOM_JSON_API_GET_Post_Counts_V1_1_Endpoint( array(
116
  'description' => 'Get number of posts in the post type groups by post status',
117
+ 'group' => 'sites',
118
  'stat' => 'sites:X:post-counts:X',
119
  'force' => 'wpcom',
120
  'method' => 'GET',
182
 
183
  new WPCOM_JSON_API_List_Post_Types_Endpoint( array (
184
  'description' => 'Get a list of post types available for a site.',
185
+ 'group' => 'sites',
186
  'stat' => 'sites:X:post-types',
187
 
188
  'method' => 'GET',
1214
  'ID' => '(int) The ID of the media item',
1215
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
1216
  'post_ID' => '(int) ID of the post this media is attached to',
1217
+ 'author_ID' => '(int) ID of the user who uploaded the media',
1218
  'URL' => '(string) URL to the file',
1219
  'guid' => '(string) Unique identifier',
1220
  'file' => '(string) Filename',
1379
  'ID' => '(int) The ID of the media item',
1380
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
1381
  'post_ID' => '(int) ID of the post this media is attached to',
1382
+ 'author_ID' => '(int) ID of the user who uploaded the media',
1383
  'URL' => '(string) URL to the file',
1384
  'guid' => '(string) Unique identifier',
1385
  'file' => '(string) File name',
1462
  'ID' => '(int) The ID of the media item',
1463
  'date' => '(ISO 8601 datetime) The date the media was uploaded',
1464
  'post_ID' => '(int) ID of the post this media is attached to',
1465
+ 'author_ID' => '(int) ID of the user who uploaded the media',
1466
  'URL' => '(string) URL to the file',
1467
  'guid' => '(string) Unique identifier',
1468
  'file' => '(string) File name',
1556
  ),
1557
 
1558
  'pass_wpcom_user_details' => true,
 
1559
 
1560
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/posts/843/replies/new/',
1561
  'example_request_data' => array(
1587
  ),
1588
 
1589
  'pass_wpcom_user_details' => true,
 
1590
 
1591
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/82974409/comments/29/replies/new',
1592
  'example_request_data' => array(
1690
  'search' => '(string) Limit response to include only categories whose names or slugs match the provided search query.',
1691
  'order' => array(
1692
  'ASC' => 'Return categories in ascending order.',
1693
+ 'DESC' => 'Return categories in descending order.',
1694
  ),
1695
  'order_by' => array(
1696
  'name' => 'Order by the name of each category.',
1720
  'search' => '(string) Limit response to include only tags whose names or slugs match the provided search query.',
1721
  'order' => array(
1722
  'ASC' => 'Return tags in ascending order.',
1723
+ 'DESC' => 'Return tags in descending order.',
1724
  ),
1725
  'order_by' => array(
1726
  'name' => 'Order by the name of each tag.',
1966
  'authors_only' => '(bool) Set to true to fetch authors only',
1967
  'type' => "(string) Specify the post type to query authors for. Only works when combined with the `authors_only` flag. Defaults to 'post'. Post types besides post and page need to be whitelisted using the <code>rest_api_allowed_post_types</code> filter.",
1968
  'search' => '(string) Find matching users.',
1969
+ 'search_columns' => "(array) Specify which columns to check for matching users. Can be any of 'ID', 'user_login', 'user_email', 'user_url', 'user_nicename', and 'display_name'. Only works when combined with `search` parameter.",
1970
+ 'role' => '(string) Specify a specific user role to fetch.'
1971
  ),
1972
 
1973
  'response_format' => array(
2007
  ) );
2008
 
2009
  new WPCOM_JSON_API_Update_User_Endpoint( array(
2010
+ 'description' => 'Deletes or removes a user of a site.',
2011
+ 'group' => 'users',
2012
  'stat' => 'users:delete',
2013
 
2014
  'method' => 'POST',
2015
  'path' => '/sites/%s/users/%d/delete',
2016
  'path_labels' => array(
2017
+ '$site' => '(int|string) The site ID or domain.',
2018
+ '$user_ID' => '(int) The user\'s ID'
2019
  ),
2020
 
2021
  'request_format' => array(
2034
  )
2035
  ) );
2036
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2037
  new WPCOM_JSON_API_List_Invites_Endpoint( array(
2038
  'description' => 'List the invites of a site.',
2039
  'group' => '__do_not_document',
2065
  'authorization' => 'Bearer YOUR_API_TOKEN'
2066
  ),
2067
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2068
  ) );
2069
 
2070
  new WPCOM_JSON_API_Site_User_Endpoint( array(
2098
 
2099
  new WPCOM_JSON_API_Site_User_Endpoint( array(
2100
  'description' => 'Get details of a user of a site by login.',
2101
+ 'group' => 'users',
2102
  'stat' => 'sites:1:user',
2103
  'method' => 'GET',
2104
  'path' => '/sites/%s/users/login:%s',
2105
  'path_labels' => array(
2106
+ '$site' => '(int|string) The site ID or domain.',
2107
+ '$user_id' => '(string) The user\'s login.',
2108
  ),
2109
  'response_format' => WPCOM_JSON_API_Site_User_Endpoint::$user_format,
2110
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/30434183/user/login:binarysmash',
2126
  ) );
2127
 
2128
  new WPCOM_JSON_API_Site_User_Endpoint( array(
2129
+ 'description' => 'Update details of a user of a site.',
2130
+ 'group' => 'users',
2131
  'stat' => 'sites:1:user',
2132
  'method' => 'POST',
2133
  'path' => '/sites/%s/users/%d',
2134
  'path_labels' => array(
2135
+ '$site' => '(int|string) The site ID or domain.',
2136
+ '$user_id' => '(int) The user\'s ID.',
2137
  ),
2138
  'request_format' => WPCOM_JSON_API_Site_User_Endpoint::$user_format,
2139
  'response_format' => WPCOM_JSON_API_Site_User_Endpoint::$user_format,
2191
  'group' => '__do_not_document',
2192
  'stat' => 'invites:1',
2193
  'method' => 'POST',
2194
+ 'path' => '/sites/%s/invites/%s/resend',
2195
  'path_labels' => array(
2196
  '$site' => '(int|string) Site ID or domain',
2197
  '$invite_id' => '(string) The ID of the invite'
2295
  'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/settings?pretty=1',
2296
  ) );
2297
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2298
  /**
2299
  * Sharing Button Endpoints
2300
  */
2301
 
2302
  new WPCOM_JSON_API_Get_Sharing_Buttons_Endpoint( array(
2303
  'description' => 'Get a list of a site\'s sharing buttons.',
2304
+ 'group' => 'sharing',
2305
  'stat' => 'sharing-buttons',
2306
  'method' => 'GET',
2307
  'path' => '/sites/%s/sharing-buttons/',
2374
 
2375
  new WPCOM_JSON_API_Update_Sharing_Buttons_Endpoint( array(
2376
  'description' => 'Edit all sharing buttons for a site.',
2377
+ 'group' => 'sharing',
2378
  'stat' => 'sharing-buttons:X:POST',
2379
  'method' => 'POST',
2380
  'path' => '/sites/%s/sharing-buttons',
json-endpoints/class.wpcom-json-api-delete-media-endpoint.php CHANGED
@@ -7,7 +7,7 @@ class WPCOM_JSON_API_Delete_Media_Endpoint extends WPCOM_JSON_API_Endpoint {
7
  return $blog_id;
8
  }
9
 
10
- if ( !current_user_can( 'upload_files', $media_id ) ) {
11
  return new WP_Error( 'unauthorized', 'User cannot view media', 403 );
12
  }
13
 
7
  return $blog_id;
8
  }
9
 
10
+ if ( ! current_user_can( 'delete_post', $media_id ) ) {
11
  return new WP_Error( 'unauthorized', 'User cannot view media', 403 );
12
  }
13
 
json-endpoints/class.wpcom-json-api-delete-media-v1-1-endpoint.php CHANGED
@@ -7,7 +7,7 @@ class WPCOM_JSON_API_Delete_Media_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
7
  return $blog_id;
8
  }
9
 
10
- if ( ! current_user_can( 'upload_files', $media_id ) ) {
11
  return new WP_Error( 'unauthorized', 'User is not authorized delete media', 403 );
12
  }
13
 
7
  return $blog_id;
8
  }
9
 
10
+ if ( ! current_user_can( 'delete_post', $media_id ) ) {
11
  return new WP_Error( 'unauthorized', 'User is not authorized delete media', 403 );
12
  }
13
 
json-endpoints/class.wpcom-json-api-get-media-v1-1-endpoint.php CHANGED
@@ -7,6 +7,10 @@ class WPCOM_JSON_API_Get_Media_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint {
7
  return $blog_id;
8
  }
9
 
 
 
 
 
10
  //upload_files can probably be used for other endpoints but we want contributors to be able to use media too
11
  if ( ! current_user_can( 'edit_posts', $media_id ) ) {
12
  return new WP_Error( 'unauthorized', 'User cannot view media', 403 );
7
  return $blog_id;
8
  }
9
 
10
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
11
+ $this->load_theme_functions();
12
+ }
13
+
14
  //upload_files can probably be used for other endpoints but we want contributors to be able to use media too
15
  if ( ! current_user_can( 'edit_posts', $media_id ) ) {
16
  return new WP_Error( 'unauthorized', 'User cannot view media', 403 );
json-endpoints/class.wpcom-json-api-get-site-endpoint.php CHANGED
@@ -18,6 +18,7 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
18
  'is_following' => '(bool) If the current user is subscribed to this site in the reader',
19
  'options' => '(array) An array of options/settings for the blog. Only viewable by users with post editing rights to the site. Note: Post formats is deprecated, please see /sites/$id/post-formats/',
20
  'updates' => '(array) An array of available updates for plugins, themes, wordpress, and languages.',
 
21
  'meta' => '(object) Meta data',
22
  );
23
 
@@ -55,7 +56,17 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
55
 
56
  global $wpdb, $wp_version;
57
 
58
- $response_format = self::$site_format;
 
 
 
 
 
 
 
 
 
 
59
 
60
  $is_user_logged_in = is_user_logged_in();
61
 
@@ -83,6 +94,13 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
83
  }
84
  }
85
  foreach ( array_keys( $response_format ) as $key ) {
 
 
 
 
 
 
 
86
  switch ( $key ) {
87
  case 'ID' :
88
  $response[$key] = $blog_id;
@@ -124,10 +142,6 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
124
  if ( $is_user_logged_in )
125
  $response[$key] = (int) $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish'");
126
  break;
127
- case 'lang' :
128
- if ( $is_user_logged_in )
129
- $response[$key] = (string) get_bloginfo( 'language' );
130
- break;
131
  case 'icon' :
132
  if ( function_exists( 'blavatar_domain' ) && function_exists( 'blavatar_exists' ) && function_exists( 'blavatar_url' ) ) {
133
  $domain = blavatar_domain( home_url() );
@@ -138,7 +152,7 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
138
  );
139
  } else {
140
  // This is done so that we can access the updated blavatar on .com via the /me/sites endpoint
141
- if( is_jetpack_site() ) {
142
 
143
  $site_icon_url = get_option( 'jetpack_site_icon_url' );
144
  if( $site_icon_url ) {
@@ -274,6 +288,16 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
274
  $wordads = has_any_blog_stickers( array( 'wordads-approved', 'wordads-approved-misfits' ), $blog_id );
275
  }
276
 
 
 
 
 
 
 
 
 
 
 
277
  $response[$key] = array(
278
  'timezone' => (string) get_option( 'timezone_string' ),
279
  'gmt_offset' => (float) get_option( 'gmt_offset' ),
@@ -310,6 +334,8 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
310
  'software_version' => $wp_version,
311
  'created_at' => ! empty( $registered_date ) ? $this->format_date( $registered_date ) : '0000-00-00T00:00:00+00:00',
312
  'wordads' => $wordads,
 
 
313
  );
314
 
315
  if ( 'page' === get_option( 'show_on_front' ) ) {
@@ -371,7 +397,13 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
371
  if ( ! current_user_can( 'edit_posts' ) )
372
  unset( $response[$key] );
373
  break;
374
- case 'meta' :
 
 
 
 
 
 
375
  /**
376
  * Filters the URL scheme used when querying your site's REST API endpoint.
377
  *
@@ -397,25 +429,30 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
397
  }
398
 
399
  if ( $is_jetpack ) {
400
-
401
- // Add the updates only make them visible if the user has manage options permission.
402
- $jetpack_update = (array) get_option( 'jetpack_updates' );
403
- if ( ! empty( $jetpack_update ) && current_user_can( 'manage_options' ) ) {
404
-
405
- if ( isset( $jetpack_update['wp_version'] ) ) {
406
- // In previous version of Jetpack 3.4, 3.5, 3.6 we synced the wp_version into to jetpack_updates
407
- unset( $jetpack_update['wp_version'] );
408
- }
409
-
410
- if ( isset( $jetpack_update['site_is_version_controlled'] ) ) {
411
- // In previous version of Jetpack 3.4, 3.5, 3.6 we synced the site_is_version_controlled into to jetpack_updates
412
- unset( $jetpack_update['site_is_version_controlled'] );
 
 
 
 
 
 
413
  }
414
-
415
- $response['updates'] = (array) $jetpack_update;
416
  }
417
-
418
- add_filter( 'option_stylesheet', 'fix_theme_location' );
 
419
  if ( 'https' !== parse_url( $site_url, PHP_URL_SCHEME ) ) {
420
  remove_filter( 'set_url_scheme', array( $this, 'force_http' ), 10, 3 );
421
  }
@@ -425,6 +462,18 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint {
425
 
426
  }
427
 
 
 
 
 
 
 
 
 
 
 
 
 
428
  function force_http( $url, $scheme, $orig_scheme ) {
429
  return preg_replace('/^https:\/\//', 'http://', $url, 1 );
430
  }
@@ -491,78 +540,3 @@ class WPCOM_JSON_API_List_Page_Templates_Endpoint extends WPCOM_JSON_API_Endpoin
491
  return $response;
492
  }
493
  }
494
-
495
- class WPCOM_JSON_API_List_Post_Types_Endpoint extends WPCOM_JSON_API_Endpoint {
496
- static $post_type_keys_to_include = array(
497
- 'name' => 'name',
498
- 'label' => 'label',
499
- 'labels' => 'labels',
500
- 'description' => 'description',
501
- 'map_meta_cap' => 'map_meta_cap',
502
- 'cap' => 'capabilities',
503
- );
504
-
505
- // /sites/%s/post-types -> $blog_id
506
- function callback( $path = '', $blog_id = 0 ) {
507
- $blog_id = $this->api->switch_to_blog_and_validate_user( $this->api->get_blog_id( $blog_id ) );
508
- if ( is_wp_error( $blog_id ) ) {
509
- return $blog_id;
510
- }
511
-
512
- if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
513
- $this->load_theme_functions();
514
- }
515
-
516
- $args = $this->query_args();
517
- $queryable_only = isset( $args['api_queryable'] ) && $args['api_queryable'];
518
-
519
- // Get a list of available post types
520
- $post_types = get_post_types( array( 'public' => true ) );
521
- $formatted_post_type_objects = array();
522
-
523
- // Retrieve post type object for each post type
524
- foreach ( $post_types as $post_type ) {
525
- // Skip non-queryable if filtering on queryable only
526
- $is_queryable = $this->is_post_type_allowed( $post_type );
527
- if ( $queryable_only && ! $is_queryable ) {
528
- continue;
529
- }
530
-
531
- $post_type_object = get_post_type_object( $post_type );
532
- $formatted_post_type_object = array();
533
-
534
- // Include only the desired keys in the response
535
- foreach ( self::$post_type_keys_to_include as $key => $value ) {
536
- $formatted_post_type_object[ $value ] = $post_type_object->{ $key };
537
- }
538
- $formatted_post_type_object['api_queryable'] = $is_queryable;
539
- $formatted_post_type_object['supports'] = get_all_post_type_supports( $post_type );
540
- if ( $this->post_type_supports_tags( $post_type ) ) {
541
- $formatted_post_type_object['supports']['tags'] = true;
542
- }
543
- $formatted_post_type_objects[] = $formatted_post_type_object;
544
- }
545
-
546
- return array(
547
- 'found' => count( $formatted_post_type_objects ),
548
- 'post_types' => $formatted_post_type_objects
549
- );
550
- }
551
-
552
- function post_type_supports_tags( $post_type ) {
553
- if ( in_array( 'post_tag', get_object_taxonomies( $post_type ) ) ) {
554
- return true;
555
- }
556
-
557
- // the featured content module adds post_tag support
558
- // to the post types that are registered for it
559
- // however it does so in a way that isn't available
560
- // to get_object_taxonomies
561
- $featured_content = get_theme_support( 'featured-content' );
562
- if ( ! $featured_content || empty( $featured_content[0] ) || empty( $featured_content[0]['post_types'] ) ) {
563
- return false;
564
- }
565
-
566
- return in_array( $post_type, $featured_content[0]['post_types'] );
567
- }
568
- }
18
  'is_following' => '(bool) If the current user is subscribed to this site in the reader',
19
  'options' => '(array) An array of options/settings for the blog. Only viewable by users with post editing rights to the site. Note: Post formats is deprecated, please see /sites/$id/post-formats/',
20
  'updates' => '(array) An array of available updates for plugins, themes, wordpress, and languages.',
21
+ 'jetpack_modules' => '(array) A list of active Jetpack modules.',
22
  'meta' => '(object) Meta data',
23
  );
24
 
56
 
57
  global $wpdb, $wp_version;
58
 
59
+ // Allow update in later versions
60
+ /**
61
+ * Filter the structure of information about the site to return.
62
+ *
63
+ * @module json-api
64
+ *
65
+ * @since 3.9.3
66
+ *
67
+ * @param array $site_format Data structure.
68
+ */
69
+ $response_format = apply_filters( 'sites_site_format', self::$site_format );
70
 
71
  $is_user_logged_in = is_user_logged_in();
72
 
94
  }
95
  }
96
  foreach ( array_keys( $response_format ) as $key ) {
97
+
98
+ // refactoring to change parameter to locale in 1.2
99
+ if ( $lang_or_locale = $this->process_locale( $key, $is_user_logged_in ) ) {
100
+ $response[$key] = $lang_or_locale;
101
+ continue;
102
+ }
103
+
104
  switch ( $key ) {
105
  case 'ID' :
106
  $response[$key] = $blog_id;
142
  if ( $is_user_logged_in )
143
  $response[$key] = (int) $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish'");
144
  break;
 
 
 
 
145
  case 'icon' :
146
  if ( function_exists( 'blavatar_domain' ) && function_exists( 'blavatar_exists' ) && function_exists( 'blavatar_url' ) ) {
147
  $domain = blavatar_domain( home_url() );
152
  );
153
  } else {
154
  // This is done so that we can access the updated blavatar on .com via the /me/sites endpoint
155
+ if( $is_jetpack ) {
156
 
157
  $site_icon_url = get_option( 'jetpack_site_icon_url' );
158
  if( $site_icon_url ) {
288
  $wordads = has_any_blog_stickers( array( 'wordads-approved', 'wordads-approved-misfits' ), $blog_id );
289
  }
290
 
291
+ $publicize_permanently_disabled = false;
292
+ if ( function_exists( 'is_publicize_permanently_disabled' ) ) {
293
+ $publicize_permanently_disabled = is_publicize_permanently_disabled( $blog_id );
294
+ }
295
+
296
+ $frame_nonce = false;
297
+ if ( ! $is_jetpack ) {
298
+ $frame_nonce = wpcom_get_frame_nonce();
299
+ }
300
+
301
  $response[$key] = array(
302
  'timezone' => (string) get_option( 'timezone_string' ),
303
  'gmt_offset' => (float) get_option( 'gmt_offset' ),
334
  'software_version' => $wp_version,
335
  'created_at' => ! empty( $registered_date ) ? $this->format_date( $registered_date ) : '0000-00-00T00:00:00+00:00',
336
  'wordads' => $wordads,
337
+ 'publicize_permanently_disabled' => $publicize_permanently_disabled,
338
+ 'frame_nonce' => $frame_nonce,
339
  );
340
 
341
  if ( 'page' === get_option( 'show_on_front' ) ) {
397
  if ( ! current_user_can( 'edit_posts' ) )
398
  unset( $response[$key] );
399
  break;
400
+ case 'jetpack_modules':
401
+ if ( ! $is_jetpack || ! is_user_member_of_blog() ) {
402
+ break;
403
+ }
404
+ $response[$key] = array_values( Jetpack_Options::get_option( 'active_modules', array() ) );
405
+ break;
406
+ case 'meta':
407
  /**
408
  * Filters the URL scheme used when querying your site's REST API endpoint.
409
  *
429
  }
430
 
431
  if ( $is_jetpack ) {
432
+ // Add the updates only make them visible if the user has manage options permission and the site is the main site of the network
433
+ if ( current_user_can( 'manage_options' ) ) {
434
+ if ( isset( $response['options']['main_network_site'], $response['options']['unmapped_url'] ) ) {
435
+ $main_network_site_url = set_url_scheme( $response['options']['main_network_site'], 'http' );
436
+ $unmapped_url = set_url_scheme( $response['options']['unmapped_url'], 'http' );
437
+ if ( $unmapped_url === $main_network_site_url ) {
438
+ $jetpack_update = (array) get_option( 'jetpack_updates' );
439
+ if ( ! empty( $jetpack_update ) ) {
440
+ if ( isset( $jetpack_update['wp_version'] ) ) {
441
+ // In previous version of Jetpack 3.4, 3.5, 3.6 we synced the wp_version into to jetpack_updates
442
+ unset( $jetpack_update['wp_version'] );
443
+ }
444
+ if ( isset( $jetpack_update['site_is_version_controlled'] ) ) {
445
+ // In previous version of Jetpack 3.4, 3.5, 3.6 we synced the site_is_version_controlled into to jetpack_updates
446
+ unset( $jetpack_update['site_is_version_controlled'] );
447
+ }
448
+ $response['updates'] = (array) $jetpack_update;
449
+ }
450
+ }
451
  }
 
 
452
  }
453
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
454
+ add_filter( 'option_stylesheet', 'fix_theme_location' );
455
+ }
456
  if ( 'https' !== parse_url( $site_url, PHP_URL_SCHEME ) ) {
457
  remove_filter( 'set_url_scheme', array( $this, 'force_http' ), 10, 3 );
458
  }
462
 
463
  }
464
 
465
+ protected function process_locale( $key, $is_user_logged_in ) {
466
+ if ( $is_user_logged_in && 'lang' == $key ) {
467
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
468
+ if ( ! is_jetpack_site() ) {
469
+ return (string) get_blog_lang_code();
470
+ }
471
+ }
472
+ return (string) get_bloginfo( 'language' );
473
+ }
474
+ return false;
475
+ }
476
+
477
  function force_http( $url, $scheme, $orig_scheme ) {
478
  return preg_replace('/^https:\/\//', 'http://', $url, 1 );
479
  }
540
  return $response;
541
  }
542
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
json-endpoints/class.wpcom-json-api-get-site-v1-2-endpoint.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * WARNING: This file is distributed verbatim in Jetpack.
4
+ * There should be nothing WordPress.com specific in this file.
5
+ *
6
+ * @hide-in-jetpack
7
+ */
8
+
9
+ class WPCOM_JSON_API_GET_Site_V1_2_Endpoint extends WPCOM_JSON_API_GET_Site_Endpoint {
10
+
11
+ public static $site_format = array(
12
+ 'ID' => '(int) Site ID',
13
+ 'name' => '(string) Title of site',
14
+ 'description' => '(string) Tagline or description of site',
15
+ 'URL' => '(string) Full URL to the site',
16
+ 'jetpack' => '(bool) Whether the site is a Jetpack site or not',
17
+ 'post_count' => '(int) The number of posts the site has',
18
+ 'subscribers_count' => '(int) The number of subscribers the site has',
19
+ 'locale' => '(string) Primary locale code of the site',
20
+ 'icon' => '(array) An array of icon formats for the site',
21
+ 'logo' => '(array) The site logo, set in the Customizer',
22
+ 'visible' => '(bool) If this site is visible in the user\'s site list',
23
+ 'is_private' => '(bool) If the site is a private site or not',
24
+ 'is_following' => '(bool) If the current user is subscribed to this site in the reader',
25
+ 'options' => '(array) An array of options/settings for the blog. Only viewable by users with post editing rights to the site. Note: Post formats is deprecated, please see /sites/$id/post-formats/',
26
+ 'updates' => '(array) An array of available updates for plugins, themes, wordpress, and languages.',
27
+ 'jetpack_modules' => '(array) A list of active Jetpack modules.',
28
+ 'meta' => '(object) Meta data',
29
+ );
30
+
31
+ function callback( $path = '', $blog_id = 0 ) {
32
+ add_filter( 'sites_site_format', array( $this, 'site_format' ) );
33
+
34
+ return parent::callback( $path, $blog_id );
35
+ }
36
+
37
+ //V1.2 renames lang to locale
38
+ protected function process_locale( $key, $is_user_logged_in ) {
39
+ if ( $is_user_logged_in && 'locale' == $key ) {
40
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
41
+ if ( ! is_jetpack_site() ) {
42
+ return (string) get_blog_lang_code();
43
+ }
44
+ }
45
+ }
46
+ return false;
47
+ }
48
+
49
+ public function site_format( $format ) {
50
+ return self::$site_format;
51
+ }
52
+ }
json-endpoints/class.wpcom-json-api-list-media-v1-1-endpoint.php CHANGED
@@ -25,6 +25,10 @@ class WPCOM_JSON_API_List_Media_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint {
25
  return new WP_Error( 'invalid_number', 'The NUMBER parameter must be less than or equal to 100.', 400 );
26
  }
27
 
 
 
 
 
28
  if ( isset( $args['before'] ) ) {
29
  $this->date_range['before'] = $args['before'];
30
  }
25
  return new WP_Error( 'invalid_number', 'The NUMBER parameter must be less than or equal to 100.', 400 );
26
  }
27
 
28
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
29
+ $this->load_theme_functions();
30
+ }
31
+
32
  if ( isset( $args['before'] ) ) {
33
  $this->date_range['before'] = $args['before'];
34
  }
json-endpoints/class.wpcom-json-api-list-post-types-endpoint.php ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WPCOM_JSON_API_List_Post_Types_Endpoint extends WPCOM_JSON_API_Endpoint {
4
+ static $post_type_keys_to_include = array(
5
+ 'name' => 'name',
6
+ 'label' => 'label',
7
+ 'labels' => 'labels',
8
+ 'description' => 'description',
9
+ 'map_meta_cap' => 'map_meta_cap',
10
+ 'cap' => 'capabilities',
11
+ );
12
+
13
+ // /sites/%s/post-types -> $blog_id
14
+ function callback( $path = '', $blog_id = 0 ) {
15
+ $blog_id = $this->api->switch_to_blog_and_validate_user( $this->api->get_blog_id( $blog_id ) );
16
+ if ( is_wp_error( $blog_id ) ) {
17
+ return $blog_id;
18
+ }
19
+
20
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
21
+ $this->load_theme_functions();
22
+ }
23
+
24
+ $args = $this->query_args();
25
+
26
+ // API localization occurs after the initial post types have been
27
+ // registered, so re-register if localizing response
28
+ if ( apply_filters( 'rest_api_localize_response', false ) ) {
29
+ create_initial_post_types();
30
+ }
31
+
32
+ $queryable_only = isset( $args['api_queryable'] ) && $args['api_queryable'];
33
+
34
+ // Get a list of available post types
35
+ $post_types = get_post_types( array( 'public' => true ) );
36
+ $formatted_post_type_objects = array();
37
+
38
+ // Retrieve post type object for each post type
39
+ foreach ( $post_types as $post_type ) {
40
+ // Skip non-queryable if filtering on queryable only
41
+ $is_queryable = $this->is_post_type_allowed( $post_type );
42
+ if ( $queryable_only && ! $is_queryable ) {
43
+ continue;
44
+ }
45
+
46
+ $post_type_object = get_post_type_object( $post_type );
47
+ $formatted_post_type_object = array();
48
+
49
+ // Include only the desired keys in the response
50
+ foreach ( self::$post_type_keys_to_include as $key => $value ) {
51
+ $formatted_post_type_object[ $value ] = $post_type_object->{ $key };
52
+ }
53
+ $formatted_post_type_object['api_queryable'] = $is_queryable;
54
+ $formatted_post_type_object['supports'] = get_all_post_type_supports( $post_type );
55
+ if ( $this->post_type_supports_tags( $post_type ) ) {
56
+ $formatted_post_type_object['supports']['tags'] = true;
57
+ }
58
+
59
+ $formatted_post_type_objects[] = $formatted_post_type_object;
60
+ }
61
+
62
+ return array(
63
+ 'found' => count( $formatted_post_type_objects ),
64
+ 'post_types' => $formatted_post_type_objects
65
+ );
66
+ }
67
+
68
+ function post_type_supports_tags( $post_type ) {
69
+ if ( in_array( 'post_tag', get_object_taxonomies( $post_type ) ) ) {
70
+ return true;
71
+ }
72
+
73
+ // the featured content module adds post_tag support
74
+ // to the post types that are registered for it
75
+ // however it does so in a way that isn't available
76
+ // to get_object_taxonomies
77
+ $featured_content = get_theme_support( 'featured-content' );
78
+ if ( ! $featured_content || empty( $featured_content[0] ) || empty( $featured_content[0]['post_types'] ) ) {
79
+ return false;
80
+ }
81
+
82
+ return in_array( $post_type, $featured_content[0]['post_types'] );
83
+ }
84
+ }
json-endpoints/class.wpcom-json-api-menus-v1-1-endpoint.php CHANGED
@@ -497,6 +497,7 @@ class WPCOM_JSON_API_Menus_Update_Menu_Endpoint extends WPCOM_JSON_API_Menus_Abs
497
  }
498
 
499
  $data = $this->input( true, false );
 
500
  $data = $this->complexify( array( $data ) );
501
  if ( is_wp_error( $data ) ) {
502
  return $data;
@@ -652,7 +653,7 @@ class WPCOM_JSON_API_Menus_Get_Menu_Endpoint extends WPCOM_JSON_API_Menus_Abstra
652
 
653
  $menu->items = $items;
654
 
655
- return $this->simplify( $menu );
656
  }
657
  }
658
 
497
  }
498
 
499
  $data = $this->input( true, false );
500
+ $data['id'] = $menu_id;
501
  $data = $this->complexify( array( $data ) );
502
  if ( is_wp_error( $data ) ) {
503
  return $data;
653
 
654
  $menu->items = $items;
655
 
656
+ return array( 'menu' => $this->simplify( $menu ) );
657
  }
658
  }
659
 
json-endpoints/class.wpcom-json-api-post-endpoint.php CHANGED
@@ -316,13 +316,13 @@ abstract class WPCOM_JSON_API_Post_Endpoint extends WPCOM_JSON_API_Endpoint {
316
  $response[$key] = (int) $this->api->post_like_count( $blog_id, $post->ID );
317
  break;
318
  case 'i_like' :
319
- $response[$key] = (int) $this->api->is_liked( $blog_id, $post->ID );
320
  break;
321
  case 'is_reblogged':
322
- $response[$key] = (int) $this->api->is_reblogged( $blog_id, $post->ID );
323
  break;
324
  case 'is_following':
325
- $response[$key] = (int) $this->api->is_following( $blog_id );
326
  break;
327
  case 'global_ID':
328
  $response[$key] = (string) $this->api->add_global_ID( $blog_id, $post->ID );
316
  $response[$key] = (int) $this->api->post_like_count( $blog_id, $post->ID );
317
  break;
318
  case 'i_like' :
319
+ $response[$key] = (bool) $this->api->is_liked( $blog_id, $post->ID );
320
  break;
321
  case 'is_reblogged':
322
+ $response[$key] = (bool) $this->api->is_reblogged( $blog_id, $post->ID );
323
  break;
324
  case 'is_following':
325
+ $response[$key] = (bool) $this->api->is_following( $blog_id );
326
  break;
327
  case 'global_ID':
328
  $response[$key] = (string) $this->api->add_global_ID( $blog_id, $post->ID );
json-endpoints/class.wpcom-json-api-post-v1-1-endpoint.php CHANGED
@@ -50,6 +50,7 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
50
  'metadata' => '(array) Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the <code>rest_api_allowed_public_metadata</code> filter.',
51
  'meta' => '(object) API result meta data',
52
  'capabilities' => '(object) List of post-specific permissions for the user; publish_post, edit_post, delete_post',
 
53
  'other_URLs' => '(object) List of URLs for this post. Permalink and slug suggestions.',
54
  );
55
 
@@ -299,13 +300,13 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
299
  $response[$key] = (int) $this->api->post_like_count( $blog_id, $post->ID );
300
  break;
301
  case 'i_like' :
302
- $response[$key] = (int) $this->api->is_liked( $blog_id, $post->ID );
303
  break;
304
  case 'is_reblogged':
305
- $response[$key] = (int) $this->api->is_reblogged( $blog_id, $post->ID );
306
  break;
307
  case 'is_following':
308
- $response[$key] = (int) $this->api->is_following( $blog_id );
309
  break;
310
  case 'global_ID':
311
  $response[$key] = (string) $this->api->add_global_ID( $blog_id, $post->ID );
@@ -474,6 +475,20 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
474
  break;
475
  case 'capabilities' :
476
  $response[$key] = $capabilities;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
477
  break;
478
  case 'other_URLs' :
479
  $other_urls = array();
@@ -651,8 +666,8 @@ abstract class WPCOM_JSON_API_Post_v1_1_Endpoint extends WPCOM_JSON_API_Endpoint
651
 
652
  /**
653
  * Get extra post permalink suggestions
654
- * @param int $postID
655
- * @param string $title
656
  * @return array array of permalink suggestions: 'permalink_URL', 'suggested_slug'
657
  */
658
  function get_post_permalink_suggestions( $postID, $title ) {
50
  'metadata' => '(array) Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the <code>rest_api_allowed_public_metadata</code> filter.',
51
  'meta' => '(object) API result meta data',
52
  'capabilities' => '(object) List of post-specific permissions for the user; publish_post, edit_post, delete_post',
53
+ 'revisions' => '(array) List of post revision IDs. Only available for posts retrieved with context=edit.',
54
  'other_URLs' => '(object) List of URLs for this post. Permalink and slug suggestions.',
55
  );
56
 
300
  $response[$key] = (int) $this->api->post_like_count( $blog_id, $post->ID );
301
  break;
302
  case 'i_like' :
303
+ $response[$key] = (bool) $this->api->is_liked( $blog_id, $post->ID );
304
  break;
305
  case 'is_reblogged':
306
+ $response[$key] = (bool) $this->api->is_reblogged( $blog_id, $post->ID );
307
  break;
308
  case 'is_following':
309
+ $response[$key] = (bool) $this->api->is_following( $blog_id );
310
  break;
311
  case 'global_ID':
312
  $response[$key] = (string) $this->api->add_global_ID( $blog_id, $post->ID );
475
  break;
476
  case 'capabilities' :
477
  $response[$key] = $capabilities;
478
+ break;
479
+ case 'revisions' :
480
+ if ( 'edit' !== $context ) {
481
+ continue;
482
+ }
483
+ $revisions = array();
484
+ $post_revisions = wp_get_post_revisions( $post->ID );
485
+
486
+ foreach ( $post_revisions as $_post ) {
487
+ $revisions[] = $_post->ID;
488
+ }
489
+
490
+ $response[$key] = $revisions;
491
+
492
  break;
493
  case 'other_URLs' :
494
  $other_urls = array();
666
 
667
  /**
668
  * Get extra post permalink suggestions
669
+ * @param int $postID
670
+ * @param string $title
671
  * @return array array of permalink suggestions: 'permalink_URL', 'suggested_slug'
672
  */
673
  function get_post_permalink_suggestions( $postID, $title ) {
json-endpoints/class.wpcom-json-api-sharing-buttons-endpoint.php CHANGED
@@ -256,6 +256,10 @@ class WPCOM_JSON_API_Update_Sharing_Buttons_Endpoint extends WPCOM_JSON_API_Shar
256
 
257
  $all_buttons = $this->sharing_service->get_all_services_blog();
258
 
 
 
 
 
259
  // We do a first pass of all buttons to verify that no validation
260
  // issues exist before continuing to update
261
  foreach ( $input['sharing_buttons'] as $button ) {
256
 
257
  $all_buttons = $this->sharing_service->get_all_services_blog();
258
 
259
+ if ( ! isset( $input['sharing_buttons'] ) ) {
260
+ $input['sharing_buttons'] = array();
261
+ }
262
+
263
  // We do a first pass of all buttons to verify that no validation
264
  // issues exist before continuing to update
265
  foreach ( $input['sharing_buttons'] as $button ) {
json-endpoints/class.wpcom-json-api-site-settings-endpoint.php CHANGED
@@ -83,12 +83,30 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
83
  */
84
  public function get_settings_response() {
85
 
86
- $response_format = self::$site_format;
 
 
 
 
 
 
 
 
 
 
 
87
  $blog_id = (int) $this->api->get_blog_id_for_output();
88
  /** This filter is documented in class.json-api-endpoints.php */
89
  $is_jetpack = true === apply_filters( 'is_jetpack_site', false, $blog_id );
90
 
91
  foreach ( array_keys( $response_format ) as $key ) {
 
 
 
 
 
 
 
92
  switch ( $key ) {
93
  case 'ID' :
94
  $response[$key] = $blog_id;
@@ -102,9 +120,6 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
102
  case 'URL' :
103
  $response[$key] = (string) home_url();
104
  break;
105
- case 'lang' :
106
- $response[$key] = (string) get_bloginfo( 'language' );
107
- break;
108
  case 'settings':
109
 
110
  $jetpack_relatedposts_options = Jetpack_Options::get_option( 'relatedposts' );
@@ -131,7 +146,7 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
131
  $holiday_snow = (bool) get_option( jetpack_holiday_snow_option_name() );
132
  }
133
 
134
- $response[$key] = array(
135
 
136
  // also exists as "options"
137
  'admin_url' => get_admin_url(),
@@ -180,6 +195,18 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
180
  'holidaysnow' => $holiday_snow
181
  );
182
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  if ( class_exists( 'Sharing_Service' ) ) {
184
  $ss = new Sharing_Service();
185
  $sharing = $ss->get_global_options();
@@ -203,6 +230,19 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
203
 
204
  }
205
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
  /**
207
  * Updates site settings for authorized users
208
  *
@@ -343,13 +383,30 @@ class WPCOM_JSON_API_Site_Settings_Endpoint extends WPCOM_JSON_API_Endpoint {
343
  if ( function_exists( 'jetpack_holiday_snow_option_name' ) && delete_option( jetpack_holiday_snow_option_name() ) ) {
344
  $updated[ $key ] = false;
345
  }
346
- } else if ( function_exists( 'jetpack_holiday_snow_option_name' ) && update_option( jetpack_holiday_snow_option_name(), 'letitsnow' ) ) {
347
  $updated[ $key ] = true;
348
- }
349
- break;
 
350
 
351
- // no worries, we've already whitelisted and casted arguments above
352
  default:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
353
  if ( update_option( $key, $value ) ) {
354
  $updated[ $key ] = $value;
355
  }
83
  */
84
  public function get_settings_response() {
85
 
86
+ // Allow update in later versions
87
+ /**
88
+ * Filter the structure of site settings to return.
89
+ *
90
+ * @module json-api
91
+ *
92
+ * @since 3.9.3
93
+ *
94
+ * @param array $site_format Data structure.
95
+ */
96
+ $response_format = apply_filters( 'site_settings_site_format', self::$site_format );
97
+
98
  $blog_id = (int) $this->api->get_blog_id_for_output();
99
  /** This filter is documented in class.json-api-endpoints.php */
100
  $is_jetpack = true === apply_filters( 'is_jetpack_site', false, $blog_id );
101
 
102
  foreach ( array_keys( $response_format ) as $key ) {
103
+
104
+ // refactoring to change lang parameter to locale in 1.2
105
+ if ( $lang_or_locale = $this->get_locale( $key ) ) {
106
+ $response[$key] = $lang_or_locale;
107
+ continue;
108
+ }
109
+
110
  switch ( $key ) {
111
  case 'ID' :
112
  $response[$key] = $blog_id;
120
  case 'URL' :
121
  $response[$key] = (string) home_url();
122
  break;
 
 
 
123
  case 'settings':
124
 
125
  $jetpack_relatedposts_options = Jetpack_Options::get_option( 'relatedposts' );
146
  $holiday_snow = (bool) get_option( jetpack_holiday_snow_option_name() );
147
  }
148
 
149
+ $response[ $key ] = array(
150
 
151
  // also exists as "options"
152
  'admin_url' => get_admin_url(),
195
  'holidaysnow' => $holiday_snow
196
  );
197
 
198
+ //allow future versions of this endpoint to support additional settings keys
199
+ /**
200
+ * Filter the current site setting in the returned response.
201
+ *
202
+ * @module json-api
203
+ *
204
+ * @since 3.9.3
205
+ *
206
+ * @param mixed $response_item A single site setting.
207
+ */
208
+ $response[ $key ] = apply_filters( 'site_settings_endpoint_get', $response[ $key ] );
209
+
210
  if ( class_exists( 'Sharing_Service' ) ) {
211
  $ss = new Sharing_Service();
212
  $sharing = $ss->get_global_options();
230
 
231
  }
232
 
233
+ protected function get_locale( $key ) {
234
+ if ( 'lang' == $key ) {
235
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
236
+ return (string) get_blog_lang_code();
237
+ } else {
238
+ return get_locale();
239
+ }
240
+ }
241
+
242
+ return false;
243
+ }
244
+
245
+
246
  /**
247
  * Updates site settings for authorized users
248
  *
383
  if ( function_exists( 'jetpack_holiday_snow_option_name' ) && delete_option( jetpack_holiday_snow_option_name() ) ) {
384
  $updated[ $key ] = false;
385
  }
386
+ } else if ( function_exists( 'jetpack_holiday_snow_option_name' ) && update_option( jetpack_holiday_snow_option_name(), 'letitsnow' ) ) {
387
  $updated[ $key ] = true;
388
+ }
389
+ break;
390
+
391
 
 
392
  default:
393
+ //allow future versions of this endpoint to support additional settings keys
394
+ if ( has_filter( 'site_settings_endpoint_update_' . $key ) ) {
395
+ /**
396
+ * Filter current site setting value to be updated.
397
+ *
398
+ * @module json-api
399
+ *
400
+ * @since 3.9.3
401
+ *
402
+ * @param mixed $response_item A single site setting value.
403
+ */
404
+ $value = apply_filters( 'site_settings_endpoint_update_' . $key, $value );
405
+ $updated[ $key ] = $value;
406
+ continue;
407
+ }
408
+
409
+ // no worries, we've already whitelisted and casted arguments above
410
  if ( update_option( $key, $value ) ) {
411
  $updated[ $key ] = $value;
412
  }
json-endpoints/class.wpcom-json-api-site-settings-v1-2-endpoint.php ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WARNING: This file is distributed verbatim in Jetpack.
4
+ * There should be nothing WordPress.com specific in this file.
5
+ *
6
+ * @hide-in-jetpack
7
+ * @autounit api site-settings
8
+ */
9
+
10
+ class WPCOM_JSON_API_Site_Settings_V1_2_endpoint extends WPCOM_JSON_API_Site_Settings_Endpoint {
11
+
12
+ public static $site_format = array(
13
+ 'ID' => '(int) Site ID',
14
+ 'name' => '(string) Title of site',
15
+ 'description' => '(string) Tagline or description of site',
16
+ 'URL' => '(string) Full URL to the site',
17
+ 'locale' => '(string) Locale code of the site',
18
+ 'settings' => '(array) An array of options/settings for the blog. Only viewable by users with post editing rights to the site.',
19
+ );
20
+
21
+
22
+ function callback( $path = '', $blog_id = 0 ) {
23
+ add_filter( 'site_settings_endpoint_update_locale', array( $this, 'update_locale' ) );
24
+ add_filter( 'site_settings_endpoint_get', array( $this, 'return_locale' ) );
25
+ add_filter( 'site_settings_site_format', array( $this, 'site_format' ) );
26
+ return parent::callback( $path, $blog_id );
27
+ }
28
+
29
+
30
+ protected function get_locale( $key ) {
31
+ if ( 'locale' == $key ) {
32
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
33
+ return (string) get_blog_lang_code();
34
+ } else {
35
+ return get_locale();
36
+ }
37
+ }
38
+
39
+ return false;
40
+ }
41
+
42
+ public function return_locale( $settings ) {
43
+ return $settings + array( 'locale' => $this->get_locale( 'locale' ) );
44
+ }
45
+
46
+ public function update_locale( $value ) {
47
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
48
+ $lang_id = get_lang_id_by_code( $value );
49
+ if ( ! empty( $lang_id ) ) {
50
+ if ( update_option( 'lang_id', $lang_id ) ) {
51
+ return true;
52
+ }
53
+ }
54
+ }
55
+ return false;
56
+ }
57
+
58
+ public function site_format( $format ) {
59
+ return self::$site_format;
60
+ }
61
+ }
json-endpoints/class.wpcom-json-api-update-post-endpoint.php CHANGED
@@ -120,7 +120,12 @@ class WPCOM_JSON_API_Update_Post_Endpoint extends WPCOM_JSON_API_Post_Endpoint {
120
  }
121
  }
122
 
123
- // If date is set, $this->input will set date_gmt, date still needs to be adjusted for the blog's offset
 
 
 
 
 
124
  if ( isset( $input['date_gmt'] ) ) {
125
  $gmt_offset = get_option( 'gmt_offset' );
126
  $time_with_offset = strtotime( $input['date_gmt'] ) + $gmt_offset * HOUR_IN_SECONDS;
@@ -164,6 +169,7 @@ class WPCOM_JSON_API_Update_Post_Endpoint extends WPCOM_JSON_API_Post_Endpoint {
164
  * Consequence: To add a category/tag whose name is '123', the client must
165
  * first look up its ID.
166
  */
 
167
  if ( ctype_digit( $term ) ) {
168
  $term = (int) $term;
169
  }
@@ -692,6 +698,7 @@ class WPCOM_JSON_API_Update_Post_Endpoint extends WPCOM_JSON_API_Post_Endpoint {
692
  if ( empty( $author ) || ! post_type_supports( $post_type, 'author' ) )
693
  return get_current_user_id();
694
 
 
695
  if ( ctype_digit( $author ) ) {
696
  $_user = get_user_by( 'id', $author );
697
  if ( ! $_user || is_wp_error( $_user ) )
120
  }
121
  }
122
 
123
+ if ( function_exists( 'wpcom_switch_to_locale' ) ) {
124
+ // fixes calypso-pre-oss #12476: respect blog locale when creating the post slug
125
+ wpcom_switch_to_locale( get_blog_lang_code( $blog_id ) );
126
+ }
127
+
128
+ // If date was set, $this->input will set date_gmt, date still needs to be adjusted for the blog's offset
129
  if ( isset( $input['date_gmt'] ) ) {
130
  $gmt_offset = get_option( 'gmt_offset' );
131
  $time_with_offset = strtotime( $input['date_gmt'] ) + $gmt_offset * HOUR_IN_SECONDS;
169
  * Consequence: To add a category/tag whose name is '123', the client must
170
  * first look up its ID.
171
  */
172
+ $term = (string) $term; // ctype_digit compat
173
  if ( ctype_digit( $term ) ) {
174
  $term = (int) $term;
175
  }
698
  if ( empty( $author ) || ! post_type_supports( $post_type, 'author' ) )
699
  return get_current_user_id();
700
 
701
+ $author = (string) $author;
702
  if ( ctype_digit( $author ) ) {
703
  $_user = get_user_by( 'id', $author );
704
  if ( ! $_user || is_wp_error( $_user ) )
json-endpoints/class.wpcom-json-api-update-post-v1-1-endpoint.php CHANGED
@@ -125,7 +125,12 @@ class WPCOM_JSON_API_Update_Post_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_
125
  }
126
  }
127
 
128
- // If date is set, $this->input will set date_gmt, date still needs to be adjusted for the blog's offset
 
 
 
 
 
129
  if ( isset( $input['date_gmt'] ) ) {
130
  $gmt_offset = get_option( 'gmt_offset' );
131
  $time_with_offset = strtotime( $input['date_gmt'] ) + $gmt_offset * HOUR_IN_SECONDS;
@@ -169,6 +174,7 @@ class WPCOM_JSON_API_Update_Post_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_
169
  * Consequence: To add a category/tag whose name is '123', the client must
170
  * first look up its ID.
171
  */
 
172
  if ( ctype_digit( $term ) ) {
173
  $term = (int) $term;
174
  }
@@ -703,6 +709,7 @@ class WPCOM_JSON_API_Update_Post_v1_1_Endpoint extends WPCOM_JSON_API_Post_v1_1_
703
  if ( empty( $author ) || ! post_type_supports( $post_type, 'author' ) )
704
  return get_current_user_id();
705
 
 
706
  if ( ctype_digit( $author ) ) {
707
  $_user = get_user_by( 'id', $author );
708
  if ( ! $_user || is_wp_error( $_user ) )
125
  }
126
  }
127
 
128
+ if ( function_exists( 'wpcom_switch_to_locale' ) ) {
129
+ // fixes calypso-pre-oss #12476: respect blog locale when creating the post slug
130
+ wpcom_switch_to_locale( get_blog_lang_code( $blog_id ) );
131
+ }
132
+
133
+ // If date was set, $this->input will set date_gmt, date still needs to be adjusted for the blog's offset
134
  if ( isset( $input['date_gmt'] ) ) {
135
  $gmt_offset = get_option( 'gmt_offset' );
136
  $time_with_offset = strtotime( $input['date_gmt'] ) + $gmt_offset * HOUR_IN_SECONDS;
174
  * Consequence: To add a category/tag whose name is '123', the client must
175
  * first look up its ID.
176
  */
177
+ $term = (string) $term; // ctype_digit compat
178
  if ( ctype_digit( $term ) ) {
179
  $term = (int) $term;
180
  }
709
  if ( empty( $author ) || ! post_type_supports( $post_type, 'author' ) )
710
  return get_current_user_id();
711
 
712
+ $author = (string) $author;
713
  if ( ctype_digit( $author ) ) {
714
  $_user = get_user_by( 'id', $author );
715
  if ( ! $_user || is_wp_error( $_user ) )
json-endpoints/class.wpcom-json-api-update-post-v1-2-endpoint.php CHANGED
@@ -100,7 +100,12 @@ class WPCOM_JSON_API_Update_Post_v1_2_Endpoint extends WPCOM_JSON_API_Update_Pos
100
  }
101
  }
102
 
103
- // If date is set, $this->input will set date_gmt, date still needs to be adjusted for the blog's offset
 
 
 
 
 
104
  if ( isset( $input['date_gmt'] ) ) {
105
  $gmt_offset = get_option( 'gmt_offset' );
106
  $time_with_offset = strtotime( $input['date_gmt'] ) + $gmt_offset * HOUR_IN_SECONDS;
@@ -190,6 +195,7 @@ class WPCOM_JSON_API_Update_Post_v1_2_Endpoint extends WPCOM_JSON_API_Update_Pos
190
  }
191
 
192
  foreach ( $terms as $term ) {
 
193
  if ( ! ctype_digit( $term ) ) {
194
  // skip anything that doesn't look like an ID
195
  continue;
@@ -610,7 +616,7 @@ class WPCOM_JSON_API_Update_Post_v1_2_Endpoint extends WPCOM_JSON_API_Update_Pos
610
  if ( ! empty( $media_results['errors'] ) )
611
  $return['media_errors'] = $media_results['errors'];
612
 
613
- if ( 'publish' !== $post->post_status && isset( $input['title'] )) {
614
  $return['other_URLs'] = (object) $this->get_post_permalink_suggestions( $post_id, $input['title'] );
615
  }
616
 
100
  }
101
  }
102
 
103
+ if ( function_exists( 'wpcom_switch_to_locale' ) ) {
104
+ // fixes calypso-pre-oss #12476: respect blog locale when creating the post slug
105
+ wpcom_switch_to_locale( get_blog_lang_code( $blog_id ) );
106
+ }
107
+
108
+ // If date is set, $this->input will set date_gmt, date still needs to be adjusted f
109
  if ( isset( $input['date_gmt'] ) ) {
110
  $gmt_offset = get_option( 'gmt_offset' );
111
  $time_with_offset = strtotime( $input['date_gmt'] ) + $gmt_offset * HOUR_IN_SECONDS;
195
  }
196
 
197
  foreach ( $terms as $term ) {
198
+ $term = (string) $term; // ctype_digit compat
199
  if ( ! ctype_digit( $term ) ) {
200
  // skip anything that doesn't look like an ID
201
  continue;
616
  if ( ! empty( $media_results['errors'] ) )
617
  $return['media_errors'] = $media_results['errors'];
618
 
619
+ if ( ! $new && 'publish' !== $post->post_status && isset( $input['title'] ) ) {
620
  $return['other_URLs'] = (object) $this->get_post_permalink_suggestions( $post_id, $input['title'] );
621
  }
622
 
json-endpoints/jetpack/class.jetpack-json-api-core-modify-endpoint.php CHANGED
@@ -34,6 +34,15 @@ class Jetpack_JSON_API_Core_Modify_Endpoint extends Jetpack_JSON_API_Core_Endpoi
34
  $update = $this->find_latest_update_offer();
35
  }
36
 
 
 
 
 
 
 
 
 
 
37
  $skin = new Automatic_Upgrader_Skin();
38
  $upgrader = new Core_Upgrader( $skin );
39
 
34
  $update = $this->find_latest_update_offer();
35
  }
36
 
37
+ /**
38
+ * Pre-upgrade action
39
+ *
40
+ * @since 3.9.3
41
+ *
42
+ * @param object|array $update as returned by find_core_update() or find_core_auto_update()
43
+ */
44
+ do_action('jetpack_pre_core_upgrade', $update);
45
+
46
  $skin = new Automatic_Upgrader_Skin();
47
  $upgrader = new Core_Upgrader( $skin );
48
 
json-endpoints/jetpack/class.jetpack-json-api-modules-endpoint.php CHANGED
@@ -93,13 +93,8 @@ abstract class Jetpack_JSON_API_Modules_Endpoint extends Jetpack_JSON_API_Endpoi
93
 
94
  // Fetch the HTML formatted long description
95
  ob_start();
96
- if ( Jetpack::is_active() && has_action( 'jetpack_module_more_info_connected_' . $module_slug ) ) {
97
- /** This action is documented in class.jetpack-modules-list-table.php */
98
- do_action( 'jetpack_module_more_info_connected_' . $module_slug );
99
- } else {
100
- /** This action is documented in class.jetpack-modules-list-table.php */
101
- do_action( 'jetpack_module_more_info_' . $module_slug );
102
- }
103
  $module['description'] = ob_get_clean();
104
 
105
  return $module;
93
 
94
  // Fetch the HTML formatted long description
95
  ob_start();
96
+ /** This action is documented in class.jetpack-modules-list-table.php */
97
+ do_action( 'jetpack_module_more_info_' . $module_slug );
 
 
 
 
 
98
  $module['description'] = ob_get_clean();
99
 
100
  return $module;
json-endpoints/jetpack/class.jetpack-json-api-plugins-install-endpoint.php CHANGED
@@ -8,15 +8,15 @@ class Jetpack_JSON_API_Plugins_Install_Endpoint extends Jetpack_JSON_API_Plugins
8
  // POST /sites/%s/plugins/%s/install
9
  protected $needed_capabilities = 'install_plugins';
10
  protected $action = 'install';
11
- protected $download_links = array();
12
 
13
  protected function install() {
14
  foreach ( $this->plugins as $index => $slug ) {
15
 
16
  $skin = new Jetpack_Automatic_Plugin_Install_Skin();
17
  $upgrader = new Plugin_Upgrader( $skin );
 
18
 
19
- $result = $upgrader->install( $this->download_links[ $slug ] );
20
 
21
  if ( ! $this->bulk && is_wp_error( $result ) ) {
22
  return $result;
@@ -38,6 +38,12 @@ class Jetpack_JSON_API_Plugins_Install_Endpoint extends Jetpack_JSON_API_Plugins
38
  }
39
 
40
  if ( ! $this->bulk && isset( $error ) ) {
 
 
 
 
 
 
41
  return new WP_Error( $error_code, $this->log[ $slug ]['error'], 400 );
42
  }
43
 
@@ -52,36 +58,40 @@ class Jetpack_JSON_API_Plugins_Install_Endpoint extends Jetpack_JSON_API_Plugins
52
  return new WP_Error( 'missing_plugins', __( 'No plugins found.', 'jetpack' ) );
53
  }
54
  foreach( $this->plugins as $index => $slug ) {
55
-
56
  // make sure it is not already installed
57
  if ( self::get_plugin_id_by_slug( $slug ) ) {
58
  return new WP_Error( 'plugin_already_installed', __( 'The plugin is already installed', 'jetpack' ) );
59
  }
60
 
61
- $response = wp_remote_get( "http://api.wordpress.org/plugins/info/1.0/$slug" );
62
- $plugin_data = unserialize( $response['body'] );
63
- if ( is_wp_error( $plugin_data ) ) {
64
- return $plugin_data;
65
- }
66
-
67
- $this->download_links[ $slug ] = $plugin_data->download_link;
68
-
69
  }
70
  return true;
71
  }
72
 
 
 
 
 
73
  protected static function get_plugin_id_by_slug( $slug ) {
74
  $plugins = get_plugins();
75
  if ( ! is_array( $plugins ) ) {
76
  return false;
77
  }
78
- foreach( $plugins as $id => $plugin_data ) {
79
- if ( strpos( $id, $slug ) !== false ) {
80
- return $id;
81
  }
82
  }
83
  return false;
84
  }
 
 
 
 
 
 
 
 
 
85
  }
86
  /**
87
  * Allows us to capture that the site doesn't have proper file system access.
8
  // POST /sites/%s/plugins/%s/install
9
  protected $needed_capabilities = 'install_plugins';
10
  protected $action = 'install';
 
11
 
12
  protected function install() {
13
  foreach ( $this->plugins as $index => $slug ) {
14
 
15
  $skin = new Jetpack_Automatic_Plugin_Install_Skin();
16
  $upgrader = new Plugin_Upgrader( $skin );
17
+ $zip_url = self::generate_wordpress_org_plugin_download_link( $slug );
18
 
19
+ $result = $upgrader->install( $zip_url );
20
 
21
  if ( ! $this->bulk && is_wp_error( $result ) ) {
22
  return $result;
38
  }
39
 
40
  if ( ! $this->bulk && isset( $error ) ) {
41
+
42
+ if ( 'download_failed' === $error_code ) {
43
+ // For backwards compatibility: versions prior to 3.9 would return no_package instead of download_failed.
44
+ $error_code = 'no_package';
45
+ }
46
+
47
  return new WP_Error( $error_code, $this->log[ $slug ]['error'], 400 );
48
  }
49
 
58
  return new WP_Error( 'missing_plugins', __( 'No plugins found.', 'jetpack' ) );
59
  }
60
  foreach( $this->plugins as $index => $slug ) {
 
61
  // make sure it is not already installed
62
  if ( self::get_plugin_id_by_slug( $slug ) ) {
63
  return new WP_Error( 'plugin_already_installed', __( 'The plugin is already installed', 'jetpack' ) );
64
  }
65
 
 
 
 
 
 
 
 
 
66
  }
67
  return true;
68
  }
69
 
70
+ protected static function generate_wordpress_org_plugin_download_link( $plugin_slug ) {
71
+ return "https://downloads.wordpress.org/plugin/{$plugin_slug}.latest-stable.zip";
72
+ }
73
+
74
  protected static function get_plugin_id_by_slug( $slug ) {
75
  $plugins = get_plugins();
76
  if ( ! is_array( $plugins ) ) {
77
  return false;
78
  }
79
+ foreach( $plugins as $plugin_file => $plugin_data ) {
80
+ if ( self::get_slug_from_file_path( $plugin_file ) === $slug ) {
81
+ return $plugin_file;
82
  }
83
  }
84
  return false;
85
  }
86
+
87
+ protected static function get_slug_from_file_path( $plugin_file ) {
88
+ // Simular to get_plugin_slug() method.
89
+ $slug = dirname( $plugin_file );
90
+ if ( '.' === $slug ) {
91
+ $slug = preg_replace("/(.+)\.php$/", "$1", $plugin_file );
92
+ }
93
+ return $slug;
94
+ }
95
  }
96
  /**
97
  * Allows us to capture that the site doesn't have proper file system access.
json-endpoints/jetpack/class.jetpack-json-api-plugins-modify-endpoint.php CHANGED
@@ -155,6 +155,17 @@ class Jetpack_JSON_API_Plugins_Modify_Endpoint extends Jetpack_JSON_API_Plugins_
155
  continue;
156
  }
157
 
 
 
 
 
 
 
 
 
 
 
 
158
  $update_attempted = true;
159
 
160
  // Object created inside the for loop to clean the messages for each plugin
155
  continue;
156
  }
157
 
158
+ /**
159
+ * Pre-upgrade action
160
+ *
161
+ * @since 3.9.3
162
+ *
163
+ * @param array $plugin Plugin data
164
+ * @param array $plugin Array of plugin objects
165
+ * @param bool $updated_attempted false for the first update, true subsequently
166
+ */
167
+ do_action('jetpack_pre_plugin_upgrade', $plugin, $this->plugins, $update_attempted);
168
+
169
  $update_attempted = true;
170
 
171
  // Object created inside the for loop to clean the messages for each plugin
json-endpoints/jetpack/class.jetpack-json-api-themes-modify-endpoint.php CHANGED
@@ -40,6 +40,15 @@ class Jetpack_JSON_API_Themes_Modify_Endpoint extends Jetpack_JSON_API_Themes_En
40
  wp_update_themes();
41
 
42
  foreach ( $this->themes as $theme ) {
 
 
 
 
 
 
 
 
 
43
  // Objects created inside the for loop to clean the messages for each theme
44
  $skin = new Automatic_Upgrader_Skin();
45
  $upgrader = new Theme_Upgrader( $skin );
@@ -55,4 +64,4 @@ class Jetpack_JSON_API_Themes_Modify_Endpoint extends Jetpack_JSON_API_Themes_En
55
  return true;
56
  }
57
 
58
- }
40
  wp_update_themes();
41
 
42
  foreach ( $this->themes as $theme ) {
43
+ /**
44
+ * Pre-upgrade action
45
+ *
46
+ * @since 3.9.3
47
+ *
48
+ * @param object $theme WP_Theme object
49
+ * @param array $themes Array of theme objects
50
+ */
51
+ do_action('jetpack_pre_theme_upgrade', $theme, $this->themes);
52
  // Objects created inside the for loop to clean the messages for each theme
53
  $skin = new Automatic_Upgrader_Skin();
54
  $upgrader = new Theme_Upgrader( $skin );
64
  return true;
65
  }
66
 
67
+ }
json-endpoints/jetpack/class.wpcom-json-api-update-option-endpoint.php CHANGED
@@ -14,10 +14,18 @@ class WPCOM_JSON_API_Update_Option_Endpoint extends WPCOM_JSON_API_Get_Option_En
14
 
15
  function validate_input( $object ) {
16
  $input = $this->input();
 
17
  if ( ! isset( $input['option_value'] ) || is_array( $input['option_value'] ) ) {
18
  return new WP_Error( 'option_value_not_set', __( 'You must specify an option_value', 'jetpack' ) );
19
  }
20
- $this->option_value = $input['option_value'];
 
 
 
 
 
 
 
21
  return parent::validate_input( $object );
22
  }
23
  }
14
 
15
  function validate_input( $object ) {
16
  $input = $this->input();
17
+ $query_args = $this->query_args();
18
  if ( ! isset( $input['option_value'] ) || is_array( $input['option_value'] ) ) {
19
  return new WP_Error( 'option_value_not_set', __( 'You must specify an option_value', 'jetpack' ) );
20
  }
21
+ if ( $query_args['is_array'] ) {
22
+ // When converted back from JSON, the value is an object.
23
+ // Cast it to an array for options that expect arrays.
24
+ $this->option_value = (array) $input['option_value'];
25
+ } else {
26
+ $this->option_value = $input['option_value'];
27
+ }
28
+
29
  return parent::validate_input( $object );
30
  }
31
  }
json-endpoints/jetpack/json-api-jetpack-endpoints.php CHANGED
@@ -633,9 +633,9 @@ new WPCOM_JSON_API_Get_Option_Endpoint( array (
633
  'site_option' => '(bool=false) True if the option is a site option.',
634
  ),
635
  'response_format' => array(
636
- 'option_value' => '(string|array) The value of the option.',
637
  ),
638
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/options?option_name=blogname',
639
  'example_request_data' => array(
640
  'headers' => array( 'authorization' => 'Bearer YOUR_API_TOKEN' ),
641
  ),
@@ -655,14 +655,15 @@ new WPCOM_JSON_API_Update_Option_Endpoint( array (
655
  'query_parameters' => array(
656
  'option_name' => '(string) The name of the option to fetch.',
657
  'site_option' => '(bool=false) True if the option is a site option.',
 
658
  ),
659
  'request_format' => array(
660
- 'option_value' => '(string) The new value of the option.',
661
  ),
662
  'response_format' => array(
663
- 'option_value' => '(string) The value of the updated option.',
664
  ),
665
- 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/options',
666
  'example_request_data' => array(
667
  'headers' => array( 'authorization' => 'Bearer YOUR_API_TOKEN' ),
668
  'body' => array(
633
  'site_option' => '(bool=false) True if the option is a site option.',
634
  ),
635
  'response_format' => array(
636
+ 'option_value' => '(string|object) The value of the option.',
637
  ),
638
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/option?option_name=blogname',
639
  'example_request_data' => array(
640
  'headers' => array( 'authorization' => 'Bearer YOUR_API_TOKEN' ),
641
  ),
655
  'query_parameters' => array(
656
  'option_name' => '(string) The name of the option to fetch.',
657
  'site_option' => '(bool=false) True if the option is a site option.',
658
+ 'is_array' => '(bool=false) True if the value should be converted to an array before saving.',
659
  ),
660
  'request_format' => array(
661
+ 'option_value' => '(string|object) The new value of the option.',
662
  ),
663
  'response_format' => array(
664
+ 'option_value' => '(string|object) The value of the updated option.',
665
  ),
666
+ 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/82974409/option',
667
  'example_request_data' => array(
668
  'headers' => array( 'authorization' => 'Bearer YOUR_API_TOKEN' ),
669
  'body' => array(
languages/jetpack-ar.mo DELETED
Binary file
languages/jetpack-de_DE.mo DELETED
Binary file
languages/jetpack-es_ES.mo DELETED
Binary file
languages/jetpack-fi.mo DELETED
Binary file
languages/jetpack-fr_FR.mo DELETED
Binary file
languages/jetpack-he_IL.mo DELETED
Binary file
languages/jetpack-id_ID.mo DELETED
Binary file
languages/jetpack-it_IT.mo DELETED
Binary file
languages/jetpack-ja.mo DELETED
Binary file
languages/jetpack-ko_KR.mo DELETED
Binary file
languages/jetpack-nl_NL.mo DELETED
Binary file
languages/jetpack-pt_BR.mo DELETED
Binary file
languages/jetpack-ro_RO.mo DELETED
Binary file
languages/jetpack-ru_RU.mo DELETED
Binary file
languages/jetpack-sq.mo DELETED
Binary file
languages/jetpack-sv_SE.mo DELETED
Binary file
languages/jetpack-tr_TR.mo DELETED
Binary file
languages/jetpack-zh_CN.mo DELETED
Binary file
languages/jetpack-zh_TW.mo DELETED
Binary file
locales.php CHANGED
@@ -52,7 +52,7 @@ class GP_Locale {
52
 
53
  public function combined_name() {
54
  /* translators: combined name for locales: 1: name in English, 2: native name */
55
- return sprintf( _x( '%1$s/%2$s', 'locales' ), $this->english_name, $this->native_name );
56
  }
57
 
58
  public function numbers_for_index( $index, $how_many = 3, $test_up_to = 1000 ) {
@@ -554,7 +554,6 @@ class GP_Locales {
554
  $en_au->wp_locale = 'en_AU';
555
  $en_au->slug = 'en-au';
556
  $en_au->google_code = 'en';
557
- $en_au->facebook_locale = 'en_AU';
558
 
559
  $en_ca = new GP_Locale();
560
  $en_ca->english_name = 'English (Canada)';
@@ -566,7 +565,6 @@ class GP_Locales {
566
  $en_ca->wp_locale = 'en_CA';
567
  $en_ca->slug = 'en-ca';
568
  $en_ca->google_code = 'en';
569
- $en_ca->facebook_locale = 'en_CA';
570
 
571
  $en_gb = new GP_Locale();
572
  $en_gb->english_name = 'English (UK)';
52
 
53
  public function combined_name() {
54
  /* translators: combined name for locales: 1: name in English, 2: native name */
55
+ return sprintf( _x( '%1$s/%2$s', 'locales', 'jetpack' ), $this->english_name, $this->native_name );
56
  }
57
 
58
  public function numbers_for_index( $index, $how_many = 3, $test_up_to = 1000 ) {
554
  $en_au->wp_locale = 'en_AU';
555
  $en_au->slug = 'en-au';
556
  $en_au->google_code = 'en';
 
557
 
558
  $en_ca = new GP_Locale();
559
  $en_ca->english_name = 'English (Canada)';
565
  $en_ca->wp_locale = 'en_CA';
566
  $en_ca->slug = 'en-ca';
567
  $en_ca->google_code = 'en';
 
568
 
569
  $en_gb = new GP_Locale();
570
  $en_gb->english_name = 'English (UK)';
modules/after-the-deadline/atd-nonvis-editor-plugin.js CHANGED
@@ -4,9 +4,9 @@
4
 
5
  var AtD_qtbutton, autosave;
6
  /* convienence method to restore the text area from the preview div */
7
- function AtD_restore_text_area()
8
- {
9
  var content;
 
10
  /* swap the preview div for the textarea, notice how I have to restore the appropriate class/id/style attributes */
11
  if( jQuery('#atd-content').get(0) ) {
12
  AtD.remove('atd-content');
@@ -20,6 +20,22 @@ function AtD_restore_text_area()
20
  content = content.replace(/<BR.*?class.*?atd_remove_me.*?>/gi, '\n');
21
  }
22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  // jQuery('#content').replaceWith( AtD.content_canvas );
24
  jQuery('#content').val( content.replace(/\&lt\;/g, '<').replace(/\&gt\;/g, '>').replace(/\&amp;/g, '&') )
25
  .height(AtD.height)
4
 
5
  var AtD_qtbutton, autosave;
6
  /* convienence method to restore the text area from the preview div */
7
+ function AtD_restore_text_area() {
 
8
  var content;
9
+
10
  /* swap the preview div for the textarea, notice how I have to restore the appropriate class/id/style attributes */
11
  if( jQuery('#atd-content').get(0) ) {
12
  AtD.remove('atd-content');
20
  content = content.replace(/<BR.*?class.*?atd_remove_me.*?>/gi, '\n');
21
  }
22
 
23
+ // Remove emoji replacement images
24
+ if ( typeof window.twemoji !== 'undefined' ) {
25
+ content = content.replace( /<img [^>]+>/g, function( img ) {
26
+ // The images should have class containing 'emoji'
27
+ if ( img.indexOf( 'emoji' ) !== -1 ) {
28
+ var alt = img.match( /alt="([^"]+)"/ );
29
+
30
+ if ( alt && alt[1] && window.twemoji.test( alt[1] ) ) {
31
+ return alt[1];
32
+ }
33
+ }
34
+
35
+ return img;
36
+ });
37
+ }
38
+
39
  // jQuery('#content').replaceWith( AtD.content_canvas );
40
  jQuery('#content').val( content.replace(/\&lt\;/g, '<').replace(/\&gt\;/g, '>').replace(/\&amp;/g, '&') )
41
  .height(AtD.height)
modules/after-the-deadline/atd.core.js CHANGED
@@ -402,11 +402,24 @@ AtDCore.prototype.markMyWords = function(container_nodes, errors) {
402
  return captured;
403
  }
404
 
 
 
 
 
 
 
 
 
 
 
 
 
 
405
  /* Collect all text nodes */
406
  /* Our goal--ignore nodes that are already wrapped */
407
 
408
  this._walk( container_nodes, function( n ) {
409
- if ( n.nodeType === 3 && ! parent.isMarkedNode( n ) ) {
410
  nl.push( n );
411
  }
412
  });
402
  return captured;
403
  }
404
 
405
+ function _isInPre( node ) {
406
+ if ( node ) {
407
+ while ( node.parentNode ) {
408
+ if ( node.nodeName === 'PRE' ) {
409
+ return true;
410
+ }
411
+ node = node.parentNode;
412
+ }
413
+ }
414
+
415
+ return false;
416
+ }
417
+
418
  /* Collect all text nodes */
419
  /* Our goal--ignore nodes that are already wrapped */
420
 
421
  this._walk( container_nodes, function( n ) {
422
+ if ( n.nodeType === 3 && ! parent.isMarkedNode( n ) && ! _isInPre( n ) ) {
423
  nl.push( n );
424
  }
425
  });
modules/carousel/jetpack-carousel.js CHANGED
@@ -86,7 +86,7 @@ jQuery(document).ready(function($) {
86
 
87
  buttons = $('<div class="jp-carousel-buttons">' + buttons + '</div>');
88
 
89
- caption = $('<h2></h2>');
90
  photo_info = $('<div class="jp-carousel-photo-info"></div>').append(caption);
91
 
92
  imageMeta = $('<div></div>')
@@ -226,11 +226,14 @@ jQuery(document).ready(function($) {
226
  container = $('<div></div>')
227
  .addClass('jp-carousel-wrap')
228
  .addClass( 'jp-carousel-transitions' );
229
-
230
  if ( 'white' === jetpackCarouselStrings.background_color ) {
231
  container.addClass('jp-carousel-light');
232
  }
233
 
 
 
 
 
234
  container.css({
235
  'position' : 'fixed',
236
  'top' : 0,
@@ -902,7 +905,7 @@ jQuery(document).ready(function($) {
902
  .css( 'width', '100%' )
903
  .css( 'height', '100%' );
904
 
905
- var slide = $('<div class="jp-carousel-slide"></div>')
906
  .hide()
907
  .css({
908
  //'position' : 'fixed',
@@ -964,7 +967,7 @@ jQuery(document).ready(function($) {
964
  var imageLinkParser = document.createElement( 'a' );
965
  imageLinkParser.href = args.large_file;
966
 
967
- var isPhotonUrl = ( imageLinkParser.hostname.match(/^i[\d]{1}.wp.com$/i) != null );
968
 
969
  var medium_size_parts = gallery.jp_carousel( 'getImageSizeParts', args.medium_file, args.orig_width, isPhotonUrl );
970
  var large_size_parts = gallery.jp_carousel( 'getImageSizeParts', args.large_file, args.orig_width, isPhotonUrl );
@@ -988,6 +991,17 @@ jQuery(document).ready(function($) {
988
  return args.medium_file;
989
  }
990
 
 
 
 
 
 
 
 
 
 
 
 
991
  return args.orig_file;
992
  },
993
 
@@ -1002,11 +1016,11 @@ jQuery(document).ready(function($) {
1002
 
1003
  // If one of the dimensions is set to 9999, then the actual value of that dimension can't be retrieved from the url.
1004
  // In that case, we set the value to 0.
1005
- if ( size_parts[0] === '9999' ) {
1006
  size_parts[0] = '0';
1007
  }
1008
 
1009
- if ( size_parts[1] === '9999' ) {
1010
  size_parts[1] = '0';
1011
  }
1012
 
@@ -1219,12 +1233,23 @@ jQuery(document).ready(function($) {
1219
  if(!current || !current.data) {
1220
  return false;
1221
  }
1222
- var original = current.data('orig-file').replace(/\?.+$/, ''),
1223
- origSize = current.data('orig-size').split(','),
1224
- permalink = $( '<a>'+gallery.jp_carousel('format', {'text': jetpackCarouselStrings.download_original, 'replacements': origSize})+'</a>' )
1225
- .addClass( 'jp-carousel-image-download' )
1226
- .attr( 'href', original )
1227
- .attr( 'target', '_blank' );
 
 
 
 
 
 
 
 
 
 
 
1228
 
1229
  // Update (replace) the content of the anchor
1230
  $( 'div.jp-carousel-image-meta a.jp-carousel-image-download' ).replaceWith( permalink );
@@ -1425,9 +1450,9 @@ jQuery(document).ready(function($) {
1425
  } );
1426
 
1427
  if ( ! slide.data( 'preview-image' ) || ( slide.data( 'thumb-size' ) && slide.width() > slide.data( 'thumb-size' ).width ) ) {
1428
- image.attr( 'src', image.closest( '.jp-carousel-slide' ).data( 'src' ) );
1429
  } else {
1430
- image.attr( 'src', slide.data( 'preview-image' ) );
1431
  }
1432
 
1433
  image.data( 'loaded', 1 );
@@ -1466,9 +1491,6 @@ jQuery(document).ready(function($) {
1466
 
1467
  // Makes carousel work on page load and when back button leads to same URL with carousel hash (ie: no actual document.ready trigger)
1468
  $( window ).on( 'hashchange', function () {
1469
- if ( 'undefined' === typeof gallery ) {
1470
- return;
1471
- }
1472
 
1473
  var hashRegExp = /jp-carousel-(\d+)/,
1474
  matches, attachmentId, galleries, selectedThumbnail;
86
 
87
  buttons = $('<div class="jp-carousel-buttons">' + buttons + '</div>');
88
 
89
+ caption = $('<h2 itemprop="caption description"></h2>');
90
  photo_info = $('<div class="jp-carousel-photo-info"></div>').append(caption);
91
 
92
  imageMeta = $('<div></div>')
226
  container = $('<div></div>')
227
  .addClass('jp-carousel-wrap')
228
  .addClass( 'jp-carousel-transitions' );
 
229
  if ( 'white' === jetpackCarouselStrings.background_color ) {
230
  container.addClass('jp-carousel-light');
231
  }
232
 
233
+ container.attr('itemscope', '');
234
+
235
+ container.attr('itemtype', 'http://schema.org/ImageGallery');
236
+
237
  container.css({
238
  'position' : 'fixed',
239
  'top' : 0,
905
  .css( 'width', '100%' )
906
  .css( 'height', '100%' );
907
 
908
+ var slide = $('<div class="jp-carousel-slide" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject"></div>')
909
  .hide()
910
  .css({
911
  //'position' : 'fixed',
967
  var imageLinkParser = document.createElement( 'a' );
968
  imageLinkParser.href = args.large_file;
969
 
970
+ var isPhotonUrl = ( imageLinkParser.hostname.match( /^i[\d]{1}.wp.com$/i ) != null );
971
 
972
  var medium_size_parts = gallery.jp_carousel( 'getImageSizeParts', args.medium_file, args.orig_width, isPhotonUrl );
973
  var large_size_parts = gallery.jp_carousel( 'getImageSizeParts', args.large_file, args.orig_width, isPhotonUrl );
991
  return args.medium_file;
992
  }
993
 
994
+ if ( isPhotonUrl ) {
995
+ // args.orig_file doesn't point to a Photon url, so in this case we use args.large_file
996
+ // to return the photon url of the original image.
997
+ var largeFileIndex = args.large_file.lastIndexOf( '?' );
998
+ var origPhotonUrl = args.large_file;
999
+ if ( -1 !== largeFileIndex ) {
1000
+ origPhotonUrl = args.large_file.substring( 0, largeFileIndex );
1001
+ }
1002
+ return origPhotonUrl;
1003
+ }
1004
+
1005
  return args.orig_file;
1006
  },
1007
 
1016
 
1017
  // If one of the dimensions is set to 9999, then the actual value of that dimension can't be retrieved from the url.
1018
  // In that case, we set the value to 0.
1019
+ if ( '9999' === size_parts[0] ) {
1020
  size_parts[0] = '0';
1021
  }
1022
 
1023
+ if ( '9999' === size_parts[1] ) {
1024
  size_parts[1] = '0';
1025
  }
1026
 
1233
  if(!current || !current.data) {
1234
  return false;
1235
  }
1236
+ var original,
1237
+ origSize = current.data('orig-size').split(',' ),
1238
+ imageLinkParser = document.createElement( 'a' );
1239
+
1240
+ imageLinkParser.href = current.data( 'src' ).replace( /\?.+$/, '' );
1241
+
1242
+ // Is this a Photon URL?
1243
+ if ( imageLinkParser.hostname.match( /^i[\d]{1}.wp.com$/i ) !== null ) {
1244
+ original = imageLinkParser.href;
1245
+ } else {
1246
+ original = current.data('orig-file').replace(/\?.+$/, '');
1247
+ }
1248
+
1249
+ var permalink = $( '<a>'+gallery.jp_carousel('format', {'text': jetpackCarouselStrings.download_original, 'replacements': origSize})+'</a>' )
1250
+ .addClass( 'jp-carousel-image-download' )
1251
+ .attr( 'href', original )
1252
+ .attr( 'target', '_blank' );
1253
 
1254
  // Update (replace) the content of the anchor
1255
  $( 'div.jp-carousel-image-meta a.jp-carousel-image-download' ).replaceWith( permalink );
1450
  } );
1451
 
1452
  if ( ! slide.data( 'preview-image' ) || ( slide.data( 'thumb-size' ) && slide.width() > slide.data( 'thumb-size' ).width ) ) {
1453
+ image.attr( 'src', image.closest( '.jp-carousel-slide' ).data( 'src' ) ).attr('itemprop', 'image');
1454
  } else {
1455
+ image.attr( 'src', slide.data( 'preview-image' ) ).attr('itemprop', 'image');
1456
  }
1457
 
1458
  image.data( 'loaded', 1 );
1491
 
1492
  // Makes carousel work on page load and when back button leads to same URL with carousel hash (ie: no actual document.ready trigger)
1493
  $( window ).on( 'hashchange', function () {
 
 
 
1494
 
1495
  var hashRegExp = /jp-carousel-(\d+)/,
1496
  matches, attachmentId, galleries, selectedThumbnail;
modules/carousel/jetpack-carousel.php CHANGED
@@ -132,8 +132,11 @@ class Jetpack_Carousel {
132
  // Bail because someone is overriding the [gallery] shortcode.
133
  remove_filter( 'gallery_style', array( $this, 'add_data_to_container' ) );
134
  remove_filter( 'wp_get_attachment_image_attributes', array( $this, 'add_data_to_images' ) );
135
- // Display message that carousel has bailed, if user is super_admin
136
- if ( is_super_admin() ) {
 
 
 
137
  add_filter( 'post_gallery', array( $this, 'display_bail_message' ) );
138
  }
139
  return $output;
132
  // Bail because someone is overriding the [gallery] shortcode.
133
  remove_filter( 'gallery_style', array( $this, 'add_data_to_container' ) );
134
  remove_filter( 'wp_get_attachment_image_attributes', array( $this, 'add_data_to_images' ) );
135
+ // Display message that carousel has bailed, if user is super_admin, and if we're not on WordPress.com.
136
+ if (
137
+ is_super_admin() &&
138
+ ! ( defined( 'IS_WPCOM' ) && IS_WPCOM )
139
+ ) {
140
  add_filter( 'post_gallery', array( $this, 'display_bail_message' ) );
141
  }
142
  return $output;
modules/carousel/rtl/jetpack-carousel-rtl.css CHANGED
@@ -1,4 +1,4 @@
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 */
@@ -24,6 +24,21 @@ div.jp-carousel-fadeaway {
24
  background-size: 200px 126px;
25
  }
26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  @media
28
  only screen and (-webkit-min-device-pixel-ratio: 1.5),
29
  only screen and (-o-min-device-pixel-ratio: 3/2),
1
+ /* This file was automatically generated on Jul 30 2015 22:37:09 */
2
 
3
  .jp-carousel-wrap * {
4
  line-height:inherit; /* prevent declarations of line-height in the universal selector */
24
  background-size: 200px 126px;
25
  }
26
 
27
+ .jp-carousel-msg {
28
+ font-family: "Open Sans", sans-serif;
29
+ font-style: normal;
30
+ display: inline-block;
31
+ line-height: 19px;
32
+ padding: 11px 15px;
33
+ font-size: 14px;
34
+ text-align: center;
35
+ margin: 25px 2px 0 20px;
36
+ background-color: #fff;
37
+ border-right: 4px solid #ffba00;
38
+ -webkit-box-shadow: 0 0 1px 1px rgba(0,0,0,0.1);
39
+ box-shadow: 0 0 1px 1px rgba(0,0,0,0.1);
40
+ }
41
+
42
  @media
43
  only screen and (-webkit-min-device-pixel-ratio: 1.5),
44
  only screen and (-o-min-device-pixel-ratio: 3/2),
modules/comments/comments.php CHANGED
@@ -279,8 +279,7 @@ class Jetpack_Comments extends Highlander_Comments_Base {
279
  }
280
 
281
  $params['sig'] = $signature;
282
- $url_origin = set_url_scheme( 'http://jetpack.wordpress.com' );
283
- $url = "{$url_origin}/jetpack-comment/?" . http_build_query( $params );
284
  $url = "{$url}#parent=" . urlencode( set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ) );
285
  $this->signed_url = $url;
286
  $height = $params['comment_registration'] || is_user_logged_in() ? '315' : '430'; // Iframe can be shorter if we're not allowing guest commenting
@@ -295,9 +294,9 @@ class Jetpack_Comments extends Highlander_Comments_Base {
295
 
296
  <div id="respond" class="comment-respond">
297
  <h3 id="reply-title" class="comment-reply-title"><?php comment_form_title( esc_html( $params['greeting'] ), esc_html( $params['greeting_reply'] ) ); ?> <small><?php cancel_comment_reply_link( esc_html__( 'Cancel reply' , 'jetpack') ); ?></small></h3>
298
- <div id="commentform" class="comment-form">
299
- <iframe src="<?php echo esc_url( $url ); ?>" allowtransparency="<?php echo $transparent; ?>" style="width:100%; height: <?php echo $height; ?>px;border:0px;" frameBorder="0" scrolling="no" name="jetpack_remote_comment" id="jetpack_remote_comment"></iframe>
300
- </div>
301
  </div>
302
 
303
  <?php // Below is required for comment reply JS to work ?>
@@ -313,7 +312,7 @@ class Jetpack_Comments extends Highlander_Comments_Base {
313
  * @since JetpackComments (1.4)
314
  */
315
  public function watch_comment_parent() {
316
- $url_origin = set_url_scheme( 'http://jetpack.wordpress.com' );
317
  ?>
318
 
319
  <!--[if IE]>
279
  }
280
 
281
  $params['sig'] = $signature;
282
+ $url = "https://jetpack.wordpress.com/jetpack-comment/?" . http_build_query( $params );
 
283
  $url = "{$url}#parent=" . urlencode( set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ) );
284
  $this->signed_url = $url;
285
  $height = $params['comment_registration'] || is_user_logged_in() ? '315' : '430'; // Iframe can be shorter if we're not allowing guest commenting
294
 
295
  <div id="respond" class="comment-respond">
296
  <h3 id="reply-title" class="comment-reply-title"><?php comment_form_title( esc_html( $params['greeting'] ), esc_html( $params['greeting_reply'] ) ); ?> <small><?php cancel_comment_reply_link( esc_html__( 'Cancel reply' , 'jetpack') ); ?></small></h3>
297
+ <form id="commentform" class="comment-form">
298
+ <iframe src="<?php echo esc_url( $url ); ?>" allowtransparency="<?php echo $transparent; ?>" style="width:100%; height: <?php echo $height; ?>px;border:0;" frameBorder="0" scrolling="no" name="jetpack_remote_comment" id="jetpack_remote_comment"></iframe>
299
+ </form>
300
  </div>
301
 
302
  <?php // Below is required for comment reply JS to work ?>
312
  * @since JetpackComments (1.4)
313
  */
314
  public function watch_comment_parent() {
315
+ $url_origin = 'https://jetpack.wordpress.com';
316
  ?>
317
 
318
  <!--[if IE]>
modules/contact-form/admin.php CHANGED
@@ -298,10 +298,10 @@ function grunion_manage_post_columns( $col, $post_id ) {
298
 
299
  switch ( $col ) {
300
  case 'feedback_from':
301
- $author_name = $content_fields['_feedback_author'];
302
- $author_email = $content_fields['_feedback_author_email'];
303
- $author_url = $content_fields['_feedback_author_url'];
304
- $author_ip = $content_fields['_feedback_ip'];
305
  $form_url = isset( $post->post_parent ) ? get_permalink( $post->post_parent ) : null;
306
 
307
  $author_name_line = '';
@@ -334,9 +334,12 @@ function grunion_manage_post_columns( $col, $post_id ) {
334
 
335
  case 'feedback_message':
336
  $post_type_object = get_post_type_object( $post->post_type );
337
- echo '<strong>';
338
- echo esc_html( $content_fields['_feedback_subject'] );
339
- echo '</strong><br />';
 
 
 
340
  echo sanitize_text_field( get_the_content( '' ) );
341
  echo '<br />';
342
 
298
 
299
  switch ( $col ) {
300
  case 'feedback_from':
301
+ $author_name = isset( $content_fields['_feedback_author'] ) ? $content_fields['_feedback_author'] : '';
302
+ $author_email = isset( $content_fields['_feedback_author_email'] ) ? $content_fields['_feedback_author_email'] : '';
303
+ $author_url = isset( $content_fields['_feedback_author_url'] ) ? $content_fields['_feedback_author_url'] : '';
304
+ $author_ip = isset( $content_fields['_feedback_ip'] ) ? $content_fields['_feedback_ip'] : '';
305
  $form_url = isset( $post->post_parent ) ? get_permalink( $post->post_parent ) : null;
306
 
307
  $author_name_line = '';
334
 
335
  case 'feedback_message':
336
  $post_type_object = get_post_type_object( $post->post_type );
337
+ if ( isset( $content_fields['_feedback_subject'] ) ) {
338
+ echo '<strong>';
339
+ echo esc_html( $content_fields['_feedback_subject'] );
340
+ echo '</strong>';
341
+ echo '<br />';
342
+ }
343
  echo sanitize_text_field( get_the_content( '' ) );
344
  echo '<br />';
345
 
modules/contact-form/grunion-contact-form.php CHANGED
@@ -33,12 +33,32 @@ class Grunion_Contact_Form_Plugin {
33
 
34
  if ( !$instance ) {
35
  $instance = new Grunion_Contact_Form_Plugin;
 
 
 
36
  }
37
 
38
  return $instance;
39
  }
40
 
41
  /**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  * Strips HTML tags from input. Output is NOT HTML safe.
43
  *
44
  * @param mixed $data_with_tags
@@ -106,7 +126,21 @@ class Grunion_Contact_Form_Plugin {
106
  'public' => FALSE,
107
  'rewrite' => FALSE,
108
  'query_var' => FALSE,
109
- 'capability_type' => 'page'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  ) );
111
 
112
  // Add to REST API post type whitelist
@@ -378,11 +412,22 @@ class Grunion_Contact_Form_Plugin {
378
  $form['referrer'] = $_SERVER['HTTP_REFERER'];
379
  $form['blog'] = get_option( 'home' );
380
 
381
- $ignore = array( 'HTTP_COOKIE' );
382
-
383
- foreach ( $_SERVER as $k => $value )
384
- if ( !in_array( $k, $ignore ) && is_string( $value ) )
385
- $form["$k"] = $value;
 
 
 
 
 
 
 
 
 
 
 
386
 
387
  return $form;
388
  }
@@ -514,6 +559,200 @@ class Grunion_Contact_Form_Plugin {
514
  <?php
515
  }
516
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
517
  /**
518
  * download as a csv a contact form or all of them in a csv file
519
  */
@@ -545,13 +784,35 @@ class Grunion_Contact_Form_Plugin {
545
  }
546
 
547
  $feedbacks = get_posts( $args );
 
 
 
 
 
548
  $filename = sanitize_file_name( $filename );
549
- $fields = $this->get_field_names( $feedbacks );
550
 
551
- array_unshift( $fields, __( 'Contact Form', 'jetpack' ) );
 
 
 
552
 
553
- if ( empty( $feedbacks ) )
 
 
 
554
  return;
 
 
 
 
 
 
 
 
 
 
 
 
555
 
556
  // Forces the download of the CSV instead of echoing
557
  header( 'Content-Disposition: attachment; filename=' . $filename );
@@ -561,12 +822,30 @@ class Grunion_Contact_Form_Plugin {
561
 
562
  $output = fopen( 'php://output', 'w' );
563
 
564
- // Prints the header
 
 
565
  fputcsv( $output, $fields );
566
 
567
- // Create the csv string from the array of post ids
568
- foreach ( $feedbacks as $feedback ) {
569
- fputcsv( $output, self::make_csv_row_from_feedback( $feedback, $fields ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
570
  }
571
 
572
  fclose( $output );
@@ -610,7 +889,10 @@ class Grunion_Contact_Form_Plugin {
610
  * Get the names of all the form's fields
611
  *
612
  * @param array|int $posts the post we want the fields of
 
613
  * @return array the array of fields
 
 
614
  */
615
  protected function get_field_names( $posts ) {
616
  $posts = (array) $posts;
@@ -688,6 +970,8 @@ class Grunion_Contact_Form_Plugin {
688
  * @param int $post_id The id of the post
689
  * @param array $fields An array containing the names of all the fields of the csv
690
  * @return String The csv row
 
 
691
  */
692
  protected static function make_csv_row_from_feedback( $post_id, $fields ) {
693
  $content_fields = self::parse_fields_from_content( $post_id );
@@ -1506,6 +1790,12 @@ class Grunion_Contact_Form extends Crunion_Contact_Form_Shortcode {
1506
  foreach ( array_merge( $field_ids['all'], $field_ids['extra'] ) as $field_id ) {
1507
  $field = $this->fields[$field_id];
1508
 
 
 
 
 
 
 
1509
  // Normalize the label into a slug.
1510
  $field_slug = trim( // Strip all leading/trailing dashes.
1511
  preg_replace( // Normalize everything to a-z0-9_-
@@ -1615,7 +1905,10 @@ class Grunion_Contact_Form extends Crunion_Contact_Form_Shortcode {
1615
  remove_filter( 'wp_insert_post_data', array( $plugin, 'insert_feedback_filter' ), 10, 2 );
1616
 
1617
  update_post_meta( $post_id, '_feedback_extra_fields', $this->addslashes_deep( $extra_values ) );
1618
- update_post_meta( $post_id, '_feedback_akismet_values', $this->addslashes_deep( $akismet_values ) );
 
 
 
1619
 
1620
  $message = self::get_compiled_form( $post_id, $this );
1621
 
@@ -1641,7 +1934,7 @@ class Grunion_Contact_Form extends Crunion_Contact_Form_Shortcode {
1641
  array_push( $message, __( 'Sent by an unverified visitor to your site.', 'jetpack' ) );
1642
  }
1643
 
1644
- $message = join( $message, "" );
1645
  /**
1646
  * Filters the message sent via email after a successfull form submission.
1647
  *
@@ -1789,6 +2082,7 @@ class Grunion_Contact_Form_Field extends Crunion_Contact_Form_Shortcode {
1789
  'id' => null,
1790
  'default' => null,
1791
  'placeholder' => null,
 
1792
  ), $attributes, 'contact-field' );
1793
 
1794
  // special default for subject field
@@ -1878,7 +2172,15 @@ class Grunion_Contact_Form_Field extends Crunion_Contact_Form_Shortcode {
1878
  $field_type = $this->get_attribute( 'type' );
1879
  $field_label = $this->get_attribute( 'label' );
1880
 
1881
- $field_value = isset( $_POST[$field_id] ) ? stripslashes( $_POST[$field_id] ) : '';
 
 
 
 
 
 
 
 
1882
 
1883
  switch ( $field_type ) {
1884
  case 'email' :
@@ -1887,6 +2189,12 @@ class Grunion_Contact_Form_Field extends Crunion_Contact_Form_Shortcode {
1887
  $this->add_error( sprintf( __( '%s requires a valid email address', 'jetpack' ), $field_label ) );
1888
  }
1889
  break;
 
 
 
 
 
 
1890
  default :
1891
  // Just check for presence of any text
1892
  if ( !strlen( trim( $field_value ) ) ) {
@@ -1910,7 +2218,9 @@ class Grunion_Contact_Form_Field extends Crunion_Contact_Form_Shortcode {
1910
  $field_label = $this->get_attribute( 'label' );
1911
  $field_required = $this->get_attribute( 'required' );
1912
  $placeholder = $this->get_attribute( 'placeholder' );
 
1913
  $field_placeholder = ( ! empty( $placeholder ) ) ? "placeholder='" . esc_attr( $placeholder ) . "'" : '';
 
1914
 
1915
  if ( isset( $_POST[ $field_id ] ) ) {
1916
  if ( is_array( $_POST[ $field_id ] ) ) {
@@ -1956,29 +2266,40 @@ class Grunion_Contact_Form_Field extends Crunion_Contact_Form_Shortcode {
1956
  $field_value = Grunion_Contact_Form_Plugin::strip_tags( $this->value );
1957
  $field_label = Grunion_Contact_Form_Plugin::strip_tags( $field_label );
1958
 
 
 
 
 
 
 
 
 
 
 
 
1959
  switch ( $field_type ) {
1960
  case 'email' :
1961
  $r .= "\n<div>\n";
1962
- $r .= "\t\t<label for='" . esc_attr( $field_id ) . "' class='grunion-field-label email" . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . __( "(required)", 'jetpack' ) . '</span>' : '' ) . "</label>\n";
1963
- $r .= "\t\t<input type='email' name='" . esc_attr( $field_id ) . "' id='" . esc_attr( $field_id ) . "' value='" . esc_attr( $field_value ) . "' class='email' " . $field_placeholder . " " . ( $field_required ? "required aria-required='true'" : "" ) . "/>\n";
1964
  $r .= "\t</div>\n";
1965
  break;
1966
  case 'telephone' :
1967
  $r .= "\n<div>\n";
1968
- $r .= "\t\t<label for='" . esc_attr( $field_id ) . "' class='grunion-field-label telephone" . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . __( "(required)", 'jetpack' ) . '</span>' : '' ) . "</label>\n";
1969
- $r .= "\t\t<input type='tel' name='" . esc_attr( $field_id ) . "' id='" . esc_attr( $field_id ) . "' value='" . esc_attr( $field_value ) . "' class='telephone' " . $field_placeholder . "/>\n";
1970
  case 'textarea' :
1971
  $r .= "\n<div>\n";
1972
- $r .= "\t\t<label for='contact-form-comment-" . esc_attr( $field_id ) . "' class='grunion-field-label textarea" . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . __( "(required)", 'jetpack' ) . '</span>' : '' ) . "</label>\n";
1973
- $r .= "\t\t<textarea name='" . esc_attr( $field_id ) . "' id='contact-form-comment-" . esc_attr( $field_id ) . "' rows='20' " . $field_placeholder . " " . ( $field_required ? "required aria-required='true'" : "" ) . ">" . esc_textarea( $field_value ) . "</textarea>\n";
1974
  $r .= "\t</div>\n";
1975
  break;
1976
  case 'radio' :
1977
- $r .= "\t<div><label class='grunion-field-label" . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . __( "(required)", 'jetpack' ) . '</span>' : '' ) . "</label>\n";
1978
  foreach ( $this->get_attribute( 'options' ) as $option ) {
1979
  $option = Grunion_Contact_Form_Plugin::strip_tags( $option );
1980
  $r .= "\t\t<label class='grunion-radio-label radio" . ( $this->is_error() ? ' form-error' : '' ) . "'>";
1981
- $r .= "<input type='radio' name='" . esc_attr( $field_id ) . "' value='" . esc_attr( $option ) . "' class='radio' " . checked( $option, $field_value, false ) . " " . ( $field_required ? "required aria-required='true'" : "" ) . "/> ";
1982
  $r .= esc_html( $option ) . "</label>\n";
1983
  $r .= "\t\t<div class='clear-form'></div>\n";
1984
  }
@@ -1987,17 +2308,17 @@ class Grunion_Contact_Form_Field extends Crunion_Contact_Form_Shortcode {
1987
  case 'checkbox' :
1988
  $r .= "\t<div>\n";
1989
  $r .= "\t\t<label class='grunion-field-label checkbox" . ( $this->is_error() ? ' form-error' : '' ) . "'>\n";
1990
- $r .= "\t\t<input type='checkbox' name='" . esc_attr( $field_id ) . "' value='" . esc_attr__( 'Yes', 'jetpack' ) . "' class='checkbox' " . checked( (bool) $field_value, true, false ) . " " . ( $field_required ? "required aria-required='true'" : "" ) . "/> \n";
1991
- $r .= "\t\t" . esc_html( $field_label ) . ( $field_required ? '<span>'. __( "(required)", 'jetpack' ) . '</span>' : '' ) . "</label>\n";
1992
  $r .= "\t\t<div class='clear-form'></div>\n";
1993
  $r .= "\t</div>\n";
1994
  break;
1995
  case 'checkbox-multiple' :
1996
- $r .= "\t<div><label class='grunion-field-label" . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . __( "(required)", 'jetpack' ) . '</span>' : '' ) . "</label>\n";
1997
  foreach ( $this->get_attribute( 'options' ) as $option ) {
1998
  $option = Grunion_Contact_Form_Plugin::strip_tags( $option );
1999
  $r .= "\t\t<label class='grunion-checkbox-multiple-label checkbox-multiple" . ( $this->is_error() ? ' form-error' : '' ) . "'>";
2000
- $r .= "<input type='checkbox' name='" . esc_attr( $field_id ) . "[]' value='" . esc_attr( $option ) . "' class='checkbox-multiple' " . checked( in_array( $option, (array) $field_value ), true, false ) . " /> ";
2001
  $r .= esc_html( $option ) . "</label>\n";
2002
  $r .= "\t\t<div class='clear-form'></div>\n";
2003
  }
@@ -2005,8 +2326,8 @@ class Grunion_Contact_Form_Field extends Crunion_Contact_Form_Shortcode {
2005
  break;
2006
  case 'select' :
2007
  $r .= "\n<div>\n";
2008
- $r .= "\t\t<label for='" . esc_attr( $field_id ) . "' class='grunion-field-label select" . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>'. __( "(required)", 'jetpack' ) . '</span>' : '' ) . "</label>\n";
2009
- $r .= "\t<select name='" . esc_attr( $field_id ) . "' id='" . esc_attr( $field_id ) . "' class='select' " . ( $field_required ? "required aria-required='true'" : "" ) . ">\n";
2010
  foreach ( $this->get_attribute( 'options' ) as $option ) {
2011
  $option = Grunion_Contact_Form_Plugin::strip_tags( $option );
2012
  $r .= "\t\t<option" . selected( $option, $field_value, false ) . ">" . esc_html( $option ) . "</option>\n";
@@ -2016,8 +2337,8 @@ class Grunion_Contact_Form_Field extends Crunion_Contact_Form_Shortcode {
2016
  break;
2017
  case 'date' :
2018
  $r .= "\n<div>\n";
2019
- $r .= "\t\t<label for='" . esc_attr( $field_id ) . "' class='grunion-field-label " . esc_attr( $field_type ) . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . __( "(required)", 'jetpack' ) . '</span>' : '' ) . "</label>\n";
2020
- $r .= "\t\t<input type='date' name='" . esc_attr( $field_id ) . "' id='" . esc_attr( $field_id ) . "' value='" . esc_attr( $field_value ) . "' class='" . esc_attr( $field_type ) . "' " . ( $field_required ? "required aria-required='true'" : "" ) . "/>\n";
2021
  $r .= "\t</div>\n";
2022
 
2023
  wp_enqueue_script( 'grunion-frontend', plugins_url( 'js/grunion-frontend.js', __FILE__ ), array( 'jquery', 'jquery-ui-datepicker' ) );
@@ -2026,8 +2347,8 @@ class Grunion_Contact_Form_Field extends Crunion_Contact_Form_Shortcode {
2026
  // note that any unknown types will produce a text input, so we can use arbitrary type names to handle
2027
  // input fields like name, email, url that require special validation or handling at POST
2028
  $r .= "\n<div>\n";
2029
- $r .= "\t\t<label for='" . esc_attr( $field_id ) . "' class='grunion-field-label " . esc_attr( $field_type ) . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . __( "(required)", 'jetpack' ) . '</span>' : '' ) . "</label>\n";
2030
- $r .= "\t\t<input type='text' name='" . esc_attr( $field_id ) . "' id='" . esc_attr( $field_id ) . "' value='" . esc_attr( $field_value ) . "' class='" . esc_attr( $field_type ) . "' " . $field_placeholder . " " . ( $field_required ? "required aria-required='true'" : "" ) . "/>\n";
2031
  $r .= "\t</div>\n";
2032
  }
2033
 
33
 
34
  if ( !$instance ) {
35
  $instance = new Grunion_Contact_Form_Plugin;
36
+
37
+ // Schedule our daily cleanup
38
+ add_action( 'wp_scheduled_delete', array( $instance, 'daily_akismet_meta_cleanup' ) );
39
  }
40
 
41
  return $instance;
42
  }
43
 
44
  /**
45
+ * Runs daily to clean up spam detection metadata after 15 days. Keeps your DB squeaky clean.
46
+ */
47
+ public function daily_akismet_meta_cleanup() {
48
+ global $wpdb;
49
+
50
+ $feedback_ids = $wpdb->get_col( "SELECT p.ID FROM {$wpdb->posts} as p INNER JOIN {$wpdb->postmeta} as m on m.post_id = p.ID WHERE p.post_type = 'feedback' AND m.meta_key = '_feedback_akismet_values' > p.post_date_gmt LIMIT 10000" );
51
+
52
+ if ( empty( $feedback_ids ) ) {
53
+ return;
54
+ }
55
+
56
+ foreach ( $feedback_ids as $feedback_id ) {
57
+ delete_post_meta( $feedback_id, '_feedback_akismet_values' );
58
+ }
59
+ }
60
+
61
+ /**
62
  * Strips HTML tags from input. Output is NOT HTML safe.
63
  *
64
  * @param mixed $data_with_tags
126
  'public' => FALSE,
127
  'rewrite' => FALSE,
128
  'query_var' => FALSE,
129
+ 'capability_type' => 'page',
130
+ 'show_in_rest' => true,
131
+ 'capabilities' => array(
132
+ 'create_posts' => false,
133
+ 'publish_posts' => 'publish_pages',
134
+ 'edit_posts' => 'edit_pages',
135
+ 'edit_others_posts' => 'edit_others_pages',
136
+ 'delete_posts' => 'delete_pages',
137
+ 'delete_others_posts' => 'delete_others_pages',
138
+ 'read_private_posts' => 'read_private_pages',
139
+ 'edit_post' => 'edit_page',
140
+ 'delete_post' => 'delete_page',
141
+ 'read_post' => 'read_page',
142
+ ),
143
+ 'map_meta_cap' => true,
144
  ) );
145
 
146
  // Add to REST API post type whitelist
412
  $form['referrer'] = $_SERVER['HTTP_REFERER'];
413
  $form['blog'] = get_option( 'home' );
414
 
415
+ foreach ( $_SERVER as $key => $value ) {
416
+ if ( ! is_string( $value ) ) {
417
+ continue;
418
+ }
419
+ if ( in_array( $key, array( 'HTTP_COOKIE', 'HTTP_COOKIE2', 'HTTP_USER_AGENT', 'HTTP_REFERER' ) ) ) {
420
+ // We don't care about cookies, and the UA and Referrer were caught above.
421
+ continue;
422
+ } elseif ( in_array( $key, array( 'REMOTE_ADDR', 'REQUEST_URI', 'DOCUMENT_URI' ) ) ) {
423
+ // All three of these are relevant indicators and should be passed along.
424
+ $form[ $key ] = $value;
425
+ } elseif ( wp_startswith( $key, 'HTTP_' ) ) {
426
+ // Any other HTTP header indicators.
427
+ // `wp_startswith()` is a wpcom helper function and is included in Jetpack via `functions.compat.php`
428
+ $form[ $key ] = $value;
429
+ }
430
+ }
431
 
432
  return $form;
433
  }
559
  <?php
560
  }
561
 
562
+ /**
563
+ * Fetch post content for a post and extract just the comment.
564
+ *
565
+ * @param int $post_id The post id to fetch the content for.
566
+ *
567
+ * @return string Trimmed post comment.
568
+ *
569
+ * @codeCoverageIgnore
570
+ */
571
+ public function get_post_content_for_csv_export( $post_id ) {
572
+ $post_content = get_post_field( 'post_content', $post_id );
573
+ $content = explode( '<!--more-->', $post_content );
574
+
575
+ return trim( $content[0] );
576
+ }
577
+
578
+ /**
579
+ * Get `_feedback_extra_fields` field from post meta data.
580
+ *
581
+ * @param int $post_id Id of the post to fetch meta data for.
582
+ *
583
+ * @return mixed
584
+ *
585
+ * @codeCoverageIgnore - No need to be covered.
586
+ */
587
+ public function get_post_meta_for_csv_export( $post_id ) {
588
+ return get_post_meta( $post_id, '_feedback_extra_fields', true );
589
+ }
590
+
591
+ /**
592
+ * Get parsed feedback post fields.
593
+ *
594
+ * @param int $post_id Id of the post to fetch parsed contents for.
595
+ *
596
+ * @return array
597
+ *
598
+ * @codeCoverageIgnore - No need to be covered.
599
+ */
600
+ public function get_parsed_field_contents_of_post( $post_id ) {
601
+ return self::parse_fields_from_content( $post_id );
602
+ }
603
+
604
+ /**
605
+ * Properly maps fields that are missing from the post meta data
606
+ * to names, that are similar to those of the post meta.
607
+ *
608
+ * @param array $parsed_post_content Parsed post content
609
+ *
610
+ * @see parse_fields_from_content for how the input data is generated.
611
+ *
612
+ * @return array Mapped fields.
613
+ */
614
+ public function map_parsed_field_contents_of_post_to_field_names( $parsed_post_content ) {
615
+
616
+ $mapped_fields = array();
617
+
618
+ $field_mapping = array(
619
+ '_feedback_subject' => __( 'Contact Form', 'jetpack' ),
620
+ '_feedback_author' => '1_Name',
621
+ '_feedback_author_email' => '2_Email',
622
+ '_feedback_author_url' => '3_Website',
623
+ '_feedback_main_comment' => '4_Comment',
624
+ );
625
+
626
+ foreach ( $field_mapping as $parsed_field_name => $field_name ) {
627
+ if (
628
+ isset( $parsed_post_content[ $parsed_field_name ] )
629
+ && ! empty( $parsed_post_content[ $parsed_field_name ] )
630
+ ) {
631
+ $mapped_fields[ $field_name ] = $parsed_post_content[ $parsed_field_name ];
632
+ }
633
+ }
634
+
635
+ return $mapped_fields;
636
+ }
637
+
638
+
639
+ /**
640
+ * Prepares feedback post data for CSV export.
641
+ *
642
+ * @param array $post_ids Post IDs to fetch the data for. These need to be Feedback posts.
643
+ *
644
+ * @return array
645
+ */
646
+ public function get_export_data_for_posts( $post_ids ) {
647
+
648
+ $posts_data = array();
649
+ $field_names = array();
650
+ $result = array();
651
+
652
+ /**
653
+ * Fetch posts and get the possible field names for later use
654
+ */
655
+ foreach ( $post_ids as $post_id ) {
656
+
657
+ /**
658
+ * Fetch post main data, because we need the subject and author data for the feedback form.
659
+ */
660
+ $post_real_data = $this->get_parsed_field_contents_of_post( $post_id );
661
+
662
+ /**
663
+ * If `$post_real_data` is not an array or there is no `_feedback_subject` set,
664
+ * then something must be wrong with the feedback post. Skip it.
665
+ */
666
+ if ( ! is_array( $post_real_data ) || ! isset( $post_real_data['_feedback_subject'] ) ) {
667
+ continue;
668
+ }
669
+
670
+ /**
671
+ * Fetch main post comment. This is from the default textarea fields.
672
+ * If it is non-empty, then we add it to data, otherwise skip it.
673
+ */
674
+ $post_comment_content = $this->get_post_content_for_csv_export( $post_id );
675
+ if ( ! empty( $post_comment_content ) ) {
676
+ $post_real_data['_feedback_main_comment'] = $post_comment_content;
677
+ }
678
+
679
+ /**
680
+ * Map parsed fields to proper field names
681
+ */
682
+ $mapped_fields = $this->map_parsed_field_contents_of_post_to_field_names( $post_real_data );
683
+
684
+ /**
685
+ * Fetch post meta data.
686
+ */
687
+ $post_meta_data = $this->get_post_meta_for_csv_export( $post_id );
688
+
689
+ /**
690
+ * If `$post_meta_data` is not an array or if it is empty, then there is no
691
+ * extra feedback to work with. Create an empty array.
692
+ */
693
+ if ( ! is_array( $post_meta_data ) || empty( $post_meta_data ) ) {
694
+ $post_meta_data = array();
695
+ }
696
+
697
+ /**
698
+ * Prepend the feedback subject to the list of fields.
699
+ */
700
+ $post_meta_data = array_merge(
701
+ $mapped_fields,
702
+ $post_meta_data
703
+ );
704
+
705
+
706
+ /**
707
+ * Save post metadata for later usage.
708
+ */
709
+ $posts_data[ $post_id ] = $post_meta_data;
710
+
711
+ /**
712
+ * Save field names, so we can use them as header fields later in the CSV.
713
+ */
714
+ $field_names = array_merge( $field_names, array_keys( $post_meta_data ) );
715
+ }
716
+
717
+ /**
718
+ * Make sure the field names are unique, because we don't want duplicate data.
719
+ */
720
+ $field_names = array_unique( $field_names );
721
+
722
+
723
+ /**
724
+ * Sort the field names by the field id number
725
+ */
726
+ sort( $field_names, SORT_NUMERIC );
727
+
728
+ /**
729
+ * Loop through every post, which is essentially CSV row.
730
+ */
731
+ foreach ( $posts_data as $post_id => $single_post_data ) {
732
+
733
+ /**
734
+ * Go through all the possible fields and check if the field is available
735
+ * in the current post.
736
+ *
737
+ * If it is - add the data as a value.
738
+ * If it is not - add an empty string, which is just a placeholder in the CSV.
739
+ */
740
+ foreach ( $field_names as $single_field_name ) {
741
+ if (
742
+ isset( $single_post_data[ $single_field_name ] )
743
+ && ! empty( $single_post_data[ $single_field_name ] )
744
+ ) {
745
+ $result[ $single_field_name ][] = trim( $single_post_data[ $single_field_name ] );
746
+ }
747
+ else {
748
+ $result[ $single_field_name ][] = '';
749
+ }
750
+ }
751
+ }
752
+
753
+ return $result;
754
+ }
755
+
756
  /**
757
  * download as a csv a contact form or all of them in a csv file
758
  */
784
  }
785
 
786
  $feedbacks = get_posts( $args );
787
+
788
+ if ( empty( $feedbacks ) ) {
789
+ return;
790
+ }
791
+
792
  $filename = sanitize_file_name( $filename );
 
793
 
794
+ /**
795
+ * Prepare data for export.
796
+ */
797
+ $data = $this->get_export_data_for_posts( $feedbacks );
798
 
799
+ /**
800
+ * If `$data` is empty, there's nothing we can do below.
801
+ */
802
+ if ( ! is_array( $data ) || empty( $data ) ) {
803
  return;
804
+ }
805
+
806
+ /**
807
+ * Extract field names from `$data` for later use.
808
+ */
809
+ $fields = array_keys( $data );
810
+
811
+ /**
812
+ * Count how many rows will be exported.
813
+ */
814
+ $row_count = count( reset( $data ) );
815
+
816
 
817
  // Forces the download of the CSV instead of echoing
818
  header( 'Content-Disposition: attachment; filename=' . $filename );
822
 
823
  $output = fopen( 'php://output', 'w' );
824
 
825
+ /**
826
+ * Print CSV headers
827
+ */
828
  fputcsv( $output, $fields );
829
 
830
+
831
+ /**
832
+ * Print rows to the output.
833
+ */
834
+ for ( $i = 0; $i < $row_count; $i ++ ) {
835
+
836
+ $current_row = array();
837
+
838
+ /**
839
+ * Put all the fields in `$current_row` array.
840
+ */
841
+ foreach ( $fields as $single_field_name ) {
842
+ $current_row[] = $data[ $single_field_name ][ $i ];
843
+ }
844
+
845
+ /**
846
+ * Output the complete CSV row
847
+ */
848
+ fputcsv( $output, $current_row );
849
  }
850
 
851
  fclose( $output );
889
  * Get the names of all the form's fields
890
  *
891
  * @param array|int $posts the post we want the fields of
892
+ *
893
  * @return array the array of fields
894
+ *
895
+ * @deprecated As this is no longer necessary as of the CSV export rewrite. - 2015-12-29
896
  */
897
  protected function get_field_names( $posts ) {
898
  $posts = (array) $posts;
970
  * @param int $post_id The id of the post
971
  * @param array $fields An array containing the names of all the fields of the csv
972
  * @return String The csv row
973
+ *
974
+ * @deprecated This is no longer needed, as of the CSV export rewrite.
975
  */
976
  protected static function make_csv_row_from_feedback( $post_id, $fields ) {
977
  $content_fields = self::parse_fields_from_content( $post_id );
1790
  foreach ( array_merge( $field_ids['all'], $field_ids['extra'] ) as $field_id ) {
1791
  $field = $this->fields[$field_id];
1792
 
1793
+ // Skip any fields that are just a choice from a pre-defined list. They wouldn't have any value
1794
+ // from a spam-filtering point of view.
1795
+ if ( in_array( $field->get_attribute( 'type' ), array( 'select', 'checkbox', 'checkbox-multiple', 'radio' ) ) ) {
1796
+ continue;
1797
+ }
1798
+
1799
  // Normalize the label into a slug.
1800
  $field_slug = trim( // Strip all leading/trailing dashes.
1801
  preg_replace( // Normalize everything to a-z0-9_-
1905
  remove_filter( 'wp_insert_post_data', array( $plugin, 'insert_feedback_filter' ), 10, 2 );
1906
 
1907
  update_post_meta( $post_id, '_feedback_extra_fields', $this->addslashes_deep( $extra_values ) );
1908
+
1909
+ if ( Jetpack::is_plugin_active( 'akismet/akismet.php' ) ) {
1910
+ update_post_meta( $post_id, '_feedback_akismet_values', $this->addslashes_deep( $akismet_values ) );
1911
+ }
1912
 
1913
  $message = self::get_compiled_form( $post_id, $this );
1914
 
1934
  array_push( $message, __( 'Sent by an unverified visitor to your site.', 'jetpack' ) );
1935
  }
1936
 
1937
+ $message = join( $message, "\n" );
1938
  /**
1939
  * Filters the message sent via email after a successfull form submission.
1940
  *
2082
  'id' => null,
2083
  'default' => null,
2084
  'placeholder' => null,
2085
+ 'class' => null,
2086
  ), $attributes, 'contact-field' );
2087
 
2088
  // special default for subject field
2172
  $field_type = $this->get_attribute( 'type' );
2173
  $field_label = $this->get_attribute( 'label' );
2174
 
2175
+ if ( isset( $_POST[ $field_id ] ) ) {
2176
+ if ( is_array( $_POST[ $field_id ] ) ) {
2177
+ $field_value = array_map( 'stripslashes', $_POST[ $field_id ] );
2178
+ } else {
2179
+ $field_value = stripslashes( $_POST[ $field_id ] );
2180
+ }
2181
+ } else {
2182
+ $field_value = '';
2183
+ }
2184
 
2185
  switch ( $field_type ) {
2186
  case 'email' :
2189
  $this->add_error( sprintf( __( '%s requires a valid email address', 'jetpack' ), $field_label ) );
2190
  }
2191
  break;
2192
+ case 'checkbox-multiple' :
2193
+ // Check that there is at least one option selected
2194
+ if ( empty( $field_value ) ) {
2195
+ $this->add_error( sprintf( __( '%s requires at least one selection', 'jetpack' ), $field_label ) );
2196
+ }
2197
+ break;
2198
  default :
2199
  // Just check for presence of any text
2200
  if ( !strlen( trim( $field_value ) ) ) {
2218
  $field_label = $this->get_attribute( 'label' );
2219
  $field_required = $this->get_attribute( 'required' );
2220
  $placeholder = $this->get_attribute( 'placeholder' );
2221
+ $class = $this->get_attribute( 'class' );
2222
  $field_placeholder = ( ! empty( $placeholder ) ) ? "placeholder='" . esc_attr( $placeholder ) . "'" : '';
2223
+ $field_class = "class='" . trim( esc_attr( $field_type ) . " " . esc_attr( $class ) ) . "' ";
2224
 
2225
  if ( isset( $_POST[ $field_id ] ) ) {
2226
  if ( is_array( $_POST[ $field_id ] ) ) {
2266
  $field_value = Grunion_Contact_Form_Plugin::strip_tags( $this->value );
2267
  $field_label = Grunion_Contact_Form_Plugin::strip_tags( $field_label );
2268
 
2269
+ /**
2270
+ * Filter the Contact Form required field text
2271
+ *
2272
+ * @module contact-form
2273
+ *
2274
+ * @since 3.8.0
2275
+ *
2276
+ * @param string $var Required field text. Default is "(required)".
2277
+ */
2278
+ $required_field_text = esc_html( apply_filters( 'jetpack_required_field_text', __( "(required)", 'jetpack' ) ) );
2279
+
2280
  switch ( $field_type ) {
2281
  case 'email' :
2282
  $r .= "\n<div>\n";
2283
+ $r .= "\t\t<label for='" . esc_attr( $field_id ) . "' class='grunion-field-label email" . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . $required_field_text . '</span>' : '' ) . "</label>\n";
2284
+ $r .= "\t\t<input type='email' name='" . esc_attr( $field_id ) . "' id='" . esc_attr( $field_id ) . "' value='" . esc_attr( $field_value ) . "' " . $field_class . $field_placeholder . " " . ( $field_required ? "required aria-required='true'" : "" ) . "/>\n";
2285
  $r .= "\t</div>\n";
2286
  break;
2287
  case 'telephone' :
2288
  $r .= "\n<div>\n";
2289
+ $r .= "\t\t<label for='" . esc_attr( $field_id ) . "' class='grunion-field-label telephone" . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . $required_field_text . '</span>' : '' ) . "</label>\n";
2290
+ $r .= "\t\t<input type='tel' name='" . esc_attr( $field_id ) . "' id='" . esc_attr( $field_id ) . "' value='" . esc_attr( $field_value ) . "' " . $field_class . $field_placeholder . "/>\n";
2291
  case 'textarea' :
2292
  $r .= "\n<div>\n";
2293
+ $r .= "\t\t<label for='contact-form-comment-" . esc_attr( $field_id ) . "' class='grunion-field-label textarea" . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . $required_field_text . '</span>' : '' ) . "</label>\n";
2294
+ $r .= "\t\t<textarea name='" . esc_attr( $field_id ) . "' id='contact-form-comment-" . esc_attr( $field_id ) . "' rows='20' " . $field_class . $field_placeholder . " " . ( $field_required ? "required aria-required='true'" : "" ) . ">" . esc_textarea( $field_value ) . "</textarea>\n";
2295
  $r .= "\t</div>\n";
2296
  break;
2297
  case 'radio' :
2298
+ $r .= "\t<div><label class='grunion-field-label" . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . $required_field_text . '</span>' : '' ) . "</label>\n";
2299
  foreach ( $this->get_attribute( 'options' ) as $option ) {
2300
  $option = Grunion_Contact_Form_Plugin::strip_tags( $option );
2301
  $r .= "\t\t<label class='grunion-radio-label radio" . ( $this->is_error() ? ' form-error' : '' ) . "'>";
2302
+ $r .= "<input type='radio' name='" . esc_attr( $field_id ) . "' value='" . esc_attr( $option ) . "' " . $field_class . checked( $option, $field_value, false ) . " " . ( $field_required ? "required aria-required='true'" : "" ) . "/> ";
2303
  $r .= esc_html( $option ) . "</label>\n";
2304
  $r .= "\t\t<div class='clear-form'></div>\n";
2305
  }
2308
  case 'checkbox' :
2309
  $r .= "\t<div>\n";
2310
  $r .= "\t\t<label class='grunion-field-label checkbox" . ( $this->is_error() ? ' form-error' : '' ) . "'>\n";
2311
+ $r .= "\t\t<input type='checkbox' name='" . esc_attr( $field_id ) . "' value='" . esc_attr__( 'Yes', 'jetpack' ) . "' " . $field_class . checked( (bool) $field_value, true, false ) . " " . ( $field_required ? "required aria-required='true'" : "" ) . "/> \n";
2312
+ $r .= "\t\t" . esc_html( $field_label ) . ( $field_required ? '<span>'. $required_field_text . '</span>' : '' ) . "</label>\n";
2313
  $r .= "\t\t<div class='clear-form'></div>\n";
2314
  $r .= "\t</div>\n";
2315
  break;
2316
  case 'checkbox-multiple' :
2317
+ $r .= "\t<div><label class='grunion-field-label" . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . $required_field_text . '</span>' : '' ) . "</label>\n";
2318
  foreach ( $this->get_attribute( 'options' ) as $option ) {
2319
  $option = Grunion_Contact_Form_Plugin::strip_tags( $option );
2320
  $r .= "\t\t<label class='grunion-checkbox-multiple-label checkbox-multiple" . ( $this->is_error() ? ' form-error' : '' ) . "'>";
2321
+ $r .= "<input type='checkbox' name='" . esc_attr( $field_id ) . "[]' value='" . esc_attr( $option ) . "' " . $field_class . checked( in_array( $option, (array) $field_value ), true, false ) . " /> ";
2322
  $r .= esc_html( $option ) . "</label>\n";
2323
  $r .= "\t\t<div class='clear-form'></div>\n";
2324
  }
2326
  break;
2327
  case 'select' :
2328
  $r .= "\n<div>\n";
2329
+ $r .= "\t\t<label for='" . esc_attr( $field_id ) . "' class='grunion-field-label select" . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>'. $required_field_text . '</span>' : '' ) . "</label>\n";
2330
+ $r .= "\t<select name='" . esc_attr( $field_id ) . "' id='" . esc_attr( $field_id ) . "' " . $field_class . ( $field_required ? "required aria-required='true'" : "" ) . ">\n";
2331
  foreach ( $this->get_attribute( 'options' ) as $option ) {
2332
  $option = Grunion_Contact_Form_Plugin::strip_tags( $option );
2333
  $r .= "\t\t<option" . selected( $option, $field_value, false ) . ">" . esc_html( $option ) . "</option>\n";
2337
  break;
2338
  case 'date' :
2339
  $r .= "\n<div>\n";
2340
+ $r .= "\t\t<label for='" . esc_attr( $field_id ) . "' class='grunion-field-label " . esc_attr( $field_type ) . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . $required_field_text . '</span>' : '' ) . "</label>\n";
2341
+ $r .= "\t\t<input type='date' name='" . esc_attr( $field_id ) . "' id='" . esc_attr( $field_id ) . "' value='" . esc_attr( $field_value ) . "' " . $field_class . ( $field_required ? "required aria-required='true'" : "" ) . "/>\n";
2342
  $r .= "\t</div>\n";
2343
 
2344
  wp_enqueue_script( 'grunion-frontend', plugins_url( 'js/grunion-frontend.js', __FILE__ ), array( 'jquery', 'jquery-ui-datepicker' ) );
2347
  // note that any unknown types will produce a text input, so we can use arbitrary type names to handle
2348
  // input fields like name, email, url that require special validation or handling at POST
2349
  $r .= "\n<div>\n";
2350
+ $r .= "\t\t<label for='" . esc_attr( $field_id ) . "' class='grunion-field-label " . esc_attr( $field_type ) . ( $this->is_error() ? ' form-error' : '' ) . "'>" . esc_html( $field_label ) . ( $field_required ? '<span>' . $required_field_text . '</span>' : '' ) . "</label>\n";
2351
+ $r .= "\t\t<input type='text' name='" . esc_attr( $field_id ) . "' id='" . esc_attr( $field_id ) . "' value='" . esc_attr( $field_value ) . "' " . $field_class . $field_placeholder . " " . ( $field_required ? "required aria-required='true'" : "" ) . "/>\n";
2352
  $r .= "\t</div>\n";
2353
  }
2354
 
modules/contact-form/js/grunion-frontend.js CHANGED
@@ -1,3 +1,5 @@
1
  jQuery( function ( $ ) {
2
- $( '.contact-form input[type="date"]' ).datepicker( { dateFormat : 'yy-mm-dd' } );
 
 
3
  } );
1
  jQuery( function ( $ ) {
2
+ if ( 'function' === typeof $.fn.datepicker ) {
3
+ $( '.contact-form input[type="date"]' ).datepicker( { dateFormat : 'yy-mm-dd' } );
4
+ }
5
  } );
modules/custom-content-types.php CHANGED
@@ -44,7 +44,7 @@ function jetpack_cpt_section_callback() {
44
  ?>
45
  <p>
46
  <?php esc_html_e( 'Use these settings to display different types of content on your site.', 'jetpack' ); ?>
47
- <a target="_blank" href="http://jetpack.me/support/custom-content-types/"><?php esc_html_e( 'Learn More', 'jetpack' ); ?></a>
48
  </p>
49
  <?php
50
  }
44
  ?>
45
  <p>
46
  <?php esc_html_e( 'Use these settings to display different types of content on your site.', 'jetpack' ); ?>
47
+ <a target="_blank" href="http://jetpack.com/support/custom-content-types/"><?php esc_html_e( 'Learn More', 'jetpack' ); ?></a>
48
  </p>
49
  <?php
50
  }
modules/custom-css/custom-css.php CHANGED
@@ -1053,7 +1053,7 @@ class Jetpack_Custom_CSS {
1053
  *
1054
  * @param string $url Custom CSS limited width's support doc URL.
1055
  */
1056
- apply_filters( 'safecss_limit_width_link', 'http://jetpack.me/support/custom-css/#limited-width' )
1057
  );
1058
 
1059
  ?>
@@ -1488,7 +1488,7 @@ class Jetpack_Custom_CSS {
1488
  static function add_revision_redirect() {
1489
  add_filter( 'wp_redirect', array( __CLASS__, 'revision_redirect' ) );
1490
  }
1491
-
1492
  /**
1493
  * Filters the redirect location in `wp-admin/revisions.php`.
1494
  *
1053
  *
1054
  * @param string $url Custom CSS limited width's support doc URL.
1055
  */
1056
+ apply_filters( 'safecss_limit_width_link', 'http://jetpack.com/support/custom-css/#limited-width' )
1057
  );
1058
 
1059
  ?>
1488
  static function add_revision_redirect() {
1489
  add_filter( 'wp_redirect', array( __CLASS__, 'revision_redirect' ) );
1490
  }
1491
+
1492
  /**
1493
  * Filters the redirect location in `wp-admin/revisions.php`.
1494
  *
modules/custom-post-types/comics.php CHANGED
@@ -257,6 +257,7 @@ class Jetpack_Comic {
257
  'map_meta_cap' => true,
258
  'has_archive' => true,
259
  'query_var' => 'comic',
 
260
  ) );
261
  }
262
 
257
  'map_meta_cap' => true,
258
  'has_archive' => true,
259
  'query_var' => 'comic',
260
+ 'show_in_rest' => true,
261
  ) );
262
  }
263
 
modules/custom-post-types/js/many-items.js CHANGED
@@ -97,7 +97,7 @@
97
  var tbody = this.find( 'tbody:last' ),
98
  row = tbody.find( 'tr:first' ).clone();
99
 
100
- $( row ).find( 'input' ).attr( 'value', '' );
101
  $( row ).appendTo( tbody );
102
  };
103
 
97
  var tbody = this.find( 'tbody:last' ),
98
  row = tbody.find( 'tr:first' ).clone();
99
 
100
+ $( row ).find( 'input, textarea' ).val( '' );
101
  $( row ).appendTo( tbody );
102
  };
103
 
modules/custom-post-types/nova.php CHANGED
@@ -123,58 +123,64 @@ class Nova_Restaurant {
123
  * Register Taxonomies and Post Type
124
  */
125
  function register_taxonomies() {
126
- register_taxonomy( self::MENU_ITEM_LABEL_TAX, self::MENU_ITEM_POST_TYPE, array(
127
- 'labels' => array(
128
- 'name' => __( 'Menu Item Labels', 'jetpack' ),
129
- 'singular_name' => __( 'Menu Item Label', 'jetpack' ),
130
- 'search_items' => __( 'Search Menu Item Labels', 'jetpack' ),
131
- 'popular_items' => __( 'Popular Labels', 'jetpack' ),
132
- 'all_items' => __( 'All Menu Item Labels', 'jetpack' ),
133
- 'edit_item' => __( 'Edit Menu Item Label', 'jetpack' ),
134
- 'view_item' => __( 'View Menu Item Label', 'jetpack' ),
135
- 'update_item' => __( 'Update Menu Item Label', 'jetpack' ),
136
- 'add_new_item' => __( 'Add New Menu Item Label', 'jetpack' ),
137
- 'new_item_name' => __( 'New Menu Item Label Name', 'jetpack' ),
138
- 'separate_items_with_commas' => __( 'For example, spicy, favorite, etc. <br /> Separate Labels with commas', 'jetpack' ),
139
- 'add_or_remove_items' => __( 'Add or remove Labels', 'jetpack' ),
140
- 'choose_from_most_used' => __( 'Choose from the most used Labels', 'jetpack' ),
141
- 'items_list_navigation' => __( 'Menu item label list navigation', 'jetpack' ),
142
- 'items_list' => __( 'Menu item labels list', 'jetpack' ),
143
- ),
144
- 'no_tagcloud' => __( 'No Labels found', 'jetpack' ),
145
-
146
- 'hierarchical' => false,
147
- ) );
148
-
149
- register_taxonomy( self::MENU_TAX, self::MENU_ITEM_POST_TYPE, array(
150
- 'labels' => array(
151
- 'name' => __( 'Menu Sections', 'jetpack' ),
152
- 'singular_name' => __( 'Menu Section', 'jetpack' ),
153
- 'search_items' => __( 'Search Menu Sections', 'jetpack' ),
154
- 'all_items' => __( 'All Menu Sections', 'jetpack' ),
155
- 'parent_item' => __( 'Parent Menu Section', 'jetpack' ),
156
- 'parent_item_colon' => __( 'Parent Menu Section:', 'jetpack' ),
157
- 'edit_item' => __( 'Edit Menu Section', 'jetpack' ),
158
- 'view_item' => __( 'View Menu Section', 'jetpack' ),
159
- 'update_item' => __( 'Update Menu Section', 'jetpack' ),
160
- 'add_new_item' => __( 'Add New Menu Section', 'jetpack' ),
161
- 'new_item_name' => __( 'New Menu Sections Name', 'jetpack' ),
162
- 'items_list_navigation' => __( 'Menu section list navigation', 'jetpack' ),
163
- 'items_list' => __( 'Menu section list', 'jetpack' ),
164
- ),
165
- 'rewrite' => array(
166
- 'slug' => 'menu',
167
- 'with_front' => false,
168
- 'hierarchical' => true,
169
- ),
170
 
171
- 'hierarchical' => true,
172
- 'show_tagcloud' => false,
173
- 'query_var' => 'menu',
174
- ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  }
176
 
177
  function register_post_types() {
 
 
 
 
178
  register_post_type( self::MENU_ITEM_POST_TYPE, array(
179
  'description' => __( "Items on your restaurant's menu", 'jetpack' ),
180
 
123
  * Register Taxonomies and Post Type
124
  */
125
  function register_taxonomies() {
126
+ if ( ! taxonomy_exists( self::MENU_ITEM_LABEL_TAX ) ) {
127
+ register_taxonomy( self::MENU_ITEM_LABEL_TAX, self::MENU_ITEM_POST_TYPE, array(
128
+ 'labels' => array(
129
+ 'name' => __( 'Menu Item Labels', 'jetpack' ),
130
+ 'singular_name' => __( 'Menu Item Label', 'jetpack' ),
131
+ 'search_items' => __( 'Search Menu Item Labels', 'jetpack' ),
132
+ 'popular_items' => __( 'Popular Labels', 'jetpack' ),
133
+ 'all_items' => __( 'All Menu Item Labels', 'jetpack' ),
134
+ 'edit_item' => __( 'Edit Menu Item Label', 'jetpack' ),
135
+ 'view_item' => __( 'View Menu Item Label', 'jetpack' ),
136
+ 'update_item' => __( 'Update Menu Item Label', 'jetpack' ),
137
+ 'add_new_item' => __( 'Add New Menu Item Label', 'jetpack' ),
138
+ 'new_item_name' => __( 'New Menu Item Label Name', 'jetpack' ),
139
+ 'separate_items_with_commas' => __( 'For example, spicy, favorite, etc. <br /> Separate Labels with commas', 'jetpack' ),
140
+ 'add_or_remove_items' => __( 'Add or remove Labels', 'jetpack' ),
141
+ 'choose_from_most_used' => __( 'Choose from the most used Labels', 'jetpack' ),
142
+ 'items_list_navigation' => __( 'Menu item label list navigation', 'jetpack' ),
143
+ 'items_list' => __( 'Menu item labels list', 'jetpack' ),
144
+ ),
145
+ 'no_tagcloud' => __( 'No Labels found', 'jetpack' ),
146
+ 'hierarchical' => false,
147
+ ) );
148
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
 
150
+ if ( ! taxonomy_exists( self::MENU_TAX ) ) {
151
+ register_taxonomy( self::MENU_TAX, self::MENU_ITEM_POST_TYPE, array(
152
+ 'labels' => array(
153
+ 'name' => __( 'Menu Sections', 'jetpack' ),
154
+ 'singular_name' => __( 'Menu Section', 'jetpack' ),
155
+ 'search_items' => __( 'Search Menu Sections', 'jetpack' ),
156
+ 'all_items' => __( 'All Menu Sections', 'jetpack' ),
157
+ 'parent_item' => __( 'Parent Menu Section', 'jetpack' ),
158
+ 'parent_item_colon' => __( 'Parent Menu Section:', 'jetpack' ),
159
+ 'edit_item' => __( 'Edit Menu Section', 'jetpack' ),
160
+ 'view_item' => __( 'View Menu Section', 'jetpack' ),
161
+ 'update_item' => __( 'Update Menu Section', 'jetpack' ),
162
+ 'add_new_item' => __( 'Add New Menu Section', 'jetpack' ),
163
+ 'new_item_name' => __( 'New Menu Sections Name', 'jetpack' ),
164
+ 'items_list_navigation' => __( 'Menu section list navigation', 'jetpack' ),
165
+ 'items_list' => __( 'Menu section list', 'jetpack' ),
166
+ ),
167
+ 'rewrite' => array(
168
+ 'slug' => 'menu',
169
+ 'with_front' => false,
170
+ 'hierarchical' => true,
171
+ ),
172
+ 'hierarchical' => true,
173
+ 'show_tagcloud' => false,
174
+ 'query_var' => 'menu',
175
+ ) );
176
+ }
177
  }
178
 
179
  function register_post_types() {
180
+ if ( post_type_exists( self::MENU_ITEM_POST_TYPE ) ) {
181
+ return;
182
+ }
183
+
184
  register_post_type( self::MENU_ITEM_POST_TYPE, array(
185
  'description' => __( "Items on your restaurant's menu", 'jetpack' ),
186
 
modules/custom-post-types/portfolios.php CHANGED
@@ -65,6 +65,14 @@ class Jetpack_Portfolio {
65
  add_shortcode( 'portfolio', array( $this, 'portfolio_shortcode' ) );
66
  add_shortcode( 'jetpack_portfolio', array( $this, 'portfolio_shortcode' ) );
67
 
 
 
 
 
 
 
 
 
68
  // Adjust CPT archive and custom taxonomies to obey CPT reading setting
69
  add_filter( 'pre_get_posts', array( $this, 'query_reading_setting' ) );
70
 
@@ -255,6 +263,7 @@ class Jetpack_Portfolio {
255
  'taxonomies' => array( self::CUSTOM_TAXONOMY_TYPE, self::CUSTOM_TAXONOMY_TAG ),
256
  'has_archive' => true,
257
  'query_var' => 'portfolio',
 
258
  ) );
259
 
260
  register_taxonomy( self::CUSTOM_TAXONOMY_TYPE, self::CUSTOM_POST_TYPE, array(
@@ -389,6 +398,15 @@ class Jetpack_Portfolio {
389
  }
390
  }
391
 
 
 
 
 
 
 
 
 
 
392
  /**
393
  * Our [portfolio] shortcode.
394
  * Prints Portfolio data styled to look good on *any* theme.
65
  add_shortcode( 'portfolio', array( $this, 'portfolio_shortcode' ) );
66
  add_shortcode( 'jetpack_portfolio', array( $this, 'portfolio_shortcode' ) );
67
 
68
+ if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
69
+ // Add to Dotcom XML sitemaps
70
+ add_filter( 'wpcom_sitemap_post_types', array( $this, 'add_to_sitemap' ) );
71
+ } else {
72
+ // Add to Jetpack XML sitemap
73
+ add_filter( 'jetpack_sitemap_post_types', array( $this, 'add_to_sitemap' ) );
74
+ }
75
+
76
  // Adjust CPT archive and custom taxonomies to obey CPT reading setting
77
  add_filter( 'pre_get_posts', array( $this, 'query_reading_setting' ) );
78
 
263
  'taxonomies' => array( self::CUSTOM_TAXONOMY_TYPE, self::CUSTOM_TAXONOMY_TAG ),
264
  'has_archive' => true,
265
  'query_var' => 'portfolio',
266
+ 'show_in_rest' => true,
267
  ) );
268
 
269
  register_taxonomy( self::CUSTOM_TAXONOMY_TYPE, self::CUSTOM_POST_TYPE, array(
398
  }
399
  }
400
 
401
+ /**
402
+ * Add CPT to Dotcom sitemap
403
+ */
404
+ function add_to_sitemap( $post_types ) {
405
+ $post_types[] = self::CUSTOM_POST_TYPE;
406
+
407
+ return $post_types;
408
+ }
409
+
410
  /**
411
  * Our [portfolio] shortcode.
412
  * Prints Portfolio data styled to look good on *any* theme.
modules/custom-post-types/testimonial.php CHANGED
@@ -86,6 +86,9 @@ class Jetpack_Testimonial {
86
 
87
  // Add to Dotcom XML sitemaps
88
  add_filter( 'wpcom_sitemap_post_types', array( $this, 'add_to_sitemap' ) );
 
 
 
89
  }
90
 
91
  // Adjust CPT archive and custom taxonomies to obey CPT reading setting
@@ -324,6 +327,7 @@ class Jetpack_Testimonial {
324
  'map_meta_cap' => true,
325
  'has_archive' => true,
326
  'query_var' => 'testimonial',
 
327
  ) );
328
  }
329
 
86
 
87
  // Add to Dotcom XML sitemaps
88
  add_filter( 'wpcom_sitemap_post_types', array( $this, 'add_to_sitemap' ) );
89
+ } else {
90
+ // Add to Jetpack XML sitemap
91
+ add_filter( 'jetpack_sitemap_post_types', array( $this, 'add_to_sitemap' ) );
92
  }
93
 
94
  // Adjust CPT archive and custom taxonomies to obey CPT reading setting
327
  'map_meta_cap' => true,
328
  'has_archive' => true,
329
  'query_var' => 'testimonial',
330
+ 'show_in_rest' => true,
331
  ) );
332
  }
333
 
modules/infinite-scroll/infinity.js CHANGED
@@ -186,7 +186,7 @@ Scroller.prototype.thefooter = function() {
186
  */
187
  Scroller.prototype.refresh = function() {
188
  var self = this,
189
- query, jqxhr, load, loader, color;
190
 
191
  // If we're disabled, ready, or don't pass the check, bail.
192
  if ( this.disabled || ! this.ready || ! this.check() )
@@ -214,6 +214,20 @@ Scroller.prototype.refresh = function() {
214
  action: 'infinite_scroll'
215
  }, this.query() );
216
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
217
  // Fire the ajax request.
218
  jqxhr = $.post( infiniteScroll.settings.ajaxurl, query );
219
 
@@ -234,13 +248,9 @@ Scroller.prototype.refresh = function() {
234
  }
235
 
236
  // Check for and parse our response.
237
- if ( ! response )
238
- return;
239
-
240
- response = $.parseJSON( response );
241
-
242
- if ( ! response || ! response.type )
243
  return;
 
244
 
245
  // If there are no remaining posts...
246
  if ( response.type == 'empty' ) {
@@ -654,6 +664,54 @@ $( document ).ready( function() {
654
  } , 250 );
655
  });
656
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
657
  });
658
 
659
 
186
  */
187
  Scroller.prototype.refresh = function() {
188
  var self = this,
189
+ query, jqxhr, load, loader, color, customized;
190
 
191
  // If we're disabled, ready, or don't pass the check, bail.
192
  if ( this.disabled || ! this.ready || ! this.check() )
214
  action: 'infinite_scroll'
215
  }, this.query() );
216
 
217
+ // Inject Customizer state.
218
+ if ( 'undefined' !== typeof wp && wp.customize && wp.customize.settings.theme ) {
219
+ customized = {};
220
+ query.wp_customize = 'on';
221
+ query.theme = wp.customize.settings.theme.stylesheet;
222
+ wp.customize.each( function( setting ) {
223
+ if ( setting._dirty ) {
224
+ customized[ setting.id ] = setting();
225
+ }
226
+ } );
227
+ query.customized = JSON.stringify( customized );
228
+ query.nonce = wp.customize.settings.nonce.preview;
229
+ }
230
+
231
  // Fire the ajax request.
232
  jqxhr = $.post( infiniteScroll.settings.ajaxurl, query );
233
 
248
  }
249
 
250
  // Check for and parse our response.
251
+ if ( ! response || ! response.type ) {
 
 
 
 
 
252
  return;
253
+ }
254
 
255
  // If there are no remaining posts...
256
  if ( response.type == 'empty' ) {
664
  } , 250 );
665
  });
666
  }
667
+
668
+ // Integrate with Selective Refresh in the Customizer.
669
+ if ( 'undefined' !== typeof wp && wp.customize && wp.customize.selectiveRefresh ) {
670
+
671
+ /**
672
+ * Handle rendering of selective refresh partials.
673
+ *
674
+ * Make sure that when a partial is rendered, the Jetpack post-load event
675
+ * will be triggered so that any dynamic elements will be re-constructed,
676
+ * such as ME.js elements, Photon replacements, social sharing, and more.
677
+ * Note that this is applying here not strictly to posts being loaded.
678
+ * If a widget contains a ME.js element and it is previewed via selective
679
+ * refresh, the post-load would get triggered allowing any dynamic elements
680
+ * therein to also be re-constructed.
681
+ *
682
+ * @param {wp.customize.selectiveRefresh.Placement} placement
683
+ */
684
+ wp.customize.selectiveRefresh.bind( 'partial-content-rendered', function( placement ) {
685
+ var content;
686
+ if ( 'string' === typeof placement.addedContent ) {
687
+ content = placement.addedContent;
688
+ } else if ( placement.container ) {
689
+ content = $( placement.container ).html();
690
+ }
691
+
692
+ if ( content ) {
693
+ $( document.body ).trigger( 'post-load', { html: content } );
694
+ }
695
+ } );
696
+
697
+ /*
698
+ * Add partials for posts added via infinite scroll.
699
+ *
700
+ * This is unnecessary when MutationObserver is supported by the browser
701
+ * since then this will be handled by Selective Refresh in core.
702
+ */
703
+ if ( 'undefined' === typeof MutationObserver ) {
704
+ $( document.body ).on( 'post-load', function( e, response ) {
705
+ var rootElement = null;
706
+ if ( response.html && -1 !== response.html.indexOf( 'data-customize-partial' ) ) {
707
+ if ( infiniteScroll.settings.id ) {
708
+ rootElement = $( '#' + infiniteScroll.settings.id );
709
+ }
710
+ wp.customize.selectiveRefresh.addPartials( rootElement );
711
+ }
712
+ } );
713
+ }
714
+ }
715
  });
716
 
717
 
modules/infinite-scroll/infinity.php CHANGED
@@ -229,6 +229,14 @@ class The_Neverending_Home_Page {
229
  }
230
  }
231
 
 
 
 
 
 
 
 
 
232
  // Force display of the click handler and attendant bits when the type isn't `click`
233
  if ( 'click' !== $settings['type'] ) {
234
  $settings['click_handle'] = true;
@@ -247,7 +255,8 @@ class The_Neverending_Home_Page {
247
  self::$settings = apply_filters( 'infinite_scroll_settings', $settings );
248
  }
249
 
250
- return (object) self::$settings;
 
251
  }
252
 
253
  /**
@@ -275,7 +284,16 @@ class The_Neverending_Home_Page {
275
  * Has infinite scroll been triggered?
276
  */
277
  static function got_infinity() {
278
- return isset( $_GET[ 'infinity' ] );
 
 
 
 
 
 
 
 
 
279
  }
280
 
281
  /**
@@ -358,7 +376,7 @@ class The_Neverending_Home_Page {
358
  add_filter( 'body_class', array( $this, 'body_class' ) );
359
 
360
  // Add our scripts.
361
- wp_enqueue_script( 'the-neverending-homepage', plugins_url( 'infinity.js', __FILE__ ), array( 'jquery' ), 20141016, true );
362
 
363
  // Add our default styles.
364
  wp_enqueue_style( 'the-neverending-homepage', plugins_url( 'infinity.css', __FILE__ ), array(), '20140422' );
@@ -765,7 +783,7 @@ class The_Neverending_Home_Page {
765
  $js_settings = apply_filters( 'infinite_scroll_js_settings', $js_settings );
766
 
767
  /**
768
- * Fires before Infinite Scroll outputs inline Javascript in the head.
769
  *
770
  * @module infinite-scroll
771
  *
@@ -1089,6 +1107,7 @@ class The_Neverending_Home_Page {
1089
  * @return string or null
1090
  */
1091
  function query() {
 
1092
  if ( ! isset( $_REQUEST['page'] ) || ! current_theme_supports( 'infinite-scroll' ) )
1093
  die;
1094
 
@@ -1239,7 +1258,11 @@ class The_Neverending_Home_Page {
1239
  $results['type'] = 'empty';
1240
  }
1241
 
1242
- echo wp_json_encode(
 
 
 
 
1243
  /**
1244
  * Filter the Infinite Scroll results.
1245
  *
@@ -1253,7 +1276,6 @@ class The_Neverending_Home_Page {
1253
  */
1254
  apply_filters( 'infinite_scroll_results', $results, $query_args, self::wp_query() )
1255
  );
1256
- die;
1257
  }
1258
 
1259
  /**
@@ -1357,8 +1379,9 @@ class The_Neverending_Home_Page {
1357
  */
1358
  public static function archive_supports_infinity() {
1359
  $supported = current_theme_supports( 'infinite-scroll' ) && ( is_home() || is_archive() || is_search() );
1360
- // Disable infinite scroll in customizer previews
1361
- if ( isset( $_REQUEST[ 'wp_customize' ] ) && 'on' === $_REQUEST[ 'wp_customize' ] ) {
 
1362
  return false;
1363
  }
1364
 
@@ -1518,149 +1541,3 @@ if ( The_Neverending_Home_Page::got_infinity() ) {
1518
  // Don't load the admin bar when doing the AJAX response.
1519
  show_admin_bar( false );
1520
  }
1521
-
1522
- /**
1523
- * Include the wp_json_encode functions for pre-wordpress-4.1
1524
- */
1525
-
1526
- if ( ! function_exists( 'wp_json_encode' ) ) :
1527
- /**
1528
- * Encode a variable into JSON, with some sanity checks.
1529
- *
1530
- * @since 4.1.0
1531
- *
1532
- * @param mixed $data Variable (usually an array or object) to encode as JSON.
1533
- * @param int $options Optional. Options to be passed to json_encode(). Default 0.
1534
- * @param int $depth Optional. Maximum depth to walk through $data. Must be
1535
- * greater than 0. Default 512.
1536
- * @return bool|string The JSON encoded string, or false if it cannot be encoded.
1537
- */
1538
- function wp_json_encode( $data, $options = 0, $depth = 512 ) {
1539
- /*
1540
- * json_encode() has had extra params added over the years.
1541
- * $options was added in 5.3, and $depth in 5.5.
1542
- * We need to make sure we call it with the correct arguments.
1543
- */
1544
- if ( version_compare( PHP_VERSION, '5.5', '>=' ) ) {
1545
- $args = array( $data, $options, $depth );
1546
- } elseif ( version_compare( PHP_VERSION, '5.3', '>=' ) ) {
1547
- $args = array( $data, $options );
1548
- } else {
1549
- $args = array( $data );
1550
- }
1551
-
1552
- $json = call_user_func_array( 'json_encode', $args );
1553
-
1554
- // If json_encode() was successful, no need to do more sanity checking.
1555
- // ... unless we're in an old version of PHP, and json_encode() returned
1556
- // a string containing 'null'. Then we need to do more sanity checking.
1557
- if ( false !== $json && ( version_compare( PHP_VERSION, '5.5', '>=' ) || false === strpos( $json, 'null' ) ) ) {
1558
- return $json;
1559
- }
1560
-
1561
- try {
1562
- $args[0] = _wp_json_sanity_check( $data, $depth );
1563
- } catch ( Exception $e ) {
1564
- return false;
1565
- }
1566
-
1567
- return call_user_func_array( 'json_encode', $args );
1568
- }
1569
- endif;
1570
-
1571
- if ( ! function_exists( '_wp_json_sanity_check' ) ) :
1572
- /**
1573
- * Perform sanity checks on data that shall be encoded to JSON.
1574
- *
1575
- * @see wp_json_encode()
1576
- *
1577
- * @since 4.1.0
1578
- * @access private
1579
- * @internal
1580
- *
1581
- * @param mixed $data Variable (usually an array or object) to encode as JSON.
1582
- * @param int $depth Maximum depth to walk through $data. Must be greater than 0.
1583
- * @return mixed The sanitized data that shall be encoded to JSON.
1584
- */
1585
- function _wp_json_sanity_check( $data, $depth ) {
1586
- if ( $depth < 0 ) {
1587
- throw new Exception( 'Reached depth limit' );
1588
- }
1589
-
1590
- if ( is_array( $data ) ) {
1591
- $output = array();
1592
- foreach ( $data as $id => $el ) {
1593
- // Don't forget to sanitize the ID!
1594
- if ( is_string( $id ) ) {
1595
- $clean_id = _wp_json_convert_string( $id );
1596
- } else {
1597
- $clean_id = $id;
1598
- }
1599
-
1600
- // Check the element type, so that we're only recursing if we really have to.
1601
- if ( is_array( $el ) || is_object( $el ) ) {
1602
- $output[ $clean_id ] = _wp_json_sanity_check( $el, $depth - 1 );
1603
- } elseif ( is_string( $el ) ) {
1604
- $output[ $clean_id ] = _wp_json_convert_string( $el );
1605
- } else {
1606
- $output[ $clean_id ] = $el;
1607
- }
1608
- }
1609
- } elseif ( is_object( $data ) ) {
1610
- $output = new stdClass;
1611
- foreach ( $data as $id => $el ) {
1612
- if ( is_string( $id ) ) {
1613
- $clean_id = _wp_json_convert_string( $id );
1614
- } else {
1615
- $clean_id = $id;
1616
- }
1617
-
1618
- if ( is_array( $el ) || is_object( $el ) ) {
1619
- $output->$clean_id = _wp_json_sanity_check( $el, $depth - 1 );
1620
- } elseif ( is_string( $el ) ) {
1621
- $output->$clean_id = _wp_json_convert_string( $el );
1622
- } else {
1623
- $output->$clean_id = $el;
1624
- }
1625
- }
1626
- } elseif ( is_string( $data ) ) {
1627
- return _wp_json_convert_string( $data );
1628
- } else {
1629
- return $data;
1630
- }
1631
-
1632
- return $output;
1633
- }
1634
- endif;
1635
-
1636
- if ( ! function_exists( '_wp_json_convert_string' ) ) :
1637
- /**
1638
- * Convert a string to UTF-8, so that it can be safely encoded to JSON.
1639
- *
1640
- * @see _wp_json_sanity_check()
1641
- *
1642
- * @since 4.1.0
1643
- * @access private
1644
- * @internal
1645
- *
1646
- * @param string $string The string which is to be converted.
1647
- * @return string The checked string.
1648
- */
1649
- function _wp_json_convert_string( $string ) {
1650
- static $use_mb = null;
1651
- if ( is_null( $use_mb ) ) {
1652
- $use_mb = function_exists( 'mb_convert_encoding' );
1653
- }
1654
-
1655
- if ( $use_mb ) {
1656
- $encoding = mb_detect_encoding( $string, mb_detect_order(), true );
1657
- if ( $encoding ) {
1658
- return mb_convert_encoding( $string, 'UTF-8', $encoding );
1659
- } else {
1660
- return mb_convert_encoding( $string, 'UTF-8', 'UTF-8' );
1661
- }
1662
- } else {
1663
- return wp_check_invalid_utf8( $string, true );
1664
- }
1665
- }
1666
- endif;
229
  }
230
  }
231
 
232
+ // If IS is set to click, and if the site owner changed posts_per_page, let's use that
233
+ if (
234
+ 'click' == $settings['type']
235
+ && ( '10' !== get_option( 'posts_per_page' ) )
236
+ ) {
237
+ $settings['posts_per_page'] = (int) get_option( 'posts_per_page' );
238
+ }
239
+
240
  // Force display of the click handler and attendant bits when the type isn't `click`
241
  if ( 'click' !== $settings['type'] ) {
242
  $settings['click_handle'] = true;
255
  self::$settings = apply_filters( 'infinite_scroll_settings', $settings );
256
  }
257
 
258
+ /** This filter is documented in modules/infinite-scroll/infinity.php */
259
+ return (object) apply_filters( 'infinite_scroll_settings', self::$settings );
260
  }
261
 
262
  /**
284
  * Has infinite scroll been triggered?
285
  */
286
  static function got_infinity() {
287
+ /**
288
+ * Filter the parameter used to check if Infinite Scroll has been triggered.
289
+ *
290
+ * @module infinite-scroll
291
+ *
292
+ * @since 3.9.0
293
+ *
294
+ * @param bool isset( $_GET[ 'infinity' ] ) Return true if the "infinity" parameter is set.
295
+ */
296
+ return apply_filters( 'infinite_scroll_got_infinity', isset( $_GET[ 'infinity' ] ) );
297
  }
298
 
299
  /**
376
  add_filter( 'body_class', array( $this, 'body_class' ) );
377
 
378
  // Add our scripts.
379
+ wp_enqueue_script( 'the-neverending-homepage', plugins_url( 'infinity.js', __FILE__ ), array( 'jquery' ), '3.10', true );
380
 
381
  // Add our default styles.
382
  wp_enqueue_style( 'the-neverending-homepage', plugins_url( 'infinity.css', __FILE__ ), array(), '20140422' );
783
  $js_settings = apply_filters( 'infinite_scroll_js_settings', $js_settings );
784
 
785
  /**
786
+ * Fires before Infinite Scroll outputs inline JavaScript in the head.
787
  *
788
  * @module infinite-scroll
789
  *
1107
  * @return string or null
1108
  */
1109
  function query() {
1110
+ global $wp_customize;
1111
  if ( ! isset( $_REQUEST['page'] ) || ! current_theme_supports( 'infinite-scroll' ) )
1112
  die;
1113
 
1258
  $results['type'] = 'empty';
1259
  }
1260
 
1261
+ if ( is_customize_preview() ) {
1262
+ $wp_customize->remove_preview_signature();
1263
+ }
1264
+
1265
+ wp_send_json(
1266
  /**
1267
  * Filter the Infinite Scroll results.
1268
  *
1276
  */
1277
  apply_filters( 'infinite_scroll_results', $results, $query_args, self::wp_query() )
1278
  );
 
1279
  }
1280
 
1281
  /**
1379
  */
1380
  public static function archive_supports_infinity() {
1381
  $supported = current_theme_supports( 'infinite-scroll' ) && ( is_home() || is_archive() || is_search() );
1382
+
1383
+ // Disable when previewing a non-active theme in the customizer
1384
+ if ( is_customize_preview() && ! $GLOBALS['wp_customize']->is_theme_active() ) {
1385
  return false;
1386
  }
1387
 
1541
  // Don't load the admin bar when doing the AJAX response.
1542
  show_admin_bar( false );
1543
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
modules/latex.php CHANGED
@@ -21,6 +21,8 @@
21
  */
22
 
23
  function latex_markup( $content ) {
 
 
24
  $regex = '%
25
  \$latex(?:=\s*|\s+)
26
  ((?:
@@ -30,7 +32,20 @@ function latex_markup( $content ) {
30
  )+)
31
  (?<!\\\\)\$ # Dollar preceded by zero slashes
32
  %ix';
33
- return preg_replace_callback( $regex, 'latex_src', $content );
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  }
35
 
36
  function latex_src( $matches ) {
21
  */
22
 
23
  function latex_markup( $content ) {
24
+ $textarr = wp_html_split( $content );
25
+
26
  $regex = '%
27
  \$latex(?:=\s*|\s+)
28
  ((?:
32
  )+)
33
  (?<!\\\\)\$ # Dollar preceded by zero slashes
34
  %ix';
35
+
36
+ foreach ( $textarr as &$element ) {
37
+ if ( '' == $element || '<' === $element[0] ) {
38
+ continue;
39
+ }
40
+
41
+ if ( false === stripos( $element, '$latex' ) ) {
42
+ continue;
43
+ }
44
+
45
+ $element = preg_replace_callback( $regex, 'latex_src', $element );
46
+ }
47
+
48
+ return implode( '', $textarr );
49
  }
50
 
51
  function latex_src( $matches ) {
modules/likes.php CHANGED
@@ -1022,9 +1022,16 @@ class Jetpack_Likes {
1022
  function is_likes_visible() {
1023
 
1024
  global $post, $wp_current_filter; // Used to apply 'sharing_show' filter
 
 
 
 
 
 
 
1025
 
1026
  // Never show on feeds or previews
1027
- if ( is_feed() || is_preview() || is_comments_popup() ) {
1028
  $enabled = false;
1029
 
1030
  // Not a feed or preview, so what is it?
1022
  function is_likes_visible() {
1023
 
1024
  global $post, $wp_current_filter; // Used to apply 'sharing_show' filter
1025
+ // @todo: Remove this block when 4.5 is the minimum
1026
+ global $wp_version;
1027
+ $comment_popup = false;
1028
+ if ( version_compare( $wp_version, '4.5-alpha', '<=' ) ) {
1029
+ $comment_popup = is_comments_popup();
1030
+ }
1031
+ // End 4.5 conditional block.
1032
 
1033
  // Never show on feeds or previews
1034
+ if ( is_feed() || is_preview() || $comment_popup ) { // @todo: Remove $comment_popup when 4.5 is minimum.
1035
  $enabled = false;
1036
 
1037
  // Not a feed or preview, so what is it?
modules/manage/activate-admin.php CHANGED
@@ -85,7 +85,7 @@ switch( $section ) {
85
  </div>
86
  <h1 class="manage__title"><?php esc_html_e( __( 'Enable Jetpack Manage', 'jetpack' ) ); ?></h1>
87
  <p class="manage__description">
88
- <?php esc_html_e( $description ); ?>
89
  </p>
90
  <p class="manage__description">
91
  <a class="button-primary manage__button" href="<?php echo esc_url( $activate_url ) ?>">
85
  </div>
86
  <h1 class="manage__title"><?php esc_html_e( __( 'Enable Jetpack Manage', 'jetpack' ) ); ?></h1>
87
  <p class="manage__description">
88
+ <?php esc_html_e( $description, 'jetpack' ); ?>
89
  </p>
90
  <p class="manage__description">
91
  <a class="button-primary manage__button" href="<?php echo esc_url( $activate_url ) ?>">
modules/manage/confirm-admin.php CHANGED
@@ -93,12 +93,12 @@ switch( $section ) {
93
  </div>
94
  <h1 class="manage__title"><span class="genericon genericon-checkmark"></span><?php esc_html_e( __( 'Jetpack Manage Enabled', 'jetpack' ) ); ?></h1>
95
  <p class="manage__description">
96
- <?php esc_html_e( $description ); ?>
97
  </p>
98
  <p class="manage__description">
99
  <a class="manage__link" href="<?php echo esc_url( $link ); ?>">
100
  <span class="genericon genericon-previous"></span>
101
- <?php esc_html_e( $link_title ); ?>
102
  </a>
103
  </p>
104
  </div>
93
  </div>
94
  <h1 class="manage__title"><span class="genericon genericon-checkmark"></span><?php esc_html_e( __( 'Jetpack Manage Enabled', 'jetpack' ) ); ?></h1>
95
  <p class="manage__description">
96
+ <?php echo esc_html( $description ); ?>
97
  </p>
98
  <p class="manage__description">
99
  <a class="manage__link" href="<?php echo esc_url( $link ); ?>">
100
  <span class="genericon genericon-previous"></span>
101
+ <?php echo esc_html( $link_title ); ?>
102
  </a>
103
  </p>
104
  </div>
modules/minileven.php CHANGED
@@ -100,8 +100,8 @@ function minileven_configuration_screen() {
100
  </form>
101
  <h3><?php _e( 'Mobile Apps', 'jetpack' ); ?></h3>
102
  <p><?php _e( 'Take WordPress with you.', 'jetpack' ); ?></p>
103
- <a href="http://wordpress.org/extend/mobile/"><img src="<?php echo plugin_dir_url( __FILE__ ); ?>/minileven/images/wp-app-devices.png" width="332" height="73" /></a>
104
- <p><?php printf( __( 'We have apps for <a href="%s">iOS (iPhone, iPad, iPod Touch)</a>, <a href="%s">Android</a>, <a href="%s">BlackBerry</a>, and <a href="%s">more</a>!', 'jetpack' ), 'http://ios.wordpress.org/', 'http://android.wordpress.org/', 'http://blackberry.wordpress.org/', 'http://wordpress.org/mobile/' ); ?></p>
105
  <?php
106
  }
107
 
100
  </form>
101
  <h3><?php _e( 'Mobile Apps', 'jetpack' ); ?></h3>
102
  <p><?php _e( 'Take WordPress with you.', 'jetpack' ); ?></p>
103
+ <a href="https://wordpress.org/mobile/"><img src="<?php echo plugin_dir_url( __FILE__ ); ?>/minileven/images/wp-app-devices.png" width="332" height="73" /></a>
104
+ <p><?php printf( __( 'We have apps for <a href="%s">iOS (iPhone, iPad, iPod Touch) and Android</a>!', 'jetpack' ), 'https://apps.wordpress.org/' ); ?></p>
105
  <?php
106
  }
107
 
modules/module-extras.php CHANGED
@@ -14,6 +14,7 @@ $tools = array(
14
  'theme-tools/responsive-videos.php',
15
  'theme-tools/site-logo.php',
16
  'theme-tools/site-breadcrumbs.php',
 
17
  'custom-post-types/comics.php',
18
  'custom-post-types/testimonial.php',
19
  'custom-post-types/nova.php',
@@ -27,7 +28,7 @@ $tools = array(
27
  *
28
  * @param array $tools Array of extra tools to include.
29
  */
30
- $jetpack_tools_to_include = apply_filters( 'jetpack-tools-to-include', $tools );
31
 
32
  if ( ! empty( $jetpack_tools_to_include ) ) {
33
  foreach ( $jetpack_tools_to_include as $tool ) {
14
  'theme-tools/responsive-videos.php',
15
  'theme-tools/site-logo.php',
16
  'theme-tools/site-breadcrumbs.php',
17
+ 'theme-tools/social-menu.php',
18
  'custom-post-types/comics.php',
19
  'custom-post-types/testimonial.php',
20
  'custom-post-types/nova.php',
28
  *
29
  * @param array $tools Array of extra tools to include.
30
  */
31
+ $jetpack_tools_to_include = apply_filters( 'jetpack_tools_to_include', $tools );
32
 
33
  if ( ! empty( $jetpack_tools_to_include ) ) {
34
  foreach ( $jetpack_tools_to_include as $tool ) {
modules/module-headings.php CHANGED
@@ -1,240 +1,308 @@
1
- <?php return;
 
2
 
3
  /**
4
- * This file exists soley to store the module
5
- * header translation strings, that exist ordinarily
6
- * in comments on files in this directory.
7
  *
8
- * It is never included anywhere, and is used for parsing.
 
 
9
  */
10
-
11
- // modules/after-the-deadline.php
12
- _x( 'Spelling and Grammar', 'Module Name', 'jetpack' );
13
- _x( 'Check your spelling, style, and grammar with the After the Deadline proofreading service.', 'Module Description', 'jetpack' );
14
-
15
- // modules/carousel.php
16
- _x( 'Carousel', 'Module Name', 'jetpack' );
17
- _x( 'Transform standard image galleries into full-screen slideshows.', 'Module Description', 'jetpack' );
18
- _x( 'Brings your photos and images to life as full-size, easily navigable galleries.', 'Jumpstart Description', 'jetpack' );
19
-
20
- // modules/comments.php
21
- _x( 'Comments', 'Module Name', 'jetpack' );
22
- _x( 'Let readers comment with WordPress.com, Twitter, Facebook, or Google+ accounts.', 'Module Description', 'jetpack' );
23
-
24
- // modules/contact-form.php
25
- _x( 'Contact Form', 'Module Name', 'jetpack' );
26
- _x( 'Insert a contact form anywhere on your site.', 'Module Description', 'jetpack' );
27
- _x( 'Adds a button to your post and page editors, allowing you to build simple forms to help visitors stay in touch.', 'Jumpstart Description', 'jetpack' );
28
-
29
- // modules/custom-content-types.php
30
- _x( 'Custom Content Types', 'Module Name', 'jetpack' );
31
- _x( 'Organize and display different types of content on your site, separate from posts and pages.', 'Module Description', 'jetpack' );
32
-
33
- // modules/custom-css.php
34
- _x( 'Custom CSS', 'Module Name', 'jetpack' );
35
- _x( 'Customize your site’s CSS without modifying your theme.', 'Module Description', 'jetpack' );
36
-
37
- // modules/enhanced-distribution.php
38
- _x( 'Enhanced Distribution', 'Module Name', 'jetpack' );
39
- _x( 'Increase reach and traffic.', 'Module Description', 'jetpack' );
40
-
41
- // modules/gravatar-hovercards.php
42
- _x( 'Gravatar Hovercards', 'Module Name', 'jetpack' );
43
- _x( 'Enable pop-up business cards over commenters’ Gravatars.', 'Module Description', 'jetpack' );
44
- _x( 'Let commenters link their profiles to their Gravatar accounts, making it easy for your visitors to learn more about your community.', 'Jumpstart Description', 'jetpack' );
45
-
46
- // modules/infinite-scroll.php
47
- _x( 'Infinite Scroll', 'Module Name', 'jetpack' );
48
- _x( 'Add support for infinite scroll to your theme.', 'Module Description', 'jetpack' );
49
-
50
- // modules/json-api.php
51
- _x( 'JSON API', 'Module Name', 'jetpack' );
52
- _x( 'Allow applications to securely access your content through the cloud.', 'Module Description', 'jetpack' );
53
-
54
- // modules/latex.php
55
- _x( 'Beautiful Math', 'Module Name', 'jetpack' );
56
- _x( 'Use LaTeX markup language in posts and pages for complex equations and other geekery.', 'Module Description', 'jetpack' );
57
-
58
- // modules/likes.php
59
- _x( 'Likes', 'Module Name', 'jetpack' );
60
- _x( 'Give visitors an easy way to show their appreciation for your content.', 'Module Description', 'jetpack' );
61
-
62
- // modules/manage.php
63
- _x( 'Manage', 'Module Name', 'jetpack' );
64
- _x( 'Manage all your sites from a centralized place, https://wordpress.com/sites.', 'Module Description', 'jetpack' );
65
- _x( 'Helps you remotely manage plugins, turn on automated updates, and more from <a href="https://wordpress.com/plugins/" target="_blank">wordpress.com</a>.', 'Jumpstart Description', 'jetpack' );
66
-
67
- // modules/markdown.php
68
- _x( 'Markdown', 'Module Name', 'jetpack' );
69
- _x( 'Write posts or pages in plain-text Markdown syntax.', 'Module Description', 'jetpack' );
70
-
71
- // modules/minileven.php
72
- _x( 'Mobile Theme', 'Module Name', 'jetpack' );
73
- _x( 'Optimize your site with a mobile-friendly theme for smartphones.', 'Module Description', 'jetpack' );
74
-
75
- // modules/monitor.php
76
- _x( 'Monitor', 'Module Name', 'jetpack' );
77
- _x( 'Reports on site downtime.', 'Module Description', 'jetpack' );
78
-
79
- // modules/notes.php
80
- _x( 'Notifications', 'Module Name', 'jetpack' );
81
- _x( 'Receive notification of site activity via the admin toolbar and your Mobile devices.', 'Module Description', 'jetpack' );
82
-
83
- // modules/omnisearch.php
84
- _x( 'Omnisearch', 'Module Name', 'jetpack' );
85
- _x( 'Search your entire database from a single field in your Dashboard.', 'Module Description', 'jetpack' );
86
-
87
- // modules/photon.php
88
- _x( 'Photon', 'Module Name', 'jetpack' );
89
- _x( 'Speed up images and photos.', 'Module Description', 'jetpack' );
90
- _x( 'Mirrors and serves your images from our free and fast image CDN, improving your site’s performance with no additional load on your servers.', 'Jumpstart Description', 'jetpack' );
91
-
92
- // modules/post-by-email.php
93
- _x( 'Post by Email', 'Module Name', 'jetpack' );
94
- _x( 'Publish posts by email, using any device and email client.', 'Module Description', 'jetpack' );
95
-
96
- // modules/protect.php
97
- _x( 'Protect', 'Module Name', 'jetpack' );
98
- _x( 'Prevent brute force attacks.', 'Module Description', 'jetpack' );
99
-
100
- // modules/publicize.php
101
- _x( 'Publicize', 'Module Name', 'jetpack' );
102
- _x( 'Automatically promote content.', 'Module Description', 'jetpack' );
103
-
104
- // modules/related-posts.php
105
- _x( 'Related Posts', 'Module Name', 'jetpack' );
106
- _x( 'Display similar content.', 'Module Description', 'jetpack' );
107
- _x( 'Keep visitors engaged on your blog by highlighting relevant and new content at the bottom of each published post.', 'Jumpstart Description', 'jetpack' );
108
-
109
- // modules/sharedaddy.php
110
- _x( 'Sharing', 'Module Name', 'jetpack' );
111
- _x( 'Visitors can share your content.', 'Module Description', 'jetpack' );
112
- _x( 'Twitter, Facebook and Google+ buttons at the bottom of each post, making it easy for visitors to share your content.', 'Jumpstart Description', 'jetpack' );
113
-
114
- // modules/shortcodes.php
115
- _x( 'Shortcode Embeds', 'Module Name', 'jetpack' );
116
- _x( 'Embed content from YouTube, Vimeo, SlideShare, and more, no coding necessary.', 'Module Description', 'jetpack' );
117
-
118
- // modules/shortlinks.php
119
- _x( 'WP.me Shortlinks', 'Module Name', 'jetpack' );
120
- _x( 'Enable WP.me-powered shortlinks for all posts and pages.', 'Module Description', 'jetpack' );
121
-
122
- // modules/site-icon.php
123
- _x( 'Site Icon', 'Module Name', 'jetpack' );
124
- _x( 'Add a site icon to your site.', 'Module Description', 'jetpack' );
125
-
126
- // modules/sso.php
127
- _x( 'Single Sign On', 'Module Name', 'jetpack' );
128
- _x( 'Secure user authentication.', 'Module Description', 'jetpack' );
129
- _x( 'Lets you log in to all your Jetpack-enabled sites with one click using your WordPress.com account.', 'Jumpstart Description', 'jetpack' );
130
-
131
- // modules/stats.php
132
- _x( 'Site Stats', 'Module Name', 'jetpack' );
133
- _x( 'Collect traffic stats and insights.', 'Module Description', 'jetpack' );
134
-
135
- // modules/subscriptions.php
136
- _x( 'Subscriptions', 'Module Name', 'jetpack' );
137
- _x( 'Allow users to subscribe to your posts and comments and receive notifications via email.', 'Module Description', 'jetpack' );
138
- _x( 'Give visitors two easy subscription options while commenting, or via a separate email subscription widget you can display.', 'Jumpstart Description', 'jetpack' );
139
-
140
- // modules/tiled-gallery.php
141
- _x( 'Tiled Galleries', 'Module Name', 'jetpack' );
142
- _x( 'Display your image galleries in a variety of sleek, graphic arrangements.', 'Module Description', 'jetpack' );
143
-
144
- // modules/vaultpress.php
145
- _x( 'VaultPress', 'Module Name', 'jetpack' );
146
- _x( 'Backups and security scans.', 'Module Description', 'jetpack' );
147
-
148
- // modules/verification-tools.php
149
- _x( 'Site Verification', 'Module Name', 'jetpack' );
150
- _x( 'Verify your site or domain with Google Search Console, Pinterest, and others.', 'Module Description', 'jetpack' );
151
-
152
- // modules/videopress.php
153
- _x( 'VideoPress', 'Module Name', 'jetpack' );
154
- _x( 'Upload and embed videos right on your site. (Subscription required.)', 'Module Description', 'jetpack' );
155
-
156
- // modules/widget-visibility.php
157
- _x( 'Widget Visibility', 'Module Name', 'jetpack' );
158
- _x( 'Specify which widgets appear on which pages of your site.', 'Module Description', 'jetpack' );
159
-
160
- // modules/widgets.php
161
- _x( 'Extra Sidebar Widgets', 'Module Name', 'jetpack' );
162
- _x( 'Add images, Twitter streams, your site’s RSS links, and more to your sidebar.', 'Module Description', 'jetpack' );
163
-
164
- // Modules with `Other` tag:
165
- // - modules/contact-form.php
166
- // - modules/notes.php
167
- // - modules/site-icon.php
168
- _x( 'Other', 'Module Tag', 'jetpack' );
169
-
170
- // Modules with `Writing` tag:
171
- // - modules/after-the-deadline.php
172
- // - modules/custom-content-types.php
173
- // - modules/enhanced-distribution.php
174
- // - modules/json-api.php
175
- // - modules/latex.php
176
- // - modules/markdown.php
177
- // - modules/post-by-email.php
178
- // - modules/shortcodes.php
179
- _x( 'Writing', 'Module Tag', 'jetpack' );
180
-
181
- // Modules with `Photos and Videos` tag:
182
- // - modules/carousel.php
183
- // - modules/photon.php
184
- // - modules/shortcodes.php
185
- // - modules/tiled-gallery.php
186
- // - modules/videopress.php
187
- _x( 'Photos and Videos', 'Module Tag', 'jetpack' );
188
-
189
- // Modules with `Social` tag:
190
- // - modules/comments.php
191
- // - modules/gravatar-hovercards.php
192
- // - modules/likes.php
193
- // - modules/publicize.php
194
- // - modules/sharedaddy.php
195
- // - modules/shortcodes.php
196
- // - modules/shortlinks.php
197
- // - modules/subscriptions.php
198
- // - modules/widgets.php
199
- _x( 'Social', 'Module Tag', 'jetpack' );
200
-
201
- // Modules with `Appearance` tag:
202
- // - modules/custom-css.php
203
- // - modules/gravatar-hovercards.php
204
- // - modules/infinite-scroll.php
205
- // - modules/minileven.php
206
- // - modules/photon.php
207
- // - modules/shortcodes.php
208
- // - modules/widget-visibility.php
209
- // - modules/widgets.php
210
- _x( 'Appearance', 'Module Tag', 'jetpack' );
211
-
212
- // Modules with `Developers` tag:
213
- // - modules/json-api.php
214
- // - modules/omnisearch.php
215
- // - modules/sso.php
216
- _x( 'Developers', 'Module Tag', 'jetpack' );
217
-
218
- // Modules with `Centralized Management` tag:
219
- // - modules/manage.php
220
- _x( 'Centralized Management', 'Module Tag', 'jetpack' );
221
-
222
- // Modules with `Recommended` tag:
223
- // - modules/manage.php
224
- // - modules/minileven.php
225
- // - modules/monitor.php
226
- // - modules/photon.php
227
- // - modules/protect.php
228
- // - modules/publicize.php
229
- // - modules/related-posts.php
230
- // - modules/sharedaddy.php
231
- // - modules/stats.php
232
- _x( 'Recommended', 'Module Tag', 'jetpack' );
233
-
234
- // Modules with `Mobile` tag:
235
- // - modules/minileven.php
236
- _x( 'Mobile', 'Module Tag', 'jetpack' );
237
-
238
- // Modules with `Site Stats` tag:
239
- // - modules/stats.php
240
- _x( 'Site Stats', 'Module Tag', 'jetpack' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Do not edit this file. It's generated by jetpack/tools/build-module-headings-translations.php
3
 
4
  /**
5
+ * For a given module, return an array with translated name, description and recommended description.
 
 
6
  *
7
+ * @param string $key Module file name without .php
8
+ *
9
+ * @return array
10
  */
11
+ function jetpack_get_module_i18n( $key ) {
12
+ static $modules;
13
+ if ( ! isset( $modules ) ) {
14
+ $modules = array(
15
+ 'after-the-deadline' => array(
16
+ 'name' => _x( 'Spelling and Grammar', 'Module Name', 'jetpack' ),
17
+ 'description' => _x( 'Check your spelling, style, and grammar with the After the Deadline proofreading service.', 'Module Description', 'jetpack' ),
18
+ ),
19
+
20
+ 'carousel' => array(
21
+ 'name' => _x( 'Carousel', 'Module Name', 'jetpack' ),
22
+ 'description' => _x( 'Transform standard image galleries into full-screen slideshows.', 'Module Description', 'jetpack' ),
23
+ 'recommended description' => _x( 'Brings your photos and images to life as full-size, easily navigable galleries.', 'Jumpstart Description', 'jetpack' ),
24
+ ),
25
+
26
+ 'comments' => array(
27
+ 'name' => _x( 'Comments', 'Module Name', 'jetpack' ),
28
+ 'description' => _x( 'Let readers comment with WordPress.com, Twitter, Facebook, or Google+ accounts.', 'Module Description', 'jetpack' ),
29
+ ),
30
+
31
+ 'contact-form' => array(
32
+ 'name' => _x( 'Contact Form', 'Module Name', 'jetpack' ),
33
+ 'description' => _x( 'Insert a contact form anywhere on your site.', 'Module Description', 'jetpack' ),
34
+ 'recommended description' => _x( 'Adds a button to your post and page editors, allowing you to build simple forms to help visitors stay in touch.', 'Jumpstart Description', 'jetpack' ),
35
+ ),
36
+
37
+ 'custom-content-types' => array(
38
+ 'name' => _x( 'Custom Content Types', 'Module Name', 'jetpack' ),
39
+ 'description' => _x( 'Organize and display different types of content on your site, separate from posts and pages.', 'Module Description', 'jetpack' ),
40
+ ),
41
+
42
+ 'custom-css' => array(
43
+ 'name' => _x( 'Custom CSS', 'Module Name', 'jetpack' ),
44
+ 'description' => _x( 'Customize your site’s CSS without modifying your theme.', 'Module Description', 'jetpack' ),
45
+ ),
46
+
47
+ 'enhanced-distribution' => array(
48
+ 'name' => _x( 'Enhanced Distribution', 'Module Name', 'jetpack' ),
49
+ 'description' => _x( 'Increase reach and traffic.', 'Module Description', 'jetpack' ),
50
+ ),
51
+
52
+ 'gravatar-hovercards' => array(
53
+ 'name' => _x( 'Gravatar Hovercards', 'Module Name', 'jetpack' ),
54
+ 'description' => _x( 'Enable pop-up business cards over commenters’ Gravatars.', 'Module Description', 'jetpack' ),
55
+ 'recommended description' => _x( 'Let commenters link their profiles to their Gravatar accounts, making it easy for your visitors to learn more about your community.', 'Jumpstart Description', 'jetpack' ),
56
+ ),
57
+
58
+ 'infinite-scroll' => array(
59
+ 'name' => _x( 'Infinite Scroll', 'Module Name', 'jetpack' ),
60
+ 'description' => _x( 'Add support for infinite scroll to your theme.', 'Module Description', 'jetpack' ),
61
+ ),
62
+
63
+ 'json-api' => array(
64
+ 'name' => _x( 'JSON API', 'Module Name', 'jetpack' ),
65
+ 'description' => _x( 'Allow applications to securely access your content through the cloud.', 'Module Description', 'jetpack' ),
66
+ ),
67
+
68
+ 'latex' => array(
69
+ 'name' => _x( 'Beautiful Math', 'Module Name', 'jetpack' ),
70
+ 'description' => _x( 'Use LaTeX markup language in posts and pages for complex equations and other geekery.', 'Module Description', 'jetpack' ),
71
+ ),
72
+
73
+ 'likes' => array(
74
+ 'name' => _x( 'Likes', 'Module Name', 'jetpack' ),
75
+ 'description' => _x( 'Give visitors an easy way to show their appreciation for your content.', 'Module Description', 'jetpack' ),
76
+ ),
77
+
78
+ 'manage' => array(
79
+ 'name' => _x( 'Manage', 'Module Name', 'jetpack' ),
80
+ 'description' => _x( 'Manage all your sites from a centralized place, https://wordpress.com/sites.', 'Module Description', 'jetpack' ),
81
+ 'recommended description' => _x( 'Helps you remotely manage plugins, turn on automated updates, and more from <a href="https://wordpress.com/plugins/" target="_blank">wordpress.com</a>.', 'Jumpstart Description', 'jetpack' ),
82
+ ),
83
+
84
+ 'markdown' => array(
85
+ 'name' => _x( 'Markdown', 'Module Name', 'jetpack' ),
86
+ 'description' => _x( 'Write posts or pages in plain-text Markdown syntax.', 'Module Description', 'jetpack' ),
87
+ ),
88
+
89
+ 'minileven' => array(
90
+ 'name' => _x( 'Mobile Theme', 'Module Name', 'jetpack' ),
91
+ 'description' => _x( 'Optimize your site with a mobile-friendly theme for smartphones.', 'Module Description', 'jetpack' ),
92
+ ),
93
+
94
+ 'monitor' => array(
95
+ 'name' => _x( 'Monitor', 'Module Name', 'jetpack' ),
96
+ 'description' => _x( 'Reports on site downtime.', 'Module Description', 'jetpack' ),
97
+ ),
98
+
99
+ 'notes' => array(
100
+ 'name' => _x( 'Notifications', 'Module Name', 'jetpack' ),
101
+ 'description' => _x( 'Receive notification of site activity via the admin toolbar and your Mobile devices.', 'Module Description', 'jetpack' ),
102
+ ),
103
+
104
+ 'omnisearch' => array(
105
+ 'name' => _x( 'Omnisearch', 'Module Name', 'jetpack' ),
106
+ 'description' => _x( 'Search your entire database from a single field in your Dashboard.', 'Module Description', 'jetpack' ),
107
+ ),
108
+
109
+ 'photon' => array(
110
+ 'name' => _x( 'Photon', 'Module Name', 'jetpack' ),
111
+ 'description' => _x( 'Speed up images and photos.', 'Module Description', 'jetpack' ),
112
+ 'recommended description' => _x( 'Mirrors and serves your images from our free and fast image CDN, improving your site’s performance with no additional load on your servers.', 'Jumpstart Description', 'jetpack' ),
113
+ ),
114
+
115
+ 'post-by-email' => array(
116
+ 'name' => _x( 'Post by Email', 'Module Name', 'jetpack' ),
117
+ 'description' => _x( 'Publish posts by email, using any device and email client.', 'Module Description', 'jetpack' ),
118
+ ),
119
+
120
+ 'protect' => array(
121
+ 'name' => _x( 'Protect', 'Module Name', 'jetpack' ),
122
+ 'description' => _x( 'Prevent brute force attacks.', 'Module Description', 'jetpack' ),
123
+ ),
124
+
125
+ 'publicize' => array(
126
+ 'name' => _x( 'Publicize', 'Module Name', 'jetpack' ),
127
+ 'description' => _x( 'Automatically promote content.', 'Module Description', 'jetpack' ),
128
+ ),
129
+
130
+ 'related-posts' => array(
131
+ 'name' => _x( 'Related Posts', 'Module Name', 'jetpack' ),
132
+ 'description' => _x( 'Display similar content.', 'Module Description', 'jetpack' ),
133
+ 'recommended description' => _x( 'Keep visitors engaged on your blog by highlighting relevant and new content at the bottom of each published post.', 'Jumpstart Description', 'jetpack' ),
134
+ ),
135
+
136
+ 'sharedaddy' => array(
137
+ 'name' => _x( 'Sharing', 'Module Name', 'jetpack' ),
138
+ 'description' => _x( 'Visitors can share your content.', 'Module Description', 'jetpack' ),
139
+ 'recommended description' => _x( 'Twitter, Facebook and Google+ buttons at the bottom of each post, making it easy for visitors to share your content.', 'Jumpstart Description', 'jetpack' ),
140
+ ),
141
+
142
+ 'shortcodes' => array(
143
+ 'name' => _x( 'Shortcode Embeds', 'Module Name', 'jetpack' ),
144
+ 'description' => _x( 'Embed content from YouTube, Vimeo, SlideShare, and more, no coding necessary.', 'Module Description', 'jetpack' ),
145
+ ),
146
+
147
+ 'shortlinks' => array(
148
+ 'name' => _x( 'WP.me Shortlinks', 'Module Name', 'jetpack' ),
149
+ 'description' => _x( 'Enable WP.me-powered shortlinks for all posts and pages.', 'Module Description', 'jetpack' ),
150
+ ),
151
+
152
+ 'site-icon' => array(
153
+ 'name' => _x( 'Site Icon', 'Module Name', 'jetpack' ),
154
+ 'description' => _x( 'Add a site icon to your site.', 'Module Description', 'jetpack' ),
155
+ ),
156
+
157
+ 'sitemaps' => array(
158
+ 'name' => _x( 'Sitemaps', 'Module Name', 'jetpack' ),
159
+ 'description' => _x( 'Creates sitemaps to allow your site to be easily indexed by search engines.', 'Module Description', 'jetpack' ),
160
+ ),
161
+
162
+ 'sso' => array(
163
+ 'name' => _x( 'Single Sign On', 'Module Name', 'jetpack' ),
164
+ 'description' => _x( 'Secure user authentication.', 'Module Description', 'jetpack' ),
165
+ 'recommended description' => _x( 'Lets you log in to all your Jetpack-enabled sites with one click using your WordPress.com account.', 'Jumpstart Description', 'jetpack' ),
166
+ ),
167
+
168
+ 'stats' => array(
169
+ 'name' => _x( 'Site Stats', 'Module Name', 'jetpack' ),
170
+ 'description' => _x( 'Collect traffic stats and insights.', 'Module Description', 'jetpack' ),
171
+ ),
172
+
173
+ 'subscriptions' => array(
174
+ 'name' => _x( 'Subscriptions', 'Module Name', 'jetpack' ),
175
+ 'description' => _x( 'Allow users to subscribe to your posts and comments and receive notifications via email.', 'Module Description', 'jetpack' ),
176
+ 'recommended description' => _x( 'Give visitors two easy subscription options — while commenting, or via a separate email subscription widget you can display.', 'Jumpstart Description', 'jetpack' ),
177
+ ),
178
+
179
+ 'tiled-gallery' => array(
180
+ 'name' => _x( 'Tiled Galleries', 'Module Name', 'jetpack' ),
181
+ 'description' => _x( 'Display your image galleries in a variety of sleek, graphic arrangements.', 'Module Description', 'jetpack' ),
182
+ ),
183
+
184
+ 'vaultpress' => array(
185
+ 'name' => _x( 'Data Backups', 'Module Name', 'jetpack' ),
186
+ 'description' => _x( 'Daily or real-time backups.', 'Module Description', 'jetpack' ),
187
+ ),
188
+
189
+ 'verification-tools' => array(
190
+ 'name' => _x( 'Site Verification', 'Module Name', 'jetpack' ),
191
+ 'description' => _x( 'Verify your site or domain with Google Search Console, Pinterest, and others.', 'Module Description', 'jetpack' ),
192
+ ),
193
+
194
+ 'videopress' => array(
195
+ 'name' => _x( 'VideoPress', 'Module Name', 'jetpack' ),
196
+ 'description' => _x( 'Upload and embed videos right on your site. (Subscription required.)', 'Module Description', 'jetpack' ),
197
+ ),
198
+
199
+ 'widget-visibility' => array(
200
+ 'name' => _x( 'Widget Visibility', 'Module Name', 'jetpack' ),
201
+ 'description' => _x( 'Specify which widgets appear on which pages of your site.', 'Module Description', 'jetpack' ),
202
+ ),
203
+
204
+ 'widgets' => array(
205
+ 'name' => _x( 'Extra Sidebar Widgets', 'Module Name', 'jetpack' ),
206
+ 'description' => _x( 'Add images, Twitter streams, your site’s RSS links, and more to your sidebar.', 'Module Description', 'jetpack' ),
207
+ ),
208
+ );
209
+ }
210
+ return $modules[ $key ];
211
+ }
212
+ /**
213
+ * For a given module tag, return its translated version.
214
+ *
215
+ * @param string $key Module tag as is in each module heading.
216
+ *
217
+ * @return string
218
+ */
219
+ function jetpack_get_module_i18n_tag( $key ) {
220
+ static $module_tags;
221
+ if ( ! isset( $module_tags ) ) {
222
+ $module_tags = array(
223
+ // Modules with `Other` tag:
224
+ // - modules/contact-form.php
225
+ // - modules/notes.php
226
+ // - modules/site-icon.php
227
+ 'Other' =>_x( 'Other', 'Module Tag', 'jetpack' ),
228
+
229
+ // Modules with `Writing` tag:
230
+ // - modules/after-the-deadline.php
231
+ // - modules/custom-content-types.php
232
+ // - modules/enhanced-distribution.php
233
+ // - modules/json-api.php
234
+ // - modules/latex.php
235
+ // - modules/markdown.php
236
+ // - modules/post-by-email.php
237
+ // - modules/shortcodes.php
238
+ 'Writing' =>_x( 'Writing', 'Module Tag', 'jetpack' ),
239
+
240
+ // Modules with `Photos and Videos` tag:
241
+ // - modules/carousel.php
242
+ // - modules/photon.php
243
+ // - modules/shortcodes.php
244
+ // - modules/tiled-gallery.php
245
+ // - modules/videopress.php
246
+ 'Photos and Videos' =>_x( 'Photos and Videos', 'Module Tag', 'jetpack' ),
247
+
248
+ // Modules with `Social` tag:
249
+ // - modules/comments.php
250
+ // - modules/gravatar-hovercards.php
251
+ // - modules/likes.php
252
+ // - modules/publicize.php
253
+ // - modules/sharedaddy.php
254
+ // - modules/shortcodes.php
255
+ // - modules/shortlinks.php
256
+ // - modules/subscriptions.php
257
+ // - modules/widgets.php
258
+ 'Social' =>_x( 'Social', 'Module Tag', 'jetpack' ),
259
+
260
+ // Modules with `Appearance` tag:
261
+ // - modules/custom-css.php
262
+ // - modules/gravatar-hovercards.php
263
+ // - modules/infinite-scroll.php
264
+ // - modules/minileven.php
265
+ // - modules/photon.php
266
+ // - modules/shortcodes.php
267
+ // - modules/widget-visibility.php
268
+ // - modules/widgets.php
269
+ 'Appearance' =>_x( 'Appearance', 'Module Tag', 'jetpack' ),
270
+
271
+ // Modules with `Developers` tag:
272
+ // - modules/json-api.php
273
+ // - modules/omnisearch.php
274
+ // - modules/sso.php
275
+ 'Developers' =>_x( 'Developers', 'Module Tag', 'jetpack' ),
276
+
277
+ // Modules with `Centralized Management` tag:
278
+ // - modules/manage.php
279
+ 'Centralized Management' =>_x( 'Centralized Management', 'Module Tag', 'jetpack' ),
280
+
281
+ // Modules with `Recommended` tag:
282
+ // - modules/manage.php
283
+ // - modules/minileven.php
284
+ // - modules/monitor.php
285
+ // - modules/photon.php
286
+ // - modules/protect.php
287
+ // - modules/publicize.php
288
+ // - modules/related-posts.php
289
+ // - modules/sharedaddy.php
290
+ // - modules/sitemaps.php
291
+ // - modules/stats.php
292
+ 'Recommended' =>_x( 'Recommended', 'Module Tag', 'jetpack' ),
293
+
294
+ // Modules with `Mobile` tag:
295
+ // - modules/minileven.php
296
+ 'Mobile' =>_x( 'Mobile', 'Module Tag', 'jetpack' ),
297
+
298
+ // Modules with `Traffic` tag:
299
+ // - modules/sitemaps.php
300
+ 'Traffic' =>_x( 'Traffic', 'Module Tag', 'jetpack' ),
301
+
302
+ // Modules with `Site Stats` tag:
303
+ // - modules/stats.php
304
+ 'Site Stats' =>_x( 'Site Stats', 'Module Tag', 'jetpack' ),
305
+ );
306
+ }
307
+ return $module_tags[ $key ];
308
+ }
modules/module-info.php CHANGED
@@ -2,12 +2,26 @@
2
  /**
3
  * "Learn More" information blocks for all modules live in this file.
4
  *
5
- * jetpack_module_more_info_<module-slug> hooks are for pre-connection information
6
- * jetpack_module_more_info_connected_<module-slug> hooks are used once the user
7
- * is connected to show them links to admin panels, usage info etc.
 
 
8
  */
9
 
10
- // VaultPress (stub)
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
  function vaultpress_jetpack_more_info() {
13
  if ( function_exists( 'is_multisite' ) && is_multisite() ) {
@@ -32,20 +46,15 @@ function vaultpress_jetpack_more_info() {
32
  <?php endif;
33
  }
34
  add_action( 'jetpack_module_more_info_vaultpress', 'vaultpress_jetpack_more_info' );
35
- add_action( 'jetpack_module_more_info_connected_vaultpress', 'vaultpress_jetpack_more_info' );
36
-
37
- function vaultpress_jetpack_load_more_link() {
38
- if ( function_exists( 'is_multisite' ) && is_multisite() ) {
39
- $vaultpress_url = 'http://vaultpress.com/jetpack-ms/';
40
- } else {
41
- $vaultpress_url = 'http://vaultpress.com/jetpack/';
42
- }
43
 
44
- echo '<a class="button-secondary more-info-link" href="' . $vaultpress_url . '">' . __( "Learn More", 'jetpack' ) . '</a>';
 
 
 
 
45
  }
46
- add_filter( 'jetpack_learn_more_button_vaultpress', 'vaultpress_jetpack_load_more_link' );
47
 
48
- // Gravatar Hovercards
49
  function grofiles_more_info() { ?>
50
  <div class="jp-info-img">
51
  <a href="http://blog.gravatar.com/2010/10/06/gravatar-hovercards-on-wordpress-com/">
@@ -53,34 +62,21 @@ function grofiles_more_info() { ?>
53
  </a>
54
  </div>
55
 
56
- <h5><?php esc_html_e( "What&#8217;s a Hovercard?", 'jetpack' ) ?></h5>
57
- <p><?php esc_html_e( 'Hovercards enhance plain Gravatar images with information about a person: name, bio, pictures, their contact info, and other services they use on the web like Twitter, Facebook, or LinkedIn.', 'jetpack' ); ?></p>
58
- <p><?php esc_html_e( 'Hovercards offer a great way to show your internet presence and help people find your own blog.', 'jetpack' ); ?></p>
59
- <?php
60
- }
61
- add_action( 'jetpack_module_more_info_gravatar-hovercards', 'grofiles_more_info' );
62
-
63
- function grofiles_more_info_connected() { ?>
64
- <div class="jp-info-img">
65
- <a href="http://blog.gravatar.com/2010/10/06/gravatar-hovercards-on-wordpress-com/">
66
- <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/hovercards.jpg' ) ?>" alt="<?php esc_attr_e( 'Gravatar Hovercard', 'jetpack' ) ?>" width="300" height="150" />
67
- </a>
68
- </div>
69
-
70
  <h5><?php esc_html_e( "What&#8217;s a Hovercard?", 'jetpack' ) ?></h5>
71
  <p><?php esc_html_e( 'Hovercards enhance plain Gravatar images with information about a person: name, bio, pictures, their contact info, and other services.', 'jetpack' ); ?></p>
72
  <p><?php esc_html_e( 'To see hovercards, look at any blog post on your blog that has comments. If the commenter has a hovercard associated with their gravatar, mouse over their image and the hovercard will appear. To turn hovercards off, click the Deactivate button above.', 'jetpack' ); ?></p>
73
  <?php
74
  }
75
- add_action( 'jetpack_module_more_info_connected_gravatar-hovercards', 'grofiles_more_info_connected' );
76
 
77
- function grofiles_load_more_link() {
78
- echo '<a class="button-secondary more-info-link" href="http://blog.gravatar.com/2010/10/06/gravatar-hovercards-on-wordpress-com/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
79
  }
80
- add_filter( 'jetpack_learn_more_button_gravatar-hovercards', 'grofiles_load_more_link' );
81
-
82
 
83
- // Shortcodes
84
  function jetpack_shortcodes_more_info() { ?>
85
  <div class="jp-info-img">
86
  <a href="http://en.support.wordpress.com/shortcodes/">
@@ -88,18 +84,6 @@ function jetpack_shortcodes_more_info() { ?>
88
  </a>
89
  </div>
90
 
91
- <p><?php esc_html_e( 'Shortcodes allow you to easily and safely embed media from other places in your site. With just one simple code, you can tell WordPress to embed YouTube, Flickr, and other media.', 'jetpack' ) ?></p>
92
- <?php
93
- }
94
- add_action( 'jetpack_module_more_info_shortcodes', 'jetpack_shortcodes_more_info' );
95
-
96
- function jetpack_shortcodes_more_info_connected() { ?>
97
- <div class="jp-info-img">
98
- <a href="http://en.support.wordpress.com/shortcodes/">
99
- <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/shortcodes.jpg' ) ?>" alt="<?php esc_attr_e( 'Shortcode Embeds', 'jetpack' ) ?>" width="300" height="150" />
100
- </a>
101
- </div>
102
-
103
  <p><?php esc_html_e( 'Shortcodes allow you to easily and safely embed media from other places in your site. With just one simple code, you can tell WordPress to embed YouTube, Flickr, and other media.', 'jetpack' ) ?></p>
104
  <p><?php esc_html_e( 'Enter a shortcode directly into the Post/Page editor to embed media. For specific instructions follow the links below.', 'jetpack' ) ?></p>
105
  <?php
@@ -111,8 +95,8 @@ function jetpack_shortcodes_more_info_connected() { ?>
111
  'flickr' => 'http://support.wordpress.com/videos/flickr-video/',
112
  'gist' => 'http://en.support.wordpress.com/gist/',
113
  'googlemaps' => 'http://support.wordpress.com/google-maps/',
114
- 'instagram' => 'https://en.support.wordpress.com/instagram/instagram-images/',
115
- 'jetpack_subscription_form' => 'http://jetpack.me/support/subscriptions/#display',
116
  'polldaddy' => 'http://support.polldaddy.com/wordpress-shortcodes/',
117
  'presentation' => 'http://en.support.wordpress.com/presentations/',
118
  'recipes' => 'http://en.support.wordpress.com/recipes/',
@@ -139,15 +123,16 @@ function jetpack_shortcodes_more_info_connected() { ?>
139
  <p><?php echo wp_sprintf( esc_html__( 'Available shortcodes are: %l.', 'jetpack' ), $available ); ?></p>
140
  <?php
141
  }
142
- add_action( 'jetpack_module_more_info_connected_shortcodes', 'jetpack_shortcodes_more_info_connected' );
143
 
144
- function jetpack_shortcodes_load_more_link( $description ) {
145
- echo '<a class="button-secondary more-info-link" href="http://en.support.wordpress.com/shortcodes/">' . esc_html__( 'Learn More' , 'jetpack' ) . '</a>';
 
 
 
146
  }
147
- add_filter( 'jetpack_learn_more_button_shortcodes', 'jetpack_shortcodes_load_more_link' );
148
-
149
 
150
- // Shortlinks
151
  function wpme_more_info() { ?>
152
  <div class="jp-info-img">
153
  <a href="http://wp.me/sf2B5-shorten">
@@ -157,30 +142,19 @@ function wpme_more_info() { ?>
157
 
158
  <p><?php esc_html_e( "Instead of typing or copy-pasting long URLs, you can now get a short and simple link to your posts and pages. This uses the super compact wp.me domain name, and gives you a unique URL you can use that will be safe and reliable.", 'jetpack' ) ?></p>
159
  <p><?php esc_html_e( "It&#8217;s perfect for use on Twitter, Facebook, and cell phone text messages where every character counts.", 'jetpack' ) ?></p>
160
- <?php
161
- }
162
- add_action( 'jetpack_module_more_info_shortlinks', 'wpme_more_info' );
163
-
164
- function wpme_more_info_connected() { ?>
165
- <div class="jp-info-img">
166
- <a href="http://wp.me/sf2B5-shorten">
167
- <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/shortlinks.jpg' ) ?>" alt="<?php esc_attr_e( 'WP.me Shortlinks', 'jetpack' ) ?>" width="300" height="150" />
168
- </a>
169
- </div>
170
-
171
- <p><?php esc_html_e( "Instead of typing or copy-pasting long URLs, you can now get a short and simple link to your posts and pages. This uses the super compact wp.me domain name, and gives you a unique URL you can use that will be safe and reliable.", 'jetpack' ) ?></p>
172
  <p><?php esc_html_e( "To use shortlinks, go to any already published post (or publish something new!). A &#8220;Get Shortlink&#8221; button will be visible under the Post title. When you click it, a dialog box will appear with the shortlink and you can copy and paste to Twitter, Facebook or wherever your heart desires.", 'jetpack' ) ?></p>
173
  <?php
174
  }
175
- add_action( 'jetpack_module_more_info_connected_shortlinks', 'wpme_more_info_connected' );
176
 
177
- function wpme_load_more_link( $description ) {
178
- echo '<a class="button-secondary more-info-link" href="http://wp.me/sf2B5-shorten">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
179
  }
180
- add_filter( 'jetpack_learn_more_button_shortlinks', 'wpme_load_more_link' );
181
-
182
 
183
- // Site Stats
184
  function stats_more_info() { ?>
185
  <div class="jp-info-img">
186
  <a href="http://en.support.wordpress.com/stats/">
@@ -188,31 +162,20 @@ function stats_more_info() { ?>
188
  </a>
189
  </div>
190
 
191
- <p><?php esc_html_e( 'There are many plugins and services that provide statistics, but data can be overwhelming. Site Stats makes the most popular metrics easy to understand through a clear and attractive interface.', 'jetpack' ) ?></p>
192
- <?php
193
- }
194
- add_action( 'jetpack_module_more_info_stats', 'stats_more_info' );
195
-
196
- function stats_more_info_connected() { ?>
197
- <div class="jp-info-img">
198
- <a href="http://en.support.wordpress.com/stats/">
199
- <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/stats.jpg' ) ?>" alt="<?php esc_attr_e( 'Site Stats', 'jetpack' ) ?>" width="300" height="150" />
200
- </a>
201
- </div>
202
-
203
  <p><?php esc_html_e( 'There are many plugins and services that provide statistics, but data can be overwhelming. Site Stats makes the most popular metrics easy to understand through a clear and attractive interface.', 'jetpack' ) ?></p>
204
  <p><?php printf( __( 'You can <a href="%s">view your stats dashboard here</a>.', 'jetpack' ), admin_url( 'admin.php?page=stats' ) ); ?></p>
205
  <?php
206
  }
207
- add_action( 'jetpack_module_more_info_connected_stats', 'stats_more_info_connected' );
208
 
209
- function stats_load_more_link( $description ) {
210
- echo '<a class="button-secondary more-info-link" href="http://en.support.wordpress.com/stats/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
211
  }
212
- add_filter( 'jetpack_learn_more_button_stats', 'stats_load_more_link' );
213
-
214
 
215
- // Publicize
216
  function publicize_more_info() { ?>
217
  <div class="jp-info-img">
218
  <a href="http://en.support.wordpress.com/publicize/">
@@ -229,19 +192,19 @@ function publicize_more_info() { ?>
229
 
230
  <?php endif; ?>
231
 
232
- <p>&rarr; <a href="http://jetpack.me/support/publicize/"><?php esc_html_e( 'More information on using Publicize.', 'jetpack' ); ?></a></p>
233
  <?php
234
  }
235
-
236
  add_action( 'jetpack_module_more_info_publicize', 'publicize_more_info' );
237
- add_action( 'jetpack_module_more_info_connected_publicize', 'publicize_more_info' );
238
 
239
- function publicize_load_more_link( $description ) {
240
- echo '<a class="button-secondary more-info-link" href="http://jetpack.me/support/publicize/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
241
  }
242
- add_filter( 'jetpack_learn_more_button_publicize', 'publicize_load_more_link' );
243
 
244
- // Notifications
245
  function notes_more_info() { ?>
246
  <div class="jp-info-img">
247
  <a href="http://support.wordpress.com/notifications/">
@@ -249,31 +212,20 @@ function notes_more_info() { ?>
249
  </a>
250
  </div>
251
 
252
- <p><?php esc_html_e( 'Keep up with the latest happenings on all your WordPress sites and interact with other WordPress.com users.', 'jetpack' ) ?></p>
253
- <?php
254
- }
255
- add_action( 'jetpack_module_more_info_notes', 'notes_more_info' );
256
-
257
- function notes_more_info_connected() { ?>
258
- <div class="jp-info-img">
259
- <a href="http://support.wordpress.com/notifications/">
260
- <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/notes.jpg' ) ?>" alt="<?php esc_attr_e( 'Notifications', 'jetpack' ) ?>" width="300" height="150" />
261
- </a>
262
- </div>
263
-
264
  <p><?php esc_html_e( 'Keep up with the latest happenings on all your WordPress sites and interact with other WordPress.com users.', 'jetpack' ) ?></p>
265
  <p><?php printf( __( 'You can view your notifications in the Toolbar and <a href="%s">on WordPress.com</a>.', 'jetpack' ), 'http://wordpress.com/#!/notifications/' ); ?></p>
266
  <?php
267
  }
268
- add_filter( 'jetpack_module_more_info_connected_notes', 'notes_more_info_connected' );
269
 
270
- function notes_load_more_link( $description ) {
271
- echo '<a class="button-secondary more-info-link" href="http://support.wordpress.com/notifications/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
272
  }
273
- add_filter( 'jetpack_learn_more_button_notes', 'notes_load_more_link' );
274
-
275
 
276
- // LaTeX
277
  function latex_more_info() { ?>
278
  <div class="jp-info-img">
279
  <a href="http://support.wordpress.com/latex/">
@@ -283,36 +235,23 @@ function latex_more_info() { ?>
283
 
284
  <p><?php printf( esc_html__( '%s is a powerful markup language for writing complex mathematical equations, formulas, etc.', 'jetpack' ), '<a href="http://www.latex-project.org/" target="_blank"><img src="//s0.wp.com/latex.php?latex=%5CLaTeX&amp;bg=transparent&amp;fg=000&amp;s=-1" alt="LaTeX logo" title="LaTeX" style="vertical-align: -25%" /></a>' ); ?></p>
285
  <p><?php printf( esc_html__( 'Jetpack combines the power of %s and the simplicity of WordPress to give you the ultimate in math blogging platforms.', 'jetpack' ), '<img src="//s0.wp.com/latex.php?latex=%5CLaTeX&amp;bg=transparent&amp;fg=000&amp;s=-1" alt="LaTeX logo" title="LaTeX" style="vertical-align: -25%" />' ); ?></p>
 
286
  <p><?php esc_html_e( 'Wow, that sounds nerdy.', 'jetpack' ) ?></p>
287
  <?php
288
  }
289
  add_action( 'jetpack_module_more_info_latex', 'latex_more_info' );
290
 
291
- function latex_more_info_connected() { ?>
292
- <div class="jp-info-img">
293
- <a href="http://support.wordpress.com/latex/">
294
- <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/beautifulmath.jpg' ) ?>" alt="<?php esc_attr_e( 'LaTeX', 'jetpack' ) ?>" width="300" height="150" />
295
- </a>
296
- </div>
297
-
298
- <p><?php printf( esc_html__( '%s is a powerful markup language for writing complex mathematical equations, formulas, etc.', 'jetpack' ), '<a href="http://www.latex-project.org/" target="_blank"><img src="//s0.wp.com/latex.php?latex=%5CLaTeX&amp;bg=transparent&amp;fg=000&amp;s=-1" alt="LaTeX logo" title="LaTeX" style="vertical-align: -25%" /></a>' ); ?></p>
299
- <p><?php printf( __( 'Use <code>$latex your latex code here$</code> or <code>[latex]your latex code here[/latex]</code> to include %s in your posts and comments. There are <a href="%s" target="_blank">all sorts of options</a> available.', 'jetpack' ), '<img src="//s0.wp.com/latex.php?latex=%5CLaTeX&amp;bg=transparent&amp;fg=000&amp;s=-1" alt="LaTeX logo" title="LaTeX" style="vertical-align: -25%" />', 'http://support.wordpress.com/latex/' ); ?></p>
300
- <?php
301
- }
302
- add_action( 'jetpack_module_more_info_connected_latex', 'latex_more_info_connected' );
303
-
304
- function latex_load_more_link( $description ) {
305
- echo '<a class="button-secondary more-info-link" href="http://support.wordpress.com/latex/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
306
  }
307
- add_filter( 'jetpack_learn_more_button_latex', 'latex_load_more_link' );
308
-
309
 
310
- // Sharedaddy
311
  function sharedaddy_more_info() { ?>
312
  <div class="jp-info-img">
313
- <a href="http://en.support.wordpress.com/sharing/">
314
- <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/sharing.jpg' ) ?>" alt="<?php esc_attr_e( 'Sharing', 'jetpack' ) ?>" width="300" height="150" />
315
- </a>
316
  </div>
317
  <p><?php esc_html_e( 'Share your posts with Twitter, Facebook, and a host of other services. You can configure services to appear as icons, text, or both. Some services have additional options to display smart buttons, such as Twitter, which will update the number of times the post has been shared.', 'jetpack' ); ?></p>
318
 
@@ -324,16 +263,6 @@ function sharedaddy_more_info() { ?>
324
  }
325
  ?></p>
326
 
327
- <p><?php esc_html_e( 'Additionally you can define your own custom services.', 'jetpack' ); ?></p>
328
- <?php
329
- }
330
- add_action( 'jetpack_module_more_info_sharedaddy', 'sharedaddy_more_info' );
331
-
332
- function sharedaddy_more_info_connected() { ?>
333
- <div class="jp-info-img">
334
- <embed type="application/x-shockwave-flash" src="http://s0.videopress.com/player.swf?v=1.02" height="190" wmode="transparent" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true" flashvars="guid=WV0JOwY2"></embed>
335
- </div>
336
-
337
  <?php
338
  if ( class_exists( 'Sharing_Admin' ) ) {
339
  ?>
@@ -348,15 +277,16 @@ function sharedaddy_more_info_connected() { ?>
348
  <p><?php printf( __( 'Full details can be found on the <a href="%s">Sharing support page</a>. This video also gives a swish run-down of how to use the Sharing feature. Watch it in HD for extra snazz!', 'jetpack' ), 'http://support.wordpress.com/sharing/' ); ?></p>
349
  <?php
350
  }
351
- add_action( 'jetpack_module_more_info_connected_sharedaddy', 'sharedaddy_more_info_connected' );
352
 
353
- function sharedaddy_load_more_link( $description ) {
354
- echo '<a class="button-secondary more-info-link" href="http://support.wordpress.com/sharing/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
355
  }
356
- add_filter( 'jetpack_learn_more_button_sharedaddy', 'sharedaddy_load_more_link' );
357
-
358
 
359
- // After The Deadline
360
  function jpatd_more_info() { ?>
361
  <div class="jp-info-img">
362
  <a href="http://en.support.wordpress.com/proofreading/">
@@ -370,30 +300,19 @@ function jpatd_more_info() { ?>
370
  }
371
  add_action( 'jetpack_module_more_info_after-the-deadline', 'jpatd_more_info' );
372
 
373
- function jpatd_load_more_link( $description ) {
374
- echo '<a class="button-secondary more-info-link" href="http://en.support.wordpress.com/proofreading/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
375
  }
376
- add_filter( 'jetpack_learn_more_button_after-the-deadline', 'jpatd_load_more_link' );
377
-
378
 
379
- // RSS Links Widget, Image Widget, Twitter Widget
380
  function jetpack_widgets_more_info() { ?>
381
  <div class="jp-info-img">
382
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/widgets.jpg' ) ?>" alt="<?php esc_attr_e( 'Widgets Screenshot', 'jetpack' ) ?>" width="300" height="150" />
383
  </div>
384
 
385
- <p><strong><?php esc_html_e( 'The RSS Links Widget ', 'jetpack' ); ?></strong> <?php esc_html_e( "allows you to add links to your blog&#8217;s post and comment RSS feeds in your sidebar. This makes it easy for your readers to stay updated when you post new content or receive new comments.", 'jetpack' ) ?></p>
386
- <p><strong><?php esc_html_e( 'The Twitter Widget ', 'jetpack' ); ?></strong> <?php esc_html_e( "shows your latest tweets within a sidebar on your theme. It&#8217;s an easy way to add more activity to your site. There are also a number of customization options.", 'jetpack' ) ?> <strong><?php esc_html_e( 'The Facebook Like Box Widget ', 'jetpack' ); ?></strong> <?php esc_html_e( "shows your Facebook Like Box within a sidebar on your theme. It&#8217;s a great way to let your readers show their support.", 'jetpack' ) ?> <strong><?php esc_html_e( 'The Image Widget ', 'jetpack' ); ?></strong><?php esc_html_e( "allows you to easily add images to widget areas in your theme. It&#8217;s an easy way to add more visual interest to your site.", 'jetpack' ) ?></p>
387
-
388
- <?php
389
- }
390
- add_action( 'jetpack_module_more_info_widgets', 'jetpack_widgets_more_info' );
391
-
392
- function jetpack_widgets_more_info_connected() { ?>
393
- <div class="jp-info-img">
394
- <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/widgets.jpg' ) ?>" alt="<?php esc_attr_e( 'Widgets Screenshot', 'jetpack' ) ?>" width="300" height="150" />
395
- </div>
396
-
397
  <p><?php printf( __( '<strong>The Twitter Widget</strong> shows your latest tweets within a sidebar on your theme.', 'jetpack' ) ); ?></p>
398
  <p><?php printf( __( '<strong>The Facebook Like Box Widget</strong> shows your Facebook Like Box within a sidebar on your theme.', 'jetpack' ) ); ?></p>
399
  <p><?php printf( __( '<strong>The Image Widget</strong> lets you easily add images to a sidebar on your theme.', 'jetpack' ) ); ?></strong> <?php esc_html_e( '', 'jetpack' ) ?></p>
@@ -406,14 +325,16 @@ function jetpack_widgets_more_info_connected() { ?>
406
  <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>
407
  <?php
408
  }
409
- add_action( 'jetpack_module_more_info_connected_widgets', 'jetpack_widgets_more_info_connected' );
410
 
411
- function jetpack_widgets_load_more_link( $description ) {
412
- echo '<a class="button-secondary more-info-link" href="http://en.support.wordpress.com/widgets/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
413
  }
414
- add_filter( 'jetpack_learn_more_button_widgets', 'jetpack_widgets_load_more_link' );
415
 
416
- // Subscriptions
417
  function jetpack_subscriptions_more_info() { ?>
418
  <div class="jp-info-img">
419
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/subscriptions.jpg' ) ?>" alt="<?php esc_attr_e( 'Subsriptions Screenshot', 'jetpack' ) ?>" width="300" height="150" />
@@ -422,38 +343,45 @@ function jetpack_subscriptions_more_info() { ?>
422
  <p><?php esc_html_e( 'Easily allow any visitor to subscribe to all of your posts via email through a widget in your blog&#8217;s sidebar. Every time you publish a post, WordPress.com will send a notification to all your subscribers.', 'jetpack' ); ?></p>
423
  <p><?php esc_html_e( 'When leaving comments, your visitors can also subscribe to a post&#8217;s comments to keep up with the conversation.', 'jetpack' ); ?></p>
424
 
 
 
 
 
 
 
 
 
 
 
 
 
425
  <?php
426
-
427
- if ( 'jetpack_module_more_info_connected_subscriptions' == current_filter() )
428
- printf( '<p>' . __( 'To use the Subscriptions widget, go to Appearance &#8594; <a href="%s">Widgets</a>. Drag the widget labeled &#8220;Blog Subscriptions (Jetpack)&#8221; into one of your sidebars and configure away.', 'jetpack' ) . '</p>', admin_url( 'widgets.php' ) );
429
- printf( '<p>' . __( 'You can also make changes to your Subscription settings at the bottom of the <a href="%s">Discussion Settings</a> page.', 'jetpack' ) . '</p>', admin_url( 'options-discussion.php#jetpack-subscriptions-settings' ) );
430
- printf( '<p>' . __( 'To customize the emails sent from your blog to your followers, check the settings at the bottom of the <a href="%s">Reading Settings</a> page.', 'jetpack' ) . '</p>', admin_url( 'options-reading.php#follower-settings' ) );
431
  }
432
  add_action( 'jetpack_module_more_info_subscriptions', 'jetpack_subscriptions_more_info' );
433
- add_action( 'jetpack_module_more_info_connected_subscriptions', 'jetpack_subscriptions_more_info' );
434
 
435
- function jetpack_subscriptions_load_more_link() {
436
- echo '<a class="button-secondary more-info-link" href="http://en.support.wordpress.com/following/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
437
  }
438
- add_action( 'jetpack_learn_more_button_subscriptions', 'jetpack_subscriptions_load_more_link' );
439
-
440
- // Enhanced Distribution
441
 
442
  function jetpack_enhanced_distribution_more_info() { ?>
443
  <p><?php esc_html_e( 'Jetpack will automatically take the great published content from your blog or website and share it instantly with third party services like search engines, increasing your reach and traffic.', 'jetpack' ); ?></p>
444
-
445
  <?php
446
  }
447
-
448
  add_action( 'jetpack_module_more_info_enhanced-distribution', 'jetpack_enhanced_distribution_more_info' );
449
- add_action( 'jetpack_module_more_info_connected_enhanced-distribution', 'jetpack_enhanced_distribution_more_info' );
450
 
451
- function jetpack_enhanced_distribution_more_link() {
452
- echo '<a class="button-secondary more-info-link" href="http://en.wordpress.com/firehose/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
 
453
  }
454
- add_action( 'jetpack_learn_more_button_enhanced-distribution', 'jetpack_enhanced_distribution_more_link' );
455
 
456
- // Protect
457
  function jetpack_protect_more_info() { ?>
458
  <p><?php esc_html_e( 'Protect is a cloud-powered brute force attack prevention tool. We leverage the millions of WordPress sites to identify and block malicious IPs.
459
 
@@ -463,15 +391,15 @@ Protect is derived from BruteProtect, and will disable BruteProtect on your site
463
  }
464
 
465
  add_action( 'jetpack_module_more_info_protect', 'jetpack_protect_more_info' );
466
- add_action( 'jetpack_module_more_info_connected_protect', 'jetpack_protect_more_info' );
467
 
468
- function jetpack_protect_more_link() {
469
- echo '<a class="button-secondary more-info-link" href="http://jetpack.me/support/protect/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
470
  }
471
- add_action( 'jetpack_learn_more_button_protect', 'jetpack_protect_more_link' );
472
-
473
 
474
- // JSON API
475
  function jetpack_json_api_more_info() { ?>
476
  <p><?php esc_html_e( 'Jetpack will allow you to authorize applications and services to securely connect to your blog and allow them to use your content in new ways and offer you new functionality.', 'jetpack' ); ?>
477
 
@@ -479,19 +407,16 @@ function jetpack_json_api_more_info() { ?>
479
 
480
  <?php
481
  }
482
-
483
  add_action( 'jetpack_module_more_info_json-api', 'jetpack_json_api_more_info' );
484
- add_action( 'jetpack_module_more_info_connected_json-api', 'jetpack_json_api_more_info' );
485
 
486
- function jetpack_json_api_more_link() {
487
- echo '<a class="button-secondary more-info-link" href="http://jetpack.me/support/json-api/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
488
- }
489
- add_action( 'jetpack_learn_more_button_json-api', 'jetpack_json_api_more_link' );
490
 
491
- // Contact Form: START
 
 
492
  function jetpack_contact_form_learn_more_button() {
493
- echo '<a class="button-secondary more-info-link" href="http://support.wordpress.com/contact-form/">' . __( 'Learn More', 'jetpack' ) . '</a>';
494
  }
 
495
 
496
  function jetpack_contact_form_more_info() {
497
  echo '<div class="jp-info-img">';
@@ -505,19 +430,22 @@ function jetpack_contact_form_more_info() {
505
  echo '</p>';
506
 
507
  echo '<p>';
508
- _e( 'Each contact form can easily be customized to fit your needs. When a user submits your contact form, the feedback will be filtered through <a href="http://akismet.com/">Akismet</a> (if it is active on your site) to make sure it’s not spam. Any legitimate feedback will then be emailed to you, and added to your feedback management area.', 'jetpack' );
 
 
 
509
  echo '</p>';
510
  }
511
-
512
- add_action( 'jetpack_learn_more_button_contact-form', 'jetpack_contact_form_learn_more_button' );
513
  add_action( 'jetpack_module_more_info_contact-form', 'jetpack_contact_form_more_info' );
514
- add_action( 'jetpack_module_more_info_connected_contact-form', 'jetpack_contact_form_more_info' );
515
- // Contact Form: STOP
516
 
517
- // Comments: START
 
 
 
518
  function jetpack_comments_learn_more_button() {
519
- echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
520
  }
 
521
 
522
  function jetpack_comments_more_info() {
523
  ?>
@@ -527,26 +455,21 @@ function jetpack_comments_more_info() {
527
 
528
  <p><?php esc_html_e( 'Comments enables your visitors to use their WordPress.com, Twitter, or Facebook accounts when commenting on your site.', 'jetpack' ); ?></p>
529
 
530
- <?php if ( 'jetpack_module_more_info_connected_comments' == current_filter() ) : ?>
531
-
532
  <p><?php printf(
533
  __( "Jetpack tries to match your site's color scheme automatically, but you can make manual adjustments at the bottom of the <a href='%s'>Discussion Settings</a> page.", 'jetpack' ),
534
  admin_url( 'options-discussion.php#jetpack-comments-settings' )
535
  ); ?></p>
536
-
537
- <?php endif; ?>
538
  <?php
539
  }
540
-
541
- add_action( 'jetpack_learn_more_button_comments', 'jetpack_comments_learn_more_button' );
542
  add_action( 'jetpack_module_more_info_comments', 'jetpack_comments_more_info' );
543
- add_action( 'jetpack_module_more_info_connected_comments', 'jetpack_comments_more_info' );
544
- // Comments: STOP
545
 
546
- // Gallery Carousel: START
 
 
547
  function jetpack_carousel_learn_more_button() {
548
  echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
549
  }
 
550
 
551
  function jetpack_carousel_more_info() {
552
  ?>
@@ -557,36 +480,44 @@ function jetpack_carousel_more_info() {
557
  <p><?php esc_html_e( 'With Carousel active, any standard WordPress galleries you have embedded in posts or pages will launch a gorgeous full-screen photo browsing experience with comments and EXIF metadata.', 'jetpack' ); ?></p>
558
  <?php
559
  }
560
-
561
- add_action( 'jetpack_learn_more_button_carousel', 'jetpack_carousel_learn_more_button' );
562
  add_action( 'jetpack_module_more_info_carousel', 'jetpack_carousel_more_info' );
563
- add_action( 'jetpack_module_more_info_connected_carousel', 'jetpack_carousel_more_info' );
564
- // Gallery Carousel: STOP
565
 
566
- // Custom CSS: START
567
- function jetpack_custom_css_more_info() {
568
- ?>
 
 
 
 
 
 
569
  <div class="jp-info-img">
570
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/custom-css.jpg' ) ?>" alt="<?php esc_attr_e( 'Custom CSS', 'jetpack' ) ?>" width="300" height="150" />
571
  </div>
572
 
573
  <p><?php esc_html_e( "The Custom CSS editor gives you the ability to add to or replace your theme's CSS, all while supplying syntax coloring, auto-indentation, and immediate feedback on the validity of the CSS you're writing.", 'jetpack' ); ?></p>
574
- <p><?php printf( __( 'To use the CSS editor, go to Appearance &#8594; <a href="%s">Edit CSS</a>.', 'jetpack' ), admin_url( 'themes.php?page=editcss' ) ); ?></p>
575
 
576
- <?php
 
 
 
 
 
 
 
 
577
  }
 
578
 
579
- function jetpack_custom_css_more_button() {
 
 
 
580
  echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
581
  }
 
582
 
583
- add_action( 'jetpack_learn_more_button_custom-css', 'jetpack_custom_css_more_button' );
584
- add_action( 'jetpack_module_more_info_custom-css', 'jetpack_custom_css_more_info' );
585
- // Custom CSS: STOP
586
-
587
- // Minileven: START
588
- function jetpack_minileven_more_info() {
589
- ?>
590
  <div class="jp-info-img">
591
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/mobile-theme.jpg' ) ?>" alt="<?php esc_attr_e( 'Mobile Theme', 'jetpack' ) ?>" width="300" height="150" />
592
  </div>
@@ -594,23 +525,20 @@ function jetpack_minileven_more_info() {
594
  <p><?php esc_html_e( "There's a good chance that visitors to your site will be using a smartphone, and it's important to provide them with a great reading experience while on the small screen.", 'jetpack' ); ?></p>
595
  <p><?php esc_html_e( "Jetpack's mobile theme is optimized for small screens. It uses the header image, background, and widgets from your current theme for a great custom look. Post format support is included, so your photos and galleries will look fantastic on a smartphone.", 'jetpack' ); ?></p>
596
  <p><?php esc_html_e( 'Visitors on iPhone, Android, Windows Phone, and other mobile devices will automatically see the mobile theme, with the option to view the full site. You can enable or disable the mobile theme by clicking the "Activate" or "Deactive" button above.', 'jetpack' ); ?></p>
597
- <?php
598
- }
599
-
600
- function jetpack_minileven_more_button() {
601
- echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
602
  }
603
-
604
- add_action( 'jetpack_learn_more_button_minileven', 'jetpack_minileven_more_button' );
605
  add_action( 'jetpack_module_more_info_minileven', 'jetpack_minileven_more_info' );
606
- // Minileven: STOP
607
 
608
- // Infinite Scroll: START
609
  /**
610
- *
611
  */
 
 
 
 
 
612
  function jetpack_infinite_scroll_more_info() {
613
- $support_text = sprintf( __( 'If you are a theme author, you can learn about adding support for Infinite Scroll at <a href="%1$s">%1$s</a>.', 'jetpack' ), 'http://jetpack.me/support/infinite-scroll/' );
614
 
615
  ?>
616
 
@@ -644,16 +572,13 @@ function jetpack_infinite_scroll_more_info() {
644
  add_action( 'jetpack_module_more_info_infinite-scroll', 'jetpack_infinite_scroll_more_info' );
645
 
646
  /**
647
- *
648
  */
649
- function jetpack_infinite_scroll_more_button() {
650
- echo '<a class="button more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
651
  }
652
- add_action( 'jetpack_learn_more_button_infinite-scroll', 'jetpack_infinite_scroll_more_button' );
653
- // Infinite Scroll: STOP
654
-
655
 
656
- // Post by Email: START
657
  function jetpack_post_by_email_more_info() { ?>
658
  <div class="jp-info-img">
659
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/post-by-email.jpg' ) ?>" alt="<?php esc_attr_e( 'Post by Email', 'jetpack' ) ?>" width="300" height="115" />
@@ -661,31 +586,22 @@ function jetpack_post_by_email_more_info() { ?>
661
 
662
  <p><?php esc_html_e( 'Post by Email is a way of publishing posts on your blog by email. Any email client can be used to send the email, allowing you to publish quickly and easily from devices such as cell phones.', 'jetpack' ); ?></p>
663
 
664
- <?php if ( 'jetpack_module_more_info_connected_post-by-email' == current_filter() ) : ?>
665
-
666
  <p><?php printf( __( 'Manage your Post By Email address from your <a href="%s">profile settings</a>.', 'jetpack' ), esc_url( get_edit_profile_url( get_current_user_id() ) . '#post-by-email' ) ); ?>
667
 
668
- <?php endif; ?>
669
-
670
- <p>&rarr; <a href="http://jetpack.me/support/post-by-email/"><?php esc_html_e( 'More information on sending emails, attachments, and customizing your posts.', 'jetpack' ); ?></a></p>
671
 
672
  <?php
673
  }
674
-
675
- function jetpack_post_by_email_more_link() {
676
- echo '<a class="button-secondary more-info-link" href="http://jetpack.me/support/post-by-email/">' . __( 'Learn More', 'jetpack' ) . '</a>';
677
- }
678
-
679
  add_action( 'jetpack_module_more_info_post-by-email', 'jetpack_post_by_email_more_info' );
680
- add_action( 'jetpack_module_more_info_connected_post-by-email', 'jetpack_post_by_email_more_info' );
681
- add_action( 'jetpack_learn_more_button_post-by-email', 'jetpack_post_by_email_more_link' );
682
- // Post by Email: STOP
683
 
684
-
685
- // Photon: START
686
  /**
687
- *
688
  */
 
 
 
 
 
689
  function jetpack_photon_more_info() { ?>
690
  <p><?php esc_html_e( "Give your site a boost by loading images in posts from the WordPress.com content delivery network. We cache your images and serve them from our super-fast network, reducing the burden on your Web host with the click of a button.", 'jetpack' ); ?></p>
691
  <?php
@@ -693,18 +609,13 @@ function jetpack_photon_more_info() { ?>
693
  add_action( 'jetpack_module_more_info_photon', 'jetpack_photon_more_info' );
694
 
695
  /**
696
- * Display "Learn More" button for Photon module
697
- * @uses __
698
- * @action jetpack_learn_more_button_photon
699
- * @return string
700
  */
701
- function jetpack_photon_more_link() {
702
  echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
703
  }
704
- add_action( 'jetpack_learn_more_button_photon', 'jetpack_photon_more_link' );
705
- // Photon: STOP
706
 
707
- // Tiled Galleries: START
708
  function jetpack_tiled_gallery_more_info() { ?>
709
  <div class="jp-info-img">
710
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/tiled-gallery.jpg' ) ?>" alt="<?php esc_attr_e( 'Tiled Galleries', 'jetpack' ) ?>" width="300" height="150" />
@@ -717,17 +628,18 @@ function jetpack_tiled_gallery_more_info() { ?>
717
  }
718
  add_action( 'jetpack_module_more_info_tiled-gallery', 'jetpack_tiled_gallery_more_info' );
719
 
720
- function jetpack_tiled_gallery_more_link() {
 
 
 
721
  echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
722
  }
723
- add_action( 'jetpack_learn_more_button_tiled-gallery', 'jetpack_tiled_gallery_more_link' );
724
- // Tiled Galleries: STOP
725
 
726
- // Likes: START
727
  function jetpack_likes_more_info() { ?>
728
 
729
  <div class="jp-info-img">
730
- <a href="http://jetpack.me/support/likes/">
731
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/likes.jpg' ) ?>" alt="<?php esc_attr_e( 'Likes', 'jetpack' ) ?>" width="323" height="69" />
732
  </a>
733
  </div>
@@ -742,21 +654,21 @@ function jetpack_likes_more_info() { ?>
742
  <li><?php esc_html_e( 'Ensure that "WordPress.com Likes are…" is set to "On for all posts"', 'jetpack' ); ?></li>
743
  </ol>
744
  <?php endif; ?>
745
- <p>&rarr; <a href="http://jetpack.me/support/likes/"><?php esc_html_e( 'More information on using Likes.', 'jetpack' ); ?></a></p>
746
 
747
  <?php
748
  }
749
  add_action( 'jetpack_module_more_info_likes', 'jetpack_likes_more_info' );
750
 
751
- function jetpack_likes_more_link() {
752
- echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
753
  }
754
- add_action( 'jetpack_learn_more_button_likes', 'jetpack_likes_more_link' );
755
- // Likes: STOP
756
 
757
- // Omnisearch: START
758
- function jetpack_omnisearch_more_info() {
759
- ?>
760
 
761
  <p><?php esc_html_e( 'Search once, get results from everything! Currently supports searching posts, pages, comments, media, and plugins.', 'jetpack' ); ?></p>
762
 
@@ -766,18 +678,18 @@ function jetpack_omnisearch_more_info() {
766
  <?php echo Jetpack_Omnisearch::get_omnisearch_form(); ?>
767
  <?php endif; ?>
768
 
769
- <?php
770
  }
 
771
 
772
- function jetpack_omnisearch_more_link() {
773
- echo '<a class="button-secondary more-info-link" href="http://jetpack.me/support/omnisearch/">' . __( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
774
  }
 
775
 
776
- add_action( 'jetpack_module_more_info_omnisearch', 'jetpack_omnisearch_more_info' );
777
- add_action( 'jetpack_learn_more_button_omnisearch', 'jetpack_omnisearch_more_link' );
778
- // Omnisearch: STOP
779
-
780
- // Widget Visibility: START
781
  function jetpack_widget_visibility_more_info() { ?>
782
  <p><?php esc_html_e( 'Control which pages your widgets appear on with Widget Visibility.', 'jetpack' ); ?></p>
783
  <p><?php esc_html_e( 'To control visibility, expand the widget and click the Visibility button next to the Save button, and then, choose a set of visibility options.', 'jetpack' ); ?></p>
@@ -785,34 +697,34 @@ function jetpack_widget_visibility_more_info() { ?>
785
  <p><?php esc_html_e( 'You can also hide widgets based on the current page. For example, if you don\'t want the Archives widget to appear on search results pages, choose "Hide" and "Page is Search results."', 'jetpack' ); ?></p>
786
  <?php
787
  }
 
788
 
789
- function jetpack_widget_visibility_more_link() {
790
- echo '<a class="button-secondary more-info-link" href="http://jetpack.me/support/widget-visibility/">' . __( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
791
  }
 
792
 
793
- add_action( 'jetpack_module_more_info_widget-visibility', 'jetpack_widget_visibility_more_info' );
794
- add_action( 'jetpack_learn_more_button_widget-visibility', 'jetpack_widget_visibility_more_link' );
795
- // Widget Visibility: STOP
796
-
797
- // VideoPress: START
798
- function jetpack_videopress_more_info() {
799
- ?>
800
  <p><?php printf(
801
  __( 'With the VideoPress module you can easily upload videos to your WordPress site and embed them in your posts and pages. This module requires a WordPress.com account with an active <a href="%1$s" target="_blank">VideoPress subscription</a>. Once you have purchased a VideoPress subscription, <a href="%2$s">click here to configure VideoPress</a>.', 'jetpack' ),
802
  'http://store.wordpress.com/premium-upgrades/videopress/',
803
  Jetpack::admin_url( 'page=jetpack&configure=videopress' )
804
  ); ?></p>
805
- <?php
806
  }
807
  add_action( 'jetpack_module_more_info_videopress', 'jetpack_videopress_more_info' );
808
 
809
- function jetpack_videopress_more_link() {
810
- echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
811
  }
812
- add_action( 'jetpack_learn_more_button_videopress', 'jetpack_videopress_more_link' );
813
- // VideoPress: STOP
814
 
815
- // SSO: START
816
  function jetpack_sso_more_info() { ?>
817
 
818
  <p><?php esc_html_e( 'With Single Sign On, your users will be able to log in to or register for your WordPress site with the same credentials they use on WordPress.com. It\'s safe and secure.' , 'jetpack' ); ?></p>
@@ -820,16 +732,16 @@ function jetpack_sso_more_info() { ?>
820
 
821
  <?php
822
  }
 
823
 
824
- function jetpack_sso_more_link() {
825
- echo '<a class="button-secondary more-info-link" href="http://jetpack.me/support/sso/">' . __( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
826
  }
 
827
 
828
- add_action( 'jetpack_module_more_info_sso', 'jetpack_sso_more_info' );
829
- add_action( 'jetpack_learn_more_button_sso', 'jetpack_sso_more_link' );
830
- // SSO: STOP
831
-
832
- // Monitor: START
833
  function jetpack_monitor_more_info() { ?>
834
 
835
  <p><?php esc_html_e( 'Nobody likes downtime, and that\'s why Jetpack Monitor is on the job, keeping tabs on your site by checking it every five minutes. As soon as any downtime is detected, you will receive an email notification alerting you to the issue. That way you can act quickly, to get your site back online again!', 'jetpack' ); ?>
@@ -840,44 +752,24 @@ function jetpack_monitor_more_info() { ?>
840
  }
841
  add_action( 'jetpack_module_more_info_monitor', 'jetpack_monitor_more_info' );
842
 
843
- function jetpack_monitor_more_link() {
844
- echo '<a class="button-secondary more-info-link" href="http://jetpack.me/support/monitor/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
845
  }
846
- add_action( 'jetpack_learn_more_button_monitor', 'jetpack_monitor_more_link' );
847
- // Monitor: STOP
848
 
849
- // Related Posts: START
850
  function jetpack_related_posts_more_info() {
851
  $template = <<<EOT
852
  <div class="jp-info-img">
853
- <a href="http://jetpack.me/support/related-posts/">
854
  <img class="jp-info-img" src="%s" alt="%s" width="300" height="98" />
855
  </a>
856
  </div>
857
 
858
  <p>%s</p>
859
- <p>&rarr; <a href="http://jetpack.me/support/related-posts/">%s</a></p>
860
- EOT;
861
- printf(
862
- $template,
863
- plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/related-posts.jpg' ),
864
- esc_attr__( 'Related Posts', 'jetpack' ),
865
- esc_html__( '"Related Posts" shows additional relevant links from your site under your posts. If the feature is enabled, links appear underneath your Sharing Buttons and WordPress.com Likes (if you’ve turned these on).', 'jetpack' ),
866
- esc_html__( 'More information on using Related Posts.', 'jetpack' )
867
- );
868
- }
869
- add_action( 'jetpack_module_more_info_related-posts', 'jetpack_related_posts_more_info' );
870
-
871
- function jetpack_related_posts_more_info_connected() {
872
- $template = <<<EOT
873
- <div class="jp-info-img">
874
- <a href="http://jetpack.me/support/related-posts/">
875
- <img class="jp-info-img" src="%s" alt="%s" width="300" height="98" />
876
- </a>
877
- </div>
878
-
879
- <p>%s</p>
880
- <p>&rarr; <a href="http://jetpack.me/support/related-posts/">%s</a></p>
881
  <hr />
882
  <p><a href="%s#sync-related-posts">%s</a></p>
883
  EOT;
@@ -891,15 +783,16 @@ EOT;
891
  esc_html__( 'This feature uses the WordPress.com infrastructure and requires that your public content be mirrored there. If you see intermittent issues only affecting certain posts, request a reindex of your posts.', 'jetpack' )
892
  );
893
  }
894
- add_action( 'jetpack_module_more_info_connected_related-posts', 'jetpack_related_posts_more_info_connected' );
895
 
896
- function jetpack_related_posts_more_button() {
897
- echo '<a class="button more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
898
  }
899
- add_action( 'jetpack_learn_more_button_related-posts', 'jetpack_related_posts_more_button' );
900
- // Related Posts: STOP
901
 
902
- // Markdown: START
903
  function jetpack_markdown_more_info() { ?>
904
  <p><?php esc_html_e( 'Markdown lets you compose posts and comments with links, lists, and other styles using regular characters and punctuation marks. Markdown is used by writers and bloggers who want a quick and easy way to write rich text, without having to take their hands off the keyboard, and without learning a lot of complicated codes and shortcuts.', 'jetpack' ); ?></p>
905
 
@@ -907,13 +800,14 @@ function jetpack_markdown_more_info() { ?>
907
  }
908
  add_action( 'jetpack_module_more_info_markdown', 'jetpack_markdown_more_info' );
909
 
910
- function jetpack_markdown_more_link() {
911
- echo '<a class="button-secondary more-info-link" href="http://en.support.wordpress.com/markdown/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
912
  }
913
- add_action( 'jetpack_learn_more_button_markdown', 'jetpack_markdown_more_link' );
914
- // Markdown: STOP
915
 
916
- // Site Verification Tools: START
917
  function jetpack_verification_tools_more_info() { ?>
918
  <p><?php esc_html_e( 'Use these tools to verify that you own/control your website with other external services like Google, Bing and Pinterest.', 'jetpack' ); ?></p>
919
  <p><?php printf( __( "Verifying your site allows you to access advanced features on these other services (e.g. Webmaster tools, Google Search Console, or getting a verified badge). We'll just add an invisible %s tag to the source code of your homepage.", 'jetpack' ), '<code>meta</code>' ); ?></p>
@@ -921,47 +815,59 @@ function jetpack_verification_tools_more_info() { ?>
921
  }
922
  add_action( 'jetpack_module_more_info_verification-tools', 'jetpack_verification_tools_more_info' );
923
 
924
- function jetpack_verification_tools_more_link() {
925
- echo '<a class="button-secondary more-info-link" href="http://support.wordpress.com/webmaster-tools/">' . __( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
926
  }
927
- add_action( 'jetpack_learn_more_button_verification-tools', 'jetpack_verification_tools_more_link' );
928
- // Site Verification Tools: STOP
929
 
930
- // Custom Content Types: START
931
  function jetpack_custom_content_types_more_info() { ?>
932
 
933
  <div class="jp-info-img">
934
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images
2
  /**
3
  * "Learn More" information blocks for all modules live in this file.
4
  *
5
+ * Each module must include 2 functions:
6
+ * - The first one creates a button where users can find more information about the module.
7
+ * It is hooked into `jetpack_learn_more_button_ . $module`
8
+ * - The second creates a information block.
9
+ * It is hooked into `jetpack_module_more_info_ . $module`
10
  */
11
 
12
+ /**
13
+ * VaultPress (stub)
14
+ */
15
+ function vaultpress_jetpack_load_more_link() {
16
+ if ( function_exists( 'is_multisite' ) && is_multisite() ) {
17
+ $vaultpress_url = 'http://vaultpress.com/jetpack-ms/';
18
+ } else {
19
+ $vaultpress_url = 'http://vaultpress.com/jetpack/';
20
+ }
21
+
22
+ echo '<a class="button-secondary more-info-link" href="' . $vaultpress_url . '">' . __( "Learn More", 'jetpack' ) . '</a>';
23
+ }
24
+ add_filter( 'jetpack_learn_more_button_vaultpress', 'vaultpress_jetpack_load_more_link' );
25
 
26
  function vaultpress_jetpack_more_info() {
27
  if ( function_exists( 'is_multisite' ) && is_multisite() ) {
46
  <?php endif;
47
  }
48
  add_action( 'jetpack_module_more_info_vaultpress', 'vaultpress_jetpack_more_info' );
 
 
 
 
 
 
 
 
49
 
50
+ /**
51
+ * Gravatar Hovercards
52
+ */
53
+ function grofiles_load_more_link() {
54
+ echo '<a class="button-secondary more-info-link" href="http://blog.gravatar.com/2010/10/06/gravatar-hovercards-on-wordpress-com/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
55
  }
56
+ add_filter( 'jetpack_learn_more_button_gravatar-hovercards', 'grofiles_load_more_link' );
57
 
 
58
  function grofiles_more_info() { ?>
59
  <div class="jp-info-img">
60
  <a href="http://blog.gravatar.com/2010/10/06/gravatar-hovercards-on-wordpress-com/">
62
  </a>
63
  </div>
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  <h5><?php esc_html_e( "What&#8217;s a Hovercard?", 'jetpack' ) ?></h5>
66
  <p><?php esc_html_e( 'Hovercards enhance plain Gravatar images with information about a person: name, bio, pictures, their contact info, and other services.', 'jetpack' ); ?></p>
67
  <p><?php esc_html_e( 'To see hovercards, look at any blog post on your blog that has comments. If the commenter has a hovercard associated with their gravatar, mouse over their image and the hovercard will appear. To turn hovercards off, click the Deactivate button above.', 'jetpack' ); ?></p>
68
  <?php
69
  }
70
+ add_action( 'jetpack_module_more_info_gravatar-hovercards', 'grofiles_more_info' );
71
 
72
+ /**
73
+ * Shortcodes
74
+ */
75
+ function jetpack_shortcodes_load_more_link( $description ) {
76
+ echo '<a class="button-secondary more-info-link" href="http://en.support.wordpress.com/shortcodes/">' . esc_html__( 'Learn More' , 'jetpack' ) . '</a>';
77
  }
78
+ add_filter( 'jetpack_learn_more_button_shortcodes', 'jetpack_shortcodes_load_more_link' );
 
79
 
 
80
  function jetpack_shortcodes_more_info() { ?>
81
  <div class="jp-info-img">
82
  <a href="http://en.support.wordpress.com/shortcodes/">
84
  </a>
85
  </div>
86
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  <p><?php esc_html_e( 'Shortcodes allow you to easily and safely embed media from other places in your site. With just one simple code, you can tell WordPress to embed YouTube, Flickr, and other media.', 'jetpack' ) ?></p>
88
  <p><?php esc_html_e( 'Enter a shortcode directly into the Post/Page editor to embed media. For specific instructions follow the links below.', 'jetpack' ) ?></p>
89
  <?php
95
  'flickr' => 'http://support.wordpress.com/videos/flickr-video/',
96
  'gist' => 'http://en.support.wordpress.com/gist/',
97
  'googlemaps' => 'http://support.wordpress.com/google-maps/',
98
+ 'instagram' => 'https://en.support.wordpress.com/instagram/instagram-images/',
99
+ 'jetpack_subscription_form' => 'http://jetpack.com/support/subscriptions/#display',
100
  'polldaddy' => 'http://support.polldaddy.com/wordpress-shortcodes/',
101
  'presentation' => 'http://en.support.wordpress.com/presentations/',
102
  'recipes' => 'http://en.support.wordpress.com/recipes/',
123
  <p><?php echo wp_sprintf( esc_html__( 'Available shortcodes are: %l.', 'jetpack' ), $available ); ?></p>
124
  <?php
125
  }
126
+ add_action( 'jetpack_module_more_info_shortcodes', 'jetpack_shortcodes_more_info' );
127
 
128
+ /**
129
+ * Shortlinks
130
+ */
131
+ function wpme_load_more_link( $description ) {
132
+ echo '<a class="button-secondary more-info-link" href="http://wp.me/sf2B5-shorten">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
133
  }
134
+ add_filter( 'jetpack_learn_more_button_shortlinks', 'wpme_load_more_link' );
 
135
 
 
136
  function wpme_more_info() { ?>
137
  <div class="jp-info-img">
138
  <a href="http://wp.me/sf2B5-shorten">
142
 
143
  <p><?php esc_html_e( "Instead of typing or copy-pasting long URLs, you can now get a short and simple link to your posts and pages. This uses the super compact wp.me domain name, and gives you a unique URL you can use that will be safe and reliable.", 'jetpack' ) ?></p>
144
  <p><?php esc_html_e( "It&#8217;s perfect for use on Twitter, Facebook, and cell phone text messages where every character counts.", 'jetpack' ) ?></p>
 
 
 
 
 
 
 
 
 
 
 
 
145
  <p><?php esc_html_e( "To use shortlinks, go to any already published post (or publish something new!). A &#8220;Get Shortlink&#8221; button will be visible under the Post title. When you click it, a dialog box will appear with the shortlink and you can copy and paste to Twitter, Facebook or wherever your heart desires.", 'jetpack' ) ?></p>
146
  <?php
147
  }
148
+ add_action( 'jetpack_module_more_info_shortlinks', 'wpme_more_info' );
149
 
150
+ /**
151
+ * Site Stats
152
+ */
153
+ function stats_load_more_link( $description ) {
154
+ echo '<a class="button-secondary more-info-link" href="http://en.support.wordpress.com/stats/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
155
  }
156
+ add_filter( 'jetpack_learn_more_button_stats', 'stats_load_more_link' );
 
157
 
 
158
  function stats_more_info() { ?>
159
  <div class="jp-info-img">
160
  <a href="http://en.support.wordpress.com/stats/">
162
  </a>
163
  </div>
164
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  <p><?php esc_html_e( 'There are many plugins and services that provide statistics, but data can be overwhelming. Site Stats makes the most popular metrics easy to understand through a clear and attractive interface.', 'jetpack' ) ?></p>
166
  <p><?php printf( __( 'You can <a href="%s">view your stats dashboard here</a>.', 'jetpack' ), admin_url( 'admin.php?page=stats' ) ); ?></p>
167
  <?php
168
  }
169
+ add_action( 'jetpack_module_more_info_stats', 'stats_more_info' );
170
 
171
+ /**
172
+ * Publicize
173
+ */
174
+ function publicize_load_more_link( $description ) {
175
+ echo '<a class="button-secondary more-info-link" href="http://jetpack.com/support/publicize/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
176
  }
177
+ add_filter( 'jetpack_learn_more_button_publicize', 'publicize_load_more_link' );
 
178
 
 
179
  function publicize_more_info() { ?>
180
  <div class="jp-info-img">
181
  <a href="http://en.support.wordpress.com/publicize/">
192
 
193
  <?php endif; ?>
194
 
195
+ <p>&rarr; <a href="http://jetpack.com/support/publicize/"><?php esc_html_e( 'More information on using Publicize.', 'jetpack' ); ?></a></p>
196
  <?php
197
  }
 
198
  add_action( 'jetpack_module_more_info_publicize', 'publicize_more_info' );
 
199
 
200
+ /**
201
+ * Notifications
202
+ */
203
+ function notes_load_more_link( $description ) {
204
+ echo '<a class="button-secondary more-info-link" href="http://support.wordpress.com/notifications/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
205
  }
206
+ add_filter( 'jetpack_learn_more_button_notes', 'notes_load_more_link' );
207
 
 
208
  function notes_more_info() { ?>
209
  <div class="jp-info-img">
210
  <a href="http://support.wordpress.com/notifications/">
212
  </a>
213
  </div>
214
 
 
 
 
 
 
 
 
 
 
 
 
 
215
  <p><?php esc_html_e( 'Keep up with the latest happenings on all your WordPress sites and interact with other WordPress.com users.', 'jetpack' ) ?></p>
216
  <p><?php printf( __( 'You can view your notifications in the Toolbar and <a href="%s">on WordPress.com</a>.', 'jetpack' ), 'http://wordpress.com/#!/notifications/' ); ?></p>
217
  <?php
218
  }
219
+ add_filter( 'jetpack_module_more_info_notes', 'notes_more_info' );
220
 
221
+ /**
222
+ * LaTeX
223
+ */
224
+ function latex_load_more_link( $description ) {
225
+ echo '<a class="button-secondary more-info-link" href="http://support.wordpress.com/latex/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
226
  }
227
+ add_filter( 'jetpack_learn_more_button_latex', 'latex_load_more_link' );
 
228
 
 
229
  function latex_more_info() { ?>
230
  <div class="jp-info-img">
231
  <a href="http://support.wordpress.com/latex/">
235
 
236
  <p><?php printf( esc_html__( '%s is a powerful markup language for writing complex mathematical equations, formulas, etc.', 'jetpack' ), '<a href="http://www.latex-project.org/" target="_blank"><img src="//s0.wp.com/latex.php?latex=%5CLaTeX&amp;bg=transparent&amp;fg=000&amp;s=-1" alt="LaTeX logo" title="LaTeX" style="vertical-align: -25%" /></a>' ); ?></p>
237
  <p><?php printf( esc_html__( 'Jetpack combines the power of %s and the simplicity of WordPress to give you the ultimate in math blogging platforms.', 'jetpack' ), '<img src="//s0.wp.com/latex.php?latex=%5CLaTeX&amp;bg=transparent&amp;fg=000&amp;s=-1" alt="LaTeX logo" title="LaTeX" style="vertical-align: -25%" />' ); ?></p>
238
+ <p><?php printf( __( 'Use <code>$latex your latex code here$</code> or <code>[latex]your latex code here[/latex]</code> to include %s in your posts and comments. There are <a href="%s" target="_blank">all sorts of options</a> available.', 'jetpack' ), '<img src="//s0.wp.com/latex.php?latex=%5CLaTeX&amp;bg=transparent&amp;fg=000&amp;s=-1" alt="LaTeX logo" title="LaTeX" style="vertical-align: -25%" />', 'http://support.wordpress.com/latex/' ); ?></p>
239
  <p><?php esc_html_e( 'Wow, that sounds nerdy.', 'jetpack' ) ?></p>
240
  <?php
241
  }
242
  add_action( 'jetpack_module_more_info_latex', 'latex_more_info' );
243
 
244
+ /**
245
+ * Sharing
246
+ */
247
+ function sharedaddy_load_more_link( $description ) {
248
+ echo '<a class="button-secondary more-info-link" href="http://support.wordpress.com/sharing/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
 
 
 
 
 
 
 
 
 
 
249
  }
250
+ add_filter( 'jetpack_learn_more_button_sharedaddy', 'sharedaddy_load_more_link' );
 
251
 
 
252
  function sharedaddy_more_info() { ?>
253
  <div class="jp-info-img">
254
+ <embed type="application/x-shockwave-flash" src="http://s0.videopress.com/player.swf?v=1.02" height="190" wmode="transparent" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true" flashvars="guid=WV0JOwY2"></embed>
 
 
255
  </div>
256
  <p><?php esc_html_e( 'Share your posts with Twitter, Facebook, and a host of other services. You can configure services to appear as icons, text, or both. Some services have additional options to display smart buttons, such as Twitter, which will update the number of times the post has been shared.', 'jetpack' ); ?></p>
257
 
263
  }
264
  ?></p>
265
 
 
 
 
 
 
 
 
 
 
 
266
  <?php
267
  if ( class_exists( 'Sharing_Admin' ) ) {
268
  ?>
277
  <p><?php printf( __( 'Full details can be found on the <a href="%s">Sharing support page</a>. This video also gives a swish run-down of how to use the Sharing feature. Watch it in HD for extra snazz!', 'jetpack' ), 'http://support.wordpress.com/sharing/' ); ?></p>
278
  <?php
279
  }
280
+ add_action( 'jetpack_module_more_info_sharedaddy', 'sharedaddy_more_info' );
281
 
282
+ /**
283
+ * After The Deadline
284
+ */
285
+ function jpatd_load_more_link( $description ) {
286
+ echo '<a class="button-secondary more-info-link" href="http://en.support.wordpress.com/proofreading/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
287
  }
288
+ add_filter( 'jetpack_learn_more_button_after-the-deadline', 'jpatd_load_more_link' );
 
289
 
 
290
  function jpatd_more_info() { ?>
291
  <div class="jp-info-img">
292
  <a href="http://en.support.wordpress.com/proofreading/">
300
  }
301
  add_action( 'jetpack_module_more_info_after-the-deadline', 'jpatd_more_info' );
302
 
303
+ /**
304
+ * Extra Sidebar Widgets
305
+ */
306
+ function jetpack_widgets_load_more_link( $description ) {
307
+ echo '<a class="button-secondary more-info-link" href="http://en.support.wordpress.com/widgets/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
308
  }
309
+ add_filter( 'jetpack_learn_more_button_widgets', 'jetpack_widgets_load_more_link' );
 
310
 
 
311
  function jetpack_widgets_more_info() { ?>
312
  <div class="jp-info-img">
313
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/widgets.jpg' ) ?>" alt="<?php esc_attr_e( 'Widgets Screenshot', 'jetpack' ) ?>" width="300" height="150" />
314
  </div>
315
 
 
 
 
 
 
 
 
 
 
 
 
 
316
  <p><?php printf( __( '<strong>The Twitter Widget</strong> shows your latest tweets within a sidebar on your theme.', 'jetpack' ) ); ?></p>
317
  <p><?php printf( __( '<strong>The Facebook Like Box Widget</strong> shows your Facebook Like Box within a sidebar on your theme.', 'jetpack' ) ); ?></p>
318
  <p><?php printf( __( '<strong>The Image Widget</strong> lets you easily add images to a sidebar on your theme.', 'jetpack' ) ); ?></strong> <?php esc_html_e( '', 'jetpack' ) ?></p>
325
  <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>
326
  <?php
327
  }
328
+ add_action( 'jetpack_module_more_info_widgets', 'jetpack_widgets_more_info' );
329
 
330
+ /**
331
+ * Subscriptions
332
+ */
333
+ function jetpack_subscriptions_load_more_link() {
334
+ echo '<a class="button-secondary more-info-link" href="http://en.support.wordpress.com/following/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
335
  }
336
+ add_action( 'jetpack_learn_more_button_subscriptions', 'jetpack_subscriptions_load_more_link' );
337
 
 
338
  function jetpack_subscriptions_more_info() { ?>
339
  <div class="jp-info-img">
340
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/subscriptions.jpg' ) ?>" alt="<?php esc_attr_e( 'Subsriptions Screenshot', 'jetpack' ) ?>" width="300" height="150" />
343
  <p><?php esc_html_e( 'Easily allow any visitor to subscribe to all of your posts via email through a widget in your blog&#8217;s sidebar. Every time you publish a post, WordPress.com will send a notification to all your subscribers.', 'jetpack' ); ?></p>
344
  <p><?php esc_html_e( 'When leaving comments, your visitors can also subscribe to a post&#8217;s comments to keep up with the conversation.', 'jetpack' ); ?></p>
345
 
346
+ <p><?php printf(
347
+ __( 'To use the Subscriptions widget, go to Appearance &#8594; <a href="%s">Widgets</a>. Drag the widget labeled &#8220;Blog Subscriptions (Jetpack)&#8221; into one of your sidebars and configure away.', 'jetpack' ),
348
+ admin_url( 'widgets.php' )
349
+ ); ?></p>
350
+ <p><?php printf(
351
+ __( 'You can also make changes to your Subscription settings at the bottom of the <a href="%s">Discussion Settings</a> page.', 'jetpack' ),
352
+ admin_url( 'options-discussion.php#jetpack-subscriptions-settings' )
353
+ ); ?></p>
354
+ <p><?php printf(
355
+ __( 'To customize the emails sent from your blog to your followers, check the settings at the bottom of the <a href="%s">Reading Settings</a> page.', 'jetpack' ),
356
+ admin_url( 'options-reading.php#follower-settings' )
357
+ ); ?></p>
358
  <?php
 
 
 
 
 
359
  }
360
  add_action( 'jetpack_module_more_info_subscriptions', 'jetpack_subscriptions_more_info' );
 
361
 
362
+ /**
363
+ * Enhanced Distribution
364
+ */
365
+ function jetpack_enhanced_distribution_more_link() {
366
+ echo '<a class="button-secondary more-info-link" href="http://en.wordpress.com/firehose/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
367
  }
368
+ add_action( 'jetpack_learn_more_button_enhanced-distribution', 'jetpack_enhanced_distribution_more_link' );
 
 
369
 
370
  function jetpack_enhanced_distribution_more_info() { ?>
371
  <p><?php esc_html_e( 'Jetpack will automatically take the great published content from your blog or website and share it instantly with third party services like search engines, increasing your reach and traffic.', 'jetpack' ); ?></p>
 
372
  <?php
373
  }
 
374
  add_action( 'jetpack_module_more_info_enhanced-distribution', 'jetpack_enhanced_distribution_more_info' );
 
375
 
376
+
377
+ /**
378
+ * Protect
379
+ */
380
+ function jetpack_protect_more_link() {
381
+ echo '<a class="button-secondary more-info-link" href="http://jetpack.com/support/protect/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
382
  }
383
+ add_action( 'jetpack_learn_more_button_protect', 'jetpack_protect_more_link' );
384
 
 
385
  function jetpack_protect_more_info() { ?>
386
  <p><?php esc_html_e( 'Protect is a cloud-powered brute force attack prevention tool. We leverage the millions of WordPress sites to identify and block malicious IPs.
387
 
391
  }
392
 
393
  add_action( 'jetpack_module_more_info_protect', 'jetpack_protect_more_info' );
 
394
 
395
+ /**
396
+ * JSON API
397
+ */
398
+ function jetpack_json_api_more_link() {
399
+ echo '<a class="button-secondary more-info-link" href="http://jetpack.com/support/json-api/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
400
  }
401
+ add_action( 'jetpack_learn_more_button_json-api', 'jetpack_json_api_more_link' );
 
402
 
 
403
  function jetpack_json_api_more_info() { ?>
404
  <p><?php esc_html_e( 'Jetpack will allow you to authorize applications and services to securely connect to your blog and allow them to use your content in new ways and offer you new functionality.', 'jetpack' ); ?>
405
 
407
 
408
  <?php
409
  }
 
410
  add_action( 'jetpack_module_more_info_json-api', 'jetpack_json_api_more_info' );
 
411
 
 
 
 
 
412
 
413
+ /**
414
+ * Contact Form
415
+ */
416
  function jetpack_contact_form_learn_more_button() {
417
+ echo '<a class="button-secondary more-info-link" href="http://support.wordpress.com/contact-form/">' . __( 'Learn More', 'jetpack' ) . '</a>';
418
  }
419
+ add_action( 'jetpack_learn_more_button_contact-form', 'jetpack_contact_form_learn_more_button' );
420
 
421
  function jetpack_contact_form_more_info() {
422
  echo '<div class="jp-info-img">';
430
  echo '</p>';
431
 
432
  echo '<p>';
433
+ printf(
434
+ __( 'Each contact form can easily be customized to fit your needs. When a user submits your contact form, the feedback will be filtered through <a href="http://akismet.com/">Akismet</a> (if it is <a href="%s">active on your site</a>) to make sure it’s not spam. Any legitimate feedback will then be emailed to you, and added to your feedback management area.', 'jetpack' ),
435
+ admin_url( 'plugin-install.php?tab=search&s=akismet' )
436
+ );
437
  echo '</p>';
438
  }
 
 
439
  add_action( 'jetpack_module_more_info_contact-form', 'jetpack_contact_form_more_info' );
 
 
440
 
441
+
442
+ /**
443
+ * Comments
444
+ */
445
  function jetpack_comments_learn_more_button() {
446
+ echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
447
  }
448
+ add_action( 'jetpack_learn_more_button_comments', 'jetpack_comments_learn_more_button' );
449
 
450
  function jetpack_comments_more_info() {
451
  ?>
455
 
456
  <p><?php esc_html_e( 'Comments enables your visitors to use their WordPress.com, Twitter, or Facebook accounts when commenting on your site.', 'jetpack' ); ?></p>
457
 
 
 
458
  <p><?php printf(
459
  __( "Jetpack tries to match your site's color scheme automatically, but you can make manual adjustments at the bottom of the <a href='%s'>Discussion Settings</a> page.", 'jetpack' ),
460
  admin_url( 'options-discussion.php#jetpack-comments-settings' )
461
  ); ?></p>
 
 
462
  <?php
463
  }
 
 
464
  add_action( 'jetpack_module_more_info_comments', 'jetpack_comments_more_info' );
 
 
465
 
466
+ /**
467
+ * Carousel
468
+ */
469
  function jetpack_carousel_learn_more_button() {
470
  echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
471
  }
472
+ add_action( 'jetpack_learn_more_button_carousel', 'jetpack_carousel_learn_more_button' );
473
 
474
  function jetpack_carousel_more_info() {
475
  ?>
480
  <p><?php esc_html_e( 'With Carousel active, any standard WordPress galleries you have embedded in posts or pages will launch a gorgeous full-screen photo browsing experience with comments and EXIF metadata.', 'jetpack' ); ?></p>
481
  <?php
482
  }
 
 
483
  add_action( 'jetpack_module_more_info_carousel', 'jetpack_carousel_more_info' );
 
 
484
 
485
+ /**
486
+ * Custom CSS
487
+ */
488
+ function jetpack_custom_css_more_button() {
489
+ echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
490
+ }
491
+ add_action( 'jetpack_learn_more_button_custom-css', 'jetpack_custom_css_more_button' );
492
+
493
+ function jetpack_custom_css_more_info() { ?>
494
  <div class="jp-info-img">
495
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/custom-css.jpg' ) ?>" alt="<?php esc_attr_e( 'Custom CSS', 'jetpack' ) ?>" width="300" height="150" />
496
  </div>
497
 
498
  <p><?php esc_html_e( "The Custom CSS editor gives you the ability to add to or replace your theme's CSS, all while supplying syntax coloring, auto-indentation, and immediate feedback on the validity of the CSS you're writing.", 'jetpack' ); ?></p>
 
499
 
500
+ <?php if ( Jetpack::is_module_active( 'custom-css' ) ) : ?>
501
+
502
+ <p><?php printf( __( 'To use the CSS editor, go to Appearance &#8594; <a href="%s">Edit CSS</a>.', 'jetpack' ), admin_url( 'themes.php?page=editcss' ) ); ?></p>
503
+
504
+ <?php else : ?>
505
+
506
+ <p><?php esc_html_e( 'After activating this module, find the editor in Appearance &#8594; Edit CSS.', 'jetpack' ); ?></p>
507
+
508
+ <?php endif;
509
  }
510
+ add_action( 'jetpack_module_more_info_custom-css', 'jetpack_custom_css_more_info' );
511
 
512
+ /**
513
+ * Mobile Theme
514
+ */
515
+ function jetpack_minileven_more_button() {
516
  echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
517
  }
518
+ add_action( 'jetpack_learn_more_button_minileven', 'jetpack_minileven_more_button' );
519
 
520
+ function jetpack_minileven_more_info() { ?>
 
 
 
 
 
 
521
  <div class="jp-info-img">
522
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/mobile-theme.jpg' ) ?>" alt="<?php esc_attr_e( 'Mobile Theme', 'jetpack' ) ?>" width="300" height="150" />
523
  </div>
525
  <p><?php esc_html_e( "There's a good chance that visitors to your site will be using a smartphone, and it's important to provide them with a great reading experience while on the small screen.", 'jetpack' ); ?></p>
526
  <p><?php esc_html_e( "Jetpack's mobile theme is optimized for small screens. It uses the header image, background, and widgets from your current theme for a great custom look. Post format support is included, so your photos and galleries will look fantastic on a smartphone.", 'jetpack' ); ?></p>
527
  <p><?php esc_html_e( 'Visitors on iPhone, Android, Windows Phone, and other mobile devices will automatically see the mobile theme, with the option to view the full site. You can enable or disable the mobile theme by clicking the "Activate" or "Deactive" button above.', 'jetpack' ); ?></p>
528
+ <?php
 
 
 
 
529
  }
 
 
530
  add_action( 'jetpack_module_more_info_minileven', 'jetpack_minileven_more_info' );
 
531
 
 
532
  /**
533
+ * Infinite Scroll
534
  */
535
+ function jetpack_infinite_scroll_more_button() {
536
+ echo '<a class="button more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
537
+ }
538
+ add_action( 'jetpack_learn_more_button_infinite-scroll', 'jetpack_infinite_scroll_more_button' );
539
+
540
  function jetpack_infinite_scroll_more_info() {
541
+ $support_text = sprintf( __( 'If you are a theme author, you can learn about adding support for Infinite Scroll at <a href="%1$s">%1$s</a>.', 'jetpack' ), 'http://jetpack.com/support/infinite-scroll/' );
542
 
543
  ?>
544
 
572
  add_action( 'jetpack_module_more_info_infinite-scroll', 'jetpack_infinite_scroll_more_info' );
573
 
574
  /**
575
+ * Post by Email
576
  */
577
+ function jetpack_post_by_email_more_link() {
578
+ echo '<a class="button-secondary more-info-link" href="http://jetpack.com/support/post-by-email/">' . __( 'Learn More', 'jetpack' ) . '</a>';
579
  }
580
+ add_action( 'jetpack_learn_more_button_post-by-email', 'jetpack_post_by_email_more_link' );
 
 
581
 
 
582
  function jetpack_post_by_email_more_info() { ?>
583
  <div class="jp-info-img">
584
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/post-by-email.jpg' ) ?>" alt="<?php esc_attr_e( 'Post by Email', 'jetpack' ) ?>" width="300" height="115" />
586
 
587
  <p><?php esc_html_e( 'Post by Email is a way of publishing posts on your blog by email. Any email client can be used to send the email, allowing you to publish quickly and easily from devices such as cell phones.', 'jetpack' ); ?></p>
588
 
 
 
589
  <p><?php printf( __( 'Manage your Post By Email address from your <a href="%s">profile settings</a>.', 'jetpack' ), esc_url( get_edit_profile_url( get_current_user_id() ) . '#post-by-email' ) ); ?>
590
 
591
+ <p>&rarr; <a href="http://jetpack.com/support/post-by-email/"><?php esc_html_e( 'More information on sending emails, attachments, and customizing your posts.', 'jetpack' ); ?></a></p>
 
 
592
 
593
  <?php
594
  }
 
 
 
 
 
595
  add_action( 'jetpack_module_more_info_post-by-email', 'jetpack_post_by_email_more_info' );
 
 
 
596
 
 
 
597
  /**
598
+ * Photon
599
  */
600
+ function jetpack_photon_more_link() {
601
+ echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
602
+ }
603
+ add_action( 'jetpack_learn_more_button_photon', 'jetpack_photon_more_link' );
604
+
605
  function jetpack_photon_more_info() { ?>
606
  <p><?php esc_html_e( "Give your site a boost by loading images in posts from the WordPress.com content delivery network. We cache your images and serve them from our super-fast network, reducing the burden on your Web host with the click of a button.", 'jetpack' ); ?></p>
607
  <?php
609
  add_action( 'jetpack_module_more_info_photon', 'jetpack_photon_more_info' );
610
 
611
  /**
612
+ * Tiled Galleries
 
 
 
613
  */
614
+ function jetpack_tiled_gallery_more_link() {
615
  echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
616
  }
617
+ add_action( 'jetpack_learn_more_button_tiled-gallery', 'jetpack_tiled_gallery_more_link' );
 
618
 
 
619
  function jetpack_tiled_gallery_more_info() { ?>
620
  <div class="jp-info-img">
621
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/tiled-gallery.jpg' ) ?>" alt="<?php esc_attr_e( 'Tiled Galleries', 'jetpack' ) ?>" width="300" height="150" />
628
  }
629
  add_action( 'jetpack_module_more_info_tiled-gallery', 'jetpack_tiled_gallery_more_info' );
630
 
631
+ /**
632
+ * Likes
633
+ */
634
+ function jetpack_likes_more_link() {
635
  echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
636
  }
637
+ add_action( 'jetpack_learn_more_button_likes', 'jetpack_likes_more_link' );
 
638
 
 
639
  function jetpack_likes_more_info() { ?>
640
 
641
  <div class="jp-info-img">
642
+ <a href="http://jetpack.com/support/likes/">
643
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images/screenshots/likes.jpg' ) ?>" alt="<?php esc_attr_e( 'Likes', 'jetpack' ) ?>" width="323" height="69" />
644
  </a>
645
  </div>
654
  <li><?php esc_html_e( 'Ensure that "WordPress.com Likes are…" is set to "On for all posts"', 'jetpack' ); ?></li>
655
  </ol>
656
  <?php endif; ?>
657
+ <p>&rarr; <a href="http://jetpack.com/support/likes/"><?php esc_html_e( 'More information on using Likes.', 'jetpack' ); ?></a></p>
658
 
659
  <?php
660
  }
661
  add_action( 'jetpack_module_more_info_likes', 'jetpack_likes_more_info' );
662
 
663
+ /**
664
+ * Omnisearch
665
+ */
666
+ function jetpack_omnisearch_more_link() {
667
+ echo '<a class="button-secondary more-info-link" href="http://jetpack.com/support/omnisearch/">' . __( 'Learn More', 'jetpack' ) . '</a>';
668
  }
669
+ add_action( 'jetpack_learn_more_button_omnisearch', 'jetpack_omnisearch_more_link' );
 
670
 
671
+ function jetpack_omnisearch_more_info() { ?>
 
 
672
 
673
  <p><?php esc_html_e( 'Search once, get results from everything! Currently supports searching posts, pages, comments, media, and plugins.', 'jetpack' ); ?></p>
674
 
678
  <?php echo Jetpack_Omnisearch::get_omnisearch_form(); ?>
679
  <?php endif; ?>
680
 
681
+ <?php
682
  }
683
+ add_action( 'jetpack_module_more_info_omnisearch', 'jetpack_omnisearch_more_info' );
684
 
685
+ /**
686
+ * Widget Visibility
687
+ */
688
+ function jetpack_widget_visibility_more_link() {
689
+ echo '<a class="button-secondary more-info-link" href="http://jetpack.com/support/widget-visibility/">' . __( 'Learn More', 'jetpack' ) . '</a>';
690
  }
691
+ add_action( 'jetpack_learn_more_button_widget-visibility', 'jetpack_widget_visibility_more_link' );
692
 
 
 
 
 
 
693
  function jetpack_widget_visibility_more_info() { ?>
694
  <p><?php esc_html_e( 'Control which pages your widgets appear on with Widget Visibility.', 'jetpack' ); ?></p>
695
  <p><?php esc_html_e( 'To control visibility, expand the widget and click the Visibility button next to the Save button, and then, choose a set of visibility options.', 'jetpack' ); ?></p>
697
  <p><?php esc_html_e( 'You can also hide widgets based on the current page. For example, if you don\'t want the Archives widget to appear on search results pages, choose "Hide" and "Page is Search results."', 'jetpack' ); ?></p>
698
  <?php
699
  }
700
+ add_action( 'jetpack_module_more_info_widget-visibility', 'jetpack_widget_visibility_more_info' );
701
 
702
+ /**
703
+ * VideoPress
704
+ */
705
+ function jetpack_videopress_more_link() {
706
+ echo '<a class="button-secondary more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
707
  }
708
+ add_action( 'jetpack_learn_more_button_videopress', 'jetpack_videopress_more_link' );
709
 
710
+ function jetpack_videopress_more_info() { ?>
 
 
 
 
 
 
711
  <p><?php printf(
712
  __( 'With the VideoPress module you can easily upload videos to your WordPress site and embed them in your posts and pages. This module requires a WordPress.com account with an active <a href="%1$s" target="_blank">VideoPress subscription</a>. Once you have purchased a VideoPress subscription, <a href="%2$s">click here to configure VideoPress</a>.', 'jetpack' ),
713
  'http://store.wordpress.com/premium-upgrades/videopress/',
714
  Jetpack::admin_url( 'page=jetpack&configure=videopress' )
715
  ); ?></p>
716
+ <?php
717
  }
718
  add_action( 'jetpack_module_more_info_videopress', 'jetpack_videopress_more_info' );
719
 
720
+ /**
721
+ * SSO
722
+ */
723
+ function jetpack_sso_more_link() {
724
+ echo '<a class="button-secondary more-info-link" href="http://jetpack.com/support/sso/">' . __( 'Learn More', 'jetpack' ) . '</a>';
725
  }
726
+ add_action( 'jetpack_learn_more_button_sso', 'jetpack_sso_more_link' );
 
727
 
 
728
  function jetpack_sso_more_info() { ?>
729
 
730
  <p><?php esc_html_e( 'With Single Sign On, your users will be able to log in to or register for your WordPress site with the same credentials they use on WordPress.com. It\'s safe and secure.' , 'jetpack' ); ?></p>
732
 
733
  <?php
734
  }
735
+ add_action( 'jetpack_module_more_info_sso', 'jetpack_sso_more_info' );
736
 
737
+ /**
738
+ * Monitor
739
+ */
740
+ function jetpack_monitor_more_link() {
741
+ echo '<a class="button-secondary more-info-link" href="http://jetpack.com/support/monitor/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
742
  }
743
+ add_action( 'jetpack_learn_more_button_monitor', 'jetpack_monitor_more_link' );
744
 
 
 
 
 
 
745
  function jetpack_monitor_more_info() { ?>
746
 
747
  <p><?php esc_html_e( 'Nobody likes downtime, and that\'s why Jetpack Monitor is on the job, keeping tabs on your site by checking it every five minutes. As soon as any downtime is detected, you will receive an email notification alerting you to the issue. That way you can act quickly, to get your site back online again!', 'jetpack' ); ?>
752
  }
753
  add_action( 'jetpack_module_more_info_monitor', 'jetpack_monitor_more_info' );
754
 
755
+ /**
756
+ * Related Posts
757
+ */
758
+ function jetpack_related_posts_more_button() {
759
+ echo '<a class="button more-info-link" href="#">' . __( 'Learn More', 'jetpack' ) . '</a>';
760
  }
761
+ add_action( 'jetpack_learn_more_button_related-posts', 'jetpack_related_posts_more_button' );
 
762
 
 
763
  function jetpack_related_posts_more_info() {
764
  $template = <<<EOT
765
  <div class="jp-info-img">
766
+ <a href="http://jetpack.com/support/related-posts/">
767
  <img class="jp-info-img" src="%s" alt="%s" width="300" height="98" />
768
  </a>
769
  </div>
770
 
771
  <p>%s</p>
772
+ <p>&rarr; <a href="http://jetpack.com/support/related-posts/">%s</a></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
773
  <hr />
774
  <p><a href="%s#sync-related-posts">%s</a></p>
775
  EOT;
783
  esc_html__( 'This feature uses the WordPress.com infrastructure and requires that your public content be mirrored there. If you see intermittent issues only affecting certain posts, request a reindex of your posts.', 'jetpack' )
784
  );
785
  }
786
+ add_action( 'jetpack_module_more_info_related-posts', 'jetpack_related_posts_more_info' );
787
 
788
+ /**
789
+ * Markdown
790
+ */
791
+ function jetpack_markdown_more_link() {
792
+ echo '<a class="button-secondary more-info-link" href="http://en.support.wordpress.com/markdown/">' . esc_html__( 'Learn More', 'jetpack' ) . '</a>';
793
  }
794
+ add_action( 'jetpack_learn_more_button_markdown', 'jetpack_markdown_more_link' );
 
795
 
 
796
  function jetpack_markdown_more_info() { ?>
797
  <p><?php esc_html_e( 'Markdown lets you compose posts and comments with links, lists, and other styles using regular characters and punctuation marks. Markdown is used by writers and bloggers who want a quick and easy way to write rich text, without having to take their hands off the keyboard, and without learning a lot of complicated codes and shortcuts.', 'jetpack' ); ?></p>
798
 
800
  }
801
  add_action( 'jetpack_module_more_info_markdown', 'jetpack_markdown_more_info' );
802
 
803
+ /**
804
+ * Site Verification Tools
805
+ */
806
+ function jetpack_verification_tools_more_link() {
807
+ echo '<a class="button-secondary more-info-link" href="http://support.wordpress.com/webmaster-tools/">' . __( 'Learn More', 'jetpack' ) . '</a>';
808
  }
809
+ add_action( 'jetpack_learn_more_button_verification-tools', 'jetpack_verification_tools_more_link' );
 
810
 
 
811
  function jetpack_verification_tools_more_info() { ?>
812
  <p><?php esc_html_e( 'Use these tools to verify that you own/control your website with other external services like Google, Bing and Pinterest.', 'jetpack' ); ?></p>
813
  <p><?php printf( __( "Verifying your site allows you to access advanced features on these other services (e.g. Webmaster tools, Google Search Console, or getting a verified badge). We'll just add an invisible %s tag to the source code of your homepage.", 'jetpack' ), '<code>meta</code>' ); ?></p>
815
  }
816
  add_action( 'jetpack_module_more_info_verification-tools', 'jetpack_verification_tools_more_info' );
817
 
818
+ /**
819
+ * Custom Content Types
820
+ */
821
+ function jetpack_custom_content_types_more_link() {
822
+ echo '<a class="button-secondary more-info-link" href="http://support.wordpress.com/portfolios/">' . __( 'Learn More', 'jetpack' ) . '</a>';
823
  }
824
+ add_action( 'jetpack_learn_more_button_custom-content-types', 'jetpack_custom_content_types_more_link' );
 
825
 
 
826
  function jetpack_custom_content_types_more_info() { ?>
827
 
828
  <div class="jp-info-img">
829
  <img class="jp-info-img" src="<?php echo plugins_url( basename( dirname( dirname( __FILE__ ) ) ) . '/images