Help
RSS
API
Feed
Maltego
Contact
Domain > brookside.click
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2026-01-07
172.67.168.92
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Wed, 07 Jan 2026 18:52:39 GMTContent-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sUqwbOQ362FOjBbskjxM6X4%2FQDjyd2574D3Eyl5NzDLiq3OiESU%2Flwfttxwjdet7NpziVkJh3zwY0LNSrsu0A79NZY7zZe%2FGpq4ScuIdhVA%3D%3D}}cf-cache-status: DYNAMICvary: accept-encodingCF-RAY: 9ba5a7466cedc654-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langen-US> head> meta charsetutf-8 /> meta nameviewport contentwidthdevice-width, initial-scale1 /> title>TimeCraft — Time-Management Courses that Save Hours Weekly/title> meta namedescription contentTimeCraft delivers evidence-based time-management courses with hands-on frameworks, Pomodoro, prioritization, and focus systems. Learn to save 5–10 hours weekly. /> meta namekeywords contenttime management courses, productivity training, Pomodoro, prioritization, Eisenhower matrix, focus, time blocking, Brookside click /> link relcanonical hrefhttps://brookside.click/ /> script srchttps://cdn.tailwindcss.com>/script> meta nametheme-color content#ffffff /> style> :root { color-scheme: light; } html.dark { color-scheme: dark; } dialog::backdrop { background: rgba(0,0,0,.5); } .c2xj9 { animation: c2xj9 300ms ease-out both; } @keyframes c2xj9 { from { transform: translateY(8px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .y8m3q:focus { outline: none; box-shadow: 0 0 0 3px rgba(100,116,139,.5); } .h7r2b { text-wrap: balance; } .v5p0n { text-wrap: pretty; } .q9l1f { letter-spacing: .02em; } /style> script> tailwind.config { darkMode: class, theme: { extend: { colors: { brand: { DEFAULT:#0f172a } } } } }; /script> script typeapplication/ld+json> { @context: https://schema.org, @type: Organization, name: TimeCraft, url: https://brookside.click/, email: support@brookside.click, telephone: +1-415-555-2671, sameAs: https://brookside.click/, logo: https://brookside.click/ } /script> script typeapplication/ld+json> { @context: https://schema.org, @type: WebSite, url: https://brookside.click/, potentialAction: { @type: SearchAction, target: https://brookside.click/catalog.html?q{search_term_string}, query-input: required namesearch_term_string } } /script> /head> body classbg-white text-slate-900 selection:bg-slate-900 selection:text-white dark:bg-slate-950 dark:text-slate-100 m3q7l> header classbg-white text-slate-900 dark:bg-slate-950 dark:text-slate-100 border-b border-slate-200 dark:border-slate-800> style> dialog::backdrop{background:rgba(0,0,0,.5)} .xk9h7:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 3px rgba(59,130,246,.6)} .dd23l{transition:background-color .2s ease,color .2s ease,border-color .2s ease} .p2aql{will-change:transform,opacity;transition:transform .2s ease,opacity .2s ease} .r7jqp{transform:scale(.98);opacity:.0} .m5k2z{transform:scale(1);opacity:1} .n4x2t{pointer-events:none;opacity:.5} .q8v1m{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify:center;padding:0 16px 16px} .t1z9m{max-width:48rem;width:100%} .w4c1y{font-variant-numeric:tabular-nums} .b9s7e{accent-color:#0f172a} .f3u9k{display:none} @media (prefers-reduced-motion:reduce){ .p2aql{transition:none} .dd23l{transition:none} } /style> div classmax-w-7xl mx-auto px-4 py-4 flex items-center justify-between dd23l> div classflex items-center gap-3> a hrefindex.html classtext-xl font-extrabold tracking-tight hover:opacity-80 xk9h7>TimeCraft/a> /div> nav classhidden md:flex items-center gap-5> a hrefindex.html classhover:underline xk9h7>Home/a> a hrefcatalog.html classhover:underline xk9h7>Courses/a> a hrefabout.html classhover:underline xk9h7>About/a> a hreffaq.html classhover:underline xk9h7>FAQ/a> a hrefcontact.html classhover:underline xk9h7>Contact/a> a hreffallows.html classhover:underline xk9h7>Tracked span idcount-fav classml-1 inline-block min-w-1.5ch text-center rounded bg-slate-900 text-white px-1 w4c1y>0/span>/a> a hrefcart.html classhover:underline xk9h7>Cart span idcount-cart classml-1 inline-block min-w-1.5ch text-center rounded bg-slate-900 text-white px-1 w4c1y>0/span>/a> /nav> div classflex items-center gap-2> button idbtn-theme classpx-3 py-2 rounded-md border border-slate-300 hover:bg-slate-50 dark:hover:bg-slate-800 xk9h7 dd23l aria-labelToggle theme>Theme/button> button data-open#modal-search classpx-3 py-2 rounded-md border border-slate-300 hover:bg-slate-50 dark:hover:bg-slate-800 xk9h7 dd23l aria-labelSearch>Search/button> button data-open#modal-signin classpx-3 py-2 rounded-md bg-slate-900 text-white hover:opacity-90 xk9h7 dd23l>Sign in/button> button data-open#modal-signup classpx-3 py-2 rounded-md border border-slate-300 hover:bg-slate-50 dark:hover:bg-slate-800 xk9h7 dd23l>Create account/button> /div> /div> div classmd:hidden px-4 pb-3> nav classflex flex-wrap gap-3> a hrefindex.html classunderline xk9h7>Home/a> a hrefcatalog.html classunderline xk9h7>Courses/a> a hrefabout.html classunderline xk9h7>About/a> a hreffaq.html classunderline xk9h7>FAQ/a> a hrefcontact.html classunderline xk9h7>Contact/a> a hreffallows.html classunderline xk9h7>Tracked/a> a hrefcart.html classunderline xk9h7>Cart/a> /nav> /div> dialog idmodal-search classrounded-lg p-0 w-full max-w-2xl shadow-2xl border border-slate-200 dark:border-slate-700 dd23l p2aql r7jqp> div classp-6 bg-white dark:bg-slate-900 dark:text-slate-100 rounded-lg> form actionsend.php methodget classflex items-center gap-2> label classsr-only forglobal-search-input>Search/label> input idglobal-search-input typesearch placeholderSearch courses (Ctrl+K) classflex-1 border border-slate-300 dark:border-slate-600 rounded-md px-3 py-2 bg-white dark:bg-slate-800 xk9h7 /> a idglobal-search-link hrefcatalog.html classpx-4 py-2 rounded-md bg-slate-900 text-white hover:opacity-90 xk9h7>Open catalog/a> button typebutton data-close#modal-search classpx-4 py-2 rounded-md border border-slate-300 hover:bg-slate-50 dark:hover:bg-slate-800 xk9h7>Close/button> /form> ul idglobal-search-results classmt-4 divide-y divide-slate-200 dark:divide-slate-700>/ul> /div> script> (async function(){ try { const input document.getElementById(global-search-input); const results document.getElementById(global-search-results); const link document.getElementById(global-search-link); let all ; const ensure async () > { if(all.length0){ const rawait fetch(catalog.json); if(!r.ok) return; allawait r.json(); } }; input?.addEventListener(input, async ()>{ await ensure(); const q input.value.trim().toLowerCase(); link.href catalog.html + (q?`?q${encodeURIComponent(q)}`:); const filtered q ? all.filter(i > (i.title+ +i.description+ +(Array.isArray(i.tags)?i.tags.join( ):)).toLowerCase().includes(q)).slice(0,8) : ; results.innerHTML filtered.map(c>`li classpy-2>a hrefcatalog.html?q${encodeURIComponent(q)} classhover:underline>${c.title}/a> — span classtext-slate-600 dark:text-slate-400>${(c.level||All)} • ${(c.durationHours||0)}h • ${(c.priceUSD||0)}/span>/li>`).join(); }); } catch {} })(); /script> /dialog> dialog idmodal-signin classrounded-lg p-0 w-full max-w-md shadow-2xl border border-slate-200 dark:border-slate-700 dd23l p2aql r7jqp> form actionsend.php methodpost classp-6 space-y-4 bg-white dark:bg-slate-900 dark:text-slate-100 rounded-lg novalidate> h3 classtext-xl font-semibold>Sign in/h3> div> label classblock mb-1 forsi-email>Email/label> input idsi-email nameemail typeemail required classw-full border border-slate-300 dark:border-slate-600 rounded-md px-3 py-2 bg-white dark:bg-slate-800 xk9h7 /> span data-error-forsi-email classtext-sm text-red-600 hidden>Enter a valid email./span> /div> div> label classblock mb-1 forsi-pass>Password/label> input idsi-pass namepassword typepassword minlength6 required classw-full border border-slate-300 dark:border-slate-600 rounded-md px-3 py-2 bg-white dark:bg-slate-800 xk9h7 /> span data-error-forsi-pass classtext-sm text-red-600 hidden>Password must be at least 6 characters./span> /div> div classflex items-center justify-end gap-2> button typebutton data-close#modal-signin classpx-4 py-2 rounded-md border border-slate-300 hover:bg-slate-50 dark:hover:bg-slate-800 xk9h7>Close/button> button typesubmit classpx-4 py-2 rounded-md bg-slate-900 text-white hover:opacity-90 xk9h7>Sign in/button> /div> /form> /dialog> dialog idmodal-signup classrounded-lg p-0 w-full max-w-md shadow-2xl border border-slate-200 dark:border-slate-700 dd23l p2aql r7jqp> form actionsend.php methodpost classp-6 space-y-4 bg-white dark:bg-slate-900 dark:text-slate-100 rounded-lg novalidate> h3 classtext-xl font-semibold>Create account/h3> div> label classblock mb-1 forsu-name>Name/label> input idsu-name namename required classw-full border border-slate-300 dark:border-slate-600 rounded-md px-3 py-2 bg-white dark:bg-slate-800 xk9h7 /> span data-error-forsu-name classtext-sm text-red-600 hidden>Please enter your name./span> /div> div> label classblock mb-1 forsu-email>Email/label> input idsu-email nameemail typeemail required classw-full border border-slate-300 dark:border-slate-600 rounded-md px-3 py-2 bg-white dark:bg-slate-800 xk9h7 /> span data-error-forsu-email classtext-sm text-red-600 hidden>Enter a valid email./span> /div> div> label classblock mb-1 forsu-pass>Password/label> input idsu-pass namepassword typepassword minlength6 required classw-full border border-slate-300 dark:border-slate-600 rounded-md px-3 py-2 bg-white dark:bg-slate-800 xk9h7 /> span data-error-forsu-pass classtext-sm text-red-600 hidden>Password must be at least 6 characters./span> /div> div classflex items-center justify-end gap-2> button typebutton data-close#modal-signup classpx-4 py-2 rounded-md border border-slate-300 hover:bg-slate-50 dark:hover:bg-slate-800 xk9h7>Close/button> button typesubmit classpx-4 py-2 rounded-md bg-slate-900 text-white hover:opacity-90 xk9h7>Create/button> /div> /form> /dialog> script> (function(){ const prefersDark window.matchMedia && window.matchMedia((prefers-color-scheme: dark)).matches; const root document.documentElement; const applyTheme (mode) > { if(mode dark || (modeauto && prefersDark)){ root.classList.add(dark); root.setAttribute(data-theme,dark); } else { root.classList.remove(dark); root.setAttribute(data-theme,light); } }; const saved localStorage.getItem(theme-mode) || auto; applyTheme(saved); const themeBtn document.getElementById(btn-theme); const cycle (val)> vallight?dark:valdark?auto:light; const label (val)> vallight?Light:valdark?Dark:Auto; if(themeBtn){ themeBtn.textContent Theme; themeBtn.setAttribute(data-mode, saved); themeBtn.title Theme: + label(saved) + (click to change); themeBtn.addEventListener(click, ()>{ const current themeBtn.getAttribute(data-mode) || auto; const next cycle(current); themeBtn.setAttribute(data-mode, next); themeBtn.title Theme: + label(next) + (click to change); localStorage.setItem(theme-mode, next); applyTheme(next); }); } window.matchMedia && window.matchMedia((prefers-color-scheme: dark)).addEventListener(change, ()>applyTheme(localStorage.getItem(theme-mode)||auto)); const updateCounters ()>{ try{ const fav JSON.parse(localStorage.getItem(fav)||); const cart JSON.parse(localStorage.getItem(cart)||); const favEl document.getElementById(count-fav); const cartEl document.getElementById(count-cart); if(favEl) favEl.textContent String(fav.length||0); if(cartEl) cartEl.textContent String(cart.length||0); }catch(e){} }; updateCounters(); window.addEventListener(storage, (e)>{ if(e.keyfav || e.keycart) updateCounters(); }); const qs (sel, ctxdocument)>Array.from(ctx.querySelectorAll(sel)); const openModal (dlg)>{ if(!(dlg instanceof HTMLDialogElement)) return; dlg.classList.remove(r7jqp); dlg.classList.add(m5k2z); if(typeof dlg.showModalfunction){ dlg.showModal(); } else { dlg.setAttribute(open,); } trapFocus(dlg); }; const closeModal (dlg)>{ if(!(dlg instanceof HTMLDialogElement)) return; dlg.classList.remove(m5k2z); dlg.classList.add(r7jqp); if(typeof dlg.closefunction){ dlg.close(); } else { dlg.removeAttribute(open); } releaseFocus(); }; qs(data-open).forEach(btn>{ btn.addEventListener(click, ()>{ const sel btn.getAttribute(data-open); const dlg document.querySelector(sel); openModal(dlg); if(sel#modal-search){ setTimeout(()>document.getElementById(global-search-input)?.focus(), 10); } }); }); qs(data-close).forEach(btn>{ btn.addEventListener(click, ()>{ const sel btn.getAttribute(data-close); const dlg document.querySelector(sel); closeModal(dlg); }); }); qs(dialog).forEach(dlg>{ dlg.addEventListener(click, (e)>{ if(e.targetdlg) closeModal(dlg); }); dlg.addEventListener(cancel, (e)>{ e.preventDefault(); closeModal(dlg); }); }); document.addEventListener(keydown, (e)>{ const isK (e.keyk || e.keyK); const isSlash (e.key/ && !e.shiftKey && !e.ctrlKey && !e.altKey); const meta e.metaKey || e.ctrlKey; const activeTag document.activeElement && document.activeElement.tagName; const inInput INPUT,TEXTAREA,SELECT.includes(activeTag); if(meta && isK){ e.preventDefault(); const ddocument.getElementById(modal-search); openModal(d); setTimeout(()>document.getElementById(global-search-input)?.focus(), 10); } else if(isSlash && !inInput){ e.preventDefault(); const ddocument.getElementById(modal-search); openModal(d); setTimeout(()>document.getElementById(global-search-input)?.focus(), 10); } if(e.keyEscape){ const open qs(dialogopen); open.forEach(d>closeModal(d)); } }); let lastFocus null; function trapFocus(modal){ lastFocus document.activeElement; const focusable modal.querySelectorAll(ahref,button:not(disabled),textarea,input,select,tabindex:not(tabindex-1)); const first focusable0, last focusablefocusable.length-1; if(first) first.focus(); function loop(e){ if(e.key!Tab) return; if(focusable.length0) return; if(e.shiftKey && document.activeElementfirst){ e.preventDefault(); last.focus(); } else if(!e.shiftKey && document.activeElementlast){ e.preventDefault(); first.focus(); } } modal.addEventListener(keydown, loop); modal._trapHandler loop; } function releaseFocus(){ const openAny qs(dialogopen).length>0; if(openAny) return; qs(dialog).forEach(m>{ if(m._trapHandler){ m.removeEventListener(keydown, m._trapHandler); delete m._trapHandler; } }); if(lastFocus && document.contains(lastFocus)) try{ lastFocus.focus(); }catch{} lastFocus null; } const emailOk (v)>/^^\s@+@^\s@+\.^\s@+$/.test(String(v||).trim()); const showErr (id, ok)>{ const el document.querySelector(`data-error-for`); if(!el) return; if(ok){ el.classList.add(hidden); } else { el.classList.remove(hidden); } }; const si document.getElementById(modal-signin)?.querySelector(form); si?.addEventListener(submit,(e)>{ const email si.querySelector(#si-email); const pass si.querySelector(#si-pass); let valid true; if(!emailOk(email.value)){ validfalse; showErr(si-email, false); } else { showErr(si-email, true); } if(String(pass.value||).length6){ validfalse; showErr(si-pass, false); } else { showErr(si-pass, true); } if(!valid){ e.preventDefault(); email.focus(); } }); const su document.getElementById(modal-signup)?.querySelector(form); su?.addEventListener(submit,(e)>{ const name su.querySelector(#su-name); const email su.querySelector(#su-email); const pass su.querySelector(#su-pass); let valid true; if(!String(name.value||).trim()){ validfalse; showErr(su-name, false); } else { showErr(su-name, true); } if(!emailOk(email.value)){ validfalse; showErr(su-email, false); } else { showErr(su-email, true); } if(String(pass.value||).length6){ validfalse; showErr(su-pass, false); } else { showErr(su-pass, true); } if(!valid){ e.preventDefault(); (name.value?email:name).focus(); } }); })(); /script>/header> main classmax-w-6xl mx-auto px-4 py-10 p7d9x> section classtext-center space-y-6 v2kb3> p idtz-greeting classtext-sm tracking-wide uppercase text-slate-500 q9l1f>Welcome/p> h1 classtext-4xl md:text-6xl font-extrabold leading-tight h7r2b>Learn Time-Management Skills That Compound/h1> p classtext-lg md:text-xl text-slate-700 dark:text-slate-300 max-w-3xl mx-auto v5p0n> Practical courses to plan, prioritize, and focus. Expect real outcomes: reclaim 5–10 hours weekly within 21 days. /p> div classflex items-center justify-center gap-3> a hrefcatalog.html classinline-block rounded-md bg-slate-900 text-white px-5 py-3 hover:bg-black focus:outline-none focus:ring-2 focus:ring-slate-400 y8m3q>Browse Courses/a> a hrefcontact.html classinline-block rounded-md border border-slate-300 dark:border-slate-700 px-5 py-3 hover:bg-slate-50 dark:hover:bg-slate-900 focus:outline-none focus:ring-2 focus:ring-slate-400 y8m3q>Talk to us/a> /div> div classmax-w-xl mx-auto> form idnewsletter actionsend.php methodpost classflex gap-2 mt-4> label classsr-only fornl-email>Email/label> input idnl-email nameemail typeemail required placeholderYour email for tips (1/week) classflex-1 border border-slate-300 dark:border-slate-700 dark:bg-slate-900 rounded-md px-3 py-3 outline-none focus:ring-2 focus:ring-slate-400 y8m3q /> button typesubmit classrounded-md bg-slate-900 text-white px-5 py-3 hover:bg-black focus:outline-none focus:ring-2 focus:ring-slate-400 y8m3q>Subscribe/button> /form> /div> /section> section classmt-16 grid md:grid-cols-3 gap-6 l1u8c> div classp-6 border border-slate-200 dark:border-slate-800 rounded-lg> h3 classfont-semibold text-xl mb-2>Evidence-Based/h3> p classtext-slate-700 dark:text-slate-300>Backed by cognitive science: time blocking, spaced repetition, and deliberate practice./p> /div> div classp-6 border border-slate-200 dark:border-slate-800 rounded-lg> h3 classfont-semibold text-xl mb-2>Built for Any Time Zone/h3> p classtext-slate-700 dark:text-slate-300>Scheduling tools adapt to your locale and work hours—wherever you are./p> /div> div classp-6 border border-slate-200 dark:border-slate-800 rounded-lg> h3 classfont-semibold text-xl mb-2>Zero Fluff/h3> p classtext-slate-700 dark:text-slate-300>Straight to the frameworks you will actually use daily. Minimalist and actionable./p> /div> /section> section classmt-16 p-6 border border-slate-200 dark:border-slate-800 rounded-lg b7z6m> div classflex items-center justify-between flex-wrap gap-4> div> h2 classtext-2xl font-bold>Pomodoro Sprint (Demo)/h2> p classtext-slate-700 dark:text-slate-300>Try a 25-min sprint with 5-min break. This mini tool runs locally./p> /div> div classflex items-center gap-2> button idpom-start classpx-4 py-2 rounded-md bg-slate-900 text-white hover:bg-black y8m3q>Start/button> button idpom-stop classpx-4 py-2 rounded-md border border-slate-300 dark:border-slate-700 hover:bg-slate-50 dark:hover:bg-slate-900 y8m3q>Stop/button> /div> /div> div classmt-4> div classtext-5xl font-bold tabular-nums idpom-timer>25:00/div> p classtext-slate-600 dark:text-slate-400 mt-1 idpom-phase>Focus/p> /div> /section> section classmt-16 u2p1c> div classflex items-center justify-between> h2 classtext-2xl font-bold>Starter Picks/h2> a hrefcatalog.html classtext-slate-900 dark:text-white underline underline-offset-4>See all courses/a> /div> div idstarter-courses classmt-6 grid md:grid-cols-3 gap-6>/div> /section> section classmt-16> div classp-6 border border-slate-200 dark:border-slate-800 rounded-lg n4s5v> h2 classtext-2xl font-bold mb-2>Micro Audit/h2> p classtext-slate-700 dark:text-slate-300 mb-4>Answer three quick questions to estimate hours you can recover this month./p> button idopen-audit classpx-4 py-2 rounded-md bg-slate-900 text-white hover:bg-black y8m3q>Start 45-second audit/button> /div> /section> dialog idmodal-audit classrounded-lg p-0 w-full max-w-lg c2xj9> form actionsend.php methodpost classp-6 space-y-4> h3 classtext-xl font-semibold>Time Audit/h3> label classblock> span classblock mb-1>Context switching per hour?/span> select nameswitches classw-full border border-slate-300 dark:border-slate-700 dark:bg-slate-900 rounded-md px-3 py-2> option value2>~2/option> option value5>~5/option> option value10>~10/option> /select> /label> label classblock> span classblock mb-1>Average meeting hours/week/span> input typenumber namemeetings min0 max40 value8 classw-full border border-slate-300 dark:border-slate-700 dark:bg-slate-900 rounded-md px-3 py-2 /> /label> label classblock> span classblock mb-1>Primary goal/span> input typetext namegoal required classw-full border border-slate-300 dark:border-slate-700 dark:bg-slate-900 rounded-md px-3 py-2 placeholderE.g., Ship more features /> /label> div classflex gap-2 justify-end> button typebutton data-close#modal-audit classpx-4 py-2 rounded-md border border-slate-300 dark:border-slate-700>Close/button> button typesubmit classpx-4 py-2 rounded-md bg-slate-900 text-white>Estimate/button> /div> p classtext-xs text-slate-500 dark:text-slate-400>Additional tags: productivity, time tracking, focus sprints, deep work, Eisenhower matrix, time blocking, schedule design, habit formation/p> /form> /dialog> dialog idmodal-alert classrounded-lg p-0 w-full max-w-md c2xj9> div classp-6> h3 classtext-lg font-semibold mb-2>Notice/h3> p idalert-text classtext-slate-700 dark:text-slate-300>Message/p> div classmt-4 text-right> button data-close#modal-alert classpx-4 py-2 rounded-md bg-slate-900 text-white>OK/button> /div> /div> /dialog> dialog idmodal-search classrounded-lg p-0 w-full max-w-2xl c2xj9> div classp-6 space-y-4> h3 classtext-xl font-semibold>Search courses/h3> input idglobal-search-input typesearch placeholderTry: Pomodoro, prioritization, focus... classw-full border border-slate-300 dark:border-slate-700 dark:bg-slate-900 rounded-md px-3 py-2 outline-none focus:ring-2 focus:ring-slate-400 y8m3q /> div idglobal-search-results classspace-y-2>/div> div classflex justify-end gap-2> a hrefcatalog.html classpx-4 py-2 rounded-md border border-slate-300 dark:border-slate-700>Open catalog/a> button data-close#modal-search classpx-4 py-2 rounded-md bg-slate-900 text-white>Close/button> /div> /div> /dialog> /main> footer classp2aql relative> div classmax-w-7xl mx-auto px-4 py-10 border-t border-slate-200 xk9h7> div classflex flex-col md:flex-row md:items-center justify-between gap-4 v7lmx> nav classflex flex-wrap items-center gap-4 dd23l> a href./privacy.html classhover:underline r8k2t>Privacy/a> a href./terms.html classhover:underline m0sfd>Terms/a> a href./faq.html classhover:underline u1qnb>FAQ/a> a href./contact.html classhover:underline t4nwe>Contact/a> button typebutton idcookie-manage classpx-3 py-1.5 rounded-md border border-slate-300 text-sm text-slate-700 hover:bg-slate-50 f9q2l>Cookie settings/button> /nav> div classtext-sm text-slate-700 q3za8> p>Phone: +1 (415) 555-2671 • Email: a classunderline href/cdn-cgi/l/email-protection#afdcdadfdfc0dddbefcdddc0c0c4dcc6cbca81ccc3c6ccc4>span class__cf_email__ data-cfemaild6a5a3a6a6b9a4a296b4a4b9b9bda5bfb2b3f8b5babfb5bd>email protected/span>/a>/p> /div> /div> p classtext-xs text-slate-500 mt-4 z1y3k>Additional tags: productivity synergy optimization brookside.click conversion growth analytics UX UI accessibility automation performance security compliance GDPR CCPA startup enterprise marketing landing-page TailwindCSS JavaScript design engineering integrations reliability scalability innovation A/B-testing funnels microinteractions quality assurance/p> /div> div idcookie-banner classhidden fixed bottom-4 inset-x-4 md:left-auto md:right-4 md:w-420px bg-white border border-slate-200 rounded-lg shadow-lg p-4 w3n8d roledialog aria-livepolite aria-labelCookie consent> p classtext-sm text-slate-700 y2r9p>We use a minimal cookie to remember your preferences. You can withdraw consent anytime. See our a classunderline hover:text-slate-900 href./privacy.html>Privacy Policy/a>./p> div classmt-3 flex items-center justify-end gap-2 k5m0q> button data-consentdeny classpx-4 py-2 rounded-md border border-slate-300 text-slate-700 hover:bg-slate-50 s0n8d>Decline/button> button data-consentallow classpx-4 py-2 rounded-md bg-slate-900 text-white hover:bg-slate-800 b2x6h>Allow/button> /div> /div>/footer> div idcookie-banner classfixed inset-x-0 bottom-0 hidden z-50> div classmx-auto max-w-6xl px-4 py-4 mb-4 rounded-lg border border-slate-200 dark:border-slate-800 bg-white/95 dark:bg-slate-900/95 backdrop-blur c2xj9> div classflex flex-col md:flex-row md:items-center md:justify-between gap-3> p classtext-sm text-slate-700 dark:text-slate-300 v5p0n>We use cookies to analyze traffic and improve your learning experience. By clicking “Accept”, you consent to the use of cookies as described in our policy./p> div classflex items-center gap-2> button data-consent classpx-4 py-2 rounded-md border border-slate-300 dark:border-slate-700 hover:bg-slate-50 dark:hover:bg-slate-800 y8m3q>Decline/button> button data-consent classpx-4 py-2 rounded-md bg-slate-900 text-white hover:bg-black y8m3q>Accept/button> /div> /div> /div> /div> script data-cfasyncfalse src/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js>/script>script> const qs (s, r document) > r.querySelector(s); const qsa (s, r document) > Array.from(r.querySelectorAll(s)); const storage { get: (k, v) > { try { return JSON.parse(localStorage.getItem(k)) ?? v; } catch { return v; } }, set: (k, v) > localStorage.setItem(k, JSON.stringify(v)) }; async function loadPartial(containerSel, url) { try { const res await fetch(url, { cache: no-store }); if (!res.ok) throw new Error(Failed to load + url); const html await res.text(); qs(containerSel).innerHTML html; } catch (e) { qs(containerSel).innerHTML ; } } function openModal(id) { const el typeof id string ? qs(id) : id; if (el && typeof el.showModal function) el.showModal(); } function closeModal(id) { const el typeof id string ? qs(id) : id; if (el && typeof el.close function) el.close(); } function initCommonUI() { // Theme toggle const html document.documentElement; const theme storage.get(tm_theme, light); html.classList.toggle(dark, theme dark); const btnTheme qs(#btn-theme); if (btnTheme) btnTheme.addEventListener(click, () > { const next html.classList.contains(dark) ? light : dark; html.classList.toggle(dark, next dark); storage.set(tm_theme, next); }); // Sign in/up modals qsa(data-open).forEach(b > b.addEventListener(click, () > openModal(b.getAttribute(data-open)))); qsa(data-close).forEach(b > b.addEventListener(click, () > closeModal(b.getAttribute(data-close)))); // Header counters const fav storage.get(tm_favorites, ); const cart storage.get(tm_cart, ); const favCount qs(#count-fav); if (favCount) favCount.textContent fav.length; const cartCount qs(#count-cart); if (cartCount) cartCount.textContent cart.reduce((n,i)>n+(i.qty||1),0); // Cookie consent const consent storage.get(tm_cookie, null); const banner qs(#cookie-banner); if (banner && !consent) banner.classList.remove(hidden); qsa(data-consent).forEach(btn > btn.addEventListener(click, () > { storage.set(tm_cookie, {v:1, t: Date.now()}); if (banner) banner.classList.add(hidden); })); // Ctrl+K search document.addEventListener(keydown, (e) > { if ((e.ctrlKey || e.metaKey) && e.key.toLowerCase() k) { e.preventDefault(); openModal(#modal-search); const si qs(#global-search-input); if (si) setTimeout(()>si.focus(), 10); } }); } async function bootstrap() { await loadPartial(header, header.html); await loadPartial(footer, footer.html); initCommonUI(); initPage(); } async function initPage() { // Timezone greeting try { const now new Date(); const h now.getHours(); const tz Intl.DateTimeFormat().resolvedOptions().timeZone || your time zone; const prefix h 12 ? Good morning : (h 18 ? Good afternoon : Good evening); qs(#tz-greeting).textContent `${prefix} — optimized for ${tz}`; } catch {} // Pomodoro let pomInterval null; let total 25*60, phase Focus; const timerEl qs(#pom-timer), phaseEl qs(#pom-phase); function renderPom() { const m String(Math.floor(total/60)).padStart(2,0); const s String(total%60).padStart(2,0); timerEl.textContent `${m}:${s}`; phaseEl.textContent phase; } renderPom(); qs(#pom-start).addEventListener(click, () > { if (pomInterval) return; pomInterval setInterval(() > { total--; if (total 0) { if (phase Focus) { phaseBreak; total 5*60; openModal(#modal-alert); qs(#alert-text).textContent Focus complete. Break started.; } else { phaseFocus; total 25*60; openModal(#modal-alert); qs(#alert-text).textContent Break over. New focus sprint.; } } renderPom(); }, 1000); }); qs(#pom-stop).addEventListener(click, () > { clearInterval(pomInterval); pomIntervalnull; total phaseFocus?25*60:5*60; renderPom(); }); // Starter courses (top rated 3) let data ; try { const res await fetch(catalog.json, { cache: no-store }); data await res.json(); } catch { data ; } const wrap qs(#starter-courses); if (!Array.isArray(data) || data.length 0) { wrap.innerHTML div classp-6 border border-slate-200 dark:border-slate-800 rounded-lg>p classtext-slate-700 dark:text-slate-300>No courses available right now. Please check back soon./p>/div>; } else { const top ...data.sort((a,b)>b.rating-a.rating).slice(0,3); wrap.innerHTML top.map(c > ` div classp-6 border border-slate-200 dark:border-slate-800 rounded-lg flex flex-col> h3 classfont-semibold text-lg>${c.title}/h3> p classtext-slate-700 dark:text-slate-300 mt-1>${c.description}/p> div classmt-3 text-sm text-slate-600 dark:text-slate-400 flex items-center gap-3> span>${c.level}/span>span>•/span>span>${c.durationHours}h/span>span>•/span>span>★ ${c.rating}/span> /div> div classmt-4 flex items-center gap-2> button data-course${c.id} classadd-fav px-3 py-2 rounded-md border border-slate-300 dark:border-slate-700 hover:bg-slate-50 dark:hover:bg-slate-900>Track/button> button data-course${c.id} classadd-cart px-3 py-2 rounded-md bg-slate-900 text-white>Add to cart — $${c.priceUSD}/button> a hrefcatalog.html?q${encodeURIComponent(c.title)} classpx-3 py-2 rounded-md underline underline-offset-4>Details/a> /div> /div> `).join(); wrap.querySelectorAll(.add-fav).forEach(b>b.addEventListener(click, () > { const id Number(b.getAttribute(data-course)); const fav storage.get(tm_favorites, ); if (!fav.includes(id)) { fav.push(id); storage.set(tm_favorites, fav); } const favCount qs(#count-fav); if (favCount) favCount.textContent fav.length; openModal(#modal-alert); qs(#alert-text).textContent Added to tracking.; })); wrap.querySelectorAll(.add-cart).forEach(b>b.addEventListener(click, () > { const id Number(b.getAttribute(data-course)); const cart storage.get(tm_cart, ); const item cart.find(i>i.idid); if (item) item.qty (item.qty||1)+1; else cart.push({id, qty:1}); storage.set(tm_cart, cart); const cartCount qs(#count-cart); if (cartCount) cartCount.textContent cart.reduce((n,i)>n+(i.qty||1),0); openModal(#modal-alert); qs(#alert-text).textContent Added to cart.; })); } // Newsletter validation qs(#newsletter).addEventListener(submit, (e) > { const email qs(#nl-email).value.trim(); const ok /^^\s@+@^\s@+\.^\s@+$/.test(email); if (!ok) { e.preventDefault(); openModal(#modal-alert); qs(#alert-text).textContent Please enter a valid email address.; } }); // Audit modal qs(#open-audit).addEventListener(click, () > openModal(#modal-audit)); qs(#modal-audit).addEventListener(submit, (e) > { e.preventDefault(); const form new FormData(e.target); const switches Number(form.get(switches) || 2); const meetings Number(form.get(meetings) || 8); const saved Math.max(2, Math.round(switches*0.5 + Math.max(0, meetings-5)*0.3)); openModal(#modal-alert); qs(#alert-text).textContent `Estimated recoverable time: ~${saved} hours/week with focused sprints and meeting pruning.`; }); // Search modal live results const si qs(#global-search-input); const sr qs(#global-search-results); if (si && sr) { const ensureData async () > { if (!Array.isArray(data) || data.length 0) { try { const res await fetch(catalog.json, { cache: no-store }); data await res.json(); } catch { data ; } } }; si.addEventListener(input, async () > { const q si.value.trim().toLowerCase(); await ensureData(); if (!q) { sr.innerHTML p classtext-slate-500 dark:text-slate-400>Type to search courses./p>; return; } const results data.filter(c > (c.title+c.description+(c.tags||).join( )).toLowerCase().includes(q)).slice(0,8); if (results.length 0) { sr.innerHTML p classtext-slate-500 dark:text-slate-400>No results. Try another term./p>; return; } sr.innerHTML results.map(c > ` a classblock p-3 rounded-md border border-slate-200 dark:border-slate-800 hover:bg-slate-50 dark:hover:bg-slate-900 hrefcatalog.html?q${encodeURIComponent(c.title)}> span classfont-medium>${c.title}/span> span classml-2 text-xs px-2 py-0.5 rounded-full border border-slate-300 dark:border-slate-700>${c.level}/span> p classtext-sm text-slate-600 dark:text-slate-400 mt-1>${c.description}/p> /a> `).join(); }); sr.innerHTML p classtext-slate-500 dark:text-slate-400>Type to search courses./p>; } } bootstrap(); /script> /body>/html>
Port 443
HTTP/1.1 200 OKDate: Wed, 07 Jan 2026 18:52:39 GMTContent-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sPsIftNtC5xJVp5wYKWKOCmUOdwgBAIQb9AqR992QXt7JAEvqRgC%2BJjiiKcBovn3gTN0qdBZbn%2FXwuGaaXk1qlEQfagRMyQW3M4yeUfjMLQ%3D%3D}}cf-cache-status: DYNAMICvary: accept-encodingCF-RAY: 9ba5a7496f0bc8da-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langen-US> head> meta charsetutf-8 /> meta nameviewport contentwidthdevice-width, initial-scale1 /> title>TimeCraft — Time-Management Courses that Save Hours Weekly/title> meta namedescription contentTimeCraft delivers evidence-based time-management courses with hands-on frameworks, Pomodoro, prioritization, and focus systems. Learn to save 5–10 hours weekly. /> meta namekeywords contenttime management courses, productivity training, Pomodoro, prioritization, Eisenhower matrix, focus, time blocking, Brookside click /> link relcanonical hrefhttps://brookside.click/ /> script srchttps://cdn.tailwindcss.com>/script> meta nametheme-color content#ffffff /> style> :root { color-scheme: light; } html.dark { color-scheme: dark; } dialog::backdrop { background: rgba(0,0,0,.5); } .c2xj9 { animation: c2xj9 300ms ease-out both; } @keyframes c2xj9 { from { transform: translateY(8px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .y8m3q:focus { outline: none; box-shadow: 0 0 0 3px rgba(100,116,139,.5); } .h7r2b { text-wrap: balance; } .v5p0n { text-wrap: pretty; } .q9l1f { letter-spacing: .02em; } /style> script> tailwind.config { darkMode: class, theme: { extend: { colors: { brand: { DEFAULT:#0f172a } } } } }; /script> script typeapplication/ld+json> { @context: https://schema.org, @type: Organization, name: TimeCraft, url: https://brookside.click/, email: support@brookside.click, telephone: +1-415-555-2671, sameAs: https://brookside.click/, logo: https://brookside.click/ } /script> script typeapplication/ld+json> { @context: https://schema.org, @type: WebSite, url: https://brookside.click/, potentialAction: { @type: SearchAction, target: https://brookside.click/catalog.html?q{search_term_string}, query-input: required namesearch_term_string } } /script> /head> body classbg-white text-slate-900 selection:bg-slate-900 selection:text-white dark:bg-slate-950 dark:text-slate-100 m3q7l> header classbg-white text-slate-900 dark:bg-slate-950 dark:text-slate-100 border-b border-slate-200 dark:border-slate-800> style> dialog::backdrop{background:rgba(0,0,0,.5)} .xk9h7:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 3px rgba(59,130,246,.6)} .dd23l{transition:background-color .2s ease,color .2s ease,border-color .2s ease} .p2aql{will-change:transform,opacity;transition:transform .2s ease,opacity .2s ease} .r7jqp{transform:scale(.98);opacity:.0} .m5k2z{transform:scale(1);opacity:1} .n4x2t{pointer-events:none;opacity:.5} .q8v1m{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify:center;padding:0 16px 16px} .t1z9m{max-width:48rem;width:100%} .w4c1y{font-variant-numeric:tabular-nums} .b9s7e{accent-color:#0f172a} .f3u9k{display:none} @media (prefers-reduced-motion:reduce){ .p2aql{transition:none} .dd23l{transition:none} } /style> div classmax-w-7xl mx-auto px-4 py-4 flex items-center justify-between dd23l> div classflex items-center gap-3> a hrefindex.html classtext-xl font-extrabold tracking-tight hover:opacity-80 xk9h7>TimeCraft/a> /div> nav classhidden md:flex items-center gap-5> a hrefindex.html classhover:underline xk9h7>Home/a> a hrefcatalog.html classhover:underline xk9h7>Courses/a> a hrefabout.html classhover:underline xk9h7>About/a> a hreffaq.html classhover:underline xk9h7>FAQ/a> a hrefcontact.html classhover:underline xk9h7>Contact/a> a hreffallows.html classhover:underline xk9h7>Tracked span idcount-fav classml-1 inline-block min-w-1.5ch text-center rounded bg-slate-900 text-white px-1 w4c1y>0/span>/a> a hrefcart.html classhover:underline xk9h7>Cart span idcount-cart classml-1 inline-block min-w-1.5ch text-center rounded bg-slate-900 text-white px-1 w4c1y>0/span>/a> /nav> div classflex items-center gap-2> button idbtn-theme classpx-3 py-2 rounded-md border border-slate-300 hover:bg-slate-50 dark:hover:bg-slate-800 xk9h7 dd23l aria-labelToggle theme>Theme/button> button data-open#modal-search classpx-3 py-2 rounded-md border border-slate-300 hover:bg-slate-50 dark:hover:bg-slate-800 xk9h7 dd23l aria-labelSearch>Search/button> button data-open#modal-signin classpx-3 py-2 rounded-md bg-slate-900 text-white hover:opacity-90 xk9h7 dd23l>Sign in/button> button data-open#modal-signup classpx-3 py-2 rounded-md border border-slate-300 hover:bg-slate-50 dark:hover:bg-slate-800 xk9h7 dd23l>Create account/button> /div> /div> div classmd:hidden px-4 pb-3> nav classflex flex-wrap gap-3> a hrefindex.html classunderline xk9h7>Home/a> a hrefcatalog.html classunderline xk9h7>Courses/a> a hrefabout.html classunderline xk9h7>About/a> a hreffaq.html classunderline xk9h7>FAQ/a> a hrefcontact.html classunderline xk9h7>Contact/a> a hreffallows.html classunderline xk9h7>Tracked/a> a hrefcart.html classunderline xk9h7>Cart/a> /nav> /div> dialog idmodal-search classrounded-lg p-0 w-full max-w-2xl shadow-2xl border border-slate-200 dark:border-slate-700 dd23l p2aql r7jqp> div classp-6 bg-white dark:bg-slate-900 dark:text-slate-100 rounded-lg> form actionsend.php methodget classflex items-center gap-2> label classsr-only forglobal-search-input>Search/label> input idglobal-search-input typesearch placeholderSearch courses (Ctrl+K) classflex-1 border border-slate-300 dark:border-slate-600 rounded-md px-3 py-2 bg-white dark:bg-slate-800 xk9h7 /> a idglobal-search-link hrefcatalog.html classpx-4 py-2 rounded-md bg-slate-900 text-white hover:opacity-90 xk9h7>Open catalog/a> button typebutton data-close#modal-search classpx-4 py-2 rounded-md border border-slate-300 hover:bg-slate-50 dark:hover:bg-slate-800 xk9h7>Close/button> /form> ul idglobal-search-results classmt-4 divide-y divide-slate-200 dark:divide-slate-700>/ul> /div> script> (async function(){ try { const input document.getElementById(global-search-input); const results document.getElementById(global-search-results); const link document.getElementById(global-search-link); let all ; const ensure async () > { if(all.length0){ const rawait fetch(catalog.json); if(!r.ok) return; allawait r.json(); } }; input?.addEventListener(input, async ()>{ await ensure(); const q input.value.trim().toLowerCase(); link.href catalog.html + (q?`?q${encodeURIComponent(q)}`:); const filtered q ? all.filter(i > (i.title+ +i.description+ +(Array.isArray(i.tags)?i.tags.join( ):)).toLowerCase().includes(q)).slice(0,8) : ; results.innerHTML filtered.map(c>`li classpy-2>a hrefcatalog.html?q${encodeURIComponent(q)} classhover:underline>${c.title}/a> — span classtext-slate-600 dark:text-slate-400>${(c.level||All)} • ${(c.durationHours||0)}h • ${(c.priceUSD||0)}/span>/li>`).join(); }); } catch {} })(); /script> /dialog> dialog idmodal-signin classrounded-lg p-0 w-full max-w-md shadow-2xl border border-slate-200 dark:border-slate-700 dd23l p2aql r7jqp> form actionsend.php methodpost classp-6 space-y-4 bg-white dark:bg-slate-900 dark:text-slate-100 rounded-lg novalidate> h3 classtext-xl font-semibold>Sign in/h3> div> label classblock mb-1 forsi-email>Email/label> input idsi-email nameemail typeemail required classw-full border border-slate-300 dark:border-slate-600 rounded-md px-3 py-2 bg-white dark:bg-slate-800 xk9h7 /> span data-error-forsi-email classtext-sm text-red-600 hidden>Enter a valid email./span> /div> div> label classblock mb-1 forsi-pass>Password/label> input idsi-pass namepassword typepassword minlength6 required classw-full border border-slate-300 dark:border-slate-600 rounded-md px-3 py-2 bg-white dark:bg-slate-800 xk9h7 /> span data-error-forsi-pass classtext-sm text-red-600 hidden>Password must be at least 6 characters./span> /div> div classflex items-center justify-end gap-2> button typebutton data-close#modal-signin classpx-4 py-2 rounded-md border border-slate-300 hover:bg-slate-50 dark:hover:bg-slate-800 xk9h7>Close/button> button typesubmit classpx-4 py-2 rounded-md bg-slate-900 text-white hover:opacity-90 xk9h7>Sign in/button> /div> /form> /dialog> dialog idmodal-signup classrounded-lg p-0 w-full max-w-md shadow-2xl border border-slate-200 dark:border-slate-700 dd23l p2aql r7jqp> form actionsend.php methodpost classp-6 space-y-4 bg-white dark:bg-slate-900 dark:text-slate-100 rounded-lg novalidate> h3 classtext-xl font-semibold>Create account/h3> div> label classblock mb-1 forsu-name>Name/label> input idsu-name namename required classw-full border border-slate-300 dark:border-slate-600 rounded-md px-3 py-2 bg-white dark:bg-slate-800 xk9h7 /> span data-error-forsu-name classtext-sm text-red-600 hidden>Please enter your name./span> /div> div> label classblock mb-1 forsu-email>Email/label> input idsu-email nameemail typeemail required classw-full border border-slate-300 dark:border-slate-600 rounded-md px-3 py-2 bg-white dark:bg-slate-800 xk9h7 /> span data-error-forsu-email classtext-sm text-red-600 hidden>Enter a valid email./span> /div> div> label classblock mb-1 forsu-pass>Password/label> input idsu-pass namepassword typepassword minlength6 required classw-full border border-slate-300 dark:border-slate-600 rounded-md px-3 py-2 bg-white dark:bg-slate-800 xk9h7 /> span data-error-forsu-pass classtext-sm text-red-600 hidden>Password must be at least 6 characters./span> /div> div classflex items-center justify-end gap-2> button typebutton data-close#modal-signup classpx-4 py-2 rounded-md border border-slate-300 hover:bg-slate-50 dark:hover:bg-slate-800 xk9h7>Close/button> button typesubmit classpx-4 py-2 rounded-md bg-slate-900 text-white hover:opacity-90 xk9h7>Create/button> /div> /form> /dialog> script> (function(){ const prefersDark window.matchMedia && window.matchMedia((prefers-color-scheme: dark)).matches; const root document.documentElement; const applyTheme (mode) > { if(mode dark || (modeauto && prefersDark)){ root.classList.add(dark); root.setAttribute(data-theme,dark); } else { root.classList.remove(dark); root.setAttribute(data-theme,light); } }; const saved localStorage.getItem(theme-mode) || auto; applyTheme(saved); const themeBtn document.getElementById(btn-theme); const cycle (val)> vallight?dark:valdark?auto:light; const label (val)> vallight?Light:valdark?Dark:Auto; if(themeBtn){ themeBtn.textContent Theme; themeBtn.setAttribute(data-mode, saved); themeBtn.title Theme: + label(saved) + (click to change); themeBtn.addEventListener(click, ()>{ const current themeBtn.getAttribute(data-mode) || auto; const next cycle(current); themeBtn.setAttribute(data-mode, next); themeBtn.title Theme: + label(next) + (click to change); localStorage.setItem(theme-mode, next); applyTheme(next); }); } window.matchMedia && window.matchMedia((prefers-color-scheme: dark)).addEventListener(change, ()>applyTheme(localStorage.getItem(theme-mode)||auto)); const updateCounters ()>{ try{ const fav JSON.parse(localStorage.getItem(fav)||); const cart JSON.parse(localStorage.getItem(cart)||); const favEl document.getElementById(count-fav); const cartEl document.getElementById(count-cart); if(favEl) favEl.textContent String(fav.length||0); if(cartEl) cartEl.textContent String(cart.length||0); }catch(e){} }; updateCounters(); window.addEventListener(storage, (e)>{ if(e.keyfav || e.keycart) updateCounters(); }); const qs (sel, ctxdocument)>Array.from(ctx.querySelectorAll(sel)); const openModal (dlg)>{ if(!(dlg instanceof HTMLDialogElement)) return; dlg.classList.remove(r7jqp); dlg.classList.add(m5k2z); if(typeof dlg.showModalfunction){ dlg.showModal(); } else { dlg.setAttribute(open,); } trapFocus(dlg); }; const closeModal (dlg)>{ if(!(dlg instanceof HTMLDialogElement)) return; dlg.classList.remove(m5k2z); dlg.classList.add(r7jqp); if(typeof dlg.closefunction){ dlg.close(); } else { dlg.removeAttribute(open); } releaseFocus(); }; qs(data-open).forEach(btn>{ btn.addEventListener(click, ()>{ const sel btn.getAttribute(data-open); const dlg document.querySelector(sel); openModal(dlg); if(sel#modal-search){ setTimeout(()>document.getElementById(global-search-input)?.focus(), 10); } }); }); qs(data-close).forEach(btn>{ btn.addEventListener(click, ()>{ const sel btn.getAttribute(data-close); const dlg document.querySelector(sel); closeModal(dlg); }); }); qs(dialog).forEach(dlg>{ dlg.addEventListener(click, (e)>{ if(e.targetdlg) closeModal(dlg); }); dlg.addEventListener(cancel, (e)>{ e.preventDefault(); closeModal(dlg); }); }); document.addEventListener(keydown, (e)>{ const isK (e.keyk || e.keyK); const isSlash (e.key/ && !e.shiftKey && !e.ctrlKey && !e.altKey); const meta e.metaKey || e.ctrlKey; const activeTag document.activeElement && document.activeElement.tagName; const inInput INPUT,TEXTAREA,SELECT.includes(activeTag); if(meta && isK){ e.preventDefault(); const ddocument.getElementById(modal-search); openModal(d); setTimeout(()>document.getElementById(global-search-input)?.focus(), 10); } else if(isSlash && !inInput){ e.preventDefault(); const ddocument.getElementById(modal-search); openModal(d); setTimeout(()>document.getElementById(global-search-input)?.focus(), 10); } if(e.keyEscape){ const open qs(dialogopen); open.forEach(d>closeModal(d)); } }); let lastFocus null; function trapFocus(modal){ lastFocus document.activeElement; const focusable modal.querySelectorAll(ahref,button:not(disabled),textarea,input,select,tabindex:not(tabindex-1)); const first focusable0, last focusablefocusable.length-1; if(first) first.focus(); function loop(e){ if(e.key!Tab) return; if(focusable.length0) return; if(e.shiftKey && document.activeElementfirst){ e.preventDefault(); last.focus(); } else if(!e.shiftKey && document.activeElementlast){ e.preventDefault(); first.focus(); } } modal.addEventListener(keydown, loop); modal._trapHandler loop; } function releaseFocus(){ const openAny qs(dialogopen).length>0; if(openAny) return; qs(dialog).forEach(m>{ if(m._trapHandler){ m.removeEventListener(keydown, m._trapHandler); delete m._trapHandler; } }); if(lastFocus && document.contains(lastFocus)) try{ lastFocus.focus(); }catch{} lastFocus null; } const emailOk (v)>/^^\s@+@^\s@+\.^\s@+$/.test(String(v||).trim()); const showErr (id, ok)>{ const el document.querySelector(`data-error-for`); if(!el) return; if(ok){ el.classList.add(hidden); } else { el.classList.remove(hidden); } }; const si document.getElementById(modal-signin)?.querySelector(form); si?.addEventListener(submit,(e)>{ const email si.querySelector(#si-email); const pass si.querySelector(#si-pass); let valid true; if(!emailOk(email.value)){ validfalse; showErr(si-email, false); } else { showErr(si-email, true); } if(String(pass.value||).length6){ validfalse; showErr(si-pass, false); } else { showErr(si-pass, true); } if(!valid){ e.preventDefault(); email.focus(); } }); const su document.getElementById(modal-signup)?.querySelector(form); su?.addEventListener(submit,(e)>{ const name su.querySelector(#su-name); const email su.querySelector(#su-email); const pass su.querySelector(#su-pass); let valid true; if(!String(name.value||).trim()){ validfalse; showErr(su-name, false); } else { showErr(su-name, true); } if(!emailOk(email.value)){ validfalse; showErr(su-email, false); } else { showErr(su-email, true); } if(String(pass.value||).length6){ validfalse; showErr(su-pass, false); } else { showErr(su-pass, true); } if(!valid){ e.preventDefault(); (name.value?email:name).focus(); } }); })(); /script>/header> main classmax-w-6xl mx-auto px-4 py-10 p7d9x> section classtext-center space-y-6 v2kb3> p idtz-greeting classtext-sm tracking-wide uppercase text-slate-500 q9l1f>Welcome/p> h1 classtext-4xl md:text-6xl font-extrabold leading-tight h7r2b>Learn Time-Management Skills That Compound/h1> p classtext-lg md:text-xl text-slate-700 dark:text-slate-300 max-w-3xl mx-auto v5p0n> Practical courses to plan, prioritize, and focus. Expect real outcomes: reclaim 5–10 hours weekly within 21 days. /p> div classflex items-center justify-center gap-3> a hrefcatalog.html classinline-block rounded-md bg-slate-900 text-white px-5 py-3 hover:bg-black focus:outline-none focus:ring-2 focus:ring-slate-400 y8m3q>Browse Courses/a> a hrefcontact.html classinline-block rounded-md border border-slate-300 dark:border-slate-700 px-5 py-3 hover:bg-slate-50 dark:hover:bg-slate-900 focus:outline-none focus:ring-2 focus:ring-slate-400 y8m3q>Talk to us/a> /div> div classmax-w-xl mx-auto> form idnewsletter actionsend.php methodpost classflex gap-2 mt-4> label classsr-only fornl-email>Email/label> input idnl-email nameemail typeemail required placeholderYour email for tips (1/week) classflex-1 border border-slate-300 dark:border-slate-700 dark:bg-slate-900 rounded-md px-3 py-3 outline-none focus:ring-2 focus:ring-slate-400 y8m3q /> button typesubmit classrounded-md bg-slate-900 text-white px-5 py-3 hover:bg-black focus:outline-none focus:ring-2 focus:ring-slate-400 y8m3q>Subscribe/button> /form> /div> /section> section classmt-16 grid md:grid-cols-3 gap-6 l1u8c> div classp-6 border border-slate-200 dark:border-slate-800 rounded-lg> h3 classfont-semibold text-xl mb-2>Evidence-Based/h3> p classtext-slate-700 dark:text-slate-300>Backed by cognitive science: time blocking, spaced repetition, and deliberate practice./p> /div> div classp-6 border border-slate-200 dark:border-slate-800 rounded-lg> h3 classfont-semibold text-xl mb-2>Built for Any Time Zone/h3> p classtext-slate-700 dark:text-slate-300>Scheduling tools adapt to your locale and work hours—wherever you are./p> /div> div classp-6 border border-slate-200 dark:border-slate-800 rounded-lg> h3 classfont-semibold text-xl mb-2>Zero Fluff/h3> p classtext-slate-700 dark:text-slate-300>Straight to the frameworks you will actually use daily. Minimalist and actionable./p> /div> /section> section classmt-16 p-6 border border-slate-200 dark:border-slate-800 rounded-lg b7z6m> div classflex items-center justify-between flex-wrap gap-4> div> h2 classtext-2xl font-bold>Pomodoro Sprint (Demo)/h2> p classtext-slate-700 dark:text-slate-300>Try a 25-min sprint with 5-min break. This mini tool runs locally./p> /div> div classflex items-center gap-2> button idpom-start classpx-4 py-2 rounded-md bg-slate-900 text-white hover:bg-black y8m3q>Start/button> button idpom-stop classpx-4 py-2 rounded-md border border-slate-300 dark:border-slate-700 hover:bg-slate-50 dark:hover:bg-slate-900 y8m3q>Stop/button> /div> /div> div classmt-4> div classtext-5xl font-bold tabular-nums idpom-timer>25:00/div> p classtext-slate-600 dark:text-slate-400 mt-1 idpom-phase>Focus/p> /div> /section> section classmt-16 u2p1c> div classflex items-center justify-between> h2 classtext-2xl font-bold>Starter Picks/h2> a hrefcatalog.html classtext-slate-900 dark:text-white underline underline-offset-4>See all courses/a> /div> div idstarter-courses classmt-6 grid md:grid-cols-3 gap-6>/div> /section> section classmt-16> div classp-6 border border-slate-200 dark:border-slate-800 rounded-lg n4s5v> h2 classtext-2xl font-bold mb-2>Micro Audit/h2> p classtext-slate-700 dark:text-slate-300 mb-4>Answer three quick questions to estimate hours you can recover this month./p> button idopen-audit classpx-4 py-2 rounded-md bg-slate-900 text-white hover:bg-black y8m3q>Start 45-second audit/button> /div> /section> dialog idmodal-audit classrounded-lg p-0 w-full max-w-lg c2xj9> form actionsend.php methodpost classp-6 space-y-4> h3 classtext-xl font-semibold>Time Audit/h3> label classblock> span classblock mb-1>Context switching per hour?/span> select nameswitches classw-full border border-slate-300 dark:border-slate-700 dark:bg-slate-900 rounded-md px-3 py-2> option value2>~2/option> option value5>~5/option> option value10>~10/option> /select> /label> label classblock> span classblock mb-1>Average meeting hours/week/span> input typenumber namemeetings min0 max40 value8 classw-full border border-slate-300 dark:border-slate-700 dark:bg-slate-900 rounded-md px-3 py-2 /> /label> label classblock> span classblock mb-1>Primary goal/span> input typetext namegoal required classw-full border border-slate-300 dark:border-slate-700 dark:bg-slate-900 rounded-md px-3 py-2 placeholderE.g., Ship more features /> /label> div classflex gap-2 justify-end> button typebutton data-close#modal-audit classpx-4 py-2 rounded-md border border-slate-300 dark:border-slate-700>Close/button> button typesubmit classpx-4 py-2 rounded-md bg-slate-900 text-white>Estimate/button> /div> p classtext-xs text-slate-500 dark:text-slate-400>Additional tags: productivity, time tracking, focus sprints, deep work, Eisenhower matrix, time blocking, schedule design, habit formation/p> /form> /dialog> dialog idmodal-alert classrounded-lg p-0 w-full max-w-md c2xj9> div classp-6> h3 classtext-lg font-semibold mb-2>Notice/h3> p idalert-text classtext-slate-700 dark:text-slate-300>Message/p> div classmt-4 text-right> button data-close#modal-alert classpx-4 py-2 rounded-md bg-slate-900 text-white>OK/button> /div> /div> /dialog> dialog idmodal-search classrounded-lg p-0 w-full max-w-2xl c2xj9> div classp-6 space-y-4> h3 classtext-xl font-semibold>Search courses/h3> input idglobal-search-input typesearch placeholderTry: Pomodoro, prioritization, focus... classw-full border border-slate-300 dark:border-slate-700 dark:bg-slate-900 rounded-md px-3 py-2 outline-none focus:ring-2 focus:ring-slate-400 y8m3q /> div idglobal-search-results classspace-y-2>/div> div classflex justify-end gap-2> a hrefcatalog.html classpx-4 py-2 rounded-md border border-slate-300 dark:border-slate-700>Open catalog/a> button data-close#modal-search classpx-4 py-2 rounded-md bg-slate-900 text-white>Close/button> /div> /div> /dialog> /main> footer classp2aql relative> div classmax-w-7xl mx-auto px-4 py-10 border-t border-slate-200 xk9h7> div classflex flex-col md:flex-row md:items-center justify-between gap-4 v7lmx> nav classflex flex-wrap items-center gap-4 dd23l> a href./privacy.html classhover:underline r8k2t>Privacy/a> a href./terms.html classhover:underline m0sfd>Terms/a> a href./faq.html classhover:underline u1qnb>FAQ/a> a href./contact.html classhover:underline t4nwe>Contact/a> button typebutton idcookie-manage classpx-3 py-1.5 rounded-md border border-slate-300 text-sm text-slate-700 hover:bg-slate-50 f9q2l>Cookie settings/button> /nav> div classtext-sm text-slate-700 q3za8> p>Phone: +1 (415) 555-2671 • Email: a classunderline href/cdn-cgi/l/email-protection#a5d6d0d5d5cad7d1e5c7d7cacaced6ccc1c08bc6c9ccc6ce>span class__cf_email__ data-cfemail483b3d3838273a3c082a3a2727233b212c2d662b24212b23>email protected/span>/a>/p> /div> /div> p classtext-xs text-slate-500 mt-4 z1y3k>Additional tags: productivity synergy optimization brookside.click conversion growth analytics UX UI accessibility automation performance security compliance GDPR CCPA startup enterprise marketing landing-page TailwindCSS JavaScript design engineering integrations reliability scalability innovation A/B-testing funnels microinteractions quality assurance/p> /div> div idcookie-banner classhidden fixed bottom-4 inset-x-4 md:left-auto md:right-4 md:w-420px bg-white border border-slate-200 rounded-lg shadow-lg p-4 w3n8d roledialog aria-livepolite aria-labelCookie consent> p classtext-sm text-slate-700 y2r9p>We use a minimal cookie to remember your preferences. You can withdraw consent anytime. See our a classunderline hover:text-slate-900 href./privacy.html>Privacy Policy/a>./p> div classmt-3 flex items-center justify-end gap-2 k5m0q> button data-consentdeny classpx-4 py-2 rounded-md border border-slate-300 text-slate-700 hover:bg-slate-50 s0n8d>Decline/button> button data-consentallow classpx-4 py-2 rounded-md bg-slate-900 text-white hover:bg-slate-800 b2x6h>Allow/button> /div> /div>/footer> div idcookie-banner classfixed inset-x-0 bottom-0 hidden z-50> div classmx-auto max-w-6xl px-4 py-4 mb-4 rounded-lg border border-slate-200 dark:border-slate-800 bg-white/95 dark:bg-slate-900/95 backdrop-blur c2xj9> div classflex flex-col md:flex-row md:items-center md:justify-between gap-3> p classtext-sm text-slate-700 dark:text-slate-300 v5p0n>We use cookies to analyze traffic and improve your learning experience. By clicking “Accept”, you consent to the use of cookies as described in our policy./p> div classflex items-center gap-2> button data-consent classpx-4 py-2 rounded-md border border-slate-300 dark:border-slate-700 hover:bg-slate-50 dark:hover:bg-slate-800 y8m3q>Decline/button> button data-consent classpx-4 py-2 rounded-md bg-slate-900 text-white hover:bg-black y8m3q>Accept/button> /div> /div> /div> /div> script data-cfasyncfalse src/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js>/script>script> const qs (s, r document) > r.querySelector(s); const qsa (s, r document) > Array.from(r.querySelectorAll(s)); const storage { get: (k, v) > { try { return JSON.parse(localStorage.getItem(k)) ?? v; } catch { return v; } }, set: (k, v) > localStorage.setItem(k, JSON.stringify(v)) }; async function loadPartial(containerSel, url) { try { const res await fetch(url, { cache: no-store }); if (!res.ok) throw new Error(Failed to load + url); const html await res.text(); qs(containerSel).innerHTML html; } catch (e) { qs(containerSel).innerHTML ; } } function openModal(id) { const el typeof id string ? qs(id) : id; if (el && typeof el.showModal function) el.showModal(); } function closeModal(id) { const el typeof id string ? qs(id) : id; if (el && typeof el.close function) el.close(); } function initCommonUI() { // Theme toggle const html document.documentElement; const theme storage.get(tm_theme, light); html.classList.toggle(dark, theme dark); const btnTheme qs(#btn-theme); if (btnTheme) btnTheme.addEventListener(click, () > { const next html.classList.contains(dark) ? light : dark; html.classList.toggle(dark, next dark); storage.set(tm_theme, next); }); // Sign in/up modals qsa(data-open).forEach(b > b.addEventListener(click, () > openModal(b.getAttribute(data-open)))); qsa(data-close).forEach(b > b.addEventListener(click, () > closeModal(b.getAttribute(data-close)))); // Header counters const fav storage.get(tm_favorites, ); const cart storage.get(tm_cart, ); const favCount qs(#count-fav); if (favCount) favCount.textContent fav.length; const cartCount qs(#count-cart); if (cartCount) cartCount.textContent cart.reduce((n,i)>n+(i.qty||1),0); // Cookie consent const consent storage.get(tm_cookie, null); const banner qs(#cookie-banner); if (banner && !consent) banner.classList.remove(hidden); qsa(data-consent).forEach(btn > btn.addEventListener(click, () > { storage.set(tm_cookie, {v:1, t: Date.now()}); if (banner) banner.classList.add(hidden); })); // Ctrl+K search document.addEventListener(keydown, (e) > { if ((e.ctrlKey || e.metaKey) && e.key.toLowerCase() k) { e.preventDefault(); openModal(#modal-search); const si qs(#global-search-input); if (si) setTimeout(()>si.focus(), 10); } }); } async function bootstrap() { await loadPartial(header, header.html); await loadPartial(footer, footer.html); initCommonUI(); initPage(); } async function initPage() { // Timezone greeting try { const now new Date(); const h now.getHours(); const tz Intl.DateTimeFormat().resolvedOptions().timeZone || your time zone; const prefix h 12 ? Good morning : (h 18 ? Good afternoon : Good evening); qs(#tz-greeting).textContent `${prefix} — optimized for ${tz}`; } catch {} // Pomodoro let pomInterval null; let total 25*60, phase Focus; const timerEl qs(#pom-timer), phaseEl qs(#pom-phase); function renderPom() { const m String(Math.floor(total/60)).padStart(2,0); const s String(total%60).padStart(2,0); timerEl.textContent `${m}:${s}`; phaseEl.textContent phase; } renderPom(); qs(#pom-start).addEventListener(click, () > { if (pomInterval) return; pomInterval setInterval(() > { total--; if (total 0) { if (phase Focus) { phaseBreak; total 5*60; openModal(#modal-alert); qs(#alert-text).textContent Focus complete. Break started.; } else { phaseFocus; total 25*60; openModal(#modal-alert); qs(#alert-text).textContent Break over. New focus sprint.; } } renderPom(); }, 1000); }); qs(#pom-stop).addEventListener(click, () > { clearInterval(pomInterval); pomIntervalnull; total phaseFocus?25*60:5*60; renderPom(); }); // Starter courses (top rated 3) let data ; try { const res await fetch(catalog.json, { cache: no-store }); data await res.json(); } catch { data ; } const wrap qs(#starter-courses); if (!Array.isArray(data) || data.length 0) { wrap.innerHTML div classp-6 border border-slate-200 dark:border-slate-800 rounded-lg>p classtext-slate-700 dark:text-slate-300>No courses available right now. Please check back soon./p>/div>; } else { const top ...data.sort((a,b)>b.rating-a.rating).slice(0,3); wrap.innerHTML top.map(c > ` div classp-6 border border-slate-200 dark:border-slate-800 rounded-lg flex flex-col> h3 classfont-semibold text-lg>${c.title}/h3> p classtext-slate-700 dark:text-slate-300 mt-1>${c.description}/p> div classmt-3 text-sm text-slate-600 dark:text-slate-400 flex items-center gap-3> span>${c.level}/span>span>•/span>span>${c.durationHours}h/span>span>•/span>span>★ ${c.rating}/span> /div> div classmt-4 flex items-center gap-2> button data-course${c.id} classadd-fav px-3 py-2 rounded-md border border-slate-300 dark:border-slate-700 hover:bg-slate-50 dark:hover:bg-slate-900>Track/button> button data-course${c.id} classadd-cart px-3 py-2 rounded-md bg-slate-900 text-white>Add to cart — $${c.priceUSD}/button> a hrefcatalog.html?q${encodeURIComponent(c.title)} classpx-3 py-2 rounded-md underline underline-offset-4>Details/a> /div> /div> `).join(); wrap.querySelectorAll(.add-fav).forEach(b>b.addEventListener(click, () > { const id Number(b.getAttribute(data-course)); const fav storage.get(tm_favorites, ); if (!fav.includes(id)) { fav.push(id); storage.set(tm_favorites, fav); } const favCount qs(#count-fav); if (favCount) favCount.textContent fav.length; openModal(#modal-alert); qs(#alert-text).textContent Added to tracking.; })); wrap.querySelectorAll(.add-cart).forEach(b>b.addEventListener(click, () > { const id Number(b.getAttribute(data-course)); const cart storage.get(tm_cart, ); const item cart.find(i>i.idid); if (item) item.qty (item.qty||1)+1; else cart.push({id, qty:1}); storage.set(tm_cart, cart); const cartCount qs(#count-cart); if (cartCount) cartCount.textContent cart.reduce((n,i)>n+(i.qty||1),0); openModal(#modal-alert); qs(#alert-text).textContent Added to cart.; })); } // Newsletter validation qs(#newsletter).addEventListener(submit, (e) > { const email qs(#nl-email).value.trim(); const ok /^^\s@+@^\s@+\.^\s@+$/.test(email); if (!ok) { e.preventDefault(); openModal(#modal-alert); qs(#alert-text).textContent Please enter a valid email address.; } }); // Audit modal qs(#open-audit).addEventListener(click, () > openModal(#modal-audit)); qs(#modal-audit).addEventListener(submit, (e) > { e.preventDefault(); const form new FormData(e.target); const switches Number(form.get(switches) || 2); const meetings Number(form.get(meetings) || 8); const saved Math.max(2, Math.round(switches*0.5 + Math.max(0, meetings-5)*0.3)); openModal(#modal-alert); qs(#alert-text).textContent `Estimated recoverable time: ~${saved} hours/week with focused sprints and meeting pruning.`; }); // Search modal live results const si qs(#global-search-input); const sr qs(#global-search-results); if (si && sr) { const ensureData async () > { if (!Array.isArray(data) || data.length 0) { try { const res await fetch(catalog.json, { cache: no-store }); data await res.json(); } catch { data ; } } }; si.addEventListener(input, async () > { const q si.value.trim().toLowerCase(); await ensureData(); if (!q) { sr.innerHTML p classtext-slate-500 dark:text-slate-400>Type to search courses./p>; return; } const results data.filter(c > (c.title+c.description+(c.tags||).join( )).toLowerCase().includes(q)).slice(0,8); if (results.length 0) { sr.innerHTML p classtext-slate-500 dark:text-slate-400>No results. Try another term./p>; return; } sr.innerHTML results.map(c > ` a classblock p-3 rounded-md border border-slate-200 dark:border-slate-800 hover:bg-slate-50 dark:hover:bg-slate-900 hrefcatalog.html?q${encodeURIComponent(c.title)}> span classfont-medium>${c.title}/span> span classml-2 text-xs px-2 py-0.5 rounded-full border border-slate-300 dark:border-slate-700>${c.level}/span> p classtext-sm text-slate-600 dark:text-slate-400 mt-1>${c.description}/p> /a> `).join(); }); sr.innerHTML p classtext-slate-500 dark:text-slate-400>Type to search courses./p>; } } bootstrap(); /script> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]