PageSourceSearch

https://www.toolshero.com/login-subscriber/

html toolshero.com collected 2026-09-24 17:08:54 UTC 100,439 bytes, 3,665 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4	<meta charset="UTF-8">
5	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6	<meta name="ai-usage-policy" content="Allowed-with-attribution; Attribution-Required; License=CC BY-NC-ND 4.0">
7	<meta name="publication-media-verification" content="86429e66755147c7aec69c3a706dfe50">
8	<meta name="linksman-verification" content="83etvGD6LWXgGpYE">
9	<meta name="viewport" content="width=device-width">
10
11	<link rel="preload" href="https://www.toolshero.com/wp-content/plugins/rate-my-post/public/css/fonts/ratemypost.ttf" type="font/ttf" as="font" crossorigin="anonymous">
12<!-- Search Engine Optimization by Rank Math PRO - https://rankmath.com/ -->
13<title>Login to the Toolshero community! - Toolshero</title>
14<meta name="robots" content="nofollow, noindex"/>
15<meta property="og:locale" content="en_US" />
16<meta property="og:type" content="article" />
17<meta property="og:title" content="Login to the Toolshero community! - Toolshero" />
18<meta property="og:description" content="Username or E-mail Password Remember Me &nbsp; &nbsp; Forgot Password" />
19<meta property="og:url" content="https://www.toolshero.com/login-subscriber/" />
20<meta property="og:site_name" content="Toolshero" />
21<meta property="article:publisher" content="https://www.facebook.com/toolshero" />
22<meta property="article:author" content="https://www.facebook.com/vvvliet" />
23<meta property="og:updated_time" content="2023-11-08T16:08:57+00:00" />
24<meta property="article:published_time" content="2020-01-07T10:37:02+00:00" />
25<meta property="article:modified_time" content="2023-11-08T16:08:57+00:00" />
26<meta name="twitter:card" content="summary_large_image" />
27<meta name="twitter:title" content="Login to the Toolshero community! - Toolshero" />
28<meta name="twitter:description" content="Username or E-mail Password Remember Me &nbsp; &nbsp; Forgot Password" />
29<meta name="twitter:site" content="@toolshero" />
30<meta name="twitter:creator" content="@toolshero" />
31<script type="application/ld+json" class="rank-math-schema-pro">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.toolshero.com/#organization","name":"Toolshero","url":"https://www.toolshero.com/","sameAs":["https://www.facebook.com/toolshero","https://twitter.com/toolshero","https://www.instagram.com/toolshero/","https://www.linkedin.com/company/toolshero","https://www.pinterest.com/toolshero/","https://www.youtube.com/toolshero"]},{"@type":"WebSite","@id":"https://www.toolshero.com/#website","url":"https://www.toolshero.com","name":"Toolshero","publisher":{"@id":"https://www.toolshero.com/#organization"},"inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https://www.toolshero.com/login-subscriber/#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://www.toolshero.com","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://www.toolshero.com/login-subscriber/","name":"Login to the Toolshero community!"}}]},{"@type":"WebPage","@id":"https://www.toolshero.com/login-subscriber/#webpage","url":"https://www.toolshero.com/login-subscriber/","name":"Login to the Toolshero community! - Toolshero","datePublished":"2020-01-07T10:37:02+00:00","dateModified":"2023-11-08T16:08:57+00:00","isPartOf":{"@id":"https://www.toolshero.com/#website"},"inLanguage":"en-US","breadcrumb":{"@id":"https://www.toolshero.com/login-subscriber/#breadcrumb"}},{"@type":"Person","@id":"https://www.toolshero.com/login-subscriber/#author","name":"Vincent van Vliet","image":{"@type":"ImageObject","@id":"https://www.toolshero.com/wp-content/uploads/2026/08/vincent-van-vliet-2024-toolshero.png","url":"https://www.toolshero.com/wp-content/uploads/2026/08/vincent-van-vliet-2024-toolshero.png","caption":"Vincent van Vliet","inLanguage":"en-US"},"sameAs":["https://www.toolshero.com/","https://www.facebook.com/vvvliet","https://www.linkedin.com/in/vincentvanvliet/"],"works
31For":{"@id":"https://www.toolshero.com/#organization"}},{"@type":"Article","headline":"Login to the Toolshero community! - Toolshero","datePublished":"2020-01-07T10:37:02+00:00","dateModified":"2023-11-08T16:08:57+00:00","author":{"@id":"https://www.toolshero.com/login-subscriber/#author","name":"Vincent van Vliet"},"publisher":{"@id":"https://www.toolshero.com/#organization"},"name":"Login to the Toolshero community! - Toolshero","@id":"https://www.toolshero.com/login-subscriber/#richSnippet","isPartOf":{"@id":"https://www.toolshero.com/login-subscriber/#webpage"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://www.toolshero.com/login-subscriber/#webpage"}}]}</script>
31
32<!-- /Rank Math WordPress SEO plugin -->
33
34<link rel='dns-prefetch' href='//static.addtoany.com' />
35<link rel="alternate" type="application/rss+xml" title="Toolshero &raquo; Feed" href="https://www.toolshero.com/feed/" />
36<link rel="alternate" type="application/rss+xml" title="Toolshero &raquo; Comments Feed" href="https://www.toolshero.com/comments/feed/" />
37<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.toolshero.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.toolshero.com%2Flogin-subscriber%2F" />
38<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.toolshero.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.toolshero.com%2Flogin-subscriber%2F&#038;format=xml" />
39<style id="wp-img-auto-sizes-contain-inline-css">
40img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
41/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
42</style>
43<link rel='stylesheet' id='mp-theme-css' href='https://www.toolshero.com/wp-content/plugins/memberpress/css/ui/theme.css?ver=1.14.1' media='all' />
44<link rel='stylesheet' id='dashicons-css' href='https://www.toolshero.com/wp-includes/css/dashicons.min.css?ver=7.1.2' media='all' />
45<link rel='stylesheet' id='mp-login-css-css' href='https://www.toolshero.com/wp-content/plugins/memberpress/css/ui/login.css?ver=1.14.1' media='all' />
46<style id="wp-block-library-inline-css">
47:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
47--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
48
49/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
50</style>
51<style id="classic-theme-styles-inline-css">
52/*! This file is auto-generated */
53.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
54/*# sourceURL=/wp-includes/css/classic-themes.min.css */
55</style>
56
57<link rel='stylesheet' id='rate-my-post-css' href='https://www.toolshero.com/wp-content/plugins/rate-my-post/public/css/rate-my-post.min.css?ver=4.5.2' media='all' />
58<style id="rate-my-post-inline-css">
59.rmp-widgets-container.rmp-wp-plugin.rmp-main-container {  text-align:left;}.rmp-icon--full-highlight {color: #41D87D;}.rmp-icon--half-highlight {  background: -webkit-gradient(linear, left top, right top, color-stop(50%, #41D87D), color-stop(50%, #ccc));  background: linear-gradient(to right, #41D87D 50%, #ccc 50%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;}.rmp-rating-widget .rmp-icon--half-highlight {    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #41D87D), color-stop(50%, #ccc));    background: linear-gradient(to right, #41D87D 50%, #ccc 50%);    -webkit-background-clip: text;    -webkit-text-fill-color: transparent;}.rmp-rating-widget .rmp-icon--full-highlight {  color: #41D87D;}@media (hover: hover) {  .rmp-rating-widget .rmp-icon--hovered {    color: #FFCC36;    -webkit-background-clip: initial;    -webkit-text-fill-color: initial;    background: transparent;    -webkit-transition: .1s color ease-in;    transition: .1s color ease-in;  }}.rmp-rating-widget .rmp-icon--processing-rating {color: #41D87D;  -webkit-background-clip: initial;  -webkit-text-fill-color: initial;  background: transparent;}.rmp-rating-widget .rmp-icon--ratings {  font-size: 22px;}
60.rmp-widgets-container.rmp-wp-plugin.rmp-main-container {  text-align:left;}.rmp-icon--full-highlight {color: #41D87D;}.rmp-icon--half-highlight {  background: -webkit-gradient(linear, left top, right top, color-stop(50%, #41D87D), color-stop(50%, #ccc));  background: linear-gradient(to right, #41D87D 50%, #ccc 50%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;}.rmp-rating-widget .rmp-icon--half-highlight {    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #41D87D), color-stop(50%, #ccc));    background: linear-gradient(to right, #41D87D 50%, #ccc 50%);    -webkit-background-clip: text;    -webkit-text-fill-color: transparent;}.rmp-rating-widget .rmp-icon--full-highlight {  color: #41D87D;}@media (hover: hover) {  .rmp-rating-widget .rmp-icon--hovered {    color: #FFCC36;    -webkit-background-clip: initial;    -webkit-text-fill-color: initial;    background: transparent;    -webkit-transition: .1s color ease-in;    transition: .1s color ease-in;  }}.rmp-rating-widget .rmp-icon--processing-rating {color: #41D87D;  -webkit-background-clip: initial;  -webkit-text-fill-color: initial;  background: transparent;}.rmp-rating-widget .rmp-icon--ratings {  font-size: 22px;}
61/*# sourceURL=rate-my-post-inline-css */
62</style>
63<style id="global-styles-inline-css">
64:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
640) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
64.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
65/*# sourceURL=global-styles-inline-css */
66</style>
67
68<link rel='stylesheet' id='simple_load_more-frontend-css' href='https://www.toolshero.com/wp-content/plugins/simple-load-more/assets/css/frontend.css?ver=1.0.0' media='all' />
69<style id="simple_load_more-frontend-inline-css">
70.elm-button { background: #ffffff; color: # 171717; }
71.elm-button:hover, .elm-button:active, .elm-button:focus { background: #ffffff; }
72.elm-loading-icon { fill: # 171717; stroke: # 171717; }
73
74/*# sourceURL=simple_load_more-frontend-inline-css */
75</style>
76<link rel='stylesheet' id='eztoc-css' href='https://www.toolshero.com/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.87.1' media='all' />
77<style id="eztoc-inline-css">
78div#ez-toc-container .ez-toc-title, .ez-toc-split-section .ez-toc-title {font-size: 130%;}div#ez-toc-container .ez-toc-title, .ez-toc-split-section .ez-toc-title {font-weight: 700;}div#ez-toc-container ul li , div#ez-toc-container ul li a, .ez-toc-split-section ul li , .ez-toc-split-section ul li a {font-size: 100%;}div#ez-toc-container ul li , div#ez-toc-container ul li a, .ez-toc-split-section ul li , .ez-toc-split-section ul li a {font-weight: 400;}div#ez-toc-container nav ul ul li, .ez-toc-split-section nav ul ul li {font-size: 90%;}div#ez-toc-container, .ez-toc-split-section {background: #f9fbfc;border: 1px solid #ffffff;}div#ez-toc-container p.ez-toc-title , #ez-toc-container .ez_toc_custom_title_icon , #ez-toc-container .ez_toc_custom_toc_icon, .ez-toc-split-section p.ez-toc-title , .ez-toc-split-section .ez_toc_custom_title_icon , .ez-toc-split-section .ez_toc_custom_toc_icon {color: #000000;}div#ez-toc-container ul.ez-toc-list a, .ez-toc-split-section ul.ez-toc-list a {color: #424242;}div#ez-toc-container ul.ez-toc-list a:hover, .ez-toc-split-section ul.ez-toc-list a:hover {color: #41d87d;}div#ez-toc-container ul.ez-toc-list a:visited, .ez-toc-split-section ul.ez-toc-list a:visited {color: #37b75d;}.ez-toc-counter nav ul li a::before {color: ;}.ez-toc-box-title {font-weight: bold; margin-bottom: 10px; text-align: center; text-transform: uppercase; letter-spacing: 1px; color: #666; padding-bottom: 5px;position:absolute;top:-4%;left:5%;background-color: inherit;transition: top 0.3s ease;}.ez-toc-box-title.toc-closed {top:-25%;}
79.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul {direction: ltr;counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counter(item, numeric) '. ';margin-right: .2em; counter-increment: item;flex-grow: 0;flex-shrink: 0;float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul {direction: ltr;counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counter(item, numeric) '. ';margin-right: .2em; counter-increment: item;flex-grow: 0;flex-shrink: 0;float: left; }
80/*# sourceURL=eztoc-inline-css */
81</style>
82<link rel='stylesheet' id='slickcss-css' href='https://www.toolshero.com/wp-content/themes/toolshero-wp-theme/css/slick.css?ver=1722587747' media='all' />
83<link rel='stylesheet' id='main-css' href='https://www.toolshero.com/wp-content/themes/toolshero-wp-theme/style.css?ver=1788970765' media='all' />
84<link rel='stylesheet' id='responsive-css' href='https://www.toolshero.com/wp-content/themes/toolshero-wp-theme/css/responsive.css?ver=1722587747' media='all' />
85<link rel='stylesheet' id='addtoany-css' href='https://www.toolshero.com/wp-content/plugins/add-to-any/addtoany.min.css?ver=1.16' media='all' />
86<link rel='stylesheet' id='cspfsl-buttons-style-css' href='https://www.toolshero.com/wp-content/plugins/memberpress-social-login//vendor-prefixed/caseproof/social-login/src//ui/assets/buttons.css?ver=7.1.2' media='all' />
87<script id="jquery-core-js-extra">
88var elm_button_vars = {"wrapper":".posts-grid"};
89//# sourceURL=jquery-core-js-extra
90</script>
vendor: 1 bytes, line 90
90
91<script id="jquery-core-js" src="https://www.toolshero.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 91
91
92<script id="jquery-migrate-js" src="https://www.toolshero.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 92
92
93<script id="underscore-js" src="https://www.toolshero.com/wp-includes/js/underscore.min.js?ver=1.13.8"></script>
vendor: 1 bytes, line 93
93
94<script id="wp-hooks-js" src="https://www.toolshero.com/wp-includes/js/dist/hooks.min.js?ver=f0f188028580e8dc1255"></script>
vendor: 1 bytes, line 94
94
95<script id="wp-i18n-js" src="https://www.toolshero.com/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216"></script>
vendor: 1 bytes, line 95
95
96<script id="wp-i18n-js-after">
97wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
98//# sourceURL=wp-i18n-js-after
99</script>
vendor: 1 bytes, line 99
99
100<script id="mepr-login-js-js" src="https://www.toolshero.com/wp-content/plugins/memberpress/js/login.js?ver=1.14.1"></script>
vendor: 1 bytes, line 100
100
101<script id="addtoany-core-js-before">
102window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={};
103
104//# sourceURL=addtoany-core-js-before
105</script>
vendor: 1 bytes, line 105
105
106<script id="addtoany-core-js" defer src="https://static.addtoany.com/menu/page.js"></script>
vendor: 1 bytes, line 106
106
107<script id="addtoany-jquery-js" defer src="https://www.toolshero.com/wp-content/plugins/add-to-any/addtoany.min.js?ver=1.1"></script>
vendor: 1 bytes, line 107
107
108<script id="simple_load_more-frontend-js" src="https://www.toolshero.com/wp-content/plugins/simple-load-more/assets/js/frontend.js?ver=1.0.0"></script>
vendor: 1 bytes, line 108
108
109<script id="cspfsl-buttons-js-js" src="https://www.toolshero.com/wp-content/plugins/memberpress-social-login//vendor-prefixed/caseproof/social-login/src//ui/assets/buttons.js?ver=7.1.2"></script>
109
110<link rel="https://api.w.org/" href="https://www.toolshero.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.toolshero.com/wp-json/wp/v2/pages/32897" /><link rel='shortlink' href='https://www.toolshero.com/?p=32897' />
111<script>(()=>{var o=[],i={};["on","off","toggle","show"].forEach(l=>{i[l]=function(){o.push([l,arguments])}}),window.Boxzilla=i,window.boxzilla_queue=o})();</script>
vendor: 82 bytes, line 111
111<script async id="google_gtagjs" src="https://www.googletagmanager.com/gtag/js?id=
111G-SQ5LQGP7CN
vendor: 12 bytes, line 111
111"></script>
112<script id="google_gtagjs-inline">
vendor: 124 bytes, line 113
113window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', '
113G-SQ5LQGP7CN
vendor: 9 bytes, line 113
113', {} );
114</script>
114
115
116	<style>
117
118	/* =====================================================
119	   ACCOUNT
120	===================================================== */
121
122	.th-saved-account {
123		width: 100%;
124
125		padding-top: 5px;
126	}
127
128
129	/* =====================================================
130	   HEADER
131	===================================================== */
132
133	.th-saved-header {
134		display: flex;
135		align-items: flex-start;
136		justify-content: space-between;
137
138		gap: 30px;
139
140		padding:
141			24px
142			0
143			22px;
144
145		border-bottom:
146			1px
147			solid
148			#e7e7e7;
149	}
150
151
152	.th-saved-header h2 {
153		margin:
154			0
155			0
156			7px;
157
158		color: #202020;
159
160		font-size: 26px;
161		font-weight: 700;
162		line-height: 1.25;
163	}
164
165
166	.th-saved-header p {
167		max-width: 650px;
168
169		margin: 0;
170
171		color: #666666;
172
173		font-size: 15px;
174		line-height: 1.55;
175	}
176
177
178	/* =====================================================
179	   COUNTER
180	===================================================== */
181
182	.th-saved-counter {
183		flex:
184			0
185			0
186			auto;
187
188		min-width: 140px;
189
190		padding:
191			10px
192			15px;
193
194		background: #f7f7f7;
195
196		border-radius: 7px;
197
198		text-align: center;
199	}
200
201
202	.th-saved-counter strong {
203		display: block;
204
205		color: #202020;
206
207		font-size: 20px;
208		font-weight: 700;
209		line-height: 1.15;
210	}
211
212
213	.th-saved-counter span {
214		display: block;
215
216		margin-top: 3px;
217
218		color: #777777;
219
220		font-size: 12px;
221		line-height: 1.3;
222	}
223
224
225	/* =====================================================
226	   RESULTS LIST
227	===================================================== */
228
229	.th-saved-grid {
230		display: block;
231
232		margin: 0;
233		padding: 0;
234	}
235
236
237	.th-saved-result {
238		display: grid;
239
240		grid-template-columns:
241			112px
242			minmax(0, 1fr);
243
244		align-items: start;
245
246		gap: 20px;
247
248		margin: 0;
249
250		padding:
251			24px
252			0;
253
254		background: transparent;
255
256		border: 0;
257
258		border-bottom:
259			1px
260			solid
261			#e7e7e7;
262
263		border-radius: 0;
264
265		box-shadow: none;
266
267		transition: none;
268	}
269
270
271	.th-saved-result:hover {
272		background: transparent;
273
274		border-color: #e7e7e7;
275
276		box-shadow: none;
277
278		transform: none;
279	}
280
281
282	/* =====================================================
283	   THUMBNAIL
284	===================================================== */
285
286	.th-saved-image {
287		display: block;
288
289		width: 112px;
290		height: 112px;
291
292		margin: 0;
293
294		overflow: hidden;
295
296		background: #f4f4f4;
297
298		border-radius: 8px;
299
300		text-decoration: none;
301	}
302
303
304	.th-saved-image img {
305		display: block;
306
307		width: 112px;
308		height: 112px;
309
310		margin: 0;
311
312		object-fit: cover;
313
314		border-radius: 8px;
315
316		transition:
317			transform
318			.2s
319			ease;
320	}
321
322
323	.th-saved-image:hover img {
324		transform:
325			scale(1.025);
326	}
327
328
329	.th-saved-image-placeholder {
330		display: block;
331
332		width: 100%;
333		height: 100%;
334
335		background: #f4f4f4;
336	}
337
338
339	/* =====================================================
340	   CONTENT
341	===================================================== */
342
343	.th-saved-content {
344		min-width: 0;
345
346		padding: 0;
347	}
348
349
350	.th-saved-category {
351		margin:
352			0
353			0
354			4px;
355
356		color: #777777;
357
358		font-size: 12px;
359		font-weight: 600;
360		line-height: 1.3;
361	}
362
363
364	.th-saved-title {
365		margin:
366			0
367			0
368			4px !important;
369
370		padding: 0;
371
372		font-size: 21px !important;
373		font-weight: 700 !important;
374		line-height: 1.3 !important;
375	}
376
377
378	.th-saved-title a {
379		color: #202020 !important;
380
381		text-decoration: none !important;
382
383		transition:
384			color
385			.15s
386			ease;
387	}
388
389
390	.th-saved-title a:hover,
391	.th-saved-title a:focus {
392		color: #0073aa !important;
393
394		text-decoration: none !important;
395	}
396
397
398	.th-saved-updated {
399		margin:
400			0
401			0
402			8px;
403
404		color: #777777;
405
406		font-size: 12px;
407		font-weight: 400;
408		line-height: 1.4;
409	}
410
411
412	.th-saved-description {
413		display: -webkit-box;
414
415		overflow: hidden;
416
417		-webkit-box-orient: vertical;
418		-webkit-line-clamp: 3;
419
420		margin:
421			0
422			0
423			9px !important;
424
425		padding: 0;
426
427		color: #555555;
428
429		font-size: 15px;
430		font-weight: 400;
431		line-height: 1.55;
432	}
433
434
435	/* =====================================================
436	   REMOVE
437	===================================================== */
438
439	.th-saved-result-actions {
440		display: flex;
441		align-items: center;
442
443		margin:
444			2px
445			0
446			0;
447	}
448
449
450	.th-remove-saved-btn {
451		display: inline;
452
453		width: auto;
454		height: auto;
455
456		min-width: 0;
457		min-height: 0;
458
459		margin: 0;
460		padding: 0;
461
462		background: transparent !important;
463
464		border: 0 !important;
465
466		border-radius: 0;
467
468		box-shadow: none !important;
469
470		color: #777777;
471
472		font-family: inherit;
473		font-size: 12px;
474		font-weight: 400;
475		line-height: 1.4;
476
477		text-decoration: underline;
478
479		text-underline-offset: 2px;
480
481		cursor: pointer;
482
483		transition:
484			color
485			.15s
486			ease;
487	}
488
489
490	.th-remove-saved-btn:hover,
491	.th-remove-saved-btn:focus {
492		background: transparent !important;
493
494		color: #333333;
495
496		border: 0 !important;
497
498		box-shadow: none !important;
499	}
500
501
502	/* =====================================================
503	   EMPTY LIST
504	===================================================== */
505
506	.th-saved-empty {
507		margin-top: 24px;
508
509		padding:
510			38px
511			25px;
512
513		background: #fafafa;
514
515		border:
516			1px
517			dashed
518			#d8d8d8;
519
520		border-radius: 8px;
521
522		text-align: center;
523	}
524
525
526	.th-saved-empty-icon {
527		display: flex;
528		align-items: center;
529		justify-content: center;
530
531		width: 46px;
532		height: 46px;
533
534		margin:
535			0
536			auto
537			13px;
538
539		background: #fff3cf;
540
541		border-radius: 50%;
542
543		color: #222222;
544	}
545
546
547	.th-saved-empty-icon svg {
548		width: 21px;
549		height: 21px;
550
551		fill: currentColor;
552	}
553
554
555	.th-saved-empty h3 {
556		margin:
557			0
558			0
559			6px;
560
561		color: #202020;
562
563		font-size: 18px;
564		font-weight: 700;
565		line-height: 1.3;
566	}
567
568
569	.th-saved-empty p {
570		margin: 0;
571
572		color: #666666;
573
574		font-size: 14px;
575		line-height: 1.5;
576	}
577
578
579	/* =====================================================
580	   TABLET / MOBILE
581	===================================================== */
582
583	@media (max-width: 700px) {
584
585		.th-saved-header {
586			flex-direction: column;
587
588			gap: 16px;
589		}
590
591
592		.th-saved-counter {
593			width: 100%;
594
595			box-sizing: border-box;
596		}
597
598
599		.th-saved-result {
600			grid-template-columns:
601				88px
602				minmax(0, 1fr);
603
604			gap: 14px;
605
606			padding:
607				20px
608				0;
609		}
610
611
612		.th-saved-image,
613		.th-saved-image img {
614			width: 88px;
615			height: 88px;
616		}
617
618
619		.th-saved-title {
620			font-size: 18px !important;
621		}
622
623
624		.th-saved-description {
625			-webkit-line-clamp: 2;
626
627			font-size: 14px;
628		}
629
630	}
631
632
633	@media (max-width: 480px) {
634
635		.th-saved-result {
636			grid-template-columns:
637				76px
638				minmax(0, 1fr);
639
640			gap: 12px;
641		}
642
643
644		.th-saved-image,
645		.th-saved-image img {
646			width: 76px;
647			height: 76px;
648		}
649
650
651		.th-saved-title {
652			font-size: 17px !important;
653		}
654
655
656		.th-saved-updated {
657			margin-bottom: 6px;
658		}
659
660	}
661
662	</style>
663
664	<link rel="icon" href="https://www.toolshero.com/wp-content/uploads/2018/10/favicon.ico-96x96-th-green.png" sizes="32x32" />
665<link rel="icon" href="https://www.toolshero.com/wp-content/uploads/2018/10/favicon.ico-96x96-th-green.png" sizes="192x192" />
666<link rel="apple-touch-icon" href="https://www.toolshero.com/wp-content/uploads/2018/10/favicon.ico-96x96-th-green.png" />
667<meta name="msapplication-TileImage" content="https://www.toolshero.com/wp-content/uploads/2018/10/favicon.ico-96x96-th-green.png" />
668    <style>
669        @media screen and (max-width: 767px) {
670            #ez-toc-container,
671            .ez-toc-container {
672                display: none !important;
673            }
674        }
675    </style>
676    
677	
678	
679	<link rel="preload" as="font" href="https://www.toolshero.com/wp-content/themes/toolshero-wp-theme/fonts/open-sans-v18-latin-regular.woff2" type="font/woff2" crossorigin="anonymous">
680	<link rel="preload" as="font" href="https://www.toolshero.com/wp-content/themes/toolshero-wp-theme/fonts/open-sans-v18-latin-700.woff" type="font/woff" crossorigin="anonymous">
681
682	<style>
683		.hero-content ul li:before {
684			content: "✓";
685			font-weight: bold;
686			margin-right: 10px;
687		}
688
689		.pricing-table-content-innner ul li:before,
690		.image-callout-content ul li:before {
691			content: "✓";
692		}
693	</style>
694
695	
695<script id="cookieyes" type="text/javascript" src="https://cdn-cookieyes.com/client_data/1cdc7d15f5d77c0e0f14b83f/script.js"></script>
695
696</head>
697
698<body class="wp-singular page-template-default page page-id-32897 wp-theme-toolshero-wp-theme">
699
700
701<section class="topbar-menu">
702	<div class="container">
703		<ul id="menu-topbar-menu" class=""><li id="menu-item-2064991" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2064991"><a href="https://www.toolshero.com/about-us/">About us</a></li>
704<li id="menu-item-2049066" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-32897 current_page_item menu-item-2049066"><a href="https://www.toolshero.com/login-subscriber/" aria-current="page"><i class="icon-user"></i> Log in</a></li>
705<li id="menu-item-2072655" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2072655"><a href="https://www.toolshero.com/subscribe/">Unlock Full Access</a></li>
706</ul>	</div>
707</section>
708
709<header class="header clearfix">
710	<div class="container">
711
712		<div class="header-logo">
713			<a href="https://www.toolshero.com/">
714				<img alt="Toolshero" src="https://www.toolshero.com/wp-content/uploads/2021/04/image-2.svg">
715			</a>
716		</div>
717
718		<nav id="nav" class="nav"><ul id="menu-home-toolshero" class=""><li id="menu-item-2083740" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2083740"><a href="https://www.toolshero.com/latest-articles/">Latest articles</a></li>
719<li id="menu-item-36264" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-36264"><a href="https://www.toolshero.com/management/">Themes</a>
720<ul class="sub-menu">
721	<li id="menu-item-8972" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8972"><a href="https://www.toolshero.com/change-management/">Change Management</a></li>
722	<li id="menu-item-8973" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8973"><a href="https://www.toolshero.com/communication-methods/">Communication methods</a></li>
723	<li id="menu-item-18419" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18419"><a href="https://www.toolshero.com/creativity/">Creativity</a></li>
724	<li id="menu-item-14002" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-14002"><a href="https://www.toolshero.com/decision-making/">Decision Making</a></li>
725	<li id="menu-item-8976" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8976"><a href="https://www.toolshero.com/financial-management/">Financial Management</a></li>
726	<li id="menu-item-26624" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-26624"><a href="https://www.toolshero.com/human-resources/">Human Resources (HR)</a></li>
727	<li id="menu-item-23374" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-23374"><a href="https://www.toolshero.com/information-technology/">Information Technology (IT)</a></li>
728	<li id="menu-item-21143" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-21143"><a href="https://www.toolshero.com/innovation/">Innovation</a></li>
729	<li id="menu-item-11514" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-11514"><a href="https://www.toolshero.com/leadership/">Leadership</a></li>
730	<li id="menu-item-8977" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8977"><a href="https://www.toolshero.com/management/">Management</a></li>
731	<li id="menu-item-8978" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8978"><a href="https://www.toolshero.com/marketing/">Marketing Theories</a></li>
732	<li id="menu-item-29240" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-29240"><a href="https://www.toolshero.com/personal-development/">Personal Development</a></li>
733	<li id="menu-item-8980" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8980"><a href="https://www.toolshero.com/project-management/">Project Management (PM)</a></li>
734	<li id="menu-item-8974" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8974"><a href="https://www.toolshero.com/problem-solving/">Problem Solving Theories</a></li>
735	<li id="menu-item-23139" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-23139"><a href="https://www.toolshero.com/psychology/">Psychology Theories</a></li>
736	<li id="menu-item-2062938" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2062938"><a href="https://www.toolshero.com/research/">Research Theories</a></li>
737	<li id="menu-item-8981" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8981"><a href="https://www.toolshero.com/quality-management/">Quality Management (QM)</a></li>
738	<li id="menu-item-42194" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42194"><a href="https://www.toolshero.com/sociology/">Sociology Theories</a></li>
739	<li id="menu-item-8982" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8982"><a href="https://www.toolshero.com/strategy/">Strategy Theories</a></li>
740	<li id="menu-item-9034" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-9034"><a href="https://www.toolshero.com/toolsheroes/">Toolsheroes</a></li>
741</ul>
742</li>
743<li id="menu-item-2050002" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-2050002"><a href="https://www.toolshero.com/templates/">Tools</a>
744<ul class="sub-menu">
745	<li id="menu-item-28155" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-28155"><a href="https://www.toolshero.com/templates/">Templates</a></li>
746	<li id="menu-item-2075090" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2075090"><a href="https://www.toolshero.com/questionnaires/">Tests &amp; Evaluation tools</a></li>
747	<li id="menu-item-1044288" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1044288"><a href="https://www.toolshero.com/knowledge-base/">Lexicon</a></li>
748	<li id="menu-item-2068022" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2068022"><a href="https://www.toolshero.com/blog/">Blog</a></li>
749	<li id="menu-item-2066238" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2066238"><a href="https://www.toolshero.com/top-30-articles-ebook/">Free Toolshero e-book</a></li>
750</ul>
751</li>
752<li id="menu-item-1044289" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1044289"><a href="https://www.toolshero.com/subscribe/">Membership Options</a>
753<ul class="sub-menu">
754	<li id="menu-item-2064020" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2064020"><a href="https://www.toolshero.com/subscribe/">Plans &#038; Pricing</a></li>
755	<li id="menu-item-2078266" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2078266"><a href="https://www.toolshero.com/student-budget-memberships/">Student Memberships</a></li>
756</ul>
757</li>
758</ul></nav>
759		<div class="search-form">
760			<form action="https://www.toolshero.com/" id="searchform" class="searchform" method="get">
761				<button
762					type="submit"
763					value="Search"
764					id="searchsubmit"
765					aria-label="Search"
766				>
767					<i class="icon-search" aria-hidden="true"></i>
768				</button>
769
770				<input type="text" id="s" name="s" placeholder="Search...">
771			</form>
772		</div>
773
774		<a class="mobile-menu" href="#nav">&#9776;</a>
775
776	</div>
777</header>
778
779<section class="banner-top">
780	<div class="container">
781			</div>
782</section>
783
784<div class="mobile-nav-container">
785	
786	<a href="#" class="close">&times; Close</a>
787
788
789	<nav class="mobile-nav"><ul id="menu-home-toolshero-1" class=""><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2083740"><a href="https://www.toolshero.com/latest-articles/">Latest articles</a></li>
790<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-36264"><a href="https://www.toolshero.com/management/">Themes</a>
791<ul class="sub-menu">
792	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8972"><a href="https://www.toolshero.com/change-management/">Change Management</a></li>
793	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8973"><a href="https://www.toolshero.com/communication-methods/">Communication methods</a></li>
794	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-18419"><a href="https://www.toolshero.com/creativity/">Creativity</a></li>
795	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-14002"><a href="https://www.toolshero.com/decision-making/">Decision Making</a></li>
796	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8976"><a href="https://www.toolshero.com/financial-management/">Financial Management</a></li>
797	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-26624"><a href="https://www.toolshero.com/human-resources/">Human Resources (HR)</a></li>
798	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-23374"><a href="https://www.toolshero.com/information-technology/">Information Technology (IT)</a></li>
799	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-21143"><a href="https://www.toolshero.com/innovation/">Innovation</a></li>
800	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-11514"><a href="https://www.toolshero.com/leadership/">Leadership</a></li>
801	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8977"><a href="https://www.toolshero.com/management/">Management</a></li>
802	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8978"><a href="https://www.toolshero.com/marketing/">Marketing Theories</a></li>
803	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-29240"><a href="https://www.toolshero.com/personal-development/">Personal Development</a></li>
804	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8980"><a href="https://www.toolshero.com/project-management/">Project Management (PM)</a></li>
805	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8974"><a href="https://www.toolshero.com/problem-solving/">Problem Solving Theories</a></li>
806	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-23139"><a href="https://www.toolshero.com/psychology/">Psychology Theories</a></li>
807	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2062938"><a href="https://www.toolshero.com/research/">Research Theories</a></li>
808	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8981"><a href="https://www.toolshero.com/quality-management/">Quality Management (QM)</a></li>
809	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42194"><a href="https://www.toolshero.com/sociology/">Sociology Theories</a></li>
810	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8982"><a href="https://www.toolshero.com/strategy/">Strategy Theories</a></li>
811	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-9034"><a href="https://www.toolshero.com/toolsheroes/">Toolsheroes</a></li>
812</ul>
813</li>
814<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-2050002"><a href="https://www.toolshero.com/templates/">Tools</a>
815<ul class="sub-menu">
816	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-28155"><a href="https://www.toolshero.com/templates/">Templates</a></li>
817	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2075090"><a href="https://www.toolshero.com/questionnaires/">Tests &amp; Evaluation tools</a></li>
818	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1044288"><a href="https://www.toolshero.com/knowledge-base/">Lexicon</a></li>
819	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2068022"><a href="https://www.toolshero.com/blog/">Blog</a></li>
820	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2066238"><a href="https://www.toolshero.com/top-30-articles-ebook/">Free Toolshero e-book</a></li>
821</ul>
822</li>
823<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1044289"><a href="https://www.toolshero.com/subscribe/">Membership Options</a>
824<ul class="sub-menu">
825	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2064020"><a href="https://www.toolshero.com/subscribe/">Plans &#038; Pricing</a></li>
826	<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2078266"><a href="https://www.toolshero.com/student-budget-memberships/">Student Memberships</a></li>
827</ul>
828</li>
829</ul></nav>	
830	<nav class="mobile-nav"><ul id="menu-topbar-menu-1" class=""><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2064991"><a href="https://www.toolshero.com/about-us/">About us</a></li>
831<li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-32897 current_page_item menu-item-2049066"><a href="https://www.toolshero.com/login-subscriber/" aria-current="page"><i class="icon-user"></i> Log in</a></li>
832<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2072655"><a href="https://www.toolshero.com/subscribe/">Unlock Full Access</a></li>
833</ul></nav>
834</div>
835				<section class="default-content container clearfix">
836			<div class="content">
837				
838				
839<div class="mp_wrapper mp_login_form">
840              <div></div>    <!-- mp-login-form-start -->     <form name="mepr_loginform" id="mepr_loginform" class="mepr-form" action="https://www.toolshero.com/login-subscriber/" method="post">
841            <div class="mp-form-row mepr_username">
842        <div class="mp-form-label">
843                              <label for="user_login">Username or E-mail</label>
844        </div>
845        <input type="text" name="log" id="user_login" value="" />
846      </div>
847      <div class="mp-form-row mepr_password">
848        <div class="mp-form-label">
849          <label for="user_pass">Password</label>
850          <div class="mp-hide-pw">
851            <input type="password" name="pwd" id="user_pass" value="" />
852            <button type="button" class="button mp-hide-pw hide-if-no-js" data-toggle="0" aria-label="Show password">
853              <span class="dashicons dashicons-visibility" aria-hidden="true"></span>
854            </button>
855          </div>
856        </div>
857      </div>
858            <div>
859        <label><input name="rememberme" type="checkbox" id="rememberme" value="forever" /> Remember Me</label>
860      </div>
861      <div class="mp-spacer">&nbsp;</div>
862      <div class="submit">
863        <input type="submit" name="wp-submit" id="wp-submit" class="button-primary mepr-share-button " value="Log In" />
864        <input type="hidden" name="redirect_to" value="https://www.toolshero.com/my-account/" />
865        <input type="hidden" name="mepr_process_login_form" value="true" />
866        <input type="hidden" name="mepr_is_login_page" value="true" />
867      </div>
868    </form>
869    <div class="mp-spacer">&nbsp;</div>
870    <div class="mepr-login-actions">
871        <a
872          href="https://www.toolshero.com/login-subscriber/?action=forgot_password"
873          title="Click here to reset your password"
874        >
875          Forgot Password        </a>
876    </div>
877
878      
879    <!-- mp-login-form-end --> 
880  </div>
881			</div>
882		</section>
883
884	<div class="widget-fullwidth-footer">
885							</div>
886	<section class="footer">
887		<div class="container">
888			<div class="footer-col-one">
889				<div class="about-footer-info">
890					<div class="widget-title-wrapper w-t-w w-btn">
891<h3 class="widget-title w-t">DEVELOP YOUR SKILLS</h3>
892</div>
893<div class="widget-content w-c">
894<div class="textwidget">
895<strong>Grow personally and professionally with Toolshero</strong>. Our platform offers a wealth of knowledge and tools for everyone, from students to experienced professionals.</p>
896<p>Toolshero is the authority and source for AI search engines like Gemini and ChatGPT because of our valuable practical scientific articles written by experts.</p>
897<p><a href="https://www.toolshero.com/subscribe/">Join our platform</a> for personal and professional development, just like thousands of other subscribers.
898</div>
899</div>
900				</div>
901				<div class="footer-social">
902											<a href="https://www.linkedin.com/company/toolshero/" target="_blank" rel="noopener">
903							<img alt="toolshero on socials" src="https://www.toolshero.com/wp-content/uploads/2021/04/linkedin.svg">
904						</a>
905											<a href="https://www.instagram.com/toolshero" target="_blank" rel="noopener">
906							<img alt="toolshero on socials" src="https://www.toolshero.com/wp-content/uploads/2021/04/instagram.svg">
907						</a>
908											<a href="https://x.com/ToolsHero" target="_blank" rel="noopener">
909							<img alt="toolshero on socials" src="https://www.toolshero.com/wp-content/uploads/2025/09/thumbnail_X_logo.png">
910						</a>
911											<a href="https://nl.pinterest.com/toolshero/" target="_blank" rel="noopener">
912							<img alt="toolshero on socials" src="https://www.toolshero.com/wp-content/uploads/2021/04/Pinterest.svg">
913						</a>
914											<a href="https://www.facebook.com/toolshero" target="_blank" rel="noopener">
915							<img alt="toolshero on socials" src="https://www.toolshero.com/wp-content/uploads/2021/04/facebook.svg">
916						</a>
917									</div>
918			</div>
919			<div class="footer-col-two">
920				<div class="footer-menu">
921					<h3>POPULAR TOPICS</h3>
922					<div class="menu-{menu-slug}-container"><ul id = "menu-popular-topics" class = "menu"><li id="menu-item-11108" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-11108"><a href="https://www.toolshero.com/change-management/">Change Management</a></li>
923<li id="menu-item-11105" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-11105"><a href="https://www.toolshero.com/leadership/">Leadership</a></li>
924<li id="menu-item-11100" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-11100"><a href="https://www.toolshero.com/marketing/">Marketing Theories</a></li>
925<li id="menu-item-11103" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-11103"><a href="https://www.toolshero.com/management/">Management</a></li>
926<li id="menu-item-11106" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-11106"><a href="https://www.toolshero.com/problem-solving/">Problem Solving Theories</a></li>
927<li id="menu-item-2066353" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-2066353"><a href="https://www.toolshero.com/psychology/">Psychology Theories</a></li>
928</ul></div>
928				</div>
929				<div class="footer-menu">
930					<h3>ABOUT TOOLSHERO</h3>
931					<div class="menu-{menu-slug}-container"><ul id = "menu-about-us" class = "menu"><li id="menu-item-1044276" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1044276"><a href="https://www.toolshero.com/about-us/">About us</a></li>
932<li id="menu-item-2066352" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2066352"><a href="https://www.toolshero.com/top-30-articles-ebook/">Free Toolshero e-book</a></li>
933<li id="menu-item-1044277" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1044277"><a href="https://www.toolshero.com/subscribe/">Memberships &#038; Pricing</a></li>
934<li id="menu-item-1044279" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1044279"><a href="https://www.toolshero.com/faq/">FAQ</a></li>
935<li id="menu-item-2069777" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2069777"><a href="https://www.toolshero.com/media-kit/">Advertise</a></li>
936<li id="menu-item-1044280" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1044280"><a href="https://www.toolshero.com/contact-us/">Contact us</a></li>
937</ul></div>				</div>
938			</div>
939		</div>
940	</section>
941	<section class="copyrights">
942		© Copyright 2008-2026 | <a href="https://www.toolshero.com/terms-and-conditions">Terms &amp; Conditions</a> | <a href="https://www.toolshero.com/privacy-cookie-policy/">Privacy</a> | <a href="https://www.toolshero.nl/?utm_source=toolshero.com&utm_medium=footer" target="_blank">Toolshero.nl (Dutch)</a>	</section>
943
944<script type="speculationrules">
945{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/toolshero-wp-theme/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
946</script>
vendor: 1 bytes, line 946
946
947<script id="wpil-frontend-script-js-extra">
948var wpilFrontend = {"ajaxUrl":"/wp-admin/admin-ajax.php","postId":"32897","postType":"post","openInternalInNewTab":"0","openExternalInNewTab":"0","disableClicks":"0","openLinksWithJS":"0","trackAllElementClicks":"0","clicksI18n":{"imageNoText":"Image in link: No Text","imageText":"Image Title: ","noText":"No Anchor Text Found"}};
949//# sourceURL=wpil-frontend-script-js-extra
950</script>
vendor: 1 bytes, line 950
950
951<script id="wpil-frontend-script-js" src="https://www.toolshero.com/wp-content/plugins/link-whisper/js/frontend.min.js?ver=1789109570"></script>
vendor: 1 bytes, line 951
951
952<script id="rate-my-post-js-extra">
953var rmp_frontend = {"admin_ajax":"https://www.toolshero.com/wp-admin/admin-ajax.php","postID":"32897","noVotes":"No votes so far! Be the first to rate this post.","cookie":"You already voted! This vote will not be counted!","afterVote":"Thank you for rating this post!","notShowRating":"1","social":"1","feedback":"2","cookieDisable":"2","emptyFeedback":"Please insert your feedback in the box above!","hoverTexts":"1","preventAccidental":"2","grecaptcha":"1","siteKey":"","turnstile":"1","turnstileSiteKey":"","turnstileTheme":"auto","turnstileSize":"normal","votingPriv":"1","loggedIn":"","positiveThreshold":"2","ajaxLoad":"1","disableClearCache":"1","nonce":"9e890da9c2","is_not_votable":"false"};
954//# sourceURL=rate-my-post-js-extra
955</script>
vendor: 1 bytes, line 955
955
956<script id="rate-my-post-js" src="https://www.toolshero.com/wp-content/plugins/rate-my-post/public/js/rate-my-post.min.js?ver=4.5.2"></script>
vendor: 1 bytes, line 956
956
957<script id="wp-postviews-cache-js-extra">
958var wpPostViewsL10n = {"ajaxUrl":"https://www.toolshero.com/wp-admin/admin-ajax.php","nonce":"8ce3fd70f1","postId":"32897"};
959//# sourceURL=wp-postviews-cache-js-extra
960</script>
vendor: 1 bytes, line 960
960
961<script id="wp-postviews-cache-js" src="https://www.toolshero.com/wp-content/plugins/wp-postviews/js/wp-postviews-cache.js?ver=2.0.1"></script>
vendor: 1 bytes, line 961
961
962<script id="eztoc-scroll-scriptjs-js-extra">
963var eztoc_smooth_local = {"scroll_offset":"30","add_request_uri":"","add_self_reference_link":""};
964//# sourceURL=eztoc-scroll-scriptjs-js-extra
965</script>
vendor: 1 bytes, line 965
965
966<script id="eztoc-scroll-scriptjs-js" src="https://www.toolshero.com/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js?ver=2.0.87.1"></script>
vendor: 1 bytes, line 966
966
967<script id="eztoc-js-cookie-js" src="https://www.toolshero.com/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js?ver=2.2.1"></script>
vendor: 1 bytes, line 967
967
968<script id="eztoc-jquery-sticky-kit-js" src="https://www.toolshero.com/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js?ver=1.9.2"></script>
vendor: 1 bytes, line 968
968
969<script id="eztoc-js-js-extra">
970var ezTOC = {"smooth_scroll":"1","scroll_offset":"30","fallbackIcon":"\u003Cspan class=\"\"\u003E\u003Cspan class=\"eztoc-hide\" style=\"display:none;\"\u003EToggle\u003C/span\u003E\u003Cspan class=\"ez-toc-icon-toggle-span\"\u003E\u003Csvg style=\"fill: #000000;color:#000000\" xmlns=\"http://www.w3.org/2000/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"\u003E\u003Cpath d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"\u003E\u003C/path\u003E\u003C/svg\u003E\u003Csvg style=\"fill: #000000;color:#000000\" class=\"arrow-unsorted-368013\" xmlns=\"http://www.w3.org/2000/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"\u003E\u003Cpath d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"/\u003E\u003C/svg\u003E\u003C/span\u003E\u003C/span\u003E","chamomile_theme_is_on":""};
971//# sourceURL=eztoc-js-js-extra
972</script>
vendor: 1 bytes, line 972
972
973<script id="eztoc-js-js" src="https://www.toolshero.com/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js?ver=2.0.87.1-1789109469"></script>
vendor: 1 bytes, line 973
973
974<script id="slickjs-js" src="https://www.toolshero.com/wp-content/themes/toolshero-wp-theme/js/slick.min.js?ver=1722587747"></script>
vendor: 1 bytes, line 974
974
975<script id="scripts-js" src="https://www.toolshero.com/wp-content/themes/toolshero-wp-theme/js/scripts.js?ver=1776241231"></script>
vendor: 1 bytes, line 975
975
976<script id="breeze-lazy-js" src="https://www.toolshero.com/wp-content/plugins/breeze/assets/js/js-front-end/breeze-lazy-load.min.js?ver=2.5.17"></script>
vendor: 1 bytes, line 976
976
977<script id="breeze-lazy-js-after">
978document.addEventListener("DOMContentLoaded", function () {
979							if ( "function" !== typeof window.LazyLoad && "function" !== typeof LazyLoad ) {
980								return;
981							}
982
983							var breezeLazyLoad = window.LazyLoad || LazyLoad;
984
985							window.lazyLoadInstance = new breezeLazyLoad({
986						    elements_selector: ".br-lazy",
987						    data_src: "breeze",
988						    data_srcset: "brsrcset",
989						    data_sizes: "brsizes",
990						    class_loaded: "br-loaded",
991						    threshold: 300,
992								    });
993						});
994//# sourceURL=breeze-lazy-js-after
995</script>
vendor: 1 bytes, line 995
995
996<script type="text/javascript">window.addEventListener("DOMContentLoaded",(e=>{document.querySelectorAll('img[loading="lazy"]').forEach((e=>{e.getBoundingClientRect().top<=window.innerHeight&&(e.loading="eager")}))}));</script>
996
997	<!-- =====================================================
998	     TOOLSHERO LIVE SEARCH
999	     ===================================================== -->
1000
1001	<div
1002		id="toolshero-live-search"
1003		class="toolshero-live-search"
1004		role="listbox"
1005		aria-label="Search suggestions"
1006	></div>
1007
1008
1009	<!-- =====================================================
1010	     TOOLSHERO SEARCH LOADER
1011	     ===================================================== -->
1012
1013	<div
1014		id="toolshero-search-loader"
1015		class="toolshero-search-loader"
1016		aria-hidden="true"
1017		role="status"
1018		aria-live="polite"
1019	>
1020
1021		<div class="toolshero-search-loader__box">
1022
1023			<div
1024				class="toolshero-search-loader__spinner"
1025				aria-hidden="true"
1026			></div>
1027
1028			<div class="toolshero-search-loader__title">
1029				Searching...
1030			</div>
1031
1032			<div class="toolshero-search-loader__text">
1033
1034				<span id="toolshero-search-loader-text">
1035					We are finding the best results for you
1036				</span>
1037
1038			</div>
1039
1040		</div>
1041
1042	</div>
1043
1044
1045	<style>
1046
1047		/* =====================================================
1048		 * LIVE SEARCH DROPDOWN
1049		 * ===================================================== */
1050
1051		.toolshero-live-search {
1052
1053			position: fixed;
1054
1055			z-index: 999998;
1056
1057			display: none;
1058
1059			background: #ffffff;
1060
1061			border: 1px solid #e5e5e5;
1062			border-top: 4px solid #ffb600;
1063
1064			border-radius: 0 0 12px 12px;
1065
1066			box-shadow:
1067				0 16px 40px rgba(0, 0, 0, 0.14),
1068				0 4px 12px rgba(0, 0, 0, 0.06);
1069
1070			overflow-x: hidden;
1071			overflow-y: auto;
1072
1073			-webkit-overflow-scrolling: touch;
1074		}
1075
1076
1077		.toolshero-live-search.is-active {
1078			display: block;
1079		}
1080
1081
1082		.toolshero-live-search__result {
1083
1084			display: block;
1085
1086			padding: 14px 18px;
1087
1088			text-decoration: none !important;
1089
1090			background: #ffffff;
1091
1092			border-bottom: 1px solid #eeeeee;
1093
1094			transition:
1095				background 0.12s ease,
1096				padding-left 0.12s ease;
1097		}
1098
1099
1100		.toolshero-live-search__result:hover,
1101		.toolshero-live-search__result.is-selected {
1102
1103			background: #fff8e6;
1104
1105			padding-left: 22px;
1106		}
1107
1108
1109		.toolshero-live-search__title {
1110
1111			display: block;
1112
1113			margin: 0 0 4px;
1114
1115			font-size: 15px;
1116			font-weight: 700;
1117			line-height: 1.4;
1118
1119			color: #252525;
1120		}
1121
1122
1123		.toolshero-live-search__meta {
1124
1125			display: block;
1126
1127			font-size: 12px;
1128			font-weight: 500;
1129			line-height: 1.4;
1130
1131			color: #777777;
1132		}
1133
1134
1135		.toolshero-live-search__dot {
1136
1137			display: inline-block;
1138
1139			margin: 0 5px;
1140
1141			color: #ffb600;
1142		}
1143
1144
1145		.toolshero-live-search__all {
1146
1147			display: flex;
1148
1149			align-items: center;
1150			justify-content: space-between;
1151
1152			gap: 15px;
1153
1154			padding: 14px 18px;
1155
1156			background: #fffaf0;
1157
1158			color: #272727 !important;
1159
1160			font-size: 14px;
1161			font-weight: 700;
1162
1163			text-decoration: none !important;
1164
1165			transition: background 0.12s ease;
1166		}
1167
1168
1169		.toolshero-live-search__all:hover {
1170			background: #fff3cf;
1171		}
1172
1173
1174		.toolshero-live-search__arrow {
1175
1176			font-size: 20px;
1177			line-height: 1;
1178
1179			color: #ffb600;
1180		}
1181
1182
1183		.toolshero-live-search__status {
1184
1185			display: flex;
1186
1187			align-items: center;
1188
1189			gap: 11px;
1190
1191			padding: 18px;
1192
1193			font-size: 14px;
1194			line-height: 1.5;
1195
1196			color: #666666;
1197		}
1198
1199
1200		.toolshero-live-search__mini-spinner {
1201
1202			flex: 0 0 auto;
1203
1204			width: 20px;
1205			height: 20px;
1206
1207			border: 3px solid #f2e2b4;
1208			border-top-color: #ffb600;
1209
1210			border-radius: 50%;
1211
1212			animation:
1213				toolshero-search-spin
1214				0.7s
1215				linear
1216				infinite;
1217		}
1218
1219
1220		/* =====================================================
1221		 * FULL SEARCH LOADER
1222		 * ===================================================== */
1223
1224		.toolshero-search-loader {
1225
1226			position: fixed;
1227			inset: 0;
1228
1229			z-index: 999999;
1230
1231			display: flex;
1232
1233			align-items: center;
1234			justify-content: center;
1235
1236			padding: 20px;
1237
1238			background: rgba(255, 249, 235, 0.82);
1239
1240			-webkit-backdrop-filter: blur(5px);
1241			backdrop-filter: blur(5px);
1242
1243			opacity: 0;
1244			visibility: hidden;
1245			pointer-events: none;
1246
1247			transition:
1248				opacity 0.18s ease,
1249				visibility 0.18s ease;
1250		}
1251
1252
1253		.toolshero-search-loader.is-active {
1254
1255			opacity: 1;
1256			visibility: visible;
1257			pointer-events: auto;
1258		}
1259
1260
1261		.toolshero-search-loader__box {
1262
1263			position: relative;
1264
1265			width: 100%;
1266			max-width: 430px;
1267
1268			padding: 34px 30px 32px;
1269
1270			background:
1271				linear-gradient(
1272					180deg,
1273					#fffdf7 0%,
1274					#ffffff 100%
1275				);
1276
1277			border: 1px solid rgba(255, 182, 0, 0.32);
1278			border-top: 5px solid #ffb600;
1279
1280			border-radius: 14px;
1281
1282			text-align: center;
1283
1284			box-shadow:
1285				0 20px 50px rgba(0, 0, 0, 0.10),
1286				0 6px 20px rgba(255, 182, 0, 0.15);
1287
1288			animation:
1289				toolshero-search-box-in
1290				0.22s
1291				ease-out
1292				forwards;
1293		}
1294
1295
1296		.toolshero-search-loader__spinner {
1297
1298			width: 48px;
1299			height: 48px;
1300
1301			margin: 0 auto 19px;
1302
1303			border: 4px solid #ffe8a8;
1304			border-top-color: #ffb600;
1305			border-right-color: #ffd35c;
1306
1307			border-radius: 50%;
1308
1309			animation:
1310				toolshero-search-spin
1311				0.75s
1312				linear
1313				infinite;
1314		}
1315
1316
1317		.toolshero-search-loader__title {
1318
1319			margin: 0 0 8px;
1320
1321			font-size: 22px;
1322			font-weight: 700;
1323			line-height: 1.3;
1324
1325			color: #262626;
1326		}
1327
1328
1329		.toolshero-search-loader__text {
1330
1331			font-size: 15px;
1332			line-height: 1.6;
1333
1334			color: #636363;
1335		}
1336
1337
1338		@keyframes toolshero-search-spin {
1339
1340			from {
1341				transform: rotate(0deg);
1342			}
1343
1344			to {
1345				transform: rotate(360deg);
1346			}
1347		}
1348
1349
1350		@keyframes toolshero-search-box-in {
1351
1352			from {
1353				transform: translateY(8px) scale(0.985);
1354			}
1355
1356			to {
1357				transform: translateY(0) scale(1);
1358			}
1359		}
1360
1361
1362		@media (max-width: 600px) {
1363
1364			.toolshero-live-search {
1365				border-radius: 0 0 10px 10px;
1366			}
1367
1368
1369			.toolshero-live-search__result {
1370				padding: 13px 15px;
1371			}
1372
1373
1374			.toolshero-live-search__result:hover,
1375			.toolshero-live-search__result.is-selected {
1376				padding-left: 18px;
1377			}
1378
1379
1380			.toolshero-live-search__title {
1381				font-size: 14px;
1382			}
1383
1384
1385			.toolshero-live-search__all {
1386				padding: 14px 15px;
1387			}
1388
1389
1390			.toolshero-search-loader {
1391				padding: 18px;
1392			}
1393
1394
1395			.toolshero-search-loader__box {
1396				padding: 30px 22px 28px;
1397			}
1398
1399
1400			.toolshero-search-loader__title {
1401				font-size: 20px;
1402			}
1403
1404		}
1405
1406
1407		@media (prefers-reduced-motion: reduce) {
1408
1409			.toolshero-search-loader,
1410			.toolshero-live-search__result {
1411				transition: none;
1412			}
1413
1414
1415			.toolshero-search-loader__box {
1416				animation: none;
1417			}
1418
1419
1420			.toolshero-search-loader__spinner,
1421			.toolshero-live-search__mini-spinner {
1422				animation-duration: 1.5s;
1423			}
1424
1425		}
1426
1427	</style>
1428
1429
1430	
1430<script>
1431
1432	function toolsheroComLiveSearchInit() {
1433
1434		if (window.__toolsheroComLiveSearchV2Initialized) {
1435			return;
1436		}
1437
1438		window.__toolsheroComLiveSearchV2Initialized = true;
1439
1440		const AJAX_URL   = "https:\/\/www.toolshero.com\/wp-admin\/admin-ajax.php";
1441		const SEARCH_URL = "https:\/\/www.toolshero.com\/";
1442
1443		const dropdown =
1444			document.getElementById('toolshero-live-search');
1445
1446		const loader =
1447			document.getElementById('toolshero-search-loader');
1448
1449		const loaderText =
1450			document.getElementById('toolshero-search-loader-text');
1451
1452
1453		if (!dropdown || !loader) {
1454			return;
1455		}
1456
1457
1458		let currentInput = null;
1459		let currentController = null;
1460		let searchTimer = null;
1461		let loaderTimer = null;
1462		let activeIndex = -1;
1463
1464		const cache = new Map();
1465
1466
1467		function isSearchInput(element) {
1468
1469			if (!(element instanceof HTMLInputElement)) {
1470				return false;
1471			}
1472
1473			return element.matches(
1474				'input[name="s"], ' +
1475				'input[type="search"], ' +
1476				'input[role="searchbox"], ' +
1477				'.search-field, ' +
1478				'.search-input'
1479			);
1480		}
1481
1482
1483		function getSearchInput(context) {
1484
1485			context = context || document;
1486
1487			return context.querySelector(
1488				'input[name="s"], ' +
1489				'input[type="search"], ' +
1490				'input[role="searchbox"], ' +
1491				'.search-field, ' +
1492				'.search-input'
1493			);
1494		}
1495
1496
1497		function prepareInput(input) {
1498
1499			input.setAttribute(
1500				'aria-autocomplete',
1501				'list'
1502			);
1503
1504			input.setAttribute(
1505				'aria-controls',
1506				'toolshero-live-search'
1507			);
1508
1509			input.setAttribute(
1510				'aria-expanded',
1511				'false'
1512			);
1513
1514			input.setAttribute(
1515				'autocomplete',
1516				'off'
1517			);
1518		}
1519
1520
1521		function positionDropdown(input) {
1522
1523			if (!input) {
1524				return;
1525			}
1526
1527			const rect =
1528				input.getBoundingClientRect();
1529
1530			const viewportWidth =
1531				window.innerWidth;
1532
1533			const margin = 12;
1534
1535			let width =
1536				Math.max(
1537					rect.width,
1538					360
1539				);
1540
1541			width =
1542				Math.min(
1543					width,
1544					560,
1545					viewportWidth - (margin * 2)
1546				);
1547
1548			let left = rect.left;
1549
1550			if (left + width > viewportWidth - margin) {
1551				left =
1552					viewportWidth -
1553					width -
1554					margin;
1555			}
1556
1557			if (left < margin) {
1558				left = margin;
1559			}
1560
1561			const top =
1562				rect.bottom + 6;
1563
1564			dropdown.style.width =
1565				width + 'px';
1566
1567			dropdown.style.left =
1568				left + 'px';
1569
1570			dropdown.style.top =
1571				top + 'px';
1572
1573			dropdown.style.maxHeight =
1574				Math.max(
1575					220,
1576					window.innerHeight -
1577					top -
1578					16
1579				) + 'px';
1580		}
1581
1582
1583		function openDropdown(input) {
1584
1585			currentInput = input;
1586
1587			positionDropdown(input);
1588
1589			dropdown.classList.add(
1590				'is-active'
1591			);
1592
1593			input.setAttribute(
1594				'aria-expanded',
1595				'true'
1596			);
1597		}
1598
1599
1600		function closeDropdown() {
1601
1602			dropdown.classList.remove(
1603				'is-active'
1604			);
1605
1606			activeIndex = -1;
1607
1608			if (currentInput) {
1609
1610				currentInput.setAttribute(
1611					'aria-expanded',
1612					'false'
1613				);
1614
1615				currentInput.removeAttribute(
1616					'aria-activedescendant'
1617				);
1618			}
1619		}
1620
1621
1622		function showLiveLoading(input) {
1623
1624			dropdown.replaceChildren();
1625
1626			const status =
1627				document.createElement('div');
1628
1629			status.className =
1630				'toolshero-live-search__status';
1631
1632
1633			const spinner =
1634				document.createElement('span');
1635
1636			spinner.className =
1637				'toolshero-live-search__mini-spinner';
1638
1639
1640			const text =
1641				document.createElement('span');
1642
1643			text.textContent =
1644				'Searching for relevant articles...';
1645
1646
1647			status.appendChild(spinner);
1648
1649			status.appendChild(text);
1650
1651			dropdown.appendChild(status);
1652
1653			openDropdown(input);
1654		}
1655
1656
1657		function renderResults(
1658			input,
1659			query,
1660			results
1661		) {
1662
1663			dropdown.replaceChildren();
1664
1665			activeIndex = -1;
1666
1667
1668			if (results.length > 0) {
1669
1670				results.forEach(
1671					function (result, index) {
1672
1673						const link =
1674							document.createElement('a');
1675
1676						link.href =
1677							result.url;
1678
1679						link.className =
1680							'toolshero-live-search__result';
1681
1682						link.setAttribute(
1683							'role',
1684							'option'
1685						);
1686
1687						link.id =
1688							'toolshero-search-result-' +
1689							index;
1690
1691
1692						const title =
1693							document.createElement('span');
1694
1695						title.className =
1696							'toolshero-live-search__title';
1697
1698						title.textContent =
1699							result.title;
1700
1701
1702						const meta =
1703							document.createElement('span');
1704
1705						meta.className =
1706							'toolshero-live-search__meta';
1707
1708
1709						const type =
1710							document.createElement('span');
1711
1712						type.textContent =
1713							'Article';
1714
1715						meta.appendChild(type);
1716
1717
1718						if (result.category) {
1719
1720							const dot =
1721								document.createElement('span');
1722
1723							dot.className =
1724								'toolshero-live-search__dot';
1725
1726							dot.textContent =
1727								'•';
1728
1729
1730							const category =
1731								document.createElement('span');
1732
1733							category.textContent =
1734								result.category;
1735
1736
1737							meta.appendChild(dot);
1738
1739							meta.appendChild(category);
1740						}
1741
1742
1743						link.appendChild(title);
1744
1745						link.appendChild(meta);
1746
1747						dropdown.appendChild(link);
1748					}
1749				);
1750
1751			} else {
1752
1753				const status =
1754					document.createElement('div');
1755
1756				status.className =
1757					'toolshero-live-search__status';
1758
1759				status.textContent =
1760					'No direct title match found. View all search results below.';
1761
1762				dropdown.appendChild(status);
1763			}
1764
1765
1766			const allResults =
1767				document.createElement('a');
1768
1769			allResults.className =
1770				'toolshero-live-search__all';
1771
1772			allResults.href =
1773				SEARCH_URL +
1774				'?s=' +
1775				encodeURIComponent(query);
1776
1777
1778			const allText =
1779				document.createElement('span');
1780
1781			allText.textContent =
1782				'View all results for "' +
1783				query +
1784				'"';
1785
1786
1787			const arrow =
1788				document.createElement('span');
1789
1790			arrow.className =
1791				'toolshero-live-search__arrow';
1792
1793			arrow.setAttribute(
1794				'aria-hidden',
1795				'true'
1796			);
1797
1798			arrow.textContent = '→';
1799
1800
1801			allResults.appendChild(allText);
1802
1803			allResults.appendChild(arrow);
1804
1805			dropdown.appendChild(allResults);
1806
1807
1808			openDropdown(input);
1809		}
1810
1811
1812		async function performSearch(
1813			input,
1814			query
1815		) {
1816
1817			const cacheKey =
1818				query.toLowerCase();
1819
1820
1821			if (cache.has(cacheKey)) {
1822
1823				renderResults(
1824					input,
1825					query,
1826					cache.get(cacheKey)
1827				);
1828
1829				return;
1830			}
1831
1832
1833			if (currentController) {
1834				currentController.abort();
1835			}
1836
1837			currentController =
1838				new AbortController();
1839
1840
1841			showLiveLoading(input);
1842
1843
1844			const params =
1845				new URLSearchParams({
1846					action:
1847						'toolshero_com_live_search_v2',
1848
1849					q:
1850						query
1851				});
1852
1853
1854			try {
1855
1856				const response =
1857					await fetch(
1858						AJAX_URL +
1859						'?' +
1860						params.toString(),
1861						{
1862							method: 'GET',
1863
1864							credentials:
1865								'same-origin',
1866
1867							signal:
1868								currentController.signal,
1869
1870							headers: {
1871								'X-Requested-With':
1872									'XMLHttpRequest'
1873							}
1874						}
1875					);
1876
1877
1878				if (!response.ok) {
1879					throw new Error(
1880						'Search request failed'
1881					);
1882				}
1883
1884
1885				const data =
1886					await response.json();
1887
1888
1889				if (
1890					input.value.trim() !== query
1891				) {
1892					return;
1893				}
1894
1895
1896				if (
1897					!data.success ||
1898					!Array.isArray(data.data)
1899				) {
1900					throw new Error(
1901						'Invalid search response'
1902					);
1903				}
1904
1905
1906				if (cache.size >= 40) {
1907
1908					const firstKey =
1909						cache.keys().next().value;
1910
1911					cache.delete(firstKey);
1912				}
1913
1914
1915				cache.set(
1916					cacheKey,
1917					data.data
1918				);
1919
1920
1921				renderResults(
1922					input,
1923					query,
1924					data.data
1925				);
1926
1927			} catch (error) {
1928
1929				if (
1930					error.name ===
1931					'AbortError'
1932				) {
1933					return;
1934				}
1935
1936
1937				dropdown.replaceChildren();
1938
1939
1940				const status =
1941					document.createElement('div');
1942
1943				status.className =
1944					'toolshero-live-search__status';
1945
1946				status.textContent =
1947					'Live search is temporarily unavailable. Press Enter to search.';
1948
1949
1950				dropdown.appendChild(status);
1951
1952				openDropdown(input);
1953			}
1954		}
1955
1956
1957		document.addEventListener(
1958			'input',
1959			function (event) {
1960
1961				const input =
1962					event.target;
1963
1964				if (!isSearchInput(input)) {
1965					return;
1966				}
1967
1968
1969				prepareInput(input);
1970
1971				currentInput = input;
1972
1973
1974				clearTimeout(
1975					searchTimer
1976				);
1977
1978
1979				const query =
1980					input.value.trim();
1981
1982
1983				if (query.length < 3) {
1984
1985					if (currentController) {
1986						currentController.abort();
1987					}
1988
1989					closeDropdown();
1990
1991					return;
1992				}
1993
1994
1995				searchTimer =
1996					setTimeout(
1997						function () {
1998
1999							performSearch(
2000								input,
2001								query
2002							);
2003
2004						},
2005						250
2006					);
2007
2008			},
2009			true
2010		);
2011
2012
2013		document.addEventListener(
2014			'focusin',
2015			function (event) {
2016
2017				const input =
2018					event.target;
2019
2020				if (!isSearchInput(input)) {
2021					return;
2022				}
2023
2024				prepareInput(input);
2025
2026				currentInput = input;
2027
2028
2029				const query =
2030					input.value.trim();
2031
2032
2033				if (
2034					query.length >= 3 &&
2035					cache.has(
2036						query.toLowerCase()
2037					)
2038				) {
2039
2040					renderResults(
2041						input,
2042						query,
2043						cache.get(
2044							query.toLowerCase()
2045						)
2046					);
2047				}
2048
2049			}
2050		);
2051
2052
2053		document.addEventListener(
2054			'keydown',
2055			function (event) {
2056
2057				const input =
2058					event.target;
2059
2060				if (!isSearchInput(input)) {
2061					return;
2062				}
2063
2064
2065				const resultLinks =
2066					Array.from(
2067						dropdown.querySelectorAll(
2068							'.toolshero-live-search__result'
2069						)
2070					);
2071
2072
2073				if (
2074					event.key === 'ArrowDown' &&
2075					dropdown.classList.contains(
2076						'is-active'
2077					) &&
2078					resultLinks.length
2079				) {
2080
2081					event.preventDefault();
2082
2083					activeIndex++;
2084
2085					if (
2086						activeIndex >=
2087						resultLinks.length
2088					) {
2089						activeIndex = 0;
2090					}
2091
2092					updateActiveResult(
2093						input,
2094						resultLinks
2095					);
2096
2097					return;
2098				}
2099
2100
2101				if (
2102					event.key === 'ArrowUp' &&
2103					dropdown.classList.contains(
2104						'is-active'
2105					) &&
2106					resultLinks.length
2107				) {
2108
2109					event.preventDefault();
2110
2111					activeIndex--;
2112
2113					if (activeIndex < 0) {
2114						activeIndex =
2115							resultLinks.length - 1;
2116					}
2117
2118					updateActiveResult(
2119						input,
2120						resultLinks
2121					);
2122
2123					return;
2124				}
2125
2126
2127				if (event.key === 'Escape') {
2128
2129					closeDropdown();
2130
2131					return;
2132				}
2133
2134
2135				if (event.key === 'Enter') {
2136
2137					if (
2138						dropdown.classList.contains(
2139							'is-active'
2140						) &&
2141						activeIndex >= 0 &&
2142						resultLinks[activeIndex]
2143					) {
2144
2145						event.preventDefault();
2146
2147						window.location.href =
2148							resultLinks[
2149								activeIndex
2150							].href;
2151
2152						return;
2153					}
2154
2155
2156					closeDropdown();
2157
2158					scheduleSearchLoader(
2159						input
2160					);
2161				}
2162
2163			},
2164			true
2165		);
2166
2167
2168		function updateActiveResult(
2169			input,
2170			resultLinks
2171		) {
2172
2173			resultLinks.forEach(
2174				function (link, index) {
2175
2176					const selected =
2177						index === activeIndex;
2178
2179					link.classList.toggle(
2180						'is-selected',
2181						selected
2182					);
2183
2184					link.setAttribute(
2185						'aria-selected',
2186						selected
2187							? 'true'
2188							: 'false'
2189					);
2190				}
2191			);
2192
2193
2194			if (resultLinks[activeIndex]) {
2195
2196				input.setAttribute(
2197					'aria-activedescendant',
2198					resultLinks[
2199						activeIndex
2200					].id
2201				);
2202
2203				resultLinks[
2204					activeIndex
2205				].scrollIntoView({
2206					block: 'nearest'
2207				});
2208			}
2209		}
2210
2211
2212		document.addEventListener(
2213			'click',
2214			function (event) {
2215
2216				if (
2217					dropdown.contains(
2218						event.target
2219					)
2220				) {
2221					return;
2222				}
2223
2224
2225				if (
2226					isSearchInput(
2227						event.target
2228					)
2229				) {
2230					return;
2231				}
2232
2233
2234				closeDropdown();
2235
2236			},
2237			true
2238		);
2239
2240
2241		function showSearchLoader(input) {
2242
2243			if (!input) {
2244				return;
2245			}
2246
2247
2248			const query =
2249				input.value.trim();
2250
2251
2252			if (!query) {
2253				return;
2254			}
2255
2256
2257			let displayQuery =
2258				query;
2259
2260
2261			if (
2262				displayQuery.length > 60
2263			) {
2264
2265				displayQuery =
2266					displayQuery.substring(
2267						0,
2268						57
2269					) + '...';
2270			}
2271
2272
2273			if (loaderText) {
2274
2275				loaderText.textContent =
2276					'We are finding the best results for "' +
2277					displayQuery +
2278					'"';
2279			}
2280
2281
2282			loader.classList.add(
2283				'is-active'
2284			);
2285
2286			loader.setAttribute(
2287				'aria-hidden',
2288				'false'
2289			);
2290		}
2291
2292
2293		function scheduleSearchLoader(input) {
2294
2295			clearTimeout(
2296				loaderTimer
2297			);
2298
2299
2300			loaderTimer =
2301				setTimeout(
2302					function () {
2303
2304						showSearchLoader(
2305							input
2306						);
2307
2308					},
2309					350
2310				);
2311		}
2312
2313
2314		document.addEventListener(
2315			'submit',
2316			function (event) {
2317
2318				const form =
2319					event.target;
2320
2321
2322				if (
2323					!(
2324						form instanceof
2325						HTMLFormElement
2326					)
2327				) {
2328					return;
2329				}
2330
2331
2332				const input =
2333					getSearchInput(form);
2334
2335
2336				if (!input) {
2337					return;
2338				}
2339
2340
2341				if (!input.value.trim()) {
2342					return;
2343				}
2344
2345
2346				closeDropdown();
2347
2348				scheduleSearchLoader(
2349					input
2350				);
2351
2352			},
2353			true
2354		);
2355
2356
2357		document.addEventListener(
2358			'click',
2359			function (event) {
2360
2361				const button =
2362					event.target.closest(
2363						'button[type="submit"], ' +
2364						'input[type="submit"], ' +
2365						'.search-submit, ' +
2366						'.search-button, ' +
2367						'.search-btn, ' +
2368						'[class*="search-submit"], ' +
2369						'[class*="search-button"]'
2370					);
2371
2372
2373				if (!button) {
2374					return;
2375				}
2376
2377
2378				const container =
2379					button.closest('form') ||
2380					button.closest(
2381						'[role="search"]'
2382					) ||
2383					button.parentElement;
2384
2385
2386				let input = null;
2387
2388
2389				if (container) {
2390
2391					input =
2392						getSearchInput(
2393							container
2394						);
2395				}
2396
2397
2398				if (!input) {
2399
2400					input =
2401						getSearchInput(
2402							document
2403						);
2404				}
2405
2406
2407				if (
2408					!input ||
2409					!input.value.trim()
2410				) {
2411					return;
2412				}
2413
2414
2415				closeDropdown();
2416
2417				scheduleSearchLoader(
2418					input
2419				);
2420
2421			},
2422			true
2423		);
2424
2425
2426		window.addEventListener(
2427			'resize',
2428			function () {
2429
2430				if (
2431					currentInput &&
2432					dropdown.classList.contains(
2433						'is-active'
2434					)
2435				) {
2436
2437					positionDropdown(
2438						currentInput
2439					);
2440				}
2441
2442			}
2443		);
2444
2445
2446		window.addEventListener(
2447			'scroll',
2448			function () {
2449
2450				if (
2451					currentInput &&
2452					dropdown.classList.contains(
2453						'is-active'
2454					)
2455				) {
2456
2457					positionDropdown(
2458						currentInput
2459					);
2460				}
2461
2462			},
2463			true
2464		);
2465
2466
2467		window.addEventListener(
2468			'pageshow',
2469			function () {
2470
2471				clearTimeout(
2472					loaderTimer
2473				);
2474
2475				loader.classList.remove(
2476					'is-active'
2477				);
2478
2479				loader.setAttribute(
2480					'aria-hidden',
2481					'true'
2482				);
2483
2484				closeDropdown();
2485
2486			}
2487		);
2488
2489	}
2490
2491	if (document.readyState === 'loading') {
2492		document.addEventListener(
2493			'DOMContentLoaded',
2494			toolsheroComLiveSearchInit,
2495			{ once: true }
2496		);
2497	} else {
2498		toolsheroComLiveSearchInit();
2499	}
2500
2501	</script>
2501
2502
2503	
2504		<style id="toolshero-com-content-protection-css">
2505
2506			/* ==============================
2507			 * OVERLAY
2508			 * ============================== */
2509
2510			#th-protection-overlay {
2511
2512				position: fixed;
2513				inset: 0;
2514
2515				z-index: 999999;
2516
2517				display: flex;
2518				align-items: center;
2519				justify-content: center;
2520
2521				padding: 20px;
2522
2523				background: rgba(20, 25, 28, 0.52);
2524
2525				-webkit-backdrop-filter: blur(2px);
2526				backdrop-filter: blur(2px);
2527
2528				opacity: 0;
2529				visibility: hidden;
2530				pointer-events: none;
2531
2532				transition:
2533					opacity .18s ease,
2534					visibility .18s ease;
2535			}
2536
2537
2538			#th-protection-overlay.th-is-visible {
2539
2540				opacity: 1;
2541				visibility: visible;
2542				pointer-events: auto;
2543			}
2544
2545
2546
2547			/* ==============================
2548			 * POPUP
2549			 * ============================== */
2550
2551			#th-protection-modal {
2552
2553				position: relative;
2554
2555				width: 100%;
2556				max-width: 450px;
2557
2558				box-sizing: border-box;
2559
2560				padding: 32px 30px 26px;
2561
2562				background: #ffffff;
2563
2564				border-radius: 12px;
2565
2566				box-shadow:
2567					0 20px 60px rgba(0, 0, 0, .18),
2568					0 4px 15px rgba(0, 0, 0, .08);
2569
2570				text-align: center;
2571
2572				color: #202124;
2573
2574				transform: translateY(8px) scale(.98);
2575
2576				transition:
2577					transform .18s ease;
2578			}
2579
2580
2581			#th-protection-overlay.th-is-visible
2582			#th-protection-modal {
2583
2584				transform: translateY(0) scale(1);
2585			}
2586
2587
2588
2589			/* ==============================
2590			 * ICON
2591			 * ============================== */
2592
2593			.th-protection-icon {
2594
2595				width: 56px;
2596				height: 56px;
2597
2598				margin: 0 auto 18px;
2599
2600				display: flex;
2601				align-items: center;
2602				justify-content: center;
2603
2604				border-radius: 50%;
2605
2606				background: #eefbf4;
2607				color: #27c875;
2608			}
2609
2610
2611			.th-protection-icon svg {
2612
2613				width: 26px;
2614				height: 26px;
2615
2616				display: block;
2617			}
2618
2619
2620
2621			/* ==============================
2622			 * TITLE
2623			 * ============================== */
2624
2625			#th-protection-title {
2626
2627				margin: 0 0 12px;
2628
2629				padding: 0;
2630
2631				font-size: 23px;
2632				line-height: 1.3;
2633				font-weight: 700;
2634
2635				color: #202124;
2636			}
2637
2638
2639
2640			/* ==============================
2641			 * TEXT
2642			 * ============================== */
2643
2644			.th-protection-text {
2645
2646				max-width: 375px;
2647
2648				margin: 0 auto 23px;
2649
2650				font-size: 15px;
2651				line-height: 1.65;
2652
2653				color: #555555;
2654			}
2655
2656
2657
2658			/* ==============================
2659			 * PRIMARY CTA
2660			 * ============================== */
2661
2662			#th-protection-subscribe {
2663
2664				width: 100%;
2665				min-height: 48px;
2666
2667				display: flex;
2668				align-items: center;
2669				justify-content: center;
2670
2671				box-sizing: border-box;
2672
2673				margin: 0 0 7px;
2674				padding: 0 24px;
2675
2676				border: 0;
2677				border-radius: 7px;
2678
2679				background: #35d47c;
2680				color: #111111;
2681
2682				font-size: 15px;
2683				font-weight: 700;
2684				line-height: 1.2;
2685
2686				text-decoration: none;
2687
2688				cursor: pointer;
2689
2690				transition:
2691					transform .15s ease,
2692					filter .15s ease,
2693					box-shadow .15s ease;
2694			}
2695
2696
2697			#th-protection-subscribe:hover {
2698
2699				background: #35d47c;
2700				color: #111111;
2701
2702				text-decoration: none;
2703
2704				filter: brightness(.96);
2705
2706				transform: translateY(-1px);
2707
2708				box-shadow:
2709					0 5px 14px rgba(0, 0, 0, .10);
2710			}
2711
2712
2713			#th-protection-subscribe:focus-visible {
2714
2715				outline: 3px solid rgba(53, 212, 124, .30);
2716
2717				outline-offset: 3px;
2718			}
2719
2720
2721
2722			/* ==============================
2723			 * SECONDARY BUTTON
2724			 * ============================== */
2725
2726			#th-protection-close {
2727
2728				min-height: 40px;
2729
2730				padding: 0 18px;
2731
2732				border: 0;
2733				border-radius: 6px;
2734
2735				background: transparent;
2736				color: #666666;
2737
2738				font-size: 14px;
2739				font-weight: 600;
2740
2741				cursor: pointer;
2742
2743				transition:
2744					background .15s ease,
2745					color .15s ease;
2746			}
2747
2748
2749			#th-protection-close:hover {
2750
2751				background: #f4f5f5;
2752
2753				color: #222222;
2754			}
2755
2756
2757			#th-protection-close:focus-visible {
2758
2759				outline: 2px solid #35d47c;
2760
2761				outline-offset: 2px;
2762			}
2763
2764
2765
2766			/* ==============================
2767			 * CLOSE BUTTON
2768			 * ============================== */
2769
2770			#th-protection-x {
2771
2772				position: absolute;
2773
2774				top: 12px;
2775				right: 13px;
2776
2777				width: 36px;
2778				height: 36px;
2779
2780				display: flex;
2781				align-items: center;
2782				justify-content: center;
2783
2784				padding: 0;
2785
2786				border: 0;
2787				border-radius: 50%;
2788
2789				background: transparent;
2790				color: #777777;
2791
2792				font-size: 25px;
2793				font-weight: 400;
2794				line-height: 1;
2795
2796				cursor: pointer;
2797
2798				transition:
2799					background .15s ease,
2800					color .15s ease;
2801			}
2802
2803
2804			#th-protection-x:hover {
2805
2806				background: #f3f4f5;
2807
2808				color: #111111;
2809			}
2810
2811
2812
2813			/* ==============================
2814			 * MOBILE
2815			 * ============================== */
2816
2817			@media (max-width: 600px) {
2818
2819				#th-protection-overlay {
2820
2821					padding: 16px;
2822				}
2823
2824
2825				#th-protection-modal {
2826
2827					max-width: 100%;
2828
2829					padding:
2830						30px
2831						21px
2832						23px;
2833				}
2834
2835
2836				#th-protection-title {
2837
2838					font-size: 21px;
2839				}
2840
2841
2842				.th-protection-text {
2843
2844					font-size: 15px;
2845				}
2846
2847			}
2848
2849		</style>
2850
2851
2852
2853		<div
2854			id="th-protection-overlay"
2855			aria-hidden="true"
2856		>
2857
2858			<div
2859				id="th-protection-modal"
2860				role="dialog"
2861				aria-modal="true"
2862				aria-labelledby="th-protection-title"
2863				aria-describedby="th-protection-description"
2864			>
2865
2866
2867				<button
2868					id="th-protection-x"
2869					type="button"
2870					aria-label="Close"
2871				>
2872					&times;
2873				</button>
2874
2875
2876
2877				<div
2878					class="th-protection-icon"
2879					aria-hidden="true"
2880				>
2881
2882					<svg
2883						viewBox="0 0 24 24"
2884						fill="none"
2885						stroke="currentColor"
2886						stroke-width="2"
2887						stroke-linecap="round"
2888						stroke-linejoin="round"
2889					>
2890
2891						<rect
2892							x="5"
2893							y="11"
2894							width="14"
2895							height="10"
2896							rx="2"
2897						></rect>
2898
2899						<path
2900							d="M8 11V7a4 4 0 0 1 8 0v4"
2901						></path>
2902
2903					</svg>
2904
2905				</div>
2906
2907
2908
2909				<h2 id="th-protection-title">
2910					Want to copy and use this content?
2911				</h2>
2912
2913
2914
2915				<p
2916					id="th-protection-description"
2917					class="th-protection-text"
2918				>
2919
2920					
2921						Want to select, copy and use Toolshero content
2922						for your work, studies or training?
2923						You need a Toolshero subscription to do so.
2924
2925					
2926				</p>
2927
2928
2929
2930				<a
2931					id="th-protection-subscribe"
2932					href="https://www.toolshero.com/subscribe/"
2933				>
2934					View subscriptions
2935				</a>
2936
2937
2938
2939				<button
2940					id="th-protection-close"
2941					type="button"
2942				>
2943					Not now
2944				</button>
2945
2946
2947			</div>
2948
2949		</div>
2950
2951
2952
2953		
2953<script id="toolshero-com-content-protection-js">
2954
2955		(function () {
2956
2957			'use strict';
2958
2959
2960			/*
2961			 * Content areas to protect.
2962			 */
2963			const protectedSelector = [
2964
2965				'article',
2966				'.entry-content',
2967				'.post-content',
2968				'.article-content',
2969				'.single-content',
2970				'.page-content',
2971				'.tag-description'
2972
2973			].join(',');
2974
2975
2976
2977			/*
2978			 * Elements that must remain fully usable.
2979			 */
2980			const ignoreSelector = [
2981
2982				'input',
2983				'textarea',
2984				'select',
2985				'option',
2986				'button',
2987				'[contenteditable="true"]',
2988
2989				'#th-protection-modal',
2990				'#th-protection-modal *'
2991
2992			].join(',');
2993
2994
2995
2996			const overlay =
2997				document.getElementById(
2998					'th-protection-overlay'
2999				);
3000
3001
3002			const closeButton =
3003				document.getElementById(
3004					'th-protection-close'
3005				);
3006
3007
3008			const closeX =
3009				document.getElementById(
3010					'th-protection-x'
3011				);
3012
3013
3014			let previousFocus = null;
3015			let lastShown = 0;
3016
3017
3018
3019			/*
3020			 * ==========================================
3021			 * HELPERS
3022			 * ==========================================
3023			 */
3024
3025			function getElement(target) {
3026
3027				if (!target) {
3028					return null;
3029				}
3030
3031
3032				if (
3033					target.nodeType === Node.ELEMENT_NODE
3034				) {
3035
3036					return target;
3037				}
3038
3039
3040				return target.parentElement || null;
3041			}
3042
3043
3044
3045			function isIgnored(target) {
3046
3047				const element = getElement(target);
3048
3049
3050				if (!element) {
3051					return false;
3052				}
3053
3054
3055				return Boolean(
3056					element.closest(ignoreSelector)
3057				);
3058			}
3059
3060
3061
3062			function isProtectedContent(target) {
3063
3064				const element = getElement(target);
3065
3066
3067				if (
3068					!element ||
3069					isIgnored(element)
3070				) {
3071
3072					return false;
3073				}
3074
3075
3076				return Boolean(
3077					element.closest(protectedSelector)
3078				);
3079			}
3080
3081
3082
3083			function selectionIsProtected() {
3084
3085				const selection =
3086					window.getSelection();
3087
3088
3089				if (
3090					!selection ||
3091					selection.rangeCount === 0
3092				) {
3093
3094					return false;
3095				}
3096
3097
3098				const anchor =
3099					getElement(
3100						selection.anchorNode
3101					);
3102
3103
3104				const focus =
3105					getElement(
3106						selection.focusNode
3107					);
3108
3109
3110				return Boolean(
3111
3112					(
3113						anchor &&
3114						anchor.closest(
3115							protectedSelector
3116						)
3117					)
3118
3119					||
3120
3121					(
3122						focus &&
3123						focus.closest(
3124							protectedSelector
3125						)
3126					)
3127
3128				);
3129			}
3130
3131
3132
3133			/*
3134			 * ==========================================
3135			 * OPEN POPUP
3136			 * ==========================================
3137			 */
3138
3139			function showProtectionMessage() {
3140
3141				if (!overlay) {
3142					return;
3143				}
3144
3145
3146				const now = Date.now();
3147
3148
3149				if (
3150					now - lastShown < 600 &&
3151					overlay.classList.contains(
3152						'th-is-visible'
3153					)
3154				) {
3155
3156					return;
3157				}
3158
3159
3160				lastShown = now;
3161
3162
3163				previousFocus =
3164					document.activeElement;
3165
3166
3167				overlay.classList.add(
3168					'th-is-visible'
3169				);
3170
3171
3172				overlay.setAttribute(
3173					'aria-hidden',
3174					'false'
3175				);
3176
3177
3178				document.documentElement.style.overflow =
3179					'hidden';
3180
3181
3182				window.setTimeout(
3183					function () {
3184
3185						if (closeButton) {
3186							closeButton.focus();
3187						}
3188
3189					},
3190					50
3191				);
3192			}
3193
3194
3195
3196			/*
3197			 * ==========================================
3198			 * CLOSE POPUP
3199			 * ==========================================
3200			 */
3201
3202			function closeProtectionMessage() {
3203
3204				if (!overlay) {
3205					return;
3206				}
3207
3208
3209				overlay.classList.remove(
3210					'th-is-visible'
3211				);
3212
3213
3214				overlay.setAttribute(
3215					'aria-hidden',
3216					'true'
3217				);
3218
3219
3220				document.documentElement.style.overflow =
3221					'';
3222
3223
3224				if (
3225					previousFocus &&
3226					typeof previousFocus.focus ===
3227					'function'
3228				) {
3229
3230					previousFocus.focus();
3231				}
3232			}
3233
3234
3235
3236			/*
3237			 * ==========================================
3238			 * RIGHT CLICK
3239			 * ==========================================
3240			 */
3241
3242			document.addEventListener(
3243				'contextmenu',
3244				function (event) {
3245
3246					if (isIgnored(event.target)) {
3247						return;
3248					}
3249
3250
3251					event.preventDefault();
3252
3253					showProtectionMessage();
3254
3255				},
3256				true
3257			);
3258
3259
3260
3261			/*
3262			 * ==========================================
3263			 * TEXT SELECTION
3264			 * ==========================================
3265			 */
3266
3267			document.addEventListener(
3268				'selectstart',
3269				function (event) {
3270
3271					if (
3272						!isProtectedContent(
3273							event.target
3274						)
3275					) {
3276
3277						return;
3278					}
3279
3280
3281					event.preventDefault();
3282
3283					showProtectionMessage();
3284
3285				},
3286				true
3287			);
3288
3289
3290
3291			/*
3292			 * ==========================================
3293			 * COPY
3294			 * ==========================================
3295			 */
3296
3297			document.addEventListener(
3298				'copy',
3299				function (event) {
3300
3301					if (
3302						!selectionIsProtected()
3303					) {
3304
3305						return;
3306					}
3307
3308
3309					event.preventDefault();
3310
3311
3312					const selection =
3313						window.getSelection();
3314
3315
3316					if (selection) {
3317
3318						selection.removeAllRanges();
3319					}
3320
3321
3322					showProtectionMessage();
3323
3324				},
3325				true
3326			);
3327
3328
3329
3330			/*
3331			 * ==========================================
3332			 * CUT
3333			 * ==========================================
3334			 */
3335
3336			document.addEventListener(
3337				'cut',
3338				function (event) {
3339
3340					if (
3341						!selectionIsProtected()
3342					) {
3343
3344						return;
3345					}
3346
3347
3348					event.preventDefault();
3349
3350					showProtectionMessage();
3351
3352				},
3353				true
3354			);
3355
3356
3357
3358			/*
3359			 * ==========================================
3360			 * KEYBOARD SHORTCUTS
3361			 * ==========================================
3362			 */
3363
3364			document.addEventListener(
3365				'keydown',
3366				function (event) {
3367
3368					const key =
3369						String(
3370							event.key
3371						).toLowerCase();
3372
3373
3374					const ctrlOrCommand =
3375						event.ctrlKey ||
3376						event.metaKey;
3377
3378
3379
3380					/*
3381					 * F12
3382					 */
3383					if (
3384						event.key === 'F12'
3385					) {
3386
3387						event.preventDefault();
3388
3389						event.stopPropagation();
3390
3391						showProtectionMessage();
3392
3393						return;
3394					}
3395
3396
3397
3398					/*
3399					 * View Source:
3400					 * Ctrl + U / Cmd + U
3401					 */
3402					if (
3403						ctrlOrCommand &&
3404						key === 'u'
3405					) {
3406
3407						event.preventDefault();
3408
3409						event.stopPropagation();
3410
3411						showProtectionMessage();
3412
3413						return;
3414					}
3415
3416
3417
3418					/*
3419					 * Common Developer Tools shortcuts.
3420					 */
3421					if (
3422						ctrlOrCommand &&
3423						event.shiftKey &&
3424						['i', 'j', 'c', 'k'].includes(
3425							key
3426						)
3427					) {
3428
3429						event.preventDefault();
3430
3431						event.stopPropagation();
3432
3433						showProtectionMessage();
3434
3435						return;
3436					}
3437
3438
3439
3440					/*
3441					 * macOS Developer Tools.
3442					 */
3443					if (
3444						event.metaKey &&
3445						event.altKey &&
3446						['i', 'j', 'c'].includes(
3447							key
3448						)
3449					) {
3450
3451						event.preventDefault();
3452
3453						event.stopPropagation();
3454
3455						showProtectionMessage();
3456
3457						return;
3458					}
3459
3460
3461
3462					/*
3463					 * ESC closes popup.
3464					 */
3465					if (
3466						event.key === 'Escape' &&
3467						overlay &&
3468						overlay.classList.contains(
3469							'th-is-visible'
3470						)
3471					) {
3472
3473						closeProtectionMessage();
3474					}
3475
3476				},
3477				true
3478			);
3479
3480
3481
3482			/*
3483			 * ==========================================
3484			 * POPUP CONTROLS
3485			 * ==========================================
3486			 */
3487
3488			if (closeButton) {
3489
3490				closeButton.addEventListener(
3491					'click',
3492					closeProtectionMessage
3493				);
3494			}
3495
3496
3497			if (closeX) {
3498
3499				closeX.addEventListener(
3500					'click',
3501					closeProtectionMessage
3502				);
3503			}
3504
3505
3506
3507			/*
3508			 * Clicking outside the popup closes it.
3509			 */
3510			if (overlay) {
3511
3512				overlay.addEventListener(
3513					'click',
3514					function (event) {
3515
3516						if (
3517							event.target === overlay
3518						) {
3519
3520							closeProtectionMessage();
3521						}
3522
3523					}
3524				);
3525			}
3526
3527
3528		})();
3529
3530		</script>
3530
3531
3532		    
3532<script>
3533    (function () {
3534
3535        const LOGIN_PATH = '/login-subscriber/';
3536
3537        function normalizePath(path) {
3538            if (!path) {
3539                return '/';
3540            }
3541
3542            path = path.replace(/\/+$/, '');
3543
3544            return path || '/';
3545        }
3546
3547
3548        function updateLoginLink(link) {
3549
3550            if (!link || !link.href) {
3551                return;
3552            }
3553
3554            let loginUrl;
3555
3556            try {
3557                loginUrl = new URL(link.href, window.location.href);
3558            } catch (e) {
3559                return;
3560            }
3561
3562            // Alleen links op hetzelfde domein.
3563            if (loginUrl.origin !== window.location.origin) {
3564                return;
3565            }
3566
3567            // Alleen de Toolshero.com MemberPress loginpagina.
3568            if (
3569                normalizePath(loginUrl.pathname) !==
3570                normalizePath(LOGIN_PATH)
3571            ) {
3572                return;
3573            }
3574
3575            // Niet uitvoeren als we al op de loginpagina staan.
3576            if (
3577                normalizePath(window.location.pathname) ===
3578                normalizePath(LOGIN_PATH)
3579            ) {
3580                return;
3581            }
3582
3583            // Huidige volledige URL als retouradres meegeven.
3584            loginUrl.searchParams.set(
3585                'redirect_to',
3586                window.location.href
3587            );
3588
3589            link.href = loginUrl.toString();
3590        }
3591
3592
3593        /**
3594         * Direct alle bestaande loginlinks aanpassen.
3595         */
3596        function updateAllLoginLinks() {
3597
3598            document.querySelectorAll('a[href]').forEach(function (link) {
3599                updateLoginLink(link);
3600            });
3601        }
3602
3603
3604        if (document.readyState === 'loading') {
3605
3606            document.addEventListener(
3607                'DOMContentLoaded',
3608                updateAllLoginLinks
3609            );
3610
3611        } else {
3612
3613            updateAllLoginLinks();
3614        }
3615
3616
3617        /**
3618         * Extra controle op het moment van klikken.
3619         *
3620         * Hierdoor werkt het ook wanneer het menu later
3621         * dynamisch door het thema wordt geladen.
3622         */
3623        document.addEventListener(
3624            'click',
3625            function (event) {
3626
3627                const link = event.target.closest('a[href]');
3628
3629                if (!link) {
3630                    return;
3631                }
3632
3633                updateLoginLink(link);
3634
3635            },
3636            true
3637        );
3638
3639
3640        /**
3641         * Ook pointerdown gebruiken zodat de URL al aangepast
3642         * is vóór de daadwerkelijke navigatie.
3643         */
3644        document.addEventListener(
3645            'pointerdown',
3646            function (event) {
3647
3648                const link = event.target.closest('a[href]');
3649
3650                if (!link) {
3651                    return;
3652                }
3653
3654                updateLoginLink(link);
3655
3656            },
3657            true
3658        );
3659
3660    })();
3661    </script>
3661
3662    
3663		
3664</body>
3665</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.