WordPress Social Sharing Plugin – Social Warfare - Version 3.6.0

Version Description

(2 MAY 2019) = * Updated Hover Save Pin functionality to work more globally. * Updated how Facebook share counts are requested. * Fixed placement of hidden pinterest image. * Fixed double quotation marks breaking Click to Tweets. * Fixed the hover-pin-opt out checkbox in a post editor. * Fixed hover pin description source. * Fixed whitespace/new HTML document being created in buttons panels. * Fixed character encoding for tags.

Download this release

Release Info

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

Code changes from version 3.5.4 to 3.6.0

README.md CHANGED
@@ -74,7 +74,7 @@ Before submitting an issue to the issue tracker, please be sure of a few things.
74
  First check the [support documentation](https://warfareplugins.com/support/) on the Warfare Plugins website to ensure that a solution to your issue has not already been addressed. Once you've determined that there is no useful information for your particular issue, you may proceed to step 2.
75
 
76
  #### 2. Submit a Support Ticket First
77
- Once you have completed step 1, you need to submit a ticket using the [contact form on the Warfare Plugins website](https://warfareplugins.com/). Once submitted, most tickets are responded to on the same or next business day so please allow until the end of the next business day for a response.
78
 
79
  Many tickets being posted here are issues that simply require adjusting a single setting to accomodate themes or plugins in certain ways. The support team is able to respond to these much, much more quickly than here in the developer's workspace. Since this is the case, any issues submitted without first going through the support team will be deleted. Otherwise it is a waste of both your time and ours.
80
 
74
  First check the [support documentation](https://warfareplugins.com/support/) on the Warfare Plugins website to ensure that a solution to your issue has not already been addressed. Once you've determined that there is no useful information for your particular issue, you may proceed to step 2.
75
 
76
  #### 2. Submit a Support Ticket First
77
+ Once you have completed step 1, you need to submit a ticket using the [contact form on the Warfare Plugins website](https://warfareplugins.com/submit-ticket/). Once submitted, most tickets are responded to on the same or next business day so please allow until the end of the next business day for a response.
78
 
79
  Many tickets being posted here are issues that simply require adjusting a single setting to accomodate themes or plugins in certain ways. The support team is able to respond to these much, much more quickly than here in the developer's workspace. Since this is the case, any issues submitted without first going through the support team will be deleted. Otherwise it is a waste of both your time and ours.
80
 
assets/css/style.css CHANGED
@@ -1578,98 +1578,56 @@ span.swp_pop_count {
1578
  border-radius: 3px;
1579
  }
1580
 
1581
- div.sw-pinit {
1582
- display: table !important;
1583
- line-height: 0;
1584
- position: relative !important;
1585
- }
1586
-
1587
- div.sw-pinit a.sw-pinit-button,
1588
- div.sw-pinit a.sw-pinit-button:visited {
1589
- background: #cd2029;
1590
- border: 1px solid #aa1b29;
1591
- border: 0;
1592
- border-bottom: none;
1593
- -webkit-border-radius: 4px;
1594
- border-radius: 3px;
1595
- -webkit-box-shadow: none;
1596
- box-shadow: none;
1597
- color: #fff;
1598
- font-family: Lato,sans-serif;
1599
- font-size: 15px;
1600
- height: 32px;
1601
- line-height: 32px;
1602
- opacity: 0;
1603
- padding: 0 20px;
1604
- position: absolute;
1605
- text-decoration: none;
1606
- text-decoration: none;
1607
- -webkit-transition: opacity 0.5s;
1608
- transition: opacity 0.5s;
1609
- z-index: 200;
1610
- }
1611
-
1612
- .wp-block-gallery div.sw-pinit a.sw-pinit-button,
1613
- .blocks-gallery-item div.sw-pinit a.sw-pinit-button,
1614
- .blocks-gallery-item div.sw-pinit a.sw-pinit-button:visited {
1615
- height: 34px !important;
1616
- width: 120px !important;
1617
- text-align: center;
1618
- }
1619
-
1620
- div.sw-pinit:hover a.sw-pinit-button,
1621
- div.sw-pinit:focus a.sw-pinit-button {
1622
- opacity: 1;
1623
- }
1624
-
1625
- div.sw-pinit a.sw-pinit-button::before {
1626
- color: #fff;
1627
- content: "b";
1628
- float: left;
1629
- font-family: sw-icon-font;
1630
- font-size: 20px;
1631
- font-weight: 400;
1632
- line-height: 36px;
1633
- margin-left: -5px;
1634
- margin-right: 10px;
1635
- }
1636
 
1637
- div.sw-pinit a.sw-pinit-button:hover::before {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1638
  content: "F";
1639
  }
1640
 
1641
- div.sw-pinit a.sw-pinit-button:hover,
1642
- div.sw-pinit a.sw-pinit-button:focus {
1643
  background: #aa1b29;
1644
  color: #fff;
1645
  text-decoration: none;
1646
  }
1647
 
1648
- div.sw-pinit .sw-pinit-left {
1649
- left: 30px;
1650
- }
1651
-
1652
- div.sw-pinit .sw-pinit-center {
1653
- margin-left: -60px;
1654
- left: 50%;
1655
- }
1656
-
1657
- div.sw-pinit .sw-pinit-right {
1658
- right: 30px;
1659
- }
1660
-
1661
- div.sw-pinit .sw-pinit-top {
1662
- top: 30px;
1663
- }
1664
-
1665
- div.sw-pinit .sw-pinit-middle {
1666
- margin-top: -25px;
1667
- top: 50%;
1668
- }
1669
-
1670
- div.sw-pinit .sw-pinit-bottom {
1671
- bottom: 30px;
1672
- }
1673
 
1674
  .swp_social_panel.notMobile .nc_tweetContainer:nth-last-child(1),
1675
  .mobile .nc_tweetContainer:nth-last-child(2),
@@ -1861,16 +1819,7 @@ div.swp_social_panel .nc_tweetContainer.swp_emphasize {
1861
  flex: 2;
1862
  }
1863
 
1864
- .sw-pinit.aligncenter {
1865
- margin: 0 auto;
1866
- }
1867
 
1868
- @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
1869
- div.sw-pinit {
1870
- display: inline-block!important;
1871
- max-width: 100%;
1872
- }
1873
- }
1874
 
1875
  .swp_hidden_pin_image {
1876
  height: 0;
@@ -1880,9 +1829,7 @@ div.swp_social_panel .nc_tweetContainer.swp_emphasize {
1880
  width: 0;
1881
  z-index: -10;
1882
  }
1883
- .fl-module-content .uabb-blog-posts .uabb-post-thumbnail .sw-pinit.lazyloaded {
1884
- display: block !important;
1885
- }
1886
 
1887
  .swp-content-locator {
1888
  display: none !important;
@@ -1913,6 +1860,7 @@ div.swp_social_panel .nc_tweetContainer.swp_emphasize {
1913
  transform-origin: bottom right;
1914
  }
1915
 
 
1916
  div[class*=custom_color][class^=_wrapper] {
1917
  display: none;
1918
  }
@@ -1920,6 +1868,11 @@ div[class*=custom_color][class^=_wrapper] {
1920
  .swp-pinterest-image-top {
1921
  margin-bottom: 20px;
1922
  }
 
 
 
 
 
1923
  .swp_modern, .swp_dark {
1924
  background: #fff;
1925
  height: 62px;
1578
  border-radius: 3px;
1579
  }
1580
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1581
 
1582
+ a.swp-hover-pin-button {
1583
+ background: #cd2029;
1584
+ border: 1px solid #aa1b29;
1585
+ border: 0;
1586
+ border-bottom: none;
1587
+ -webkit-border-radius: 4px;
1588
+ border-radius: 3px;
1589
+ -webkit-box-shadow: none;
1590
+ box-shadow: none;
1591
+ color: #fff;
1592
+ font-family: Lato,sans-serif;
1593
+ font-size: 15px;
1594
+ width: 120px !important;
1595
+ height: 32px;
1596
+ line-height: 32px;
1597
+ padding: 0 20px;
1598
+ position: absolute;
1599
+ text-decoration: none;
1600
+ text-align: center;
1601
+ -webkit-transition: opacity 0.5s;
1602
+ transition: opacity 0.5s;
1603
+ z-index: 3200;
1604
+ position: absolute;
1605
+ cursor: pointer;
1606
+ }
1607
+
1608
+ a.swp-hover-pin-button::before {
1609
+ color: #fff;
1610
+ content: "b";
1611
+ float: left;
1612
+ font-family: sw-icon-font;
1613
+ font-size: 20px;
1614
+ font-weight: 400;
1615
+ line-height: 36px;
1616
+ margin-left: -5px;
1617
+ margin-right: 10px;
1618
+ }
1619
+
1620
+ a.swp-hover-pin-button:hover::before {
1621
  content: "F";
1622
  }
1623
 
1624
+ a.swp-hover-pin-button:hover,
1625
+ a.swp-hover-pin-button:focus {
1626
  background: #aa1b29;
1627
  color: #fff;
1628
  text-decoration: none;
1629
  }
1630
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1631
 
1632
  .swp_social_panel.notMobile .nc_tweetContainer:nth-last-child(1),
1633
  .mobile .nc_tweetContainer:nth-last-child(2),
1819
  flex: 2;
1820
  }
1821
 
 
 
 
1822
 
 
 
 
 
 
 
1823
 
1824
  .swp_hidden_pin_image {
1825
  height: 0;
1829
  width: 0;
1830
  z-index: -10;
1831
  }
1832
+
 
 
1833
 
1834
  .swp-content-locator {
1835
  display: none !important;
1860
  transform-origin: bottom right;
1861
  }
1862
 
1863
+ /* The custom color selects in Social WarfareW > Styles */
1864
  div[class*=custom_color][class^=_wrapper] {
1865
  display: none;
1866
  }
1868
  .swp-pinterest-image-top {
1869
  margin-bottom: 20px;
1870
  }
1871
+
1872
+ .swp-pinterest-image-bottom {
1873
+ /* exists but not styled */
1874
+ }
1875
+
1876
  .swp_modern, .swp_dark {
1877
  background: #fff;
1878
  height: 62px;
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 #4267B2}.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:#4267B2;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:#4267B2}.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 #4267B2}.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"}i.swp_vimeo_icon:before{content:"t"}i.swp_instagram_icon:before{content:"d"}i.swp_blogger_icon:before{content:"m"}i.swp_medium_icon:before{content:"e"}i.swp_periscope_icon:before{content:"c"}i.swp_snapchat_icon:before{content:"u"}i.swp_ello_icon:before{content:"l"}i.swp_flickr_icon:before{content:"i"}.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}.swp_modern,.swp_dark{background:#fff;height:62px;padding:0;border-radius:8px;border:1px solid #eee;box-shadow:0 2px 4px 0 rgba(0,0,0,0.01),0 4px 5px 0 rgba(0,0,0,0.014),0 4px 15px 0 rgba(0,0,0,0.09)}.swp_modern .swp_share_button,.swp_dark .swp_share_button{border:none!important;border-radius:0!important;margin:0!important;height:60px!important;padding-bottom:1px}.swp_modern .swp_share_button.total_shares.total_sharesalt,.swp_dark .swp_share_button.total_shares.total_sharesalt{padding:15px!important}.swp_modern .swp_share_link,.swp_dark .swp_share_link{border-radius:0;padding:15px;height:60px!important}.swp_modern .iconFiller,.swp_dark .iconFiller{margin-bottom:10px!important}.swp_modern .nc_wrapper.bottom,.swp_dark .nc_wrapper.bottom{background:transparent!important}.swp_dark .swp_share_button{background:#222!important;border-color:#222!important;margin:0!important;height:62px!important}.swp_dark .total_shares.total_sharesalt,.swp_dark .swp_count,.swp_dark .swp_label{}.swp_dark .swp_share_link:hover{background:#444}.swp-blogger{background:#f57d00;border-color:#fefefe}.swp-blogger a{color:#f57d00}.swp-blogger a:hover{background:#f57d00;color:#fff}.swp-ello{background:#000;border-color:#fff}.swp-ello a{color:#000}.swp-facebook a:hover{background:#fff;color:#000}.swp-facebook{background:#4267B2;border-color:#324E85}.swp-facebook a{color:#4267B2}.swp-facebook a:hover{background:#324E85;color:#fff}.swp-flickr{background:#0063dc;border-color:#ff0084}.swp-flickr a{color:#0063dc}.swp-flickr a:hover{background:#ff0084;color:#fff}.swp-instagram{background:#E4425F;border-color:#DA3075}.swp-instagram a{color:#E4425F}.swp-instagram a:hover{background:#DA3075;color:#fff}.swp-linkedin{background:#0D77B7;border-color:#0D6C9C}.swp-linkedin a{color:#0D77B7}.swp-linkedin a:hover{background:#0D6C9C;color:#fff}.swp-medium{background:#00ab6c;border-color:#fefefe}.swp-medium a{color:#00ab6c}.swp-medium a:hover{background:#00ab6c;color:#fff}.swp-periscope{background:#40a4c4;border-color:#e94f3c}.swp-periscope a{color:#40a4c4}.swp-periscope a:hover{background:#e94f3c;color:#fff}.swp-pinterest{background:#CD202A;border-color:#AC1F25}.swp-pinterest a{color:#CD202A}.swp-pinterest a:hover{background:#AC1F25;color:#fff}.swp-reddit{background:#F04B23;border-color:#D33F27}.swp-reddit a{color:#F04B23}.swp-reddit a:hover{background:#D33F27;color:#fff}.swp-snapchat{background:#fffc00;border-color:#000}.swp-snapchat a{color:#000}.swp-snapchat a:hover{background:#fffc00;color:#000}.swp-tumblr{background:#39475D;border-color:#27313F}.swp-tumblr a{color:#39475D}.swp-tumblr a:hover{background:#27313F;color:#fff}.swp-twitter{background:#429CD6;border-color:#3C87B2}.swp-twitter a{color:#429CD6}.swp-twitter a:hover{background:#3C87B2;color:#fff}.swp-vimeo{background:#21B7EB;border-color:#069BD1}.swp-vimeo a{color:#21B7EB}.swp-vimeo a:hover{background:#069BD1;color:#fff}
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 #4267B2}.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:#4267B2;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:#4267B2}.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 #4267B2}.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"}i.swp_vimeo_icon:before{content:"t"}i.swp_instagram_icon:before{content:"d"}i.swp_blogger_icon:before{content:"m"}i.swp_medium_icon:before{content:"e"}i.swp_periscope_icon:before{content:"c"}i.swp_snapchat_icon:before{content:"u"}i.swp_ello_icon:before{content:"l"}i.swp_flickr_icon:before{content:"i"}.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}a.swp-hover-pin-button{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;width:120px!important;height:32px;line-height:32px;padding:0 20px;position:absolute;text-decoration:none;text-align:center;-webkit-transition:opacity 0.5s;transition:opacity 0.5s;z-index:3200;position:absolute;cursor:pointer}a.swp-hover-pin-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}a.swp-hover-pin-button:hover::before{content:"F"}a.swp-hover-pin-button:hover,a.swp-hover-pin-button:focus{background:#aa1b29;color:#fff;text-decoration:none}.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}.swp_hidden_pin_image{height:0;opacity:0;position:absolute;top:0;width:0;z-index:-10}.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}.swp-pinterest-image-bottom{}.swp_modern,.swp_dark{background:#fff;height:62px;padding:0;border-radius:8px;border:1px solid #eee;box-shadow:0 2px 4px 0 rgba(0,0,0,0.01),0 4px 5px 0 rgba(0,0,0,0.014),0 4px 15px 0 rgba(0,0,0,0.09)}.swp_modern .swp_share_button,.swp_dark .swp_share_button{border:none!important;border-radius:0!important;margin:0!important;height:60px!important;padding-bottom:1px}.swp_modern .swp_share_button.total_shares.total_sharesalt,.swp_dark .swp_share_button.total_shares.total_sharesalt{padding:15px!important}.swp_modern .swp_share_link,.swp_dark .swp_share_link{border-radius:0;padding:15px;height:60px!important}.swp_modern .iconFiller,.swp_dark .iconFiller{margin-bottom:10px!important}.swp_modern .nc_wrapper.bottom,.swp_dark .nc_wrapper.bottom{background:transparent!important}.swp_dark .swp_share_button{background:#222!important;border-color:#222!important;margin:0!important;height:62px!important}.swp_dark .total_shares.total_sharesalt,.swp_dark .swp_count,.swp_dark .swp_label{}.swp_dark .swp_share_link:hover{background:#444}.swp-blogger{background:#f57d00;border-color:#fefefe}.swp-blogger a{color:#f57d00}.swp-blogger a:hover{background:#f57d00;color:#fff}.swp-ello{background:#000;border-color:#fff}.swp-ello a{color:#000}.swp-facebook a:hover{background:#fff;color:#000}.swp-facebook{background:#4267B2;border-color:#324E85}.swp-facebook a{color:#4267B2}.swp-facebook a:hover{background:#324E85;color:#fff}.swp-flickr{background:#0063dc;border-color:#ff0084}.swp-flickr a{color:#0063dc}.swp-flickr a:hover{background:#ff0084;color:#fff}.swp-instagram{background:#E4425F;border-color:#DA3075}.swp-instagram a{color:#E4425F}.swp-instagram a:hover{background:#DA3075;color:#fff}.swp-linkedin{background:#0D77B7;border-color:#0D6C9C}.swp-linkedin a{color:#0D77B7}.swp-linkedin a:hover{background:#0D6C9C;color:#fff}.swp-medium{background:#00ab6c;border-color:#fefefe}.swp-medium a{color:#00ab6c}.swp-medium a:hover{background:#00ab6c;color:#fff}.swp-periscope{background:#40a4c4;border-color:#e94f3c}.swp-periscope a{color:#40a4c4}.swp-periscope a:hover{background:#e94f3c;color:#fff}.swp-pinterest{background:#CD202A;border-color:#AC1F25}.swp-pinterest a{color:#CD202A}.swp-pinterest a:hover{background:#AC1F25;color:#fff}.swp-reddit{background:#F04B23;border-color:#D33F27}.swp-reddit a{color:#F04B23}.swp-reddit a:hover{background:#D33F27;color:#fff}.swp-snapchat{background:#fffc00;border-color:#000}.swp-snapchat a{color:#000}.swp-snapchat a:hover{background:#fffc00;color:#000}.swp-tumblr{background:#39475D;border-color:#27313F}.swp-tumblr a{color:#39475D}.swp-tumblr a:hover{background:#27313F;color:#fff}.swp-twitter{background:#429CD6;border-color:#3C87B2}.swp-twitter a{color:#429CD6}.swp-twitter a:hover{background:#3C87B2;color:#fff}.swp-vimeo{background:#21B7EB;border-color:#069BD1}.swp-vimeo a{color:#21B7EB}.swp-vimeo a:hover{background:#069BD1;color:#fff}
assets/js/post-editor/dist/blocks.build.js CHANGED
@@ -1 +1 @@
1
- !function(e){function t(n){if(a[n])return a[n].exports;var l=a[n]={i:n,l:!1,exports:{}};return e[n].call(l.exports,l,l.exports,t),l.l=!0,l.exports}var a={};t.m=e,t.c=a,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=2)}([function(e,t){},function(e,t){},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});a(3),a(4),a(5)},function(e,t,a){"use strict";function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var l=a(0),r=(a.n(l),wp.i18n.__),s=wp.blocks.registerBlockType,i=wp.components.Dashicon,c=wp.element.createElement("div",{className:"swp-block-icon"},wp.element.createElement("svg",{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 32 32","enable-background":"new 0 0 32 32"},wp.element.createElement("path",{fill:"#ee464f",d:"M8.6,9.9c0.2-0.8,1.8-4.2,5.5-6.3C8.1,4.5,3.5,9.7,3.5,15.9c0,1.6,0.3,3.2,0.9,4.6c0.2-0.2,0.5-0.3,0.8-0.3 l4.6-0.9c0.8-0.2,1.1,0.2,0.9,1c-0.5,1.8,0.5,2.9,2.3,2.9c1.8,0,3.6-1.1,3.7-2.1C17.1,17.8,5.5,18.5,8.6,9.9z M27.2,10.4 c-0.3,0.3-0.6,0.6-1.1,0.7L21.4,12c-0.8,0.2-1.1-0.2-0.9-0.9c0.3-1.5-0.6-2.5-2.4-2.5c-1.5,0-2.7,0.9-2.8,1.7 c-0.5,2.9,11.4,2.9,8.4,11.5c-0.3,0.8-2.3,4.6-6.8,6.6c6.5-0.4,11.7-5.8,11.7-12.4C28.5,14,28,12.1,27.2,10.4z"})));s("social-warfare/social-warfare",{title:r("Social Warfare"),icon:c,category:"social-warfare",keywords:[r("share"),r("button"),r("tweet")],attributes:{hasFocus:{type:"boolean",defualt:!1},useThisPost:{type:"string",default:"this"},postID:{type:"number",default:""},buttons:{type:"string",default:""}},edit:function(e){var t=e.attributes,a=(t.useThisPost,t.buttons,t.postID,function(t){e.setAttributes({hasFocus:!e.attributes.hasFocus})}),l=function(t){e.setAttributes(n({},t.target.name,t.target.value))},r=function(t){e.setAttributes({buttons:t.target.value})},s=function(t){var a=(wp.data.select("core/editor").getCurrentPostId(),t.target.value);if(""==a)return void e.setAttributes({postID:""});isNaN(parseInt(a))||e.setAttributes({postID:parseInt(a)})};if(!e.attributes.hasFocus){var o=e.attributes.buttons&&e.attributes.buttons.length?'buttons="'+e.attributes.buttons+'"':"",u="other"==e.attributes.useThisPost?'id="'+e.attributes.postID+'"':"";return wp.element.createElement("div",{className:"social-warfare-admin-block"},wp.element.createElement("div",{className:e.className+" social-warfare-block-wrap swp-inactive-block"},wp.element.createElement("div",{className:"head",onClick:a},c,wp.element.createElement("div",{className:"swp-preview"},"[social_warfare ",o," ",u,"]"),wp.element.createElement(i,{className:"swp-dashicon",icon:"arrow-down"}))))}return wp.element.createElement("div",{className:"social-warfare-admin-block"},wp.element.createElement("div",{className:e.className+" social-warfare-block-wrap swp-active-block"},wp.element.createElement("div",{className:"head",onClick:a},wp.element.createElement("div",null,c,wp.element.createElement("p",{className:"swp-block-title"},"Social Warfare Shortcode")),wp.element.createElement(i,{className:"swp-dashicon",icon:"arrow-down"})),wp.element.createElement("p",null,"Inserts a rockin ",wp.element.createElement("pre",{style:{display:"inline"}},"[social_warfare]")," shortcode. Leave a field blank to use values based on your global settings. ",wp.element.createElement("a",{href:"https://warfareplugins.com/support/using-shortcodes-and-php-snippets/"},"Learn more")),wp.element.createElement("p",null,"Should the buttons reflect this post, or a different post?"),wp.element.createElement("select",{name:"useThisPost",value:"other"==e.attributes.useThisPost?"other":"this",onChange:l},wp.element.createElement("option",{value:"this"},"This post"),wp.element.createElement("option",{value:"other"},"Another post")),"other"==e.attributes.useThisPost&&wp.element.createElement("div",null,wp.element.createElement("p",null,"Which post should we fetch SW settings and shares from?"),wp.element.createElement("input",{type:"text",onChange:s,value:e.attributes.postID})),wp.element.createElement("p",null,"Which networks should we display? Leave blank to use your global settings. "),wp.element.createElement("input",{value:e.attributes.buttons,type:"text",onChange:r})))},save:function(e){var t=e.attributes.buttons&&e.attributes.buttons.length?'buttons="'+e.attributes.buttons+'"':"",a="other"==e.attributes.useThisPost?'id="'+e.attributes.postID+'"':"";return wp.element.createElement("div",null,"[social_warfare ",t," ",a,"]")}})},function(e,t,a){"use strict";var n=a(1),l=(a.n(n),a(0)),r=(a.n(l),wp.i18n.__),s=wp.blocks.registerBlockType,i=wp.data.select("core/editor"),c=(i.getCurrentPostId,wp.components.Dashicon),o=wp.element.createElement("div",{className:"swp-block-icon",style:{color:"#429cd6"}},wp.element.createElement(c,{icon:"twitter"}));s("social-warfare/click-to-tweet",{title:r("Click To Tweet"),icon:o,category:"social-warfare",keywords:[r("twitter"),r("quote"),r("share")],attributes:{hasFocus:{type:"boolean",defualt:!1},tweetText:{type:"string",default:""},displayText:{type:"string",default:""},overLimit:{type:"boolean",default:!1}},edit:function(e){console.log("editing ctt"),window.onetwothree=123;var t=e.attributes,a=t.tweetText,n=t.displayText,l=t.theme,r=["Default","Send Her My Love","Roll With The Changes","Free Bird","Don't Stop Believin'","Thunderstruck","Livin' On A Prayer"],s=(e.attributes.overLimit,e.attributes.overLimit?"over-limit":""),i=function(t){var a=t.target.value;if(!a||!a.length)return e.setAttributes({tweetText:"",overLimit:!1});var n=a.length>280;e.setAttributes({overLimit:n,tweetText:a})},u=function(t){var a=t.target.value;e.setAttributes({displayText:a})},m=function(t){var a=t.target.value;0==parseInt(a)?e.setAttributes({theme:""}):e.setAttributes({theme:a})},p=function(t){e.setAttributes({hasFocus:!e.attributes.hasFocus})};if(!e.attributes.hasFocus){var w=e.attributes.displayText?e.attributes.displayText:e.attributes.tweetText?e.attributes.tweetText:"No Click To Tweet text is provided.";return wp.element.createElement("div",{className:"social-warfare-admin-block"},wp.element.createElement("div",{className:e.className+" click-to-tweet-block-wrap swp-inactive-block"},wp.element.createElement("div",{className:"head",onClick:p},o,wp.element.createElement("div",{className:"swp-preview"},w),wp.element.createElement(c,{className:"swp-dashicon",icon:"arrow-down"}))))}return wp.element.createElement("div",{className:"social-warfare-admin-block"},wp.element.createElement("div",{className:e.className+" click-to-tweet-block-wrap swp-active-block"},wp.element.createElement("div",{className:"head",onClick:p},wp.element.createElement("div",null,o,wp.element.createElement("p",{className:"swp-block-title"},"Click to Tweet")),wp.element.createElement(c,{className:"swp-dashicon",icon:"arrow-up"})),wp.element.createElement("p",null,"Inserts a ",wp.element.createElement("pre",{style:{display:"inline"}},"[click_to_tweet]")," shortcode. ",wp.element.createElement("a",{href:"https://warfareplugins.com/support/click-to-tweet/"},"Learn more")),wp.element.createElement("p",null,"Type your tweet as you want it to display ",wp.element.createElement("b",null,wp.element.createElement("em",null,"on Twitter")),":"),wp.element.createElement("div",{style:{width:"100%"}},wp.element.createElement("p",{className:"block-characters-remaining "+s,style:{marginTop:-33}},280-a.length),wp.element.createElement("textarea",{name:"tweetText",placeholder:"Type your tweet. . . ",onChange:i,value:a})),wp.element.createElement("p",null,"Type your quote as you want it to display ",wp.element.createElement("b",null,wp.element.createElement("em",null,"on the page")),":"),wp.element.createElement("textarea",{name:"displayText",placeholder:"Type your quote. . . ",onChange:u,value:n}),wp.element.createElement("p",null,"Which theme would you like to use for this CTT?"),wp.element.createElement("select",{name:"theme",value:l,onChange:m},r.map(function(e,t){return wp.element.createElement("option",{value:t},e)}))))},save:function(e){console.log("saving ctt");var t=e.attributes,a=t.tweetText,n=t.displayText;n||(n=a);var l=e.attributes.theme?"style"+e.attributes.theme:"";if(a)return wp.element.createElement("div",{className:"social-warfare-admin-block"},'[click_to_tweet tweet="',a,'" quote="',n,'" theme="',l,'"]')}})},function(e,t,a){"use strict";function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var l=a(1),r=(a.n(l),a(0)),s=(a.n(r),function(){function e(e,t){var a=[],n=!0,l=!1,r=void 0;try{for(var s,i=e[Symbol.iterator]();!(n=(s=i.next()).done)&&(a.push(s.value),!t||a.length!==t);n=!0);}catch(e){l=!0,r=e}finally{try{!n&&i.return&&i.return()}finally{if(l)throw r}}return a}return function(t,a){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,a);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()),i=+new Date+1e4,c=setInterval(function(){if(+new Date>i&&clearTimeout(c),"undefined"!=typeof socialWarfare&&(clearInterval(c),socialWarfare.addons&&socialWarfare.addons.includes("pro"))){var e=wp.i18n.__,t=wp.blocks.registerBlockType,a=wp.data.select("core/editor"),l=(a.getCurrentPostId,wp.components.Dashicon),r=wp.element.createElement("div",{className:"swp-block-icon"},wp.element.createElement("svg",{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 32 32","enable-background":"new 0 0 32 32"},wp.element.createElement("g",null,wp.element.createElement("path",{fill:"#cd2029",d:"M16,3.9C9.3,3.9,3.9,9.3,3.9,16c0,4.9,3,9.2,7.2,11.1c0-0.8,0-1.9,0.2-2.8c0.2-1,1.6-6.6,1.6-6.6 s-0.4-0.8-0.4-1.9c0-1.8,1-3.1,2.3-3.1c1.1,0,1.6,0.8,1.6,1.8c0,1.1-0.7,2.8-1.1,4.3c-0.3,1.3,0.6,2.3,1.9,2.3 c2.3,0,3.8-2.9,3.8-6.4c0-2.6-1.8-4.6-5-4.6c-3.7,0-5.9,2.7-5.9,5.8c0,1.1,0.3,1.8,0.8,2.4c0.2,0.3,0.3,0.4,0.2,0.7 c-0.1,0.2-0.2,0.8-0.2,1c-0.1,0.3-0.3,0.4-0.6,0.3c-1.7-0.7-2.5-2.5-2.5-4.6c0-3.4,2.9-7.5,8.6-7.5c4.6,0,7.6,3.3,7.6,6.9 c0,4.7-2.6,8.3-6.5,8.3c-1.3,0-2.5-0.7-2.9-1.5c0,0-0.7,2.8-0.9,3.3c-0.3,0.9-0.8,1.9-1.2,2.6c1.1,0.3,2.2,0.5,3.4,0.5 c6.7,0,12.1-5.4,12.1-12.1C28.1,9.3,22.7,3.9,16,3.9z"}))));t("social-warfare/pinterest",{title:e("Pinterest Image"),icon:r,category:"social-warfare",keywords:[e("share"),e("pin"),e("tailwind")],attributes:{hasFocus:{type:"boolean",defualt:!1},id:{type:"number",default:0},width:{type:"number",default:0},height:{type:"number",default:0},className:{type:"string",default:""},alignment:{type:"string",default:""}},edit:function(e){var t=function(t){e.setAttributes({hasFocus:!e.attributes.hasFocus})},a={id:"Post ID or Image ID",width:"Width (in pixels)",height:"Height (in pixels)",className:"Custom CSS class",alignment:"Alignment. You may enter one of: left, right, center"},i=function(t){e.setAttributes(n({},t.target.name,t.target.value))};if(!e.attributes.hasFocus){var c=Object.entries(e.attributes).reduce(function(e,t){var a=s(t,2),n=a[0],l=a[1];return l.length&&"undefined"!=typeof l?e+=" "+n+'="'+l+'"':e},"");return wp.element.createElement("div",{className:e.className+" pinterest-block-wrap swp-inactive-block"},wp.element.createElement("div",{className:"head",onClick:t},r,wp.element.createElement("div",{className:"swp-preview"},"[pinterest_image",c,"]"),wp.element.createElement(l,{className:"swp-dashicon",icon:"arrow-down"})))}return wp.element.createElement("div",{className:"social-warfare-admin-block"},wp.element.createElement("div",{className:e.className+" pinterest-block-wrap swp-active-block"},wp.element.createElement("div",{className:"head",onClick:t},wp.element.createElement("div",null,r,wp.element.createElement("p",{className:"swp-block-title"},"Pinterest Image")),wp.element.createElement(l,{className:"swp-dashicon",icon:"arrow-up"})),wp.element.createElement("p",null,"Inserts a ",wp.element.createElement("pre",{style:{display:"inline"}},"[pinterest_image]")," shortcode. Leave a field blank to use values based on your global settings."),Object.entries(a).map(function(t){var a=s(t,2),n=a[0],l=a[1];if("alignment"!=n){var r="width"==n||"height"==n?"swp-inner-block-50":"";return wp.element.createElement("div",{className:r},wp.element.createElement("p",null,l),wp.element.createElement("input",{name:n,type:"text",onChange:i,value:e.attributes[n]||""}))}}),wp.element.createElement("div",null,wp.element.createElement("p",null,"Alignment"),wp.element.createElement("select",{name:"alignment",value:e.attributes.alignment?e.attributes.alignment:"",onChange:i},wp.element.createElement("option",{value:""},"Default"),wp.element.createElement("option",{value:"left"},"Left"),wp.element.createElement("option",{value:"center"},"Center"),wp.element.createElement("option",{value:"right"},"Right")))))},save:function(e){return wp.element.createElement("div",null,"[pinterest_image]")}})}},100)}]);
1
+ !function(e){function t(n){if(a[n])return a[n].exports;var l=a[n]={i:n,l:!1,exports:{}};return e[n].call(l.exports,l,l.exports,t),l.l=!0,l.exports}var a={};t.m=e,t.c=a,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=2)}([function(e,t){},function(e,t){},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});a(3),a(4),a(5)},function(e,t,a){"use strict";function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var l=a(0),r=(a.n(l),wp.i18n.__),s=wp.blocks.registerBlockType,i=wp.components.Dashicon,c=wp.element.createElement("div",{className:"swp-block-icon"},wp.element.createElement("svg",{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 32 32","enable-background":"new 0 0 32 32"},wp.element.createElement("path",{fill:"#ee464f",d:"M8.6,9.9c0.2-0.8,1.8-4.2,5.5-6.3C8.1,4.5,3.5,9.7,3.5,15.9c0,1.6,0.3,3.2,0.9,4.6c0.2-0.2,0.5-0.3,0.8-0.3 l4.6-0.9c0.8-0.2,1.1,0.2,0.9,1c-0.5,1.8,0.5,2.9,2.3,2.9c1.8,0,3.6-1.1,3.7-2.1C17.1,17.8,5.5,18.5,8.6,9.9z M27.2,10.4 c-0.3,0.3-0.6,0.6-1.1,0.7L21.4,12c-0.8,0.2-1.1-0.2-0.9-0.9c0.3-1.5-0.6-2.5-2.4-2.5c-1.5,0-2.7,0.9-2.8,1.7 c-0.5,2.9,11.4,2.9,8.4,11.5c-0.3,0.8-2.3,4.6-6.8,6.6c6.5-0.4,11.7-5.8,11.7-12.4C28.5,14,28,12.1,27.2,10.4z"})));s("social-warfare/social-warfare",{title:r("Social Warfare"),icon:c,category:"social-warfare",keywords:[r("share"),r("button"),r("tweet")],attributes:{hasFocus:{type:"boolean",defualt:!1},useThisPost:{type:"string",default:"this"},postID:{type:"number",default:""},buttons:{type:"string",default:""}},edit:function(e){var t=e.attributes,a=(t.useThisPost,t.buttons,t.postID,function(t){e.setAttributes({hasFocus:!e.attributes.hasFocus})}),l=function(t){e.setAttributes(n({},t.target.name,t.target.value))},r=function(t){e.setAttributes({buttons:t.target.value})},s=function(t){var a=(wp.data.select("core/editor").getCurrentPostId(),t.target.value);if(""==a)return void e.setAttributes({postID:""});isNaN(parseInt(a))||e.setAttributes({postID:parseInt(a)})};if(!e.attributes.hasFocus){var o=e.attributes.buttons&&e.attributes.buttons.length?'buttons="'+e.attributes.buttons+'"':"",u="other"==e.attributes.useThisPost?'id="'+e.attributes.postID+'"':"";return wp.element.createElement("div",{className:"social-warfare-admin-block"},wp.element.createElement("div",{className:e.className+" social-warfare-block-wrap swp-inactive-block"},wp.element.createElement("div",{className:"head",onClick:a},c,wp.element.createElement("div",{className:"swp-preview"},"[social_warfare ",o," ",u,"]"),wp.element.createElement(i,{className:"swp-dashicon",icon:"arrow-down"}))))}return wp.element.createElement("div",{className:"social-warfare-admin-block"},wp.element.createElement("div",{className:e.className+" social-warfare-block-wrap swp-active-block"},wp.element.createElement("div",{className:"head",onClick:a},wp.element.createElement("div",null,c,wp.element.createElement("p",{className:"swp-block-title"},"Social Warfare Shortcode")),wp.element.createElement(i,{className:"swp-dashicon",icon:"arrow-down"})),wp.element.createElement("p",null,"Inserts a ",wp.element.createElement("pre",{style:{display:"inline"}},"[social_warfare]")," shortcode. Leave a field blank to use values based on your global settings. ",wp.element.createElement("a",{href:"https://warfareplugins.com/support/using-shortcodes-and-php-snippets/"},"Learn more")),wp.element.createElement("p",null,"Should the buttons reflect this post, or a different post?"),wp.element.createElement("select",{name:"useThisPost",value:"other"==e.attributes.useThisPost?"other":"this",onChange:l},wp.element.createElement("option",{value:"this"},"This post"),wp.element.createElement("option",{value:"other"},"Another post")),"other"==e.attributes.useThisPost&&wp.element.createElement("div",null,wp.element.createElement("p",null,"Which post should we fetch SW settings and shares from?"),wp.element.createElement("input",{type:"text",onChange:s,value:e.attributes.postID})),wp.element.createElement("p",null,"Which networks should we display? Leave blank to use your global settings. "),wp.element.createElement("input",{value:e.attributes.buttons,type:"text",onChange:r})))},save:function(e){var t=e.attributes.buttons&&e.attributes.buttons.length?'buttons="'+e.attributes.buttons+'"':"",a="other"==e.attributes.useThisPost?'id="'+e.attributes.postID+'"':"";return wp.element.createElement("div",null,"[social_warfare ",t," ",a,"]")}})},function(e,t,a){"use strict";var n=a(1),l=(a.n(n),a(0)),r=(a.n(l),wp.i18n.__),s=wp.blocks.registerBlockType,i=wp.data.select("core/editor"),c=(i.getCurrentPostId,wp.components.Dashicon),o=wp.element.createElement("div",{className:"swp-block-icon",style:{color:"#429cd6"}},wp.element.createElement(c,{icon:"twitter"}));s("social-warfare/click-to-tweet",{title:r("Click To Tweet"),icon:o,category:"social-warfare",keywords:[r("twitter"),r("quote"),r("share")],attributes:{hasFocus:{type:"boolean",defualt:!1},tweetText:{type:"string",default:""},displayText:{type:"string",default:""},overLimit:{type:"boolean",default:!1}},edit:function(e){window.onetwothree=123;var t=e.attributes,a=t.tweetText,n=t.displayText,l=t.theme,r=["Default","Send Her My Love","Roll With The Changes","Free Bird","Don't Stop Believin'","Thunderstruck","Livin' On A Prayer"],s=(e.attributes.overLimit,e.attributes.overLimit?"over-limit":""),i=function(t){var a=t.target.value.replace('"',"'");if(!a||!a.length)return e.setAttributes({tweetText:"",overLimit:!1});var n=a.length>280;e.setAttributes({overLimit:n,tweetText:a})},u=function(t){var a=t.target.value.replace('"',"'");e.setAttributes({displayText:a})},m=function(t){var a=t.target.value;0==parseInt(a)?e.setAttributes({theme:""}):e.setAttributes({theme:a})},p=function(t){e.setAttributes({hasFocus:!e.attributes.hasFocus})};if(!e.attributes.hasFocus){var w=e.attributes.displayText?e.attributes.displayText:e.attributes.tweetText?e.attributes.tweetText:"No Click To Tweet text is provided.";return wp.element.createElement("div",{className:"social-warfare-admin-block"},wp.element.createElement("div",{className:e.className+" click-to-tweet-block-wrap swp-inactive-block"},wp.element.createElement("div",{className:"head",onClick:p},o,wp.element.createElement("div",{className:"swp-preview"},w),wp.element.createElement(c,{className:"swp-dashicon",icon:"arrow-down"}))))}return wp.element.createElement("div",{className:"social-warfare-admin-block"},wp.element.createElement("div",{className:e.className+" click-to-tweet-block-wrap swp-active-block"},wp.element.createElement("div",{className:"head",onClick:p},wp.element.createElement("div",null,o,wp.element.createElement("p",{className:"swp-block-title"},"Click to Tweet")),wp.element.createElement(c,{className:"swp-dashicon",icon:"arrow-up"})),wp.element.createElement("p",null,"Inserts a ",wp.element.createElement("pre",{style:{display:"inline"}},"[click_to_tweet]")," shortcode. ",wp.element.createElement("a",{href:"https://warfareplugins.com/support/click-to-tweet/"},"Learn more")),wp.element.createElement("p",null,"Type your tweet as you want it to display ",wp.element.createElement("b",null,wp.element.createElement("em",null,"on Twitter")),":"),wp.element.createElement("div",{style:{width:"100%"}},wp.element.createElement("p",{className:"block-characters-remaining "+s,style:{marginTop:-33}},280-a.length),wp.element.createElement("textarea",{name:"tweetText",placeholder:"Type your tweet. . . ",onChange:i,value:a})),wp.element.createElement("p",null,"Type your quote as you want it to display ",wp.element.createElement("b",null,wp.element.createElement("em",null,"on the page")),":"),wp.element.createElement("textarea",{name:"displayText",placeholder:"Type your quote. . . ",onChange:u,value:n}),wp.element.createElement("p",null,"Which theme would you like to use for this CTT?"),wp.element.createElement("select",{name:"theme",value:l,onChange:m},r.map(function(e,t){return wp.element.createElement("option",{value:t},e)}))))},save:function(e){var t=e.attributes.tweetText,a=e.attributes.displayText;if(t){a||(a=t);var n=e.attributes.theme?"style"+e.attributes.theme:"";return wp.element.createElement("div",{className:"social-warfare-admin-block"},'[click_to_tweet tweet="',t,'" quote="',a,'" theme="',n,'"]')}}})},function(e,t,a){"use strict";function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var l=a(1),r=(a.n(l),a(0)),s=(a.n(r),function(){function e(e,t){var a=[],n=!0,l=!1,r=void 0;try{for(var s,i=e[Symbol.iterator]();!(n=(s=i.next()).done)&&(a.push(s.value),!t||a.length!==t);n=!0);}catch(e){l=!0,r=e}finally{try{!n&&i.return&&i.return()}finally{if(l)throw r}}return a}return function(t,a){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,a);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()),i=+new Date+1e4,c=setInterval(function(){if(+new Date>i&&clearTimeout(c),"undefined"!=typeof socialWarfare&&(clearInterval(c),socialWarfare.addons&&socialWarfare.addons.includes("pro"))){var e=wp.i18n.__,t=wp.blocks.registerBlockType,a=wp.data.select("core/editor"),l=(a.getCurrentPostId,wp.components.Dashicon),r=wp.element.createElement("div",{className:"swp-block-icon"},wp.element.createElement("svg",{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 32 32","enable-background":"new 0 0 32 32"},wp.element.createElement("g",null,wp.element.createElement("path",{fill:"#cd2029",d:"M16,3.9C9.3,3.9,3.9,9.3,3.9,16c0,4.9,3,9.2,7.2,11.1c0-0.8,0-1.9,0.2-2.8c0.2-1,1.6-6.6,1.6-6.6 s-0.4-0.8-0.4-1.9c0-1.8,1-3.1,2.3-3.1c1.1,0,1.6,0.8,1.6,1.8c0,1.1-0.7,2.8-1.1,4.3c-0.3,1.3,0.6,2.3,1.9,2.3 c2.3,0,3.8-2.9,3.8-6.4c0-2.6-1.8-4.6-5-4.6c-3.7,0-5.9,2.7-5.9,5.8c0,1.1,0.3,1.8,0.8,2.4c0.2,0.3,0.3,0.4,0.2,0.7 c-0.1,0.2-0.2,0.8-0.2,1c-0.1,0.3-0.3,0.4-0.6,0.3c-1.7-0.7-2.5-2.5-2.5-4.6c0-3.4,2.9-7.5,8.6-7.5c4.6,0,7.6,3.3,7.6,6.9 c0,4.7-2.6,8.3-6.5,8.3c-1.3,0-2.5-0.7-2.9-1.5c0,0-0.7,2.8-0.9,3.3c-0.3,0.9-0.8,1.9-1.2,2.6c1.1,0.3,2.2,0.5,3.4,0.5 c6.7,0,12.1-5.4,12.1-12.1C28.1,9.3,22.7,3.9,16,3.9z"}))));t("social-warfare/pinterest",{title:e("Pinterest Image"),icon:r,category:"social-warfare",keywords:[e("share"),e("pin"),e("tailwind")],attributes:{hasFocus:{type:"boolean",defualt:!1},id:{type:"number",default:0},width:{type:"number",default:0},height:{type:"number",default:0},className:{type:"string",default:""},alignment:{type:"string",default:""}},edit:function(e){var t=function(t){e.setAttributes({hasFocus:!e.attributes.hasFocus})},a={id:"Post ID or Image ID",width:"Width (in pixels)",height:"Height (in pixels)",className:"Custom CSS class",alignment:"Alignment. You may enter one of: left, right, center"},i=function(t){e.setAttributes(n({},t.target.name,t.target.value))};if(!e.attributes.hasFocus){var c=Object.entries(e.attributes).reduce(function(e,t){var a=s(t,2),n=a[0],l=a[1];return l.length&&"undefined"!=typeof l?e+=" "+n+'="'+l+'"':e},"");return wp.element.createElement("div",{className:e.className+" pinterest-block-wrap swp-inactive-block"},wp.element.createElement("div",{className:"head",onClick:t},r,wp.element.createElement("div",{className:"swp-preview"},"[pinterest_image",c,"]"),wp.element.createElement(l,{className:"swp-dashicon",icon:"arrow-down"})))}return wp.element.createElement("div",{className:"social-warfare-admin-block"},wp.element.createElement("div",{className:e.className+" pinterest-block-wrap swp-active-block"},wp.element.createElement("div",{className:"head",onClick:t},wp.element.createElement("div",null,r,wp.element.createElement("p",{className:"swp-block-title"},"Pinterest Image")),wp.element.createElement(l,{className:"swp-dashicon",icon:"arrow-up"})),wp.element.createElement("p",null,"Inserts a ",wp.element.createElement("pre",{style:{display:"inline"}},"[pinterest_image]")," shortcode. Leave a field blank to use values based on your global settings."),Object.entries(a).map(function(t){var a=s(t,2),n=a[0],l=a[1];if("alignment"!=n){var r="width"==n||"height"==n?"swp-inner-block-50":"";return wp.element.createElement("div",{className:r},wp.element.createElement("p",null,l),wp.element.createElement("input",{name:n,type:"text",onChange:i,value:e.attributes[n]||""}))}}),wp.element.createElement("div",null,wp.element.createElement("p",null,"Alignment"),wp.element.createElement("select",{name:"alignment",value:e.attributes.alignment?e.attributes.alignment:"",onChange:i},wp.element.createElement("option",{value:""},"Default"),wp.element.createElement("option",{value:"left"},"Left"),wp.element.createElement("option",{value:"center"},"Center"),wp.element.createElement("option",{value:"right"},"Right")))))},save:function(e){return wp.element.createElement("div",null,"[pinterest_image]")}})}},100)}]);
assets/js/post-editor/src/block/click-to-tweet.js CHANGED
@@ -7,7 +7,6 @@ const { getCurrentPostId } = wp.data.select( 'core/editor' );
7
  const Dashicon = wp.components.Dashicon;
8
 
9
  const icon = <div className="swp-block-icon" style={ {color: '#429cd6'} }><Dashicon icon="twitter"/></div>
10
-
11
  /**
12
  * Registers a new block provided a unique name and an object defining its
13
  * behavior. Once registered, the block is made editor as an option to any
@@ -45,7 +44,6 @@ registerBlockType( 'social-warfare/click-to-tweet', {
45
  * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/
46
  */
47
  edit: function( props ) {
48
- console.log('editing ctt')
49
  window.onetwothree=123;
50
  const { tweetText, displayText, theme } = props.attributes;
51
  const styles = ['Default', 'Send Her My Love', 'Roll With The Changes', 'Free Bird', 'Don\'t Stop Believin\'', 'Thunderstruck', 'Livin\' On A Prayer'];
@@ -57,7 +55,7 @@ registerBlockType( 'social-warfare/click-to-tweet', {
57
  * Local method delcarations.
58
  */
59
  const updateTweetText = ( event ) => {
60
- const tweetText = event.target.value;
61
 
62
  if ( !tweetText || !tweetText.length ) {
63
  return props.setAttributes( { tweetText: '', overLimit: false } );
@@ -69,7 +67,7 @@ registerBlockType( 'social-warfare/click-to-tweet', {
69
  }
70
 
71
  const updateDisplayText = ( event ) => {
72
- const displayText = event.target.value;
73
 
74
  props.setAttributes( { displayText } );
75
  }
@@ -172,16 +170,14 @@ registerBlockType( 'social-warfare/click-to-tweet', {
172
  * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/
173
  */
174
  save: function( props ) {
175
- console.log('saving ctt')
176
- let { tweetText, displayText } = props.attributes;
 
177
  if ( !displayText ) {
178
  displayText = tweetText;
179
  }
180
 
181
- const theme = props.attributes.theme ? `style${props.attributes.theme}` : '';
182
-
183
- if (!tweetText) return;
184
-
185
  return (
186
  <div className='social-warfare-admin-block'>
187
  [click_to_tweet tweet="{tweetText}" quote="{displayText}" theme="{theme}"]
7
  const Dashicon = wp.components.Dashicon;
8
 
9
  const icon = <div className="swp-block-icon" style={ {color: '#429cd6'} }><Dashicon icon="twitter"/></div>
 
10
  /**
11
  * Registers a new block provided a unique name and an object defining its
12
  * behavior. Once registered, the block is made editor as an option to any
44
  * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/
45
  */
46
  edit: function( props ) {
 
47
  window.onetwothree=123;
48
  const { tweetText, displayText, theme } = props.attributes;
49
  const styles = ['Default', 'Send Her My Love', 'Roll With The Changes', 'Free Bird', 'Don\'t Stop Believin\'', 'Thunderstruck', 'Livin\' On A Prayer'];
55
  * Local method delcarations.
56
  */
57
  const updateTweetText = ( event ) => {
58
+ const tweetText = event.target.value.replace('"', "'");
59
 
60
  if ( !tweetText || !tweetText.length ) {
61
  return props.setAttributes( { tweetText: '', overLimit: false } );
67
  }
68
 
69
  const updateDisplayText = ( event ) => {
70
+ const displayText = event.target.value.replace('"', "'");
71
 
72
  props.setAttributes( { displayText } );
73
  }
170
  * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/
171
  */
172
  save: function( props ) {
173
+ var tweetText = props.attributes.tweetText;
174
+ var displayText = props.attributes.displayText;
175
+ if (!tweetText) return;
176
  if ( !displayText ) {
177
  displayText = tweetText;
178
  }
179
 
180
+ var theme = props.attributes.theme ? `style${props.attributes.theme}` : '';
 
 
 
181
  return (
182
  <div className='social-warfare-admin-block'>
183
  [click_to_tweet tweet="{tweetText}" quote="{displayText}" theme="{theme}"]
assets/js/script.js CHANGED
@@ -4,6 +4,9 @@
4
  *
5
  * @since 1.0.0 | 01 JAN 2016 | Created
6
  * @since 3.4.0 | 19 OCT 2018 | Cleaned, Refactored, Simplified, Docblocked.
 
 
 
7
  * @package SocialWarfare\Assets\JS\
8
  * @copyright Copyright (c) 2018, Warfare Plugins, LLC
9
  * @license GPL-3.0+
@@ -42,11 +45,7 @@
42
  * Function: socialWarfare.findPinterestBrowserSaveButtons()
43
  * Function: socialWarfare.removePinterestBrowserSaveButtons()
44
  *
45
- * #5. Facebook Share Count Functions
46
- * Function: socialWarfare.fetchFacebookShares()
47
- * Function: socialWarfare.parseFacebookShares()
48
- *
49
- * #6. Utility/Helper Functions
50
  * Function: socialWarfare.throttle()
51
  * Function: socialWarfare.trigger()
52
  * Function: socialWarfare.trackClick()
@@ -97,6 +96,14 @@ window.socialWarfare = window.socialWarfare || {};
97
  }
98
  }
99
 
 
 
 
 
 
 
 
 
100
  /***************************************************************************
101
  *
102
  *
@@ -150,6 +157,11 @@ window.socialWarfare = window.socialWarfare || {};
150
  socialWarfare.handleButtonClicks();
151
  socialWarfare.updateFloatingButtons();
152
 
 
 
 
 
 
153
 
154
  /**
155
  * In some instances, the click bindings were not being instantiated
@@ -832,201 +844,261 @@ window.socialWarfare = window.socialWarfare || {};
832
  *
833
  ***************************************************************************/
834
 
835
-
836
- /**
837
- * This reactivates and creates new image hover pin buttons when a page has
838
- * been loaded via AJAX. The 'load' event is the proper event that theme and
839
- * plugin creators are supposed to use when the AJAX load is complete.
840
- *
841
- */
842
- $(window).on('load', function() {
843
-
844
- if ('undefined' !== typeof swpPinIt && swpPinIt.enabled) {
845
- socialWarfare.enablePinterestSaveButtons();
846
- }
847
- window.clearCheckID = 0;
848
- });
849
 
850
 
851
  /**
852
- * Adds the "Save" button to images when the option is enabled.
853
- *
854
- * This method will search and destroy any Pinterest save buttons that have
855
- * been added by the Pinterest browser extension and then render the html
856
- * needed to add our own proprietary Pinterest buttons on top of images.
857
- *
858
- * @param void
859
- * @return void
860
  *
861
  */
862
- socialWarfare.enablePinterestSaveButtons = function() {
 
 
863
 
864
- /**
865
- * Search and Destroy: This will find any Pinterest buttons that were
866
- * added via their browser extension and then destroy them so that only
867
- * ours are on the page.
868
- *
869
- */
870
- jQuery('img').on('mouseenter', function() {
871
- var pinterestBrowserButtons = socialWarfare.findPinterestBrowserSaveButtons();
872
- if (typeof pinterestBrowserButtons != 'undefined' && pinterestBrowserButtons) {
873
- socialWarfare.removePinterestBrowserSaveButtons(pinterestBrowserButtons);
874
- }
875
- });
876
 
 
877
  /**
878
- * Find all images of the images that are in the content area by looking
879
- * for the .swp-content-locator div which is an empty div that we add via
880
- * the_content() hook just so that we can target it here. Then iterate
881
- * through them and determine if we should add a Pinterest save button.
882
  *
883
  */
884
- $('.swp-content-locator').parent().find('img').each(socialWarfare.renderPinterestSaveButton);
 
 
885
 
 
 
 
 
886
 
887
- /**
888
- * Attach a click handler to each of the newly created "Save" buttons,
889
- * and trigger the click tracking function.
890
- *
891
- */
892
- $('.sw-pinit .sw-pinit-button').on('click', function(event) {
893
- event.preventDefault();
894
- window.open($(this).attr('href'), 'Pinterest', 'width=632,height=253,status=0,toolbar=0,menubar=0,location=1,scrollbars=1');
895
- socialWarfare.trackClick('pin_image');
896
- });
 
 
 
 
 
 
 
 
 
 
 
897
  }
898
 
899
 
900
  /**
901
- * This function renders the HTML needed to print the save buttons on the images.
902
- *
903
- * @param void
904
- * @since void
905
- *
906
- */
907
- socialWarfare.renderPinterestSaveButton = function() {
908
- var image, pinMedia, pinDesc, bookmark, imageClasses, imageStyles, shareLink;
909
- image = $(this);
910
-
911
- /**
912
- * This disables the Pinterest save buttosn on images that are anchors/links
913
- * if the user has them disabled on them in the options page. So if this
914
- * image is a link, we just bail out.
915
- *
916
- */
917
- if (typeof swpPinIt.disableOnAnchors != undefined && swpPinIt.disableOnAnchors) {
918
- if ($(image).parents().filter("a").length) {
919
- return;
920
- }
921
  }
922
 
923
 
924
- /**
925
- * In the option page, the user can set a minimum width and a minimum
926
- * height. Anything that isn't as large as these image dimensions will
927
- * be skipped. This is a JS variable that is generated and output by
928
- * the server.
929
- *
930
- */
931
- if (image.outerHeight() < swpPinIt.minHeight || image.outerWidth() < swpPinIt.minWidth) {
932
- return;
933
  }
934
 
 
 
 
 
935
 
936
- /**
937
- * We offer users the option to manually opt any image out of having a
938
- * Pinterest save button on it by simply adding either the no_pin class
939
- * or the no-pin class. There is also a checkbox in the media uploader
940
- * that when checked will add one of these classes. If this image has
941
- * one of these classes, just bail and skip this image.
942
- *
943
- */
944
- if (image.hasClass('no_pin') || image.hasClass('no-pin')) {
945
- return;
946
  }
947
 
 
 
 
 
 
948
 
949
- /**
950
- * If the swpPinIt.image_source variable exists, it means that the user
951
- * has opted to use their custom Pinterest image rather than having
952
- * visitors pin the actual image being hovered.
953
- *
954
- */
955
- if ('undefined' !== typeof swpPinIt.image_source && swpPinIt.image_source.length) {
956
 
957
- /**
958
- * By creating a temporary image and then using jQuery to fetch the
959
- * URL of that image, it will convert any relative paths to
960
- * absolute paths. If we send a relative path image to Pinterest, it
961
- * will throw errors.
962
- *
963
- */
964
- var i = new Image();
965
- i.src = swpPinIt.image_source;
966
- pinMedia = $(i).prop('src');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
967
 
968
 
969
- /**
970
- * Both media and lazy-src are data attributes used by some lazy loading
971
- * plugins. If we don't look for these, we're not able to add the save
972
- * button to lazy loaded images that have not been loaded when the
973
- * document has been loaded.
974
- *
975
- */
976
- } else if (image.data('media')) {
977
- pinMedia = image.data('media');
978
- } else if ($(this).data('lazy-src')) {
979
- pinMedia = $(this).data('lazy-src');
980
- } else if (image[0].src) {
981
- pinMedia = image[0].src;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
982
  }
983
 
984
- // Bail if we don't have any media to pin.
985
- if (!pinMedia || 'undefined' === typeof pinMedia) {
 
 
 
 
 
 
986
  return;
987
- }
 
 
988
 
 
 
989
 
990
- /**
991
- * This is where we compute a description that will be used when the
992
- * image is shared to Pinterest. In order of precedence, we will use the
993
- * image's data-pin-description attribute, the custom Pinterest description
994
- * for the post passed from the server, the image title, or the image
995
- * description.
996
- *
997
- */
998
- if (typeof image.data("pin-description") != 'undefined') {
999
- pinDesc = image.data("pin-description");
1000
- } else if (typeof image.data("pin-description") == 'string' && swpPinIt.image_description.length) {
1001
- pinDesc = swpPinIt.image_description;
1002
- } else if (image.attr('title')) {
1003
- pinDesc = image.attr('title');
1004
- } else if (image.attr('alt')) {
1005
- pinDesc = image.attr('alt');
1006
- } else if (typeof swpPinIt.post_title == 'string') {
1007
- pinDesc = swpPinIt.post_title;
1008
- }
1009
- shareLink = 'http://pinterest.com/pin/create/bookmarklet/?media=' + encodeURI(pinMedia) + '&url=' + encodeURI(document.URL) + '&is_video=false' + '&description=' + encodeURIComponent(pinDesc);
1010
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1011
 
1012
- /**
1013
- * In order to preserve all of the layout, positioning and style of the
1014
- * image, we are going to fetch all of the classes and inline styles of
1015
- * the image and move them onto the parent container in which we will be
1016
- * wrapping the image.
1017
- *
1018
- */
1019
- imageClasses = image.attr('class');
1020
- imageStyles = image.attr('style');
1021
 
1022
- // Remove the image classes and styles. Create the wrapper div.
1023
- image.removeClass().attr('style', '').wrap('<div class="sw-pinit" />');
 
1024
 
1025
- // Append the button as the last element inside the wrapper div.
1026
- image.after('<a href="' + shareLink + '" class="sw-pinit-button sw-pinit-' + swpPinIt.vLocation + ' sw-pinit-' + swpPinIt.hLocation + '">Save</a>');
 
 
1027
 
1028
- // Add the removed classes and styles to the wrapper div.
1029
- image.parent('.sw-pinit').addClass(imageClasses).attr('style', imageStyles);
 
 
 
 
 
1030
  }
1031
 
1032
 
@@ -1088,84 +1160,7 @@ window.socialWarfare = window.socialWarfare || {};
1088
  /***************************************************************************
1089
  *
1090
  *
1091
- * SECTION #5: FACEBOOK SHARE COUNT FUNCTIONS
1092
- *
1093
- *
1094
- ***************************************************************************/
1095
-
1096
-
1097
- /**
1098
- * Makes external requsts to fetch Facebook share counts. We fetch Facebook
1099
- * share counts via the frontened Javascript because their API has harsh
1100
- * rate limits that are IP Address based. So it's very easy for a website to
1101
- * hit those limits and recieve temporary bans from accessing the share count
1102
- * data. By using the front end, the IP Addresses are distributed to users,
1103
- * are therefore spread out, and don't hit the rate limits.
1104
- *
1105
- * @param void
1106
- * @return void
1107
- *
1108
- */
1109
- socialWarfare.fetchFacebookShares = function() {
1110
-
1111
- // Compile the API links
1112
- var url1 = 'https://graph.facebook.com/?fields=og_object{likes.summary(true).limit(0)},share&id=' + swp_post_url;
1113
- var url2 = swp_post_recovery_url ? 'https://graph.facebook.com/?fields=og_object{likes.summary(true).limit(0)},share&id=' + swp_post_recovery_url : '';
1114
-
1115
- // Use this to ensure that we wait until the API requests are done.
1116
- $.when( $.get( url1 ), $.get( url2 ) )
1117
- .then(function(response1, response2) {
1118
- var shares, data;
1119
-
1120
- // Parse the shares and add them up into a running total.
1121
- shares = socialWarfare.parseFacebookShares(response1[0]);
1122
- if (swp_post_recovery_url) {
1123
- shares += socialWarfare.parseFacebookShares(response2[0]);
1124
- }
1125
-
1126
- // Compile the data and send out the AJAX request to store the count.
1127
- var data = {
1128
- action: 'swp_facebook_shares_update',
1129
- post_id: swp_post_id,
1130
- share_counts: shares
1131
- };
1132
- $.post(swp_admin_ajax, data);
1133
-
1134
- });
1135
- }
1136
-
1137
-
1138
- /**
1139
- * Sums the share data from a facebook API response. This is a utility
1140
- * function used by socialWarfare.fetchFacebookShares to allow easy access
1141
- * to parsing out the JSON response that we got from Facebook's API and
1142
- * converting it into an integer that reflects the tally of all activity
1143
- * on the URl in question including like, comments, and shares.
1144
- *
1145
- * @param object response The API response received from Facebook.
1146
- * @return number The total shares summed from the request, or 0.
1147
- *
1148
- */
1149
- socialWarfare.parseFacebookShares = function(response) {
1150
- var total = 0;
1151
-
1152
- if ('undefined' !== typeof response.share) {
1153
- total += parseInt(response.share.share_count);
1154
- total += parseInt(response.share.comment_count);
1155
- }
1156
-
1157
- if (typeof response.og_object != 'undefined') {
1158
- total += parseInt(response.og_object.likes.summary.total_count);
1159
- }
1160
-
1161
- return total;
1162
- }
1163
-
1164
-
1165
- /***************************************************************************
1166
- *
1167
- *
1168
- * SECTION #6: UTILITY/HELPER FUNCTIONS
1169
  *
1170
  *
1171
  ***************************************************************************/
@@ -1376,6 +1371,23 @@ window.socialWarfare = window.socialWarfare || {};
1376
  */
1377
  $(window).resize(socialWarfare.onWindowResize);
1378
 
 
 
 
1379
  });
1380
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1381
  })(this, jQuery);
4
  *
5
  * @since 1.0.0 | 01 JAN 2016 | Created
6
  * @since 3.4.0 | 19 OCT 2018 | Cleaned, Refactored, Simplified, Docblocked.
7
+ * @since 3.6.0 | 22 APR 2019 | Removed Facebook share counts. These are now
8
+ * fetched via PHP on the server side just like all
9
+ * other social networks.
10
  * @package SocialWarfare\Assets\JS\
11
  * @copyright Copyright (c) 2018, Warfare Plugins, LLC
12
  * @license GPL-3.0+
45
  * Function: socialWarfare.findPinterestBrowserSaveButtons()
46
  * Function: socialWarfare.removePinterestBrowserSaveButtons()
47
  *
48
+ * #5. Utility/Helper Functions
 
 
 
 
49
  * Function: socialWarfare.throttle()
50
  * Function: socialWarfare.trigger()
51
  * Function: socialWarfare.trackClick()
96
  }
97
  }
98
 
99
+ /**
100
+ * Values from the server may be sent as strings, but may also be empty.
101
+ * In this context, we are interested in strings with length only.
102
+ */
103
+ function isString(maybeString) {
104
+ return typeof maybeString == 'string' && maybeString.length > 0;
105
+ }
106
+
107
  /***************************************************************************
108
  *
109
  *
157
  socialWarfare.handleButtonClicks();
158
  socialWarfare.updateFloatingButtons();
159
 
160
+ if (typeof swpPinIt == 'object' && swpPinIt.enabled == true) {
161
+ socialWarfare.createHoverSaveButton();
162
+ socialWarfare.triggerImageListeners();
163
+ }
164
+
165
 
166
  /**
167
  * In some instances, the click bindings were not being instantiated
844
  *
845
  ***************************************************************************/
846
 
847
+ // Create a single instance of the save button and store it in socialWarfare.
848
+ socialWarfare.createHoverSaveButton = function() {
849
+ var button = $(document.createElement("a"));
850
+ button.css("display: none");
851
+ button.addClass("swp-hover-pin-button");
852
+ button.text("Save");
853
+ socialWarfare.hoverSaveButton = $(button);
854
+ return button;
855
+ }
 
 
 
 
 
856
 
857
 
858
  /**
859
+ * Find all images of the images that are in the content area by looking
860
+ * for the .swp-content-locator div which is an empty div that we add via
861
+ * the_content() hook just so that we can target it here. Then iterate
862
+ * through them and determine if we should add a Pinterest save button.
 
 
 
 
863
  *
864
  */
865
+ socialWarfare.triggerImageListeners = function() {
866
+ $(".swp-content-locator").parent().find("img").off('mouseenter', socialWarfare.renderPinterestSaveButton)
867
+ $(".swp-content-locator").parent().find("img").on('mouseenter', socialWarfare.renderPinterestSaveButton)
868
 
869
+ // We need to assign the hover callback to new images
870
+ // loaded by ajax as the visitor scrolls through the page.
871
+ setTimeout(socialWarfare.triggerImageListeners, 2000);
872
+ }
 
 
 
 
 
 
 
 
873
 
874
+ socialWarfare.getPinMedia = function( image ) {
875
  /**
876
+ * If the swpPinIt.image_source variable exists, it means that the user
877
+ * forces their custom Pinterest image instaed of the visitor's selection.
 
 
878
  *
879
  */
880
+ if (isString(swpPinIt.image_source)) {
881
+ return swpPinIt.image_source;
882
+ }
883
 
884
+ // Most images will have a src already defined, this gets top priority.
885
+ if (isString(image.attr("src"))) {
886
+ return image.attr("src");
887
+ }
888
 
889
+ // Otherise check common data-attributes for an image source.
890
+ var dataSources = ['src', 'lazy-src', 'media'];
891
+ var media = '';
892
+
893
+ // Search for the first existing value and keep it if found.
894
+ dataSources.some(function(maybeSource) {
895
+ if (isString(image.data(maybeSource))) {
896
+ media = image.data(maybeSource);
897
+ return true;
898
+ }
899
+ })
900
+
901
+ if (media == '') {
902
+ return;
903
+ }
904
+
905
+ // Use a jQuery image to guarantee we have an absolute path to the resource.
906
+ // Pinterest throws an error when passed a relative path.
907
+ var i = $("<img>");
908
+ i.attr("src", media)
909
+ return i.prop("src");
910
  }
911
 
912
 
913
  /**
914
+ * This is where we compute a description that will be used when the
915
+ * image is shared to Pinterest. In order of precedence, we will use the
916
+ * image's data-pin-description attribute, the custom Pinterest description
917
+ * for the post passed from the server, the image title, or the image
918
+ * description.
919
+ *
920
+ */
921
+ socialWarfare.getPinDescription = function(image) {
922
+ if (isString(image.data("pin-description"))) {
923
+ return image.data("pin-description");
 
 
 
 
 
 
 
 
 
 
924
  }
925
 
926
 
927
+ if (isString(swpPinIt.image_description)) {
928
+ return swpPinIt.image_description;
 
 
 
 
 
 
 
929
  }
930
 
931
+ // Try image Title or Alt text.
932
+ if (isString(image.attr("title"))) {
933
+ return image.attr("title");
934
+ }
935
 
936
+ if (isString(image.attr("alt"))) {
937
+ return image.attr("alt");
 
 
 
 
 
 
 
 
938
  }
939
 
940
+ // Default to the post title if nothing else is found.
941
+ if (isString(swpPinIt.post_title)) {
942
+ return swpPinIt.post_title;
943
+ }
944
+ }
945
 
 
 
 
 
 
 
 
946
 
947
+ /**
948
+ * Adds the "Save" button to images when the option is enabled.
949
+ *
950
+ * This method will search and destroy any Pinterest save buttons that have
951
+ * been added by the Pinterest browser extension and then render the html
952
+ * needed to add our own proprietary Pinterest buttons on top of images.
953
+ *
954
+ * @param void
955
+ * @return void
956
+ *
957
+ */
958
+ socialWarfare.enablePinterestSaveButtons = function() {
959
+ /**
960
+ * Search and Destroy: This will find any Pinterest buttons that were
961
+ * added via their browser extension and then destroy them so that only
962
+ * ours are on the page.
963
+ *
964
+ */
965
+ jQuery('img').on('mouseenter', function() {
966
+ var pinterestBrowserButtons = socialWarfare.findPinterestBrowserSaveButtons();
967
+ if (typeof pinterestBrowserButtons != 'undefined' && pinterestBrowserButtons) {
968
+ socialWarfare.removePinterestBrowserSaveButtons(pinterestBrowserButtons);
969
+ }
970
+ });
971
+ }
972
 
973
 
974
+ socialWarfare.toggleHoverSaveDisplay = function(image) {
975
+ var top = image.offset().top;
976
+ var left = image.offset().left;
977
+ var vMargin = 15;
978
+ var hMargin = 15;
979
+ var buttonHeight = 24;
980
+ var buttonWidth = 120;
981
+ // Known height from CSS is 34 px.
982
+ // Known width from CSS is 120 px.
983
+
984
+ switch (swpPinIt.vLocation) {
985
+ case "top" :
986
+ top += vMargin;
987
+ break;
988
+
989
+ case "middle" :
990
+ var offset = image.height() / 2 - (vMargin / 2) - (buttonHeight / 2);
991
+ top += offset;
992
+ break;
993
+
994
+ case "bottom" :
995
+ top += image.height() - vMargin - buttonHeight;
996
+ break;
997
+ }
998
+
999
+
1000
+ switch (swpPinIt.hLocation) {
1001
+ case "left" :
1002
+ left += hMargin;
1003
+ break;
1004
+
1005
+ case "center" :
1006
+ var offset = image.width() / 2 - (hMargin / 2) - (buttonWidth / 2);
1007
+ left += offset;
1008
+ break;
1009
+
1010
+ case "right" :
1011
+ left += image.width() - hMargin - buttonWidth;
1012
+ break;
1013
  }
1014
 
1015
+ socialWarfare.hoverSaveButton.css("top", top);
1016
+ socialWarfare.hoverSaveButton.css("left", left);
1017
+
1018
+
1019
+ // Entering the button from the image triggers mouseleave and mouseenter.
1020
+ // Keep the button where it would otherwise disappear due to a mouseleave.
1021
+ image.on("mouseleave", function(event) {
1022
+ if (event.relatedTarget.className == 'swp-hover-pin-button') {
1023
  return;
1024
+ }
1025
+ $(".swp-hover-pin-button").remove();
1026
+ });
1027
 
1028
+ $(document.body).append(socialWarfare.hoverSaveButton);
1029
+ }
1030
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1031
 
1032
+ /**
1033
+ * This function renders the HTML needed to print the save buttons on the images.
1034
+ *
1035
+ * @param void
1036
+ * @since void
1037
+ *
1038
+ */
1039
+ socialWarfare.renderPinterestSaveButton = function(event) {
1040
+ if (event.relatedTarget && event.relatedTarget.className == 'swp-hover-pin-button') {
1041
+ return;
1042
+ }
1043
+
1044
+ if ($(".swp-hover-pin-button").length > 0) {
1045
+ return;
1046
+ }
1047
+
1048
+ var image = $(event.target);
1049
+ /**
1050
+ * This disables the Pinterest save buttons on images that are anchors/links
1051
+ * if the user has them disabled on them in the options page. So if this
1052
+ * image is a link, we just bail out.
1053
+ *
1054
+ */
1055
+ if (typeof swpPinIt.disableOnAnchors != undefined && swpPinIt.disableOnAnchors) {
1056
+ if (image.parents().filter("a").length) {
1057
+ return;
1058
+ }
1059
+ }
1060
+
1061
+ /**
1062
+ * In the option page, the user can set a minimum width and a minimum
1063
+ * height. Anything that isn't as large as these image dimensions will
1064
+ * be skipped. This is a JS variable that is generated and output by
1065
+ * the server.
1066
+ *
1067
+ */
1068
+ if (image.outerHeight() < swpPinIt.minHeight || image.outerWidth() < swpPinIt.minWidth) {
1069
+ return;
1070
+ }
1071
+
1072
+ /**
1073
+ * We offer users the option to manually opt any image out of having a
1074
+ * Pinterest save button on it by simply adding either the no_pin class
1075
+ * or the no-pin class. There is also a checkbox in the media uploader
1076
+ * that when checked will add one of these classes. If this image has
1077
+ * one, skip it.
1078
+ *
1079
+ */
1080
+ if (image.hasClass('no_pin') || image.hasClass('no-pin')) {
1081
+ return;
1082
+ }
1083
 
1084
+ socialWarfare.toggleHoverSaveDisplay(image);
 
 
 
 
 
 
 
 
1085
 
1086
+ var description = socialWarfare.getPinDescription(image);
1087
+ var media = socialWarfare.getPinMedia(image);
1088
+ var shareLink = 'http://pinterest.com/pin/create/bookmarklet/?media=' + encodeURI(media) + '&url=' + encodeURI(document.URL) + '&is_video=false' + '&description=' + encodeURIComponent(description);
1089
 
1090
+ function openPinterestDialogue(event) {
1091
+ var offsetLeft = $(window).width() - 632 * 2;
1092
+ var offsetTop = $(window).height() - 253 * 2;
1093
+ var position = ',top=' + offsetTop + ',left=' + offsetLeft;
1094
 
1095
+ window.open(shareLink, 'Pinterest', 'width=632,height=253,status=0,toolbar=0,menubar=0,location=1,scrollbars=1' + position);
1096
+ socialWarfare.trackClick('pin_image');
1097
+ $(".swp-hover-pin-button").remove();
1098
+ }
1099
+
1100
+ $(".swp-hover-pin-button").on("click", openPinterestDialogue);
1101
+ // The elemnt and its event handlers are removed in toggleHoverSaveDisplay().
1102
  }
1103
 
1104
 
1160
  /***************************************************************************
1161
  *
1162
  *
1163
+ * SECTION #5: UTILITY/HELPER FUNCTIONS
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1164
  *
1165
  *
1166
  ***************************************************************************/
1371
  */
1372
  $(window).resize(socialWarfare.onWindowResize);
1373
 
1374
+ if ('undefined' !== typeof swpPinIt && swpPinIt.enabled) {
1375
+ socialWarfare.enablePinterestSaveButtons();
1376
+ }
1377
  });
1378
 
1379
+ /**
1380
+ * This reactivates and creates new image hover pin buttons when a page has
1381
+ * been loaded via AJAX. The 'load' event is the proper event that theme and
1382
+ * plugin creators are supposed to use when the AJAX load is complete.
1383
+ *
1384
+ */
1385
+ $(window).on('load', function() {
1386
+
1387
+ if ('undefined' !== typeof swpPinIt && swpPinIt.enabled) {
1388
+ socialWarfare.enablePinterestSaveButtons();
1389
+ }
1390
+ window.clearCheckID = 0;
1391
+ });
1392
+
1393
  })(this, jQuery);
assets/js/script.min.js CHANGED
@@ -1 +1 @@
1
- window.socialWarfare=window.socialWarfare||{},function(a,e){"use strict";if("function"!=typeof e){if("function"!=typeof jQuery)return void console.log("Social Warfare requires jQuery, or $ as an alias of jQuery. Please make sure your theme provides access to jQuery before activating Social Warfare.");var e=jQuery}socialWarfare.paddingTop=parseInt(e("body").css("padding-top")),socialWarfare.paddingBottom=parseInt(e("body").css("padding-bottom")),socialWarfare.initPlugin=function(){if(e("body").css({paddingTop:socialWarfare.paddingTop,paddingBottom:socialWarfare.paddingBottom}),socialWarfare.establishPanels(),socialWarfare.establishBreakpoint(),socialWarfare.panels.staticHorizontal||socialWarfare.panels.floatingSide||socialWarfare.panels.floatingHorizontal){socialWarfare.createFloatHorizontalPanel(),socialWarfare.positionFloatSidePanel(),socialWarfare.activateHoverStates(),socialWarfare.handleButtonClicks(),socialWarfare.updateFloatingButtons(),setTimeout(function(){socialWarfare.checkListeners(0,5)},2e3);var t=Date.now();e(a).scroll(function(){t+50-Date.now()<0&&(socialWarfare.updateFloatingButtons(),t=Date.now())})}};var t;socialWarfare.onWindowResize=function(){clearTimeout(t),t=setTimeout(socialWarfare.initPlugin,100)},socialWarfare.establishPanels=function(){return socialWarfare.panels={staticHorizontal:null,floatingSide:null,floatingHorizontal:null},socialWarfare.panels.staticHorizontal=e(".swp_social_panel").not(".swp_social_panelSide"),socialWarfare.panels.floatingSide=e(".swp_social_panelSide"),socialWarfare.panels},socialWarfare.activateHoverStates=function(){socialWarfare.trigger("pre_activate_buttons"),e(".swp_social_panel:not(.swp_social_panelSide) .nc_tweetContainer").on("mouseenter",function(){if(!e(this).hasClass("swp_nohover")){socialWarfare.resetStaticPanel();var a=e(this).find(".swp_share").outerWidth(),t=e(this).find("i.sw").outerWidth(),i=e(this).width(),o=1+(a+35)/i;e(this).find(".iconFiller").width(a+t+25+"px"),e(this).css("flex",o+" 1 0%")}}),e(".swp_social_panel:not(.swp_social_panelSide)").on("mouseleave",socialWarfare.resetStaticPanel)},socialWarfare.resetStaticPanel=function(){e(".swp_social_panel:not(.swp_social_panelSide) .nc_tweetContainer:not(.swp_nohover) .iconFiller").removeAttr("style"),e(".swp_social_panel:not(.swp_social_panelSide) .nc_tweetContainer:not(.swp_nohover)").removeAttr("style")},socialWarfare.handleButtonClicks=function(){e(".nc_tweet, a.swp_CTT").off("click"),e(".nc_tweet, a.swp_CTT").on("click",function(t){if(e(this).hasClass("noPop"))return t;if(void 0===e(this).data("link"))return t;t.preventDefault();var i,o,r,s,n,l,c=e(this).data("link").replace("’","'");i=270,o=500,e(this).is(".pinterest, .buffer_link, .flipboard")&&(i=550,o=775),e(this).hasClass("nc_tweet")?l=e(this).parents(".nc_tweetContainer").data("network"):e(this).hasClass("swp_CTT")&&(l="ctt"),r=a.screenY+(a.innerHeight-i)/2,s=a.screenX+(a.innerWidth-o)/2,n="height="+i+",width="+o+",top="+r+",left="+s,a.open(c,l,n),socialWarfare.trackClick(l)})},socialWarfare.createFloatHorizontalPanel=function(){if(socialWarfare.panels.staticHorizontal.length){var a=socialWarfare.panels.staticHorizontal.data("float"),t=socialWarfare.panels.staticHorizontal.data("float-mobile"),i=socialWarfare.panels.staticHorizontal.data("float-color"),o=e('<div class="nc_wrapper swp_floating_horizontal_wrapper" style="background-color:'+i+'"></div>'),r="";e(".nc_wrapper").length&&e(".nc_wrapper").remove(),e(".swp_floating_horizontal_wrapper").length&&e(".swp_floating_horizontal_wrapper").remove(),"top"!=a&&"bottom"!=a&&"top"!=t&&"bottom"!=t||(r=socialWarfare.isMobile()?t:a,o.addClass(r).hide().appendTo("body"),socialWarfare.panels.floatingHorizontal=socialWarfare.panels.staticHorizontal.first().clone(),socialWarfare.panels.floatingHorizontal.addClass("nc_floater").appendTo(o),socialWarfare.updateFloatingHorizontalDimensions(),e(".swp_social_panel .swp_count").css({transition:"padding .1s linear"}))}},socialWarfare.updateFloatingHorizontalDimensions=function(){if(socialWarfare.panels.staticHorizontal.length&&socialWarfare.panels.floatingHorizontal){var a="100%",e=0,t=socialWarfare.panels.staticHorizontal,i=t.parent();i.hasClass("swp-hidden-panel-wrap")&&(i=i.parent()),void 0!==t.offset().left&&(e=t.offset().left),void 0!==t.width()&&(a=t.width()),0==e&&(e=i.offset().left),100!=a&&0!=a||(a=i.width()),socialWarfare.panels.floatingHorizontal.css({width:a,left:e})}},socialWarfare.staticPanelIsVisible=function(){var t=!1,i=e(a).scrollTop();return e(".swp_social_panel").not(".swp_social_panelSide, .nc_floater").each(function(o){var r=e(this).offset();if(void 0!==socialWarfare.floatBeforeContent&&"1"!=socialWarfare.floatBeforeContent){var s=e(".swp-content-locator").parent();0===o&&s.length&&s.offset().top>i+e(a).height()&&(t=!0)}e(this).is(":visible")&&r.top+e(this).height()>i&&r.top<i+e(a).height()&&(t=!0)}),t},socialWarfare.updateFloatingButtons=function(){if(socialWarfare.panels.staticHorizontal.length)var a=socialWarfare.panels.staticHorizontal;else{if(!socialWarfare.panels.floatingSide.length)return;var a=socialWarfare.panels.floatingSide}var t=a.data("float");if(1==socialWarfare.isMobile())var t=a.data("float-mobile");return"none"==t?e(".nc_wrapper, .swp_floating_horizontal_wrapper, .swp_social_panelSide").hide():socialWarfare.isMobile()?(socialWarfare.toggleMobileButtons(),void socialWarfare.toggleFloatingHorizontalPanel()):("right"!=t&&"left"!=t||socialWarfare.toggleFloatingVerticalPanel(),void("bottom"!=t&&"top"!=t||socialWarfare.toggleFloatingHorizontalPanel()))},socialWarfare.toggleMobileButtons=function(){socialWarfare.panels.floatingSide.hide();var a=socialWarfare.staticPanelIsVisible()?"collapse":"visible";e(".nc_wrapper, .swp_floating_horizontal_wrapper").css("visibility",a)},socialWarfare.toggleFloatingVerticalPanel=function(){var a="",e=socialWarfare.panels.floatingSide.data("float"),t=socialWarfare.staticPanelIsVisible(),i="";if(socialWarfare.isMobile())return socialWarfare.panels.floatingSide.hide();socialWarfare.panels.floatingSide&&socialWarfare.panels.floatingSide.length||(t=!0),"slide"==socialWarfare.panels.floatingSide.data("transition")?(a=e,i=t?"-150px":"5px",socialWarfare.panels.floatingSide.css(a,i).show()):t?socialWarfare.panels.floatingSide.css("opacity",1).fadeOut(300).css("opacity",0):socialWarfare.panels.floatingSide.css("opacity",0).fadeIn(300).css("display","flex").css("opacity",1)},socialWarfare.hasReferencePanel=function(){return void 0!==socialWarfare.panels.staticHorizontal&&socialWarfare.panels.staticHorizontal.length>0},socialWarfare.toggleFloatingHorizontalPanel=function(){if(socialWarfare.hasReferencePanel()&&socialWarfare.panels.floatingHorizontal){var a=socialWarfare.panels.floatingHorizontal.first(),t=socialWarfare.isMobile()?e(a).data("float-mobile"):e(a).data("float"),i="bottom"==t?socialWarfare.paddingBottom:socialWarfare.paddingTop,o="padding-"+t;"off"!=t&&(socialWarfare.staticPanelIsVisible()?(e(".nc_wrapper, .swp_floating_horizontal_wrapper").hide(),socialWarfare.isMobile()&&e("#wpadminbar").length&&e("#wpadminbar").css("top",0)):(i+=50,e(".nc_wrapper, .swp_floating_horizontal_wrapper").show(),socialWarfare.isMobile()&&"top"==t&&e("#wpadminbar").length&&e("#wpadminbar").css("top",a.parent().height())),e("body").css(o,i))}},socialWarfare.positionFloatSidePanel=function(){var e,t,i,o=socialWarfare.panels.floatingSide;if(o&&o.length&&!o.hasClass("swp_side_top")&&!o.hasClass("swp_side_bottom")){if(e=o.outerHeight(),t=a.innerHeight,e>t)return o.css("top",0);i=(t-e)/2,o.css("top",i)}},e(a).on("load",function(){"undefined"!=typeof swpPinIt&&swpPinIt.enabled&&socialWarfare.enablePinterestSaveButtons(),a.clearCheckID=0}),socialWarfare.enablePinterestSaveButtons=function(){jQuery("img").on("mouseenter",function(){var a=socialWarfare.findPinterestBrowserSaveButtons();void 0!==a&&a&&socialWarfare.removePinterestBrowserSaveButtons(a)}),e(".swp-content-locator").parent().find("img").each(socialWarfare.renderPinterestSaveButton),e(".sw-pinit .sw-pinit-button").on("click",function(t){t.preventDefault(),a.open(e(this).attr("href"),"Pinterest","width=632,height=253,status=0,toolbar=0,menubar=0,location=1,scrollbars=1"),socialWarfare.trackClick("pin_image")})},socialWarfare.renderPinterestSaveButton=function(){var a,t,i,o,r,s;if(a=e(this),!(void 0!=typeof swpPinIt.disableOnAnchors&&swpPinIt.disableOnAnchors&&e(a).parents().filter("a").length||a.outerHeight()<swpPinIt.minHeight||a.outerWidth()<swpPinIt.minWidth||a.hasClass("no_pin")||a.hasClass("no-pin"))){if(void 0!==swpPinIt.image_source&&swpPinIt.image_source.length){var n=new Image;n.src=swpPinIt.image_source,t=e(n).prop("src")}else a.data("media")?t=a.data("media"):e(this).data("lazy-src")?t=e(this).data("lazy-src"):a[0].src&&(t=a[0].src);t&&void 0!==t&&(void 0!==a.data("pin-description")?i=a.data("pin-description"):"string"==typeof a.data("pin-description")&&swpPinIt.image_description.length?i=swpPinIt.image_description:a.attr("title")?i=a.attr("title"):a.attr("alt")?i=a.attr("alt"):"string"==typeof swpPinIt.post_title&&(i=swpPinIt.post_title),s="http://pinterest.com/pin/create/bookmarklet/?media="+encodeURI(t)+"&url="+encodeURI(document.URL)+"&is_video=false&description="+encodeURIComponent(i),o=a.attr("class"),r=a.attr("style"),a.removeClass().attr("style","").wrap('<div class="sw-pinit" />'),a.after('<a href="'+s+'" class="sw-pinit-button sw-pinit-'+swpPinIt.vLocation+" sw-pinit-"+swpPinIt.hLocation+'">Save</a>'),a.parent(".sw-pinit").addClass(o).attr("style",r))}},socialWarfare.findPinterestBrowserSaveButtons=function(){var e,t,i,o,r,s;return e="rgb(189, 8, 28)",t="rgb(230, 0, 35)",i="8675309",o="14px 14px",r=null,document.querySelectorAll("span").forEach(function(n,l){s=a.getComputedStyle(n),s.backgroundColor!=e&&s.backgroundColor!=t||s.backgroundSize==o&&s.zIndex==i&&(r=n)}),r},socialWarfare.removePinterestBrowserSaveButtons=function(e){var t,i,o;t=e.nextSibling,void 0!==t&&"SPAN"==t.nodeName&&(i=a.getComputedStyle(t),o="24px",0===i.width.indexOf(o)&&0===i.height.indexOf(o)&&t.remove()),e.remove()},socialWarfare.fetchFacebookShares=function(){var a="https://graph.facebook.com/?fields=og_object{likes.summary(true).limit(0)},share&id="+swp_post_url,t=swp_post_recovery_url?"https://graph.facebook.com/?fields=og_object{likes.summary(true).limit(0)},share&id="+swp_post_recovery_url:"";e.when(e.get(a),e.get(t)).then(function(a,t){var i,o;i=socialWarfare.parseFacebookShares(a[0]),swp_post_recovery_url&&(i+=socialWarfare.parseFacebookShares(t[0]));var o={action:"swp_facebook_shares_update",post_id:swp_post_id,share_counts:i};e.post(swp_admin_ajax,o)})},socialWarfare.parseFacebookShares=function(a){var e=0;return void 0!==a.share&&(e+=parseInt(a.share.share_count),e+=parseInt(a.share.comment_count)),void 0!==a.og_object&&(e+=parseInt(a.og_object.likes.summary.total_count)),e},socialWarfare.trigger=function(t){e(a).trigger(e.Event(t))},socialWarfare.trackClick=function(a){!0===swpClickTracking&&("function"==typeof ga&&ga("send","event","social_media","swp_"+a+"_share"),"object"==typeof dataLayer&&dataLayer.push({event:"swp_"+a+"_share"}))},socialWarfare.checkListeners=function(a,t){if(!(a>t)){var i=e(".swp_social_panel");if(i.length>0&&i.find(".swp_pinterest"))return void socialWarfare.handleButtonClicks();setTimeout(function(){socialWarfare.checkListeners(++a,t)},2e3)}},socialWarfare.establishBreakpoint=function(){var a=e(".swp_social_panel");socialWarfare.breakpoint=1100,(a.length&&a.data("min-width")||0==a.data("min-width"))&&(socialWarfare.breakpoint=parseInt(a.data("min-width")))},socialWarfare.isMobile=function(){return e(a).width()<socialWarfare.breakpoint},e(document).ready(function(){socialWarfare.initPlugin(),socialWarfare.panels.floatingSide.hide(),e(a).resize(socialWarfare.onWindowResize)})}(this,jQuery);
1
+ window.socialWarfare=window.socialWarfare||{},function(a,e){"use strict";function t(a){return"string"==typeof a&&a.length>0}if("function"!=typeof e){if("function"!=typeof jQuery)return void console.log("Social Warfare requires jQuery, or $ as an alias of jQuery. Please make sure your theme provides access to jQuery before activating Social Warfare.");var e=jQuery}socialWarfare.paddingTop=parseInt(e("body").css("padding-top")),socialWarfare.paddingBottom=parseInt(e("body").css("padding-bottom")),socialWarfare.initPlugin=function(){if(e("body").css({paddingTop:socialWarfare.paddingTop,paddingBottom:socialWarfare.paddingBottom}),socialWarfare.establishPanels(),socialWarfare.establishBreakpoint(),socialWarfare.panels.staticHorizontal||socialWarfare.panels.floatingSide||socialWarfare.panels.floatingHorizontal){socialWarfare.createFloatHorizontalPanel(),socialWarfare.positionFloatSidePanel(),socialWarfare.activateHoverStates(),socialWarfare.handleButtonClicks(),socialWarfare.updateFloatingButtons(),"object"==typeof swpPinIt&&1==swpPinIt.enabled&&(socialWarfare.createHoverSaveButton(),socialWarfare.triggerImageListeners()),setTimeout(function(){socialWarfare.checkListeners(0,5)},2e3);var t=Date.now();e(a).scroll(function(){t+50-Date.now()<0&&(socialWarfare.updateFloatingButtons(),t=Date.now())})}};var i;socialWarfare.onWindowResize=function(){clearTimeout(i),i=setTimeout(socialWarfare.initPlugin,100)},socialWarfare.establishPanels=function(){return socialWarfare.panels={staticHorizontal:null,floatingSide:null,floatingHorizontal:null},socialWarfare.panels.staticHorizontal=e(".swp_social_panel").not(".swp_social_panelSide"),socialWarfare.panels.floatingSide=e(".swp_social_panelSide"),socialWarfare.panels},socialWarfare.activateHoverStates=function(){socialWarfare.trigger("pre_activate_buttons"),e(".swp_social_panel:not(.swp_social_panelSide) .nc_tweetContainer").on("mouseenter",function(){if(!e(this).hasClass("swp_nohover")){socialWarfare.resetStaticPanel();var a=e(this).find(".swp_share").outerWidth(),t=e(this).find("i.sw").outerWidth(),i=e(this).width(),o=1+(a+35)/i;e(this).find(".iconFiller").width(a+t+25+"px"),e(this).css("flex",o+" 1 0%")}}),e(".swp_social_panel:not(.swp_social_panelSide)").on("mouseleave",socialWarfare.resetStaticPanel)},socialWarfare.resetStaticPanel=function(){e(".swp_social_panel:not(.swp_social_panelSide) .nc_tweetContainer:not(.swp_nohover) .iconFiller").removeAttr("style"),e(".swp_social_panel:not(.swp_social_panelSide) .nc_tweetContainer:not(.swp_nohover)").removeAttr("style")},socialWarfare.handleButtonClicks=function(){e(".nc_tweet, a.swp_CTT").off("click"),e(".nc_tweet, a.swp_CTT").on("click",function(t){if(e(this).hasClass("noPop"))return t;if(void 0===e(this).data("link"))return t;t.preventDefault();var i,o,r,n,s,l,c=e(this).data("link").replace("’","'");i=270,o=500,e(this).is(".pinterest, .buffer_link, .flipboard")&&(i=550,o=775),e(this).hasClass("nc_tweet")?l=e(this).parents(".nc_tweetContainer").data("network"):e(this).hasClass("swp_CTT")&&(l="ctt"),r=a.screenY+(a.innerHeight-i)/2,n=a.screenX+(a.innerWidth-o)/2,s="height="+i+",width="+o+",top="+r+",left="+n,a.open(c,l,s),socialWarfare.trackClick(l)})},socialWarfare.createFloatHorizontalPanel=function(){if(socialWarfare.panels.staticHorizontal.length){var a=socialWarfare.panels.staticHorizontal.data("float"),t=socialWarfare.panels.staticHorizontal.data("float-mobile"),i=socialWarfare.panels.staticHorizontal.data("float-color"),o=e('<div class="nc_wrapper swp_floating_horizontal_wrapper" style="background-color:'+i+'"></div>'),r="";e(".nc_wrapper").length&&e(".nc_wrapper").remove(),e(".swp_floating_horizontal_wrapper").length&&e(".swp_floating_horizontal_wrapper").remove(),"top"!=a&&"bottom"!=a&&"top"!=t&&"bottom"!=t||(r=socialWarfare.isMobile()?t:a,o.addClass(r).hide().appendTo("body"),socialWarfare.panels.floatingHorizontal=socialWarfare.panels.staticHorizontal.first().clone(),socialWarfare.panels.floatingHorizontal.addClass("nc_floater").appendTo(o),socialWarfare.updateFloatingHorizontalDimensions(),e(".swp_social_panel .swp_count").css({transition:"padding .1s linear"}))}},socialWarfare.updateFloatingHorizontalDimensions=function(){if(socialWarfare.panels.staticHorizontal.length&&socialWarfare.panels.floatingHorizontal){var a="100%",e=0,t=socialWarfare.panels.staticHorizontal,i=t.parent();i.hasClass("swp-hidden-panel-wrap")&&(i=i.parent()),void 0!==t.offset().left&&(e=t.offset().left),void 0!==t.width()&&(a=t.width()),0==e&&(e=i.offset().left),100!=a&&0!=a||(a=i.width()),socialWarfare.panels.floatingHorizontal.css({width:a,left:e})}},socialWarfare.staticPanelIsVisible=function(){var t=!1,i=e(a).scrollTop();return e(".swp_social_panel").not(".swp_social_panelSide, .nc_floater").each(function(o){var r=e(this).offset();if(void 0!==socialWarfare.floatBeforeContent&&"1"!=socialWarfare.floatBeforeContent){var n=e(".swp-content-locator").parent();0===o&&n.length&&n.offset().top>i+e(a).height()&&(t=!0)}e(this).is(":visible")&&r.top+e(this).height()>i&&r.top<i+e(a).height()&&(t=!0)}),t},socialWarfare.updateFloatingButtons=function(){if(socialWarfare.panels.staticHorizontal.length)var a=socialWarfare.panels.staticHorizontal;else{if(!socialWarfare.panels.floatingSide.length)return;var a=socialWarfare.panels.floatingSide}var t=a.data("float");if(1==socialWarfare.isMobile())var t=a.data("float-mobile");return"none"==t?e(".nc_wrapper, .swp_floating_horizontal_wrapper, .swp_social_panelSide").hide():socialWarfare.isMobile()?(socialWarfare.toggleMobileButtons(),void socialWarfare.toggleFloatingHorizontalPanel()):("right"!=t&&"left"!=t||socialWarfare.toggleFloatingVerticalPanel(),void("bottom"!=t&&"top"!=t||socialWarfare.toggleFloatingHorizontalPanel()))},socialWarfare.toggleMobileButtons=function(){socialWarfare.panels.floatingSide.hide();var a=socialWarfare.staticPanelIsVisible()?"collapse":"visible";e(".nc_wrapper, .swp_floating_horizontal_wrapper").css("visibility",a)},socialWarfare.toggleFloatingVerticalPanel=function(){var a="",e=socialWarfare.panels.floatingSide.data("float"),t=socialWarfare.staticPanelIsVisible(),i="";if(socialWarfare.isMobile())return socialWarfare.panels.floatingSide.hide();socialWarfare.panels.floatingSide&&socialWarfare.panels.floatingSide.length||(t=!0),"slide"==socialWarfare.panels.floatingSide.data("transition")?(a=e,i=t?"-150px":"5px",socialWarfare.panels.floatingSide.css(a,i).show()):t?socialWarfare.panels.floatingSide.css("opacity",1).fadeOut(300).css("opacity",0):socialWarfare.panels.floatingSide.css("opacity",0).fadeIn(300).css("display","flex").css("opacity",1)},socialWarfare.hasReferencePanel=function(){return void 0!==socialWarfare.panels.staticHorizontal&&socialWarfare.panels.staticHorizontal.length>0},socialWarfare.toggleFloatingHorizontalPanel=function(){if(socialWarfare.hasReferencePanel()&&socialWarfare.panels.floatingHorizontal){var a=socialWarfare.panels.floatingHorizontal.first(),t=socialWarfare.isMobile()?e(a).data("float-mobile"):e(a).data("float"),i="bottom"==t?socialWarfare.paddingBottom:socialWarfare.paddingTop,o="padding-"+t;"off"!=t&&(socialWarfare.staticPanelIsVisible()?(e(".nc_wrapper, .swp_floating_horizontal_wrapper").hide(),socialWarfare.isMobile()&&e("#wpadminbar").length&&e("#wpadminbar").css("top",0)):(i+=50,e(".nc_wrapper, .swp_floating_horizontal_wrapper").show(),socialWarfare.isMobile()&&"top"==t&&e("#wpadminbar").length&&e("#wpadminbar").css("top",a.parent().height())),e("body").css(o,i))}},socialWarfare.positionFloatSidePanel=function(){var e,t,i,o=socialWarfare.panels.floatingSide;if(o&&o.length&&!o.hasClass("swp_side_top")&&!o.hasClass("swp_side_bottom")){if(e=o.outerHeight(),t=a.innerHeight,e>t)return o.css("top",0);i=(t-e)/2,o.css("top",i)}},socialWarfare.createHoverSaveButton=function(){var a=e(document.createElement("a"));return a.css("display: none"),a.addClass("swp-hover-pin-button"),a.text("Save"),socialWarfare.hoverSaveButton=e(a),a},socialWarfare.triggerImageListeners=function(){e(".swp-content-locator").parent().find("img").off("mouseenter",socialWarfare.renderPinterestSaveButton),e(".swp-content-locator").parent().find("img").on("mouseenter",socialWarfare.renderPinterestSaveButton),setTimeout(socialWarfare.triggerImageListeners,2e3)},socialWarfare.getPinMedia=function(a){if(t(swpPinIt.image_source))return swpPinIt.image_source;if(t(a.attr("src")))return a.attr("src");var i=["src","lazy-src","media"],o="";if(i.some(function(e){if(t(a.data(e)))return o=a.data(e),!0}),""!=o){var r=e("<img>");return r.attr("src",o),r.prop("src")}},socialWarfare.getPinDescription=function(a){return t(a.data("pin-description"))?a.data("pin-description"):t(swpPinIt.image_description)?swpPinIt.image_description:t(a.attr("title"))?a.attr("title"):t(a.attr("alt"))?a.attr("alt"):t(swpPinIt.post_title)?swpPinIt.post_title:void 0},socialWarfare.enablePinterestSaveButtons=function(){jQuery("img").on("mouseenter",function(){var a=socialWarfare.findPinterestBrowserSaveButtons();void 0!==a&&a&&socialWarfare.removePinterestBrowserSaveButtons(a)})},socialWarfare.toggleHoverSaveDisplay=function(a){var t=a.offset().top,i=a.offset().left;switch(swpPinIt.vLocation){case"top":t+=15;break;case"middle":var o=a.height()/2-7.5-12;t+=o;break;case"bottom":t+=a.height()-15-24}switch(swpPinIt.hLocation){case"left":i+=15;break;case"center":var o=a.width()/2-7.5-60;i+=o;break;case"right":i+=a.width()-15-120}socialWarfare.hoverSaveButton.css("top",t),socialWarfare.hoverSaveButton.css("left",i),a.on("mouseleave",function(a){"swp-hover-pin-button"!=a.relatedTarget.className&&e(".swp-hover-pin-button").remove()}),e(document.body).append(socialWarfare.hoverSaveButton)},socialWarfare.renderPinterestSaveButton=function(t){function i(t){var i=e(a).width()-1264,o=e(a).height()-506,r=",top="+o+",left="+i;a.open(s,"Pinterest","width=632,height=253,status=0,toolbar=0,menubar=0,location=1,scrollbars=1"+r),socialWarfare.trackClick("pin_image"),e(".swp-hover-pin-button").remove()}if(!(t.relatedTarget&&"swp-hover-pin-button"==t.relatedTarget.className||e(".swp-hover-pin-button").length>0)){var o=e(t.target);if(!(void 0!=typeof swpPinIt.disableOnAnchors&&swpPinIt.disableOnAnchors&&o.parents().filter("a").length||o.outerHeight()<swpPinIt.minHeight||o.outerWidth()<swpPinIt.minWidth||o.hasClass("no_pin")||o.hasClass("no-pin"))){socialWarfare.toggleHoverSaveDisplay(o);var r=socialWarfare.getPinDescription(o),n=socialWarfare.getPinMedia(o),s="http://pinterest.com/pin/create/bookmarklet/?media="+encodeURI(n)+"&url="+encodeURI(document.URL)+"&is_video=false&description="+encodeURIComponent(r);e(".swp-hover-pin-button").on("click",i)}}},socialWarfare.findPinterestBrowserSaveButtons=function(){var e,t,i,o,r,n;return e="rgb(189, 8, 28)",t="rgb(230, 0, 35)",i="8675309",o="14px 14px",r=null,document.querySelectorAll("span").forEach(function(s,l){n=a.getComputedStyle(s),n.backgroundColor!=e&&n.backgroundColor!=t||n.backgroundSize==o&&n.zIndex==i&&(r=s)}),r},socialWarfare.removePinterestBrowserSaveButtons=function(e){var t,i,o;t=e.nextSibling,void 0!==t&&"SPAN"==t.nodeName&&(i=a.getComputedStyle(t),o="24px",0===i.width.indexOf(o)&&0===i.height.indexOf(o)&&t.remove()),e.remove()},socialWarfare.trigger=function(t){e(a).trigger(e.Event(t))},socialWarfare.trackClick=function(a){!0===swpClickTracking&&("function"==typeof ga&&ga("send","event","social_media","swp_"+a+"_share"),"object"==typeof dataLayer&&dataLayer.push({event:"swp_"+a+"_share"}))},socialWarfare.checkListeners=function(a,t){if(!(a>t)){var i=e(".swp_social_panel");if(i.length>0&&i.find(".swp_pinterest"))return void socialWarfare.handleButtonClicks();setTimeout(function(){socialWarfare.checkListeners(++a,t)},2e3)}},socialWarfare.establishBreakpoint=function(){var a=e(".swp_social_panel");socialWarfare.breakpoint=1100,(a.length&&a.data("min-width")||0==a.data("min-width"))&&(socialWarfare.breakpoint=parseInt(a.data("min-width")))},socialWarfare.isMobile=function(){return e(a).width()<socialWarfare.breakpoint},e(document).ready(function(){socialWarfare.initPlugin(),socialWarfare.panels.floatingSide.hide(),e(a).resize(socialWarfare.onWindowResize),"undefined"!=typeof swpPinIt&&swpPinIt.enabled&&socialWarfare.enablePinterestSaveButtons()}),e(a).on("load",function(){"undefined"!=typeof swpPinIt&&swpPinIt.enabled&&socialWarfare.enablePinterestSaveButtons(),a.clearCheckID=0})}(this,jQuery);
lib/admin/SWP_User_Profile.php CHANGED
@@ -92,20 +92,44 @@ class SWP_User_Profile {
92
  */
93
  public function save_user_profile_fields( $user_id ) {
94
 
 
 
 
 
 
 
95
  if ( !current_user_can( 'edit_user' ) ) {
96
  return false;
97
  }
98
 
 
 
 
 
 
 
99
  $twitter = isset( $_POST['swp_twitter'] ) ? sanitize_text_field( $_POST['swp_twitter'] ) : '';
100
  if( strlen( $twitter ) > 15 ) {
101
  $twitter = '';
102
  }
103
 
 
 
 
 
 
 
104
  $facebook = isset( $_POST['swp_fb_author']) ? sanitize_text_field( $_POST['swp_fb_author'] ) : '';
105
- if ( strlen( $facebook ) > 50 ) {
106
  $facebook = '';
107
  }
108
 
 
 
 
 
 
 
109
  update_user_meta( $user_id, 'swp_twitter', $twitter );
110
  update_user_meta( $user_id, 'swp_fb_author', $facebook );
111
  }
92
  */
93
  public function save_user_profile_fields( $user_id ) {
94
 
95
+
96
+ /**
97
+ * Make sure the the user making these changes is a user that has been
98
+ * authorized to edit user profile fields.
99
+ *
100
+ */
101
  if ( !current_user_can( 'edit_user' ) ) {
102
  return false;
103
  }
104
 
105
+
106
+ /**
107
+ * Sanitize the Twitter field and then ensure that the Twitter field is
108
+ * not longer than the max allowed characters on Twitter.
109
+ *
110
+ */
111
  $twitter = isset( $_POST['swp_twitter'] ) ? sanitize_text_field( $_POST['swp_twitter'] ) : '';
112
  if( strlen( $twitter ) > 15 ) {
113
  $twitter = '';
114
  }
115
 
116
+
117
+ /**
118
+ * Sanitize the Facebook field and then ensure that the Facebook field is
119
+ * not longer than the max allowed characters on Facebook.
120
+ *
121
+ */
122
  $facebook = isset( $_POST['swp_fb_author']) ? sanitize_text_field( $_POST['swp_fb_author'] ) : '';
123
+ if ( strlen( $facebook ) > 50 ) {
124
  $facebook = '';
125
  }
126
 
127
+
128
+ /**
129
+ * If everything checks out, then go ahead and save the fields to the
130
+ * database.
131
+ *
132
+ */
133
  update_user_meta( $user_id, 'swp_twitter', $twitter );
134
  update_user_meta( $user_id, 'swp_fb_author', $facebook );
135
  }
lib/options/SWP_Option_Icons.php CHANGED
@@ -138,9 +138,7 @@ class SWP_Option_Icons extends SWP_Option {
138
  continue;
139
  }
140
 
141
- $network = $all_networks[$network_key];
142
-
143
- if ( false == $network->active ) {
144
  continue;
145
  }
146
 
138
  continue;
139
  }
140
 
141
+ if ( false == $all_networks[$network_key] ) {
 
 
142
  continue;
143
  }
144
 
lib/options/SWP_User_Options.php CHANGED
@@ -388,19 +388,20 @@ class SWP_User_Options {
388
  }
389
  }
390
 
391
- // Looking for suspicious texts
392
  if ( is_string( $value ) && !is_numeric( $value ) ) {
 
 
393
  if ( strpos( $value, 'script' )
394
  || ( strpos( $value, '(' ) && strpos( $value, '<' ) )
395
- || strpos( $value, 'fromCharCode' ) > -1 ) {
396
  $this->user_options[$key] = '';
397
  SWP_Utility::update_option( $key , '' );
398
  }
399
- }
400
 
401
- // Sanitize string inputs before storing in the db.
402
- if ( is_string( $value ) && !is_numeric( $value ) ) {
403
- $this->user_options[$key] = htmlspecialchars( $value );
 
404
  }
405
 
406
  if( $values[$key]['type'] == 'select' && !array_key_exists( $value, $values[$key]['values']) ) {
388
  }
389
  }
390
 
 
391
  if ( is_string( $value ) && !is_numeric( $value ) ) {
392
+
393
+ // Looking for suspicious texts
394
  if ( strpos( $value, 'script' )
395
  || ( strpos( $value, '(' ) && strpos( $value, '<' ) )
396
+ || ( strpos( $value, 'fromCharCode' ) > -1 ) ) {
397
  $this->user_options[$key] = '';
398
  SWP_Utility::update_option( $key , '' );
399
  }
 
400
 
401
+ else {
402
+ // Sanitize string inputs before storing in the db.
403
+ $this->user_options[$key] = htmlspecialchars( $value );
404
+ }
405
  }
406
 
407
  if( $values[$key]['type'] == 'select' && !array_key_exists( $value, $values[$key]['values']) ) {
lib/social-networks/SWP_Facebook.php CHANGED
@@ -11,6 +11,15 @@
11
  * @since 1.0.0 | Unknown | CREATED
12
  * @since 2.2.4 | 02 MAY 2017 | Refactored functions & updated docblocking
13
  * @since 3.0.0 | 05 APR 2018 | Rebuilt into a class-based system.
 
 
 
 
 
 
 
 
 
14
  *
15
  */
16
  class SWP_Facebook extends SWP_Social_Network {
@@ -41,11 +50,6 @@ class SWP_Facebook extends SWP_Social_Network {
41
  $this->base_share_url = 'https://www.facebook.com/share.php?u=';
42
 
43
  $this->init_social_network();
44
-
45
- if( true === $this->is_active() ):
46
- $this->register_cache_processes();
47
- endif;
48
-
49
  }
50
 
51
 
@@ -53,13 +57,15 @@ class SWP_Facebook extends SWP_Social_Network {
53
  * Generate the API Share Count Request URL
54
  *
55
  * @since 1.0.0 | 06 APR 2018 | Created
 
56
  * @access public
57
  * @param string $url The permalink of the page or post for which to fetch share counts
58
  * @return string $request_url The complete URL to be used to access share counts via the API
59
  *
60
  */
61
  public function get_api_link( $url ) {
62
- return 'https://graph.facebook.com/?fields=og_object{likes.summary(true).limit(0)},share&id=' . $url;
 
63
  }
64
 
65
 
@@ -67,132 +73,29 @@ class SWP_Facebook extends SWP_Social_Network {
67
  * Parse the response to get the share count
68
  *
69
  * @since 1.0.0 | 06 APR 2018 | Created
 
70
  * @access public
71
- * @param string $response The raw response returned from the API request
72
- * @return int $total_activity The number of shares reported from the API
73
  *
74
  */
75
  public function parse_api_response( $response ) {
76
- $formatted_response = json_decode( $response , true);
77
 
78
- if( !empty( $formatted_response['og_object'] ) ) {
79
- $likes = $formatted_response['og_object']['likes']['summary']['total_count'];
80
- } else {
81
- $likes = 0;
82
- }
83
 
84
- if( !empty( $formatted_response['share'] ) ){
85
- $comments = $formatted_response['share']['comment_count'];
86
- $shares = $formatted_response['share']['share_count'];
 
 
87
  } else {
88
- $comments = 0;
89
- $shares = 0;
90
  }
91
 
92
- $total = $likes + $comments + $shares;
 
93
  return $total;
94
  }
95
 
96
-
97
- /**
98
- * Register Cache Processes
99
- *
100
- * This method registered the processes that will need to be run during the
101
- * cache rebuild process. The new caching class (codenames neo-advanced cache
102
- * method) allows us to hook in functions that will run during the cache
103
- * rebuild process by hooking into the swp_cache_rebuild hook.
104
- *
105
- * @since 3.1.0 | 26 JUN 2018 | Created
106
- * @param void
107
- * @return void
108
- *
109
- */
110
- private function register_cache_processes() {
111
-
112
- add_action( 'swp_cache_rebuild', array( $this, 'add_facebook_footer_hook' ), 10, 1 );
113
- add_action( 'wp_ajax_swp_facebook_shares_update', array( $this, 'facebook_shares_update' ) );
114
- add_action( 'wp_ajax_nopriv_swp_facebook_shares_update', array( $this, 'facebook_shares_update' ) );
115
- }
116
-
117
-
118
- /**
119
- * A function to add the Facebook updater to the footer hook.
120
- *
121
- * This is a standalone method because we only want to hook into the footer
122
- * and display the script during the cache rebuild process.
123
- *
124
- * @since 3.1.0 | 25 JUN 2018 | Created
125
- * @param void
126
- * @return void
127
- *
128
- */
129
- public function add_facebook_footer_hook( $post_id ) {
130
- $this->post_id = $post_id;
131
- add_action( 'wp_footer', array( $this, 'print_facebook_script' ) );
132
- }
133
-
134
-
135
- /**
136
- * Output the AJAX/JS for updating Facebook share counts.
137
- *
138
- * @since 3.1.0 | 25 JUN 2018 | Created
139
- * @param void
140
- * @return void Output is printed directly to the screen.
141
- *
142
- */
143
- public function print_facebook_script() {
144
-
145
- if ( true === SWP_Utility::get_option( 'recover_shares' ) ) {
146
- $alternateURL = SWP_Permalink::get_alt_permalink( $this->post_id );
147
- } else {
148
- $alternateURL = false;
149
- }
150
-
151
- echo '<script type="text/javascript">
152
- document.addEventListener("DOMContentLoaded", function() {
153
- var swpButtonsExist = document.getElementsByClassName( "swp_social_panel" ).length > 0;
154
- if (swpButtonsExist) {
155
- swp_admin_ajax = "' . admin_url( 'admin-ajax.php' ) . '";
156
- swp_post_id=' . (int) $this->post_id . ';
157
- swp_post_url= "' . get_permalink() . '";
158
- swp_post_recovery_url = "' . $alternateURL . '";
159
- socialWarfare.fetchFacebookShares();
160
- }
161
- });
162
- </script>
163
- ';
164
- }
165
-
166
-
167
- /**
168
- * Process the Facebook shares response via admin-ajax.php.
169
- *
170
- * The object will be instantiated by the Cache_Loader class and it will
171
- * then call this method from there.
172
- *
173
- * @since 3.1.0 | 25 JUN 2018 | Created
174
- * @param void
175
- * @return void
176
- *
177
- */
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
-
190
- if ( $activity > $previous_activity || true === SWP_Utility::debug('force_new_shares') ) :
191
- delete_post_meta( $post_id, '_facebook_shares' );
192
- update_post_meta( $post_id, '_facebook_shares', $activity );
193
- endif;
194
-
195
- wp_die();
196
- }
197
-
198
  }
11
  * @since 1.0.0 | Unknown | CREATED
12
  * @since 2.2.4 | 02 MAY 2017 | Refactored functions & updated docblocking
13
  * @since 3.0.0 | 05 APR 2018 | Rebuilt into a class-based system.
14
+ * @since 3.6.0 | 22 APR 2018 | Removed all Javascript related functions for
15
+ * fetching share counts. This includes:
16
+ * register_cache_processes()
17
+ * add_facebook_footer_hook()
18
+ * print_facebook_script()
19
+ * facebook_shares_update()
20
+ * Shares are now fetched using the same two
21
+ * method process that are used by all other
22
+ * social networks in the plugin.
23
  *
24
  */
25
  class SWP_Facebook extends SWP_Social_Network {
50
  $this->base_share_url = 'https://www.facebook.com/share.php?u=';
51
 
52
  $this->init_social_network();
 
 
 
 
 
53
  }
54
 
55
 
57
  * Generate the API Share Count Request URL
58
  *
59
  * @since 1.0.0 | 06 APR 2018 | Created
60
+ * @since 3.6.0 | 22 APR 2019 | Updated API to v3.2.
61
  * @access public
62
  * @param string $url The permalink of the page or post for which to fetch share counts
63
  * @return string $request_url The complete URL to be used to access share counts via the API
64
  *
65
  */
66
  public function get_api_link( $url ) {
67
+ $access_token = base64_decode('MTc5NjYwNzk4Nzc0Mjk2fGZld2FfS0VPUzBwZWxzcFBPZndfanFsanFUaw==');
68
+ return 'https://graph.facebook.com/v3.2/?id='.$url.'&fields=engagement&access_token=' . $access_token;
69
  }
70
 
71
 
73
  * Parse the response to get the share count
74
  *
75
  * @since 1.0.0 | 06 APR 2018 | Created
76
+ * @since 3.6.0 | 22 APR 2019 | Updated to parse API v. 3.2.
77
  * @access public
78
+ * @param string $response The raw response returned from the API request
79
+ * @return integer $total_activity The number of shares reported from the API
80
  *
81
  */
82
  public function parse_api_response( $response ) {
 
83
 
84
+ // JSON decode the response.
85
+ $formatted_response = json_decode( $response , true);
 
 
 
86
 
87
+ // Parse the response to get integers.
88
+ if( !empty( $formatted_response['engagement'] ) ) {
89
+ $reaction_count = $formatted_response['engagement']['reaction_count'];
90
+ $comment_count = $formatted_response['engagement']['comment_count'];
91
+ $share_count = $formatted_response['engagement']['share_count'];
92
  } else {
93
+ $reaction_count = $comment_count = $share_count = 0;
 
94
  }
95
 
96
+ // Add up the integers and return the total.
97
+ $total = $reaction_count + $comment_count + $share_count;
98
  return $total;
99
  }
100
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  }
lib/social-networks/SWP_Social_Network.php CHANGED
@@ -424,7 +424,7 @@ class SWP_Social_Network {
424
  }
425
 
426
  // False if the share count is zero.
427
- if( $share_counts[$this->key] = 0 ) {
428
  return false;
429
  }
430
 
424
  }
425
 
426
  // False if the share count is zero.
427
+ if( $share_counts[$this->key] == 0 ) {
428
  return false;
429
  }
430
 
lib/utilities/SWP_Post_Cache.php CHANGED
@@ -249,12 +249,7 @@ class SWP_Post_Cache {
249
  * The methods in this section are used to rebuild all of the cached data.
250
  *
251
  */
252
- static function get_image_id( $image_url ) {
253
- global $wpdb;
254
- $attachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid='%s';", $image_url ));
255
- // Add a check here for a valid response prior to returning a subset of an array
256
- return $attachment[0];
257
- }
258
 
259
  /**
260
  * A method to rebuild all cached data
@@ -277,6 +272,7 @@ class SWP_Post_Cache {
277
  $this->update_image_cache( 'swp_pinterest_image' );
278
  $this->update_image_cache( 'swp_og_image' );
279
 
 
280
  if( true === $this->is_post_published() ) {
281
  $this->rebuild_share_counts();
282
  $this->process_urls();
@@ -380,20 +376,24 @@ class SWP_Post_Cache {
380
  $restore_from_cache = empty( $new_id ) && is_array( $old_data ) && false !== filter_var( $old_data[0], FILTER_VALIDATE_URL );
381
  $restore_from_array = is_array( $new_id ) && false !== filter_var( $new_id[0], FILTER_VALIDATE_URL );
382
 
383
- if ( $restore_from_cache || $restore_from_array ) {
384
- /**
385
- * This block is for people who are missing a key like `swp_og_image`
386
- * between v3.5.0 and v3.5.4.
387
- * The logic below will create the missing key based off of
388
- * data we have previously saved.
389
- *
390
- */
391
-
 
 
 
 
392
  // Convert the image URL into a valid WP ID.
393
  if ( $restore_from_array ) {
394
- $new_id = self::get_image_id( $new_id[0] );
395
  } elseif ( $restore_from_cache ) {
396
- $new_id = self::get_image_id( $old_data[0] );
397
  }
398
 
399
  // Bail if we didn't get an ID from the above function.
249
  * The methods in this section are used to rebuild all of the cached data.
250
  *
251
  */
252
+
 
 
 
 
 
253
 
254
  /**
255
  * A method to rebuild all cached data
272
  $this->update_image_cache( 'swp_pinterest_image' );
273
  $this->update_image_cache( 'swp_og_image' );
274
 
275
+ // Don't run these methods unless the post is published.
276
  if( true === $this->is_post_published() ) {
277
  $this->rebuild_share_counts();
278
  $this->process_urls();
376
  $restore_from_cache = empty( $new_id ) && is_array( $old_data ) && false !== filter_var( $old_data[0], FILTER_VALIDATE_URL );
377
  $restore_from_array = is_array( $new_id ) && false !== filter_var( $new_id[0], FILTER_VALIDATE_URL );
378
 
379
+
380
+ /**
381
+ * Filter out requests from the admin so that this "fix" doesn't
382
+ * override the user's preference whilst they are updating a post.
383
+ *
384
+ * This block is for people who are missing a key like `swp_og_image`
385
+ * between v3.5.0 and v3.5.4. The logic below will create the missing
386
+ * key based off of data we have previously saved.
387
+ *
388
+ */
389
+ if ( ($restore_from_cache || $restore_from_array) && !is_admin() ) {
390
+
391
+
392
  // Convert the image URL into a valid WP ID.
393
  if ( $restore_from_array ) {
394
+ $new_id = SWP_Utility::get_image_id_by_url( $new_id[0] );
395
  } elseif ( $restore_from_cache ) {
396
+ $new_id = SWP_Utility::get_image_id_by_url( $old_data[0] );
397
  }
398
 
399
  // Bail if we didn't get an ID from the above function.
lib/utilities/SWP_Utility.php CHANGED
@@ -491,4 +491,23 @@ class SWP_Utility {
491
 
492
  wp_die(1);
493
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
494
  }
491
 
492
  wp_die(1);
493
  }
494
+
495
+ /**
496
+ * Tries to get an image ID provided the URL of the image.
497
+ *
498
+ * @since 3.6.0 | 24 APR 2019 | Created.
499
+ * @param string $image_url The image to get an ID for.
500
+ * @return mixed integer ID if an ID is found, else false.
501
+ *
502
+ */
503
+ static function get_image_id_by_url( $image_url ) {
504
+ global $wpdb;
505
+ $attachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid='%s';", $image_url ));
506
+
507
+ if ( !is_array( $attachment ) || !is_numeric( $attachment[0] ) ) {
508
+ return false;
509
+ }
510
+
511
+ return $attachment[0];
512
+ }
513
  }
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: holas84, dustinwstout, webinator, warfareplugins, cdegraff1, ckmah
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.1
6
- Stable tag: 3.5.4
7
  Requires PHP: 5.6
8
  License: GNU General Public License v2.0 or later
9
 
@@ -194,8 +194,18 @@ We have a growing archive of <a href="https://warfareplugins.com/support/" rel="
194
 
195
  == Changelog ==
196
 
 
 
 
 
 
 
 
 
 
 
197
  = 3.5.4 (25 MAR 2019) =
198
- * Further security auditing and hardening of files against hacking.
199
 
200
  = 3.5.3 (21 MAR 2019) =
201
  * Immediate security patch for 3.5.x
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.1
6
+ Stable tag: 3.6.0
7
  Requires PHP: 5.6
8
  License: GNU General Public License v2.0 or later
9
 
194
 
195
  == Changelog ==
196
 
197
+ = 3.6.0 (2 MAY 2019) =
198
+ * Updated Hover Save Pin functionality to work more globally.
199
+ * Updated how Facebook share counts are requested.
200
+ * Fixed placement of hidden pinterest image.
201
+ * Fixed double quotation marks breaking Click to Tweets.
202
+ * Fixed the hover-pin-opt out checkbox in a post editor.
203
+ * Fixed hover pin description source.
204
+ * Fixed whitespace/new HTML document being created in buttons panels.
205
+ * Fixed character encoding for <meta> tags.
206
+
207
  = 3.5.4 (25 MAR 2019) =
208
+ * Code security audit and updates.
209
 
210
  = 3.5.3 (21 MAR 2019) =
211
  * Immediate security patch for 3.5.x
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.5.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.5.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.6.0
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.6.0' );
20
  define( 'SWP_PLUGIN_FILE', __FILE__ );
21
  define( 'SWP_PLUGIN_URL', untrailingslashit( plugin_dir_url( __FILE__ ) ) );
22
  define( 'SWP_PLUGIN_DIR', dirname( __FILE__ ) );