PageSourceSearch

https://miniwebtool.com/about/contact/

html miniwebtool.com collected 2026-09-24 08:48:40 UTC 210,024 bytes, 3,058 lines download raw bytes

1            <!DOCTYPE html> <html lang="en"> <head> <meta content="text/html; charset=UTF-8" http-equiv=Content-Type> <meta name=viewport content="width=device-width, initial-scale=1"> <title>About Us & Contact - MiniWebtool.com</title> 
1<script> var langcode = ''; </script>
vendor: 65 bytes, lines 1-2
1 
2<script async src="https://www.googletagmanager.com/gtag/js?id=
2UA-104903307-1
vendor: 12 bytes, line 2
2"></script>
3<script>
4  
vendor: 134 bytes, lines 4-8
4window.dataLayer = window.dataLayer || [];
5  function gtag(){dataLayer.push(arguments);}
6  gtag('js', new Date());
7
8  gtag('config', '
8UA-104903307-1
vendor: 4 bytes, line 8
8');
9</script>
9
10
11 
vendor: 13,832 bytes, lines 11-16
11<script>
12(function () {
13  if (!('PerformanceObserver' in window) || window.top !== window.self || window.mwtAnalyticsDisabled || navigator.webdriver) return;
14  if (/bot|crawl|spider|slurp|bingpreview|headlesschrome|lighthouse|gtmetrix|pingdom|pagespeed|chrome-lighthouse/i.test(navigator.userAgent)) return;
15  // GoogleChrome/web-vitals 6.2.1, Apache-2.0. License: static/js/web-vitals-LICENSE.txt
16var webVitals=function(t){"use strict";class n{t;o=0;i=[];l(t){if(t.hadRecentInput)return;const n=this.i[0],e=this.i.at(-1);this.o&&n&&e&&t.startTime-e.startTime<1e3&&t.startTime-n.startTime<5e3?(this.o+=t.value,this.i.push(t)):(this.o=t.value,this.i=[t]),this.t?.(t)}}const e=()=>{const t=performance.getEntriesByType("navigation")[0];if(t&&t.responseStart>0&&t.responseStart<performance.now())return t},o=t=>{if("loading"===document.readyState)return"loading";const n=e();if(n){if(t<n.domInteractive)return"loading";if(0===n.domContentLoadedEventStart||t<n.domContentLoadedEventStart)return"dom-interactive";if(0===n.domComplete||t<n.domComplete)return"dom-content-loaded"}return"complete"},i=t=>{const n=t.nodeName;return 1===t.nodeType?n.toLowerCase():n.toUpperCase().replace(/^#/,"")},a=t=>{let n="";try{for(;9!==t?.nodeType;){const e=t,o=e.id?"#"+e.id:[i(e),...Array.from(e.classList??[]).sort()].join(".");if(n.length+o.length>99)return n||o;if(n=n?o+">"+n:o,e.id)break;t=e.parentNode}}catch{}return n},r=new WeakMap;function s(t,n){let e=r.get(n);return e||(e=new WeakMap,r.set(n,e)),e.get(t)||e.set(t,new n),e.get(t)}let c=-1;const f=()=>c,l=t=>{addEventListener("pageshow",n=>{n.persisted&&(c=n.timeStamp,t(n))},!0)},u=(t,n,e,o)=>{let i,a;return r=>{n.value>=0&&(r||o)&&(a=n.value-(i??0),(a||void 0===i)&&(i=n.value,n.delta=a,n.rating=((t,n)=>t>n[1]?"poor":t>n[0]?"needs-improvement":"good")(n.value,e),t(n)))}},d=t=>{requestAnimationFrame(()=>requestAnimationFrame(()=>t()))},h=()=>e()?.activationStart??0;let g=-1;const v=new Set,p=()=>"hidden"!==document.visibilityState||document.prerendering?1/0:0,m=t=>{if("hidden"===document.visibilityState){if("visibilitychange"===t.type)for(const t of v)t();isFinite(g)||(g="visibilitychange"===t.type?t.timeStamp:0,removeEventListener("prerenderingchange",m,!0))}},y=(t=!1)=>{if(t&&(g=1/0),g<0){const t=h(),n=document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").find(n=>"hidden"===n.name&&n.startTime>=t)?.startTime;g=n??p(),addEventListener("visibilitychange",m,!0),addEventListener("prerenderingchange",m,!0),l(()=>{setTimeout(()=>{g=p()})})}return{get firstHiddenTime(){return g},onHidden(t){v.add(t)}}},b=(t,n=-1,o,i=0,a,r,s)=>{const c=e(),l=c?.navigationId||0;let u="navigate";o?u=o:f()>=0?u="back-forward-cache":c&&(document.prerendering||h()>0?u="prerender":document.wasDiscarded?u="restore":c.type&&(u=c.type.replace(/_/g,"-")));return{name:t,value:n,rating:"good",delta:0,entries:[],id:`v6-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:u,navigationId:i||l,navigationInteractionId:a,navigationURL:r||c?.name,navigationStartTime:s||0}},M=(t,n,e={})=>{try{const o=t.filter(t=>PerformanceObserver.supportedEntryTypes.includes(t));if(o.length>0){const t=new PerformanceObserver(t=>{queueMicrotask(()=>{const e=t.getEntries();o.length>1&&e.sort((t,n)=>t.startTime+t.duration-(n.startTime+n.duration)),n(e)})});for(const n of o)t.observe({type:n,buffered:!0,...e});return t}}catch{}},T=t=>globalThis.PerformanceObserver?.supportedEntryTypes?.includes("soft-navigation")&&"function"==typeof globalThis.PerformanceSoftNavigation?.prototype?.getLargestInteractionContentfulPaint&&t&&t.reportSoftNavs,E=(t,n)=>{if(t.set(n.navigationId,n),t.size>2){const n=t.keys().next().value;void 0!==n&&t.delete(n)}},D=t=>{let n=!1;return()=>{n||(t(),n=!0)}};class w{u}const S=t=>{document.prerendering?addEventListener("prerenderingchange",t,!0):t()},k=[1800,3e3],L=(t,n={})=>{const e=T(n);S(()=>{const o=s(n,w),i=y();let a,r=b("FCP");const c=M(["paint"],t=>{for(const n of t)"first-contentful-paint"===n.name&&(c.disconnect(),n.startTime<i.firstHiddenTime&&(r.value=Math.max(n.startTime-h(),0),r.entries.push(n),r.navigationId=n.navigationId||r.navigationId,a(!0)))});if(c&&(a=u(t,r,k,n.reportAllChanges),l(e=>{r=b("FCP",-1,"back-forward-cache",r.navigationId,r.navigationInteractionId,r.navigationURL,f()),a=u(t,r,k,n.reportAllChanges),d(()=>{r.value=performance.now()-e.timeStamp,a(!0)})})),e){M(["soft-navigation"],e=>{e.forEach(e=>{o.u&&e.navigationId&&E(o.u,e);const i=Math.max((e.presentationTime||e.paintTime||0)-e.startTime,0);r=b("FCP",i,"soft-navigation",e.navigationId,e.interactionId,e.name,e.startTime),a=u(t,r,k,n.reportAllChanges),a(!0)})},n)}})},P=[.1,.25],F=t=>t.find(t=>1===t.node?.nodeType)||t[0];let _=0,C=1/0,I=0;const B=t=>{for(const n of t)n.interactionId&&(C=Math.min(C,n.interactionId),I=Math.max(I,n.interactionId),_=I?(I-C)/7+1:0)};let O;const j=()=>O?_:performance.interactionCount??0,A=()=>{"interactionCount"in performance||O||(O=M(["event"],B,{durationThreshold:0}))};class N{h=0;v=[];p=new Map;m;M;T(){return j()-this.h}D(){this.h=j(),this.v.length=0,this.p.clear()}S(t){const n=this.T(),e=Math.min(this.v.length-1,Math.floor(n/50));return!n||-1!==e||"soft-navigation"!==t&&"back-forward-cache"!==t?this.v[e]:{k:8,id:-1,entries:[]}}l(t){if(this.m?.(t),!t.interactionId)return;const n=this.v.at(-1);let e=this.p.get(t.interactionId);if(e||this.v.length<10||t.duration>n.k){if(e?t.duration>e.k?(e.entries=[t],e.k=t.duration):t.duration===e.k&&t.startTime===e.entries[0].startTime&&e.entries.push(t):(e={id:t.interactionId,entries:[t],k:t.duration},this.p.set(e.id,e),this.v.push(e)),this.v.sort((t,n)=>n.k-t.k),this.v.length>10){const t=this.v.splice(10);for(const n of t)this.p.delete(n.id)}this.M?.(e)}}}const q=t=>{const n="requestIdleCallback"in globalThis?1e3:0,e=globalThis.requestIdleCallback||setTimeout,o=globalThis.cancelIdleCallback||clearTimeout;if("hidden"===document.visibilityState)t();else{const i=D(t);let a=-1;const r=()=>{o(a),i()};addEventListener("visibilitychange",r,{once:!0,capture:!0}),a=e(()=>{removeEventListener("visibilitychange",r,{capture:!0}),i()},{timeout:n})}},W=[200,500];class R{m;u;l(t){this.m?.(t)}}const U=[2500,4e3];let V=50;const $=[];M(["resource"],t=>{for(const n of t)$.push(n),$.length>V&&$.shift()});const x=[800,1800],H=t=>{document.prerendering?S(()=>H(t)):"complete"!==document.readyState?addEventListener("load",()=>H(t),!0):setTimeout(t)};return t.CLSThresholds=P,t.FCPThresholds=k,t.INPThresholds=W,t.LCPThresholds=U,t.TTFBThresholds=x,t.onCLS=(t,e={})=>{const i=s(e=Object.assign({},e),n),r=new WeakMap;i.t=t=>{if(t?.sources?.length){const n=F(t.sources),o=n?.node;if(o){const t=e.generateTarget?.(o)??a(o);r.set(n,t)}}};((t,e={})=>{const o=y();L(D(()=>{let i,a=b("CLS",0);const r=s(e,n),c=(n,o,s,c,f)=>{a=b("CLS",0,n,o,s,c,f),r.o=0,i=u(t,a,P,e.reportAllChanges)},h=(t=!1)=>{r.o>a.value&&(a.value=r.o,a.entries=r.i),i(t)},g=t=>{h(!0),c("soft-navigation",t.navigationId,t.interactionId,t.name,t.startTime)},v=t=>{for(const n of t)"soft-navigation"!==n.entryType?r.l(n):g(n);h()},p=["layout-shift"];T(e)&&p.push("soft-navigation");const m=M(p,v);m&&(i=u(t,a,P,e.reportAllChanges),o.onHidden(()=>{v(m.takeRecords()),i(!0)}),l(()=>{c("back-forward-cache",a.navigationId,a.navigationInteractionId,a.navigationURL,f()),d(i)}),setTimeout(i))}))})(n=>{t((t=>{let n={};if(t.entries.length){const e=t.entries.reduce((t,n)=>t.value>n.value?t:n);if(e?.sources?.length){const t=F(e.sources);t&&(n={largestShiftTarget:r.get(t),largestShiftTime:e.startTime,largestShiftValue:e.value,largestShiftSource:t,largestShiftEntry:e,loadState:o(e.startTime)})}}return Object.assign(t,{attribution:n})})(n))},e)},t.onFCP=(t,n={})=>{const i=s(n=Object.assign({},n),w);T(n)&&(i.u=new Map);L(n=>{t((t=>{let n={timeToFirstByte:0,firstByteToFCP:t.value,loadState:o(f())};if("soft-navigation"!==t.navigationType){if(t.entries.length){const i=e(),a=t.entries.at(-1);if(i){const e=i.responseStart,r=i.activationStart||0,s=Math.max(0,e-r);n={timeToFirstByte:s,firstByteToFCP:t.value-s,loadState:o(t.entries[0].startTime),navigationEntry:i,fcpEntry:a}}}}else{const e=i.u?.get(t.navigationId);e&&(n={timeToFirstByte:0,firstByteToFCP:t.value,loadState:"complete",navigationEntry:e})}return Object.assign(t,{attribution:n})})(n))},n)},t.onINP=(t,n={})=>{const e=s(n=Object.assign({},n),N);let i=[],r=[],c=0;const d=new WeakMap,h=new WeakMap;let g=!1;const v=()=>{g||(q(p),g=!0)},p=()=>{const t=new Set(e.v.map(t=>d.get(t.entries[0]))),n=r.length-10;r=r.filter((e,o)=>o>=n||t.has(e));const o=new Set;for(const t of r){const n=m(t.startTime,t.processingEnd);for(const t of n)o.add(t)}i=i.filter(t=>t.startTime>c||o.has(t)),g=!1};e.m=t=>{const e=t.startTime+t.duration;let o;c=Math.max(c,t.processingEnd);for(let i=r.length-1;i>=0;i--){const a=r[i];if(Math.abs(e-a.renderTime)<=8){o=a,o.startTime=Math.min(t.startTime,o.startTime),o.processingStart=Math.min(t.processingStart,o.processingStart),o.processingEnd=Math.max(t.processingEnd,o.processingEnd),n.includeProcessedEventEntries&&o.entries.push(t);break}}o||(o={startTime:t.startTime,processingStart:t.processingStart,processingEnd:t.processingEnd,renderTime:e,entries:n.includeProcessedEventEntries?[t]:[]},r.push(o)),t.interactionId&&d.set(t,o),v()},e.M=t=>{if(!h.get(t)){const e=t.entries.find(t=>t.target)?.target;if(e){const o=n.generateTarget?.(e)??a(e);h.set(t,o)}else{const n=t.entries.find(t=>t.targetSelector)?.targetSelector;n&&h.set(t,n)}}};const m=(t,n)=>{const e=[];for(const o of i)if(!(o.startTime+o.duration<t)){if(o.startTime>n)break;e.push(o)}return e},E=t=>{if(0===t.entries.length){const n=t.navigationStartTime||0,e={processedEventEntries:[],longAnimationFrameEntries:[],inputDelay:0,processingDuration:0,presentationDelay:t.value,loadState:o(n)};return Object.assign(t,{attribution:e})}const n=t.entries[0],i=d.get(n),a=Math.max(i.processingStart,n.startTime),r=Math.max(n.startTime+n.duration,a),s=Math.min(i.processingEnd,r),c=i.entries.sort((t,n)=>t.processingStart-n.processingStart),f=m(n.startTime,s),l=e.p.get(n.interactionId),u={interactionTarget:h.get(l),interactionType:n.name.startsWith("key")?"keyboard":"pointer",interactionTime:n.startTime,nextPaintTime:r,processedEventEntries:c,longAnimationFrameEntries:f,inputDelay:a-n.startTime,processingDuration:s-a,presentationDelay:r-s,loadState:o(n.startTime),longestScript:void 0,totalScriptDuration:void 0,totalStyleAndLayoutDuration:void 0,totalPaintDuration:void 0,totalUnattributedDuration:void 0};return(t=>{const n=t.interactionTime,e=t.nextPaintTime;if(!t.longAnimationFrameEntries?.length||!n||!e)return;const o=t.inputDelay,i=t.processingDuration;let a,r,s=0,c=0,f=0,l=0;for(const e of t.longAnimationFrameEntries){c=c+e.startTime+e.duration-e.styleAndLayoutStart;for(const t of e.scripts){const e=t.startTime+t.duration;if(e<n)continue;const f=e-Math.max(n,t.startTime),u=t.duration?f/t.duration*t.forcedStyleAndLayoutDuration:0;s+=f-u,c+=u,f>l&&(r=t.startTime<n+o?"input-delay":t.startTime>=n+o+i?"presentation-delay":"processing-duration",a=t,l=f)}}const u=t.longAnimationFrameEntries.at(-1),d=u?u.startTime+u.duration:0;d>=n+o+i&&(f=e-d),a&&r&&(t.longestScript={entry:a,subpart:r,intersectingDuration:l}),t.totalScriptDuration=s,t.totalStyleAndLayoutDuration=c,t.totalPaintDuration=f,t.totalUnattributedDuration=e-n-s-c-f})(u),Object.assign(t,{attribution:u})};M(["long-animation-frame"],t=>{i=i.concat(t),v()},n),((t,n={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;const e=y();S(()=>{A();let o,i=b("INP");const a=s(n,N),r=(e,r,s,c,f)=>{a.D(),i=b("INP",-1,e,r,s,c,f),o=u(t,i,W,n.reportAllChanges)},c=()=>{const t=a.S(i.navigationType);t&&t.k!==i.value&&(i.value=t.k,i.entries=t.entries,o())},d=t=>{c(),o(!0),r("soft-navigation",t.navigationId,t.interactionId,t.name,t.startTime)},h=(t,n=!1)=>{q(()=>{for(const n of t)"soft-navigation"!==n.entryType?a.l(n):d(n);c(),n&&o(!0)})},g=["event","first-input"];T(n)&&g.push("soft-navigation");const v=M(g,h,{...n,durationThreshold:n.durationThreshold??40});o=u(t,i,W,n.reportAllChanges),v&&(e.onHidden(()=>{h(v.takeRecords(),!0)}),l(()=>{r("back-forward-cache",i.navigationId,i.navigationInteractionId,i.navigationURL,f())}))})})(n=>{t(E(n))},n)},t.onLCP=(t,n={})=>{null!=(n=Object.assign({},n)).resourceBufferSize&&(V=n.resourceBufferSize);const o=s(n,R),i=new WeakMap;T(n)&&(o.u=new Map),o.m=t=>{const e=t.element;if(e){const o=n.generateTarget?.(e)??a(e);i.set(t,o)}else t.id&&i.set(t,`#${t.id}`)};((t,n={})=>{let e=!1;const o=T(n);S(()=>{let i,a=y(),r=b("LCP");const c=s(n,R),g=(o,s,c,f,l)=>{r=b("LCP",-1,o,s,c,f,l),i=u(t,r,U,n.reportAllChanges),e=!1,"soft-navigation"===o&&(a=y(!0))},v=t=>{c.u&&t.navigationId&&E(c.u,t),e||i(!0),g("soft-navigation",t.navigationId,t.interactionId,t.name,t.startTime);const n=t.getLargestInteractionContentfulPaint?.();n&&p([n])},p=t=>{n.reportAllChanges||o||(t=t.slice(-1));for(const n of t){if(!n)continue;if("soft-navigation"===n.entryType){v(n);continue}let t=0,e=[],o=n.startTime;if("largest-contentful-paint"===n.entryType)t=Math.max(n.startTime-h(),0),c.l(n),e=[n];else if("interaction-contentful-paint"===n.entryType){const i=n;if(!r.navigationId)continue;if("interactionId"in i&&i.interactionId!=r.navigationInteractionId)continue;o=i.largestContentfulPaint?.renderTime||0,t=Math.max(o-n.startTime,0),i.largestContentfulPaint&&(c.l(i.largestContentfulPaint),e=[i.largestContentfulPaint])}o<a.firstHiddenTime&&(r.value=t,r.entries=e,i())}},m=["largest-contentful-paint"];o&&m.push("interaction-contentful-paint","soft-navigation");const T=M(m,p);if(T){i=u(t,r,U,n.reportAllChanges);const a=["keydown","click","visibilitychange"],s=t=>{if(t.isTrusted&&!e){const t=r.id;q(()=>{if(!e){if(!o){T.disconnect();for(const t of a)removeEventListener(t,s,{capture:!0})}t===r.id&&(e=!0,i(!0))}})}};
16for(const t of a)addEventListener(t,s,{capture:!0});l(o=>{g("back-forward-cache",r.navigationId,r.navigationInteractionId,r.navigationURL,f()),i=u(t,r,U,n.reportAllChanges),d(()=>{r.value=performance.now()-o.timeStamp,e=!0,i(!0)})})}})})(n=>{t((t=>{let n={timeToFirstByte:0,resourceLoadDelay:0,resourceLoadDuration:0,elementRenderDelay:t.value};if(t.entries.length){const a=t.entries.at(-1),r=a.url&&($.findLast(t=>t.name===a.url)||performance.getEntriesByType("resource").findLast(t=>t.name===a.url));let s;n.target=i.get(a),n.lcpEntry=a,a.url&&(n.url=a.url),r&&(n.lcpResourceEntry=r);let c=0,f=0;if("soft-navigation"!==t.navigationType?(s=e(),c=s?.activationStart??0,f=s?.responseStart??0):(c=t.navigationStartTime||0,s=o.u?.get(t.navigationId)),s){const e=Math.max(0,f-c),o=Math.max(e,r?(r.requestStart||r.startTime)-c:0),i=Math.min(t.value,Math.max(o,r?r.responseEnd-c:0));n={...n,timeToFirstByte:e,resourceLoadDelay:o-e,resourceLoadDuration:i-o,elementRenderDelay:t.value-i,navigationEntry:s}}}return Object.assign(t,{attribution:n})})(n))},n)},t.onTTFB=(t,n={})=>{((t,n={})=>{const o=T(n);let i=b("TTFB"),a=u(t,i,x,n.reportAllChanges);H(()=>{const r=e();if(r){const e=r.responseStart;i.value=Math.max(e-h(),0),i.entries=[r],a(!0),l(()=>{i=b("TTFB",0,"back-forward-cache",i.navigationId,i.navigationInteractionId,i.navigationURL,f()),a=u(t,i,x,n.reportAllChanges),a(!0)}),o&&M(["soft-navigation"],e=>{e.forEach(e=>{e.navigationId&&(i=b("TTFB",0,"soft-navigation",e.navigationId,e.interactionId,e.name,e.startTime),i.entries=[e],a=u(t,i,x,n.reportAllChanges),a(!0))})},n)}})})(n=>{t((t=>{const n=t.entries[0];let e={waitingDuration:0,cacheDuration:0,dnsDuration:0,connectionDuration:0,requestDuration:0,navigationEntry:n};if(t.entries.length&&n instanceof PerformanceNavigationTiming){const o=n.activationStart||0,i=Math.max((n.workerStart||n.fetchStart||0)-o,0),a=Math.max(n.domainLookupStart-o,0),r=Math.max(n.connectStart-o,0),s=Math.max(n.connectEnd-o,0);e={waitingDuration:i,cacheDuration:a-i,dnsDuration:r-a,connectionDuration:s-r,requestDuration:t.value-s,navigationEntry:n}}return Object.assign(t,{attribution:e})})(n))},n)},t}({});
17
18
19function safeTarget(node) {
20  if (!node || node.nodeType !== 1) return '(unknown)';
21  var parts = [], depth = 0;
22  while (node && node.nodeType === 1 && depth++ < 4) {
23    var part = node.tagName.toLowerCase();
24    if (node.id) { parts.unshift(part + '#' + node.id); break; }
25    if (typeof node.className === 'string' && node.className.trim()) part += '.' + node.className.trim().split(/\s+/).slice(0, 2).join('.');
26    parts.unshift(part);
27    node = node.parentElement;
28  }
29  return parts.join('>').slice(0, 100);
30}
31function report(metric) {
32  if (typeof window.gtag !== 'function' || window.mwtAnalyticsDisabled) return;
33  var a = metric.attribution || {};
34  var inp = metric.name === 'INP';
35  var script = a.longestScript && a.longestScript.entry;
36  var source = script && (script.sourceURL || script.invoker) || '(none)';
37  source = source.replace(/^https?:\/\//, '').split(/[?#]/)[0].slice(0, 100);
38  function ms(n) { return Math.max(0, Math.round(n || 0)); }
39  var fields = {
40    metric_name: metric.name,
41    metric_unit: inp ? 'ms' : 'x1000',
42    metric_value: Math.round(metric.value * (inp ? 1 : 1000)),
43    metric_rating: metric.rating,
44    metric_id: metric.id,
45    vitals_version: 'web-vitals-6.2.1-inp1',
46    vitals_path: location.pathname.slice(0, 100),
47    vitals_lang: (document.documentElement.lang || 'en').slice(0, 12),
48    vitals_target: (inp ? a.interactionTarget || '(unknown)' : a.largestShiftTarget || '(none)').slice(0, 100),
49    vitals_detail: inp ? (a.interactionType || 'interaction') + '|delay' + ms(a.inputDelay) + '|proc' + ms(a.processingDuration) + '|paint' + ms(a.presentationDelay) : '',
50    vitals_script: inp ? source : '(none)',
51    vitals_count: inp ? (performance.interactionCount || 0) : 0,
52    non_interaction: true,
53    page_location: location.origin + location.pathname,
54    page_referrer: '',
55    transport_type: 'beacon'
56  };
57  if (inp) {
58    fields.inp_input_delay = ms(a.inputDelay);
59    fields.inp_processing_duration = ms(a.processingDuration);
60    fields.inp_presentation_delay = ms(a.presentationDelay);
61    fields.inp_load_state = a.loadState;
62    fields.inp_script_phase = a.longestScript ? a.longestScript.subpart : '(none)';
63  }
64  try { window.gtag('event', 'web_vitals', fields); } catch (e) {}
65}
66webVitals.onINP(report, { generateTarget: safeTarget });
67webVitals.onCLS(report, { generateTarget: safeTarget });
68
69})();
70</script>
70
71
72    <meta property="og:image" content="https://images.miniwebtool.com/about-contact.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="543"> <meta name="twitter:image" content="https://images.miniwebtool.com/about-contact-x.png"> <meta name="twitter:image:width" content="600"> <meta name="twitter:image:height" content="600">  
73 <link rel="icon" type="image/svg+xml" href="/favicon.svg">  <style>.w3-third{float:left;width:100%}@media (min-width:994px){.w3-third{width:33.33333%}}.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important}.w3-row-padding,.w3-row-padding>.w3-third,{padding:0 8px}.bigbtn {border: 1px solid #38444d!important;background-color: #38444d!important;color: #ddd !important;}.nk{ display: inline-block; position: relative; vertical-align: middle; letter-spacing: 0.001em; text-align: center;}.nk > span { display: block; padding: 0.1em;}.frac { display: inline-block; position: relative; vertical-align: middle; letter-spacing: 0.001em; text-align: center;}.frac > span { display: block; padding: 0.1em;}.frac span.bottom { border-top: thin solid black;}.frac span.symbol { display: none;}#surveyshare-buttons a {color: white!important;} #share-result a {color: white!important;} .w3-dropdown-content { opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s; } #topbar { margin: 0; padding: 6px 0; background: #ffffff; position: fixed;  top:  100px; left: 0; right: 0; z-index: 2147483647; } .w3-dropdown-hover:hover .w3-dropdown-content { opacity: 1; visibility: visible; transform: translateY(0); display:block!important; } #firstbar{height:37px;} #secondbar{height:50px;} #videoad{height:0px;display:none;} .cimg { margin-left:auto; margin-right:auto; display: block; max-width: 800px; width: 100%; height: auto; } .w3-animate-left { animation: animateleft 0.4s; } .svg-inline{display:inline-block;vertical-align:middle}.svg-ml-1{margin-left:0.25rem}.svg-mr-1{margin-right:0.25rem}.w3-button svg,.search-icon svg{width:1em;height:1em;vertical-align:middle;fill:currentColor}.maincontent { background-color: white; padding: 20px; } #re1{width:100%;overflow-x:hidden;}#calculatorresult{max-width:100%;overflow:hidden;overflow-wrap:break-word;word-break:break-word;}#calculatorresult>*{max-width:100%;min-width:0;overflow:hidden;}#calculatorresult *{min-width:0;box-sizing:border-box;}#sidebar1 {width: 95%; margin-left:auto;margin-right:auto; display:block; position: relative ; padding: 10px; overflow:hidden;} #right { display: none ; } #dSpace { background-color: #ffffff; height: 100px; width: 100%; z-index: 999; position: fixed; top: 0; } .desktop-90{ height:0px; } .desktop-300{ height:0px; } .desktop-250{ height:0px; } .desktop-600{ height:0px; } .mobile-120 { height:100px; } .mobile-350 { height:600px; }/*mwt-mobile-compact*/@media (max-width:993px){div#bc.mobileonly{min-height:0;padding:10px 0 0;margin:0 0 4px;background:none;border:0}#bc .f6{font-size:0;line-height:1}#bc a{display:none}#bc a:last-child{display:inline-block;font:600 12px/1.2 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#5b5fc7}#bc a:last-child::before{content:"‹ "}body.darkpagetheme #bc a:last-child{color:#a5b4fc}.bc-foot{padding:12px 0;font-size:.9rem;color:#666}#secondbar .search-box{height:40px!important;margin:0!important}#firstbar{padding:2px 12px!important}#secondbar{padding:5px 12px!important}div.mwt-tool-trust{flex-wrap:nowrap!important;gap:6px 16px;margin:-6px 0 12px;font-size:.8rem}.mwt-tool-trust:not(.mwt-tool-trust-dated) .mwt-tool-trust-item:nth-child(3){display:none}.mwt-tool-trust-dated .mwt-tool-trust-item:nth-child(1){display:none}h1#calculatorstart{position:relative}h1#calculatorstart .mwt-featured-badge{position:static}h1#calculatorstart .mwt-featured-tip{left:0;right:0;transform:translate(0,-3px);width:auto;max-width:none;text-align:center}h1#calculatorstart .mwt-featured-badge:hover .mwt-featured-tip,h1#calculatorstart .mwt-featured-badge:focus .mwt-featured-tip{transform:translate(0,0)}}@media (max-width:374px){div.mwt-tool-trust{font-size:.75rem;gap:6px 10px}}@media (max-width:599px){.mobile-350{height:350px}} .mwt-adslot { height:300px; } #mwt-minitop-slot #mwt-minitop-fb, #mwt-minitop-slot .desktop-300, #mwt-minitop-slot .mobile-350 { height:100%; } html,body { font-family: "Segoe UI",Arial,sans-serif; font-size: 16px; line-height: 1.5 } h1 { font-size: 1.5rem!important; margin-block-start: 0.67em; margin-block-end: 0.67em; margin-inline-start: 0; margin-inline-end: 0; font-weight: bold; unicode-bidi: isolate; } @media screen and (max-width: 993px) { .main { margin-left: auto; margin-right: auto; width: 95%; margin-bottom: 20px; } #bc { margin: 0 0 1.2em 0; padding: 6px 0; background: #eee; border-bottom: 1px solid #e5e5e5; min-height: 66px; display: flex; align-items: center; justify-content: flex-start; } .responsive-iframe { position: absolute; top: 0; width: 100%; } .w3-hide-small { display: none !important; } #surveystepform { margin: 0 auto; width: 96%; padding: 5px; } #sharearea button{width:100%;} .content-section { width: 100%; margin-top: 10px; } body {margin-top: 199px!important;background-color: #ffffff;}  } @media (min-width:994px) { html,body,button { font-size: 20px; } .ftmargin { margin-right: 355px; }#firstbar{height:62px;} #secondbar{height:72px;}#dSpace { height: 0px; } #topbar{top:0;position:relative;} #bc{height:0px;} .desktop-90{ min-height:90px; height:auto; } .desktop-300{ height:300px; } .mwt-adslot{ height:300px; } .desktop-250{ min-height:250px; height:auto; } .desktop-600{ min-height:600px; height:auto; } .mobile-350 { height: 0px; } .mobile-120 { height: 0px; } .mobileonly { display: none!important;} .category-menu { display: none; } .menu-icon { display: block; } } @media (min-width:1359px) { .ftmargin { margin-left: 270px; margin-right: 355px; } #videoad{height:271px;width:401px;display:block;} .main { margin-left: 260px; margin-right: 342px; padding-left: 20px; padding-right: 20px; padding: 20px; } #right { width: 342px; position: absolute; right: 0; top: 146px; display:block; } #sidebar { width: 260px; position: fixed; left: 0; top: 146px; bottom: 0; overflow-y: auto; } } @media (max-width: 993px) { .desktoponly { display: none!important; } #secondbar .flex-center{flex:1;margin-right:10px;} .category-menu { display: none; flex-direction: column; background-color: #f9f9f9; position: absolute; top: 60px; right: 0; width: 100%; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } .category-menu.show { display: flex; } .menu-icon { display: block; } .menu-icon { display: block; } } @media screen and (min-width: 1361px) { #sidebar1 { width: 260px; position: fixed; left: 0; top: 134px; bottom: 0; overflow-y: auto;padding-bottom:250px; } }
73 @media screen and (min-width: 1111px) and (max-width: 1360px) {
74    .mwt-ext-link { display: none !important; } .main { margin-left: 0px; margin-right: 342px; padding-left: 20px; padding-right: 20px; padding: 20px; } #right { width: 342px; position: absolute; right: 0; top: 134px; display:block; } #sidebar1{display:none!important;} } @media screen and (max-width: 1110px) { #previewcontainer { width: 100% !important; } .modal-container { width: 100% !important; } }#h,body{margin:0}#i1n{margin-right:6px}.dt td,.dt th,.r1,.r3{word-break:break-word}#navbutton a,.shareresult,.surveyclose:focus,.surveyclose:hover,.surveyshareresult,.w3-btn,.w3-button,.z3 a,a,a:hover{text-decoration:none}.sliderimg{-webkit-appearance:none;width:200px;height:15px;background:#d3d3d3;outline:0;opacity:.7;-webkit-transition:.2s;transition:opacity .2s}.sliderimg:hover,.surveyslider:hover,.surveystep.activesurveystep{opacity:1}.sliderimg::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:25px;height:25px;background:#04aa6d;cursor:pointer}.sliderimg::-moz-range-thumb{width:25px;height:25px;background:#04aa6d;cursor:pointer}#imgfold{width:auto;height:300px;overflow-y:auto;margin-left:20px;opacity:.5}#downloadimg,:disabled *{pointer-events:none}html{border-bottom:1px dotted #ccc;margin-bottom:4px;box-sizing:border-box;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;overflow-x:hidden}.g{letter-spacing:-.31em;word-spacing:-0.43em}.u{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top}.featured-badge,.no-wrap,.search-box,.w3-btn,.w3-button,img{vertical-align:middle}.b,b{font-weight:600}.f6{font-size:1.1rem;}#h{padding:6px 0;background:#1d2a35}#f{margin:7em 0 1em;text-align:center;}#sidebar .w3-button{display:block;text-align:left;margin-left:0;font-size:18px}.featured-badge{background-color:gold;padding:2px 8px;border-radius:3px;font-size:.8em;margin-left:10px}hr,img{border:0}.mwt-featured-tool h1.print::after{content:"Popular";display:inline-block;background-color:gold;color:#111;padding:2px 8px;border-radius:3px;font-size:.5em;line-height:1.4;vertical-align:middle;margin-left:10px;white-space:nowrap;font-weight:600}.custom-wrap { white-space: normal!important; word-wrap: break-word; max-width: 100%;text-wrap: balance; }.badgebtn { position: absolute; top: -8px; right: -10px; background-color: #ffc107; color: black; padding: 2px 6px; border-radius: 12px; font-size: 10px; font-weight: bold; box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); white-space: nowrap; } .badge-new { background-color: #007bff; color: #ffffff; } .badge-featured { background-color: #ff5722; color: #ffffff; } .button-with-badge { position: relative; display: inline-block; margin: 10px; max-width: 100%; word-wrap: break-word; white-space: normal; }.custom-margin { margin: 5px 10px; }.custom-submenu{width:auto;max-width:100%;white-space:nowrap}h1,h2{font-weight:700!important;font-size: 1.5rem;}#i1n{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAAgCAIAAAA0WMUwAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAC19JREFUeJztm/t7FOUVx/0XSlsv1aeP96ooxSIqVAGtIrVqtdVqa2IFodxaDS0YaIvVIgKRGkBLyiWx1AZKiCGQQBICMRAghFx2c4MkJJtNsvf7/TI7M9vz7tnMzM5lO4nySOieZ37YPe8777w772fO+Z53kms2trx6WY94xiasXZOBI2NKloEjY4qmHo6sjzQLt2gXw5GvWbSpJSsDx1VvauEo6MgZ8l2wBPVwmAIDxT3rMnBc9aYWjuLedWyc5U6r1hdl4LjqTRGOCt32dnv95rb5+HVv7/q4AI4a/afo39SS3WAsrdLvVko0X+Nvy9iXNHk4yvrzo3QYmjsdDdu0yyCJ9LlbhacZfH2llz7apl16ylgKESXGRCt1BZtasy8rHEvmW17+qXHgEjW+0w/s88Hp//jE/RVOaUzmWdlq/0ld5KT165pAenO8fMo6s4pqcXIeGTggZiAZaAHKy7C07HABysPlGuDjpKHkssIxfbL+5msHtG2R8Z2en+eC09/OseHXSK3Z+I39cLD+mLhrhDF+qwSarNOPSseJnnfgibQ+MKYJ2Oceh7NCB4bUdA4UXvJt6Ipd8o3pEl/GrA8cgelFT/HsysDRYa8f3+jGQP8EihzABK5x+KhR1BMebmyCg7GERa3+/AvgN3/v0FgnMCY44CEmc6sWz+3ymSo4QGdANhnr0MO+iwUdKyaW5sDV8v5JI/L7PugEv2UauVmhUvFaOn5+Evzu5U3ju9zEhgMO0BmQTYRnMixjDuiazEfOmsp1ng6aSQnFkFN2db6tXpC6XQxkh1CQFfnDIVbTGhnUUbR8HvsfFovFuzqifT0UjKOmv/e9drgdtkdrRH77j0/gKhIIVrSkXoM1XncA/MF9g9IBaUOI0rritPzV7U8dF9LGuKJUqxNSmGxnlXCw7sQgYRX3i2JgboxNMSmrhaO4532hzgAJUjeyd6tm8cZESfK3tgVHdDuClDAdshW6gjRw5CyzQkjv0Eb6+6hXXzRB7ofjthsGclfYEBGjIbZ8oeXW6wew6ZFpQ0N6sRSQppXDZX7wbPnQ
74BTCBpLj3Vh2efseNA5WHxIJAKkgjJ0ZlhzvK90sIDsuUCrjj5MO0I8JBoufs0nTDBmn3786bbzuYTEbXHQBxRw8HRRPg4KB1fsdLJ5Odv13ifKWB9fI/CmYFutV0YykRPTOr4DMevs3dwtECO/ss369MDjKJIB5ttMflLHbBa593Ai6Enc13H/Kt74xLAE4PR1ZBZ05x7zqoWoW1CcQMIEO66vt7N1E0j6EpMLCvdwPUNYXduXmCsgVbH3t4GNZs13bP5Ft0d9408MwTIz+4exAX8jevW2xWesrt5Ous6UNPzR5B/8z7h6hUdSEVpDv+7gHPsjcs839lhg8PTdE/+6QByMARGk+nyAWRIE2sQ1J4hisMvK/OQgLG0iZuOYUcwAqRjHN/JX/re32WqclFAqRsjx0zXktCC6xupN4inABZIchif9aabi6zzarx5La5c5oxeVkfOspdRQ0c7t+eT670XYdsP6o1ffdz8vWbJcE9A6IlB91tuom0mr5TCnOz3FeBJwKdbCgl3qSDI1+zEHQDVB9sKlTDvp58zSLZqNDlOJ06E3Iu5KOdnStFcDw+Yxgf6HdW2yPh5PhlJX5cxeyXTM/NNXChAmIDLDP44VkXjq4EBww7+8Ehzh8Msm8usYIf4oTwdBk4Rpcf1onzeP/aQbLGv3Xk83vkc6hEz7U6nq8n6Lx5fvQXx21zjoHH/uwXXPECN939+xbCyn0V8SifNVBzkM7P1EF6Snb2UFATgdO15FzKUimnFcx3xusPCFtx2sAHPcSHTAhIACIZ/I2zkFbQSTU70OnLSwlF6eDYol1sCerjEgOdsVFhg6taXyTtH6FDhd2rZSPH8/MMos7z5pA4AbHEMJKSRHAhly5IefKkcECOQLzaNSmp1GKm0e/386DLwoH31PrDas6DS4grjeUupIxk26jg4ERl8NN+hIANpCZBhoUxCWRF/aKRIa4wjpTZUm1OTA30gJ9zKsJBMZAXoMm/9aKoxfnLBvA7s/gn1rtWS37dw1WiJBIuH8HYJpQg44Gj0VShBMdR3S5pf4CjqHuNCA54smFhinZ6RJ1XLCeP+CsviG9BVWUA/BBOhE4pHAUfEzjmzhqRTmPaPaTzhS5eTMjCgUmElx2JRMOVqaTcncQnEUjqIsGB0lW6TmD+T3pSYswoHO5lMmVOcpxtPZxHCY7oGRuZww2loqRAmk7bcHpcuLLce1heO7NxzC/Bz3T8FdPBoVkEukE6736PhttEFx2t1lpp/wgd3N2VKxs5aqvFGm39uw7wr3rLJvI3N4XBP2NqCqxKkWPRa2bpNDAmnawLcR5ZOHjZcYgQFjlOQoVrMR/hbY/XcjRAHCYP4gO8RDXfcxj7+zZ0iQ7XgrMkgzxdx3VGOPxbZEhyv9VMstsfeKmnBAfkOzKHB2V25yAgIRyxvkQ6pln8Smlc0s6OF4ki9q7r4K+YBo5NLVkgJ6v1hZAsQGdwPWIMVanbISWjsGt1MMZrAlfYXKP/J5xe1p8vhAlbMXI01PNLhYZwrM0Vy2yEA5SH0KkUOaDMkf54hOPEMR5HeThGdaJnFVkYLG6D/+KfJ9CPJI/8h8zE/twXKcUtw3J7ZUqHcI8V4QgWD0pnizsrzmw+IyjBgVtwoE+lg4DhRSGEkNkZQ8k4ZxTf9viopOUzpvpStqQvj2V5JQVVa3n/xx+2/noUo2yodZ3hlOf1+NBnaUrZKxkO3/tkYawzquCz7QkSJ4S5P1xlNOKWFyc4Ph/mWrEQgFAvnYDU0kWOnGYOUDQlOABTrG6kgzDOKNIApTL5DhNOBEX5yPGLU0STbujir6gSjq2aJQEqRR9A1drtOFs1WHh0cCdkE2HMiCeiS/pNsCsZDm6znB4JGiX74knZMbWSy+jCTREsdgLbe6UTkBrCISSAM9x1FY5jfaRaXnMkdA/UpdJBKK0LCxZuFw43QsKV4jqAjD+jSlSIqYIDAsNpY5maXyu0TkeDbMWLrVcyHJzsgBhLBMSiRlG77dGahCBo4QIMZ4HC/qQCUNgVFRrCASJRWN+CQcmAuxrCN3lQGxtl99qjjPkuUq2APBK1eN9tF+Umzx81sr8odtGLqlZYN6mC49jwHjYuv6eb3vrcLRMSDliJp+vIzUogIt1H8qxuMya2MgkiK1OfezYZ/z1rNOLyIcqAeIye5S+HYSapWjiWwjTulkIhKjwbRC5Z14WN3P4EZ4EdfcbERhw9yMNEqu5E1qM6+C1gxhzGaQf3DvJOR8Q2m+AueqmkCo4KXUGM4SMnpIy4ggmbGJZpt9dPUDhQDyalvuQtORQyXCsWNUKjmh3mO8sxHzlfPwOSFhK5e2mT+Y5y0aOPcGB8ss05BsyB1MAdMHiIyUsZgXFlMzRByBHukAKFqI1MtxyEqOD9SzvucCCjoulBeYxNjp/Ve9dqycQS2yTAFmNN2UFWmVayKkf5GPZdBDEBuIiqXKhN6oaLd3Wuwve3QMYZ40HZihf7X+FwwB3BOyj7Ip5xRTk4Ut7CjBrri0EAt0ypENYp5tvLXUvO0Qb+J3PvVoAwWFdhT6pd5k+QoucdjhfqzZMPg+gRZweGhbKFv+Kk/RAMwjUm6SBknCaH7cnjwncr3ne00nd1agUp8FE7tMfg79umXYqefb0fyP6Z4ObW+RecjS3WmrzW19II0v8TA/UaPWePNliFTMj3DNHQDcID0Rkq9IriOGN6K6tJ91ZWaqr/wLhH9AfGhSpPHMcPztgVYmrh2N2dC8VthA7BEaYDZf35GTiuelMLR15r9s7OlYXda4q61+zuylXaUM/AcTVZ5t8hM6ZoGTgypmgZODKmaP8FLDwOy2GQ/RsAAAAASUVORK5CYII=');width:180px;height:32px;display:block}.w{margin-left:auto;margin-right:auto;width:95%}h3{font-weight:400}#sidebar{transition:height .8s;-moz-transition:height .8s;-webkit-transition:top .8s ease-out;-o-transition:height .8s;width:260px}body{padding-bottom:250px!important}table{border-collapse:collapse;border-spacing:0;width:100%;display:table}address,caption,code,th,var{font-style:normal;font-weight:400}li{padding:5px 10px}caption,th{text-align:left}q:after,q:before{content:''}input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}td,th{padding:15px}.responsive-iframe{position:absolute;top:0;width:100%}.padding{padding:.01em 22px}*,:after,:before{box-sizing:inherit}.w3-dropdown-hover:hover .w3-dropdown-content,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}video{display:inline-block}[hidden]{display:none}a{background-color:transparent;}a:active,a:hover{outline-width:0}b{font-weight:bolder}mark{background:#ff0;color:#000}small{font-size:0.8rem;}sub,sup{font-size:0.75rem;;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}figure{margin:1em 40px}code{font-family:monospace,monospace;font-size:1em}button,input{overflow:visible}.r3,.w3-sidebar,textarea{overflow:auto}button,select{text-transform:none}[type=button],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}body.darkpagetheme #footer,body.darkpagetheme hr{border-top:1px solid #38444d}[type=button]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}[type=checkbox],[type=radio]{padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.w3-wide{letter-spacing:4px}hr{box-sizing:content-box;height:0;overflow:visible;border-top:1px solid #eee;margin:20px 0}.w3-btn{max-width:100%;text-overflow:ellipsis}.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:.3}.w3-btn:disabled:hover{box-shadow:none}.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%}.w3-select{padding:9px 0;transition: all 0.3s ease;width:100%;border: 2px solid #4c7cff;border-radius: 6px;box-shadow: 0 2px 5px rgba(76,124,255,0.1);cursor: pointer;}.w3-select:hover {background: #fff;border-color: #6495ED;box-shadow: 0 4px 8px rgba(76,124,255,0.2);}.w3-select:focus {outline: none;border-color: #4c7cff;box-shadow: 0 0 0 3px rgba(76,124,255,0.25);background: white;}.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer}.w3-dropdown-click:hover,.w3-dropdown-click:hover>.w3-button:first-child,.w3-dropdown-hover:first-child,.w3-dropdown-hover:hover>.w3-button:first-child{background-color:#ccc;color:#000}.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:300px;margin:0;padding:0;z-index:1}.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px}#adsside.stick,.w3-sidebar{position:fixed!important}.w3-sidebar{height:100%;
74width:200px;background-color:#fff}.normalvideo,.w3-bar,.w3-rest{overflow:hidden}.flex-center input,.slidecontainer,.w3-bar-block .w3-dropdown-click,.w3-bar-block .w3-dropdown-hover{width:100%}.w3-bar-block .w3-dropdown-click .w3-dropdown-content,.w3-bar-block .w3-dropdown-hover .w3-dropdown-content{min-width:100%;width:auto;white-space:nowrap}.w3-bar-block .w3-dropdown-click .w3-button,.w3-bar-block .w3-dropdown-hover .w3-button{width:100%;text-align:left;padding:8px 16px}.w3-main{width:100vw}#main,.w3-main{transition:margin-left .4s}.w3-bar{width:100%}.w3-center .w3-bar{display:inline-block;width:auto}.w3-bar .w3-bar-item{width:auto;float:left;border:none;display:block;outline:0}.w3-bar .w3-dropdown-click,.w3-bar .w3-dropdown-hover{position:static;float:left}.w3-bar .w3-button,input[type=submit]{white-space:normal}.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;white-space:normal;float:none;outline:0}.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%}.w3-bar:after,.w3-bar:before,.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row-padding:after,.w3-row-padding:before,.w3-row:after,.w3-row:before{content:"";display:table;clear:both}.w3-col,.w3-quarter{float:left;width:100%}.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s6{width:49.99999%}.w3-round-xlarge{border-radius:16px}.overlay button,.overlay input[type=text]{float:left;padding:15px;font-size:17px;border:none}.w3-row-padding,.w3-row-padding>.w3-col,.w3-row-padding>.w3-quarter{padding:0 8px}.w3-panel{margin-top:16px;margin-bottom:16px}#c1 form,.w3-margin-top{margin-top:16px!important}#c1 form,.w3-margin-bottom{margin-bottom:16px!important}.w3-card-4{box-shadow:0 4px 10px 0 rgba(0,0,0,.2),0 4px 20px 0 rgba(0,0,0,.19)}#c1,.c2,.dt,.r1,.r3{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.w3-opacity{opacity:.6}.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-animate-left{position:relative;animation:.4s animateleft}.w3-xxlarge{font-size:36px!important}.w3-left-align{text-align:left!important}.w3-center{text-align:center!important}.w3-border{border:1px solid #ccc!important}.w3-margin-right{margin-right:16px!important}.center,.w3-content{margin-right:auto;margin-left:auto}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important}.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-right{float:right!important}.w3-button:hover{color:#000!important;background-color:#ccc!important}#navbutton a,#secondbar a,#share-result a,#surveyshare-buttons a,.w3-black,.w3-teal,body.darkpagetheme #lang a,body.darkpagetheme a{color:#fff!important}.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#3a8338!important}.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#9e9e9e!important}.w3-teal{background-color:#008073!important}.w3-black{background-color:#000!important}.w3-light-grey{color:#000;background-color:#f1f1f1!important}.w3-content{max-width:980px}.w3-text-teal{color:#008073!important}.w3-hide{display:none!important}.w3-show{display:block!important}.normalvideo{margin:auto;position:relative}.overlay,.surveymodal{position:fixed;z-index:2147483647;top:0;left:0}.overlay{height:100%;width:100%;display:none;background-color:rgba(0,0,0,.9)}.center{display:block}.modal-overlay .closebtn,.overlay .closebtn{position:absolute;top:20px;right:45px;font-size:60px;cursor:pointer;color:#fff}.activelinkto:after,.linkto:after,.tools:after{color:#777;margin-left:5px;font-weight:600;float:right}.modal-overlay .closebtn:hover,.overlay .closebtn:hover{color:#ccc}.overlay input[type=text]{width:80%;background:#fff}.overlay input[type=text]:hover{background:#f1f1f1}.overlay button{width:20%;background:#ddd;cursor:pointer}button,input[type=submit]{padding:10px 20px;cursor:pointer}.overlay button:hover{background:#bbb}.fa-globe:before{content:"\f0ac"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-search:before{content:"\f002"}.fa-picture-o:before{content:"\f03e"}.fa-download:before{content:"\f019"}.linkto:after,.tools:after{content:'\002B'}.activelinkto:after{content:"\2212"}#linkto textarea,#surveystepform textarea{width:100%;height:150px;padding:12px 20px;box-sizing:border-box;border:2px solid #ccc;border-radius:4px;background-color:#f8f8f8;resize:none}.tools{background-color:#eee;color:#444;cursor:pointer;padding:18px;width:100%;border:none;text-align:left;outline:0;transition:.4s}#videostart,.r1,.t2,.w3-btn,.w3-button,.zfo{text-align:center}.tools:hover{background-color:#ccc}#lang a{color:#000!important}body.darkpagetheme,body.darkpagetheme #c1,body.darkpagetheme #lang,body.darkpagetheme .accordion,body.darkpagetheme .dt th,body.darkpagetheme .surveymodal-body,body.darkpagetheme .tools,body.darkpagetheme .w3-light-grey,body.darkpagetheme .w3-sidebar,body.darkpagetheme .w3-white,body.darkpagetheme table{background-color:#1d2a35!important;color:#ddd!important}body.darkpagetheme .panel{background-color:#0d1721!important;color:#ddd!important}body.darkpagetheme #main{border-right:1px solid #38444d}body.darkpagetheme #footer{background-color:#1d2a35;padding:32px}body.darkpagetheme .dt{border:1px solid #38444d}body.darkpagetheme .dt tr{border-bottom:1px solid #38444d}body.darkpagetheme .dt tr:nth-child(odd){background-color:#1d2a35;color:#ddd}body.darkpagetheme .dt tr:nth-child(2n){background-color:#38444d;color:#ddd}body.darkpagetheme .w3-btn:active.w3-white,body.darkpagetheme .w3-btn:hover.w3-white,body.darkpagetheme .w3-button:active.w3-white,body.darkpagetheme .w3-button:hover.w3-white{background-color:#38444d!important}.f3{font-size:1.385rem;}.f4{font-size:1.31rem }.f5,h3{font-size:1.35rem;}h1,h2,h3,p{margin-bottom:1.1em}p{line-height:145%}.fa-suitcase:before{content:"\f0f2"}.w3-btn{background-color:#3a8338;margin-bottom:4px}:where(input[type=number],input[type=text],select,textarea){padding:12px 20px;margin:8px 0;display:inline-block;border:1px solid #ccc;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:calc(100% - 5px)}input[type=submit]:hover{background-color:#45a049}textarea:focus {outline: none;border-color: #4a6cfd;box-shadow: 0 0 0 3px rgba(74, 108, 253, 0.1);}.fa-bookmark:before{content:"\f02e"}.fa-twitter::before{content:"𝕏"}.fa-facebook:before{content:"\f09a"}.fa-linkedin:before{content:"\f0e1"}
74#videostart{width:61.8%;min-width:360px;margin:auto}.shareresult,.surveyshareresult{padding:15px;font-size:20px;width:50px;height:50px;text-align:center;margin:2px;border-radius:50%}.shareresult:hover,.surveyshareresult:hover{opacity:.7;text-decoration:none}.w3-btn,.w3-button{border:none;display:inline-block;padding:8px 16px;overflow:hidden;color:inherit;background-color:inherit;cursor:pointer;white-space:nowrap;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#suggestions,.surveymodal,.surveytab{display:none}.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.w3-container,.w3-panel{padding:.01em 16px}.w3-hover-white:hover,.w3-white{color:#000!important;background-color:#fff!important}.w3-border-red{border-color:#f44336!important}.w3-round-large{border-radius:8px}.w3-large{font-size:18px!important}#send-feedback textarea,#share-result textarea{width:100%;height:80px;padding:12px 20px;box-sizing:border-box;border:2px solid #ccc;border-radius:4px;background-color:#f8f8f8;font-size:15px;resize:none}.fa-share-alt:before{content:"\f1e0"}.fa-print:before{content:"\f02f"}.fa-file-pdf-o:before{content:"\f1c1"}.ma20{margin:20px}#c1{border:1px solid #e5e5e5;background:#f7f7f7;clear:both}#c1 form{padding:8px 12px}#c1 .ht,#c1 h2{margin:4px;font-size:1rem;;font-weight:600}.nt{font-weight:400;color:#444}.dt th,.highlight,.surveyclose,.t2{font-weight:600}.c2{border:1px solid #ddd;padding:15px 20px 5px}.z3 a:hover{text-decoration:underline}.z5{padding:5px 1px;border-bottom:1px dotted #ccc;margin-bottom:4px}.z5 h2,.z5 h3{font-size:1rem;;display:inline}sub,sup{line-height:.5em}.zfo{border:1px solid #ddd;padding:.7em}.t2{word-wrap:break-word;font-size: 1.385rem;;margin-bottom:.5em}.r1,.r3{font-size:1.31rem;;padding:.5em;border:1px solid #ccc}.r1{font-size:1.97rem;}.dt{width:100%;border:2px solid #555}.dt td,.dt th{white-space:-o-pre-wrap;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap}.dt th{background:#e4e4e4;}tr.tr1{background:#ebeff9}tr.tr2{background:#fff}.surveystep.finish,button,input[type=submit]{background-color:#3a8338;}:where(input[type=number],input[type=text],select){padding:12px 20px;margin:8px 0;display:inline-block;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;width:calc(100% - 5px)}input[type=submit]{width:100%;color:#fff;border:none;margin:0 auto}.surveymodal{padding-top:5%;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.9)}.surveymodal-content{position:relative;background-color:#fefefe;margin:auto;padding:0;width:50%;min-width:380px;max-height:85%;overflow-y:scroll;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);-webkit-animation-name:animatetop;-webkit-animation-duration:.4s;animation-name:animatetop;animation-duration:.4s;-ms-overflow-style:none;scrollbar-width:none}.surveymodal-content::-webkit-scrollbar{display:none}@-webkit-keyframes animatetop{from{top:-300px;opacity:0}to{top:0;opacity:1}}@keyframes animatetop{from{top:-300px;opacity:0}to{top:0;opacity:1}}.surveyclose{color:#fff;float:right;font-size:28px}.surveyclose:focus,.surveyclose:hover{color:#000;cursor:pointer}.surveymodal-header{padding:2px 16px;background-color:#ff6f61;color:#fff}.surveymodal-body{padding:2px 16px}.surveymodal-footer{padding:2px 16px;background-color:#5cb85c;color:#fff}#surveystepform{margin:0 auto;width:80%}#surveystepform input.invalid{background-color:#fdd}.no-wrap,.surveystep{display:inline-block}button{color:#fff;border:none}button:hover{opacity:.8}.surveystep{height:15px;width:15px;margin:0 2px;background-color:#bbb;border:none;border-radius:50%;opacity:.5}.surveystepcontainer{padding:2px 16px;background-color:#fff}.surveyslider{-webkit-appearance:none;width:100%;height:15px;border-radius:5px;background:#d3d3d3;outline:0;opacity:.7;-webkit-transition:.2s;transition:opacity .2s}.surveyslider::-webkit-surveyslider-thumb{-webkit-appearance:none;appearance:none;width:25px;height:25px;border-radius:50%;background-color:#3a8338;cursor:pointer}.surveyslider::-moz-range-thumb{width:25px;height:25px;border-radius:50%;background-color:#3a8338;cursor:pointer}.fa-facebook,.facebook{background:#3b5998;color:#fff}.fa-twitter{font-family:sans-serif;background:#55acee;color:#fff}.fa-envelope-o{background:#dd4b39;color:#fff}.fa-linkedin,.linkedin{background:#007bb5;color:#fff}.fa-envelope-o:before{content:"\f003"}.fa-comment:before{content:"\f075"}.w3-card{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.twitter{background:#55acee;color:#fff}.no-wrap{white-space:nowrap;overflow:hidden}#suggestions,.modal-container{z-index:2147483647;overflow-y:auto}.w3-bar-item{max-width:none}.search-box{width:100%!important;border:2px solid #90ee90!important;border-radius:25px!important;outline:0;box-sizing:border-box;background-color:#fff;color:#000;transition:border .3s;height:40px}#suggestions div:hover,.reference{background-color:#eee}.search-box:focus{border-color:#b8860b!important}.search-icon{position:absolute;top:50%;right:10px;transform:translateY(-50%);cursor:pointer;color:#000}.highlight{color:red}#suggestions{border:1px solid #006400;border-top:none;border-radius:0 0 5px 5px;position:absolute;background-color:#fff;top:100%;left:0;max-width:100%}#suggestions div{padding:10px;cursor:pointer;text-align:left;color:#000}.flex-container{display:flex;align-items:center;padding:10px}#firsttitle{margin-left:auto}.flex-left{flex:0 1 auto}.flex-center{flex:0.9;position:relative;margin-left:15px}.flex-right{flex:0 0 auto}.suggestion-item.highlighted{background-color:#79d757}.reference{color:#444;padding:18px;width:100%;border:none;text-align:left;outline:0;word-break:break-all}.category-menu a,.menu-icon{text-decoration:none;color:#000!important}.modal-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:80%;justify-content:center;text-align:left;background:rgba(255,255,255,.9);border-radius:20px;box-shadow:20px 15px 20px 0 rgb(255 255 255 / 20%);border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.modal-overlay{display:none;position:fixed;top:0;left:0;z-index:2147483646;width:100%;height:100%;background-color:rgba(0,0,0,.8);overflow-y:initial!important}.loaderpdf{border:16px solid #f3f3f3;border-radius:50%;border-top:16px solid #3498db;width:120px;height:120px;-webkit-animation:2s linear infinite spin;animation:2s linear infinite spin;margin-left:auto;margin-right:auto}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}#contain300m-1{position:relative;width:100%;margin:0 auto;overflow:hidden;padding-top:100px}.menu-icon{font-size:26px;cursor:pointer;height:26px;
74display:flex;align-items:center;justify-content:center}.category-menu a{display:block;padding:12px 16px}.category-menu a:hover{background-color:#ddd}#right{width:342px}.w3-dropdown-content{opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s,transform .3s,visibility .3s}.dt,.st{width:100%;box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12);}.dt th,.dt td{white-space: -o-pre-wrap;word-break: break-word;white-space: pre-wrap;white-space: -moz-pre-wrap;white-space: -pre-wrap;},.st th,.st td{padding:5px;border:1px solid #ddd }.dt th,.st th{background:#e4e4e4;font-size:93%;font-weight:bold }tr.tr1{background:#F7F7F7 }tr.tr2{background:#fff }.dt overflow-x:auto tr:hover{background:#ff9 }.thc th,.tdc td{text-align:center }.thr th,.tdr td{text-align:right }tr.trh{font-size:108%;font-weight:bold }.z3 a{text-decoration:none }.z3 a:hover{text-decoration:underline }.f1{font-size:1.96rem;overflow-wrap: break-word;}.f2{font-size:1.67rem}.tc{word-break: break-word;}.m2{overflow:auto;padding:0 }.m2 li{display:inline;float:left;margin:0;padding:0;border-right:1px solid #ddd }.m2 li a{display:block;color:#555;text-decoration:none;padding:4px;font-size:0.93rem }.m2 a.on:link,.m2 a.on:visited{background:#ddd;color:#000;font-weight:bold }.m2 a:hover,.m2 a:active{background:#e6e6e6;color:#000 }.f0{font-size:5em }.z2{display:inline }.z3 a{text-decoration:none }.z3 a:hover{text-decoration:underline }.z4{border-bottom:1px solid #ddd;margin-top:1em }.z5{padding:5px 1px;border-bottom:1px dotted #ccc;margin-bottom:4px }.z5 h2,.z5 h3{font-size:100%;display:inline }.z6{font-size:100%;background:#f0f0f0;border-bottom:1px solid #ddd;padding:5px 2px;margin:4px 0 4px }sub,sup{line-height:.5em }.zf{border:1px solid #ddd;margin-bottom:1.6em }.zfo{border:1px solid #ddd;text-align:center;padding:.7em }.zff{text-align:center;padding:1.5em;margin:0 }.zft{padding:.7em;margin:0;background:#e5e5e5 }.zl{border-color:#e9e9e9 #ddd #ddd #ddd;border-style:solid;border-width:1px;width:100%;margin-bottom:1em }.zl th,.m2{background:#eee;*width:100%;padding:.3em .8em;border-bottom:1px solid #ddd }.zl h2,.zl p{margin:0;font-size:100% }.zi img{max-width:660px;width:100%;height:auto;aspect-ratio: attr(width) / attr(height);}.w3-bar-block .w3-button {display: block; width: 100%;text-align: left; }.w3-custom-banner { display: flex; align-items: center; justify-content: space-between; padding: 10px 20px; background-color: #f5f0ff; border-radius: 5px; } .w3-custom-banner-text { color: #4a4a4a; } .w3-custom-button { background-color: #7c4dff; color: white; padding: 8px 16px; border: none; border-radius: 4px; cursor: pointer; } .w3-custom-button:hover { background-color: #6a3ecc; }#lang-footer{position:relative;display:inline-block;text-align:left;vertical-align:baseline}#lang-footer>summary{display:inline;list-style:none;cursor:pointer}#lang-footer>summary::-webkit-details-marker{display:none}#lang-footer>summary:hover{text-decoration:underline}#lang-footer>summary svg{width:1em;height:1em;vertical-align:-.12em;margin-right:.35em;fill:currentColor}#lang-footer>summary::after{content:"\25be";margin-left:.35em;font-size:.8em}#lang-footer[open]>summary::after{content:"\25b4"}#lang-footer-list{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);z-index:30;
74min-width:200px;max-height:60vh;overflow-y:auto;padding:6px;background:#fff;border:1px solid #ccd3da;border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.18);text-align:left}#lang-footer-list a{display:block;width:auto;margin:0;padding:7px 14px;border:none;border-radius:6px;background:none;font-size:.9rem;line-height:1.3;color:#333;text-decoration:none;white-space:nowrap}#lang-footer-list a:hover{background:#eef2f6;color:#111;text-decoration:none}body.darkpagetheme #lang-footer-list{background:#1d2a35;border-color:#38444d}body.darkpagetheme #lang-footer-list a{color:#dfe6ec}body.darkpagetheme #lang-footer-list a:hover{background:#38444d;color:#fff}</style><style id="mwt-ui-refresh">
75
76	  :root {
77    --mwt-bg: #f6f7fb;
78    --mwt-surface: #ffffff;
79    --mwt-text: #0f172a;
80    --mwt-muted: #475569;
81    --mwt-border: rgba(15, 23, 42, 0.12);
82    --mwt-shadow: 0 10px 30px rgba(15, 23, 42, 0.10);
83    --mwt-radius: 16px;
84    --mwt-accent: #7c4dff;
85    --mwt-btn-primary: #1e293b; /* slate-800 */
86    --mwt-btn-primary-hover: #0f172a; /* slate-900 */
87    --mwt-btn-secondary: #475569; /* slate-600 */
88    --mwt-btn-secondary-hover: #334155; /* slate-700 */
89    --mwt-btn-ring: rgba(124, 77, 255, 0.35);
90	    --mwt-notice-overlay: rgba(2, 6, 23, 0.72);
91	  }
92
93	  /* Support notice modal (non-members). Scoped to avoid affecting other modals. */
94	  #mwt-notice-1790230449[hidden] {
95	    display: none !important;
96	  }
97
98	  #mwt-notice-1790230449 {
99	    position: fixed;
100	    inset: 0;
101	    z-index: 2147483647;
102	    display: grid;
103	    place-items: center;
104	    padding: 18px;
105	    opacity: 0;
106	    transition: opacity 160ms ease;
107	  }
108
109	  #mwt-notice-1790230449.mwt-notice-open {
110	    opacity: 1;
111	  }
112
113	  #mwt-notice-1790230449.mwt-notice-closing {
114	    opacity: 0;
115	  }
116
117	  #mwt-notice-1790230449 .mwt-notice-backdrop {
118	    position: absolute;
119	    inset: 0;
120	    background: var(--mwt-notice-overlay);
121	    backdrop-filter: blur(10px);
122	    -webkit-backdrop-filter: blur(10px);
123	  }
124
125	  #mwt-notice-1790230449 .mwt-notice-dialog {
126	    position: relative;
127	    width: min(560px, calc(100vw - 32px));
128	    max-height: min(84vh, 720px);
129	    overflow: auto;
130	    background: var(--mwt-surface);
131	    color: var(--mwt-text);
132	    border: 1px solid rgba(15, 23, 42, 0.12);
133	    border-radius: 18px;
134	    box-shadow: 0 32px 90px rgba(2, 6, 23, 0.38);
135	    opacity: 0;
136	    transform: translateY(12px) scale(0.99);
137	    transition: transform 180ms ease, opacity 180ms ease;
138	  }
139
140	  #mwt-notice-1790230449.mwt-notice-open .mwt-notice-dialog {
141	    opacity: 1;
142	    transform: translateY(0) scale(1);
143	  }
144
145	  #mwt-notice-1790230449.mwt-notice-closing .mwt-notice-dialog {
146	    opacity: 0;
147	    transform: translateY(14px) scale(0.99);
148	  }
149
150	  #mwt-notice-1790230449 .mwt-notice-dialog::before {
151	    content: "";
152	    position: sticky;
153	    top: 0;
154	    display: block;
155	    height: 4px;
156	    background: linear-gradient(90deg, rgba(124, 77, 255, 0.95), rgba(74, 144, 226, 0.95));
157	    border-top-left-radius: 18px;
158	    border-top-right-radius: 18px;
159	    z-index: 1;
160	  }
161
162	  @media (prefers-reduced-motion: reduce) {
163	    #mwt-notice-1790230449 {
164	      transition: none;
165	    }
166
167	    #mwt-notice-1790230449 .mwt-notice-dialog {
168	      transition: none;
169	      transform: none;
170	      opacity: 1;
171	    }
172	  }
173
174	  #mwt-notice-1790230449 .mwt-notice-header {
175	    display: flex;
176	    gap: 12px;
177	    align-items: flex-start;
178	    padding: 18px 18px 0;
179	  }
180
181	  #mwt-notice-1790230449 .mwt-notice-icon {
182	    width: 44px;
183	    height: 44px;
184	    border-radius: 14px;
185	    background: linear-gradient(135deg, rgba(124, 77, 255, 0.95), rgba(74, 144, 226, 0.95));
186	    box-shadow: 0 12px 24px rgba(124, 77, 255, 0.25);
187	    display: grid;
188	    place-items: center;
189	    color: #ffffff;
190	    flex: 0 0 auto;
191	  }
192
193	  #mwt-notice-1790230449 .mwt-notice-eyebrow {
194	    font-size: 12px;
195	    letter-spacing: 0.08em;
196	    text-transform: uppercase;
197	    color: var(--mwt-muted);
198	    margin: 2px 0 2px;
199	  }
200
201	  #mwt-notice-1790230449 .mwt-notice-title {
202	    margin: 0;
203	    font-size: 1.25rem;
204	    line-height: 1.25;
205	  }
206
207	  #mwt-notice-1790230449 .mwt-notice-content {
208	    padding: 0 18px 18px;
209	  }
210
211	  #mwt-notice-1790230449 .mwt-notice-text {
212	    margin: 10px 0 10px;
213	    color: var(--mwt-muted);
214	    overflow-wrap: anywhere;
215	  }
216
217	  #mwt-notice-1790230449 .mwt-notice-list {
218	    margin: 0;
219	    padding-left: 18px;
220	    color: var(--mwt-muted);
221	  }
222
223	  #mwt-notice-1790230449 .mwt-notice-actions {
224	    margin-top: 14px;
225	    display: flex;
226	    gap: 10px;
227	    flex-wrap: wrap;
228	  }
229
230	  #mwt-notice-1790230449 .mwt-notice-btn {
231	    display: inline-flex;
232	    align-items: center;
233	    justify-content: center;
234	    padding: 10px 12px;
235	    border-radius: 12px;
236	    font-weight: 600;
237	    text-decoration: none;
238	    border: 1px solid transparent;
239	    cursor: pointer;
240	    user-select: none;
241	    line-height: 1.1;
242	  }
243
244	  #mwt-notice-1790230449 .mwt-notice-btn-primary {
245	    background: linear-gradient(135deg, rgba(124, 77, 255, 0.95), rgba(74, 144, 226, 0.95));
246	    color: #ffffff !important;
247	    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.20);
248	  }
249
250	  #mwt-notice-1790230449 .mwt-notice-btn-primary:hover {
251	    filter: brightness(1.04);
252	  }
253
254	  #mwt-notice-1790230449 .mwt-notice-btn-secondary {
255	    background: rgba(15, 23, 42, 0.06);
256	    color: var(--mwt-text) !important;
257	    border-color: rgba(15, 23, 42, 0.12);
258	  }
259
260	  #mwt-notice-1790230449 .mwt-notice-btn-secondary:hover {
261	    background: rgba(15, 23, 42, 0.09);
262	  }
263
264	  #mwt-notice-1790230449 .mwt-notice-footer {
265	    margin-top: 12px;
266	    padding-top: 12px;
267	    border-top: 1px solid rgba(15, 23, 42, 0.08);
268	    display: flex;
269	    align-items: center;
270	    justify-content: space-between;
271	    gap: 10px;
272	  }
273
274	  #mwt-notice-1790230449 .mwt-notice-link {
275	    background: none;
276	    border: none;
277	    padding: 0;
278	    color: rgba(15, 23, 42, 0.72);
279	    text-decoration: underline;
280	    cursor: pointer;
281	    font: inherit;
282	  }
283
284	  #mwt-notice-1790230449 .mwt-notice-link:hover {
285	    color: rgba(15, 23, 42, 0.92);
286	  }
287
288	  #mwt-notice-1790230449 .mwt-notice-link[disabled],
289	  #mwt-notice-1790230449 .mwt-notice-link[aria-disabled="true"] {
290	    opacity: 0.45;
291	    cursor: not-allowed;
292	    text-decoration: none;
293	  }
294
295	  @media (max-width: 420px) {
296	    #mwt-notice-1790230449 .mwt-notice-actions {
297	      flex-direction: column;
298	    }
299
300	    #mwt-notice-1790230449 .mwt-notice-btn {
301	      width: 100%;
302	    }
303	  }
304
305  /* Buttons: primary (tool submit) + secondary (#sharearea). Keep styles scoped to avoid affecting nav highlights. */
306  #c1 form input[type="submit"],
307  #c1 form button[type="submit"],
308  #c1 form button:not([type]) {
309    background-color: var(--mwt-btn-primary) !important;
310    color: #ffffff !important;
311    border: 1px solid rgba(255, 255, 255, 0.14) !important;
312    border-radius: 12px !important;
313    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.18);
314    cursor: pointer;
315    transition: transform 80ms ease, background-color 160ms ease, box-shadow 160ms ease;
316  }
317
318  #c1 form input[type="submit"]:hover,
319  #c1 form button[type="submit"]:hover,
320  #c1 form button:not([type]):hover {
321    background-color: var(--mwt-btn-primary-hover) !important;
322  }
323
324  #c1 form input[type="submit"]:active,
325  #c1 form button[type="submit"]:active,
326  #c1 form button:not([type]):active {
327    transform: translateY(1px);
328    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.16);
329  }
330
331  #c1 form input[type="submit"]:focus-visible,
332  #c1 form button[type="submit"]:focus-visible,
333  #c1 form button:not([type]):focus-visible,
334  #sharearea .w3-btn.w3-green:focus-visible,
335  #sharearea .w3-button.w3-green:focus-visible {
336    outline: none;
337    box-shadow: 0 0 0 3px var(--mwt-btn-ring), 0 10px 22px rgba(15, 23, 42, 0.18);
338  }
339
340  #sharearea .w3-btn.w3-green,
341  #sharearea .w3-button.w3-green {
342    background-color: var(--mwt-btn-secondary) !important;
343    color: #ffffff !important;
344    border: 1px solid rgba(255, 255, 255, 0.14) !important;
345    border-radius: 12px !important;
346    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.14);
347    cursor: pointer;
348    transition: transform 80ms ease, background-color 160ms ease, box-shadow 160ms ease;
349  }
350
351  #sharearea .w3-btn.w3-green:hover,
352  #sharearea .w3-button.w3-green:hover {
353    background-color: var(--mwt-btn-secondary-hover) !important;
354  }
355
356  #sharearea .w3-btn.w3-green:active,
357  #sharearea .w3-button.w3-green:active {
358    transform: translateY(1px);
359    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.12);
360  }
361
362
363  html,
364  body {
365    text-rendering: optimizeLegibility;
366    -webkit-font-smoothing: antialiased;
367  }
368
369  body {
370    background: var(--mwt-bg) !important;
371    color: var(--mwt-text);
372  }
373
374  .main {
375    background: transparent;
376  }
377
378  @media (min-width: 994px) {
379    body.mwt-noads .main {
380      margin-right: 20px;
381    }
382  }
383
384  body.mwt-noads #right {
385    display: none;
386  }
387
388  .mwt-tool-trust {
389    display: flex;
390    align-items: center;
391    justify-content: flex-start;
392    flex-wrap: wrap;
393    gap: 8px 24px;
394    margin: -8px 0 18px;
395    padding: 0;
396    color: var(--mwt-muted);
397    font-size: 0.86rem;
398  }
399
400  .mwt-tool-trust-item {
401    display: inline-flex;
402    align-items: center;
403    gap: 7px;
404    white-space: nowrap;
405    font-weight: 600;
406  }
407
408  .mwt-tool-trust-check {
409    display: inline-grid;
410    place-items: center;
411    width: 18px;
412    height: 18px;
413    border-radius: 50%;
414    background: #15803d;
415    color: #ffffff;
416    font-size: 12px;
417    line-height: 1;
418  }
419
420  body.darkpagetheme .mwt-tool-trust-check {
421    background: #22c55e;
422    color: #0d1721;
423  }
424
425  .miniwebtoolh {
426    position: relative;
427  }
428
429  .tool-tryit {
430    position: absolute;
431    left: 22px;
432    bottom: -13px;
433    background: #FDE047;
434    color: #713F12;
435    font-size: 12px;
436    font-weight: 800;
437    padding: 5px 13px;
438    border-radius: 0 0 8px 8px;
439    box-shadow: 0 3px 8px rgba(30, 27, 51, 0.18);
440    z-index: 2;
441    pointer-events: none;
442    line-height: 1;
443    white-space: nowrap;
444  }
445
446  @media (max-width: 640px) {
447    .tool-tryit {
448      font-size: 11px;
449      padding: 4px 10px;
450      left: 14px;
451      bottom: -11px;
452    }
453  }
454
455  /* Top bar */
456  #topbar {
457    box-shadow: 0 10px 35px rgba(15, 23, 42, 0.10);
458  }
459
460  #firstbar {
461    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
462  }
463
464  #firstbar .w3-wide {
465    letter-spacing: 0.06em !important;
466    color: rgba(15, 23, 42, 0.78);
467  }
468
469  #secondbar.w3-black {
470    background: linear-gradient(90deg, #0b1020 0%, #221c3d 40%, #162355 100%) !important;
471  }
472
473  #secondbar {
474	    border-top: 1px solid rgba(255, 255, 255, 0.10);
475	  }
476
477	  #secondbar .flex-right {
478    display: flex;
479    align-items: center;
480    gap: 10px;
481  }
482
483  /* Dropdown hover: make it easier to move mouse from button to menu (lang + category) */
484	  @media (hover: hover) and (pointer: fine) and (min-width: 994px) {
485	    /* Ensure dropdowns can overlap main content (prevents hover "vanish" when menu is under another layer). */
486	    #sidebar,
487	    #sidebar1 {
488	      
489	      overflow-x: visible !important;
490	    }
491
492	    #secondbar .w3-dropdown-content,
493	    #sidebar .w3-dropdown-content,
494	    #sidebar1 .w3-dropdown-content {
495	      z-index: 2100;
496	      pointer-events: auto;
497	    }
498
499    #secondbar .w3-dropdown-hover,
500    #sidebar .w3-dropdown-hover,
501    #sidebar1 .w3-dropdown-hover {
502      position: relative;
503    }
504
505    #secondbar .w3-dropdown-hover > .w3-dropdown-content,
506    #sidebar .w3-dropdown-hover > .w3-dropdown-content,
507    #sidebar1 .w3-dropdown-hover > .w3-dropdown-content {
508      margin-top: 0;
509    }
510
511    #secondbar .w3-dropdown-hover > .w3-dropdown-content::before,
512    #sidebar .w3-dropdown-hover > .w3-dropdown-content::before,
513    #sidebar1 .w3-dropdown-hover > .w3-dropdown-content::before {
514      content: "";
515      position: absolute;
516      left: 0;
517      right: 0;
518      top: -12px;
519      height: 12px;
520    }
521
522    /* Avoid hover flicker: keep dropdown position stable and delay hide a bit */
523    #secondbar .w3-dropdown-content,
524    #sidebar .w3-dropdown-content,
525    #sidebar1 .w3-dropdown-content {
526      transform: none !important;
527      transition: opacity 120ms ease, visibility 0s linear 120ms !important;
528    }
529
530    #secondbar .w3-dropdown-hover:hover > .w3-dropdown-content,
531    #sidebar .w3-dropdown-hover:hover > .w3-dropdown-content,
532    #sidebar1 .w3-dropdown-hover:hover > .w3-dropdown-content {
533      transition: opacity 120ms ease, visibility 0s linear 0s !important;
534    }
535  }
536
537  #secondbar #navbutton.w3-black,
538  #secondbar .flex-right > .w3-dropdown-hover.w3-black {
539    background: transparent !important;
540  }
541
542  #secondbar #navbutton > a.w3-button,
543  #secondbar #navbutton > button.w3-button,
544  #secondbar #navbutton > .w3-dropdown-hover > a.w3-button,
545  #secondbar #navbutton > .w3-dropdown-hover > button.w3-button {
546    border-radius: 999px !important;
547    padding: 10px 14px !important;
548    background: rgba(255, 255, 255, 0.10) !important;
549    color: #fff !important;
550  }
551
552  #secondbar #navbutton .w3-green {
553    background: rgba(124, 77, 255, 0.65) !important;
554  }
555
556  #secondbar #navbutton > a.w3-button:hover,
557  #secondbar #navbutton > button.w3-button:hover,
558  #secondbar #navbutton > .w3-dropdown-hover > a.w3-button:hover,
559  #secondbar #navbutton > .w3-dropdown-hover > button.w3-button:hover {
560    background: rgba(255, 255, 255, 0.16) !important;
561  }
562
563  #secondbar .flex-right > a.w3-bar-item.w3-button,
564  #secondbar .flex-right > .w3-dropdown-hover > button.w3-button {
565    display: inline-flex;
566    align-items: center;
567    gap: 8px;
568    border-radius: 12px !important;
569    background: rgba(124, 77, 255, 0.22) !important;
570    border: 1px solid rgba(255, 255, 255, 0.18);
571    color: #fff !important;
572  }
573
574  #secondbar .flex-right > a.w3-bar-item.w3-button:hover,
575  #secondbar .flex-right > .w3-dropdown-hover:hover > button.w3-button {
576    background: rgba(124, 77, 255, 0.32) !important;
577  }
578
579  /* Search */
580  .search-box {
581    height: 44px !important;
582    padding: 0 44px 0 14px !important;
583    border-radius: 999px !important;
584    border: 1px solid rgba(255, 255, 255, 0.16) !important;
585    background: rgba(255, 255, 255, 0.96) !important;
586    color: var(--mwt-text) !important;
587  }
588
589  .search-box::placeholder {
590    color: rgba(71, 85, 105, 0.85);
591  }
592
593  .search-box:focus {
594    border-color: rgba(124, 77, 255, 0.60) !important;
595    box-shadow: 0 0 0 4px rgba(124, 77, 255, 0.18);
596  }
597
598  #suggestions {
599    margin-top: 10px;
600    border: 1px solid var(--mwt-border) !important;
601    border-radius: 16px !important;
602    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
603    overflow: hidden;
604  }
605
606  #suggestions div {
607    padding: 10px 12px !important;
608  }
609
610  #suggestions div:hover {
611    background: rgba(124, 77, 255, 0.10) !important;
612  }
613
614  .suggestion-item.highlighted {
615    background: rgba(34, 197, 94, 0.14) !important;
616  }
617
618  .search-icon {
619    color: rgba(15, 23, 42, 0.75) !important;
620    right: 14px !important;
621  }
622
623  /* Dropdown menus (Share / Language) */
624  #secondbar .w3-dropdown-content {
625    background: rgba(255, 255, 255, 0.98) !important;
626    color: var(--mwt-text) !important;
627    border: 1px solid var(--mwt-border) !important;
628    border-radius: 14px;
629    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
630    padding: 6px;
631    margin-top: 10px;
632    min-width: 220px;
633    max-height: 70vh;
634    overflow-y: auto;
635    overscroll-behavior: contain;
636	  }
637
638	  .mwt-accent-btn {
639	    display: inline-flex;
640	    align-items: center;
641	    justify-content: center;
642	    gap: 8px;
643	    padding: 10px 14px !important;
644	    border-radius: 12px !important;
645	    border: 1px solid rgba(255, 255, 255, 0.18) !important;
646	    background: linear-gradient(135deg, rgba(124, 77, 255, 0.95), rgba(74, 144, 226, 0.95)) !important;
647	    color: #fff !important;
648	    text-decoration: none !important;
649	  }
650
651	  .mwt-accent-btn:hover {
652	    filter: brightness(1.05);
653	  }
654
655	  .mwt-accent-btn:focus-visible {
656	    outline: 3px solid rgba(124, 77, 255, 0.28);
657	    outline-offset: 2px;
658	  }
659
660  #secondbar .w3-dropdown-content a,
661  #secondbar .w3-dropdown-content .w3-bar-item.w3-button {
662    background: transparent !important;
663    color: inherit !important;
664    border-radius: 10px !important;
665    padding: 10px 12px;
666    line-height: 1.25;
667  }
668
669  #secondbar .w3-dropdown-content .w3-black {
670    background: transparent !important;
671    color: inherit !important;
672  }
673
674  #secondbar .w3-dropdown-content a:hover,
675  #secondbar .w3-dropdown-content .w3-bar-item.w3-button:hover {
676    background: rgba(124, 77, 255, 0.10) !important;
677  }
678
679  #secondbar .w3-dropdown-content i.fa {
680    margin-right: 8px;
681  }
682
683  /* Content cards */
684  .c2,
685  .reference,
686  footer.w3-panel {
687    background: var(--mwt-surface) !important;
688    border: 1px solid var(--mwt-border);
689    border-radius: var(--mwt-radius);
690    box-shadow: var(--mwt-shadow);
691  }
692
693  footer.w3-panel {
694    box-shadow: none;
695    opacity: 1 !important;
696  }
697
698  /* Tool card */
699  #c1 {
700    background: var(--mwt-surface) !important;
701    border: 1px solid var(--mwt-border);
702    border-radius: var(--mwt-radius) !important;
703    box-shadow: var(--mwt-shadow);
704  }
705
706  #c1 .miniwebtoolh {
707    border-radius: var(--mwt-radius) var(--mwt-radius) 0 0;
708  }
709
710  /* Sidebar list */
711  #sidebar1 {
712    background: rgba(255, 255, 255, 0.72);
713    border: 1px solid var(--mwt-border);
714    border-radius: var(--mwt-radius);
715    backdrop-filter: blur(10px);
716  }
717
718  #sidebar1 h2 {
719    margin: 14px 10px 8px !important;
720    color: rgba(15, 23, 42, 0.88);
721    font-weight: 800;
722  }
723
724  #sidebar1 a {
725    display: block;
726    padding: 10px 12px !important;
727    line-height: 1.25;
728    text-decoration: none;
729    color: rgba(15, 23, 42, 0.84) !important;
730    border-radius: 12px;
731    margin: 2px 0;
732  }
733
734  #sidebar1 a:hover {
735    background: rgba(124, 77, 255, 0.10) !important;
736    color: rgba(15, 23, 42, 0.92) !important;
737  }
738
739  #sidebar1 a.w3-black {
740    background: transparent !important;
741    color: rgba(15, 23, 42, 0.84) !important;
742  }
743
744  #sidebar1 a.w3-green {
745    background: rgba(124, 77, 255, 0.16) !important;
746    border: 1px solid rgba(124, 77, 255, 0.18);
747    color: rgba(15, 23, 42, 0.96) !important;
748    font-weight: 700;
749  }
750
751  #sidebar1 a.w3-green:hover {
752    background: rgba(124, 77, 255, 0.18) !important;
753    color: rgba(15, 23, 42, 0.96) !important;
754  }
755
756  #sidebar1 a:focus-visible {
757    outline: 3px solid rgba(124, 77, 255, 0.28);
758    outline-offset: 2px;
759  }
760
761  /* Right sidebar wrapper */
762  #right {
763    padding: 0 3px;
764  }
765
766  /* Floating tooltip */
767  #mwt-tip {
768    position: fixed;
769    padding: 10px 14px;
770    max-width: 320px;
771    background: linear-gradient(135deg, #1a1a2e, #16213e);
772    color: #f0f0f0;
773    font-size: 13px;
774    line-height: 1.5;
775    border-radius: 8px;
776    box-shadow: 0 4px 20px rgba(0,0,0,0.3), 0 0 0 1px rgba(255,255,255,0.1);
777    z-index: 999999;
778    pointer-events: none;
779    opacity: 0;
780    transition: opacity 0.15s ease;
781  }
782  #mwt-tip.show { opacity: 1; }
783
784</style> <style>
785@media screen and (max-width: 1110px) { #sidebar { display:none!important } }
786#right [data-desktop],
787#right [data-mobile],
788#right .desktop-250,
789#right .desktop-300,
790#right .desktop-600,
791#dSpace {
792  display: none !important;
793  height: 0 !important;
794  min-height: 0 !important;
795  overflow: hidden !important;
796}
797#topbar { top: 0 !important; }
798@media screen and (max-width: 993px) {
799  body { margin-top: 100px !important; }
800}
801#sidebar1, .bc-foot { display: none !important; }
802@media screen and (min-width: 994px) {
803  #sidebar { display: none !important; }
804  .main, footer.ftmargin { margin-left: auto !important; margin-right: auto !important; max-width: 1100px; }
805}
806</style>
807<style type="text/css">
808#id_body{height:300px}.p_trap{display:none}
809.text-white :is(h1,h2,h3,h4){color:#fff}
810@media (max-width:600px) {
811    input[type=text]{
812        width: 100%;
813    }
814}
815@media screen and (max-width: 1110px) {
816    #sidebar { display:none!important}
817}
818</style>
819<script src="https://cdn.tailwindcss.com"></script>
819
820    <style>
821        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=optional');
822        
823        * {
824            font-family: 'Inter', system-ui, -apple-system, sans-serif;
825        }
826        
827        .gradient-bg {
828            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
829        }
830        
831        .glass-effect {
832            background: rgba(255, 255, 255, 0.1);
833            backdrop-filter: blur(10px);
834            border: 1px solid rgba(255, 255, 255, 0.2);
835        }
836        
837        .card-hover {
838            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
839        }
840        
841        .card-hover:hover {
842            transform: translateY(-8px);
843            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
844        }
845        
846        .floating-animation {
847            animation: float 6s ease-in-out infinite;
848        }
849        
850        @keyframes float {
851            0%, 100% { transform: translateY(0px); }
852            50% { transform: translateY(-20px); }
853        }
854        
855        .pulse-animation {
856            animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
857        }
858        
859        .text-gradient {
860            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
861            -webkit-background-clip: text;
862            -webkit-text-fill-color: transparent;
863            background-clip: text;
864        }
865        
866        .bento-grid {
867            display: grid;
868            grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); 
869            gap: 1.5rem;
870        }
871        
872        .bento-item {
873            border-radius: 1.5rem;
874            overflow: hidden;
875            transition: all 0.4s ease;
876        }
877        
878        .bento-large {
879            grid-column: span 1; 
880        }
881        @media (min-width: 768px) { 
882            .bento-large {
883                grid-column: span 2; 
884            }
885        }
886        
887        .neon-glow {
888            box-shadow: 0 0 20px rgba(102, 126, 234, 0.3);
889        }
890        
891        .feature-icon {
892            width: 60px;
893            height: 60px;
894            border-radius: 16px;
895            display: flex;
896            align-items: center;
897            justify-content: center;
898            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
899            margin-bottom: 1rem;
900        }
901    </style>
902    <style>
903        form input[type="text"], form input[type="email"], form textarea {
904            border: 1px solid #ccc;
905            padding: 0.5rem;
906            border-radius: 0.25rem;
907            width: 100%;
908            margin-top: 0.25rem;
909        }
910        form input[type="submit"] {
911            background-color: #2563eb; 
912            color: white;
913            padding: 0.75rem 1.5rem;
914            border-radius: 0.375rem; 
915            cursor: pointer;
916            font-weight: 500; 
917        }
918        form input[type="submit"]:hover {
919            background-color: #1d4ed8; 
920        }
921        .eb { 
922            color: #dc2626; 
923            margin-bottom: 1rem;
924        }
925        .p_trap { 
926            display: none !important; 
927            visibility: hidden;
928            opacity: 0;
929            position: absolute;
930            left: -9999px;
931            top: -9999px;
932        }
933        body {
934            overflow-x: hidden;
935        }
936    </style>
937 <meta property="fb:page_id" content="176909722351736" />    <link rel="canonical" href="https://MiniWebtool.com/about/contact/" />
938 <link rel="alternate" type="application/rss+xml" href="https://MiniWebtool.com/rss.xml" />
938<script>function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); var expires = "expires=" + d.toGMTString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; } var loadfed = false; /* Shared by inline locale templates and the external English UI bundle. */
939(function (w, d) {
940  if (w.mwtDeferWork) return;
941  var queue = [], scheduled = false;
942  function schedule() {
943    if (scheduled || !queue.length || d.hidden) return;
944    scheduled = true;
945    var afterFrame = function () {
946      // A timer inside rAF lets the browser paint before nonessential work.
947      w.setTimeout(function () {
948        if (d.hidden) { scheduled = false; return; }
949        var run = function () {
950          scheduled = false;
951          if (d.hidden) return;
952          var job = queue.shift();
953          try { if (job) job(); }
954          catch (error) { if (w.console) w.console.error('Deferred page initialization failed', error); }
955          schedule();
956        };
957        if (w.requestIdleCallback) w.requestIdleCallback(run, { timeout: 500 });
958        else run();
959      }, 0);
960    };
961    if (w.requestAnimationFrame) w.requestAnimationFrame(afterFrame);
962    else w.setTimeout(afterFrame, 0);
963  }
964  w.mwtDeferWork = function (job) { queue.push(job); schedule(); };
965  d.addEventListener('visibilitychange', schedule);
966})(window, document);
967
968function loadf() { if(!loadfed ) { loadfed = true; 
969try { loadcss(); } catch (e) {} try { setCookie("loadoed", "1", 1); } catch (e) {} } } if (typeof window.mwtResultFade === 'undefined' && /(?:^|;\s*)formsubmit=1(?:;|$)/.test(document.cookie)) { window.mwtResultFade = 1; var mwtFadeStyle = document.createElement('style'); mwtFadeStyle.textContent = '@keyframes mwtResultFade{from{opacity:0}to{opacity:1}}#calculatorresult{animation:mwtResultFade .3s ease}'; document.head.appendChild(mwtFadeStyle); setTimeout(function () { var mwtR = document.getElementById('calculatorresult');
969 if (mwtR) { mwtR.style.animation = 'none'; } }, 1200); document.addEventListener('DOMContentLoaded', function () { try { var mwtRS = document.getElementById('calculatorresult'); if (mwtRS) { var mwtAdSel = '[data-desktop],[data-mobile],[data-zd],[data-zm],[data-fuse],ins.adsbygoogle'; var mwtY = function () { return window.pageYOffset || document.documentElement.scrollTop || 0; }; var mwtAdAbove = function (res) { var base = res.getBoundingClientRect().top + mwtY(); var n = res, best = null; while (n && n !== document.body && !best) { for (var p = n.previousElementSibling; p && !best; p = p.previousElementSibling) { var list = []; if (p.matches && p.matches(mwtAdSel)) list.push(p); if (p.querySelectorAll) list = list.concat(Array.prototype.slice.call(p.querySelectorAll(mwtAdSel))); for (var i = list.length - 1; i >= 0; i--) { var r = list[i].getBoundingClientRect(); if (!r.width && !r.height) continue; var t = r.top + mwtY(); if (t <= base + 2 && base - t <= 1200) best = list[i]; break; } } n = n.parentElement; } return best; }; var mwtChrome = function () { var b = 0, ids = ['dSpace', 'topbar', 'firstbar', 'secondbar']; for (var i = 0; i < ids.length; i++) { var e = document.getElementById(ids[i]); if (!e) continue; var st = window.getComputedStyle(e); if (st.position !== 'fixed' && st.position !== 'sticky') continue; if (st.display === 'none' || st.visibility === 'hidden') continue; var r = e.getBoundingClientRect(); if (r.height > 0 && r.top < 300 && r.bottom > b) b = r.bottom; } return b; }; var mwtEl = mwtAdAbove(mwtRS) || mwtRS; var mwtTop = mwtEl.getBoundingClientRect().top + mwtY() - (mwtChrome() + 8); window.scrollTo(0, mwtTop > 0 ? mwtTop : 0); } } catch (e) {} try { setCookie('formsubmit', '0', 1); } catch (e) {} }); } if (typeof window.mwtEnsureFuse === 'undefined') { window.mwtEnsureFuse = 1; (function () { var EV = ['pointerdown', 'touchstart', 'mousemove', 'keydown', 'wheel', 'click']; function go() { try { loadf(); } catch (e) {} } function fire() { for (var i = 0; i < EV.length; i++) { window.removeEventListener(EV[i], fire, true); } go(); } function start() { if (/(?:^|;\s*)loadoed=1(?:;|$)/.test(document.cookie)) { go(); return; } for (var i = 0; i < EV.length; i++) { window.addEventListener(EV[i], fire, { passive: true, capture: true }); } } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); } })(); } function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i].trim(); if (c.indexOf(name) === 0) { return c.substring(name.length, c.length); } } return ""; } var imgloaded = false; function showVisible() { if(!imgloaded){ for (let img of document.querySelectorAll('img')) { let realSrc = img.dataset.src; if (!realSrc) continue; img.src = realSrc; img.dataset.src = ''; } } imgloaded=true; } function updatePlaceholder() { if (window.innerWidth <= 993) { let divs = document.querySelectorAll('div[data-mobile]'); divs.forEach(div => { let mobileValue = div.getAttribute('data-mobile'); div.removeAttribute('data-mobile'); div.setAttribute('data-fuse', mobileValue); }); } else { let divs = document.querySelectorAll('div[data-desktop]'); divs.forEach(div => { let desktopValue = div.getAttribute('data-desktop'); div.removeAttribute('data-desktop'); div.setAttribute('data-fuse', desktopValue); }); } } </script>
969 
969<script type="application/ld+json">{"@context": "https://schema.org", "@graph": [{"@type": "ContactPage", "@id": "https://miniwebtool.com/about/contact/#contactpage", "url": "https://miniwebtool.com/about/contact/", "name": "About Us & Contact - MiniWebtool.com", "about": {"@id": "https://miniwebtool.com/#organization"}}, {"@type": "Organization", "@id": "https://miniwebtool.com/#organization", "name": "MiniWebtool", "url": "https://miniwebtool.com/", "logo": {"@type": "ImageObject", "url": "https://miniwebtool.com/apple-touch-icon.png"}, "sameAs": ["https://www.facebook.com/miniwebtool", "https://www.youtube.com/@miniwebtool-official", "https://www.pinterest.com/miniwebtool/", "https://stripe.com/@miniwebtool"]}]}</script>
969 
969<script type="speculationrules">
970  {
971    "prerender": [
972      {
973        "where": {
974          "and": [
975            { "href_matches": "/*" }
976          ]
977        },
978        "eagerness": "moderate"
979      }
980    ]
981  }
982  </script>
982<script>
983(function () {
984  try {
985    if (/(?:^|;\s*)mwt_cc=/.test(document.cookie)) { return; }
986    var v = 'c' + Date.now().toString(36) + Math.random().toString(36).slice(2, 10);
987    var c = 'mwt_cc=' + v + '; path=/; max-age=31536000; samesite=Lax';
988    if (location.protocol === 'https:') { c += '; secure'; }
989    if (/(^|\.)miniwebtool\.com$/.test(location.hostname)) { c += '; domain=.miniwebtool.com'; }
990    document.cookie = c;
991  } catch (e) {}
992})();
993</script>
993
994<style type="text/css">@font-face {font-family:'Inter';font-style:normal;font-weight:400;src:url(/cf-fonts/v/inter/5.2.8/greek-ext/wght/normal.woff2);unicode-range:U+1F00-1FFF;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:400;src:url(/cf-fonts/v/inter/5.2.8/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:400;src:url(/cf-fonts/v/inter/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:400;src:url(/cf-fonts/v/inter/5.2.8/greek/wght/normal.woff2);unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:400;src:url(/cf-fonts/v/inter/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:400;src:url(/cf-fonts/v/inter/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:400;src:url(/cf-fonts/v/inter/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:500;src:url(/cf-fonts/v/inter/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:500;src:url(/cf-fonts/v/inter/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:500;src:url(/cf-fonts/v/inter/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:500;src:url(/cf-fonts/v/inter/5.2.8/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:500;src:url(/cf-fonts/v/inter/5.2.8/greek-ext/wght/normal.woff2);unicode-range:U+1F00-1FFF;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:500;src:url(/cf-fonts/v/inter/5.2.8/greek/wght/normal.woff2);unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:500;src:url(/cf-fonts/v/inter/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:600;src:url(/cf-fonts/v/inter/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:600;src:url(/cf-fonts/v/inter/5.2.8/cyrillic-ext/wght/normal.woff2);
994unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:600;src:url(/cf-fonts/v/inter/5.2.8/greek/wght/normal.woff2);unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:600;src:url(/cf-fonts/v/inter/5.2.8/greek-ext/wght/normal.woff2);unicode-range:U+1F00-1FFF;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:600;src:url(/cf-fonts/v/inter/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:600;src:url(/cf-fonts/v/inter/5.2.8/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:600;src:url(/cf-fonts/v/inter/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:700;src:url(/cf-fonts/v/inter/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:700;src:url(/cf-fonts/v/inter/5.2.8/greek-ext/wght/normal.woff2);unicode-range:U+1F00-1FFF;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:700;src:url(/cf-fonts/v/inter/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:700;src:url(/cf-fonts/v/inter/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:700;src:url(/cf-fonts/v/inter/5.2.8/greek/wght/normal.woff2);unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:700;src:url(/cf-fonts/v/inter/5.2.8/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:optional;}@font-face {font-family:'Inter';font-style:normal;font-weight:700;src:url(/cf-fonts/v/inter/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:optional;}@font-face {font-family:'Bricolage Grotesque';font-style:normal;font-weight:600;src:url(/cf-fonts/v/bricolage-grotesque/5.2.10/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:optional;}@font-face {font-family:'Bricolage Grotesque';font-style:normal;font-weight:600;src:url(/cf-fonts/v/bricolage-grotesque/5.2.10/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:optional;}@font-face {font-family:'Bricolage Grotesque';font-style:normal;font-weight:600;src:url(/cf-fonts/v/bricolage-grotesque/5.2.10/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:optional;}@font-face {font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;src:url(/cf-fonts/v/bricolage-grotesque/5.2.10/latin/wght/normal.woff2);
994unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:optional;}@font-face {font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;src:url(/cf-fonts/v/bricolage-grotesque/5.2.10/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:optional;}@font-face {font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;src:url(/cf-fonts/v/bricolage-grotesque/5.2.10/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:optional;}@font-face {font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;src:url(/cf-fonts/v/bricolage-grotesque/5.2.10/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:optional;}@font-face {font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;src:url(/cf-fonts/v/bricolage-grotesque/5.2.10/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:optional;}@font-face {font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;src:url(/cf-fonts/v/bricolage-grotesque/5.2.10/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:optional;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:optional;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:optional;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:optional;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:optional;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/greek/wght/normal.woff2);unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-display:optional;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:optional;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:500;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:optional;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:500;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/cyrillic-ext/wght/normal.woff2);
994unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:optional;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:500;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:optional;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:500;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/greek/wght/normal.woff2);unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-display:optional;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:500;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:optional;}@font-face {font-family:'JetBrains Mono';font-style:normal;font-weight:500;src:url(/cf-fonts/v/jetbrains-mono/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:optional;}</style>
995<meta name="theme-color" content="#ffffff">
996<style id="mwt-theme-v3">
997:root {
998  --mwt-bg: #f5f5f1;
999  --mwt-grid-line: rgba(28, 27, 46, 0.045);
1000  --mwt-surface: #ffffff;
1001  --mwt-surface-2: #f7f6fb;
1002  --mwt-text: #1c1b2e;
1003  --mwt-muted: #5b5972;
1004  --mwt-border: #e4e2ee;
1005  --mwt-border-strong: #cfccdf;
1006  --mwt-shadow: 0 1px 2px rgba(25, 24, 49, 0.05), 0 8px 24px rgba(25, 24, 49, 0.07);
1007  --mwt-shadow-pop: 0 12px 32px rgba(25, 24, 49, 0.16);
1008  --mwt-radius: 14px;
1009  --mwt-accent: #5a45e6;
1010  --mwt-accent-hover: #4836c4;
1011  --mwt-accent-soft: #edebfc;
1012  --mwt-accent-text: #4332bd;
1013  --mwt-on-accent: #ffffff;
1014  --mwt-jade: #0e9f6e;
1015  --mwt-jade-deep: #0b7c57;
1016  --mwt-jade-soft: #e3f6ee;
1017  --mwt-jade-border: #b5e6d2;
1018  --mwt-amber: #a34b07;   /* was #b45309: 4.46:1 on --mwt-amber-soft, under AA 4.5 */
1019  --mwt-amber-soft: #fdf0dc;
1020  --mwt-header: #1a1930;
1021  --mwt-header-2: #2a2754;
1022  --mwt-on-header: #f0effa;
1023  --mwt-header-pill: rgba(255, 255, 255, 0.10);
1024  --mwt-header-pill-hover: rgba(255, 255, 255, 0.18);
1025  --mwt-link: #4836c4;
1026  --mwt-display-font: "Bricolage Grotesque", "Segoe UI", "PingFang SC", "Hiragino Sans", "Microsoft YaHei", Meiryo, "Malgun Gothic", Arial, sans-serif;
1027  /* 全站三个字族的唯一来源。工具页一律不许自己再请求 Google Fonts ——
1028     到 2026-08 为止全站攒了 75 种字族,换一个工具就重下一套,字体缓存基本不命中。
1029     Inter 覆盖 Latin+Greek+Cyrillic(ru 站同一个文件),且带 tabular figures,
1030     计算器的数字列才能对齐。CJK/泰文一律走系统栈,不加载 webfont。 */
1031  --mwt-font: "Inter", system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans", "Microsoft YaHei", Meiryo, "Malgun Gothic", "Noto Sans Thai", Arial, sans-serif;
1032  --mwt-mono-font: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
1033  --mwt-btn-primary: var(--mwt-accent);
1034  --mwt-btn-primary-hover: var(--mwt-accent-hover);
1035  --mwt-btn-secondary: #56527a;
1036  --mwt-btn-secondary-hover: #3f3c5e;
1037  --mwt-btn-ring: rgba(90, 69, 230, 0.30);
1038  --mwt-notice-overlay: rgba(16, 15, 33, 0.72);
1039  color-scheme: light;
1040}
1041
1042/* ---- canvas ---- */
1043html { background-color: var(--mwt-bg); border-bottom: 0; }
1044body, .w3-main {
1045  background-color: var(--mwt-bg) !important;
1046  background-image:
1047    linear-gradient(var(--mwt-grid-line) 1px, transparent 1px),
1048    linear-gradient(90deg, var(--mwt-grid-line) 1px, transparent 1px);
1049  background-size: 32px 32px;
1050  color: var(--mwt-text);
1051}
1052@media screen and (max-width: 993px) { body { background-color: var(--mwt-bg) !important; } }
1053::selection { background: var(--mwt-accent-soft); color: var(--mwt-accent-text); }
1054* { scrollbar-width: thin; scrollbar-color: var(--mwt-border-strong) transparent; }
1055::-webkit-scrollbar { width: 10px; height: 10px; }
1056::-webkit-scrollbar-thumb { background: var(--mwt-border-strong); border-radius: 8px; }
1057::-webkit-scrollbar-track { background: transparent; }
1058a { color: var(--mwt-link); }
1059hr { border-top: 1px solid var(--mwt-border); }
1060h1, h2, h3, h4, .t2, .f1, .f2, .f3 {
1061  font-family: var(--mwt-display-font);
1062  letter-spacing: -0.015em;
1063  color: var(--mwt-text);
1064}
1065h1#calculatorstart { line-height: 1.25; }
1066
1067/* ---- header: first bar ---- */
1068#topbar { background: var(--mwt-surface); border-bottom: 1px solid var(--mwt-border); }
1069#firstbar, #firstbar .w3-white, #firstbar .w3-bar { background-color: var(--mwt-surface) !important; color: var(--mwt-text) !important; }
1070#firstbar .w3-wide {
1071  font-family: var(--mwt-display-font);
1072  letter-spacing: 0.01em !important;
1073  font-weight: 600;
1074  font-size: 0.92em;
1075}
1076#firsttitle { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
1077#firsttitle .w3-margin-top { margin-top: 0 !important; }
1078#firsttitle .w3-bar { display: flex; align-items: center; }
1079.menu-icon { color: var(--mwt-text) !important; }
1080#dSpace { background-color: var(--mwt-bg) !important; }
1081#bc { background: var(--mwt-surface-2) !important; border-bottom: 1px solid var(--mwt-border) !important; }
1082
1083/* new inline-SVG logo replaces the legacy base64 PNG */
1084#i1n { background: none !important; display: flex !important; align-items: center; width: 180px; height: 32px; }
1085#i1n svg { display: block; width: 180px; height: 32px; }
1086
1087/* ---- header: second bar ---- */
1088#secondbar, #secondbar.w3-black {
1089  background-image: linear-gradient(100deg, var(--mwt-header) 0%, var(--mwt-header-2) 100%) !important;
1090  background-color: var(--mwt-header) !important;
1091  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
1092}
1093#secondbar .w3-black { background-color: transparent !important; }
1094#secondbar a.w3-button, #secondbar button.w3-button {
1095  color: var(--mwt-on-header) !important;
1096  font-weight: 500;
1097}
1098#navbutton a.w3-green, #navbutton a.w3-button {
1099  background-color: var(--mwt-header-pill) !important;
1100  color: var(--mwt-on-header) !important;
1101}
1102.search-box {
1103  background-color: rgba(255, 255, 255, 0.10) !important;
1104  border: 1.5px solid rgba(255, 255, 255, 0.22) !important;
1105  color: #ffffff !important;
1106  transition: border-color 0.2s ease, background-color 0.2s ease;
1107}
1108.search-box::placeholder { color: rgba(255, 255, 255, 0.55); }
1109.search-box:focus {
1110  border-color: var(--mwt-accent) !important;
1111  background-color: rgba(255, 255, 255, 0.16) !important;
1112  box-shadow: 0 0 0 3px var(--mwt-btn-ring);
1113}
1114.search-icon { color: rgba(255, 255, 255, 0.85) !important; }
1115#suggestions {
1116  background-color: var(--mwt-surface) !important;
1117  border: 1px solid var(--mwt-border) !important;
1118  box-shadow: var(--mwt-shadow-pop);
1119}
1120#suggestions div { color: var(--mwt-text) !important; }
1121#suggestions div:hover { background-color: var(--mwt-accent-soft) !important; color: var(--mwt-accent-text) !important; }
1122#secondbar #suggestions .suggestion-item.highlighted { background: var(--mwt-accent-soft) !important; color: var(--mwt-accent-text) !important; }
1123
1124/* ---- dropdowns / popovers ---- */
1125.w3-dropdown-content {
1126  background-color: var(--mwt-surface) !important;
1127  color: var(--mwt-text) !important;
1128  border: 1px solid var(--mwt-border) !important;
1129  border-radius: 12px;
1130  box-shadow: var(--mwt-shadow-pop) !important;
1131  overflow: hidden;
1132  padding: 4px !important;
1133}
1134.w3-dropdown-content a.w3-button, .w3-dropdown-content a.w3-bar-item, .w3-dropdown-content .w3-black {
1135  background-color: transparent !important;
1136  color: var(--mwt-text) !important;
1137  border-radius: 8px;
1138}
1139#secondbar .w3-dropdown-content a, #secondbar .w3-dropdown-content .w3-bar-item.w3-button { color: var(--mwt-text) !important; }
1140.w3-dropdown-content a.w3-button:hover, .w3-dropdown-content a.w3-bar-item:hover,
1141#secondbar .w3-dropdown-content a:hover, #secondbar .w3-dropdown-content .w3-bar-item.w3-button:hover {
1142  background-color: var(--mwt-accent-soft) !important;
1143  color: var(--mwt-accent-text) !important;
1144}
1145.category-menu { background-color: var(--mwt-surface) !important; border-bottom: 1px solid var(--mwt-border); box-shadow: var(--mwt-shadow-pop); }
1146.category-menu a { color: var(--mwt-text) !important; }
1147.category-menu a:hover { background-color: var(--mwt-accent-soft) !important; }
1148
1149/* ---- sidebars ---- */
1150#sidebar1 { background: var(--mwt-surface); border: 1px solid var(--mwt-border); }
1151#sidebar1 h2 { font-family: var(--mwt-display-font); }
1152#sidebar, .w3-sidebar { background-color: transparent !important; }
1153#sidebar a.w3-button, .w3-sidebar a.w3-button {
1154  color: var(--mwt-text) !important;
1155  background-color: transparent !important;
1156  border-radius: 9px;
1157  transition: background-color 0.15s ease, color 0.15s ease;
1158}
1159#sidebar a.w3-button:hover, .w3-sidebar a.w3-button:hover {
1160  background-color: var(--mwt-accent-soft) !important;
1161  color: var(--mwt-accent-text) !important;
1162  box-shadow: none;
1163}
1164.tools {
1165  background-color: var(--mwt-surface-2) !important;
1166  color: var(--mwt-text) !important;
1167  border: 1px solid var(--mwt-border) !important;
1168  border-radius: 10px;
1169  margin-bottom: 6px;
1170  font-weight: 600;
1171}
1172.tools:hover, .tools.activetool { background-color: var(--mwt-accent-soft) !important; color: var(--mwt-accent-text) !important; }
1173.panel { background-color: transparent !important; color: var(--mwt-text) !important; }
1174.reference { color: var(--mwt-muted) !important; }
1175/* link colour alone is only 1.2:1 against this muted body text */
1176.reference p a { text-decoration: underline; }
1177
1178/* right-side card: keep triggers quiet so content stays the focus */
1179.linkto:after, .activelinkto:after { font-weight: 400; }
1180
1181/* ---- main content ---- */
1182.maincontent {
1183  background-color: var(--mwt-surface) !important;
1184  border: 1px solid var(--mwt-border);
1185  border-radius: var(--mwt-radius);
1186  box-shadow: var(--mwt-shadow);
1187}
1188
1189/* form card */
1190#c1 .ht, #c1 h2 { color: var(--mwt-text); }
1191.nt { color: var(--mwt-muted) !important; }
1192
1193/* inputs */
1194:where(input[type=number], input[type=text], select, textarea) {
1195  background-color: var(--mwt-surface) !important;
1196  color: var(--mwt-text) !important;
1197  border: 1px solid var(--mwt-border-strong) !important;
1198  border-radius: 10px !important;
1199  box-shadow: none !important;
1200  transition: border-color 0.15s ease, box-shadow 0.15s ease;
1201}
1202input[type=number]:focus, input[type=text]:focus, select:focus, textarea:focus {
1203  outline: none;
1204  border-color: var(--mwt-accent) !important;
1205  box-shadow: 0 0 0 3px var(--mwt-btn-ring) !important;
1206}
1207.w3-select, .w3-select:hover, .w3-select:focus { background-color: var(--mwt-surface); color: var(--mwt-text); }
1208.w3-input { background-color: var(--mwt-surface); color: var(--mwt-text); border-bottom: 1px solid var(--mwt-border-strong); }
1209#send-feedback textarea, #share-result textarea, #linkto textarea, #mytoolbox textarea, #surveystepform textarea {
1210  background-color: var(--mwt-surface) !important;
1211  color: var(--mwt-text) !important;
1212  border: 1px solid var(--mwt-border-strong) !important;
1213  border-radius: 10px;
1214}
1215.w3-check, .w3-radio, input[type=checkbox], input[type=radio], input[type=range] { accent-color: var(--mwt-accent); }
1216
1217/* ---- buttons ---- */
1218button, input[type=submit], .w3-btn, .surveystep.finish {
1219  background-color: var(--mwt-btn-primary);
1220  color: var(--mwt-on-accent);
1221  border-radius: 10px;
1222  font-weight: 600;
1223  transition: background-color 0.15s ease, transform 0.12s ease, box-shadow 0.15s ease;
1224}
1225button:hover, input[type=submit]:hover { background-color: var(--mwt-btn-primary-hover); opacity: 1; }
1226.w3-btn:hover { box-shadow: 0 6px 16px var(--mwt-btn-ring); transform: translateY(-1px); }
1227.w3-btn:active { transform: translateY(0); }
1228button:focus-visible, input[type=submit]:focus-visible, .w3-btn:focus-visible, .w3-button:focus-visible {
1229  outline: none;
1230  box-shadow: 0 0 0 3px var(--mwt-btn-ring);
1231}
1232.w3-green, .w3-hover-green:hover { background-color: var(--mwt-btn-primary) !important; color: var(--mwt-on-accent) !important; }
1233.w3-teal { background-color: var(--mwt-btn-secondary) !important; }
1234.w3-btn.w3-white, .w3-button.w3-white, button.w3-white {
1235  background-color: var(--mwt-surface) !important;
1236  color: var(--mwt-accent-text) !important;
1237  border: 1px solid var(--mwt-border-strong) !important;
1238}
1239.w3-btn.w3-white:hover, .w3-button.w3-white:hover {
1240  border-color: var(--mwt-accent) !important;
1241  background-color: var(--mwt-accent-soft) !important;
1242}
1243.w3-border-red { border-color: var(--mwt-border-strong) !important; }
1244.w3-btn .fa, .w3-button .fa, button .fa { color: inherit !important; }
1245.w3-btn svg, .w3-button svg, button svg { fill: currentColor; }
1246.bigbtn { border: 1px solid var(--mwt-border-strong) !important; background-color: var(--mwt-surface-2) !important; color: var(--mwt-text) !important; }
1247.w3-button:hover { color: var(--mwt-accent-text) !important; background-color: var(--mwt-accent-soft) !important; }
1248.w3-custom-banner { background-color: var(--mwt-accent-soft); border-radius: 12px; }
1249.w3-custom-banner-text { color: var(--mwt-text); }
1250.w3-custom-button { background-color: var(--mwt-accent); color: var(--mwt-on-accent); }
1251.w3-custom-button:hover { background-color: var(--mwt-accent-hover); }
1252
1253/* share circles: unified style instead of legacy brand colors */
1254.shareresult, .surveyshareresult {
1255  background: var(--mwt-accent-soft) !important;
1256  color: var(--mwt-accent-text) !important;
1257  border: 1px solid transparent;
1258  transition: background-color 0.15s ease, color 0.15s ease, transform 0.12s ease;
1259}
1260.shareresult:hover, .surveyshareresult:hover {
1261  background: var(--mwt-accent) !important;
1262  color: var(--mwt-on-accent) !important;
1263  opacity: 1;
1264  transform: translateY(-2px);
1265}
1266#share-result a, #surveyshare-buttons a { color: var(--mwt-accent-text) !important; }
1267#share-result a:hover, #surveyshare-buttons a:hover { color: var(--mwt-on-accent) !important; }
1268
1269/* ---- results: the payoff moment gets the jade accent ---- */
1270.r1, .r3 {
1271  background: var(--mwt-jade-soft);
1272  border: 1px solid var(--mwt-jade-border) !important;
1273  border-radius: 12px;
1274  color: var(--mwt-text);
1275  box-shadow: none !important;
1276}
1277.r1 { font-family: var(--mwt-display-font); font-weight: 700; }
1278.highlight { color: var(--mwt-jade-deep); }
1279
1280/* ---- tables ---- */
1281.dt, .st { border: 1px solid var(--mwt-border) !important; border-radius: 12px; overflow: hidden; box-shadow: none !important; }
1282.dt th, .st th { background: var(--mwt-accent-soft) !important; color: var(--mwt-accent-text) !important; border-bottom: 1px solid var(--mwt-border); }
1283.dt td { border-bottom: 1px solid var(--mwt-border); }
1284tr.tr1 { background: var(--mwt-surface-2) !important; }
1285tr.tr2 { background: var(--mwt-surface) !important; }
1286table { color: var(--mwt-text); }
1287.zl th, .m2 { background: var(--mwt-surface-2); border-bottom: 1px solid var(--mwt-border); }
1288.z6 { background: var(--mwt-surface-2); border-bottom: 1px solid var(--mwt-border); }
1289.zf, .zfo, .zl, .c2, .z4, .z5 { border-color: var(--mwt-border); }
1290.zft { background: var(--mwt-surface-2); }
1291.m2 li { border-right: 1px solid var(--mwt-border); }
1292.m2 li a { color: var(--mwt-muted); }
1293.m2 a.on:link, .m2 a.on:visited, .m2 a:hover, .m2 a:active { background: var(--mwt-accent-soft); color: var(--mwt-accent-text); }
1294
1295/* ---- badges ---- */
1296.featured-badge { background-color: var(--mwt-amber-soft); color: var(--mwt-amber); border-radius: 999px; font-weight: 600; }
1297.badge-new { background-color: var(--mwt-accent); color: var(--mwt-on-accent); }
1298.badge-featured { background-color: var(--mwt-amber); color: #ffffff; }
1299
1300/* ---- footer ---- */
1301footer.w3-panel, footer.w3-light-grey, #footer {
1302  background-color: transparent !important;
1303  color: var(--mwt-muted) !important;
1304  box-shadow: none !important;
1305  border: 0;
1306  border-top: 1px solid var(--mwt-border);
1307  border-radius: 0;
1308  opacity: 1 !important;
1309}
1310footer a { color: var(--mwt-muted) !important; }
1311footer a:hover { color: var(--mwt-accent-text) !important; }
1312
1313/* ---- misc legacy surfaces ---- */
1314.w3-light-grey { background-color: var(--mwt-surface-2) !important; color: var(--mwt-text) !important; }
1315.w3-white, .w3-hover-white:hover { background-color: var(--mwt-surface) !important; color: var(--mwt-text) !important; }
1316.content-section { color: var(--mwt-text); }
1317.surveymodal-content { background-color: var(--mwt-surface); color: var(--mwt-text); border-radius: var(--mwt-radius); }
1318.surveymodal-body { background-color: var(--mwt-surface) !important; color: var(--mwt-text) !important; }
1319.surveystepcontainer { background-color: var(--mwt-surface); }
1320.loaderpdf { border-color: var(--mwt-surface-2); border-top-color: var(--mwt-accent); }
1321.sliderimg, .surveyslider { background: var(--mwt-border-strong); border-radius: 999px; }
1322.sliderimg::-webkit-slider-thumb { background: var(--mwt-accent); border-radius: 50%; }
1323.sliderimg::-moz-range-thumb { background: var(--mwt-accent); }
1324
1325/* dark mode is retired: hide the legacy JS-injected toggle */
1326#darkmode { display: none !important; }
1327
1328/* ---- share menu: text-only entries, consistent alignment ---- */
1329#secondbar .w3-dropdown-content i.fa { display: none !important; }
1330#secondbar .w3-dropdown-content a.w3-bar-item { display: block; }
1331
1332/* ---- extra glyphs for result share circles (FA 4.3 webfont already loaded) ---- */
1333.fa-mwt-reddit:before { content: "\f1a1"; }
1334.fa-mwt-send:before { content: "\f1d8"; }
1335.fa-mwt-link:before { content: "\f0c1"; }
1336.fa-mwt-check:before { content: "\f00c"; }
1337.shareresult.mwt-copied { background: var(--mwt-jade) !important; color: #ffffff !important; }
1338
1339/* ---- related tools: contextual card at the top of the sidebar (tool pages) ---- */
1340#side-related {
1341  margin: 12px 8px 16px;
1342  padding: 10px 8px 8px;
1343  background: linear-gradient(180deg, rgba(90, 69, 230, 0.07), rgba(90, 69, 230, 0.02));
1344  border: 1px solid rgba(90, 69, 230, 0.14);
1345  border-radius: 12px;
1346}
1347.mwt-rel-eyebrow, #mwt-rel-panel .mwt-rel-title {
1348  font-family: var(--mwt-display-font);
1349  font-size: 11px;
1350  font-weight: 800;
1351  letter-spacing: 0.09em;
1352  text-transform: uppercase;
1353  color: var(--mwt-accent-text);
1354}
1355.mwt-rel-eyebrow { margin: 2px 8px 8px; }
1356#sidebar1 a.mwt-rel-current {
1357  display: flex !important;
1358  align-items: center;
1359  gap: 9px;
1360  white-space: normal;
1361  overflow-wrap: anywhere;
1362  background: var(--mwt-surface) !important;
1363  border: 1px solid rgba(90, 69, 230, 0.22);
1364  border-radius: 10px;
1365  font-family: var(--mwt-display-font);
1366  font-weight: 700;
1367  color: var(--mwt-text) !important;
1368  box-shadow: 0 1px 2px rgba(25, 24, 49, 0.06);
1369  margin-bottom: 4px;
1370}
1371#sidebar1 a.mwt-rel-current:hover {
1372  background: var(--mwt-surface) !important;
1373  color: var(--mwt-text) !important;
1374}
1375#sidebar1 a.mwt-rel-current::before {
1376  content: "";
1377  flex: 0 0 auto;
1378  width: 9px;
1379  height: 9px;
1380  border-radius: 3px;
1381  background: var(--mwt-jade);
1382}
1383#side-related .mwt-rel-list a {
1384  padding: 8px 10px !important;
1385  border-radius: 9px;
1386  white-space: normal;
1387  overflow-wrap: anywhere;
1388}
1389@media screen and (max-width: 993px) { #side-related { display: none; } }
1390
1391/* ---- guides: own card above the related-tools card (articles, not tools) ---- */
1392#side-guides {
1393  margin: 12px 8px 0;
1394  padding: 10px 8px 8px;
1395  background: linear-gradient(180deg, rgba(16, 141, 106, 0.08), rgba(16, 141, 106, 0.02));
1396  border: 1px solid rgba(16, 141, 106, 0.18);
1397  border-radius: 12px;
1398}
1399#side-guides .mwt-guide-eyebrow {
1400  font-family: var(--mwt-display-font);
1401  font-size: 11px;
1402  font-weight: 800;
1403  letter-spacing: 0.09em;
1404  text-transform: uppercase;
1405  color: var(--mwt-jade);
1406  margin: 2px 8px 8px;
1407}
1408#sidebar1 a.mwt-guide-item, #mwt-rel-panel a.mwt-guide-item {
1409  display: flex !important;
1410  align-items: flex-start;
1411  gap: 8px;
1412  padding: 8px 10px !important;
1413  border-radius: 9px;
1414  white-space: normal;
1415  overflow-wrap: anywhere;
1416  background: var(--mwt-surface) !important;
1417  border: 1px solid rgba(16, 141, 106, 0.20);
1418  color: var(--mwt-text) !important;
1419  margin-bottom: 4px;
1420}
1421#sidebar1 a.mwt-guide-item:hover, #mwt-rel-panel a.mwt-guide-item:hover {
1422  border-color: var(--mwt-jade);
1423  color: var(--mwt-text) !important;
1424}
1425a.mwt-guide-item::before {
1426  content: "";
1427  flex: 0 0 auto;
1428  width: 9px;
1429  height: 9px;
1430  margin-top: 5px;
1431  border-radius: 50%;
1432  background: var(--mwt-jade);
1433}
1434@media screen and (max-width: 993px) { #side-guides { display: none; } }
1435#mwt-rel-panel .mwt-guide-title { color: var(--mwt-jade); }
1436
1437/* ---- related tools: mobile top-bar toggle + slide-down menu ---- */
1438#mwt-rel-btn {
1439  padding: 8px 10px !important;
1440  border-radius: 12px !important;
1441  background: var(--mwt-header-pill) !important;
1442  border: 1px solid rgba(255, 255, 255, 0.18);
1443  color: var(--mwt-on-header) !important;
1444  display: inline-flex;
1445  align-items: center;
1446}
1447#mwt-rel-btn svg { width: 18px !important; height: 18px !important; }
1448#mwt-rel-panel {
1449  display: none;
1450  position: absolute;
1451  top: 100%;
1452  left: 0;
1453  right: 0;
1454  background: var(--mwt-surface);
1455  border-bottom: 1px solid var(--mwt-border);
1456  border-radius: 0 0 var(--mwt-radius) var(--mwt-radius);
1457  box-shadow: var(--mwt-shadow-pop);
1458  padding: 4px 0 6px;
1459  max-height: 62vh;
1460  overflow-y: auto;
1461  overscroll-behavior: contain;
1462  -webkit-overflow-scrolling: touch;
1463}
1464#mwt-rel-panel.show { display: block; animation: mwtRelDown 0.22s ease; }
1465@keyframes mwtRelDown {
1466  from { opacity: 0; transform: translateY(-10px); }
1467  to { opacity: 1; transform: none; }
1468}
1469#mwt-rel-panel .mwt-rel-title { margin: 12px 18px 6px; }
1470#mwt-rel-panel a.w3-button {
1471  display: flex !important;
1472  align-items: center;
1473  justify-content: space-between;
1474  gap: 10px;
1475  width: 100%;
1476  box-sizing: border-box;
1477  text-align: left;
1478  white-space: normal;
1479  padding: 13px 18px !important;
1480  background: transparent !important;
1481  color: var(--mwt-text) !important;
1482  font-weight: 500;
1483  border-bottom: 1px solid var(--mwt-border);
1484  border-radius: 0;
1485}
1486#mwt-rel-panel a.w3-button:last-child { border-bottom: 0; }
1487#mwt-rel-panel a.w3-button::after {
1488  content: "\203A";
1489  flex: 0 0 auto;
1490  color: var(--mwt-border-strong);
1491  font-size: 20px;
1492  line-height: 1;
1493}
1494#mwt-rel-panel a.w3-button:hover, #mwt-rel-panel a.w3-button:active {
1495  background: var(--mwt-accent-soft) !important;
1496  color: var(--mwt-accent-text) !important;
1497}
1498</style>
1499<script>
1500
1501(function () {
1502  try { localStorage.setItem('preferredpagemode', 'light'); } catch (e) {}
1503
1504  var LOGO =
1505    '<svg width="180" height="32" viewBox="0 0 180 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">' +
1506    '<defs><linearGradient id="mwt-lg" x1="0" y1="0" x2="1" y2="1">' +
1507    '<stop offset="0" stop-color="#6a55f0"/><stop offset="1" stop-color="#4836c4"/>' +
1508    '</linearGradient></defs>' +
1509    '<rect x="1" y="3" width="26" height="26" rx="7" fill="url(#mwt-lg)"/>' +
1510    '<rect x="6.5" y="8.5" width="6.5" height="6.5" rx="2" fill="#ffffff" opacity="0.95"/>' +
1511    '<rect x="15" y="8.5" width="6.5" height="6.5" rx="2" fill="#ffffff" opacity="0.55"/>' +
1512    '<rect x="6.5" y="17" width="6.5" height="6.5" rx="2" fill="#ffffff" opacity="0.55"/>' +
1513    '<rect x="15" y="17" width="6.5" height="6.5" rx="3.25" fill="#2fd39b"/>' +
1514    '<text x="33" y="23.5" font-family="\'Bricolage Grotesque\',\'Segoe UI\',Arial,sans-serif" font-size="20" font-weight="700" letter-spacing="-0.3">' +
1515    '<tspan fill="#1c1b2e">mini</tspan><tspan fill="#5a45e6">Webtool</tspan>' +
1516    '</text></svg>';
1517
1518  function injectLogo() {
1519    var logo = document.getElementById('i1n');
1520    if (logo) {
1521      if (!logo.querySelector('svg')) { logo.innerHTML = LOGO; }
1522      return true;
1523    }
1524    return false;
1525  }
1526
1527  (function early() {
1528    if (injectLogo() || document.readyState !== 'loading') { return; }
1529    requestAnimationFrame(early);
1530  })();
1531
1532  if (document.readyState === 'loading') {
1533    document.addEventListener('DOMContentLoaded', injectLogo);
1534  } else {
1535    injectLogo();
1536  }
1537})();
1538</script>
vendor: 1 bytes, line 1538
1538
1539<script defer src="/js/mwt-share.v1.js?v=6ab370e1"></script>
vendor: 1 bytes, line 1539
1539
1540<script>
1541(function () {
1542  function setOpen(open) {
1543    var p = document.getElementById('mwt-rel-panel');
1544    if (!p) { return; }
1545    p.classList.toggle('show', open);
1546    var b = document.getElementById('mwt-rel-btn');
1547    if (b) { b.setAttribute('aria-expanded', open ? 'true' : 'false'); }
1548  }
1549  window.mwtToggleRelated = function () {
1550    var p = document.getElementById('mwt-rel-panel');
1551    if (p) { setOpen(!p.classList.contains('show')); }
1552  };
1553  document.addEventListener('click', function (e) {
1554    var p = document.getElementById('mwt-rel-panel');
1555    if (!p || !p.classList.contains('show')) { return; }
1556    if (e.target.closest && (e.target.closest('#mwt-rel-panel') || e.target.closest('#mwt-rel-btn'))) { return; }
1557    setOpen(false);
1558  });
1559  document.addEventListener('keydown', function (e) {
1560    if (e.key === 'Escape') { setOpen(false); }
1561  });
1562})();
1563</script>
1563
1564
1565<script>
1566(function () {
1567  try {
1568    var d = navigator.userAgentData, u = navigator.userAgent || "";
1569    var chromium = (d && d.brands && d.brands.length)
1570      ? d.brands.some(function (b) { return b.brand === "Chromium"; })
1571      : (/Chrome\/|Chromium\//.test(u) && !/Firefox|FxiOS/.test(u));
1572    if (!chromium) { document.documentElement.className += " mwt-no-cws"; }
1573  } catch (e) {}
1574})();
1575</script>
1575
1576<style>html.mwt-no-cws .mwt-ext-link, html.mwt-no-cws #chrome-extension-prompt { display: none !important; }</style>
1577
1578<style>#firsttitle .mwt-since { font-weight: 600; }
1579@media (max-width: 1200px) { #firsttitle .mwt-tagline-stat { display: none; } }</style>
1580
1581<style>.mwt-since-badge {
1582  display: inline-flex;
1583  align-items: center;
1584  gap: 5px;
1585  padding: 4px 10px;
1586  border-radius: 999px;
1587  background: #EDE9FE;
1588  border: 1px solid #DDD6FE;
1589  color: #4C1D95;
1590  font-size: 12px;
1591  font-weight: 700;
1592  line-height: 1;
1593  white-space: nowrap;
1594}
1595.mwt-since-badge svg { width: 13px; height: 13px; flex-shrink: 0; }
1596body.darkpagetheme .mwt-since-badge { background: #312E81; border-color: #4338CA; color: #E0E7FF; }
1597@media (max-width: 993px) { #firsttitle { display: flex; align-items: center; justify-content: flex-end; gap: 10px; } }
1598@media (max-width: 359px) { .mwt-since-badge { display: none; } }</style>
1599
1600
1601
1602<style id="mwt-featured-badge-tip-style">.mwt-featured-tool h1.print.mwt-featured-badge-ready::after{content:none}.mwt-featured-badge{display:inline-block;position:relative;vertical-align:middle;background:gold;color:#111;padding:2px 8px;border-radius:3px;font-size:.5em;line-height:1.4;margin-left:10px;white-space:nowrap;font-weight:600;cursor:help}.mwt-featured-badge:focus{outline:2px solid #1d4ed8;outline-offset:3px}.mwt-featured-tip{position:absolute;z-index:1000;top:calc(100% + 9px);left:50%;transform:translate(-50%,-3px);width:max-content;max-width:min(320px,80vw);padding:7px 10px;border-radius:6px;background:#111;color:#fff;font-size:.85rem;font-weight:500;line-height:1.35;letter-spacing:0;white-space:normal;box-shadow:0 4px 14px rgba(0,0,0,.28);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.mwt-featured-tip::before{content:"";position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-bottom-color:#111}.mwt-featured-badge:hover .mwt-featured-tip,.mwt-featured-badge:focus .mwt-featured-tip{opacity:1;visibility:visible;transform:translate(-50%,0)}@media (prefers-reduced-motion:reduce){.mwt-featured-tip{transition:none}}</style></head> <body itemscope itemtype="http://schema.org/WebPage" class="mwt-noads"> <div id="dSpace"></div> <div id="topbar"> <div id="firstbar" class="w3-row flex-container w3-white w3-padding"> <div class="w3-quarter w3-white" style="padding-top:.5em;"><a href="/" id=i1n aria-label="MiniWebtool.com"></a></div> <div id="firsttitle" class="w3-right "> <div class="w3-bar w3-white"> <div class="w3-margin-top w3-margin-right w3-wide desktoponly no-wrap"><span class="mwt-since">Since 2010</span><span class="mwt-tagline-stat"> &middot; Powering 2M+ tool runs every month</span></div> </div> <span class="mwt-since-badge mobileonly"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M8.603 3.799A4.49 4.49 0 0 1 12 2.25c1.357 0 2.573.6 3.397 1.549a4.49 4.49 0 0 1 3.498 1.307 4.491 4.491 0 0 1 1.307 3.497A4.49 4.49 0 0 1 21.75 12a4.49 4.49 0 0 1-1.549 3.397 4.491 4.491 0 0 1-1.307 3.497 4.491 4.491 0 0 1-3.497 1.307A4.49 4.49 0 0 1 12 21.75a4.49 4.49 0 0 1-3.397-1.549 4.49 4.49 0 0 1-3.498-1.306 4.491 4.491 0 0 1-1.307-3.498A4.49 4.49 0 0 1 2.25 12c0-1.357.6-2.573 1.549-3.397a4.49 4.49 0 0 1 1.307-3.497 4.49 4.49 0 0 1 3.497-1.307Zm7.007 6.387a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z" clip-rule="evenodd" /></svg>Since 2010</span> </div> </div> <div id="secondbar" class="flex-container w3-black w3-padding"> <div id="navbutton" class="flex-left w3-black desktoponly">  </div><div class="flex-center"><input type="text" class="search-box" id="searchInput" placeholder="Search 1,920+ tools..." autocomplete="off"><a href="javascript:void(0)" title="Search" onclick="doSearch()"><span class="search-icon">
1603                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="18" height="18">
1604                  <path fill-rule="evenodd" d="M10.5 3.75a6.75 6.75 0 1 0 0 13.5 6.75 6.75 0 0 0 0-13.5ZM2.25 10.5a8.25 8.25 0 1 1 14.59 5.28l4.69 4.69a.75.75 0 1 1-1.06 1.06l-4.69-4.69A8.25 8.25 0 0 1 2.25 10.5Z" clip-rule="evenodd" />
1605                </svg>
1606            </span></a> <div id="suggestions" class="suggestions"></div> </div> <div class="flex-right w3-right"> <a href="https://chromewebstore.google.com/detail/miniwebtool/ecfilieagpfognifbnjagkcfpmffeelh" class="w3-bar-item w3-button w3-hover-green desktoponly mwt-ext-link" data-url="https://chromewebstore.google.com/detail/miniwebtool/ecfilieagpfognifbnjagkcfpmffeelh" data-title="Install MiniWebtool Chrome Extension" onclick="return openShareWindow(this, 1249, 625);" title="Install MiniWebtool Chrome Extension">Add to Chrome</a>  <style>
1607.linkto:after { content: '\002B'; }
1608.activelinkto:after { content: '\2212'; }
1609
1610.mwt-tb-wrap { position: relative; display: inline-block; }
1611
1612.mwt-tb-trigger {
1613  display: inline-flex !important;
1614  align-items: center;
1615  gap: 6px;
1616  white-space: nowrap;
1617}
1618
1619.mwt-tb-trigger.linkto:after,
1620.mwt-tb-trigger.activelinkto:after {
1621  content: '';
1622  margin: 0;
1623  float: none;
1624}
1625
1626.mwt-tb-badge {
1627  display: inline-flex;
1628  align-items: center;
1629  justify-content: center;
1630  min-width: 18px;
1631  height: 18px;
1632  padding: 0 5px;
1633  border-radius: 999px;
1634  background: linear-gradient(135deg, #7c4dff, #4a90e2);
1635  color: #fff;
1636  font-size: 11px;
1637  font-weight: 700;
1638  line-height: 1;
1639}
1640
1641.mwt-tb-panel {
1642  position: absolute;
1643  top: calc(100% + 10px);
1644  right: 0;
1645  z-index: 1200;
1646  width: 320px;
1647  max-width: calc(100vw - 24px);
1648  padding: 14px;
1649  text-align: left;
1650  background: var(--mwt-surface, #fff);
1651  color: var(--mwt-text, #0f172a);
1652  border: 1px solid var(--mwt-border, rgba(15, 23, 42, 0.1));
1653  border-radius: 14px;
1654  box-shadow: 0 24px 48px -20px rgba(15, 23, 42, 0.45);
1655}
1656
1657.mwt-tb-panel #mytoollist ul { max-height: 260px; }
1658
1659
1660.mwt-tb-label {
1661  margin: 0 0 6px;
1662  font-size: 11px;
1663  letter-spacing: 0.08em;
1664  text-transform: uppercase;
1665  color: rgba(15, 23, 42, 0.5);
1666}
1667
1668.mwt-tb-panel textarea {
1669  width: 100%;
1670  height: 88px;
1671  padding: 8px 10px;
1672  box-sizing: border-box;
1673  border: 1px solid var(--mwt-border, rgba(15, 23, 42, 0.15));
1674  border-radius: 10px;
1675  background: rgba(15, 23, 42, 0.02);
1676  color: var(--mwt-text, #0f172a);
1677  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
1678  font-size: 12px;
1679  resize: none;
1680}
1681
1682.mwt-tb-btn {
1683  display: block;
1684  width: 100%;
1685  margin-top: 8px;
1686  padding: 9px 12px;
1687  border: none;
1688  border-radius: 10px;
1689  background: linear-gradient(135deg, rgba(124, 77, 255, 0.95), rgba(74, 144, 226, 0.95));
1690  color: #fff !important;
1691  font-size: 14px;
1692  font-weight: 600;
1693  text-align: center;
1694  text-decoration: none;
1695  cursor: pointer;
1696}
1697
1698
1699.mwt-topbar-pro {
1700  margin-left: 6px;
1701  border-radius: 8px;
1702  background: linear-gradient(135deg, #7c4dff, #4a90e2) !important;
1703  color: #fff !important;
1704  font-weight: 600;
1705}
1706
1707#secondbar .mwt-tb-wrap > .mwt-tb-trigger {
1708  gap: 8px;
1709  border: 1px solid rgba(255, 255, 255, 0.18);
1710  border-radius: 12px !important;
1711  background: rgba(124, 77, 255, 0.22) !important;
1712  color: #fff !important;
1713}
1714
1715#secondbar .mwt-tb-wrap > .mwt-tb-trigger:hover,
1716#secondbar .mwt-tb-wrap > .mwt-tb-trigger:focus-visible {
1717  background: rgba(124, 77, 255, 0.32) !important;
1718  color: #fff !important;
1719}
1720
1721.mwt-tb-empty {
1722  margin: 8px 0 0;
1723  font-size: 13px;
1724  line-height: 1.5;
1725  color: var(--mwt-muted, rgba(15, 23, 42, 0.6));
1726}
1727
1728
1729#secondbar #mytoolbox a {
1730  color: var(--mwt-link, #4836c4) !important;
1731}
1732
1733#secondbar #mytoolbox a:hover {
1734  text-decoration: underline;
1735}
1736</style>
1737
1738<style>
1739
1740#mytoolbox ul {
1741  padding: 0;
1742  margin: 0;
1743}
1744#mytoolbox ul{max-height:300px; width:100%;}
1745#mytoolbox ul{overflow:hidden; overflow-y:auto; scrollbar-width: thin;}
1746
1747
1748#mytoolbox ul li {
1749  cursor: pointer;
1750  position: relative;
1751  padding: 10px 10px;
1752  list-style-type: none;
1753  background: transparent;
1754  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
1755  transition: 0.2s;
1756
1757  -webkit-user-select: none;
1758  -moz-user-select: none;
1759  -ms-user-select: none;
1760  user-select: none;
1761}
1762
1763
1764#mytoolbox ul li:nth-child(odd) {
1765  background: rgba(15, 23, 42, 0.02);
1766}
1767
1768
1769#mytoolbox ul li:hover {
1770  background: rgba(124, 77, 255, 0.08);
1771}
1772
1773
1774/* Style the closetoolbox button */
1775#mytoolbox  .closetoolbox {
1776  position: absolute;
1777  right: 0;
1778  top: 0;
1779  padding: 6px 6px 6px 6px;
1780}
1781
1782#mytoolbox .closetoolbox:hover {
1783  background-color: rgba(239, 68, 68, 0.12);
1784  color: #ef4444;
1785}
1786
1787
1788    .onoffswitch {
1789    vertical-align: middle;
1790        
1791        position: relative; width: 65px;
1792        -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
1793    }
1794    .onoffswitch-checkbox {
1795        position: absolute;
1796        opacity: 0;
1797        pointer-events: none;
1798    }
1799    .onoffswitch-label {
1800        display: block; overflow: hidden; cursor: pointer;
1801        border: 2px solid #999999; border-radius: 20px;
1802    }
1803    .onoffswitch-inner {
1804        display: block; width: 200%; margin-left: -100%;
1805        transition: margin 0.3s ease-in 0s;
1806    }
1807    .onoffswitch-inner:before, .onoffswitch-inner:after {
1808        display: block; float: left; width: 50%; height: 30px; padding: 0; line-height: 30px;
1809        font-size: 14px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold;
1810        box-sizing: border-box;
1811    }
1812    .onoffswitch-inner:before {
1813        content: "ON";
1814        padding-left: 10px;
1815        background-color: #34A7C1; color: #FFFFFF;
1816    }
1817    .onoffswitch-inner:after {
1818        content: "OFF";
1819        padding-right: 10px;
1820        background-color: #EEEEEE; color: #999999;
1821        text-align: right;
1822    }
1823    .onoffswitch-switch {
1824        display: block; width: 10px;height:10px; margin: 10px;
1825        background: #FFFFFF;
1826        position: absolute; top: 0; bottom: 0;
1827        right: 31px;
1828        border: 2px solid #999999; border-radius: 20px;
1829        transition: all 0.3s ease-in 0s; 
1830    }
1831    .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
1832        margin-left: 0;
1833    }
1834    .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
1835        right: 0px; 
1836    }
1837    .sliderWrapper{display: inline-block;margin:12px 12px 12px 12px;position:relative;}
1838    .sliderWrapper div{display: inline-block;line-height:60px;}
1839
1840    /* ---------- MiniWebtool friendly dialogs (modal + toast) ---------- */
1841    .mwt-modal-backdrop{
1842      position:fixed;inset:0;z-index:10000;
1843      background:rgba(15,23,42,.55);
1844      display:flex;align-items:center;justify-content:center;
1845      padding:20px;
1846      opacity:0;transition:opacity .18s ease;
1847      font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
1848      color:#0f172a;
1849    }
1850    .mwt-modal-backdrop.on{opacity:1}
1851    .mwt-modal{
1852      width:100%;max-width:420px;background:#fff;border-radius:16px;
1853      box-shadow:0 20px 60px -10px rgba(15,23,42,.35),0 8px 20px -8px rgba(15,23,42,.2);
1854      overflow:hidden;transform:translateY(8px) scale(.98);
1855      transition:transform .2s cubic-bezier(.2,.9,.3,1.2);
1856    }
1857    .mwt-modal-backdrop.on .mwt-modal{transform:translateY(0) scale(1)}
1858    .mwt-modal-head{
1859      padding:22px 24px 4px;display:flex;align-items:center;gap:12px;
1860    }
1861    .mwt-modal-icon{
1862      flex:0 0 40px;width:40px;height:40px;border-radius:50%;
1863      background:linear-gradient(135deg,#a78bfa,#6366f1);
1864      color:#fff;display:flex;align-items:center;justify-content:center;
1865      font-size:20px;font-weight:700;
1866    }
1867    .mwt-modal-title{
1868      margin:0;font-size:17px;font-weight:700;color:#0f172a;letter-spacing:-.005em;
1869    }
1870    .mwt-modal-body{
1871      padding:8px 24px 4px;color:#475569;font-size:14.5px;line-height:1.55;
1872    }
1873    .mwt-modal-body strong{color:#0f172a}
1874    .mwt-modal-foot{
1875      padding:18px 20px 20px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;
1876    }
1877    .mwt-modal-btn{
1878      padding:10px 18px;border-radius:10px;font-weight:600;font-size:14px;
1879      text-decoration:none;cursor:pointer;border:0;line-height:1.2;
1880      transition:filter .12s,transform .12s,background .12s;
1881    }
1882    .mwt-modal-btn.primary{
1883      background:linear-gradient(135deg,#6366f1,#7c4dff);color:#fff;
1884      box-shadow:0 4px 14px rgba(99,102,241,.3);
1885    }
1886    .mwt-modal-btn.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}
1887    .mwt-modal-btn.ghost{background:#f1f5f9;color:#334155}
1888    .mwt-modal-btn.ghost:hover{background:#e2e8f0}
1889    .mwt-modal-close{
1890      position:absolute;top:10px;right:12px;background:none;border:0;
1891      width:32px;height:32px;border-radius:8px;cursor:pointer;
1892      color:#556072;font-size:20px;line-height:1;
1893    }
1894    .mwt-modal-close:hover{background:#f1f5f9;color:#475569}
1895    .mwt-modal{position:relative}
1896    @media (max-width:480px){
1897      .mwt-modal-head{padding:20px 20px 4px}
1898      .mwt-modal-body{padding:8px 20px 4px}
1899      .mwt-modal-foot{padding:16px 16px 18px}
1900      .mwt-modal-btn{flex:1;text-align:center}
1901    }
1902
1903    /* toast — non-blocking info */
1904    .mwt-toast-wrap{
1905      position:fixed;z-index:10001;left:50%;bottom:32px;transform:translateX(-50%);
1906      display:flex;flex-direction:column;gap:8px;pointer-events:none;
1907    }
1908    .mwt-toast{
1909      background:#0f172a;color:#fff;padding:12px 18px;border-radius:10px;
1910      font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
1911      box-shadow:0 8px 24px -4px rgba(15,23,42,.35);
1912      max-width:90vw;opacity:0;transform:translateY(12px);
1913      transition:opacity .2s,transform .2s;pointer-events:auto;
1914    }
1915    .mwt-toast.on{opacity:1;transform:translateY(0)}
1916    .mwt-toast .tick{color:#86efac;margin-right:8px;font-weight:700}
1917</style>
1918
1919<div class="mwt-tb-wrap desktoponly">
1920<button type="button" onclick="linkto('mytoolbox')" class="w3-bar-item w3-button linkto mwt-tb-trigger" aria-haspopup="true" aria-controls="mytoolbox">
1921<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="16" height="16" aria-hidden="true"><path d="M4 7h16v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7Zm5-4h6a2 2 0 0 1 2 2v1H7V5a2 2 0 0 1 2-2Z"/></svg>
1922My Toolbox<span id="mwt-tb-count" class="mwt-tb-badge w3-hide">0</span>
1923</button>
1924<div id="mytoolbox" class="w3-hide mwt-tb-panel">
1925<p class="mwt-tb-label">My Toolbox</p>
1926
1927  
1928  
1929
1930<div id="mytoollist">
1931<ul id="myUL">
1932  
1933</ul>
1934</div>
1935<p id="mwt-tb-empty" class="mwt-tb-empty">No saved tools yet.</p>
1936</div>
1937</div>
1938
1939<script>
1940
1941(function(){
1942  if (window.mwtUpsellModal) return;  
1943  var lastFocus = null;
1944
1945  function closeModal(el){
1946    if (!el) return;
1947    el.classList.remove('on');
1948    setTimeout(function(){ if (el.parentNode) el.parentNode.removeChild(el); }, 200);
1949    document.removeEventListener('keydown', el._esc);
1950    if (lastFocus && lastFocus.focus) { try { lastFocus.focus(); } catch(e){} }
1951  }
1952
1953  window.mwtUpsellModal = function(opts){
1954    opts = opts || {};
1955    if (window.mwtCloseToolbox) window.mwtCloseToolbox();
1956    lastFocus = document.activeElement;
1957    var backdrop = document.createElement('div');
1958    backdrop.className = 'mwt-modal-backdrop';
1959    backdrop.setAttribute('role','dialog');
1960    backdrop.setAttribute('aria-modal','true');
1961    backdrop.setAttribute('aria-labelledby','mwt-modal-title');
1962    backdrop.innerHTML =
1963      '<div class="mwt-modal">' +
1964        '<button class="mwt-modal-close" aria-label="Close">&times;</button>' +
1965        '<div class="mwt-modal-head">' +
1966          '<div class="mwt-modal-icon" aria-hidden="true">' + (opts.icon || '★') + '</div>' +
1967          '<h3 class="mwt-modal-title" id="mwt-modal-title"></h3>' +
1968        '</div>' +
1969        '<div class="mwt-modal-body"></div>' +
1970        '<div class="mwt-modal-foot">' +
1971          '<button type="button" class="mwt-modal-btn ghost" data-act="cancel"></button>' +
1972          '<a class="mwt-modal-btn primary" data-act="ok"></a>' +
1973        '</div>' +
1974      '</div>';
1975    document.body.appendChild(backdrop);
1976    backdrop.querySelector('#mwt-modal-title').textContent = opts.title || '';
1977    backdrop.querySelector('.mwt-modal-body').innerHTML = opts.message || '';
1978    var cancelBtn = backdrop.querySelector('[data-act="cancel"]');
1979    var okBtn     = backdrop.querySelector('[data-act="ok"]');
1980    cancelBtn.textContent = opts.cancelText || 'Maybe later';
1981    okBtn.textContent = opts.primaryText || 'Upgrade';
1982    okBtn.href = opts.primaryHref || '/premium-subscription/';
1983    if (opts.primaryTarget) okBtn.target = opts.primaryTarget;
1984    if (opts.onPrimary) okBtn.addEventListener('click', function(ev){ opts.onPrimary(ev); });
1985
1986    function done(){ closeModal(backdrop); }
1987    cancelBtn.addEventListener('click', done);
1988    backdrop.querySelector('.mwt-modal-close').addEventListener('click', done);
1989    backdrop.addEventListener('click', function(e){ if (e.target === backdrop) done(); });
1990    backdrop._esc = function(e){ if (e.key === 'Escape') done(); };
1991    document.addEventListener('keydown', backdrop._esc);
1992
1993    requestAnimationFrame(function(){ backdrop.classList.add('on'); });
1994    setTimeout(function(){ try { okBtn.focus(); } catch(e){} }, 60);
1995    return backdrop;
1996  };
1997
1998  window.mwtToast = function(message, opts){
1999    opts = opts || {};
2000    var wrap = document.querySelector('.mwt-toast-wrap');
2001    if (!wrap){
2002      wrap = document.createElement('div');
2003      wrap.className = 'mwt-toast-wrap';
2004      document.body.appendChild(wrap);
2005    }
2006    var t = document.createElement('div');
2007    t.className = 'mwt-toast';
2008    t.setAttribute('role','status');
2009    t.innerHTML = (opts.tick !== false ? '<span class="tick">✓</span>' : '') + message;
2010    wrap.appendChild(t);
2011    requestAnimationFrame(function(){ t.classList.add('on'); });
2012    setTimeout(function(){
2013      t.classList.remove('on');
2014      setTimeout(function(){ if (t.parentNode) t.parentNode.removeChild(t); }, 220);
2015    }, opts.duration || 2400);
2016  };
2017})();
2018
2019function updatelocal() {
2020    var mytoollistElem = document.getElementById("mytoollist");
2021    if (mytoollistElem) {
2022        localStorage.setItem("mytoollist", mytoollistElem.innerHTML);
2023    }
2024}
2025
2026function initializeToolbox() {
2027    var text = localStorage.getItem("mytoollist");
2028    if (text !== null && text.toLowerCase().includes('miniwebtool')) {
2029        var mytoollistElem = document.getElementById("mytoollist");
2030        if (mytoollistElem) {
2031            mytoollistElem.innerHTML = text;
2032            var closetoolbox = document.getElementsByClassName("closetoolbox");
2033            for (var i = 0; i < closetoolbox.length; i++) {
2034                closetoolbox[i].onclick = function() {
2035                    var div = this.parentElement;
2036                    div.remove();
2037                    updatelocal();
2038                }
2039            }
2040        }
2041    }
2042}
2043
2044function initializeAutomaticMode() {
2045initializeToolbox();
2046mwtToolboxBadge(); 
2047}
2048
2049
2050
2051function newElement() {
2052  
2053  var i1 = document.getElementById("myUL").getElementsByTagName("li").length;
2054  if (i1>2) {
2055    mwtUpsellModal({
2056      icon: '★',
2057      title: "My Toolbox is full on Free",
2058      message: "Free accounts can keep <strong>3 favourites</strong> in My Toolbox. Upgrade to <strong>Pro</strong> or <strong>Premium</strong> to save as many as you like &mdash; plus Automatic Mode, which remembers every tool you use.",
2059      primaryText: "See plans",
2060      cancelText: "Not now",
2061      primaryHref: '/premium-subscription/?src=toolbox&from=_about/contact_'
2062    });
2063    var cb = document.getElementById("myonoffswitch");
2064    if (cb) cb.checked = false;
2065    setCookie('automaticmode', false, 365);
2066    return;
2067  }
2068  
2069  var inputValue = '<a href="https://MiniWebtool.com//"></a>';
2070  var ulcontent = document.getElementById("myUL").innerHTML;
2071  if (!ulcontent.toLowerCase().includes(inputValue.toLowerCase())){
2072  var li = document.createElement("li");
2073  li.innerHTML=inputValue;
2074  
2075    document.getElementById("myUL").appendChild(li);
2076  
2077  
2078
2079  var span = document.createElement("SPAN");
2080  var txt = document.createTextNode("\u00D7");
2081  span.className = "closetoolbox";
2082  span.title = "Remove the link";
2083  span.appendChild(txt);
2084  li.appendChild(span);
2085  var closetoolbox = document.getElementsByClassName("closetoolbox");
2086  var i;
2087
2088  for (i = 0; i < closetoolbox.length; i++) {
2089    closetoolbox[i].onclick = function() {
2090      var div = this.parentElement;
2091      div.remove();
2092      updatelocal();
2093    }
2094  }
2095  updatelocal();
2096}
2097else{
2098  if (!document.getElementById("myonoffswitch").checked){
2099    mwtToast(" is already in your toolbox");
2100  }
2101}
2102}
2103
2104
2105
2106function mytoolboxcheck() {
2107
2108
2109
2110  var checkBox = document.getElementById("myonoffswitch");
2111
2112  
2113    mwtUpsellModal({
2114      icon: '⚡',
2115      title: "Automatic Mode is a paid feature",
2116      message: "With <strong>Automatic Mode</strong>, every tool you use is silently added to My Toolbox &mdash; so it's already waiting the next time you need it. It's unlocked for <strong>Pro</strong> and <strong>Premium</strong> subscribers.",
2117      primaryText: "See plans",
2118      cancelText: "Not now",
2119      primaryHref: '/premium-subscription/?src=automode&from=_about/contact_'
2120    });
2121    checkBox.checked = false;
2122    setCookie('automaticmode', false, 365);
2123    return;
2124  
2125
2126  var text = document.getElementById("addtoolbox");
2127  if (checkBox.checked == true){
2128    text.style.display = "none";
2129    checkBox.checked = true;
2130    
2131  } else {
2132     text.style.display = "block";
2133     checkBox.checked = false;
2134  }
2135  setCookie('automaticmode',checkBox.checked,365);
2136  updatelocal();
2137}
2138function mwtToolboxBadge() {
2139  var list = document.getElementById("mytoollist");
2140  var badge = document.getElementById("mwt-tb-count");
2141  if (!list || !badge) return;
2142  var n = list.getElementsByTagName("li").length;
2143  badge.textContent = n;
2144  if (n > 0) { badge.classList.remove("w3-hide"); } else { badge.classList.add("w3-hide"); }
2145  var empty = document.getElementById("mwt-tb-empty");
2146  if (empty) {
2147    if (n > 0) { empty.classList.add("w3-hide"); } else { empty.classList.remove("w3-hide"); }
2148  }
2149}
2150
2151(function () {
2152  function watch() {
2153    var list = document.getElementById("mytoollist");
2154    if (!list) return;
2155    mwtToolboxBadge();
2156    if (window.MutationObserver) {
2157      new MutationObserver(mwtToolboxBadge).observe(list, { childList: true, subtree: true });
2158    }
2159  }
2160  if (document.readyState === "loading") {
2161    document.addEventListener("DOMContentLoaded", watch);
2162  } else {
2163    watch();
2164  }
2165})();
2166
2167(function () {
2168  function closeToolbox() {
2169    var panel = document.getElementById("mytoolbox");
2170    if (!panel || panel.className.indexOf("w3-show") === -1) return;
2171    panel.className = panel.className.replace(" w3-show", "").replace("w3-show", "");
2172    var trigger = document.querySelector(".mwt-tb-trigger");
2173    if (trigger) trigger.className = trigger.className.replace("activelinkto", "linkto");
2174  }
2175  window.mwtCloseToolbox = closeToolbox;
2176  document.addEventListener("click", function (e) {
2177    var wrap = document.querySelector(".mwt-tb-wrap");
2178    if (wrap && !wrap.contains(e.target)) closeToolbox();
2179  }, true);
2180  document.addEventListener("keydown", function (e) {
2181    if (e.key === "Escape" || e.key === "Esc") closeToolbox();
2182  });
2183})();
2184</script>
2184
2185 <a rel="nofollow" href="/premium-subscription/?src=topbar&amp;from=_about/contact_" data-mwt-upgrade-cta="topbar" onclick="if(typeof gtag==='function'){gtag('event','begin_checkout',{source_tool:'_about/contact_',tier:'topbar'});}" class="w3-bar-item w3-button desktoponly mwt-topbar-pro" style="text-decoration:none;">Go Premium</a> <div class="w3-dropdown-hover w3-black"> <button class="w3-button w3-hover-green" title="Share" aria-label="Share"><span class="desktoponly">Share </span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="svg-inline svg-ml-1">
2186                  <path fill-rule="evenodd" d="M15.75 4.5a3 3 0 1 1 .825 2.066l-8.421 4.623a3.733 3.733 0 0 0 0 1.622l8.421 4.623A3 3 0 1 1 15.75 19.5a2.999 2.999 0 0 1-.825-2.066l-8.421-4.623a3.733 3.733 0 0 0 0-1.622l8.421-4.623A3 3 0 0 1 15.75 4.5Z" clip-rule="evenodd" />
2187                </svg></button> <div style="display:none" class="w3-dropdown-content w3-bar-block w3-border"> <a href="#" data-url="mailto:?subject=&body=Please checkout this tool:&nbsp;https://MiniWebtool.com/about/contact/" data-title="Email" onclick="return openShareWindow(this, 500, 500);" title="Share it via Email" class="w3-bar-item w3-button w3-hover-green w3-black"><i class="fa fa-envelope-o"></i> Email</a> <a href="#" data-url="http://www.facebook.com/sharer.php?u=https://MiniWebtool.com/about/contact/" data-title="Facebook" onclick="return openShareWindow(this, 600, 600);" title="Share it on facebook" class="w3-bar-item w3-button w3-hover-green w3-black"><i class="fa fa-facebook"></i> Facebook</a> <a href="#" data-url="https://x.com/share?url=https://MiniWebtool.com/about/contact/" data-title="X" onclick="return openShareWindow(this, 600, 600);" title="Share it on X" class="w3-bar-item w3-button w3-hover-green w3-black"><i class="fa fa-twitter"></i> X</a> <a href="#" data-url="http://www.linkedin.com/shareArticle?mini=true&amp;url=https://MiniWebtool.com/about/contact/" data-title="LinkedIn" onclick="return openShareWindow(this, 600, 600);" title="Share it on linkedin" class="w3-bar-item w3-button w3-hover-green w3-black"><i class="fa fa-linkedin"></i> LinkedIn</a> </div> </div> 
2187<script> function openShareWindow(element, w, h) { const url = element.getAttribute('data-url'); const title = element.getAttribute('data-title'); const left = (screen.width/2)-(w/2); const top = (screen.height/2)-(h/2); window.open(url, title, 'toolbar=1, location=0, directories=0, status=0, menubar=0, scrollbars=0, resizable=0, copyhistory=0, width='+w+', height='+h+', top='+top+', left='+left); return false; } </script>
2187 
2188<a href="javascript:bookmark();" class="w3-bar-item w3-button desktoponly" title="Bookmark this page"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
2189              <path fill-rule="evenodd" d="M6.32 2.577a49.255 49.255 0 0 1 11.36 0c1.497.174 2.57 1.46 2.57 2.93V21a.75.75 0 0 1-1.085.67L12 18.089l-7.165 3.583A.75.75 0 0 1 3.75 21V5.507c0-1.47 1.073-2.756 2.57-2.93Z" clip-rule="evenodd" />
2190            </svg></a> </div> </div>  </div> <div id="bc" class="mobileonly"><div class="w z3 f6"></div></div>  <div class="main"> 
2191
2192<div class="bg-slate-50 min-h-screen">
2193    
2194    <div class="gradient-bg min-h-screen flex items-center justify-center relative overflow-hidden">
2195        <div class="absolute inset-0 bg-black opacity-20"></div>
2196        
2197        
2198        <div class="absolute top-20 left-20 w-32 h-32 bg-white opacity-10 rounded-full floating-animation"></div>
2199        <div class="absolute bottom-32 right-32 w-24 h-24 bg-white opacity-10 rounded-full floating-animation" style="animation-delay: -2s;"></div>
2200        <div class="absolute top-1/2 left-10 w-16 h-16 bg-white opacity-10 rounded-full floating-animation" style="animation-delay: -4s;"></div>
2201        
2202        <div class="container mx-auto px-4 sm:px-6 relative z-10"> 
2203            <div class="text-center max-w-4xl mx-auto">
2204                <div class="glass-effect p-6 sm:p-8 rounded-3xl backdrop-blur-xl"> 
2205                    <h1 class="text-5xl sm:text-6xl md:text-8xl font-bold text-white mb-6 leading-tight"> 
2206                        Mini<span class="text-yellow-300">Webtool</span>
2207                    </h1>
2208                    <p class="text-lg sm:text-xl md:text-2xl text-white/90 mb-8 font-light"> 
2209                        Your Trusted Partner for Smart Online Solutions Since 2010
2210                    </p>
2211                    <div class="flex items-center justify-center space-x-2 text-white/80 mb-8">
2212                        <div class="w-3 h-3 bg-green-400 rounded-full pulse-animation"></div>
2213                        <span class="text-base sm:text-lg">Powered by Cosy Touch Limited</span> 
2214                    </div>
2215                    <button onclick="scrollToContent()" class="bg-white text-slate-900 px-6 py-3 sm:px-8 sm:py-4 rounded-full font-semibold text-base sm:text-lg hover:bg-opacity-90 transition-all duration-300 hover:scale-105 shadow-2xl"> 
2216                        Explore Our Journey
2217                    </button>
2218                </div>
2219            </div>
2220        </div>
2221    </div>
2222
2223    <div class="container mx-auto px-4 sm:px-6 py-16 sm:py-20" id="content"> 
2224        <section class="mb-16 sm:mb-20"> 
2225            <div class="text-center mb-12 sm:mb-16"> 
2226                <h2 class="text-4xl sm:text-5xl font-bold text-gradient mb-6">Our Journey & Commitment</h2> 
2227                <div class="w-24 h-1 bg-gradient-to-r from-blue-500 to-purple-600 mx-auto rounded-full"></div>
2228            </div>
2229            
2230            <div class="grid md:grid-cols-2 gap-8 md:gap-12 items-center"> 
2231                <div class="space-y-6">
2232                    <p class="text-base sm:text-lg text-slate-700 leading-relaxed"> 
2233                        Since 2010, Cosy Touch Limited has built practical online calculators, converters, and utilities for everyday users, students, developers, and businesses. MiniWebtool now brings together more than 1,920 tools, with new and updated tools added regularly.
2234                    </p>
2235                    
2236                    <div class="space-y-4">
2237                        <div class="flex items-start space-x-4">
2238                            <div class="w-12 h-12 bg-blue-100 rounded-xl flex items-center justify-center flex-shrink-0">
2239                                <svg class="w-6 h-6 text-blue-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2240                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
2241                                </svg>
2242                            </div>
2243                            <div>
2244                                <h3 class="font-semibold text-slate-900 mb-1 text-md sm:text-lg">Utility & Simplicity</h3> 
2245                                <p class="text-slate-600 text-sm sm:text-base">Tools that are genuinely useful and incredibly intuitive</p> 
2246                            </div>
2247                        </div>
2248                        
2249                        <div class="flex items-start space-x-4">
2250                            <div class="w-12 h-12 bg-green-100 rounded-xl flex items-center justify-center flex-shrink-0">
2251                                <svg class="w-6 h-6 text-green-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2252                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
2253                                </svg>
2254                            </div>
2255                            <div>
2256                                <h3 class="font-semibold text-slate-900 mb-1 text-md sm:text-lg">Reliability & Accuracy</h3> 
2257                                <p class="text-slate-600 text-sm sm:text-base">Accurate results and reliable performance, every time</p> 
2258                            </div>
2259                        </div>
2260                        
2261                        <div class="flex items-start space-x-4">
2262                            <div class="w-12 h-12 bg-purple-100 rounded-xl flex items-center justify-center flex-shrink-0">
2263                                <svg class="w-6 h-6 text-purple-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2264                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9v-9m0-9v9"></path>
2265                                </svg>
2266                            </div>
2267                            <div>
2268                                <h3 class="font-semibold text-slate-900 mb-1 text-md sm:text-lg">Global Accessibility</h3> 
2269                                <p class="text-slate-600 text-sm sm:text-base">Designed for users from all walks of life worldwide</p> 
2270                            </div>
2271                        </div>
2272                        
2273                        <div class="flex items-start space-x-4">
2274                            <div class="w-12 h-12 bg-orange-100 rounded-xl flex items-center justify-center flex-shrink-0">
2275                                <svg class="w-6 h-6 text-orange-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2276                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
2277                                </svg>
2278                            </div>
2279                            <div>
2280                                <h3 class="font-semibold text-slate-900 mb-1 text-md sm:text-lg">Continuous Improvement</h3> 
2281                                <p class="text-slate-600 text-sm sm:text-base">Constantly enhancing our offerings based on feedback</p> 
2282                            </div>
2283                        </div>
2284                    </div>
2285                </div>
2286                
2287                <div class="relative mt-8 md:mt-0">
2288                    <div class="bg-gradient-to-br from-blue-500 to-purple-600 rounded-3xl p-6 sm:p-8 text-white transform md:rotate-3 hover:rotate-0 transition-all duration-300"> 
2289                        <div class="text-center">
2290                            <div class="text-5xl sm:text-6xl font-bold mb-2">16+</div> 
2291                            <div class="text-lg sm:text-xl font-medium mb-4">Years Building Tools</div> 
2292                            <div class="text-xs sm:text-sm opacity-90">Since 2010, we've focused on fast, useful tools that solve real tasks</div> 
2293                        </div>
2294                    </div>
2295                </div>
2296            </div>
2297        </section>
2298
2299        <section class="mb-16 sm:mb-20"> 
2300            <div class="text-center mb-12 sm:mb-16"> 
2301                <h2 class="text-4xl sm:text-5xl font-bold text-gradient mb-6">What We Offer</h2> 
2302                <p class="text-lg sm:text-xl text-slate-600 max-w-3xl mx-auto mb-8"> 
2303                    An ever-expanding collection of 1,920+ online utilities, organized so you can quickly find the right calculator, converter, generator, or productivity tool.
2304                </p>
2305                <div class="w-24 h-1 bg-gradient-to-r from-blue-500 to-purple-600 mx-auto rounded-full"></div>
2306            </div>
2307
2308            <div class="bento-grid">
2309                <div class="bento-item bento-large bg-gradient-to-br from-blue-50 to-indigo-100 p-6 sm:p-8 card-hover neon-glow"> 
2310                    <div class="feature-icon">
2311                        <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2312                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z"></path>
2313                        </svg>
2314                    </div>
2315                    <h3 class="text-xl sm:text-2xl font-bold text-slate-900 mb-4">Calculators for Every Need</h3> 
2316                    <p class="text-slate-700 mb-6 text-base sm:text-lg">From basic arithmetic to specialized financial tools and high-precision scientific calculators.</p> 
2317                    <div class="flex flex-wrap gap-2 mb-4">
2318                        <span class="px-3 py-1 bg-blue-200 text-blue-800 rounded-full text-xs sm:text-sm font-medium">Sum Calculator</span>
2319                        <span class="px-3 py-1 bg-blue-200 text-blue-800 rounded-full text-xs sm:text-sm font-medium">Mortgage Calculator</span>
2320                        <span class="px-3 py-1 bg-blue-200 text-blue-800 rounded-full text-xs sm:text-sm font-medium">ERA Calculator</span>
2321                        <span class="px-3 py-1 bg-blue-200 text-blue-800 rounded-full text-xs sm:text-sm font-medium">Love Calculator</span>
2322                    </div>
2323                    <div class="text-2xl sm:text-3xl font-bold text-blue-600">450+ Calculators</div> 
2324                </div>
2325
2326                <div class="bento-item bg-gradient-to-br from-green-50 to-emerald-100 p-6 sm:p-8 card-hover"> 
2327                    <div class="feature-icon bg-gradient-to-br from-green-500 to-emerald-600">
2328                        <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2329                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4"></path>
2330                        </svg>
2331                    </div>
2332                    <h3 class="text-lg sm:text-xl font-bold text-slate-900 mb-3">Versatile Converters</h3> 
2333                    <p class="text-slate-700 mb-4 text-sm sm:text-base">Unit conversions, data conversions, and format transformations.</p> 
2334                    <div class="text-xl sm:text-2xl font-bold text-green-600">100+ Converters</div> 
2335                </div>
2336
2337                <div class="bento-item bg-gradient-to-br from-purple-50 to-violet-100 p-6 sm:p-8 card-hover"> 
2338                    <div class="feature-icon bg-gradient-to-br from-purple-500 to-violet-600">
2339                        <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2340                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"></path>
2341                        </svg>
2342                    </div>
2343                    <h3 class="text-lg sm:text-xl font-bold text-slate-900 mb-3">Text & Data Utilities</h3> 
2344                    <p class="text-slate-700 mb-4 text-sm sm:text-base">Powerful text manipulation and data extraction tools with AI features.</p> 
2345                    <div class="text-xl sm:text-2xl font-bold text-purple-600">100+ Text Tools</div> 
2346                </div>
2347
2348                <div class="bento-item bg-gradient-to-br from-orange-50 to-amber-100 p-6 sm:p-8 card-hover"> 
2349                    <div class="feature-icon bg-gradient-to-br from-orange-500 to-amber-600">
2350                        <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2351                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z"></path>
2352                        </svg>
2353                    </div>
2354                    <h3 class="text-lg sm:text-xl font-bold text-slate-900 mb-3">Random Generators</h3> 
2355                    <p class="text-slate-700 mb-4 text-sm sm:text-base">For fun, decision-making, or data generation needs.</p> 
2356                    <div class="text-xl sm:text-2xl font-bold text-orange-600">60+ Random Tools</div> 
2357                </div>
2358
2359                <div class="bento-item bg-gradient-to-br from-cyan-50 to-blue-100 p-6 sm:p-8 card-hover"> 
2360                    <div class="feature-icon bg-gradient-to-br from-cyan-500 to-blue-600">
2361                        <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2362                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"></path>
2363                        </svg>
2364                    </div>
2365                    <h3 class="text-lg sm:text-xl font-bold text-slate-900 mb-3">Developer Tools</h3> 
2366                    <p class="text-slate-700 mb-4 text-sm sm:text-base">Essential utilities for developers including hash, checksum, encoding, and webmaster tools.</p> 
2367                    <div class="text-xl sm:text-2xl font-bold text-cyan-600">60+ Developer Utilities</div> 
2368                </div>
2369
2370                <div class="bento-item bg-gradient-to-br from-pink-50 to-rose-100 p-6 sm:p-8 card-hover"> 
2371                    <div class="feature-icon bg-gradient-to-br from-pink-500 to-rose-600">
2372                        <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2373                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z"></path>
2374                        </svg>
2375                    </div>
2376                    <h3 class="text-lg sm:text-xl font-bold text-slate-900 mb-3">Multimedia Tools</h3> 
2377                    <p class="text-slate-700 mb-4 text-sm sm:text-base">Image, audio, and video processing tools for content creators.</p> 
2378                    <div class="text-xl sm:text-2xl font-bold text-pink-600">50+ Multimedia Tools</div> 
2379                </div>
2380            </div>
2381        </section>
2382
2383        <section class="mb-16 sm:mb-20"> 
2384            <div class="bg-gradient-to-br from-slate-900 to-slate-800 rounded-3xl p-8 sm:p-12 text-white relative overflow-hidden"> 
2385                <div class="absolute inset-0 bg-gradient-to-br from-blue-600/20 to-purple-600/20"></div>
2386                <div class="relative z-10">
2387                    <h2 class="text-3xl sm:text-4xl font-bold mb-8 sm:mb-12 text-center">Why Choose MiniWebtool?</h2> 
2388                    
2389                    <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
2390                        <div class="text-center">
2391                            <div class="w-16 h-16 bg-gradient-to-br from-blue-500 to-purple-600 rounded-2xl flex items-center justify-center mx-auto mb-4">
2392                                <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2393                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"></path>
2394                                </svg>
2395                            </div>
2396                            <h3 class="text-lg sm:text-xl font-semibold mb-2">Unmatched Variety</h3> 
2397                            <p class="text-white/80 text-sm sm:text-base">Extensive collection covering a vast spectrum of needs</p> 
2398                        </div>
2399                        
2400                        <div class="text-center">
2401                            <div class="w-16 h-16 bg-gradient-to-br from-green-500 to-emerald-600 rounded-2xl flex items-center justify-center mx-auto mb-4">
2402                                <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2403                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
2404                                </svg>
2405                            </div>
2406                            <h3 class="text-lg sm:text-xl font-semibold mb-2">16+ Years Experience</h3> 
2407                            <p class="text-white/80 text-sm sm:text-base">Proven expertise in developing robust online tools</p> 
2408                        </div>
2409                        
2410                        <div class="text-center">
2411                            <div class="w-16 h-16 bg-gradient-to-br from-orange-500 to-red-600 rounded-2xl flex items-center justify-center mx-auto mb-4">
2412                                <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2413                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
2414                                </svg>
2415                            </div>
2416                            <h3 class="text-lg sm:text-xl font-semibold mb-2">User-Focused</h3> 
2417                            <p class="text-white/80 text-sm sm:text-base">Your feedback shapes our tools and improvements</p> 
2418                        </div>
2419                        
2420                        <div class="text-center">
2421                            <div class="w-16 h-16 bg-gradient-to-br from-purple-500 to-pink-600 rounded-2xl flex items-center justify-center mx-auto mb-4">
2422                                <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2423                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1"></path>
2424                                </svg>
2425                            </div>
2426                            <h3 class="text-lg sm:text-xl font-semibold mb-2">Free & Accessible</h3> 
2427                            <p class="text-white/80 text-sm sm:text-base">Powerful utilities accessible to everyone globally</p> 
2428                        </div>
2429                        
2430                        <div class="text-center">
2431                            <div class="w-16 h-16 bg-gradient-to-br from-cyan-500 to-blue-600 rounded-2xl flex items-center justify-center mx-auto mb-4">
2432                                <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2433                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"></path>
2434                                </svg>
2435                            </div>
2436                            <h3 class="text-lg sm:text-xl font-semibold mb-2">Trustworthy</h3> 
2437                            <p class="text-white/80 text-sm sm:text-base">Backed by Cosy Touch Limited, New Zealand</p> 
2438                        </div>
2439                        
2440                        <div class="text-center">
2441                            <div class="w-16 h-16 bg-gradient-to-br from-yellow-500 to-orange-600 rounded-2xl flex items-center justify-center mx-auto mb-4">
2442                                <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2443                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"></path>
2444                                </svg>
2445                            </div>
2446                            <h3 class="text-lg sm:text-xl font-semibold mb-2">Always Growing</h3> 
2447                            <p class="text-white/80 text-sm sm:text-base">Constantly adding new tools and features</p> 
2448                        </div>
2449                    </div>
2450                </div>
2451            </div>
2452        </section>
2453
2454        <section class="mb-16 sm:mb-20 text-center"> 
2455            <div class="bg-gradient-to-r from-blue-600 to-purple-600 rounded-3xl p-8 sm:p-12 text-white"> 
2456                <h2 class="text-3xl sm:text-4xl font-bold mb-4">Ready to Explore?</h2> 
2457                <p class="text-lg sm:text-xl mb-8 opacity-90">Discover 1,920+ tools designed to make everyday tasks easier</p> 
2458                <a href="/alltools/">
2459                    <button class="bg-white text-slate-900 px-6 py-3 sm:px-8 sm:py-4 rounded-full font-semibold text-base sm:text-lg hover:bg-opacity-90 transition-all duration-300 hover:scale-105 shadow-2xl"> 
2460                        Browse All Tools
2461                    </button>
2462                </a>
2463            </div>
2464        </section>
2465
2466        <section class="py-16 sm:py-20">
2467            <div class="text-center mb-12 sm:mb-16">
2468                <h2 class="text-4xl sm:text-5xl font-bold text-gradient mb-6">Contact Us</h2>
2469                <div class="w-24 h-1 bg-gradient-to-r from-blue-500 to-purple-600 mx-auto rounded-full"></div>
2470            </div>
2471            <div class="max-w-2xl mx-auto text-center text-slate-700 space-y-4">
2472                <p class="text-lg sm:text-xl font-semibold">Cosy Touch Limited</p>
2473                <p class="text-base sm:text-lg">NZBN: 9429030636798, registered in New Zealand.</p>
2474                <p class="text-base sm:text-lg">
2474Email: <a class="text-blue-600 hover:text-blue-800 font-medium" href="/cdn-cgi/l/email-protection#097a7c7979667b7d49646067607e6c6b7d666665276a6664"><span class="__cf_email__" data-cfemail="6a191f1a1a05181e2a070304031d0f081e05050644090507">[email&#160;protected]</span></a></p>
2475                
2476                <div class="grid sm:grid-cols-3 gap-4 text-left my-8">
2477                    <a href="/premium-subscription/" class="block rounded-2xl border border-slate-200 bg-white p-4 hover:border-blue-300 hover:shadow-md transition">
2478                        <span class="block font-semibold text-slate-900">Subscriptions</span>
2479                        <span class="block text-sm text-slate-600 mt-1">Manage Pro, Premium, or access questions.</span>
2480                    </a>
2481                    <a href="https://api.miniwebtool.com/" class="block rounded-2xl border border-slate-200 bg-white p-4 hover:border-blue-300 hover:shadow-md transition">
2482                        <span class="block font-semibold text-slate-900">API & Agents</span>
2483                        <span class="block text-sm text-slate-600 mt-1">View API docs, tools, and developer access.</span>
2484                    </a>
2485                    <a href="/alltools/" class="block rounded-2xl border border-slate-200 bg-white p-4 hover:border-blue-300 hover:shadow-md transition">
2486                        <span class="block font-semibold text-slate-900">Tool Feedback</span>
2487                        <span class="block text-sm text-slate-600 mt-1">Suggest a tool or report an issue.</span>
2488                    </a>
2489                </div>
2490
2491                <div id="follow-miniwebtool" class="text-left my-8 rounded-2xl border border-slate-200 bg-white p-5">
2492                    <p class="font-semibold text-slate-900 mb-1">Follow MiniWebtool</p>
2493                    <p class="text-sm text-slate-600 mb-3">These are our only official accounts. We never ask for payment or passwords anywhere else.</p>
2494                    <ul class="space-y-2 text-base">
2495                        <li><a class="text-blue-600 hover:text-blue-800 font-medium" rel="me noopener" target="_blank" href="https://www.facebook.com/miniwebtool">MiniWebtool on Facebook</a></li>
2496                        <li><a class="text-blue-600 hover:text-blue-800 font-medium" rel="me noopener" target="_blank" href="https://www.youtube.com/@miniwebtool-official">MiniWebtool on YouTube (@miniwebtool-official)</a></li>
2497                        <li><a class="text-blue-600 hover:text-blue-800 font-medium" rel="me noopener" target="_blank" href="https://www.pinterest.com/miniwebtool/">MiniWebtool on Pinterest</a></li>
2498                    </ul>
2499                    <p class="text-sm text-slate-600 mt-4">Payments are handled by Stripe. Our merchant profile: <a class="text-blue-600 hover:text-blue-800 font-medium" rel="me noopener" target="_blank" href="https://stripe.com/@miniwebtool">stripe.com/@miniwebtool</a></p>
2500                </div>
2501
2502                <p class="mb-6 text-slate-600">For bug reports, correction requests, subscription questions, API questions, or partnership inquiries, use the form below. Please include the tool URL when your message is about a specific tool.</p>
2503            
2504            <form action="" method="POST" class="space-y-6">
2505                
2506                
2507                
2508                <div>
2509                    <label for="id_name" class="block text-sm font-medium text-slate-700 mb-1"><b><label for="id_name">Your Name:</label></b></label>
2510                    <input type="text" name="name" class="required" maxlength="100" required id="id_name">
2511                    
2512                    
2513                </div>
2514                
2515                <div>
2516                    <label for="id_email" class="block text-sm font-medium text-slate-700 mb-1"><b><label for="id_email">Your Email Address:</label></b></label>
2517                    <input type="text" name="email" class="required" maxlength="200" required id="id_email">
2518                    
2519                    
2520                </div>
2521                
2522                <div>
2523                    <label for="id_body" class="block text-sm font-medium text-slate-700 mb-1"><b><label for="id_body">Message Body:</label></b></label>
2524                    <textarea name="body" cols="40" rows="10" class="required" required id="id_body">
2525</textarea>
2526                    
2527                    
2528                </div>
2529                
2530                <div>
2531                    <label for="id_yourwebsite" class="block text-sm font-medium text-slate-700 mb-1"><b><label for="id_yourwebsite"></label></b></label>
2532                    <input type="hidden" name="yourwebsite" id="id_yourwebsite">
2533                    
2534                    
2535                </div>
2536                
2537                <div>
2538                    <label for="id_form_timestamp" class="block text-sm font-medium text-slate-700 mb-1"><b><label for="id_form_timestamp"></label></b></label>
2539                    <input type="hidden" name="form_timestamp" value="1790230441" id="id_form_timestamp">
2540                    
2541                    
2542                </div>
2543                
2544                <div>
2545                    <label for="id_captcha" class="block text-sm font-medium text-slate-700 mb-1"><b><label for="id_captcha">Captcha:</label></b></label>
vendor: 129 bytes, lines 2545-2546
2545
2546                    <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
vendor: 64 bytes, line 2546
2546<script src="https://www.google.com/recaptcha/api.js"></script>
2547<script type="text/javascript">
2548    // Submit function to be called, after reCAPTCHA was successful.
2549    var onSubmit_60efb392c56c4b47ac21054e9f72dd97 = function(token) {
2550        console.log("reCAPTCHA validated for 'data-widget-uuid=\"60efb392c56c4b47ac21054e9f72dd97\"'")
2551    };
2552</script>
2552
2553
2554<div class="g-recaptcha"
2555     data-theme="light" data-sitekey="6LfxHYgoAAAAAEphBb5NoOho_9UbY3C8j1dEOf25" required id="id_captcha" data-widget-uuid="60efb392c56c4b47ac21054e9f72dd97" data-callback="onSubmit_60efb392c56c4b47ac21054e9f72dd97" data-size="normal"
2556>
2557</div>
2558                    
2559                    
2560                </div>
2561                
2562                
2563                <div class="p_trap">
2564                    <hr>
2565                    <p>The following fields are present to prevent automated submission systems. If you see it, please do not fill in a value.</p>
2566                    <input type="text" name="f_email" value="">
2567                    <hr>
2568                </div>
2569                
2570                <div>
2571                    <input type="submit" value="Send Message">
2572                </div>
2573            </form>
2574            </div>
2575        </section>
2576
2577    </div>
2578
2579    
2579<script>
2580        function scrollToContent() {
2581            document.getElementById('content').scrollIntoView({ 
2582                behavior: 'smooth' 
2583            });
2584        }
2585
2586        const cards = document.querySelectorAll('.card-hover');
2587        cards.forEach(card => {
2588            card.addEventListener('mouseenter', () => {
2589                card.style.transform = 'translateY(-8px) scale(1.02)';
2590            });
2591            
2592            card.addEventListener('mouseleave', () => {
2593                card.style.transform = 'translateY(0) scale(1)';
2594            });
2595        });
2596
2597        const observerOptions = {
2598            threshold: 0.1,
2599            rootMargin: '0px 0px -50px 0px'
2600        };
2601
2602        const observer = new IntersectionObserver((entries) => {
2603            entries.forEach(entry => {
2604                if (entry.isIntersecting) {
2605                    entry.target.style.opacity = '1';
2606                    entry.target.style.transform = 'translateY(0)';
2607                }
2608            });
2609        }, observerOptions);
2610
2611        const bentoItems = document.querySelectorAll('.bento-item');
2612        bentoItems.forEach((item, index) => {
2613            item.style.opacity = '0';
2614            item.style.transform = 'translateY(30px)';
2615            item.style.transition = `opacity 0.6s ease ${index * 0.1}s, transform 0.6s ease ${index * 0.1}s`;
2616            observer.observe(item);
2617        });
2618    </script>
2618
2619</div>
2620
2621       
2622
2623</div>   <div class="w3-bar-block w3-animate-left" id="sidebar1">    <h2 style="margin-left:15px">Top & Updated:</h2> <div class=ma20></div> <div id="side-discover"><a class="w3-button w3-lightgrey w3-hover-green" data-tip="Check any Instagram ID online: paste a username or profile URL to get the numeric user ID, full name, follower count and profile picture, or paste a numeric ID to find the username behind it. Free." href="/instagram-user-id-lookup/">Instagram User ID Lookup</a><a class="w3-button w3-lightgrey w3-hover-green" data-tip="Random selector: pick one or more random items, chits, options or images from any list you paste, with a spinning wheel animation, sound, confetti and selection history. Great for giveaways, raffles, teams and quick decisions." href="/random-picker/">Random Picker</a><a class="w3-button w3-lightgrey w3-hover-green" data-tip="Spin the wheel or pick from a list. No repeats so everyone gets a turn, saved class lists, up to 200,000 names, and optional certified proof the draw was fair." href="/random-name-picker/">Random Name Picker Wheel</a><a class="w3-button w3-lightgrey w3-hover-green" data-tip="Resize images online for free. Supports JPG, PNG, GIF, WebP. Batch processing, social media presets, aspect ratio lock. 100% private - images never leave your browser." href="/image-resizer/">Image Resizer</a><a class="w3-button w3-lightgrey w3-hover-green" data-tip="Free online tool to find any Facebook user, page, or group numeric ID from a profile URL or username. Essential for developers, marketers, and social media managers." href="/facebook-user-id-lookup/">Facebook User ID Lookup</a><a class="w3-button w3-lightgrey w3-hover-green" data-tip="Sort numbers in ascending or descending order with comprehensive statistics, visual distribution charts, and detailed analysis. Handles decimals, negatives, and thousands separators." href="/sort-numbers/">Sort Numbers</a><a class="w3-button w3-lightgrey w3-hover-green" data-tip="RSD describes spread relative to the mean; it does not establish accuracy or data quality. Judge acceptability using criteria for your method and purpose. A mean near zero can make this ratio unstable." href="/relative-standard-deviation-calculator/">RSD Calculator - Relative Standard Deviation</a><a class="w3-button w3-lightgrey w3-hover-green" data-tip="Change the frame rate (FPS) of your videos online - reduce or increase it - and download the result in seconds. Supports common presets and custom FPS. Free, fast, and fully client-side: no upload required." href="/fps-converter/">FPS Converter</a><a class="w3-button w3-lightgrey w3-hover-green" data-tip="Count lines, words, characters, sentences, and paragraphs in any text. Features live preview with line numbers, blank line detection, code analysis mode, and interactive statistics visualization." href="/line-counter/">Line Counter</a><a class="w3-button w3-lightgrey w3-hover-green" data-tip="Remove extra spaces, leading/trailing spaces, blank lines, and normalize whitespace from text. Free online tool with live statistics, visual comparison, and multiple cleanup modes." href="/remove-spaces/">Remove Spaces</a><a class="w3-button w3-lightgrey w3-hover-green" href="/top-updated/">View all →</a></div> </div>  <div id="right" class="w3-container desktoponly" style="width:342px">  
2624</div>  <div id="widgetOverlay" class="modal-overlay w3-hide"> <span class="closebtn" onclick="displaywidget()" title="Close Overlay">×</span> <div class="modal-container"> <div class="w3-container w3-white"> <div class="w3-container w3-col " id="previewcontainer" style="width:500px"> <p>Preview</p> <div class="miniwebtoolwidget" data-calculator="" data-width="380"> <div class="miniwebtoolh"></div> <p><a href="https://MiniWebtool.com//" target="_blank"> &copy;MiniWebtool.com</a></p> </div> </div> <div class="w3-container w3-rest"> <div class="w3-container"> <p>EMBED THE WIDGET</p> <textarea aria-label="" id="widgettext" readonly cols="40" name="text" rows="10" style="width:99%" spellcheck="false" onclick="this.select()"><div class="miniwebtoolwidget" data-calculator="" data-width="380"><div class="miniwebtoolh"></div><p><a href="https://MiniWebtool.com//" target="_blank"> &copy;MiniWebtool.com</a></p></div>
2624<script async src="https://MiniWebtool.com/embed.js?v=1.1"></script>
2624</textarea> <p><button id="wigetcpbutton" onclick="copywidgetcode();" class="w3-block w3-green" style="width:100%" ;>Copy The Source Code</button></p> <p>EMBED OPTIONS</p> <p><input aria-label="Checkbox" class="w3-check" type="checkbox" checked="checked" onchange="showtitle(this)"> <label>Show Title</label></p> <p>Change Title:<input aria-label="Widget title text" type="text" id="widget-title-text" value="" oninput="changetitle(this.value)"></p> <div> <p> <input aria-label="Widget Range" type="range" min="300" max="500" value="380" step="10" class="sliderimg" id="widgetRange"></p> <p> Width: <span id="widthwidget">380</span>px. </p> <p>Tip: The widget is responsive to mobile devices. If the set width is larger than the device screen width, it will be automatically adjusted to 100% of the screen width. On the preview mode the width is limited to 500. You can change data-width to any value based on your website layout. <hr> <p>By embedding MiniWebtool widgets on your site, you are agreeing to our <a href="/about/terms-and-disclaimer/" target="blank">Terms of Service.</a> </div> </div> </div> </div> </div> </div> 
2624<script> function displaywidget() { var x = document.getElementById("widgetOverlay"); if (x.className.indexOf("w3-show") == -1) { x.className += " w3-show"; } else { x.className = x.className.replace(" w3-show", ""); } lowerZIndex(); var usedLaterScript = document.createElement('script'); usedLaterScript.src = 'https://MiniWebtool.com/embed.js?v=1.1'; document.getElementsByTagName('head')[0].appendChild(usedLaterScript); } var sliderw = document.getElementById("widgetRange"); var outputw = document.getElementById("widthwidget"); var wtextid = document.getElementById("widgettext"); outputw.innerHTML = sliderw.value; var previewdiv = document.getElementsByClassName("miniwebtoolwidget")[0]; var previewtitle = document.getElementsByClassName("miniwebtoolh")[0]; sliderw.oninput = function() { outputw.innerHTML = this.value; previewdiv.style.maxWidth = this.value + 'px'; let s1 = wtextid.value.search("data-width="); let s2 = wtextid.value.search('><div class="miniwebtoolh">'); let newt =wtextid.value.slice(s1,s2); newt = wtextid.value.replace(newt,'data-width="'+this.value+'"'); wtextid.value=newt; }; function copywidgetcode(){ wtextid.select(); document.execCommand("copy"); document.getElementById("wigetcpbutton").innerHTML = "Source Code Copied to Clipboard."; } function changetitle(val) { previewtitle.innerHTML = val; let s1 = wtextid.value.search('<div class="miniwebtoolh">'); let s2 = wtextid.value.search('</div><p><a '); let newt =wtextid.value.slice(s1,s2); newt = wtextid.value.replace(newt,'<div class="miniwebtoolh">'+val); wtextid.value=newt; document.getElementById("wigetcpbutton").innerHTML = "Copy The Source Code"; } var wtt=document.getElementById("widget-title-text"); function showtitle(e) { let s1 = wtextid.value.search('<div class="miniwebtoolh">'); let s2 = wtextid.value.search('</div><p><a '); let newt =wtextid.value.slice(s1,s2); if (e.checked) {previewtitle.style.display="block"; previewtitle.innerHTML = wtt.value; newt = wtextid.value.replace(newt,'<div class="miniwebtoolh">'+wtt.value); wtextid.value=newt; document.getElementById("wigetcpbutton").innerHTML = "Copy The Source Code"; wtt.readOnly=false; wtt.style.backgroundColor="#fff"; } else { previewtitle.style.display="none"; previewtitle.innerHTML = ""; newt = wtextid.value.replace(newt,'<div class="miniwebtoolh">'); wtextid.value=newt; document.getElementById("wigetcpbutton").innerHTML = "Copy The Source Code"; wtt.readOnly=true; wtt.style.backgroundColor="#eee"; } } </script>
2624 <div class="bc-foot mobileonly"><div class="w z3 f6"> &gt; <a href="//"></a> </div></div> <footer class="w3-panel w3-padding-32 w3-card-4 w3-light-grey w3-center w3-opacity ftmargin"> <p> <nav> Copyright &copy; 2010-<span id="current-year"></span>&nbsp;MiniWebtool.com (Cosy Touch Limited) | <a href="/sitemap.xml">Sitemap</a> | <a href="https://MiniWebtool.com/rss.xml">Feed</a> | <a href="/guide/">Guide</a> | <a href="https://api.miniwebtool.com/">API</a> | <a href="/about/terms-and-disclaimer/">Terms and Disclaimer</a> | <a href="/about/privacy/">Privacy Policy</a> | <a href="/about/trust/">Trust &amp; Security</a> | <a href="/about/contact/">About Us & Contact</a> | <a href="/access-premium/" title="Access Premium Version" data-mwt-premium-footer>Access Premium Version</a> </nav> </p> </footer> 
2624<script>const popupCenter = ({url, title, w, h}) => { const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX; const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY; const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width; const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height; const systemZoom = width / window.screen.availWidth; const left = (width - w) / 2 / systemZoom + dualScreenLeft; const top = (height - h) / 2 / systemZoom + dualScreenTop; const newWindow = window.open(url, title, ` scrollbars=yes, width=${w / systemZoom}, height=${h / systemZoom}, top=${top}, left=${left} ` ); newWindow.onbeforeunload = function(){ displaypopback(0); }; newWindow.onfocus = function(){ displaypopback(1); }; if (window.focus) newWindow.focus(); }; window.addEventListener("focus", function(){displaypopback(0);}); function displaypopback(show) { var x = document.getElementById("popupback"); if (show==1) { x.style.display = "block"; } else { x.style.display = "none"; } } </script>
2624 <div id="popupback" class="overlay" style="display:none;z-index:2147483647;"></div>  <div id="iframeOverlay" style="position: absolute; width: 400px; height: 600px; display: none;overflow: hidden;border-radius: 8px;cursor: pointer;"> <div class="miniwebtoolh" style="visibility: visible; opacity: 1; display: block; margin: 0px; padding: 16px 0px; text-align: center; font-family: arial; font-size: 20px; color: lightgreen; background: linear-gradient(135deg, #4a90e2, #6a5acd);line-height: 40px;">Preview</div> <iframe id="previewIframe" style="width: 400px; height: 600px; border: none; display: none; pointer-events: none;overflow: hidden;"></iframe> </div>    
2624<script> function loadc2() { var script1 = document.createElement('script'); script1.innerHTML = "!function(n){if(!window.cnx){window.cnx={},window.cnx.cmd=[];var t=n.createElement('iframe');t.src='javascript:false'; t.display='none',t.onload=function(){var n=t.contentWindow.document,c=n.createElement('script');c.src='//cd.connatix.com/connatix.player.js?cid=811ea41e-b01a-42cb-9b07-14a72d08ae92',c.setAttribute('async','1'),c.setAttribute('type','text/javascript'),n.body.appendChild(c)},n.head.appendChild(t)}}(document);"; document.head.appendChild(script1); var script2 = document.createElement('script');  script2.id = "bdc00789f3cb4d8e86a663a40f5ff76a"; script2.innerHTML = "(new Image()).src = 'https://capi.connatix.com/tr/si?token=31ee02cb-c46c-446a-8bd9-bdc7c6fbdeb4&cid=811ea41e-b01a-42cb-9b07-14a72d08ae92'; cnx.cmd.push(function() { cnx({playerId: '31ee02cb-c46c-446a-8bd9-bdc7c6fbdeb4'}).render('bdc00789f3cb4d8e86a663a40f5ff76a');});";  var fvid=document.getElementById("featuredvid"); if (fvid) {fvid.innerHTML = ""; fvid.appendChild(script2); } } </script>
2624  
2624<script> document.getElementById("searchInput").addEventListener('click', function(event) { event.stopPropagation(); }); document.getElementById("searchInput").addEventListener('touchstart', function(event) { event.stopPropagation(); }); window.onclick = function(event) { var menu = document.getElementById("mobileMenu"); var icon = document.querySelector(".menu-icon"); if (!menu || !icon) { return; } if (!icon.contains(event.target) && !menu.contains(event.target)) { menu.classList.remove('show'); icon.setAttribute('aria-expanded', 'false'); } }; function bookmark(){ if ('sidebar' in window && 'addPanel' in window.sidebar) { window.sidebar.addPanel(location.href,document.title,""); } else {  (window.mwtBookmarkPrompt||window.alert)('Please press ' + (navigator.userAgent.toLowerCase().indexOf('mac') != - 1 ? 'Command/Cmd' : 'CTRL') + ' + D to bookmark this page for further access.', 'Set as a preferred source on Google');  } } </script>
2624   
2624<script defer src="/js/mwt-ui.v1.js?v=6ab370e1&inp=20260908"></script>
2624     <div id="mwt-tip"></div>
2625<script>
2626(function(){
2627  var tip = document.getElementById('mwt-tip');
2628  if (!tip) return;
2629  document.addEventListener('mouseover', function(e) {
2630    var el = e.target.closest('[data-tip]');
2631    if (el && el.dataset.tip) {
2632      tip.textContent = el.dataset.tip;
2633      tip.classList.add('show');
2634    }
2635  });
2636  document.addEventListener('mouseout', function(e) {
2637    var el = e.target.closest('[data-tip]');
2638    if (el) tip.classList.remove('show');
2639  });
2640  document.addEventListener('mousemove', function(e) {
2641    if (!tip.classList.contains('show')) return;
2642    var x = e.clientX + 15, y = e.clientY + 15;
2643    var tw = tip.offsetWidth, th = tip.offsetHeight;
2644    if (x + tw > window.innerWidth - 10) x = e.clientX - tw - 15;
2645    if (y + th > window.innerHeight - 10) y = e.clientY - th - 15;
2646    tip.style.left = x + 'px';
2647    tip.style.top = y + 'px';
2648  });
2649})();
2650</script>
vendor: 1 bytes, line 2650
2650
2651<script>(function(){var mwtLangMenuDismiss=function(){return document.getElementById('lang-footer');};document.addEventListener('click',function(e){var d=mwtLangMenuDismiss();if(d&&d.open&&!d.contains(e.target)){d.open=false;}},true);document.addEventListener('keydown',function(e){if(e.key==='Escape'||e.key==='Esc'){var d=mwtLangMenuDismiss();if(d&&d.open){d.open=false;}}});})();</script>
2651 <div id="mwt-loading"><div class="mwt-loader"><div class="mwt-ring"></div><div class="mwt-dots"><span></span><span></span><span></span></div></div></div>
2652
2653<style>
2654  /* The overlay scrolls, the card centers via margin:auto — unlike flex
2655     centering this never clips the card's top edge when large fonts or a
2656     short viewport make the card taller than the screen. */
2657  #mwt-zipgate{position:fixed;inset:0;z-index:2147483647;display:none;background:rgba(15,23,42,.55);padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}
2658  #mwt-zipgate.on{display:flex}
2659  #mwt-zipgate .zg-card{position:relative;margin:auto;background:#fff;border-radius:14px;max-width:430px;width:100%;padding:26px 26px 22px;box-shadow:0 24px 60px -12px rgba(15,23,42,.45);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#0f172a;text-align:left}
2660  #mwt-zipgate .zg-x{position:absolute;top:10px;right:12px;border:0;background:none;color:#556072;font-size:1.5rem;line-height:1;cursor:pointer;padding:4px}
2661  #mwt-zipgate .zg-x:hover{color:#475569}
2662  #mwt-zipgate .zg-badge{display:inline-block;background:#dcfce7;color:#14532d;font-weight:800;font-size:.7rem;letter-spacing:.08em;padding:3px 9px;border-radius:999px;text-transform:uppercase;margin-bottom:10px}
2663  #mwt-zipgate h3{margin:0 0 8px;font-size:1.18rem;font-weight:800;letter-spacing:-.01em}
2664  #mwt-zipgate .zg-free{margin:0 0 12px;color:#475569;font-size:.93rem}
2665  #mwt-zipgate ul{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}
2666  #mwt-zipgate li{position:relative;padding-left:24px;font-size:.92rem}
2667  #mwt-zipgate li:before{content:"\2713";position:absolute;left:2px;top:0;color:#16a34a;font-weight:700}
2668  #mwt-zipgate .zg-price{margin:0 0 14px;color:#475569;font-size:.85rem}
2669  #mwt-zipgate .zg-cta{display:block;text-align:center;background:#16a34a;color:#fff;font-weight:700;font-size:.98rem;text-decoration:none;padding:12px 16px;border-radius:10px}
2670  #mwt-zipgate .zg-cta:hover{background:#14532d}
2671  #mwt-zipgate .zg-or{display:flex;align-items:center;gap:10px;margin:14px 0 10px;color:#556072;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
2672  #mwt-zipgate .zg-or:before,#mwt-zipgate .zg-or:after{content:"";flex:1;height:1px;background:#e2e8f0}
2673  #mwt-zipgate .zg-reward{display:none}
2674  #mwt-zipgate .zg-reward-btn{display:block;width:100%;background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;color:#0f172a;font-weight:700;font-size:.95rem;padding:11px 16px;cursor:pointer}
2675  #mwt-zipgate .zg-reward-btn:hover{border-color:#94a3b8;background:#f8fafc}
2676  #mwt-zipgate .zg-reward-note{margin:7px 0 0;color:#556072;font-size:.76rem;text-align:center}
2677  #mwt-zipgate .zg-later{display:block;width:100%;margin-top:10px;border:0;background:none;color:#64748b;font-size:.86rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:4px}
2678  #mwt-zipgate .zg-foot{margin:12px 0 0;color:#556072;font-size:.76rem;text-align:center}
2679</style>
2680<div id="mwt-zipgate" role="dialog" aria-modal="true" aria-labelledby="mwt-zipgate-title"></div>
2681<template id="mwt-zipgate-card">
2682  <div class="zg-card">
2683    <button type="button" class="zg-x" id="mwt-zipgate-x" aria-label="Close">&times;</button>
2684    <span class="zg-badge">Pro feature</span>
2685    
2686    <h3 id="mwt-zipgate-title">Download everything as one ZIP with Pro</h3>
2687    <p class="zg-free">Downloading files one at a time stays free — no limit. The one-click ZIP of all your files, plus the rest of Pro, takes seconds to unlock:</p>
2688    <ul>
2689      <li>Batch ZIP downloads on all image, PDF & video tools</li>
2690    
2691      <li>60 runs/day on capped tools (20× the free plan)</li>
2692      <li>Ads off, everywhere on the site</li>
2693      <li>My Toolbox unlocked — unlimited saves + Automatic Mode</li>
2694    </ul>
2695    <p class="zg-price">From <strong>$3.33/month</strong> billed annually &middot; cancel anytime &middot; no account needed &middot; unlocks instantly</p>
2696    <span id="zg-exp-title" hidden>Download this result as a file with Pro</span>
2697    <span id="zg-exp-free" hidden>Reading the result on this page stays free — nothing is hidden. Taking it away as a PDF or JPG, plus the rest of Pro, takes seconds to unlock:</span>
2698    <span id="zg-exp-bullet" hidden>PDF and JPG downloads of any tool's result</span>
2699    <span id="zg-exp-later" hidden>Not now — reading it on the page is enough</span>
2700    <span id="zg-exp-reward" hidden>Watch a short ad — unlock PDF & JPG on this tool for the rest of today</span>
2701    <a rel="nofollow" class="zg-cta" data-mwt-zipgate-cta="pro"
2702       href="/premium-subscription/?tier=pro&amp;from=_about/contact_&amp;src=zipgate">See Pro plans &rarr;</a>
2703    
2704    <div class="zg-reward" id="mwt-zg-reward">
2705      <div class="zg-or">or</div>
2706      <button type="button" class="zg-reward-btn" id="mwt-zg-reward-btn">Watch a short ad — unlock PDF & JPG on this tool for the rest of today</button>
2707      <p class="zg-reward-note">This download only. No account, no card.</p>
2708    </div>
2709    
2710    
2711    <button type="button" class="zg-later" id="mwt-zipgate-later">Not now — I'll download files one by one</button>
2712    
2713    <p class="zg-foot">Premium includes everything in Pro, with no daily caps at all.</p>
2714  </div>
2715</template>
2716
2717<script>
2718(function () {
2719  if (window.mwtRequestUsageStatus) return;
2720  var pending = Object.create(null);
2721  // Share only in-flight reads. Never reuse settled quota data after a
2722  // reserve/commit/refund, and never cache a user's quota in shared storage.
2723  window.mwtRequestUsageStatus = function (module, lang) {
2724    var url = '/_api/usage/status/?module=' + encodeURIComponent(module) +
2725      '&lang=' + encodeURIComponent(lang || 'en');
2726    var tv = (location.search || '').match(/[?&]tv=([ab])(?:&|$)/);
2727    if (tv) url += '&tv=' + tv[1];
2728    if (!pending[url]) {
2729      var request = Promise.resolve().then(function () {
2730        return fetch(url, {credentials: 'same-origin', cache: 'no-store'});
2731      }).then(function (response) { return response.ok ? response.json() : null; });
2732      pending[url] = request;
2733      function release() { if (pending[url] === request) delete pending[url]; }
2734      request.then(release, release);
2735    }
2736    return pending[url];
2737  };
2738})();
2739</script>
2739
2740
2741<script>
2742(function () {
2743  var SEL  = "";
2744  var EXPSEL = "#mwt\u002Dexport\u002Dpdf, #mwt\u002Dexport\u002Djpg";
2745  var ALLSEL = SEL && EXPSEL ? (SEL + ", " + EXPSEL) : (SEL || EXPSEL);
2746  var MOD  = "_about/contact_";
2747  var LANG = "en";
2748  var GATE_KIND = "zip";
2749  var AD   = "/71161633,21815091813/MINWBTOOL_miniwebtool/rewarded_ad";
2750  var ADTEST = false;
2751  var modal = document.getElementById('mwt-zipgate');
2752  var cardTpl = document.getElementById('mwt-zipgate-card');
2753  if (!ALLSEL || !MOD || !modal || !cardTpl) return;
2754
2755  try {
2756    if (modal.parentNode !== document.body) document.body.appendChild(modal);
2757  } catch (e) {}
2758
2759  var hydrated = false;
2760  function hydrate() {
2761    if (hydrated) return;
2762    hydrated = true;
2763    modal.appendChild(cardTpl.content.cloneNode(true));
2764    var x = modal.querySelector('#mwt-zipgate-x');
2765    if (x) x.addEventListener('click', hideModal);
2766    var later = modal.querySelector('#mwt-zipgate-later');
2767    if (later) later.addEventListener('click', hideModal);
2768    if (AD) {
2769      var rewardBtn = modal.querySelector('#mwt-zg-reward-btn');
2770      if (rewardBtn) rewardBtn.addEventListener('click', onRewardBtnClick);
2771    }
2772  }
2773
2774  var state = null;
2775  var pending = null;
2776  var impressionFired = false;
2777  var lastFocus = null;
2778
2779  var adSlot = null, adReady = null, adRequested = false;
2780  var adGranted = false, adOfferLogged = false, adBound = false;
2781  var rewardEl = null, pendingEl = null, adTarget = null;
2782
2783  function ga(name, params) {
2784    if (typeof gtag !== 'function') return;
2785    try { gtag('event', name, params); } catch (e) {}
2786  }
2787
2788  function decide(tier, isPaid) {
2789    return (tier === 'pro' || tier === 'premium' || isPaid) ? 'allow' : 'gate';
2790  }
2791
2792  function tierFromQuota() {
2793    var q = window.__mwtQuota;
2794    return (q && q.live && q.tier) ? q.tier : null;
2795  }
2796
2797  function resolveState() {
2798    if (state) return Promise.resolve(state);
2799    var t = tierFromQuota();
2800    if (t) { state = decide(t, false); return Promise.resolve(state); }
2801    if (!pending) {
2802      pending = window.mwtRequestUsageStatus(MOD, LANG)
2803        .then(function (d) {
2804          state = d ? decide(d.tier, d.is_paid) : 'allow';
2805          return state;
2806        })
2807        .catch(function () { state = 'allow'; return state; });
2808    }
2809    return pending;
2810  }
2811
2812  var zipCopy = null;
2813
2814  function isExportEl(el) {
2815    return !!(EXPSEL && el.closest && el.closest(EXPSEL));
2816  }
2817
2818  function canReward(el) {
2819    return !!el && (isExportEl(el) || GATE_KIND !== 'zip');
2820  }
2821
2822  function updateRewardOffer() {
2823    var box = rewardBox();
2824    var eligible = canReward(pendingEl) && !!adReady;
2825    if (box) box.style.display = eligible ? 'block' : 'none';
2826    if (eligible && !adOfferLogged) {
2827      adOfferLogged = true;
2828      ga('rewarded_offer_shown', { source_tool: MOD });
2829    }
2830  }
2831
2832  function applyGateCopy(forExport) {
2833    hydrate();
2834    updateRewardOffer();
2835    var title = modal.querySelector('#mwt-zipgate-title');
2836    var free = modal.querySelector('.zg-free');
2837    var bullet = modal.querySelector('ul li');
2838    var later = modal.querySelector('#mwt-zipgate-later');
2839    var reward = modal.querySelector('#mwt-zg-reward-btn');
2840    if (!title || !free || !bullet) return;
2841    if (zipCopy === null) {
2842      zipCopy = {
2843        title: title.innerHTML, free: free.innerHTML, bullet: bullet.innerHTML,
2844        later: later ? later.innerHTML : '', reward: reward ? reward.innerHTML : ''
2845      };
2846    }
2847    var pick = function (id, fallback) {
2848      var el = modal.querySelector(id);
2849      return el ? el.innerHTML : fallback;
2850    };
2851    if (forExport) {
2852      title.innerHTML = pick('#zg-exp-title', zipCopy.title);
2853      free.innerHTML = pick('#zg-exp-free', zipCopy.free);
2854      bullet.innerHTML = pick('#zg-exp-bullet', zipCopy.bullet);
2855      if (later) later.innerHTML = pick('#zg-exp-later', zipCopy.later);
2856      if (reward) reward.innerHTML = pick('#zg-exp-reward', zipCopy.reward);
2857    } else {
2858      title.innerHTML = zipCopy.title;
2859      free.innerHTML = zipCopy.free;
2860      bullet.innerHTML = zipCopy.bullet;
2861      if (later) later.innerHTML = zipCopy.later;
2862      if (reward) reward.innerHTML = zipCopy.reward;
2863    }
2864  }
2865
2866  function showModal() {
2867    hydrate();
2868    lastFocus = document.activeElement;
2869    modal.classList.add('on');
2870    var cta = modal.querySelector('.zg-cta');
2871    if (cta) try { cta.focus(); } catch (e) {}
2872    if (!impressionFired) {
2873      impressionFired = true;
2874      ga('zipgate_impression', { source_tool: MOD, tier: 'free' });
2875    }
2876  }
2877
2878  function hideModal() {
2879    modal.classList.remove('on');
2880    if (lastFocus && lastFocus.focus) try { lastFocus.focus(); } catch (e) {}
2881  }
2882
2883  modal.addEventListener('click', function (ev) {
2884    if (ev.target === modal) hideModal();                       
2885    var cta = ev.target.closest ? ev.target.closest('[data-mwt-zipgate-cta]') : null;
2886    if (cta) {
2887      ga('begin_checkout', { tier: 'pro', source_tool: MOD, trigger: 'zipgate' });
2888    }
2889  });
2890  document.addEventListener('keydown', function (ev) {
2891    if (ev.key === 'Escape' && modal.classList.contains('on')) hideModal();
2892  });
2893
2894  function expDay() {
2895    var d = new Date();
2896    return '' + d.getFullYear() + ('0' + (d.getMonth() + 1)).slice(-2) + ('0' + d.getDate()).slice(-2);
2897  }
2898
2899  function expKey() { return 'mwt_exp_unlock:' + MOD + ':' + expDay(); }
2900
2901  function expUnlocked() {
2902    try { return window.localStorage.getItem(expKey()) === '1'; } catch (e) { return false; }
2903  }
2904
2905  function setExpUnlocked() {
2906    try {
2907      var ls = window.localStorage;
2908      ls.setItem(expKey(), '1');
2909      var today = expDay(), stale = [];
2910      for (var i = 0; i < ls.length; i++) {
2911        var k = ls.key(i);
2912        if (k && k.indexOf('mwt_exp_unlock:') === 0 && k.slice(-8) !== today) stale.push(k);
2913      }
2914      for (var j = 0; j < stale.length; j++) ls.removeItem(stale[j]);
2915    } catch (e) {}
2916  }
2917
2918  function rewardBox() { return document.getElementById('mwt-zg-reward'); }
2919
2920  function onAdReady(evt) {
2921    adReady = evt;
2922    updateRewardOffer();
2923  }
2924
2925  function onAdGranted(evt) {
2926    adGranted = true;
2927    ga('rewarded_granted', {
2928      source_tool: MOD,
2929      reward_type: (evt && evt.payload && evt.payload.type) || ''
2930    });
2931  }
2932
2933  function onAdClosed() {
2934    var box = rewardBox();
2935    if (box) box.style.display = 'none';
2936    try { googletag.destroySlots([adSlot]); } catch (e) {}
2937    adSlot = null; adReady = null; adRequested = false; adOfferLogged = false;
2938    if (adGranted) {
2939      adGranted = false;
2940      var target = adTarget;
2941      adTarget = null;
2942      if (canReward(target)) {
2943        rewardEl = target;
2944        if (isExportEl(target)) setExpUnlocked();
2945        hideModal();
2946        try { target.click(); } catch (e) {}
2947      }
2948    } else {
2949      ga('rewarded_dismissed', { source_tool: MOD });
2950      showModal();
2951    }
2952  }
2953
2954  function stubAd() {
2955    var left = 5;
2956    var o = document.createElement('div');
2957    o.style.cssText = 'position:fixed;inset:0;z-index:2147483647;background:#0f172a;color:#fff;' +
2958      'display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;' +
2959      'font:16px/1.5 system-ui,-apple-system,sans-serif;text-align:center;padding:24px';
2960    o.innerHTML = '<div style="font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.55">' +
2961      'DEBUG rewarded-ad stub</div><div style="font-size:2.6rem;font-weight:800">' +
2962      '<span id="mwt-zg-stub-n">5</span></div>' +
2963      '<button type="button" id="mwt-zg-stub-x" style="border:0;border-radius:8px;padding:9px 18px;' +
2964      'font-size:.9rem;cursor:pointer">Close early (forfeit reward)</button>';
2965    document.body.appendChild(o);
2966    var timer = null;
2967    function finish(granted) {
2968      if (timer) { clearInterval(timer); timer = null; }
2969      if (o.parentNode) o.parentNode.removeChild(o);
2970      if (granted) onAdGranted({ payload: { type: 'test', amount: 1 } });
2971      onAdClosed();
2972    }
2973    o.querySelector('#mwt-zg-stub-x').addEventListener('click', function () { finish(false); });
2974    timer = setInterval(function () {
2975      left -= 1;
2976      var n = o.querySelector('#mwt-zg-stub-n');
2977      if (n) n.textContent = String(left);
2978      if (left <= 0) finish(true);
2979    }, 1000);
2980  }
2981
2982  function loadRewarded(el) {
2983    if (!canReward(el) || !AD || adRequested) return;
2984    hydrate();
2985    adRequested = true;
2986    if (ADTEST) { onAdReady({ makeRewardedVisible: stubAd }); return; }
2987    try { if (typeof window.loadf === 'function') window.loadf(); } catch (e) {}
2988    window.googletag = window.googletag || {};
2989    window.googletag.cmd = window.googletag.cmd || [];
2990    googletag.cmd.push(function () {
2991      try {
2992        var fmt = googletag.enums && googletag.enums.OutOfPageFormat;
2993        if (!fmt || !fmt.REWARDED) return;
2994        adSlot = googletag.defineOutOfPageSlot(AD, fmt.REWARDED);
2995        if (!adSlot) return;
2996        adSlot.addService(googletag.pubads());
2997        if (!adBound) {
2998          adBound = true;
2999          googletag.pubads().addEventListener('rewardedSlotReady', onAdReady);
3000          googletag.pubads().addEventListener('rewardedSlotGranted', onAdGranted);
3001          googletag.pubads().addEventListener('rewardedSlotClosed', onAdClosed);
3002        }
3003        googletag.enableServices();
3004        googletag.display(adSlot);
3005        googletag.pubads().refresh([adSlot]);
3006      } catch (e) { adRequested = false; }
3007    });
3008  }
3009
3010  function onRewardBtnClick() {
3011    if (!adReady || !canReward(pendingEl)) return;
3012    adTarget = pendingEl;
3013    ga('rewarded_opt_in', { source_tool: MOD });
3014    var evt = adReady;
3015    adReady = null;
3016    hideModal();
3017    try { evt.makeRewardedVisible(); } catch (e) { showModal(); }
3018  }
3019
3020  function prewarm(ev) {
3021    var el = ev.target && ev.target.closest ? ev.target.closest(ALLSEL) : null;
3022    if (!el) return;
3023    resolveState().then(function (s) { if (s === 'gate') loadRewarded(el); });
3024  }
3025  document.addEventListener('pointerover', prewarm, true);
3026  document.addEventListener('touchstart', prewarm, { capture: true, passive: true });
3027
3028  document.addEventListener('click', function (ev) {
3029    var el = ev.target && ev.target.closest ? ev.target.closest(ALLSEL) : null;
3030    if (!el) return;
3031    if (rewardEl === el && canReward(el)) { rewardEl = null; return; }             
3032    if (isExportEl(el) && expUnlocked()) return;                
3033    if (state === 'allow') return;                              
3034    pendingEl = el;
3035    applyGateCopy(isExportEl(el));
3036    ev.preventDefault();
3037    ev.stopImmediatePropagation();
3038    ev.stopPropagation();
3039    if (state === 'gate') { loadRewarded(el); showModal(); return; }
3040    resolveState().then(function (s) {
3041      if (s === 'allow') {
3042        el.click();                                             
3043      } else {
3044        loadRewarded(el);
3045        showModal();
3046      }
3047    });
3048  }, true);
3049})();
3050</script>
3050
3051
3052
3053
3054
3055
3056
3057
3058<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a400880b3bad8e5c',t:'MTc5MDIzOTcyMA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
3058</body></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.