diff --git a/README.md b/README.md index f4dc6048..ebcf9c56 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,3 @@ -# [The SEO Framework Extension Manager](https://premium.theseoframework.com) # +# [The SEO Framework - Extension Manager](https://theseoframework.com/extension-manager/) # -## WordPress.org trunk ## - -[![The SEO Framework Plugin](https://img.shields.io/wordpress/plugin/v/the-seo-framework-extension-manager.svg)](https://wordpress.org/plugins/the-seo-framework-extension-manager/) -[![The SEO Framework Stats](https://img.shields.io/wordpress/plugin/dt/the-seo-framework-extension-manager.svg)](https://wordpress.org/plugins/the-seo-framework-extension-manager/advanced/) -[![The SEO Framework Reviews](https://img.shields.io/wordpress/plugin/r/the-seo-framework-extension-manager.svg)](https://wordpress.org/support/plugin/the-seo-framework-extension-manager/reviews/) - -> A free plugin for The SEO Framework. Get the Extension Manager [from WordPress.org](https://wordpress.org/plugins/the-seo-framework-extension-manager/). - -# Issues are managed elsewhere - -See [Extension Manager issues](https://github.com/sybrew/the-seo-framework/labels/%5BExtension%20Manager%5D). +For more information, see the [overview page](https://theseoframework.com/extension-manager/). diff --git a/bootstrap/define.php b/bootstrap/define.php index cd67b11b..08b3e794 100644 --- a/bootstrap/define.php +++ b/bootstrap/define.php @@ -22,10 +22,14 @@ * along with this program. If not, see . */ -// @NOTE The definable constants should be defined in `wp-config.php`. -// Alternatively, you may define them conditionally in a mu-plugin. -// These constants may fail to work as intended when defined in a regular plugin. The plugin load sequence affects this behavior. -// These constants won't work in a theme. +/** + * NOTE: + * The definable constants should be defined in `wp-config.php`. + * Alternatively, you may define them conditionally in a mu-plugin. + * + * These constants may fail to work as intended when defined in a regular plugin. The plugin load sequence affects this behavior. + * These constants won't work in a theme, this file is loaded before themes are. + */ /** * The forced plugin license information. @@ -63,7 +67,7 @@ * The plugin map URL. Used for calling browser files. * @since 1.0.0 */ -define( 'TSF_EXTENSION_MANAGER_DIR_URL', \plugin_dir_url( TSF_EXTENSION_MANAGER_PLUGIN_BASE_FILE ) ); +define( 'TSF_EXTENSION_MANAGER_DIR_URL', plugin_dir_url( TSF_EXTENSION_MANAGER_PLUGIN_BASE_FILE ) ); /** * The plugin map absolute path. Used for calling php files. @@ -114,14 +118,14 @@ define( 'TSF_EXTENSION_MANAGER_EXTENSION_OPTIONS', 'tsf-extension-manager-extension-settings' ); /** - * The extension options base name. + * The extension post meta options base name. * Has an underscore to hide it from custom fields. * @since 1.5.0 */ define( 'TSF_EXTENSION_MANAGER_EXTENSION_POST_META', '_tsfem-extension-post-meta' ); /** - * The extension options base name. + * The extension term meta options base name. * Has an underscore to conform to TSF_EXTENSION_MANAGER_EXTENSION_POST_META. * @since 1.5.0 */ diff --git a/bootstrap/update.php b/bootstrap/update.php index e570b518..7faffa51 100644 --- a/bootstrap/update.php +++ b/bootstrap/update.php @@ -74,7 +74,7 @@ function _hook_plugins_api( $res, $action, $args ) { $http_args = [ 'timeout' => 15, - 'user-agent' => 'WordPress/' . $wp_version . '; ' . \home_url( '/' ), + 'user-agent' => 'WordPress/' . $wp_version . '; ' . PHP_VERSION_ID . '; ' . \home_url( '/' ), 'body' => [ 'action' => $action, 'request' => serialize( $args ), @@ -99,7 +99,7 @@ function _hook_plugins_api( $res, $action, $args ) { $res = new WP_Error( 'plugins_api_failed', sprintf( /* translators: %s: support forums URL */ - \__( 'An unexpected error occurred. Something may be wrong with TheSEOFramework.com or this server’s configuration. If you continue to have problems, please contact us.' ), + \__( 'An unexpected error occurred. Something may be wrong with TheSEOFramework.com or this server’s configuration. If you continue to have problems, please contact us.', 'the-seo-framework-extension-manager' ), 'https://theseoframework.com/contact/' ), \wp_remote_retrieve_body( $request ) @@ -162,7 +162,7 @@ function _push_update( $value, $transient ) { $http_args = [ 'timeout' => 4, - 'user-agent' => 'WordPress/' . $wp_version . '; ' . \home_url( '/' ), + 'user-agent' => 'WordPress/' . $wp_version . '; ' . PHP_VERSION_ID . '; ' . \home_url( '/' ), 'body' => [ 'plugins' => [ TSF_EXTENSION_MANAGER_PLUGIN_BASENAME => $this_plugin, diff --git a/extensions/essentials/articles/trunk/articles.php b/extensions/essentials/articles/trunk/articles.php index 3bc49c92..b3e64dc6 100644 --- a/extensions/essentials/articles/trunk/articles.php +++ b/extensions/essentials/articles/trunk/articles.php @@ -8,7 +8,7 @@ * Extension Name: Articles * Extension URI: https://theseoframework.com/extensions/articles/ * Extension Description: The Articles extension enhances your published posts by automatically adding important [Structured Data](https://developers.google.com/search/docs/data-types/articles). - * Extension Version: 1.3.0 + * Extension Version: 1.3.1 * Extension Author: Sybre Waaijer * Extension Author URI: https://cyberwire.nl/ * Extension License: GPLv3 @@ -38,7 +38,7 @@ * @since 1.0.0 * NOTE: The presence does NOT guarantee the extension is loaded!!! */ -define( 'TSFEM_E_ARTICLES_VERSION', '1.3.0' ); +define( 'TSFEM_E_ARTICLES_VERSION', '1.3.1' ); /** * The extension file, absolute unix path. diff --git a/extensions/essentials/articles/trunk/readme.md b/extensions/essentials/articles/trunk/readme.md index e51ed69a..3b8a6536 100644 --- a/extensions/essentials/articles/trunk/readme.md +++ b/extensions/essentials/articles/trunk/readme.md @@ -1,6 +1,5 @@ # Articles Location: https://theseoframework.com/extensions/articles/ -Tags: blogging, news License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html @@ -172,6 +171,12 @@ add_filter( 'the_seo_framework_articles_default_meta', function( $meta = [] ) { ## Changelog +### 1.3.1 + +[tsfep-release time="-1"] + +* **Changed:** This is now an Essentials extension. + ### 1.3.0 [tsfep-release time="August 28th, 2018"] diff --git a/extensions/essentials/focus/trunk/focus.php b/extensions/essentials/focus/trunk/focus.php index b780a410..fbccf935 100644 --- a/extensions/essentials/focus/trunk/focus.php +++ b/extensions/essentials/focus/trunk/focus.php @@ -8,7 +8,7 @@ * Extension Name: Focus * Extension URI: https://theseoframework.com/extensions/focus/ * Extension Description: The Focus extension guides you through the process of writing targeted content that ranks with focus keywords, and for Premium users also their inflections and synonyms. - * Extension Version: 1.1.0 + * Extension Version: 1.1.1 * Extension Author: Sybre Waaijer * Extension Author URI: https://cyberwire.nl/ * Extension License: GPLv3 @@ -38,7 +38,7 @@ * @since 1.0.0 * NOTE: The presence does NOT guarantee the extension is loaded!!! */ -define( 'TSFEM_E_FOCUS_VERSION', '1.1.0' ); +define( 'TSFEM_E_FOCUS_VERSION', '1.1.1' ); /** * The extension file, absolute unix path. diff --git a/extensions/essentials/focus/trunk/inc/classes/admin.class.php b/extensions/essentials/focus/trunk/inc/classes/admin.class.php index f7ca8604..66db4864 100644 --- a/extensions/essentials/focus/trunk/inc/classes/admin.class.php +++ b/extensions/essentials/focus/trunk/inc/classes/admin.class.php @@ -170,6 +170,9 @@ public function _enqueue_inpost_scripts( $inpostgui ) { 'focusElements' => $this->get_focus_elements(), 'defaultLexicalForm' => json_encode( $this->default_lexical_form ), 'languageSupported' => $this->is_language_supported(), + 'i18n' => [ + 'noExampleAvailable' => \__( 'No example available.', 'the-seo-framework-extension-manager' ), + ], ], ], 'tmpl' => [ diff --git a/extensions/essentials/focus/trunk/lib/js/tsfem-focus-inpost.js b/extensions/essentials/focus/trunk/lib/js/tsfem-focus-inpost.js index df1be061..a5b56302 100644 --- a/extensions/essentials/focus/trunk/lib/js/tsfem-focus-inpost.js +++ b/extensions/essentials/focus/trunk/lib/js/tsfem-focus-inpost.js @@ -941,7 +941,7 @@ window.tsfem_e_focus_inpost = function( $ ) { for ( let _i = 0; _i < synonyms.length; _i++ ) { _option = _option.cloneNode(); _option.value = _i; - _option.innerHTML = tsfem_inpost.escapeStr( synonyms[ _i ].example ); + _option.innerHTML = tsfem_inpost.escapeStr( synonyms[ _i ].example || l10n.i18n.noExampleAvailable ); definitionDropdownClone.appendChild( _option ); } definitionDropdown.innerHTML = definitionDropdownClone.innerHTML; diff --git a/extensions/essentials/focus/trunk/lib/js/tsfem-focus-inpost.min.js b/extensions/essentials/focus/trunk/lib/js/tsfem-focus-inpost.min.js index fb9e5413..d9c96528 100644 --- a/extensions/essentials/focus/trunk/lib/js/tsfem-focus-inpost.min.js +++ b/extensions/essentials/focus/trunk/lib/js/tsfem-focus-inpost.min.js @@ -1 +1 @@ -'use strict';window.tsfem_e_focus_inpost=function(c){const d=tsfem_e_focusInpostL10n,f='#tsfem-e-focus-analysis-notification-area';var g={},h={},j={};const k=Y=>{return(/.*\[[0-9]+\]/.exec(Y)||'')[0]},l=(Y,Z)=>{return Y+'['+Z+']'},m=(Y,Z)=>{return document.getElementById(Y+'['+Z+']')},n=Y=>{return Object.keys(Y).sort((Z,_)=>{return Object.keys(Z)[0]-Object.keys(_)[0]}),Y},o=(Y,Z)=>{if(Y&&Y===Object(Y)){let _=g;Z=!!Z;let aa,ba;for(let ca in Y)for(let da in aa=Y[ca],_[ca]||(_[ca]={}),aa)if(ba=aa[da],_[ca][ba]||(_[ca][ba]=[]),Z){let ea=Object.keys(_[ca][ba]).map(fa=>_[ca][ba][fa]);if(-1ea!==da);g=_}},p=Y=>{const Z=g;let _=h,aa={},ba=!1,ca='',da=[];const ea=ga=>{aa=Z[ga],ba=!1,ca='',da=[],'undefined'!=typeof aa.dominate&&aa.dominate.forEach(ha=>{document.querySelector(ha)&&(ba=!0,ca=ha)}),ba||'undefined'==typeof aa.append||aa.append.forEach(ha=>{document.querySelector(ha)&&da.push(ha)}),ba?_[ga]=[ca]:da.length?_[ga]=da:fa(ga)},fa=ga=>{delete _[ga]};if(Y)'undefined'==typeof Z[Y]?fa(Y):ea(Y);else{for(var ga in Z)ea(ga)}h=_},q=Y=>{let ea,Z=c(Y).data('scores'),_=0,aa=0,ba=0,ca=0,da=0,fa=Z.assessment.regex;fa!==Object(fa)&&(fa=[fa]);let ga=k(Y.id),ha=M(ga).get('inflections'),ia=M(ga).get('synonyms');const ja=qa=>{return qa=qa.match(/[^>]+(?=<|$|^)/gi),qa&&qa.join('').length||0},ka=(qa,ra)=>{let sa,ta=tsfem_inpost.bewilderRegexNonWords(tsfem_inpost.escapeRegex(tsfem_inpost.escapeStr(qa,!0)));for(let ua=0;uara.replace(new RegExp(tsfem_inpost.escapeRegex(tsfem_inpost.escapeStr(qa,!0)),'gi'),'/'),ma=qa=>{let ra=ha,sa=qa;return ra.length&&ra.sort((ta,ua)=>ua.length-ta.length),tsfem_inpost.promiseLoop(ra,ta=>{let ua=ka(ta,sa);_+=ua,ba+=ta.length*ua,sa=la(ta,sa)},5)},na=qa=>{let ra=ia,sa=qa;return ra.length&&ra.sort((ta,ua)=>ua.length-ta.length),tsfem_inpost.promiseLoop(ra,ta=>{let ua=ka(ta,sa);aa+=ua,ca+=ta.length*ua,sa=la(ta,sa)},5)};c.when(tsfem_inpost.promiseLoop(h[Z.assessment.content],qa=>{let ra=document.querySelector(qa),sa=c.Deferred();return(ea='undefined'==typeof ra.value?'':ra.value,ea.length||(ea=ra.innerHTML),!ea.length)?sa.resolve():(ea=tsfem_inpost.normalizeSpacing(ea).trim(),!ea.length)?sa.resolve():(da+=ja(ea),c.when(ma(ea),na(ea)).done(()=>{sa.resolve()}),sa.promise())},5)).done(()=>{let qa=Z.scoring,ra=0,sa=0;const ta=(Ba,Ca)=>Ca>Ba?Ba:Ca,ua=(Ba,Ca)=>Math.floor(Ca/Ba.per)*Ba.score,va=(Ba,Ca)=>Ca*(Ba/100),wa=(Ba,Ca)=>100*(Ca/Ba),xa=(Ba,Ca)=>Ca/Ba.threshold*Z.maxScore;switch(qa.type){case'n':_&&(sa+=ua(qa.keyword,ta(qa.keyword.max,_))),aa&&(sa+=ua(qa.synonym,ta(qa.synonym.max,aa)));break;case'p':da&&(ba&&(ra+=wa(da,va(qa.keyword.weight,ba))),ca&&(ra+=wa(da,va(qa.synonym.weight,ca)))),sa=xa(qa,ra);}let ya=document.querySelector('input[name="'+Y.id+'"]');ya&&(ya.value=sa);let za=Y.querySelector('.tsfem-e-focus-assessment-description'),Aa=r(Z.phrasing,sa);za.innerHTML===Aa?(tsfem_inpost.setIconClass(Y.querySelector('.tsfem-e-focus-assessment-rating'),t(Z.rating,sa)),za.style.opacity='1',za.style.willChange='auto'):(za.style.willChange='contents, opacity',za.style.opacity='0',za.innerHTML=Aa,tsfem_inpost.setIconClass(Y.querySelector('.tsfem-e-focus-assessment-rating'),t(Z.rating,sa)),tsfem_inpost.fadeIn(za),za.style.willChange='auto')})},r=(Y,Z)=>{let _;for(let aa in Y=n(Y),Y)if(isFinite(aa)&&!isNaN(parseFloat(aa)))if(aa<=Z)_=Y[aa];else break;return _?_:Y[Object.keys(Y)[0]]},t=(Y,Z)=>{let _=r(Y,Z).toString(),aa={0:'unknown',1:'bad',2:'warning',3:'okay',4:'good','-1':'error'};return'undefined'!=typeof aa[_]&&aa[_]||aa['-1']},u=Y=>{let Z=m(Y,'keyword').value,_=m(Y,'lexical_form');if(!(!_ instanceof HTMLInputElement)){E(Y).to('loading');const aa=ca=>{let da=m(Y,'lexical_selector'),ea=m(Y,'lexical_data'),fa=JSON.parse(d.defaultLexicalForm);fa=Object.keys(fa).map(ha=>fa[ha]),ca.length&&(ca.forEach(ha=>{ha.inflection&&ha.category&&fa.push({value:ha.inflection,category:ha.category,name:ha.category+': '+ha.inflection})}),A(Y).to('enabled'));let ga=fa.length&&JSON.stringify(fa)||d.defaultLexicalForm;_.value='',ea instanceof HTMLInputElement&&(ea.value=ga),da instanceof HTMLSelectElement&&(w(Y,ga),da.disabled=!1,da.selectedIndex=0)};c.when(((ca,da)=>{let ea={method:'POST',url:ajaxurl,dataType:'json',data:{action:'tsfem_e_focus_get_lexicalforms',nonce:d.nonce,post_ID:tsfem_inpost.postID,args:{keyword:da,language:'en'}},timeout:15000,async:!0},fa=c.Deferred();return tsfem_inpost.doAjax(fa,ea,{noticeArea:f,premium:!0}),fa.promise()})(Y,Z)).done(ca=>{aa(ca.forms)}).fail(()=>{v(Y,'lexical')}).always(()=>{E(Y).to('edit')})}},v=(Y,Z)=>{const _=()=>{let ea=m(Y,'lexical_form'),fa=m(Y,'lexical_selector'),ga=m(Y,'lexical_data');ea instanceof HTMLInputElement&&(ea.value=''),ga instanceof HTMLInputElement&&(ga.value=d.defaultLexicalForm),fa instanceof HTMLSelectElement&&(fa.disabled=!0,fa.selectedIndex=0,fa.dataset.prev=0,w(Y,d.defaultLexicalForm)),E(Y).to('unchecked')},aa=()=>{let ea=m(Y,'definition_dropdown'),fa=m(Y,'definition_selection');ea instanceof HTMLSelectElement&&(ea.selectedIndex=0,ea.innerHTML='',document.querySelector('[data-for="'+ea.id+'"]').innerHTML=''),fa instanceof HTMLInputElement&&(fa.value=''),M(Y).clearCache()},ba=()=>{let ea=m(Y,'inflections'),fa=ea&&ea.querySelector('.tsfem-e-focus-subject-selection'),ga=m(Y,'inflection_data'),ha=m(Y,'active_inflections');fa instanceof Element&&(fa.innerHTML=''),ga instanceof HTMLInputElement&&(ga.value=''),ha instanceof HTMLInputElement&&(ha.value=''),M(Y).clearCache('inflections')},ca=()=>{let ea=m(Y,'synonyms'),fa=ea&&ea.querySelector('.tsfem-e-focus-subject-selection'),ga=m(Y,'synonym_data'),ha=m(Y,'active_synonyms');fa instanceof Element&&(fa.innerHTML=''),ga instanceof HTMLInputElement&&(ga.value=''),ha instanceof HTMLInputElement&&(ha.value=''),M(Y).clearCache('synonyms'),tsfem_inpost.isPremium&&K(Y)},da=()=>{m(Y,'scores').querySelectorAll('input').forEach(ea=>ea.value=0)};switch(Z){case'lexical':_(),aa();break;case'definition':aa();break;case'inflections':ba();break;case'synonyms':ca();break;case'ratings':da();break;default:_(),aa(),ba(),ca(),da();}},w=(Y,Z)=>{let _=m(Y,'lexical_selector');for(let ca=_.options.length;ca--;)_.remove(ca);let aa=document.createElement('option'),ba=JSON.parse(Z);if(ba)for(let ca in ba)aa=aa.cloneNode(),aa.value=tsfem_inpost.escapeStr(ca),aa.innerHTML=tsfem_inpost.escapeStr(ba[ca].name),_.appendChild(aa)};var x={};const y=Y=>{let Z=Y.data.idPrefix,_=m(Z,'lexical_selector'),aa=m(Z,'lexical_form'),ba=m(Z,'lexical_data');const ca=()=>{let ha=JSON.parse(ba.value),ia=ha[aa.value],ja={method:'POST',url:ajaxurl,dataType:'json',data:{action:'tsfem_e_focus_get_synonyms',nonce:d.nonce,post_ID:tsfem_inpost.postID,args:{form:ia,language:'en'}},timeout:15000,async:!0},ka=c.Deferred();return tsfem_inpost.doAjax(ka,ja,{noticeArea:f,premium:!0}),ka.promise()},da=ha=>{aa.value=ha,_.value=ha,_.selectedIndex=+ha},ea=()=>{v(Z,'inflections');let ha=m(Z,'keyword').value.toLowerCase(),ia=aa.value,ja=ba.value,ka='',la=[];return ka=JSON.parse(ja)[ia].value.toLowerCase(),la.push(ha),ha!==ka&&la.push(ka),m(Z,'inflection_data').value=JSON.stringify([{inflections:la}]),c.Deferred().resolve()},fa=()=>{let ha=c.Deferred();return c.when(ca()).done(ia=>{v(Z,'definition'),v(Z,'synonyms'),_.dataset.prev=_.value,m(Z,'synonym_data').value=JSON.stringify(ia.synonyms),ha.resolve()}).fail(ia=>{1100202===ia||1100205===ia?(v(Z,'definition'),v(Z,'synonyms'),_.dataset.prev=_.value,m(Z,'synonym_data').value='',ha.resolve()):(da(_.dataset.prev||0),ha.reject())}),ha.promise()};(()=>{E(Z).to('loading'),clearTimeout(x[Z]),x[Z]=setTimeout(()=>{_.dataset.prev==_.value?E(Z).to('edit'):(da(_.value),+_.value?c.when(ea(),fa()).done(()=>{z(Z),K(Z),E(Z).to('enabled, edit, checked')}).fail(()=>{E(Z).to('edit')}):(_.dataset.prev=_.value,E(Z).to('unchecked, disabled, edit'),v(Z,'definition'),v(Z,'inflections'),v(Z,'synonyms')))},1500)})()},z=Y=>{let Z=m(Y,'synonym_data'),_=m(Y,'definition_dropdown'),aa=m(Y,'definition_selection'),ba=_.cloneNode(!0),ca=Z.value&&JSON.parse(Z.value)||{};for(let fa=ba.options.length;fa--;)ba.remove(fa);let da=document.createElement('option');for(let fa=0;fa{const Z=aa=>{c(aa).off('change.tsfemInpostLexical').on('change.tsfemInpostLexical',{idPrefix:Y},y)},_=aa=>{c(aa).off('change.tsfemInpostLexical')};return{to:aa=>{let ba=m(Y,'lexical_selector');if(!(!ba instanceof HTMLSelectElement))switch(aa){case'enabled':Z(ba);break;default:case'disabled':_(ba);}}}},B=Y=>{let Z=m(Y,'scores'),_=Z&&Z.querySelectorAll('.tsfem-e-focus-assessment-wrap');if(!_||_!==Object(_))D(Y).to('error');else{D(Y).to('enabled');for(let aa=_.length;aa--;)C(_[aa]);T(Y)}},C=Y=>{let Z=k(Y.id),_=m(Z,'keyword').value;if(_){let aa,ba,ca,da,ea;ba=Y.querySelector('.tsfem-e-focus-assessment-rating'),tsfem_inpost.setIconClass(ba,'loading'),ca=!0,ea='undefined'!=typeof Y.dataset.assess&&!+Y.dataset.assess,aa=c(Y).data('scores'),aa&&aa.hasOwnProperty('assessment')&&'undefined'!=typeof h[aa.assessment.content]&&(Y.dataset.assess=1,O(Y,aa.assessment.content),ca=!1),ca?(tsfem_inpost.setIconClass(ba,'unknown'),Y.dataset.assess=0,da=document.getElementsByName(Y.id),da&&da[0]&&(da[0].value=0),tsfem_inpost.fadeOut(Y,250)):ea&&tsfem_inpost.fadeIn(Y,250)}},D=Y=>{let Z=c(m(Y,'content')),_=['.tsfem-e-focus-scores-wrap','.tsfem-e-focus-no-keyword-wrap','.tsfem-e-focus-something-wrong-wrap'];const aa=ba=>{_.splice(_.indexOf(ba),1),Z.find(_.join(', ')).fadeOut(150,()=>{setTimeout(()=>{Z.find(ba).fadeIn(250)},150)})};return{to:ba=>{let ca;switch(ba){case'disabled':ca='.tsfem-e-focus-no-keyword-wrap';break;case'enabled':ca='.tsfem-e-focus-scores-wrap';break;default:case'error':ca='.tsfem-e-focus-something-wrong-wrap';}aa(ca)}}},E=Y=>{return{to:Z=>{let _=m(Y,'subject_edit');if(_&&!(!_ instanceof HTMLInputElement)){let aa=document.querySelector('label[for="'+_.id+'"]'),ba=_.parentNode,ca='tsfem-e-focus-edit-subject-button-wrap-disabled';Z.split(',').forEach(da=>{switch(da.trim()){case'checked':_.checked||(_.checked=!0,c(_).trigger('change'));break;case'unchecked':_.checked&&(_.checked=!1,c(_).trigger('change'));break;case'loading':aa&&tsfem_inpost.setIconClass(aa,'loading');break;case'edit':aa&&tsfem_inpost.setIconClass(aa,'edit');break;case'enabled':_.disabled=!1,ba.classList.add(ca),ba.classList.remove(ca);break;case'disabled':_.disabled=!0,ba.classList.remove(ca),ba.classList.add(ca);break;default:}})}}}},F=()=>{c('.tsfem-e-focus-collapse-header').off('dblclick.tsfem-e-focus').on('dblclick.tsfem-e-focus',Z=>{if(!tsfem_inpost.isActionableElement(Z.target)){let _=c(Z.target).closest('.tsfem-e-focus-collapse-wrap'),aa=k(_.attr('id')),ba=m(aa,'collapser');ba instanceof HTMLInputElement&&(ba.checked=!ba.checked)}})},G=()=>{let Y={},Z=1500,_=3,ba={},ca={},da=Z/(100*_);da*=1.175;const ea=(ia,ja)=>{ja.style.width=++ba[ia]/_+'%'},fa=(ia,ja)=>{ba[ia]=0,ja.style.width='0%'};let ga=c('.tsfem-e-focus-keyword-entry');const ha=ia=>{let ja=ia.target,ka=ja.value.trim().replace(/[\s\t\r\n]+/g,' ')||'',la=ja.dataset.prev||'';if(ia.target.value=ka,ka!==la){let ma=k(ia.target.id);return ja.dataset.prev=ka,v(ma),E(ma).to('disabled, edit'),c(m(ma,'scores')).find('.tsfem-e-focus-assessment-description').css('opacity','0'),ka.length?void(tsfem_inpost.isPremium&&d.languageSupported&&u(ma),B(ma)):(D(ma).to('disabled'),void A(ma).to('disabled'))}};ga.off('input.tsfem-e-focus').on('input.tsfem-e-focus',ia=>{let ja=k(ia.target.id),ka=m(ja,'content').querySelector('.tsfem-e-focus-content-loader-bar'),la=m(ja,'collapser');la.checked&&(la.checked=!1,c(la).trigger('change')),clearInterval(ca[ja]),clearTimeout(Y[ja]),fa(ja,ka),ca[ja]=setInterval(()=>ea(ja,ka),da),Y[ja]=setTimeout(()=>{clearInterval(ca[ja]),ha(ia),fa(ja,ka)},Z)}),ga.each((ia,ja)=>{if(!ja.value.length){let ka=k(ja.id);v(ka)}})},H=()=>{const Y=ea=>{let ga,ha,ia,ja,fa=ea.target,ka=0,la='',ma=0,na='',oa=ea.data&&ea.data.change||!1;if('undefined'!=typeof fa.dataset.for&&(ga=fa.dataset.for),!ga)return!1;if(ha=document.getElementById(ga),ja=k(ga),ia=m(ja,'definition_selection'),!ha)return!1;ka=ha.value,la=fa.innerHTML;const pa=()=>{fa.innerHTML=na,ha.value=ma,ia.value=ma,+ma!=+ka&&(m(ja,'active_synonyms').value='',m(ja,'active_inflections').value='',K(ja)),wa()},sa=()=>{c(ha).blur().hide(),c(fa).fadeIn(300)},ta=Aa=>{ua(Aa.target),+ma==+ka&&wa()||pa()},ua=Aa=>{ma=Aa.value,na=Aa.options[Aa.selectedIndex].text},va=Aa=>{let Ba=c(Aa.target).closest(ha);1>Ba.length&&wa()},wa=()=>{return za(),sa(),!0},xa=()=>{ua(ha),pa()},za=()=>{ha.removeEventListener('blur',wa),ha.removeEventListener('change',ta),window.removeEventListener('click',va)};(()=>{c(fa).hide(),c(ha).slideDown(200).focus()})(),setTimeout(()=>{ha.addEventListener('blur',wa),ha.addEventListener('change',ta),window.addEventListener('click',va),oa&&xa()},10)};let aa='click.tsfem-e-focus-definition-editor',ba='keypress.tsfem-e-focus-definition-editor',ca='set-tsfem-e-focus-definition';c('.tsfem-e-focus-definition-editor').off(aa).on(aa,Y).off(ba).on(ba,ea=>{32==ea.which&&(ea.preventDefault(),Y(ea))}).off(ca).on(ca,{change:1},Y);let da='change.tsfem-e-focus-edit-subject-toggle';c('.tsfem-e-focus-edit-subject-checkbox').off(da).on(da,ea=>{let fa=k(ea.target.id),ga=m(fa,'edit'),ha=m(fa,'evaluate'),ia=m(fa,'collapser');ia.checked?(ea.target.checked=!0,ha.style.display='none',ha.style.opacity=0,ga.style.display=null,ga.style.opacity=1,ia.checked=!1):ea.target.checked?tsfem_inpost.fadeOut(ha,150,{cb:()=>{tsfem_inpost.fadeIn(ga,250),ea.target.checked=!0},promise:!1}):tsfem_inpost.fadeOut(ga,150,{cb:()=>{tsfem_inpost.fadeIn(ha,250),ea.target.checked=!1},promise:!1})})};var I={};const J=()=>{const Y=ea=>(/\[([0-9]+)\]$/.exec(ea)||'')[1],Z=ea=>{let fa=m(ea,'inflections'),ga=fa.querySelectorAll('input:checked'),ha=[];ga.forEach(ia=>{ha.push(Y(ia.id))}),m(ea,'active_inflections').value=ha.join(),M(ea).clearCache('inflections'),T(ea)},_=ea=>{let fa=m(ea,'synonyms'),ga=fa.querySelectorAll('input:checked'),ha=[];ga.forEach(ia=>{ha.push(Y(ia.id))}),m(ea,'active_synonyms').value=ha.join(),M(ea).clearCache('synonyms'),T(ea)},aa=ea=>{let fa=ea.data.idPrefix,ga=ea.data.type,ha=fa+ga;clearTimeout(I[ha]),I[ha]=setTimeout(()=>{'inflections'===ga?Z(fa):'synonyms'===ga?_(fa):void 0},1500)},ba=(ea,fa)=>{c(m(ea,fa)).find('input').off('change.tsfem-e-focus').on('change.tsfem-e-focus',{idPrefix:ea,type:fa},aa)};let da='tsfem-e-focus-updated-subject.tsfem-e-focus';c(window).off(da).on(da,(ea,fa)=>{if(fa&&fa.idPrefix){const ga=fa.idPrefix,ha=m(ga,'inflection_data'),ia=m(ga,'synonym_data'),ja=m(ga,'definition_selection'),ka=m(ga,'inflections'),la=m(ga,'synonyms'),ma=ka.querySelector('.tsfem-e-focus-subject-selection'),na=la.querySelector('.tsfem-e-focus-subject-selection'),oa=wp.template('tsfem-e-focus-subject-item');let pa=ha.value&&JSON.parse(ha.value),qa=pa&&pa[0].inflections||{},ra=ia.value&&JSON.parse(ia.value),sa=ra&&ra[+ja.value]&&ra[+ja.value].synonyms||{};ma.style.opacity=0,na.style.opacity=0;let ta=m(ga,'active_inflections').value.split(','),ua=m(ga,'active_synonyms').value.split(','),va='',wa=l(ga,'inflection');for(let xa in qa)va+=oa({id:l(wa,xa),value:qa[xa],checked:!+xa||-1{c(window).trigger('tsfem-e-focus-updated-subject',[{idPrefix:Y}])};var L={};const M=Y=>{M.hasOwnProperty(Y)||(L[Y]={},L[Y].inflections=null,L[Y].synonyms=null);const Z=()=>{let ca,da,ea=m(Y,'active_inflections');if(ea instanceof HTMLInputElement&&ea.value){let fa=m(Y,'inflection_data').value;da=JSON.parse(fa)[0].inflections,ca=[],ea.value.split(',').forEach(ga=>{ca.push(da[+ga])})}if(!ca){let fa=m(Y,'keyword').value;ca=fa&&[fa]||!1}return ca=ca||!1,L[Y].inflections=ca,ca},_=()=>{let ca,da,ea=m(Y,'active_synonyms'),fa=m(Y,'definition_selection');if(ea instanceof HTMLInputElement&&ea.value){let ga=m(Y,'synonym_data').value;da=JSON.parse(ga)[+fa.value].synonyms,ca=[],ea.value.split(',').forEach(ha=>{ca.push(da[+ha])})}return ca=ca||!1,L[Y].synonyms=ca,ca},aa=ca=>{if(null!==L[Y][ca])return L[Y][ca];return'inflections'===ca?Z():'synonyms'===ca?_():{inflections:Z(),synonyms:_()}},ba=ca=>{ca?delete L[Y][ca]:delete L[Y]};return{get:ca=>aa(ca),clearCache:ca=>ba(ca)}},N=(Y,Z)=>{if('undefined'!=typeof j[Y]){Z=Z||'unknown';for(let _=j[Y].length;_--;)tsfem_inpost.setIconClass(document.getElementById(j[Y][_]).querySelector('.tsfem-e-focus-assessment-rating'),Z)}},O=(Y,Z)=>{let _=j;_&&_===Object(_)||(_=[]),_[Z]&&_[Z]===Object(_[Z])||(_[Z]=[]),Y.id&&('undefined'==typeof h[Z]?delete _[Z][Y.id]:0>_[Z].indexOf(Y.id)&&_[Z].push(Y.id)),j=_};var P={},Q={};const R=Y=>{const Z=ca=>{tsfem_inpost.promiseLoop(j[ca],da=>{let ea=k(da),fa=m(ea,'keyword'),ga=fa.value||'';if(ga.length){let ha=document.getElementById(da),ia=ha.querySelector('.tsfem-e-focus-assessment-rating');tsfem_inpost.setIconClass(ia,'loading'),setTimeout(()=>q(ha),150)}})},_=ca=>{'undefined'==typeof j[ca.data.type]||(clearTimeout(P[ca.data.type]),!Q[ca.data.type]&&(setTimeout(()=>tsfem_inpost.setIconClass(document.querySelectorAll('[data-assessment-type="'+ca.data.type+'"] .tsfem-e-focus-assessment-rating'),'unknown'),0),Q[ca.data.type]=!0),P[ca.data.type]=setTimeout(()=>{Z(ca.data.type),Q[ca.data.type]=!1},1500))},aa=ca=>{let da=U(ca).get('names');c(h[ca].join(', ')).off(da).on(da,{type:ca},_)};if(Y)'undefined'==typeof h[Y]?(ca=>{let da=U(ca).get('names');c(h[ca].join(', ')).off(da)})(Y):aa(Y);else{for(var ca in h)aa(ca)}};var S={};const T=Y=>{Y=Y||0,clearTimeout(S[Y]),S[Y]=setTimeout(()=>{if(Y){let Z=m(Y,'scores'),_=Z&&Z.querySelectorAll('.tsfem-e-focus-assessment-wrap[data-assess="1"]');_ instanceof NodeList&&_.length?tsfem_inpost.promiseLoop(_,aa=>{tsfem_inpost.setIconClass(aa.querySelector('.tsfem-e-focus-assessment-rating'),'loading'),q(aa)},100):D(Y).to('error')}else{for(var Z in h)c(h[Z].join(', ')).trigger(U(Z).get('trigger'))}},1e3)},U=Y=>{const Z=['tsfem-e-focus.analysis-'+Y,'input.tsfem-e-focus-'+Y,'change.tsfem-e-focus-'+Y];return{get:_=>{return'names'===_?Z.join(' '):'trigger'===_?Z[0]:Z}}},V=()=>{const Y=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;(()=>{if('undefined'!=typeof d.focusElements.pageUrl){let Z=document.getElementById('edit-slug-box');if(Z&&!(!Z instanceof HTMLElement)){const _=()=>{let aa=document.querySelectorAll('.tsfem-e-focus-assessment-wrap[data-assessment-type="url"][data-assess="0"]');aa instanceof NodeList&&aa.length&&(p('pageUrl'),R('pageUrl'),aa.forEach(ba=>C(ba)))};new Y(()=>{_(),c('#sample-permalink').trigger(U('pageUrl').get('trigger'))}).observe(Z,{childList:!0,subtree:!0})}}})(),(()=>{if('undefined'!=typeof tinyMCE&&'function'==typeof tinyMCE.on){let Z=!1;tinyMCE.on('addEditor',_=>{if(!Z&&'content'===_.editor.id){Z=!0,p('pageContent'),R('pageContent');let aa={},ba=tinyMCE.get('content'),ca=!1,da=!1;ba.on('Dirty',()=>{da||(N('pageContent','unknown'),da=!0)}),ba.on('GetContent',()=>{clearTimeout(aa.GetContent),!ca&&ba.isDirty()&&(N('pageContent','loading'),ca=!0,da=!1),aa.GetContent=setTimeout(()=>{ba.isDirty()||c('#content').trigger(U('pageContent').get('trigger')),ca=!1,da=!1},1e3)})}})}})()},W=()=>{let Y=document.querySelectorAll('.tsfem-e-focus-collapse-wrap');for(let Z=Y.length;Z--;){let _=k(Y[Z].id),aa=m(_,'keyword');if(aa.value.length){if(aa.dataset.prev=aa.value,tsfem_inpost.isPremium){let ba=m(_,'lexical_selector');ba.dataset.prev=ba.value,1{if(V(),d.hasOwnProperty('focusElements')&&(o(d.focusElements,!0),p(),R()),0===Object.keys(h).length){let Z=document.getElementById('tsfem-e-focus-analysis-wrap');if(Z instanceof Element){let _=Z.querySelector('.tsf-flex-setting-input');_ instanceof Element&&(_.innerHTML=wp.template('tsfem-e-focus-nofocus')())}return}F(),G(),tsfem_inpost.isPremium&&(H(),J()),W()};return c.extend({load:function(){c('.tsfem-e-focus-enable-if-js').removeProp('disabled'),c('.tsfem-e-focus-disable-if-js').prop('disabled','disabled'),c('.tsfem-e-focus-requires-javascript').removeClass('tsfem-e-focus-requires-javascript'),c(document.body).ready(X)}},{focusRegistry:g,activeFocusAreas:h,activeAssessments:j,updateFocusRegistry:o,updateActiveFocusAreas:p,resetAnalysisChangeListeners:R,triggerAllAnalysis:T,analysisChangeEvents:U,getSubIdPrefix:k,getSubElementById:m})}(jQuery),jQuery(window.tsfem_e_focus_inpost.load); +'use strict';window.tsfem_e_focus_inpost=function(c){const d=tsfem_e_focusInpostL10n,f='#tsfem-e-focus-analysis-notification-area';var g={},h={},j={};const k=Y=>{return(/.*\[[0-9]+\]/.exec(Y)||'')[0]},l=(Y,Z)=>{return Y+'['+Z+']'},m=(Y,Z)=>{return document.getElementById(Y+'['+Z+']')},n=Y=>{return Object.keys(Y).sort((Z,_)=>{return Object.keys(Z)[0]-Object.keys(_)[0]}),Y},o=(Y,Z)=>{if(Y&&Y===Object(Y)){let _=g;Z=!!Z;let aa,ba;for(let ca in Y)for(let da in aa=Y[ca],_[ca]||(_[ca]={}),aa)if(ba=aa[da],_[ca][ba]||(_[ca][ba]=[]),Z){let ea=Object.keys(_[ca][ba]).map(fa=>_[ca][ba][fa]);if(-1ea!==da);g=_}},p=Y=>{const Z=g;let _=h,aa={},ba=!1,ca='',da=[];const ea=ga=>{aa=Z[ga],ba=!1,ca='',da=[],'undefined'!=typeof aa.dominate&&aa.dominate.forEach(ha=>{document.querySelector(ha)&&(ba=!0,ca=ha)}),ba||'undefined'==typeof aa.append||aa.append.forEach(ha=>{document.querySelector(ha)&&da.push(ha)}),ba?_[ga]=[ca]:da.length?_[ga]=da:fa(ga)},fa=ga=>{delete _[ga]};if(Y)'undefined'==typeof Z[Y]?fa(Y):ea(Y);else{for(var ga in Z)ea(ga)}h=_},q=Y=>{let ea,Z=c(Y).data('scores'),_=0,aa=0,ba=0,ca=0,da=0,fa=Z.assessment.regex;fa!==Object(fa)&&(fa=[fa]);let ga=k(Y.id),ha=M(ga).get('inflections'),ia=M(ga).get('synonyms');const ja=qa=>{return qa=qa.match(/[^>]+(?=<|$|^)/gi),qa&&qa.join('').length||0},ka=(qa,ra)=>{let sa,ta=tsfem_inpost.bewilderRegexNonWords(tsfem_inpost.escapeRegex(tsfem_inpost.escapeStr(qa,!0)));for(let ua=0;uara.replace(new RegExp(tsfem_inpost.escapeRegex(tsfem_inpost.escapeStr(qa,!0)),'gi'),'/'),ma=qa=>{let ra=ha,sa=qa;return ra.length&&ra.sort((ta,ua)=>ua.length-ta.length),tsfem_inpost.promiseLoop(ra,ta=>{let ua=ka(ta,sa);_+=ua,ba+=ta.length*ua,sa=la(ta,sa)},5)},na=qa=>{let ra=ia,sa=qa;return ra.length&&ra.sort((ta,ua)=>ua.length-ta.length),tsfem_inpost.promiseLoop(ra,ta=>{let ua=ka(ta,sa);aa+=ua,ca+=ta.length*ua,sa=la(ta,sa)},5)};c.when(tsfem_inpost.promiseLoop(h[Z.assessment.content],qa=>{let ra=document.querySelector(qa),sa=c.Deferred();return(ea='undefined'==typeof ra.value?'':ra.value,ea.length||(ea=ra.innerHTML),!ea.length)?sa.resolve():(ea=tsfem_inpost.normalizeSpacing(ea).trim(),!ea.length)?sa.resolve():(da+=ja(ea),c.when(ma(ea),na(ea)).done(()=>{sa.resolve()}),sa.promise())},5)).done(()=>{let qa=Z.scoring,ra=0,sa=0;const ta=(Ba,Ca)=>Ca>Ba?Ba:Ca,ua=(Ba,Ca)=>Math.floor(Ca/Ba.per)*Ba.score,va=(Ba,Ca)=>Ca*(Ba/100),wa=(Ba,Ca)=>100*(Ca/Ba),xa=(Ba,Ca)=>Ca/Ba.threshold*Z.maxScore;switch(qa.type){case'n':_&&(sa+=ua(qa.keyword,ta(qa.keyword.max,_))),aa&&(sa+=ua(qa.synonym,ta(qa.synonym.max,aa)));break;case'p':da&&(ba&&(ra+=wa(da,va(qa.keyword.weight,ba))),ca&&(ra+=wa(da,va(qa.synonym.weight,ca)))),sa=xa(qa,ra);}let ya=document.querySelector('input[name="'+Y.id+'"]');ya&&(ya.value=sa);let za=Y.querySelector('.tsfem-e-focus-assessment-description'),Aa=r(Z.phrasing,sa);za.innerHTML===Aa?(tsfem_inpost.setIconClass(Y.querySelector('.tsfem-e-focus-assessment-rating'),t(Z.rating,sa)),za.style.opacity='1',za.style.willChange='auto'):(za.style.willChange='contents, opacity',za.style.opacity='0',za.innerHTML=Aa,tsfem_inpost.setIconClass(Y.querySelector('.tsfem-e-focus-assessment-rating'),t(Z.rating,sa)),tsfem_inpost.fadeIn(za),za.style.willChange='auto')})},r=(Y,Z)=>{let _;for(let aa in Y=n(Y),Y)if(isFinite(aa)&&!isNaN(parseFloat(aa)))if(aa<=Z)_=Y[aa];else break;return _?_:Y[Object.keys(Y)[0]]},t=(Y,Z)=>{let _=r(Y,Z).toString(),aa={0:'unknown',1:'bad',2:'warning',3:'okay',4:'good','-1':'error'};return'undefined'!=typeof aa[_]&&aa[_]||aa['-1']},u=Y=>{let Z=m(Y,'keyword').value,_=m(Y,'lexical_form');if(!(!_ instanceof HTMLInputElement)){E(Y).to('loading');const aa=ca=>{let da=m(Y,'lexical_selector'),ea=m(Y,'lexical_data'),fa=JSON.parse(d.defaultLexicalForm);fa=Object.keys(fa).map(ha=>fa[ha]),ca.length&&(ca.forEach(ha=>{ha.inflection&&ha.category&&fa.push({value:ha.inflection,category:ha.category,name:ha.category+': '+ha.inflection})}),A(Y).to('enabled'));let ga=fa.length&&JSON.stringify(fa)||d.defaultLexicalForm;_.value='',ea instanceof HTMLInputElement&&(ea.value=ga),da instanceof HTMLSelectElement&&(w(Y,ga),da.disabled=!1,da.selectedIndex=0)};c.when(((ca,da)=>{let ea={method:'POST',url:ajaxurl,dataType:'json',data:{action:'tsfem_e_focus_get_lexicalforms',nonce:d.nonce,post_ID:tsfem_inpost.postID,args:{keyword:da,language:'en'}},timeout:15000,async:!0},fa=c.Deferred();return tsfem_inpost.doAjax(fa,ea,{noticeArea:f,premium:!0}),fa.promise()})(Y,Z)).done(ca=>{aa(ca.forms)}).fail(()=>{v(Y,'lexical')}).always(()=>{E(Y).to('edit')})}},v=(Y,Z)=>{const _=()=>{let ea=m(Y,'lexical_form'),fa=m(Y,'lexical_selector'),ga=m(Y,'lexical_data');ea instanceof HTMLInputElement&&(ea.value=''),ga instanceof HTMLInputElement&&(ga.value=d.defaultLexicalForm),fa instanceof HTMLSelectElement&&(fa.disabled=!0,fa.selectedIndex=0,fa.dataset.prev=0,w(Y,d.defaultLexicalForm)),E(Y).to('unchecked')},aa=()=>{let ea=m(Y,'definition_dropdown'),fa=m(Y,'definition_selection');ea instanceof HTMLSelectElement&&(ea.selectedIndex=0,ea.innerHTML='',document.querySelector('[data-for="'+ea.id+'"]').innerHTML=''),fa instanceof HTMLInputElement&&(fa.value=''),M(Y).clearCache()},ba=()=>{let ea=m(Y,'inflections'),fa=ea&&ea.querySelector('.tsfem-e-focus-subject-selection'),ga=m(Y,'inflection_data'),ha=m(Y,'active_inflections');fa instanceof Element&&(fa.innerHTML=''),ga instanceof HTMLInputElement&&(ga.value=''),ha instanceof HTMLInputElement&&(ha.value=''),M(Y).clearCache('inflections')},ca=()=>{let ea=m(Y,'synonyms'),fa=ea&&ea.querySelector('.tsfem-e-focus-subject-selection'),ga=m(Y,'synonym_data'),ha=m(Y,'active_synonyms');fa instanceof Element&&(fa.innerHTML=''),ga instanceof HTMLInputElement&&(ga.value=''),ha instanceof HTMLInputElement&&(ha.value=''),M(Y).clearCache('synonyms'),tsfem_inpost.isPremium&&K(Y)},da=()=>{m(Y,'scores').querySelectorAll('input').forEach(ea=>ea.value=0)};switch(Z){case'lexical':_(),aa();break;case'definition':aa();break;case'inflections':ba();break;case'synonyms':ca();break;case'ratings':da();break;default:_(),aa(),ba(),ca(),da();}},w=(Y,Z)=>{let _=m(Y,'lexical_selector');for(let ca=_.options.length;ca--;)_.remove(ca);let aa=document.createElement('option'),ba=JSON.parse(Z);if(ba)for(let ca in ba)aa=aa.cloneNode(),aa.value=tsfem_inpost.escapeStr(ca),aa.innerHTML=tsfem_inpost.escapeStr(ba[ca].name),_.appendChild(aa)};var x={};const y=Y=>{let Z=Y.data.idPrefix,_=m(Z,'lexical_selector'),aa=m(Z,'lexical_form'),ba=m(Z,'lexical_data');const ca=()=>{let ha=JSON.parse(ba.value),ia=ha[aa.value],ja={method:'POST',url:ajaxurl,dataType:'json',data:{action:'tsfem_e_focus_get_synonyms',nonce:d.nonce,post_ID:tsfem_inpost.postID,args:{form:ia,language:'en'}},timeout:15000,async:!0},ka=c.Deferred();return tsfem_inpost.doAjax(ka,ja,{noticeArea:f,premium:!0}),ka.promise()},da=ha=>{aa.value=ha,_.value=ha,_.selectedIndex=+ha},ea=()=>{v(Z,'inflections');let ha=m(Z,'keyword').value.toLowerCase(),ia=aa.value,ja=ba.value,ka='',la=[];return ka=JSON.parse(ja)[ia].value.toLowerCase(),la.push(ha),ha!==ka&&la.push(ka),m(Z,'inflection_data').value=JSON.stringify([{inflections:la}]),c.Deferred().resolve()},fa=()=>{let ha=c.Deferred();return c.when(ca()).done(ia=>{v(Z,'definition'),v(Z,'synonyms'),_.dataset.prev=_.value,m(Z,'synonym_data').value=JSON.stringify(ia.synonyms),ha.resolve()}).fail(ia=>{1100202===ia||1100205===ia?(v(Z,'definition'),v(Z,'synonyms'),_.dataset.prev=_.value,m(Z,'synonym_data').value='',ha.resolve()):(da(_.dataset.prev||0),ha.reject())}),ha.promise()};(()=>{E(Z).to('loading'),clearTimeout(x[Z]),x[Z]=setTimeout(()=>{_.dataset.prev==_.value?E(Z).to('edit'):(da(_.value),+_.value?c.when(ea(),fa()).done(()=>{z(Z),K(Z),E(Z).to('enabled, edit, checked')}).fail(()=>{E(Z).to('edit')}):(_.dataset.prev=_.value,E(Z).to('unchecked, disabled, edit'),v(Z,'definition'),v(Z,'inflections'),v(Z,'synonyms')))},1500)})()},z=Y=>{let Z=m(Y,'synonym_data'),_=m(Y,'definition_dropdown'),aa=m(Y,'definition_selection'),ba=_.cloneNode(!0),ca=Z.value&&JSON.parse(Z.value)||{};for(let fa=ba.options.length;fa--;)ba.remove(fa);let da=document.createElement('option');for(let fa=0;fa{const Z=aa=>{c(aa).off('change.tsfemInpostLexical').on('change.tsfemInpostLexical',{idPrefix:Y},y)},_=aa=>{c(aa).off('change.tsfemInpostLexical')};return{to:aa=>{let ba=m(Y,'lexical_selector');if(!(!ba instanceof HTMLSelectElement))switch(aa){case'enabled':Z(ba);break;default:case'disabled':_(ba);}}}},B=Y=>{let Z=m(Y,'scores'),_=Z&&Z.querySelectorAll('.tsfem-e-focus-assessment-wrap');if(!_||_!==Object(_))D(Y).to('error');else{D(Y).to('enabled');for(let aa=_.length;aa--;)C(_[aa]);T(Y)}},C=Y=>{let Z=k(Y.id),_=m(Z,'keyword').value;if(_){let aa,ba,ca,da,ea;ba=Y.querySelector('.tsfem-e-focus-assessment-rating'),tsfem_inpost.setIconClass(ba,'loading'),ca=!0,ea='undefined'!=typeof Y.dataset.assess&&!+Y.dataset.assess,aa=c(Y).data('scores'),aa&&aa.hasOwnProperty('assessment')&&'undefined'!=typeof h[aa.assessment.content]&&(Y.dataset.assess=1,O(Y,aa.assessment.content),ca=!1),ca?(tsfem_inpost.setIconClass(ba,'unknown'),Y.dataset.assess=0,da=document.getElementsByName(Y.id),da&&da[0]&&(da[0].value=0),tsfem_inpost.fadeOut(Y,250)):ea&&tsfem_inpost.fadeIn(Y,250)}},D=Y=>{let Z=c(m(Y,'content')),_=['.tsfem-e-focus-scores-wrap','.tsfem-e-focus-no-keyword-wrap','.tsfem-e-focus-something-wrong-wrap'];const aa=ba=>{_.splice(_.indexOf(ba),1),Z.find(_.join(', ')).fadeOut(150,()=>{setTimeout(()=>{Z.find(ba).fadeIn(250)},150)})};return{to:ba=>{let ca;switch(ba){case'disabled':ca='.tsfem-e-focus-no-keyword-wrap';break;case'enabled':ca='.tsfem-e-focus-scores-wrap';break;default:case'error':ca='.tsfem-e-focus-something-wrong-wrap';}aa(ca)}}},E=Y=>{return{to:Z=>{let _=m(Y,'subject_edit');if(_&&!(!_ instanceof HTMLInputElement)){let aa=document.querySelector('label[for="'+_.id+'"]'),ba=_.parentNode,ca='tsfem-e-focus-edit-subject-button-wrap-disabled';Z.split(',').forEach(da=>{switch(da.trim()){case'checked':_.checked||(_.checked=!0,c(_).trigger('change'));break;case'unchecked':_.checked&&(_.checked=!1,c(_).trigger('change'));break;case'loading':aa&&tsfem_inpost.setIconClass(aa,'loading');break;case'edit':aa&&tsfem_inpost.setIconClass(aa,'edit');break;case'enabled':_.disabled=!1,ba.classList.add(ca),ba.classList.remove(ca);break;case'disabled':_.disabled=!0,ba.classList.remove(ca),ba.classList.add(ca);break;default:}})}}}},F=()=>{c('.tsfem-e-focus-collapse-header').off('dblclick.tsfem-e-focus').on('dblclick.tsfem-e-focus',Z=>{if(!tsfem_inpost.isActionableElement(Z.target)){let _=c(Z.target).closest('.tsfem-e-focus-collapse-wrap'),aa=k(_.attr('id')),ba=m(aa,'collapser');ba instanceof HTMLInputElement&&(ba.checked=!ba.checked)}})},G=()=>{let Y={},Z=1500,_=3,ba={},ca={},da=Z/(100*_);da*=1.175;const ea=(ia,ja)=>{ja.style.width=++ba[ia]/_+'%'},fa=(ia,ja)=>{ba[ia]=0,ja.style.width='0%'};let ga=c('.tsfem-e-focus-keyword-entry');const ha=ia=>{let ja=ia.target,ka=ja.value.trim().replace(/[\s\t\r\n]+/g,' ')||'',la=ja.dataset.prev||'';if(ia.target.value=ka,ka!==la){let ma=k(ia.target.id);return ja.dataset.prev=ka,v(ma),E(ma).to('disabled, edit'),c(m(ma,'scores')).find('.tsfem-e-focus-assessment-description').css('opacity','0'),ka.length?void(tsfem_inpost.isPremium&&d.languageSupported&&u(ma),B(ma)):(D(ma).to('disabled'),void A(ma).to('disabled'))}};ga.off('input.tsfem-e-focus').on('input.tsfem-e-focus',ia=>{let ja=k(ia.target.id),ka=m(ja,'content').querySelector('.tsfem-e-focus-content-loader-bar'),la=m(ja,'collapser');la.checked&&(la.checked=!1,c(la).trigger('change')),clearInterval(ca[ja]),clearTimeout(Y[ja]),fa(ja,ka),ca[ja]=setInterval(()=>ea(ja,ka),da),Y[ja]=setTimeout(()=>{clearInterval(ca[ja]),ha(ia),fa(ja,ka)},Z)}),ga.each((ia,ja)=>{if(!ja.value.length){let ka=k(ja.id);v(ka)}})},H=()=>{const Y=ea=>{let ga,ha,ia,ja,fa=ea.target,ka=0,la='',ma=0,na='',oa=ea.data&&ea.data.change||!1;if('undefined'!=typeof fa.dataset.for&&(ga=fa.dataset.for),!ga)return!1;if(ha=document.getElementById(ga),ja=k(ga),ia=m(ja,'definition_selection'),!ha)return!1;ka=ha.value,la=fa.innerHTML;const pa=()=>{fa.innerHTML=na,ha.value=ma,ia.value=ma,+ma!=+ka&&(m(ja,'active_synonyms').value='',m(ja,'active_inflections').value='',K(ja)),wa()},sa=()=>{c(ha).blur().hide(),c(fa).fadeIn(300)},ta=Aa=>{ua(Aa.target),+ma==+ka&&wa()||pa()},ua=Aa=>{ma=Aa.value,na=Aa.options[Aa.selectedIndex].text},va=Aa=>{let Ba=c(Aa.target).closest(ha);1>Ba.length&&wa()},wa=()=>{return za(),sa(),!0},xa=()=>{ua(ha),pa()},za=()=>{ha.removeEventListener('blur',wa),ha.removeEventListener('change',ta),window.removeEventListener('click',va)};(()=>{c(fa).hide(),c(ha).slideDown(200).focus()})(),setTimeout(()=>{ha.addEventListener('blur',wa),ha.addEventListener('change',ta),window.addEventListener('click',va),oa&&xa()},10)};let aa='click.tsfem-e-focus-definition-editor',ba='keypress.tsfem-e-focus-definition-editor',ca='set-tsfem-e-focus-definition';c('.tsfem-e-focus-definition-editor').off(aa).on(aa,Y).off(ba).on(ba,ea=>{32==ea.which&&(ea.preventDefault(),Y(ea))}).off(ca).on(ca,{change:1},Y);let da='change.tsfem-e-focus-edit-subject-toggle';c('.tsfem-e-focus-edit-subject-checkbox').off(da).on(da,ea=>{let fa=k(ea.target.id),ga=m(fa,'edit'),ha=m(fa,'evaluate'),ia=m(fa,'collapser');ia.checked?(ea.target.checked=!0,ha.style.display='none',ha.style.opacity=0,ga.style.display=null,ga.style.opacity=1,ia.checked=!1):ea.target.checked?tsfem_inpost.fadeOut(ha,150,{cb:()=>{tsfem_inpost.fadeIn(ga,250),ea.target.checked=!0},promise:!1}):tsfem_inpost.fadeOut(ga,150,{cb:()=>{tsfem_inpost.fadeIn(ha,250),ea.target.checked=!1},promise:!1})})};var I={};const J=()=>{const Y=ea=>(/\[([0-9]+)\]$/.exec(ea)||'')[1],Z=ea=>{let fa=m(ea,'inflections'),ga=fa.querySelectorAll('input:checked'),ha=[];ga.forEach(ia=>{ha.push(Y(ia.id))}),m(ea,'active_inflections').value=ha.join(),M(ea).clearCache('inflections'),T(ea)},_=ea=>{let fa=m(ea,'synonyms'),ga=fa.querySelectorAll('input:checked'),ha=[];ga.forEach(ia=>{ha.push(Y(ia.id))}),m(ea,'active_synonyms').value=ha.join(),M(ea).clearCache('synonyms'),T(ea)},aa=ea=>{let fa=ea.data.idPrefix,ga=ea.data.type,ha=fa+ga;clearTimeout(I[ha]),I[ha]=setTimeout(()=>{'inflections'===ga?Z(fa):'synonyms'===ga?_(fa):void 0},1500)},ba=(ea,fa)=>{c(m(ea,fa)).find('input').off('change.tsfem-e-focus').on('change.tsfem-e-focus',{idPrefix:ea,type:fa},aa)};let da='tsfem-e-focus-updated-subject.tsfem-e-focus';c(window).off(da).on(da,(ea,fa)=>{if(fa&&fa.idPrefix){const ga=fa.idPrefix,ha=m(ga,'inflection_data'),ia=m(ga,'synonym_data'),ja=m(ga,'definition_selection'),ka=m(ga,'inflections'),la=m(ga,'synonyms'),ma=ka.querySelector('.tsfem-e-focus-subject-selection'),na=la.querySelector('.tsfem-e-focus-subject-selection'),oa=wp.template('tsfem-e-focus-subject-item');let pa=ha.value&&JSON.parse(ha.value),qa=pa&&pa[0].inflections||{},ra=ia.value&&JSON.parse(ia.value),sa=ra&&ra[+ja.value]&&ra[+ja.value].synonyms||{};ma.style.opacity=0,na.style.opacity=0;let ta=m(ga,'active_inflections').value.split(','),ua=m(ga,'active_synonyms').value.split(','),va='',wa=l(ga,'inflection');for(let xa in qa)va+=oa({id:l(wa,xa),value:qa[xa],checked:!+xa||-1{c(window).trigger('tsfem-e-focus-updated-subject',[{idPrefix:Y}])};var L={};const M=Y=>{M.hasOwnProperty(Y)||(L[Y]={},L[Y].inflections=null,L[Y].synonyms=null);const Z=()=>{let ca,da,ea=m(Y,'active_inflections');if(ea instanceof HTMLInputElement&&ea.value){let fa=m(Y,'inflection_data').value;da=JSON.parse(fa)[0].inflections,ca=[],ea.value.split(',').forEach(ga=>{ca.push(da[+ga])})}if(!ca){let fa=m(Y,'keyword').value;ca=fa&&[fa]||!1}return ca=ca||!1,L[Y].inflections=ca,ca},_=()=>{let ca,da,ea=m(Y,'active_synonyms'),fa=m(Y,'definition_selection');if(ea instanceof HTMLInputElement&&ea.value){let ga=m(Y,'synonym_data').value;da=JSON.parse(ga)[+fa.value].synonyms,ca=[],ea.value.split(',').forEach(ha=>{ca.push(da[+ha])})}return ca=ca||!1,L[Y].synonyms=ca,ca},aa=ca=>{if(null!==L[Y][ca])return L[Y][ca];return'inflections'===ca?Z():'synonyms'===ca?_():{inflections:Z(),synonyms:_()}},ba=ca=>{ca?delete L[Y][ca]:delete L[Y]};return{get:ca=>aa(ca),clearCache:ca=>ba(ca)}},N=(Y,Z)=>{if('undefined'!=typeof j[Y]){Z=Z||'unknown';for(let _=j[Y].length;_--;)tsfem_inpost.setIconClass(document.getElementById(j[Y][_]).querySelector('.tsfem-e-focus-assessment-rating'),Z)}},O=(Y,Z)=>{let _=j;_&&_===Object(_)||(_=[]),_[Z]&&_[Z]===Object(_[Z])||(_[Z]=[]),Y.id&&('undefined'==typeof h[Z]?delete _[Z][Y.id]:0>_[Z].indexOf(Y.id)&&_[Z].push(Y.id)),j=_};var P={},Q={};const R=Y=>{const Z=ca=>{tsfem_inpost.promiseLoop(j[ca],da=>{let ea=k(da),fa=m(ea,'keyword'),ga=fa.value||'';if(ga.length){let ha=document.getElementById(da),ia=ha.querySelector('.tsfem-e-focus-assessment-rating');tsfem_inpost.setIconClass(ia,'loading'),setTimeout(()=>q(ha),150)}})},_=ca=>{'undefined'==typeof j[ca.data.type]||(clearTimeout(P[ca.data.type]),!Q[ca.data.type]&&(setTimeout(()=>tsfem_inpost.setIconClass(document.querySelectorAll('[data-assessment-type="'+ca.data.type+'"] .tsfem-e-focus-assessment-rating'),'unknown'),0),Q[ca.data.type]=!0),P[ca.data.type]=setTimeout(()=>{Z(ca.data.type),Q[ca.data.type]=!1},1500))},aa=ca=>{let da=U(ca).get('names');c(h[ca].join(', ')).off(da).on(da,{type:ca},_)};if(Y)'undefined'==typeof h[Y]?(ca=>{let da=U(ca).get('names');c(h[ca].join(', ')).off(da)})(Y):aa(Y);else{for(var ca in h)aa(ca)}};var S={};const T=Y=>{Y=Y||0,clearTimeout(S[Y]),S[Y]=setTimeout(()=>{if(Y){let Z=m(Y,'scores'),_=Z&&Z.querySelectorAll('.tsfem-e-focus-assessment-wrap[data-assess="1"]');_ instanceof NodeList&&_.length?tsfem_inpost.promiseLoop(_,aa=>{tsfem_inpost.setIconClass(aa.querySelector('.tsfem-e-focus-assessment-rating'),'loading'),q(aa)},100):D(Y).to('error')}else{for(var Z in h)c(h[Z].join(', ')).trigger(U(Z).get('trigger'))}},1e3)},U=Y=>{const Z=['tsfem-e-focus.analysis-'+Y,'input.tsfem-e-focus-'+Y,'change.tsfem-e-focus-'+Y];return{get:_=>{return'names'===_?Z.join(' '):'trigger'===_?Z[0]:Z}}},V=()=>{const Y=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;(()=>{if('undefined'!=typeof d.focusElements.pageUrl){let Z=document.getElementById('edit-slug-box');if(Z&&!(!Z instanceof HTMLElement)){const _=()=>{let aa=document.querySelectorAll('.tsfem-e-focus-assessment-wrap[data-assessment-type="url"][data-assess="0"]');aa instanceof NodeList&&aa.length&&(p('pageUrl'),R('pageUrl'),aa.forEach(ba=>C(ba)))};new Y(()=>{_(),c('#sample-permalink').trigger(U('pageUrl').get('trigger'))}).observe(Z,{childList:!0,subtree:!0})}}})(),(()=>{if('undefined'!=typeof tinyMCE&&'function'==typeof tinyMCE.on){let Z=!1;tinyMCE.on('addEditor',_=>{if(!Z&&'content'===_.editor.id){Z=!0,p('pageContent'),R('pageContent');let aa={},ba=tinyMCE.get('content'),ca=!1,da=!1;ba.on('Dirty',()=>{da||(N('pageContent','unknown'),da=!0)}),ba.on('GetContent',()=>{clearTimeout(aa.GetContent),!ca&&ba.isDirty()&&(N('pageContent','loading'),ca=!0,da=!1),aa.GetContent=setTimeout(()=>{ba.isDirty()||c('#content').trigger(U('pageContent').get('trigger')),ca=!1,da=!1},1e3)})}})}})()},W=()=>{let Y=document.querySelectorAll('.tsfem-e-focus-collapse-wrap');for(let Z=Y.length;Z--;){let _=k(Y[Z].id),aa=m(_,'keyword');if(aa.value.length){if(aa.dataset.prev=aa.value,tsfem_inpost.isPremium){let ba=m(_,'lexical_selector');ba.dataset.prev=ba.value,1{if(V(),d.hasOwnProperty('focusElements')&&(o(d.focusElements,!0),p(),R()),0===Object.keys(h).length){let Z=document.getElementById('tsfem-e-focus-analysis-wrap');if(Z instanceof Element){let _=Z.querySelector('.tsf-flex-setting-input');_ instanceof Element&&(_.innerHTML=wp.template('tsfem-e-focus-nofocus')())}return}F(),G(),tsfem_inpost.isPremium&&(H(),J()),W()};return c.extend({load:function(){c('.tsfem-e-focus-enable-if-js').removeProp('disabled'),c('.tsfem-e-focus-disable-if-js').prop('disabled','disabled'),c('.tsfem-e-focus-requires-javascript').removeClass('tsfem-e-focus-requires-javascript'),c(document.body).ready(X)}},{focusRegistry:g,activeFocusAreas:h,activeAssessments:j,updateFocusRegistry:o,updateActiveFocusAreas:p,resetAnalysisChangeListeners:R,triggerAllAnalysis:T,analysisChangeEvents:U,getSubIdPrefix:k,getSubElementById:m})}(jQuery),jQuery(window.tsfem_e_focus_inpost.load); diff --git a/extensions/essentials/focus/trunk/readme.md b/extensions/essentials/focus/trunk/readme.md index 05d4c8b8..05fe2c37 100644 --- a/extensions/essentials/focus/trunk/readme.md +++ b/extensions/essentials/focus/trunk/readme.md @@ -1,6 +1,5 @@ # Focus Location: https://theseoframework.com/extensions/focus/ -Tags: audit, content, keywords License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html @@ -154,6 +153,13 @@ We're currently working on inflection lookups. When it's ready, an update will b ## Changelog +### 1.1.1 + +[tsfep-release time="-1"] + +* **Improved:** When no homonymous example can be found, the option now displays "No example available.". +* **Changed:** This is now an Essentials+ extension. + ### 1.1.0 [tsfep-release time="August 28th, 2018"] diff --git a/extensions/essentials/honeypot/trunk/honeypot.php b/extensions/essentials/honeypot/trunk/honeypot.php index 32418ed6..019252a7 100644 --- a/extensions/essentials/honeypot/trunk/honeypot.php +++ b/extensions/essentials/honeypot/trunk/honeypot.php @@ -8,7 +8,7 @@ * Extension Name: Honeypot * Extension URI: https://theseoframework.com/extensions/honeypot/ * Extension Description: The Honeypot extension catches comment spammers through four lightweight yet powerful ways. - * Extension Version: 1.1.1 + * Extension Version: 1.1.2 * Extension Author: Sybre Waaijer * Extension Author URI: https://cyberwire.nl/ * Extension License: GPLv3 @@ -40,7 +40,7 @@ * The extension version. * @since 1.0.0 */ -define( 'TSFEM_E_HONEYPOT_VERSION', '1.1.1' ); +define( 'TSFEM_E_HONEYPOT_VERSION', '1.1.2' ); \add_action( 'plugins_loaded', __NAMESPACE__ . '\\honeypot_init', 11 ); /** diff --git a/extensions/essentials/honeypot/trunk/readme.md b/extensions/essentials/honeypot/trunk/readme.md index f4e53617..7e2730e7 100644 --- a/extensions/essentials/honeypot/trunk/readme.md +++ b/extensions/essentials/honeypot/trunk/readme.md @@ -1,6 +1,5 @@ # Honeypot Location: https://theseoframework.com/extensions/honeypot/ -Tags: spam License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html @@ -199,6 +198,12 @@ add_filter( 'the_seo_framework_honeypot_nonce_scale', function( $scale = 43200, ## Changelog +### 1.1.2 + +[tsfep-release time="-1"] + +* **Changed:** This is now an Essentials extension. + ### 1.1.1 [tsfep-release time="March 31st, 2018"] diff --git a/extensions/free/amp/trunk/readme.md b/extensions/free/amp/trunk/readme.md index 5011e4a9..36a1aabb 100644 --- a/extensions/free/amp/trunk/readme.md +++ b/extensions/free/amp/trunk/readme.md @@ -1,6 +1,5 @@ # AMP Location: https://theseoframework.com/extensions/amp/ -Tags: general License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html diff --git a/extensions/essentials/incognito/assets/icon-120x120px.png b/extensions/free/incognito/assets/icon-120x120px.png similarity index 100% rename from extensions/essentials/incognito/assets/icon-120x120px.png rename to extensions/free/incognito/assets/icon-120x120px.png diff --git a/extensions/essentials/incognito/assets/icon-240x240px.png b/extensions/free/incognito/assets/icon-240x240px.png similarity index 100% rename from extensions/essentials/incognito/assets/icon-240x240px.png rename to extensions/free/incognito/assets/icon-240x240px.png diff --git a/extensions/essentials/incognito/assets/icon.svg b/extensions/free/incognito/assets/icon.svg similarity index 100% rename from extensions/essentials/incognito/assets/icon.svg rename to extensions/free/incognito/assets/icon.svg diff --git a/extensions/essentials/incognito/assets/index.php b/extensions/free/incognito/assets/index.php similarity index 100% rename from extensions/essentials/incognito/assets/index.php rename to extensions/free/incognito/assets/index.php diff --git a/extensions/essentials/incognito/trunk/incognito.php b/extensions/free/incognito/trunk/incognito.php similarity index 100% rename from extensions/essentials/incognito/trunk/incognito.php rename to extensions/free/incognito/trunk/incognito.php diff --git a/extensions/essentials/incognito/trunk/index.php b/extensions/free/incognito/trunk/index.php similarity index 100% rename from extensions/essentials/incognito/trunk/index.php rename to extensions/free/incognito/trunk/index.php diff --git a/extensions/essentials/incognito/trunk/readme.md b/extensions/free/incognito/trunk/readme.md similarity index 99% rename from extensions/essentials/incognito/trunk/readme.md rename to extensions/free/incognito/trunk/readme.md index 72d4ba40..9856d763 100644 --- a/extensions/essentials/incognito/trunk/readme.md +++ b/extensions/free/incognito/trunk/readme.md @@ -1,6 +1,5 @@ # Incognito Location: https://theseoframework.com/extensions/incognito/ -Tags: general License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html diff --git a/extensions/essentials/origin/assets/icon-120x120px.png b/extensions/free/origin/assets/icon-120x120px.png similarity index 100% rename from extensions/essentials/origin/assets/icon-120x120px.png rename to extensions/free/origin/assets/icon-120x120px.png diff --git a/extensions/essentials/origin/assets/icon-240x240px.png b/extensions/free/origin/assets/icon-240x240px.png similarity index 100% rename from extensions/essentials/origin/assets/icon-240x240px.png rename to extensions/free/origin/assets/icon-240x240px.png diff --git a/extensions/essentials/origin/assets/icon.svg b/extensions/free/origin/assets/icon.svg similarity index 100% rename from extensions/essentials/origin/assets/icon.svg rename to extensions/free/origin/assets/icon.svg diff --git a/extensions/essentials/origin/assets/index.php b/extensions/free/origin/assets/index.php similarity index 100% rename from extensions/essentials/origin/assets/index.php rename to extensions/free/origin/assets/index.php diff --git a/extensions/essentials/origin/trunk/index.php b/extensions/free/origin/trunk/index.php similarity index 100% rename from extensions/essentials/origin/trunk/index.php rename to extensions/free/origin/trunk/index.php diff --git a/extensions/essentials/origin/trunk/origin.php b/extensions/free/origin/trunk/origin.php similarity index 98% rename from extensions/essentials/origin/trunk/origin.php rename to extensions/free/origin/trunk/origin.php index 96360a80..38546196 100644 --- a/extensions/essentials/origin/trunk/origin.php +++ b/extensions/free/origin/trunk/origin.php @@ -8,7 +8,7 @@ * Extension Name: Origin * Extension URI: https://theseoframework.com/extensions/origin/ * Extension Description: The Origin extension redirects attachment-page visitors back to the parent post. - * Extension Version: 1.0.0 + * Extension Version: 1.1.0 * Extension Author: Sybre Waaijer * Extension Author URI: https://cyberwire.nl/ * Extension License: GPLv3 diff --git a/extensions/essentials/origin/trunk/readme.md b/extensions/free/origin/trunk/readme.md similarity index 88% rename from extensions/essentials/origin/trunk/readme.md rename to extensions/free/origin/trunk/readme.md index 274f2f81..8cf8c354 100644 --- a/extensions/essentials/origin/trunk/readme.md +++ b/extensions/free/origin/trunk/readme.md @@ -1,6 +1,5 @@ # Origin Location: https://theseoframework.com/extensions/origin/ -Tags: Uptime, syntax License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html @@ -35,6 +34,12 @@ For an attachment page to redirect, it must be uploaded through the post edit sc ## Changelog +### 1.1.0 + +[tsfep-release time="-1"] + +* **Added:** Attachment pages that don't have a parent now get redirected to the attachment itself. + ### 1.0.0 [tsfep-release time="November 10th, 2017"] diff --git a/extensions/free/title-fix/assets/icon.svg b/extensions/free/title-fix/assets/icon.svg index 38e1f98a..93d6bafa 100644 --- a/extensions/free/title-fix/assets/icon.svg +++ b/extensions/free/title-fix/assets/icon.svg @@ -1,21 +1,23 @@ - + + x="0px" y="0px" viewBox="0 0 274.801 274.801" style="enable-background:new 0 0 274.801 274.801;" xml:space="preserve"> - - - - + + + + diff --git a/extensions/free/title-fix/trunk/readme.md b/extensions/free/title-fix/trunk/readme.md index e60add6a..9507ce3d 100644 --- a/extensions/free/title-fix/trunk/readme.md +++ b/extensions/free/title-fix/trunk/readme.md @@ -1,6 +1,5 @@ # Title Fix Location: https://theseoframework.com/extensions/title-fix/ -Tags: theme License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html diff --git a/extensions/free/transporter/trunk/inc/classes/admin.class.php b/extensions/free/transporter/trunk/inc/classes/admin.class.php index 31ddddeb..d516abd2 100644 --- a/extensions/free/transporter/trunk/inc/classes/admin.class.php +++ b/extensions/free/transporter/trunk/inc/classes/admin.class.php @@ -525,7 +525,7 @@ protected function pre_seo_settings_file_stream( &$content = '', &$filesize = 0, return $ajax ? $this->get_ajax_notice( false, 1060301 ) : false; } - //* Arbitrary header cleanup test. + //* Arbitrary header cleanup. \tsf_extension_manager()->_clean_response_header(); if ( headers_sent() ) { diff --git a/extensions/premium/local/trunk/lib/schema/schema.json b/extensions/premium/local/trunk/lib/schema/schema.json index fae4d06c..d154c22a 100644 --- a/extensions/premium/local/trunk/lib/schema/schema.json +++ b/extensions/premium/local/trunk/lib/schema/schema.json @@ -77,11 +77,19 @@ }, "_handlers" : { "_escape" : "sanitize_key", - "_condition" : { - "_if" : "this", - "_op" : "empty", - "_do" : "kill_pack" - }, + "_condition" : [ + { + "_if" : "this", + "_op" : "empty", + "_do" : "set", + "_to" : "$it" + }, + { + "_if" : "this", + "_op" : "empty", + "_do" : "kill_pack" + } + ], "_out" : "string" } }, diff --git a/extensions/premium/local/trunk/local.php b/extensions/premium/local/trunk/local.php index f92966b0..ada4cb8f 100644 --- a/extensions/premium/local/trunk/local.php +++ b/extensions/premium/local/trunk/local.php @@ -8,7 +8,7 @@ * Extension Name: Local * Extension URI: https://theseoframework.com/extensions/local/ * Extension Description: The Local extension lets you set up important local business information for search engines to consume. - * Extension Version: 1.1.0 + * Extension Version: 1.1.1 * Extension Author: Sybre Waaijer * Extension Author URI: https://cyberwire.nl/ * Extension License: GPLv3 @@ -39,7 +39,7 @@ * @since 1.0.0 * NOTE: The presence does NOT guarantee the extension is loaded!!! */ -define( 'TSFEM_E_LOCAL_VERSION', '1.1.0' ); +define( 'TSFEM_E_LOCAL_VERSION', '1.1.1' ); /** * The extension file, absolute unix path. diff --git a/extensions/premium/local/trunk/readme.md b/extensions/premium/local/trunk/readme.md index 3a5ca341..0ddcc502 100644 --- a/extensions/premium/local/trunk/readme.md +++ b/extensions/premium/local/trunk/readme.md @@ -1,6 +1,5 @@ # Local SEO Location: https://theseoframework.com/extensions/local/ -Tags: local, business License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html @@ -127,6 +126,12 @@ Also, when department URLs are filled in, then each specific department's data w ## Changelog +### 1.1.1 + +[tsfep-release time="-1"] + +* **Fixed:** When a non-ASCII department name is filled in, a department ID now be generated by using the department number instead. + ### 1.1.0 [tsfep-release time="August 28th, 2018"] diff --git a/extensions/premium/monitor/trunk/readme.md b/extensions/premium/monitor/trunk/readme.md index 47554c67..ec1a1242 100644 --- a/extensions/premium/monitor/trunk/readme.md +++ b/extensions/premium/monitor/trunk/readme.md @@ -1,6 +1,5 @@ # Monitor Location: https://theseoframework.com/extensions/monitor/ -Tags: spam License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html diff --git a/inc/classes/api.class.php b/inc/classes/api.class.php index 9f52ff93..9f5d0d82 100644 --- a/inc/classes/api.class.php +++ b/inc/classes/api.class.php @@ -246,14 +246,12 @@ final protected function get_api_response( array $args, $internal = true ) { $http_args = [ /** - * Applies filters 'tsf_extension_manager_request_timeout' : int * @since 1.0.0 * @param int $timeout 7 seconds should be more than sufficient and equals * the API server keep_alive_timeout. WP default is 5. */ 'timeout' => \apply_filters( 'tsf_extension_manager_request_timeout', 7 ), /** - * Applies filters 'tsf_extension_manager_http_request_version' : string * @since 1.0.0 * @param string $httpversion HTTP 1.1 is used for improved performance. * WP default is '1.0' diff --git a/inc/classes/layout.class.php b/inc/classes/layout.class.php index cbdcd087..90d74432 100644 --- a/inc/classes/layout.class.php +++ b/inc/classes/layout.class.php @@ -304,7 +304,7 @@ private static function get_account_info() { $_classes = [ 'tsfem-dashicon' ]; if ( $requests_remaining > 100 ) { - $_notice = \esc_html__( 'Number of API requests left this month.', 'the-seo-framework-extension-manager' ); + $_notice = \esc_html__( 'Number of API requests left for this month.', 'the-seo-framework-extension-manager' ); $_classes[] = 'tsfem-success'; } elseif ( $requests_remaining > 0 ) { $_notice = \esc_html__( 'Only a few requests left for this month. Consider upgrading your account.', 'the-seo-framework-extension-manager' ); diff --git a/inc/classes/panes.class.php b/inc/classes/panes.class.php index 9004185a..e124cdbe 100644 --- a/inc/classes/panes.class.php +++ b/inc/classes/panes.class.php @@ -493,7 +493,7 @@ protected function get_account_information() { $title = sprintf( '

