PageSourceSearch

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

html miniwebtool.com collected 2026-10-01 10:17:12 UTC 214,270 bytes, 3,126 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="630"> <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-1790824104[hidden] {
95	    display: none !important;
96	  }
97
98	  #mwt-notice-1790824104 {
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-1790824104.mwt-notice-open {
110	    opacity: 1;
111	  }
112
113	  #mwt-notice-1790824104.mwt-notice-closing {
114	    opacity: 0;
115	  }
116
117	  #mwt-notice-1790824104 .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-1790824104 .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-1790824104.mwt-notice-open .mwt-notice-dialog {
141	    opacity: 1;
142	    transform: translateY(0) scale(1);
143	  }
144
145	  #mwt-notice-1790824104.mwt-notice-closing .mwt-notice-dialog {
146	    opacity: 0;
147	    transform: translateY(14px) scale(0.99);
148	  }
149
150	  #mwt-notice-1790824104 .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-1790824104 {
164	      transition: none;
165	    }
166
167	    #mwt-notice-1790824104 .mwt-notice-dialog {
168	      transition: none;
169	      transform: none;
170	      opacity: 1;
171	    }
172	  }
173
174	  #mwt-notice-1790824104 .mwt-notice-header {
175	    display: flex;
176	    gap: 12px;
177	    align-items: flex-start;
178	    padding: 18px 18px 0;
179	  }
180
181	  #mwt-notice-1790824104 .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-1790824104 .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-1790824104 .mwt-notice-title {
202	    margin: 0;
203	    font-size: 1.25rem;
204	    line-height: 1.25;
205	  }
206
207	  #mwt-notice-1790824104 .mwt-notice-content {
208	    padding: 0 18px 18px;
209	  }
210
211	  #mwt-notice-1790824104 .mwt-notice-text {
212	    margin: 10px 0 10px;
213	    color: var(--mwt-muted);
214	    overflow-wrap: anywhere;
215	  }
216
217	  #mwt-notice-1790824104 .mwt-notice-list {
218	    margin: 0;
219	    padding-left: 18px;
220	    color: var(--mwt-muted);
221	  }
222
223	  #mwt-notice-1790824104 .mwt-notice-actions {
224	    margin-top: 14px;
225	    display: flex;
226	    gap: 10px;
227	    flex-wrap: wrap;
228	  }
229
230	  #mwt-notice-1790824104 .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-1790824104 .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-1790824104 .mwt-notice-btn-primary:hover {
251	    filter: brightness(1.04);
252	  }
253
254	  #mwt-notice-1790824104 .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-1790824104 .mwt-notice-btn-secondary:hover {
261	    background: rgba(15, 23, 42, 0.09);
262	  }
263
264	  #mwt-notice-1790824104 .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-1790824104 .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-1790824104 .mwt-notice-link:hover {
285	    color: rgba(15, 23, 42, 0.92);
286	  }
287
288	  #mwt-notice-1790824104 .mwt-notice-link[disabled],
289	  #mwt-notice-1790824104 .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-1790824104 .mwt-notice-actions {
297	      flex-direction: column;
298	    }
299
300	    #mwt-notice-1790824104 .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
968(function (w) { if (w.mwtAdsWhenQuiet) return; var last = 0, mob = false, EV = ['pointerdown', 'touchstart', 'keydown', 'input']; try { mob = w.matchMedia('(max-width: 993px)').matches || w.matchMedia('(pointer: coarse)').matches; } catch (e) {} if (mob) for (var i = 0; i < EV.length; i++) w.addEventListener(EV[i], function () { last = Date.now(); }, { capture: true, passive: true }); var go = function (job) { try { w.googletag = w.googletag || {}; w.googletag.cmd = w.googletag.cmd || []; w.googletag.cmd.push(function () { try { w.googletag.setConfig({ threadYield: 'ENABLED_ALL_SLOTS' }); } catch (e) {} }); } catch (e) {} try { job(); } catch (e) {} }; w.mwtAdsWhenQuiet = function (job) { if (!mob) { go(job); return; } var t0 = Date.now(); var tick = function () { var q = Date.now() - last; if (q < 1000 && Date.now() - t0 < 10000) { setTimeout(tick, 1000 - q); return; } var run = function () { go(job); }; if (w.requestIdleCallback) w.requestIdleCallback(run, { timeout: 1000 }); else setTimeout(run, 0); }; setTimeout(tick, 0); }; })(window); function loadf() { if(!loadfed ) { loadfed = true; mwtAdsWhenQuiet(function () { 
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/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/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/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/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/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/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: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: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/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/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/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/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/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/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-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);
994unicode-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/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: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/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: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/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/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/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/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-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: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:'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/vietnamese/wght/normal.woff2);
994unicode-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: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/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/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/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/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/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/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/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/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/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: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);
994unicode-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;}@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/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;}</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=6abc1217"></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<style>@media (max-width: 993px) {
1601  div.mwt-tool-trust.mwt-tool-trust-limited { flex-wrap: wrap !important; }
1602  div.mwt-tool-trust.mwt-tool-trust-limited .mwt-tool-trust-item:nth-child(1) { display: inline-flex; white-space: normal; }
1603  div.mwt-tool-trust.mwt-tool-trust-limited.mwt-tool-trust-dated .mwt-tool-trust-item:nth-child(2) { display: none; }
1604}</style>
1605<script id="mwt-ts-guard">
1606(function(){
1607var nativeSubmit=HTMLFormElement.prototype.submit;
1608function tok(f){var i=f.querySelector('input[name="cf-turnstile-response"]');return i?i.value:''}
1609function needs(f){return f&&f.querySelector&&!f.__mwtGate&&!f.__mwtTsPass&&f.querySelector('.cf-turnstile')&&!tok(f)}
1610function hold(f,go){
1611  if(f.__mwtTsWait)return;
1612  f.__mwtTsWait=true;f.classList.add('mwt-ts-wait');
1613  var w=f.querySelector('.cf-turnstile'),n=0;
1614  var iv=setInterval(function(){
1615    n++;
1616    var ready=!!tok(f),dead=(!window.turnstile&&n>20)||(n>40&&!(w&&w.offsetHeight));
1617    if(!ready&&!dead&&n<400)return;
1618    clearInterval(iv);f.__mwtTsWait=false;f.classList.remove('mwt-ts-wait');
1619    f.__mwtTsPass=true;
1620    try{go()}finally{f.__mwtTsPass=false}
1621  },150);
1622}
1623window.addEventListener('submit',function(e){
1624  var f=e.target;
1625  if(e.defaultPrevented||!needs(f))return;
1626  e.preventDefault();
1627  var sub=e.submitter&&e.submitter.form===f?e.submitter:null;
1628  hold(f,function(){try{if(f.requestSubmit){sub?f.requestSubmit(sub):f.requestSubmit()}else{nativeSubmit.call(f)}}catch(x){nativeSubmit.call(f)}});
1629});
1630HTMLFormElement.prototype.submit=function(){
1631  var f=this;
1632  if(!needs(f))return nativeSubmit.call(f);
1633  hold(f,function(){nativeSubmit.call(f)});
1634};
1635})();
1636</script>
1636
1637<style id="mwt-ts-guard-css">form.mwt-ts-wait [type="submit"]{opacity:.7;cursor:progress}</style>
1638<script id="mwt-ts-overlay">
1639(function(){
1640function waiting(){var fs=document.querySelectorAll('form'),out=[];for(var i=0;i<fs.length;i++){var f=fs[i],w=f.querySelector('.cf-turnstile');if(!w)continue;var t=w.querySelector('input[name="cf-turnstile-response"]');if(t&&t.value)continue;if(f.classList.contains('mwt-ts-wait')||f.querySelector('.mwt-gate-wait'))out.push(w)}return out}
1641function watch(lo){
1642  if(lo.__mwtTsIv)return;
1643  var n=0,lifted=false;
1644  lo.__mwtTsIv=setInterval(function(){
1645    n++;
1646    var ws=waiting();
1647    if(!lifted&&ws.length&&lo.classList.contains('active')){lifted=true;lo.classList.remove('active');try{ws[0].scrollIntoView({block:'center',behavior:'smooth'})}catch(x){}}
1648    else if(lifted&&!ws.length){lo.classList.add('active');stop()}
1649    else if(!lifted&&(n>20||!lo.classList.contains('active')))stop();
1650    else if(n>450){lo.classList.remove('active');stop()}
1651  },150);
1652  function stop(){clearInterval(lo.__mwtTsIv);lo.__mwtTsIv=null}
1653}
1654function arm(){var lo=document.getElementById('mwt-loading');if(!lo||lo.__mwtTsArm)return;lo.__mwtTsArm=1;new MutationObserver(function(){if(lo.classList.contains('active'))watch(lo)}).observe(lo,{attributes:true,attributeFilter:['class']})}
1655if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',arm);else arm();
1656})();
1657</script>
vendor: 1 bytes, line 1657
1657
1658<script id="mwt-ts-pass">
1659(function(){
1660function passed(){return /(?:^|;\s*)mwt_tsok=/.test(document.cookie)}
1661window.mwtTsPassed=passed;
1662function off(w){if(w.__mwtOff)return;w.__mwtOff=1;w.classList.remove('cf-turnstile');w.classList.add('cf-turnstile-passed');w.innerHTML='<input type="hidden" name="cf-turnstile-response" value="mwt-tsok">'}
1663function safe(){var t=window.turnstile;if(!t||t.__mwtSafe)return;t.__mwtSafe=1;['reset','render','remove','execute','getResponse'].forEach(function(k){var f=t[k];if(typeof f==='function')t[k]=function(){try{return f.apply(t,arguments)}catch(e){}}})}
1664function scan(){if(!passed())return;document.documentElement.classList.add('mwt-tsok');var ws=document.querySelectorAll('.cf-turnstile');for(var i=0;i<ws.length;i++)off(ws[i]);safe()}
1665if(passed()){scan();new MutationObserver(scan).observe(document.documentElement,{childList:true,subtree:true})}
1666var n=0,iv=setInterval(function(){scan();if(++n>1800)clearInterval(iv)},1000);
1667})();
1668</script>
1668
1669
1670<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,930+ tools..." autocomplete="off"><a href="javascript:void(0)" title="Search" onclick="doSearch()"><span class="search-icon">
1671                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" width="18" height="18">
1672                  <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" />
1673                </svg>
1674            </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>
1675.linkto:after { content: '\002B'; }
1676.activelinkto:after { content: '\2212'; }
1677
1678.mwt-tb-wrap { position: relative; display: inline-block; }
1679
1680.mwt-tb-trigger {
1681  display: inline-flex !important;
1682  align-items: center;
1683  gap: 6px;
1684  white-space: nowrap;
1685}
1686
1687.mwt-tb-trigger.linkto:after,
1688.mwt-tb-trigger.activelinkto:after {
1689  content: '';
1690  margin: 0;
1691  float: none;
1692}
1693
1694.mwt-tb-badge {
1695  display: inline-flex;
1696  align-items: center;
1697  justify-content: center;
1698  min-width: 18px;
1699  height: 18px;
1700  padding: 0 5px;
1701  border-radius: 999px;
1702  background: linear-gradient(135deg, #7c4dff, #4a90e2);
1703  color: #fff;
1704  font-size: 11px;
1705  font-weight: 700;
1706  line-height: 1;
1707}
1708
1709.mwt-tb-panel {
1710  position: absolute;
1711  top: calc(100% + 10px);
1712  right: 0;
1713  z-index: 1200;
1714  width: 320px;
1715  max-width: calc(100vw - 24px);
1716  padding: 14px;
1717  text-align: left;
1718  background: var(--mwt-surface, #fff);
1719  color: var(--mwt-text, #0f172a);
1720  border: 1px solid var(--mwt-border, rgba(15, 23, 42, 0.1));
1721  border-radius: 14px;
1722  box-shadow: 0 24px 48px -20px rgba(15, 23, 42, 0.45);
1723}
1724
1725.mwt-tb-panel #mytoollist ul { max-height: 260px; }
1726
1727
1728.mwt-tb-label {
1729  margin: 0 0 6px;
1730  font-size: 11px;
1731  letter-spacing: 0.08em;
1732  text-transform: uppercase;
1733  color: rgba(15, 23, 42, 0.5);
1734}
1735
1736.mwt-tb-panel textarea {
1737  width: 100%;
1738  height: 88px;
1739  padding: 8px 10px;
1740  box-sizing: border-box;
1741  border: 1px solid var(--mwt-border, rgba(15, 23, 42, 0.15));
1742  border-radius: 10px;
1743  background: rgba(15, 23, 42, 0.02);
1744  color: var(--mwt-text, #0f172a);
1745  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
1746  font-size: 12px;
1747  resize: none;
1748}
1749
1750.mwt-tb-btn {
1751  display: block;
1752  width: 100%;
1753  margin-top: 8px;
1754  padding: 9px 12px;
1755  border: none;
1756  border-radius: 10px;
1757  background: linear-gradient(135deg, rgba(124, 77, 255, 0.95), rgba(74, 144, 226, 0.95));
1758  color: #fff !important;
1759  font-size: 14px;
1760  font-weight: 600;
1761  text-align: center;
1762  text-decoration: none;
1763  cursor: pointer;
1764}
1765
1766
1767.mwt-topbar-pro {
1768  margin-left: 6px;
1769  border-radius: 8px;
1770  background: linear-gradient(135deg, #7c4dff, #4a90e2) !important;
1771  color: #fff !important;
1772  font-weight: 600;
1773}
1774
1775#secondbar .mwt-tb-wrap > .mwt-tb-trigger {
1776  gap: 8px;
1777  border: 1px solid rgba(255, 255, 255, 0.18);
1778  border-radius: 12px !important;
1779  background: rgba(124, 77, 255, 0.22) !important;
1780  color: #fff !important;
1781}
1782
1783#secondbar .mwt-tb-wrap > .mwt-tb-trigger:hover,
1784#secondbar .mwt-tb-wrap > .mwt-tb-trigger:focus-visible {
1785  background: rgba(124, 77, 255, 0.32) !important;
1786  color: #fff !important;
1787}
1788
1789.mwt-tb-empty {
1790  margin: 8px 0 0;
1791  font-size: 13px;
1792  line-height: 1.5;
1793  color: var(--mwt-muted, rgba(15, 23, 42, 0.6));
1794}
1795
1796
1797#secondbar #mytoolbox a {
1798  color: var(--mwt-link, #4836c4) !important;
1799}
1800
1801#secondbar #mytoolbox a:hover {
1802  text-decoration: underline;
1803}
1804</style>
1805
1806<style>
1807
1808#mytoolbox ul {
1809  padding: 0;
1810  margin: 0;
1811}
1812#mytoolbox ul{max-height:300px; width:100%;}
1813#mytoolbox ul{overflow:hidden; overflow-y:auto; scrollbar-width: thin;}
1814
1815
1816#mytoolbox ul li {
1817  cursor: pointer;
1818  position: relative;
1819  padding: 10px 10px;
1820  list-style-type: none;
1821  background: transparent;
1822  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
1823  transition: 0.2s;
1824
1825  -webkit-user-select: none;
1826  -moz-user-select: none;
1827  -ms-user-select: none;
1828  user-select: none;
1829}
1830
1831
1832#mytoolbox ul li:nth-child(odd) {
1833  background: rgba(15, 23, 42, 0.02);
1834}
1835
1836
1837#mytoolbox ul li:hover {
1838  background: rgba(124, 77, 255, 0.08);
1839}
1840
1841
1842/* Style the closetoolbox button */
1843#mytoolbox  .closetoolbox {
1844  position: absolute;
1845  right: 0;
1846  top: 0;
1847  padding: 6px 6px 6px 6px;
1848}
1849
1850#mytoolbox .closetoolbox:hover {
1851  background-color: rgba(239, 68, 68, 0.12);
1852  color: #ef4444;
1853}
1854
1855
1856    .onoffswitch {
1857    vertical-align: middle;
1858        
1859        position: relative; width: 65px;
1860        -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
1861    }
1862    .onoffswitch-checkbox {
1863        position: absolute;
1864        opacity: 0;
1865        pointer-events: none;
1866    }
1867    .onoffswitch-label {
1868        display: block; overflow: hidden; cursor: pointer;
1869        border: 2px solid #999999; border-radius: 20px;
1870    }
1871    .onoffswitch-inner {
1872        display: block; width: 200%; margin-left: -100%;
1873        transition: margin 0.3s ease-in 0s;
1874    }
1875    .onoffswitch-inner:before, .onoffswitch-inner:after {
1876        display: block; float: left; width: 50%; height: 30px; padding: 0; line-height: 30px;
1877        font-size: 14px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold;
1878        box-sizing: border-box;
1879    }
1880    .onoffswitch-inner:before {
1881        content: "ON";
1882        padding-left: 10px;
1883        background-color: #34A7C1; color: #FFFFFF;
1884    }
1885    .onoffswitch-inner:after {
1886        content: "OFF";
1887        padding-right: 10px;
1888        background-color: #EEEEEE; color: #999999;
1889        text-align: right;
1890    }
1891    .onoffswitch-switch {
1892        display: block; width: 10px;height:10px; margin: 10px;
1893        background: #FFFFFF;
1894        position: absolute; top: 0; bottom: 0;
1895        right: 31px;
1896        border: 2px solid #999999; border-radius: 20px;
1897        transition: all 0.3s ease-in 0s; 
1898    }
1899    .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
1900        margin-left: 0;
1901    }
1902    .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
1903        right: 0px; 
1904    }
1905    .sliderWrapper{display: inline-block;margin:12px 12px 12px 12px;position:relative;}
1906    .sliderWrapper div{display: inline-block;line-height:60px;}
1907
1908    /* ---------- MiniWebtool friendly dialogs (modal + toast) ---------- */
1909    .mwt-modal-backdrop{
1910      position:fixed;inset:0;z-index:10000;
1911      background:rgba(15,23,42,.55);
1912      display:flex;align-items:center;justify-content:center;
1913      padding:20px;
1914      opacity:0;transition:opacity .18s ease;
1915      font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
1916      color:#0f172a;
1917    }
1918    .mwt-modal-backdrop.on{opacity:1}
1919    .mwt-modal{
1920      width:100%;max-width:420px;background:#fff;border-radius:16px;
1921      box-shadow:0 20px 60px -10px rgba(15,23,42,.35),0 8px 20px -8px rgba(15,23,42,.2);
1922      overflow:hidden;transform:translateY(8px) scale(.98);
1923      transition:transform .2s cubic-bezier(.2,.9,.3,1.2);
1924    }
1925    .mwt-modal-backdrop.on .mwt-modal{transform:translateY(0) scale(1)}
1926    .mwt-modal-head{
1927      padding:22px 24px 4px;display:flex;align-items:center;gap:12px;
1928    }
1929    .mwt-modal-icon{
1930      flex:0 0 40px;width:40px;height:40px;border-radius:50%;
1931      background:linear-gradient(135deg,#a78bfa,#6366f1);
1932      color:#fff;display:flex;align-items:center;justify-content:center;
1933      font-size:20px;font-weight:700;
1934    }
1935    .mwt-modal-title{
1936      margin:0;font-size:17px;font-weight:700;color:#0f172a;letter-spacing:-.005em;
1937    }
1938    .mwt-modal-body{
1939      padding:8px 24px 4px;color:#475569;font-size:14.5px;line-height:1.55;
1940    }
1941    .mwt-modal-body strong{color:#0f172a}
1942    .mwt-modal-foot{
1943      padding:18px 20px 20px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;
1944    }
1945    .mwt-modal-btn{
1946      padding:10px 18px;border-radius:10px;font-weight:600;font-size:14px;
1947      text-decoration:none;cursor:pointer;border:0;line-height:1.2;
1948      transition:filter .12s,transform .12s,background .12s;
1949    }
1950    .mwt-modal-btn.primary{
1951      background:linear-gradient(135deg,#6366f1,#7c4dff);color:#fff;
1952      box-shadow:0 4px 14px rgba(99,102,241,.3);
1953    }
1954    .mwt-modal-btn.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}
1955    .mwt-modal-btn.ghost{background:#f1f5f9;color:#334155}
1956    .mwt-modal-btn.ghost:hover{background:#e2e8f0}
1957    .mwt-modal-close{
1958      position:absolute;top:10px;right:12px;background:none;border:0;
1959      width:32px;height:32px;border-radius:8px;cursor:pointer;
1960      color:#556072;font-size:20px;line-height:1;
1961    }
1962    .mwt-modal-close:hover{background:#f1f5f9;color:#475569}
1963    .mwt-modal{position:relative}
1964    @media (max-width:480px){
1965      .mwt-modal-head{padding:20px 20px 4px}
1966      .mwt-modal-body{padding:8px 20px 4px}
1967      .mwt-modal-foot{padding:16px 16px 18px}
1968      .mwt-modal-btn{flex:1;text-align:center}
1969    }
1970
1971    /* toast — non-blocking info */
1972    .mwt-toast-wrap{
1973      position:fixed;z-index:10001;left:50%;bottom:32px;transform:translateX(-50%);
1974      display:flex;flex-direction:column;gap:8px;pointer-events:none;
1975    }
1976    .mwt-toast{
1977      background:#0f172a;color:#fff;padding:12px 18px;border-radius:10px;
1978      font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
1979      box-shadow:0 8px 24px -4px rgba(15,23,42,.35);
1980      max-width:90vw;opacity:0;transform:translateY(12px);
1981      transition:opacity .2s,transform .2s;pointer-events:auto;
1982    }
1983    .mwt-toast.on{opacity:1;transform:translateY(0)}
1984    .mwt-toast .tick{color:#86efac;margin-right:8px;font-weight:700}
1985</style>
1986
1987<div class="mwt-tb-wrap desktoponly">
1988<button type="button" onclick="linkto('mytoolbox')" class="w3-bar-item w3-button linkto mwt-tb-trigger" aria-haspopup="true" aria-controls="mytoolbox">
1989<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>
1990My Toolbox<span id="mwt-tb-count" class="mwt-tb-badge w3-hide">0</span>
1991</button>
1992<div id="mytoolbox" class="w3-hide mwt-tb-panel">
1993<p class="mwt-tb-label">My Toolbox</p>
1994
1995  
1996  
1997
1998<div id="mytoollist">
1999<ul id="myUL">
2000  
2001</ul>
2002</div>
2003<p id="mwt-tb-empty" class="mwt-tb-empty">No saved tools yet.</p>
2004</div>
2005</div>
2006
2007<script>
2008
2009(function(){
2010  if (window.mwtUpsellModal) return;  
2011  var lastFocus = null;
2012
2013  function closeModal(el){
2014    if (!el) return;
2015    el.classList.remove('on');
2016    setTimeout(function(){ if (el.parentNode) el.parentNode.removeChild(el); }, 200);
2017    document.removeEventListener('keydown', el._esc);
2018    if (lastFocus && lastFocus.focus) { try { lastFocus.focus(); } catch(e){} }
2019  }
2020
2021  window.mwtUpsellModal = function(opts){
2022    opts = opts || {};
2023    if (window.mwtCloseToolbox) window.mwtCloseToolbox();
2024    lastFocus = document.activeElement;
2025    var backdrop = document.createElement('div');
2026    backdrop.className = 'mwt-modal-backdrop';
2027    backdrop.setAttribute('role','dialog');
2028    backdrop.setAttribute('aria-modal','true');
2029    backdrop.setAttribute('aria-labelledby','mwt-modal-title');
2030    backdrop.innerHTML =
2031      '<div class="mwt-modal">' +
2032        '<button class="mwt-modal-close" aria-label="Close">&times;</button>' +
2033        '<div class="mwt-modal-head">' +
2034          '<div class="mwt-modal-icon" aria-hidden="true">' + (opts.icon || '★') + '</div>' +
2035          '<h3 class="mwt-modal-title" id="mwt-modal-title"></h3>' +
2036        '</div>' +
2037        '<div class="mwt-modal-body"></div>' +
2038        '<div class="mwt-modal-foot">' +
2039          '<button type="button" class="mwt-modal-btn ghost" data-act="cancel"></button>' +
2040          '<a class="mwt-modal-btn primary" data-act="ok"></a>' +
2041        '</div>' +
2042      '</div>';
2043    document.body.appendChild(backdrop);
2044    backdrop.querySelector('#mwt-modal-title').textContent = opts.title || '';
2045    backdrop.querySelector('.mwt-modal-body').innerHTML = opts.message || '';
2046    var cancelBtn = backdrop.querySelector('[data-act="cancel"]');
2047    var okBtn     = backdrop.querySelector('[data-act="ok"]');
2048    cancelBtn.textContent = opts.cancelText || 'Maybe later';
2049    okBtn.textContent = opts.primaryText || 'Upgrade';
2050    okBtn.href = opts.primaryHref || '/premium-subscription/';
2051    if (opts.primaryTarget) okBtn.target = opts.primaryTarget;
2052    if (opts.onPrimary) okBtn.addEventListener('click', function(ev){ opts.onPrimary(ev); });
2053
2054    function done(){ closeModal(backdrop); }
2055    cancelBtn.addEventListener('click', done);
2056    backdrop.querySelector('.mwt-modal-close').addEventListener('click', done);
2057    backdrop.addEventListener('click', function(e){ if (e.target === backdrop) done(); });
2058    backdrop._esc = function(e){ if (e.key === 'Escape') done(); };
2059    document.addEventListener('keydown', backdrop._esc);
2060
2061    requestAnimationFrame(function(){ backdrop.classList.add('on'); });
2062    setTimeout(function(){ try { okBtn.focus(); } catch(e){} }, 60);
2063    return backdrop;
2064  };
2065
2066  window.mwtToast = function(message, opts){
2067    opts = opts || {};
2068    var wrap = document.querySelector('.mwt-toast-wrap');
2069    if (!wrap){
2070      wrap = document.createElement('div');
2071      wrap.className = 'mwt-toast-wrap';
2072      document.body.appendChild(wrap);
2073    }
2074    var t = document.createElement('div');
2075    t.className = 'mwt-toast';
2076    t.setAttribute('role','status');
2077    t.innerHTML = (opts.tick !== false ? '<span class="tick">✓</span>' : '') + message;
2078    wrap.appendChild(t);
2079    requestAnimationFrame(function(){ t.classList.add('on'); });
2080    setTimeout(function(){
2081      t.classList.remove('on');
2082      setTimeout(function(){ if (t.parentNode) t.parentNode.removeChild(t); }, 220);
2083    }, opts.duration || 2400);
2084  };
2085})();
2086
2087function updatelocal() {
2088    var mytoollistElem = document.getElementById("mytoollist");
2089    if (mytoollistElem) {
2090        localStorage.setItem("mytoollist", mytoollistElem.innerHTML);
2091    }
2092}
2093
2094function initializeToolbox() {
2095    var text = localStorage.getItem("mytoollist");
2096    if (text !== null && text.toLowerCase().includes('miniwebtool')) {
2097        var mytoollistElem = document.getElementById("mytoollist");
2098        if (mytoollistElem) {
2099            mytoollistElem.innerHTML = text;
2100            var closetoolbox = document.getElementsByClassName("closetoolbox");
2101            for (var i = 0; i < closetoolbox.length; i++) {
2102                closetoolbox[i].onclick = function() {
2103                    var div = this.parentElement;
2104                    div.remove();
2105                    updatelocal();
2106                }
2107            }
2108        }
2109    }
2110}
2111
2112function initializeAutomaticMode() {
2113initializeToolbox();
2114mwtToolboxBadge(); 
2115}
2116
2117
2118
2119function newElement() {
2120  
2121  var i1 = document.getElementById("myUL").getElementsByTagName("li").length;
2122  if (i1>2) {
2123    mwtUpsellModal({
2124      icon: '★',
2125      title: "My Toolbox is full on Free",
2126      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.",
2127      primaryText: "See plans",
2128      cancelText: "Not now",
2129      primaryHref: '/premium-subscription/?src=toolbox&from=_about/contact_'
2130    });
2131    var cb = document.getElementById("myonoffswitch");
2132    if (cb) cb.checked = false;
2133    setCookie('automaticmode', false, 365);
2134    return;
2135  }
2136  
2137  var inputValue = '<a href="https://MiniWebtool.com//"></a>';
2138  var ulcontent = document.getElementById("myUL").innerHTML;
2139  if (!ulcontent.toLowerCase().includes(inputValue.toLowerCase())){
2140  var li = document.createElement("li");
2141  li.innerHTML=inputValue;
2142  
2143    document.getElementById("myUL").appendChild(li);
2144  
2145  
2146
2147  var span = document.createElement("SPAN");
2148  var txt = document.createTextNode("\u00D7");
2149  span.className = "closetoolbox";
2150  span.title = "Remove the link";
2151  span.appendChild(txt);
2152  li.appendChild(span);
2153  var closetoolbox = document.getElementsByClassName("closetoolbox");
2154  var i;
2155
2156  for (i = 0; i < closetoolbox.length; i++) {
2157    closetoolbox[i].onclick = function() {
2158      var div = this.parentElement;
2159      div.remove();
2160      updatelocal();
2161    }
2162  }
2163  updatelocal();
2164}
2165else{
2166  if (!document.getElementById("myonoffswitch").checked){
2167    mwtToast(" is already in your toolbox");
2168  }
2169}
2170}
2171
2172
2173
2174function mytoolboxcheck() {
2175
2176
2177
2178  var checkBox = document.getElementById("myonoffswitch");
2179
2180  
2181    mwtUpsellModal({
2182      icon: '⚡',
2183      title: "Automatic Mode is a paid feature",
2184      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.",
2185      primaryText: "See plans",
2186      cancelText: "Not now",
2187      primaryHref: '/premium-subscription/?src=automode&from=_about/contact_'
2188    });
2189    checkBox.checked = false;
2190    setCookie('automaticmode', false, 365);
2191    return;
2192  
2193
2194  var text = document.getElementById("addtoolbox");
2195  if (checkBox.checked == true){
2196    text.style.display = "none";
2197    checkBox.checked = true;
2198    
2199  } else {
2200     text.style.display = "block";
2201     checkBox.checked = false;
2202  }
2203  setCookie('automaticmode',checkBox.checked,365);
2204  updatelocal();
2205}
2206function mwtToolboxBadge() {
2207  var list = document.getElementById("mytoollist");
2208  var badge = document.getElementById("mwt-tb-count");
2209  if (!list || !badge) return;
2210  var n = list.getElementsByTagName("li").length;
2211  badge.textContent = n;
2212  if (n > 0) { badge.classList.remove("w3-hide"); } else { badge.classList.add("w3-hide"); }
2213  var empty = document.getElementById("mwt-tb-empty");
2214  if (empty) {
2215    if (n > 0) { empty.classList.add("w3-hide"); } else { empty.classList.remove("w3-hide"); }
2216  }
2217}
2218
2219(function () {
2220  function watch() {
2221    var list = document.getElementById("mytoollist");
2222    if (!list) return;
2223    mwtToolboxBadge();
2224    if (window.MutationObserver) {
2225      new MutationObserver(mwtToolboxBadge).observe(list, { childList: true, subtree: true });
2226    }
2227  }
2228  if (document.readyState === "loading") {
2229    document.addEventListener("DOMContentLoaded", watch);
2230  } else {
2231    watch();
2232  }
2233})();
2234
2235(function () {
2236  function closeToolbox() {
2237    var panel = document.getElementById("mytoolbox");
2238    if (!panel || panel.className.indexOf("w3-show") === -1) return;
2239    panel.className = panel.className.replace(" w3-show", "").replace("w3-show", "");
2240    var trigger = document.querySelector(".mwt-tb-trigger");
2241    if (trigger) trigger.className = trigger.className.replace("activelinkto", "linkto");
2242  }
2243  window.mwtCloseToolbox = closeToolbox;
2244  document.addEventListener("click", function (e) {
2245    var wrap = document.querySelector(".mwt-tb-wrap");
2246    if (wrap && !wrap.contains(e.target)) closeToolbox();
2247  }, true);
2248  document.addEventListener("keydown", function (e) {
2249    if (e.key === "Escape" || e.key === "Esc") closeToolbox();
2250  });
2251})();
2252</script>
2252
2253 <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">
2254                  <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" />
2255                </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> 
2255<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>
2255 
2256<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">
2257              <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" />
2258            </svg></a> </div> </div>  </div> <div id="bc" class="mobileonly"><div class="w z3 f6"></div></div>  <div class="main"> 
2259
2260<div class="bg-slate-50 min-h-screen">
2261    
2262    <div class="gradient-bg min-h-screen flex items-center justify-center relative overflow-hidden">
2263        <div class="absolute inset-0 bg-black opacity-20"></div>
2264        
2265        
2266        <div class="absolute top-20 left-20 w-32 h-32 bg-white opacity-10 rounded-full floating-animation"></div>
2267        <div class="absolute bottom-32 right-32 w-24 h-24 bg-white opacity-10 rounded-full floating-animation" style="animation-delay: -2s;"></div>
2268        <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>
2269        
2270        <div class="container mx-auto px-4 sm:px-6 relative z-10"> 
2271            <div class="text-center max-w-4xl mx-auto">
2272                <div class="glass-effect p-6 sm:p-8 rounded-3xl backdrop-blur-xl"> 
2273                    <h1 class="text-5xl sm:text-6xl md:text-8xl font-bold text-white mb-6 leading-tight"> 
2274                        Mini<span class="text-yellow-300">Webtool</span>
2275                    </h1>
2276                    <p class="text-lg sm:text-xl md:text-2xl text-white/90 mb-8 font-light"> 
2277                        Your Trusted Partner for Smart Online Solutions Since 2010
2278                    </p>
2279                    <div class="flex items-center justify-center space-x-2 text-white/80 mb-8">
2280                        <div class="w-3 h-3 bg-green-400 rounded-full pulse-animation"></div>
2281                        <span class="text-base sm:text-lg">Powered by Cosy Touch Limited</span> 
2282                    </div>
2283                    <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"> 
2284                        Explore Our Journey
2285                    </button>
2286                </div>
2287            </div>
2288        </div>
2289    </div>
2290
2291    <div class="container mx-auto px-4 sm:px-6 py-16 sm:py-20" id="content"> 
2292        <section class="mb-16 sm:mb-20"> 
2293            <div class="text-center mb-12 sm:mb-16"> 
2294                <h2 class="text-4xl sm:text-5xl font-bold text-gradient mb-6">Our Journey & Commitment</h2> 
2295                <div class="w-24 h-1 bg-gradient-to-r from-blue-500 to-purple-600 mx-auto rounded-full"></div>
2296            </div>
2297            
2298            <div class="grid md:grid-cols-2 gap-8 md:gap-12 items-center"> 
2299                <div class="space-y-6">
2300                    <p class="text-base sm:text-lg text-slate-700 leading-relaxed"> 
2301                        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,930 tools, with new and updated tools added regularly.
2302                    </p>
2303                    
2304                    <div class="space-y-4">
2305                        <div class="flex items-start space-x-4">
2306                            <div class="w-12 h-12 bg-blue-100 rounded-xl flex items-center justify-center flex-shrink-0">
2307                                <svg class="w-6 h-6 text-blue-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2308                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
2309                                </svg>
2310                            </div>
2311                            <div>
2312                                <h3 class="font-semibold text-slate-900 mb-1 text-md sm:text-lg">Utility & Simplicity</h3> 
2313                                <p class="text-slate-600 text-sm sm:text-base">Tools that are genuinely useful and incredibly intuitive</p> 
2314                            </div>
2315                        </div>
2316                        
2317                        <div class="flex items-start space-x-4">
2318                            <div class="w-12 h-12 bg-green-100 rounded-xl flex items-center justify-center flex-shrink-0">
2319                                <svg class="w-6 h-6 text-green-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2320                                    <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>
2321                                </svg>
2322                            </div>
2323                            <div>
2324                                <h3 class="font-semibold text-slate-900 mb-1 text-md sm:text-lg">Reliability & Accuracy</h3> 
2325                                <p class="text-slate-600 text-sm sm:text-base">Accurate results and reliable performance, every time</p> 
2326                            </div>
2327                        </div>
2328                        
2329                        <div class="flex items-start space-x-4">
2330                            <div class="w-12 h-12 bg-purple-100 rounded-xl flex items-center justify-center flex-shrink-0">
2331                                <svg class="w-6 h-6 text-purple-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2332                                    <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>
2333                                </svg>
2334                            </div>
2335                            <div>
2336                                <h3 class="font-semibold text-slate-900 mb-1 text-md sm:text-lg">Global Accessibility</h3> 
2337                                <p class="text-slate-600 text-sm sm:text-base">Designed for users from all walks of life worldwide</p> 
2338                            </div>
2339                        </div>
2340                        
2341                        <div class="flex items-start space-x-4">
2342                            <div class="w-12 h-12 bg-orange-100 rounded-xl flex items-center justify-center flex-shrink-0">
2343                                <svg class="w-6 h-6 text-orange-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2344                                    <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>
2345                                </svg>
2346                            </div>
2347                            <div>
2348                                <h3 class="font-semibold text-slate-900 mb-1 text-md sm:text-lg">Continuous Improvement</h3> 
2349                                <p class="text-slate-600 text-sm sm:text-base">Constantly enhancing our offerings based on feedback</p> 
2350                            </div>
2351                        </div>
2352                    </div>
2353                </div>
2354                
2355                <div class="relative mt-8 md:mt-0">
2356                    <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"> 
2357                        <div class="text-center">
2358                            <div class="text-5xl sm:text-6xl font-bold mb-2">16+</div> 
2359                            <div class="text-lg sm:text-xl font-medium mb-4">Years Building Tools</div> 
2360                            <div class="text-xs sm:text-sm opacity-90">Since 2010, we've focused on fast, useful tools that solve real tasks</div> 
2361                        </div>
2362                    </div>
2363                </div>
2364            </div>
2365        </section>
2366
2367        <section class="mb-16 sm:mb-20"> 
2368            <div class="text-center mb-12 sm:mb-16"> 
2369                <h2 class="text-4xl sm:text-5xl font-bold text-gradient mb-6">What We Offer</h2> 
2370                <p class="text-lg sm:text-xl text-slate-600 max-w-3xl mx-auto mb-8"> 
2371                    An ever-expanding collection of 1,930+ online utilities, organized so you can quickly find the right calculator, converter, generator, or productivity tool.
2372                </p>
2373                <div class="w-24 h-1 bg-gradient-to-r from-blue-500 to-purple-600 mx-auto rounded-full"></div>
2374            </div>
2375
2376            <div class="bento-grid">
2377                <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"> 
2378                    <div class="feature-icon">
2379                        <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2380                            <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>
2381                        </svg>
2382                    </div>
2383                    <h3 class="text-xl sm:text-2xl font-bold text-slate-900 mb-4">Calculators for Every Need</h3> 
2384                    <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> 
2385                    <div class="flex flex-wrap gap-2 mb-4">
2386                        <span class="px-3 py-1 bg-blue-200 text-blue-800 rounded-full text-xs sm:text-sm font-medium">Sum Calculator</span>
2387                        <span class="px-3 py-1 bg-blue-200 text-blue-800 rounded-full text-xs sm:text-sm font-medium">Mortgage Calculator</span>
2388                        <span class="px-3 py-1 bg-blue-200 text-blue-800 rounded-full text-xs sm:text-sm font-medium">ERA Calculator</span>
2389                        <span class="px-3 py-1 bg-blue-200 text-blue-800 rounded-full text-xs sm:text-sm font-medium">Love Calculator</span>
2390                    </div>
2391                    <div class="text-2xl sm:text-3xl font-bold text-blue-600">450+ Calculators</div> 
2392                </div>
2393
2394                <div class="bento-item bg-gradient-to-br from-green-50 to-emerald-100 p-6 sm:p-8 card-hover"> 
2395                    <div class="feature-icon bg-gradient-to-br from-green-500 to-emerald-600">
2396                        <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2397                            <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>
2398                        </svg>
2399                    </div>
2400                    <h3 class="text-lg sm:text-xl font-bold text-slate-900 mb-3">Versatile Converters</h3> 
2401                    <p class="text-slate-700 mb-4 text-sm sm:text-base">Unit conversions, data conversions, and format transformations.</p> 
2402                    <div class="text-xl sm:text-2xl font-bold text-green-600">100+ Converters</div> 
2403                </div>
2404
2405                <div class="bento-item bg-gradient-to-br from-purple-50 to-violet-100 p-6 sm:p-8 card-hover"> 
2406                    <div class="feature-icon bg-gradient-to-br from-purple-500 to-violet-600">
2407                        <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2408                            <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>
2409                        </svg>
2410                    </div>
2411                    <h3 class="text-lg sm:text-xl font-bold text-slate-900 mb-3">Text & Data Utilities</h3> 
2412                    <p class="text-slate-700 mb-4 text-sm sm:text-base">Powerful text manipulation and data extraction tools with AI features.</p> 
2413                    <div class="text-xl sm:text-2xl font-bold text-purple-600">100+ Text Tools</div> 
2414                </div>
2415
2416                <div class="bento-item bg-gradient-to-br from-orange-50 to-amber-100 p-6 sm:p-8 card-hover"> 
2417                    <div class="feature-icon bg-gradient-to-br from-orange-500 to-amber-600">
2418                        <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2419                            <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>
2420                        </svg>
2421                    </div>
2422                    <h3 class="text-lg sm:text-xl font-bold text-slate-900 mb-3">Random Generators</h3> 
2423                    <p class="text-slate-700 mb-4 text-sm sm:text-base">For fun, decision-making, or data generation needs.</p> 
2424                    <div class="text-xl sm:text-2xl font-bold text-orange-600">60+ Random Tools</div> 
2425                </div>
2426
2427                <div class="bento-item bg-gradient-to-br from-cyan-50 to-blue-100 p-6 sm:p-8 card-hover"> 
2428                    <div class="feature-icon bg-gradient-to-br from-cyan-500 to-blue-600">
2429                        <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2430                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"></path>
2431                        </svg>
2432                    </div>
2433                    <h3 class="text-lg sm:text-xl font-bold text-slate-900 mb-3">Developer Tools</h3> 
2434                    <p class="text-slate-700 mb-4 text-sm sm:text-base">Essential utilities for developers including hash, checksum, encoding, and webmaster tools.</p> 
2435                    <div class="text-xl sm:text-2xl font-bold text-cyan-600">60+ Developer Utilities</div> 
2436                </div>
2437
2438                <div class="bento-item bg-gradient-to-br from-pink-50 to-rose-100 p-6 sm:p-8 card-hover"> 
2439                    <div class="feature-icon bg-gradient-to-br from-pink-500 to-rose-600">
2440                        <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2441                            <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>
2442                        </svg>
2443                    </div>
2444                    <h3 class="text-lg sm:text-xl font-bold text-slate-900 mb-3">Multimedia Tools</h3> 
2445                    <p class="text-slate-700 mb-4 text-sm sm:text-base">Image, audio, and video processing tools for content creators.</p> 
2446                    <div class="text-xl sm:text-2xl font-bold text-pink-600">50+ Multimedia Tools</div> 
2447                </div>
2448            </div>
2449        </section>
2450
2451        <section class="mb-16 sm:mb-20"> 
2452            <div class="bg-gradient-to-br from-slate-900 to-slate-800 rounded-3xl p-8 sm:p-12 text-white relative overflow-hidden"> 
2453                <div class="absolute inset-0 bg-gradient-to-br from-blue-600/20 to-purple-600/20"></div>
2454                <div class="relative z-10">
2455                    <h2 class="text-3xl sm:text-4xl font-bold mb-8 sm:mb-12 text-center">Why Choose MiniWebtool?</h2> 
2456                    
2457                    <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
2458                        <div class="text-center">
2459                            <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">
2460                                <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2461                                    <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>
2462                                </svg>
2463                            </div>
2464                            <h3 class="text-lg sm:text-xl font-semibold mb-2">Unmatched Variety</h3> 
2465                            <p class="text-white/80 text-sm sm:text-base">Extensive collection covering a vast spectrum of needs</p> 
2466                        </div>
2467                        
2468                        <div class="text-center">
2469                            <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">
2470                                <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2471                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
2472                                </svg>
2473                            </div>
2474                            <h3 class="text-lg sm:text-xl font-semibold mb-2">16+ Years Experience</h3> 
2475                            <p class="text-white/80 text-sm sm:text-base">Proven expertise in developing robust online tools</p> 
2476                        </div>
2477                        
2478                        <div class="text-center">
2479                            <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">
2480                                <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2481                                    <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>
2482                                </svg>
2483                            </div>
2484                            <h3 class="text-lg sm:text-xl font-semibold mb-2">User-Focused</h3> 
2485                            <p class="text-white/80 text-sm sm:text-base">Your feedback shapes our tools and improvements</p> 
2486                        </div>
2487                        
2488                        <div class="text-center">
2489                            <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">
2490                                <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2491                                    <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>
2492                                </svg>
2493                            </div>
2494                            <h3 class="text-lg sm:text-xl font-semibold mb-2">Free & Accessible</h3> 
2495                            <p class="text-white/80 text-sm sm:text-base">Powerful utilities accessible to everyone globally</p> 
2496                        </div>
2497                        
2498                        <div class="text-center">
2499                            <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">
2500                                <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2501                                    <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>
2502                                </svg>
2503                            </div>
2504                            <h3 class="text-lg sm:text-xl font-semibold mb-2">Trustworthy</h3> 
2505                            <p class="text-white/80 text-sm sm:text-base">Backed by Cosy Touch Limited, New Zealand</p> 
2506                        </div>
2507                        
2508                        <div class="text-center">
2509                            <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">
2510                                <svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
2511                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"></path>
2512                                </svg>
2513                            </div>
2514                            <h3 class="text-lg sm:text-xl font-semibold mb-2">Always Growing</h3> 
2515                            <p class="text-white/80 text-sm sm:text-base">Constantly adding new tools and features</p> 
2516                        </div>
2517                    </div>
2518                </div>
2519            </div>
2520        </section>
2521
2522        <section class="mb-16 sm:mb-20 text-center"> 
2523            <div class="bg-gradient-to-r from-blue-600 to-purple-600 rounded-3xl p-8 sm:p-12 text-white"> 
2524                <h2 class="text-3xl sm:text-4xl font-bold mb-4">Ready to Explore?</h2> 
2525                <p class="text-lg sm:text-xl mb-8 opacity-90">Discover 1,930+ tools designed to make everyday tasks easier</p> 
2526                <a href="/alltools/">
2527                    <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"> 
2528                        Browse All Tools
2529                    </button>
2530                </a>
2531            </div>
2532        </section>
2533
2534        <section class="py-16 sm:py-20">
2535            <div class="text-center mb-12 sm:mb-16">
2536                <h2 class="text-4xl sm:text-5xl font-bold text-gradient mb-6">Contact Us</h2>
2537                <div class="w-24 h-1 bg-gradient-to-r from-blue-500 to-purple-600 mx-auto rounded-full"></div>
2538            </div>
2539            <div class="max-w-2xl mx-auto text-center text-slate-700 space-y-4">
2540                <p class="text-lg sm:text-xl font-semibold">Cosy Touch Limited</p>
2541                <p class="text-base sm:text-lg">NZBN: 9429030636798, registered in New Zealand.</p>
2542                <p class="text-base sm:text-lg">
2542Email: <a class="text-blue-600 hover:text-blue-800 font-medium" href="/cdn-cgi/l/email-protection#2d5e585d5d425f596d404443445a484f59424241034e4240"><span class="__cf_email__" data-cfemail="41323431312e3335012c282f28362423352e2e2d6f222e2c">[email&#160;protected]</span></a></p>
2543                
2544                <div class="grid sm:grid-cols-3 gap-4 text-left my-8">
2545                    <a href="/premium-subscription/" class="block rounded-2xl border border-slate-200 bg-white p-4 hover:border-blue-300 hover:shadow-md transition">
2546                        <span class="block font-semibold text-slate-900">Subscriptions</span>
2547                        <span class="block text-sm text-slate-600 mt-1">Manage Pro, Premium, or access questions.</span>
2548                    </a>
2549                    <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">
2550                        <span class="block font-semibold text-slate-900">API & Agents</span>
2551                        <span class="block text-sm text-slate-600 mt-1">View API docs, tools, and developer access.</span>
2552                    </a>
2553                    <a href="/alltools/" class="block rounded-2xl border border-slate-200 bg-white p-4 hover:border-blue-300 hover:shadow-md transition">
2554                        <span class="block font-semibold text-slate-900">Tool Feedback</span>
2555                        <span class="block text-sm text-slate-600 mt-1">Suggest a tool or report an issue.</span>
2556                    </a>
2557                </div>
2558
2559                <div id="follow-miniwebtool" class="text-left my-8 rounded-2xl border border-slate-200 bg-white p-5">
2560                    <p class="font-semibold text-slate-900 mb-1">Follow MiniWebtool</p>
2561                    <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>
2562                    <ul class="space-y-2 text-base">
2563                        <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>
2564                        <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>
2565                        <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>
2566                    </ul>
2567                    <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>
2568                </div>
2569
2570                <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>
2571            
2572            <form action="" method="POST" class="space-y-6">
2573                
2574                
2575                
2576                <div>
2577                    <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>
2578                    <input type="text" name="name" class="required" maxlength="100" required id="id_name">
2579                    
2580                    
2581                </div>
2582                
2583                <div>
2584                    <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>
2585                    <input type="text" name="email" class="required" maxlength="200" required id="id_email">
2586                    
2587                    
2588                </div>
2589                
2590                <div>
2591                    <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>
2592                    <textarea name="body" cols="40" rows="10" class="required" required id="id_body">
2593</textarea>
2594                    
2595                    
2596                </div>
2597                
2598                <div>
2599                    <label for="id_yourwebsite" class="block text-sm font-medium text-slate-700 mb-1"><b><label for="id_yourwebsite"></label></b></label>
2600                    <input type="hidden" name="yourwebsite" id="id_yourwebsite">
2601                    
2602                    
2603                </div>
2604                
2605                <div>
2606                    <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>
2607                    <input type="hidden" name="form_timestamp" value="1790823722" id="id_form_timestamp">
2608                    
2609                    
2610                </div>
2611                
2612                <div>
2613                    <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 2613-2614
2613
2614                    <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
vendor: 64 bytes, line 2614
2614<script src="https://www.google.com/recaptcha/api.js"></script>
2615<script type="text/javascript">
2616    // Submit function to be called, after reCAPTCHA was successful.
2617    var onSubmit_377315af0e0245a1933b6997ac6ea84b = function(token) {
2618        console.log("reCAPTCHA validated for 'data-widget-uuid=\"377315af0e0245a1933b6997ac6ea84b\"'")
2619    };
2620</script>
2620
2621
2622<div class="g-recaptcha"
2623     data-theme="light" data-sitekey="6LfxHYgoAAAAAEphBb5NoOho_9UbY3C8j1dEOf25" required id="id_captcha" data-widget-uuid="377315af0e0245a1933b6997ac6ea84b" data-callback="onSubmit_377315af0e0245a1933b6997ac6ea84b" data-size="normal"
2624>
2625</div>
2626                    
2627                    
2628                </div>
2629                
2630                
2631                <div class="p_trap">
2632                    <hr>
2633                    <p>The following fields are present to prevent automated submission systems. If you see it, please do not fill in a value.</p>
2634                    <input type="text" name="f_email" value="">
2635                    <hr>
2636                </div>
2637                
2638                <div>
2639                    <input type="submit" value="Send Message">
2640                </div>
2641            </form>
2642            </div>
2643        </section>
2644
2645    </div>
2646
2647    
2647<script>
2648        function scrollToContent() {
2649            document.getElementById('content').scrollIntoView({ 
2650                behavior: 'smooth' 
2651            });
2652        }
2653
2654        const cards = document.querySelectorAll('.card-hover');
2655        cards.forEach(card => {
2656            card.addEventListener('mouseenter', () => {
2657                card.style.transform = 'translateY(-8px) scale(1.02)';
2658            });
2659            
2660            card.addEventListener('mouseleave', () => {
2661                card.style.transform = 'translateY(0) scale(1)';
2662            });
2663        });
2664
2665        const observerOptions = {
2666            threshold: 0.1,
2667            rootMargin: '0px 0px -50px 0px'
2668        };
2669
2670        const observer = new IntersectionObserver((entries) => {
2671            entries.forEach(entry => {
2672                if (entry.isIntersecting) {
2673                    entry.target.style.opacity = '1';
2674                    entry.target.style.transform = 'translateY(0)';
2675                }
2676            });
2677        }, observerOptions);
2678
2679        const bentoItems = document.querySelectorAll('.bento-item');
2680        bentoItems.forEach((item, index) => {
2681            item.style.opacity = '0';
2682            item.style.transform = 'translateY(30px)';
2683            item.style.transition = `opacity 0.6s ease ${index * 0.1}s, transform 0.6s ease ${index * 0.1}s`;
2684            observer.observe(item);
2685        });
2686    </script>
2686
2687</div>
2688
2689       
2690
2691</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 to exact pixels, cm or inches, or to a file size such as 20 KB or 50 KB. Form photo, signature and passport presets, batch resizing and crop to fill. 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="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" 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" href="/top-updated/">View all →</a></div> </div>  <div id="right" class="w3-container desktoponly" style="width:342px">  
2692</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>
2692<script async src="https://MiniWebtool.com/embed.js?v=1.1"></script>
2692</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> 
2692<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>
2692 <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> 
2692<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>
2692 <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>    
2692<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>
2692  
2692<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>
2692   
2692<script defer src="/js/mwt-ui.v1.js?v=6abc1217&inp=20260908"></script>
2692     <div id="mwt-tip"></div>
2693<script>
2694(function(){
2695  var tip = document.getElementById('mwt-tip');
2696  if (!tip) return;
2697  document.addEventListener('mouseover', function(e) {
2698    var el = e.target.closest('[data-tip]');
2699    if (el && el.dataset.tip) {
2700      tip.textContent = el.dataset.tip;
2701      tip.classList.add('show');
2702    }
2703  });
2704  document.addEventListener('mouseout', function(e) {
2705    var el = e.target.closest('[data-tip]');
2706    if (el) tip.classList.remove('show');
2707  });
2708  document.addEventListener('mousemove', function(e) {
2709    if (!tip.classList.contains('show')) return;
2710    var x = e.clientX + 15, y = e.clientY + 15;
2711    var tw = tip.offsetWidth, th = tip.offsetHeight;
2712    if (x + tw > window.innerWidth - 10) x = e.clientX - tw - 15;
2713    if (y + th > window.innerHeight - 10) y = e.clientY - th - 15;
2714    tip.style.left = x + 'px';
2715    tip.style.top = y + 'px';
2716  });
2717})();
2718</script>
vendor: 1 bytes, line 2718
2718
2719<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>
2719 <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>
2720
2721<style>
2722  /* The overlay scrolls, the card centers via margin:auto — unlike flex
2723     centering this never clips the card's top edge when large fonts or a
2724     short viewport make the card taller than the screen. */
2725  #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}
2726  #mwt-zipgate.on{display:flex}
2727  #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}
2728  #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}
2729  #mwt-zipgate .zg-x:hover{color:#475569}
2730  #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}
2731  #mwt-zipgate h3{margin:0 0 8px;font-size:1.18rem;font-weight:800;letter-spacing:-.01em}
2732  #mwt-zipgate .zg-free{margin:0 0 12px;color:#475569;font-size:.93rem}
2733  #mwt-zipgate ul{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}
2734  #mwt-zipgate li{position:relative;padding-left:24px;font-size:.92rem}
2735  #mwt-zipgate li:before{content:"\2713";position:absolute;left:2px;top:0;color:#16a34a;font-weight:700}
2736  #mwt-zipgate .zg-price{margin:0 0 14px;color:#475569;font-size:.85rem}
2737  #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}
2738  #mwt-zipgate .zg-cta:hover{background:#14532d}
2739  #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}
2740  #mwt-zipgate .zg-or:before,#mwt-zipgate .zg-or:after{content:"";flex:1;height:1px;background:#e2e8f0}
2741  #mwt-zipgate .zg-reward{display:none}
2742  #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}
2743  #mwt-zipgate .zg-reward-btn:hover{border-color:#94a3b8;background:#f8fafc}
2744  #mwt-zipgate .zg-reward-note{margin:7px 0 0;color:#556072;font-size:.76rem;text-align:center}
2745  #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}
2746  #mwt-zipgate .zg-foot{margin:12px 0 0;color:#556072;font-size:.76rem;text-align:center}
2747</style>
2748<div id="mwt-zipgate" role="dialog" aria-modal="true" aria-labelledby="mwt-zipgate-title"></div>
2749<template id="mwt-zipgate-card">
2750  <div class="zg-card">
2751    <button type="button" class="zg-x" id="mwt-zipgate-x" aria-label="Close">&times;</button>
2752    <span class="zg-badge">Pro feature</span>
2753    
2754    <h3 id="mwt-zipgate-title">Download everything as one ZIP with Pro</h3>
2755    <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>
2756    <ul>
2757      <li>Batch ZIP downloads on all image, PDF & video tools</li>
2758    
2759      <li>60 runs/day on capped tools (20× the free plan)</li>
2760      <li>Ads off, everywhere on the site</li>
2761      <li>My Toolbox unlocked — unlimited saves + Automatic Mode</li>
2762    </ul>
2763    <p class="zg-price">From <strong>$3.33/month</strong> billed annually &middot; cancel anytime &middot; no account needed &middot; unlocks instantly</p>
2764    <span id="zg-exp-title" hidden>Download this result as a file with Pro</span>
2765    <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>
2766    <span id="zg-exp-bullet" hidden>PDF and JPG downloads of any tool's result</span>
2767    <span id="zg-exp-later" hidden>Not now — reading it on the page is enough</span>
2768    <span id="zg-exp-reward" hidden>Watch a short ad — unlock PDF & JPG on this tool for the rest of today</span>
2769    <a rel="nofollow" class="zg-cta" data-mwt-zipgate-cta="pro"
2770       href="/premium-subscription/?tier=pro&amp;from=_about/contact_&amp;src=zipgate">See Pro plans &rarr;</a>
2771    
2772    <div class="zg-reward" id="mwt-zg-reward">
2773      <div class="zg-or">or</div>
2774      <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>
2775      <p class="zg-reward-note">This download only. No account, no card.</p>
2776    </div>
2777    
2778    
2779    <button type="button" class="zg-later" id="mwt-zipgate-later">Not now — I'll download files one by one</button>
2780    
2781    <p class="zg-foot">Premium includes everything in Pro, with no daily caps at all.</p>
2782  </div>
2783</template>
2784
2785<script>
2786(function () {
2787  if (window.mwtRequestUsageStatus) return;
2788  var pending = Object.create(null);
2789  // Share only in-flight reads. Never reuse settled quota data after a
2790  // reserve/commit/refund, and never cache a user's quota in shared storage.
2791  window.mwtRequestUsageStatus = function (module, lang) {
2792    var url = '/_api/usage/status/?module=' + encodeURIComponent(module) +
2793      '&lang=' + encodeURIComponent(lang || 'en');
2794    var tv = (location.search || '').match(/[?&]tv=([ab])(?:&|$)/);
2795    if (tv) url += '&tv=' + tv[1];
2796    if (!pending[url]) {
2797      var request = Promise.resolve().then(function () {
2798        return fetch(url, {credentials: 'same-origin', cache: 'no-store'});
2799      }).then(function (response) { return response.ok ? response.json() : null; });
2800      pending[url] = request;
2801      function release() { if (pending[url] === request) delete pending[url]; }
2802      request.then(release, release);
2803    }
2804    return pending[url];
2805  };
2806})();
2807</script>
2807
2808
2809<script>
2810(function () {
2811  var SEL  = "";
2812  var EXPSEL = "#mwt\u002Dexport\u002Dpdf, #mwt\u002Dexport\u002Djpg";
2813  var ALLSEL = SEL && EXPSEL ? (SEL + ", " + EXPSEL) : (SEL || EXPSEL);
2814  var MOD  = "_about/contact_";
2815  var LANG = "en";
2816  var GATE_KIND = "zip";
2817  var AD   = "/71161633,21815091813/MINWBTOOL_miniwebtool/rewarded_ad";
2818  var ADTEST = false;
2819  var modal = document.getElementById('mwt-zipgate');
2820  var cardTpl = document.getElementById('mwt-zipgate-card');
2821  if (!ALLSEL || !MOD || !modal || !cardTpl) return;
2822
2823  try {
2824    if (modal.parentNode !== document.body) document.body.appendChild(modal);
2825  } catch (e) {}
2826
2827  var hydrated = false;
2828  function hydrate() {
2829    if (hydrated) return;
2830    hydrated = true;
2831    modal.appendChild(cardTpl.content.cloneNode(true));
2832    var x = modal.querySelector('#mwt-zipgate-x');
2833    if (x) x.addEventListener('click', hideModal);
2834    var later = modal.querySelector('#mwt-zipgate-later');
2835    if (later) later.addEventListener('click', hideModal);
2836    if (AD) {
2837      var rewardBtn = modal.querySelector('#mwt-zg-reward-btn');
2838      if (rewardBtn) rewardBtn.addEventListener('click', onRewardBtnClick);
2839    }
2840  }
2841
2842  var state = null;
2843  var pending = null;
2844  var impressionFired = false;
2845  var lastFocus = null;
2846
2847  var adSlot = null, adReady = null, adRequested = false;
2848  var adGranted = false, adOfferLogged = false, adBound = false;
2849  var rewardEl = null, pendingEl = null, adTarget = null;
2850
2851  function ga(name, params) {
2852    if (typeof gtag !== 'function') return;
2853    try { gtag('event', name, params); } catch (e) {}
2854  }
2855
2856  function decide(tier, isPaid) {
2857    return (tier === 'pro' || tier === 'premium' || isPaid) ? 'allow' : 'gate';
2858  }
2859
2860  function tierFromQuota() {
2861    var q = window.__mwtQuota;
2862    return (q && q.live && q.tier) ? q.tier : null;
2863  }
2864
2865  function resolveState() {
2866    if (state) return Promise.resolve(state);
2867    var t = tierFromQuota();
2868    if (t) { state = decide(t, false); return Promise.resolve(state); }
2869    if (!pending) {
2870      pending = window.mwtRequestUsageStatus(MOD, LANG)
2871        .then(function (d) {
2872          state = d ? decide(d.tier, d.is_paid) : 'allow';
2873          return state;
2874        })
2875        .catch(function () { state = 'allow'; return state; });
2876    }
2877    return pending;
2878  }
2879
2880  var zipCopy = null;
2881
2882  function isExportEl(el) {
2883    return !!(EXPSEL && el.closest && el.closest(EXPSEL));
2884  }
2885
2886  function canReward(el) {
2887    return !!el && (isExportEl(el) || GATE_KIND !== 'zip');
2888  }
2889
2890  function updateRewardOffer() {
2891    var box = rewardBox();
2892    var eligible = canReward(pendingEl) && !!adReady;
2893    if (box) box.style.display = eligible ? 'block' : 'none';
2894    if (eligible && !adOfferLogged) {
2895      adOfferLogged = true;
2896      ga('rewarded_offer_shown', { source_tool: MOD });
2897    }
2898  }
2899
2900  function applyGateCopy(forExport) {
2901    hydrate();
2902    updateRewardOffer();
2903    var title = modal.querySelector('#mwt-zipgate-title');
2904    var free = modal.querySelector('.zg-free');
2905    var bullet = modal.querySelector('ul li');
2906    var later = modal.querySelector('#mwt-zipgate-later');
2907    var reward = modal.querySelector('#mwt-zg-reward-btn');
2908    if (!title || !free || !bullet) return;
2909    if (zipCopy === null) {
2910      zipCopy = {
2911        title: title.innerHTML, free: free.innerHTML, bullet: bullet.innerHTML,
2912        later: later ? later.innerHTML : '', reward: reward ? reward.innerHTML : ''
2913      };
2914    }
2915    var pick = function (id, fallback) {
2916      var el = modal.querySelector(id);
2917      return el ? el.innerHTML : fallback;
2918    };
2919    if (forExport) {
2920      title.innerHTML = pick('#zg-exp-title', zipCopy.title);
2921      free.innerHTML = pick('#zg-exp-free', zipCopy.free);
2922      bullet.innerHTML = pick('#zg-exp-bullet', zipCopy.bullet);
2923      if (later) later.innerHTML = pick('#zg-exp-later', zipCopy.later);
2924      if (reward) reward.innerHTML = pick('#zg-exp-reward', zipCopy.reward);
2925    } else {
2926      title.innerHTML = zipCopy.title;
2927      free.innerHTML = zipCopy.free;
2928      bullet.innerHTML = zipCopy.bullet;
2929      if (later) later.innerHTML = zipCopy.later;
2930      if (reward) reward.innerHTML = zipCopy.reward;
2931    }
2932  }
2933
2934  function showModal() {
2935    hydrate();
2936    lastFocus = document.activeElement;
2937    modal.classList.add('on');
2938    var cta = modal.querySelector('.zg-cta');
2939    if (cta) try { cta.focus(); } catch (e) {}
2940    if (!impressionFired) {
2941      impressionFired = true;
2942      ga('zipgate_impression', { source_tool: MOD, tier: 'free' });
2943    }
2944  }
2945
2946  function hideModal() {
2947    modal.classList.remove('on');
2948    if (lastFocus && lastFocus.focus) try { lastFocus.focus(); } catch (e) {}
2949  }
2950
2951  modal.addEventListener('click', function (ev) {
2952    if (ev.target === modal) hideModal();                       
2953    var cta = ev.target.closest ? ev.target.closest('[data-mwt-zipgate-cta]') : null;
2954    if (cta) {
2955      ga('begin_checkout', { tier: 'pro', source_tool: MOD, trigger: 'zipgate' });
2956    }
2957  });
2958  document.addEventListener('keydown', function (ev) {
2959    if (ev.key === 'Escape' && modal.classList.contains('on')) hideModal();
2960  });
2961
2962  function expDay() {
2963    var d = new Date();
2964    return '' + d.getFullYear() + ('0' + (d.getMonth() + 1)).slice(-2) + ('0' + d.getDate()).slice(-2);
2965  }
2966
2967  function expKey() { return 'mwt_exp_unlock:' + MOD + ':' + expDay(); }
2968
2969  function expUnlocked() {
2970    try { return window.localStorage.getItem(expKey()) === '1'; } catch (e) { return false; }
2971  }
2972
2973  function setExpUnlocked() {
2974    try {
2975      var ls = window.localStorage;
2976      ls.setItem(expKey(), '1');
2977      var today = expDay(), stale = [];
2978      for (var i = 0; i < ls.length; i++) {
2979        var k = ls.key(i);
2980        if (k && k.indexOf('mwt_exp_unlock:') === 0 && k.slice(-8) !== today) stale.push(k);
2981      }
2982      for (var j = 0; j < stale.length; j++) ls.removeItem(stale[j]);
2983    } catch (e) {}
2984  }
2985
2986  function rewardBox() { return document.getElementById('mwt-zg-reward'); }
2987
2988  function onAdReady(evt) {
2989    adReady = evt;
2990    updateRewardOffer();
2991  }
2992
2993  function onAdGranted(evt) {
2994    adGranted = true;
2995    ga('rewarded_granted', {
2996      source_tool: MOD,
2997      reward_type: (evt && evt.payload && evt.payload.type) || ''
2998    });
2999  }
3000
3001  function onAdClosed() {
3002    var box = rewardBox();
3003    if (box) box.style.display = 'none';
3004    try { googletag.destroySlots([adSlot]); } catch (e) {}
3005    adSlot = null; adReady = null; adRequested = false; adOfferLogged = false;
3006    if (adGranted) {
3007      adGranted = false;
3008      var target = adTarget;
3009      adTarget = null;
3010      if (canReward(target)) {
3011        rewardEl = target;
3012        if (isExportEl(target)) setExpUnlocked();
3013        hideModal();
3014        try { target.click(); } catch (e) {}
3015      }
3016    } else {
3017      ga('rewarded_dismissed', { source_tool: MOD });
3018      showModal();
3019    }
3020  }
3021
3022  function stubAd() {
3023    var left = 5;
3024    var o = document.createElement('div');
3025    o.style.cssText = 'position:fixed;inset:0;z-index:2147483647;background:#0f172a;color:#fff;' +
3026      'display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;' +
3027      'font:16px/1.5 system-ui,-apple-system,sans-serif;text-align:center;padding:24px';
3028    o.innerHTML = '<div style="font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.55">' +
3029      'DEBUG rewarded-ad stub</div><div style="font-size:2.6rem;font-weight:800">' +
3030      '<span id="mwt-zg-stub-n">5</span></div>' +
3031      '<button type="button" id="mwt-zg-stub-x" style="border:0;border-radius:8px;padding:9px 18px;' +
3032      'font-size:.9rem;cursor:pointer">Close early (forfeit reward)</button>';
3033    document.body.appendChild(o);
3034    var timer = null;
3035    function finish(granted) {
3036      if (timer) { clearInterval(timer); timer = null; }
3037      if (o.parentNode) o.parentNode.removeChild(o);
3038      if (granted) onAdGranted({ payload: { type: 'test', amount: 1 } });
3039      onAdClosed();
3040    }
3041    o.querySelector('#mwt-zg-stub-x').addEventListener('click', function () { finish(false); });
3042    timer = setInterval(function () {
3043      left -= 1;
3044      var n = o.querySelector('#mwt-zg-stub-n');
3045      if (n) n.textContent = String(left);
3046      if (left <= 0) finish(true);
3047    }, 1000);
3048  }
3049
3050  function loadRewarded(el) {
3051    if (!canReward(el) || !AD || adRequested) return;
3052    hydrate();
3053    adRequested = true;
3054    if (ADTEST) { onAdReady({ makeRewardedVisible: stubAd }); return; }
3055    try { if (typeof window.loadf === 'function') window.loadf(); } catch (e) {}
3056    window.googletag = window.googletag || {};
3057    window.googletag.cmd = window.googletag.cmd || [];
3058    googletag.cmd.push(function () {
3059      try {
3060        var fmt = googletag.enums && googletag.enums.OutOfPageFormat;
3061        if (!fmt || !fmt.REWARDED) return;
3062        adSlot = googletag.defineOutOfPageSlot(AD, fmt.REWARDED);
3063        if (!adSlot) return;
3064        adSlot.addService(googletag.pubads());
3065        if (!adBound) {
3066          adBound = true;
3067          googletag.pubads().addEventListener('rewardedSlotReady', onAdReady);
3068          googletag.pubads().addEventListener('rewardedSlotGranted', onAdGranted);
3069          googletag.pubads().addEventListener('rewardedSlotClosed', onAdClosed);
3070        }
3071        googletag.enableServices();
3072        googletag.display(adSlot);
3073        googletag.pubads().refresh([adSlot]);
3074      } catch (e) { adRequested = false; }
3075    });
3076  }
3077
3078  function onRewardBtnClick() {
3079    if (!adReady || !canReward(pendingEl)) return;
3080    adTarget = pendingEl;
3081    ga('rewarded_opt_in', { source_tool: MOD });
3082    var evt = adReady;
3083    adReady = null;
3084    hideModal();
3085    try { evt.makeRewardedVisible(); } catch (e) { showModal(); }
3086  }
3087
3088  function prewarm(ev) {
3089    var el = ev.target && ev.target.closest ? ev.target.closest(ALLSEL) : null;
3090    if (!el) return;
3091    resolveState().then(function (s) { if (s === 'gate') loadRewarded(el); });
3092  }
3093  document.addEventListener('pointerover', prewarm, true);
3094  document.addEventListener('touchstart', prewarm, { capture: true, passive: true });
3095
3096  document.addEventListener('click', function (ev) {
3097    var el = ev.target && ev.target.closest ? ev.target.closest(ALLSEL) : null;
3098    if (!el) return;
3099    if (rewardEl === el && canReward(el)) { rewardEl = null; return; }             
3100    if (isExportEl(el) && expUnlocked()) return;                
3101    if (state === 'allow') return;                              
3102    pendingEl = el;
3103    applyGateCopy(isExportEl(el));
3104    ev.preventDefault();
3105    ev.stopImmediatePropagation();
3106    ev.stopPropagation();
3107    if (state === 'gate') { loadRewarded(el); showModal(); return; }
3108    resolveState().then(function (s) {
3109      if (s === 'allow') {
3110        el.click();                                             
3111      } else {
3112        loadRewarded(el);
3113        showModal();
3114      }
3115    });
3116  }, true);
3117})();
3118</script>
3118
3119
3120
3121
3122
3123
3124
3125
3126</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.