1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8">
4<script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={xpid:"VQAPVVJRDxAEU1NbBQgDVw==",licenseKey:"87a2541869",applicationID:"47292941",browserID:"47292965"};;/*! For license information please see nr-loader-full-1.323.0.min.js.LICENSE.txt */ 5(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.323.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
5e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
5const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>S,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
5if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,R(e,t)}function R(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function w(e,t,r,n,i){if(R(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(w(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(w(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function S(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let R=0,w=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(R=R>0?Math.min(R,e):e),t&&(w=w>0?Math.max(w,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return R>0?Math.min(e,R):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return w>0?Math.max(e,w):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
5o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
5(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
5;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({95:"nr-full-compressor",222:"nr-full-recorder",649:"nr-full-iframe-message-handler",89
51:"nr-full"}[e]+"-1.323.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.323.0.PROD:";r.l=(n,i,s,a)=>{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={891:"sha512-3jboCmrue7pvfLFAQ9FaZC6iM4mLMLaZF6lKolNEXSkSEV504XyvxAZYc2IA7anoBv2V+k1HPTEP1kEgaIYkeg==",222:"sha512-VSWDjY6WtlUmQRPiGWVhKHgN3DMcL8oP9fKdTus8nteEdkVzXz/VhtS6N3wJyto6jHNHRLawzAny60sfcHbBNQ==",95:"sha512-JfHJ5y7GJR1Z5RXbhGTJAaX+pDpLAzH+9IdJQc7Lc7hz3fR+zqyabKG7hPG4eQQ3dZhcuoJKdfj+OhPePveplQ==",649:"sha512-mN3SeCI8QgOG4PdhbG1UlLTWP/P9Ckx3bEoFST53PE7ctYb2Pwk/sVJpCoVwkXTlhP17BH8L/BkzHI4sD+yo6Q=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={85:0,959:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.323.0.PROD"]=self["webpackChunk:NRBA-1.323.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
5ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var R=r(9232);var w=r(7836),T=r(3241);const S={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var A=r(9908),x=r(9752);function _(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,S)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:R.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=w.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,A.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var O=r(1863),k=r(4261),L=r(1738);var M=r(1687),P=r(4234),N=r(5289),j=r(5270),I=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends P.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,M.Ak)(e,this.featureName),t()}))}):(0,M.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
5{if((0,I.V)(e.init))try{const{setupAgentSession:t}=await r.e(891).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,A.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(649).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(891).then(r.bind(r,6589)),r.e(891).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,M.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,M.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,N.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,j.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}_(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var K=r(6630);class U extends W{static featureName=K.T;constructor(e){var t;super(e,K.T),this.setupInspectionEvents(),t=e,(0,L.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,A.p)("api-"+k.Fw,[(0,O.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(891).then(r.bind(r,908)):r.e(891).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,N.sB)(t=>{e(t,"DOMContentLoaded")}),(0,N.GG)(t=>{e(t,"load")}),(0,N.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(U),_(this,e,e.loaderType||"agent"),t=this,(0,L.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,L.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,L.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,A.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,L.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,L.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,L.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,L.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,L.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,A.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,A.p)("docHidden",[(0,O.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,A.p)("winPagehide",[(0,O.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(891).then(r.bind(r,9018))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(891).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,O.t)()){"string"==typeof e&&(e=new Error(e)),(0,A.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,A.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,O.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,O.t)()){(0,A.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,O.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
5null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,A.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,O.t)()){(0,A.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,O.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,O.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,O.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const Re=["entry","scripts","all"],we=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Se={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Ae(e){(0,L.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Se.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=R.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:R.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||Re.includes(r.timingMethod)||(Se.invalidTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||R.f.BA,"parent.id":r.parent?.id})}
5),Object.entries(r.tags).forEach(([e,t])=>{we.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Se.disabled),u(r.id)&&u(r.name)||d(()=>Se.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Se.duplicateName(r),n===r.id&&t!==r.name&&Se.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Se.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,O.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
5imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,O.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,A.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class _e extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,L.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,L.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,L.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Ae(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,A.p)("ierr",[ee(t),(0,O.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,A.p)("err",[te(t),(0,O.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,A.p)("err",[re(t),(0,O.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(891).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var Oe=r(8990);let ke=1;function Le(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,Oe.I)(e,"nr@id",function(){return ke++})}function Me(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Pe=r(8139),Ne=r(3434),je=r(5732);const Ie={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||w.ee;const n=function(e){return(e||w.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(Ie[n.debugId]++)return n;Ie[n.debugId]=1,(0,Pe.u)(r,t);var i=(0,Ne.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,je.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ke=g.gm.Request,Ue=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||w.ee).get("fetch")}(e);if(!(Ke&&Ue&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,je.$5)(t);var o;r.emit(i+"before-start",[e],n),n[w.P]&&n[w.P].dt&&(o=n[w.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
5return Ve[r.debugId]=1,We.forEach(e=>{n(Ke[Fe],e,He),n(Ue[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s,a=(0,ye.ZF)(),o=(0,ye.el)(),c=Date.now();this.agentRef.runtime?.timeKeeper?.ready&&(s=Math.floor(this.agentRef.runtime.timeKeeper.correctAbsoluteTimestamp(c)));var d={spanId:a,traceId:o,timestamp:c,timestampCorrected:s};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,o),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,s??c,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(a,o,s??c,r,n,i)),d}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,A.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=S,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){_(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Me(i);a&&(n.txSize=a)}this.startTime=(0,O.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
5!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Le(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Le(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,O.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,O.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,O.t)()-this.xhrCbStart,this.onload,t],t)}function R(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function w(e,t){this.params={},this.metrics={},this.startTime=(0,O.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Me(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,O.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Me(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function S(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):_(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Me(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function _(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Me(e.response):"text"===r||""===r||void 0===r?Me(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,A.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",R),r.on("fetch-start",w),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(891).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||w.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Ne.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,L.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,A.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,A.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,L.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,A.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
5if(!(0,I.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Pe.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,O.t)()}),this.eventsEE.on(pt,function(e,r){(0,A.p)("bst",[e[0],r,this.bstStart,(0,O.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,O.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,A.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,A.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(891).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,L.Y)(k.CH,function(){(0,A.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,L.Y)(k.Tb,function(){(0,A.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,j.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(891).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,A.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,j.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(891),r.e(222)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var Rt=r(981);const wt={},Tt=new Set;function St(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class At{constructor(e,t){this.timestamp=(0,O.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class xt extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,L.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,L.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Ae(e),function(e){(0,L.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(wt[r.debugId]++)return r;wt[r.debugId]=1,(0,V.G)(()=>{const e=(0,O.t)();Tt.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
5class n extends WebSocket{static name=Rt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new At(e[0],e[1]),this.targets=(0,je.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,O.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),Tt.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=St(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,O.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,Tt.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=St(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,A.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,A.p)("spv",[_t(e),(0,O.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,A.p)("spv",[_t(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,A.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
5h(e=>{const t=(0,C.s)(e=>{(0,A.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,A.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,A.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,A.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,A.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(891).then(r.bind(r,8019))):this.deregisterDrain()}}function _t(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Ot=r(2646);const kt=new Map;function Lt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||w.ee).get("logger")}(e),o=(0,Ne.YM)(a,void 0,s),c=new Ot.y(w.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Ne.Jt]||t[r];return kt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>kt.get(d),void 0,!0),a}var Mt=r(1910);class Pt extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,L.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,L.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Lt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Ae(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Mt.i)(g.gm.console[t]),Lt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(891).then(r.bind(r,5288)))}}new F({features:[U,G,vt,Et,nt,Y,_e,xt,Pt],loaderType:"pro"})})()})();</script>
5 6 <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=yes"> 7 <title>New Features & Productivity Tools</title> 8 9 <meta name="description" content="See the latest DeskTime updates, new features, and improvements to simplify time tracking and boost team productivity."> 10 11 <meta property="og:title" content="DeskTime | New Features & Productivity Tools"> 12 <meta property="og:image" content="https://desktime.com/static/og/home.png"> 13 14 15 <meta name="msvalidate.01" content="7E7149BB0536D28D683B219D73FAAF68" /> 16 <meta name="yandex-verification" content="3b65641c9c2b206e" /> 17 18 <link rel="canonical" href="https://desktime.com/product-updates" /> 19 20 21 22 <link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/kphjfdjkmhnoamhfacepmnlfmmmdedoj"> 23 24 <link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"> 25 <link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"> 26 <link rel="apple-touch-icon" sizes="76x76" href="/favicon/apple-touch-icon.png"> 27 <link rel="manifest" href="/favicon/site.webmanifest"> 28 <link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#6CB123"> 29 <meta name="msapplication-TileColor" content="#da532c"> 30 <meta name="theme-color" content="#ffffff"> 31 32 <link type="text/plain" rel="author" href="/humans.txt"> 33 34 <link rel="alternate" href="https://desktime.com/product-updates" hreflang="en"/> 35 <link rel="alternate" href="https://desktime.com/es/actualizaciones-de-producto" hreflang="es"/> 36 37 <link rel="preload" href="/fonts/Source_Sans_Pro/SourceSansPro-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"> 38<link rel="preload" href="/fonts/Source_Sans_Pro/SourceSansPro-SemiBold.woff2" as="font" type="font/woff2" crossorigin="anonymous"> 39<link rel="preload" href="/fonts/Source_Sans_Pro/SourceSansPro-Bold.woff2" as="font" type="font/woff2" crossorigin="anonymous"> 40 41
41<script 42 src="https://cdn.eu.amplitude.com/script/b5e7603bfc1ab8f359907c95dee1e7c3.experiment.js" 43 type="text/plain" 44 data-cookieconsent="statistics" 45></script>
45 46 <link rel="preload" as="style" href="https://desktime.com/build/assets/public-styles-dsFpTHmh.css" /><link rel="preload" as="style" href="https://desktime.com/build/assets/vite-public-entry-DLeqbe-n.css" /><link rel="preload" as="style" href="https://desktime.com/build/assets/spacing-D5DT8dJ4.css" /><link rel="modulepreload" as="script" href="https://desktime.com/build/assets/vite-public-entry-Buqfu9B5.js" /><link rel="modulepreload" as="script" href="https://desktime.com/build/assets/rolldown-runtime-C0FnF6B9.js" /><link rel="modulepreload" as="script" href="https://desktime.com/build/assets/dt.utility.modules-DL2EgSU4.js" /><link rel="modulepreload" as="script" href="https://desktime.com/build/assets/module.esm-BVRApglD.js" /><link rel="modulepreload" as="script" href="https://desktime.com/build/assets/marketing-banner-C_9Arwgk.js" /><link rel="modulepreload" as="script" href="https://desktime.com/build/assets/lodash-KiHf6lzZ.js" /><link rel="modulepreload" as="script" href="https://desktime.com/build/assets/find-9TWhbH2u.js" /><link rel="stylesheet" href="https://desktime.com/build/assets/public-styles-dsFpTHmh.css" /><link rel="stylesheet" href="https://desktime.com/build/assets/vite-public-entry-DLeqbe-n.css" /><link rel="stylesheet" href="https://desktime.com/build/assets/spacing-D5DT8dJ4.css" />
46<script type="module" src="https://desktime.com/build/assets/vite-public-entry-Buqfu9B5.js"></script>
46 47 48
48<script data-cookieconsent="ignore"> 49 window.dataLayer = window.dataLayer || []; 50 function gtag() {dataLayer.push(arguments)} 51 52 gtag("consent", "default", { 53 ad_personalization: "denied", 54 ad_storage: "denied", 55 ad_user_data: "denied", 56 analytics_storage: "denied", 57 functionality_storage: "denied", 58 personalization_storage: "denied", 59 security_storage: "granted", 60 wait_for_update: 500 61 }); 62 // gtag("set", "ads_data_redaction", true); 63 // gtag("set", "url_passthrough", true); 64</script>
64 65 66 67
68<script> 69 70 (function(w,d,s,l){w[l]=w[l]||[];w[l].push({'gtm.start': 71 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 72 j=d.createElement(s),dl=l!='dataLayer'?'?l='+l:'';j.async=true;j.src= 73 'https://tag.desktime.com/EP352MsMpybGJyL5sqdq/'+dl;f.parentNode.insertBefore(j,f); 74 })(window,document,'script','dataLayer'); 75 76 </script>
76 77 78 79 80
81<script 82 id="Cookiebot" 83 src="https://consent.cookiebot.com/uc.js" 84 data-cbid="e416fe1c-aa93-4288-a415-1db0613885ce" 85 data-blockingmode="auto" 86 type="text/javascript" 87></script>
87 88 89
90<script> 91 92 </script>
92 93 94
95<script 96 id="ze-snippet" 97 src="https://static.zdassets.com/ekr/snippet.js?key=66fe34c5-1096-4f5f-ab5c-340818aa6658" 98 type="text/plain" 99 data-cookieconsent="preferences" 100></script>
100 101
101<script> 102 // This script is used to unregister old service workers that may cause issues with the application. Check if this helps requests, when this is handled, remove this script. 103 if ('serviceWorker' in navigator) { 104 navigator.serviceWorker.ready.then(registration => { 105 registration.unregister().then(success => { 106 if (success) { 107 console.log('Service Worker unregistered successfully.'); 108 } else { 109 console.log('Service Worker unregistration failed.'); 110 } 111 }); 112 }); 113 } 114</script>
114 115
115<script> 116 const initAmplitude = () => { 117 if (!window.Amplitude) { 118 console.error("Amplitude bundle not loaded yet."); 119 return; 120 } 121 122 window.Amplitude.init(JSON.parse('{\u0022userIdentifyPayload\u0022:null,\u0022abIdentifyPayload\u0022:[],\u0022isApp\u0022:false,\u0022isFeatureActive\u0022:false}')); 123 }; 124 125 if (window.Amplitude) { 126 initAmplitude(); 127 } else { 128 window.addEventListener('DOMContentLoaded', initAmplitude); 129 } 130 </script>
130 131 <!-- Start VWO Async SmartCode --> 132 133<link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" />
134<script 135 id="vwoCode" 136 137 type="text/plain" 138 data-cookieconsent="statistics" 139> 140 window._vwo_code || 141 (function () { 142 var w=window, 143 d=document; 144 var account_id=1135386, 145 version=2.2, 146 settings_tolerance=2000, 147 hide_element='body', 148 hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;transition:none !important;'; 149 /* DO NOT EDIT BELOW THIS LINE */ 150 var f=0, v; 151 if(f=!1,v=d.querySelector('#vwoCode'),cc={},-1<d.URL.indexOf('__vwo_disable__')||w._vwo_code)return;try{var e=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=e&&'object'==typeof e?e:{}}catch(e){}function r(t){try{return decodeURIComponent(t)}catch(e){return t}}var s=function(){var e={combination:[],combinationChoose:[],split:[],exclude:[],uuid:null,consent:null,optOut:null},t=d.cookie||'';if(!t)return e;for(var n,i,o=/(?:^|;\s*)(?:(_vis_opt_exp_(\d+)_combi=([^;]*))|(_vis_opt_exp_(\d+)_combi_choose=([^;]*))|(_vis_opt_exp_(\d+)_split=([^:;]*))|(_vis_opt_exp_(\d+)_exclude=[^;]*)|(_vis_opt_out=([^;]*))|(_vwo_global_opt_out=[^;]*)|(_vwo_uuid=([^;]*))|(_vwo_consent=([^;]*)))/g;null!==(n=o.exec(t));)try{n[1]?e.combination.push({id:n[2],value:r(n[3])}):n[4]?e.combinationChoose.push({id:n[5],value:r(n[6])}):n[7]?e.split.push({id:n[8],value:r(n[9])}):n[10]?e.exclude.push({id:n[11]}):n[12]?e.optOut=r(n[13]):n[14]?e.optOut=!0:n[15]?e.uuid=r(n[16]):n[17]&&(i=r(n[18]),e.consent=i&&3<=i.length?i.substring(0,3):null)}catch(e){}return e}();function i(){var e=function(){if(w.VWO&&Array.isArray(w.VWO))for(var e=0;e<w.VWO.length;e++){var t=w.VWO[e];if(Array.isArray(t)&&('setVisitorId'===t[0]||'setSessionId'===t[0]))return!0}return!1}(),t='a='+account_id+'&u='+encodeURIComponent(w._vis_opt_url||d.URL)+'&vn='+version+'&ph=1'+('undefined'!=typeof platform?'&p='+platform:'')+'&st='+w.performance.now();e||((n=function(){var e,t=[],n={},i=w.VWO&&w.VWO.appliedCampaigns||{};for(e in i){var o=i[e]&&i[e].v;o&&(t.push(e+'-'+o+'-1'),n[e]=!0)}if(s&&s.combination)for(var r=0;r<s.combination.length;r++){var a=s.combination[r];n[a.id]||t.push(a.id+'-'+a.value)}return t.join('|')}())&&(t+='&c='+n),(n=function(){var e=[],t={};if(s&&s.combinationChoose)for(var n=0;n<s.combinationChoose.length;n++){var i=s.combinationChoose[n];e.push(i.id+'-'+i.value),t[i.id]=!0}if(s&&s.split)for(var o=0;o<s.split.length;o++)t[(i=s.split[o]).id]||e.push(i.id+'-'+i.value);return e.join('|')}())&&(t+='&cc='+n),(n=function(){var e={},t=[];if(w.VWO&&Array.isArray(w.VWO))for(var n=0;n<w.VWO.length;n++){var i=w.VWO[n];if(Array.isArray(i)&&'setVariation'===i[0]&&i[1]&&Array.isArray(i[1]))for(var o=0;o<i[1].length;o++){var r,a=i[1][o];a&&'object'==typeof a&&(r=a.e,a=a.v,r&&a&&(e[r]=a))}}for(r in e)t.push(r+'-'+e[r]);return t.join('|')}())&&(t+='&sv='+n)),s&&s.optOut&&(t+='&o='+s.optOut);var n=function(){var e=[],t={};if(s&&s.exclude)for(var n=0;n<s.exclude.length;n++){var i=s.exclude[n];t[i.id]||(e.push(i.id),t[i.id]=!0)}return e.join('|')}();return n&&(t+='&e='+n),s&&s.uuid&&(t+='&id='+s.uuid),s&&s.consent&&(t+='&consent='+s.consent),w.name&&-1<w.name.indexOf('_vis_preview')&&(t+='&pM=true'),w.VWO&&w.VWO.ed&&(t+='&ed='+w.VWO.ed),t}code={script:v,nonce:v&&v.nonce,library_tolerance:function(){return'undefined'!=typeof library_tolerance?library_tolerance:void 0},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){return performance.getEntriesByName('first-contentful-paint')[0]?'':'string'==typeof cc.hE?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){var t;f||(f=!0,(t=d.getElementById('_vis_opt_path_hides'))&&t.parentNode.removeChild(t),e&&((new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e))},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript',e.src?t.src=e.src:t.text=e.text,v&&t.setAttribute('nonce',v.nonce),d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){t=t||{};var n=new XMLHttpRequest;n.open('GET',e,!0),n.withCredentials=!t.dSC,n.responseType=t.responseType||'text',n.onload=function(){if(t.onloadCb)return t.onloadCb(n,e);200===n.status?_vwo_code.addScript({text:n.responseText}):_vwo_code.finish('&e=loading_failure:'+e)},n.onerror=function(){if(t.onerrorCb)return t.onerrorCb(e);_vwo_code.finish('&e=loading_failure:'+e)},n.send()},init:function(){var e,t=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish()}
151,t),'body'!==this.hide_element()?(n=d.createElement('style'),e=(t=this.hide_element())?t+this.hide_element_style():'',t=d.getElementsByTagName('head')[0],n.setAttribute('id','_vis_opt_path_hides'),v&&n.setAttribute('nonce',v.nonce),n.setAttribute('type','text/css'),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(d.createTextNode(e)),t.appendChild(n)):(n=d.getElementsByTagName('head')[0],(e=d.createElement('div')).style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;',e.setAttribute('id','_vis_opt_path_hides'),e.classList.add('_vis_hide_layer'),n.parentNode.insertBefore(e,n.nextSibling));var n='https://dev.visualwebsiteoptimizer.com/j.php?'+i();-1!==w.location.search.indexOf('_vwo_xhr')?this.addScript({src:n}):this.load(n+'&x=true',{l:1})}};w._vwo_code=code;code.init();})(); 152</script>
152 153<!-- End VWO Async SmartCode --> 154 </head> 155 <body class=""> 156 <div 157 id="zendesk-consent-button" 158 class="d-flex invisible" 159 onclick="zendeskChat.openConsentWindow()" 160> 161 <span class="pr-sm-3" type="Icon"> 162 <svg 163 fill="white" 164 xmlns="http://www.w3.org/2000/svg" 165 xmlns:xlink="http://www.w3.org/1999/xlink" 166 x="0px" 167 y="0px" 168 width="20px" 169 height="20px" 170 viewBox="0 0 15 16" 171 xml:space="preserve" 172 aria-hidden="true" 173 > 174 <path d="M1.3,16c-0.7,0-1.1-0.3-1.2-0.8c-0.3-0.8,0.5-1.3,0.8-1.5c0.6-0.4,0.9-0.7,1-1c0-0.2-0.1-0.4-0.3-0.7c0,0,0-0.1-0.1-0.1 C0.5,10.6,0,9,0,7.4C0,3.3,3.4,0,7.5,0C11.6,0,15,3.3,15,7.4s-3.4,7.4-7.5,7.4c-0.5,0-1-0.1-1.5-0.2C3.4,15.9,1.5,16,1.5,16 C1.4,16,1.4,16,1.3,16z M3.3,10.9c0.5,0.7,0.7,1.5,0.6,2.2c0,0.1-0.1,0.3-0.1,0.4c0.5-0.2,1-0.4,1.6-0.7c0.2-0.1,0.4-0.2,0.6-0.1 c0,0,0.1,0,0.1,0c0.4,0.1,0.9,0.2,1.4,0.2c3,0,5.5-2.4,5.5-5.4S10.5,2,7.5,2C4.5,2,2,4.4,2,7.4c0,1.2,0.4,2.4,1.2,3.3 C3.2,10.8,3.3,10.8,3.3,10.9z"></path> 175 </svg> 176 </span> 177 <span class="text-white dt-typography-h6 font-weight-semibold">Support</span> 178</div> 179 180<div 181 id="zendesk-consent-window" 182 class="d-flex flex-column invisible" 183> 184 <div class="consent-window-header"> 185 <div class="dt-typography-h5 text-white font-weight-semibold">DeskTime</div> 186 <div 187 id="zendesk-minimize" 188 onclick="zendeskChat.minimize()" 189 > 190 <svg 191 xmlns="http://www.w3.org/2000/svg" 192 width="16" 193 height="16" 194 focusable="false"
195 viewBox="0 0 16 16" 196 > 197 <path stroke="white" stroke-linecap="round" stroke-width="2" d="M3 8h10"> 198 </path> 199 </svg> 200 </div> 201 </div> 202 <div class="d-flex flex-column justify-content-between flex-fill" style="padding: 1.25rem"> 203 <div> 204 <p class="dt-typography-subtitle font-weight-semibold">ðª Allow functional cookies?</p> 205 <p class="dt-typography-subtitle-regular">We use Zendesk messaging software for easy communication with our clients. Zendesk uses cookies to interact with website visitors and provide chat history.</p> 206 207 <p class="dt-typography-subtitle-regular">See our <a href=https://desktime.com/privacy class='text-decoration-underline font-weight-semibold text-gray600'>Privacy Policy</a> for more info. You can change your cookie preferences at any time in our <span class='text-decoration-underline font-weight-semibold hover' onclick='Cookiebot?.renew()'>Cookie Settings</span>.</p> 208 </div> 209 <div class="d-flex justify-content-center"> 210 <div class="animation-checkmark d-none"></div> 211 <div 212 id="zendesk-allow-btn" 213 class="text-white d-flex justify-content-center align-items-center py-6 font-weight-semibold rounded w-100" 214 onclick="zendeskChat.allow()" 215 > 216 Allow & continue to chat 217 </div> 218 </div> 219 </div> 220</div> 221 222 223 <div class="content-wrapper-public"> 224 <header 225 class="public-navbar" 226 x-data="{ activeMenu: null, hoveredItem: null, mobileMenuOpen: false, langSwitcherOpen: false }" 227 @click.away="activeMenu = null" 228 @resize.window="activeMenu = null; mobileMenuOpen = false; langSwitcherOpen = false" 229 @mouseleave="activeMenu = null" 230> 231 <nav class="container-new"> 232 <a href="/" class="home-logo"> 233 <img width="160" height="30" src="/static/logo/logo-dark-without-padding.svg" alt="logo"> 234 </a> 235 236 <div class="d-flex align-items-center"> 237 238 <div class="d-none d-xl-flex"> 239 <button 240 class="desktop-nav-item" 241 :class="activeMenu === 'features' && 'active'" 242 @click="activeMenu = activeMenu === 'features' ? null : 'features'; if (activeMenu === 'features') hoveredItem = 'timeTracking'" 243 @mouseenter="activeMenu = 'features'; if (activeMenu === 'features') hoveredItem = 'timeTracking'" 244> 245 Features 246 <i class="icon-chevron-down"></i> 247</button> 248 249 <div 250 class="desktop-nav-content" 251 x-show="activeMenu === 'features'" 252 x-transition:enter.duration.400ms 253 x-transition:leave.duration.100ms 254 x-transition.delay.200ms 255 x-cloak 256 > 257 <div id="features"> 258 <div class="desktop-nav-content-container d-none d-xl-flex flex-column"> 259 <div> 260 <button 261 class="desktop-nav-content-title" 262 @mouseover="hoveredItem = 'timeTracking'" 263 @click="hoveredItem = 'timeTracking'" 264 :class="hoveredItem === 'timeTracking' && 'active'" 265 > 266 Time Tracking 267 <i class="icon-arrow-right text-gray400 dt-icon__size--18 ml-3"></i> 268 </button> 269 </div> 270 <div> 271 <button 272 class="desktop-nav-content-title" 273 @mouseover="hoveredItem = 'productivity'" 274 @click="hoveredItem = 'productivity'" 275 :class="hoveredItem === 'productivity' && 'active'" 276 > 277 Productivity insights 278 <i class="icon-arrow-right text-gray400 dt-icon__size--18 ml-3"></i> 279 </button> 280 </div> 281 <div> 282 <button 283 class="desktop-nav-content-title" 284 @mouseover="hoveredItem = 'integrations'" 285 @click="hoveredItem = 'integrations'" 286 :class="hoveredItem === 'integrations' && 'active'" 287 > 288 Integrations & API 289 <i class="icon-arrow-right text-gray400 dt-icon__size--18 ml-3"></i> 290 </button> 291 </div> 292 <div> 293 <button 294 class="desktop-nav-content-title" 295 @mouseover="hoveredItem = 'analytics'" 296 @click="hoveredItem = 'analytics'" 297 :class="hoveredItem === 'analytics' && 'active'" 298 > 299 Analytics & reports 300 <i class="icon-arrow-right text-gray400 dt-icon__size--18 ml-3"></i> 301 </button> 302 </div> 303 <div> 304 <button 305 class="desktop-nav-content-title" 306 @mouseover="hoveredItem = 'workforce'" 307 @click="hoveredItem = 'workforce'" 308 :class="hoveredItem === 'workforce' && 'active'" 309 > 310 Workforce management 311 <i class="icon-arrow-right text-gray400 dt-icon__size--18 ml-3"></i> 312 </button> 313 </div> 314 </div> 315 316 317 <div> 318 <div x-show="mobileMenuOpen || hoveredItem === 'timeTracking'"> 319 <div class="dt-typography-subtitle font-weight-semibold text-secondary d-xl-none mb-9 mt-8">Time Tracking</div> 320 321 <div class="grid-items"> 322 323 324 <a href="https://desktime.com/features/time-tracking" class="feature-item"> 325 <img 326 src="/static/web/menu/icons/time-tracking.svg" 327 alt="Automatic time tracking" 328 width="32" 329 height="32" 330 > 331 <div class="d-flex flex-column ml-3"> 332 <div class="text-primary font-weight-semibold">Automatic time tracking</div> 333 <div class="dt-typography-body-small text-tertiary">Effortless time tracking with our desktop app</div> 334 </div> 335</a> 336 337 338 <a href="https://desktime.com/features/project-tracking" class="feature-item"> 339 <img 340 src="/static/web/menu/icons/projects.svg" 341 alt="Project time tracking" 342 width="32" 343 height="32" 344 > 345 <div class="d-flex flex-column ml-3"> 346 <div class="text-primary font-weight-semibold">Project time tracking</div> 347 <div class="dt-typography-body-small text-tertiary">
347Track time and progress of specific tasks and projects</div> 348 </div> 349</a> 350 351 352 <a href="https://desktime.com/features/manual-time-tracking" class="feature-item"> 353 <img 354 src="/static/web/menu/icons/offline-time.svg" 355 alt="Manual and offline time tracking" 356 width="32" 357 height="32" 358 > 359 <div class="d-flex flex-column ml-3"> 360 <div class="text-primary font-weight-semibold">Manual and offline time tracking</div> 361 <div class="dt-typography-body-small text-tertiary">Track time manually and see when employees take breaks from working</div> 362 </div> 363</a> 364 365 366 <a href="https://desktime.com/features/private-time" class="feature-item"> 367 <img 368 src="/static/web/menu/icons/private-time.svg" 369 alt="Private time" 370 width="32" 371 height="32" 372 > 373 <div class="d-flex flex-column ml-3"> 374 <div class="text-primary font-weight-semibold">Private time</div> 375 <div class="dt-typography-body-small text-tertiary">Let users take a break from tracking when needed</div> 376 </div> 377</a> 378 </div> 379 380 <a href="https://desktime.com/features" class="dt-action-link dt-action-link-icon mt-9"> 381 <span> 382 See all features 383 </span> 384 <i class="icon-arrow-right dt-icon__size--18"></i> 385 </a> 386 387 388 <div class="border-tertiary-bottom mt-8 mb-8 d-xl-none"></div> 389 </div> 390 <div x-show="mobileMenuOpen || hoveredItem === 'productivity'"> 391 <div class="dt-typography-subtitle font-weight-semibold text-secondary d-xl-none mb-9 mt-8">Productivity insights</div> 392 393 <div class="grid-items"> 394 395 396 <a href="https://desktime.com/features/productivity-calculation" class="feature-item"> 397 <img 398 src="/static/web/menu/icons/productivity.svg" 399 alt="Productivity calculation" 400 width="32" 401 height="32" 402 > 403 <div class="d-flex flex-column ml-3"> 404 <div class="text-primary font-weight-semibold">Productivity calculation</div> 405 <div class="dt-typography-body-small text-tertiary">Get data about your employeesâ productivity</div> 406 </div> 407</a> 408 409 410 <a href="https://desktime.com/features/time-tracking-with-screenshots" class="feature-item"> 411 <img 412 src="/static/web/menu/icons/screenshots.svg" 413 alt="Screenshots" 414 width="32" 415 height="32" 416 > 417 <div class="d-flex flex-column ml-3"> 418 <div class="text-primary font-weight-semibold">Screenshots</div> 419 <div class="dt-typography-body-small text-tertiary">Get proof-of-work in cases of questionable productivity or integrity</div> 420 </div> 421</a> 422 423 424 <a href="https://desktime.com/features/computer-usage-monitoring" class="feature-item"> 425 <img 426 src="/static/web/menu/icons/url-tracking.svg" 427 alt="URL & app tracking" 428 width="32" 429 height="32" 430 > 431 <div class="d-flex flex-column ml-3"> 432 <div class="text-primary font-weight-semibold">URL & app tracking</div> 433 <div class="dt-typography-body-small text-tertiary">See what sites and apps your employees visit</div> 434 </div> 435</a> 436 437 438 <a href="https://desktime.com/features/document-title-tracking" class="feature-item"> 439 <img 440 src="/static/web/menu/icons/title-tracking.svg" 441 alt="Document title tracking" 442 width="32" 443 height="32" 444 > 445 <div class="d-flex flex-column ml-3"> 446 <div class="text-primary font-weight-semibold">Document title tracking</div> 447 <div class="dt-typography-body-small text-tertiary">Keep track of document titles and email subjects</div> 448 </div> 449</a> 450 451 452 <a href="https://desktime.com/features/customization" class="feature-item"> 453 <img 454 src="/static/web/menu/icons/customizable-settings.svg" 455 alt="Customizable settings" 456 width="32" 457 height="32" 458 > 459 <div class="d-flex flex-column ml-3"> 460 <div class="text-primary font-weight-semibold">Customizable settings</div> 461 <div class="dt-typography-body-small text-tertiary">
461Personalize DeskTime to fit your exact needs</div> 462 </div> 463</a> 464 465 466 <a href="https://help.desktime.com/hc/en-us/articles/25130467106077" class="feature-item"> 467 <img 468 src="/static/web/menu/icons/notifications.svg" 469 alt="Notifications" 470 width="32" 471 height="32" 472 > 473 <div class="d-flex flex-column ml-3"> 474 <div class="text-primary font-weight-semibold">Notifications</div> 475 <div class="dt-typography-body-small text-tertiary">Receive notifications about important activity updates</div> 476 </div> 477</a> 478 </div> 479 480 <a href="https://desktime.com/features" class="dt-action-link dt-action-link-icon mt-9"> 481 <span> 482 See all features 483 </span> 484 <i class="icon-arrow-right dt-icon__size--18"></i> 485 </a> 486 487 488 <div class="border-tertiary-bottom mt-8 mb-8 d-xl-none"></div> 489 </div> 490 <div x-show="mobileMenuOpen || hoveredItem === 'integrations'"> 491 <div class="dt-typography-subtitle font-weight-semibold text-secondary d-xl-none mb-9 mt-8">Integrations & API</div> 492 493 <div class="grid-items"> 494 495 496 <a href="https://desktime.com/features/integrations/jira-time-tracking" class="feature-item align-items-center"> 497 <img 498 src="/static/web/menu/integrations/Jira.svg" 499 alt="Jira" 500 width="32" 501 height="32" 502 > 503 <div class="text-primary font-weight-semibold pl-2">Jira</div> 504 </a> 505 506 507 <a href="https://desktime.com/features/integrations/asana-time-tracking" class="feature-item align-items-center"> 508 <img 509 src="/static/web/menu/integrations/Asana.svg" 510 alt="Asana" 511 width="32" 512 height="32" 513 > 514 <div class="text-primary font-weight-semibold pl-2">Asana</div> 515 </a> 516 517 518 <a href="https://desktime.com/features/integrations/outlook-time-tracking" class="feature-item align-items-center"> 519 <img 520 src="/static/web/menu/integrations/Outlook.svg" 521 alt="Outlook" 522 width="32" 523 height="32" 524 > 525 <div class="text-primary font-weight-semibold pl-2">Outlook</div> 526 </a> 527 528 529 <a href="https://desktime.com/features/integrations/google-calendar-time-tracking" class="feature-item align-items-center"> 530 <img 531 src="/static/web/menu/integrations/GoogleCalendar.svg" 532 alt="Google Calendar" 533 width="32" 534 height="32" 535 > 536 <div class="text-primary font-weight-semibold pl-2">Google Calendar</div> 537 </a> 538 539 540 <a href="https://desktime.com/features/integrations/gitlab-time-tracking" class="feature-item align-items-center"> 541 <img 542 src="/static/web/menu/integrations/Gitlab.svg" 543 alt="GitLab" 544 width="32" 545 height="32" 546 > 547 <div class="text-primary font-weight-semibold pl-2">GitLab</div> 548 </a> 549 550 551 <a href="https://desktime.com/features/integrations/trello-time-tracking" class="feature-item align-items-center"> 552 <img 553 src="/static/web/menu/integrations/Trello.svg" 554 alt="Trello" 555 width="32" 556 height="32" 557 > 558 <div class="text-primary font-weight-semibold pl-2">Trello</div> 559 </a> 560 561 562 <a href="https://desktime.com/features/integrations/zapier-time-tracking" class="feature-item align-items-center"> 563 <img 564 src="/static/web/menu/integrations/Zapier.svg" 565 alt="Zapier" 566 width="32" 567 height="32" 568 > 569 <div class="text-primary font-weight-semibold pl-2">Zapier</div> 570 </a> 571 </div> 572 573 <a href="https://desktime.com/features/integrations" class="dt-action-link dt-action-link-icon mt-9">
574 <span> 575 More about integrations & API 576 </span> 577 <i class="icon-arrow-right dt-icon__size--18"></i> 578 </a> 579 580 581 <div class="border-tertiary-bottom mt-8 mb-8 d-xl-none"></div> 582 </div> 583 <div x-show="mobileMenuOpen || hoveredItem === 'analytics'"> 584 <div class="dt-typography-subtitle font-weight-semibold text-secondary d-xl-none mb-9 mt-8">Analytics & reports</div> 585 586 <div class="grid-items"> 587 588 589 <a href="https://desktime.com/features/time-tracking-reports" class="feature-item"> 590 <img 591 src="/static/web/menu/icons/reports.svg" 592 alt="Reports" 593 width="32" 594 height="32" 595 > 596 <div class="d-flex flex-column ml-3"> 597 <div class="text-primary font-weight-semibold">Reports</div> 598 <div class="dt-typography-body-small text-tertiary">Get in-depth data about your teamâs performance</div> 599 </div> 600</a> 601 602 603 <a href="https://desktime.com/features/time-tracking-dashboard" class="feature-item"> 604 <img 605 src="/static/web/menu/icons/admin.svg" 606 alt="Admin dashboard" 607 width="32" 608 height="32" 609 > 610 <div class="d-flex flex-column ml-3"> 611 <div class="text-primary font-weight-semibold">Admin dashboard</div> 612 <div class="dt-typography-body-small text-tertiary">Gain insights about your employees' work hours and productivity levels</div> 613 </div> 614</a> 615 616 617 <a href="https://desktime.com/features/my-desktime" class="feature-item"> 618 <img 619 src="/static/web/menu/icons/team-members.svg" 620 alt="User dashboard" 621 width="32" 622 height="32" 623 > 624 <div class="d-flex flex-column ml-3"> 625 <div class="text-primary font-weight-semibold">User dashboard</div> 626 <div class="dt-typography-body-small text-tertiary">See your teamâs overall activities and performance</div> 627 </div> 628</a> 629 630 631 <a href="https://desktime.com/features/exports" class="feature-item"> 632 <img 633 src="/static/web/menu/icons/exports.svg" 634 alt="Exports" 635 width="32" 636 height="32" 637 > 638 <div class="d-flex flex-column ml-3"> 639 <div class="text-primary font-weight-semibold">Exports</div> 640 <div class="dt-typography-body-small text-tertiary">Download and save tracked data</div> 641 </div> 642</a> 643 644 645 <a href="https://desktime.com/features/ai-summary" class="feature-item"> 646 <img 647 src="/static/web/menu/icons/ai-summary.svg" 648 alt="AI summary" 649 width="32" 650 height="32" 651 > 652 <div class="d-flex flex-column ml-3"> 653 <div class="text-primary font-weight-semibold">AI summary</div> 654 <div class="dt-typography-body-small text-tertiary">See daily and weekly insights instantly with AI-powered summaries</div> 655 </div> 656</a> 657 </div> 658 659 <a href="https://desktime.com/features" class="dt-action-link dt-action-link-icon mt-9"> 660 <span> 661 See all features 662 </span> 663 <i class="icon-arrow-right dt-icon__size--18"></i> 664 </a> 665 666 667 <div class="border-tertiary-bottom mt-8 mb-8 d-xl-none"></div> 668 </div> 669 <div x-show="mobileMenuOpen || hoveredItem === 'workforce'"> 670 <div class="dt-typography-subtitle font-weight-semibold text-secondary d-xl-none mb-9 mt-8">Workforce management</div> 671 672 <div class="grid-items"> 673 674 675 <a href="https://desktime.com/features/shift-scheduling" class="feature-item"> 676 <img 677 src="/static/web/menu/icons/work-sch.svg" 678 alt="Shift scheduling" 679 width="32" 680 height="32" 681 > 682 <div class="d-flex flex-column ml-3"> 683 <div class="text-primary font-weight-semibold">Shift scheduling</div> 684 <div class="dt-typography-body-small text-tertiary">Plan and manage employee shifts in one place</div> 685 </div> 686</a> 687 688 689 <a href="https://desktime.com/features/absence-calendar" class="feature-item"> 690 <img 691 src="/static/web/menu/icons/absence-calendar.svg" 692 alt="Absence calendar" 693 width="32" 694 height="32" 695 > 696 <div class="d-flex flex-column ml-3"> 697 <div class="text-primary font-weight-semibold">Absence calendar</div> 698 <div class="dt-typography-body-small text-tertiary">See whoâs sick, on vacation, OOO and more</div> 699 </div> 700</a> 701 702 703 <a href="https://desktime.com/time-and-attendance-software" class="feature-item"> 704 <img 705 src="/static/web/menu/icons/attendance-management.svg" 706 alt="Attendance management" 707 width="32" 708 height="32" 709 > 710 <div class="d-flex flex-column ml-3"> 711 <div class="text-primary font-weight-semibold">Attendance management</div> 712 <div class="dt-typography-body-small text-tertiary">See how much time your employees spend working</div> 713 </div> 714</a> 715 716 717 <a href="https://desktime.com/features/team-contacts" class="feature-item"> 718 <img 719 src="/static/web/menu/icons/employee-directory.svg" 720 alt="Employee directory" 721 width="32" 722 height="32" 723 > 724 <div class="d-flex flex-column ml-3"> 725 <div class="text-primary font-weight-semibold">Employee directory</div> 726 <div class="dt-typography-body-small text-tertiary">Easily find another colleagueâs contact information</div> 727 </div> 728</a> 729 730 731 <a href="https://desktime.com/features/ip-location" class="feature-item"> 732 <img 733 src="/static/web/menu/icons/ip-location.svg" 734 alt="IP location" 735 width="32" 736 height="32" 737 > 738 <div class="d-flex flex-column ml-3"> 739 <div class="text-primary font-weight-semibold">IP location</div> 740 <div class="dt-typography-body-small text-tertiary">See whoâs working from the office or remotely</div> 741 </div> 742</a> 743 </div> 744 745 <a href="https://desktime.com/features" class="dt-action-link dt-action-link-icon mt-9">
746 <span> 747 See all features 748 </span> 749 <i class="icon-arrow-right dt-icon__size--18"></i> 750 </a> 751 752 753 <div class="border-tertiary-bottom mt-8 mb-8 d-xl-none"></div> 754 </div> 755 </div> 756</div> 757 </div> 758 759 <button 760 class="desktop-nav-item" 761 :class="activeMenu === 'solutions' && 'active'" 762 @click="activeMenu = activeMenu === 'solutions' ? null : 'solutions'; if (activeMenu === 'features') hoveredItem = 'timeTracking'" 763 @mouseenter="activeMenu = 'solutions'; if (activeMenu === 'features') hoveredItem = 'timeTracking'" 764> 765 Solutions 766 <i class="icon-chevron-down"></i> 767</button> 768 769 <div 770 class="desktop-nav-content" 771 x-show="activeMenu === 'solutions'" 772 x-transition:enter.duration.400ms 773 x-transition:leave.duration.100ms 774 x-transition.delay.200ms 775 x-cloak 776 > 777 <div id="solutions" class="my-8 my-xl-0"> 778 <div class="d-flex flex-column"> 779 <div class="dt-typography-body-small text-tertiary font-weight-semibold">For managers</div> 780 781 782 <a href="https://desktime.com/performance-evaluation" class="text-primary font-weight-semibold mt-6">Performance evaluation</a> 783 784 <a href="https://desktime.com/employee-monitoring-software" class="text-primary font-weight-semibold mt-6">Employee monitoring</a> 785 786 <a href="https://desktime.com/unlock-team-potential" class="text-primary font-weight-semibold mt-6">Transparency & accountability</a> 787 788 <a href="https://desktime.com/remote-employee-monitoring" class="text-primary font-weight-semibold mt-6">Remote work monitoring</a> 789 790 <a href="https://desktime.com/employee-productivity-monitoring-software" class="text-primary font-weight-semibold mt-6">Productivity & efficiency</a> 791 </div> 792 <div class="d-flex flex-column"> 793 <div class="dt-typography-body-small text-tertiary font-weight-semibold">For employees</div> 794 795 796 <a href="https://desktime.com/employee-wellbeing" class="text-primary font-weight-semibold mt-6">Employee well-being</a> 797 798 <a href="https://desktime.com/work-life-balance" class="text-primary font-weight-semibold mt-6">Work-life balance</a> 799 800 <a href="https://desktime.com/burnout-prevention" class="text-primary font-weight-semibold mt-6">Burnout prevention</a> 801 802 <a href="https://desktime.com/hybrid-work" class="text-primary font-weight-semibold mt-6">Hybrid work support</a> 803 804 <a href="https://desktime.com/self-accountability" class="text-primary font-weight-semibold mt-6">Self-accountability</a> 805 </div> 806 <div class="d-flex flex-column"> 807 <div class="dt-typography-body-small text-tertiary font-weight-semibold">By industry</div> 808 809 810 <a href="https://desktime.com/it-team-time-tracking" class="text-primary font-weight-semibold mt-6">IT & software</a> 811 812 <a href="https://desktime.com/financial-industry-time-tracking" class="text-primary font-weight-semibold mt-6">Financial services</a> 813 814 <a href="https://desktime.com/industries/time-tracking-for-consultants" class="text-primary font-weight-semibold mt-6">Consultants</a> 815 816 <a href="https://desktime.com/industries/time-management-for-startups" class="text-primary font-weight-semibold mt-6">Startups</a> 817 818 <a href="https://desktime.com/agency-time-tracking" class="text-primary font-weight-semibold mt-6">
818Agencies</a> 819 820 <a href="https://desktime.com/industries/time-tracking-for-developers" class="text-primary font-weight-semibold mt-6">Developers</a> 821 822 <a href="https://desktime.com/industries/time-tracking-for-lawyers" class="text-primary font-weight-semibold mt-6">Lawyers</a> 823 </div> 824 <div class="d-flex flex-column"> 825 <div class="dt-typography-body-small text-tertiary font-weight-semibold">By business size</div> 826 827 828 <a href="https://desktime.com/intro" class="text-primary font-weight-semibold mt-6">Enterprises</a> 829 830 <a href="https://desktime.com/employee-time-tracking-software-for-companies" class="text-primary font-weight-semibold mt-6">Medium businesses</a> 831 832 <a href="https://desktime.com/time-tracking-for-small-businesses" class="text-primary font-weight-semibold mt-6">Small teams</a> 833 834 <a href="https://desktime.com/time-tracking-for-freelancers" class="text-primary font-weight-semibold mt-6">Freelancers</a> 835 </div> 836 837 <a href="https://www.youtube.com/watch?v=Jpt0L_RzVAA" target="_blank" class="thumbnail-container"> 838 <div class="youtube w-play small"> 839 <img 840 src="/static/web/menu/what-is-desktime-thumbnail.webp" 841 alt="DeskTime for Managers - a video tutorial that covers the basics of DeskT
841ime and guides through the setup and onboarding process" 842 width="240" 843 height="160" 844 class="rounded-md object-cover" 845 loading="lazy" 846 > 847 </div> 848 849 <div class="dt-typography-body-small text-uppercase text-secondary font-weight-semibold mt-6">Video</div> 850 <div class="d-flex align-items-center my-2 thumbnail-title"> 851 Get started with DeskTime <i class="icon-external-link dt-icon__size--18 text-gray300 ml-2"></i> 852 </div> 853 <div class="dt-typography-body-small text-tertiary">Start working with our time tracking tool in 5 easy steps</div> 854 855 </a> 856</div> 857 </div> 858 859 <button 860 class="desktop-nav-item" 861 :class="activeMenu === 'resources' && 'active'" 862 @click="activeMenu = activeMenu === 'resources' ? null : 'resources'; if (activeMenu === 'features') hoveredItem = 'timeTracking'" 863 @mouseenter="activeMenu = 'resources'; if (activeMenu === 'features') hoveredItem = 'timeTracking'" 864> 865 Resources 866 <i class="icon-chevron-down"></i> 867</button> 868 869 <div 870 class="desktop-nav-content" 871 x-show="activeMenu === 'resources'" 872 x-transition:enter.duration.400ms 873 x-transition:leave.duration.100ms 874 x-transition.delay.200ms 875 x-cloak 876 > 877 <div id="resources" class="my-8 my-xl-0"> 878 <div class="content"> 879 <div class="d-flex flex-column"> 880 881 <a href="https://desktime.com/time-tracking-roi-calculator" class="text-primary font-weight-semibold mb-6" > 882 Time tracking ROI 883 </a> 884 885 <a href="https://desktime.com/what-does-desktime-track" class="text-primary font-weight-semibold mb-6" > 886 What does DeskTime track? 887 </a> 888 889 <a href="https://help.desktime.com/hc/en-us" class="text-primary font-weight-semibold mb-6" target="_blank" rel="noopener noreferrer" > 890 Help Center 891 </a> 892 893 <a href="https://desktime.com/case-studies" class="text-primary font-weight-semibold mb-6" > 894 Case studies 895 </a> 896 897 <a href="https://desktime.com/product-updates" class="text-primary font-weight-semibold mb-6" > 898 Product updates 899 </a> 900 901 <a href="/blog" class="text-primary font-weight-semibold mb-6" > 902 Blog 903 </a> 904 905 <a href="https://desktime.com/alternatives" class="text-primary font-weight-semibold mb-6" > 906 Competitor comparison 907 </a> 908 909 <a href="https://desktime.com/security" class="text-primary font-weight-semibold mb-6" > 910 Legal & compliance 911 </a> 912 913 <a href="https://desktime.com/about" class="text-primary font-weight-semibold mb-6" > 914 About us 915 </a> 916 917 <a href="https://desktime.com/contacts" class="text-primary font-weight-semibold mb-6" > 918 Contact us 919 </a> 920 921 <a href="https://desktime.com/download" class="text-primary font-weight-semibold mb-6">Download</a> 922 </div> 923 924 <div class="mt-7 mt-xl-0"> 925 <a href="https://desktime.com/managers-toolkit" target="_blank" class="thumbnail-container"> 926 <div class=""> 927 <img 928 src="/static/web/menu/[email protected]" 929 alt="Guide for getting started with DeskTime productivity monitoring software. Setup, configuration, employee unboarding" 930 width="240" 931 height="160" 932 class="rounded-md object-cover" 933 loading="lazy" 934 > 935 </div> 936 937 <div class="dt-typography-body-small text-uppercase text-secondary font-weight-semibold mt-6">FEATURED PAGE</div> 938 <div class="d-flex align-items-center my-2 thumbnail-title"> 939 The DeskTime Setup Guide 940 </div> 941 <div class="dt-typography-body-small text-tertiary">Everything you need to get started, personalize your workspace, and set DeskTime up to fit your team</div> 942 943 <div class="dt-action-link">Read more</div> 944 </a> 945 946 <a href="https://desktime.com/security" target="_blank" class="thumbnail-container"> 947 <div class=""> 948 <img 949 src="/static/web/menu/[email protected]" 950 alt="DeskTime security badges - G2 Users Love Us badge, ISO 27001 and ISO 27701 certifications, GDPR compliance" 951 width="240" 952 height="160" 953 class="rounded-md object-cover" 954 loading="lazy" 955 > 956 </div> 957 958 <div class="dt-typography-body-small text-uppercase text-secondary font-weight-semibold mt-6">FEATURED PAGE</div> 959 <div class="d-flex align-items-center my-2 thumbnail-title">
960 Security at DeskTime 961 </div> 962 <div class="dt-typography-body-small text-tertiary">See what measures we take every day to keep that data safe and secure</div> 963 964 <div class="dt-action-link">Read more</div> 965 </a> 966 967 <a href="https://desktime.com/time-tracking-law-spain" target="_blank" class="thumbnail-container"> 968 <div class=""> 969 <img 970 src="/static/web/menu/[email protected]" 971 alt="See what's changing under Spain's new law and how DeskTime keeps you compliant" 972 width="240" 973 height="160" 974 class="rounded-md object-cover" 975 loading="lazy" 976 > 977 </div> 978 979 <div class="dt-typography-body-small text-uppercase text-secondary font-weight-semibold mt-6">FEATURED PAGE</div> 980 <div class="d-flex align-items-center my-2 thumbnail-title"> 981 Spain's 2026 Time Tracking Reform 982 </div> 983 <div class="dt-typography-body-small text-tertiary">See what's changing under Spain's new law and how DeskTime keeps you compliant</div> 984 985 <div class="dt-action-link">Read more</div> 986 </a> 987 </div> 988 </div> 989 990 991 <div class="review-bar d-none d-xl-flex"> 992 <img src="/static/web/menu/stars.svg" alt="4.5 stars" class="mr-8"> 993 <div>4.5 out of 5 from <a href="https://desktime.com/managers-toolkit" class="dt-link-white">400 reviews</a></div> 994 </div> 995</div> 996 </div> 997 998 <a 999 @mouseenter="activeMenu = null" 1000 href="https://desktime.com/pricing" class="desktop-nav-item" 1001 > 1002 Pricing 1003 </a> 1004 <a 1005 @mouseenter="activeMenu = null" 1006 href="https://desktime.com/demo" class="desktop-nav-item" 1007 > 1008 Demo 1009 </a> 1010 <a 1011 @mouseenter="activeMenu = null" 1012 href="https://desktime.com/intro" 1013 class="desktop-nav-item intro" 1014 > 1015 Intro call 1016 </a> 1017 </div> 1018 1019 1020 <div class="d-none d-lg-flex ml-8" @mouseenter="activeMenu = null"> 1021 <a href="https://desktime.com/register" 1022 id="nav-signup-primary" 1023 class="btn btn-primary" 1024 aria-label="Start a 14-day free trial of DeskTime" 1025 data-ai-action="signup-start"> 1026 Start free trial 1027 </a> 1028 <a href="https://desktime.com/login" 1029 id="nav-login" 1030 class="btn btn-secondary ml-5" 1031 aria-label="Log in to your DeskTime account" 1032 data-ai-action="user-login"> 1033 Log in 1034 </a> 1035 </div> 1036 1037 <div class="nav-lang-picker-container" @click.outside="langSwitcherOpen = false"> 1038 <button 1039 @click="langSwitcherOpen = langSwitcherOpen !== true" 1040 class="nav-lang-picker" 1041 :class="langSwitcherOpen && 'active'" 1042 > 1043 <i class="icon-globe text-gray400 mr-2"></i> 1044 <span class="text-primary text-uppercase font-weight-semibold">en</span> 1045 <i class="icon-chevron-down dt-icon__size--24 text-gray400 ml-3"></i> 1046 </button> 1047 1048 <template x-if="langSwitcherOpen"> 1049 <div class="nav-lang-picker-content"> 1050 <a 1051 class="d-flex align-items-center nav-lang-picker-item active" 1052 href="https://desktime.com/product-updates" 1053 @click="langSwitcherOpen = false" 1054 > 1055 <i 1056 class="icon-check text-green400 mr-3" 1057 ></i> 1058 English 1059 </a> 1060 <a
1061 class="d-flex align-items-center nav-lang-picker-item" 1062 href="https://desktime.com/es/actualizaciones-de-producto" 1063 @click="langSwitcherOpen = false" 1064 > 1065 <i 1066 class="icon-check text-green400 mr-3 d-none" 1067 ></i> 1068 Español 1069 </a> 1070 </div> 1071 </template> 1072 </div> 1073 1074 1075 <div class="d-flex d-xl-none border-left pl-6 ml-6"> 1076 <button 1077 class="nav-burger" 1078 @click="mobileMenuOpen = mobileMenuOpen !== true" 1079 aria-label="Main menu" 1080 :aria-expanded="mobileMenuOpen" 1081 x-init="$watch('mobileMenuOpen', () => document.getElementsByTagName('body')[0].classList.toggle('overflow-hidden'))" 1082 > 1083 <i x-show="!mobileMenuOpen" class="icon-menu text-gray400 dt-icon__size--32"></i> 1084 <i x-show="mobileMenuOpen" class="icon-x text-gray400 dt-icon__size--32" x-cloak></i> 1085 </button> 1086 </div> 1087 </div> 1088 </nav> 1089 1090 1091 <template x-if="mobileMenuOpen" @click.away="mobileMenuOpen = false; activeMenu = null"> 1092 <div class="mobile-nav-content"> 1093 <button 1094 class="mobile-nav-item" 1095 @click="activeMenu = activeMenu === 'features' ? null : 'features'" 1096 :class="activeMenu === 'features' && 'active'" 1097> 1098 Features 1099 <i class="icon-chevron-down text-gray400 dt-icon__size--24"></i> 1100</button> 1101 <div x-show="activeMenu === 'features'"> 1102 <div id="features"> 1103 <div class="desktop-nav-content-container d-none d-xl-flex flex-column"> 1104 <div> 1105 <button 1106 class="desktop-nav-content-title" 1107 @mouseover="hoveredItem = 'timeTracking'" 1108 @click="hoveredItem = 'timeTracking'" 1109 :class="hoveredItem === 'timeTracking' && 'active'" 1110 > 1111 Time Tracking 1112 <i class="icon-arrow-right text-gray400 dt-icon__size--18 ml-3"></i> 1113 </button> 1114 </div> 1115 <div> 1116 <button 1117 class="desktop-nav-content-title" 1118 @mouseover="hoveredItem = 'productivity'" 1119 @click="hoveredItem = 'productivity'" 1120 :class="hoveredItem === 'productivity' && 'active'" 1121 > 1122 Productivity insights 1123 <i class="icon-arrow-right text-gray400 dt-icon__size--18 ml-3"></i> 1124 </button> 1125 </div> 1126 <div> 1127 <button 1128 class="desktop-nav-content-title" 1129 @mouseover="hoveredItem = 'integrations'" 1130 @click="hoveredItem = 'integrations'" 1131 :class="hoveredItem === 'integrations' && 'active'" 1132 > 1133 Integrations & API 1134 <i class="icon-arrow-right text-gray400 dt-icon__size--18 ml-3"></i> 1135 </button> 1136 </div> 1137 <div> 1138 <button 1139 class="desktop-nav-content-title" 1140 @mouseover="hoveredItem = 'analytics'" 1141 @click="hoveredItem = 'analytics'" 1142 :class="hoveredItem === 'analytics' && 'active'" 1143 > 1144 Analytics & reports 1145 <i class="icon-arrow-right text-gray400 dt-icon__size--18 ml-3"></i> 1146 </button> 1147 </div> 1148 <div> 1149 <button 1150 class="desktop-nav-content-title" 1151 @mouseover="hoveredItem = 'workforce'" 1152 @click="hoveredItem = 'workforce'" 1153 :class="hoveredItem === 'workforce' && 'active'" 1154 > 1155 Workforce management 1156 <i class="icon-arrow-right text-gray400 dt-icon__size--18 ml-3"></i> 1157 </button> 1158 </div> 1159 </div> 1160 1161 1162 <div> 1163 <div x-show="mobileMenuOpen || hoveredItem === 'timeTracking'"> 1164 <div class="dt-typography-subtitle font-weight-semibold text-secondary d-xl-none mb-9 mt-8">Time Tracking</div> 1165 1166 <div class="grid-items"> 1167 1168 1169 <a href="https://desktime.com/features/time-tracking" class="feature-item"> 1170 <img 1171 src="/static/web/menu/icons/time-tracking.svg" 1172 alt="Automatic time tracking" 1173 width="32" 1174 height="32" 1175 > 1176 <div class="d-flex flex-column ml-3"> 1177 <div class="text-primary font-weight-semibold">Automatic time tracking</div> 1178 <div class="dt-typography-body-small text-tertiary">Effortless time tracking with our desktop app</div> 1179 </div> 1180</a> 1181 1182 1183 <a href="https://desktime.com/features/project-tracking" class="feature-item"> 1184 <img 1185 src="/static/web/menu/icons/projects.svg" 1186 alt="Project time tracking" 1187 width="32" 1188 height="32" 1189 > 1190 <div class="d-flex flex-column ml-3"> 1191 <div class="text-primary font-weight-semibold">Project time tracking</div> 1192 <div class="dt-typography-body-small text-tertiary">
1192Track time and progress of specific tasks and projects</div> 1193 </div> 1194</a> 1195 1196 1197 <a href="https://desktime.com/features/manual-time-tracking" class="feature-item"> 1198 <img 1199 src="/static/web/menu/icons/offline-time.svg" 1200 alt="Manual and offline time tracking" 1201 width="32" 1202 height="32" 1203 > 1204 <div class="d-flex flex-column ml-3"> 1205 <div class="text-primary font-weight-semibold">Manual and offline time tracking</div> 1206 <div class="dt-typography-body-small text-tertiary">Track time manually and see when employees take breaks from working</div> 1207 </div> 1208</a> 1209 1210 1211 <a href="https://desktime.com/features/private-time" class="feature-item"> 1212 <img 1213 src="/static/web/menu/icons/private-time.svg" 1214 alt="Private time" 1215 width="32" 1216 height="32" 1217 > 1218 <div class="d-flex flex-column ml-3"> 1219 <div class="text-primary font-weight-semibold">Private time</div> 1220 <div class="dt-typography-body-small text-tertiary">Let users take a break from tracking when needed</div> 1221 </div> 1222</a> 1223 </div> 1224 1225 <a href="https://desktime.com/features" class="dt-action-link dt-action-link-icon mt-9"> 1226 <span> 1227 See all features 1228 </span> 1229 <i class="icon-arrow-right dt-icon__size--18"></i> 1230 </a> 1231 1232 1233 <div class="border-tertiary-bottom mt-8 mb-8 d-xl-none"></div> 1234 </div> 1235 <div x-show="mobileMenuOpen || hoveredItem === 'productivity'"> 1236 <div class="dt-typography-subtitle font-weight-semibold text-secondary d-xl-none mb-9 mt-8">Productivity insights</div> 1237 1238 <div class="grid-items"> 1239 1240 1241 <a href="https://desktime.com/features/productivity-calculation" class="feature-item"> 1242 <img 1243 src="/static/web/menu/icons/productivity.svg" 1244 alt="Productivity calculation" 1245 width="32" 1246 height="32" 1247 > 1248 <div class="d-flex flex-column ml-3"> 1249 <div class="text-primary font-weight-semibold">Productivity calculation</div> 1250 <div class="dt-typography-body-small text-tertiary">Get data about your employeesâ productivity</div> 1251 </div> 1252</a> 1253 1254 1255 <a href="https://desktime.com/features/time-tracking-with-screenshots" class="feature-item"> 1256 <img 1257 src="/static/web/menu/icons/screenshots.svg" 1258 alt="Screenshots" 1259 width="32" 1260 height="32" 1261 > 1262 <div class="d-flex flex-column ml-3"> 1263 <div class="text-primary font-weight-semibold">Screenshots</div> 1264 <div class="dt-typography-body-small text-tertiary">Get proof-of-work in cases of questionable productivity or integrity</div> 1265 </div> 1266</a> 1267 1268 1269 <a href="https://desktime.com/features/computer-usage-monitoring" class="feature-item"> 1270 <img 1271 src="/static/web/menu/icons/url-tracking.svg" 1272 alt="URL & app tracking" 1273 width="32" 1274 height="32" 1275 > 1276 <div class="d-flex flex-column ml-3"> 1277 <div class="text-primary font-weight-semibold">URL & app tracking</div> 1278 <div class="dt-typography-body-small text-tertiary">See what sites and apps your employees visit</div> 1279 </div> 1280</a> 1281 1282 1283 <a href="https://desktime.com/features/document-title-tracking" class="feature-item"> 1284 <img 1285 src="/static/web/menu/icons/title-tracking.svg" 1286 alt="Document title tracking" 1287 width="32" 1288 height="32" 1289 > 1290 <div class="d-flex flex-column ml-3"> 1291 <div class="text-primary font-weight-semibold">Document title tracking</div> 1292 <div class="dt-typography-body-small text-tertiary">Keep track of document titles and email subjects</div> 1293 </div> 1294</a> 1295 1296 1297 <a href="https://desktime.com/features/customization" class="feature-item"> 1298 <img 1299 src="/static/web/menu/icons/customizable-settings.svg" 1300 alt="Customizable settings" 1301 width="32" 1302 height="32" 1303 > 1304 <div class="d-flex flex-column ml-3"> 1305 <div class="text-primary font-weight-semibold">Customizable settings</div> 1306 <div class="dt-typography-body-small text-tertiary">
1306Personalize DeskTime to fit your exact needs</div> 1307 </div> 1308</a> 1309 1310 1311 <a href="https://help.desktime.com/hc/en-us/articles/25130467106077" class="feature-item"> 1312 <img 1313 src="/static/web/menu/icons/notifications.svg" 1314 alt="Notifications" 1315 width="32" 1316 height="32" 1317 > 1318 <div class="d-flex flex-column ml-3"> 1319 <div class="text-primary font-weight-semibold">Notifications</div> 1320 <div class="dt-typography-body-small text-tertiary">Receive notifications about important activity updates</div> 1321 </div> 1322</a> 1323 </div> 1324 1325 <a href="https://desktime.com/features" class="dt-action-link dt-action-link-icon mt-9"> 1326 <span> 1327 See all features 1328 </span> 1329 <i class="icon-arrow-right dt-icon__size--18"></i> 1330 </a> 1331 1332 1333 <div class="border-tertiary-bottom mt-8 mb-8 d-xl-none"></div> 1334 </div> 1335 <div x-show="mobileMenuOpen || hoveredItem === 'integrations'"> 1336 <div class="dt-typography-subtitle font-weight-semibold text-secondary d-xl-none mb-9 mt-8">Integrations & API</div> 1337 1338 <div class="grid-items"> 1339 1340 1341 <a href="https://desktime.com/features/integrations/jira-time-tracking" class="feature-item align-items-center"> 1342 <img 1343 src="/static/web/menu/integrations/Jira.svg" 1344 alt="Jira" 1345 width="32" 1346 height="32" 1347 > 1348 <div class="text-primary font-weight-semibold pl-2">Jira</div> 1349 </a> 1350 1351 1352 <a href="https://desktime.com/features/integrations/asana-time-tracking" class="feature-item align-items-center"> 1353 <img 1354 src="/static/web/menu/integrations/Asana.svg" 1355 alt="Asana" 1356 width="32" 1357 height="32" 1358 > 1359 <div class="text-primary font-weight-semibold pl-2">Asana</div> 1360 </a> 1361 1362 1363 <a href="https://desktime.com/features/integrations/outlook-time-tracking" class="feature-item align-items-center"> 1364 <img 1365 src="/static/web/menu/integrations/Outlook.svg" 1366 alt="Outlook" 1367 width="32" 1368 height="32" 1369 > 1370 <div class="text-primary font-weight-semibold pl-2">Outlook</div> 1371 </a> 1372 1373 1374 <a href="https://desktime.com/features/integrations/google-calendar-time-tracking" class="feature-item align-items-center"> 1375 <img 1376 src="/static/web/menu/integrations/GoogleCalendar.svg" 1377 alt="Google Calendar" 1378 width="32" 1379 height="32" 1380 > 1381 <div class="text-primary font-weight-semibold pl-2">Google Calendar</div> 1382 </a> 1383 1384 1385 <a href="https://desktime.com/features/integrations/gitlab-time-tracking" class="feature-item align-items-center"> 1386 <img 1387 src="/static/web/menu/integrations/Gitlab.svg" 1388 alt="GitLab" 1389 width="32" 1390 height="32" 1391 > 1392 <div class="text-primary font-weight-semibold pl-2">GitLab</div> 1393 </a> 1394 1395 1396 <a href="https://desktime.com/features/integrations/trello-time-tracking" class="feature-item align-items-center"> 1397 <img 1398 src="/static/web/menu/integrations/Trello.svg" 1399 alt="Trello" 1400 width="32" 1401 height="32" 1402 > 1403 <div class="text-primary font-weight-semibold pl-2">Trello</div> 1404 </a> 1405 1406 1407 <a href="https://desktime.com/features/integrations/zapier-time-tracking" class="feature-item align-items-center"> 1408 <img 1409 src="/static/web/menu/integrations/Zapier.svg" 1410 alt="Zapier" 1411 width="32" 1412 height="32" 1413 > 1414 <div class="text-primary font-weight-semibold pl-2">Zapier</div> 1415 </a> 1416 </div> 1417 1418 <a href="https://desktime.com/features/integrations" class="dt-action-link dt-action-link-icon mt-9">
1419 <span> 1420 More about integrations & API 1421 </span> 1422 <i class="icon-arrow-right dt-icon__size--18"></i> 1423 </a> 1424 1425 1426 <div class="border-tertiary-bottom mt-8 mb-8 d-xl-none"></div> 1427 </div> 1428 <div x-show="mobileMenuOpen || hoveredItem === 'analytics'"> 1429 <div class="dt-typography-subtitle font-weight-semibold text-secondary d-xl-none mb-9 mt-8">Analytics & reports</div> 1430 1431 <div class="grid-items"> 1432 1433 1434 <a href="https://desktime.com/features/time-tracking-reports" class="feature-item"> 1435 <img 1436 src="/static/web/menu/icons/reports.svg" 1437 alt="Reports" 1438 width="32" 1439 height="32" 1440 > 1441 <div class="d-flex flex-column ml-3"> 1442 <div class="text-primary font-weight-semibold">Reports</div> 1443 <div class="dt-typography-body-small text-tertiary">Get in-depth data about your teamâs performance</div> 1444 </div> 1445</a> 1446 1447 1448 <a href="https://desktime.com/features/time-tracking-dashboard" class="feature-item"> 1449 <img 1450 src="/static/web/menu/icons/admin.svg" 1451 alt="Admin dashboard" 1452 width="32" 1453 height="32" 1454 > 1455 <div class="d-flex flex-column ml-3"> 1456 <div class="text-primary font-weight-semibold">Admin dashboard</div> 1457 <div class="dt-typography-body-small text-tertiary">Gain insights about your employees' work hours and productivity levels</div> 1458 </div> 1459</a> 1460 1461 1462 <a href="https://desktime.com/features/my-desktime" class="feature-item"> 1463 <img 1464 src="/static/web/menu/icons/team-members.svg" 1465 alt="User dashboard" 1466 width="32" 1467 height="32" 1468 > 1469 <div class="d-flex flex-column ml-3"> 1470 <div class="text-primary font-weight-semibold">User dashboard</div> 1471 <div class="dt-typography-body-small text-tertiary">See your teamâs overall activities and performance</div> 1472 </div> 1473</a> 1474 1475 1476 <a href="https://desktime.com/features/exports" class="feature-item"> 1477 <img 1478 src="/static/web/menu/icons/exports.svg" 1479 alt="Exports" 1480 width="32" 1481 height="32" 1482 > 1483 <div class="d-flex flex-column ml-3"> 1484 <div class="text-primary font-weight-semibold">Exports</div> 1485 <div class="dt-typography-body-small text-tertiary">Download and save tracked data</div> 1486 </div> 1487</a> 1488 1489 1490 <a href="https://desktime.com/features/ai-summary" class="feature-item"> 1491 <img 1492 src="/static/web/menu/icons/ai-summary.svg" 1493 alt="AI summary" 1494 width="32" 1495 height="32" 1496 > 1497 <div class="d-flex flex-column ml-3"> 1498 <div class="text-primary font-weight-semibold">AI summary</div> 1499 <div class="dt-typography-body-small text-tertiary">See daily and weekly insights instantly with AI-powered summaries</div> 1500 </div> 1501</a> 1502 </div> 1503 1504 <a href="https://desktime.com/features" class="dt-action-link dt-action-link-icon mt-9"> 1505 <span> 1506 See all features 1507 </span> 1508 <i class="icon-arrow-right dt-icon__size--18"></i> 1509 </a> 1510 1511 1512 <div class="border-tertiary-bottom mt-8 mb-8 d-xl-none"></div> 1513 </div> 1514 <div x-show="mobileMenuOpen || hoveredItem === 'workforce'"> 1515 <div class="dt-typography-subtitle font-weight-semibold text-secondary d-xl-none mb-9 mt-8">Workforce management</div> 1516 1517 <div class="grid-items"> 1518 1519 1520 <a href="https://desktime.com/features/shift-scheduling" class="feature-item"> 1521 <img 1522 src="/static/web/menu/icons/work-sch.svg" 1523 alt="Shift scheduling" 1524 width="32" 1525 height="32" 1526 > 1527 <div class="d-flex flex-column ml-3"> 1528 <div class="text-primary font-weight-semibold">Shift scheduling</div> 1529 <div class="dt-typography-body-small text-tertiary">Plan and manage employee shifts in one place</div> 1530 </div> 1531</a> 1532 1533 1534 <a href="https://desktime.com/features/absence-calendar" class="feature-item"> 1535 <img 1536 src="/static/web/menu/icons/absence-calendar.svg" 1537 alt="Absence calendar" 1538 width="32" 1539 height="32" 1540 > 1541 <div class="d-flex flex-column ml-3"> 1542 <div class="text-primary font-weight-semibold">Absence calendar</div> 1543 <div class="dt-typography-body-small text-tertiary">See whoâs sick, on vacation, OOO and more</div> 1544 </div> 1545</a> 1546 1547 1548 <a href="https://desktime.com/time-and-attendance-software" class="feature-item"> 1549 <img 1550 src="/static/web/menu/icons/attendance-management.svg" 1551 alt="Attendance management" 1552 width="32" 1553 height="32" 1554 > 1555 <div class="d-flex flex-column ml-3"> 1556 <div class="text-primary font-weight-semibold">Attendance management</div> 1557 <div class="dt-typography-body-small text-tertiary">See how much time your employees spend working</div> 1558 </div> 1559</a> 1560 1561 1562 <a href="https://desktime.com/features/team-contacts" class="feature-item"> 1563 <img 1564 src="/static/web/menu/icons/employee-directory.svg" 1565 alt="Employee directory" 1566 width="32" 1567 height="32" 1568 > 1569 <div class="d-flex flex-column ml-3"> 1570 <div class="text-primary font-weight-semibold">Employee directory</div> 1571 <div class="dt-typography-body-small text-tertiary">Easily find another colleagueâs contact information</div> 1572 </div> 1573</a> 1574 1575 1576 <a href="https://desktime.com/features/ip-location" class="feature-item"> 1577 <img 1578 src="/static/web/menu/icons/ip-location.svg" 1579 alt="IP location" 1580 width="32" 1581 height="32" 1582 > 1583 <div class="d-flex flex-column ml-3"> 1584 <div class="text-primary font-weight-semibold">IP location</div> 1585 <div class="dt-typography-body-small text-tertiary">See whoâs working from the office or remotely</div> 1586 </div> 1587</a> 1588 </div> 1589 1590 <a href="https://desktime.com/features" class="dt-action-link dt-action-link-icon mt-9">
1591 <span> 1592 See all features 1593 </span> 1594 <i class="icon-arrow-right dt-icon__size--18"></i> 1595 </a> 1596 1597 1598 <div class="border-tertiary-bottom mt-8 mb-8 d-xl-none"></div> 1599 </div> 1600 </div> 1601</div> 1602 </div> 1603 1604 <button 1605 class="mobile-nav-item" 1606 @click="activeMenu = activeMenu === 'solutions' ? null : 'solutions'" 1607 :class="activeMenu === 'solutions' && 'active'" 1608> 1609 Solutions 1610 <i class="icon-chevron-down text-gray400 dt-icon__size--24"></i> 1611</button> 1612 <div x-show="activeMenu === 'solutions'"> 1613 <div id="solutions" class="my-8 my-xl-0"> 1614 <div class="d-flex flex-column"> 1615 <div class="dt-typography-body-small text-tertiary font-weight-semibold">For managers</div> 1616 1617 1618 <a href="https://desktime.com/performance-evaluation" class="text-primary font-weight-semibold mt-6">Performance evaluation</a> 1619 1620 <a href="https://desktime.com/employee-monitoring-software" class="text-primary font-weight-semibold mt-6">Employee monitoring</a> 1621 1622 <a href="https://desktime.com/unlock-team-potential" class="text-primary font-weight-semibold mt-6">Transparency & accountability</a> 1623 1624 <a href="https://desktime.com/remote-employee-monitoring" class="text-primary font-weight-semibold mt-6">Remote work monitoring</a> 1625 1626 <a href="https://desktime.com/employee-productivity-monitoring-software" class="text-primary font-weight-semibold mt-6">Productivity & efficiency</a> 1627 </div> 1628 <div class="d-flex flex-column"> 1629 <div class="dt-typography-body-small text-tertiary font-weight-semibold">For employees</div> 1630 1631 1632 <a href="https://desktime.com/employee-wellbeing" class="text-primary font-weight-semibold mt-6">Employee well-being</a> 1633 1634 <a href="https://desktime.com/work-life-balance" class="text-primary font-weight-semibold mt-6">Work-life balance</a> 1635 1636 <a href="https://desktime.com/burnout-prevention" class="text-primary font-weight-semibold mt-6">Burnout prevention</a> 1637 1638 <a href="https://desktime.com/hybrid-work" class="text-primary font-weight-semibold mt-6">Hybrid work support</a> 1639 1640 <a href="https://desktime.com/self-accountability" class="text-primary font-weight-semibold mt-6">Self-accountability</a> 1641 </div> 1642 <div class="d-flex flex-column"> 1643 <div class="dt-typography-body-small text-tertiary font-weight-semibold">By industry</div> 1644 1645 1646 <a href="https://desktime.com/it-team-time-tracking" class="text-primary font-weight-semibold mt-6">IT & software</a> 1647 1648 <a href="https://desktime.com/financial-industry-time-tracking" class="text-primary font-weight-semibold mt-6">Financial services</a> 1649 1650 <a href="https://desktime.com/industries/time-tracking-for-consultants" class="text-primary font-weight-semibold mt-6">Consultants</a> 1651 1652 <a href="https://desktime.com/industries/time-management-for-startups" class="text-primary font-weight-semibold mt-6">Startups</a> 1653 1654 <a href="https://desktime.com/agency-time-tracking" class="text-primary font-weight-semibold mt-6">Agencies</a> 1655 1656 <a href="https://desktime.com/industries/time-tracking-for-developers" class="text-primary font-weight-semibold mt-6">Developers</a> 1657 1658 <a href="https://desktime.com/industries/time-tracking-for-lawyers" class="text-primary font-weight-semibold mt-6">Lawyers</a> 1659 </div> 1660 <div class="d-flex flex-column"> 1661 <div class="dt-typography-body-small text-tertiary font-weight-semibold">By business size</div> 1662 1663 1664 <a href="https://desktime.com/intro" class="text-primary font-weight-semibold mt-6">Enterprises</a> 1665 1666 <a href="https://desktime.com/employee-time-tracking-software-for-companies" class="text-primary font-weight-semibold mt-6">Medium businesses</a> 1667 1668 <a href="https://desktime.com/time-tracking-for-small-businesses" class="text-primary font-weight-semibold mt-6">Small teams</a> 1669 1670 <a href="https://desktime.com/time-tracking-for-freelancers" class="text-primary font-weight-semibold mt-6">Freelancers</a> 1671 </div> 1672 1673 <a href="https://www.youtube.com/watch?v=Jpt0L_RzVAA" target="_blank" class="thumbnail-container"> 1674 <div class="youtube w-play small"> 1675 <img 1676 src="/static/web/menu/what-is-desktime-thumbnail.webp" 1677 alt="DeskTime for Managers - a video tutorial that c
1677overs the basics of DeskTime and guides through the setup and onboarding process" 1678 width="240" 1679 height="160" 1680 class="rounded-md object-cover" 1681 loading="lazy" 1682 > 1683 </div> 1684 1685 <div class="dt-typography-body-small text-uppercase text-secondary font-weight-semibold mt-6">Video</div> 1686 <div class="d-flex align-items-center my-2 thumbnail-title"> 1687 Get started with DeskTime <i class="icon-external-link dt-icon__size--18 text-gray300 ml-2"></i> 1688 </div> 1689 <div class="dt-typography-body-small text-tertiary">Start working with our time tracking tool in 5 easy steps</div> 1690 1691 </a> 1692</div> 1693 </div> 1694 1695 <button 1696 class="mobile-nav-item" 1697 @click="activeMenu = activeMenu === 'resources' ? null : 'resources'" 1698 :class="activeMenu === 'resources' && 'active'" 1699> 1700 Resources 1701 <i class="icon-chevron-down text-gray400 dt-icon__size--24"></i> 1702</button> 1703 <div x-show="activeMenu === 'resources'"> 1704 <div id="resources" class="my-8 my-xl-0"> 1705 <div class="content"> 1706 <div class="d-flex flex-column"> 1707 1708 <a href="https://desktime.com/time-tracking-roi-calculator" class="text-primary font-weight-semibold mb-6" > 1709 Time tracking ROI 1710 </a> 1711 1712 <a href="https://desktime.com/what-does-desktime-track" class="text-primary font-weight-semibold mb-6" > 1713 What does DeskTime track? 1714 </a> 1715 1716 <a href="https://help.desktime.com/hc/en-us" class="text-primary font-weight-semibold mb-6" target="_blank" rel="noopener noreferrer" > 1717 Help Center 1718 </a> 1719 1720 <a href="https://desktime.com/case-studies" class="text-primary font-weight-semibold mb-6" > 1721 Case studies 1722 </a> 1723 1724 <a href="https://desktime.com/product-updates" class="text-primary font-weight-semibold mb-6" > 1725 Product updates 1726 </a> 1727 1728 <a href="/blog" class="text-primary font-weight-semibold mb-6" > 1729 Blog 1730 </a> 1731 1732 <a href="https://desktime.com/alternatives" class="text-primary font-weight-semibold mb-6" > 1733 Competitor comparison 1734 </a> 1735 1736 <a href="https://desktime.com/security" class="text-primary font-weight-semibold mb-6" > 1737 Legal & compliance 1738 </a> 1739 1740 <a href="https://desktime.com/about" class="text-primary font-weight-semibold mb-6" > 1741 About us 1742 </a> 1743 1744 <a href="https://desktime.com/contacts" class="text-primary font-weight-semibold mb-6" > 1745 Contact us 1746 </a> 1747 1748 <a href="https://desktime.com/download" class="text-primary font-weight-semibold mb-6">Download</a> 1749 </div> 1750 1751 <div class="mt-7 mt-xl-0"> 1752 <a href="https://desktime.com/managers-toolkit" target="_blank" class="thumbnail-container"> 1753 <div class=""> 1754 <img 1755 src="/static/web/menu/[email protected]" 1756 alt="Guide for getting started with DeskTime productivity monitoring software. Setup, configuration, employee unboarding" 1757 width="240" 1758 height="160" 1759 class="rounded-md object-cover" 1760 loading="lazy" 1761 > 1762 </div> 1763 1764 <div class="dt-typography-body-small text-uppercase text-secondary font-weight-semibold mt-6">FEATURED PAGE</div> 1765 <div class="d-flex align-items-center my-2 thumbnail-title"> 1766 The DeskTime Setup Guide 1767 </div> 1768 <div class="dt-typography-body-small text-tertiary">Everything you need to get started, personalize your workspace, and set DeskTime up to fit your team</div> 1769 1770 <div class="dt-action-link">Read more</div> 1771 </a> 1772 1773 <a href="https://desktime.com/security" target="_blank" class="thumbnail-container"> 1774 <div class=""> 1775 <img 1776 src="/static/web/menu/[email protected]" 1777 alt="DeskTime security badges - G2 Users Love Us badge, ISO 27001 and ISO 27701 certifications, GDPR compliance" 1778 width="240" 1779 height="160" 1780 class="rounded-md object-cover" 1781 loading="lazy" 1782 > 1783 </div> 1784 1785 <div class="dt-typography-body-small text-uppercase text-secondary font-weight-semibold mt-6">FEATURED PAGE</div> 1786 <div class="d-flex align-items-center my-2 thumbnail-title">
1787 Security at DeskTime 1788 </div> 1789 <div class="dt-typography-body-small text-tertiary">See what measures we take every day to keep that data safe and secure</div> 1790 1791 <div class="dt-action-link">Read more</div> 1792 </a> 1793 1794 <a href="https://desktime.com/time-tracking-law-spain" target="_blank" class="thumbnail-container"> 1795 <div class=""> 1796 <img 1797 src="/static/web/menu/[email protected]" 1798 alt="See what's changing under Spain's new law and how DeskTime keeps you compliant" 1799 width="240" 1800 height="160" 1801 class="rounded-md object-cover" 1802 loading="lazy" 1803 > 1804 </div> 1805 1806 <div class="dt-typography-body-small text-uppercase text-secondary font-weight-semibold mt-6">FEATURED PAGE</div> 1807 <div class="d-flex align-items-center my-2 thumbnail-title"> 1808 Spain's 2026 Time Tracking Reform 1809 </div> 1810 <div class="dt-typography-body-small text-tertiary">See what's changing under Spain's new law and how DeskTime keeps you compliant</div> 1811 1812 <div class="dt-action-link">Read more</div> 1813 </a> 1814 </div> 1815 </div> 1816 1817 1818 <div class="review-bar d-none d-xl-flex"> 1819 <img src="/static/web/menu/stars.svg" alt="4.5 stars" class="mr-8"> 1820 <div>4.5 out of 5 from <a href="https://desktime.com/managers-toolkit" class="dt-link-white">400 reviews</a></div> 1821 </div> 1822</div> 1823 </div> 1824 1825 <a href="https://desktime.com/pricing" class="mobile-nav-item">Pricing</a> 1826 <a href="https://desktime.com/demo" class="mobile-nav-item">Demo</a> 1827 <a href="https://desktime.com/intro" class="mobile-nav-item border-bottom-0 text-violet500">Intro call</a> 1828 1829 <div class="d-flex d-lg-none flex-column mt-9"> 1830 <a href="https://desktime.com/register" 1831 id="nav-signup-primary" 1832 class="btn btn-primary mb-5" 1833 aria-label="Start a 14-day free trial of DeskTime" 1834 data-ai-action="signup-start"> 1835 Start free trial 1836 </a> 1837 <a href="https://desktime.com/login" 1838 id="nav-login" 1839 class="btn btn-secondary" 1840 aria-label="Log in to your DeskTime account" 1841 data-ai-action="user-login"> 1842 Log in 1843 </a> 1844 </div> 1845 </div> 1846 </template> 1847 1848 </header> 1849 1850 <main id="content"> 1851 <section 1852 class="no-margin inner-padding pu-hero bg-purple-gradient" 1853 style=";" 1854 > 1855 <div class="container-fluid-override container-xl "> 1856 1857 <div class="container"> 1858 <div class="row"> 1859 <div class="col-12 col-lg-6 text-center text-lg-left"> 1860 <h1 class="dt-typography-h1 font-weight-semibold font-weight-bold mb-4 text-white">Whatâs new at DeskTime</h1> 1861 1862 <p class="dt-typography-subtitle mb-0 text-gray100">Check out the latest updates, new features, and whatâs coming next to make your time tracking even easier.</p> 1863 </div> 1864 </div> 1865 </div> 1866 1867 1868 <div class="pu-svg-container"> 1869 <svg class="w-100 h-100 d-block" viewBox="0 0 1440 253" fill="none" xmlns="http://www.w3.org/2000/svg" 1870 preserveAspectRatio="none"> 1871 <path d="M0 192.152L1440 0V253H0V192.152Z" fill="white" /> 1872 </svg> 1873 </div> 1874 1875 1876 <div class="pu-hero-image-container"> 1877 <img 1878 1879 src="/static/web/product-updates/[email protected]" 1880 srcset="/static/web/product-updates/[email protected] 2x /static/web/product-updates/[email protected] 3x" 1881 class="pu-hero-image" 1882 alt="Product Updates" 1883 > 1884 </div> 1885 </div> 1886</section> 1887 1888 1889 <section 1890 class="" 1891 style=";" 1892 > 1893 <div class="container-fluid-override container-xl "> 1894 1895 <h3 class="dt-typography-h3 font-weight-semibold font-weight-bold mb-3">Recent DeskTime upgrades</h3> 1896 1897 <p class="dt-typography-subtitle mb-9">Explore whatâs fresh, improved, and ready to take your productivity to the next level.</p> 1898 1899 <div class="product-updates-timeline position-relative"> 1900 <div class="row mb-8 mb-sm-9 mb-md-11 position-relative"> 1901 1902 <div 1903 class="col-lg-3 d-none d-lg-flex justify-content-end align-items-start pr-5 timeline-marker-col"> 1904 <div class="d-flex align-items-center text-nowrap"> 1905 <div class="text-secondary mr-13 dt-typography-subtitle">July 21, 2026</div> 1906 <div class="d-flex align-items-center justify-content-center position-absolute" 1907 style="right: 6px"> 1908 <img src="/static/web/product-updates/purple-circle.svg" class="dt-icon__size--32" 1909 alt="marker"> 1910 </div> 1911 </div> 1912 </div> 1913 1914 <div class="col-12 col-lg-9"> 1915 <div class="dt-typography-subtitle-regular text-secondary mb-3 d-flex d-lg-none"> 1916 July 21, 2026 1917 </div> 1918 1919 <div class="rounded-lg p-6 mb-6 border-tertiary"> 1920 <div class="row"> 1921 <div class="col-12 col-md-7 d-flex flex-column justify-content-between"> 1922 <div> 1923 <div class="d-flex flex-wrap mb-5" style="gap: 8px;"> 1924 <div class="badge badge-azure"> 1925 1926 Update 1927 1928 </div> 1929 <div class="badge badge-pink"> 1930 1931 New Feature 1932 1933 </div> 1934 </div> 1935 1936 <h4 class="dt-typography-h4 font-weight-semibold font-weight-bold">IP location in Team Members section</h4> 1937 1938 <p class="dt-typography-subtitle mb-5 text-secondary dt-typography-subtitle-regular">Team Members now shows who's working from the office or remotely.</p> 1939 </div> 1940 1941 <a href="https://desktime.com/app/team-members" class="dt-action-link dt-action-link-icon">
1942 <span>Explore</span> 1943 <i class="icon-arrow-right"></i> 1944 </a> 1945 </div> 1946 1947 <div class="col-12 col-md-5 mt-6 mt-md-0 d-flex align-items-center"> 1948 <div class="pu-feature-card-image-container"> 1949 <img src="/static/web/product-updates/team-members-ip.webp" 1950 srcset="/static/web/product-updates/[email protected] 2x, /static/web/product-updates/[email protected] 3x" 1951 class="lazyload img-fluid" 1952 alt="IP location in Team Members section" 1953 > 1954 </div> 1955 </div> 1956 </div> 1957</div> 1958 </div> 1959 </div> 1960 <div class="row mb-8 mb-sm-9 mb-md-11 position-relative"> 1961 1962 <div 1963 class="col-lg-3 d-none d-lg-flex justify-content-end align-items-start pr-5 timeline-marker-col"> 1964 <div class="d-flex align-items-center text-nowrap"> 1965 <div class="text-secondary mr-13 dt-typography-subtitle">July 14, 2026</div> 1966 <div class="d-flex align-items-center justify-content-center position-absolute" 1967 style="right: 6px"> 1968 <img src="/static/web/product-updates/purple-circle.svg" class="dt-icon__size--32" 1969 alt="marker"> 1970 </div> 1971 </div> 1972 </div> 1973 1974 <div class="col-12 col-lg-9"> 1975 <div class="dt-typography-subtitle-regular text-secondary mb-3 d-flex d-lg-none"> 1976 July 14, 2026 1977 </div> 1978 1979 <div class="rounded-lg p-6 mb-6 border-tertiary"> 1980 <div class="row"> 1981 <div class="col-12 col-md-7 d-flex flex-column justify-content-between"> 1982 <div> 1983 <div class="d-flex flex-wrap mb-5" style="gap: 8px;"> 1984 <div class="badge badge-azure"> 1985 1986 Update 1987 1988 </div> 1989 <div class="badge badge-gray"> 1990 1991 Onboarding 1992 1993 </div> 1994 </div> 1995 1996 <h4 class="dt-typography-h4 font-weight-semibold font-weight-bold">Redesigned New User Experience</h4> 1997 1998 <p class="dt-typography-subtitle mb-5 text-secondary dt-typography-subtitle-regular">We have overhauled the onboarding process for new users, making it even faster and simpler to get started with DeskTime.</p> 1999 </div> 2000 2001 <a href="https://desktime.com/register" class="dt-action-link dt-action-link-icon"> 2002 <span>Sign up</span> 2003 <i class="icon-arrow-right"></i> 2004 </a> 2005 </div> 2006 2007 <div class="col-12 col-md-5 mt-6 mt-md-0 d-flex align-items-center"> 2008 <div class="pu-feature-card-image-container"> 2009 <img src="/static/web/product-updates/onboarding.webp" 2010 srcset="/static/web/product-updates/[email protected] 2x, /static/web/product-updates/[email protected] 3x" 2011 class="lazyload img-fluid" 2012 alt="Redesigned New User Experience" 2013 > 2014 </div> 2015 </div> 2016 </div> 2017</div> 2018 </div> 2019 </div> 2020 <div class="row mb-8 mb-sm-9 mb-md-11 position-relative"> 2021 2022 <div 2023 class="col-lg-3 d-none d-lg-flex justify-content-end align-items-start pr-5 timeline-marker-col"> 2024 <div class="d-flex align-items-center text-nowrap"> 2025 <div class="text-secondary mr-13 dt-typography-subtitle">May 25, 2026</div> 2026 <div class="d-flex align-items-center justify-content-center position-absolute" 2027 style="right: 6px"> 2028 <img src="/static/web/product-updates/purple-circle.svg" class="dt-icon__size--32" 2029 alt="marker"> 2030 </div> 2031 </div> 2032 </div> 2033 2034 <div class="col-12 col-lg-9"> 2035 <div class="dt-typography-subtitle-regular text-secondary mb-3 d-flex d-lg-none"> 2036 May 25, 2026 2037 </div> 2038 2039 <div class="rounded-lg p-6 mb-6 border-tertiary"> 2040 <div class="row"> 2041 <div class="col-12 col-md-7 d-flex flex-column justify-content-between"> 2042 <div> 2043 <div class="d-flex flex-wrap mb-5" style="gap: 8px;"> 2044 <div class="badge badge-azure"> 2045 2046 Update 2047 2048 </div> 2049 <div class="badge badge-gray"> 2050 2051 Tracking 2052 2053 </div> 2054 </div> 2055 2056 <h4 class="dt-typography-h4 font-weight-semibold font-weight-bold">App Categories Overhaul</h4> 2057 2058 <p class="dt-typography-subtitle mb-5 text-secondary dt-typography-subtitle-regular">The redesigned App categories panel now allows bulk selection of apps and websites to make categorization faster and easier.</p> 2059 </div> 2060 2061 <a href="https://help.desktime.com/hc/en-us/articles/4413038887569" class="dt-action-link dt-action-link-icon">
2062 <span>More details</span> 2063 <i class="icon-arrow-right"></i> 2064 </a> 2065 </div> 2066 2067 <div class="col-12 col-md-5 mt-6 mt-md-0 d-flex align-items-center"> 2068 <div class="pu-feature-card-image-container"> 2069 <img src="/static/web/product-updates/categories.webp" 2070 srcset="/static/web/product-updates/[email protected] 2x, /static/web/product-updates/[email protected] 3x" 2071 class="lazyload img-fluid" 2072 alt="App Categories Overhaul" 2073 > 2074 </div> 2075 </div> 2076 </div> 2077</div> 2078 </div> 2079 </div> 2080 <div class="row mb-8 mb-sm-9 mb-md-11 position-relative"> 2081 2082 <div 2083 class="col-lg-3 d-none d-lg-flex justify-content-end align-items-start pr-5 timeline-marker-col"> 2084 <div class="d-flex align-items-center text-nowrap"> 2085 <div class="text-secondary mr-13 dt-typography-subtitle">May 13, 2026</div> 2086 <div class="d-flex align-items-center justify-content-center position-absolute" 2087 style="right: 6px"> 2088 <img src="/static/web/product-updates/purple-circle.svg" class="dt-icon__size--32" 2089 alt="marker"> 2090 </div> 2091 </div> 2092 </div> 2093 2094 <div class="col-12 col-lg-9"> 2095 <div class="dt-typography-subtitle-regular text-secondary mb-3 d-flex d-lg-none"> 2096 May 13, 2026 2097 </div> 2098 2099 <div class="rounded-lg p-6 mb-6 border-tertiary"> 2100 <div class="row"> 2101 <div class="col-12 col-md-7 d-flex flex-column justify-content-between"> 2102 <div> 2103 <div class="d-flex flex-wrap mb-5" style="gap: 8px;"> 2104 <div class="badge badge-pink"> 2105 2106 New Feature 2107 2108 </div> 2109 <div class="badge badge-gray"> 2110 2111 IP location 2112 2113 </div> 2114 </div> 2115 2116 <h4 class="dt-typography-h4 font-weight-semibold font-weight-bold">IP location in Exports</h4> 2117 2118 <p class="dt-typography-subtitle mb-5 text-secondary dt-typography-subtitle-regular">Include IP-based work location data in your exports. See where work happens alongside your existing data for more complete reporting.</p> 2119 </div> 2120 2121 <a href="https://desktime.com/app/exports" class="dt-action-link dt-action-link-icon"> 2122 <span>Explore</span> 2123 <i class="icon-arrow-right"></i> 2124 </a> 2125 </div> 2126 2127 <div class="col-12 col-md-5 mt-6 mt-md-0 d-flex align-items-center"> 2128 <div class="pu-feature-card-image-container"> 2129 <img src="/static/web/product-updates/ip-location-exports.webp" 2130 srcset="/static/web/product-updates/[email protected] 2x, /static/web/product-updates/[email protected] 3x" 2131 class="lazyload img-fluid" 2132 alt="IP location in Exports" 2133 > 2134 </div> 2135 </div> 2136 </div> 2137</div> 2138 </div> 2139 </div> 2140 <div class="row mb-8 mb-sm-9 mb-md-11 position-relative"> 2141 2142 <div 2143 class="col-lg-3 d-none d-lg-flex justify-content-end align-items-start pr-5 timeline-marker-col"> 2144 <div class="d-flex align-items-center text-nowrap"> 2145 <div class="text-secondary mr-13 dt-typography-subtitle">April 20, 2026</div> 2146 <div class="d-flex align-items-center justify-content-center position-absolute" 2147 style="right: 6px"> 2148 <img src="/static/web/product-updates/purple-circle.svg" class="dt-icon__size--32" 2149 alt="marker"> 2150 </div> 2151 </div> 2152 </div> 2153 2154 <div class="col-12 col-lg-9"> 2155 <div class="dt-typography-subtitle-regular text-secondary mb-3 d-flex d-lg-none"> 2156 April 20, 2026 2157 </div> 2158 2159 <div class="rounded-lg p-6 mb-6 border-tertiary"> 2160 <div class="row"> 2161 <div class="col-12 col-md-7 d-flex flex-column justify-content-between"> 2162 <div> 2163 <div class="d-flex flex-wrap mb-5" style="gap: 8px;"> 2164 <div class="badge badge-azure"> 2165 2166 Update 2167 2168 </div> 2169 <div class="badge badge-gray"> 2170 2171 Work Schedule 2172 2173 </div> 2174 <div class="badge badge-red"> 2175 <i class="icon-flame dt-icon__size--12 mr-2" 2176 ></i> 2177 2178 HOT 2179 2180 </div> 2181 </div> 2182 2183 <h4 class="dt-typography-h4 font-weight-semibold font-weight-bold">
2183Work schedules & Absences design changes</h4> 2184 2185 <p class="dt-typography-subtitle mb-5 text-secondary dt-typography-subtitle-regular">Work Schedules and the Absence Calendar now have a cleaner, more intuitive design. Plan work time and manage absences with ease.</p> 2186 </div> 2187 2188 <a href="https://desktime.com/app/schedule" class="dt-action-link dt-action-link-icon"> 2189 <span>Explore</span> 2190 <i class="icon-arrow-right"></i> 2191 </a> 2192 </div> 2193 2194 <div class="col-12 col-md-5 mt-6 mt-md-0 d-flex align-items-center"> 2195 <div class="pu-feature-card-image-container"> 2196 <img src="/static/web/product-updates/work-schedules.webp" 2197 srcset="/static/web/product-updates/[email protected] 2x, /static/web/product-updates/[email protected] 3x" 2198 class="lazyload img-fluid" 2199 alt="Work schedules & Absences design changes" 2200 > 2201 </div> 2202 </div> 2203 </div> 2204</div> 2205 </div> 2206 </div> 2207 <div class="row mb-8 mb-sm-9 mb-md-11 position-relative"> 2208 2209 <div 2210 class="col-lg-3 d-none d-lg-flex justify-content-end align-items-start pr-5 timeline-marker-col"> 2211 <div class="d-flex align-items-center text-nowrap"> 2212 <div class="text-secondary mr-13 dt-typography-subtitle">March 25, 2026</div> 2213 <div class="d-flex align-items-center justify-content-center position-absolute" 2214 style="right: 6px"> 2215 <img src="/static/web/product-updates/purple-circle.svg" class="dt-icon__size--32" 2216 alt="marker"> 2217 </div> 2218 </div> 2219 </div> 2220 2221 <div class="col-12 col-lg-9"> 2222 <div class="dt-typography-subtitle-regular text-secondary mb-3 d-flex d-lg-none"> 2223 March 25, 2026 2224 </div> 2225 2226 <div class="rounded-lg p-6 mb-6 border-tertiary"> 2227 <div class="row"> 2228 <div class="col-12 col-md-7 d-flex flex-column justify-content-between"> 2229 <div> 2230 <div class="d-flex flex-wrap mb-5" style="gap: 8px;"> 2231 <div class="badge badge-pink"> 2232 2233 New Feature 2234 2235 </div> 2236 <div class="badge badge-gray"> 2237 2238 Tracking 2239 2240 </div> 2241 <div class="badge badge-red"> 2242 <i class="icon-flame dt-icon__size--12 mr-2" 2243 ></i> 2244 2245 HOT 2246 2247 </div> 2248 </div> 2249 2250 <h4 class="dt-typography-h4 font-weight-semibold font-weight-bold">IP location tracking</h4> 2251 2252 <p class="dt-typography-subtitle mb-5 text-secondary dt-typography-subtitle-regular">Keep track of whoâs working from the office and whoâs remote. Set your office IP or IP range, and DeskTime will automatically detect the work location.</p> 2253 </div> 2254 2255 <a href="https://help.desktime.com/hc/en-us/articles/34605873392797" class="dt-action-link dt-action-link-icon"> 2256 <span>More details</span> 2257 <i class="icon-arrow-right"></i> 2258 </a> 2259 </div> 2260 2261 <div class="col-12 col-md-5 mt-6 mt-md-0 d-flex align-items-center"> 2262 <div class="pu-feature-card-image-container"> 2263 <img src="/static/web/product-updates/ip-location.webp" 2264 srcset="/static/web/product-updates/[email protected] 2x, /static/web/product-updates/[email protected] 3x" 2265 class="lazyload img-fluid" 2266 alt="IP location tracking" 2267 > 2268 </div> 2269 </div> 2270 </div> 2271</div> 2272 </div> 2273 </div> 2274 <div class="row mb-8 mb-sm-9 mb-md-11 position-relative product-updates-hidden d-none"> 2275 2276 <div 2277 class="col-lg-3 d-none d-lg-flex justify-content-end align-items-start pr-5 timeline-marker-col"> 2278 <div class="d-flex align-items-center text-nowrap"> 2279 <div class="text-secondary mr-13 dt-typography-subtitle">March 24, 2026</div> 2280 <div class="d-flex align-items-center justify-content-center position-absolute" 2281 style="right: 6px"> 2282 <img src="/static/web/product-updates/purple-circle.svg" class="dt-icon__size--32" 2283 alt="marker"> 2284 </div> 2285 </div> 2286 </div> 2287 2288 <div class="col-12 col-lg-9"> 2289 <div class="dt-typography-subtitle-regular text-secondary mb-3 d-flex d-lg-none"> 2290 March 24, 2026 2291 </div> 2292 2293 <div class="rounded-lg p-6 mb-6 border-tertiary"> 2294 <div class="row"> 2295 <div class="col-12 col-md-7 d-flex flex-column justify-content-between"> 2296 <div> 2297 <div class="d-flex flex-wrap mb-5" style="gap: 8px;"> 2298 <div class="badge badge-pink"> 2299 2300 New Feature 2301 2302 </div> 2303 <div class="badge badge-gray"> 2304 2305 AI Summary 2306 2307 </div> 2308 <div class="badge badge-red"> 2309 <i class="icon-flame dt-icon__size--12 mr-2" 2310 ></i> 2311 2312 HOT 2313 2314 </div> 2315 </div> 2316 2317 <h4 class="dt-typography-h4 font-weight-semibold font-weight-bold">AI Summary</h4> 2318 2319 <p class="dt-typography-subtitle mb-5 text-secondary dt-typography-subtitle-regular">The new AI Summary helps make sense of everyday work data. Get clear daily insights that highlight patterns, focus areas, and workload, all in one click.</p> 2320 </div> 2321 2322 <a href="https://help.desktime.com/hc/en-us/articles/34163491209629" class="dt-action-link dt-action-link-icon">
2323 <span>More details</span> 2324 <i class="icon-arrow-right"></i> 2325 </a> 2326 </div> 2327 2328 <div class="col-12 col-md-5 mt-6 mt-md-0 d-flex align-items-center"> 2329 <div class="pu-feature-card-image-container"> 2330 <img src="/static/web/product-updates/ai-summary.webp" 2331 srcset="/static/web/product-updates/[email protected] 2x, /static/web/product-updates/[email protected] 3x" 2332 class="lazyload img-fluid" 2333 alt="AI Summary" 2334 > 2335 </div> 2336 </div> 2337 </div> 2338</div> 2339 </div> 2340 </div> 2341 <div class="row mb-8 mb-sm-9 mb-md-11 position-relative product-updates-hidden d-none"> 2342 2343 <div 2344 class="col-lg-3 d-none d-lg-flex justify-content-end align-items-start pr-5 timeline-marker-col"> 2345 <div class="d-flex align-items-center text-nowrap"> 2346 <div class="text-secondary mr-13 dt-typography-subtitle">December 1, 2025</div> 2347 <div class="d-flex align-items-center justify-content-center position-absolute" 2348 style="right: 6px"> 2349 <img src="/static/web/product-updates/purple-circle.svg" class="dt-icon__size--32" 2350 alt="marker"> 2351 </div> 2352 </div> 2353 </div> 2354 2355 <div class="col-12 col-lg-9"> 2356 <div class="dt-typography-subtitle-regular text-secondary mb-3 d-flex d-lg-none"> 2357 December 1, 2025 2358 </div> 2359 2360 <div class="rounded-lg p-6 mb-6 border-tertiary"> 2361 <div class="row"> 2362 <div class="col-12 col-md-7 d-flex flex-column justify-content-between"> 2363 <div> 2364 <div class="d-flex flex-wrap mb-5" style="gap: 8px;"> 2365 <div class="badge badge-yellow"> 2366 2367 Apps & Integrations 2368 2369 </div> 2370 <div class="badge badge-gray"> 2371 2372 Calendar 2373 2374 </div> 2375 </div> 2376 2377 <h4 class="dt-typography-h4 font-weight-semibold font-weight-bold">Automatic absence logging</h4> 2378 2379 <p class="dt-typography-subtitle mb-5 text-secondary dt-typography-subtitle-regular">From now on, approved DeskTime absences will appear <strong>automatically</strong> in your Outlook Calendar.</p> 2380 </div> 2381 2382 <a href="https://desktime.com/features/integrations/outlook-time-tracking" class="dt-action-link dt-action-link-icon"> 2383 <span>More details</span> 2384 <i class="icon-arrow-right"></i> 2385 </a> 2386 </div> 2387 2388 <div class="col-12 col-md-5 mt-6 mt-md-0 d-flex align-items-center"> 2389 <div class="pu-feature-card-image-container"> 2390 <img src="/static/web/product-updates/outlook-desktime.webp" 2391 srcset="/static/web/product-updates/[email protected] 2x, /static/web/product-updates/[email protected] 3x" 2392 class="lazyload img-fluid" 2393 alt="Automatic absence logging" 2394 > 2395 </div> 2396 </div> 2397 </div> 2398</div> 2399 </div> 2400 </div> 2401 <div class="row mb-8 mb-sm-9 mb-md-11 position-relative product-updates-hidden d-none"> 2402 2403 <div 2404 class="col-lg-3 d-none d-lg-flex justify-content-end align-items-start pr-5 timeline-marker-col"> 2405 <div class="d-flex align-items-center text-nowrap"> 2406 <div class="text-secondary mr-13 dt-typography-subtitle">September 24, 2025</div> 2407 <div class="d-flex align-items-center justify-content-center position-absolute" 2408 style="right: 6px"> 2409 <img src="/static/web/product-updates/purple-circle.svg" class="dt-icon__size--32" 2410 alt="marker"> 2411 </div> 2412 </div> 2413 </div> 2414 2415 <div class="col-12 col-lg-9"> 2416 <div class="dt-typography-subtitle-regular text-secondary mb-3 d-flex d-lg-none"> 2417 September 24, 2025 2418 </div> 2419 2420 <div class="rounded-lg p-6 mb-6 border-tertiary"> 2421 <div class="row"> 2422 <div class="col-12 col-md-7 d-flex flex-column justify-content-between"> 2423 <div> 2424 <div class="d-flex flex-wrap mb-5" style="gap: 8px;"> 2425 <div class="badge badge-green"> 2426 2427 Upgrade 2428 2429 </div> 2430 <div class="badge badge-gray"> 2431 2432 Reports 2433 2434 </div> 2435 </div> 2436 2437 <h4 class="dt-typography-h4 font-weight-semibold font-weight-bold">Upgraded Exports section</h4> 2438 2439 <p class="dt-typography-subtitle mb-5 text-secondary dt-typography-subtitle-regular">Weâve given DeskTime Exports a big upgrade to make reporting smoother and more flexible.</p> 2440 </div> 2441 2442 <a href="https://desktime.com/features/exports" class="dt-action-link dt-action-link-icon">
2443 <span>More details</span> 2444 <i class="icon-arrow-right"></i> 2445 </a> 2446 </div> 2447 2448 <div class="col-12 col-md-5 mt-6 mt-md-0 d-flex align-items-center"> 2449 <div class="pu-feature-card-image-container"> 2450 <img src="/static/web/product-updates/exports.webp" 2451 srcset="/static/web/product-updates/[email protected] 2x, /static/web/product-updates/[email protected] 3x" 2452 class="lazyload img-fluid" 2453 alt="Upgraded Exports section" 2454 > 2455 </div> 2456 </div> 2457 </div> 2458</div> 2459 </div> 2460 </div> 2461 <div class="row mb-8 mb-sm-9 mb-md-11 position-relative product-updates-hidden d-none"> 2462 2463 <div 2464 class="col-lg-3 d-none d-lg-flex justify-content-end align-items-start pr-5 timeline-marker-col"> 2465 <div class="d-flex align-items-center text-nowrap"> 2466 <div class="text-secondary mr-13 dt-typography-subtitle">August 26, 2025</div> 2467 <div class="d-flex align-items-center justify-content-center position-absolute" 2468 style="right: 6px"> 2469 <img src="/static/web/product-updates/purple-circle.svg" class="dt-icon__size--32" 2470 alt="marker"> 2471 </div> 2472 </div> 2473 </div> 2474 2475 <div class="col-12 col-lg-9"> 2476 <div class="dt-typography-subtitle-regular text-secondary mb-3 d-flex d-lg-none"> 2477 August 26, 2025 2478 </div> 2479 2480 <div class="rounded-lg p-6 mb-6 border-tertiary"> 2481 <div class="row"> 2482 <div class="col-12 col-md-7 d-flex flex-column justify-content-between"> 2483 <div> 2484 <div class="d-flex flex-wrap mb-5" style="gap: 8px;"> 2485 <div class="badge badge-azure"> 2486 2487 Update 2488 2489 </div> 2490 <div class="badge badge-gray"> 2491 2492 Settings 2493 2494 </div> 2495 </div> 2496 2497 <h4 class="dt-typography-h4 font-weight-semibold font-weight-bold">Refreshed DeskTime Settings</h4> 2498 2499 <p class="dt-typography-subtitle mb-5 text-secondary dt-typography-subtitle-regular">Your DeskTime Settings now have a cleaner layout that makes finding what you need faster.</p> 2500 </div> 2501 2502 <a href="https://desktime.com/app/settings/profile" class="dt-action-link dt-action-link-icon"> 2503 <span>Explore</span> 2504 <i class="icon-arrow-right"></i> 2505 </a> 2506 </div> 2507 2508 <div class="col-12 col-md-5 mt-6 mt-md-0 d-flex align-items-center"> 2509 <div class="pu-feature-card-image-container"> 2510 <img src="/static/web/product-updates/settings.webp" 2511 srcset="/static/web/product-updates/[email protected] 2x, /static/web/product-updates/[email protected] 3x" 2512 class="lazyload img-fluid" 2513 alt="Refreshed DeskTime Settings" 2514 > 2515 </div> 2516 </div> 2517 </div> 2518</div> 2519 </div> 2520 </div> 2521 <div class="row mb-8 mb-sm-9 mb-md-11 position-relative product-updates-hidden d-none"> 2522 2523 <div 2524 class="col-lg-3 d-none d-lg-flex justify-content-end align-items-start pr-5 timeline-marker-col"> 2525 <div class="d-flex align-items-center text-nowrap"> 2526 <div class="text-secondary mr-13 dt-typography-subtitle">June 9, 2025</div> 2527 <div class="d-flex align-items-center justify-content-center position-absolute" 2528 style="right: 6px"> 2529 <img src="/static/web/product-updates/purple-circle.svg" class="dt-icon__size--32" 2530 alt="marker"> 2531 </div> 2532 </div> 2533 </div> 2534 2535 <div class="col-12 col-lg-9"> 2536 <div class="dt-typography-subtitle-regular text-secondary mb-3 d-flex d-lg-none"> 2537 June 9, 2025 2538 </div> 2539 2540 <div class="rounded-lg p-6 mb-6 border-tertiary"> 2541 <div class="row"> 2542 <div class="col-12 col-md-7 d-flex flex-column justify-content-between"> 2543 <div> 2544 <div class="d-flex flex-wrap mb-5" style="gap: 8px;"> 2545 <div class="badge badge-green"> 2546 2547 Upgrade 2548 2549 </div> 2550 <div class="badge badge-gray"> 2551 2552 Billing 2553 2554 </div> 2555 </div> 2556 2557 <h4 class="dt-typography-h4 font-weight-semibold font-weight-bold">Billing made simple</h4> 2558 2559 <p class="dt-typography-subtitle mb-5 text-secondary dt-typography-subtitle-regular">Weâve refreshed the Billing section to make it easier, so you can manage your DeskTime subscription without the guesswork.</p> 2560 </div> 2561 2562 <a href="https://desktime.com/app/sett
2562ings/billing" class="dt-action-link dt-action-link-icon"> 2563 <span>Explore</span> 2564 <i class="icon-arrow-right"></i> 2565 </a> 2566 </div> 2567 2568 <div class="col-12 col-md-5 mt-6 mt-md-0 d-flex align-items-center"> 2569 <div class="pu-feature-card-image-container"> 2570 <img src="/static/web/product-updates/billing.webp" 2571 srcset="/static/web/product-updates/[email protected] 2x, /static/web/product-updates/[email protected] 3x" 2572 class="lazyload img-fluid" 2573 alt="Billing made simple" 2574 > 2575 </div> 2576 </div> 2577 </div> 2578</div> 2579 </div> 2580 </div> 2581 <div class="row mb-8 mb-sm-9 mb-md-11 position-relative product-updates-hidden d-none"> 2582 2583 <div 2584 class="col-lg-3 d-none d-lg-flex justify-content-end align-items-start pr-5 timeline-marker-col"> 2585 <div class="d-flex align-items-center text-nowrap"> 2586 <div class="text-secondary mr-13 dt-typography-subtitle">March 18, 2025</div> 2587 <div class="d-flex align-items-center justify-content-center position-absolute" 2588 style="right: 6px"> 2589 <img src="/static/web/product-updates/purple-circle.svg" class="dt-icon__size--32" 2590 alt="marker"> 2591 </div> 2592 </div> 2593 </div> 2594 2595 <div class="col-12 col-lg-9"> 2596 <div class="dt-typography-subtitle-regular text-secondary mb-3 d-flex d-lg-none"> 2597 March 18, 2025 2598 </div> 2599 2600 <div class="rounded-lg p-6 mb-6 border-tertiary"> 2601 <div class="row"> 2602 <div class="col-12 col-md-7 d-flex flex-column justify-content-between"> 2603 <div> 2604 <div class="d-flex flex-wrap mb-5" style="gap: 8px;"> 2605 <div class="badge badge-gray"> 2606 2607 Tracking 2608 2609 </div> 2610 </div> 2611 2612 <h4 class="dt-typography-h4 font-weight-semibold font-weight-bold">DeskTime Notifications</h4> 2613 2614 <p class="dt-typography-subtitle mb-5 text-secondary dt-typography-subtitle-regular">With in-app and email alerts for Company Owners, Admins, and User Admins, everything you need is delivered straight to you.</p> 2615 </div> 2616 2617 <a href="https://help.desktime.com/hc/en-us/articles/25130467106077" class="dt-action-link dt-action-link-icon"> 2618 <span>More details</span> 2619 <i class="icon-arrow-right"></i> 2620 </a> 2621 </div> 2622 2623 <div class="col-12 col-md-5 mt-6 mt-md-0 d-flex align-items-center"> 2624 <div class="pu-feature-card-image-container"> 2625 <img src="/static/web/product-updates/notifications.webp" 2626 srcset="/static/web/product-updates/[email protected] 2x, /static/web/product-updates/[email protected] 3x" 2627 class="lazyload img-fluid" 2628 alt="DeskTime Notifications" 2629 > 2630 </div> 2631 </div> 2632 </div> 2633</div> 2634 </div> 2635 </div> 2636 <div class="row mb-8 mb-sm-9 mb-md-11 position-relative product-updates-hidden d-none"> 2637 2638 <div 2639 class="col-lg-3 d-none d-lg-flex justify-content-end align-items-start pr-5 timeline-marker-col"> 2640 <div class="d-flex align-items-center text-nowrap"> 2641 <div class="text-secondary mr-13 dt-typography-subtitle">February 5, 2025</div> 2642 <div class="d-flex align-items-center justify-content-center position-absolute" 2643 style="right: 6px"> 2644 <img src="/static/web/product-updates/purple-circle.svg" class="dt-icon__size--32" 2645 alt="marker"> 2646 </div> 2647 </div> 2648 </div> 2649 2650 <div class="col-12 col-lg-9"> 2651 <div class="dt-typography-subtitle-regular text-secondary mb-3 d-flex d-lg-none"> 2652 February 5, 2025 2653 </div> 2654 2655 <div class="rounded-lg p-6 mb-6 border-tertiary"> 2656 <div class="row"> 2657 <div class="col-12 col-md-7 d-flex flex-column justify-content-between"> 2658 <div> 2659 <div class="d-flex flex-wrap mb-5" style="gap: 8px;"> 2660 <div class="badge badge-azure"> 2661 2662 Update 2663 2664 </div> 2665 </div> 2666 2667 <h4 class="dt-typography-h4 font-weight-semibold font-weight-bold">A smoother way to log in</h4> 2668 2669 <p class="dt-typography-subtitle mb-5 text-secondary dt-typography-subtitle-regular">The DeskTime log-in experience is becoming easier, simpler, and more efficient.</p> 2670 </div> 2671 2672 <a href="https://desktime.com/login" class="dt-action-link dt-action-link-icon">
2673 <span>Explore</span> 2674 <i class="icon-arrow-right"></i> 2675 </a> 2676 </div> 2677 2678 <div class="col-12 col-md-5 mt-6 mt-md-0 d-flex align-items-center"> 2679 <div class="pu-feature-card-image-container"> 2680 <img src="/static/web/product-updates/login.webp" 2681 srcset="/static/web/product-updates/[email protected] 2x, /static/web/product-updates/[email protected] 3x" 2682 class="lazyload img-fluid" 2683 alt="A smoother way to log in" 2684 > 2685 </div> 2686 </div> 2687 </div> 2688</div> 2689 </div> 2690 </div> 2691 2692 <div class="row mt-10" id="load-more-container"> 2693 <div class="col-lg-3 d-none d-lg-block"></div> 2694 <div class="col-12 col-lg-9 pl-lg-5 d-flex justify-content-center"> 2695 <button class="btn btn-outline-secondary px-10" id="load-more-btn"> 2696 Load more 2697 </button> 2698 </div> 2699 </div> 2700 </div> 2701 </div> 2702</section> 2703 2704 2705 <section 2706 class="inner-padding bg-purple-gradient" 2707 style=";" 2708 > 2709 <div class="container-fluid-override container-xl "> 2710 2711 <div class="mw-content mx-auto " style=""> 2712 <h3 class="dt-typography-h3 font-weight-semibold font-weight-bold text-center mb-3 text-white">Whatâs coming next</h3> 2713 2714 <p class="dt-typography-subtitle mb-9 text-center text-white">Take a look at what weâre building next to help your team work with confidence and efficiency.</p> 2715</div> 2716 2717 <style> 2718 .grid-component.how { 2719 display: grid; 2720 grid-template-columns: 1fr; 2721 gap: 16px; 2722 } 2723 2724 @media(min-width: 576px) { 2725 .grid-component.how { 2726 grid-template-columns: repeat(2, 1fr); 2727 gap: 16px; 2728 } 2729 2730 .grid-component.how > * { 2731 grid-column-end: span 2; 2732 } 2733 } 2734 2735 @media(min-width: 768px) { 2736 .grid-component.how { 2737 grid-template-columns: repeat(6, 1fr); 2738 } 2739 2740 .grid-component.how > *:last-of-type { 2741 grid-column-start: unset; 2742 } 2743 } 2744 2745 @media(min-width: 992px) { 2746 .grid-component.how { 2747 grid-template-columns: repeat(6, 1fr); 2748 gap: 32px; 2749 } 2750 2751 .grid-component.how > *:last-of-type { 2752 grid-column-start: unset; 2753 } 2754 } 2755 2756 @media(min-width: 1200px) { 2757 .grid-component.how { 2758 grid-template-columns: repeat(6, 1fr); 2759 } 2760 2761 .grid-component.how > *:last-of-type { 2762 grid-column-start: unset; 2763 } 2764 } 2765</style> 2766 2767<div class="grid-component how "> 2768 <div class="d-flex flex-column rounded-lg p-8 card-muted"> 2769 <div class="d-flex align-items-center mb-3"> 2770 <i class="icon-file-chart-column dt-icon__size--24 mr-4 text-white"></i> 2771 <h5 class="dt-typography-h5 font-weight-semibold font-weight-bold mb-0 text-white">Improved DeskTime Reports</h5> 2772 </div> 2773 2774 <p class="dt-typography-subtitle dt-typography-body text-white mb-0">DeskTime Reports upgrades will enable you to access, customize, and share your reports with ease.</p> 2775 </div> 2776 2777 <div class="d-flex flex-column rounded-lg p-8 card-muted"> 2778 <div class="d-flex align-items-center mb-3"> 2779 <i class="icon-code-xml dt-icon__size--24 mr-4 text-white"></i> 2780 <h5 class="dt-typography-h5 font-weight-semibold font-weight-bold mb-0 text-white">All-new API</h5> 2781 </div> 2782 2783 <p class="dt-typography-subtitle dt-typography-body text-white mb-0">Weâre rebuilding our API following global OpenAPI standards to make integrations easier, more reliable, and scalable.</p> 2784 </div> 2785 2786 <div class="d-flex flex-column rounded-lg p-8 card-muted"> 2787 <div class="d-flex align-items-center mb-3"> 2788 <i class="icon-clipboard-check dt-icon__size--24 mr-4 text-white"></i> 2789 <h5 class="dt-typography-h5 font-weight-semibold font-weight-bold mb-0 text-white">
2789Spanish ITSS compliance</h5> 2790 </div> 2791 2792 <p class="dt-typography-subtitle dt-typography-body text-white mb-0">DeskTime will soon be fully compliant with the 2026 law changes regarding work time tracking in Spain.</p> 2793 </div> 2794</div> 2795 </div> 2796</section> 2797 2798 2799 <section 2800 class="" 2801 style=";" 2802 > 2803 <div class="container-fluid-override container-xl "> 2804 2805 <div class="mw-content mx-auto " style=""> 2806 <h3 class="dt-typography-h3 font-weight-semibold font-weight-bold text-center mb-3">Stay connected with us</h3> 2807 2808 <p class="dt-typography-subtitle text-center mb-9">Follow DeskTime updates, discover real user stories, and help shape the product with your feature suggestions.</p> 2809</div> 2810 2811 2812 <style> 2813 .grid-component.how-to { 2814 display: grid; 2815 grid-template-columns: 1fr; 2816 gap: 16px; 2817 } 2818 2819 @media(min-width: 576px) { 2820 .grid-component.how-to { 2821 grid-template-columns: repeat(2, 1fr); 2822 gap: 16px; 2823 } 2824 2825 .grid-component.how-to > * { 2826 grid-column-end: span 2; 2827 } 2828 } 2829 2830 @media(min-width: 768px) { 2831 .grid-component.how-to { 2832 grid-template-columns: repeat(2, 1fr); 2833 } 2834 2835 .grid-component.how-to > *:last-of-type { 2836 grid-column-start: unset; 2837 } 2838 } 2839 2840 @media(min-width: 992px) { 2841 .grid-component.how-to { 2842 grid-template-columns: repeat(6, 1fr); 2843 gap: 32px; 2844 } 2845 2846 .grid-component.how-to > *:last-of-type { 2847 grid-column-start: unset; 2848 } 2849 } 2850 2851 @media(min-width: 1200px) { 2852 .grid-component.how-to { 2853 grid-template-columns: repeat(6, 1fr); 2854 } 2855 2856 .grid-component.how-to > *:last-of-type { 2857 grid-column-start: unset; 2858 } 2859 } 2860</style> 2861 2862<div class="grid-component how-to "> 2863 <div class="d-flex flex-column mx-auto"> 2864 <div class="mb-6"> 2865 <img 2866 decoding="async" 2867 width="100" 2868 height="100" 2869 src="/static/web/product-updates/linkedin-preview.png" class="img-fluid w-100" 2870 alt="" 2871 loading="lazy" > 2872 </div> 2873 <div class="d-flex flex-column justify-content-center w-100 mb-auto"> 2874 <h5 class="font-weight-bold mb-3">Keep in touch on LinkedIn</h5> 2875 <p class="dt-typography-body text-gray600 mb-0">Follow DeskTime on LinkedIn to stay updated on new features, company news, and helpful tips to get the most out of your time tracking.</p> 2876 </div> 2877 <div class="mt-6"> 2878 <a href="https://www.linkedin.com/company/desktime/" class="btn btn-secondary w-100">Follow on Linkedin <i class="icon-external-link ml-2"></i></a> 2879 </div> 2880 </div> 2881 <div class="d-flex flex-column mx-auto"> 2882 <div class="mb-6"> 2883 <img 2884 decoding="async" 2885 width="100" 2886 height="100" 2887 src="/static/web/product-updates/blog-preview.png" class="img-fluid w-100" 2888 alt="" 2889 loading="lazy" > 2890 </div> 2891 <div class="d-flex flex-column justify-content-center w-100 mb-auto"> 2892 <h5 class="font-weight-bold mb-3">DeskTime Blog</h5> 2893 <p class="dt-typography-body text-gray600 mb-0">Our blog is full of practical guides, insights, and stories from usersâeverything you need to stay informed and improve your workflows.</p> 2894 </div> 2895 <div class="mt-6"> 2896 <a href="https://desktime.com/blog" class="btn btn-secondary w-100">Read blog</a> 2897 </div> 2898 </div> 2899 <div class="d-flex flex-column mx-auto"> 2900 <div class="mb-6"> 2901 <img 2902 decoding="async" 2903 width="100" 2904 height="100" 2905 src="/static/web/product-updates/search-preview.png" class="img-fluid w-100" 2906 alt="" 2907 loading="lazy" > 2908 </div> 2909 <div class="d-flex flex-column justify-content-center w-100 mb-auto"> 2910 <h5 class="font-weight-bold mb-3">Donât see what you need?</h5> 2911 <p class="dt-typography-body text-gray600 mb-0">Have an idea or feature suggestion? Share it with us and help shape the future of DeskT
2911ime.</p> 2912 </div> 2913 <div class="mt-6"> 2914 <a href="https://desktime.com/feature-requests" class="btn btn-secondary w-100">Request a feature</a> 2915 </div> 2916 </div> 2917</div> 2918 </div> 2919</section> 2920 2921 </main> 2922 2923 <footer class="d-flex flex-column"> 2924 <div class="footer-content"> 2925 <div 2926 class="mobile-footer-content" 2927 x-data="{ footerMenu: null }" 2928 > 2929 <button 2930 class="mobile-footer-item" 2931 @click="footerMenu = footerMenu === 'features' ? null : 'features'" 2932 :class="footerMenu === 'features' && 'active'" 2933> 2934 Features 2935 <i class="icon-chevron-down dt-icon__size--24 text-white"></i> 2936</button> 2937 <div x-show="footerMenu === 'features'" x-cloak> 2938 <div class="footer-column mb-md-10"> 2939 <div class="title">Features</div> 2940 2941 <ul> 2942 <li> 2943 <a href="https://desktime.com/features/time-tracking">Automatic time tracking</a> 2944 </li> 2945 <li> 2946 <a href="https://desktime.com/features/document-title-tracking">Document title tracking</a> 2947 </li> 2948 <li> 2949 <a href="https://desktime.com/features/project-tracking">Project time tracking</a> 2950 </li> 2951 <li> 2952 <a href="https://desktime.com/features/private-time">Private time</a> 2953 </li> 2954 <li> 2955 <a href="https://desktime.com/features/productivity-calculation">Productivity calculation</a> 2956 </li> 2957 <li> 2958 <a href="https://desktime.com/features/time-tracking-with-screenshots">Screenshots</a> 2959 </li> 2960 <li> 2961 <a href="https://desktime.com/features/computer-usage-monitoring">URL & app tracking</a> 2962 </li> 2963 <li> 2964 <a href="https://desktime.com/features/time-tracking-reports">Reports</a> 2965 </li> 2966 <li> 2967 <a href="https://desktime.com/features/time-tracking-dashboard">Dashboards</a> 2968 </li> 2969 <li> 2970 <a href="https://desktime.com/features/ai-summary">AI summary</a> 2971 </li> 2972 <li> 2973 <a href="https://desktime.com/features/shift-scheduling">Shift scheduling</a> 2974 </li> 2975 <li> 2976 <a href="https://desktime.com/features/absence-calendar">Absence calendar</a> 2977 </li> 2978 <li> 2979 <a href="https://desktime.com/time-and-attendance-software">Attendance management</a> 2980 </li> 2981 <li> 2982 <a href="https://desktime.com/features/integrations">Integrations & API</a> 2983 </li> 2984 <li> 2985 <a href="https://desktime.com/features/ip-location">IP Location</a> 2986 </li> 2987 </ul> 2988</div> 2989 </div> 2990 2991 <button 2992 class="mobile-footer-item" 2993 @click="footerMenu = footerMenu === 'solutions' ? null : 'solutions'" 2994 :class="footerMenu === 'solutions' && 'active'" 2995> 2996 Solutions 2997 <i class="icon-chevron-down dt-icon__size--24 text-white"></i> 2998</button> 2999 <div x-show="footerMenu === 'solutions'" x-cloak> 3000 <div class="footer-column"> 3001 <div class="title">Solutions</div> 3002 3003 <div class="dt-typography-body-small text-azure200 mb-6 mb-md-3">By use cases</div> 3004 <ul class="mb-9 mb-md-10"> 3005 3006 <li> 3007 <a href="https://desktime.com/performance-evaluation">Performance evaluation</a> 3008 </li> 3009 3010 <li> 3011 <a href="https://desktime.com/employee-monitoring-software">Employee monitoring</a> 3012 </li> 3013 3014 <li> 3015 <a href="https://desktime.com/unlock-team-potential">Transparency & accountability</a> 3016 </li> 3017 3018 <li> 3019 <a href="https://desktime.com/remote-employee-monitoring">Remote work monitoring</a> 3020 </li> 3021 3022 <li> 3023 <a href="https://desktime.com/employee-productivity-monitoring-software">Productivity & efficiency</a> 3024 </li> 3025 3026 <li> 3027 <a href="https://desktime.com/employee-wellbeing">Employee well-being</a> 3028 </li> 3029 3030 <li> 3031 <a href="https://desktime.com/work-life-balance">Work-life balance</a> 3032 </li> 3033 3034 <li> 3035 <a href="https://desktime.com/burnout-prevention">Burnout prevention</a> 3036 </li> 3037 3038 <li> 3039 <a href="https://desktime.com/hybrid-work">
3039Hybrid work support</a> 3040 </li> 3041 3042 <li> 3043 <a href="https://desktime.com/self-accountability">Self-accountability</a> 3044 </li> 3045 </ul> 3046 3047 <div class="dt-typography-body-small text-azure200 mb-6 mb-md-3">By industries</div> 3048 <ul class="mb-9 mb-md-10"> 3049 3050 <li> 3051 <a href="https://desktime.com/it-team-time-tracking">IT & software</a> 3052 </li> 3053 3054 <li> 3055 <a href="https://desktime.com/financial-industry-time-tracking">Financial services</a> 3056 </li> 3057 3058 <li> 3059 <a href="https://desktime.com/industries/time-tracking-for-consultants">Consultants</a> 3060 </li> 3061 3062 <li> 3063 <a href="https://desktime.com/industries/time-management-for-startups">Startups</a> 3064 </li> 3065 3066 <li> 3067 <a href="https://desktime.com/agency-time-tracking">Agencies</a> 3068 </li> 3069 3070 <li> 3071 <a href="https://desktime.com/industries/time-tracking-for-developers">Developers</a> 3072 </li> 3073 3074 <li> 3075 <a href="https://desktime.com/industries/time-tracking-for-lawyers">Lawyers</a> 3076 </li> 3077 </ul> 3078 3079 <div class="dt-typography-body-small text-azure200 mb-6 mb-md-3">By business size</div> 3080 <ul> 3081 <li> 3082 <a href="https://desktime.com/intro">Enterprises</a> 3083 </li> 3084 <li> 3085 <a href="https://desktime.com/employee-time-tracking-software-for-companies">Medium businesses</a> 3086 </li> 3087 <li> 3088 <a href="https://desktime.com/time-tracking-for-small-businesses">Small teams</a> 3089 </li> 3090 <li> 3091 <a href="https://desktime.com/time-tracking-for-freelancers">Freelancers</a> 3092 </li> 3093 </ul> 3094</div> 3095 </div> 3096 3097 <button 3098 class="mobile-footer-item" 3099 @click="footerMenu = footerMenu === 'resources' ? null : 'resources'" 3100 :class="footerMenu === 'resources' && 'active'" 3101> 3102 Resources 3103 <i class="icon-chevron-down dt-icon__size--24 text-white"></i> 3104</button> 3105 <div x-show="footerMenu === 'resources'" x-cloak> 3106 <div class="footer-column"> 3107 <div class="title">Resources</div> 3108 3109 <ul> 3110 3111 <li> 3112 <a href="https://desktime.com/time-tracking-roi-calculator" >Time tracking ROI</a> 3113 </li> 3114 3115 <li> 3116 <a href="https://desktime.com/what-does-desktime-track" >What does DeskTime track?</a> 3117 </li> 3118 3119 <li> 3120 <a href="https://desktime.com/demo" >Demo</a> 3121 </li> 3122 3123 <li> 3124 <a href="https://desktime.com/managers-toolkit" >The Desktime setup guide</a> 3125 </li> 3126 3127 <li> 3128 <a href="https://help.desktime.com/hc/en-us" target="_blank" rel="noopener noreferrer" >Help Center</a> 3129 </li> 3130 3131 <li> 3132 <a href="/blog" >Blog</a> 3133 </li> 3134 3135 <li> 3136 <a href="https://desktime.com/case-studies" >Case studies</a> 3137 </li> 3138 3139 <li> 3140 <a href="https://desktime.com/product-updates" >Product updates</a> 3141 </li> 3142 3143 <li> 3144 <a href="https://desktime.com/about" >About us</a> 3145 </li> 3146 3147 <li> 3148 <a href="https://desktime.com/ai-info" >For AI</a> 3149 </li> 3150 3151 <li> 3152 <a href="https://help.desktime.com/hc/en-us/sections/25494426310045" target="_blank" rel="noopener noreferrer" >API documentation</a> 3153 </li> 3154 3155 <li> 3156 <a href="https://desktime.com/software-reseller-program" >Become a reseller</a> 3157 </li> 3158 3159 <li> 3160 <a href="https://desktime.com/affiliate" >Affiliate</a> 3161 </li> 3162 <li class="d-flex align-items-center"> 3163 <i class="icon-download text-white mr-2"></i> <a href="https://desktime.com/download"> 3164 Download app 3165 </a> 3166 </li> 3167 </ul> 3168</div> 3169 </div> 3170 3171 <button 3172 class="mobile-footer-item" 3173 @click="footerMenu = footerMenu === 'contacts' ? null : 'contacts'" 3174 :class="footerMenu === 'contacts' && 'active'" 3175> 3176 Contacts 3177 <i class="icon-chevron-down dt-icon__size--24 text-white"></i> 3178</button> 3179 <div x-show="footerMenu === 'contacts'" x-cloak> 3180 <div class="footer-column mb-md-10"> 3181 <div class="title">Contacts</div> 3182 3183 <ul> 3184 <li> 3185 <a href="https://desktime.com/contacts">Contact us</a> 3186 </li> 3187 3188 <li> 3189 <a href="javascript:;" onclick="zendeskChat.openLiveChat()">Open chat</a> 3190 </li> 3191 3192 <li> 3193 <a href="https://desktime.com/feature-requests">Feature requests</a> 3194 </li> 3195 3196 <li> 3197 <a href="https://desktime.com/press">Media kit</a> 3198 </li> 3199 </ul> 3200</div> 3201 </div> 3202 3203 <button 3204 class="mobile-footer-item" 3205 @click="footerMenu = footerMenu === 'phone-support' ? null : 'phone-support'" 3206 :class="footerMenu === 'phone-support' && 'active'" 3207> 3208 Phone support 3209 <i class="icon-chevron-down dt-icon__size--24 text-white"></i> 3210</button> 3211 <div x-show="footerMenu === 'phone-support'" x-cloak> 3212 <div class="footer-column mb-md-10"> 3213 <div class="title">Phone support</div> 3214 3215 <div class="d-flex flex-column"> 3216 <a href="tel:+1(240)623-5586">+1 (240) 623-5586</a>
3217 <span class="text-gray200"> 3218 Mon-Fri 9:00-22:00 EEST 3219 </span> 3220 </div> 3221</div> 3222 </div> 3223 3224 <button 3225 class="mobile-footer-item border-0" 3226 @click="footerMenu = footerMenu === 'legal' ? null : 'legal'" 3227 :class="footerMenu === 'legal' && 'active'" 3228> 3229 Legal & Compliance 3230 <i class="icon-chevron-down dt-icon__size--24 text-white"></i> 3231</button> 3232 <div x-show="footerMenu === 'legal'" x-cloak> 3233 <div class="footer-column border-0"> 3234 <div class="title">Legal & Compliance</div> 3235 3236 <ul> 3237 <li> 3238 <a href="https://desktime.com/security">Security</a> 3239 </li> 3240 <li> 3241 <a href="https://desktime.com/terms">Terms</a> 3242 </li> 3243 <li> 3244 <a href="https://desktime.com/privacy">Privacy</a> 3245 </li> 3246 <li> 3247 <a href="https://desktime.com/cookies">Cookies</a> 3248 </li> 3249 <li> 3250 <a href="https://desktime.com/beta-terms">Beta tester terms</a> 3251 </li> 3252 </ul> 3253</div> 3254 </div> 3255 3256 <div class="subscribe-contacts-block"> 3257 <form x-data="() => { 3258 return { 3259 data: { 3260 email: '' 3261 }, 3262 loading: false, 3263 showSuccess: false, 3264 errorText: null, 3265 submit() { 3266 this.loading = true; 3267 this.errorText = null; 3268 const route = document.getElementsByClassName('subscribe-box')[0].getAttribute('action'); 3269 3270 fetch(route, { 3271 method: 'POST', 3272 headers: { 3273 'Content-Type': 'application/json', 3274 'Accept': 'application/json', 3275 'X-CSRF-TOKEN': document.querySelector(`input[name='_token']`).value 3276 }, 3277 body: JSON.stringify(this.data) 3278 }) 3279 .then((res) => res.json()) 3280 .then((data) => { 3281 if (data.errors) { 3282 this.errorText = data.errors.email[0] 3283 } else { 3284 this.showSuccess = true 3285 } 3286 }) 3287 .catch((e) => { 3288 console.error(e); 3289 }) 3290 .finally(() => { 3291 this.loading = false; 3292 }) 3293 } 3294 } 3295}" 3296 @submit.prevent="submit" 3297 class="subscribe-box" 3298 action="https://desktime.com/newsletter" 3299> 3300 <input type="hidden" name="_token" value="904befNRtTM36nebcOcvZyl2BM8dztugMpE2OikU" autocomplete="off"> 3301 <template x-if="showSuccess" x-cloak> 3302 <div class="d-flex justify-content-center align-items-center"> 3303 <div class="dt-typography-h5 font-weight-semibold text-center">Subscribed!</div> 3304 </div> 3305 </template> 3306 3307 <template x-if="!showSuccess" x-cloak> 3308 <div class="d-flex flex-column"> 3309 <div class="dt-typography-h5 font-weight-semibold text-center">Subscribe to our newsletter</div> 3310 3311 <input type="email" x-model="data.email" class="form-control mt-6" id="newsletter" placeholder="Your work email"> 3312 3313 <div class="form-text invalid-feedback" :class="{'d-block mt-3': !!errorText}" x-text="errorText"></div> 3314 3315 <button type="submit" 3316 class="btn btn-primary btn-lg mt-6" 3317 :disabled="loading" 3318 id="footer-newsletter-submit" 3319 aria-label="Subscribe to the DeskTime newsletter" 3320 data-ai-action="newsletter-subscribe"> 3321 Submit 3322 </button> 3323 3324 <span class="dt-typography-body-small text-secondary pt-6 text-center">By subscribing, you agree to our <a href="https://desktime.com/privacy" class="dt-link font-weight-semibold">privacy policy</a></span> 3325 </div> 3326 </template> 3327</form> 3328 3329 <div class="d-flex flex-column flex-sm-row flex-md-column mt-13 mt-md-0 mt-lg-11"> 3330 <div class="d-flex flex-column align-items-center"> 3331 <div class="d-flex justify-content-between m-auto m-sm-0" style="width: 200px"> 3332 <img src="/static/web/g2-review/footer/en/1.svg" width="54" alt="G2 badge for High Performer in Employee Scheduling software category, Summer 2026" loading="lazy" decoding="async"> 3333 <img src="/static/web/g2-review/footer/en/3.svg" width="68" alt="G2 badge for Leader in Employee Monitoring software category, Summer 2026" loading="lazy" decoding="async"> 3334 <img src="/static/web/g2-review/footer/en/2.svg" width="54" alt="G2 milestone badge for most loved software in the Automatic Time Tracking category, Summer 2026" loading="lazy" decoding="async"> 3335 </div> 3336 <div class="text-white text-center"> 3337 4.5 out of 5 from <a href="https://www.g2.com/products/desktime-desktime/reviews" class="dt-link-white">400 reviews</a> 3338 </div> 3339 </div> 3340 <a href="https://desktime.com/security" class="d-flex align-items-center justify-content-center text-white mt-10 mt-sm-0 mt-md-10 ml-sm-11 ml-md-0"> 3341 <img src="/static/web/footer/iso-badge.svg" alt="iso-certification" class="mr-6" loading="lazy" decoding="async">
3342 <span style="max-width: 136px">ISO 27001 & 27701 certified</span> 3343 </a> 3344 </div> 3345</div> 3346 </div> 3347 3348 <div class="desktop-footer-content"> 3349 <div class="d-flex flex-column flex-md-row w-100"> 3350 <div class="d-flex flex-column w-100"> 3351 <div class="footer-column mb-md-10"> 3352 <div class="title">Features</div> 3353 3354 <ul> 3355 <li> 3356 <a href="https://desktime.com/features/time-tracking">Automatic time tracking</a> 3357 </li> 3358 <li> 3359 <a href="https://desktime.com/features/document-title-tracking">Document title tracking</a> 3360 </li> 3361 <li> 3362 <a href="https://desktime.com/features/project-tracking">Project time tracking</a> 3363 </li> 3364 <li> 3365 <a href="https://desktime.com/features/private-time">Private time</a> 3366 </li> 3367 <li> 3368 <a href="https://desktime.com/features/productivity-calculation">Productivity calculation</a> 3369 </li> 3370 <li> 3371 <a href="https://desktime.com/features/time-tracking-with-screenshots">Screenshots</a> 3372 </li> 3373 <li> 3374 <a href="https://desktime.com/features/computer-usage-monitoring">URL & app tracking</a> 3375 </li> 3376 <li> 3377 <a href="https://desktime.com/features/time-tracking-reports">Reports</a> 3378 </li> 3379 <li> 3380 <a href="https://desktime.com/features/time-tracking-dashboard">Dashboards</a> 3381 </li> 3382 <li> 3383 <a href="https://desktime.com/features/ai-summary">AI summary</a> 3384 </li> 3385 <li> 3386 <a href="https://desktime.com/features/shift-scheduling">Shift scheduling</a> 3387 </li> 3388 <li> 3389 <a href="https://desktime.com/features/absence-calendar">Absence calendar</a> 3390 </li> 3391 <li> 3392 <a href="https://desktime.com/time-and-attendance-software">Attendance management</a> 3393 </li> 3394 <li> 3395 <a href="https://desktime.com/features/integrations">Integrations & API</a> 3396 </li> 3397 <li> 3398 <a href="https://desktime.com/features/ip-location">IP Location</a> 3399 </li> 3400 </ul> 3401</div> 3402 3403 <div class="footer-column"> 3404 <div class="title">Resources</div> 3405 3406 <ul> 3407 3408 <li> 3409 <a href="https://desktime.com/time-tracking-roi-calculator" >Time tracking ROI</a> 3410 </li> 3411 3412 <li> 3413 <a href="https://desktime.com/what-does-desktime-track" >What does DeskTime track?</a> 3414 </li> 3415 3416 <li> 3417 <a href="https://desktime.com/demo" >Demo</a> 3418 </li> 3419 3420 <li> 3421 <a href="https://desktime.com/managers-toolkit" >The Desktime setup guide</a> 3422 </li> 3423 3424 <li> 3425 <a href="https://help.desktime.com/hc/en-us" target="_blank" rel="noopener noreferrer" >Help Center</a> 3426 </li> 3427 3428 <li> 3429 <a href="/blog" >Blog</a> 3430 </li> 3431 3432 <li> 3433 <a href="https://desktime.com/case-studies" >Case studies</a> 3434 </li> 3435 3436 <li> 3437 <a href="https://desktime.com/product-updates" >Product updates</a> 3438 </li> 3439 3440 <li> 3441 <a href="https://desktime.com/about" >About us</a> 3442 </li> 3443 3444 <li> 3445 <a href="https://desktime.com/ai-info" >For AI</a> 3446 </li> 3447 3448 <li> 3449 <a href="https://help.desktime.com/hc/en-us/sections/25494426310045" target="_blank" rel="noopener noreferrer" >API documentation</a> 3450 </li> 3451 3452 <li> 3453 <a href="https://desktime.com/software-reseller-program" >Become a reseller</a> 3454 </li> 3455 3456 <li> 3457 <a href="https://desktime.com/affiliate" >Affiliate</a> 3458 </li> 3459 <li class="d-flex align-items-center"> 3460 <i class="icon-download text-white mr-2"></i> <a href="https://desktime.com/download"> 3461 Download app 3462 </a> 3463 </li> 3464 </ul> 3465</div> 3466 </div> 3467 3468 <div class="w-100"> 3469 <div class="footer-column"> 3470 <div class="title">Solutions</div> 3471 3472 <div class="dt-typography-body-small text-azure200 mb-6 mb-md-3">By use cases</div> 3473 <ul class="mb-9 mb-md-10"> 3474 3475 <li> 3476 <a href="https://desktime.com/performance-evaluation">Performance evaluation</a> 3477 </li> 3478 3479 <li> 3480 <a href="https://desktime.com/employee-monitoring-software">Employee monitoring</a> 3481 </li> 3482 3483 <li> 3484 <a href="https://desktime.com/unlock-team-potential">Transparency & accountability</a> 3485 </li> 3486 3487 <li> 3488 <a href="https://desktime.com/remote-employee-monitoring">Remote work monitoring</a> 3489 </li> 3490 3491 <li> 3492 <a href="https://desktime.com/employee-productivity-monitoring-software">Productivity & efficiency</a> 3493 </li> 3494 3495 <li> 3496 <a href="https://desktime.com/employee-wellbeing">Employee well-being</a> 3497 </li> 3498 3499 <li> 3500 <a href="https://desktime.com/work-life-balance">Work-life balance</a> 3501 </li> 3502 3503 <li> 3504 <a href="https://desktime.com/burnout-prevention">Burnout prevention</a> 3505 </li> 3506 3507 <li> 3508 <a href="https://desktime.com/hybrid-work">
3508Hybrid work support</a> 3509 </li> 3510 3511 <li> 3512 <a href="https://desktime.com/self-accountability">Self-accountability</a> 3513 </li> 3514 </ul> 3515 3516 <div class="dt-typography-body-small text-azure200 mb-6 mb-md-3">By industries</div> 3517 <ul class="mb-9 mb-md-10"> 3518 3519 <li> 3520 <a href="https://desktime.com/it-team-time-tracking">IT & software</a> 3521 </li> 3522 3523 <li> 3524 <a href="https://desktime.com/financial-industry-time-tracking">Financial services</a> 3525 </li> 3526 3527 <li> 3528 <a href="https://desktime.com/industries/time-tracking-for-consultants">Consultants</a> 3529 </li> 3530 3531 <li> 3532 <a href="https://desktime.com/industries/time-management-for-startups">Startups</a> 3533 </li> 3534 3535 <li> 3536 <a href="https://desktime.com/agency-time-tracking">Agencies</a> 3537 </li> 3538 3539 <li> 3540 <a href="https://desktime.com/industries/time-tracking-for-developers">Developers</a> 3541 </li> 3542 3543 <li> 3544 <a href="https://desktime.com/industries/time-tracking-for-lawyers">Lawyers</a> 3545 </li> 3546 </ul> 3547 3548 <div class="dt-typography-body-small text-azure200 mb-6 mb-md-3">By business size</div> 3549 <ul> 3550 <li> 3551 <a href="https://desktime.com/intro">Enterprises</a> 3552 </li> 3553 <li> 3554 <a href="https://desktime.com/employee-time-tracking-software-for-companies">Medium businesses</a> 3555 </li> 3556 <li> 3557 <a href="https://desktime.com/time-tracking-for-small-businesses">Small teams</a> 3558 </li> 3559 <li> 3560 <a href="https://desktime.com/time-tracking-for-freelancers">Freelancers</a> 3561 </li> 3562 </ul> 3563</div> 3564 </div> 3565 3566 <div class="w-100"> 3567 <div class="footer-column mb-md-10"> 3568 <div class="title">Contacts</div> 3569 3570 <ul> 3571 <li> 3572 <a href="https://desktime.com/contacts">Contact us</a> 3573 </li> 3574 3575 <li> 3576 <a href="javascript:;" onclick="zendeskChat.openLiveChat()">Open chat</a> 3577 </li> 3578 3579 <li> 3580 <a href="https://desktime.com/feature-requests">Feature requests</a> 3581 </li> 3582 3583 <li> 3584 <a href="https://desktime.com/press">Media kit</a> 3585 </li> 3586 </ul> 3587</div> 3588 <div class="footer-column mb-md-10"> 3589 <div class="title">Phone support</div> 3590 3591 <div class="d-flex flex-column"> 3592 <a href="tel:+1(240)623-5586">+1 (240) 623-5586</a> 3593 <span class="text-gray200"> 3594 Mon-Fri 9:00-22:00 EEST 3595 </span> 3596 </div> 3597</div> 3598 <div class="footer-column border-0"> 3599 <div class="title">Legal & Compliance</div> 3600 3601 <ul> 3602 <li> 3603 <a href="https://desktime.com/security">Security</a> 3604 </li> 3605 <li> 3606 <a href="https://desktime.com/terms">Terms</a> 3607 </li> 3608 <li> 3609 <a href="https://desktime.com/privacy">Privacy</a> 3610 </li> 3611 <li> 3612 <a href="https://desktime.com/cookies">Cookies</a> 3613 </li> 3614 <li> 3615 <a href="https://desktime.com/beta-terms">Beta tester terms</a> 3616 </li> 3617 </ul> 3618</div> 3619 </div> 3620 </div> 3621 3622 <div class="subscribe-contacts-block"> 3623 <form x-data="() => { 3624 return { 3625 data: { 3626 email: '' 3627 }, 3628 loading: false, 3629 showSuccess: false, 3630 errorText: null, 3631 submit() { 3632 this.loading = true; 3633 this.errorText = null; 3634 const route = document.getElementsByClassName('subscribe-box')[0].getAttribute('action'); 3635 3636 fetch(route, { 3637 method: 'POST', 3638 headers: { 3639 'Content-Type': 'application/json', 3640 'Accept': 'application/json', 3641 'X-CSRF-TOKEN': document.querySelector(`input[name='_token']`).value 3642 }, 3643 body: JSON.stringify(this.data) 3644 }) 3645 .then((res) => res.json()) 3646 .then((data) => { 3647 if (data.errors) { 3648 this.errorText = data.errors.email[0] 3649 } else { 3650 this.showSuccess = true 3651 } 3652 }) 3653 .catch((e) => { 3654 console.error(e); 3655 }) 3656 .finally(() => { 3657 this.loading = false;
3658 }) 3659 } 3660 } 3661}" 3662 @submit.prevent="submit" 3663 class="subscribe-box" 3664 action="https://desktime.com/newsletter" 3665> 3666 <input type="hidden" name="_token" value="904befNRtTM36nebcOcvZyl2BM8dztugMpE2OikU" autocomplete="off"> 3667 <template x-if="showSuccess" x-cloak> 3668 <div class="d-flex justify-content-center align-items-center"> 3669 <div class="dt-typography-h5 font-weight-semibold text-center">Subscribed!</div> 3670 </div> 3671 </template> 3672 3673 <template x-if="!showSuccess" x-cloak> 3674 <div class="d-flex flex-column"> 3675 <div class="dt-typography-h5 font-weight-semibold text-center">Subscribe to our newsletter</div> 3676 3677 <input type="email" x-model="data.email" class="form-control mt-6" id="newsletter" placeholder="Your work email"> 3678 3679 <div class="form-text invalid-feedback" :class="{'d-block mt-3': !!errorText}" x-text="errorText"></div> 3680 3681 <button type="submit" 3682 class="btn btn-primary btn-lg mt-6" 3683 :disabled="loading" 3684 id="footer-newsletter-submit" 3685 aria-label="Subscribe to the DeskTime newsletter" 3686 data-ai-action="newsletter-subscribe"> 3687 Submit 3688 </button> 3689 3690 <span class="dt-typography-body-small text-secondary pt-6 text-center">By subscribing, you agree to our <a href="https://desktime.com/privacy" class="dt-link font-weight-semibold">privacy policy</a></span> 3691 </div> 3692 </template> 3693</form> 3694 3695 <div class="d-flex flex-column flex-sm-row flex-md-column mt-13 mt-md-0 mt-lg-11"> 3696 <div class="d-flex flex-column align-items-center"> 3697 <div class="d-flex justify-content-between m-auto m-sm-0" style="width: 200px"> 3698 <img src="/static/web/g2-review/footer/en/1.svg" width="54" alt="G2 badge for High Performer in Employee Scheduling software category, Summer 2026" loading="lazy" decoding="async"> 3699 <img src="/static/web/g2-review/footer/en/3.svg" width="68" alt="G2 badge for Leader in Employee Monitoring software category, Summer 2026" loading="lazy" decoding="async"> 3700 <img src="/static/web/g2-review/footer/en/2.svg" width="54" alt="G2 milestone badge for most loved software in the Automatic Time Tracking category, Summer 2026" loading="lazy" decoding="async"> 3701 </div> 3702 <div class="text-white text-center"> 3703 4.5 out of 5 from <a href="https://www.g2.com/products/desktime-desktime/reviews" class="dt-link-white">400 reviews</a> 3704 </div> 3705 </div> 3706 <a href="https://desktime.com/security" class="d-flex align-items-center justify-content-center text-white mt-10 mt-sm-0 mt-md-10 ml-sm-11 ml-md-0"> 3707 <img src="/static/web/footer/iso-badge.svg" alt="iso-certification" class="mr-6" loading="lazy" decoding="async"> 3708 <span style="max-width: 136px">ISO 27001 & 27701 certified</span> 3709 </a> 3710 </div> 3711</div> 3712 </div> 3713 </div> 3714 3715 <div class="footer-contacts"> 3716 <div class="footer-logos"> 3717 <div class="d-flex flex-column justify-content-center justify-content-sm-start align-items-center align-items-sm-start"> 3718 <a href="/"> 3719 <img width="160" height="36" src="/static/logo/logo-white-without-padding.svg" alt="logo"> 3720 </a> 3721 <div class="footer-tagline">A hassle-free automatic time tracker. Set it and forget it.</div> 3722 </div> 3723 <div class="d-flex flex-column"> 3724 <div class="d-flex justify-content-center justify-content-sm-end mb-8 mt-11 mt-sm-0"> 3725 <a 3726 href="https://www.linkedin.com/company/desktime-com" 3727 class="text-decoration-none" 3728 target="_blank" 3729 rel="nofollow noreferrer noopener" 3730 title="Linkedin" 3731 > 3732 <i class="icon-dt-linkedin bg-aqua100 mr-6" style="width: 28px; height: 28px"></i> 3733 </a> 3734 <a 3735 href="https://www.youtube.com/@desktime" 3736 class="text-decoration-none" 3737 target="_blank" 3738 rel="noreferrer noopener" 3739 title="Youtube" 3740 > 3741 <i class="icon-dt-youtube bg-aqua100 mr-6" style="width: 28px; height: 28px"></i> 3742 </a> 3743 <a 3744 href="https://www.instagram.com/teamdesktime/" 3745 class="text-decoration-none" 3746 target="_blank" 3747 rel="nofollow noreferrer noopener" 3748 title="Instagram" 3749 > 3750 <i class="icon-dt-instagram bg-aqua100 mr-6" style="width: 28px; height: 28px"></i> 3751 </a> 3752 <a 3753 href="https://x.com/desktime" target="_blank" 3754 class="text-decoration-none" 3755 rel="nofollow noreferrer noopener" 3756 title="X" 3757 > 3758 <i class="icon-dt-x bg-aqua100 mr-6" style="width: 28px; height: 28px"></i> 3759 </a> 3760 <a 3761 href="https://www.facebook.com/desktime/" 3762 class="text-decoration-none" 3763 target="_blank" 3764 rel="nofollow noreferrer noopener" 3765 title="Facebook" 3766 > 3767 <i class="icon-dt-facebook bg-aqua100" style="width: 28px; height: 28px"></i> 3768 </a> 3769 </div> 3770 3771 <div class="d-flex justify-content-center justify-content-sm-end"> 3772 <a 3773 href="https://play.google.com/store/apps/details?id=desktime.main" 3774 rel="nofollow" 3775 target="_blank" 3776 title="Google Play" 3777 > 3778 <i class="dt-badge-google"></i> 3779 </a> 3780 <a 3781 href="https://itunes.apple.com/us/app/desktime-for-iphone/id452994124?mt=8" 3782 rel="nofollow" 3783 target="_blank"
3784 title="Apple app store" 3785 > 3786 <i class="dt-badge-apple"></i> 3787 </a> 3788 </div> 3789 </div> 3790 </div> 3791 3792 <div class="footer-copyright-container"> 3793 <div class="footer-copyright"> 3794 <div class="dt-typography-body-extra-small text-azure100"> 3795 © 2011 - 2026 DeskTime 3796 </div> 3797 <div> 3798 <a href="https://draugiemgroup.com" target="_blank" rel="noreferrer noopener" title="https://draugiemgroup.com"> 3799 <img width="142" height="20" src="/static/web/footer/draugiem-group-logo.svg" alt="draugiem-group-logo"> 3800 </a> 3801 </div> 3802 </div> 3803 </div> 3804 </div> 3805</footer> 3806 </div> 3807 3808 <!-- Uncomment for web vitals troubleshooting. https://github.com/GoogleChrome/web-vitals --> 3809 3810 3811 3812 3813 3814 3815
3815<script type="application/ld+json"> 3816 { 3817 "@context": "https://schema.org", 3818 "@type": "WebSite", 3819 "name": "DeskTime", 3820 "url": "https://desktime.com/" 3821 } 3822 </script>
3822 3823 3824
3824<script> 3825 document.addEventListener("DOMContentLoaded", function(event) { 3826 3827 const buttonContainer = document.getElementById('load-more-container'); 3828 const loadMoreBtn = document.getElementById('load-more-btn'); 3829 const hiddenItems = document.querySelectorAll('.product-updates-hidden'); 3830 3831 if (loadMoreBtn) { 3832 loadMoreBtn.addEventListener('click', function(e) { 3833 e.preventDefault(); 3834 3835 // Show all hidden items 3836 hiddenItems.forEach(item => { 3837 item.classList.remove('d-none'); 3838 }); 3839 3840 // Hide the "Load more" button row 3841 buttonContainer.classList.add('d-none'); 3842 }); 3843 } 3844 }); 3845 </script>
3845 3846 3847 3848 3849 3850
3850<script> 3851 function recaptchaScript() { 3852 var recaptcha_token_input = document.getElementById("recaptcha_token"); 3853 3854 if(recaptcha_token_input) { 3855 var recaptcha_script = document.createElement('script'); 3856 recaptcha_script.onload = function () { 3857 grecaptcha.ready(function () { 3858 function recaptcha_execute(callback) { 3859 grecaptcha.execute('6LfiRpkUAAAAAEIOzxFzW9Ftvd5xXeYQ05nTYNIS', {action: 'homepage'}).then(function (token) { 3860 recaptcha_token_input.value = token; 3861 callback(); 3862 }); 3863 } 3864 3865 function recaptcha_timeout() { 3866 setTimeout(function () { 3867 recaptcha_execute(function () { 3868 recaptcha_timeout(); 3869 }); 3870 }, 1000 * 100); 3871 } 3872 3873 recaptcha_execute(function () { 3874 recaptcha_timeout(); 3875 }); 3876 }); 3877 }; 3878 3879 recaptcha_script.src = "https://www.google.com/recaptcha/api.js?render=6LfiRpkUAAAAAEIOzxFzW9Ftvd5xXeYQ05nTYNIS"; 3880 3881 document.head.appendChild(recaptcha_script); 3882 } 3883 } 3884 3885 recaptchaScript(); 3886 3887 document.addEventListener('shown.bs.modal', function () { 3888 recaptchaScript(); 3889 }); 3890 3891 document.addEventListener('dt.popup.content-loaded', function(){ 3892 recaptchaScript(); 3893 }) 3894</script>
3894 3895 3896 3897
3897<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"87a2541869","applicationID":"47292941","transactionName":"bgMGbBZUWxFRVRdcCVdJJVsQXFoMH0YRWgJMBRAVEUVRA0RTEA==","queueTime":0,"applicationTime":61,"atts":"QkQFGl5OSB8=","errorBeacon":"bam.nr-data.net","agent":""}</script>
3897</body> 3898</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.