%s %s

', \esc_html__( 'Account information', 'the-seo-framework-extension-manager' ), - HTML::make_inline_question_tooltip( implode( ' ', $infos ), implode( '
', $infos ) ) + ( $infos ? HTML::make_inline_question_tooltip( implode( ' ', $infos ), implode( '
', $infos ) ) : '' ) ); return sprintf( '', $title, $output ); diff --git a/inc/classes/schemapacker.class.php b/inc/classes/schemapacker.class.php index 50f3ad0f..9621d921 100644 --- a/inc/classes/schemapacker.class.php +++ b/inc/classes/schemapacker.class.php @@ -562,6 +562,7 @@ private function get_condition( $key ) { * Conditions $value for $key based on schema $what. * * @since 1.3.0 + * @since 2.0.0 Added level ($level) and iteration ($it) access in the 'set' _do->_to action. * @todo implement self-resolving staticvar that breaks the loop? * * @param string $key The value's key @@ -669,7 +670,12 @@ private function condition( $key, $value, $what ) { return null; case 'set': - return $c->_to; + if ( '$it' === $c->_to ) : + return $this->it; + elseif ( '$level' === $c->_to ) : + return $this->level; + endif; + return $c->to; case 'current': return current( $value ); diff --git a/inc/classes/trends.class.php b/inc/classes/trends.class.php index 6fe80ce2..3551cfc0 100644 --- a/inc/classes/trends.class.php +++ b/inc/classes/trends.class.php @@ -98,6 +98,11 @@ private static function prototype_trends( $ajax = false ) { $http_args = [ 'timeout' => 7, + /** + * @since 1.0.0 + * @param string $httpversion HTTP 1.1 is used for improved performance. + * WP default is '1.0' + */ 'httpversion' => \apply_filters( 'tsf_extension_manager_http_request_version', '1.1' ), ]; diff --git a/inc/traits/factory/time.trait.php b/inc/traits/factory/time.trait.php index da99e6a1..2af1fb50 100644 --- a/inc/traits/factory/time.trait.php +++ b/inc/traits/factory/time.trait.php @@ -173,14 +173,14 @@ protected function get_rectified_date_i18n( $format, $timestamp = null ) { */ protected function scale_time( $x, $x_scale = 'seconds', $scales = 2, $precise = false ) { - $time_i18n = ''; - $x = round( $x ); //= Can't upscale 0. if ( $scales && $x ) return $this->_upscale_time( $x, $x_scale, $scales, $precise ); + $time_i18n = ''; + switch ( $x_scale ) : case 'seconds': /* translators: %d = seconds */ @@ -245,7 +245,7 @@ protected function _upscale_time( $x, $x_scale, $scales, $precise ) { while ( $x_remaining ) : $_threshold = $scale_table[ $x_scale ][0]; - if ( $x_remaining >= $_threshold // > vs >= is 24 hours vs 1 day. + if ( $x_remaining >= $_threshold // > vs >= is 24 hours vs 1 day. && ( ! $precise || ( count( $times ) < $scales - 1 ) ) // -1 as we're adding another to reach this. ) { if ( $x_remaining % $_threshold ) { @@ -371,7 +371,7 @@ private function get_timezone_string( $guess = false ) { $tzstring = ''; if ( $guess && empty( $tzstring ) ) { - $offset = \get_option( 'gmt_offset' ); + $offset = \get_option( 'gmt_offset' ); $tzstring = $this->get_tzstring_from_offset( $offset ); } diff --git a/inc/traits/manager/extensions.trait.php b/inc/traits/manager/extensions.trait.php index 1a4ec51b..1eccb5f9 100644 --- a/inc/traits/manager/extensions.trait.php +++ b/inc/traits/manager/extensions.trait.php @@ -82,133 +82,123 @@ private static function get_extensions() { 'network' => '0', 'type' => 'premium', 'area' => 'business', - 'version' => '1.1.0', 'author' => 'Sybre Waaijer', 'party' => 'first', - 'last_updated' => '1534366523', + 'last_updated' => '1541633178', 'requires' => '4.7.0', - 'tested' => '4.9.8', + 'tested' => '5.0.0', 'requires_tsf' => '2.8.2', - 'tested_tsf' => '3.1.0', + 'tested_tsf' => '3.1.5', ], 'focus' => [ 'slug' => 'focus', 'network' => '0', 'type' => 'essentials+', 'area' => 'audit, content, keywords', - 'version' => '1.1.0', 'author' => 'Sybre Waaijer', 'party' => 'first', - 'last_updated' => '1535478196', + 'last_updated' => '1541599562', 'requires' => '4.8.0', 'tested' => '4.9.8', 'requires_tsf' => '3.0.0', - 'tested_tsf' => '3.1.0', + 'tested_tsf' => '3.1.5', ], - 'amp' => [ - 'slug' => 'amp', + 'articles' => [ + 'slug' => 'articles', 'network' => '0', - 'type' => 'free', - 'area' => 'general', - 'version' => '1.1.0', + 'type' => 'essentials', + 'area' => 'blogging, news', 'author' => 'Sybre Waaijer', 'party' => 'first', - 'last_updated' => '1534366523', + 'last_updated' => '1541599634', 'requires' => '4.6.0', - 'tested' => '4.9.8', + 'tested' => '5.0.0', 'requires_tsf' => '2.8.2', - 'tested_tsf' => '3.1.0', + 'tested_tsf' => '3.1.5', ], - 'articles' => [ - 'slug' => 'articles', + 'honeypot' => [ + 'slug' => 'honeypot', 'network' => '0', 'type' => 'essentials', - 'area' => 'blogging, news', - 'version' => '1.3.0', + 'area' => 'anti-spam', + 'author' => 'Sybre Waaijer', + 'party' => 'first', + 'last_updated' => '1541599841', + 'requires' => '4.6.0', + 'tested' => '5.0.0', + 'requires_tsf' => '2.7.0', + 'tested_tsf' => '3.1.5', + ], + 'amp' => [ + 'slug' => 'amp', + 'network' => '0', + 'type' => 'free', + 'area' => 'general', 'author' => 'Sybre Waaijer', 'party' => 'first', 'last_updated' => '1534366523', 'requires' => '4.6.0', - 'tested' => '4.9.8', + 'tested' => '5.0.0', 'requires_tsf' => '2.8.2', - 'tested_tsf' => '3.1.0', + 'tested_tsf' => '3.1.5', ], 'monitor' => [ 'slug' => 'monitor', 'network' => '0', 'type' => 'premium', 'area' => 'uptime, syntax', - 'version' => '1.2.0', 'author' => 'Sybre Waaijer', 'party' => 'first', 'last_updated' => '1534501826', 'requires' => '4.6.0', - 'tested' => '4.9.8', + 'tested' => '5.0.0', 'requires_tsf' => '2.7.0', - 'tested_tsf' => '3.1.0', + 'tested_tsf' => '3.1.5', ], 'incognito' => [ 'slug' => 'incognito', 'network' => '0', - 'type' => 'essentials', + 'type' => 'free', 'area' => 'general', - 'version' => '1.1.0', 'author' => 'Sybre Waaijer', 'party' => 'first', 'last_updated' => '1515109560', 'requires' => '3.6.0', - 'tested' => '4.9.8', + 'tested' => '5.0.0', 'requires_tsf' => '2.2.0', - 'tested_tsf' => '3.1.0', - ], - 'honeypot' => [ - 'slug' => 'honeypot', - 'network' => '0', - 'type' => 'essentials', - 'area' => 'anti-spam', - 'version' => '1.1.1', - 'author' => 'Sybre Waaijer', - 'party' => 'first', - 'last_updated' => '1534366523', - 'requires' => '4.6.0', - 'tested' => '4.9.8', - 'requires_tsf' => '2.7.0', - 'tested_tsf' => '3.1.0', + 'tested_tsf' => '3.1.5', ], 'origin' => [ 'slug' => 'origin', 'network' => '0', - 'type' => 'essentials', + 'type' => 'free', 'area' => 'media', - 'version' => '1.0.0', 'author' => 'Sybre Waaijer', 'party' => 'first', - 'last_updated' => '1515109560', + 'last_updated' => '1541601833', 'requires' => '4.6.0', - 'tested' => '4.9.8', + 'tested' => '5.0.0', 'requires_tsf' => '2.7.0', - 'tested_tsf' => '3.1.0', + 'tested_tsf' => '3.1.5', ], 'title-fix' => [ 'slug' => 'title-fix', 'network' => '0', 'type' => 'free', 'area' => 'theme', - 'version' => '1.2.0', 'author' => 'Sybre Waaijer', 'party' => 'first', 'last_updated' => '1534366523', 'requires' => '4.6.0', - 'tested' => '4.9.8', + 'tested' => '5.0.0', 'requires_tsf' => '2.7.0', - 'tested_tsf' => '3.1.0', + 'tested_tsf' => '3.1.5', ], // 'transporter' => [ // 'slug' => 'transporter', // 'network' => '0', // 'type' => 'free', // 'area' => 'media', - // 'version' => '1.0.0', // 'author' => 'Sybre Waaijer', // 'party' => 'first', // 'last_updated' => '1510175308', @@ -233,9 +223,9 @@ private static function get_extensions() { */ private static function get_external_extensions_checksum() { return [ - 'sha256' => '799bc425f15bcd9e1b902a5b0875df41c07a4b5c81262c58ee4750b74cf5c34a', - 'sha1' => 'a1ff939513b219adf038ecd9eb9411d783999463', - 'md5' => '67c5d81aec8e9860e4579fceb76806d3', + 'sha256' => '5310800522643c2755f60c54c04c0502fd85ed3c25aa748448e381b823924f94', + 'sha1' => '7a13fadb046f4714e6eb59da9e321f66f34f98b1', + 'md5' => '9c3c3846f8cbb3654ffdad0f6ce113be', ]; } diff --git a/lib/css/tsfem.css b/lib/css/tsfem.css index b0492183..9a11b3d1 100644 --- a/lib/css/tsfem.css +++ b/lib/css/tsfem.css @@ -460,6 +460,7 @@ body.tsfem .wrap { -moz-transition: filter 0.15s, color 0.15s; -o-transition: -webkit-filter 0.15s, color 0.15s; transition: filter 0.15s, color 0.15s;*/ + border-radius: 3px; } .tsfem-button-small, diff --git a/lib/css/tsfem.min.css b/lib/css/tsfem.min.css index 7285c46a..511dff96 100644 --- a/lib/css/tsfem.min.css +++ b/lib/css/tsfem.min.css @@ -1 +1 @@ -body.tsfem #update-nag,body.tsfem .update-nag{display:none}.tsfem-notice,.wrap.tsfem .notice{margin:1.2vw 0 0;box-shadow:0 .4em 1em rgba(0,0,0,.18)}.tsfem-notice{position:relative;background:#fff;border-left:4px solid #fff;padding:1px 12px}.tsfem-notice p{margin:.5em 19px .5em 0;padding:2px}.tsfem-notice,.tsfem-notice-success{border-left-color:#00cd98}.tsfem-notice-warning{border-left-color:#ffa01b}.tsfem-notice-error{border-left-color:#dd3811}.tsfem-notice.tsfem-show-icon p:before{content:'';margin-right:12px;background:0 0;display:inline-block;font:400 14px/14px dashicons;speak:none;height:16px;text-align:center;vertical-align:middle;width:16px;-webkit-font-smoothing:antialiased}.tsfem-notice-success.tsfem-show-icon p:before{color:#00cd98;font-size:16px;content:"\f147"}.tsfem-notice-warning.tsfem-notice.tsfem-show-icon p:before{color:#ffa01b;content:"\f227"}.tsfem-notice-error.tsfem-notice.tsfem-show-icon p:before{color:#dd3811;content:"\f534"}a.tsfem-dismiss{position:absolute;top:0;right:1px;border:none;margin:0;padding:9px;background:0 0;color:#b4b9be;cursor:pointer;text-decoration:none;transition:color .15s}a.tsfem-dismiss:before{background:0 0;content:"\f153";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a.tsfem-dismiss:hover{color:#d14b44}.tsfem-flex-status-loading>span{display:inline-block;font-size:30px;text-align:center}.tsfem-flex-status-loading>span:after{display:inline-block;width:1em;content:"\f463";font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:middle;color:#0ebfe9;line-height:1em;font-size:1em;-webkit-animation:1.5s linear infinite tsfem-spin;animation:1.5s linear infinite tsfem-spin}.tsfem-disable-cursor{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-question-cursor{cursor:help}.tsfem-flex{box-sizing:border-box;display:-webkit-flex;display:flex;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-flex-rtl{-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-flex-row{-webkit-flex-direction:row;flex-direction:row}.tsfem-flex-nowrap{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.tsfem-flex-grow{-webkit-flex-grow:1;flex-grow:1}.tsfem-flex-nogrow{-webkit-flex:0 1 auto;flex:0 1 auto}.tsfem-flex-noshrink{-webkit-flex:1 0 auto;flex:1 0 auto}.tsfem-flex-nogrowshrink{-webkit-flex:0 0 auto;flex:0 0 auto}.tsfem-flex-space{-webkit-justify-content:space-between;justify-content:space-between}.tsfem-flex-center{-webkit-justify-content:center;justify-content:center}.tsfem-flex-end{-webkit-justify-content:flex-end;justify-content:flex-end}body.tsfem #wpbody-content{padding-bottom:0}body.tsfem .wrap{min-height:100vh;overflow:visible;padding:32px 0 0;margin:-32px 0 0 -20px}.tsfem-notice-wrap{margin:0 1.2vw}.tsfem-connect-wrap,.tsfem-panes-wrap{-webkit-flex:1 1 auto;flex:1 1 auto}.tsfem-panes-wrap{margin:.6vw}.tsfem-connect-wrap{margin:1.2vw}.tsfem-top-wrap{background-color:#fff;box-shadow:0 .4em 1em rgba(0,0,0,.18);width:100%;margin:0;padding:1em 1.2vw}.tsfem-footer-wrap{padding:0 0 1.2vw;margin:0 1.2vw;overflow:hidden;white-space:nowrap;text-align:center}.tsfem.connect-wrap{max-width:690px;min-width:275px}.tsfem-flex-textarea-wrap{-webkit-flex-direction:row;flex-direction:row;min-width:100%;width:100%;-webkit-flex:0 0 auto;flex:0 0 auto}.tsfem-flex-textarea-wrap textarea{display:block;min-width:100%}.tsfem-top-about,.tsfem-top-actions,.tsfem-top-wrap .tsfem-title{text-align:left;-webkit-align-items:center;align-items:center}.tsfem-top-about,.tsfem-top-actions{-webkit-justify-content:flex-end;justify-content:flex-end}.tsfem-top-wrap .tsfem-title{-webkit-flex:1 999 auto;flex:1 999 auto}.tsfem-top-about{-webkit-flex:1 1 160px;flex:1 1 160px}.tsfem-top-actions>div{display:inline-block;white-space:pre}.tsfem-top-about>div{display:inline-block;text-align:justify;max-width:calc(100% - 1.2em - 14px);color:#333;letter-spacing:.2px}.tsfem-about-activation:before{display:inline-block;color:#0ebfe9;content:"\f112";font-size:1.2em;line-height:1.2em;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;margin:0 7px;vertical-align:baseline;white-space:pre-wrap}.tsfem-top-wrap .tsfem-title header{width:calc(100% - 7px)}.tsfem-top-wrap .tsfem-title *{vertical-align:top}.tsfem-top-wrap .tsfem-title h1{font-family:Verdana,Geneva,sans-serif;word-break:break-word;font-size:1.9em;font-weight:400;line-height:1em;color:#0ebfe9;margin:0;padding:0;display:inline}.tsfem-top-wrap .tsfem-title .tsfem-logo>svg{display:inline-block;white-space:pre-wrap;padding:0;margin-right:7px;line-height:29px;vertical-align:top}.tsfem input[type=checkbox]:focus,.tsfem input[type=color]:focus,.tsfem input[type=date]:focus,.tsfem input[type=datetime-local]:focus,.tsfem input[type=datetime]:focus,.tsfem input[type=email]:focus,.tsfem input[type=month]:focus,.tsfem input[type=number]:focus,.tsfem input[type=password]:focus,.tsfem input[type=radio]:focus,.tsfem input[type=search]:focus,.tsfem input[type=tel]:focus,.tsfem input[type=text]:focus,.tsfem input[type=time]:focus,.tsfem input[type=url]:focus,.tsfem input[type=week]:focus,.tsfem select:focus,.tsfem textarea:focus{border-color:#057f9c;box-shadow:0 0 2px rgba(66,144,183,.8)}.tsfem-button,.tsfem-button-primary,.tsfem-button-primary:focus,.tsfem-button:disabled,.tsfem-button:disabled:hover,.tsfem-button:focus{display:inline-block;padding:.5em 1em;background:#eee;border:0;box-shadow:0 .2em 0 #cacaca;color:#666;text-shadow:0 -1px 1px #efefef,1px 0 1px #efefef,0 1px 1px #efefef,-1px 0 1px #efefef;font-size:1em;line-height:1em;text-decoration:none;text-align:center;margin-top:.2em;margin-bottom:.2em;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tsfem-button-small,.tsfem-button-small:disabled,.tsfem-button-small:disabled:hover,.tsfem-button-small:focus{font-size:.9em}.tsfem-button-primary,.tsfem-button-primary:focus{background:#05809e;box-shadow:0 .2em 0 #005c7a;color:#fff;text-shadow:0 -1px 1px #005c7a,1px 0 1px #005c7a,0 1px 1px #005c7a,-1px 0 1px #005c7a}.tsfem-button-primary-bright,.tsfem-button-primary-bright:focus{color:#fff;background:#0ebfe9;box-shadow:0 .2em 0 #057f9c;text-shadow:0 -1px 1px #0078a2,1px 0 1px #0078a2,0 1px 1px #0078a2,-1px 0 1px #0078a2}.tsfem-button-extension-activate,.tsfem-button-extension-activate:focus,.tsfem-button-green,.tsfem-button-green:focus{color:#fff;background:#00cd98;box-shadow:0 .2em 0 #008964;text-shadow:0 -1px 1px #008651,1px 0 1px #008651,0 1px 1px #008651,-1px 0 1px #008651}.tsfem-button-extension-deactivate,.tsfem-button-extension-deactivate:focus,.tsfem-button-red,.tsfem-button-red:focus{color:#fff;background:#ff746a;box-shadow:0 .2em 0 #d14b44;text-shadow:0 -1px 1px #d14831,1px 0 1px #d14831,0 1px 1px #d14831,-1px 0 1px #d14831}.tsfem-button-clipboard:after,.tsfem-button-cloud:after,.tsfem-button-download:after,.tsfem-button-external:after,.tsfem-button-flag:after,.tsfem-button-image:after,.tsfem-button-index:after,.tsfem-button-loading:after,.tsfem-button-love:after,.tsfem-button-star:after,.tsfem-button-upload:after,.tsfem-button-warning:after{display:inline-block;width:1em;content:"\f155";font-size:1em;line-height:1em;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;margin-left:.5em}.tsfem-button-small:after{font-size:.9em}.tsfem-button-flag:after{content:"\f227"}.tsfem-button-warning:after{content:"\f534"}.tsfem-button-love:after{content:"\f487"}.tsfem-button-upload:after{content:"\f317"}.tsfem-button-download:after{content:"\f316"}.tsfem-button-clipboard:after{content:"\f481"}.tsfem-button-index:after{content:"\f510"}.tsfem-button-cloud:after{content:"\f176"}.tsfem-button-external:after{content:"\f504"}.tsfem-button-image:after{content:"\f128"}.tsfem-button-loading:after{content:"\f463";-webkit-animation:1.5s linear infinite tsfem-spin;-moz-animation:1.5s linear infinite tsfem-spin;-o-animation:1.5s linear infinite tsfem-spin;animation:1.5s linear infinite tsfem-spin}.tsfem-button-primary:active,.tsfem-button:active{margin-top:.4em;margin-bottom:0;box-shadow:none;outline:0}.tsfem-button-primary:focus,.tsfem-button:focus{outline:0}.tsfem-button:active,.tsfem-button:focus,.tsfem-button:hover{color:#777;-webkit-filter:brightness(.925);filter:brightness(.925)}.tsfem-button-primary:active,.tsfem-button-primary:focus,.tsfem-button-primary:hover{color:#fff;-webkit-filter:hue-rotate(5deg) saturate(1.2) brightness(1.025);filter:hue-rotate(5deg) saturate(1.2) brightness(1.025)}.tsfem-button-flat,.tsfem-button-flat:active,.tsfem-button-flat:focus,.tsfem-button-flat:hover{margin:0;box-shadow:0 0 .3em transparent,0 0 0 transparent inset;filter:none;transition:box-shadow .25s;padding:.4em 1em .5em}.tsfem-button-small.tsfem-button-flat{padding:.5em 1em}.tsfem-button-flat:focus,.tsfem-button-flat:hover{margin:0;box-shadow:0 .2em 1em rgba(0,0,0,.3),0 0 0 transparent inset}.tsfem-button-flat:active{margin:0;box-shadow:0 0 .3em transparent,0 .1em .7em .2em rgba(0,0,0,.3) inset;transition-duration:.15s}.tsfem-switch-button-container-wrap{display:inline-block;perspective:800px;perspective-origin:50%}.tsfem-switch-button-container{position:relative;margin:0 0 1em;width:140px;height:2em;padding:0;display:block}.tsfem-switch-button-container input[type=checkbox]{position:absolute;width:0;height:0;opacity:0;margin:0;padding:0;border:0;z-index:-1;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tsfem-switch-button-container button,.tsfem-switch-button-container label{position:absolute;left:0;top:0;text-align:center;transition:transform 1s,opacity .5s;z-index:1;display:block;width:140px;box-sizing:border-box}.tsfem-switch-button-container input[type=checkbox]+label{z-index:2;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-switch-button-container button{transform:rotateX(-90deg);transform-origin:0 100% 0;opacity:0;transition:transform 1.2s,opacity .6s}.tsfem-switch-button-container input[type=checkbox]:checked:before{content:none}.tsfem-switch-button-container input[type=checkbox]:checked+label{transform:rotateX(90deg) translateY(-100%);opacity:0;z-index:0;transition:transform 1.2s,opacity .6s}.tsfem-switch-button-container input[type=checkbox]:checked~button{transform:rotateX(0);opacity:1;z-index:2;transition:transform 1s,opacity .5s}.tsfem-button-disabled,.tsfem-button-disabled:active,.tsfem-button-disabled:disabled,.tsfem-button-disabled:focus,.tsfem-button-disabled:hover{-webkit-filter:grayscale(1);filter:grayscale(1);cursor:not-allowed;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-connect-option{width:100%;max-width:690px;padding:1em 1.5em;margin:0 auto 1.2vw;box-shadow:0 .3em 1em rgba(0,0,0,.18);background:#fff;box-sizing:border-box}.tsfem-connect-row{-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between}.tsfem-connect-option:last-of-type{margin-bottom:0}.tsfem-connect-action,.tsfem-connect-text{margin:.5em 0;flex:1 1 49%;min-width:175px;padding:3px}.tsfem-connect-action form{margin:0;padding:0}.tsfem-connect-description>*{margin:0 0 1em;display:block}.tsfem-connect-description>:last-child{margin-bottom:0}.tsfem-connect-wrap h3{font-size:1.66em;color:#057f9c;font-weight:400}.tsfem-panes-wrap{padding:0;-webkit-align-items:center;align-items:center;min-height:300px}.tsfem-panes-row{width:100%;margin:0;padding:0}.tsfem-pane-full,.tsfem-pane-half{-webkit-flex-basis:calc(50% - 1.2vw);flex-basis:calc(50% - 1.2vw);background:#fff;box-shadow:0 .3em 1em rgba(0,0,0,.18);margin:.6vw;padding:0;min-height:300px;min-width:300px}.tsfem-pane-full ::-webkit-scrollbar,.tsfem-pane-half ::-webkit-scrollbar{width:.7em;height:.7em;background:rgba(0,0,0,.04)}.tsfem-pane-full ::-webkit-scrollbar:hover,.tsfem-pane-half ::-webkit-scrollbar:hover{background:rgba(0,0,0,.06)}.tsfem-pane-full ::-webkit-scrollbar:active,.tsfem-pane-half ::-webkit-scrollbar:active{background:rgba(0,0,0,.08)}.tsfem-pane-full ::-webkit-scrollbar-thumb,.tsfem-pane-half ::-webkit-scrollbar-thumb{background-color:#05809e;box-shadow:0 0 1em rgba(0,0,0,.25)}.tsfem-pane-full ::-webkit-scrollbar-thumb:hover,.tsfem-pane-half ::-webkit-scrollbar-thumb:hover{box-shadow:0 0 .7em .2em rgba(0,0,0,.25)}.tsfem-pane-full ::-webkit-scrollbar-thumb:active,.tsfem-pane-half ::-webkit-scrollbar-thumb:active{box-shadow:0 0 .6em .2em rgba(0,0,0,.35)}.tsfem-pane-wrap{padding:0;margin:0;overflow:hidden;max-height:100%;-webkit-flex-basis:33vh;flex-basis:33vh;min-height:100%}.tsfem-pane-header{box-shadow:0 .2em .75em rgba(0,0,0,.18);z-index:5}.tsfem-pane-content,.tsfem-pane-header{margin:0;padding:1em 1.5em}.tsfem-pane-content{padding:0;border-top:0;max-height:100%;overflow:hidden}.tsfem-pane-header>*{font-size:1em;line-height:1em;margin:0;padding:0;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-flex-direction:row;flex-direction:row;-webkit-align-items:center;align-items:center;-webkit-justify-content:flex-end;justify-content:flex-end}.tsfem-pane-header .tsfem-ajax{max-width:initial;font-size:1em;word-break:break-word;text-align:right;-webkit-flex:0 1 auto;flex:0 1 auto;margin-left:7px}.tsfem-pane-header h3{font-size:1.33em;color:#057f9c;font-weight:400;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-pane-content h4.tsfem-status-title,.tsfem-pane-content h5.tsfem-status-title,.tsfem-pane-content h6.tsfem-status-title{margin:0}.tsfem-pane-inner-wrap{box-sizing:border-box;padding:1.5em;height:auto;max-height:100%;width:100%;overflow:auto;will-change:scroll-position;overflow-x:hidden;-webkit-overflow-scrolling:touch}.tsfem-pane-inner-collapsable-settings-wrap{padding:0}.tsfem-pane-inner-collapsable-settings-wrap .tsfem-pane-inner-pad{width:100%;padding:1.5em}.tsfem-pane-inner-collapsable-settings-wrap .tsfem-pane-inner-pad+.tsfem-pane-inner-pad{padding-top:0}.tsfem-pane-footer-wrap{margin:0;padding:1em 1.5em;box-shadow:0 -1px 3px 0 #ccc;z-index:5}.tsfem-pane-footer-wrap :nth-of-type(-n+1){margin-right:14px}.tsfem-actions,.tsfem-pane-split,.tsfem-trends,.tsfem-trends-activation{-webkit-flex-basis:100%;flex-basis:100%}#tsfem-extensions-pane{min-height:350px}.tsfem-actions>div,.tsfem-pane-split>div{margin-right:2em;-webkit-flex-basis:200px;flex-basis:200px;min-width:200px}.tsfem-actions>div:last-of-type,.tsfem-pane-split>div:last-of-type{margin-right:0;margin-bottom:0}.tsfem-actions>div>div,.tsfem-pane-split>div>div{margin-bottom:2em}.tsfem-flex-account-info-rows{line-height:1.625em}.tsfem-actions-account-info-title{font-weight:600}h4.tsfem-action-title,h4.tsfem-cp-title,h4.tsfem-form-title,h4.tsfem-info-title,h4.tsfem-status-title,h4.tsfem-support-title{padding:0;margin:0 0 14px;font-size:1.16em;font-weight:400;color:#057f9c}.tsfem-account-upgrade,.tsfem-cp-buttons,.tsfem-support-buttons{max-width:300px}.tsfem-cp-buttons,.tsfem-support-buttons{margin-bottom:14px;-webkit-flex-basis:50%;flex-basis:50%}.tsfem-cp-buttons:last-of-type,.tsfem-support-buttons:last-of-type{margin-bottom:0}.tsfem-cp-buttons>a,.tsfem-cp-buttons>form,.tsfem-support-buttons>a{cursor:pointer;min-width:50%;display:inline-block}.tsfem-cp-buttons button{width:100%}.tsfem-description{font-size:.93em;font-style:oblique;text-indent:.5em}.tsfem-extensions-wrap{height:auto;padding-right:0;padding-bottom:0;margin:0}.tsfem-extensions-overview-content{-webkit-flex:1 1 100%;flex:1 1 100%}.tsfem-extension-entry-wrap{padding:0;margin:0;-webkit-flex-basis:50%;flex-basis:50%;min-width:280px}.tsfem-extension-entry-inner{margin:0 1.5em 1.5em 0}.tsfem-extension-entry{margin:0;padding:.33em;min-height:122px;border-radius:.5em 0 0 .5em;box-shadow:0 .1em .5em .1em rgba(0,0,0,.18) inset;background:#fff;-webkit-align-self:auto;align-self:auto;-webkit-justify-content:center;justify-content:center}.tsfem-extension-entry>*{min-height:100px;margin:0;padding:0;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:column;flex-direction:column;width:auto;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-extension-icon-wrap{-webkit-flex-grow:0;flex-grow:0;-webkit-flex-basis:120px;flex-basis:120px;-webkit-align-self:center;align-self:center}.tsfem-extension-about-wrap{-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:space-around;justify-content:space-around;padding:10px 15px;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-basis:170px;flex-basis:170px}.tsfem-extension-description-wrap{-webkit-flex-grow:3;flex-grow:3;-webkit-flex-basis:280px;flex-basis:280px}.tsfem-extension-description-footer{display:block;width:100%;white-space:pre-line}.tsfem-extension-title{min-width:120px;font-size:1.33em;word-break:break-word;font-weight:600;color:#0ebfe9;margin:0;padding:0}.tsfem-extension-type{margin:0;padding:0;font-size:.83em}.tsfem-extension-subheader{padding:.667em 0}.tsfem-extension-action input,.tsfem-extension-action>*{width:100%;text-align:center}.tsfem-extension-party:before{display:inline-block;width:1em;line-height:1;font-family:dashicons;font-style:normal;font-weight:400;font-size:1.225em;vertical-align:middle;content:"";margin-right:4px}.tsfem-extension-first-party-icon:before{content:"\f338"}.tsfem-extension-third-party-icon:before{content:"\f307"}.tsfem-extension-description{padding:1em}.tsfem-extension-description-header{padding-bottom:1em}.tsfem-feed-wrap{-webkit-align-self:flex-start;align-self:flex-start}.tsfem-enable-feed-button{margin-bottom:14px;-webkit-flex-basis:50%;flex-basis:50%;max-width:300px}.tsfem-feed-entry,.tsfem-feed-top{width:100%;margin:0;padding:0;overflow:hidden}.tsfem-feed-content,.tsfem-feed-entry,.tsfem-feed-top{margin-bottom:1em}.tsfem-feed-top{word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;overflow-wrap:normal;-webkit-align-items:baseline;align-items:baseline}.tsfem-feed-top h4{white-space:pre-wrap;margin:0;padding:0}.tsfem-feed-top time{white-space:nowrap;word-wrap:break-word;overflow-wrap:break-word;word-spacing:-1px;font-size:.9em;margin:0 7px;padding:0;font-style:oblique}.tsfem-feed-entry{border-bottom:1px solid #dedede;margin:0 -1em 1em;padding:0 1em}.tsfem-feed-entry:last-of-type,.tsfem-feed-entry:last-of-type .tsfem-feed-content{margin-bottom:0;border-bottom:none}.tsfem #input-activation{width:100%;margin:0;padding:0}.tsfem #input-activation .regular-text,.tsfem #input-activation .tsfem-button{margin-left:0;margin-right:0;border-radius:0;width:100%;font-size:13px}.tsfem #input-activation .regular-text{margin:4px 0}.tsfem #input-activation .regular-text:first-child{margin-top:0}.tsfem #input-activation .regular-text:nth-of-type(2){margin-bottom:5px}.tsfem #wpfooter{z-index:-1;padding:0}.tsfem-footer-wrap .tsfem-footer-motto,.tsfem-footer-wrap .tsfem-footer-title{font-size:1em;margin:0;color:#646d78;font-weight:300;cursor:default}.tsfem-footer-wrap .tsfem-footer-title{font-weight:400;color:#555d66}.tsfem-ajax:after,.tsfem-dashicon:after{display:inline-block;line-height:1;font-family:dashicons;font-style:normal;font-weight:400;width:1em;vertical-align:baseline;content:"";margin-left:4px}.tsfem-ajax:after{font-size:1.225em;line-height:.816em}.tsfem-dashicon:after{font-size:1.2em;vertical-align:text-bottom;margin-left:2px}.tsfem-ajax.tsfem-loading:after{content:"\f463";color:#057c99;-webkit-animation:1.5s linear infinite tsfem-spin;animation:1.5s linear infinite tsfem-spin}.tsfem-dashicon-fadeout-3000:after{animation:3s linear tsfem-fadeout}.tsfem-ajax.tsfem-error:after,.tsfem-dashicon.tsfem-error:after{content:"\f158";color:#dd3811}.tsfem-ajax.tsfem-success:after,.tsfem-dashicon.tsfem-success:after{content:"\f147";color:#0cc34b}.tsfem-ajax.tsfem-unknown:after,.tsfem-dashicon.tsfem-unknown:after{content:"\f223";color:#057c99}.tsfem-dashicon.tsfem-warning:after{content:"\f227";color:#ffa01b}.tsfem-dashicon.tsfem-edit:after{content:"\f464";color:#ffa01b}.tsfem-dashicon.tsfem-close:after{content:"\f158";color:#ffa01b}@keyframes tsfem-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes tsfem-fadeout{100%{opacity:0}}@media screen and (max-width:782px){body.tsfem .wrap{margin-left:-10px;margin-top:-46px;padding-top:46px}}.tsfem-tooltip-wrap{position:relative;font-size:13px;display:inline-block}.tsfem-tooltip-item{cursor:help}a.tsfem-tooltip-item{cursor:pointer}.tsfem-tooltip{position:absolute;padding:0;margin:0;bottom:0;left:0;z-index:900142;text-align:left;pointer-events:none;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-tooltip-down{bottom:auto;top:0}.tsfem-tooltip-text-wrap{padding:10px 12px;font-size:1em;font-weight:500;line-height:1.625em;border-radius:3px;background:#424242;color:#fbf7fd;box-shadow:0 0 2px rgba(0,0,0,.6);text-shadow:none;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;white-space:pre-line;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 0 150px;flex:1 0 150px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-tooltip-text span{text-decoration:underline}.tsfem-tooltip-text br{display:block;width:100%;content:"\A"}.tsfem-tooltip-arrow{position:absolute;bottom:-8px;z-index:9999999;left:7px;width:0;height:0}.tsfem-tooltip-down .tsfem-tooltip-arrow{bottom:auto;top:-8px}.tsfem-tooltip-arrow:before{content:"";border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid rgba(0,0,0,.25);position:absolute;bottom:0;left:0}.tsfem-tooltip-arrow:after{content:"";border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #424242;position:absolute;bottom:1px;left:1px}.tsfem-tooltip-down .tsfem-tooltip-arrow:before{bottom:auto;top:0;border-top:0;border-bottom:9px solid rgba(0,0,0,.25)}.tsfem-tooltip-down .tsfem-tooltip-arrow:after{bottom:auto;top:1px;border-top:0;border-bottom:8px solid #424242}.tsfem-flip-hide-down,.tsfem-flip-hide-up{-webkit-transform:rotateX(90deg) translateY(.5em);transform:rotateX(90deg) translateY(.5em);-webkit-transform-origin:0 100% 0;transform-origin:0 100% 0;opacity:0;-webkit-transition:-webkit-transform .25s,opacity .25s;transition:transform .25s,opacity .25s}.tsfem-flip-hide-down{-webkit-transform:rotateX(-90deg) translateY(-2em);transform:rotateX(-90deg) translateY(-2em)}.tsfem-flip-show-down,.tsfem-flip-show-up{-webkit-transform:rotateX(0) translateY(0);transform:rotateX(0) translateY(0);opacity:1;-webkit-transition:-webkit-transform .25s,opacity .125s;transition:transform .25s,opacity .125s}.tsfem-hidden{display:none}.tsfem-has-hover-balloon{position:relative;cursor:help}.tsfem-ltr{direction:ltr}.tsfem-flex-hide-if-no-js,body.js .tsfem-flex-hide-if-js{display:none}body.js .tsfem-flex-hide-if-no-js{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tsfem-modal-mask,.tsfem-modal-mask-noscroll{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483644;opacity:0}.tsfem-modal-mask-noscroll{position:absolute;z-index:2147483645}.tsfem-modal-buttons,.tsfem-modal-container,.tsfem-modal-dialog,.tsfem-modal-dialog-wrap,.tsfem-modal-select,.tsfem-modal-select-option,.tsfem-modal-title{display:-webkit-box;display:-webkit-flex;display:flex}.tsfem-modal-container{position:fixed;top:0;left:0;overflow:hidden;width:100%;height:100%;background:rgba(33,33,33,.15);opacity:0;z-index:2147483646}.tsfem-modal-dialog-wrap{position:absolute;top:0;right:0;left:0;bottom:0;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;align-items:center}.tsfem-modal-dialog{-webkit-flex-direction:column;flex-direction:column;background:#fff;border-radius:3px;min-width:240px;max-width:calc(90% - 240px);max-height:80%;position:relative;overflow:hidden;box-shadow:0 0 4px 2px #aaa;z-index:2147483647}.tsfem-modal-buttons,.tsfem-modal-title{margin:0;padding:14px 20px;box-shadow:0 1px 3px 0 #ccc;z-index:5;-webkit-flex-shrink:0;flex-shrink:0}.tsfem-modal-buttons{box-shadow:0 -1px 3px 0 #ccc;-webkit-justify-content:flex-end;justify-content:flex-end}.tsfem-modal-title h4{margin:0;padding:0;font-size:1.4em;line-height:1.2em;color:#057f9c;font-weight:400}.tsfem-modal-inner{padding:20px;max-width:640px;overflow:auto;overflow-x:hidden}.tsfem-modal-text p:first-of-type{margin:0}.tsfem-modal-text p:last-of-type{margin-bottom:0}.tsfem-modal-text+.tsfem-modal-select{margin-top:20px}.tsfem-modal-select{-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:flex-start;align-items:flex-start}.tsfem-modal-select-option{margin-bottom:14px;padding:0 7px;-webkit-flex-basis:140px;flex-basis:140px;max-width:calc(50% - 14px);-webkit-flex-grow:1;flex-grow:1}.tsfem-modal-select-option:first-of-type:last-of-type{max-width:none}.tsfem-modal-select-option input{position:absolute;width:0;height:0;opacity:0;margin:0!important;padding:0!important;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tsfem-modal-select-option label{font-weight:600;border:1px solid transparent;background:#fefefe;box-shadow:0 1px 3px 1px #ccc;cursor:pointer;padding:14px;width:100%;-webkit-transition:.33s;-moz-transition:.33s;-o-transition:.33s;transition:.33s;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-modal-select-option:hover input:not(:checked)+label{-webkit-filter:brightness(.95);filter:brightness(.95)}.tsfem-modal-select-option>input:checked+label{border-color:#05809e}.tsfem-modal-select-option input:active+label,.tsfem-modal-select-option input:focus+label,.tsfem-modal-select-option:hover input:checked+label{box-shadow:0 1px 3px 1px #05809e}.tsfem-modal-buttons button:nth-child(n+2){margin-left:14px}.tsfem-modal-dismiss{position:absolute;top:0;right:0;border:none;margin:7px;padding:7px;background:0 0;color:#b4b9be;cursor:pointer;text-decoration:none;z-index:6;transition:color .15s}.tsfem-modal-dismiss:hover{color:#d14b44}.tsfem-modal-dismiss:before{background:0 0;content:"\f153";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} +body.tsfem #update-nag,body.tsfem .update-nag{display:none}.tsfem-notice,.wrap.tsfem .notice{margin:1.2vw 0 0;box-shadow:0 .4em 1em rgba(0,0,0,.18)}.tsfem-notice{position:relative;background:#fff;border-left:4px solid #fff;padding:1px 12px}.tsfem-notice p{margin:.5em 19px .5em 0;padding:2px}.tsfem-notice,.tsfem-notice-success{border-left-color:#00cd98}.tsfem-notice-warning{border-left-color:#ffa01b}.tsfem-notice-error{border-left-color:#dd3811}.tsfem-notice.tsfem-show-icon p:before{content:'';margin-right:12px;background:0 0;display:inline-block;font:400 14px/14px dashicons;speak:none;height:16px;text-align:center;vertical-align:middle;width:16px;-webkit-font-smoothing:antialiased}.tsfem-notice-success.tsfem-show-icon p:before{color:#00cd98;font-size:16px;content:"\f147"}.tsfem-notice-warning.tsfem-notice.tsfem-show-icon p:before{color:#ffa01b;content:"\f227"}.tsfem-notice-error.tsfem-notice.tsfem-show-icon p:before{color:#dd3811;content:"\f534"}a.tsfem-dismiss{position:absolute;top:0;right:1px;border:none;margin:0;padding:9px;background:0 0;color:#b4b9be;cursor:pointer;text-decoration:none;transition:color .15s}a.tsfem-dismiss:before{background:0 0;content:"\f153";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a.tsfem-dismiss:hover{color:#d14b44}.tsfem-flex-status-loading>span{display:inline-block;font-size:30px;text-align:center}.tsfem-flex-status-loading>span:after{display:inline-block;width:1em;content:"\f463";font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:middle;color:#0ebfe9;line-height:1em;font-size:1em;-webkit-animation:1.5s linear infinite tsfem-spin;animation:1.5s linear infinite tsfem-spin}.tsfem-disable-cursor{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-question-cursor{cursor:help}.tsfem-flex{box-sizing:border-box;display:-webkit-flex;display:flex;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-flex-rtl{-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-flex-row{-webkit-flex-direction:row;flex-direction:row}.tsfem-flex-nowrap{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.tsfem-flex-grow{-webkit-flex-grow:1;flex-grow:1}.tsfem-flex-nogrow{-webkit-flex:0 1 auto;flex:0 1 auto}.tsfem-flex-noshrink{-webkit-flex:1 0 auto;flex:1 0 auto}.tsfem-flex-nogrowshrink{-webkit-flex:0 0 auto;flex:0 0 auto}.tsfem-flex-space{-webkit-justify-content:space-between;justify-content:space-between}.tsfem-flex-center{-webkit-justify-content:center;justify-content:center}.tsfem-flex-end{-webkit-justify-content:flex-end;justify-content:flex-end}body.tsfem #wpbody-content{padding-bottom:0}body.tsfem .wrap{min-height:100vh;overflow:visible;padding:32px 0 0;margin:-32px 0 0 -20px}.tsfem-notice-wrap{margin:0 1.2vw}.tsfem-connect-wrap,.tsfem-panes-wrap{-webkit-flex:1 1 auto;flex:1 1 auto}.tsfem-panes-wrap{margin:.6vw}.tsfem-connect-wrap{margin:1.2vw}.tsfem-top-wrap{background-color:#fff;box-shadow:0 .4em 1em rgba(0,0,0,.18);width:100%;margin:0;padding:1em 1.2vw}.tsfem-footer-wrap{padding:0 0 1.2vw;margin:0 1.2vw;overflow:hidden;white-space:nowrap;text-align:center}.tsfem.connect-wrap{max-width:690px;min-width:275px}.tsfem-flex-textarea-wrap{-webkit-flex-direction:row;flex-direction:row;min-width:100%;width:100%;-webkit-flex:0 0 auto;flex:0 0 auto}.tsfem-flex-textarea-wrap textarea{display:block;min-width:100%}.tsfem-top-about,.tsfem-top-actions,.tsfem-top-wrap .tsfem-title{text-align:left;-webkit-align-items:center;align-items:center}.tsfem-top-about,.tsfem-top-actions{-webkit-justify-content:flex-end;justify-content:flex-end}.tsfem-top-wrap .tsfem-title{-webkit-flex:1 999 auto;flex:1 999 auto}.tsfem-top-about{-webkit-flex:1 1 160px;flex:1 1 160px}.tsfem-top-actions>div{display:inline-block;white-space:pre}.tsfem-top-about>div{display:inline-block;text-align:justify;max-width:calc(100% - 1.2em - 14px);color:#333;letter-spacing:.2px}.tsfem-about-activation:before{display:inline-block;color:#0ebfe9;content:"\f112";font-size:1.2em;line-height:1.2em;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;margin:0 7px;vertical-align:baseline;white-space:pre-wrap}.tsfem-top-wrap .tsfem-title header{width:calc(100% - 7px)}.tsfem-top-wrap .tsfem-title *{vertical-align:top}.tsfem-top-wrap .tsfem-title h1{font-family:Verdana,Geneva,sans-serif;word-break:break-word;font-size:1.9em;font-weight:400;line-height:1em;color:#0ebfe9;margin:0;padding:0;display:inline}.tsfem-top-wrap .tsfem-title .tsfem-logo>svg{display:inline-block;white-space:pre-wrap;padding:0;margin-right:7px;line-height:29px;vertical-align:top}.tsfem input[type=checkbox]:focus,.tsfem input[type=color]:focus,.tsfem input[type=date]:focus,.tsfem input[type=datetime-local]:focus,.tsfem input[type=datetime]:focus,.tsfem input[type=email]:focus,.tsfem input[type=month]:focus,.tsfem input[type=number]:focus,.tsfem input[type=password]:focus,.tsfem input[type=radio]:focus,.tsfem input[type=search]:focus,.tsfem input[type=tel]:focus,.tsfem input[type=text]:focus,.tsfem input[type=time]:focus,.tsfem input[type=url]:focus,.tsfem input[type=week]:focus,.tsfem select:focus,.tsfem textarea:focus{border-color:#057f9c;box-shadow:0 0 2px rgba(66,144,183,.8)}.tsfem-button,.tsfem-button-primary,.tsfem-button-primary:focus,.tsfem-button:disabled,.tsfem-button:disabled:hover,.tsfem-button:focus{display:inline-block;padding:.5em 1em;background:#eee;border:0;box-shadow:0 .2em 0 #cacaca;color:#666;text-shadow:0 -1px 1px #efefef,1px 0 1px #efefef,0 1px 1px #efefef,-1px 0 1px #efefef;font-size:1em;line-height:1em;text-decoration:none;text-align:center;margin-top:.2em;margin-bottom:.2em;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:3px}.tsfem-button-small,.tsfem-button-small:disabled,.tsfem-button-small:disabled:hover,.tsfem-button-small:focus{font-size:.9em}.tsfem-button-primary,.tsfem-button-primary:focus{background:#05809e;box-shadow:0 .2em 0 #005c7a;color:#fff;text-shadow:0 -1px 1px #005c7a,1px 0 1px #005c7a,0 1px 1px #005c7a,-1px 0 1px #005c7a}.tsfem-button-primary-bright,.tsfem-button-primary-bright:focus{color:#fff;background:#0ebfe9;box-shadow:0 .2em 0 #057f9c;text-shadow:0 -1px 1px #0078a2,1px 0 1px #0078a2,0 1px 1px #0078a2,-1px 0 1px #0078a2}.tsfem-button-extension-activate,.tsfem-button-extension-activate:focus,.tsfem-button-green,.tsfem-button-green:focus{color:#fff;background:#00cd98;box-shadow:0 .2em 0 #008964;text-shadow:0 -1px 1px #008651,1px 0 1px #008651,0 1px 1px #008651,-1px 0 1px #008651}.tsfem-button-extension-deactivate,.tsfem-button-extension-deactivate:focus,.tsfem-button-red,.tsfem-button-red:focus{color:#fff;background:#ff746a;box-shadow:0 .2em 0 #d14b44;text-shadow:0 -1px 1px #d14831,1px 0 1px #d14831,0 1px 1px #d14831,-1px 0 1px #d14831}.tsfem-button-clipboard:after,.tsfem-button-cloud:after,.tsfem-button-download:after,.tsfem-button-external:after,.tsfem-button-flag:after,.tsfem-button-image:after,.tsfem-button-index:after,.tsfem-button-loading:after,.tsfem-button-love:after,.tsfem-button-star:after,.tsfem-button-upload:after,.tsfem-button-warning:after{display:inline-block;width:1em;content:"\f155";font-size:1em;line-height:1em;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;margin-left:.5em}.tsfem-button-small:after{font-size:.9em}.tsfem-button-flag:after{content:"\f227"}.tsfem-button-warning:after{content:"\f534"}.tsfem-button-love:after{content:"\f487"}.tsfem-button-upload:after{content:"\f317"}.tsfem-button-download:after{content:"\f316"}.tsfem-button-clipboard:after{content:"\f481"}.tsfem-button-index:after{content:"\f510"}.tsfem-button-cloud:after{content:"\f176"}.tsfem-button-external:after{content:"\f504"}.tsfem-button-image:after{content:"\f128"}.tsfem-button-loading:after{content:"\f463";-webkit-animation:1.5s linear infinite tsfem-spin;-moz-animation:1.5s linear infinite tsfem-spin;-o-animation:1.5s linear infinite tsfem-spin;animation:1.5s linear infinite tsfem-spin}.tsfem-button-primary:active,.tsfem-button:active{margin-top:.4em;margin-bottom:0;box-shadow:none;outline:0}.tsfem-button-primary:focus,.tsfem-button:focus{outline:0}.tsfem-button:active,.tsfem-button:focus,.tsfem-button:hover{color:#777;-webkit-filter:brightness(.925);filter:brightness(.925)}.tsfem-button-primary:active,.tsfem-button-primary:focus,.tsfem-button-primary:hover{color:#fff;-webkit-filter:hue-rotate(5deg) saturate(1.2) brightness(1.025);filter:hue-rotate(5deg) saturate(1.2) brightness(1.025)}.tsfem-button-flat,.tsfem-button-flat:active,.tsfem-button-flat:focus,.tsfem-button-flat:hover{margin:0;box-shadow:0 0 .3em transparent,0 0 0 transparent inset;filter:none;transition:box-shadow .25s;padding:.4em 1em .5em}.tsfem-button-small.tsfem-button-flat{padding:.5em 1em}.tsfem-button-flat:focus,.tsfem-button-flat:hover{margin:0;box-shadow:0 .2em 1em rgba(0,0,0,.3),0 0 0 transparent inset}.tsfem-button-flat:active{margin:0;box-shadow:0 0 .3em transparent,0 .1em .7em .2em rgba(0,0,0,.3) inset;transition-duration:.15s}.tsfem-switch-button-container-wrap{display:inline-block;perspective:800px;perspective-origin:50%}.tsfem-switch-button-container{position:relative;margin:0 0 1em;width:140px;height:2em;padding:0;display:block}.tsfem-switch-button-container input[type=checkbox]{position:absolute;width:0;height:0;opacity:0;margin:0;padding:0;border:0;z-index:-1;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tsfem-switch-button-container button,.tsfem-switch-button-container label{position:absolute;left:0;top:0;text-align:center;transition:transform 1s,opacity .5s;z-index:1;display:block;width:140px;box-sizing:border-box}.tsfem-switch-button-container input[type=checkbox]+label{z-index:2;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-switch-button-container button{transform:rotateX(-90deg);transform-origin:0 100% 0;opacity:0;transition:transform 1.2s,opacity .6s}.tsfem-switch-button-container input[type=checkbox]:checked:before{content:none}.tsfem-switch-button-container input[type=checkbox]:checked+label{transform:rotateX(90deg) translateY(-100%);opacity:0;z-index:0;transition:transform 1.2s,opacity .6s}.tsfem-switch-button-container input[type=checkbox]:checked~button{transform:rotateX(0);opacity:1;z-index:2;transition:transform 1s,opacity .5s}.tsfem-button-disabled,.tsfem-button-disabled:active,.tsfem-button-disabled:disabled,.tsfem-button-disabled:focus,.tsfem-button-disabled:hover{-webkit-filter:grayscale(1);filter:grayscale(1);cursor:not-allowed;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-connect-option{width:100%;max-width:690px;padding:1em 1.5em;margin:0 auto 1.2vw;box-shadow:0 .3em 1em rgba(0,0,0,.18);background:#fff;box-sizing:border-box}.tsfem-connect-row{-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between}.tsfem-connect-option:last-of-type{margin-bottom:0}.tsfem-connect-action,.tsfem-connect-text{margin:.5em 0;flex:1 1 49%;min-width:175px;padding:3px}.tsfem-connect-action form{margin:0;padding:0}.tsfem-connect-description>*{margin:0 0 1em;display:block}.tsfem-connect-description>:last-child{margin-bottom:0}.tsfem-connect-wrap h3{font-size:1.66em;color:#057f9c;font-weight:400}.tsfem-panes-wrap{padding:0;-webkit-align-items:center;align-items:center;min-height:300px}.tsfem-panes-row{width:100%;margin:0;padding:0}.tsfem-pane-full,.tsfem-pane-half{-webkit-flex-basis:calc(50% - 1.2vw);flex-basis:calc(50% - 1.2vw);background:#fff;box-shadow:0 .3em 1em rgba(0,0,0,.18);margin:.6vw;padding:0;min-height:300px;min-width:300px}.tsfem-pane-full ::-webkit-scrollbar,.tsfem-pane-half ::-webkit-scrollbar{width:.7em;height:.7em;background:rgba(0,0,0,.04)}.tsfem-pane-full ::-webkit-scrollbar:hover,.tsfem-pane-half ::-webkit-scrollbar:hover{background:rgba(0,0,0,.06)}.tsfem-pane-full ::-webkit-scrollbar:active,.tsfem-pane-half ::-webkit-scrollbar:active{background:rgba(0,0,0,.08)}.tsfem-pane-full ::-webkit-scrollbar-thumb,.tsfem-pane-half ::-webkit-scrollbar-thumb{background-color:#05809e;box-shadow:0 0 1em rgba(0,0,0,.25)}.tsfem-pane-full ::-webkit-scrollbar-thumb:hover,.tsfem-pane-half ::-webkit-scrollbar-thumb:hover{box-shadow:0 0 .7em .2em rgba(0,0,0,.25)}.tsfem-pane-full ::-webkit-scrollbar-thumb:active,.tsfem-pane-half ::-webkit-scrollbar-thumb:active{box-shadow:0 0 .6em .2em rgba(0,0,0,.35)}.tsfem-pane-wrap{padding:0;margin:0;overflow:hidden;max-height:100%;-webkit-flex-basis:33vh;flex-basis:33vh;min-height:100%}.tsfem-pane-header{box-shadow:0 .2em .75em rgba(0,0,0,.18);z-index:5}.tsfem-pane-content,.tsfem-pane-header{margin:0;padding:1em 1.5em}.tsfem-pane-content{padding:0;border-top:0;max-height:100%;overflow:hidden}.tsfem-pane-header>*{font-size:1em;line-height:1em;margin:0;padding:0;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-flex-direction:row;flex-direction:row;-webkit-align-items:center;align-items:center;-webkit-justify-content:flex-end;justify-content:flex-end}.tsfem-pane-header .tsfem-ajax{max-width:initial;font-size:1em;word-break:break-word;text-align:right;-webkit-flex:0 1 auto;flex:0 1 auto;margin-left:7px}.tsfem-pane-header h3{font-size:1.33em;color:#057f9c;font-weight:400;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-pane-content h4.tsfem-status-title,.tsfem-pane-content h5.tsfem-status-title,.tsfem-pane-content h6.tsfem-status-title{margin:0}.tsfem-pane-inner-wrap{box-sizing:border-box;padding:1.5em;height:auto;max-height:100%;width:100%;overflow:auto;will-change:scroll-position;overflow-x:hidden;-webkit-overflow-scrolling:touch}.tsfem-pane-inner-collapsable-settings-wrap{padding:0}.tsfem-pane-inner-collapsable-settings-wrap .tsfem-pane-inner-pad{width:100%;padding:1.5em}.tsfem-pane-inner-collapsable-settings-wrap .tsfem-pane-inner-pad+.tsfem-pane-inner-pad{padding-top:0}.tsfem-pane-footer-wrap{margin:0;padding:1em 1.5em;box-shadow:0 -1px 3px 0 #ccc;z-index:5}.tsfem-pane-footer-wrap :nth-of-type(-n+1){margin-right:14px}.tsfem-actions,.tsfem-pane-split,.tsfem-trends,.tsfem-trends-activation{-webkit-flex-basis:100%;flex-basis:100%}#tsfem-extensions-pane{min-height:350px}.tsfem-actions>div,.tsfem-pane-split>div{margin-right:2em;-webkit-flex-basis:200px;flex-basis:200px;min-width:200px}.tsfem-actions>div:last-of-type,.tsfem-pane-split>div:last-of-type{margin-right:0;margin-bottom:0}.tsfem-actions>div>div,.tsfem-pane-split>div>div{margin-bottom:2em}.tsfem-flex-account-info-rows{line-height:1.625em}.tsfem-actions-account-info-title{font-weight:600}h4.tsfem-action-title,h4.tsfem-cp-title,h4.tsfem-form-title,h4.tsfem-info-title,h4.tsfem-status-title,h4.tsfem-support-title{padding:0;margin:0 0 14px;font-size:1.16em;font-weight:400;color:#057f9c}.tsfem-account-upgrade,.tsfem-cp-buttons,.tsfem-support-buttons{max-width:300px}.tsfem-cp-buttons,.tsfem-support-buttons{margin-bottom:14px;-webkit-flex-basis:50%;flex-basis:50%}.tsfem-cp-buttons:last-of-type,.tsfem-support-buttons:last-of-type{margin-bottom:0}.tsfem-cp-buttons>a,.tsfem-cp-buttons>form,.tsfem-support-buttons>a{cursor:pointer;min-width:50%;display:inline-block}.tsfem-cp-buttons button{width:100%}.tsfem-description{font-size:.93em;font-style:oblique;text-indent:.5em}.tsfem-extensions-wrap{height:auto;padding-right:0;padding-bottom:0;margin:0}.tsfem-extensions-overview-content{-webkit-flex:1 1 100%;flex:1 1 100%}.tsfem-extension-entry-wrap{padding:0;margin:0;-webkit-flex-basis:50%;flex-basis:50%;min-width:280px}.tsfem-extension-entry-inner{margin:0 1.5em 1.5em 0}.tsfem-extension-entry{margin:0;padding:.33em;min-height:122px;border-radius:.5em 0 0 .5em;box-shadow:0 .1em .5em .1em rgba(0,0,0,.18) inset;background:#fff;-webkit-align-self:auto;align-self:auto;-webkit-justify-content:center;justify-content:center}.tsfem-extension-entry>*{min-height:100px;margin:0;padding:0;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:column;flex-direction:column;width:auto;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-extension-icon-wrap{-webkit-flex-grow:0;flex-grow:0;-webkit-flex-basis:120px;flex-basis:120px;-webkit-align-self:center;align-self:center}.tsfem-extension-about-wrap{-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:space-around;justify-content:space-around;padding:10px 15px;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-basis:170px;flex-basis:170px}.tsfem-extension-description-wrap{-webkit-flex-grow:3;flex-grow:3;-webkit-flex-basis:280px;flex-basis:280px}.tsfem-extension-description-footer{display:block;width:100%;white-space:pre-line}.tsfem-extension-title{min-width:120px;font-size:1.33em;word-break:break-word;font-weight:600;color:#0ebfe9;margin:0;padding:0}.tsfem-extension-type{margin:0;padding:0;font-size:.83em}.tsfem-extension-subheader{padding:.667em 0}.tsfem-extension-action input,.tsfem-extension-action>*{width:100%;text-align:center}.tsfem-extension-party:before{display:inline-block;width:1em;line-height:1;font-family:dashicons;font-style:normal;font-weight:400;font-size:1.225em;vertical-align:middle;content:"";margin-right:4px}.tsfem-extension-first-party-icon:before{content:"\f338"}.tsfem-extension-third-party-icon:before{content:"\f307"}.tsfem-extension-description{padding:1em}.tsfem-extension-description-header{padding-bottom:1em}.tsfem-feed-wrap{-webkit-align-self:flex-start;align-self:flex-start}.tsfem-enable-feed-button{margin-bottom:14px;-webkit-flex-basis:50%;flex-basis:50%;max-width:300px}.tsfem-feed-entry,.tsfem-feed-top{width:100%;margin:0;padding:0;overflow:hidden}.tsfem-feed-content,.tsfem-feed-entry,.tsfem-feed-top{margin-bottom:1em}.tsfem-feed-top{word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;overflow-wrap:normal;-webkit-align-items:baseline;align-items:baseline}.tsfem-feed-top h4{white-space:pre-wrap;margin:0;padding:0}.tsfem-feed-top time{white-space:nowrap;word-wrap:break-word;overflow-wrap:break-word;word-spacing:-1px;font-size:.9em;margin:0 7px;padding:0;font-style:oblique}.tsfem-feed-entry{border-bottom:1px solid #dedede;margin:0 -1em 1em;padding:0 1em}.tsfem-feed-entry:last-of-type,.tsfem-feed-entry:last-of-type .tsfem-feed-content{margin-bottom:0;border-bottom:none}.tsfem #input-activation{width:100%;margin:0;padding:0}.tsfem #input-activation .regular-text,.tsfem #input-activation .tsfem-button{margin-left:0;margin-right:0;border-radius:0;width:100%;font-size:13px}.tsfem #input-activation .regular-text{margin:4px 0}.tsfem #input-activation .regular-text:first-child{margin-top:0}.tsfem #input-activation .regular-text:nth-of-type(2){margin-bottom:5px}.tsfem #wpfooter{z-index:-1;padding:0}.tsfem-footer-wrap .tsfem-footer-motto,.tsfem-footer-wrap .tsfem-footer-title{font-size:1em;margin:0;color:#646d78;font-weight:300;cursor:default}.tsfem-footer-wrap .tsfem-footer-title{font-weight:400;color:#555d66}.tsfem-ajax:after,.tsfem-dashicon:after{display:inline-block;line-height:1;font-family:dashicons;font-style:normal;font-weight:400;width:1em;vertical-align:baseline;content:"";margin-left:4px}.tsfem-ajax:after{font-size:1.225em;line-height:.816em}.tsfem-dashicon:after{font-size:1.2em;vertical-align:text-bottom;margin-left:2px}.tsfem-ajax.tsfem-loading:after{content:"\f463";color:#057c99;-webkit-animation:1.5s linear infinite tsfem-spin;animation:1.5s linear infinite tsfem-spin}.tsfem-dashicon-fadeout-3000:after{animation:3s linear tsfem-fadeout}.tsfem-ajax.tsfem-error:after,.tsfem-dashicon.tsfem-error:after{content:"\f158";color:#dd3811}.tsfem-ajax.tsfem-success:after,.tsfem-dashicon.tsfem-success:after{content:"\f147";color:#0cc34b}.tsfem-ajax.tsfem-unknown:after,.tsfem-dashicon.tsfem-unknown:after{content:"\f223";color:#057c99}.tsfem-dashicon.tsfem-warning:after{content:"\f227";color:#ffa01b}.tsfem-dashicon.tsfem-edit:after{content:"\f464";color:#ffa01b}.tsfem-dashicon.tsfem-close:after{content:"\f158";color:#ffa01b}@keyframes tsfem-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes tsfem-fadeout{100%{opacity:0}}@media screen and (max-width:782px){body.tsfem .wrap{margin-left:-10px;margin-top:-46px;padding-top:46px}}.tsfem-tooltip-wrap{position:relative;font-size:13px;display:inline-block}.tsfem-tooltip-item{cursor:help}a.tsfem-tooltip-item{cursor:pointer}.tsfem-tooltip{position:absolute;padding:0;margin:0;bottom:0;left:0;z-index:900142;text-align:left;pointer-events:none;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-tooltip-down{bottom:auto;top:0}.tsfem-tooltip-text-wrap{padding:10px 12px;font-size:1em;font-weight:500;line-height:1.625em;border-radius:3px;background:#424242;color:#fbf7fd;box-shadow:0 0 2px rgba(0,0,0,.6);text-shadow:none;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;white-space:pre-line;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 0 150px;flex:1 0 150px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-tooltip-text span{text-decoration:underline}.tsfem-tooltip-text br{display:block;width:100%;content:"\A"}.tsfem-tooltip-arrow{position:absolute;bottom:-8px;z-index:9999999;left:7px;width:0;height:0}.tsfem-tooltip-down .tsfem-tooltip-arrow{bottom:auto;top:-8px}.tsfem-tooltip-arrow:before{content:"";border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid rgba(0,0,0,.25);position:absolute;bottom:0;left:0}.tsfem-tooltip-arrow:after{content:"";border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #424242;position:absolute;bottom:1px;left:1px}.tsfem-tooltip-down .tsfem-tooltip-arrow:before{bottom:auto;top:0;border-top:0;border-bottom:9px solid rgba(0,0,0,.25)}.tsfem-tooltip-down .tsfem-tooltip-arrow:after{bottom:auto;top:1px;border-top:0;border-bottom:8px solid #424242}.tsfem-flip-hide-down,.tsfem-flip-hide-up{-webkit-transform:rotateX(90deg) translateY(.5em);transform:rotateX(90deg) translateY(.5em);-webkit-transform-origin:0 100% 0;transform-origin:0 100% 0;opacity:0;-webkit-transition:-webkit-transform .25s,opacity .25s;transition:transform .25s,opacity .25s}.tsfem-flip-hide-down{-webkit-transform:rotateX(-90deg) translateY(-2em);transform:rotateX(-90deg) translateY(-2em)}.tsfem-flip-show-down,.tsfem-flip-show-up{-webkit-transform:rotateX(0) translateY(0);transform:rotateX(0) translateY(0);opacity:1;-webkit-transition:-webkit-transform .25s,opacity .125s;transition:transform .25s,opacity .125s}.tsfem-hidden{display:none}.tsfem-has-hover-balloon{position:relative;cursor:help}.tsfem-ltr{direction:ltr}.tsfem-flex-hide-if-no-js,body.js .tsfem-flex-hide-if-js{display:none}body.js .tsfem-flex-hide-if-no-js{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tsfem-modal-mask,.tsfem-modal-mask-noscroll{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483644;opacity:0}.tsfem-modal-mask-noscroll{position:absolute;z-index:2147483645}.tsfem-modal-buttons,.tsfem-modal-container,.tsfem-modal-dialog,.tsfem-modal-dialog-wrap,.tsfem-modal-select,.tsfem-modal-select-option,.tsfem-modal-title{display:-webkit-box;display:-webkit-flex;display:flex}.tsfem-modal-container{position:fixed;top:0;left:0;overflow:hidden;width:100%;height:100%;background:rgba(33,33,33,.15);opacity:0;z-index:2147483646}.tsfem-modal-dialog-wrap{position:absolute;top:0;right:0;left:0;bottom:0;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;align-items:center}.tsfem-modal-dialog{-webkit-flex-direction:column;flex-direction:column;background:#fff;border-radius:3px;min-width:240px;max-width:calc(90% - 240px);max-height:80%;position:relative;overflow:hidden;box-shadow:0 0 4px 2px #aaa;z-index:2147483647}.tsfem-modal-buttons,.tsfem-modal-title{margin:0;padding:14px 20px;box-shadow:0 1px 3px 0 #ccc;z-index:5;-webkit-flex-shrink:0;flex-shrink:0}.tsfem-modal-buttons{box-shadow:0 -1px 3px 0 #ccc;-webkit-justify-content:flex-end;justify-content:flex-end}.tsfem-modal-title h4{margin:0;padding:0;font-size:1.4em;line-height:1.2em;color:#057f9c;font-weight:400}.tsfem-modal-inner{padding:20px;max-width:640px;overflow:auto;overflow-x:hidden}.tsfem-modal-text p:first-of-type{margin:0}.tsfem-modal-text p:last-of-type{margin-bottom:0}.tsfem-modal-text+.tsfem-modal-select{margin-top:20px}.tsfem-modal-select{-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:flex-start;align-items:flex-start}.tsfem-modal-select-option{margin-bottom:14px;padding:0 7px;-webkit-flex-basis:140px;flex-basis:140px;max-width:calc(50% - 14px);-webkit-flex-grow:1;flex-grow:1}.tsfem-modal-select-option:first-of-type:last-of-type{max-width:none}.tsfem-modal-select-option input{position:absolute;width:0;height:0;opacity:0;margin:0!important;padding:0!important;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tsfem-modal-select-option label{font-weight:600;border:1px solid transparent;background:#fefefe;box-shadow:0 1px 3px 1px #ccc;cursor:pointer;padding:14px;width:100%;-webkit-transition:.33s;-moz-transition:.33s;-o-transition:.33s;transition:.33s;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-modal-select-option:hover input:not(:checked)+label{-webkit-filter:brightness(.95);filter:brightness(.95)}.tsfem-modal-select-option>input:checked+label{border-color:#05809e}.tsfem-modal-select-option input:active+label,.tsfem-modal-select-option input:focus+label,.tsfem-modal-select-option:hover input:checked+label{box-shadow:0 1px 3px 1px #05809e}.tsfem-modal-buttons button:nth-child(n+2){margin-left:14px}.tsfem-modal-dismiss{position:absolute;top:0;right:0;border:none;margin:7px;padding:7px;background:0 0;color:#b4b9be;cursor:pointer;text-decoration:none;z-index:6;transition:color .15s}.tsfem-modal-dismiss:hover{color:#d14b44}.tsfem-modal-dismiss:before{background:0 0;content:"\f153";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} diff --git a/lib/css/tsfem.rtl.css b/lib/css/tsfem.rtl.css index 81d5c3ca..1f4268c4 100644 --- a/lib/css/tsfem.rtl.css +++ b/lib/css/tsfem.rtl.css @@ -460,6 +460,7 @@ body.tsfem .wrap { -moz-transition: filter 0.15s, color 0.15s; -o-transition: -webkit-filter 0.15s, color 0.15s; transition: filter 0.15s, color 0.15s;*/ + border-radius: 3px; } .tsfem-button-small, diff --git a/lib/css/tsfem.rtl.min.css b/lib/css/tsfem.rtl.min.css index 88bd0bd3..181b48a1 100644 --- a/lib/css/tsfem.rtl.min.css +++ b/lib/css/tsfem.rtl.min.css @@ -1 +1 @@ -body.tsfem #update-nag,body.tsfem .update-nag{display:none}.tsfem-notice,.wrap.tsfem .notice{margin:1.2vw 0 0;box-shadow:0 .4em 1em rgba(0,0,0,.18)}.tsfem-notice{position:relative;background:#fff;border-right:4px solid #fff;padding:1px 12px}.tsfem-notice p{margin:.5em 0 .5em 19px;padding:2px}.tsfem-notice,.tsfem-notice-success{border-right-color:#00cd98}.tsfem-notice-warning{border-right-color:#ffa01b}.tsfem-notice-error{border-right-color:#dd3811}.tsfem-notice.tsfem-show-icon p:before{content:'';margin-left:12px;background:0 0;display:inline-block;font:400 14px/14px dashicons;speak:none;height:16px;text-align:center;vertical-align:middle;width:16px;-webkit-font-smoothing:antialiased}.tsfem-notice-success.tsfem-show-icon p:before{color:#00cd98;font-size:16px;content:"\f147"}.tsfem-notice-warning.tsfem-notice.tsfem-show-icon p:before{color:#ffa01b;content:"\f227"}.tsfem-notice-error.tsfem-notice.tsfem-show-icon p:before{color:#dd3811;content:"\f534"}a.tsfem-dismiss{position:absolute;top:0;left:1px;border:none;margin:0;padding:9px;background:0 0;color:#b4b9be;cursor:pointer;text-decoration:none;transition:color .15s}a.tsfem-dismiss:before{background:0 0;content:"\f153";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a.tsfem-dismiss:hover{color:#d14b44}.tsfem-flex-status-loading>span{display:inline-block;font-size:30px;text-align:center}.tsfem-flex-status-loading>span:after{display:inline-block;width:1em;content:"\f463";font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:middle;color:#0ebfe9;line-height:1em;font-size:1em;-webkit-animation:1.5s linear infinite tsfem-spin;animation:1.5s linear infinite tsfem-spin}.tsfem-disable-cursor{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-question-cursor{cursor:help}.tsfem-flex{box-sizing:border-box;display:-webkit-flex;display:flex;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-flex-rtl{-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-flex-row{-webkit-flex-direction:row;flex-direction:row}.tsfem-flex-nowrap{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.tsfem-flex-grow{-webkit-flex-grow:1;flex-grow:1}.tsfem-flex-nogrow{-webkit-flex:0 1 auto;flex:0 1 auto}.tsfem-flex-noshrink{-webkit-flex:1 0 auto;flex:1 0 auto}.tsfem-flex-nogrowshrink{-webkit-flex:0 0 auto;flex:0 0 auto}.tsfem-flex-space{-webkit-justify-content:space-between;justify-content:space-between}.tsfem-flex-center{-webkit-justify-content:center;justify-content:center}.tsfem-flex-end{-webkit-justify-content:flex-end;justify-content:flex-end}body.tsfem #wpbody-content{padding-bottom:0}body.tsfem .wrap{min-height:100vh;overflow:visible;padding:32px 0 0;margin:-32px -20px 0 0}.tsfem-notice-wrap{margin:0 1.2vw}.tsfem-connect-wrap,.tsfem-panes-wrap{-webkit-flex:1 1 auto;flex:1 1 auto}.tsfem-panes-wrap{margin:.6vw}.tsfem-connect-wrap{margin:1.2vw}.tsfem-top-wrap{background-color:#fff;box-shadow:0 .4em 1em rgba(0,0,0,.18);width:100%;margin:0;padding:1em 1.2vw}.tsfem-footer-wrap{padding:0 0 1.2vw;margin:0 1.2vw;overflow:hidden;white-space:nowrap;text-align:center}.tsfem.connect-wrap{max-width:690px;min-width:275px}.tsfem-flex-textarea-wrap{-webkit-flex-direction:row;flex-direction:row;min-width:100%;width:100%;-webkit-flex:0 0 auto;flex:0 0 auto}.tsfem-flex-textarea-wrap textarea{display:block;min-width:100%}.tsfem-top-about,.tsfem-top-actions,.tsfem-top-wrap .tsfem-title{text-align:right;-webkit-align-items:center;align-items:center}.tsfem-top-about,.tsfem-top-actions{-webkit-justify-content:flex-end;justify-content:flex-end}.tsfem-top-wrap .tsfem-title{-webkit-flex:1 999 auto;flex:1 999 auto}.tsfem-top-about{-webkit-flex:1 1 160px;flex:1 1 160px}.tsfem-top-actions>div{display:inline-block;white-space:pre}.tsfem-top-about>div{display:inline-block;text-align:justify;max-width:calc(100% - 1.2em - 14px);color:#333;letter-spacing:.2px}.tsfem-about-activation:before{display:inline-block;color:#0ebfe9;content:"\f112";font-size:1.2em;line-height:1.2em;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;margin:0 7px;vertical-align:baseline;white-space:pre-wrap}.tsfem-top-wrap .tsfem-title header{width:calc(100% - 7px)}.tsfem-top-wrap .tsfem-title *{vertical-align:top}.tsfem-top-wrap .tsfem-title h1{font-family:Verdana,Geneva,sans-serif;word-break:break-word;font-size:1.9em;font-weight:400;line-height:1em;color:#0ebfe9;margin:0;padding:0;display:inline}.tsfem-top-wrap .tsfem-title .tsfem-logo>svg{display:inline-block;white-space:pre-wrap;padding:0;margin-left:7px;line-height:29px;vertical-align:top}.tsfem input[type=checkbox]:focus,.tsfem input[type=color]:focus,.tsfem input[type=date]:focus,.tsfem input[type=datetime-local]:focus,.tsfem input[type=datetime]:focus,.tsfem input[type=email]:focus,.tsfem input[type=month]:focus,.tsfem input[type=number]:focus,.tsfem input[type=password]:focus,.tsfem input[type=radio]:focus,.tsfem input[type=search]:focus,.tsfem input[type=tel]:focus,.tsfem input[type=text]:focus,.tsfem input[type=time]:focus,.tsfem input[type=url]:focus,.tsfem input[type=week]:focus,.tsfem select:focus,.tsfem textarea:focus{border-color:#057f9c;box-shadow:0 0 2px rgba(66,144,183,.8)}.tsfem-button,.tsfem-button-primary,.tsfem-button-primary:focus,.tsfem-button:disabled,.tsfem-button:disabled:hover,.tsfem-button:focus{display:inline-block;padding:.5em 1em;background:#eee;border:0;box-shadow:0 .2em 0 #cacaca;color:#666;text-shadow:0 -1px 1px #efefef,1px 0 1px #efefef,0 1px 1px #efefef,-1px 0 1px #efefef;font-size:1em;line-height:1em;text-decoration:none;text-align:center;margin-top:.2em;margin-bottom:.2em;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tsfem-button-small,.tsfem-button-small:disabled,.tsfem-button-small:disabled:hover,.tsfem-button-small:focus{font-size:.9em}.tsfem-button-primary,.tsfem-button-primary:focus{background:#05809e;box-shadow:0 .2em 0 #005c7a;color:#fff;text-shadow:0 -1px 1px #005c7a,1px 0 1px #005c7a,0 1px 1px #005c7a,-1px 0 1px #005c7a}.tsfem-button-primary-bright,.tsfem-button-primary-bright:focus{color:#fff;background:#0ebfe9;box-shadow:0 .2em 0 #057f9c;text-shadow:0 -1px 1px #0078a2,1px 0 1px #0078a2,0 1px 1px #0078a2,-1px 0 1px #0078a2}.tsfem-button-extension-activate,.tsfem-button-extension-activate:focus,.tsfem-button-green,.tsfem-button-green:focus{color:#fff;background:#00cd98;box-shadow:0 .2em 0 #008964;text-shadow:0 -1px 1px #008651,1px 0 1px #008651,0 1px 1px #008651,-1px 0 1px #008651}.tsfem-button-extension-deactivate,.tsfem-button-extension-deactivate:focus,.tsfem-button-red,.tsfem-button-red:focus{color:#fff;background:#ff746a;box-shadow:0 .2em 0 #d14b44;text-shadow:0 -1px 1px #d14831,1px 0 1px #d14831,0 1px 1px #d14831,-1px 0 1px #d14831}.tsfem-button-clipboard:after,.tsfem-button-cloud:after,.tsfem-button-download:after,.tsfem-button-external:after,.tsfem-button-flag:after,.tsfem-button-image:after,.tsfem-button-index:after,.tsfem-button-loading:after,.tsfem-button-love:after,.tsfem-button-star:after,.tsfem-button-upload:after,.tsfem-button-warning:after{display:inline-block;width:1em;content:"\f155";font-size:1em;line-height:1em;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;margin-right:.5em}.tsfem-button-small:after{font-size:.9em}.tsfem-button-flag:after{content:"\f227"}.tsfem-button-warning:after{content:"\f534"}.tsfem-button-love:after{content:"\f487"}.tsfem-button-upload:after{content:"\f317"}.tsfem-button-download:after{content:"\f316"}.tsfem-button-clipboard:after{content:"\f481"}.tsfem-button-index:after{content:"\f510"}.tsfem-button-cloud:after{content:"\f176"}.tsfem-button-external:after{content:"\f504"}.tsfem-button-image:after{content:"\f128"}.tsfem-button-loading:after{content:"\f463";-webkit-animation:1.5s linear infinite tsfem-spin;-moz-animation:1.5s linear infinite tsfem-spin;-o-animation:1.5s linear infinite tsfem-spin;animation:1.5s linear infinite tsfem-spin}.tsfem-button-primary:active,.tsfem-button:active{margin-top:.4em;margin-bottom:0;box-shadow:none;outline:0}.tsfem-button-primary:focus,.tsfem-button:focus{outline:0}.tsfem-button:active,.tsfem-button:focus,.tsfem-button:hover{color:#777;-webkit-filter:brightness(.925);filter:brightness(.925)}.tsfem-button-primary:active,.tsfem-button-primary:focus,.tsfem-button-primary:hover{color:#fff;-webkit-filter:hue-rotate(5deg) saturate(1.2) brightness(1.025);filter:hue-rotate(5deg) saturate(1.2) brightness(1.025)}.tsfem-button-flat,.tsfem-button-flat:active,.tsfem-button-flat:focus,.tsfem-button-flat:hover{margin:0;box-shadow:0 0 .3em transparent,0 0 0 transparent inset;filter:none;transition:box-shadow .25s;padding:.4em 1em .5em}.tsfem-button-small.tsfem-button-flat{padding:.5em 1em}.tsfem-button-flat:focus,.tsfem-button-flat:hover{margin:0;box-shadow:0 .2em 1em rgba(0,0,0,.3),0 0 0 transparent inset}.tsfem-button-flat:active{margin:0;box-shadow:0 0 .3em transparent,0 .1em .7em .2em rgba(0,0,0,.3) inset;transition-duration:.15s}.tsfem-switch-button-container-wrap{display:inline-block;perspective:800px;perspective-origin:50%}.tsfem-switch-button-container{position:relative;margin:0 0 1em;width:140px;height:2em;padding:0;display:block}.tsfem-switch-button-container input[type=checkbox]{position:absolute;width:0;height:0;opacity:0;margin:0;padding:0;border:0;z-index:-1;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tsfem-switch-button-container button,.tsfem-switch-button-container label{position:absolute;right:0;top:0;text-align:center;transition:transform 1s,opacity .5s;z-index:1;display:block;width:140px;box-sizing:border-box}.tsfem-switch-button-container input[type=checkbox]+label{z-index:2;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-switch-button-container button{transform:rotateX(-90deg);transform-origin:0 100% 0;opacity:0;transition:transform 1.2s,opacity .6s}.tsfem-switch-button-container input[type=checkbox]:checked:before{content:none}.tsfem-switch-button-container input[type=checkbox]:checked+label{transform:rotateX(90deg) translateY(-100%);opacity:0;z-index:0;transition:transform 1.2s,opacity .6s}.tsfem-switch-button-container input[type=checkbox]:checked~button{transform:rotateX(0);opacity:1;z-index:2;transition:transform 1s,opacity .5s}.tsfem-button-disabled,.tsfem-button-disabled:active,.tsfem-button-disabled:disabled,.tsfem-button-disabled:focus,.tsfem-button-disabled:hover{-webkit-filter:grayscale(1);filter:grayscale(1);cursor:not-allowed;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-connect-option{width:100%;max-width:690px;padding:1em 1.5em;margin:0 auto 1.2vw;box-shadow:0 .3em 1em rgba(0,0,0,.18);background:#fff;box-sizing:border-box}.tsfem-connect-row{-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between}.tsfem-connect-option:last-of-type{margin-bottom:0}.tsfem-connect-action,.tsfem-connect-text{margin:.5em 0;flex:1 1 49%;min-width:175px;padding:3px}.tsfem-connect-action form{margin:0;padding:0}.tsfem-connect-description>*{margin:0 0 1em;display:block}.tsfem-connect-description>:last-child{margin-bottom:0}.tsfem-connect-wrap h3{font-size:1.66em;color:#057f9c;font-weight:400}.tsfem-panes-wrap{padding:0;-webkit-align-items:center;align-items:center;min-height:300px}.tsfem-panes-row{width:100%;margin:0;padding:0}.tsfem-pane-full,.tsfem-pane-half{-webkit-flex-basis:calc(50% - 1.2vw);flex-basis:calc(50% - 1.2vw);background:#fff;box-shadow:0 .3em 1em rgba(0,0,0,.18);margin:.6vw;padding:0;min-height:300px;min-width:300px}.tsfem-pane-full ::-webkit-scrollbar,.tsfem-pane-half ::-webkit-scrollbar{width:.7em;height:.7em;background:rgba(0,0,0,.04)}.tsfem-pane-full ::-webkit-scrollbar:hover,.tsfem-pane-half ::-webkit-scrollbar:hover{background:rgba(0,0,0,.06)}.tsfem-pane-full ::-webkit-scrollbar:active,.tsfem-pane-half ::-webkit-scrollbar:active{background:rgba(0,0,0,.08)}.tsfem-pane-full ::-webkit-scrollbar-thumb,.tsfem-pane-half ::-webkit-scrollbar-thumb{background-color:#05809e;box-shadow:0 0 1em rgba(0,0,0,.25)}.tsfem-pane-full ::-webkit-scrollbar-thumb:hover,.tsfem-pane-half ::-webkit-scrollbar-thumb:hover{box-shadow:0 0 .7em .2em rgba(0,0,0,.25)}.tsfem-pane-full ::-webkit-scrollbar-thumb:active,.tsfem-pane-half ::-webkit-scrollbar-thumb:active{box-shadow:0 0 .6em .2em rgba(0,0,0,.35)}.tsfem-pane-wrap{padding:0;margin:0;overflow:hidden;max-height:100%;-webkit-flex-basis:33vh;flex-basis:33vh;min-height:100%}.tsfem-pane-header{box-shadow:0 .2em .75em rgba(0,0,0,.18);z-index:5}.tsfem-pane-content,.tsfem-pane-header{margin:0;padding:1em 1.5em}.tsfem-pane-content{padding:0;border-top:0;max-height:100%;overflow:hidden}.tsfem-pane-header>*{font-size:1em;line-height:1em;margin:0;padding:0;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-flex-direction:row;flex-direction:row;-webkit-align-items:center;align-items:center;-webkit-justify-content:flex-end;justify-content:flex-end}.tsfem-pane-header .tsfem-ajax{max-width:initial;font-size:1em;word-break:break-word;text-align:left;-webkit-flex:0 1 auto;flex:0 1 auto;margin-right:7px}.tsfem-pane-header h3{font-size:1.33em;color:#057f9c;font-weight:400;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-pane-content h4.tsfem-status-title,.tsfem-pane-content h5.tsfem-status-title,.tsfem-pane-content h6.tsfem-status-title{margin:0}.tsfem-pane-inner-wrap{box-sizing:border-box;padding:1.5em;height:auto;max-height:100%;width:100%;overflow:auto;will-change:scroll-position;overflow-x:hidden;-webkit-overflow-scrolling:touch}.tsfem-pane-inner-collapsable-settings-wrap{padding:0}.tsfem-pane-inner-collapsable-settings-wrap .tsfem-pane-inner-pad{width:100%;padding:1.5em}.tsfem-pane-inner-collapsable-settings-wrap .tsfem-pane-inner-pad+.tsfem-pane-inner-pad{padding-top:0}.tsfem-pane-footer-wrap{margin:0;padding:1em 1.5em;box-shadow:0 -1px 3px 0 #ccc;z-index:5}.tsfem-pane-footer-wrap :nth-of-type(-n+1){margin-left:14px}.tsfem-actions,.tsfem-pane-split,.tsfem-trends,.tsfem-trends-activation{-webkit-flex-basis:100%;flex-basis:100%}#tsfem-extensions-pane{min-height:350px}.tsfem-actions>div,.tsfem-pane-split>div{margin-left:2em;-webkit-flex-basis:200px;flex-basis:200px;min-width:200px}.tsfem-actions>div:last-of-type,.tsfem-pane-split>div:last-of-type{margin-left:0;margin-bottom:0}.tsfem-actions>div>div,.tsfem-pane-split>div>div{margin-bottom:2em}.tsfem-flex-account-info-rows{line-height:1.625em}.tsfem-actions-account-info-title{font-weight:600}h4.tsfem-action-title,h4.tsfem-cp-title,h4.tsfem-form-title,h4.tsfem-info-title,h4.tsfem-status-title,h4.tsfem-support-title{padding:0;margin:0 0 14px;font-size:1.16em;font-weight:400;color:#057f9c}.tsfem-account-upgrade,.tsfem-cp-buttons,.tsfem-support-buttons{max-width:300px}.tsfem-cp-buttons,.tsfem-support-buttons{margin-bottom:14px;-webkit-flex-basis:50%;flex-basis:50%}.tsfem-cp-buttons:last-of-type,.tsfem-support-buttons:last-of-type{margin-bottom:0}.tsfem-cp-buttons>a,.tsfem-cp-buttons>form,.tsfem-support-buttons>a{cursor:pointer;min-width:50%;display:inline-block}.tsfem-cp-buttons button{width:100%}.tsfem-description{font-size:.93em;font-style:oblique;text-indent:.5em}.tsfem-extensions-wrap{height:auto;padding-left:0;padding-bottom:0;margin:0}.tsfem-extensions-overview-content{-webkit-flex:1 1 100%;flex:1 1 100%}.tsfem-extension-entry-wrap{padding:0;margin:0;-webkit-flex-basis:50%;flex-basis:50%;min-width:280px}.tsfem-extension-entry-inner{margin:0 0 1.5em 1.5em}.tsfem-extension-entry{margin:0;padding:.33em;min-height:122px;border-radius:.5em 0 0 .5em;box-shadow:0 .1em .5em .1em rgba(0,0,0,.18) inset;background:#fff;-webkit-align-self:auto;align-self:auto;-webkit-justify-content:center;justify-content:center}.tsfem-extension-entry>*{min-height:100px;margin:0;padding:0;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:column;flex-direction:column;width:auto;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-extension-icon-wrap{-webkit-flex-grow:0;flex-grow:0;-webkit-flex-basis:120px;flex-basis:120px;-webkit-align-self:center;align-self:center}.tsfem-extension-about-wrap{-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:space-around;justify-content:space-around;padding:10px 15px;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-basis:170px;flex-basis:170px}.tsfem-extension-description-wrap{-webkit-flex-grow:3;flex-grow:3;-webkit-flex-basis:280px;flex-basis:280px}.tsfem-extension-description-footer{display:block;width:100%;white-space:pre-line}.tsfem-extension-title{min-width:120px;font-size:1.33em;word-break:break-word;font-weight:600;color:#0ebfe9;margin:0;padding:0}.tsfem-extension-type{margin:0;padding:0;font-size:.83em}.tsfem-extension-subheader{padding:.667em 0}.tsfem-extension-action input,.tsfem-extension-action>*{width:100%;text-align:center}.tsfem-extension-party:before{display:inline-block;width:1em;line-height:1;font-family:dashicons;font-style:normal;font-weight:400;font-size:1.225em;vertical-align:middle;content:"";margin-left:4px}.tsfem-extension-first-party-icon:before{content:"\f338"}.tsfem-extension-third-party-icon:before{content:"\f307"}.tsfem-extension-description{padding:1em}.tsfem-extension-description-header{padding-bottom:1em}.tsfem-feed-wrap{-webkit-align-self:flex-start;align-self:flex-start}.tsfem-enable-feed-button{margin-bottom:14px;-webkit-flex-basis:50%;flex-basis:50%;max-width:300px}.tsfem-feed-entry,.tsfem-feed-top{width:100%;margin:0;padding:0;overflow:hidden}.tsfem-feed-content,.tsfem-feed-entry,.tsfem-feed-top{margin-bottom:1em}.tsfem-feed-top{word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;overflow-wrap:normal;-webkit-align-items:baseline;align-items:baseline}.tsfem-feed-top h4{white-space:pre-wrap;margin:0;padding:0}.tsfem-feed-top time{white-space:nowrap;word-wrap:break-word;overflow-wrap:break-word;word-spacing:-1px;font-size:.9em;margin:0 7px;padding:0;font-style:oblique}.tsfem-feed-entry{border-bottom:1px solid #dedede;margin:0 -1em 1em;padding:0 1em}.tsfem-feed-entry:last-of-type,.tsfem-feed-entry:last-of-type .tsfem-feed-content{margin-bottom:0;border-bottom:none}.tsfem #input-activation{width:100%;margin:0;padding:0}.tsfem #input-activation .regular-text,.tsfem #input-activation .tsfem-button{margin-left:0;margin-right:0;border-radius:0;width:100%;font-size:13px}.tsfem #input-activation .regular-text{margin:4px 0}.tsfem #input-activation .regular-text:first-child{margin-top:0}.tsfem #input-activation .regular-text:nth-of-type(2){margin-bottom:5px}.tsfem #wpfooter{z-index:-1;padding:0}.tsfem-footer-wrap .tsfem-footer-motto,.tsfem-footer-wrap .tsfem-footer-title{font-size:1em;margin:0;color:#646d78;font-weight:300;cursor:default}.tsfem-footer-wrap .tsfem-footer-title{font-weight:400;color:#555d66}.tsfem-ajax:after,.tsfem-dashicon:after{display:inline-block;line-height:1;font-family:dashicons;font-style:normal;font-weight:400;width:1em;vertical-align:baseline;content:"";margin-right:4px}.tsfem-ajax:after{font-size:1.225em;line-height:.816em}.tsfem-dashicon:after{font-size:1.2em;vertical-align:text-bottom;margin-right:2px}.tsfem-ajax.tsfem-loading:after{content:"\f463";color:#057c99;-webkit-animation:1.5s linear infinite tsfem-spin;animation:1.5s linear infinite tsfem-spin}.tsfem-dashicon-fadeout-3000:after{animation:3s linear tsfem-fadeout}.tsfem-ajax.tsfem-error:after,.tsfem-dashicon.tsfem-error:after{content:"\f158";color:#dd3811}.tsfem-ajax.tsfem-success:after,.tsfem-dashicon.tsfem-success:after{content:"\f147";color:#0cc34b}.tsfem-ajax.tsfem-unknown:after,.tsfem-dashicon.tsfem-unknown:after{content:"\f223";color:#057c99}.tsfem-dashicon.tsfem-warning:after{content:"\f227";color:#ffa01b}.tsfem-dashicon.tsfem-edit:after{content:"\f464";color:#ffa01b}.tsfem-dashicon.tsfem-close:after{content:"\f158";color:#ffa01b}@keyframes tsfem-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes tsfem-fadeout{100%{opacity:0}}@media screen and (max-width:782px){body.tsfem .wrap{margin-right:-10px;margin-top:-46px;padding-top:46px}}.tsfem-tooltip-wrap{position:relative;font-size:13px;display:inline-block}.tsfem-tooltip-item{cursor:help}a.tsfem-tooltip-item{cursor:pointer}.tsfem-tooltip{position:absolute;padding:0;margin:0;bottom:0;left:0;z-index:900142;text-align:right;pointer-events:none;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-tooltip-down{bottom:auto;top:0}.tsfem-tooltip-text-wrap{padding:10px 12px;font-size:1em;font-weight:500;line-height:1.625em;border-radius:3px;background:#424242;color:#fbf7fd;box-shadow:0 0 2px rgba(0,0,0,.6);text-shadow:none;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;white-space:pre-line;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 0 150px;flex:1 0 150px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-tooltip-text span{text-decoration:underline}.tsfem-tooltip-text br{display:block;width:100%;content:"\A"}.tsfem-tooltip-arrow{position:absolute;bottom:-8px;z-index:9999999;left:7px;width:0;height:0}.tsfem-tooltip-down .tsfem-tooltip-arrow{bottom:auto;top:-8px}.tsfem-tooltip-arrow:before{content:"";border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid rgba(0,0,0,.25);position:absolute;bottom:0;left:0}.tsfem-tooltip-arrow:after{content:"";border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #424242;position:absolute;bottom:1px;left:1px}.tsfem-tooltip-down .tsfem-tooltip-arrow:before{bottom:auto;top:0;border-top:0;border-bottom:9px solid rgba(0,0,0,.25)}.tsfem-tooltip-down .tsfem-tooltip-arrow:after{bottom:auto;top:1px;border-top:0;border-bottom:8px solid #424242}.tsfem-flip-hide-down,.tsfem-flip-hide-up{-webkit-transform:rotateX(90deg) translateY(.5em);transform:rotateX(90deg) translateY(.5em);-webkit-transform-origin:0 100% 0;transform-origin:0 100% 0;opacity:0;-webkit-transition:-webkit-transform .25s,opacity .25s;transition:transform .25s,opacity .25s}.tsfem-flip-hide-down{-webkit-transform:rotateX(-90deg) translateY(-2em);transform:rotateX(-90deg) translateY(-2em)}.tsfem-flip-show-down,.tsfem-flip-show-up{-webkit-transform:rotateX(0) translateY(0);transform:rotateX(0) translateY(0);opacity:1;-webkit-transition:-webkit-transform .25s,opacity .125s;transition:transform .25s,opacity .125s}.tsfem-hidden{display:none}.tsfem-has-hover-balloon{position:relative;cursor:help}.tsfem-ltr{direction:ltr}.tsfem-flex-hide-if-no-js,body.js .tsfem-flex-hide-if-js{display:none}body.js .tsfem-flex-hide-if-no-js{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tsfem-modal-mask,.tsfem-modal-mask-noscroll{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483644;opacity:0}.tsfem-modal-mask-noscroll{position:absolute;z-index:2147483645}.tsfem-modal-buttons,.tsfem-modal-container,.tsfem-modal-dialog,.tsfem-modal-dialog-wrap,.tsfem-modal-select,.tsfem-modal-select-option,.tsfem-modal-title{display:-webkit-box;display:-webkit-flex;display:flex}.tsfem-modal-container{position:fixed;top:0;left:0;overflow:hidden;width:100%;height:100%;background:rgba(33,33,33,.15);opacity:0;z-index:2147483646}.tsfem-modal-dialog-wrap{position:absolute;top:0;right:0;left:0;bottom:0;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;align-items:center}.tsfem-modal-dialog{-webkit-flex-direction:column;flex-direction:column;background:#fff;border-radius:3px;min-width:240px;max-width:calc(90% - 240px);max-height:80%;position:relative;overflow:hidden;box-shadow:0 0 4px 2px #aaa;z-index:2147483647}.tsfem-modal-buttons,.tsfem-modal-title{margin:0;padding:14px 20px;box-shadow:0 1px 3px 0 #ccc;z-index:5;-webkit-flex-shrink:0;flex-shrink:0}.tsfem-modal-buttons{box-shadow:0 -1px 3px 0 #ccc;-webkit-justify-content:flex-end;justify-content:flex-end}.tsfem-modal-title h4{margin:0;padding:0;font-size:1.4em;line-height:1.2em;color:#057f9c;font-weight:400}.tsfem-modal-inner{padding:20px;max-width:640px;overflow:auto;overflow-x:hidden}.tsfem-modal-text p:first-of-type{margin:0}.tsfem-modal-text p:last-of-type{margin-bottom:0}.tsfem-modal-text+.tsfem-modal-select{margin-top:20px}.tsfem-modal-select{-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:flex-start;align-items:flex-start}.tsfem-modal-select-option{margin-bottom:14px;padding:0 7px;-webkit-flex-basis:140px;flex-basis:140px;max-width:calc(50% - 14px);-webkit-flex-grow:1;flex-grow:1}.tsfem-modal-select-option:first-of-type:last-of-type{max-width:none}.tsfem-modal-select-option input{position:absolute;width:0;height:0;opacity:0;margin:0!important;padding:0!important;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tsfem-modal-select-option label{font-weight:600;border:1px solid transparent;background:#fefefe;box-shadow:0 1px 3px 1px #ccc;cursor:pointer;padding:14px;width:100%;-webkit-transition:.33s;-moz-transition:.33s;-o-transition:.33s;transition:.33s;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-modal-select-option:hover input:not(:checked)+label{-webkit-filter:brightness(.95);filter:brightness(.95)}.tsfem-modal-select-option>input:checked+label{border-color:#05809e}.tsfem-modal-select-option input:active+label,.tsfem-modal-select-option input:focus+label,.tsfem-modal-select-option:hover input:checked+label{box-shadow:0 1px 3px 1px #05809e}.tsfem-modal-buttons button:nth-child(n+2){margin-right:14px}.tsfem-modal-dismiss{position:absolute;top:0;left:0;border:none;margin:7px;padding:7px;background:0 0;color:#b4b9be;cursor:pointer;text-decoration:none;z-index:6;transition:color .15s}.tsfem-modal-dismiss:hover{color:#d14b44}.tsfem-modal-dismiss:before{background:0 0;content:"\f153";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} +body.tsfem #update-nag,body.tsfem .update-nag{display:none}.tsfem-notice,.wrap.tsfem .notice{margin:1.2vw 0 0;box-shadow:0 .4em 1em rgba(0,0,0,.18)}.tsfem-notice{position:relative;background:#fff;border-right:4px solid #fff;padding:1px 12px}.tsfem-notice p{margin:.5em 0 .5em 19px;padding:2px}.tsfem-notice,.tsfem-notice-success{border-right-color:#00cd98}.tsfem-notice-warning{border-right-color:#ffa01b}.tsfem-notice-error{border-right-color:#dd3811}.tsfem-notice.tsfem-show-icon p:before{content:'';margin-left:12px;background:0 0;display:inline-block;font:400 14px/14px dashicons;speak:none;height:16px;text-align:center;vertical-align:middle;width:16px;-webkit-font-smoothing:antialiased}.tsfem-notice-success.tsfem-show-icon p:before{color:#00cd98;font-size:16px;content:"\f147"}.tsfem-notice-warning.tsfem-notice.tsfem-show-icon p:before{color:#ffa01b;content:"\f227"}.tsfem-notice-error.tsfem-notice.tsfem-show-icon p:before{color:#dd3811;content:"\f534"}a.tsfem-dismiss{position:absolute;top:0;left:1px;border:none;margin:0;padding:9px;background:0 0;color:#b4b9be;cursor:pointer;text-decoration:none;transition:color .15s}a.tsfem-dismiss:before{background:0 0;content:"\f153";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a.tsfem-dismiss:hover{color:#d14b44}.tsfem-flex-status-loading>span{display:inline-block;font-size:30px;text-align:center}.tsfem-flex-status-loading>span:after{display:inline-block;width:1em;content:"\f463";font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:middle;color:#0ebfe9;line-height:1em;font-size:1em;-webkit-animation:1.5s linear infinite tsfem-spin;animation:1.5s linear infinite tsfem-spin}.tsfem-disable-cursor{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-question-cursor{cursor:help}.tsfem-flex{box-sizing:border-box;display:-webkit-flex;display:flex;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-flex-rtl{-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-flex-row{-webkit-flex-direction:row;flex-direction:row}.tsfem-flex-nowrap{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.tsfem-flex-grow{-webkit-flex-grow:1;flex-grow:1}.tsfem-flex-nogrow{-webkit-flex:0 1 auto;flex:0 1 auto}.tsfem-flex-noshrink{-webkit-flex:1 0 auto;flex:1 0 auto}.tsfem-flex-nogrowshrink{-webkit-flex:0 0 auto;flex:0 0 auto}.tsfem-flex-space{-webkit-justify-content:space-between;justify-content:space-between}.tsfem-flex-center{-webkit-justify-content:center;justify-content:center}.tsfem-flex-end{-webkit-justify-content:flex-end;justify-content:flex-end}body.tsfem #wpbody-content{padding-bottom:0}body.tsfem .wrap{min-height:100vh;overflow:visible;padding:32px 0 0;margin:-32px -20px 0 0}.tsfem-notice-wrap{margin:0 1.2vw}.tsfem-connect-wrap,.tsfem-panes-wrap{-webkit-flex:1 1 auto;flex:1 1 auto}.tsfem-panes-wrap{margin:.6vw}.tsfem-connect-wrap{margin:1.2vw}.tsfem-top-wrap{background-color:#fff;box-shadow:0 .4em 1em rgba(0,0,0,.18);width:100%;margin:0;padding:1em 1.2vw}.tsfem-footer-wrap{padding:0 0 1.2vw;margin:0 1.2vw;overflow:hidden;white-space:nowrap;text-align:center}.tsfem.connect-wrap{max-width:690px;min-width:275px}.tsfem-flex-textarea-wrap{-webkit-flex-direction:row;flex-direction:row;min-width:100%;width:100%;-webkit-flex:0 0 auto;flex:0 0 auto}.tsfem-flex-textarea-wrap textarea{display:block;min-width:100%}.tsfem-top-about,.tsfem-top-actions,.tsfem-top-wrap .tsfem-title{text-align:right;-webkit-align-items:center;align-items:center}.tsfem-top-about,.tsfem-top-actions{-webkit-justify-content:flex-end;justify-content:flex-end}.tsfem-top-wrap .tsfem-title{-webkit-flex:1 999 auto;flex:1 999 auto}.tsfem-top-about{-webkit-flex:1 1 160px;flex:1 1 160px}.tsfem-top-actions>div{display:inline-block;white-space:pre}.tsfem-top-about>div{display:inline-block;text-align:justify;max-width:calc(100% - 1.2em - 14px);color:#333;letter-spacing:.2px}.tsfem-about-activation:before{display:inline-block;color:#0ebfe9;content:"\f112";font-size:1.2em;line-height:1.2em;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;margin:0 7px;vertical-align:baseline;white-space:pre-wrap}.tsfem-top-wrap .tsfem-title header{width:calc(100% - 7px)}.tsfem-top-wrap .tsfem-title *{vertical-align:top}.tsfem-top-wrap .tsfem-title h1{font-family:Verdana,Geneva,sans-serif;word-break:break-word;font-size:1.9em;font-weight:400;line-height:1em;color:#0ebfe9;margin:0;padding:0;display:inline}.tsfem-top-wrap .tsfem-title .tsfem-logo>svg{display:inline-block;white-space:pre-wrap;padding:0;margin-left:7px;line-height:29px;vertical-align:top}.tsfem input[type=checkbox]:focus,.tsfem input[type=color]:focus,.tsfem input[type=date]:focus,.tsfem input[type=datetime-local]:focus,.tsfem input[type=datetime]:focus,.tsfem input[type=email]:focus,.tsfem input[type=month]:focus,.tsfem input[type=number]:focus,.tsfem input[type=password]:focus,.tsfem input[type=radio]:focus,.tsfem input[type=search]:focus,.tsfem input[type=tel]:focus,.tsfem input[type=text]:focus,.tsfem input[type=time]:focus,.tsfem input[type=url]:focus,.tsfem input[type=week]:focus,.tsfem select:focus,.tsfem textarea:focus{border-color:#057f9c;box-shadow:0 0 2px rgba(66,144,183,.8)}.tsfem-button,.tsfem-button-primary,.tsfem-button-primary:focus,.tsfem-button:disabled,.tsfem-button:disabled:hover,.tsfem-button:focus{display:inline-block;padding:.5em 1em;background:#eee;border:0;box-shadow:0 .2em 0 #cacaca;color:#666;text-shadow:0 -1px 1px #efefef,1px 0 1px #efefef,0 1px 1px #efefef,-1px 0 1px #efefef;font-size:1em;line-height:1em;text-decoration:none;text-align:center;margin-top:.2em;margin-bottom:.2em;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:3px}.tsfem-button-small,.tsfem-button-small:disabled,.tsfem-button-small:disabled:hover,.tsfem-button-small:focus{font-size:.9em}.tsfem-button-primary,.tsfem-button-primary:focus{background:#05809e;box-shadow:0 .2em 0 #005c7a;color:#fff;text-shadow:0 -1px 1px #005c7a,1px 0 1px #005c7a,0 1px 1px #005c7a,-1px 0 1px #005c7a}.tsfem-button-primary-bright,.tsfem-button-primary-bright:focus{color:#fff;background:#0ebfe9;box-shadow:0 .2em 0 #057f9c;text-shadow:0 -1px 1px #0078a2,1px 0 1px #0078a2,0 1px 1px #0078a2,-1px 0 1px #0078a2}.tsfem-button-extension-activate,.tsfem-button-extension-activate:focus,.tsfem-button-green,.tsfem-button-green:focus{color:#fff;background:#00cd98;box-shadow:0 .2em 0 #008964;text-shadow:0 -1px 1px #008651,1px 0 1px #008651,0 1px 1px #008651,-1px 0 1px #008651}.tsfem-button-extension-deactivate,.tsfem-button-extension-deactivate:focus,.tsfem-button-red,.tsfem-button-red:focus{color:#fff;background:#ff746a;box-shadow:0 .2em 0 #d14b44;text-shadow:0 -1px 1px #d14831,1px 0 1px #d14831,0 1px 1px #d14831,-1px 0 1px #d14831}.tsfem-button-clipboard:after,.tsfem-button-cloud:after,.tsfem-button-download:after,.tsfem-button-external:after,.tsfem-button-flag:after,.tsfem-button-image:after,.tsfem-button-index:after,.tsfem-button-loading:after,.tsfem-button-love:after,.tsfem-button-star:after,.tsfem-button-upload:after,.tsfem-button-warning:after{display:inline-block;width:1em;content:"\f155";font-size:1em;line-height:1em;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;margin-right:.5em}.tsfem-button-small:after{font-size:.9em}.tsfem-button-flag:after{content:"\f227"}.tsfem-button-warning:after{content:"\f534"}.tsfem-button-love:after{content:"\f487"}.tsfem-button-upload:after{content:"\f317"}.tsfem-button-download:after{content:"\f316"}.tsfem-button-clipboard:after{content:"\f481"}.tsfem-button-index:after{content:"\f510"}.tsfem-button-cloud:after{content:"\f176"}.tsfem-button-external:after{content:"\f504"}.tsfem-button-image:after{content:"\f128"}.tsfem-button-loading:after{content:"\f463";-webkit-animation:1.5s linear infinite tsfem-spin;-moz-animation:1.5s linear infinite tsfem-spin;-o-animation:1.5s linear infinite tsfem-spin;animation:1.5s linear infinite tsfem-spin}.tsfem-button-primary:active,.tsfem-button:active{margin-top:.4em;margin-bottom:0;box-shadow:none;outline:0}.tsfem-button-primary:focus,.tsfem-button:focus{outline:0}.tsfem-button:active,.tsfem-button:focus,.tsfem-button:hover{color:#777;-webkit-filter:brightness(.925);filter:brightness(.925)}.tsfem-button-primary:active,.tsfem-button-primary:focus,.tsfem-button-primary:hover{color:#fff;-webkit-filter:hue-rotate(5deg) saturate(1.2) brightness(1.025);filter:hue-rotate(5deg) saturate(1.2) brightness(1.025)}.tsfem-button-flat,.tsfem-button-flat:active,.tsfem-button-flat:focus,.tsfem-button-flat:hover{margin:0;box-shadow:0 0 .3em transparent,0 0 0 transparent inset;filter:none;transition:box-shadow .25s;padding:.4em 1em .5em}.tsfem-button-small.tsfem-button-flat{padding:.5em 1em}.tsfem-button-flat:focus,.tsfem-button-flat:hover{margin:0;box-shadow:0 .2em 1em rgba(0,0,0,.3),0 0 0 transparent inset}.tsfem-button-flat:active{margin:0;box-shadow:0 0 .3em transparent,0 .1em .7em .2em rgba(0,0,0,.3) inset;transition-duration:.15s}.tsfem-switch-button-container-wrap{display:inline-block;perspective:800px;perspective-origin:50%}.tsfem-switch-button-container{position:relative;margin:0 0 1em;width:140px;height:2em;padding:0;display:block}.tsfem-switch-button-container input[type=checkbox]{position:absolute;width:0;height:0;opacity:0;margin:0;padding:0;border:0;z-index:-1;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tsfem-switch-button-container button,.tsfem-switch-button-container label{position:absolute;right:0;top:0;text-align:center;transition:transform 1s,opacity .5s;z-index:1;display:block;width:140px;box-sizing:border-box}.tsfem-switch-button-container input[type=checkbox]+label{z-index:2;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-switch-button-container button{transform:rotateX(-90deg);transform-origin:0 100% 0;opacity:0;transition:transform 1.2s,opacity .6s}.tsfem-switch-button-container input[type=checkbox]:checked:before{content:none}.tsfem-switch-button-container input[type=checkbox]:checked+label{transform:rotateX(90deg) translateY(-100%);opacity:0;z-index:0;transition:transform 1.2s,opacity .6s}.tsfem-switch-button-container input[type=checkbox]:checked~button{transform:rotateX(0);opacity:1;z-index:2;transition:transform 1s,opacity .5s}.tsfem-button-disabled,.tsfem-button-disabled:active,.tsfem-button-disabled:disabled,.tsfem-button-disabled:focus,.tsfem-button-disabled:hover{-webkit-filter:grayscale(1);filter:grayscale(1);cursor:not-allowed;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-connect-option{width:100%;max-width:690px;padding:1em 1.5em;margin:0 auto 1.2vw;box-shadow:0 .3em 1em rgba(0,0,0,.18);background:#fff;box-sizing:border-box}.tsfem-connect-row{-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between}.tsfem-connect-option:last-of-type{margin-bottom:0}.tsfem-connect-action,.tsfem-connect-text{margin:.5em 0;flex:1 1 49%;min-width:175px;padding:3px}.tsfem-connect-action form{margin:0;padding:0}.tsfem-connect-description>*{margin:0 0 1em;display:block}.tsfem-connect-description>:last-child{margin-bottom:0}.tsfem-connect-wrap h3{font-size:1.66em;color:#057f9c;font-weight:400}.tsfem-panes-wrap{padding:0;-webkit-align-items:center;align-items:center;min-height:300px}.tsfem-panes-row{width:100%;margin:0;padding:0}.tsfem-pane-full,.tsfem-pane-half{-webkit-flex-basis:calc(50% - 1.2vw);flex-basis:calc(50% - 1.2vw);background:#fff;box-shadow:0 .3em 1em rgba(0,0,0,.18);margin:.6vw;padding:0;min-height:300px;min-width:300px}.tsfem-pane-full ::-webkit-scrollbar,.tsfem-pane-half ::-webkit-scrollbar{width:.7em;height:.7em;background:rgba(0,0,0,.04)}.tsfem-pane-full ::-webkit-scrollbar:hover,.tsfem-pane-half ::-webkit-scrollbar:hover{background:rgba(0,0,0,.06)}.tsfem-pane-full ::-webkit-scrollbar:active,.tsfem-pane-half ::-webkit-scrollbar:active{background:rgba(0,0,0,.08)}.tsfem-pane-full ::-webkit-scrollbar-thumb,.tsfem-pane-half ::-webkit-scrollbar-thumb{background-color:#05809e;box-shadow:0 0 1em rgba(0,0,0,.25)}.tsfem-pane-full ::-webkit-scrollbar-thumb:hover,.tsfem-pane-half ::-webkit-scrollbar-thumb:hover{box-shadow:0 0 .7em .2em rgba(0,0,0,.25)}.tsfem-pane-full ::-webkit-scrollbar-thumb:active,.tsfem-pane-half ::-webkit-scrollbar-thumb:active{box-shadow:0 0 .6em .2em rgba(0,0,0,.35)}.tsfem-pane-wrap{padding:0;margin:0;overflow:hidden;max-height:100%;-webkit-flex-basis:33vh;flex-basis:33vh;min-height:100%}.tsfem-pane-header{box-shadow:0 .2em .75em rgba(0,0,0,.18);z-index:5}.tsfem-pane-content,.tsfem-pane-header{margin:0;padding:1em 1.5em}.tsfem-pane-content{padding:0;border-top:0;max-height:100%;overflow:hidden}.tsfem-pane-header>*{font-size:1em;line-height:1em;margin:0;padding:0;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-flex-direction:row;flex-direction:row;-webkit-align-items:center;align-items:center;-webkit-justify-content:flex-end;justify-content:flex-end}.tsfem-pane-header .tsfem-ajax{max-width:initial;font-size:1em;word-break:break-word;text-align:left;-webkit-flex:0 1 auto;flex:0 1 auto;margin-right:7px}.tsfem-pane-header h3{font-size:1.33em;color:#057f9c;font-weight:400;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-pane-content h4.tsfem-status-title,.tsfem-pane-content h5.tsfem-status-title,.tsfem-pane-content h6.tsfem-status-title{margin:0}.tsfem-pane-inner-wrap{box-sizing:border-box;padding:1.5em;height:auto;max-height:100%;width:100%;overflow:auto;will-change:scroll-position;overflow-x:hidden;-webkit-overflow-scrolling:touch}.tsfem-pane-inner-collapsable-settings-wrap{padding:0}.tsfem-pane-inner-collapsable-settings-wrap .tsfem-pane-inner-pad{width:100%;padding:1.5em}.tsfem-pane-inner-collapsable-settings-wrap .tsfem-pane-inner-pad+.tsfem-pane-inner-pad{padding-top:0}.tsfem-pane-footer-wrap{margin:0;padding:1em 1.5em;box-shadow:0 -1px 3px 0 #ccc;z-index:5}.tsfem-pane-footer-wrap :nth-of-type(-n+1){margin-left:14px}.tsfem-actions,.tsfem-pane-split,.tsfem-trends,.tsfem-trends-activation{-webkit-flex-basis:100%;flex-basis:100%}#tsfem-extensions-pane{min-height:350px}.tsfem-actions>div,.tsfem-pane-split>div{margin-left:2em;-webkit-flex-basis:200px;flex-basis:200px;min-width:200px}.tsfem-actions>div:last-of-type,.tsfem-pane-split>div:last-of-type{margin-left:0;margin-bottom:0}.tsfem-actions>div>div,.tsfem-pane-split>div>div{margin-bottom:2em}.tsfem-flex-account-info-rows{line-height:1.625em}.tsfem-actions-account-info-title{font-weight:600}h4.tsfem-action-title,h4.tsfem-cp-title,h4.tsfem-form-title,h4.tsfem-info-title,h4.tsfem-status-title,h4.tsfem-support-title{padding:0;margin:0 0 14px;font-size:1.16em;font-weight:400;color:#057f9c}.tsfem-account-upgrade,.tsfem-cp-buttons,.tsfem-support-buttons{max-width:300px}.tsfem-cp-buttons,.tsfem-support-buttons{margin-bottom:14px;-webkit-flex-basis:50%;flex-basis:50%}.tsfem-cp-buttons:last-of-type,.tsfem-support-buttons:last-of-type{margin-bottom:0}.tsfem-cp-buttons>a,.tsfem-cp-buttons>form,.tsfem-support-buttons>a{cursor:pointer;min-width:50%;display:inline-block}.tsfem-cp-buttons button{width:100%}.tsfem-description{font-size:.93em;font-style:oblique;text-indent:.5em}.tsfem-extensions-wrap{height:auto;padding-left:0;padding-bottom:0;margin:0}.tsfem-extensions-overview-content{-webkit-flex:1 1 100%;flex:1 1 100%}.tsfem-extension-entry-wrap{padding:0;margin:0;-webkit-flex-basis:50%;flex-basis:50%;min-width:280px}.tsfem-extension-entry-inner{margin:0 0 1.5em 1.5em}.tsfem-extension-entry{margin:0;padding:.33em;min-height:122px;border-radius:.5em 0 0 .5em;box-shadow:0 .1em .5em .1em rgba(0,0,0,.18) inset;background:#fff;-webkit-align-self:auto;align-self:auto;-webkit-justify-content:center;justify-content:center}.tsfem-extension-entry>*{min-height:100px;margin:0;padding:0;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:column;flex-direction:column;width:auto;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-extension-icon-wrap{-webkit-flex-grow:0;flex-grow:0;-webkit-flex-basis:120px;flex-basis:120px;-webkit-align-self:center;align-self:center}.tsfem-extension-about-wrap{-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:space-around;justify-content:space-around;padding:10px 15px;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-basis:170px;flex-basis:170px}.tsfem-extension-description-wrap{-webkit-flex-grow:3;flex-grow:3;-webkit-flex-basis:280px;flex-basis:280px}.tsfem-extension-description-footer{display:block;width:100%;white-space:pre-line}.tsfem-extension-title{min-width:120px;font-size:1.33em;word-break:break-word;font-weight:600;color:#0ebfe9;margin:0;padding:0}.tsfem-extension-type{margin:0;padding:0;font-size:.83em}.tsfem-extension-subheader{padding:.667em 0}.tsfem-extension-action input,.tsfem-extension-action>*{width:100%;text-align:center}.tsfem-extension-party:before{display:inline-block;width:1em;line-height:1;font-family:dashicons;font-style:normal;font-weight:400;font-size:1.225em;vertical-align:middle;content:"";margin-left:4px}.tsfem-extension-first-party-icon:before{content:"\f338"}.tsfem-extension-third-party-icon:before{content:"\f307"}.tsfem-extension-description{padding:1em}.tsfem-extension-description-header{padding-bottom:1em}.tsfem-feed-wrap{-webkit-align-self:flex-start;align-self:flex-start}.tsfem-enable-feed-button{margin-bottom:14px;-webkit-flex-basis:50%;flex-basis:50%;max-width:300px}.tsfem-feed-entry,.tsfem-feed-top{width:100%;margin:0;padding:0;overflow:hidden}.tsfem-feed-content,.tsfem-feed-entry,.tsfem-feed-top{margin-bottom:1em}.tsfem-feed-top{word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;overflow-wrap:normal;-webkit-align-items:baseline;align-items:baseline}.tsfem-feed-top h4{white-space:pre-wrap;margin:0;padding:0}.tsfem-feed-top time{white-space:nowrap;word-wrap:break-word;overflow-wrap:break-word;word-spacing:-1px;font-size:.9em;margin:0 7px;padding:0;font-style:oblique}.tsfem-feed-entry{border-bottom:1px solid #dedede;margin:0 -1em 1em;padding:0 1em}.tsfem-feed-entry:last-of-type,.tsfem-feed-entry:last-of-type .tsfem-feed-content{margin-bottom:0;border-bottom:none}.tsfem #input-activation{width:100%;margin:0;padding:0}.tsfem #input-activation .regular-text,.tsfem #input-activation .tsfem-button{margin-left:0;margin-right:0;border-radius:0;width:100%;font-size:13px}.tsfem #input-activation .regular-text{margin:4px 0}.tsfem #input-activation .regular-text:first-child{margin-top:0}.tsfem #input-activation .regular-text:nth-of-type(2){margin-bottom:5px}.tsfem #wpfooter{z-index:-1;padding:0}.tsfem-footer-wrap .tsfem-footer-motto,.tsfem-footer-wrap .tsfem-footer-title{font-size:1em;margin:0;color:#646d78;font-weight:300;cursor:default}.tsfem-footer-wrap .tsfem-footer-title{font-weight:400;color:#555d66}.tsfem-ajax:after,.tsfem-dashicon:after{display:inline-block;line-height:1;font-family:dashicons;font-style:normal;font-weight:400;width:1em;vertical-align:baseline;content:"";margin-right:4px}.tsfem-ajax:after{font-size:1.225em;line-height:.816em}.tsfem-dashicon:after{font-size:1.2em;vertical-align:text-bottom;margin-right:2px}.tsfem-ajax.tsfem-loading:after{content:"\f463";color:#057c99;-webkit-animation:1.5s linear infinite tsfem-spin;animation:1.5s linear infinite tsfem-spin}.tsfem-dashicon-fadeout-3000:after{animation:3s linear tsfem-fadeout}.tsfem-ajax.tsfem-error:after,.tsfem-dashicon.tsfem-error:after{content:"\f158";color:#dd3811}.tsfem-ajax.tsfem-success:after,.tsfem-dashicon.tsfem-success:after{content:"\f147";color:#0cc34b}.tsfem-ajax.tsfem-unknown:after,.tsfem-dashicon.tsfem-unknown:after{content:"\f223";color:#057c99}.tsfem-dashicon.tsfem-warning:after{content:"\f227";color:#ffa01b}.tsfem-dashicon.tsfem-edit:after{content:"\f464";color:#ffa01b}.tsfem-dashicon.tsfem-close:after{content:"\f158";color:#ffa01b}@keyframes tsfem-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes tsfem-fadeout{100%{opacity:0}}@media screen and (max-width:782px){body.tsfem .wrap{margin-right:-10px;margin-top:-46px;padding-top:46px}}.tsfem-tooltip-wrap{position:relative;font-size:13px;display:inline-block}.tsfem-tooltip-item{cursor:help}a.tsfem-tooltip-item{cursor:pointer}.tsfem-tooltip{position:absolute;padding:0;margin:0;bottom:0;left:0;z-index:900142;text-align:right;pointer-events:none;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-tooltip-down{bottom:auto;top:0}.tsfem-tooltip-text-wrap{padding:10px 12px;font-size:1em;font-weight:500;line-height:1.625em;border-radius:3px;background:#424242;color:#fbf7fd;box-shadow:0 0 2px rgba(0,0,0,.6);text-shadow:none;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;white-space:pre-line;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1 0 150px;flex:1 0 150px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start}.tsfem-tooltip-text span{text-decoration:underline}.tsfem-tooltip-text br{display:block;width:100%;content:"\A"}.tsfem-tooltip-arrow{position:absolute;bottom:-8px;z-index:9999999;left:7px;width:0;height:0}.tsfem-tooltip-down .tsfem-tooltip-arrow{bottom:auto;top:-8px}.tsfem-tooltip-arrow:before{content:"";border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid rgba(0,0,0,.25);position:absolute;bottom:0;left:0}.tsfem-tooltip-arrow:after{content:"";border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #424242;position:absolute;bottom:1px;left:1px}.tsfem-tooltip-down .tsfem-tooltip-arrow:before{bottom:auto;top:0;border-top:0;border-bottom:9px solid rgba(0,0,0,.25)}.tsfem-tooltip-down .tsfem-tooltip-arrow:after{bottom:auto;top:1px;border-top:0;border-bottom:8px solid #424242}.tsfem-flip-hide-down,.tsfem-flip-hide-up{-webkit-transform:rotateX(90deg) translateY(.5em);transform:rotateX(90deg) translateY(.5em);-webkit-transform-origin:0 100% 0;transform-origin:0 100% 0;opacity:0;-webkit-transition:-webkit-transform .25s,opacity .25s;transition:transform .25s,opacity .25s}.tsfem-flip-hide-down{-webkit-transform:rotateX(-90deg) translateY(-2em);transform:rotateX(-90deg) translateY(-2em)}.tsfem-flip-show-down,.tsfem-flip-show-up{-webkit-transform:rotateX(0) translateY(0);transform:rotateX(0) translateY(0);opacity:1;-webkit-transition:-webkit-transform .25s,opacity .125s;transition:transform .25s,opacity .125s}.tsfem-hidden{display:none}.tsfem-has-hover-balloon{position:relative;cursor:help}.tsfem-ltr{direction:ltr}.tsfem-flex-hide-if-no-js,body.js .tsfem-flex-hide-if-js{display:none}body.js .tsfem-flex-hide-if-no-js{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tsfem-modal-mask,.tsfem-modal-mask-noscroll{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483644;opacity:0}.tsfem-modal-mask-noscroll{position:absolute;z-index:2147483645}.tsfem-modal-buttons,.tsfem-modal-container,.tsfem-modal-dialog,.tsfem-modal-dialog-wrap,.tsfem-modal-select,.tsfem-modal-select-option,.tsfem-modal-title{display:-webkit-box;display:-webkit-flex;display:flex}.tsfem-modal-container{position:fixed;top:0;left:0;overflow:hidden;width:100%;height:100%;background:rgba(33,33,33,.15);opacity:0;z-index:2147483646}.tsfem-modal-dialog-wrap{position:absolute;top:0;right:0;left:0;bottom:0;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;align-items:center}.tsfem-modal-dialog{-webkit-flex-direction:column;flex-direction:column;background:#fff;border-radius:3px;min-width:240px;max-width:calc(90% - 240px);max-height:80%;position:relative;overflow:hidden;box-shadow:0 0 4px 2px #aaa;z-index:2147483647}.tsfem-modal-buttons,.tsfem-modal-title{margin:0;padding:14px 20px;box-shadow:0 1px 3px 0 #ccc;z-index:5;-webkit-flex-shrink:0;flex-shrink:0}.tsfem-modal-buttons{box-shadow:0 -1px 3px 0 #ccc;-webkit-justify-content:flex-end;justify-content:flex-end}.tsfem-modal-title h4{margin:0;padding:0;font-size:1.4em;line-height:1.2em;color:#057f9c;font-weight:400}.tsfem-modal-inner{padding:20px;max-width:640px;overflow:auto;overflow-x:hidden}.tsfem-modal-text p:first-of-type{margin:0}.tsfem-modal-text p:last-of-type{margin-bottom:0}.tsfem-modal-text+.tsfem-modal-select{margin-top:20px}.tsfem-modal-select{-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:flex-start;align-items:flex-start}.tsfem-modal-select-option{margin-bottom:14px;padding:0 7px;-webkit-flex-basis:140px;flex-basis:140px;max-width:calc(50% - 14px);-webkit-flex-grow:1;flex-grow:1}.tsfem-modal-select-option:first-of-type:last-of-type{max-width:none}.tsfem-modal-select-option input{position:absolute;width:0;height:0;opacity:0;margin:0!important;padding:0!important;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tsfem-modal-select-option label{font-weight:600;border:1px solid transparent;background:#fefefe;box-shadow:0 1px 3px 1px #ccc;cursor:pointer;padding:14px;width:100%;-webkit-transition:.33s;-moz-transition:.33s;-o-transition:.33s;transition:.33s;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tsfem-modal-select-option:hover input:not(:checked)+label{-webkit-filter:brightness(.95);filter:brightness(.95)}.tsfem-modal-select-option>input:checked+label{border-color:#05809e}.tsfem-modal-select-option input:active+label,.tsfem-modal-select-option input:focus+label,.tsfem-modal-select-option:hover input:checked+label{box-shadow:0 1px 3px 1px #05809e}.tsfem-modal-buttons button:nth-child(n+2){margin-right:14px}.tsfem-modal-dismiss{position:absolute;top:0;left:0;border:none;margin:7px;padding:7px;background:0 0;color:#b4b9be;cursor:pointer;text-decoration:none;z-index:6;transition:color .15s}.tsfem-modal-dismiss:hover{color:#d14b44}.tsfem-modal-dismiss:before{background:0 0;content:"\f153";display:block;font:400 16px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} diff --git a/lib/js/tsfem-inpost.min.js b/lib/js/tsfem-inpost.min.js index 3526f0bd..baa11d25 100644 --- a/lib/js/tsfem-inpost.min.js +++ b/lib/js/tsfem-inpost.min.js @@ -1 +1 @@ -'use strict';window.tsfem_inpost=function(a){const b=tsfem_inpostL10n.post_ID,d=tsfem_inpostL10n.nonce,e=tsfem_inpostL10n.rlt,f=tsfem_inpostL10n.isPremium,g=tsfem_inpostL10n.locale,h=tsfem_inpostL10n.debug,i=tsfem_inpostL10n.i18n,r=A=>{let B=A&&A.json||void 0,C=1===B;if(!C){let D=A;try{A=JSON.parse(A),C=!0}catch(E){C=!1,A=D}}return A};var s;const t=A=>{const B=(D,E)=>{let F=a(E),G=F.children('.tsfem-notice, .tsfem-notice-wrap .notice');1{a(J.target).closest('.tsfem-notice').slideUp(200,function(){this.remove()})};H.off('click',I).on('click',I)},C=(D,E)=>{let F=a.Deferred(),G=E?1:0,H='';return a.ajax({method:'POST',url:ajaxurl,datatype:'json',data:{action:'tsfem_inpost_get_dismissible_notice',post_ID:b,nonce:d,'tsfem-notice-key':D,'tsfem-notice-has-msg':G},timeout:7e3,async:!0}).done(I=>{I=r(I),h&&console.log(I);let J=I&&I.data||void 0,K=I&&I.type||void 0;if(!J||!K||'undefined'==typeof J.notice);else{let L='';G?(L=a(J.notice),e?L.find('p').first().prepend(E+' '):L.find('p').first().append(' '+E)):L=J.notice,H=L}}).fail((I,J,K)=>{h&&(console.log(I.responseText),console.log(K));let L=G?wp.template('tsfem-inpost-notice-error'):wp.template('tsfem-inpost-notice-5xx'),M=L({code:D,msg:E});H=M}).always(()=>{F.resolve(H)}),F.promise()};return{in:D=>{if(A){if(s)return void setTimeout(()=>{t(A).in(D)},500);s=!0;let E=A.type||'error',F=A.code||void 0,G=A.text||'';if(void 0===F)C(-1,G).always(H=>{B(H,D),s=!1});else if(''===G)C(F,'').always(H=>{B(H,D),s=!1});else{let H=wp.template('tsfem-inpost-notice-'+E);A=H({code:F,msg:G}),B(A,D),s=!1}}}}},u=(A,B,C)=>{h&&(console.log(A.responseText),console.log(C));let D='';switch(C){case'abort':case'timeout':D=i.TimeoutError;break;case'Bad Request':D=i.BadRequest;break;case'Internal Server Error':D=i.FatalError;break;case'parsererror':D=i.ParseError;break;default:D=i.UnknownError;}return D},v=(A,B)=>{if(A instanceof NodeList)return void A.forEach(D=>v(D,B));if(A&&!(!A instanceof Element)){['edit','loading','unknown','error','bad','warning','okay','good'].forEach(D=>{A.classList.remove('tsfem-e-inpost-icon-'+D),D===B&&A.classList.add('tsfem-e-inpost-icon-'+D)})}};var w={},x={};const y=(A,B,C,D)=>{if(A&&!(!A instanceof HTMLElement)){A.style.willChange='opacity';let E=!1,F=!1;'function'==typeof C?(E=C,F=!0):'object'==typeof C&&(E='undefined'==typeof C.cb&&!1||C.cb,F='undefined'==typeof C.promise&&!0||C.promise),B=B||250,D=void 0===D||D;let J,G=0,H=0,I=10,L=A.dataset.tsfemFadeId||'_'+Math.random().toString(22).substr(2,10);A.dataset.tsfemFadeId=L,'undefined'!=typeof w[L]&&(clearInterval(w[L]),'undefined'!=typeof x[L]&&x[L].resolve()),F&&E&&(x[L]=a.Deferred(),(()=>{a.when(x[L]).done(()=>{delete x[L],E()})})(E)),D?(A.style.opacity=0,A.style.display=null,J=()=>{H=(G+=I)/100,A.style.opacity=H,1<=H&&(clearInterval(w[L]),setTimeout(()=>A.style.opacity=1,0),A.style.display=null,F?'undefined'!=typeof x[L]&&x[L].resolve():E&&E(),'none'===A.style.display&&(A.style.display=null),A.style.willChange='auto',delete A.dataset.tsfemFadeId)}):(G=100*A.style.opacity,J=()=>{H=(G-=I)/100,A.style.opacity=H,0>=H&&(clearInterval(w[L]),A.style.opacity=0,F?'undefined'!=typeof x[L]&&x[L].resolve():E&&E(),A.style.display='none',A.style.willChange='auto',delete A.dataset.tsfemFadeId)}),w[L]=setInterval(J,B*I/100)}};return a.extend(!0,{load:function(){}},{postID:b,nonce:d,isPremium:f,locale:g,debug:h,i18n:i},{escapeRegex:A=>A.replace(/[\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,'\\$&'),bewilderRegexNonWords:A=>A.replace(/[\u0020-\u002F\u003A-\u003F\u2000-\u206F\u0591-\u05C4\u05F3-\u05F4\u060C-\u061F\u0700-\u070F\u3000-\u3030\u005B-\u0060\u007B-\u007E]+/g,'\\W+'),normalizeSpacing:A=>A.replace(/(?!(\n+|\r)+)( |\s)+/gu,' '),escapeStr:(A,B)=>{return A.length?B?A.replace(/[&<>]/g,C=>{return{'&':'&','<':'<','>':'>'}[C]}):A.replace(/[&<>"']/g,C=>{return{'&':'&','<':'<','>':'>','"':'"','\'':'''}[C]}):''},isActionableElement:A=>{return!(!A instanceof HTMLElement)&&(A instanceof HTMLInputElement||A instanceof HTMLSelectElement||A instanceof HTMLLabelElement||A instanceof HTMLButtonElement||A instanceof HTMLTextAreaElement)},promiseLoop:(A,B,C)=>{let D=a.Deferred(),E=A.length;if(!E)return D.resolve();const F=G=>{setTimeout(()=>{a.when(B(A[G])).done(()=>{++G===E?D.resolve():F(G)})},C)};return F(0),D.promise()},doAjax:(A,B,C)=>{let D,E=C.noticeArea,F=C.premium||!1;return F&&!f?void A.reject():void(h&&console.log(B),a.ajax(B).done(G=>{A.notify(),G=r(G),h&&console.log(G);let H=G&&G.data||void 0,I=G&&G.type||void 0;if(!H||!I)return A.reject(),void(D={type:'error',code:-1,text:i.InvalidResponse});let J=H.results&&H.results.code||void 0,K=H.results&&H.results.notice||void 0,L=H.results&&H.results.type||void 0;J&&L&&(D={type:L,code:J,text:K}),'success'===I&&'data'in H?A.resolve(H.data):A.reject(J)}).fail((G,H,I)=>{A.reject(),h&&(console.log(G.responseText),console.log(I)),D={type:'error',code:-1,text:u(G,H,I)}}).always(()=>{A.notify(),D&&t(D).in(E)}))},convertJSONResponse:r,setFlexNotice:t,getAjaxError:u,setIconClass:v,fadeOut:(A,B,C)=>{y(A,B,C,!1)},fadeIn:y})}(jQuery),jQuery(window.tsfem_inpost.load); +'use strict';window.tsfem_inpost=function(a){const b=tsfem_inpostL10n.post_ID,d=tsfem_inpostL10n.nonce,e=tsfem_inpostL10n.rlt,f=tsfem_inpostL10n.isPremium,g=tsfem_inpostL10n.locale,h=tsfem_inpostL10n.debug,i=tsfem_inpostL10n.i18n,r=A=>{let B=A&&A.json||void 0,C=1===B;if(!C){let D=A;try{A=JSON.parse(A),C=!0}catch(E){C=!1,A=D}}return A};var s;const t=A=>{const B=(D,E)=>{let F=a(E),G=F.children('.tsfem-notice, .tsfem-notice-wrap .notice');1{a(J.target).closest('.tsfem-notice').slideUp(200,function(){this.remove()})};H.off('click',I).on('click',I)},C=(D,E)=>{let F=a.Deferred(),G=E?1:0,H='';return a.ajax({method:'POST',url:ajaxurl,datatype:'json',data:{action:'tsfem_inpost_get_dismissible_notice',post_ID:b,nonce:d,'tsfem-notice-key':D,'tsfem-notice-has-msg':G},timeout:7e3,async:!0}).done(I=>{I=r(I),h&&console.log(I);let J=I&&I.data||void 0,K=I&&I.type||void 0;if(!J||!K||'undefined'==typeof J.notice);else{let L='';G?(L=a(J.notice),e?L.find('p').first().prepend(E+' '):L.find('p').first().append(' '+E)):L=J.notice,H=L}}).fail((I,J,K)=>{h&&(console.log(I.responseText),console.log(K));let L=G?wp.template('tsfem-inpost-notice-error'):wp.template('tsfem-inpost-notice-5xx'),M=L({code:D,msg:E});H=M}).always(()=>{F.resolve(H)}),F.promise()};return{in:D=>{if(A){if(s)return void setTimeout(()=>{t(A).in(D)},500);s=!0;let E=A.type||'error',F=A.code||void 0,G=A.text||'';if(void 0===F)C(-1,G).always(H=>{B(H,D),s=!1});else if(''===G)C(F,'').always(H=>{B(H,D),s=!1});else{let H=wp.template('tsfem-inpost-notice-'+E);A=H({code:F,msg:G}),B(A,D),s=!1}}}}},u=(A,B,C)=>{h&&(console.log(A.responseText),console.log(C));let D='';switch(C){case'abort':case'timeout':D=i.TimeoutError;break;case'Bad Request':D=i.BadRequest;break;case'Internal Server Error':D=i.FatalError;break;case'parsererror':D=i.ParseError;break;default:D=i.UnknownError;}return D},v=(A,B)=>{if(A instanceof NodeList)return void A.forEach(D=>v(D,B));if(A&&!(!A instanceof Element)){['edit','loading','unknown','error','bad','warning','okay','good'].forEach(D=>{A.classList.remove('tsfem-e-inpost-icon-'+D),D===B&&A.classList.add('tsfem-e-inpost-icon-'+D)})}};var w={},x={};const y=(A,B,C,D)=>{if(A&&!(!A instanceof HTMLElement)){A.style.willChange='opacity';let E=!1,F=!1;'function'==typeof C?(E=C,F=!0):'object'==typeof C&&(E='undefined'==typeof C.cb&&!1||C.cb,F='undefined'==typeof C.promise&&!0||C.promise),B=B||250,D=void 0===D||D;let J,G=0,H=0,I=10,K=A.dataset.tsfemFadeId||'_'+Math.random().toString(22).substr(2,10);A.dataset.tsfemFadeId=K,'undefined'!=typeof w[K]&&(clearInterval(w[K]),'undefined'!=typeof x[K]&&x[K].resolve()),F&&E&&(x[K]=a.Deferred(),(()=>{a.when(x[K]).done(()=>{delete x[K],E()})})(E)),D?(A.style.opacity=0,A.style.display=null,J=()=>{H=(G+=I)/100,A.style.opacity=H,1<=H&&(clearInterval(w[K]),setTimeout(()=>A.style.opacity=1,0),A.style.display=null,F?'undefined'!=typeof x[K]&&x[K].resolve():E&&E(),'none'===A.style.display&&(A.style.display=null),A.style.willChange='auto',delete A.dataset.tsfemFadeId)}):(G=100*A.style.opacity,J=()=>{H=(G-=I)/100,A.style.opacity=H,0>=H&&(clearInterval(w[K]),A.style.opacity=0,F?'undefined'!=typeof x[K]&&x[K].resolve():E&&E(),A.style.display='none',A.style.willChange='auto',delete A.dataset.tsfemFadeId)}),w[K]=setInterval(J,B*I/100)}};return a.extend(!0,{load:function(){}},{postID:b,nonce:d,isPremium:f,locale:g,debug:h,i18n:i},{escapeRegex:A=>A.replace(/[\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,'\\$&'),bewilderRegexNonWords:A=>A.replace(/[\u0020-\u002F\u003A-\u003F\u2000-\u206F\u0591-\u05C4\u05F3-\u05F4\u060C-\u061F\u0700-\u070F\u3000-\u3030\u005B-\u0060\u007B-\u007E]+/g,'\\W+'),normalizeSpacing:A=>A.replace(/(?!(\n+|\r)+)( |\s)+/gu,' '),escapeStr:(A,B)=>{return A.length?B?A.replace(/[&<>]/g,C=>{return{'&':'&','<':'<','>':'>'}[C]}):A.replace(/[&<>"']/g,C=>{return{'&':'&','<':'<','>':'>','"':'"','\'':'''}[C]}):''},isActionableElement:A=>{return!(!A instanceof HTMLElement)&&(A instanceof HTMLInputElement||A instanceof HTMLSelectElement||A instanceof HTMLLabelElement||A instanceof HTMLButtonElement||A instanceof HTMLTextAreaElement)},promiseLoop:(A,B,C)=>{let D=a.Deferred(),E=A.length;if(!E)return D.resolve();const F=G=>{setTimeout(()=>{a.when(B(A[G])).done(()=>{++G===E?D.resolve():F(G)})},C)};return F(0),D.promise()},doAjax:(A,B,C)=>{let D,E=C.noticeArea,F=C.premium||!1;return F&&!f?void A.reject():void(h&&console.log(B),a.ajax(B).done(G=>{A.notify(),G=r(G),h&&console.log(G);let H=G&&G.data||void 0,I=G&&G.type||void 0;if(!H||!I)return A.reject(),void(D={type:'error',code:-1,text:i.InvalidResponse});let J=H.results&&H.results.code||void 0,K=H.results&&H.results.notice||void 0,L=H.results&&H.results.type||void 0;J&&L&&(D={type:L,code:J,text:K}),'success'===I&&'data'in H?A.resolve(H.data):A.reject(J)}).fail((G,H,I)=>{A.reject(),h&&(console.log(G.responseText),console.log(I)),D={type:'error',code:-1,text:u(G,H,I)}}).always(()=>{A.notify(),D&&t(D).in(E)}))},convertJSONResponse:r,setFlexNotice:t,getAjaxError:u,setIconClass:v,fadeOut:(A,B,C)=>{y(A,B,C,!1)},fadeIn:y})}(jQuery),jQuery(window.tsfem_inpost.load); diff --git a/readme.txt b/readme.txt index 205dd8d8..222dca54 100644 --- a/readme.txt +++ b/readme.txt @@ -3,9 +3,9 @@ Contributors: Cybr Donate link: https://theseoframework.com/donate/ Tags: seo, extensions, local, keyword, articles, monitor, modules, schema, honeypot, amp, title, the seo framework Requires at least: 4.6.0 -Tested up to: 4.9.8 +Tested up to: 5.0.0 Requires PHP: 5.5.21 -Stable tag: 1.5.2 +Stable tag: 2.0.0 License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html @@ -16,7 +16,7 @@ Add more powerful SEO features to The SEO Framework right from your WordPress da **Advanced and powerful SEO.** **Delivered through extension for [The SEO Framework](https://wordpress.org/plugins/autodescription/).** -This plugin provides an advanced WordPress administrative dashboard page where you can activate the latest free and premium extensions. +The Extension Manager is a WordPress plugin that gives access to more advanced and powerful SEO for The SEO Framework via extensions. = Included Extensions = @@ -34,25 +34,18 @@ This plugin provides an advanced WordPress administrative dashboard page where y = How it works = -This plugin offers a lightweight dashboard wherein you can activate and deactivate extensions. -Only the activated extensions are loaded. Other extensions are dormant and the files of those aren't even touched. +This plugin provides a beautiful and advanced WordPress administrative dashboard page wherein you can activate the latest Free, Essentials, and Premium extensions. -Some of the extensions are completely free to use, others are premium and are connected to our servers. +Only the activated extensions are loaded. Other extensions are dormant and the files of those aren’t even touched. -= About Premium = - -A premium subscription will allow you to activate all premium extensions for one single subscription price. - -The premium extensions communicate with The SEO Framework's API server to provide extra functionality. This added functionality is optional and its usage differs per extension. - -When the subscription is active, you're allowed to use all premium extensions. If the subscription is expired or deactivated, the premium extensions will no longer be accessible. +The Premium and Essentials+ extensions can make use of our API services. +The Essentials and Free extensions are completely self-sufficient. = Privacy = View our detailed [Plugin Privacy Policy](https://theseoframework.com/privacy-policy/#pluginprivacyinformation). -* In short: This plugin can send API requests to our sites when you use a Premium license. -* Have questions about privacy? Feel free to [contact us](https://theseoframework.com/contact/). +Do you have questions about privacy? Feel free to [contact us](https://theseoframework.com/contact/). == Installation == @@ -66,9 +59,13 @@ View our detailed [Plugin Privacy Policy](https://theseoframework.com/privacy-po = Installation instructions: = -1. Install "The SEO Framework - Extension Manager" either via the WordPress.org plugin directory or by uploading the files to your server. -1. Either Network Activate this plugin or activate it on a single site. -1. That's it! +1. Download the [latest ZIP file from here](https://dl.theseoframework.com/get/plugin/latest/). +1. Login to your WordPress Dashboard. +1. Go to Plugins > Add New. +1. Click "Upload Plugin" at the top. +1. Upload the `the-seo-framework-extension-manager.zip` file. +1. Either network-activate this plugin or activate it on a single site. +1. That’s it! The plugin will guide you from here. = This plugin will then guide you through an activation process: = @@ -80,13 +77,13 @@ The extensions test themselves upon activation. So, if any extension doesn't wor > The premium software is Open Source:
> This plugin and all extensions within are open source. This means they can be easily altered and shared.
-> If you've acquired extensions for The SEO Framework from outside your WordPress Dashboard or WordPress.org, they could contain malware. +> If you've acquired extensions for The SEO Framework from outside theseoframework.com, they could contain malware. > > This also accounts for any other premium software acquired for free. Please, be careful. = Are you a developer? = And do you wish to add your own extension to the extension manager? Please contact the plugin author on [Slack](https://wordpress.slack.com/messages/@cybr/) about your ideas. -A full code review will take place prior to releasing it. The code must pass at least all the WordPress.org plugin standards and all code must be licensed under GPLv3. +A full code review will take place prior to releasing it. The code must pass at least all the WordPress.org plugin guidelines and all code must be licensed under GPLv3. Feedback and points for improvement will be always given. No monetized nor premium extensions are being accepted, API connections aren't allowed either. = For developers: Security = @@ -127,18 +124,16 @@ Absolutely not! This plugin does not include any user tracking software. We comp View our detailed [Plugin Privacy Policy](https://theseoframework.com/privacy-policy/#pluginprivacyinformation) for more information. = What's the release cycle of extensions? = -Every y.X update (1.1, 1.2, 1.3, etc.) will include a new extension. Every y.y.X update (1.0.1, 1.0.2, etc.) fixes bugs and/or adds new functionality to existing extensions. -No X.y updates (2.0, 3.0, etc.) are planned as of now. +Every y.X update (1.1, 1.2, 1.3, etc.) will include a new extension. Every y.y.X update (1.0.1, 1.0.2, etc.) fixes bugs and/or adds new functionality to existing extensions. X.y updates (1.0, 2.0, 3.0, etc.) change the plugin's API significantly. = I've received an error code, what now? = -Follow the steps provided next to the error code, if any. If the error keeps coming back, let us know through on the support forums. -Note that Premium Extensions aren't supported within the WordPress.org support forums; you'll have to [contact us directly](https://theseoframework.com/contact/). +Follow the steps provided next to the error code, if any. If the error keeps coming back, feel free to [send in an issue](https://github.com/sybrew/The-SEO-Framework-Extension-Manager/issues/new/choose). = Which users can activate extensions? = By default, only users who can manage options can interact with this plugin. = Where are the extensions acquired from? = -Both free and premium extensions are provided within the plugin package acquired from WordPress.org. +Both free and premium extensions are provided within the plugin package acquired from theseoframework.com. = Does the Extension Manager need to stay activated to run the extensions? = Yes. The Extension Manager supplies its own extension activation management system apart from WordPress'. @@ -162,7 +157,7 @@ Each extension handles its own options (if any); those settings won't be lost, n = Does my website support this plugin? = If it doesn't, it will tell you why. Otherwise, you're good to go! All known issues are correctly labeled with an identification number. -If you were to get a plugin activation error, either open a support ticket [here](https://wordpress.org/support/plugin/the-seo-framework-extension-manager) or contact your host and ask them to upgrade PHP to a stable and secure version. +If you were to get a plugin activation error, either open a support ticket [here](https://github.com/sybrew/The-SEO-Framework-Extension-Manager/issues/new/choose) or contact your host and ask them to upgrade PHP to a stable and secure version. == Changelog == @@ -182,18 +177,16 @@ If you were to get a plugin activation error, either open a support ticket [here * Reconnect to reactivate the made-unavailable extensions automatically. * Privacy-intensive extensions, like Monitor, might require you to revalidate. * **Removed:** Integrated fonts for pixel recognition tests. It was planned to be integrated for PHP-style pixel calculations, but was aborted for performance reasons. -* **Removed:** More legacy browser support. Stop using IE11. +* **Removed:** More legacy browser support. * **Fixed:** The human time is now correctly told in facing certain circumstances. -* **Fixed:** TODO The AJAX notification no longer starts fading before it's processed. (we're used to servers that respond instantly...) - * Test this with throttled connections in Chrome... -* **Extension changes: TODO move this to their respective changelogs** - -* **Origin:** - * **Added:** Attachment pages that don't have a parent now get redirected to the attachment itself. - * TODO document. - * TODO set to version 1.1.0 +**Updated Extensions:** +* [Local](https://theseoframework.com/extensions/local/#changelog) +* [Focus](https://theseoframework.com/extensions/focus/#changelog) +* [Articles](https://theseoframework.com/extensions/articles/#changelog) +* [Honeypot](https://theseoframework.com/extensions/honeypot/#changelog) +* [Origin](https://theseoframework.com/extensions/origin/#changelog) = 1.5.2 = diff --git a/the-seo-framework-extension-manager.php b/the-seo-framework-extension-manager.php index 0bc97f5f..38a437de 100644 --- a/the-seo-framework-extension-manager.php +++ b/the-seo-framework-extension-manager.php @@ -3,7 +3,7 @@ * Plugin Name: The SEO Framework - Extension Manager * Plugin URI: https://wordpress.org/plugins/the-seo-framework-extension-manager/ * Description: Add more powerful SEO features to The SEO Framework right from your WordPress Dashboard. - * Version: 2.0.0-dev-2018-10-30.0 + * Version: 2.0.0 * Author: Sybre Waaijer * Author URI: https://theseoframework.com/ * License: GPLv3