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"> · 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">×</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 — 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 — 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&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: 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&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 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"> ©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"> ©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"> > <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 © 2010-<span id="current-year"></span> 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 & 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">×</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 · cancel anytime · no account needed · 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&from=_about/contact_&src=zipgate">See Pro plans →</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.