WordPress Social Sharing Plugin – Social Warfare - Version 3.4.2

Version Description

(13 DEC 2018) = * Fixed floating bottom disappear on mobile when pro is deactivated. * Fixed blocks disappearing after Gutenberg update. * Fixed buttons accidentally showing up on pages created with content builders.

Download this release

Release Info

Developer WarfarePlugins
Plugin Icon 128x128 WordPress Social Sharing Plugin – Social Warfare
Version 3.4.2
Comparing to
See all releases

Code changes from version 3.4.1 to 3.4.2

assets/css/style.css CHANGED
@@ -1219,8 +1219,8 @@ body .swp_social_panel.swp_other_color_outlines:hover .swp_flipboard {
1219
  .nc_floater {
1220
  margin: 10px 0;
1221
  position: relative;
1222
- left: 304px;
1223
- width: 740px;
1224
  }
1225
 
1226
  .swp_social_panelSide.hideCounts a {
1219
  .nc_floater {
1220
  margin: 10px 0;
1221
  position: relative;
1222
+ /* left: 304px; */
1223
+ /* width: 740px; */
1224
  }
1225
 
1226
  .swp_social_panelSide.hideCounts a {
assets/css/style.min.css CHANGED
@@ -1 +1 @@
1
- @media print{.swp_social_panel{display:none;opacity:0;visibility:collapse}}html[lang] .site * i.sw{font-family:sw-icon-font!important}.swp_social_panel{clear:both;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;height:34px;line-height:1;margin-bottom:20px!important;margin-top:20px!important;overflow:hidden;padding:0;-webkit-align-items:stretch;align-items:stretch;-webkit-box-align:stretch;-moz-box-align:stretch;-webkit-box-pack:justify;-moz-box-pack:justify;direction:ltr;-ms-flex-align:stretch;-ms-flex-line-pack:center;-ms-flex-pack:justify;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;justify-content:space-between}@media print{.swp_social_panel{display:none;opacity:0;visibility:collapse}}.swp_social_panel:not(.nc_floater):not(.swp_social_panelSide){width:100%!important}.nc_wrapper .swp_social_panel{margin-bottom:10px!important;margin-top:10px!important}div.swp_social_panel .nc_tweetContainer:not(.total_shares):not(.total_sharesalt){-webkit-border-radius:2px;border-radius:2px;cursor:pointer;float:left;font-family:Lato;height:32px;margin:0 5px 3px 5px;min-width:34px;overflow:hidden;text-align:center;-webkit-transition:all 0.1s linear;transition:all 0.1s linear}div.swp_social_panel:not(.swp_social_panelSide) .nc_tweetContainer{-webkit-box-flex:1;-moz-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.swp_social_panel .nc_tweetContainer a.nc_tweet,.swp_social_panel .total_shares .swp_count{display:block;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;font-family:Lato,sans-serif;font-size:18px!important;font-weight:bold;height:30px;text-decoration:none;text-decoration:none!important;text-transform:none;-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;box-shadow:none}.swp_social_panel:not(.nc_floater):not(.swp_social_panelSide).swp_shift{padding:0 10px}.swp_social_panel:not(.swp_social_panelSide) .nc_tweetContainer:nth-child(1){margin-left:0}.swp_social_panel:not(.swp_social_panelSide) .nc_tweetContainer:nth-last-child(1){margin-right:0}.swp_social_panel a .swp_count:not(.swp_hide){display:inline-block;line-height:32px;margin:0;padding:0 5px;-webkit-box-flex:1;-moz-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.swp_social_panel a .swp_count.swp_hide{margin:0 auto}.swp_social_panel span:before{content:initial!important}.swp_social_panel .total_shares .swp_count{line-height:30px}.swp_social_panel span.swp_count{font-size:14px}.swp_social_panel span.iconFiller{font-size:18px;margin:0 auto}.swp_social_panel.notMobile .nc_tweetContainer:nth-child(1){margin-left:0}.swp_social_panel:not(.swp_social_panelSide){-webkit-transition:opacity 0.2s ease-in-out;transition:opacity 0.2s ease-in-out}.swp_social_panel:not(.swp_social_panelSide) div.total_shares.total_sharesalt:nth-child(1){margin-left:0;margin-right:15px;padding-left:0}.swp_social_panel:not(.swp_social_panelSide) div.total_shares.total_sharesalt:nth-last-child(1){margin-right:0;padding-right:0}a.swp_CTT{cursor:pointer}span.swp_share{display:block;float:right;float:left;font-size:14px;font-weight:normal;height:30px;line-height:30px;margin:0 0 0 6px;max-width:none!important;vertical-align:middle}.swp_social_panelSide span.swp_share{margin:0}.swp_social_panel .sw{float:left;height:30px;line-height:32px;margin:0 5px;text-shadow:none!important;width:20px}.iconFiller{display:block;float:left;height:30px;overflow:hidden;-webkit-transition:width 0.1s linear;transition:width 0.1s linear}.swp_social_panel .iconFiller{width:30px}span.spaceManWilly{display:block;width:120px}.swp_social_panel .total_shares{background:transparent!important;;border:none!important;-webkit-border-radius:2px;border-radius:2px;color:white;cursor:default;display:block;font-size:19px;padding:0 10px;-webkit-box-flex:0!important;-moz-box-flex:0!important;-webkit-flex:none!important;-ms-flex:none!important;flex:none!important}.swp_social_panel .total_sharesalt{background:transparent!important;border:none!important}.swp_social_panel div.total_shares.total_sharesalt,.swp_social_panel:hover div.total_shares.total_sharesalt:not(:nth-child(1)){background:transparent!important;border:none;color:#474b4d;margin-left:0!important;margin-bottom:10px!important}div.swp_social_panel:hover div.total_shares.total_sharesalt:not(:nth-child(1)){background:transparent;color:#474b4d;margin-left:10px}.swp_social_panel .total_shares.total_sharesalt .swp_label{color:#474b4d;font-size:10px;letter-spacing:0;min-width:40px;vertical-align:middle}.swp_social_panel .total_shares .swp_label{font-size:10px;vertical-align:middle}.swp_social_panel .total_shares.total_sharesalt .swp_count{color:#474b4d;font-size:24px}.swp_social_panel:hover .total_shares,.swp_social_panel.swp_full_color .total_shares,.swp_social_panel.swp_fade .total_shares,.swp_social_panel.swp_customFull:hover div.total_shares{background:#e08a0f}.swp_social_panel .nc_tweetContainer.total_shares.total_sharesalt:before{content:"o";display:inline-block;font-family:sw-icon-font;margin-top:7px;vertical-align:top}.swp_social_panel:not(.swp_social_panelSide) .total_shares.total_sharesalt .swp_count{display:inline-block;line-height:0;margin-left:8px;margin-top:12px;min-width:45px;position:relative;vertical-align:middle}span.swp_label{display:block;font-size:9px!important;margin-top:13px;position:absolute;text-align:center!important;text-transform:uppercase}.swp_social_panelSide span.swp_label{margin-top:0}.swp_social_panel.swp_leaf .nc_tweetContainer{-webkit-border-radius:15px 0!important;border-radius:15px 0!important;border-width:1px}.swp_social_panel.swp_pill .nc_tweetContainer{-webkit-border-radius:50px!important;border-radius:50px!important;border-width:1px}.swp_social_panel.swp_shift .nc_tweetContainer:not(.total_shares){border-width:1px;-moz-transform:skew(-25deg);-o-transform:skew(-25deg);-webkit-transform:skew(-25deg)}.swp_social_panel.swp_shift .nc_tweetContainer a{-moz-transform:skew(25deg);-o-transform:skew(25deg);-webkit-transform:skew(25deg)}.swp_connected .nc_tweetContainer,.swp_connected:hover .nc_tweetContainer,.swp_connected .nc_tweetContainer:hover{-webkit-border-radius:0!important;border-radius:0!important;border-width:1px;margin:0!important}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_google_plus,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_google_plus:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_google_plus:not(:hover){border:1px solid #df4b37}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_twitter,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_twitter:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_twitter:not(:hover){border:1px solid #429cd6}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_facebook,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_facebook:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_facebook:not(:hover){border:1px solid #3a589e}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_pinterest,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_pinterest:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_pinterest:not(:hover){border:1px solid #cd2029}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_linkedin,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_linkedin:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_linkedin:not(:hover){border:1px solid #0d77b7}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_tumblr,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_tumblr:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_tumblr:not(:hover){border:1px solid #39475d}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_mix,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_mix:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_mix:not(:hover){border:1px solid #f4812c}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_yummly,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_yummly:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_yummly:not(:hover){border:1px solid #e26426}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_reddit,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_reddit:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_reddit:not(:hover){border:1px solid #f04b23}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_email,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_email:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_email:not(:hover){border:1px solid #6bcce9}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_whatsapp,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_whatsapp:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_whatsapp:not(:hover){border:1px solid #71c169}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_pocket,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_pocket:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_pocket:not(:hover){border:1px solid #ef4056}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_buffer,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_buffer:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_buffer:not(:hover){border:1px solid #323b43}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_hacker_news,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_hacker_news:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_hacker_news:not(:hover){border:1px solid #d85623}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_flipboard,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_flipboard:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_flipboard:not(:hover){border:1px solid #bf2626}.swp_social_panel.swp_default_full_color .swp_google_plus,html body .swp_social_panel.swp_individual_full_color .swp_google_plus:hover,body .swp_social_panel.swp_other_full_color:hover .swp_google_plus{background:#df4b37;border:1px solid #c44133}.swp_social_panel.swp_default_full_color .swp_twitter,html body .swp_social_panel.swp_individual_full_color .swp_twitter:hover,body .swp_social_panel.swp_other_full_color:hover .swp_twitter{background:#429cd6;border:1px solid #3c87b2}.swp_social_panel.swp_default_full_color .swp_facebook,html body .swp_social_panel.swp_individual_full_color .swp_facebook:hover,body .swp_social_panel.swp_other_full_color:hover .swp_facebook{background:#3a589e;border:1px solid #2e4675}.swp_social_panel.swp_default_full_color .swp_pinterest,html body .swp_social_panel.swp_individual_full_color .swp_pinterest:hover,body .swp_social_panel.swp_other_full_color:hover .swp_pinterest{background:#cd2029;border:1px solid #aa1b29}.swp_social_panel.swp_default_full_color .swp_linkedin,html body .swp_social_panel.swp_individual_full_color .swp_linkedin:hover,body .swp_social_panel.swp_other_full_color:hover .swp_linkedin{background:#0d77b7;border:1px solid #0c6591}.swp_social_panel.swp_default_full_color .swp_tumblr,html body .swp_social_panel.swp_individual_full_color .swp_tumblr:hover,body .swp_social_panel.swp_other_full_color:hover .swp_tumblr{background:#39475d;border:1px solid #27313f}.swp_social_panel.swp_default_full_color .swp_mix,html body .swp_social_panel.swp_individual_full_color .swp_mix:hover,body .swp_social_panel.swp_other_full_color:hover .swp_mix{background:#f4812c;border:1px solid #c96a29}.swp_social_panel.swp_default_full_color .swp_yummly,html body .swp_social_panel.swp_individual_full_color .swp_yummly:hover,body .swp_social_panel.swp_other_full_color:hover .swp_yummly{background:#e26426;border:1px solid #b65027}.swp_social_panel.swp_default_full_color .swp_reddit,html body .swp_social_panel.swp_individual_full_color .swp_reddit:hover,body .swp_social_panel.swp_other_full_color:hover .swp_reddit{background:#f04b23;border:1px solid #d33f27}.swp_social_panel.swp_default_full_color .swp_email,html body .swp_social_panel.swp_individual_full_color .swp_email:hover,body .swp_social_panel.swp_other_full_color:hover .swp_email{background:#6bcce9;border:1px solid #61bace}.swp_social_panel.swp_default_full_color .swp_whatsapp,html body .swp_social_panel.swp_individual_full_color .swp_whatsapp:hover,body .swp_social_panel.swp_other_full_color:hover .swp_whatsapp{background:#71c169;border:1px solid #28b04b}.swp_social_panel.swp_default_full_color .swp_pocket,html body .swp_social_panel.swp_individual_full_color .swp_pocket:hover,body .swp_social_panel.swp_other_full_color:hover .swp_pocket{background:#ef4056;border:1px solid #ce3d55}.swp_social_panel.swp_default_full_color .swp_buffer,html body .swp_social_panel.swp_individual_full_color .swp_buffer:hover,body .swp_social_panel.swp_other_full_color:hover .swp_buffer{background:#323b43;border:1px solid #000}.swp_social_panel.swp_default_full_color .swp_hacker_news,html body .swp_social_panel.swp_individual_full_color .swp_hacker_news:hover,body .swp_social_panel.swp_other_full_color:hover .swp_hacker_news{background:#f16522;border:1px solid #d85623}.swp_social_panel.swp_default_full_color .swp_flipboard,html body .swp_social_panel.swp_individual_full_color .swp_flipboard:hover,body .swp_social_panel.swp_other_full_color:hover .swp_flipboard{background:#e02828;border:1px solid #bf2626}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_google_plus,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_google_plus:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_google_plus{border-bottom:3px solid #c44133}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_twitter,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_twitter:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_twitter{border-bottom:3px solid #5595bc}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_facebook,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_facebook:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_facebook{border-bottom:3px solid #2e4675}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_pinterest,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_pinterest:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_pinterest{border-bottom:3px solid #aa1b29}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_linkedin,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_linkedin:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_linkedin{border-bottom:3px solid #0c6591}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_tumblr,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_tumblr:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_tumblr{border-bottom:3px solid #27313f}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_mix,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_mix:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_mix{border-bottom:3px solid #c96a29}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_yummly,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_yummly:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_yummly{border-bottom:3px solid #b65027}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_reddit,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_reddit:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_reddit{border-bottom:3px solid #d33f27}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_email,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_email:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_email{border-bottom:3px solid #61bace}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_whatsapp,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_whatsapp:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_whatsapp{border-bottom:3px solid #28b04b}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_pocket,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_pocket:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_pocket{border-bottom:3px solid #ce3d55}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_buffer,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_buffer:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_buffer{border-bottom:3px solid #000}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_hacker_news,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_hacker_news:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_hacker_news{border-bottom:3px solid #d85623}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_flipboard,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_flipboard:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_flipboard{border-bottom:3px solid #bf2626}.swp_social_panel.swp_default_light_gray .nc_tweetContainer,html body .swp_social_panel.swp_individual_light_gray .nc_tweetContainer:hover,body .swp_social_panel.swp_other_light_gray:hover .nc_tweetContainer{background-color:#ccc;border:1px solid #ccc}.swp_social_panel.swp_three_dee.swp_default_light_gray .nc_tweetContainer:not(.total_sharesalt),html body .swp_social_panel.swp_three_dee.swp_individual_light_gray .nc_tweetContainer:not(.total_sharesalt):hover,body .swp_social_panel.swp_three_dee.swp_other_light_gray:hover .nc_tweetContainer:not(.total_sharesalt){border-bottom:3px solid #999}.swp_social_panel.swp_default_medium_gray .nc_tweetContainer,html body .swp_social_panel.swp_individual_medium_gray .nc_tweetContainer:hover,body .swp_social_panel.swp_other_medium_gray:hover .nc_tweetContainer{background-color:#999;border:1px solid #999}.swp_social_panel.swp_three_dee.swp_default_medium_gray .nc_tweetContainer:not(.total_sharesalt),html body .swp_social_panel.swp_three_dee.swp_individual_medium_gray .nc_tweetContainer:not(.total_sharesalt):hover,body .swp_social_panel.swp_three_dee.swp_other_medium_gray:hover .nc_tweetContainer:not(.total_sharesalt){border-bottom:3px solid #444}.swp_social_panel.swp_default_dark_gray .nc_tweetContainer,html body .swp_social_panel.swp_individual_dark_gray .nc_tweetContainer:hover,body .swp_social_panel.swp_other_dark_gray:hover .nc_tweetContainer{background-color:#444;border:1px solid #444}.swp_social_panel.swp_three_dee.swp_default_dark_gray .nc_tweetContainer:not(.total_sharesalt),html body .swp_social_panel.swp_three_dee.swp_individual_dark_gray .nc_tweetContainer:not(.total_sharesalt):hover,body .swp_social_panel.swp_three_dee.swp_other_dark_gray:hover .nc_tweetContainer:not(.total_sharesalt){border-bottom:3px solid #222}.swp_social_panel.swp_default_light_gray_outlines a,html body .swp_social_panel.swp_individual_light_gray_outlines a:hover,body .swp_social_panel.swp_other_light_gray_outlines:hover a{color:#ccc}.swp_social_panel.swp_default_light_gray_outlines .nc_tweetContainer,html body .swp_social_panel.swp_individual_light_gray_outlines .nc_tweetContainer:hover,body .swp_social_panel.swp_other_light_gray_outlines:hover .nc_tweetContainer{background:transparent;border:1px solid #ccc}.swp_social_panel.swp_default_medium_gray_outlines a,html body .swp_social_panel.swp_individual_medium_gray_outlines a:hover,body .swp_social_panel.swp_other_medium_gray_outlines:hover a{color:#999}.swp_social_panel.swp_default_medium_gray_outlines .nc_tweetContainer,html body .swp_social_panel.swp_individual_medium_gray_outlines .nc_tweetContainer:hover,body .swp_social_panel.swp_other_medium_gray_outlines:hover .nc_tweetContainer{background:transparent;border:1px solid #999}.swp_social_panel.swp_default_dark_gray_outlines a,html body .swp_social_panel.swp_individual_dark_gray_outlines a:hover,body .swp_social_panel.swp_other_dark_gray_outlines:hover a{color:#444}.swp_social_panel.swp_default_dark_gray_outlines .nc_tweetContainer,html body .swp_social_panel.swp_individual_dark_gray_outlines .nc_tweetContainer:hover,body .swp_social_panel.swp_other_dark_gray_outlines:hover .nc_tweetContainer{background:transparent;border:1px solid #444}.swp_social_panel.swp_default_color_outlines .swp_google_plus a,html body .swp_social_panel.swp_individual_color_outlines .swp_google_plus a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_google_plus a{color:#df4b37}.swp_social_panel.swp_default_color_outlines .swp_facebook a,html body .swp_social_panel.swp_individual_color_outlines .swp_facebook a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_facebook a{color:#3a589e}.swp_social_panel.swp_default_color_outlines .swp_pinterest a,html body .swp_social_panel.swp_individual_color_outlines .swp_pinterest a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_pinterest a{color:#cd2029}.swp_social_panel.swp_default_color_outlines .swp_linkedin a,html body .swp_social_panel.swp_individual_color_outlines .swp_linkedin a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_linkedin a{color:#0d77b7}.swp_social_panel.swp_default_color_outlines .swp_tumblr a,html body .swp_social_panel.swp_individual_color_outlines .swp_tumblr a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_tumblr a{color:#39475d}.swp_social_panel.swp_default_color_outlines .swp_mix a,html body .swp_social_panel.swp_individual_color_outlines .swp_mix a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_mix a{color:#f4812c}.swp_social_panel.swp_default_color_outlines .swp_yummly a,html body .swp_social_panel.swp_individual_color_outlines .swp_yummly a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_yummly a{color:#e26426}.swp_social_panel.swp_default_color_outlines .swp_whatsapp a,html body .swp_social_panel.swp_individual_color_outlines .swp_whatsapp a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_whatsapp a{color:#71c169}.swp_social_panel.swp_default_color_outlines .swp_pocket a,html body .swp_social_panel.swp_individual_color_outlines .swp_pocket a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_pocket a{color:#ef4056}.swp_social_panel.swp_default_color_outlines .swp_reddit a,html body .swp_social_panel.swp_individual_color_outlines .swp_reddit a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_reddit a{color:#f04b23}.swp_social_panel.swp_default_color_outlines .swp_email a,html body .swp_social_panel.swp_individual_color_outlines .swp_email a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_email a{color:#6bcce9}.swp_social_panel.swp_default_color_outlines .swp_buffer a,html body .swp_social_panel.swp_individual_color_outlines .swp_buffer a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_buffer a{color:#323b43}.swp_social_panel.swp_default_color_outlines .swp_hacker_news a,html body .swp_social_panel.swp_individual_color_outlines .swp_hacker_news a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_hacker_news a{color:#f16522}.swp_social_panel.swp_default_color_outlines .swp_flipboard a,html body .swp_social_panel.swp_individual_color_outlines .swp_flipboard a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_flipboard a{color:#e02828}.swp_social_panel.swp_default_color_outlines .swp_google_plus,html body .swp_social_panel.swp_individual_color_outlines .swp_google_plus:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_google_plus{background:transparent;border:1px solid #df4b37}.swp_social_panel.swp_default_color_outlines .swp_twitter,html body .swp_social_panel.swp_individual_color_outlines .swp_twitter:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_twitter{background:transparent;border:1px solid #429cd6}.swp_social_panel.swp_default_color_outlines .swp_facebook,html body .swp_social_panel.swp_individual_color_outlines .swp_facebook:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_facebook{background:transparent;border:1px solid #3a589e}.swp_social_panel.swp_default_color_outlines .swp_pinterest,html body .swp_social_panel.swp_individual_color_outlines .swp_pinterest:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_pinterest{background:transparent;border:1px solid #cd2029}.swp_social_panel.swp_default_color_outlines .swp_linkedin,html body .swp_social_panel.swp_individual_color_outlines .swp_linkedin:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_linkedin{background:transparent;border:1px solid #0d77b7}.swp_social_panel.swp_default_color_outlines .swp_tumblr,html body .swp_social_panel.swp_individual_color_outlines .swp_tumblr:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_tumblr{background:transparent;border:1px solid #39475d}.swp_social_panel.swp_default_color_outlines .swp_mix,html body .swp_social_panel.swp_individual_color_outlines .swp_mix:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_mix{background:transparent;border:1px solid #f4812c}.swp_social_panel.swp_default_color_outlines .swp_yummly,html body .swp_social_panel.swp_individual_color_outlines .swp_yummly:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_yummly{background:transparent;border:1px solid #e26426}.swp_social_panel.swp_default_color_outlines .swp_whatsapp,html body .swp_social_panel.swp_individual_color_outlines .swp_whatsapp:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_whatsapp{background:transparent;border:1px solid #71c169}.swp_social_panel.swp_default_color_outlines .swp_reddit,html body .swp_social_panel.swp_individual_color_outlines .swp_reddit:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_reddit{background:transparent;border:1px solid #f04b23}.swp_social_panel.swp_default_color_outlines .swp_email,html body .swp_social_panel.swp_individual_color_outlines .swp_email:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_email{background:transparent;border:1px solid #6bcce9}.swp_social_panel.swp_default_color_outlines .swp_pocket,html body .swp_social_panel.swp_individual_color_outlines .swp_pocket:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_pocket{background:transparent;border:1px solid #ef4056}.swp_social_panel.swp_default_color_outlines .swp_buffer,html body .swp_social_panel.swp_individual_color_outlines .swp_buffer:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_buffer{background:transparent;border:1px solid #323b43}.swp_social_panel.swp_default_color_outlines .swp_hacker_news,html body .swp_social_panel.swp_individual_color_outlines .swp_hacker_news:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_hacker_news{background:transparent;border:1px solid #f16522}.swp_social_panel.swp_default_color_outlines .swp_flipboard,html body .swp_social_panel.swp_individual_color_outlines .swp_flipboard:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_flipboard{background:transparent;border:1px solid #bf2626}.swp_social_panelSide{flex-direction:column;height:auto;overflow:visible;-webkit-transition:all 0.2s linear;transition:all 0.2s linear;z-index:9998;margin:10px 5px!important;padding:0;-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column}.swp_social_panelSide.slide,.swp_social_panelSide.fade{position:fixed;-webkit-transition:all 0.2s linear;transition:all 0.2s linear}.swp_social_panelSide.fade.swp_float_left{left:5px}.swp_social_panelSide.fade.swp_float_right{right:5px}.swp_social_panelSide[class*=swp_side]{height:auto;display:flex;position:fixed;padding:30px 0}.swp_social_panelSide.fade{display:none}.swp_social_panelSide.swp_float_right{align-content:flex-end}.swp_social_panelSide.swp_side_top{top:15px}.swp_social_panelSide.swp_side_bottom{bottom:15px}.swp_social_panelSide.swp_side_center{}.swp_social_panelSide .nc_tweetContainer{-webkit-border-radius:3px;border-radius:3px;clear:both;display:block;font-family:Lato,sans-serif;height:32px;margin:3px 0!important;overflow:hidden;padding:0;-webkit-transition:all 0.1s linear;transition:all 0.1s linear;vertical-align:top;width:90px}.swp_social_panelSide .nc_tweetContainer .iconFiller{display:inline-block;height:40px;margin:0 6px;padding:0;-webkit-transition:all 0.1s linear;transition:all 0.1s linear;vertical-align:middle;width:21px}.swp_social_panelSide .nc_tweetContainer .swp_count{display:inline-block;font-size:14px;height:32px;line-height:16px;margin:0;overflow:hidden;padding:0;text-align:right;-webkit-transition:all 0.1s linear;transition:all 0.1s linear;vertical-align:top;width:0}.swp_social_panelSide .nc_tweetContainer a{cursor:pointer;display:block;font-weight:500;height:36px;margin:0;padding:0;text-decoration:none;-webkit-transition:all 0.1s linear;transition:all 0.1s linear;vertical-align:top}.swp_social_panelSide .nc_tweetContainer .sw,.swp_social_panelSide .nc_tweetContainer .swp_share{float:left;line-height:34px}.swp_social_panelSide.swp_default .nc_tweetContainer .sw{line-height:32px}.swp_social_panelSide.swp_default .nc_tweetContainer .swp_share{line-height:30px}.swp_social_panelSide .nc_tweetContainer .swp_share{font-size:13px}.swp_social_panelSide .nc_tweetContainer:hover,.swp_social_panelSide .nc_tweetContainer:hover .iconFiller,.swp_social_panelSide .nc_tweetContainer:hover .swp_count{-webkit-transition:all 0.1s linear;transition:all 0.1s linear}.swp_social_panelSide.swp_boxed .nc_tweetContainer,.swp_social_panelSide.swp_circles .nc_tweetContainer{margin-bottom:5px;width:67.5px!important}.swp_social_panelSide.swp_boxed .nc_tweetContainer,.swp_social_panelSide.swp_boxed .nc_tweetContainer a,.swp_social_panelSide.swp_circles .nc_tweetContainer,.swp_social_panelSide.swp_circles .nc_tweetContainer a{width:67.5px;height:67.5px!important;position:relative}.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares),.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares) a{border-radius:50%!important}.swp_social_panelSide.swp_boxed .nc_tweetContainer i.sw,.swp_social_panelSide.swp_circles .nc_tweetContainer i.sw{font-size:27px;height:40px;margin:0;padding-top:10px;text-align:center;width:100%}.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares) span.swp_share,.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares) span.swp_share{height:35px;opacity:0;position:absolute;bottom:0;left:0;text-align:center;width:67.5px}.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares) span.swp_count,.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares) span.swp_count{height:35px;margin:0;padding:0;position:absolute;bottom:0;left:0;text-align:center;-webkit-transition:padding 0.1s linear;transition:padding 0.1s linear;width:100%}.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares) span.swp_count.swp_hide,.swp_social_panelSide.swp_boxed .nc_tweetContainer span.swp_hide .iconFiller,.swp_social_panelSide.swp_boxed .nc_tweetContainer span.swp_hide .spaceManWilly,.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares) span.swp_count.swp_hide,.swp_social_panelSide.swp_circles .nc_tweetContainer span.swp_hide .iconFiller,.swp_social_panelSide.swp_circles .nc_tweetContainer span.swp_hide .spaceManWilly{height:67.5px;opacity:1}.swp_social_panelSide.swp_boxed .nc_tweetContainer span.iconFiller,.swp_social_panelSide.swp_circles .nc_tweetContainer span.iconFiller{height:40px;width:67.5px}.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares):hover span.swp_count:not(.swp_hide),.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares):hover span.swp_count:not(.swp_hide){opacity:0}.swp_social_panelSide.swp_boxed .total_shares,.swp_social_panelSide.swp_circles .total_shares{padding:0;width:67.5px!important}.swp_social_panelSide .nc_tweetContainer:not(.total_shares){line-height:34px}.swp_social_panelSide:not(.swp_boxed):not(.swp_circles) .nc_tweetContainer:not(.total_shares) .iconFiller{margin-left:2px;width:30px}.swp_social_panelSide .nc_tweetContainer:not(.total_shares) .swp_count{padding:0 8px;width:48px}.swp_social_panelSide .nc_tweetContainer:not(.total_shares) .swp_count.swp_hide{padding:0;width:100%}.swp_social_panelSide .nc_tweetContainer:not(.total_shares) .swp_count.swp_hide .iconFiller{display:block;float:none;margin:0 auto}.swp_social_panelSide:not(.swp_boxed):not(.swp_circles) .nc_tweetContainer:not(.total_shares):hover{width:150px}.swp_social_panelSide .nc_tweetContainer[data-network]:not(.total_shares):hover .iconFiller,.swp_social_panelSide .nc_tweetContainer:not(.total_shares) .spaceManWilly{width:90px}.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares):hover .iconFiller,.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares) .spaceManWilly,.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares):hover .iconFiller,.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares) .spaceManWilly{width:100%}.swp_social_panelSide .nc_tweetContainer.total_shares{background:rgba(0,0,0,0);border:0!important;font-weight:800;height:55px;margin:0;padding:0;text-align:center;width:90px;order:-100}.swp_social_panelSide .nc_tweetContainer.total_shares .swp_count{color:#444;display:block;font-family:Lato,sans-serif;height:28px;text-align:center;width:100%}.swp_social_panelSide .nc_tweetContainer.total_shares .swp_label{color:#444;display:block;font-family:Lato,sans-serif;font-size:50%;position:relative;text-align:center;width:100%}.nc_wrapper{background:white;position:fixed;-webkit-transition:top 0.5s bottom 0.5s;transition:top 0.5s bottom 0.5s;width:100%;z-index:99999}.nc_wrapper.bottom{bottom:0;left:0}.nc_wrapper.top{top:0;left:0}.nc_floater{margin:10px 0;position:relative;left:304px;width:740px}.swp_social_panelSide.hideCounts a{text-align:center}.swp_social_panelSide.hideCounts .iconFiller{float:none;text-align:left}.sw{display:inline-block;font-family:sw-icon-font!important;font-size:inherit;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;text-rendering:auto;text-transform:none!important;-ms-transform:translate(0,0);-webkit-transform:translate(0,0);transform:translate(0,0)}.sw:before{display:block!important}.wp-editor-container .sw:before{font-size:18px;line-height:22px}.wp-editor-container .sw-social-warfare:before{color:#ee464f}.mce-container .sw-social-warfare{color:#ee464f;font-size:20px;margin-right:15px;vertical-align:middle}.mce-ico.sw-social-warfare:before{color:#ee464f}.mce-ico.sw-social-warfare{color:#ee464f}i.swp_google_plus_icon:before{content:"h"}i.swp_pinterest_icon:before{content:"b"}i.swp_twitter_icon:before{content:"s"}i.swp_facebook_icon:before{content:"j"}i.swp_linkedin_icon:before{content:"f"}i.swp_tumblr_icon:before{content:"r"}i.swp_mix_icon:before{content:"g"}i.swp_reddit_icon:before{content:"a"}i.swp_email_icon:before{content:"k"}i.swp_yummly_icon:before{content:"x"}i.swp_whatsapp_icon:before{content:"y"}i.swp_pocket_icon:before{content:"B"}i.swp_buffer_icon:before{content:"z"}i.swp_hacker_news_icon:before{content:"D"}i.swp_flipboard_icon:before{content:"C"}.sw-social-warfare:before{content:"p"}.swp_CTT{text-decoration:none!important}.sw-tweet-clear{zoom:1}.sw-tweet-clear:after{clear:both;content:".";display:block;height:0;visibility:hidden}.sw-click-to-tweet{display:block;margin:15px 0;padding:15px 30px;position:relative}.sw-click-to-tweet:after{clear:both;content:".";display:block;height:0;line-height:0;visibility:hidden}.sw-click-to-tweet .sw-ctt-text{margin:0 0 10px;padding:0;position:relative;word-wrap:break-word}a .sw-click-to-tweet .sw-ctt-text{display:block;font-size:24px;font-weight:500;line-height:140%;margin:0;padding:0;position:relative;text-decoration:none;text-transform:none}.sw-click-to-tweet .sw-ctt-btn{display:block;float:right;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:bold;line-height:100%;margin:10px 0 0;padding:3px 5px 3px 3px;position:relative;text-decoration:none;text-transform:uppercase}.sw-click-to-tweet i.swp_twitter_icon{float:right;font-size:21px;margin-left:15px!important;margin-top:2px;text-transform:none}a.swp_CTT.style1 .sw-click-to-tweet{background-color:#fff;border:1px solid #ddd;-webkit-border-radius:4px;border-radius:4px}a.swp_CTT.style2 .sw-click-to-tweet{background-color:#fff;border:4px double #ddd;-webkit-border-radius:0;border-radius:0}a.style2 .sw-click-to-tweet .sw-ctt-text{color:#666;font-style:italic;text-decoration:none}a.swp_CTT.style3:hover .sw-click-to-tweet{border-left:10px solid #3c87b2;padding-right:20px;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.swp_CTT.style3 .sw-click-to-tweet{background-color:#429cd6;border:none;border-left:10px solid #429cd6;-webkit-border-radius:0;border-radius:0;padding-right:20px;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.style3 .sw-click-to-tweet .sw-ctt-text{color:#fff;font-style:italic;text-decoration:none}a.swp_CTT.style4:hover .sw-click-to-tweet{border-left:10px solid #3c87b2;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.swp_CTT.style4 .sw-click-to-tweet{background-color:#333;border-left:10px solid #c33;-webkit-border-radius:0;border-radius:0;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.swp_CTT.style5:hover .sw-click-to-tweet{background-color:#d34250;border-left:10px solid #30394f;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.swp_CTT.style5 .sw-click-to-tweet{background-color:#30394f;border-left:10px solid #d34250;-webkit-border-radius:0;border-radius:0;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.swp_CTT.style6:hover .sw-click-to-tweet{background-color:#ced3dc;border-left:10px solid #d34250;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.swp_CTT.style6 .sw-click-to-tweet{background-color:#eee;border-left:10px solid #d34250;-webkit-border-radius:0;border-radius:0;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.style6 .sw-click-to-tweet i.swp_twitter{color:#30394f}.swp_pop_thumb{-webkit-border-radius:3px;border-radius:3px;float:left;height:100px;margin:5px 25px 5px 0;width:100px}.swp_popular_post{clear:both}.swp_clearfix:after{clear:both;content:" ";display:block;height:0;visibility:hidden}.swp_popular_post a.swp_popularity{border:none;display:block;line-height:1.5;margin:20px 0}span.swp_pop_count{display:block;font-size:70%}.swp_widget_box{-webkit-border-radius:3px;border-radius:3px}div.sw-pinit{display:table!important;line-height:0;position:relative!important}div.sw-pinit a.sw-pinit-button,div.sw-pinit a.sw-pinit-button:visited{background:#cd2029;border:1px solid #aa1b29;border:0;border-bottom:none;-webkit-border-radius:4px;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;color:#fff;font-family:Lato,sans-serif;font-size:15px;height:32px;line-height:32px;opacity:0;padding:0 20px;position:absolute;text-decoration:none;text-decoration:none;-webkit-transition:opacity 0.5s;transition:opacity 0.5s;z-index:200}.wp-block-gallery div.sw-pinit a.sw-pinit-button,.blocks-gallery-item div.sw-pinit a.sw-pinit-button,.blocks-gallery-item div.sw-pinit a.sw-pinit-button:visited{height:34px!important;width:120px!important;text-align:center}div.sw-pinit:hover a.sw-pinit-button,div.sw-pinit:focus a.sw-pinit-button{opacity:1}div.sw-pinit a.sw-pinit-button::before{color:#fff;content:"b";float:left;font-family:sw-icon-font;font-size:20px;font-weight:400;line-height:36px;margin-left:-5px;margin-right:10px}div.sw-pinit a.sw-pinit-button:hover::before{content:"F"}div.sw-pinit a.sw-pinit-button:hover,div.sw-pinit a.sw-pinit-button:focus{background:#aa1b29;color:#fff;text-decoration:none}div.sw-pinit .sw-pinit-left{left:30px}div.sw-pinit .sw-pinit-center{margin-left:-60px;left:50%}div.sw-pinit .sw-pinit-right{right:30px}div.sw-pinit .sw-pinit-top{top:30px}div.sw-pinit .sw-pinit-middle{margin-top:-25px;top:50%}div.sw-pinit .sw-pinit-bottom{bottom:30px}.swp_social_panel.notMobile .nc_tweetContainer:nth-last-child(1),.mobile .nc_tweetContainer:nth-last-child(2),.nc_tweetContainer.total_shares:nth-last-child(1){margin-right:0}.swp_social_panel.swp_default_full_color a,html body .swp_social_panel.swp_individual_full_color .nc_tweetContainer:hover a,body .swp_social_panel.swp_other_full_color:hover a,.swp_social_panel.swp_default_light_gray a,html body .swp_social_panel.swp_individual_light_gray .nc_tweetContainer:hover a,body .swp_social_panel.swp_other_light_gray:hover a,.swp_social_panel.swp_default_medium_gray a,html body .swp_social_panel.swp_individual_medium_gray a:hover,body .swp_social_panel.swp_other_medium_gray:hover a,.swp_social_panel.swp_default_dark_gray a,html body .swp_social_panel.swp_individual_dark_gray a:hover,body .swp_social_panel.swp_other_dark_gray:hover a{color:white}.swp_social_panel.swp_default_color_outlines .swp_twitter a,html body .swp_social_panel.swp_individual_color_outlines .swp_twitter a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_twitter a,.wp-editor-container .swp_twitter:before,a.style1 .sw-click-to-tweet i.swp_twitter,a.style2 .sw-click-to-tweet i.swp_twitter{color:#429cd6}.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares) .swp_hide span.swp_share,.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares):hover span.swp_share:not(.swp_hide),.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares) .swp_hide span.swp_share,.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares):hover span.swp_share:not(.swp_hide){opacity:1}.swp_social_panel.mobile .iconFiller ~ .swp_count,.sw-content-locator{display:none}a.style1 .sw-click-to-tweet .sw-ctt-text,a.style1 .sw-click-to-tweet .sw-ctt-btn{color:#999;text-decoration:none}a.style1:hover .sw-click-to-tweet .sw-ctt-text,a.style1:hover .sw-click-to-tweet .sw-ctt-btn,a.style2:hover .sw-click-to-tweet .sw-ctt-text,a.style2 .sw-click-to-tweet .sw-ctt-btn,a.style2:hover .sw-click-to-tweet .sw-ctt-btn{color:#666;text-decoration:none}a.style3:hover .sw-click-to-tweet .sw-ctt-text,a.style3 .sw-click-to-tweet .sw-ctt-btn,a.style3:hover .sw-click-to-tweet .sw-ctt-btn,a.style3 .sw-click-to-tweet i.swp_twitter,a.style4 .sw-click-to-tweet .sw-ctt-text,a.style4:hover .sw-click-to-tweet .sw-ctt-text,a.style4 .sw-click-to-tweet .sw-ctt-btn,a.style4:hover .sw-click-to-tweet .sw-ctt-btn,a.style5 .sw-click-to-tweet .sw-ctt-text,a.style5:hover .sw-click-to-tweet .sw-ctt-text,a.style5 .sw-click-to-tweet .sw-ctt-btn,a.style5:hover .sw-click-to-tweet .sw-ctt-btn{color:#fff;text-decoration:none}a.style4 .sw-click-to-tweet i.swp_twitter,a.style5 .sw-click-to-tweet i.swp_twitter{color:#fff}a.style6 .sw-click-to-tweet .sw-ctt-text,a.style6 .sw-click-to-tweet .sw-ctt-btn{color:#30394f;text-decoration:none}a.style6:hover .sw-click-to-tweet .sw-ctt-text,a.style6:hover .sw-click-to-tweet .sw-ctt-btn,a.style6:hover .sw-click-to-tweet i.swp_twitter{color:#2a2d34;text-decoration:none}.scale-70{-ms-transform:scale(0.7);-webkit-transform:scale(0.7);transform:scale(0.7)}.swp_social_panel:not(.nc_floater).scale-70.scale-full_width{width:142.8571428571429%!important}.scale-80{-ms-transform:scale(0.8);-webkit-transform:scale(0.8);transform:scale(0.8)}.swp_social_panel:not(.nc_floater).scale-80.scale-full_width{width:125%!important}.scale-90{-ms-transform:scale(0.9);-webkit-transform:scale(0.9);transform:scale(0.9)}.swp_social_panel:not(.nc_floater).scale-90.scale-full_width{width:111.111111111111%!important}.scale-110{-ms-transform:scale(1.1);-webkit-transform:scale(1.1);transform:scale(1.1)}.swp_social_panel:not(.nc_floater).scale-110.scale-full_width{width:90.90909090909091%!important}.scale-120{-ms-transform:scale(1.2);-webkit-transform:scale(1.2);transform:scale(1.2)}.swp_social_panel:not(.nc_floater).scale-120.scale-full_width{width:83.33333333333333%!important}.scale-130{-ms-transform:scale(1.3);-webkit-transform:scale(1.3);transform:scale(1.3)}.swp_social_panel:not(.nc_floater).scale-130.scale-full_width{width:76.92307692307692%!important}.scale-140{-ms-transform:scale(1.4);-webkit-transform:scale(1.4);transform:scale(1.4)}.swp_social_panel:not(.nc_floater).scale-140.scale-full_width{width:71.42857142857143%!important}.scale-full_width,.scale-left,.nc_floater.scale-center,.nc_floater.scale-right{-ms-transform-origin:left;-webkit-transform-origin:left;transform-origin:left}.scale-right{-ms-transform-origin:right;-webkit-transform-origin:right;transform-origin:right}.scale-center{-ms-transform-origin:center;-webkit-transform-origin:center;transform-origin:center}div.swp_social_panel .nc_tweetContainer.swp_emphasize{-webkit-box-flex:2;-moz-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2}.sw-pinit.aligncenter{margin:0 auto}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){div.sw-pinit{display:inline-block!important;max-width:100%}}.swp_hidden_pin_image{height:0;opacity:0;position:absolute;top:0;width:0;z-index:-10}.fl-module-content .uabb-blog-posts .uabb-post-thumbnail .sw-pinit.lazyloaded{display:block!important}.swp-content-locator{display:none!important;margin:0!important}.float-position-top-left{transform-origin:top left}.float-position-center-left{transform-origin:center left}.float-position-bottom-left{transform-origin:bottom left}.float-position-top-right{transform-origin:top right}.float-position-center-right{transform-origin:center right}.float-position-bottom-right{transform-origin:bottom right}div[class*=custom_color][class^=_wrapper]{display:none}.swp-pinterest-image-top{margin-bottom:20px}
1
+ @media print{.swp_social_panel{display:none;opacity:0;visibility:collapse}}html[lang] .site * i.sw{font-family:sw-icon-font!important}.swp_social_panel{clear:both;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;height:34px;line-height:1;margin-bottom:20px!important;margin-top:20px!important;overflow:hidden;padding:0;-webkit-align-items:stretch;align-items:stretch;-webkit-box-align:stretch;-moz-box-align:stretch;-webkit-box-pack:justify;-moz-box-pack:justify;direction:ltr;-ms-flex-align:stretch;-ms-flex-line-pack:center;-ms-flex-pack:justify;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;justify-content:space-between}@media print{.swp_social_panel{display:none;opacity:0;visibility:collapse}}.swp_social_panel:not(.nc_floater):not(.swp_social_panelSide){width:100%!important}.nc_wrapper .swp_social_panel{margin-bottom:10px!important;margin-top:10px!important}div.swp_social_panel .nc_tweetContainer:not(.total_shares):not(.total_sharesalt){-webkit-border-radius:2px;border-radius:2px;cursor:pointer;float:left;font-family:Lato;height:32px;margin:0 5px 3px 5px;min-width:34px;overflow:hidden;text-align:center;-webkit-transition:all 0.1s linear;transition:all 0.1s linear}div.swp_social_panel:not(.swp_social_panelSide) .nc_tweetContainer{-webkit-box-flex:1;-moz-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.swp_social_panel .nc_tweetContainer a.nc_tweet,.swp_social_panel .total_shares .swp_count{display:block;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;font-family:Lato,sans-serif;font-size:18px!important;font-weight:bold;height:30px;text-decoration:none;text-decoration:none!important;text-transform:none;-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;box-shadow:none}.swp_social_panel:not(.nc_floater):not(.swp_social_panelSide).swp_shift{padding:0 10px}.swp_social_panel:not(.swp_social_panelSide) .nc_tweetContainer:nth-child(1){margin-left:0}.swp_social_panel:not(.swp_social_panelSide) .nc_tweetContainer:nth-last-child(1){margin-right:0}.swp_social_panel a .swp_count:not(.swp_hide){display:inline-block;line-height:32px;margin:0;padding:0 5px;-webkit-box-flex:1;-moz-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.swp_social_panel a .swp_count.swp_hide{margin:0 auto}.swp_social_panel span:before{content:initial!important}.swp_social_panel .total_shares .swp_count{line-height:30px}.swp_social_panel span.swp_count{font-size:14px}.swp_social_panel span.iconFiller{font-size:18px;margin:0 auto}.swp_social_panel.notMobile .nc_tweetContainer:nth-child(1){margin-left:0}.swp_social_panel:not(.swp_social_panelSide){-webkit-transition:opacity 0.2s ease-in-out;transition:opacity 0.2s ease-in-out}.swp_social_panel:not(.swp_social_panelSide) div.total_shares.total_sharesalt:nth-child(1){margin-left:0;margin-right:15px;padding-left:0}.swp_social_panel:not(.swp_social_panelSide) div.total_shares.total_sharesalt:nth-last-child(1){margin-right:0;padding-right:0}a.swp_CTT{cursor:pointer}span.swp_share{display:block;float:right;float:left;font-size:14px;font-weight:normal;height:30px;line-height:30px;margin:0 0 0 6px;max-width:none!important;vertical-align:middle}.swp_social_panelSide span.swp_share{margin:0}.swp_social_panel .sw{float:left;height:30px;line-height:32px;margin:0 5px;text-shadow:none!important;width:20px}.iconFiller{display:block;float:left;height:30px;overflow:hidden;-webkit-transition:width 0.1s linear;transition:width 0.1s linear}.swp_social_panel .iconFiller{width:30px}span.spaceManWilly{display:block;width:120px}.swp_social_panel .total_shares{background:transparent!important;;border:none!important;-webkit-border-radius:2px;border-radius:2px;color:white;cursor:default;display:block;font-size:19px;padding:0 10px;-webkit-box-flex:0!important;-moz-box-flex:0!important;-webkit-flex:none!important;-ms-flex:none!important;flex:none!important}.swp_social_panel .total_sharesalt{background:transparent!important;border:none!important}.swp_social_panel div.total_shares.total_sharesalt,.swp_social_panel:hover div.total_shares.total_sharesalt:not(:nth-child(1)){background:transparent!important;border:none;color:#474b4d;margin-left:0!important;margin-bottom:10px!important}div.swp_social_panel:hover div.total_shares.total_sharesalt:not(:nth-child(1)){background:transparent;color:#474b4d;margin-left:10px}.swp_social_panel .total_shares.total_sharesalt .swp_label{color:#474b4d;font-size:10px;letter-spacing:0;min-width:40px;vertical-align:middle}.swp_social_panel .total_shares .swp_label{font-size:10px;vertical-align:middle}.swp_social_panel .total_shares.total_sharesalt .swp_count{color:#474b4d;font-size:24px}.swp_social_panel:hover .total_shares,.swp_social_panel.swp_full_color .total_shares,.swp_social_panel.swp_fade .total_shares,.swp_social_panel.swp_customFull:hover div.total_shares{background:#e08a0f}.swp_social_panel .nc_tweetContainer.total_shares.total_sharesalt:before{content:"o";display:inline-block;font-family:sw-icon-font;margin-top:7px;vertical-align:top}.swp_social_panel:not(.swp_social_panelSide) .total_shares.total_sharesalt .swp_count{display:inline-block;line-height:0;margin-left:8px;margin-top:12px;min-width:45px;position:relative;vertical-align:middle}span.swp_label{display:block;font-size:9px!important;margin-top:13px;position:absolute;text-align:center!important;text-transform:uppercase}.swp_social_panelSide span.swp_label{margin-top:0}.swp_social_panel.swp_leaf .nc_tweetContainer{-webkit-border-radius:15px 0!important;border-radius:15px 0!important;border-width:1px}.swp_social_panel.swp_pill .nc_tweetContainer{-webkit-border-radius:50px!important;border-radius:50px!important;border-width:1px}.swp_social_panel.swp_shift .nc_tweetContainer:not(.total_shares){border-width:1px;-moz-transform:skew(-25deg);-o-transform:skew(-25deg);-webkit-transform:skew(-25deg)}.swp_social_panel.swp_shift .nc_tweetContainer a{-moz-transform:skew(25deg);-o-transform:skew(25deg);-webkit-transform:skew(25deg)}.swp_connected .nc_tweetContainer,.swp_connected:hover .nc_tweetContainer,.swp_connected .nc_tweetContainer:hover{-webkit-border-radius:0!important;border-radius:0!important;border-width:1px;margin:0!important}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_google_plus,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_google_plus:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_google_plus:not(:hover){border:1px solid #df4b37}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_twitter,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_twitter:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_twitter:not(:hover){border:1px solid #429cd6}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_facebook,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_facebook:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_facebook:not(:hover){border:1px solid #3a589e}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_pinterest,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_pinterest:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_pinterest:not(:hover){border:1px solid #cd2029}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_linkedin,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_linkedin:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_linkedin:not(:hover){border:1px solid #0d77b7}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_tumblr,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_tumblr:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_tumblr:not(:hover){border:1px solid #39475d}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_mix,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_mix:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_mix:not(:hover){border:1px solid #f4812c}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_yummly,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_yummly:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_yummly:not(:hover){border:1px solid #e26426}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_reddit,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_reddit:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_reddit:not(:hover){border:1px solid #f04b23}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_email,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_email:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_email:not(:hover){border:1px solid #6bcce9}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_whatsapp,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_whatsapp:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_whatsapp:not(:hover){border:1px solid #71c169}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_pocket,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_pocket:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_pocket:not(:hover){border:1px solid #ef4056}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_buffer,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_buffer:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_buffer:not(:hover){border:1px solid #323b43}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_hacker_news,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_hacker_news:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_hacker_news:not(:hover){border:1px solid #d85623}.swp_social_panel.swp_flat_fresh.swp_default_full_color .swp_flipboard,html body .swp_social_panel.swp_flat_fresh.swp_individual_full_color .swp_flipboard:hover,body .swp_social_panel.swp_flat_fresh.swp_other_full_color:hover .swp_flipboard:not(:hover){border:1px solid #bf2626}.swp_social_panel.swp_default_full_color .swp_google_plus,html body .swp_social_panel.swp_individual_full_color .swp_google_plus:hover,body .swp_social_panel.swp_other_full_color:hover .swp_google_plus{background:#df4b37;border:1px solid #c44133}.swp_social_panel.swp_default_full_color .swp_twitter,html body .swp_social_panel.swp_individual_full_color .swp_twitter:hover,body .swp_social_panel.swp_other_full_color:hover .swp_twitter{background:#429cd6;border:1px solid #3c87b2}.swp_social_panel.swp_default_full_color .swp_facebook,html body .swp_social_panel.swp_individual_full_color .swp_facebook:hover,body .swp_social_panel.swp_other_full_color:hover .swp_facebook{background:#3a589e;border:1px solid #2e4675}.swp_social_panel.swp_default_full_color .swp_pinterest,html body .swp_social_panel.swp_individual_full_color .swp_pinterest:hover,body .swp_social_panel.swp_other_full_color:hover .swp_pinterest{background:#cd2029;border:1px solid #aa1b29}.swp_social_panel.swp_default_full_color .swp_linkedin,html body .swp_social_panel.swp_individual_full_color .swp_linkedin:hover,body .swp_social_panel.swp_other_full_color:hover .swp_linkedin{background:#0d77b7;border:1px solid #0c6591}.swp_social_panel.swp_default_full_color .swp_tumblr,html body .swp_social_panel.swp_individual_full_color .swp_tumblr:hover,body .swp_social_panel.swp_other_full_color:hover .swp_tumblr{background:#39475d;border:1px solid #27313f}.swp_social_panel.swp_default_full_color .swp_mix,html body .swp_social_panel.swp_individual_full_color .swp_mix:hover,body .swp_social_panel.swp_other_full_color:hover .swp_mix{background:#f4812c;border:1px solid #c96a29}.swp_social_panel.swp_default_full_color .swp_yummly,html body .swp_social_panel.swp_individual_full_color .swp_yummly:hover,body .swp_social_panel.swp_other_full_color:hover .swp_yummly{background:#e26426;border:1px solid #b65027}.swp_social_panel.swp_default_full_color .swp_reddit,html body .swp_social_panel.swp_individual_full_color .swp_reddit:hover,body .swp_social_panel.swp_other_full_color:hover .swp_reddit{background:#f04b23;border:1px solid #d33f27}.swp_social_panel.swp_default_full_color .swp_email,html body .swp_social_panel.swp_individual_full_color .swp_email:hover,body .swp_social_panel.swp_other_full_color:hover .swp_email{background:#6bcce9;border:1px solid #61bace}.swp_social_panel.swp_default_full_color .swp_whatsapp,html body .swp_social_panel.swp_individual_full_color .swp_whatsapp:hover,body .swp_social_panel.swp_other_full_color:hover .swp_whatsapp{background:#71c169;border:1px solid #28b04b}.swp_social_panel.swp_default_full_color .swp_pocket,html body .swp_social_panel.swp_individual_full_color .swp_pocket:hover,body .swp_social_panel.swp_other_full_color:hover .swp_pocket{background:#ef4056;border:1px solid #ce3d55}.swp_social_panel.swp_default_full_color .swp_buffer,html body .swp_social_panel.swp_individual_full_color .swp_buffer:hover,body .swp_social_panel.swp_other_full_color:hover .swp_buffer{background:#323b43;border:1px solid #000}.swp_social_panel.swp_default_full_color .swp_hacker_news,html body .swp_social_panel.swp_individual_full_color .swp_hacker_news:hover,body .swp_social_panel.swp_other_full_color:hover .swp_hacker_news{background:#f16522;border:1px solid #d85623}.swp_social_panel.swp_default_full_color .swp_flipboard,html body .swp_social_panel.swp_individual_full_color .swp_flipboard:hover,body .swp_social_panel.swp_other_full_color:hover .swp_flipboard{background:#e02828;border:1px solid #bf2626}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_google_plus,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_google_plus:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_google_plus{border-bottom:3px solid #c44133}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_twitter,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_twitter:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_twitter{border-bottom:3px solid #5595bc}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_facebook,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_facebook:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_facebook{border-bottom:3px solid #2e4675}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_pinterest,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_pinterest:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_pinterest{border-bottom:3px solid #aa1b29}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_linkedin,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_linkedin:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_linkedin{border-bottom:3px solid #0c6591}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_tumblr,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_tumblr:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_tumblr{border-bottom:3px solid #27313f}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_mix,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_mix:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_mix{border-bottom:3px solid #c96a29}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_yummly,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_yummly:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_yummly{border-bottom:3px solid #b65027}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_reddit,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_reddit:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_reddit{border-bottom:3px solid #d33f27}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_email,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_email:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_email{border-bottom:3px solid #61bace}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_whatsapp,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_whatsapp:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_whatsapp{border-bottom:3px solid #28b04b}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_pocket,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_pocket:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_pocket{border-bottom:3px solid #ce3d55}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_buffer,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_buffer:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_buffer{border-bottom:3px solid #000}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_hacker_news,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_hacker_news:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_hacker_news{border-bottom:3px solid #d85623}.swp_social_panel.swp_three_dee.swp_default_full_color .swp_flipboard,html body .swp_social_panel.swp_three_dee.swp_individual_full_color .swp_flipboard:hover,body .swp_social_panel.swp_three_dee.swp_other_full_color:hover .swp_flipboard{border-bottom:3px solid #bf2626}.swp_social_panel.swp_default_light_gray .nc_tweetContainer,html body .swp_social_panel.swp_individual_light_gray .nc_tweetContainer:hover,body .swp_social_panel.swp_other_light_gray:hover .nc_tweetContainer{background-color:#ccc;border:1px solid #ccc}.swp_social_panel.swp_three_dee.swp_default_light_gray .nc_tweetContainer:not(.total_sharesalt),html body .swp_social_panel.swp_three_dee.swp_individual_light_gray .nc_tweetContainer:not(.total_sharesalt):hover,body .swp_social_panel.swp_three_dee.swp_other_light_gray:hover .nc_tweetContainer:not(.total_sharesalt){border-bottom:3px solid #999}.swp_social_panel.swp_default_medium_gray .nc_tweetContainer,html body .swp_social_panel.swp_individual_medium_gray .nc_tweetContainer:hover,body .swp_social_panel.swp_other_medium_gray:hover .nc_tweetContainer{background-color:#999;border:1px solid #999}.swp_social_panel.swp_three_dee.swp_default_medium_gray .nc_tweetContainer:not(.total_sharesalt),html body .swp_social_panel.swp_three_dee.swp_individual_medium_gray .nc_tweetContainer:not(.total_sharesalt):hover,body .swp_social_panel.swp_three_dee.swp_other_medium_gray:hover .nc_tweetContainer:not(.total_sharesalt){border-bottom:3px solid #444}.swp_social_panel.swp_default_dark_gray .nc_tweetContainer,html body .swp_social_panel.swp_individual_dark_gray .nc_tweetContainer:hover,body .swp_social_panel.swp_other_dark_gray:hover .nc_tweetContainer{background-color:#444;border:1px solid #444}.swp_social_panel.swp_three_dee.swp_default_dark_gray .nc_tweetContainer:not(.total_sharesalt),html body .swp_social_panel.swp_three_dee.swp_individual_dark_gray .nc_tweetContainer:not(.total_sharesalt):hover,body .swp_social_panel.swp_three_dee.swp_other_dark_gray:hover .nc_tweetContainer:not(.total_sharesalt){border-bottom:3px solid #222}.swp_social_panel.swp_default_light_gray_outlines a,html body .swp_social_panel.swp_individual_light_gray_outlines a:hover,body .swp_social_panel.swp_other_light_gray_outlines:hover a{color:#ccc}.swp_social_panel.swp_default_light_gray_outlines .nc_tweetContainer,html body .swp_social_panel.swp_individual_light_gray_outlines .nc_tweetContainer:hover,body .swp_social_panel.swp_other_light_gray_outlines:hover .nc_tweetContainer{background:transparent;border:1px solid #ccc}.swp_social_panel.swp_default_medium_gray_outlines a,html body .swp_social_panel.swp_individual_medium_gray_outlines a:hover,body .swp_social_panel.swp_other_medium_gray_outlines:hover a{color:#999}.swp_social_panel.swp_default_medium_gray_outlines .nc_tweetContainer,html body .swp_social_panel.swp_individual_medium_gray_outlines .nc_tweetContainer:hover,body .swp_social_panel.swp_other_medium_gray_outlines:hover .nc_tweetContainer{background:transparent;border:1px solid #999}.swp_social_panel.swp_default_dark_gray_outlines a,html body .swp_social_panel.swp_individual_dark_gray_outlines a:hover,body .swp_social_panel.swp_other_dark_gray_outlines:hover a{color:#444}.swp_social_panel.swp_default_dark_gray_outlines .nc_tweetContainer,html body .swp_social_panel.swp_individual_dark_gray_outlines .nc_tweetContainer:hover,body .swp_social_panel.swp_other_dark_gray_outlines:hover .nc_tweetContainer{background:transparent;border:1px solid #444}.swp_social_panel.swp_default_color_outlines .swp_google_plus a,html body .swp_social_panel.swp_individual_color_outlines .swp_google_plus a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_google_plus a{color:#df4b37}.swp_social_panel.swp_default_color_outlines .swp_facebook a,html body .swp_social_panel.swp_individual_color_outlines .swp_facebook a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_facebook a{color:#3a589e}.swp_social_panel.swp_default_color_outlines .swp_pinterest a,html body .swp_social_panel.swp_individual_color_outlines .swp_pinterest a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_pinterest a{color:#cd2029}.swp_social_panel.swp_default_color_outlines .swp_linkedin a,html body .swp_social_panel.swp_individual_color_outlines .swp_linkedin a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_linkedin a{color:#0d77b7}.swp_social_panel.swp_default_color_outlines .swp_tumblr a,html body .swp_social_panel.swp_individual_color_outlines .swp_tumblr a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_tumblr a{color:#39475d}.swp_social_panel.swp_default_color_outlines .swp_mix a,html body .swp_social_panel.swp_individual_color_outlines .swp_mix a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_mix a{color:#f4812c}.swp_social_panel.swp_default_color_outlines .swp_yummly a,html body .swp_social_panel.swp_individual_color_outlines .swp_yummly a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_yummly a{color:#e26426}.swp_social_panel.swp_default_color_outlines .swp_whatsapp a,html body .swp_social_panel.swp_individual_color_outlines .swp_whatsapp a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_whatsapp a{color:#71c169}.swp_social_panel.swp_default_color_outlines .swp_pocket a,html body .swp_social_panel.swp_individual_color_outlines .swp_pocket a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_pocket a{color:#ef4056}.swp_social_panel.swp_default_color_outlines .swp_reddit a,html body .swp_social_panel.swp_individual_color_outlines .swp_reddit a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_reddit a{color:#f04b23}.swp_social_panel.swp_default_color_outlines .swp_email a,html body .swp_social_panel.swp_individual_color_outlines .swp_email a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_email a{color:#6bcce9}.swp_social_panel.swp_default_color_outlines .swp_buffer a,html body .swp_social_panel.swp_individual_color_outlines .swp_buffer a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_buffer a{color:#323b43}.swp_social_panel.swp_default_color_outlines .swp_hacker_news a,html body .swp_social_panel.swp_individual_color_outlines .swp_hacker_news a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_hacker_news a{color:#f16522}.swp_social_panel.swp_default_color_outlines .swp_flipboard a,html body .swp_social_panel.swp_individual_color_outlines .swp_flipboard a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_flipboard a{color:#e02828}.swp_social_panel.swp_default_color_outlines .swp_google_plus,html body .swp_social_panel.swp_individual_color_outlines .swp_google_plus:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_google_plus{background:transparent;border:1px solid #df4b37}.swp_social_panel.swp_default_color_outlines .swp_twitter,html body .swp_social_panel.swp_individual_color_outlines .swp_twitter:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_twitter{background:transparent;border:1px solid #429cd6}.swp_social_panel.swp_default_color_outlines .swp_facebook,html body .swp_social_panel.swp_individual_color_outlines .swp_facebook:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_facebook{background:transparent;border:1px solid #3a589e}.swp_social_panel.swp_default_color_outlines .swp_pinterest,html body .swp_social_panel.swp_individual_color_outlines .swp_pinterest:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_pinterest{background:transparent;border:1px solid #cd2029}.swp_social_panel.swp_default_color_outlines .swp_linkedin,html body .swp_social_panel.swp_individual_color_outlines .swp_linkedin:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_linkedin{background:transparent;border:1px solid #0d77b7}.swp_social_panel.swp_default_color_outlines .swp_tumblr,html body .swp_social_panel.swp_individual_color_outlines .swp_tumblr:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_tumblr{background:transparent;border:1px solid #39475d}.swp_social_panel.swp_default_color_outlines .swp_mix,html body .swp_social_panel.swp_individual_color_outlines .swp_mix:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_mix{background:transparent;border:1px solid #f4812c}.swp_social_panel.swp_default_color_outlines .swp_yummly,html body .swp_social_panel.swp_individual_color_outlines .swp_yummly:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_yummly{background:transparent;border:1px solid #e26426}.swp_social_panel.swp_default_color_outlines .swp_whatsapp,html body .swp_social_panel.swp_individual_color_outlines .swp_whatsapp:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_whatsapp{background:transparent;border:1px solid #71c169}.swp_social_panel.swp_default_color_outlines .swp_reddit,html body .swp_social_panel.swp_individual_color_outlines .swp_reddit:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_reddit{background:transparent;border:1px solid #f04b23}.swp_social_panel.swp_default_color_outlines .swp_email,html body .swp_social_panel.swp_individual_color_outlines .swp_email:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_email{background:transparent;border:1px solid #6bcce9}.swp_social_panel.swp_default_color_outlines .swp_pocket,html body .swp_social_panel.swp_individual_color_outlines .swp_pocket:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_pocket{background:transparent;border:1px solid #ef4056}.swp_social_panel.swp_default_color_outlines .swp_buffer,html body .swp_social_panel.swp_individual_color_outlines .swp_buffer:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_buffer{background:transparent;border:1px solid #323b43}.swp_social_panel.swp_default_color_outlines .swp_hacker_news,html body .swp_social_panel.swp_individual_color_outlines .swp_hacker_news:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_hacker_news{background:transparent;border:1px solid #f16522}.swp_social_panel.swp_default_color_outlines .swp_flipboard,html body .swp_social_panel.swp_individual_color_outlines .swp_flipboard:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_flipboard{background:transparent;border:1px solid #bf2626}.swp_social_panelSide{flex-direction:column;height:auto;overflow:visible;-webkit-transition:all 0.2s linear;transition:all 0.2s linear;z-index:9998;margin:10px 5px!important;padding:0;-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column}.swp_social_panelSide.slide,.swp_social_panelSide.fade{position:fixed;-webkit-transition:all 0.2s linear;transition:all 0.2s linear}.swp_social_panelSide.fade.swp_float_left{left:5px}.swp_social_panelSide.fade.swp_float_right{right:5px}.swp_social_panelSide[class*=swp_side]{height:auto;display:flex;position:fixed;padding:30px 0}.swp_social_panelSide.fade{display:none}.swp_social_panelSide.swp_float_right{align-content:flex-end}.swp_social_panelSide.swp_side_top{top:15px}.swp_social_panelSide.swp_side_bottom{bottom:15px}.swp_social_panelSide.swp_side_center{}.swp_social_panelSide .nc_tweetContainer{-webkit-border-radius:3px;border-radius:3px;clear:both;display:block;font-family:Lato,sans-serif;height:32px;margin:3px 0!important;overflow:hidden;padding:0;-webkit-transition:all 0.1s linear;transition:all 0.1s linear;vertical-align:top;width:90px}.swp_social_panelSide .nc_tweetContainer .iconFiller{display:inline-block;height:40px;margin:0 6px;padding:0;-webkit-transition:all 0.1s linear;transition:all 0.1s linear;vertical-align:middle;width:21px}.swp_social_panelSide .nc_tweetContainer .swp_count{display:inline-block;font-size:14px;height:32px;line-height:16px;margin:0;overflow:hidden;padding:0;text-align:right;-webkit-transition:all 0.1s linear;transition:all 0.1s linear;vertical-align:top;width:0}.swp_social_panelSide .nc_tweetContainer a{cursor:pointer;display:block;font-weight:500;height:36px;margin:0;padding:0;text-decoration:none;-webkit-transition:all 0.1s linear;transition:all 0.1s linear;vertical-align:top}.swp_social_panelSide .nc_tweetContainer .sw,.swp_social_panelSide .nc_tweetContainer .swp_share{float:left;line-height:34px}.swp_social_panelSide.swp_default .nc_tweetContainer .sw{line-height:32px}.swp_social_panelSide.swp_default .nc_tweetContainer .swp_share{line-height:30px}.swp_social_panelSide .nc_tweetContainer .swp_share{font-size:13px}.swp_social_panelSide .nc_tweetContainer:hover,.swp_social_panelSide .nc_tweetContainer:hover .iconFiller,.swp_social_panelSide .nc_tweetContainer:hover .swp_count{-webkit-transition:all 0.1s linear;transition:all 0.1s linear}.swp_social_panelSide.swp_boxed .nc_tweetContainer,.swp_social_panelSide.swp_circles .nc_tweetContainer{margin-bottom:5px;width:67.5px!important}.swp_social_panelSide.swp_boxed .nc_tweetContainer,.swp_social_panelSide.swp_boxed .nc_tweetContainer a,.swp_social_panelSide.swp_circles .nc_tweetContainer,.swp_social_panelSide.swp_circles .nc_tweetContainer a{width:67.5px;height:67.5px!important;position:relative}.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares),.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares) a{border-radius:50%!important}.swp_social_panelSide.swp_boxed .nc_tweetContainer i.sw,.swp_social_panelSide.swp_circles .nc_tweetContainer i.sw{font-size:27px;height:40px;margin:0;padding-top:10px;text-align:center;width:100%}.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares) span.swp_share,.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares) span.swp_share{height:35px;opacity:0;position:absolute;bottom:0;left:0;text-align:center;width:67.5px}.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares) span.swp_count,.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares) span.swp_count{height:35px;margin:0;padding:0;position:absolute;bottom:0;left:0;text-align:center;-webkit-transition:padding 0.1s linear;transition:padding 0.1s linear;width:100%}.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares) span.swp_count.swp_hide,.swp_social_panelSide.swp_boxed .nc_tweetContainer span.swp_hide .iconFiller,.swp_social_panelSide.swp_boxed .nc_tweetContainer span.swp_hide .spaceManWilly,.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares) span.swp_count.swp_hide,.swp_social_panelSide.swp_circles .nc_tweetContainer span.swp_hide .iconFiller,.swp_social_panelSide.swp_circles .nc_tweetContainer span.swp_hide .spaceManWilly{height:67.5px;opacity:1}.swp_social_panelSide.swp_boxed .nc_tweetContainer span.iconFiller,.swp_social_panelSide.swp_circles .nc_tweetContainer span.iconFiller{height:40px;width:67.5px}.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares):hover span.swp_count:not(.swp_hide),.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares):hover span.swp_count:not(.swp_hide){opacity:0}.swp_social_panelSide.swp_boxed .total_shares,.swp_social_panelSide.swp_circles .total_shares{padding:0;width:67.5px!important}.swp_social_panelSide .nc_tweetContainer:not(.total_shares){line-height:34px}.swp_social_panelSide:not(.swp_boxed):not(.swp_circles) .nc_tweetContainer:not(.total_shares) .iconFiller{margin-left:2px;width:30px}.swp_social_panelSide .nc_tweetContainer:not(.total_shares) .swp_count{padding:0 8px;width:48px}.swp_social_panelSide .nc_tweetContainer:not(.total_shares) .swp_count.swp_hide{padding:0;width:100%}.swp_social_panelSide .nc_tweetContainer:not(.total_shares) .swp_count.swp_hide .iconFiller{display:block;float:none;margin:0 auto}.swp_social_panelSide:not(.swp_boxed):not(.swp_circles) .nc_tweetContainer:not(.total_shares):hover{width:150px}.swp_social_panelSide .nc_tweetContainer[data-network]:not(.total_shares):hover .iconFiller,.swp_social_panelSide .nc_tweetContainer:not(.total_shares) .spaceManWilly{width:90px}.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares):hover .iconFiller,.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares) .spaceManWilly,.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares):hover .iconFiller,.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares) .spaceManWilly{width:100%}.swp_social_panelSide .nc_tweetContainer.total_shares{background:rgba(0,0,0,0);border:0!important;font-weight:800;height:55px;margin:0;padding:0;text-align:center;width:90px;order:-100}.swp_social_panelSide .nc_tweetContainer.total_shares .swp_count{color:#444;display:block;font-family:Lato,sans-serif;height:28px;text-align:center;width:100%}.swp_social_panelSide .nc_tweetContainer.total_shares .swp_label{color:#444;display:block;font-family:Lato,sans-serif;font-size:50%;position:relative;text-align:center;width:100%}.nc_wrapper{background:white;position:fixed;-webkit-transition:top 0.5s bottom 0.5s;transition:top 0.5s bottom 0.5s;width:100%;z-index:99999}.nc_wrapper.bottom{bottom:0;left:0}.nc_wrapper.top{top:0;left:0}.nc_floater{margin:10px 0;position:relative}.swp_social_panelSide.hideCounts a{text-align:center}.swp_social_panelSide.hideCounts .iconFiller{float:none;text-align:left}.sw{display:inline-block;font-family:sw-icon-font!important;font-size:inherit;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;text-rendering:auto;text-transform:none!important;-ms-transform:translate(0,0);-webkit-transform:translate(0,0);transform:translate(0,0)}.sw:before{display:block!important}.wp-editor-container .sw:before{font-size:18px;line-height:22px}.wp-editor-container .sw-social-warfare:before{color:#ee464f}.mce-container .sw-social-warfare{color:#ee464f;font-size:20px;margin-right:15px;vertical-align:middle}.mce-ico.sw-social-warfare:before{color:#ee464f}.mce-ico.sw-social-warfare{color:#ee464f}i.swp_google_plus_icon:before{content:"h"}i.swp_pinterest_icon:before{content:"b"}i.swp_twitter_icon:before{content:"s"}i.swp_facebook_icon:before{content:"j"}i.swp_linkedin_icon:before{content:"f"}i.swp_tumblr_icon:before{content:"r"}i.swp_mix_icon:before{content:"g"}i.swp_reddit_icon:before{content:"a"}i.swp_email_icon:before{content:"k"}i.swp_yummly_icon:before{content:"x"}i.swp_whatsapp_icon:before{content:"y"}i.swp_pocket_icon:before{content:"B"}i.swp_buffer_icon:before{content:"z"}i.swp_hacker_news_icon:before{content:"D"}i.swp_flipboard_icon:before{content:"C"}.sw-social-warfare:before{content:"p"}.swp_CTT{text-decoration:none!important}.sw-tweet-clear{zoom:1}.sw-tweet-clear:after{clear:both;content:".";display:block;height:0;visibility:hidden}.sw-click-to-tweet{display:block;margin:15px 0;padding:15px 30px;position:relative}.sw-click-to-tweet:after{clear:both;content:".";display:block;height:0;line-height:0;visibility:hidden}.sw-click-to-tweet .sw-ctt-text{margin:0 0 10px;padding:0;position:relative;word-wrap:break-word}a .sw-click-to-tweet .sw-ctt-text{display:block;font-size:24px;font-weight:500;line-height:140%;margin:0;padding:0;position:relative;text-decoration:none;text-transform:none}.sw-click-to-tweet .sw-ctt-btn{display:block;float:right;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:bold;line-height:100%;margin:10px 0 0;padding:3px 5px 3px 3px;position:relative;text-decoration:none;text-transform:uppercase}.sw-click-to-tweet i.swp_twitter_icon{float:right;font-size:21px;margin-left:15px!important;margin-top:2px;text-transform:none}a.swp_CTT.style1 .sw-click-to-tweet{background-color:#fff;border:1px solid #ddd;-webkit-border-radius:4px;border-radius:4px}a.swp_CTT.style2 .sw-click-to-tweet{background-color:#fff;border:4px double #ddd;-webkit-border-radius:0;border-radius:0}a.style2 .sw-click-to-tweet .sw-ctt-text{color:#666;font-style:italic;text-decoration:none}a.swp_CTT.style3:hover .sw-click-to-tweet{border-left:10px solid #3c87b2;padding-right:20px;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.swp_CTT.style3 .sw-click-to-tweet{background-color:#429cd6;border:none;border-left:10px solid #429cd6;-webkit-border-radius:0;border-radius:0;padding-right:20px;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.style3 .sw-click-to-tweet .sw-ctt-text{color:#fff;font-style:italic;text-decoration:none}a.swp_CTT.style4:hover .sw-click-to-tweet{border-left:10px solid #3c87b2;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.swp_CTT.style4 .sw-click-to-tweet{background-color:#333;border-left:10px solid #c33;-webkit-border-radius:0;border-radius:0;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.swp_CTT.style5:hover .sw-click-to-tweet{background-color:#d34250;border-left:10px solid #30394f;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.swp_CTT.style5 .sw-click-to-tweet{background-color:#30394f;border-left:10px solid #d34250;-webkit-border-radius:0;border-radius:0;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.swp_CTT.style6:hover .sw-click-to-tweet{background-color:#ced3dc;border-left:10px solid #d34250;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.swp_CTT.style6 .sw-click-to-tweet{background-color:#eee;border-left:10px solid #d34250;-webkit-border-radius:0;border-radius:0;-webkit-transition:all 0.25s linear;transition:all 0.25s linear}a.style6 .sw-click-to-tweet i.swp_twitter{color:#30394f}.swp_pop_thumb{-webkit-border-radius:3px;border-radius:3px;float:left;height:100px;margin:5px 25px 5px 0;width:100px}.swp_popular_post{clear:both}.swp_clearfix:after{clear:both;content:" ";display:block;height:0;visibility:hidden}.swp_popular_post a.swp_popularity{border:none;display:block;line-height:1.5;margin:20px 0}span.swp_pop_count{display:block;font-size:70%}.swp_widget_box{-webkit-border-radius:3px;border-radius:3px}div.sw-pinit{display:table!important;line-height:0;position:relative!important}div.sw-pinit a.sw-pinit-button,div.sw-pinit a.sw-pinit-button:visited{background:#cd2029;border:1px solid #aa1b29;border:0;border-bottom:none;-webkit-border-radius:4px;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;color:#fff;font-family:Lato,sans-serif;font-size:15px;height:32px;line-height:32px;opacity:0;padding:0 20px;position:absolute;text-decoration:none;text-decoration:none;-webkit-transition:opacity 0.5s;transition:opacity 0.5s;z-index:200}.wp-block-gallery div.sw-pinit a.sw-pinit-button,.blocks-gallery-item div.sw-pinit a.sw-pinit-button,.blocks-gallery-item div.sw-pinit a.sw-pinit-button:visited{height:34px!important;width:120px!important;text-align:center}div.sw-pinit:hover a.sw-pinit-button,div.sw-pinit:focus a.sw-pinit-button{opacity:1}div.sw-pinit a.sw-pinit-button::before{color:#fff;content:"b";float:left;font-family:sw-icon-font;font-size:20px;font-weight:400;line-height:36px;margin-left:-5px;margin-right:10px}div.sw-pinit a.sw-pinit-button:hover::before{content:"F"}div.sw-pinit a.sw-pinit-button:hover,div.sw-pinit a.sw-pinit-button:focus{background:#aa1b29;color:#fff;text-decoration:none}div.sw-pinit .sw-pinit-left{left:30px}div.sw-pinit .sw-pinit-center{margin-left:-60px;left:50%}div.sw-pinit .sw-pinit-right{right:30px}div.sw-pinit .sw-pinit-top{top:30px}div.sw-pinit .sw-pinit-middle{margin-top:-25px;top:50%}div.sw-pinit .sw-pinit-bottom{bottom:30px}.swp_social_panel.notMobile .nc_tweetContainer:nth-last-child(1),.mobile .nc_tweetContainer:nth-last-child(2),.nc_tweetContainer.total_shares:nth-last-child(1){margin-right:0}.swp_social_panel.swp_default_full_color a,html body .swp_social_panel.swp_individual_full_color .nc_tweetContainer:hover a,body .swp_social_panel.swp_other_full_color:hover a,.swp_social_panel.swp_default_light_gray a,html body .swp_social_panel.swp_individual_light_gray .nc_tweetContainer:hover a,body .swp_social_panel.swp_other_light_gray:hover a,.swp_social_panel.swp_default_medium_gray a,html body .swp_social_panel.swp_individual_medium_gray a:hover,body .swp_social_panel.swp_other_medium_gray:hover a,.swp_social_panel.swp_default_dark_gray a,html body .swp_social_panel.swp_individual_dark_gray a:hover,body .swp_social_panel.swp_other_dark_gray:hover a{color:white}.swp_social_panel.swp_default_color_outlines .swp_twitter a,html body .swp_social_panel.swp_individual_color_outlines .swp_twitter a:hover,body .swp_social_panel.swp_other_color_outlines:hover .swp_twitter a,.wp-editor-container .swp_twitter:before,a.style1 .sw-click-to-tweet i.swp_twitter,a.style2 .sw-click-to-tweet i.swp_twitter{color:#429cd6}.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares) .swp_hide span.swp_share,.swp_social_panelSide.swp_boxed .nc_tweetContainer:not(.total_shares):hover span.swp_share:not(.swp_hide),.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares) .swp_hide span.swp_share,.swp_social_panelSide.swp_circles .nc_tweetContainer:not(.total_shares):hover span.swp_share:not(.swp_hide){opacity:1}.swp_social_panel.mobile .iconFiller ~ .swp_count,.sw-content-locator{display:none}a.style1 .sw-click-to-tweet .sw-ctt-text,a.style1 .sw-click-to-tweet .sw-ctt-btn{color:#999;text-decoration:none}a.style1:hover .sw-click-to-tweet .sw-ctt-text,a.style1:hover .sw-click-to-tweet .sw-ctt-btn,a.style2:hover .sw-click-to-tweet .sw-ctt-text,a.style2 .sw-click-to-tweet .sw-ctt-btn,a.style2:hover .sw-click-to-tweet .sw-ctt-btn{color:#666;text-decoration:none}a.style3:hover .sw-click-to-tweet .sw-ctt-text,a.style3 .sw-click-to-tweet .sw-ctt-btn,a.style3:hover .sw-click-to-tweet .sw-ctt-btn,a.style3 .sw-click-to-tweet i.swp_twitter,a.style4 .sw-click-to-tweet .sw-ctt-text,a.style4:hover .sw-click-to-tweet .sw-ctt-text,a.style4 .sw-click-to-tweet .sw-ctt-btn,a.style4:hover .sw-click-to-tweet .sw-ctt-btn,a.style5 .sw-click-to-tweet .sw-ctt-text,a.style5:hover .sw-click-to-tweet .sw-ctt-text,a.style5 .sw-click-to-tweet .sw-ctt-btn,a.style5:hover .sw-click-to-tweet .sw-ctt-btn{color:#fff;text-decoration:none}a.style4 .sw-click-to-tweet i.swp_twitter,a.style5 .sw-click-to-tweet i.swp_twitter{color:#fff}a.style6 .sw-click-to-tweet .sw-ctt-text,a.style6 .sw-click-to-tweet .sw-ctt-btn{color:#30394f;text-decoration:none}a.style6:hover .sw-click-to-tweet .sw-ctt-text,a.style6:hover .sw-click-to-tweet .sw-ctt-btn,a.style6:hover .sw-click-to-tweet i.swp_twitter{color:#2a2d34;text-decoration:none}.scale-70{-ms-transform:scale(0.7);-webkit-transform:scale(0.7);transform:scale(0.7)}.swp_social_panel:not(.nc_floater).scale-70.scale-full_width{width:142.8571428571429%!important}.scale-80{-ms-transform:scale(0.8);-webkit-transform:scale(0.8);transform:scale(0.8)}.swp_social_panel:not(.nc_floater).scale-80.scale-full_width{width:125%!important}.scale-90{-ms-transform:scale(0.9);-webkit-transform:scale(0.9);transform:scale(0.9)}.swp_social_panel:not(.nc_floater).scale-90.scale-full_width{width:111.111111111111%!important}.scale-110{-ms-transform:scale(1.1);-webkit-transform:scale(1.1);transform:scale(1.1)}.swp_social_panel:not(.nc_floater).scale-110.scale-full_width{width:90.90909090909091%!important}.scale-120{-ms-transform:scale(1.2);-webkit-transform:scale(1.2);transform:scale(1.2)}.swp_social_panel:not(.nc_floater).scale-120.scale-full_width{width:83.33333333333333%!important}.scale-130{-ms-transform:scale(1.3);-webkit-transform:scale(1.3);transform:scale(1.3)}.swp_social_panel:not(.nc_floater).scale-130.scale-full_width{width:76.92307692307692%!important}.scale-140{-ms-transform:scale(1.4);-webkit-transform:scale(1.4);transform:scale(1.4)}.swp_social_panel:not(.nc_floater).scale-140.scale-full_width{width:71.42857142857143%!important}.scale-full_width,.scale-left,.nc_floater.scale-center,.nc_floater.scale-right{-ms-transform-origin:left;-webkit-transform-origin:left;transform-origin:left}.scale-right{-ms-transform-origin:right;-webkit-transform-origin:right;transform-origin:right}.scale-center{-ms-transform-origin:center;-webkit-transform-origin:center;transform-origin:center}div.swp_social_panel .nc_tweetContainer.swp_emphasize{-webkit-box-flex:2;-moz-box-flex:2;-webkit-flex:2;-ms-flex:2;flex:2}.sw-pinit.aligncenter{margin:0 auto}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){div.sw-pinit{display:inline-block!important;max-width:100%}}.swp_hidden_pin_image{height:0;opacity:0;position:absolute;top:0;width:0;z-index:-10}.fl-module-content .uabb-blog-posts .uabb-post-thumbnail .sw-pinit.lazyloaded{display:block!important}.swp-content-locator{display:none!important;margin:0!important}.float-position-top-left{transform-origin:top left}.float-position-center-left{transform-origin:center left}.float-position-bottom-left{transform-origin:bottom left}.float-position-top-right{transform-origin:top right}.float-position-center-right{transform-origin:center right}.float-position-bottom-right{transform-origin:bottom right}div[class*=custom_color][class^=_wrapper]{display:none}.swp-pinterest-image-top{margin-bottom:20px}
assets/js/post-editor/blocks.php CHANGED
@@ -4,7 +4,8 @@ if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
5
  }
6
 
7
- if ( true === SWP_Utility::get_option( 'gutenberg_switch' ) && function_exists( 'is_gutenberg_page' ) ) {
 
8
  add_action( 'init', 'register_gutenberg_blocks' );
9
  add_filter( 'block_categories', 'add_block_category', 10, 2 );
10
  }
@@ -14,22 +15,14 @@ if ( true === SWP_Utility::get_option( 'gutenberg_switch' ) && function_exists(
14
  * Gutenberg blocks in the post editor.
15
  *
16
  * @since 3.4.0 | 26 NOV 2018 | Created.
 
17
  */
18
  function register_gutenberg_blocks() {
19
- $scripts = array(
20
- 'editor_script' => 'social-warfare-block-js',
21
- 'block_script' => 'social-warfare-block-js'
22
- );
23
-
24
  wp_register_style(
25
  'social-warfare-block-css',
26
- plugins_url( '/post-editor/dist/blocks.style.build.css', dirname( __FILE__ ) ),
27
- array( 'wp-blocks' ),
28
- true
29
  );
30
 
31
- wp_enqueue_style('social-warfare-block-css');
32
-
33
  wp_register_script(
34
  'social-warfare-block-js',
35
  plugins_url( '/post-editor/dist/blocks.build.js', dirname( __FILE__ ) ),
@@ -37,6 +30,14 @@ if ( true === SWP_Utility::get_option( 'gutenberg_switch' ) && function_exists(
37
  true
38
  );
39
 
 
 
 
 
 
 
 
 
40
  register_block_type( 'social-warfare/social-warfare', $scripts);
41
  register_block_type( 'social-warfare/click-to-tweet', $scripts);
42
  register_block_type( 'social-warfare/pinterest-image', $scripts);
4
  exit;
5
  }
6
 
7
+ // @since 3.4.2 | 10 DEC 2018 | Changed function check from 'is_gutenberg_page' to 'register_block_type'
8
+ if ( true === SWP_Utility::get_option( 'gutenberg_switch' ) && function_exists( 'register_block_type' ) ) {
9
  add_action( 'init', 'register_gutenberg_blocks' );
10
  add_filter( 'block_categories', 'add_block_category', 10, 2 );
11
  }
15
  * Gutenberg blocks in the post editor.
16
  *
17
  * @since 3.4.0 | 26 NOV 2018 | Created.
18
+ * @since 3.4.2 | 10 DEC 2018 | Removed dependencies from wp_register_style
19
  */
20
  function register_gutenberg_blocks() {
 
 
 
 
 
21
  wp_register_style(
22
  'social-warfare-block-css',
23
+ plugins_url( '/post-editor/dist/blocks.style.build.css', dirname( __FILE__ ) )
 
 
24
  );
25
 
 
 
26
  wp_register_script(
27
  'social-warfare-block-js',
28
  plugins_url( '/post-editor/dist/blocks.build.js', dirname( __FILE__ ) ),
30
  true
31
  );
32
 
33
+ wp_enqueue_style('social-warfare-block-css');
34
+
35
+ //* All of our block scripts are compiled to a single, common file.
36
+ $scripts = array(
37
+ 'editor_script' => 'social-warfare-block-js',
38
+ 'block_script' => 'social-warfare-block-js'
39
+ );
40
+
41
  register_block_type( 'social-warfare/social-warfare', $scripts);
42
  register_block_type( 'social-warfare/click-to-tweet', $scripts);
43
  register_block_type( 'social-warfare/pinterest-image', $scripts);
lib/buttons-panel/SWP_Buttons_Panel.php CHANGED
@@ -192,7 +192,8 @@ class SWP_Buttons_Panel {
192
  * @since 3.1.0 | 05 JUL 2018 | Created debug() & establish_post_data() methods.
193
  * @since 3.4.0 | 20 SEP 2018 | Moved establish_post_id() into a conditional.
194
  * @param array optional $args The arguments passed in via shortcode.
195
- * @param boolean optional $shortcode If a shortcode is calling this class.
 
196
  * @return void
197
  *
198
  */
@@ -369,7 +370,7 @@ class SWP_Buttons_Panel {
369
 
370
 
371
  /**
372
- * Establish Location
373
  *
374
  * A method to handle figuring out where in the content these buttons are
375
  * supposed to appear. It has to check the global options, the options set
@@ -378,22 +379,48 @@ class SWP_Buttons_Panel {
378
  *
379
  * @since 3.0.0 | 10 APR 2018 | Created
380
  * @since 3.0.7 | 15 MAY 2018 | Added conditionals to ensure $post_setting isn't an array.
 
381
  * @param void
382
  * @return void All values are stored in local properties.
383
  *
384
  */
385
  public function establish_location() {
386
 
387
- //* Establish a default.
 
 
 
 
 
 
388
  $this->location = 'none';
389
 
390
- // Return with the location set to none if we are on attachment pages.
 
 
 
 
 
 
391
  if( is_attachment() ) {
392
  return;
393
  }
394
 
395
- // If there is no content, this must be called directly via function or shortcode.
396
- if ( empty( $this->content ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
397
  $this->location = 'above';
398
  return;
399
  }
@@ -408,15 +435,27 @@ class SWP_Buttons_Panel {
408
  */
409
  $post_setting = get_post_meta( $this->post_id, 'swp_post_location', true );
410
 
 
 
 
 
 
 
 
 
411
  if( is_array($post_setting) ) {
412
  $post_setting = $post_setting[0];
413
  }
414
 
415
- // If the location is set in the post options, use that.
 
 
 
 
 
 
416
  if ( !empty( $post_setting ) && 'default' != $post_setting ) {
417
  $this->location = $post_setting;
418
-
419
- //* Exit early because this is a priority.
420
  return;
421
  }
422
 
@@ -425,31 +464,45 @@ class SWP_Buttons_Panel {
425
  * Global Location Settings
426
  *
427
  * Decide which post type we're on and pull the location setting
428
- * for that type from the global options.
429
  *
430
  */
431
- // If we are on the home page
432
- if( is_front_page() ) {
433
- $home = $this->options['location_home'];
434
- $this->location = isset( $home ) ? $home : 'none';
435
 
 
 
 
 
 
 
 
 
 
 
 
 
436
  return;
437
  }
438
 
439
 
440
- // If we are on a singular page
441
- if ( is_singular() ) {
442
- $location = $this->options[ 'location_' . $this->post_data['post_type'] ];
443
-
444
- if ( isset( $location ) ) {
445
- $this->location = $location;
446
- }
447
-
 
 
 
 
 
448
  }
449
 
450
-
451
  if ( is_archive() || is_home() ) {
452
- $this->location = $this->options['location_archive_categories'];
 
453
  }
454
  }
455
 
192
  * @since 3.1.0 | 05 JUL 2018 | Created debug() & establish_post_data() methods.
193
  * @since 3.4.0 | 20 SEP 2018 | Moved establish_post_id() into a conditional.
194
  * @param array optional $args The arguments passed in via shortcode.
195
+ * @param boolean optional $shortcode If a shortcode/direct function
196
+ * is calling this class.
197
  * @return void
198
  *
199
  */
370
 
371
 
372
  /**
373
+ * Establish the Location of the Buttons Panel
374
  *
375
  * A method to handle figuring out where in the content these buttons are
376
  * supposed to appear. It has to check the global options, the options set
379
  *
380
  * @since 3.0.0 | 10 APR 2018 | Created
381
  * @since 3.0.7 | 15 MAY 2018 | Added conditionals to ensure $post_setting isn't an array.
382
+ * @since 3.4.2 | 11 DEC 2018 | Added check for $this->is_shortcode.
383
  * @param void
384
  * @return void All values are stored in local properties.
385
  *
386
  */
387
  public function establish_location() {
388
 
389
+
390
+ /**
391
+ * Establish the default as none. If nothing gets caught in the
392
+ * conditionals below, the buttons should not be displayed so we'll
393
+ * return with the location set to 'none'.
394
+ *
395
+ */
396
  $this->location = 'none';
397
 
398
+
399
+ /**
400
+ * In previous versions, we had reports of buttons showing up on media
401
+ * attachment pages. This prevents that from happening by returning with
402
+ * $this->location still set to 'none'.
403
+ *
404
+ */
405
  if( is_attachment() ) {
406
  return;
407
  }
408
 
409
+
410
+ /**
411
+ * If this class is instantiated via the [social_warfare] shortcode or
412
+ * the social_warfare() function, then it will pass in during
413
+ * instantiation a paramter which will toggle our local property of
414
+ * $this->is_shortcode from falst to true.
415
+ *
416
+ * If it is being called directly, the content will be blank, but we will
417
+ * want to append our buttons at least once in order to actually return
418
+ * some html to be printed on the screen. As such, any option that results
419
+ * in the buttons being appended once (in this case we'll use above) is
420
+ * what we need.
421
+ *
422
+ */
423
+ if ( empty( $this->content ) && true == $this->is_shortcode ) {
424
  $this->location = 'above';
425
  return;
426
  }
435
  */
436
  $post_setting = get_post_meta( $this->post_id, 'swp_post_location', true );
437
 
438
+
439
+ /**
440
+ * Since we passed true in as the third parameter of get_post_meta(), it
441
+ * should never return an array of items, but in a few rare instances,
442
+ * we saw it doing so anyways. If this does happen, we'll just pull the
443
+ * first item from the array and use that instead.
444
+ *
445
+ */
446
  if( is_array($post_setting) ) {
447
  $post_setting = $post_setting[0];
448
  }
449
 
450
+
451
+ /**
452
+ * This checks to see if the user has explicitly set the buttons location
453
+ * at the post level in the post editor. If so, we use this instead of
454
+ * using any of the global or post type settings for the location.
455
+ *
456
+ */
457
  if ( !empty( $post_setting ) && 'default' != $post_setting ) {
458
  $this->location = $post_setting;
 
 
459
  return;
460
  }
461
 
464
  * Global Location Settings
465
  *
466
  * Decide which post type we're on and pull the location setting
467
+ * for that post type from the global options.
468
  *
469
  */
 
 
 
 
470
 
471
+
472
+ /**
473
+ * If we are on the home page of the site then we'll use the location_home
474
+ * option from the settings page. This conditional needs to come prior
475
+ * to the singular() check because some home pages use WordPress pages
476
+ * which would make that conditional evaluate as true. But we want this
477
+ * one to trump that one so this comes first.
478
+ *
479
+ */
480
+ $home_location = $this->get_option( 'location_home' );
481
+ if( is_front_page() && !empty( $home_location ) ) {
482
+ $this->location = $home_location;
483
  return;
484
  }
485
 
486
 
487
+ /**
488
+ * If we are on a singular() post/page and we have a valid location
489
+ * setting for this particular post type, then we'll use that setting.
490
+ *
491
+ * If this is set to FALSE then it means that this option was not
492
+ * available for some reason as all valid values for this option are
493
+ * strings. As such, we'll leave the location setting to 'none'.
494
+ *
495
+ */
496
+ $post_type_location = $this->get_option( 'location_' . $this->post_data['post_type'] );
497
+ if ( is_singular() && !empty( $post_type_location ) ) {
498
+ $this->location = $post_type_location;
499
+ return;
500
  }
501
 
502
+ // If we are on the blogroll or an archive listing.
503
  if ( is_archive() || is_home() ) {
504
+ $this->location = $this->get_option( 'location_archive_categories' );
505
+ return;
506
  }
507
  }
508
 
lib/buttons-panel/SWP_Buttons_Panel_Loader.php CHANGED
@@ -125,17 +125,28 @@ class SWP_Buttons_panel_Loader {
125
  * Add the content locator div.
126
  *
127
  * Inserts the empty div for locating Pin images (with javascript). We only
128
- * add this to the content if the pinit button is active.
 
 
 
 
 
 
 
 
129
  *
130
  * @since 3.0.6 | 14 MAY 2018 | Created the method.
131
  * @since 3.4.0 | 19 SEP 2018 | Added check for pinit_toggle option.
 
132
  * @param string $content The WordPress content passed via filter.
133
  * @return string $content The modified string of content.
134
  *
135
  */
136
  public function add_content_locator( $content ) {
 
 
137
 
138
- if( true === SWP_Utility::get_option( 'pinit_toggle' ) ) {
139
  $content .= '<div class="swp-content-locator"></div>';
140
  }
141
 
125
  * Add the content locator div.
126
  *
127
  * Inserts the empty div for locating Pin images (with javascript). We only
128
+ * add this to the content if we need it.
129
+ *
130
+ * 1. If the Pinit Image Hover Buttons are active we'll use this locator div
131
+ * to ensure that we are only adding the "save" button to images that are in
132
+ * the content area.
133
+ *
134
+ * 2. If the "float_before_content" otpion is turned off, we'll use this
135
+ * locator div to determine where the content is and then not display the
136
+ * buttons panel unless we are past the top of the content area.
137
  *
138
  * @since 3.0.6 | 14 MAY 2018 | Created the method.
139
  * @since 3.4.0 | 19 SEP 2018 | Added check for pinit_toggle option.
140
+ * @since 3.4.2 | 11 DEC 2018 | Added check for float_before_content option.
141
  * @param string $content The WordPress content passed via filter.
142
  * @return string $content The modified string of content.
143
  *
144
  */
145
  public function add_content_locator( $content ) {
146
+ $pinit_toggle = SWP_Utility::get_option( 'pinit_toggle' );
147
+ $float_before_content = SWP_Utility::get_option( 'float_before_content' );
148
 
149
+ if( $pinit_toggle || !$float_before_content ) {
150
  $content .= '<div class="swp-content-locator"></div>';
151
  }
152
 
lib/buttons-panel/SWP_Buttons_Panel_Trait.php CHANGED
@@ -40,23 +40,41 @@ trait SWP_Buttons_Panel_Trait {
40
  protected function append_panel_to_content() {
41
 
42
 
43
- //* Add the Panel markup based on the location.
44
- switch ($this->location) {
45
- case 'both' :
46
- $content = $this->html . $this->content . $this->html;
47
- break;
48
- case 'above' :
49
- $content = $this->html . $this->content;
50
- break;
51
- case 'below' :
52
- $content = $this->content . $this->html;
53
- break;
54
-
55
- case 'none' :
56
- $content = $this->content;
57
- default :
58
- $content = $this->content;
59
- break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  }
61
 
62
  $this->content = $content;
@@ -328,7 +346,18 @@ trait SWP_Buttons_Panel_Trait {
328
 
329
 
330
  /**
331
- * A function to avoid getting undefined index notices.
 
 
 
 
 
 
 
 
 
 
 
332
  *
333
  * @since 3.0.5 | 10 MAY 2018 | Created
334
  * @param string $key The name of the option.
@@ -337,10 +366,12 @@ trait SWP_Buttons_Panel_Trait {
337
  */
338
  protected function get_option( $key ) {
339
 
 
340
  if( isset( $this->options[$key] ) ) {
341
  return $this->options[$key];
342
  }
343
 
 
344
  return SWP_Utility::get_option( $key );
345
  }
346
 
@@ -362,6 +393,16 @@ trait SWP_Buttons_Panel_Trait {
362
  public function get_float_location() {
363
 
364
 
 
 
 
 
 
 
 
 
 
 
365
  /**
366
  * These are the float location settings all across the WordPress
367
  * ecosystem. There is a global on/off setting, a per post type on/off
@@ -386,11 +427,10 @@ trait SWP_Buttons_Panel_Trait {
386
 
387
 
388
  /**
389
- * We don't use floating buttons on the home page or if we weren't able
390
- * to generate a proper post_id.
391
  *
392
  */
393
- if( is_home() && !is_front_page() || !isset( $this->post_id ) ) {
394
  return 'none';
395
  }
396
 
@@ -453,12 +493,52 @@ trait SWP_Buttons_Panel_Trait {
453
  * @since 3.0.0 | 09 MAY 2018 | Created
454
  * @since 3.0.4 | 09 MAY 2018 | Added check for the global post type on/off toggle.
455
  * @since 3.4.0 | 17 OCT 2018 | Added conditions for front_page, archive, category.
 
456
  * @param void
457
  * @return string A string containing the float bar location.
458
  *
459
  */
460
  public function get_mobile_float_location() {
461
- $mobile_location = $this->get_option('float_mobile');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
462
 
463
  //* Front page, archive, and categories do not have a global float option.
464
  //* Instead they use options in the post editor (saved in post_meta).
@@ -472,7 +552,7 @@ trait SWP_Buttons_Panel_Trait {
472
  return 'data-float-mobile="none" ';
473
  }
474
 
475
- if( is_single() && true == $this->get_option('floating_panel') && 'on' == $this->get_option('float_location_' . $this->post_data['post_type'] ) ) {
476
  return 'data-float-mobile="' . $mobile_location . '" ';
477
  }
478
 
@@ -480,23 +560,11 @@ trait SWP_Buttons_Panel_Trait {
480
  }
481
 
482
 
483
- public function get_float_position() {
484
- $location = $this->get_option( 'float_location' );
485
-
486
- if ( 'left' == $location || 'right' == $location ) {
487
- return 'data-float-mobile="side" ';
488
- }
489
-
490
- if ( 'top' == $location || 'bottom' == $location ) {
491
- return 'data-float-mobile="bar" ';
492
- }
493
- }
494
-
495
-
496
  /**
497
  * A method to control the order in which the buttons are output.
498
  *
499
  * @since 3.4.0 | 20 SEP 2018 | Created
 
500
  * @param void
501
  * @return array The array of network names in their proper order.
502
  *
@@ -656,6 +724,15 @@ trait SWP_Buttons_Panel_Trait {
656
  protected function should_total_shares_display() {
657
 
658
 
 
 
 
 
 
 
 
 
 
659
  /**
660
  * If this is a shortcode and the buttons argument has been specifically
661
  * passed into the function, then we will use that buttons argument to
@@ -666,16 +743,17 @@ trait SWP_Buttons_Panel_Trait {
666
  if ( $this->is_shortcode && !empty( $buttons ) ) {
667
  $total = in_array('total', array_map('strtolower', $buttons) );
668
  $totals = in_array('totals', array_map('strtolower', $buttons) );
669
- return ( $total || $totals );
670
  }
671
 
672
 
673
  /**
674
- * If total shares are turned off and this isn't a shortcode then we're
675
- * not going to render any total shares.
 
676
  *
677
  */
678
- if ( false == $this->get_option('total_shares') ) {
679
  return false;
680
  }
681
 
40
  protected function append_panel_to_content() {
41
 
42
 
43
+ /**
44
+ * If the panel type is static_horizontal, then the switch below will
45
+ * determine the lcoation setting and append the html to the content
46
+ * according to that location.
47
+ *
48
+ */
49
+ if( $this->panel_type === 'static_horizontal' ) {
50
+ switch ($this->location) {
51
+ case 'both' :
52
+ $content = $this->html . $this->content . $this->html;
53
+ break;
54
+ case 'above' :
55
+ $content = $this->html . $this->content;
56
+ break;
57
+ case 'below' :
58
+ $content = $this->content . $this->html;
59
+ break;
60
+
61
+ case 'none' :
62
+ $content = $this->content;
63
+ default :
64
+ $content = $this->content;
65
+ break;
66
+ }
67
+ }
68
+
69
+
70
+ /**
71
+ * If the panel type is floating_side, then forget the content because
72
+ * it will be empty. Instead just replace the content to be returned
73
+ * with the generated html for the panel.
74
+ *
75
+ */
76
+ if( $this->panel_type === 'floating_side' ) {
77
+ $content = $this->html;
78
  }
79
 
80
  $this->content = $content;
346
 
347
 
348
  /**
349
+ * Get one of the user options.
350
+ *
351
+ * This function acts just like the global SWP_Utility:get_option() method.
352
+ * In fact, it even uses that function as a fallback. Basically, when the
353
+ * Buttons_Panel class is instantiated, a user has the option to pass in an
354
+ * array of options. These will be merged with the global $swp_user_options,
355
+ * and stored in the $this->options property.
356
+ *
357
+ * First, we check if the option exists in our local options property. Second,
358
+ * we use the SWP_Utility::get_option() method which will pull the option
359
+ * from the global settings as well as handle things like requests for
360
+ * options that may not exist (return false).
361
  *
362
  * @since 3.0.5 | 10 MAY 2018 | Created
363
  * @param string $key The name of the option.
366
  */
367
  protected function get_option( $key ) {
368
 
369
+ // Check if this option exists in this panel's localized options.
370
  if( isset( $this->options[$key] ) ) {
371
  return $this->options[$key];
372
  }
373
 
374
+ // As a backup, use the option as it exists in the global user options.
375
  return SWP_Utility::get_option( $key );
376
  }
377
 
393
  public function get_float_location() {
394
 
395
 
396
+ /**
397
+ * If we failed to populate a post id, then we just bail out and won't
398
+ * be showing any.
399
+ *
400
+ */
401
+ if( false == isset( $this->post_id ) ) {
402
+ return 'none';
403
+ }
404
+
405
+
406
  /**
407
  * These are the float location settings all across the WordPress
408
  * ecosystem. There is a global on/off setting, a per post type on/off
427
 
428
 
429
  /**
430
+ * We don't use floating buttons on the home page.
 
431
  *
432
  */
433
+ if( is_home() && !is_front_page() ) {
434
  return 'none';
435
  }
436
 
493
  * @since 3.0.0 | 09 MAY 2018 | Created
494
  * @since 3.0.4 | 09 MAY 2018 | Added check for the global post type on/off toggle.
495
  * @since 3.4.0 | 17 OCT 2018 | Added conditions for front_page, archive, category.
496
+ * @since 3.4.2 | 07 DEC 2018 | Added conditions for false mobile locations.
497
  * @param void
498
  * @return string A string containing the float bar location.
499
  *
500
  */
501
  public function get_mobile_float_location() {
502
+ $global_float_toggle = $this->get_option( 'floating_panel' );
503
+ $post_type_float_toggle = $this->get_option( 'float_location_' . $this->post_data['post_type'] );
504
+ $float_location = $this->get_option( 'float_location' );
505
+ $mobile_location = $this->get_option( 'float_mobile' );
506
+
507
+
508
+ /**
509
+ * If the float location is completely set to none, then we won't have
510
+ * any floating buttons on mobile either.
511
+ *
512
+ */
513
+ if( 'none' == $this->get_float_location() ) {
514
+ $mobile_location = 'none';
515
+ }
516
+
517
+
518
+ /**
519
+ * If the $mobile_location is set to false, it means that this option
520
+ * is not available which means that pro is not installed. If this
521
+ * option were available, it would return as a string.
522
+ * As such, we'll set it to the defaults that are available in core.
523
+ *
524
+ */
525
+ if( false === $mobile_location ) {
526
+ $mobile_location = $float_location;
527
+
528
+
529
+ /**
530
+ * If the main floating buttons are set to left or right, then the
531
+ * user won't get any floating buttons at all once those go away.
532
+ * Switching from side to top/bottom is a pro only feature. If they
533
+ * have them already set to top/bottom then we will just keep that
534
+ * setting as no actual transition is needed.
535
+ *
536
+ */
537
+ if( true === in_array( $float_location, array( 'left','right' ) ) ) {
538
+ $mobile_location = 'none';
539
+ }
540
+ }
541
+
542
 
543
  //* Front page, archive, and categories do not have a global float option.
544
  //* Instead they use options in the post editor (saved in post_meta).
552
  return 'data-float-mobile="none" ';
553
  }
554
 
555
+ if( is_singular() && true === $global_float_toggle && 'on' === $post_type_float_toggle ) {
556
  return 'data-float-mobile="' . $mobile_location . '" ';
557
  }
558
 
560
  }
561
 
562
 
 
 
 
 
 
 
 
 
 
 
 
 
 
563
  /**
564
  * A method to control the order in which the buttons are output.
565
  *
566
  * @since 3.4.0 | 20 SEP 2018 | Created
567
+ * @since 3.4.2 | 05 DEC 2018 | Added check for false sort_method for core.
568
  * @param void
569
  * @return array The array of network names in their proper order.
570
  *
724
  protected function should_total_shares_display() {
725
 
726
 
727
+ /**
728
+ * Find out if the total shares are activated on the settings page. We
729
+ * will overwrite this variable if the user has passed in a 'buttons'
730
+ * argument and instead use what they've passed in.
731
+ *
732
+ */
733
+ $are_total_shares_active = $this->get_option('total_shares');
734
+
735
+
736
  /**
737
  * If this is a shortcode and the buttons argument has been specifically
738
  * passed into the function, then we will use that buttons argument to
743
  if ( $this->is_shortcode && !empty( $buttons ) ) {
744
  $total = in_array('total', array_map('strtolower', $buttons) );
745
  $totals = in_array('totals', array_map('strtolower', $buttons) );
746
+ $are_total_shares_active = ( $total || $totals );
747
  }
748
 
749
 
750
  /**
751
+ * If total shares are turned off or this is a shortcode with a buttons
752
+ * parameter that didn't include totals then we're not going to render
753
+ * any total shares.
754
  *
755
  */
756
+ if ( false == $are_total_shares_active ) {
757
  return false;
758
  }
759
 
lib/frontend-output/SWP_Shortcode.php CHANGED
@@ -112,11 +112,10 @@ class SWP_Shortcode {
112
  $user_twitter_handle = SWP_Utility::get_option( 'twitter_id' );
113
  endif;
114
 
115
- if ( isset( $atts['theme'] ) && $atts['theme'] != 'default' ) :
 
116
  $theme = $atts['theme'];
117
- else :
118
- $theme = SWP_Utility::get_option( 'ctt_theme' );
119
- endif;
120
 
121
  $tweet = $this->get_tweet( $atts );
122
 
112
  $user_twitter_handle = SWP_Utility::get_option( 'twitter_id' );
113
  endif;
114
 
115
+ $theme = SWP_Utility::get_option( 'ctt_theme' );
116
+ if ( !empty( $atts['theme'] ) && $atts['theme'] != 'default' ) {
117
  $theme = $atts['theme'];
118
+ }
 
 
119
 
120
  $tweet = $this->get_tweet( $atts );
121
 
lib/options/SWP_Options_Page.php CHANGED
@@ -391,7 +391,7 @@ class SWP_Options_Page extends SWP_Option_Abstract {
391
 
392
  $gutenberg = new SWP_Options_Page_Section( __( 'Gutenberg Blocks<sup>beta</sup>', 'social-warfare' ), 'gutenberg' );
393
  $gutenberg->set_priority( 5 )
394
- ->set_description( 'If you want to try Social Warfare blocks with Gutenberg, turn this on. <b>Currently tested with Gutenberg 4.5.1</b>. <em><br/>We are keeping up the best we can, but Gutenberg development is very rapid and can break our blocks overnight. <br/>If this happens, please turn this setting OFF. Your shortcodes will stay in place.</em>' );
395
  // ->set_information_link( 'https://warfareplugins.com/support/using-shortcodes-and-php-snippets/' );
396
 
397
  $gutenberg_switch = new SWP_Option_Toggle( __( 'Enable Gutenberg Blocks'), 'gutenberg_switch' );
391
 
392
  $gutenberg = new SWP_Options_Page_Section( __( 'Gutenberg Blocks<sup>beta</sup>', 'social-warfare' ), 'gutenberg' );
393
  $gutenberg->set_priority( 5 )
394
+ ->set_description( 'If you want to try Social Warfare blocks with Gutenberg, turn this on. <b>Tested with: WP Core 4.8 & Gutenberg Plugin 4.6.1 and WP Core 5.0 (Gutenberg)</b>. <em><br/>We are keeping up the best we can, but Gutenberg development is very rapid and can break our blocks overnight. <br/>If this happens, please turn this setting OFF. Your shortcodes will stay in place.</em>' );
395
  // ->set_information_link( 'https://warfareplugins.com/support/using-shortcodes-and-php-snippets/' );
396
 
397
  $gutenberg_switch = new SWP_Option_Toggle( __( 'Enable Gutenberg Blocks'), 'gutenberg_switch' );
lib/social-networks/SWP_Facebook.php CHANGED
@@ -178,8 +178,12 @@ class SWP_Facebook extends SWP_Social_Network {
178
  public function facebook_shares_update() {
179
  global $swp_user_options;
180
 
181
- $activity = $_POST['share_counts'];
182
- $post_id = $_POST['post_id'];
 
 
 
 
183
 
184
  $previous_activity = get_post_meta( $post_id, '_facebook_shares', true );
185
 
@@ -188,8 +192,6 @@ class SWP_Facebook extends SWP_Social_Network {
188
  update_post_meta( $post_id, '_facebook_shares', $activity );
189
  endif;
190
 
191
- echo 'Logged ' . $activity . ' shares.';
192
-
193
  wp_die();
194
  }
195
 
178
  public function facebook_shares_update() {
179
  global $swp_user_options;
180
 
181
+ if (!is_numeric( $_POST['share_counts'] ) || !is_numeric( $_POST['post_id'] ) ) {
182
+ wp_die();
183
+ }
184
+
185
+ $activity = (int) $_POST['share_counts'];
186
+ $post_id = (int) $_POST['post_id'];
187
 
188
  $previous_activity = get_post_meta( $post_id, '_facebook_shares', true );
189
 
192
  update_post_meta( $post_id, '_facebook_shares', $activity );
193
  endif;
194
 
 
 
195
  wp_die();
196
  }
197
 
lib/utilities/SWP_Compatibility.php CHANGED
@@ -33,7 +33,7 @@ class SWP_Compatibility {
33
  }
34
 
35
  // Remove our custom fields when a post is duplicated via the Duplicate Post plugin.
36
- add_action( 'dp_duplicate_post', array( $this , 'remove_fields' ) );
37
 
38
  // Fix the links that are modified by the Really Simple SSL plugin.
39
  add_filter("rsssl_fixer_output", [$this, 'rsssl_fix_compatibility'] );
@@ -41,98 +41,6 @@ class SWP_Compatibility {
41
  }
42
 
43
 
44
- /**
45
- * A function to remove all Social Warfare fields when a post
46
- * is duplicated using the duplicate post plugin.
47
- *
48
- * @since 2.1.4
49
- * @access public
50
- * @param integer $id The post ID
51
- * @return none
52
- *
53
- */
54
- function remove_fields($id) {
55
-
56
- // Delete any share count fields
57
- delete_post_meta( $id , '_buffer_shares' );
58
- delete_post_meta( $id , '_facebook_shares' );
59
- delete_post_meta( $id , '_flipboard_shares' );
60
- delete_post_meta( $id , '_google_plus_shares' );
61
- delete_post_meta( $id , '_hacker_news_shares' );
62
- delete_post_meta( $id , '_linkedin_shares' );
63
- delete_post_meta( $id , '_pinterest_shares' );
64
- delete_post_meta( $id , '_pocket_shares' );
65
- delete_post_meta( $id , '_reddit_shares' );
66
- delete_post_meta( $id , '_mix_shares' );
67
- delete_post_meta( $id , '_tumblr_shares' );
68
- delete_post_meta( $id , '_twitter_shares' );
69
- delete_post_meta( $id , '_whatsapp_shares' );
70
- delete_post_meta( $id , '_yummly_shares' );
71
- delete_post_meta( $id , '_total_shares' );
72
-
73
- // Delete any bitly links
74
- delete_post_meta( $id , 'bitly_link_buffer' );
75
- delete_post_meta( $id , 'bitly_link_facebook' );
76
- delete_post_meta( $id , 'bitly_link_flipboard' );
77
- delete_post_meta( $id , 'bitly_link_google_plus' );
78
- delete_post_meta( $id , 'bitly_link_hacker_news' );
79
- delete_post_meta( $id , 'bitly_link_linkedin' );
80
- delete_post_meta( $id , 'bitly_link_pinterest' );
81
- delete_post_meta( $id , 'bitly_link_pocket' );
82
- delete_post_meta( $id , 'bitly_link_reddit' );
83
- delete_post_meta( $id , 'bitly_link_mix' );
84
- delete_post_meta( $id , 'bitly_link_tumblr' );
85
- delete_post_meta( $id , 'bitly_link_twitter' );
86
- delete_post_meta( $id , 'bitly_link_whatsapp' );
87
- delete_post_meta( $id , 'bitly_link_yummly' );
88
- delete_post_meta( $id , 'bitly_link' );
89
-
90
- // Delete any custom options fields
91
- delete_post_meta( $id , 'nc_customTweet' );
92
- delete_post_meta( $id , 'nc_float_location' );
93
- delete_post_meta( $id , 'nc_ogDescription' );
94
- delete_post_meta( $id , 'swp_og_image' );
95
- delete_post_meta( $id , 'nc_ogTitle' );
96
- delete_post_meta( $id , 'nc_pinterest_description' );
97
- delete_post_meta( $id , 'swp_pinterest_image' );
98
- delete_post_meta( $id , 'swp_post_location' );
99
- delete_post_meta( $id , 'sw_fb_author' );
100
- delete_post_meta( $id , 'sw_open_graph_image_data' );
101
- delete_post_meta( $id , 'sw_open_graph_image_url' );
102
- delete_post_meta( $id , 'sw_open_thumbnail_url' );
103
- delete_post_meta( $id , 'sw_pinterest_image_url' );
104
- delete_post_meta( $id , 'sw_twitter_username' );
105
- delete_post_meta( $id , 'swp_cache_timestamp' );
106
- delete_post_meta( $id , 'swp_open_graph_image_data' );
107
- delete_post_meta( $id , 'swp_open_graph_image_url' );
108
- delete_post_meta( $id , 'swp_open_thumbnail_url' );
109
- delete_post_meta( $id , 'swp_pinterest_image_url' );
110
- delete_post_meta( $id , 'swp_recovery_url' );
111
-
112
- $new_meta_fields = [
113
- 'swp_og_image',
114
- 'swp_og_title',
115
- 'swp_pinterest_image',
116
- 'swp_custom_tweet',
117
- 'swp_post_location',
118
- 'swp_float_location',
119
- 'swp_pinterest_description',
120
- 'swp_twitter_id',
121
- 'swp_og_description',
122
- 'swp_pinterest_description',
123
- 'swp_cache_timestamp',
124
- 'swp_pin_browser_extension',
125
- 'swp_pin_browser_extension_location',
126
- 'swp_pin_browser_extension_url'
127
- ];
128
-
129
- foreach($new_meta_fields as $field) {
130
- delete_post_meta( $id, $field );
131
- }
132
-
133
- }
134
-
135
-
136
  /**
137
  * A function to fix the share recovery conflict with Really Simple SSL plugin
138
  * @param string $html A string of html to be filtered
@@ -147,4 +55,26 @@ class SWP_Compatibility {
147
  return $html;
148
  }
149
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
  }
33
  }
34
 
35
  // Remove our custom fields when a post is duplicated via the Duplicate Post plugin.
36
+ add_filter( 'duplicate_post_meta_keys_filter' , array( $this, 'filter_duplicate_meta_keys' ) );
37
 
38
  // Fix the links that are modified by the Really Simple SSL plugin.
39
  add_filter("rsssl_fixer_output", [$this, 'rsssl_fix_compatibility'] );
41
  }
42
 
43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  /**
45
  * A function to fix the share recovery conflict with Really Simple SSL plugin
46
  * @param string $html A string of html to be filtered
55
  return $html;
56
  }
57
 
58
+ /**
59
+ * Removes Social Warfare keys from the meta before post is duplicated.
60
+ *
61
+ * @param array $meta_keys All meta keys prepared for duplication.
62
+ * @return array $meta_keys $meta_keys with no Social Warfare keys.
63
+ * @since 3.4.2 | 10 DEC 2018 | Created
64
+ *
65
+ */
66
+ function filter_duplicate_meta_keys( $meta_keys = array() ) {
67
+ $blacklist = array( 'swp_', '_shares', 'bitly_link' );
68
+
69
+ foreach( $meta_keys as $key ) {
70
+ foreach( $blacklist as $forbidden ) {
71
+ if ( strpos( $forbidden, $key ) ) {
72
+ unset( $meta_keys[$key] );
73
+ }
74
+ }
75
+ }
76
+
77
+ return $meta_keys;
78
+ }
79
+
80
  }
lib/utilities/SWP_Database_Migration.php CHANGED
@@ -79,33 +79,76 @@ class SWP_Database_Migration {
79
 
80
  $meta = get_post_meta( $post->ID );
81
 
82
- if ( $meta ) :
 
 
 
83
  $keys = array();
84
  $swp_meta = array();
85
 
86
  foreach ( $meta as $key => $value ) {
87
-
88
- //* Only print Social Warfare meta keys.
89
  if ( ( strpos( $key, 'swp_' ) === 0
90
  || ( strpos( $key, '_shares' ) > 0 ) && strpos( $key, '_') === 0 ) ) {
 
91
  $meta[$key] = $value[0];
92
  }
93
-
94
  else {
95
- //* Everything comes in as an array, pull out the first value.
96
-
97
  unset( $meta[$key] );
98
  }
99
  }
100
-
101
  ksort( $meta );
 
102
 
103
- echo "<pre>", var_export( $meta ), "</pre>";
104
- wp_die();
105
 
106
- else :
107
- wp_die( "No post meta for " . $post->post_title );
108
- endif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
  }
110
 
111
 
@@ -150,30 +193,61 @@ class SWP_Database_Migration {
150
 
151
  endif;
152
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
153
 
154
  // Migrate settings page if explicitly being called via a debugging parameter.
155
  if ( true === SWP_Utility::debug('migrate_db') ) {
 
 
 
156
  $this->migrate();
157
  }
158
 
159
  // Initialize database if explicitly being called via a debugging parameter.
160
  if ( true === SWP_Utility::debug('initialize_db') ) {
 
 
 
161
  $this->initialize_db();
162
  }
163
 
164
  // Update post meta if explicitly being called via a debugging parameter.
165
  if ( true === SWP_Utility::debug('migrate_post_meta') ) {
 
 
 
166
  $this->update_post_meta();
167
  $this->update_hidden_post_meta();
168
  }
169
 
170
  // Output the last_migrated status if called via a debugging parameter.
171
  if ( true === SWP_Utility::debug('get_last_migrated') ) {
 
 
 
172
  $this->get_last_migrated( true );
173
  }
174
 
175
  // Update the last migrated status if called via a debugging parameter.
176
  if ( true === SWP_Utility::debug('update_last_migrated') ) {
 
 
 
177
  $this->update_last_migrated();
178
  }
179
  }
@@ -231,9 +305,6 @@ class SWP_Database_Migration {
231
  return count( $old_metadata ) === 0;
232
  }
233
 
234
-
235
-
236
-
237
  /**
238
  * A method for updating the post meta fields.
239
  *
79
 
80
  $meta = get_post_meta( $post->ID );
81
 
82
+ if ( !$meta ) {
83
+ $meta = array();
84
+ }
85
+ else {
86
  $keys = array();
87
  $swp_meta = array();
88
 
89
  foreach ( $meta as $key => $value ) {
 
 
90
  if ( ( strpos( $key, 'swp_' ) === 0
91
  || ( strpos( $key, '_shares' ) > 0 ) && strpos( $key, '_') === 0 ) ) {
92
+ //* Everything comes in as an array, pull out the first value.
93
  $meta[$key] = $value[0];
94
  }
 
95
  else {
96
+ //* Only print Social Warfare meta keys.
 
97
  unset( $meta[$key] );
98
  }
99
  }
 
100
  ksort( $meta );
101
+ }
102
 
103
+ $post_fields = array('ID', 'author', 'date_gmt', 'title', 'excerpt', 'status');
 
104
 
105
+ foreach( $post_fields as $field ) {
106
+ $key = "post_$field";
107
+ $meta["post_$field"] = $post->$key;
108
+ }
109
+
110
+ $meta['post_permalink'] = get_permalink( $post->ID ) ;
111
+
112
+ echo "<pre>", var_export( $meta ), "</pre>";
113
+ wp_die();
114
+ }
115
+
116
+ /**
117
+ *
118
+ * This is a patch.
119
+ *
120
+ * Sets the value of all Pages' post_meta `swp_float_location` to 'default'.
121
+ *
122
+ * @since 3.4.2 | 12 DEC 2018 | Created
123
+ *
124
+ * @param string $post_type The type of posts you want to rest.
125
+ * @return void
126
+ *
127
+ */
128
+ public function reset_post_meta_float_location( $post_type ) {
129
+ global $wpdb;
130
+
131
+ $posts = get_posts(array(
132
+ 'numberposts' => -1,
133
+ 'meta_key' => 'swp_float_location',
134
+ 'meta_value' => 'on',
135
+ 'post_type' => $post_type
136
+ ));
137
+
138
+ $count = 0;
139
+
140
+ foreach ($posts as $post) {
141
+ $changed = update_post_meta( $post->ID, 'swp_float_location', 'default' );
142
+ if ($changed) {
143
+ $count++;
144
+ }
145
+ }
146
+ if ($count) {
147
+ echo "Success! $count ${post_type}s updated.";
148
+ } else {
149
+ echo "No matching posts were found to update.";
150
+ }
151
+ wp_die();
152
  }
153
 
154
 
193
 
194
  endif;
195
 
196
+ /**
197
+ * v3.4.1 brought to our attention that the default value for
198
+ * post meta `swp_float_location` is 'on' instead of 'deafult'.
199
+ *
200
+ *This debug paramter has an optional paramter, `post_type`, which defaults to 'page'.
201
+ *
202
+ * @since 3.4.2
203
+ */
204
+ if ( true == SWP_Utility::debug('reset_float_location') ) {
205
+ if (!is_admin()) {
206
+ wp_die('You do not have authorization to view this page.');
207
+ }
208
+ $post_type = isset( $_GET['post_type'] ) ? $_GET['post_type'] : 'page';
209
+ $this->reset_post_meta_float_location( $post_type );
210
+ }
211
+
212
 
213
  // Migrate settings page if explicitly being called via a debugging parameter.
214
  if ( true === SWP_Utility::debug('migrate_db') ) {
215
+ if (!is_admin()) {
216
+ wp_die('You do not have authorization to view this page.');
217
+ }
218
  $this->migrate();
219
  }
220
 
221
  // Initialize database if explicitly being called via a debugging parameter.
222
  if ( true === SWP_Utility::debug('initialize_db') ) {
223
+ if (!is_admin()) {
224
+ wp_die('You do not have authorization to view this page.');
225
+ }
226
  $this->initialize_db();
227
  }
228
 
229
  // Update post meta if explicitly being called via a debugging parameter.
230
  if ( true === SWP_Utility::debug('migrate_post_meta') ) {
231
+ if (!is_admin()) {
232
+ wp_die('You do not have authorization to view this page.');
233
+ }
234
  $this->update_post_meta();
235
  $this->update_hidden_post_meta();
236
  }
237
 
238
  // Output the last_migrated status if called via a debugging parameter.
239
  if ( true === SWP_Utility::debug('get_last_migrated') ) {
240
+ if (!is_admin()) {
241
+ wp_die('You do not have authorization to view this page.');
242
+ }
243
  $this->get_last_migrated( true );
244
  }
245
 
246
  // Update the last migrated status if called via a debugging parameter.
247
  if ( true === SWP_Utility::debug('update_last_migrated') ) {
248
+ if (!is_admin()) {
249
+ wp_die('You do not have authorization to view this page.');
250
+ }
251
  $this->update_last_migrated();
252
  }
253
  }
305
  return count( $old_metadata ) === 0;
306
  }
307
 
 
 
 
308
  /**
309
  * A method for updating the post meta fields.
310
  *
lib/utilities/functions.php CHANGED
@@ -20,7 +20,7 @@
20
  * @return void It echoes the results to the screen.
21
  */
22
  function social_warfare( $args = array() ) {
23
- $buttons_panel = new SWP_Buttons_Panel( $args );
24
  echo $buttons_panel->render_html();
25
  }
26
 
20
  * @return void It echoes the results to the screen.
21
  */
22
  function social_warfare( $args = array() ) {
23
+ $buttons_panel = new SWP_Buttons_Panel( $args, true );
24
  echo $buttons_panel->render_html();
25
  }
26
 
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === WordPress Social Sharing Plugin - Social Warfare ===
2
  Contributors: holas84, dustinwstout, webinator, warfareplugins, nutsandboltsmedia, cdegraff1, ckmahoney
3
  Tags: sharing buttons, social media share, floating share buttons, facebook share, google plus share, linkedin share, pin it, pinterest save, mix button, tweet button, twitter share, click to tweet, social sharing buttons, social share, social sharing, social media sharing, wordpress social sharing plugin, social sharing plugin, share buttons, share counts
4
- Requires at least: 3.5.1
5
- Tested up to: 5.0.0
6
- Stable tag: 3.4.1
7
  License: GNU General Public License v2.0 or later
8
 
9
  The most beautiful, responsive, lightning fast social share buttons built to boost shares and drive more traffic without slowing down your site.
@@ -193,6 +193,11 @@ We have a growing archive of <a href="https://warfareplugins.com/support/" rel="
193
 
194
  == Changelog ==
195
 
 
 
 
 
 
196
  = 3.4.1 (4 DEC 2018) =
197
  * Fixed JS error in Admin (`TypeError $ is not defined`)
198
  * Fixed placement of mobile floating buttons.
@@ -202,6 +207,7 @@ We have a growing archive of <a href="https://warfareplugins.com/support/" rel="
202
  * Removed references to Open Share Count.
203
 
204
  = 3.4.0 (27 NOV 2018) =
 
205
  * Added support for Gutenberg blocks Social Warfare and Click To Tweet (as of Gutenberg 4.5.1)
206
  * Added option in Advanced tab to disable Gutenberg blocks.
207
  * Added interactive components to the Admin sidebar.
1
  === WordPress Social Sharing Plugin - Social Warfare ===
2
  Contributors: holas84, dustinwstout, webinator, warfareplugins, nutsandboltsmedia, cdegraff1, ckmahoney
3
  Tags: sharing buttons, social media share, floating share buttons, facebook share, google plus share, linkedin share, pin it, pinterest save, mix button, tweet button, twitter share, click to tweet, social sharing buttons, social share, social sharing, social media sharing, wordpress social sharing plugin, social sharing plugin, share buttons, share counts
4
+ Requires at least: 4.5.0
5
+ Tested up to: 5.0
6
+ Stable tag: 3.4.2
7
  License: GNU General Public License v2.0 or later
8
 
9
  The most beautiful, responsive, lightning fast social share buttons built to boost shares and drive more traffic without slowing down your site.
193
 
194
  == Changelog ==
195
 
196
+ = 3.4.2 (13 DEC 2018) =
197
+ * Fixed floating bottom disappear on mobile when pro is deactivated.
198
+ * Fixed blocks disappearing after Gutenberg update.
199
+ * Fixed buttons accidentally showing up on pages created with content builders.
200
+
201
  = 3.4.1 (4 DEC 2018) =
202
  * Fixed JS error in Admin (`TypeError $ is not defined`)
203
  * Fixed placement of mobile floating buttons.
207
  * Removed references to Open Share Count.
208
 
209
  = 3.4.0 (27 NOV 2018) =
210
+ * Props to our Warfare Community beta testers- you guys rock!
211
  * Added support for Gutenberg blocks Social Warfare and Click To Tweet (as of Gutenberg 4.5.1)
212
  * Added option in Advanced tab to disable Gutenberg blocks.
213
  * Added interactive components to the Admin sidebar.
social-warfare.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Social Warfare
4
  * Plugin URI: https://warfareplugins.com
5
  * Description: A plugin to maximize social shares and drive more traffic using the fastest and most intelligent share buttons on the market, calls to action via in-post click-to-tweets, popular posts widgets based on share popularity, link-shortening, Google Analytics and much, much more!
6
- * Version: 3.4.1
7
  * Author: Warfare Plugins
8
  * Author URI: https://warfareplugins.com
9
  * Text Domain: social-warfare
@@ -16,7 +16,7 @@ defined( 'WPINC' ) || die;
16
  * Define plugin constants for use throughout the plugin (Version and Directories)
17
  *
18
  */
19
- define( 'SWP_VERSION' , '3.4.1' );
20
  define( 'SWP_PLUGIN_FILE', __FILE__ );
21
  define( 'SWP_PLUGIN_URL', untrailingslashit( plugin_dir_url( __FILE__ ) ) );
22
  define( 'SWP_PLUGIN_DIR', dirname( __FILE__ ) );
3
  * Plugin Name: Social Warfare
4
  * Plugin URI: https://warfareplugins.com
5
  * Description: A plugin to maximize social shares and drive more traffic using the fastest and most intelligent share buttons on the market, calls to action via in-post click-to-tweets, popular posts widgets based on share popularity, link-shortening, Google Analytics and much, much more!
6
+ * Version: 3.4.2
7
  * Author: Warfare Plugins
8
  * Author URI: https://warfareplugins.com
9
  * Text Domain: social-warfare
16
  * Define plugin constants for use throughout the plugin (Version and Directories)
17
  *
18
  */
19
+ define( 'SWP_VERSION' , '3.4.2' );
20
  define( 'SWP_PLUGIN_FILE', __FILE__ );
21
  define( 'SWP_PLUGIN_URL', untrailingslashit( plugin_dir_url( __FILE__ ) ) );
22
  define( 'SWP_PLUGIN_DIR', dirname( __FILE__ ) );