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 | 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 +2 -2
- assets/css/style.min.css +1 -1
- assets/js/post-editor/blocks.php +12 -11
- lib/buttons-panel/SWP_Buttons_Panel.php +77 -24
- lib/buttons-panel/SWP_Buttons_Panel_Loader.php +13 -2
- lib/buttons-panel/SWP_Buttons_Panel_Trait.php +118 -40
- lib/frontend-output/SWP_Shortcode.php +3 -4
- lib/options/SWP_Options_Page.php +1 -1
- lib/social-networks/SWP_Facebook.php +6 -4
- lib/utilities/SWP_Compatibility.php +23 -93
- lib/utilities/SWP_Database_Migration.php +86 -15
- lib/utilities/functions.php +1 -1
- readme.txt +9 -3
- social-warfare.php +2 -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 |
-
|
|
|
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
|
|
|
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
388 |
$this->location = 'none';
|
389 |
|
390 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
391 |
if( is_attachment() ) {
|
392 |
return;
|
393 |
}
|
394 |
|
395 |
-
|
396 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
|
|
|
|
|
|
|
|
|
|
448 |
}
|
449 |
|
450 |
-
|
451 |
if ( is_archive() || is_home() ) {
|
452 |
-
$this->location = $this->
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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(
|
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 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
}
|
61 |
|
62 |
$this->content = $content;
|
@@ -328,7 +346,18 @@ trait SWP_Buttons_Panel_Trait {
|
|
328 |
|
329 |
|
330 |
/**
|
331 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
390 |
-
* to generate a proper post_id.
|
391 |
*
|
392 |
*/
|
393 |
-
if( is_home() && !is_front_page()
|
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 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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(
|
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 |
-
|
670 |
}
|
671 |
|
672 |
|
673 |
/**
|
674 |
-
* If total shares are turned off
|
675 |
-
* not going to render
|
|
|
676 |
*
|
677 |
*/
|
678 |
-
if ( false == $
|
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 |
-
|
|
|
116 |
$theme = $atts['theme'];
|
117 |
-
|
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>
|
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 |
-
|
182 |
-
|
|
|
|
|
|
|
|
|
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 |
-
|
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 (
|
|
|
|
|
|
|
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 |
-
//*
|
96 |
-
|
97 |
unset( $meta[$key] );
|
98 |
}
|
99 |
}
|
100 |
-
|
101 |
ksort( $meta );
|
|
|
102 |
|
103 |
-
|
104 |
-
wp_die();
|
105 |
|
106 |
-
|
107 |
-
|
108 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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:
|
5 |
-
Tested up to: 5.0
|
6 |
-
Stable tag: 3.4.
|
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.
|
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.
|
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__ ) );
|