5146 lines
721 KiB
HTML
5146 lines
721 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<meta property="article:tag" content="Networking" />
|
|
<meta property="article:tag" content="Computers Electronics" />
|
|
<meta property="article:tag" content="Pc Magazine" />
|
|
|
|
<meta property="article:author" content="S.C. Stuart" />
|
|
|
|
<meta property="article:published_time" content="2018-01-03T10:57:00+00:00" />
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="csrf-token" content="">
|
|
<meta name="application-name" content="PCMag">
|
|
<title>This Is What it Takes to Measure the Internet | PCMag</title>
|
|
<meta name="description" content="A USC lab has been keeping tabs on internet connectivity since its inception, work that is now crucial in an age of cyber attacks and crippling storms. We stopped by for a visit.">
|
|
|
|
<meta name="zd_ptax_version" content="PCMagV3" />
|
|
<meta name="zd_ptax" content="networking,computers-electronics,pc-magazine" />
|
|
|
|
|
|
<link href="https://www.pcmag.com/news/this-is-what-it-takes-to-measure-the-internet" rel="canonical" />
|
|
|
|
|
|
|
|
<meta name="robots" content="max-image-preview:large">
|
|
<meta name="Bingbot" content="noarchive">
|
|
|
|
<meta name="article:published_time" content="2018-01-03T10:57:00+00:00"> <meta property="fb:app_id" content="141810985954037" />
|
|
<meta property="og:site_name" content="PCMAG" />
|
|
|
|
<meta property="og:type" content="article" />
|
|
|
|
<meta property="og:url" content="https://www.pcmag.com/news/this-is-what-it-takes-to-measure-the-internet" />
|
|
<meta property="og:title"
|
|
content="This Is What it Takes to Measure the Internet" />
|
|
<meta property="og:description"
|
|
content="A USC lab has been keeping tabs on internet connectivity since its inception, work that is now crucial in an age of cyber attacks and crippling storms. We stopped by for a visit." />
|
|
|
|
<meta property="og:image" content="https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-5.fit_lim.size_1200x630.v1569488625.jpg" />
|
|
|
|
<meta property="og:image:width" content="1200" />
|
|
|
|
<meta property="og:image:height" content="630" />
|
|
|
|
|
|
<meta property="twitter:account_id" content="15066271" />
|
|
<meta name="twitter:card" content="summary_large_image" />
|
|
<meta name="twitter:site" content="@pcmag">
|
|
<meta name="twitter:url"
|
|
content="https://www.pcmag.com/news/this-is-what-it-takes-to-measure-the-internet" />
|
|
<meta name="twitter:title"
|
|
content="This Is What it Takes to Measure the Internet" />
|
|
<meta name="twitter:description"
|
|
content="A USC lab has been keeping tabs on internet connectivity since its inception, work that is now crucial in an age of cyber attacks and crippling storms. We stopped by for a visit." />
|
|
|
|
<meta name="twitter:image" content="https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-5.fit_lim.size_1200x630.v1569488625.jpg" />
|
|
<link href="/favicon.ico" rel="icon" sizes="any">
|
|
<link type="image/svg+xml" href="/icon.svg" rel="icon">
|
|
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
|
|
<link href="/manifest.json" rel="manifest">
|
|
<link type="application/rss+xml" href="https://www.pcmag.com/feeds/rss/latest" title="RSS" rel="alternate">
|
|
<link rel="alternate" hreflang="en" href="https://www.pcmag.com/news/this-is-what-it-takes-to-measure-the-internet" />
|
|
<link rel="alternate" hreflang="en-au" href="https://au.pcmag.com/software-services/51122/this-is-what-it-takes-to-measure-the-internet" />
|
|
<link rel="alternate" hreflang="en-gb" href="https://uk.pcmag.com/software/92673/this-is-what-it-takes-to-measure-the-internet" />
|
|
<link rel="alternate" hreflang="en-us" href="https://www.pcmag.com/news/this-is-what-it-takes-to-measure-the-internet" />
|
|
<link rel="alternate" hreflang="x-default" href="https://www.pcmag.com/news/this-is-what-it-takes-to-measure-the-internet" />
|
|
|
|
|
|
|
|
<link href="//zdbb.net" rel="preconnect">
|
|
<link type="font/woff2" href="/fonts/RobotoFlex.woff2" rel="preload" as="font" crossorigin>
|
|
<link href="https://g.pcmag.com/pcmag.js?url=https%3A%2F%2Fwww.pcmag.com%2Fnews%2Fthis-is-what-it-takes-to-measure-the-internet" rel="preload" as="script">
|
|
<link href="https://www.googletagmanager.com/gtm.js?id=GTM-KJHB49" rel="preload" as="script">
|
|
<link href="https://www.google-analytics.com/analytics.js" rel="preload" as="script">
|
|
<link href="https://bbstatic.pcmag.com/js/z0WVjCBSEeGLoxIxOQVEwQ.min.js" rel="preload" as="script">
|
|
<link href="https://www.googletagmanager.com/gtag/js?id=G-2Y85WP1X8R" rel="preload" as="script">
|
|
<link href="/js/new-app.js?id=bbb20be58dac80e87a2bcdc738b1b660" rel="preload" as="script">
|
|
<link href="/js/ga.js?id=efb78a87cd611b9be474804d33a2cabd" rel="preload" as="script">
|
|
|
|
<link href="https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-5.fit_lim.size_850x490.v1569488625.jpg" rel="preload" as="image"
|
|
imagesrcset="https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-5.fit_lim.size_400x250.v1569488625.jpg 400w, https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-5.fit_lim.size_850x490.v1569488625.jpg 800w, https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-5.fit_lim.size_1600x900.v1569488625.jpg 1600w"
|
|
sizes="(max-width: 1200px) 100vw,(min-width: 850px) 850px">
|
|
<link href="https://launcher.spot.im" rel="preconnect" crossorigin>
|
|
<link href="https://launcher.spot.im" rel="dns-prefetch">
|
|
|
|
<link href="https://cdn.ziffstatic.com/jst/zdconsent.js" rel="preload" as="script">
|
|
<script type="text/javascript">
|
|
window.zdconsent = window.zdconsent || {
|
|
'run': [],
|
|
'cmd': [],
|
|
'useractioncomplete': [],
|
|
'analytics': [],
|
|
'functional': [],
|
|
'social': []
|
|
};
|
|
</script>
|
|
<script type="text/javascript" fetchpriority="high" id="zdconsent" src="https://cdn.ziffstatic.com/jst/zdconsent.js"
|
|
async="true"></script>
|
|
|
|
|
|
|
|
<script>
|
|
var emailCollectionLoaded = false;
|
|
window.addEventListener('load', function() {
|
|
document.addEventListener('scroll', emailCollectionScript);
|
|
document.addEventListener('mousemove', emailCollectionScript);
|
|
});
|
|
|
|
function emailCollectionScript() {
|
|
if (!emailCollectionLoaded) {
|
|
emailCollectionLoaded = true;
|
|
document.removeEventListener('scroll', emailCollectionScript);
|
|
document.removeEventListener('mousemove', emailCollectionScript);
|
|
! function() {
|
|
var geq = window.geq = window.geq || [];
|
|
if (geq.initialize) return;
|
|
if (geq.invoked) {
|
|
if (window.console && console.error) {
|
|
console.error("GE snippet included twice.");
|
|
}
|
|
return;
|
|
}
|
|
geq.invoked = true;
|
|
geq.methods = ["page", "suppress", "trackOrder", "identify", "addToCart", "callBack", "event"];
|
|
geq.factory = function(method) {
|
|
return function() {
|
|
var args = Array.prototype.slice.call(arguments);
|
|
args.unshift(method);
|
|
geq.push(args);
|
|
return geq;
|
|
};
|
|
};
|
|
for (var i = 0; i < geq.methods.length; i++) {
|
|
var key = geq.methods[i];
|
|
geq[key] = geq.factory(key);
|
|
}
|
|
geq.load = function(key) {
|
|
var script = document.createElement("script");
|
|
script.type = "text/javascript";
|
|
script.async = true;
|
|
if (location.href.includes("vge=true")) {
|
|
script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js?v=" + Math
|
|
.random();
|
|
} else {
|
|
script.src = "https://s3-us-west-2.amazonaws.com/jsstore/a/" + key + "/ge.js";
|
|
}
|
|
var first = document.getElementsByTagName("script")[0];
|
|
first.parentNode.insertBefore(script, first);
|
|
};
|
|
geq.SNIPPET_VERSION = "1.6.1";
|
|
geq.load("K97H2Y2");
|
|
}();
|
|
geq.page();
|
|
}
|
|
}
|
|
</script>
|
|
<script src="https://www.pcmag.com/js/alpine/openweb.js" defer></script>
|
|
|
|
<script async src="https://launcher.spot.im/spot/sp_K16VHJZS" data-spotim-module="spotim-launcher"
|
|
data-post-url="https://www.pcmag.com/news/this-is-what-it-takes-to-measure-the-internet" data-post-id="07B87o5KTDEqza0uTIoCmui"
|
|
data-spot-id="sp_K16VHJZS"
|
|
></script>
|
|
|
|
<!-- LiveConnectTag for advertisers -->
|
|
|
|
|
|
|
|
|
|
<script>
|
|
var focus_keyword = "This Is What it Takes to Measure the Internet";
|
|
var template = 'article-page';
|
|
// Remove Ads on About pages
|
|
var adUnitName = "networking_articles";
|
|
var PogoConfig = {
|
|
"template": "article-page",
|
|
"category": "networking",
|
|
"tags": ["networking","computers-electronics","pc-magazine"],
|
|
"format": "standard",
|
|
"seamlessNav": false
|
|
}
|
|
</script>
|
|
<script>
|
|
window.FIREBASE_CONFIG = {"api_key":"AIzaSyA_OTFVWffRpOtcc0DwE-5QXbCkLTeNmg4","auth_domain":"cng-iterable.firebaseapp.com","project_id":"cng-iterable","storage_bucket":"cng-iterable.firebasestorage.app","messaging_sender_id":"845516706668","app_id":"1:845516706668:web:2c25189fafcd09e723d949","measurement_id":"G-T6BK82W1G0","vapid_key":"BEK-EUUPmJQTBXTmgLDk5wNIj3J5KH37rz1VJ-GA9DHgTK69O4__0oe2KnBtqrK0qlkXd_HFR14xk-EpwXkOhI4"};
|
|
window.CNG_PUSH = {
|
|
isLocal: false,
|
|
promptDelayMs: 45000 };
|
|
window.zdconsent.cmd.push(function() {
|
|
if (typeof Notification === 'undefined' || Notification.permission === 'denied') {
|
|
return;
|
|
}
|
|
// Don't load if user dismissed prompt recently (within 7 days)
|
|
try {
|
|
const dismissed = localStorage.getItem('cng_push_prompt_dismissed_at');
|
|
if (dismissed) {
|
|
const elapsed = Date.now() - Number(dismissed);
|
|
const sevenDays = 7 * 24 * 60 * 60 * 1000;
|
|
if (elapsed < sevenDays) {
|
|
return;
|
|
// Still within dismissal window
|
|
}
|
|
}
|
|
} catch (e) {
|
|
console.warn('[iterable] localStorage unavailable:', e.message || e);
|
|
}
|
|
|
|
let script = document.createElement('script');
|
|
script.src = '/js/iterable.js?id=4f99bd90c5b3a31fd66df24034d8744b';
|
|
script.async = true;
|
|
document.head.appendChild(script);
|
|
});
|
|
</script>
|
|
|
|
|
|
|
|
<style>
|
|
@font-face{font-display:auto;font-family:roboto-flex;font-weight:100 800;src:url(/fonts/RobotoFlex.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:400;src:url(/fonts/BarlowCondensed-Regular.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;src:url(/fonts/BarlowCondensed-Medium.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;src:url(/fonts/BarlowCondensed-Bold.woff2) format("woff2")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:400;src:url(/fonts/BarlowSemiCondensed-Regular.woff2) format("woff2")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:500;src:url(/fonts/BarlowSemiCondensed-Medium.woff2) format("woff2")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:700;src:url(/fonts/BarlowSemiCondensed-Bold.woff2) format("woff2")}em{font-style:oblique 12deg;@supports (hanging-punctuation:initial){font-style:oblique}}
|
|
|
|
</style>
|
|
|
|
<link href="https://unpkg.com/tippy.js@6/dist/tippy.css" rel="stylesheet" />
|
|
|
|
|
|
<!-- International Redirect -->
|
|
<script type="text/javascript" src="https://g.pcmag.com/pcmag.js?url=https%3A%2F%2Fwww.pcmag.com%2Fnews%2Fthis-is-what-it-takes-to-measure-the-internet" async></script>
|
|
<script>
|
|
(function() {
|
|
var _sf_async_config = window._sf_async_config = (window._sf_async_config || {});
|
|
_sf_async_config.uid = 54814;
|
|
_sf_async_config.domain = 'pcmag.com';
|
|
_sf_async_config.useCanonical = true;
|
|
_sf_async_config.useCanonicalDomain = true;
|
|
_sf_async_config.flickerControl = false;
|
|
_sf_async_config.sections = window.category;
|
|
_sf_async_config.authors = window.author;
|
|
|
|
function loadChartbeat() {
|
|
var e = document.createElement('script');
|
|
var n = document.getElementsByTagName('script')[0];
|
|
e.type = 'text/javascript';
|
|
e.async = true;
|
|
e.src = '//static.chartbeat.com/js/chartbeat_video.js';
|
|
n.parentNode.insertBefore(e, n);
|
|
}
|
|
|
|
window.zdconsent.run.push(loadChartbeat);
|
|
})();
|
|
</script>
|
|
|
|
|
|
<script>
|
|
window.zdconsent.run.push(function() {
|
|
window.dataLayer.push({
|
|
'gtm.start': new Date().getTime(),
|
|
event: 'gtm.js'
|
|
});
|
|
});
|
|
window.zdconsent.run.push('https://www.googletagmanager.com/gtm.js?id=GTM-KJHB49');
|
|
</script>
|
|
|
|
|
|
<script>
|
|
window.zdconsent.run.push("https://bbstatic.pcmag.com/js/z0WVjCBSEeGLoxIxOQVEwQ.min.js");
|
|
</script>
|
|
<noscript><img src="//zdbb.net/l/z0WVjCBSEeGLoxIxOQVEwQ/" alt="" height="1" width="1" /></noscript>
|
|
<script>
|
|
window.zdconsent.run.push("https://www.googletagmanager.com/gtag/js?id=G-2Y85WP1X8R");
|
|
</script>
|
|
|
|
<script>
|
|
var facebookPixelLoaded = false;
|
|
window.addEventListener('load', function() {
|
|
document.addEventListener('scroll', facebookPixelScript);
|
|
document.addEventListener('mousemove', facebookPixelScript);
|
|
});
|
|
|
|
function facebookPixelScript() {
|
|
if (!facebookPixelLoaded) {
|
|
facebookPixelLoaded = true;
|
|
document.removeEventListener('scroll', facebookPixelScript);
|
|
document.removeEventListener('mousemove', facebookPixelScript);
|
|
window.zdconsent.cmd.push(function() {
|
|
! function(f, b, e, v, n, t, s) {
|
|
if (f.fbq) return;
|
|
n = f.fbq = function() {
|
|
n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments)
|
|
};
|
|
if (!f._fbq) f._fbq = n;
|
|
n.push = n;
|
|
n.loaded = !0;
|
|
n.version = '2.0';
|
|
n.queue = [];
|
|
t = b.createElement(e);
|
|
t.async = !0;
|
|
t.src = v;
|
|
s = b.getElementsByTagName(e)[0];
|
|
s.parentNode.insertBefore(t, s)
|
|
}(window, document, 'script', '//connect.facebook.net/en_US/fbevents.js');
|
|
fbq('init', '454758778052139');
|
|
fbq('track', "PageView");
|
|
});
|
|
}
|
|
}
|
|
</script>
|
|
|
|
|
|
<script type="text/javascript" id="pogo" src="https://cdn.ziffstatic.com/pg/pcmag.js" async></script>
|
|
<link href="https://cdn.ziffstatic.com/pg/pcmag.js" rel="preload" as="script">
|
|
<link href="https://cdn.ziffstatic.com/pg/pcmag.prebid.js" rel="preload" as="script">
|
|
<link href="https://cdn.ziffstatic.com/pg/pcmag.css" rel="preload" as="style"
|
|
onload="this.onload=null;this.rel='stylesheet'">
|
|
<link href="https://securepubads.g.doubleclick.net/tag/js/gpt.js" rel="preload" as="script">
|
|
|
|
<!-- Start BounceX tag. Deploy at the document head. -->
|
|
<script>
|
|
(function(d) {
|
|
var bounceExchangeLoaded = false;
|
|
window.addEventListener('load', function() {
|
|
document.addEventListener('scroll', bounceExchangeScript);
|
|
document.addEventListener('mousemove', bounceExchangeScript);
|
|
});
|
|
|
|
function bounceExchangeScript() {
|
|
if (!bounceExchangeLoaded) {
|
|
bounceExchangeLoaded = true;
|
|
document.removeEventListener('scroll', bounceExchangeScript);
|
|
document.removeEventListener('mousemove', bounceExchangeScript);
|
|
var e = d.createElement('script');
|
|
e.src = d.location.protocol + '//tag.bounceexchange.com/1166/i.js';
|
|
e.async = true;
|
|
d.getElementsByTagName("head")[0].appendChild(e);
|
|
}
|
|
}
|
|
}(document));
|
|
</script>
|
|
<!-- End BounceX tag -->
|
|
|
|
<style>
|
|
.rich-text.fortieth>p:first-of-type:first-letter{float:left;font-size:6.25rem;line-height:1;margin-bottom:-.5rem;margin-right:.5rem;margin-top:-.5rem}@media (min-width:768px){.rich-text.fortieth>p:first-of-type:first-letter{font-size:9rem;margin-bottom:-1rem;margin-right:1rem;margin-top:-1rem}}.rich-text.fortieth blockquote{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(235 0 46/var(--tw-border-opacity));border-left-width:1px;color:rgb(235 0 46/var(--tw-text-opacity));font-size:1.25rem;padding-left:1rem}@media (min-width:768px){.rich-text.fortieth blockquote{font-size:1.5rem;margin-bottom:3rem;margin-top:3rem;padding-left:1.5rem}}.rich-text.fortieth q{--tw-scale-x:.95;--tw-scale-y:.95;--tw-border-opacity:1;border-color:rgb(74 74 74/var(--tw-border-opacity));border-left-width:2px;font-size:1.25rem;font-weight:700;max-width:48rem;padding-left:1rem;text-align:left;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width:768px){.rich-text.fortieth q{font-size:1.5rem;padding-left:1.5rem}}.rich-text.fortieth q:after,.rich-text.fortieth q:before{display:none}.rich-text.fortieth{padding-left:2rem;padding-right:2rem}@media (min-width:1024px){.rich-text.fortieth{padding-left:0;padding-right:0}}.rich-text.fortieth>.zmgad-full-width{margin-left:-2rem;margin-right:-2rem;max-width:88rem;width:100vw}@media (min-width:1024px){.rich-text.fortieth>.zmgad-full-width{margin-left:auto;margin-right:auto}}.rich-text.fortieth>h2{padding-bottom:.75rem}#fortieth-nav::-webkit-scrollbar,#fortieth-nav__links::-webkit-scrollbar{-ms-overflow-style:none;display:none;scrollbar-width:none}@media (max-height:700px){#fortieth-nav__links-container{top:150px}#fortieth-nav__links{max-height:28vh}}@media (max-height:500px){#fortieth-nav__links{max-height:20vh}}@media(max-width:767px){.fortieth-landing-hero{padding-bottom:min(500px,140%)}}
|
|
.zmgad-full-width,.zmgad-right-rail{clear:both;margin:3rem auto;max-width:88rem;text-align:center;width:100%}.zmgad-full-width>p,.zmgad-right-rail>p{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity));font-size:.75rem;padding-bottom:.5rem;padding-top:.5rem;text-align:center;text-transform:uppercase}span>div:only-of-type{height:100%;width:100%}
|
|
.hollow-button{border-color:rgb(115 115 115/var(--tw-border-opacity));border-radius:.25rem;border-width:1px;font-weight:640;padding:.5rem .75rem;text-align:center;transition-property:background-color,border-color,color,fill,stroke}.hollow-button,.hollow-button:hover{--tw-border-opacity:1}.hollow-button:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(41 41 41/var(--tw-bg-opacity));border-color:rgb(255 255 255/var(--tw-border-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}@media (min-width:768px){.hollow-button{padding-left:2rem;padding-right:2rem}}.outline-button{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(115 115 115/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;font-weight:640;padding:.5rem 1rem;text-align:center;transition-property:background-color,border-color,color,fill,stroke}.outline-button:hover{background-color:rgb(41 41 41/var(--tw-bg-opacity));border-color:rgb(255 255 255/var(--tw-border-opacity))}.buy-button,.outline-button:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.buy-button{background-color:rgb(42 22 192/var(--tw-bg-opacity));border-color:rgb(42 22 192/var(--tw-border-opacity));border-radius:.25rem;border-width:1px;font-weight:640;padding:.5rem .75rem;text-align:center;transition:background-color .5s ease-in-out}.buy-button:hover{--tw-border-opacity:1;background-color:rgb(26 9 154/var(--tw-bg-opacity));border-color:rgb(26 9 154/var(--tw-border-opacity))}.buy-button:hover,.red-button{--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.red-button{background-color:rgb(235 0 46/var(--tw-bg-opacity));border-radius:.25rem;display:inline-block;font-size:.875rem;font-weight:640;padding:.75rem;text-align:center;transition-property:background-color,border-color,color,fill,stroke}.red-button:hover{background-color:rgb(190 0 37/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.red-button:hover,.white-button{--tw-bg-opacity:1;--tw-text-opacity:1}.white-button{background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.25rem;color:rgb(41 41 41/var(--tw-text-opacity));display:inline-block;font-size:.875rem;font-weight:640;padding:.75rem;text-align:center;transition-property:background-color,border-color,color,fill,stroke}.white-button:hover{--tw-bg-opacity:1;background-color:rgb(247 247 247/var(--tw-bg-opacity))}.shadow-solid-button-wrapper:has(.shadow-solid-button):active .shadow-solid-button,a:has(.shadow-solid-button):active .shadow-solid-button,button:has(.shadow-solid-button):active .shadow-solid-button{--tw-translate-x:3px;--tw-translate-y:3px;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.25s;transition-duration:var(--transition-duration);transition-property:none}.shadow-solid-button,.shadow-solid-button-alt{align-items:center;border-radius:.375rem;border-width:1px 1px 0;display:inline-flex;font-size:.875rem;font-weight:700;justify-content:center;overflow:hidden;padding:.5rem 1.5rem;text-decoration-line:none;text-overflow:ellipsis;transition-duration:.25s;transition-duration:var(--transition-duration);transition-property:color;transition-property:background-color;transition-property:border-color;transition-property:color,background-color,border-color;transition-timing-function:ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.group:active .shadow-solid-button,.group:active .shadow-solid-button-alt{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-solid-button-alt:hover,.shadow-solid-button:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.shadow-solid-button{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(235 0 46/var(--tw-bg-opacity));border-color:transparent;color:rgb(255 255 255/var(--tw-text-opacity))}.group:hover .shadow-solid-button,.shadow-solid-button:hover{--tw-bg-opacity:1;background-color:rgb(190 0 37/var(--tw-bg-opacity))}.shadow-solid-button{box-shadow:0 0 #0000,0 0 #0000,3px 3px 0 0 #7e011f}.shadow-solid-button-alt{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(115 115 115/var(--tw-border-opacity));color:rgb(41 41 41/var(--tw-text-opacity))}.group:hover .shadow-solid-button-alt,.shadow-solid-button-alt:hover{--tw-bg-opacity:1;background-color:rgb(41 41 41/var(--tw-bg-opacity))}.shadow-solid-button-alt{box-shadow:0 0 #0000,0 0 #0000,2px 3px 0 0 #737373}
|
|
.table-wrapper{margin-bottom:2rem;overflow:auto}.table-wrapper table{--tw-border-opacity:1;border-color:rgb(216 216 216/var(--tw-border-opacity));border-width:1px;table-layout:fixed}.table-wrapper table caption{--tw-text-opacity:1;caption-side:bottom;color:rgb(165 165 165/var(--tw-text-opacity));font-size:.875rem;margin-bottom:.5rem;margin-top:.5rem;text-align:left}.table-wrapper table thead tr{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(236 236 236/var(--tw-bg-opacity));font-weight:700;text-align:left}.table-wrapper table thead tr,.table-wrapper table thead tr th{border-color:rgb(216 216 216/var(--tw-border-opacity));border-left-width:1px;border-right-width:1px}.table-wrapper table thead tr th{--tw-border-opacity:1;padding:1rem}.table-wrapper table thead tr th:first-child{--tw-bg-opacity:1;background-color:rgb(236 236 236/var(--tw-bg-opacity))}.table-wrapper table tbody tr td{--tw-border-opacity:1;border-color:rgb(216 216 216/var(--tw-border-opacity));border-left-width:1px;border-right-width:1px;padding:.5rem 1rem}.table-wrapper table tbody tr td:first-child{padding:1rem}.table-wrapper table tfoot tr{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(236 236 236/var(--tw-bg-opacity));border-color:rgb(216 216 216/var(--tw-border-opacity));border-width:1px;font-weight:700;text-align:left;vertical-align:top}.table-wrapper table tfoot tr td{--tw-border-opacity:1;border-color:rgb(216 216 216/var(--tw-border-opacity));border-left-width:1px;border-right-width:1px;padding:1rem}.table-wrapper table tfoot tr td:first-child{--tw-bg-opacity:1;background-color:rgb(236 236 236/var(--tw-bg-opacity))}.table-wrapper table tfoot tr td a{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(235 0 46/var(--tw-bg-opacity));border-radius:.25rem;color:rgb(255 255 255/var(--tw-text-opacity));display:inline-block;letter-spacing:.05em;margin-bottom:.5rem;margin-top:.5rem;padding:.25rem 1rem;text-align:center}.table-wrapper table tfoot tr td a:hover{--tw-bg-opacity:1;background-color:rgb(190 0 37/var(--tw-bg-opacity))}.table-wrapper table thead tr th.highlighted{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(42 22 192/var(--tw-bg-opacity));border-top-width:2px;color:rgb(255 255 255/var(--tw-text-opacity));padding:1rem}.table-wrapper table tbody tr td.highlighted,.table-wrapper table thead tr th.highlighted{border-color:rgb(42 22 192/var(--tw-border-opacity));border-left-width:2px;border-right-width:2px}.table-wrapper table tbody tr td.highlighted{--tw-border-opacity:1;padding:.5rem 1rem}.table-wrapper table tbody tr:last-child td.highlighted{--tw-border-opacity:1;border-bottom-width:2px;border-color:rgb(42 22 192/var(--tw-border-opacity))}.table-wrapper table tbody tr td.sticky,.table-wrapper table thead tr th.sticky{left:0;position:sticky}.table-wrapper table tbody tr td.sticky:after{background:linear-gradient(90deg,rgba(0,0,0,.25),transparent);bottom:0;content:"";position:absolute;right:-30px;top:0;width:30px;z-index:10}.rich-text>*,.rich-text>div.raw-embed>*{display:block;margin-left:auto;margin-right:auto;max-width:48rem;width:100%}.rich-text>script{display:none}.rich-text>div.raw-embed>link,.rich-text>div.raw-embed>script,.rich-text>div.raw-embed>style{display:none}.rich-text [data-instgrm-captioned],.rich-text>[id*=instagram-embed]{left:50%;margin-bottom:3.5rem!important;margin-top:3rem!important;position:relative;transform:translateX(-50%)}.rich-text>.zmgad-full-width{max-width:88rem}.rich-text a:not(.shop-now):not(.offer-link):not(.no-underline):not(.underline):not([onclick]):not(.content-lift):not(.shadow-solid-button),.rich-text a:not(.shop-now):not(.offer-link):not(.no-underline):not(.underline):not([onclick]):not(.shadow-solid-button):hover{padding-bottom:.1rem;text-decoration:underline}.rich-text>h1{font-size:1.875rem}.rich-text>h1,.rich-text>h2{font-stretch:ultra-condensed;font-weight:640;line-height:1.125}.rich-text>h2{font-size:1.5rem;margin-bottom:.5rem}.rich-text>h3{font-size:1.25rem;font-stretch:ultra-condensed;font-weight:640}.rich-text .lineup-card p,.rich-text>div,.rich-text>p{line-height:1.875;margin-bottom:2rem}.rich-text .lineup-card p:last-of-type{margin-bottom:0}.rich-text>.iframe-wrapper+h2,.rich-text>div+h2,.rich-text>img+h2,.rich-text>p+h2{clear:both;line-height:1.25;margin-bottom:.5rem;margin-top:3rem}.rich-text blockquote,.rich-text>img{margin-bottom:1rem;margin-top:1rem}.rich-text blockquote{--tw-border-opacity:1;border-color:rgb(216 216 216/var(--tw-border-opacity));border-left-width:4px;display:block;font-size:1.125rem;overflow:auto;padding-left:1rem;transform:scaleX(.95)}.rich-text blockquote>*{margin-bottom:2rem}.rich-text q{display:block;font-size:1.875rem;font-weight:700;margin:3rem auto;max-width:36rem;position:relative;text-align:center}.rich-text q:after,.rich-text q:before{--tw-bg-opacity:1;background-color:rgb(235 0 46/var(--tw-bg-opacity));content:"";display:block;height:2px;left:50%;position:absolute;top:-24px;transform:translateX(-50%);width:100px}.rich-text q:after{bottom:-24px;top:auto}.rich-text q footer{font-size:.875rem;font-weight:400;margin-top:.75rem}.rich-text ul:not(.list-none):not(.ziff-component ul){clear:both;line-height:2;list-style-type:disc;margin-bottom:1rem;padding-left:2rem}.rich-text.author-bio ul:not(.list-none){margin-bottom:3rem}.rich-text ol:not(.list-none){clear:both;list-style-type:decimal;margin-bottom:1rem;padding-left:2rem}.rich-text li,.rich-text ol:not(.list-none){line-height:2}.rich-text hr:not(.ziff-component hr){--tw-border-opacity:1;border-color:rgb(216 216 216/var(--tw-border-opacity));margin-bottom:2rem;margin-top:2rem}.rich-text code{overflow:auto}.rich-text .ziff-component.spotlight ul{list-style-type:disc;padding-left:1.5rem}.figcaption,figcaption{--tw-text-opacity:1;color:rgb(165 165 165/var(--tw-text-opacity));font-size:.75rem;margin-bottom:1.5rem}@media (min-width:768px){.rich-text>h1{font-size:2.25rem}.rich-text>h2{font-size:1.875rem}.rich-text>h3{font-size:1.5rem}.rich-text>div,.rich-text>p{line-height:1.875}}@media (min-width:1024px){.rich-text{font-size:1.125rem}.rich-text>.roundup-review-card{width:100%}}.twitter-tweet-rendered{margin-bottom:3.5rem!important;margin-top:3rem!important;max-width:-moz-fit-content!important;max-width:fit-content!important;min-width:320px}@media (min-width:768px){.twitter-tweet-rendered{margin-bottom:3.5rem!important;margin-top:3rem!important;max-width:-moz-fit-content!important;max-width:fit-content!important;min-width:548px}}.rich-text>.tiktok-embed{border-left-width:0!important;margin-bottom:2rem!important;margin-top:3rem!important;padding-left:0!important}@media (min-width:768px){.rich-text>.tiktok-embed{border-left-width:4px!important;padding-left:1rem!important}}.rich-text>.facebook-embed{margin-bottom:3.5rem!important;margin-top:3rem!important}.rich-text>.reddit{padding-bottom:1.5rem;padding-top:1.5rem}
|
|
.encyclopedia-definition h2{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;margin-top:2rem;text-align:center}.encyclopedia-definition h3{font-weight:700;margin-top:1rem}.encyclopedia-definition p{margin-bottom:2rem}.encyclopedia-definition img{display:block;height:auto;margin:1rem auto;max-width:min(100%,48rem);width:auto}.encyclopedia-definition .caption-title{display:block;font-size:1.125rem;text-align:center}.encyclopedia-definition .caption{display:block;font-size:.875rem;line-height:1.25;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:32rem;text-align:left}
|
|
#faq h2{line-height:1.25;padding-bottom:.75rem}@media (min-width:768px){#faq h2{line-height:1.5;padding-bottom:1rem}}
|
|
#featured-gallery::-webkit-scrollbar{display:none}#featured-gallery{-ms-overflow-style:none;scrollbar-width:none}
|
|
@media (-ms-high-contrast:active),(-ms-high-contrast:none){div.flex-col>.rich-text{margin-top:70px}}
|
|
a:hover{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}.author-bio a,.link-base{--tw-border-opacity:1;border-color:rgb(41 41 41/var(--tw-border-opacity))}.author-bio a,.author-bio a:hover,.link-base,.link-base:hover{padding-bottom:.1rem;text-decoration:underline}
|
|
.offers{clear:both;padding-bottom:2rem}.offers h3{font-size:1.5rem;font-weight:700}.offers ul{line-height:2;list-style-type:disc;margin-bottom:1rem;padding-left:2rem}.offers li{line-height:1.5;margin-bottom:.75rem}@media (min-width:768px){.offers li{line-height:2;margin-bottom:0}}.offers ul li a{color:rgb(235 0 46/var(--tw-text-opacity))}.offers ul li a,.offers ul li a:hover{--tw-text-opacity:1}.offers ul li a:hover{color:rgb(190 0 37/var(--tw-text-opacity));text-decoration-line:underline}.offers ol+p,.offers ol+small,.offers ul+p,.offers ul+small{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity));font-size:.875rem}
|
|
.pagination{display:flex;flex-wrap:wrap;font-size:.875rem;font-weight:700;justify-content:flex-start;margin-top:1rem;padding-bottom:.5rem;padding-top:.5rem}.pagination .page-item{margin-left:.5rem;margin-right:.5rem}.pagination .page-item.active{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));border-radius:9999px;color:rgb(255 255 255/var(--tw-text-opacity))}.pagination .page-item .page-link{align-items:center;display:flex;height:2rem;justify-content:center;width:2rem}@media (min-width:768px){.pagination{font-size:1rem}}
|
|
.inline-perspectives-banner .inline-perspectives-banner-light-gradient{opacity:1}.inline-perspectives-banner .inline-perspectives-banner-dark-gradient{opacity:0}.inline-perspectives-banner:hover .inline-perspectives-banner-light-gradient{opacity:0;transition-duration:1s}.inline-perspectives-banner:hover .inline-perspectives-banner-dark-gradient{opacity:1;transition-duration:.25s}
|
|
.latest-stories .content-lift .deck,.latest-stories .content-lift .image{display:none}.latest-stories .content-lift .text{width:100%}.latest-stories .content-lift .title{font-size:1rem}.content-lift{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(236 236 236/var(--tw-border-opacity));display:flex;flex-wrap:nowrap;padding-bottom:1rem;padding-top:1rem;width:100%}.content-lift .image{order:9999;width:33.333333%}@media (min-width:768px){.content-lift .image{flex-direction:row;width:25%}}.content-lift .image{border-bottom:none}.content-lift .text{display:flex;flex-direction:column;padding-right:0;text-align:left;text-decoration-line:none;width:66.666667%}@media (min-width:768px){.content-lift .text{padding-right:3rem;width:75%}}.content-lift .text{border-bottom:none}.content-lift .text .sponsored-by{--tw-text-opacity:1;align-items:center;color:rgb(74 74 74/var(--tw-text-opacity));font-size:.75rem;margin-top:1rem;order:9999;width:100%}@media (min-width:768px){.content-lift .text .sponsored-by{font-size:.875rem;width:auto}}.content-lift .text .title{font-size:1rem;font-weight:700;order:1}@media (min-width:768px){.content-lift .text .title{font-size:1.25rem}}.content-lift .text .deck{--tw-text-opacity:1;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:rgb(74 74 74/var(--tw-text-opacity));display:-webkit-box;order:2;overflow:hidden}ins.zmgad-full-width{text-decoration:inherit}ins.zmgad-full-width div[data-pogo=native]{--tw-border-opacity:1;border-color:rgb(236 236 236/var(--tw-border-opacity));border-top-width:1px;margin-left:auto;margin-right:auto;max-width:48rem;text-decoration:inherit;width:100%}ins.zmgad-full-width div[data-pogo=native] .content-lift .text:before{border:0;color:#737373;content:"ADVERTISEMENT";display:block;font-size:.75rem;margin-bottom:5px;margin-top:10px;text-decoration:none}ins.zmgad-full-width div[data-pogo=native] .content-lift{display:flex}ins.zmgad-full-width div[data-pogo=native] .content-lift .image{order:-9999;padding-right:0;padding-top:0;width:40%}@media (min-width:768px){ins.zmgad-full-width div[data-pogo=native] .content-lift .image{width:25%}}ins.zmgad-full-width div[data-pogo=native] .content-lift .text{display:flex;order:9999;padding-left:1rem;padding-right:0;width:60%}@media (min-width:768px){ins.zmgad-full-width div[data-pogo=native] .content-lift .text{width:75%}}#homepage-latest .content-lift .title{font-size:1rem;font-weight:700}#homepage-latest .content-lift .deck{display:none}#homepage-latest .content-lift .sponsored-by{font-size:.875rem;font-style:italic;margin-top:0;white-space:nowrap}.alt-roundup .zmgad-full-width{margin-bottom:3rem;margin-top:6rem}#review article>ins+section{border-top-width:1px}
|
|
.rich-text .pros-cons ul{padding-left:1rem;padding-right:1rem}.rich-text .pros-cons ul li{line-height:1.5}.rich-text .cons,.rich-text .pros{background-color:#fff}.rich-text .cons h3,.rich-text .pros h3{text-decoration-thickness:3px}
|
|
.editors-choice{-o-border-image:conic-gradient(#eb002e 0 0) 0//100vw;border-image:conic-gradient(#eb002e 0 0) fill 0//100vw;-webkit-clip-path:polygon(0 20%,95% 20%,100% 50%,95% 80%,0 80%);clip-path:polygon(0 20%,95% 20%,100% 50%,95% 80%,0 80%);font-size:.75rem;line-height:2.8;padding:.25rem .75rem .25rem .5rem}.editors-choice,.pc-picks{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(235 0 46/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity));font-weight:700;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pc-picks{-webkit-padding-start:.75rem;-webkit-padding-end:1.75rem;align-items:center;-webkit-clip-path:polygon(0 0,100% 0,calc(100% - 1.125rem) 50%,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,calc(100% - 1.125rem) 50%,100% 100%,0 100%);display:flex;font-size:1.25rem;letter-spacing:.05em;padding-inline-end:1.75rem;padding-inline-start:.75rem}
|
|
.roundup .text-purple-500 .arrow-active{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.roundup .text-gray-200 .arrow-active{--tw-text-opacity:1;color:rgb(41 41 41/var(--tw-text-opacity))}
|
|
.slider{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.slider::-webkit-scrollbar{display:none}.slider>*{scroll-snap-align:start}
|
|
#hero-gallery .swiper-pagination-bullet,#recommended-stories .swiper-pagination-bullet,[id^=product-gallery] .swiper-pagination-bullet,[id^=similar-products-carousel] .swiper-pagination-bullet{--tw-bg-opacity:1!important;background-color:rgb(155 155 155/var(--tw-bg-opacity))!important;border-radius:9999px!important}#hero-gallery .swiper-pagination-bullet:hover,#recommended-stories .swiper-pagination-bullet:hover,[id^=product-gallery] .swiper-pagination-bullet:hover,[id^=similar-products-carousel] .swiper-pagination-bullet:hover{--tw-bg-opacity:1!important;background-color:rgb(155 155 155/var(--tw-bg-opacity))!important}#hero-gallery .swiper-pagination-bullet-active,#hero-gallery .swiper-pagination-bullet-active:hover,#recommended-stories .swiper-pagination-bullet-active,#recommended-stories .swiper-pagination-bullet-active:hover,[id^=product-gallery] .swiper-pagination-bullet-active,[id^=product-gallery] .swiper-pagination-bullet-active:hover,[id^=similar-products-carousel] .swiper-pagination-bullet-active,[id^=similar-products-carousel] .swiper-pagination-bullet-active:hover{--tw-bg-opacity:1!important;background-color:rgb(36 28 23/var(--tw-bg-opacity))!important}#best-picks-carousel{overflow:visible}@media (min-width:768px){#best-picks-carousel{overflow:hidden}}#best-picks-carousel .swiper-button-next,#best-picks-carousel .swiper-button-prev,#product-overview-carousel .swiper-button-next,#product-overview-carousel .swiper-button-prev{--tw-translate-y:-50%;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.2),0 2px 4px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -1px var(--tw-shadow-color);align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:9999px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(115 115 115/var(--tw-text-opacity));cursor:pointer;display:none;height:3rem;justify-content:center;position:absolute;top:50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translateY(-50%);transition-duration:.25s;transition-duration:var(--transition-duration);transition-property:all;transition-timing-function:ease;width:3rem;z-index:10}#best-picks-carousel .swiper-button-next:hover,#best-picks-carousel .swiper-button-prev:hover,#product-overview-carousel .swiper-button-next:hover,#product-overview-carousel .swiper-button-prev:hover{--tw-text-opacity:1!important;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.2),0 4px 6px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(235 0 46/var(--tw-text-opacity))!important}@media (min-width:768px){#best-picks-carousel .swiper-button-next,#best-picks-carousel .swiper-button-prev,#product-overview-carousel .swiper-button-next,#product-overview-carousel .swiper-button-prev{display:flex}}@media (min-width:1280px){#best-picks-carousel .swiper-button-next,#best-picks-carousel .swiper-button-prev,#product-overview-carousel .swiper-button-next,#product-overview-carousel .swiper-button-prev{height:4rem;width:4rem}}#best-picks-carousel .swiper-button-prev,#product-overview-carousel .swiper-button-prev{left:0}@media (min-width:1440px){#best-picks-carousel .swiper-button-prev,#product-overview-carousel .swiper-button-prev{left:-1.5rem}}#best-picks-carousel .swiper-button-next,#product-overview-carousel .swiper-button-next{right:0}@media (min-width:1440px){#best-picks-carousel .swiper-button-next,#product-overview-carousel .swiper-button-next{right:-1.5rem}}#best-picks-carousel .swiper-button-disabled,#product-overview-carousel .swiper-button-disabled{display:none}.swiper-pagination-bullet{flex:1 1 0%;margin:0!important;opacity:1!important;transition-duration:.25s;transition-duration:var(--transition-duration);transition-property:all;transition-timing-function:ease}.swiper-button-next:after,.swiper-button-prev:after{--tw-text-opacity:1!important;color:rgb(155 155 155/var(--tw-text-opacity))!important;font-size:1rem!important}.swiper-lazy-preloader{--tw-border-opacity:1!important;border-color:rgb(235 0 46/var(--tw-border-opacity))!important;border-top-color:transparent!important}.swiper-slide{-webkit-user-select:none;-moz-user-select:none;user-select:none}
|
|
h2#table-of-contents{overflow:hidden;width:0}.toc-active{--tw-border-opacity:1;border-color:rgb(235 0 46/var(--tw-border-opacity))}.toc-active a{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity));font-size:1rem;font-weight:700}
|
|
table:not(.default) tr td{--tw-bg-opacity:1;background-color:rgb(247 247 247/var(--tw-bg-opacity));min-width:12rem}table:not(.default) tr:nth-child(2n) td{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}table:not(.default) caption{--tw-text-opacity:1;caption-side:bottom;color:rgb(165 165 165/var(--tw-text-opacity));font-size:.75rem;margin-bottom:.5rem;margin-top:.5rem;text-align:left}.compare-offers-table tbody tr td:first-child{--tw-bg-opacity:1;background-color:rgb(236 236 236/var(--tw-bg-opacity))}.offer-details-table tbody tr td p{margin-bottom:1rem}.offer-details-table tbody tr td ul,.offer-details-table tbody tr td ul>li>ul{list-style-type:disc;margin-left:1.5rem}.offer-details-table tbody tr td ul>li>a{text-decoration-line:none}.offer-details-table tbody tr td ul>li>a:hover{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}@-moz-document url-prefix(){table .mozilla-table-fix{height:100%}}
|
|
.tippy-box,.tippy-content{padding:0!important}.tippy-box{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.65));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);will-change:filter}[data-placement^=bottom] .tippy-arrow:before,[data-placement^=top] .tippy-arrow:before{--tw-border-opacity:1!important;border-bottom-color:rgb(255 255 255/var(--tw-border-opacity))!important;border-top-color:rgb(255 255 255/var(--tw-border-opacity))!important;content:var(--tw-content)!important}[data-placement^=left] .tippy-arrow:before,[data-placement^=right] .tippy-arrow:before{--tw-border-opacity:1!important;border-left-color:rgb(255 255 255/var(--tw-border-opacity))!important;border-right-color:rgb(255 255 255/var(--tw-border-opacity))!important;content:var(--tw-content)!important}.tooltip .tooltiptext{border-radius:.375rem;transition-duration:.25s;transition-duration:var(--transition-duration);transition-property:opacity;transition-timing-function:ease;width:8rem;z-index:10}.tooltip .tooltiptext:before{--tw-border-opacity:1;--tw-content:"";border-color:transparent;border-bottom-color:rgb(115 115 115/var(--tw-border-opacity));border-width:5px;bottom:100%;content:var(--tw-content);left:50%;margin-left:-5px;position:absolute}
|
|
.video-parent+hr{margin-bottom:4.25rem;margin-top:0}.tsl-container .tsl-media{max-width:100%!important}
|
|
img[src*="zdbb.net/l"]{height:0;width:0}
|
|
/*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #f7f7f7;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:roboto-flex,Helvetica,sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#a5a5a5;opacity:1}input::placeholder,textarea::placeholder{color:#a5a5a5;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*{scrollbar-color:auto;scrollbar-width:auto}*,:after,:before{--transition-duration:250ms;--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where([class~=lead]):not(:where([class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.prose :where(ol>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose] *)){border-left-color:var(--tw-prose-quote-borders);border-left-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-left:1em;quotes:"\201C""\201D""\2018""\2019"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(figure>*):not(:where([class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding:.8571429em 1.1428571em}.prose :where(pre code):not(:where([class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:left;width:100%}.prose :where(thead):not(:where([class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-bottom:.5714286em;padding-left:.5714286em;padding-right:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose] *)){vertical-align:top}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(p):not(:where([class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(video):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(figure):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(li):not(:where([class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-bottom:.8888889em;margin-top:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-left:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose] *)){font-size:2.1428571em;line-height:1.2;margin-bottom:.8em;margin-top:0}.prose-sm :where(h2):not(:where([class~=not-prose] *)){font-size:1.4285714em;line-height:1.4;margin-bottom:.8em;margin-top:1.6em}.prose-sm :where(h3):not(:where([class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-bottom:.4444444em;margin-top:1.5555556em}.prose-sm :where(h4):not(:where([class~=not-prose] *)){line-height:1.4285714;margin-bottom:.5714286em;margin-top:1.4285714em}.prose-sm :where(img):not(:where([class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(video):not(:where([class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(figure):not(:where([class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-sm :where(figcaption):not(:where([class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(code):not(:where([class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose] *)){border-radius:.25rem;font-size:.8571429em;line-height:1.6666667;margin-bottom:1.6666667em;margin-top:1.6666667em;padding:.6666667em 1em}.prose-sm :where(ol):not(:where([class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em;padding-left:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em;padding-left:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose] *)){margin-bottom:.2857143em;margin-top:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.4285714em}.prose-sm :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.5714286em;margin-top:.5714286em}.prose-sm :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-bottom:.5714286em;margin-top:.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose] *)){margin-bottom:2.8571429em;margin-top:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose] *)){padding-bottom:.6666667em;padding-left:1em;padding-right:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.6666667em 1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose-sm :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-base{font-size:1rem;line-height:1.75}.prose-base :where(p):not(:where([class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose-base :where([class~=lead]):not(:where([class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose-base :where(blockquote):not(:where([class~=not-prose] *)){margin-bottom:1.6em;margin-top:1.6em;padding-left:1em}.prose-base :where(h1):not(:where([class~=not-prose] *)){font-size:2.25em;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose-base :where(h2):not(:where([class~=not-prose] *)){font-size:1.5em;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose-base :where(h3):not(:where([class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose-base :where(h4):not(:where([class~=not-prose] *)){line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose-base :where(img):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(video):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(figure):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(figure>*):not(:where([class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-base :where(figcaption):not(:where([class~=not-prose] *)){font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose-base :where(code):not(:where([class~=not-prose] *)){font-size:.875em}.prose-base :where(h2 code):not(:where([class~=not-prose] *)){font-size:.875em}.prose-base :where(h3 code):not(:where([class~=not-prose] *)){font-size:.9em}.prose-base :where(pre):not(:where([class~=not-prose] *)){border-radius:.375rem;font-size:.875em;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;padding:.8571429em 1.1428571em}.prose-base :where(ol):not(:where([class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.prose-base :where(ul):not(:where([class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em;padding-left:1.625em}.prose-base :where(li):not(:where([class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose-base :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose-base :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose-base :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose-base :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose-base :where(hr):not(:where([class~=not-prose] *)){margin-bottom:3em;margin-top:3em}.prose-base :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-base :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-base :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-base :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-base :where(table):not(:where([class~=not-prose] *)){font-size:.875em;line-height:1.7142857}.prose-base :where(thead th):not(:where([class~=not-prose] *)){padding-bottom:.5714286em;padding-left:.5714286em;padding-right:.5714286em}.prose-base :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose-base :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose-base :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.5714286em}.prose-base :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose-base :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose-base :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-base :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.7777778}.prose-lg :where(p):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.prose-lg :where([class~=lead]):not(:where([class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-bottom:1.0909091em;margin-top:1.0909091em}.prose-lg :where(blockquote):not(:where([class~=not-prose] *)){margin-bottom:1.6666667em;margin-top:1.6666667em;padding-left:1em}.prose-lg :where(h1):not(:where([class~=not-prose] *)){font-size:2.6666667em;line-height:1;margin-bottom:.8333333em;margin-top:0}.prose-lg :where(h2):not(:where([class~=not-prose] *)){font-size:1.6666667em;line-height:1.3333333;margin-bottom:1.0666667em;margin-top:1.8666667em}.prose-lg :where(h3):not(:where([class~=not-prose] *)){font-size:1.3333333em;line-height:1.5;margin-bottom:.6666667em;margin-top:1.6666667em}.prose-lg :where(h4):not(:where([class~=not-prose] *)){line-height:1.5555556;margin-bottom:.4444444em;margin-top:1.7777778em}.prose-lg :where(img):not(:where([class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(video):not(:where([class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(figure):not(:where([class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(figure>*):not(:where([class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-lg :where(figcaption):not(:where([class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.prose-lg :where(code):not(:where([class~=not-prose] *)){font-size:.8888889em}.prose-lg :where(h2 code):not(:where([class~=not-prose] *)){font-size:.8666667em}.prose-lg :where(h3 code):not(:where([class~=not-prose] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~=not-prose] *)){border-radius:.375rem;font-size:.8888889em;line-height:1.75;margin-bottom:2em;margin-top:2em;padding:1em 1.5em}.prose-lg :where(ol):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-left:1.5555556em}.prose-lg :where(ul):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-left:1.5555556em}.prose-lg :where(li):not(:where([class~=not-prose] *)){margin-bottom:.6666667em;margin-top:.6666667em}.prose-lg :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.4444444em}.prose-lg :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.4444444em}.prose-lg :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.prose-lg :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.prose-lg :where(hr):not(:where([class~=not-prose] *)){margin-bottom:3.1111111em;margin-top:3.1111111em}.prose-lg :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-lg :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-lg :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-lg :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-lg :where(table):not(:where([class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~=not-prose] *)){padding-bottom:.75em;padding-left:.75em;padding-right:.75em}.prose-lg :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose-lg :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.75em}.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose-lg :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-xl{font-size:1.25rem;line-height:1.8}.prose-xl :where(p):not(:where([class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em}.prose-xl :where([class~=lead]):not(:where([class~=not-prose] *)){font-size:1.2em;line-height:1.5;margin-bottom:1em;margin-top:1em}.prose-xl :where(blockquote):not(:where([class~=not-prose] *)){margin-bottom:1.6em;margin-top:1.6em;padding-left:1.0666667em}.prose-xl :where(h1):not(:where([class~=not-prose] *)){font-size:2.8em;line-height:1;margin-bottom:.8571429em;margin-top:0}.prose-xl :where(h2):not(:where([class~=not-prose] *)){font-size:1.8em;line-height:1.1111111;margin-bottom:.8888889em;margin-top:1.5555556em}.prose-xl :where(h3):not(:where([class~=not-prose] *)){font-size:1.5em;line-height:1.3333333;margin-bottom:.6666667em;margin-top:1.6em}.prose-xl :where(h4):not(:where([class~=not-prose] *)){line-height:1.6;margin-bottom:.6em;margin-top:1.8em}.prose-xl :where(img):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-xl :where(video):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-xl :where(figure):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-xl :where(figure>*):not(:where([class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-xl :where(figcaption):not(:where([class~=not-prose] *)){font-size:.9em;line-height:1.5555556;margin-top:1em}.prose-xl :where(code):not(:where([class~=not-prose] *)){font-size:.9em}.prose-xl :where(h2 code):not(:where([class~=not-prose] *)){font-size:.8611111em}.prose-xl :where(h3 code):not(:where([class~=not-prose] *)){font-size:.9em}.prose-xl :where(pre):not(:where([class~=not-prose] *)){border-radius:.5rem;font-size:.9em;line-height:1.7777778;margin-bottom:2em;margin-top:2em;padding:1.1111111em 1.3333333em}.prose-xl :where(ol):not(:where([class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em;padding-left:1.6em}.prose-xl :where(ul):not(:where([class~=not-prose] *)){margin-bottom:1.2em;margin-top:1.2em;padding-left:1.6em}.prose-xl :where(li):not(:where([class~=not-prose] *)){margin-bottom:.6em;margin-top:.6em}.prose-xl :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.4em}.prose-xl :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.4em}.prose-xl :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.8em;margin-top:.8em}.prose-xl :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.2em}.prose-xl :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.2em}.prose-xl :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.2em}.prose-xl :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.2em}.prose-xl :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-bottom:.8em;margin-top:.8em}.prose-xl :where(hr):not(:where([class~=not-prose] *)){margin-bottom:2.8em;margin-top:2.8em}.prose-xl :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-xl :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-xl :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-xl :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-xl :where(table):not(:where([class~=not-prose] *)){font-size:.9em;line-height:1.5555556}.prose-xl :where(thead th):not(:where([class~=not-prose] *)){padding-bottom:.8888889em;padding-left:.6666667em;padding-right:.6666667em}.prose-xl :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose-xl :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose-xl :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.8888889em .6666667em}.prose-xl :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose-xl :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose-xl :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-xl :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose-2xl{font-size:1.5rem;line-height:1.6666667}.prose-2xl :where(p):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.prose-2xl :where([class~=lead]):not(:where([class~=not-prose] *)){font-size:1.25em;line-height:1.4666667;margin-bottom:1.0666667em;margin-top:1.0666667em}.prose-2xl :where(blockquote):not(:where([class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em;padding-left:1.1111111em}.prose-2xl :where(h1):not(:where([class~=not-prose] *)){font-size:2.6666667em;line-height:1;margin-bottom:.875em;margin-top:0}.prose-2xl :where(h2):not(:where([class~=not-prose] *)){font-size:2em;line-height:1.0833333;margin-bottom:.8333333em;margin-top:1.5em}.prose-2xl :where(h3):not(:where([class~=not-prose] *)){font-size:1.5em;line-height:1.2222222;margin-bottom:.6666667em;margin-top:1.5555556em}.prose-2xl :where(h4):not(:where([class~=not-prose] *)){line-height:1.5;margin-bottom:.6666667em;margin-top:1.6666667em}.prose-2xl :where(img):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-2xl :where(video):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-2xl :where(figure):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-2xl :where(figure>*):not(:where([class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-2xl :where(figcaption):not(:where([class~=not-prose] *)){font-size:.8333333em;line-height:1.6;margin-top:1em}.prose-2xl :where(code):not(:where([class~=not-prose] *)){font-size:.8333333em}.prose-2xl :where(h2 code):not(:where([class~=not-prose] *)){font-size:.875em}.prose-2xl :where(h3 code):not(:where([class~=not-prose] *)){font-size:.8888889em}.prose-2xl :where(pre):not(:where([class~=not-prose] *)){border-radius:.5rem;font-size:.8333333em;line-height:1.8;margin-bottom:2em;margin-top:2em;padding:1.2em 1.6em}.prose-2xl :where(ol):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-left:1.5833333em}.prose-2xl :where(ul):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-left:1.5833333em}.prose-2xl :where(li):not(:where([class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose-2xl :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.4166667em}.prose-2xl :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.4166667em}.prose-2xl :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.8333333em;margin-top:.8333333em}.prose-2xl :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.3333333em}.prose-2xl :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em}.prose-2xl :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.3333333em}.prose-2xl :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.3333333em}.prose-2xl :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-bottom:.6666667em;margin-top:.6666667em}.prose-2xl :where(hr):not(:where([class~=not-prose] *)){margin-bottom:3em;margin-top:3em}.prose-2xl :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-2xl :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-2xl :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-2xl :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose-2xl :where(table):not(:where([class~=not-prose] *)){font-size:.8333333em;line-height:1.4}.prose-2xl :where(thead th):not(:where([class~=not-prose] *)){padding-bottom:.8em;padding-left:.6em;padding-right:.6em}.prose-2xl :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose-2xl :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose-2xl :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.8em .6em}.prose-2xl :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose-2xl :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose-2xl :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose-2xl :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.not-sr-only{clip:auto;height:auto;margin:0;overflow:visible;padding:0;position:static;white-space:normal;width:auto}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.\!static{position:static!important}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-1{inset:.25rem}.inset-1\/2{inset:50%}.inset-auto{inset:auto}.inset-x-0{left:0;right:0}.\!-left-12{left:-3rem!important}.\!-right-12{right:-3rem!important}.-bottom-1{bottom:-.25rem}.-bottom-2{bottom:-.5rem}.-bottom-256{bottom:-64rem}.-bottom-4{bottom:-1rem}.-bottom-\[30\%\]{bottom:-30%}.-bottom-\[70\%\]{bottom:-70%}.-left-1{left:-.25rem}.-left-2{left:-.5rem}.-left-6{left:-1.5rem}.-left-8{left:-2rem}.-left-px{left:-1px}.-right-6{right:-1.5rem}.-right-8{right:-2rem}.-top-1{top:-.25rem}.-top-16{top:-4rem}.-top-256{top:-64rem}.-top-3{top:-.75rem}.-top-4{top:-1rem}.-top-5{top:-1.125rem}.-top-6{top:-1.5rem}.-top-8{top:-2rem}.-top-\[1\.25rem\]{top:-1.25rem}.-top-\[12px\]{top:-12px}.-top-\[14px\]{top:-14px}.-top-\[1px\]{top:-1px}.-top-\[6px\]{top:-6px}.-top-px{top:-1px}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.bottom-\[25\%\]{bottom:25%}.bottom-\[3\.5rem\]{bottom:3.5rem}.bottom-auto{bottom:auto}.bottom-px{bottom:1px}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-5{left:1.125rem}.left-6{left:1.5rem}.left-\[10\%\]{left:10%}.left-\[14\%\]{left:14%}.left-\[calc\(50\%_-_3rem\)\]{left:calc(50% - 3rem)}.left-auto{left:auto}.right-0{right:0}.right-1{right:.25rem}.right-10{right:2.5rem}.right-12{right:3rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-36{right:10rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-8{right:2rem}.right-auto{right:auto}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-16{top:4rem}.top-2{top:.5rem}.top-24{top:6rem}.top-3{top:.75rem}.top-32{top:8rem}.top-4{top:1rem}.top-48{top:12rem}.top-5{top:1.125rem}.top-6{top:1.5rem}.top-64{top:16rem}.top-8{top:2rem}.top-\[-6px\]{top:-6px}.top-\[10\%\]{top:10%}.top-\[150px\]{top:150px}.top-\[35\%\]{top:35%}.top-\[55\%\]{top:55%}.top-\[70px\]{top:70px}.top-\[calc\(50\%_-_3rem\)\]{top:calc(50% - 3rem)}.top-auto{top:auto}.top-px{top:1px}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-auto{z-index:auto}.z-negative{z-index:-1}.z-top{z-index:9999999999}.-order-1{order:-1}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-first{order:-9999}.order-last{order:9999}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-end-3{grid-column-end:3}.\!row-span-7{grid-row:span 7/span 7!important}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-span-4{grid-row:span 4/span 4}.row-span-5{grid-row:span 5/span 5}.row-span-6{grid-row:span 6/span 6}.row-start-1{grid-row-start:1}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clear-both{clear:both}.\!-m-1{margin:-.25rem!important}.\!m-0{margin:0!important}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.m-5{margin:1.125rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.m-auto{margin:auto}.\!my-0{margin-bottom:0!important;margin-top:0!important}.\!my-12{margin-bottom:3rem!important;margin-top:3rem!important}.\!my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.\!my-4{margin-bottom:1rem!important;margin-top:1rem!important}.\!my-6{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.-mx-0{margin-left:0;margin-right:0}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-mx-8{margin-left:-2rem;margin-right:-2rem}.-my-4{margin-bottom:-1rem;margin-top:-1rem}.-my-8{margin-bottom:-2rem;margin-top:-2rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.125rem;margin-right:1.125rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-10{margin-bottom:2.5rem;margin-top:2.5rem}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16{margin-bottom:4rem;margin-top:4rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-20{margin-bottom:5rem;margin-top:5rem}.my-24{margin-bottom:6rem;margin-top:6rem}.my-3{margin-bottom:.75rem;margin-top:.75rem}.my-4{margin-bottom:1rem;margin-top:1rem}.my-48{margin-bottom:12rem;margin-top:12rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.my-8{margin-bottom:2rem;margin-top:2rem}.my-96{margin-bottom:24rem;margin-top:24rem}.my-auto{margin-bottom:auto;margin-top:auto}.\!-mt-1{margin-top:-.25rem!important}.\!mb-0{margin-bottom:0!important}.\!mb-16{margin-bottom:4rem!important}.\!mb-2{margin-bottom:.5rem!important}.\!mb-20{margin-bottom:5rem!important}.\!mb-4{margin-bottom:1rem!important}.\!mb-6{margin-bottom:1.5rem!important}.\!mb-8{margin-bottom:2rem!important}.\!ml-4{margin-left:1rem!important}.\!mt-0{margin-top:0!important}.\!mt-10{margin-top:2.5rem!important}.\!mt-8{margin-top:2rem!important}.-mb-10{margin-bottom:-2.5rem}.-mb-16{margin-bottom:-4rem}.-mb-2{margin-bottom:-.5rem}.-mb-3{margin-bottom:-.75rem}.-mb-4{margin-bottom:-1rem}.-mb-\[1px\]{margin-bottom:-1px}.-ml-1{margin-left:-.25rem}.-ml-12{margin-left:-3rem}.-ml-2{margin-left:-.5rem}.-ml-24{margin-left:-6rem}.-ml-4{margin-left:-1rem}.-ml-6{margin-left:-1.5rem}.-ml-\[67px\]{margin-left:-67px}.-mr-12{margin-right:-3rem}.-mr-16{margin-right:-4rem}.-mr-2{margin-right:-.5rem}.-mr-3{margin-right:-.75rem}.-mr-4{margin-right:-1rem}.-mt-1{margin-top:-.25rem}.-mt-12{margin-top:-3rem}.-mt-16{margin-top:-4rem}.-mt-2{margin-top:-.5rem}.-mt-20{margin-top:-5rem}.-mt-28{margin-top:-7rem}.-mt-3{margin-top:-.75rem}.-mt-32{margin-top:-8rem}.-mt-4{margin-top:-1rem}.-mt-6{margin-top:-1.5rem}.-mt-8{margin-top:-2rem}.-mt-\[86px\]{margin-top:-86px}.-mt-px{margin-top:-1px}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-24{margin-bottom:6rem}.mb-3{margin-bottom:.75rem}.mb-32{margin-bottom:8rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.125rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\[0\.4rem\]{margin-bottom:.4rem}.mb-px{margin-bottom:1px}.ml-0{margin-left:0}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-10{margin-left:2.5rem}.ml-16{margin-left:4rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.125rem}.ml-6{margin-left:1.5rem}.ml-8{margin-left:2rem}.ml-\[10px\]{margin-left:10px}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-10{margin-right:2.5rem}.mr-2{margin-right:.5rem}.mr-20{margin-right:5rem}.mr-24{margin-right:6rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.125rem}.mr-6{margin-right:1.5rem}.mr-64{margin-right:16rem}.mr-8{margin-right:2rem}.mr-\[0\.1rem\]{margin-right:.1rem}.mr-\[1px\]{margin-right:1px}.mr-\[3px\]{margin-right:3px}.mr-auto{margin-right:auto}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-32{margin-top:8rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.125rem}.mt-6{margin-top:1.5rem}.mt-64{margin-top:16rem}.mt-8{margin-top:2rem}.mt-96{margin-top:24rem}.mt-\[10px\]{margin-top:10px}.mt-\[2\.25rem\]{margin-top:2.25rem}.mt-\[2px\]{margin-top:2px}.mt-\[3px\]{margin-top:3px}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}.line-clamp-3,.line-clamp-\[7\]{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-\[7\]{-webkit-line-clamp:7}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.\!flex{display:flex!important}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.\!table-row{display:table-row!important}.table-row{display:table-row}.flow-root{display:flow-root}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.aspect-3\/2{aspect-ratio:3/2}.aspect-4\/3{aspect-ratio:4/3}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.\!size-10{height:2.5rem!important;width:2.5rem!important}.\!size-fit{height:-moz-fit-content!important;height:fit-content!important;width:-moz-fit-content!important;width:fit-content!important}.\!size-full{height:100%!important;width:100%!important}.size-10{height:2.5rem;width:2.5rem}.size-12{height:3rem;width:3rem}.size-16{height:4rem;width:4rem}.size-2{height:.5rem;width:.5rem}.size-24{height:6rem;width:6rem}.size-28{height:7rem;width:7rem}.size-3{height:.75rem;width:.75rem}.size-4{height:1rem;width:1rem}.size-5{height:1.125rem;width:1.125rem}.size-6{height:1.5rem;width:1.5rem}.size-8{height:2rem;width:2rem}.size-\[14px\]{height:14px;width:14px}.size-\[1rem\]{height:1rem;width:1rem}.size-\[20px\]{height:20px;width:20px}.size-\[22px\]{height:22px;width:22px}.size-\[50px\]{height:50px;width:50px}.size-\[60px\]{height:60px;width:60px}.size-auto{height:auto;width:auto}.size-full{height:100%;width:100%}.\!h-full{height:100%!important}.h-0{height:0}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-128{height:32rem}.h-16{height:4rem}.h-192{height:48rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-256{height:64rem}.h-28{height:7rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.125rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[134px\]{height:134px}.h-\[14px\]{height:14px}.h-\[1px\]{height:1px}.h-\[20px\]{height:20px}.h-\[27px\]{height:27px}.h-\[34px\]{height:34px}.h-\[60px\]{height:60px}.h-\[64px\]{height:64px}.h-\[76px\]{height:76px}.h-\[80px\]{height:80px}.h-\[calc\(100vh-10rem\)\]{height:calc(100vh - 10rem)}.h-\[calc\(100vh-110px\)\]{height:calc(100vh - 110px)}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-12{max-height:3rem}.max-h-128{max-height:32rem}.max-h-16{max-height:4rem}.max-h-160{max-height:40rem}.max-h-20{max-height:5rem}.max-h-32{max-height:8rem}.max-h-36{max-height:10rem}.max-h-64{max-height:16rem}.max-h-72{max-height:20rem}.max-h-8{max-height:2rem}.max-h-96{max-height:24rem}.max-h-\[55vh\]{max-height:55vh}.max-h-\[75vh\]{max-height:75vh}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-12{min-height:3rem}.min-h-128{min-height:32rem}.min-h-16{min-height:4rem}.min-h-160{min-height:40rem}.min-h-192{min-height:48rem}.min-h-20{min-height:5rem}.min-h-24{min-height:6rem}.min-h-3{min-height:.75rem}.min-h-48{min-height:12rem}.min-h-72{min-height:20rem}.min-h-96{min-height:24rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1{width:.25rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-11\/12{width:91.666667%}.w-12{width:3rem}.w-128{width:32rem}.w-16{width:4rem}.w-192{width:48rem}.w-2{width:.5rem}.w-2\/3{width:66.666667%}.w-2\/5{width:40%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:10rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.125rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:20rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[1000px\]{width:1000px}.w-\[100dvw\]{width:100dvw}.w-\[110vw\]{width:110vw}.w-\[120px\]{width:120px}.w-\[134px\]{width:134px}.w-\[14px\]{width:14px}.w-\[155px\]{width:155px}.w-\[272px\]{width:272px}.w-\[300px\]{width:300px}.w-\[45px\]{width:45px}.w-\[60px\]{width:60px}.w-\[664px\]{width:664px}.w-\[700px\]{width:700px}.w-\[76px\]{width:76px}.w-\[80px\]{width:80px}.w-\[calc\(100vw-\.65rem\)\]{width:calc(100vw - .65rem)}.w-\[fit-content\]{width:-moz-fit-content;width:fit-content}.w-\[inherit\]{width:inherit}.w-\[max-content\]{width:-moz-max-content;width:max-content}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-1{min-width:.25rem}.min-w-12{min-width:3rem}.min-w-128{min-width:32rem}.min-w-24{min-width:6rem}.min-w-28{min-width:7rem}.min-w-32{min-width:8rem}.min-w-4{min-width:1rem}.min-w-48{min-width:12rem}.min-w-64{min-width:16rem}.min-w-72{min-width:20rem}.min-w-96{min-width:24rem}.min-w-\[120px\]{min-width:120px}.min-w-full{min-width:100%}.\!max-w-3xl{max-width:48rem!important}.\!max-w-full{max-width:100%!important}.max-w-1{max-width:.25rem}.max-w-1\/3{max-width:33.333333%}.max-w-12{max-width:3rem}.max-w-128{max-width:32rem}.max-w-160{max-width:40rem}.max-w-192{max-width:48rem}.max-w-2{max-width:.5rem}.max-w-24{max-width:6rem}.max-w-28{max-width:7rem}.max-w-2xl{max-width:42rem}.max-w-2xs{max-width:16rem}.max-w-3{max-width:.75rem}.max-w-32{max-width:8rem}.max-w-3xl{max-width:48rem}.max-w-4{max-width:1rem}.max-w-48{max-width:12rem}.max-w-4xl{max-width:56rem}.max-w-5{max-width:1.125rem}.max-w-5xl{max-width:64rem}.max-w-64{max-width:16rem}.max-w-6xl{max-width:72rem}.max-w-72{max-width:20rem}.max-w-7xl{max-width:80rem}.max-w-8xl{max-width:88rem}.max-w-96{max-width:24rem}.max-w-9xl{max-width:120rem}.max-w-\[175px\]{max-width:175px}.max-w-\[2\.5rem\]{max-width:2.5rem}.max-w-\[2000px\]{max-width:2000px}.max-w-\[260px\]{max-width:260px}.max-w-\[48rem\]{max-width:48rem}.max-w-\[860px\]{max-width:860px}.max-w-\[88px\]{max-width:88px}.max-w-\[calc\(100vw-5rem\)\]{max-width:calc(100vw - 5rem)}.max-w-\[calc\(100vw_-_42px\)\]{max-width:calc(100vw - 42px)}.max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-screen{max-width:100vw}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-\[2\]{flex:2}.flex-\[3\]{flex:3}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.flex-grow-max{flex-grow:9999}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-0{flex-basis:0}.basis-1{flex-basis:0.25rem}.basis-2{flex-basis:0.5rem}.basis-3{flex-basis:0.75rem}.basis-\[min-intrinsic\]{flex-basis:min-intrinsic}.basis-auto{flex-basis:auto}.basis-full{flex-basis:100%}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.origin-bottom-left{transform-origin:bottom left}.origin-left{transform-origin:left}.origin-top-left{transform-origin:top left}.origin-top-right{transform-origin:top right}.-translate-x-1{--tw-translate-x:-0.25rem}.-translate-x-1,.-translate-x-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-12{--tw-translate-x:-3rem}.-translate-x-12,.-translate-x-36{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-36{--tw-translate-x:-10rem}.-translate-x-4{--tw-translate-x:-1rem}.-translate-x-4,.-translate-x-\[20\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-\[20\%\]{--tw-translate-x:-20%}.-translate-y-1{--tw-translate-y:-0.25rem}.-translate-y-1,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-8{--tw-translate-y:-2rem}.-translate-y-8,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0}.translate-x-1{--tw-translate-x:0.25rem}.translate-x-1,.translate-x-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-12{--tw-translate-x:3rem}.translate-x-2{--tw-translate-x:0.5rem}.translate-x-2,.translate-x-36{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-36{--tw-translate-x:10rem}.translate-x-4{--tw-translate-x:1rem}.translate-x-4,.translate-x-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-y-0{--tw-translate-y:0}.translate-y-0,.translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1{--tw-translate-y:0.25rem}.translate-y-4{--tw-translate-y:1rem}.translate-y-4,.translate-y-8{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-8{--tw-translate-y:2rem}.translate-y-\[-15vh\]{--tw-translate-y:-15vh}.translate-y-\[-15vh\],.translate-y-px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-px{--tw-translate-y:1px}.-rotate-180{--tw-rotate:-180deg}.-rotate-180,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.rotate-\[-148deg\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[-148deg\]{--tw-rotate:-148deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-120{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-120{--tw-scale-x:1.2;--tw-scale-y:1.2}.-scale-x-100{--tw-scale-x:-1}.-scale-x-100,.scale-x-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-100{--tw-scale-x:1}.scale-y-75{--tw-scale-y:0.75}.scale-y-75,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:bounce 1s infinite}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.cursor{cursor:DEFAULT}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.snap-none{scroll-snap-type:none}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-both{scroll-snap-type:both var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-start{scroll-snap-align:start}.snap-center{scroll-snap-align:center}.snap-align-none{scroll-snap-align:none}.snap-always{scroll-snap-stop:always}.scroll-mt-28{scroll-margin-top:7rem}.scroll-mt-96{scroll-margin-top:24rem}.scroll-mt-px{scroll-margin-top:1px}.scroll-p-\[2px\]{scroll-padding:2px}.list-inside{list-style-position:inside}.\!list-none{list-style-type:none!important}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-cols-\[100\%\]{grid-auto-columns:100%}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[1fr\2c minmax\(6rem\2c auto\)\]{grid-template-columns:1fr minmax(6rem,auto)}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-\[minmax\(40px\2c auto\)\2c minmax\(60px\2c 1fr\)\]{grid-template-rows:minmax(40px,auto) minmax(60px,1fr)}.grid-rows-subgrid{grid-template-rows:subgrid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.\!items-start{align-items:flex-start!important}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.\!gap-6{gap:1.5rem!important}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.125rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\[0\.375rem\]{gap:.375rem}.gap-\[11px\]{gap:11px}.gap-\[20px\]{gap:20px}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.gap-x-16{-moz-column-gap:4rem;column-gap:4rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.125rem;column-gap:1.125rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-x-\[36px\]{-moz-column-gap:36px;column-gap:36px}.gap-y-0{row-gap:0}.gap-y-1{row-gap:.25rem}.gap-y-10{row-gap:2.5rem}.gap-y-16{row-gap:4rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-5{row-gap:1.125rem}.gap-y-6{row-gap:1.5rem}.gap-y-8{row-gap:2rem}.gap-y-\[0\.125rem\]{row-gap:.125rem}.space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)));margin-right:calc(0px*var(--tw-space-x-reverse))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.125rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.125rem*var(--tw-space-x-reverse))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(3rem*var(--tw-space-y-reverse));margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.125rem*var(--tw-space-y-reverse));margin-top:calc(1.125rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(0px*var(--tw-divide-y-reverse));border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)))}.divide-y-1>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(216 216 216/var(--tw-divide-opacity))}.divide-gray-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(165 165 165/var(--tw-divide-opacity))}.divide-red-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(235 0 46/var(--tw-divide-opacity))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.\!overflow-auto{overflow:auto!important}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-clip{overflow:clip}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-clip{overflow-x:clip}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-wrap{text-wrap:wrap}.text-nowrap{text-wrap:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:1rem}.rounded-l{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.rounded-l-lg{border-bottom-left-radius:.5rem;border-top-left-radius:.5rem}.rounded-l-md{border-bottom-left-radius:.375rem;border-top-left-radius:.375rem}.rounded-l-none{border-bottom-left-radius:0;border-top-left-radius:0}.rounded-r{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.rounded-r-lg{border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}.rounded-r-none{border-bottom-right-radius:0;border-top-right-radius:0}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\[60px\]{border-top-left-radius:60px;border-top-right-radius:60px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.rounded-t-xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-bl-lg{border-bottom-left-radius:.5rem}.rounded-br-lg{border-bottom-right-radius:.5rem}.rounded-tl{border-top-left-radius:.25rem}.\!border-0{border-width:0!important}.border{border-width:1px}.border-0{border-width:0}.border-1{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border-x-0{border-left-width:0;border-right-width:0}.border-x-2{border-left-width:2px;border-right-width:2px}.border-x-8{border-left-width:8px;border-right-width:8px}.border-y,.border-y-1{border-bottom-width:1px;border-top-width:1px}.border-y-2{border-bottom-width:2px;border-top-width:2px}.\!border-b{border-bottom-width:1px!important}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0}.border-b-1{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-b-4{border-bottom-width:4px}.border-b-8{border-bottom-width:8px}.border-b-\[10px\]{border-bottom-width:10px}.border-b-\[6px\]{border-bottom-width:6px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-1{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-l-8{border-left-width:8px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0}.border-r-1{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.border-t-1{border-top-width:1px}.border-t-2{border-top-width:2px}.border-t-8{border-top-width:8px}.border-t-\[6px\]{border-top-width:6px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-none{border-style:none}.\!border-black{--tw-border-opacity:1!important;border-color:rgb(0 0 0/var(--tw-border-opacity))!important}.\!border-red-400{--tw-border-opacity:1!important;border-color:rgb(235 0 46/var(--tw-border-opacity))!important}.border-\[\#2563EB\]{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.border-\[\#C4C4C4\]{--tw-border-opacity:1;border-color:rgb(196 196 196/var(--tw-border-opacity))}.border-\[\#f799aa\]{--tw-border-opacity:1;border-color:rgb(247 153 170/var(--tw-border-opacity))}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(236 236 236/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(216 216 216/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(165 165 165/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(74 74 74/var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(41 41 41/var(--tw-border-opacity))}.border-purple-400{--tw-border-opacity:1;border-color:rgb(42 22 192/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(245 96 125/var(--tw-border-opacity))}.border-red-400{--tw-border-opacity:1;border-color:rgb(235 0 46/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(190 0 37/var(--tw-border-opacity))}.border-spotlight{--tw-border-opacity:1;border-color:rgb(161 24 57/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-x-transparent{border-left-color:transparent;border-right-color:transparent}.border-b-\[\#7e011f\]{--tw-border-opacity:1;border-bottom-color:rgb(126 1 31/var(--tw-border-opacity))}.border-b-white{--tw-border-opacity:1;border-bottom-color:rgb(255 255 255/var(--tw-border-opacity))}.border-l-red-400{--tw-border-opacity:1;border-left-color:rgb(235 0 46/var(--tw-border-opacity))}.\!bg-black{background-color:rgb(0 0 0/var(--tw-bg-opacity))!important}.\!bg-black,.\!bg-red-400{--tw-bg-opacity:1!important}.\!bg-red-400{background-color:rgb(235 0 46/var(--tw-bg-opacity))!important}.bg-\[\#111111\]{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity))}.bg-\[\#2563EB\]{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-\[\#E71D1D\]{--tw-bg-opacity:1;background-color:rgb(231 29 29/var(--tw-bg-opacity))}.bg-\[\#EB002E\]{--tw-bg-opacity:1;background-color:rgb(235 0 46/var(--tw-bg-opacity))}.bg-\[\#f6f7ff\]{--tw-bg-opacity:1;background-color:rgb(246 247 255/var(--tw-bg-opacity))}.bg-\[color\:var\(--background\)\]{background-color:var(--background)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-brand-facebook{--tw-bg-opacity:1;background-color:rgb(59 89 152/var(--tw-bg-opacity))}.bg-brand-flipboard{--tw-bg-opacity:1;background-color:rgb(225 40 40/var(--tw-bg-opacity))}.bg-brand-twitter{--tw-bg-opacity:1;background-color:rgb(0 172 238/var(--tw-bg-opacity))}.bg-fade{background-color:rgba(0,0,0,.5)}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(247 247 247/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(236 236 236/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(216 216 216/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(165 165 165/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(74 74 74/var(--tw-bg-opacity))}.bg-gray-700,.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(41 41 41/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(241 251 251/var(--tw-bg-opacity))}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(42 22 192/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(26 9 154/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(255 250 251/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(245 96 125/var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(235 0 46/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(190 0 37/var(--tw-bg-opacity))}.bg-spotlight{--tw-bg-opacity:1;background-color:rgb(161 24 57/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-opacity-100,.bg-white{--tw-bg-opacity:1}.bg-opacity-60{--tw-bg-opacity:0.6}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-\[url\(\'\/icons\/plus-red\.svg\'\)\]{background-image:url(/icons/plus-red.svg)}.bg-\[url\(\'\/icons\/plus\.svg\'\)\]{background-image:url(/icons/plus.svg)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#D700EB\]{--tw-gradient-from:#d700eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(215,0,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#EB002E\]{--tw-gradient-from:#eb002e var(--tw-gradient-from-position);--tw-gradient-to:rgba(235,0,46,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-\[\#D700EB\]{--tw-gradient-to:#d700eb var(--tw-gradient-to-position)}.to-red-400{--tw-gradient-to:#eb002e var(--tw-gradient-to-position)}.to-75\%{--tw-gradient-to-position:75%}.bg-\[length\:12px_12px\]{background-size:12px 12px}.bg-\[length\:16px_16px\]{background-size:16px 16px}.bg-contain{background-size:contain}.bg-cover{background-size:cover}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-center{background-position:50%}.bg-left{background-position:0}.bg-right{background-position:100%}.bg-no-repeat{background-repeat:no-repeat}.fill-black{fill:#292929}.fill-current{fill:currentColor}.fill-white{fill:#fff}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.\!p-0{padding:0!important}.\!p-1{padding:.25rem!important}.p-0{padding:0}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-2{padding:.5rem}.p-20{padding:5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.125rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[2px\]{padding:2px}.\!px-0{padding-left:0!important;padding-right:0!important}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-12{padding-left:3rem;padding-right:3rem}.px-16{padding-left:4rem;padding-right:4rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-24{padding-left:6rem;padding-right:6rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-32{padding-left:8rem;padding-right:8rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.125rem;padding-right:1.125rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[10px\]{padding-left:10px;padding-right:10px}.px-\[28px\]{padding-left:28px;padding-right:28px}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-32{padding-bottom:8rem;padding-top:8rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.125rem;padding-top:1.125rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-\[0\.125rem\]{padding-bottom:.125rem;padding-top:.125rem}.py-\[0\.375rem\]{padding-bottom:.375rem;padding-top:.375rem}.py-\[0\.625rem\]{padding-bottom:.625rem;padding-top:.625rem}.py-\[2\.25rem\]{padding-bottom:2.25rem;padding-top:2.25rem}.py-\[20px\]{padding-bottom:20px;padding-top:20px}.py-\[4px\]{padding-bottom:4px;padding-top:4px}.py-\[6px\]{padding-bottom:6px;padding-top:6px}.\!pl-0{padding-left:0!important}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-32{padding-bottom:8rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.125rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-\[100\%\]{padding-bottom:100%}.pb-\[129\%\]{padding-bottom:129%}.pb-\[138\%\]{padding-bottom:138%}.pb-\[150\%\]{padding-bottom:150%}.pb-\[3\.5rem\]{padding-bottom:3.5rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-12{padding-left:3rem}.pl-16{padding-left:4rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-\[1\.5\]{padding-left:1.5}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-16{padding-right:4rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-48{padding-right:12rem}.pr-5{padding-right:1.125rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pr-px{padding-right:1px}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-10{padding-top:2.5rem}.pt-12{padding-top:3rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-3{padding-top:.75rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.125rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-\[\.875rem\]{padding-top:.875rem}.pt-\[1\.75rem\]{padding-top:1.75rem}.pt-\[2px\]{padding-top:2px}.\!text-left{text-align:left!important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.indent-96{text-indent:24rem}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-barlow-condensed{font-family:Barlow Condensed,sans-serif}.font-barlow-semi-condensed{font-family:Barlow Semi Condensed,sans-serif}.font-sans{font-family:roboto-flex,Helvetica,sans-serif}.\!text-3xl{font-size:1.875rem!important}.\!text-base{font-size:1rem!important}.\!text-lg{font-size:1.125rem!important}.\!text-sm{font-size:.875rem!important}.text-2xl{font-size:1.5rem}.text-2xs{font-size:.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.text-6xl{font-size:4rem}.text-8xl{font-size:6rem}.text-\[\.875rem\]{font-size:.875rem}.text-\[10px\]{font-size:10px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[2rem\]{font-size:2rem}.text-\[3\.75rem\]{font-size:3.75rem}.text-\[9\.6px\]{font-size:9.6px}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-sm{font-size:.875rem}.text-xl{font-size:1.25rem}.text-xs{font-size:.75rem}.\!font-bold{font-weight:700!important}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:640}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.\!leading-normal{line-height:1.5!important}.\!leading-tight{line-height:1.25!important}.leading-\[0\]{line-height:0}.leading-\[10px\]{line-height:10px}.leading-\[12px\]{line-height:12px}.leading-\[36px\]{line-height:36px}.leading-compact{line-height:1.125}.leading-loose{line-height:2}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[2px\]{letter-spacing:2px}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.text-\[\#2563EB\]{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-\[\#F58096\]{--tw-text-opacity:1;color:rgb(245 128 150/var(--tw-text-opacity))}.text-\[color\:var\(--text\)\]{color:var(--text)}.text-\[rgba\(74\2c 74\2c 74\)\]{--tw-text-opacity:1;color:rgba(74,74,74,var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(236 236 236/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(216 216 216/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(165 165 165/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(74 74 74/var(--tw-text-opacity))}.text-gray-700,.text-gray-900{--tw-text-opacity:1;color:rgb(41 41 41/var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgb(5 155 17/var(--tw-text-opacity))}.text-purple-400{--tw-text-opacity:1;color:rgb(42 22 192/var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity:1;color:rgb(26 9 154/var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(190 0 37/var(--tw-text-opacity))}.text-spotlight{--tw-text-opacity:1;color:rgb(161 24 57/var(--tw-text-opacity))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity:1;color:rgb(250 222 88/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-700::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(41 41 41/var(--tw-placeholder-opacity))}.placeholder-gray-700::placeholder{--tw-placeholder-opacity:1;color:rgb(41 41 41/var(--tw-placeholder-opacity))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 2px 0 rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px 0 var(--tw-shadow-color)}.shadow,.shadow-\[-7px_7px_0_\#EB002E\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[-7px_7px_0_\#EB002E\]{--tw-shadow:-7px 7px 0 #eb002e;--tw-shadow-colored:-7px 7px 0 var(--tw-shadow-color)}.shadow-bottom{--tw-shadow:0 8px 8px -6px hsla(0,0%,59%,.2);--tw-shadow-colored:0 8px 8px -6px var(--tw-shadow-color)}.shadow-bottom,.shadow-box{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-box{--tw-shadow:0px 0px 5px -1px rgba(0,0,0,.3),0px 2px 2px 0px rgba(0,0,0,.1);--tw-shadow-colored:0px 0px 5px -1px var(--tw-shadow-color),0px 2px 2px 0px var(--tw-shadow-color)}.shadow-header{--tw-shadow:0 1px .2px -100px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 1px .2px -100px var(--tw-shadow-color),0 4px 6px -2px var(--tw-shadow-color)}.shadow-header,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.2),0 4px 6px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -2px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.2),0 2px 4px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -1px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-scroll{--tw-shadow:0px 0px 5px -1px rgba(0,0,0,.3),0px 2px 2px 0px rgba(0,0,0,.1),0px -30px 20px -35px #4a4a4a inset;--tw-shadow-colored:0px 0px 5px -1px var(--tw-shadow-color),0px 2px 2px 0px var(--tw-shadow-color),inset 0px -30px 20px -35px var(--tw-shadow-color)}.shadow-scroll,.shadow-soft-glow{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-soft-glow{--tw-shadow:0 0 10px 2px rgba(0,0,0,.1);--tw-shadow-colored:0 0 10px 2px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.drop-shadow-\[0_0_4px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{--tw-drop-shadow:drop-shadow(0 0 4px rgba(0,0,0,.1))}.drop-shadow-\[0_0_4px_rgba\(0\2c 0\2c 0\2c 0\.1\)\],.drop-shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.65\)\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.65\)\]{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.65))}.drop-shadow-\[0_1px_5px_rgba\(0\2c 0\2c 0\2c 0\.25\)\]{--tw-drop-shadow:drop-shadow(0 1px 5px rgba(0,0,0,.25))}.drop-shadow-\[0_1px_5px_rgba\(0\2c 0\2c 0\2c 0\.25\)\],.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all,.transition-bg,.transition-border,.transition-color{transition-timing-function:ease}.transition-colors{transition-property:color;transition-property:background-color;transition-property:border-color}.transition-colors,.transition-opacity,.transition-shadows,.transition-transform{transition-timing-function:ease}.delay{transition-delay:0ms}.duration-1000{transition-duration:1s}.duration-250{transition-duration:.25s}.duration-500{transition-duration:.5s}.will-change-\[filter\]{will-change:filter}.will-change-\[height\]{will-change:height}.scrollbar::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover,var(--scrollbar-track))}.scrollbar::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active,var(--scrollbar-track-hover,var(--scrollbar-track)))}.scrollbar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,var(--scrollbar-thumb))}.scrollbar::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active,var(--scrollbar-thumb-hover,var(--scrollbar-thumb)))}.scrollbar::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover,var(--scrollbar-corner))}.scrollbar::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active,var(--scrollbar-corner-hover,var(--scrollbar-corner)))}.scrollbar{scrollbar-color:var(--scrollbar-thumb,initial) var(--scrollbar-track,initial);scrollbar-width:auto}.scrollbar::-webkit-scrollbar{display:block;height:var(--scrollbar-height,16px);width:var(--scrollbar-width,16px)}.scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar-thin::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover,var(--scrollbar-track))}.scrollbar-thin::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active,var(--scrollbar-track-hover,var(--scrollbar-track)))}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover,var(--scrollbar-thumb))}.scrollbar-thin::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active,var(--scrollbar-thumb-hover,var(--scrollbar-thumb)))}.scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar-thin::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover,var(--scrollbar-corner))}.scrollbar-thin::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active,var(--scrollbar-corner-hover,var(--scrollbar-corner)))}.scrollbar-thin{scrollbar-color:var(--scrollbar-thumb,initial) var(--scrollbar-track,initial);scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{display:block;height:8px;width:8px}.scrollbar-track-transparent{--scrollbar-track:transparent!important}.scrollbar-thumb-black{--scrollbar-thumb:#000!important}.scrollbar-thumb-gray-300{--scrollbar-thumb:#d8d8d8!important}.scrollbar-thumb-gray-500{--scrollbar-thumb:#737373!important}.scrollbar-track-rounded-full{--scrollbar-track-radius:9999px}.scrollbar-thumb-rounded-full{--scrollbar-thumb-radius:9999px}.transition-all{transition-property:all}.transition-all,.transition-color{transition-duration:.25s;transition-duration:var(--transition-duration)}.transition-color{transition-property:color}.transition-bg{transition-property:background-color}.transition-bg,.transition-border{transition-duration:.25s;transition-duration:var(--transition-duration)}.transition-border{transition-property:border-color}.transition-colors{transition-property:color,background-color,border-color}.transition-colors,.transition-opacity{transition-duration:.25s;transition-duration:var(--transition-duration)}.transition-opacity{transition-property:opacity}.transition-transform{transition-property:transform}.transition-shadows,.transition-transform{transition-duration:.25s;transition-duration:var(--transition-duration)}.transition-shadows{transition-property:box-shadow}.transition-500{--transition-duration:500ms;transition-duration:.5s;transition-duration:var(--transition-duration)}.transition-750{--transition-duration:750ms;transition-duration:.75s;transition-duration:var(--transition-duration)}.transition-1000{--transition-duration:1000ms;transition-duration:1s;transition-duration:var(--transition-duration)}.transition-ease-in-out{transition-timing-function:ease-in-out}.transition-delay-short{transition-delay:.25s}.transition-delay-long{transition-delay:.5s}.translate-x-0{transform:translateX(0)}.translate-y-0{transform:translateY(0)}.translate-x-1{transform:translateX(.25rem)}.translate-y-1{transform:translateY(.25rem)}.translate-x-2{transform:translateX(.5rem)}.translate-x-4{transform:translateX(1rem)}.translate-y-4{transform:translateY(1rem)}.translate-y-8{transform:translateY(2rem)}.translate-x-12{transform:translateX(3rem)}.translate-x-36{transform:translateX(10rem)}.-translate-x-1\/2{transform:translateX(-50%)}.-translate-y-1\/2{transform:translateY(-50%)}.translate-x-1\/2{transform:translateX(50%)}.translate-y-1\/2{transform:translateY(50%)}.translate-center{transform:translate(-50%,-50%)}.translate-y-px{transform:translateY(1px)}.-translate-x-1{transform:translateX(-.25rem)}.-translate-y-1{transform:translateY(-.25rem)}.-translate-x-4{transform:translateX(-1rem)}.-translate-y-8{transform:translateY(-2rem)}.-translate-x-12{transform:translateX(-3rem)}.-translate-x-36{transform:translateX(-10rem)}.scale-y-75{transform:scaleY(.75)}.scale-100{transform:scale(1)}.scale-x-100{transform:scaleX(1)}.scale-120{transform:scale(1.2)}.-scale-x-100{transform:scaleX(-1)}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}.col-count-\31{-moz-column-count:1;column-count:1}.col-count-\32{-moz-column-count:2;column-count:2}.col-w-md{-moz-column-width:240px;column-width:240px}.col-w-lg{-moz-column-width:300px;column-width:300px}.content-visibility-auto{content-visibility:auto}.contain-intrinsic-size-\[auto_none\]{contain-intrinsic-size:auto none}.\!container,.container{max-width:88rem}.\!container,.container,.container-sm{margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem;width:100%}.container-sm{max-width:56rem}.container-xs{margin-left:auto;margin-right:auto;max-width:48rem;padding-left:1.5rem;padding-right:1.5rem;width:100%}.container-right-rail{max-width:300px;min-width:300px;width:300px}.spinner{animation:rotation 2s linear infinite}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hide-eleven>:not(.active):nth-child(n+12),.hide-five>:not(.active):nth-child(n+6),.hide-four>:not(.active):nth-child(n+5),.hide-fourteen>:not(.active,button):nth-child(n+15),.hide-nine>:not(.active):nth-child(n+10),.hide-six>:not(.active):nth-child(n+7),.hide-ten>:not(.active):nth-child(n+11),.hide-three>:not(.active):nth-child(n+4),.hide-two>:not(.active):nth-child(n+3){display:none}[x-cloak]{display:none!important}.shadow-solid{box-shadow:3px 3px #eb002e,6px 6px #eb002e,8px 8px #eb002e}.shadow-right:after{background:linear-gradient(90deg,rgba(0,0,0,.05),transparent);bottom:0;content:"";position:absolute;right:-25px;top:0;width:25px;z-index:10}img[data-lazy-sized]{--tw-bg-opacity:1;background-color:rgb(247 247 247/var(--tw-bg-opacity));transition-duration:.5s;transition-property:all}.gray-bg-gradient{background:linear-gradient(180deg,#f6f6f6,#fff)}.featured-gradient{background:linear-gradient(180deg,rgba(2,0,36,.5),rgba(2,0,36,.1) 50%,rgba(2,0,36,.5))}.clear-both{clear:both}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}.line-clamp-3,.line-clamp-7{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-7{-webkit-line-clamp:7}.hyphens{-webkit-hyphens:auto;hyphens:auto}.decorative-horizontal-lines{display:flex}.decorative-horizontal-lines:after,.decorative-horizontal-lines:before{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity));border-top-width:2px;content:var(--tw-content);flex:1 1 0%;margin:auto}.decorative-horizontal-lines-thin{display:flex}.decorative-horizontal-lines-thin:after,.decorative-horizontal-lines-thin:before{--tw-border-opacity:1;border-color:rgb(216 216 216/var(--tw-border-opacity));border-top-width:1px;content:var(--tw-content);flex:1 1 0%;margin:auto}.font-stretch-normal{font-stretch:normal}.\!font-stretch-ultra-condensed{font-stretch:ultra-condensed!important}.font-stretch-ultra-condensed{font-stretch:ultra-condensed}.font-stretch-condensed{font-stretch:condensed}.\[mask-image\:url\(\'\/icons\/bars-light\.svg\'\)\]{-webkit-mask-image:url(/icons/bars-light.svg);mask-image:url(/icons/bars-light.svg)}.\[mask-repeat\:no-repeat\]{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.\[overflow-anchor\:none\]{overflow-anchor:none}.first-letter\:uppercase:first-letter{text-transform:uppercase}.placeholder\:text-black::-moz-placeholder{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.placeholder\:text-black::placeholder{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.placeholder\:text-gray-600::-moz-placeholder{--tw-text-opacity:1;color:rgb(74 74 74/var(--tw-text-opacity))}.placeholder\:text-gray-600::placeholder{--tw-text-opacity:1;color:rgb(74 74 74/var(--tw-text-opacity))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:relative:before{content:var(--tw-content);position:relative}.before\:inset-0:before{content:var(--tw-content);inset:0}.before\:-left-1:before{content:var(--tw-content);left:-.25rem}.before\:bottom-\[7px\]:before{bottom:7px;content:var(--tw-content)}.before\:z-0:before{content:var(--tw-content);z-index:0}.before\:inline-block:before{content:var(--tw-content);display:inline-block}.before\:size-2:before{content:var(--tw-content);height:.5rem;width:.5rem}.before\:h-full:before{content:var(--tw-content);height:100%}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:w-1:before{content:var(--tw-content);width:.25rem}.before\:w-full:before{content:var(--tw-content);width:100%}.before\:flex-1:before{content:var(--tw-content);flex:1 1 0%}.before\:rounded:before{border-radius:.25rem;content:var(--tw-content)}.before\:rounded-full:before{border-radius:9999px;content:var(--tw-content)}.before\:border:before{border-width:1px;content:var(--tw-content)}.before\:border-2:before{border-width:2px;content:var(--tw-content)}.before\:border-t-1:before,.before\:border-t:before{border-top-width:1px;content:var(--tw-content)}.before\:border-t-2:before{border-top-width:2px;content:var(--tw-content)}.before\:\!border-red-400:before{--tw-border-opacity:1!important;border-color:rgb(235 0 46/var(--tw-border-opacity))!important;content:var(--tw-content)}.before\:border-gray-300:before{--tw-border-opacity:1;border-color:rgb(216 216 216/var(--tw-border-opacity));content:var(--tw-content)}.before\:border-red-400:before{--tw-border-opacity:1;border-color:rgb(235 0 46/var(--tw-border-opacity));content:var(--tw-content)}.before\:border-spotlight:before{--tw-border-opacity:1;border-color:rgb(161 24 57/var(--tw-border-opacity));content:var(--tw-content)}.before\:bg-gray-300:before{--tw-bg-opacity:1;background-color:rgb(216 216 216/var(--tw-bg-opacity));content:var(--tw-content)}.before\:bg-red-400:before{--tw-bg-opacity:1;background-color:rgb(235 0 46/var(--tw-bg-opacity));content:var(--tw-content)}.before\:bg-white:before{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));content:var(--tw-content)}.before\:bg-gradient-to-r:before{background-image:linear-gradient(to right,var(--tw-gradient-stops));content:var(--tw-content)}.before\:from-\[\#D700EB\]:before{--tw-gradient-from:#d700eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(215,0,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);content:var(--tw-content)}.before\:to-red-400:before{--tw-gradient-to:#eb002e var(--tw-gradient-to-position);content:var(--tw-content)}.before\:opacity-0:before{content:var(--tw-content);opacity:0}.before\:transition-opacity:before{transition-timing-function:ease}.before\:duration-250:before{content:var(--tw-content);transition-duration:.25s}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.before\:content-\[\\\'\\\'\]:before{--tw-content:\'\';content:var(--tw-content)}.before\:transition-opacity:before{content:var(--tw-content);transition-duration:.25s;transition-duration:var(--transition-duration);transition-property:opacity}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:relative:after{content:var(--tw-content);position:relative}.after\:-right-1:after{content:var(--tw-content);right:-.25rem}.after\:bottom-\[7px\]:after{bottom:7px;content:var(--tw-content)}.after\:inline-block:after{content:var(--tw-content);display:inline-block}.after\:size-4:after{content:var(--tw-content);height:1rem;width:1rem}.after\:h-full:after{content:var(--tw-content);height:100%}.after\:h-px:after{content:var(--tw-content);height:1px}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:flex-1:after{content:var(--tw-content);flex:1 1 0%}.after\:border:after{border-width:1px;content:var(--tw-content)}.after\:border-t-1:after,.after\:border-t:after{border-top-width:1px;content:var(--tw-content)}.after\:border-t-2:after{border-top-width:2px;content:var(--tw-content)}.after\:border-gray-300:after{--tw-border-opacity:1;border-color:rgb(216 216 216/var(--tw-border-opacity));content:var(--tw-content)}.after\:border-red-400:after{--tw-border-opacity:1;border-color:rgb(235 0 46/var(--tw-border-opacity));content:var(--tw-content)}.after\:border-spotlight:after{--tw-border-opacity:1;border-color:rgb(161 24 57/var(--tw-border-opacity));content:var(--tw-content)}.after\:bg-gray-300:after{--tw-bg-opacity:1;background-color:rgb(216 216 216/var(--tw-bg-opacity));content:var(--tw-content)}.after\:bg-gray-700:after{--tw-bg-opacity:1;background-color:rgb(41 41 41/var(--tw-bg-opacity));content:var(--tw-content)}.after\:bg-white:after{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));content:var(--tw-content)}.after\:\!text-black:after{--tw-text-opacity:1!important;color:rgb(0 0 0/var(--tw-text-opacity))!important;content:var(--tw-content)}.after\:transition-colors:after{transition-property:color;transition-property:background-color;transition-property:border-color;transition-timing-function:ease}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.after\:content-\[\\\'\\\'\]:after{--tw-content:\'\';content:var(--tw-content)}.after\:transition-colors:after{content:var(--tw-content);transition-duration:.25s;transition-duration:var(--transition-duration);transition-property:color,background-color,border-color}.after\:\[mask-image\:url\(\'\/icons\/plus\.svg\'\)\]:after{content:var(--tw-content);-webkit-mask-image:url(/icons/plus.svg);mask-image:url(/icons/plus.svg)}.after\:\[mask-repeat\:no-repeat\]:after{content:var(--tw-content);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.after\:\[mask-size\:16px_16px\]:after{content:var(--tw-content);-webkit-mask-size:16px 16px;mask-size:16px 16px}.odd\:bg-\[\#F9FAFB\]:nth-child(odd){--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.odd\:bg-white:nth-child(odd){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.even\:bg-red-200:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.even\:bg-white:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus-within\:border-gray-700:focus-within{--tw-border-opacity:1;border-color:rgb(41 41 41/var(--tw-border-opacity))}.group:hover .group-hover\:-top-px{top:-1px}.group:hover .group-hover\:-mr-2{margin-right:-.5rem}.group:hover .group-hover\:mr-2{margin-right:.5rem}.group:hover .group-hover\:-translate-x-1{--tw-translate-x:-0.25rem}.group:hover .group-hover\:-translate-x-1,.group:hover .group-hover\:-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-y-1{--tw-translate-y:-0.25rem}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem}.group:hover .group-hover\:translate-x-1,.group:hover .group-hover\:translate-x-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-2{--tw-translate-x:0.5rem}.group:hover .group-hover\:scale-120{--tw-scale-x:1.2;--tw-scale-y:1.2;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:rounded{border-radius:.25rem}.group:hover .group-hover\:border-none{border-style:none}.group:hover .group-hover\:border-gray-700{--tw-border-opacity:1;border-color:rgb(41 41 41/var(--tw-border-opacity))}.group:hover .group-hover\:border-red-400{--tw-border-opacity:1;border-color:rgb(235 0 46/var(--tw-border-opacity))}.group:hover .group-hover\:border-red-500{--tw-border-opacity:1;border-color:rgb(190 0 37/var(--tw-border-opacity))}.group:hover .group-hover\:bg-red-500{--tw-bg-opacity:1;background-color:rgb(190 0 37/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-opacity-100{--tw-bg-opacity:1}.group\/accordion:hover .group-hover\/accordion\:text-red-400{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}.group\/accordion:hover .group-hover\/accordion\:text-spotlight{--tw-text-opacity:1;color:rgb(161 24 57/var(--tw-text-opacity))}.group:hover .group-hover\:text-\[color\:var\(--text\)\]{color:var(--text)}.group:hover .group-hover\:text-gray-700{--tw-text-opacity:1;color:rgb(41 41 41/var(--tw-text-opacity))}.group:hover .group-hover\:text-purple-400{--tw-text-opacity:1;color:rgb(42 22 192/var(--tw-text-opacity))}.group:hover .group-hover\:text-purple-500{--tw-text-opacity:1;color:rgb(26 9 154/var(--tw-text-opacity))}.group:hover .group-hover\:text-red-400{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}.group:hover .group-hover\:text-red-500{--tw-text-opacity:1;color:rgb(190 0 37/var(--tw-text-opacity))}.group:hover .group-hover\:text-spotlight{--tw-text-opacity:1;color:rgb(161 24 57/var(--tw-text-opacity))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group:hover .group-hover\:opacity-75{opacity:.75}.group:hover .group-hover\:shadow-\[-10px_10px_0_\#BE0025\]{--tw-shadow:-10px 10px 0 #be0025;--tw-shadow-colored:-10px 10px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.2),0 4px 6px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:translate-x-1{transform:translateX(.25rem)}.group:hover .group-hover\:translate-x-2{transform:translateX(.5rem)}.group:hover .group-hover\:-translate-x-1{transform:translateX(-.25rem)}.group:hover .group-hover\:-translate-y-1{transform:translateY(-.25rem)}.group:hover .group-hover\:scale-120{transform:scale(1.2)}.group:focus .group-focus\:text-red-400{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}.group:active .group-active\:text-red-500{--tw-text-opacity:1;color:rgb(190 0 37/var(--tw-text-opacity))}.peer:checked~.peer-checked\:not-sr-only{clip:auto;height:auto;margin:0;overflow:visible;padding:0;position:static;white-space:normal;width:auto}.peer:checked~.peer-checked\:z-negative{z-index:-1}.peer:checked~.peer-checked\:block{display:block}.peer:checked~.peer-checked\:bg-red-400{--tw-bg-opacity:1;background-color:rgb(235 0 46/var(--tw-bg-opacity))}.peer:checked~.peer-checked\:bg-\[url\(\'\/icons\/minus-red\.svg\'\)\]{background-image:url(/icons/minus-red.svg)}.peer:checked~.peer-checked\:bg-\[url\(\'\/icons\/minus\.svg\'\)\]{background-image:url(/icons/minus.svg)}.peer:checked~.peer-checked\:\[mask-image\:url\(\'\/icons\/times-light-red\.svg\'\)\]{-webkit-mask-image:url(/icons/times-light-red.svg);mask-image:url(/icons/times-light-red.svg)}.peer:checked~.peer-checked\:after\:bg-red-400:after{--tw-bg-opacity:1;background-color:rgb(235 0 46/var(--tw-bg-opacity));content:var(--tw-content)}.peer:checked~.peer-checked\:after\:\[mask-image\:url\(\'\/icons\/minus\.svg\'\)\]:after{content:var(--tw-content);-webkit-mask-image:url(/icons/minus.svg);mask-image:url(/icons/minus.svg)}.peer:hover~.peer-hover\:text-red-400{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}.peer:focus~.peer-focus\:bg-red-400{--tw-bg-opacity:1;background-color:rgb(235 0 46/var(--tw-bg-opacity))}.peer:focus-visible~.peer-focus-visible\:border-red-400{--tw-border-opacity:1;border-color:rgb(235 0 46/var(--tw-border-opacity))}.peer:focus-visible:checked~.peer-focus-visible\:peer-checked\:border-red-400{--tw-border-opacity:1;border-color:rgb(235 0 46/var(--tw-border-opacity))}.has-\[\.tippy-box\]\:\!overflow-visible:has(.tippy-box){overflow:visible!important}.peer:has(:focus-within)~.peer-has-\[\:focus-within\]\:text-red-400{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}.hover\:-top-px:hover{top:-1px}.hover\:bottom-0:hover{bottom:0}.hover\:bottom-\[24\%\]:hover{bottom:24%}.hover\:z-10:hover{z-index:10}.hover\:z-30:hover{z-index:30}.hover\:scale-\[1\.02\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02}.hover\:scale-\[1\.02\]:hover,.hover\:scale-\[1\.2\]:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.2\]:hover{--tw-scale-x:1.2;--tw-scale-y:1.2}.hover\:cursor-\[default\]:hover{cursor:default}.hover\:cursor-auto:hover{cursor:auto}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity))}.hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgb(41 41 41/var(--tw-border-opacity))}.hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgb(235 0 46/var(--tw-border-opacity))}.hover\:border-red-500:hover{--tw-border-opacity:1;border-color:rgb(190 0 37/var(--tw-border-opacity))}.hover\:bg-\[\#1D4ED8\]:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(247 247 247/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(236 236 236/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(245 96 125/var(--tw-bg-opacity))}.hover\:bg-red-400:hover{--tw-bg-opacity:1;background-color:rgb(235 0 46/var(--tw-bg-opacity))}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(190 0 37/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(74 74 74/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(41 41 41/var(--tw-text-opacity))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(190 0 37/var(--tw-text-opacity))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(126 1 31/var(--tw-text-opacity))}.hover\:text-spotlight:hover{--tw-text-opacity:1;color:rgb(161 24 57/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 2px 0 rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px 0 var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.2),0 4px 6px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -2px var(--tw-shadow-color)}.hover\:brightness-125:hover{--tw-brightness:brightness(1.25);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:scrollbar-thumb-black{--scrollbar-thumb-hover:#000!important}.hover\:scrollbar-thumb-gray-500{--scrollbar-thumb-hover:#737373!important}.after\:hover\:bg-red-400:hover:after{--tw-bg-opacity:1;background-color:rgb(235 0 46/var(--tw-bg-opacity));content:var(--tw-content)}.focus\:border-gray-500:focus{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity))}.focus\:border-red-400:focus{--tw-border-opacity:1;border-color:rgb(235 0 46/var(--tw-border-opacity))}.focus\:bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgb(247 247 247/var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\:text-red-400:focus{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity))}.focus-visible\:text-gray-700:focus-visible{--tw-text-opacity:1;color:rgb(41 41 41/var(--tw-text-opacity))}.focus-visible\:text-red-400:focus-visible{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}.focus-visible\:underline:focus-visible{text-decoration-line:underline}.focus-visible\:no-underline:focus-visible{text-decoration-line:none}.active\:bg-\[\#1E40AF\]:active{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.active\:text-red-300:active{--tw-text-opacity:1;color:rgb(245 96 125/var(--tw-text-opacity))}.active\:text-red-500:active{--tw-text-opacity:1;color:rgb(190 0 37/var(--tw-text-opacity))}.active\:ring-0:active{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:text-gray-700:hover:disabled{--tw-text-opacity:1;color:rgb(41 41 41/var(--tw-text-opacity))}.prose-headings\:my-4 :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose] *))){margin-bottom:1rem;margin-top:1rem}.prose-h1\:text-xl :is(:where(h1):not(:where([class~=not-prose] *))){font-size:1.25rem}.prose-h2\:text-lg :is(:where(h2):not(:where([class~=not-prose] *))){font-size:1.125rem}.prose-a\:font-extrabold :is(:where(a):not(:where([class~=not-prose] *))){font-weight:800}.hover\:prose-a\:underline :is(:where(a):not(:where([class~=not-prose] *))):hover{text-decoration-line:underline}@supports (-moz-appearance:none){.firefox\:pb-3{padding-bottom:.75rem}}@supports (background:-webkit-named-image(i)){.safari\:invisible{visibility:hidden}}@supports (-webkit-app-region:inherit){.chrome\:invisible{visibility:hidden}}@media not all and (min-width:768px){.max-md\:\!m-0{margin:0!important}.max-md\:\!grid{display:grid!important}.max-md\:\!w-full{width:100%!important}}@media (min-width:375px){.xs\:left-\[12\%\]{left:12%}.xs\:ml-5{margin-left:1.125rem}.xs\:mr-3{margin-right:.75rem}.xs\:mr-5{margin-right:1.125rem}.xs\:size-\[88px\]{height:88px;width:88px}.xs\:h-5{height:1.125rem}.xs\:max-h-64{max-height:16rem}.xs\:w-20{width:5rem}.xs\:w-28{width:7rem}.xs\:w-32{width:8rem}.xs\:w-5{width:1.125rem}.xs\:w-\[15rem\]{width:15rem}.xs\:w-full{width:100%}.xs\:max-w-64{max-width:16rem}.xs\:max-w-\[260px\]{max-width:260px}.xs\:max-w-full{max-width:100%}.xs\:flex-nowrap{flex-wrap:nowrap}.xs\:gap-4{gap:1rem}.xs\:p-6{padding:1.5rem}.xs\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xs\:pt-6{padding-top:1.5rem}.xs\:text-base{font-size:1rem}.xs\:text-lg{font-size:1.125rem}}@media (min-width:640px){.sm\:bottom-0{bottom:0}.sm\:left-\[7\%\]{left:7%}.sm\:top-\[65\%\]{top:65%}.sm\:order-first{order:-9999}.sm\:order-last{order:9999}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:mx-8{margin-left:2rem;margin-right:2rem}.sm\:\!mb-0{margin-bottom:0!important}.sm\:\!mb-32{margin-bottom:8rem!important}.sm\:mb-0{margin-bottom:0}.sm\:ml-4{margin-left:1rem}.sm\:mt-0{margin-top:0}.sm\:mt-2{margin-top:.5rem}.sm\:mt-24{margin-top:6rem}.sm\:mt-5{margin-top:1.125rem}.sm\:mt-6{margin-top:1.5rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:\!flex{display:flex!important}.sm\:inline-flex{display:inline-flex}.sm\:table-cell{display:table-cell}.sm\:\!size-fit{height:-moz-fit-content!important;height:fit-content!important;width:-moz-fit-content!important;width:fit-content!important}.sm\:size-\[\.875rem\]{height:.875rem;width:.875rem}.sm\:size-\[11rem\]{height:11rem;width:11rem}.sm\:h-24{height:6rem}.sm\:max-h-72{max-height:20rem}.sm\:w-1\/2{width:50%}.sm\:w-24{width:6rem}.sm\:w-3\/4{width:75%}.sm\:w-36{width:10rem}.sm\:w-48{width:12rem}.sm\:w-64{width:16rem}.sm\:w-72{width:20rem}.sm\:w-96{width:24rem}.sm\:w-\[150px\]{width:150px}.sm\:w-\[320px\]{width:320px}.sm\:w-\[max-content\]{width:-moz-max-content;width:max-content}.sm\:w-auto{width:auto}.sm\:w-fit{width:-moz-fit-content;width:fit-content}.sm\:max-w-5\/6{max-width:83.333333%}.sm\:max-w-\[147px\]{max-width:147px}.sm\:max-w-\[160px\]{max-width:160px}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-xs{max-width:20rem}.sm\:flex-\[2\]{flex:2}.sm\:flex-initial{flex:0 1 auto}.sm\:flex-none{flex:none}.sm\:flex-grow{flex-grow:1}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-rows-\[minmax\(40px\2c auto\)\2c minmax\(80px\2c 1fr\)\]{grid-template-rows:minmax(40px,auto) minmax(80px,1fr)}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-6{gap:1.5rem}.sm\:gap-8{gap:2rem}.sm\:gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.sm\:gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:gap-y-0{row-gap:0}.sm\:gap-y-1{row-gap:.25rem}.sm\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.125rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.125rem*var(--tw-space-x-reverse))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.sm\:border-0{border-width:0}.sm\:p-10{padding:2.5rem}.sm\:p-8{padding:2rem}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-0{padding-bottom:0;padding-top:0}.sm\:py-2{padding-bottom:.5rem;padding-top:.5rem}.sm\:pb-10{padding-bottom:2.5rem}.sm\:pl-10{padding-left:2.5rem}.sm\:pr-10{padding-right:2.5rem}.sm\:pt-0{padding-top:0}.sm\:pt-10{padding-top:2.5rem}.sm\:text-right{text-align:right}.sm\:text-base{font-size:1rem}.sm\:leading-normal{line-height:1.5}.sm\:col-count-2{-moz-column-count:2;column-count:2}}@media (min-width:768px){.md\:invisible{visibility:hidden}.md\:static{position:static}.md\:absolute{position:absolute}.md\:relative{position:relative}.md\:sticky{position:sticky}.md\:inset-auto{inset:auto}.md\:-bottom-\[60\%\]{bottom:-60%}.md\:-top-256{top:-64rem}.md\:-top-8{top:-2rem}.md\:bottom-auto{bottom:auto}.md\:left-0{left:0}.md\:left-1\/2{left:50%}.md\:left-4{left:1rem}.md\:left-6{left:1.5rem}.md\:left-auto{left:auto}.md\:right-6{right:1.5rem}.md\:right-8{right:2rem}.md\:right-auto{right:auto}.md\:top-0{top:0}.md\:top-8{top:2rem}.md\:top-\[200px\]{top:200px}.md\:top-\[50\%\]{top:50%}.md\:top-\[6\.5rem\]{top:6.5rem}.md\:top-\[calc\(100\%_\+_16px\)\]{top:calc(100% + 16px)}.md\:order-first{order:-9999}.md\:order-last{order:9999}.md\:order-none{order:0}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-start-1{grid-column-start:1}.md\:col-start-2{grid-column-start:2}.md\:\!row-span-7{grid-row:span 7/span 7!important}.md\:row-span-1{grid-row:span 1/span 1}.md\:row-span-2{grid-row:span 2/span 2}.md\:row-span-4{grid-row:span 4/span 4}.md\:row-span-6{grid-row:span 6/span 6}.md\:row-start-1{grid-row-start:1}.md\:row-start-2{grid-row-start:2}.md\:float-right{float:right}.md\:float-none{float:none}.md\:\!-m-1{margin:-.25rem!important}.md\:\!m-0{margin:0!important}.md\:\!my-16{margin-bottom:4rem!important;margin-top:4rem!important}.md\:\!my-8{margin-bottom:2rem!important;margin-top:2rem!important}.md\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.md\:-mx-8{margin-left:-2rem;margin-right:-2rem}.md\:mx-0{margin-left:0;margin-right:0}.md\:mx-4{margin-left:1rem;margin-right:1rem}.md\:mx-5{margin-left:1.125rem;margin-right:1.125rem}.md\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:my-0{margin-bottom:0;margin-top:0}.md\:my-10{margin-bottom:2.5rem;margin-top:2.5rem}.md\:my-16{margin-bottom:4rem;margin-top:4rem}.md\:my-2{margin-bottom:.5rem;margin-top:.5rem}.md\:my-6{margin-bottom:1.5rem;margin-top:1.5rem}.md\:\!mb-0{margin-bottom:0!important}.md\:\!mb-12{margin-bottom:3rem!important}.md\:\!mb-8{margin-bottom:2rem!important}.md\:-mr-12{margin-right:-3rem}.md\:-mr-3{margin-right:-.75rem}.md\:-mt-20{margin-top:-5rem}.md\:-mt-32{margin-top:-8rem}.md\:-mt-4{margin-top:-1rem}.md\:mb-0{margin-bottom:0}.md\:mb-1{margin-bottom:.25rem}.md\:mb-12{margin-bottom:3rem}.md\:mb-16{margin-bottom:4rem}.md\:mb-2{margin-bottom:.5rem}.md\:mb-4{margin-bottom:1rem}.md\:mb-6{margin-bottom:1.5rem}.md\:mb-8{margin-bottom:2rem}.md\:ml-0{margin-left:0}.md\:ml-1{margin-left:.25rem}.md\:ml-16{margin-left:4rem}.md\:ml-2{margin-left:.5rem}.md\:ml-3{margin-left:.75rem}.md\:ml-4{margin-left:1rem}.md\:ml-8{margin-left:2rem}.md\:mr-0{margin-right:0}.md\:mr-2{margin-right:.5rem}.md\:mr-20{margin-right:5rem}.md\:mr-24{margin-right:6rem}.md\:mr-3{margin-right:.75rem}.md\:mr-4{margin-right:1rem}.md\:mr-6{margin-right:1.5rem}.md\:mr-8{margin-right:2rem}.md\:mt-0{margin-top:0}.md\:mt-1{margin-top:.25rem}.md\:mt-10{margin-top:2.5rem}.md\:mt-12{margin-top:3rem}.md\:mt-16{margin-top:4rem}.md\:mt-2{margin-top:.5rem}.md\:mt-24{margin-top:6rem}.md\:mt-4{margin-top:1rem}.md\:mt-6{margin-top:1.5rem}.md\:mt-8{margin-top:2rem}.md\:block{display:block}.md\:inline-block{display:inline-block}.md\:inline{display:inline}.md\:\!flex{display:flex!important}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:\!grid{display:grid!important}.md\:grid{display:grid}.md\:contents{display:contents}.md\:hidden{display:none}.md\:aspect-video{aspect-ratio:16/9}.md\:\!size-full{height:100%!important;width:100%!important}.md\:size-6{height:1.5rem;width:1.5rem}.md\:size-8{height:2rem;width:2rem}.md\:size-\[116px\]{height:116px;width:116px}.md\:size-full{height:100%;width:100%}.md\:\!h-0{height:0!important}.md\:h-0{height:0}.md\:h-12{height:3rem}.md\:h-128{height:32rem}.md\:h-24{height:6rem}.md\:h-28{height:7rem}.md\:h-32{height:8rem}.md\:h-4{height:1rem}.md\:h-48{height:12rem}.md\:h-6{height:1.5rem}.md\:h-full{height:100%}.md\:max-h-96{max-height:24rem}.md\:max-h-\[2\.75rem\]{max-height:2.75rem}.md\:min-h-48{min-height:12rem}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-1\/4{width:25%}.md\:w-12{width:3rem}.md\:w-128{width:32rem}.md\:w-2\/3{width:66.666667%}.md\:w-2\/5{width:40%}.md\:w-3\/4{width:75%}.md\:w-3\/5{width:60%}.md\:w-36{width:10rem}.md\:w-4{width:1rem}.md\:w-48{width:12rem}.md\:w-6{width:1.5rem}.md\:w-72{width:20rem}.md\:w-\[120px\]{width:120px}.md\:w-\[195px\]{width:195px}.md\:w-\[220px\]{width:220px}.md\:w-\[532px\]{width:532px}.md\:w-auto{width:auto}.md\:w-fit{width:-moz-fit-content;width:fit-content}.md\:w-full{width:100%}.md\:min-w-0{min-width:0}.md\:min-w-12{min-width:3rem}.md\:min-w-24{min-width:6rem}.md\:min-w-28{min-width:7rem}.md\:min-w-48{min-width:12rem}.md\:min-w-96{min-width:24rem}.md\:\!max-w-\[51rem\]{max-width:51rem!important}.md\:max-w-12{max-width:3rem}.md\:max-w-28{max-width:7rem}.md\:max-w-3\/5{max-width:60%}.md\:max-w-32{max-width:8rem}.md\:max-w-3xl{max-width:48rem}.md\:max-w-4\/5{max-width:80%}.md\:max-w-48{max-width:12rem}.md\:max-w-7xl{max-width:80rem}.md\:max-w-8xl{max-width:88rem}.md\:max-w-\[280px\]{max-width:280px}.md\:max-w-\[362px\]{max-width:362px}.md\:max-w-\[828px\]{max-width:828px}.md\:max-w-\[calc\(100vw_-_32px\)\]{max-width:calc(100vw - 32px)}.md\:max-w-lg{max-width:32rem}.md\:max-w-none{max-width:none}.md\:max-w-xl{max-width:36rem}.md\:max-w-xs{max-width:20rem}.md\:flex-1{flex:1 1 0%}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-grow{flex-grow:1}.md\:flex-grow-0{flex-grow:0}.md\:basis-\[154px\]{flex-basis:154px}.md\:basis-\[200px\]{flex-basis:200px}.md\:-translate-x-1\/2{--tw-translate-x:-50%}.md\:-translate-x-1\/2,.md\:translate-x-\[0\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:translate-x-\[0\]{--tw-translate-x:0}.md\:translate-y-0,.md\:translate-y-\[0\]{--tw-translate-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:snap-none{scroll-snap-type:none}.md\:snap-align-none{scroll-snap-align:none}.md\:grid-flow-row{grid-auto-flow:row}.md\:grid-flow-col{grid-auto-flow:column}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[minmax\(auto\2c 10rem\)\2c repeat\(2\2c minmax\(0\2c 1fr\)\)\]{grid-template-columns:minmax(auto,10rem) repeat(2,minmax(0,1fr))}.md\:grid-cols-subgrid{grid-template-columns:subgrid}.md\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.md\:grid-rows-subgrid{grid-template-rows:subgrid}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-nowrap{flex-wrap:nowrap}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:justify-center{justify-content:center}.md\:justify-between{justify-content:space-between}.md\:justify-around{justify-content:space-around}.md\:gap-10{gap:2.5rem}.md\:gap-12{gap:3rem}.md\:gap-16{gap:4rem}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:.75rem}.md\:gap-4{gap:1rem}.md\:gap-6{gap:1.5rem}.md\:gap-8{gap:2rem}.md\:gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.md\:gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.md\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.md\:gap-x-5{-moz-column-gap:1.125rem;column-gap:1.125rem}.md\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.md\:gap-y-0{row-gap:0}.md\:gap-y-10{row-gap:2.5rem}.md\:gap-y-2{row-gap:.5rem}.md\:gap-y-4{row-gap:1rem}.md\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.md\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.125rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.125rem*var(--tw-space-x-reverse))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.md\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(0px*var(--tw-divide-y-reverse));border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)))}.md\:divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(216 216 216/var(--tw-divide-opacity))}.md\:self-start{align-self:flex-start}.md\:justify-self-start{justify-self:start}.md\:justify-self-center{justify-self:center}.md\:overflow-hidden{overflow:hidden}.md\:overflow-x-visible{overflow-x:visible}.md\:whitespace-normal{white-space:normal}.md\:whitespace-nowrap{white-space:nowrap}.md\:rounded{border-radius:.25rem}.md\:rounded-xl{border-radius:1rem}.md\:rounded-l-md{border-bottom-left-radius:.375rem;border-top-left-radius:.375rem}.md\:border-0{border-width:0}.md\:border-b{border-bottom-width:1px}.md\:border-b-0{border-bottom-width:0}.md\:border-l{border-left-width:1px}.md\:border-l-2{border-left-width:2px}.md\:border-r{border-right-width:1px}.md\:border-r-0{border-right-width:0}.md\:border-t-0{border-top-width:0}.md\:border-none{border-style:none}.md\:bg-\[inherit\]{background-color:inherit}.md\:object-contain{-o-object-fit:contain;object-fit:contain}.md\:\!p-1{padding:.25rem!important}.md\:p-0{padding:0}.md\:p-10{padding:2.5rem}.md\:p-20{padding:5rem}.md\:p-3{padding:.75rem}.md\:p-5{padding:1.125rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:\!px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.md\:px-0{padding-left:0;padding-right:0}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-0{padding-bottom:0;padding-top:0}.md\:py-12{padding-bottom:3rem;padding-top:3rem}.md\:py-16{padding-bottom:4rem;padding-top:4rem}.md\:py-20{padding-bottom:5rem;padding-top:5rem}.md\:py-3{padding-bottom:.75rem;padding-top:.75rem}.md\:py-32{padding-bottom:8rem;padding-top:8rem}.md\:py-4{padding-bottom:1rem;padding-top:1rem}.md\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.md\:py-8{padding-bottom:2rem;padding-top:2rem}.md\:py-\[1\.75rem\]{padding-bottom:1.75rem;padding-top:1.75rem}.md\:\!pl-6{padding-left:1.5rem!important}.md\:pb-0{padding-bottom:0}.md\:pb-2{padding-bottom:.5rem}.md\:pb-32{padding-bottom:8rem}.md\:pb-4{padding-bottom:1rem}.md\:pb-6{padding-bottom:1.5rem}.md\:pb-8{padding-bottom:2rem}.md\:pb-\[1\.75rem\]{padding-bottom:1.75rem}.md\:pb-\[100\%\]{padding-bottom:100%}.md\:pb-\[56\.25\%\]{padding-bottom:56.25%}.md\:pl-0{padding-left:0}.md\:pl-3{padding-left:.75rem}.md\:pl-4{padding-left:1rem}.md\:pl-8{padding-left:2rem}.md\:pr-10{padding-right:2.5rem}.md\:pr-12{padding-right:3rem}.md\:pr-16{padding-right:4rem}.md\:pr-4{padding-right:1rem}.md\:pr-6{padding-right:1.5rem}.md\:pr-8{padding-right:2rem}.md\:pt-0{padding-top:0}.md\:pt-3{padding-top:.75rem}.md\:pt-4{padding-top:1rem}.md\:pt-8{padding-top:2rem}.md\:\!text-left{text-align:left!important}.md\:text-left{text-align:left}.md\:text-center{text-align:center}.md\:text-right{text-align:right}.md\:\!text-4xl{font-size:2.25rem!important}.md\:text-2xl{font-size:1.5rem}.md\:text-3xl{font-size:1.875rem}.md\:text-4xl{font-size:2.25rem}.md\:text-5xl{font-size:3rem}.md\:text-6xl{font-size:4rem}.md\:text-\[36px\]{font-size:36px}.md\:text-base{font-size:1rem}.md\:text-lg{font-size:1.125rem}.md\:text-sm{font-size:.875rem}.md\:text-xl{font-size:1.25rem}.md\:leading-compact{line-height:1.125}.md\:leading-loose{line-height:2}.md\:leading-none{line-height:1}.md\:leading-normal{line-height:1.5}.md\:leading-tight{line-height:1.25}.md\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.md\:translate-y-0{transform:translateY(0)}.md\:-translate-x-1\/2{transform:translateX(-50%)}.md\:translate-center{transform:translate(-50%,-50%)}.md\:col-count-3{-moz-column-count:3;column-count:3}.md\:col-count-4{-moz-column-count:4;column-count:4}.md\:col-count-5{-moz-column-count:5;column-count:5}.md\:container{margin-left:auto;margin-right:auto;max-width:88rem;padding-left:1.5rem;padding-right:1.5rem;width:100%}.md\:decorative-horizontal-lines{display:flex}.md\:decorative-horizontal-lines:after,.md\:decorative-horizontal-lines:before{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity));border-top-width:2px;content:var(--tw-content);flex:1 1 0%;margin:auto}.md\:font-stretch-normal{font-stretch:normal}.md\:after\:hidden:after,.md\:before\:hidden:before{content:var(--tw-content);display:none}}@media (min-width:1024px){.lg\:pointer-events-auto{pointer-events:auto}.lg\:relative{position:relative}.lg\:sticky{position:sticky}.lg\:-bottom-\[40\%\]{bottom:-40%}.lg\:-bottom-\[47\%\]{bottom:-47%}.lg\:bottom-\[3px\]{bottom:3px}.lg\:right-8{right:2rem}.lg\:top-32{top:8rem}.lg\:top-4{top:1rem}.lg\:top-\[40\%\]{top:40%}.lg\:top-\[65\%\]{top:65%}.lg\:z-top{z-index:9999999999}.lg\:-order-1{order:-1}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:order-3{order:3}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-full{grid-column:1/-1}.lg\:row-span-2{grid-row:span 2/span 2}.lg\:float-left{float:left}.lg\:m-2{margin:.5rem}.lg\:-mx-4{margin-left:-1rem;margin-right:-1rem}.lg\:mx-2{margin-left:.5rem;margin-right:.5rem}.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:my-0{margin-bottom:0;margin-top:0}.lg\:my-24{margin-bottom:6rem;margin-top:6rem}.lg\:my-8{margin-bottom:2rem;margin-top:2rem}.lg\:-mb-2{margin-bottom:-.5rem}.lg\:-mt-16{margin-top:-4rem}.lg\:-mt-28{margin-top:-7rem}.lg\:mb-0{margin-bottom:0}.lg\:mb-12{margin-bottom:3rem}.lg\:mb-2{margin-bottom:.5rem}.lg\:mb-24{margin-bottom:6rem}.lg\:mb-8{margin-bottom:2rem}.lg\:ml-10{margin-left:2.5rem}.lg\:ml-16{margin-left:4rem}.lg\:ml-2{margin-left:.5rem}.lg\:ml-4{margin-left:1rem}.lg\:mr-0{margin-right:0}.lg\:mr-10{margin-right:2.5rem}.lg\:mr-4{margin-right:1rem}.lg\:mr-6{margin-right:1.5rem}.lg\:mr-64{margin-right:16rem}.lg\:mr-8{margin-right:2rem}.lg\:mr-\[28px\]{margin-right:28px}.lg\:mt-0{margin-top:0}.lg\:mt-10{margin-top:2.5rem}.lg\:mt-12{margin-top:3rem}.lg\:mt-2{margin-top:.5rem}.lg\:mt-3{margin-top:.75rem}.lg\:mt-8{margin-top:2rem}.lg\:mt-auto{margin-top:auto}.lg\:block{display:block}.lg\:inline-block{display:inline-block}.lg\:inline{display:inline}.lg\:\!flex{display:flex!important}.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:size-12{height:3rem;width:3rem}.lg\:size-4{height:1rem;width:1rem}.lg\:h-12{height:3rem}.lg\:h-16{height:4rem}.lg\:h-5{height:1.125rem}.lg\:h-6{height:1.5rem}.lg\:h-\[36px\]{height:36px}.lg\:max-h-\[32\.5rem\]{max-height:32.5rem}.lg\:max-h-\[45vh\]{max-height:45vh}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:w-1\/4{width:25%}.lg\:w-1\/5{width:20%}.lg\:w-1\/6{width:16.666667%}.lg\:w-128{width:32rem}.lg\:w-16{width:4rem}.lg\:w-2\/5{width:40%}.lg\:w-3\/4{width:75%}.lg\:w-3\/5{width:60%}.lg\:w-32{width:8rem}.lg\:w-36{width:10rem}.lg\:w-4\/5{width:80%}.lg\:w-48{width:12rem}.lg\:w-5{width:1.125rem}.lg\:w-6{width:1.5rem}.lg\:w-64{width:16rem}.lg\:w-72{width:20rem}.lg\:w-\[282px\]{width:282px}.lg\:w-\[max-content\]{width:-moz-max-content;width:max-content}.lg\:w-auto{width:auto}.lg\:w-full{width:100%}.lg\:min-w-48{min-width:12rem}.lg\:min-w-72{min-width:20rem}.lg\:max-w-1\/2{max-width:50%}.lg\:max-w-1\/5{max-width:20%}.lg\:max-w-2xl{max-width:42rem}.lg\:max-w-3xl{max-width:48rem}.lg\:max-w-48{max-width:12rem}.lg\:max-w-96{max-width:24rem}.lg\:max-w-\[206px\]{max-width:206px}.lg\:max-w-md{max-width:28rem}.lg\:max-w-sm{max-width:24rem}.lg\:max-w-xs{max-width:20rem}.lg\:grow-0{flex-grow:0}.lg\:-translate-x-12{--tw-translate-x:-3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:auto-cols-\[33\.333\%\]{grid-auto-columns:33.333%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(auto\2c 6rem\)\2c repeat\(3\2c minmax\(0\2c 1fr\)\)\]{grid-template-columns:minmax(auto,6rem) repeat(3,minmax(0,1fr))}.lg\:grid-cols-subgrid{grid-template-columns:subgrid}.lg\:grid-rows-subgrid{grid-template-rows:subgrid}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:gap-12{gap:3rem}.lg\:gap-16{gap:4rem}.lg\:gap-3{gap:.75rem}.lg\:gap-4{gap:1rem}.lg\:gap-6{gap:1.5rem}.lg\:gap-8{gap:2rem}.lg\:gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.lg\:gap-x-5{-moz-column-gap:1.125rem;column-gap:1.125rem}.lg\:gap-y-0{row-gap:0}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.lg\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(3rem*var(--tw-space-y-reverse));margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))}.lg\:self-start{align-self:flex-start}.lg\:overflow-hidden{overflow:hidden}.lg\:overflow-x-auto{overflow-x:auto}.lg\:overflow-x-hidden{overflow-x:hidden}.lg\:overflow-y-visible{overflow-y:visible}.lg\:overflow-x-scroll{overflow-x:scroll}.lg\:overflow-y-scroll{overflow-y:scroll}.lg\:truncate{overflow:hidden;text-overflow:ellipsis}.lg\:truncate,.lg\:whitespace-nowrap{white-space:nowrap}.lg\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.lg\:border-0{border-width:0}.lg\:border-1{border-width:1px}.lg\:border-y{border-top-width:1px}.lg\:border-b,.lg\:border-y{border-bottom-width:1px}.lg\:border-b-0{border-bottom-width:0}.lg\:border-l{border-left-width:1px}.lg\:border-l-2{border-left-width:2px}.lg\:border-r,.lg\:border-r-1{border-right-width:1px}.lg\:border-t-0{border-top-width:0}.lg\:border-gray-200{--tw-border-opacity:1;border-color:rgb(236 236 236/var(--tw-border-opacity))}.lg\:border-gray-300{--tw-border-opacity:1;border-color:rgb(216 216 216/var(--tw-border-opacity))}.lg\:border-gray-600{--tw-border-opacity:1;border-color:rgb(74 74 74/var(--tw-border-opacity))}.lg\:border-gray-700{--tw-border-opacity:1;border-color:rgb(41 41 41/var(--tw-border-opacity))}.lg\:p-0{padding:0}.lg\:p-3{padding:.75rem}.lg\:p-4{padding:1rem}.lg\:p-6{padding:1.5rem}.lg\:p-8{padding:2rem}.lg\:\!px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:px-24{padding-left:6rem;padding-right:6rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:px-32{padding-left:8rem;padding-right:8rem}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:py-10{padding-bottom:2.5rem;padding-top:2.5rem}.lg\:py-12{padding-bottom:3rem;padding-top:3rem}.lg\:py-2{padding-bottom:.5rem;padding-top:.5rem}.lg\:py-20{padding-bottom:5rem;padding-top:5rem}.lg\:py-4{padding-bottom:1rem;padding-top:1rem}.lg\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.lg\:py-8{padding-bottom:2rem;padding-top:2rem}.lg\:py-\[50px\]{padding-bottom:50px;padding-top:50px}.lg\:pb-0{padding-bottom:0}.lg\:pb-10{padding-bottom:2.5rem}.lg\:pb-20{padding-bottom:5rem}.lg\:pb-24{padding-bottom:6rem}.lg\:pb-4{padding-bottom:1rem}.lg\:pb-8{padding-bottom:2rem}.lg\:pb-\[56\.25\%\]{padding-bottom:56.25%}.lg\:pl-10{padding-left:2.5rem}.lg\:pl-16{padding-left:4rem}.lg\:pl-8{padding-left:2rem}.lg\:pr-10{padding-right:2.5rem}.lg\:pr-6{padding-right:1.5rem}.lg\:pt-16{padding-top:4rem}.lg\:pt-6{padding-top:1.5rem}.lg\:pt-8{padding-top:2rem}.lg\:text-left{text-align:left}.lg\:text-center{text-align:center}.lg\:text-right{text-align:right}.lg\:text-2xl{font-size:1.5rem}.lg\:text-3xl{font-size:1.875rem}.lg\:text-4xl{font-size:2.25rem}.lg\:text-5xl{font-size:3rem}.lg\:text-8xl{font-size:6rem}.lg\:text-base{font-size:1rem}.lg\:text-lg{font-size:1.125rem}.lg\:text-sm{font-size:.875rem}.lg\:text-xl{font-size:1.25rem}.lg\:text-xs{font-size:.75rem}.lg\:font-bold{font-weight:700}.lg\:leading-loose{line-height:2}.lg\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.lg\:shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:-translate-x-12{transform:translateX(-3rem)}.lg\:after\:hidden:after,.lg\:before\:hidden:before{content:var(--tw-content);display:none}.lg\:first\:pt-20:first-child{padding-top:5rem}.group:hover .lg\:group-hover\:text-red-400{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}}@media (min-width:1280px){.xl\:absolute{position:absolute}.xl\:-bottom-\[30\%\]{bottom:-30%}.xl\:-left-8{left:-2rem}.xl\:-right-8{right:-2rem}.xl\:right-0{right:0}.xl\:float-right{float:right}.xl\:mx-0{margin-left:0;margin-right:0}.xl\:mx-4{margin-left:1rem;margin-right:1rem}.xl\:-ml-4{margin-left:-1rem}.xl\:-mr-16{margin-right:-4rem}.xl\:-mt-12{margin-top:-3rem}.xl\:-mt-3{margin-top:-.75rem}.xl\:mb-2{margin-bottom:.5rem}.xl\:ml-0{margin-left:0}.xl\:ml-5{margin-left:1.125rem}.xl\:ml-auto{margin-left:auto}.xl\:mr-2{margin-right:.5rem}.xl\:mt-6{margin-top:1.5rem}.xl\:line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.xl\:block{display:block}.xl\:inline-block{display:inline-block}.xl\:inline{display:inline}.xl\:\!flex{display:flex!important}.xl\:flex{display:flex}.xl\:grid{display:grid}.xl\:hidden{display:none}.xl\:size-16{height:4rem;width:4rem}.xl\:w-1\/2{width:50%}.xl\:w-1\/4{width:25%}.xl\:w-192{width:48rem}.xl\:w-3\/4{width:75%}.xl\:w-3\/5{width:60%}.xl\:w-4\/5{width:80%}.xl\:w-\[120px\]{width:120px}.xl\:w-\[715px\]{width:715px}.xl\:w-auto{width:auto}.xl\:\!max-w-\[70rem\]{max-width:70rem!important}.xl\:max-w-2\/3{max-width:66.666667%}.xl\:max-w-2xl{max-width:42rem}.xl\:max-w-3\/5{max-width:60%}.xl\:max-w-3xl{max-width:48rem}.xl\:max-w-5xl{max-width:64rem}.xl\:max-w-\[68rem\]{max-width:68rem}.xl\:max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.xl\:max-w-none{max-width:none}.xl\:max-w-xs{max-width:20rem}.xl\:-translate-x-36{--tw-translate-x:-10rem}.xl\:-translate-x-36,.xl\:-translate-x-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\:-translate-x-4{--tw-translate-x:-1rem}.xl\:translate-x-0{--tw-translate-x:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\:auto-cols-\[25\%\]{grid-auto-columns:25%}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-\[1fr\2c 300px\]{grid-template-columns:1fr 300px}.xl\:flex-row{flex-direction:row}.xl\:flex-col{flex-direction:column}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:justify-end{justify-content:flex-end}.xl\:justify-between{justify-content:space-between}.xl\:gap-12{gap:3rem}.xl\:gap-6{gap:1.5rem}.xl\:gap-8{gap:2rem}.xl\:gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.xl\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.xl\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.xl\:divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(216 216 216/var(--tw-divide-opacity))}.xl\:overflow-hidden{overflow:hidden}.xl\:overflow-x-hidden{overflow-x:hidden}.xl\:border-0{border-width:0}.xl\:\!border-r-2{border-right-width:2px!important}.xl\:border-l-2{border-left-width:2px}.xl\:border-none{border-style:none}.xl\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.xl\:\!border-r-red-400{--tw-border-opacity:1!important;border-right-color:rgb(235 0 46/var(--tw-border-opacity))!important}.xl\:p-6{padding:1.5rem}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xl\:px-\[3\.5rem\]{padding-left:3.5rem;padding-right:3.5rem}.xl\:py-0{padding-bottom:0;padding-top:0}.xl\:py-24{padding-bottom:6rem;padding-top:6rem}.xl\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.xl\:py-\[1\.75rem\]{padding-bottom:1.75rem;padding-top:1.75rem}.xl\:pl-0{padding-left:0}.xl\:pl-6{padding-left:1.5rem}.xl\:pr-0{padding-right:0}.xl\:pr-16{padding-right:4rem}.xl\:pr-6{padding-right:1.5rem}.xl\:pr-8{padding-right:2rem}.xl\:pt-3{padding-top:.75rem}.xl\:text-4xl{font-size:2.25rem}.xl\:text-lg{font-size:1.125rem}.xl\:text-xs{font-size:.75rem}.xl\:translate-x-0{transform:translateX(0)}.xl\:-translate-x-4{transform:translateX(-1rem)}.xl\:-translate-x-36{transform:translateX(-10rem)}.xl\:line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}}@media (min-width:1366px){.\32xl\:col-start-2{grid-column-start:2}.\32xl\:mb-12{margin-bottom:3rem}.\32xl\:mt-0{margin-top:0}.\32xl\:flex{display:flex}.\32xl\:hidden{display:none}.\32xl\:grid-cols-\[200px\2c 1fr\2c 300px\]{grid-template-columns:200px 1fr 300px}.\32xl\:grid-cols-\[200px\2c 1fr\]{grid-template-columns:200px 1fr}.\32xl\:flex-col{flex-direction:column}.\32xl\:gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.\32xl\:gap-y-4{row-gap:1rem}.\32xl\:px-4{padding-left:1rem;padding-right:1rem}}@media (min-width:1440px){.min-\[1440px\]\:relative{position:relative}.min-\[1440px\]\:left-0{left:0}.min-\[1440px\]\:top-0{top:0}.min-\[1440px\]\:top-\[100px\]{top:100px}.min-\[1440px\]\:mb-2{margin-bottom:.5rem}.min-\[1440px\]\:mb-6{margin-bottom:1.5rem}.min-\[1440px\]\:ml-0{margin-left:0}.min-\[1440px\]\:ml-10{margin-left:2.5rem}.min-\[1440px\]\:mr-6{margin-right:1.5rem}.min-\[1440px\]\:mt-\[100px\]{margin-top:100px}.min-\[1440px\]\:block{display:block}.min-\[1440px\]\:flex{display:flex}.min-\[1440px\]\:hidden{display:none}.min-\[1440px\]\:w-192{width:48rem}.min-\[1440px\]\:w-\[220px\]{width:220px}.min-\[1440px\]\:w-\[850px\]{width:850px}.min-\[1440px\]\:translate-x-0{--tw-translate-x:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.min-\[1440px\]\:flex-col{flex-direction:column}.min-\[1440px\]\:items-start{align-items:flex-start}.min-\[1440px\]\:justify-start{justify-content:flex-start}.min-\[1440px\]\:gap-x-\[132px\]{-moz-column-gap:132px;column-gap:132px}.min-\[1440px\]\:text-wrap{text-wrap:wrap}.min-\[1440px\]\:border-0{border-width:0}.min-\[1440px\]\:border-2{border-width:2px}.min-\[1440px\]\:border-gray-500{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity))}.min-\[1440px\]\:bg-transparent{background-color:transparent}.min-\[1440px\]\:py-0{padding-bottom:0;padding-top:0}.min-\[1440px\]\:text-left{text-align:left}.min-\[1440px\]\:text-\[28px\]{font-size:28px}.min-\[1440px\]\:text-lg{font-size:1.125rem}.min-\[1440px\]\:translate-x-0{transform:translateX(0)}.min-\[1440px\]\:first\:pt-\[100px\]:first-child{padding-top:100px}}.dark\:border-0:where(.dark,.dark *){border-width:0}.dark\:border-\[\#737373\]:where(.dark,.dark *){--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity))}.dark\:border-gray-600:where(.dark,.dark *){--tw-border-opacity:1;border-color:rgb(74 74 74/var(--tw-border-opacity))}.dark\:border-white:where(.dark,.dark *){--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\:\!bg-gray-900:where(.dark,.dark *){--tw-bg-opacity:1!important;background-color:rgb(41 41 41/var(--tw-bg-opacity))!important}.dark\:bg-gray-500:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity))}.dark\:bg-gray-900:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(41 41 41/var(--tw-bg-opacity))}.dark\:bg-white:where(.dark,.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.dark\:text-white:where(.dark,.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:text-yellow-600:where(.dark,.dark *){--tw-text-opacity:1;color:rgb(250 222 88/var(--tw-text-opacity))}.dark\:placeholder\:text-white:where(.dark,.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:placeholder\:text-white:where(.dark,.dark *)::placeholder{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:hover\:text-red-400:hover:where(.dark,.dark *){--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}.\[\&\+section\]\:border-t-0+section{border-top-width:0}.hover\:\[\&\:\:after\]\:\!text-red-400:hover:after{--tw-text-opacity:1!important;color:rgb(235 0 46/var(--tw-text-opacity))!important}.active\:\[\&\:\:after\]\:\!text-red-500:active:after{--tw-text-opacity:1!important;color:rgb(190 0 37/var(--tw-text-opacity))!important}.disabled\:\[\&\:\:after\]\:\!text-black:disabled:after{--tw-text-opacity:1!important;color:rgb(0 0 0/var(--tw-text-opacity))!important}.\[\&\>\*\:first-child\]\:mt-0>:first-child{margin-top:0}.\[\&\>\*\:last-child\]\:mb-0>:last-child{margin-bottom:0}.\[\&\>\*\]\:\!m-0>*{margin:0!important}.\[\&\>\*\]\:mx-0>*{margin-left:0;margin-right:0}.\[\&\>\*\]\:w-fit>*{width:-moz-fit-content;width:fit-content}.\[\&\>\*\]\:max-w-full>*{max-width:100%}.peer:hover~.peer-hover\:\[\&\>a\:first-of-type\]\:text-red-400>a:first-of-type{--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}.\[\&\>div\:nth-of-type\(2n\+3\)\]\:bg-red-200>div:nth-of-type(2n+3){--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.\[\&\>div\:nth-of-type\(n\+11\)\]\:\!flex>div:nth-of-type(n+11){display:flex!important}.\[\&\>div\:nth-of-type\(n\+11\)\]\:hidden>div:nth-of-type(n+11){display:none}.\[\&\>div\:nth-of-type\(n\+6\)\]\:\!flex>div:nth-of-type(n+6){display:flex!important}.\[\&\>div\:nth-of-type\(n\+6\)\]\:hidden>div:nth-of-type(n+6){display:none}.\[\&\>h4\>strong\]\:font-semibold>h4>strong{font-weight:640}.\[\&\>h4\]\:w-fit>h4{width:-moz-fit-content;width:fit-content}@media (min-width:1366px){.\32xl\:\[\&\>ins\]\:-ml-24>ins{margin-left:-6rem}.\32xl\:\[\&\>ins\]\:w-\[970px\]>ins{width:970px}}@media (min-width:1024px){.lg\:\[\&\>li\:not\(\:first-of-type\)\]\:ml-6>li:not(:first-of-type){margin-left:1.5rem}}.\[\&\>li\:nth-of-type\(n\+4\)\]\:\!flex>li:nth-of-type(n+4){display:flex!important}.\[\&\>li\:nth-of-type\(n\+4\)\]\:hidden>li:nth-of-type(n+4){display:none}.\[\&\>li\:nth-of-type\(n\+5\)\]\:\!flex>li:nth-of-type(n+5){display:flex!important}.\[\&\>li\:nth-of-type\(n\+5\)\]\:hidden>li:nth-of-type(n+5){display:none}.\[\&\>li\:nth-of-type\(n\+7\)\]\:\!flex>li:nth-of-type(n+7){display:flex!important}.\[\&\>li\:nth-of-type\(n\+7\)\]\:hidden>li:nth-of-type(n+7){display:none}.\[\&\>li\]\:leading-normal>li{line-height:1.5}@media (min-width:1024px){.lg\:\[\&\>li\]\:ml-6>li{margin-left:1.5rem}}.\[\&\>p\:first-of-type\~\*\:not\(\#readMore\)\]\:\!block>p:first-of-type~:not(#readMore){display:block!important}.\[\&\>p\:last-of-type\]\:\!m-0>p:last-of-type{margin:0!important}.\[\&\>p\]\:\!mb-0>p{margin-bottom:0!important}.\[\&\>p\]\:\!pt-8>p{padding-top:2rem!important}.\[\&\>p\]\:\!text-sm>p{font-size:.875rem!important}.\[\&\>p\~\*\:not\(\#readMore\2c \#trust-badge\2c \#commerce-group\2c \.editors-note\)\]\:\!hidden>p~:not(#readMore,#trust-badge,#commerce-group,.editors-note){display:none!important}.\[\&\>tr\:nth-of-type\(n\+6\)\]\:\!table-row>tr:nth-of-type(n+6){display:table-row!important}.\[\&\>tr\:nth-of-type\(n\+6\)\]\:hidden>tr:nth-of-type(n+6){display:none}.\[\&_\.iframe-wrapper\]\:\!m-0 .iframe-wrapper{margin:0!important}.\[\&_\>_\*\:last-child\]\:mr-0>:last-child{margin-right:0}.\[\&_\>_\*\]\:-mr-4>*{margin-right:-1rem}@media(hover:hover){.group:hover .\[\@media\(hover\:hover\)\]\:group-hover\:opacity-0{opacity:0}.group:hover .\[\@media\(hover\:hover\)\]\:group-hover\:opacity-100{opacity:1}.\[\@media\(hover\:hover\)\]\:hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.\[\@media\(hover\:hover\)\]\:hover\:before\:opacity-100:hover:before{content:var(--tw-content);opacity:1}.dark\:\[\@media\(hover\:hover\)\]\:hover\:text-red-400:hover:where(.dark,.dark *){--tw-text-opacity:1;color:rgb(235 0 46/var(--tw-text-opacity))}}
|
|
|
|
</style>
|
|
|
|
|
|
<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"NewsArticle","headline":"This Is What it Takes to Measure the Internet","articleBody":"<p>Every 11 minutes, <a href=\"https:\/\/www.isi.edu\/people\/johnh\/RESEARCH\/index.html\" target=\"_blank\" title=\"(Opens in a new tab)\">Dr. John Heidemann's<\/a> team \"pings\" 4 million networks to ascertain if they are live, looking for patterns and outliers. If a nation-state shuts down their country's web access (as <a href=\"https:\/\/www.pcmag.com\/archive\/egypt-restores-internet-access-260076\">Egypt did in 2011<\/a>) or a hurricane hits, taking out major utilities and communication networks, Professor Heidemann will know what's going on.<\/p> \n \n<p>PCMag visited him at the <a href=\"https:\/\/ant.isi.edu\/index.html\" target=\"_blank\" title=\"(Opens in a new tab)\">Analysis of Network Traffic<\/a> (ANT) Lab within the <a href=\"https:\/\/www.isi.edu\/\" target=\"_blank\" title=\"(Opens in a new tab)\">USC Information Sciences Institute<\/a> (ISI), where they do both traffic and topology. Founded in 1972, ISI played a crucial role in the development of the early internet; it was one of the earliest nodes on ARPANET and the organization that created the DNS system. Today, ISI's 350 researchers undertake research for many federal agencies (including DARPA, Homeland Security, and the Air Force Office of Scientific Research), as well as partner with companies like Lockheed Martin, Raytheon, and Northrop Grumman.<\/p> \n \n<p><span><a href=\"#\" class=\"no-underline\" onclick=\"return popImage('https:\/\/i.pcmag.com\/imagery\/articles\/07B87o5KTDEqza0uTIoCmui-3.v_1569470667.jpg', 'ARPANET nodes', 'ARPANET nodes', '');\" target=\"_blank\" title=\"(Opens in a new tab)\"><img alt=\"ARPANET nodes\" src=\"data:image\/svg+xml,%3Csvg%20xmlns='http:\/\/www.w3.org\/2000\/svg'%20viewBox='0%200%202038%201214'%3E%3Crect%20fill='%23f7f7f7'%20\/%3E%3C\/svg%3E\" v-image-loader='{ imageSrc: \"https:\/\/i.pcmag.com\/imagery\/articles\/07B87o5KTDEqza0uTIoCmui-1.fit_lim.size_2038x1214.v_1569470667.jpg\"}' data-image-path=\"articles\/07B87o5KTDEqza0uTIoCmui-1.jpg\"><noscript inline-template><img alt=\"ARPANET nodes\" width=\"2038\" src=\"https:\/\/i.pcmag.com\/imagery\/articles\/07B87o5KTDEqza0uTIoCmui-1.fit_lim.size_2038x1214.v_1569470667.jpg\" data-image-path=\"articles\/07B87o5KTDEqza0uTIoCmui-1.jpg\"><\/noscript><\/a><\/span><\/p> \n \n<p>\"Here in the networks division, we develop network protocols and address issues of cyber security, denial of service attacks, mapping, and data analytics to make the internet more secure,\" Dr. Heidemann told PCMag.<\/p> \n \n<p>Dr. Heidemann started in network simulation in the late 90s, and his work led to the first \"internet Censuses\" in 2003.<\/p> \n \n<p>\"We wanted to see if we could 'measure the internet',\" he told PCMag. \"We had noticed these anomalies, while realizing the simple act of pinging could be used to detect when networks fail. And this became important for a bunch of things: telecoms policy, networks and, as IoT comes online, embedded devices. Now we can see to the edge of the public internet—to the routers—but not into your house.\"<\/p> \n \n<p>In case you're not familiar with the term, pinging has been around since the early internet as way to verify if a computer is online, sending a packet of data (\"ping\") to an internet address and waiting for a response (sometimes referred to as a \"pong\"). But why did Professor Heidemann choose 11 minutes, and not 10, as the sweep interval to obtain data?<\/p> \n \n<p>\"Because we don't want to be aligned with human behavior,\" he explained. \"For example, if your computer is scheduled to come on at the top of the hour for two minutes, we didn't want to just hit it at the same time. Having said that, we often analyze the date by hour, so things go back and forth.\"<\/p> \n \n<p>If you want to see Dr. Heidemann's work in action, ANT recently went live with a <a href=\"https:\/\/ant.isi.edu\/outage\/world\" target=\"_blank\" title=\"(Opens in a new tab)\">world visualization map<\/a>.<\/p> \n \n<p><span><a href=\"#\" class=\"no-underline\" onclick=\"return popImage('https:\/\/i.pcmag.com\/imagery\/articles\/07B87o5KTDEqza0uTIoCmui-4.v_1569470667.png', 'Analysis of Network Traffic (ANT) Lab within the USC Information Sciences Institute (ISI),', 'Analysis of Network Traffic (ANT) Lab within the USC Information Sciences Institute (ISI),', '');\" target=\"_blank\" title=\"(Opens in a new tab)\"><img alt=\"Analysis of Network Traffic (ANT) Lab within the USC Information Sciences Institute (ISI),\" src=\"data:image\/svg+xml,%3Csvg%20xmlns='http:\/\/www.w3.org\/2000\/svg'%20viewBox='0%200%201363%20654'%3E%3Crect%20fill='%23f7f7f7'%20\/%3E%3C\/svg%3E\" v-image-loader='{ imageSrc: \"https:\/\/i.pcmag.com\/imagery\/articles\/07B87o5KTDEqza0uTIoCmui-2.fit_lim.size_1363x654.v_1569470667.png\"}' data-image-path=\"articles\/07B87o5KTDEqza0uTIoCmui-2.png\"><noscript inline-template><img alt=\"Analysis of Network Traffic (ANT) Lab within the USC Information Sciences Institute (ISI),\" width=\"1363\" src=\"https:\/\/i.pcmag.com\/imagery\/articles\/07B87o5KTDEqza0uTIoCmui-2.fit_lim.size_1363x654.v_1569470667.png\" data-image-path=\"articles\/07B87o5KTDEqza0uTIoCmui-2.png\"><\/noscript><\/a><\/span><\/p> \n \n<p>\"We take all the data we get every 11 minutes from 4 million networks and put it into a grid,\" Dr. Heidemann said. \"So you can see the scale of outages when they occur. For example, the size of the circle is how many networks are down in that area and the color is the percentage of all the networks in that area are down—red being 100 percent—which is what we track during disasters.\"<\/p> \n \n<p>In his office, he then manipulated the map to return to the day Hurricane Irma hit Florida. As the storm intensified, circles around the Florida Keys turned white (50 percent network fail).<\/p> \n \n<p>\"The neat thing about Irma is we saw the hurricane hit, people lose power temporarily and then they get back on,\" said Dr. Heidemann. \"Which tells us a lot about the <a href=\"https:\/\/www.nytimes.com\/2017\/09\/18\/us\/harvey-irma-internet.html?_r=0\" target=\"_blank\" title=\"(Opens in a new tab)\">resilience of the power grid and internet<\/a> networks in that area. Of course it was a different story with Puerto Rico and Hurricane Maria. In fact their networks were down for so long that, eventually, when [we] kept re-running the data analysis, suddenly the region 'disappeared' because after pinging the networks and getting no response for over a week, we interpreted that as gone away instead of temporarily down.\"<\/p> \n \n<p>The world visualization map was built using <a href=\"https:\/\/openlayers.org\/\" target=\"_blank\" title=\"(Opens in a new tab)\">OpenLayers<\/a>, mapping software, with custom code on top for the base data collection, analysis and algorithm development.<\/p><div class=\"py-4\" data-parent-group=\"related-stories\">\n <div class=\"mx-0 border border-b border-l-0 border-r-0 border-t border-gray-300 py-4 md:ml-8 md:mr-24\">\n <h3 class=\"font-stretch-ultra-condensed mb-2 text-lg font-semibold uppercase\">Recommended by Our Editors<\/h3>\n <div class=\"flex flex-wrap\">\n <div class=\"my-4 inline-flex w-full md:my-2\">\n <a class=\"mr-4 inline min-w-24 max-w-24 no-underline md:min-w-28 md:max-w-28\" data-module=\"related-recirc\" data-item=\"related-recirc-list\" data-element=\"related-recirc-image\" data-position=\"1\" data-title=\"AT&T restoration in Puerto Rico\" href=\"\/news\/exclusive-watch-puerto-rico-networks-light-up-drop-off\" x-track-ga-click>\n <div class=\"relative aspect-video overflow-hidden\">\n <img class=\"absolute inset-1\/2 h-auto w-auto translate-center\" data-image-loader=\"https:\/\/i.pcmag.com\/imagery\/articles\/03sNgjLlyIox8fA7u8lJiRK-9.fit_lpad.size_400x225.v1569484234.jpg\" data-lazy-sized src=\"data:image\/svg+xml,%3Csvg%20xmlns='http:\/\/www.w3.org\/2000\/svg'%20viewBox='0%200%20400%20225'%3E%3Crect%20fill='%23f7f7f7'%20\/%3E%3C\/svg%3E\" alt=\"AT&T restoration in Puerto Rico\">\n <\/div>\n <\/a>\n <div class=\"flex w-auto flex-col justify-center md:mr-20\">\n <a class=\"inline-block align-middle leading-tight no-underline\" data-module=\"related-recirc\" data-item=\"related-recirc-list\" data-element=\"related-recirc-link\" data-position=\"1\" href=\"\/news\/exclusive-watch-puerto-rico-networks-light-up-drop-off\" aria-label=\"Exclusive: Watch Puerto Rico Networks Light Up, Drop Off\" x-track-ga-click>Exclusive: Watch Puerto Rico Networks Light Up, Drop Off<\/a>\n <\/div>\n <\/div>\n <\/div>\n <\/div>\n<\/div>\n \n \n<p>\"We're working really hard now to deploy real-time data,\" said Professor Heidemann. \"The processing is currently done in batch, usually quarterly, unless there's an event, like a natural disaster, where we pull it and do the analysis immediately.\"<\/p> \n \n<p>Up next, the ANT Lab will take its census and outage data to work on prediction and root cause analysis. For example, \"when a hurricane hits X area, what's the likely outcome to Y servers, length of time they'll be affected, cost analysis to affected businesses and communities and so on.\"<\/p> \n \n<p>\"My big goal in 2018 is two things,\" said Dr. Heidemann. \"I want to reach out to 'real people' because we're at the point, when we have real-time data, and the visualization data you've seen, when a network goes down, you should be able to visit—from another computer, obviously—and get more information. That's the citizen-facing side.<\/p> \n \n<p>\"On the science side there's a ton of work to be done on these years of data. We now have to work out where are the weak parts of the internet? How can we identify the dependencies? How can we improve them? We now have a vast data set—80 billion data points. There's knowledge embedded in there and it will take a lot of work, but we'll get there.\"<\/p> \n \n<p>Although the ANT lab is working towards concurrent data displays, there are times when, as Dr. Heidemann, explained, you don't want to share it too widely.<\/p> \n \n<p>\"Most of this work has been supported by the Department of Homeland Security, which has a vested interest in a secure homeland. Other agencies want to support this work to get insights into long-term resilience of our communications networks. However, in some of my security work, particularly in denial of service attacks, we don't want to report it publicly so quickly that the attackers are using our work as evidence of a 'good attack.' Luckily hurricanes aren't adversarial in nature, so I don't see any reason why we don't want to make this information available quickly, as soon as we have it ready.\"<\/p> \n \n<script>\n window.videoEmbeds = window.videoEmbeds || [];\n window.videoEmbeds.push({\n elemId: 'video-container-Vgob332E0N-6aa372cacde37',\n data: {\"slug\":\"Vgob332E0N\",\"url\":\"https:\\\/\\\/cdn.ex.co\\\/transformations\\\/production\\\/ba7a9fbd-1aa9-47e1-967f-6e0e87cb169e\\\/master.m3u8\",\"transcoded_urls\":null,\"title\":\"Blockchain, Explained\",\"description\":null,\"thumbnail_url\":\"https:\\\/\\\/cdn.ex.co\\\/transformations\\\/production\\\/ba7a9fbd-1aa9-47e1-967f-6e0e87cb169e\\\/thumbnail-480.webp\",\"disable_ads\":0,\"created_at\":\"2025-10-22T15:01:42.000000Z\",\"duration\":318},\n variation: 'EMBED'\n });\n<\/script>\n\n<div class=\"video-parent\">\n <div id=\"video-container-Vgob332E0N-6aa372cacde37\" class=\"!h-full\">\n <div class=\"relative\">\n <svg class=\"absolute size-16 block inset-1\/2 translate-center text-black z-20 cursor-pointer sm:w-24 sm:h-24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"m371.7 238-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z\"><\/path><\/svg> <img class=\"w-full\" src=\"https:\/\/cdn.ex.co\/transformations\/production\/ba7a9fbd-1aa9-47e1-967f-6e0e87cb169e\/thumbnail-480.webp\" alt=\"Blockchain, Explained\">\n <\/div>\n <\/div>\n\n <div class=\"flex flex-col gap-3 pt-4\">\n <div class=\"text-lg gap-4 font-bold mb-0 flex items-center leading-tight\">\n <img class=\"max-w-[2.5rem] md:min-w-12 md:max-w-12\" src=\"\/images\/pcmag.svg\" alt=\"PCMag Logo\">\n <div>Blockchain, Explained<\/div>\n <\/div>\n <\/div>\n <\/div>\n","articleSection":"Networking","datePublished":"2018-01-03T10:57:00+00:00","publisher":{"@type":"Organization","name":"PCMag","logo":{"@type":"ImageObject","url":"https:\/\/www.pcmag.com\/images\/pcmag-social-share.png","width":1200,"height":1200},"alternateName":"PCMag","sameAs":["https:\/\/twitter.com\/PCMag","https:\/\/www.facebook.com\/PCMag","https:\/\/www.pinterest.com\/pcmag","https:\/\/www.youtube.com\/@PCMag","https:\/\/www.flipboard.com\/@PCMag","https:\/\/www.instagram.com\/pcmag\/"],"description":"PCMag is your complete guide to PC computers, peripherals and upgrades. We test and review computer- and Internet-related products and services, report technology news and trends, and provide shopping advice and price comparisons."},"author":[{"@type":"Person","name":"S.C. Stuart","url":"https:\/\/www.pcmag.com\/authors\/sc-stuart","jobTitle":"Contributing Writer","image":{"@type":"ImageObject","url":"https:\/\/i.pcmag.com\/imagery\/authors\/03CCAG5tyGF2CeedI1aKnHS..v1560221535.png","height":95,"width":95}}],"keywords":"Networking, PC Magazine","image":[{"@type":"ImageObject","url":"https:\/\/i.pcmag.com\/imagery\/articles\/07B87o5KTDEqza0uTIoCmui-5..v1569488625.jpg","height":456,"width":810},{"@type":"ImageObject","url":"https:\/\/i.pcmag.com\/imagery\/articles\/07B87o5KTDEqza0uTIoCmui-1..v1569470667.jpg","height":1214,"width":2038},{"@type":"ImageObject","url":"https:\/\/i.pcmag.com\/imagery\/articles\/07B87o5KTDEqza0uTIoCmui-2..v1569470667.png","height":654,"width":1363},{"@type":"ImageObject","url":"https:\/\/i.pcmag.com\/imagery\/articles\/07B87o5KTDEqza0uTIoCmui-3..v1569470667.jpg","height":1214,"width":2038},{"@type":"ImageObject","url":"https:\/\/i.pcmag.com\/imagery\/articles\/07B87o5KTDEqza0uTIoCmui-4..v1569470667.png","height":654,"width":1363}],"description":"A USC lab has been keeping tabs on internet connectivity since its inception, work that is now crucial in an age of cyber attacks and crippling storms. We stopped by for a visit.","wordCount":1024,"mainEntityOfPage":"https:\/\/www.pcmag.com\/news\/this-is-what-it-takes-to-measure-the-internet"}</script>
|
|
|
|
|
|
|
|
<script>window.template = "article-page";window.object_type = "article";window.object_uuid = "07B87o5KTDEqza0uTIoCmui";window.object_subtype = "News";window.author = "S.C. Stuart";window.published_at = "2018-01-03";window.category = "News>Networking";window.title = "This Is What it Takes to Measure the Internet";window.first_published_at = "2018-01-03";window.updated_at = "2018-01-03";window.word_count = 1024;window.days_since_updated = 3172;window.weeks_since_updated = 453;window.days_since_originally_published = 3172;window.weeks_since_originally_published = 453;window.focus_keyword = "This Is What it Takes to Measure the Internet";window.seamless_index = 0;</script><script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Organization","url":"https:\/\/www.pcmag.com","name":"PCMag","alternateName":"PCMag","logo":{"@type":"ImageObject","url":"https:\/\/www.pcmag.com\/images\/pcmag-social-share.png","width":1200,"height":1200},"sameAs":["https:\/\/twitter.com\/PCMag","https:\/\/www.facebook.com\/PCMag","https:\/\/www.pinterest.com\/pcmag","https:\/\/www.youtube.com\/@PCMag","https:\/\/www.flipboard.com\/@PCMag","https:\/\/www.instagram.com\/pcmag\/"],"description":"PCMag is your complete guide to PC computers, peripherals and upgrades. We test and review computer- and Internet-related products and services, report technology news and trends, and provide shopping advice and price comparisons."}</script>
|
|
<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"WebSite","url":"https:\/\/www.pcmag.com"}</script>
|
|
|
|
<script src="/js/ga.js?id=efb78a87cd611b9be474804d33a2cabd"></script>
|
|
|
|
</head>
|
|
|
|
<body
|
|
class=" min-h-screen max-w-screen leading-normal text-gray-700 dark:bg-gray-900 dark:text-white">
|
|
<a class="sr-only" id="top" href="#main" title="Skip to Main Content"
|
|
arial-label="Skip to Main Content">Skip to Main Content</a>
|
|
|
|
|
|
|
|
|
|
<div class="dark:!bg-gray-900">
|
|
<header>
|
|
<nav class="relative z-top w-full bg-white drop-shadow-[0_1px_5px_rgba(0,0,0,0.25)] dark:bg-gray-900"
|
|
x-data="{ open: false }">
|
|
<div class="container relative mx-auto flex max-w-8xl items-center gap-x-3 px-2">
|
|
<section @click.outside="open = false" @keydown.escape="open = false">
|
|
<input class="peer sr-only" id="nav-hamburger" type="checkbox" :aria-checked="open" x-model="open"
|
|
@keydown.enter="$event.target.checked = open = !$event.target.checked">
|
|
<label class="z-10 flex shrink-0 cursor-pointer overflow-x-hidden bg-gray-700 bg-center bg-no-repeat transition-colors [mask-image:url('/icons/bars-light.svg')] [mask-repeat:no-repeat] peer-checked:bg-red-400 peer-checked:[mask-image:url('/icons/times-light-red.svg')] peer-focus:bg-red-400 hover:bg-red-400 dark:bg-white"
|
|
for="nav-hamburger" aria-label="Hamburger Menu Toggle" :aria-expanded="open" @click="!open">
|
|
<span class="invisible size-[20px] text-2xs">Menu</span>
|
|
</label>
|
|
<aside class="absolute left-0 top-0 z-negative hidden h-screen w-full max-w-sm bg-white peer-checked:block dark:bg-gray-900"
|
|
id="nav-hamburger" name="nav-hamburger" aria-label="Hamburger Menu" aria-orientation="vertical"
|
|
:aria-hidden="!open" x-transition:enter="transition duration-300 ease-out"
|
|
x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-1"
|
|
x-transition:leave="transition duration-300 ease-out" x-transition:leave-end="opacity-0">
|
|
<nav class="relative mt-4 px-4">
|
|
<ul class="ml-2 mt-20 flex h-[calc(100vh-110px)] flex-col gap-y-3 overflow-y-auto">
|
|
<li>
|
|
<button data-module="main-nav" data-item="hamburger-nav" data-element="Maggie-Product-Picker-Launcher"
|
|
aria-label="Maggie: AI Product Finder"
|
|
class="touch-manipulation select-none duration-250 ease-in-out group relative items-center justify-center gap-2 rounded bg-gray-200 font-semibold leading-none text-gray-900 transition-all [@media(hover:hover)]:hover:text-white focus:outline-none dark:text-white dark:[@media(hover:hover)]:hover:text-red-400 before:absolute before:inset-0 before:z-0 before:rounded before:bg-gradient-to-r before:from-[#D700EB] before:to-red-400 before:opacity-0 before:transition-opacity before:duration-250 before:ease-in-out [@media(hover:hover)]:hover:before:opacity-100 flex p-2 text-lg"
|
|
data-element_label="AI-Product-Finder" x-ref="trigger"
|
|
@click.prevent="open = false; $dispatch('product-picker-init', { module: 'product-picker' });"
|
|
x-track-ga-click >
|
|
|
|
<div class="relative">
|
|
<div class="ease-in-out transition-opacity duration-250 [@media(hover:hover)]:group-hover:opacity-0">
|
|
<img class="text-md inline-block size-5 opacity-100" src="/icons/maggie-logo.svg" alt="Maggie AI Logo">
|
|
</div>
|
|
<div
|
|
class="ease-in-out absolute inset-0 opacity-0 transition-opacity duration-250 [@media(hover:hover)]:group-hover:opacity-100">
|
|
<img class="text-md inline-block size-5 opacity-100" src="/icons/maggie-logo-white.svg"
|
|
alt="Maggie AI White Logo">
|
|
</div>
|
|
</div>
|
|
<span class="relative">Maggie: AI Product Finder</span>
|
|
</button>
|
|
</li>
|
|
|
|
<li>
|
|
<a class="select-none border-b-2 border-white text-xl font-semibold text-red-400 focus:border-red-400 focus:outline-none dark:border-0 dark:text-yellow-600"
|
|
data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-link"
|
|
href="https://www.pcmag.com/events/apple-event" aria-label="#iPhone18Event"
|
|
x-track-ga-click>#iPhone18Event</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<input class="peer sr-only" id="nav-Best Products" type="checkbox" @keydown.enter="$event.target.checked = openTier1 = !$event.target.checked">
|
|
<label class="flex w-fit cursor-pointer items-center gap-x-2 border-b-2 border-white leading-tight after:size-4 after:bg-gray-700 after:transition-colors after:[mask-image:url('/icons/plus.svg')] after:[mask-repeat:no-repeat] after:[mask-size:16px_16px] peer-checked:after:bg-red-400 peer-checked:after:[mask-image:url('/icons/minus.svg')] peer-focus-visible:border-red-400 after:hover:bg-red-400"
|
|
data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-button" for="nav-Best Products" role="menuitem" aria-label="Best Products Menu Toggle" aria-haspopup="true" aria-controls="menu" @click="openTier1 = !openTier1" :aria-expanded="openTier1"
|
|
x-track-ga-click>
|
|
<span class="select-none text-xl font-semibold">Best Products</span>
|
|
</label>
|
|
<ul class="sr-only !my-4 !ml-4 space-y-3 peer-checked:not-sr-only peer-checked:block" id="nav-Best Products" name="nav-Best Products" role="menu" aria-label="Best Products Menu" aria-orientation="vertical" x-show="openTier1" x-cloak x-collapse
|
|
:aria-hidden="!openTier1">
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-laptops" role="menuitem" aria-label="The Best Laptops for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Laptops for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-desktop-computers" role="menuitem" aria-label="The Best PCs (Desktop Computers) for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best PCs (Desktop Computers) for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-tablets" role="menuitem" aria-label="The Best Tablets for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Tablets for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-phones" role="menuitem" aria-label="The Best Phones for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Phones for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-wireless-routers" role="menuitem" aria-label="The Best Wi-Fi Routers for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Wi-Fi Routers for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-external-hard-drives" role="menuitem" aria-label="The Best External Hard Drives for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best External Hard Drives for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-all-in-one-printers" role="menuitem" aria-label="The Best All-in-One Printers for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best All-in-One Printers for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-tvs" role="menuitem" aria-label="The Best TVs for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best TVs for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-headphones" role="menuitem" aria-label="The Best Headphones for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Headphones for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-robot-vacuums" role="menuitem" aria-label="The Best Robot Vacuums for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Robot Vacuums for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-vpn-services" role="menuitem" aria-label="The Best VPN Services for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best VPN Services for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-antivirus-protection" role="menuitem" aria-label="The Best Antivirus Software for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Antivirus Software for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-password-managers" role="menuitem" aria-label="The Best Password Managers for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Password Managers for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-web-hosting-services" role="menuitem" aria-label="The Best Web Hosting Services for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Web Hosting Services for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-video-editing-software" role="menuitem" aria-label="The Best Video Editing Software for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Video Editing Software for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-graphics-cards" role="menuitem" aria-label="The Best Graphics Cards for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Graphics Cards for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-gaming-laptops" role="menuitem" aria-label="The Best Gaming Laptops for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Gaming Laptops for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-printers" role="menuitem" aria-label="The Best Printers for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Printers for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks/the-best-computer-monitors" role="menuitem" aria-label="The Best Monitors for 2025" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best Monitors for 2025
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/picks" role="menuitem" aria-label="See All Best Products" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none font-semibold" x-track-ga-click>
|
|
See All Best Products
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<a class="border-b-2 border-white text-xl font-semibold focus:border-red-400 focus:outline-none" data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-link" href="/comparisons" aria-label="Comparisons" x-track-ga-click>Comparisons</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<a class="border-b-2 border-white text-xl font-semibold focus:border-red-400 focus:outline-none" data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-link" href="/reviews" aria-label="Reviews" x-track-ga-click>Reviews</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<a class="border-b-2 border-white text-xl font-semibold focus:border-red-400 focus:outline-none" data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-link" href="/how-to" aria-label="How-To" x-track-ga-click>How-To</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<a class="border-b-2 border-white text-xl font-semibold focus:border-red-400 focus:outline-none" data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-link" href="/news" aria-label="News" x-track-ga-click>News</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<a class="border-b-2 border-white text-xl font-semibold focus:border-red-400 focus:outline-none" data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-link" href="/opinions" aria-label="Opinions" x-track-ga-click>Opinions</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<a class="border-b-2 border-white text-xl font-semibold focus:border-red-400 focus:outline-none" data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-link" href="/deals" aria-label="Deals" x-track-ga-click>Deals</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<input class="peer sr-only" id="nav-PCs & Hardware" type="checkbox" @keydown.enter="$event.target.checked = openTier1 = !$event.target.checked">
|
|
<label class="flex w-fit cursor-pointer items-center gap-x-2 border-b-2 border-white leading-tight after:size-4 after:bg-gray-700 after:transition-colors after:[mask-image:url('/icons/plus.svg')] after:[mask-repeat:no-repeat] after:[mask-size:16px_16px] peer-checked:after:bg-red-400 peer-checked:after:[mask-image:url('/icons/minus.svg')] peer-focus-visible:border-red-400 after:hover:bg-red-400"
|
|
data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-button" for="nav-PCs & Hardware" role="menuitem" aria-label="PCs & Hardware Menu Toggle" aria-haspopup="true" aria-controls="menu" @click="openTier1 = !openTier1" :aria-expanded="openTier1"
|
|
x-track-ga-click>
|
|
<span class="select-none text-xl font-semibold">PCs & Hardware</span>
|
|
</label>
|
|
<ul class="sr-only !my-4 !ml-4 space-y-3 peer-checked:not-sr-only peer-checked:block" id="nav-PCs & Hardware" name="nav-PCs & Hardware" role="menu" aria-label="PCs & Hardware Menu" aria-orientation="vertical" x-show="openTier1" x-cloak x-collapse
|
|
:aria-hidden="!openTier1">
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/laptops" role="menuitem" aria-label="Laptops" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Laptops
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/desktop-pcs" role="menuitem" aria-label="Desktop Computers" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Desktop Computers
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/tablets" role="menuitem" aria-label="Tablets" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Tablets
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/monitors" role="menuitem" aria-label="Monitors" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Monitors
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/hard-drives" role="menuitem" aria-label="Hard Drives" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Hard Drives
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/ssds" role="menuitem" aria-label="SSDs" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
SSDs
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/network-attached-storage" role="menuitem" aria-label="Network Attached Storage" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Network Attached Storage
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/wireless-routers" role="menuitem" aria-label="Wi-Fi Routers" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Wi-Fi Routers
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/wi-fi-range-extenders" role="menuitem" aria-label="Wi-Fi Range Extenders" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Wi-Fi Range Extenders
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/wi-fi-mesh-networking-systems" role="menuitem" aria-label="Wi-Fi Mesh Networking Systems" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Wi-Fi Mesh Networking Systems
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/printers" role="menuitem" aria-label="Printers" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Printers
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/3d-printers" role="menuitem" aria-label="3D Printers" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
3D Printers
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/scanners" role="menuitem" aria-label="Scanners" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Scanners
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/webcams" role="menuitem" aria-label="Webcams" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Webcams
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/computer-mice" role="menuitem" aria-label="Computer Mice" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Computer Mice
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/keyboards" role="menuitem" aria-label="Keyboards" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Keyboards
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/graphics-cards" role="menuitem" aria-label="Graphics Cards" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Graphics Cards
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/processors" role="menuitem" aria-label="Processors" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Processors
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/motherboards" role="menuitem" aria-label="Motherboards" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Motherboards
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/pc-cases" role="menuitem" aria-label="PC Cases" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
PC Cases
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<input class="peer sr-only" id="nav-Mobile" type="checkbox" @keydown.enter="$event.target.checked = openTier1 = !$event.target.checked">
|
|
<label class="flex w-fit cursor-pointer items-center gap-x-2 border-b-2 border-white leading-tight after:size-4 after:bg-gray-700 after:transition-colors after:[mask-image:url('/icons/plus.svg')] after:[mask-repeat:no-repeat] after:[mask-size:16px_16px] peer-checked:after:bg-red-400 peer-checked:after:[mask-image:url('/icons/minus.svg')] peer-focus-visible:border-red-400 after:hover:bg-red-400"
|
|
data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-button" for="nav-Mobile" role="menuitem" aria-label="Mobile Menu Toggle" aria-haspopup="true" aria-controls="menu" @click="openTier1 = !openTier1" :aria-expanded="openTier1"
|
|
x-track-ga-click>
|
|
<span class="select-none text-xl font-semibold">Mobile</span>
|
|
</label>
|
|
<ul class="sr-only !my-4 !ml-4 space-y-3 peer-checked:not-sr-only peer-checked:block" id="nav-Mobile" name="nav-Mobile" role="menu" aria-label="Mobile Menu" aria-orientation="vertical" x-show="openTier1" x-cloak x-collapse
|
|
:aria-hidden="!openTier1">
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/mobile-phones" role="menuitem" aria-label="Mobile Phones" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Mobile Phones
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/wireless-carriers" role="menuitem" aria-label="Wireless Carriers" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Wireless Carriers
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/modems-hotspots" role="menuitem" aria-label="Modems & Hotspots" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Modems & Hotspots
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/bluetooth-headsets" role="menuitem" aria-label="Bluetooth Headsets" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Bluetooth Headsets
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/mobile-phone-accessories" role="menuitem" aria-label="Mobile Phone Accessories" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Mobile Phone Accessories
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/mobile-apps" role="menuitem" aria-label="Mobile Apps" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Mobile Apps
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/android-apps" role="menuitem" aria-label="Android Apps" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Android Apps
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/iphone-apps" role="menuitem" aria-label="iPhone Apps" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
iPhone Apps
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/ipad-apps" role="menuitem" aria-label="iPad Apps" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
iPad Apps
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<input class="peer sr-only" id="nav-Electronics" type="checkbox" @keydown.enter="$event.target.checked = openTier1 = !$event.target.checked">
|
|
<label class="flex w-fit cursor-pointer items-center gap-x-2 border-b-2 border-white leading-tight after:size-4 after:bg-gray-700 after:transition-colors after:[mask-image:url('/icons/plus.svg')] after:[mask-repeat:no-repeat] after:[mask-size:16px_16px] peer-checked:after:bg-red-400 peer-checked:after:[mask-image:url('/icons/minus.svg')] peer-focus-visible:border-red-400 after:hover:bg-red-400"
|
|
data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-button" for="nav-Electronics" role="menuitem" aria-label="Electronics Menu Toggle" aria-haspopup="true" aria-controls="menu" @click="openTier1 = !openTier1" :aria-expanded="openTier1"
|
|
x-track-ga-click>
|
|
<span class="select-none text-xl font-semibold">Electronics</span>
|
|
</label>
|
|
<ul class="sr-only !my-4 !ml-4 space-y-3 peer-checked:not-sr-only peer-checked:block" id="nav-Electronics" name="nav-Electronics" role="menu" aria-label="Electronics Menu" aria-orientation="vertical" x-show="openTier1" x-cloak x-collapse
|
|
:aria-hidden="!openTier1">
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/tvs" role="menuitem" aria-label="TVs" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
TVs
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/projectors" role="menuitem" aria-label="Projectors" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Projectors
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/media-streaming-devices" role="menuitem" aria-label="Media Streaming Devices" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Media Streaming Devices
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/headphones" role="menuitem" aria-label="Headphones" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Headphones
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/speakers" role="menuitem" aria-label="Speakers" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Speakers
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/ebook-readers" role="menuitem" aria-label="Ebook Readers" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Ebook Readers
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/cameras" role="menuitem" aria-label="Cameras" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Cameras
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/lenses" role="menuitem" aria-label="Lenses" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Lenses
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/drones" role="menuitem" aria-label="Drones" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Drones
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/vr" role="menuitem" aria-label="VR" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
VR
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/cars-auto" role="menuitem" aria-label="Electric & Hybrid Cars" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Electric & Hybrid Cars
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/car-accessories" role="menuitem" aria-label="Car Accessories" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Car Accessories
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<input class="peer sr-only" id="nav-Smart Home" type="checkbox" @keydown.enter="$event.target.checked = openTier1 = !$event.target.checked">
|
|
<label class="flex w-fit cursor-pointer items-center gap-x-2 border-b-2 border-white leading-tight after:size-4 after:bg-gray-700 after:transition-colors after:[mask-image:url('/icons/plus.svg')] after:[mask-repeat:no-repeat] after:[mask-size:16px_16px] peer-checked:after:bg-red-400 peer-checked:after:[mask-image:url('/icons/minus.svg')] peer-focus-visible:border-red-400 after:hover:bg-red-400"
|
|
data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-button" for="nav-Smart Home" role="menuitem" aria-label="Smart Home Menu Toggle" aria-haspopup="true" aria-controls="menu" @click="openTier1 = !openTier1" :aria-expanded="openTier1"
|
|
x-track-ga-click>
|
|
<span class="select-none text-xl font-semibold">Smart Home</span>
|
|
</label>
|
|
<ul class="sr-only !my-4 !ml-4 space-y-3 peer-checked:not-sr-only peer-checked:block" id="nav-Smart Home" name="nav-Smart Home" role="menu" aria-label="Smart Home Menu" aria-orientation="vertical" x-show="openTier1" x-cloak x-collapse
|
|
:aria-hidden="!openTier1">
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/smart-home" role="menuitem" aria-label="Smart Home" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Smart Home
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/home-security" role="menuitem" aria-label="Home Security" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Home Security
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/home-security-cameras" role="menuitem" aria-label="Home Security Cameras" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Home Security Cameras
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/robot-vacuums" role="menuitem" aria-label="Robot Vacuums" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Robot Vacuums
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/smart-displays" role="menuitem" aria-label="Smart Displays" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Smart Displays
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/smart-lighting" role="menuitem" aria-label="Smart Lighting" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Smart Lighting
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/smart-locks" role="menuitem" aria-label="Smart Locks" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Smart Locks
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/smart-plugs" role="menuitem" aria-label="Smart Plugs" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Smart Plugs
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/smart-thermostats" role="menuitem" aria-label="Smart Thermostats" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Smart Thermostats
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/smart-lawn-mowers" role="menuitem" aria-label="Smart Lawn Mowers" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Smart Lawn Mowers
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/appliances" role="menuitem" aria-label="Appliances" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Appliances
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/connected-kitchen" role="menuitem" aria-label="Connected Kitchen" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Connected Kitchen
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<input class="peer sr-only" id="nav-Health & Fitness" type="checkbox" @keydown.enter="$event.target.checked = openTier1 = !$event.target.checked">
|
|
<label class="flex w-fit cursor-pointer items-center gap-x-2 border-b-2 border-white leading-tight after:size-4 after:bg-gray-700 after:transition-colors after:[mask-image:url('/icons/plus.svg')] after:[mask-repeat:no-repeat] after:[mask-size:16px_16px] peer-checked:after:bg-red-400 peer-checked:after:[mask-image:url('/icons/minus.svg')] peer-focus-visible:border-red-400 after:hover:bg-red-400"
|
|
data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-button" for="nav-Health & Fitness" role="menuitem" aria-label="Health & Fitness Menu Toggle" aria-haspopup="true" aria-controls="menu" @click="openTier1 = !openTier1" :aria-expanded="openTier1"
|
|
x-track-ga-click>
|
|
<span class="select-none text-xl font-semibold">Health & Fitness</span>
|
|
</label>
|
|
<ul class="sr-only !my-4 !ml-4 space-y-3 peer-checked:not-sr-only peer-checked:block" id="nav-Health & Fitness" name="nav-Health & Fitness" role="menu" aria-label="Health & Fitness Menu" aria-orientation="vertical" x-show="openTier1" x-cloak x-collapse
|
|
:aria-hidden="!openTier1">
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/health-fitness" role="menuitem" aria-label="Health & Fitness" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Health & Fitness
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/wearables" role="menuitem" aria-label="Wearables" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Wearables
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/fitness-trackers" role="menuitem" aria-label="Fitness Trackers" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Fitness Trackers
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/heart-rate-monitors" role="menuitem" aria-label="Heart Rate Monitors" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Heart Rate Monitors
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/smart-scales" role="menuitem" aria-label="Smart Scales" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Smart Scales
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/medical-alert-systems" role="menuitem" aria-label="Medical Alert Systems" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Medical Alert Systems
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<input class="peer sr-only" id="nav-Gaming" type="checkbox" @keydown.enter="$event.target.checked = openTier1 = !$event.target.checked">
|
|
<label class="flex w-fit cursor-pointer items-center gap-x-2 border-b-2 border-white leading-tight after:size-4 after:bg-gray-700 after:transition-colors after:[mask-image:url('/icons/plus.svg')] after:[mask-repeat:no-repeat] after:[mask-size:16px_16px] peer-checked:after:bg-red-400 peer-checked:after:[mask-image:url('/icons/minus.svg')] peer-focus-visible:border-red-400 after:hover:bg-red-400"
|
|
data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-button" for="nav-Gaming" role="menuitem" aria-label="Gaming Menu Toggle" aria-haspopup="true" aria-controls="menu" @click="openTier1 = !openTier1" :aria-expanded="openTier1"
|
|
x-track-ga-click>
|
|
<span class="select-none text-xl font-semibold">Gaming</span>
|
|
</label>
|
|
<ul class="sr-only !my-4 !ml-4 space-y-3 peer-checked:not-sr-only peer-checked:block" id="nav-Gaming" name="nav-Gaming" role="menu" aria-label="Gaming Menu" aria-orientation="vertical" x-show="openTier1" x-cloak x-collapse
|
|
:aria-hidden="!openTier1">
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/gaming" role="menuitem" aria-label="Gaming Hardware" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Gaming Hardware
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/gaming-systems" role="menuitem" aria-label="Gaming Systems" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Gaming Systems
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/game-controllers-accessories" role="menuitem" aria-label="Gaming Controllers & Accessories" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Gaming Controllers & Accessories
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/games" role="menuitem" aria-label="Games" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Games
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/pc-games" role="menuitem" aria-label="PC Games" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
PC Games
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/microsoft-xbox-games" role="menuitem" aria-label="Microsoft Xbox Games" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Microsoft Xbox Games
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/nintendo-games" role="menuitem" aria-label="Nintendo Games" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Nintendo Games
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/sony-playstation-games" role="menuitem" aria-label="Sony Playstation Games" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Sony Playstation Games
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/mobile-games" role="menuitem" aria-label="Mobile Games" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Mobile Games
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/game-streaming-services" role="menuitem" aria-label="Game Streaming Services" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Game Streaming Services
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<input class="peer sr-only" id="nav-Software & Services" type="checkbox" @keydown.enter="$event.target.checked = openTier1 = !$event.target.checked">
|
|
<label class="flex w-fit cursor-pointer items-center gap-x-2 border-b-2 border-white leading-tight after:size-4 after:bg-gray-700 after:transition-colors after:[mask-image:url('/icons/plus.svg')] after:[mask-repeat:no-repeat] after:[mask-size:16px_16px] peer-checked:after:bg-red-400 peer-checked:after:[mask-image:url('/icons/minus.svg')] peer-focus-visible:border-red-400 after:hover:bg-red-400"
|
|
data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-button" for="nav-Software & Services" role="menuitem" aria-label="Software & Services Menu Toggle" aria-haspopup="true" aria-controls="menu" @click="openTier1 = !openTier1" :aria-expanded="openTier1"
|
|
x-track-ga-click>
|
|
<span class="select-none text-xl font-semibold">Software & Services</span>
|
|
</label>
|
|
<ul class="sr-only !my-4 !ml-4 space-y-3 peer-checked:not-sr-only peer-checked:block" id="nav-Software & Services" name="nav-Software & Services" role="menu" aria-label="Software & Services Menu" aria-orientation="vertical" x-show="openTier1" x-cloak x-collapse
|
|
:aria-hidden="!openTier1">
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/ai" role="menuitem" aria-label="Artificial Intelligence (AI)" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Artificial Intelligence (AI)
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/operating-systems" role="menuitem" aria-label="Operating Systems" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Operating Systems
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/productivity" role="menuitem" aria-label="Productivity" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Productivity
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/system-utilities" role="menuitem" aria-label="System Utilities" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
System Utilities
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/photo-design" role="menuitem" aria-label="Photo & Design" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Photo & Design
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/education" role="menuitem" aria-label="Education" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Education
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/website-app-building-tools" role="menuitem" aria-label="Website & App Building Tools" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Website & App Building Tools
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/communications" role="menuitem" aria-label="Communications" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Communications
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/personal-finance" role="menuitem" aria-label="Personal Finance" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Personal Finance
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/accounting" role="menuitem" aria-label="Accounting" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Accounting
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/e-commerce-payments" role="menuitem" aria-label="E-Commerce & Payments" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
E-Commerce & Payments
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/human-resources" role="menuitem" aria-label="Human Resources" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Human Resources
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/it-management" role="menuitem" aria-label="IT Management" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
IT Management
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/sales-marketing" role="menuitem" aria-label="Sales & Marketing" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Sales & Marketing
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/video-streaming-services" role="menuitem" aria-label="Streaming Video" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Streaming Video
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/streaming-music-services" role="menuitem" aria-label="Streaming Music" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Streaming Music
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/dating" role="menuitem" aria-label="Dating Apps" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Dating Apps
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/dna-testing-kits" role="menuitem" aria-label="DNA Testing Kits" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
DNA Testing Kits
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/meal-kits" role="menuitem" aria-label="Meal Kits" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Meal Kits
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<input class="peer sr-only" id="nav-Security" type="checkbox" @keydown.enter="$event.target.checked = openTier1 = !$event.target.checked">
|
|
<label class="flex w-fit cursor-pointer items-center gap-x-2 border-b-2 border-white leading-tight after:size-4 after:bg-gray-700 after:transition-colors after:[mask-image:url('/icons/plus.svg')] after:[mask-repeat:no-repeat] after:[mask-size:16px_16px] peer-checked:after:bg-red-400 peer-checked:after:[mask-image:url('/icons/minus.svg')] peer-focus-visible:border-red-400 after:hover:bg-red-400"
|
|
data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-button" for="nav-Security" role="menuitem" aria-label="Security Menu Toggle" aria-haspopup="true" aria-controls="menu" @click="openTier1 = !openTier1" :aria-expanded="openTier1"
|
|
x-track-ga-click>
|
|
<span class="select-none text-xl font-semibold">Security</span>
|
|
</label>
|
|
<ul class="sr-only !my-4 !ml-4 space-y-3 peer-checked:not-sr-only peer-checked:block" id="nav-Security" name="nav-Security" role="menu" aria-label="Security Menu" aria-orientation="vertical" x-show="openTier1" x-cloak x-collapse
|
|
:aria-hidden="!openTier1">
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/security" role="menuitem" aria-label="Security" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Security
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/security-suites" role="menuitem" aria-label="Security Suites" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Security Suites
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/antivirus" role="menuitem" aria-label="Antivirus" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Antivirus
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/vpn" role="menuitem" aria-label="VPN" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
VPN
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/password-managers" role="menuitem" aria-label="Password Managers" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Password Managers
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/parental-control" role="menuitem" aria-label="Parental Control" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Parental Control
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/malware-protection-removal" role="menuitem" aria-label="Malware Removal" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Malware Removal
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/categories/ransomware-protection" role="menuitem" aria-label="Ransomware Protection" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Ransomware Protection
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<input class="peer sr-only" id="nav-Events" type="checkbox" @keydown.enter="$event.target.checked = openTier1 = !$event.target.checked">
|
|
<label class="flex w-fit cursor-pointer items-center gap-x-2 border-b-2 border-white leading-tight after:size-4 after:bg-gray-700 after:transition-colors after:[mask-image:url('/icons/plus.svg')] after:[mask-repeat:no-repeat] after:[mask-size:16px_16px] peer-checked:after:bg-red-400 peer-checked:after:[mask-image:url('/icons/minus.svg')] peer-focus-visible:border-red-400 after:hover:bg-red-400"
|
|
data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-button" for="nav-Events" role="menuitem" aria-label="Events Menu Toggle" aria-haspopup="true" aria-controls="menu" @click="openTier1 = !openTier1" :aria-expanded="openTier1"
|
|
x-track-ga-click>
|
|
<span class="select-none text-xl font-semibold">Events</span>
|
|
</label>
|
|
<ul class="sr-only !my-4 !ml-4 space-y-3 peer-checked:not-sr-only peer-checked:block" id="nav-Events" name="nav-Events" role="menu" aria-label="Events Menu" aria-orientation="vertical" x-show="openTier1" x-cloak x-collapse
|
|
:aria-hidden="!openTier1">
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/amazon-prime-day" role="menuitem" aria-label="Amazon Prime Big Deal Days" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Amazon Prime Big Deal Days
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/apple-wwdc" role="menuitem" aria-label="Apple WWDC" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Apple WWDC
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/black-friday" role="menuitem" aria-label="Black Friday" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Black Friday
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/black-hat" role="menuitem" aria-label="Black Hat" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Black Hat
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/ces" role="menuitem" aria-label="CES" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
CES
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/comic-con" role="menuitem" aria-label="Comic Con" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Comic Con
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/computex" role="menuitem" aria-label="Computex" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Computex
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/cyber-monday" role="menuitem" aria-label="Cyber Monday" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Cyber Monday
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/e3" role="menuitem" aria-label="E3" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
E3
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/google-io" role="menuitem" aria-label="Google I/O" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Google I/O
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/ifa" role="menuitem" aria-label="IFA" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
IFA
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/microsoft-build" role="menuitem" aria-label="Microsoft Build" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Microsoft Build
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/mwc" role="menuitem" aria-label="Mobile World Congress (MWC)" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Mobile World Congress (MWC)
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/rsac" role="menuitem" aria-label="RSAC" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
RSAC
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/sxsw" role="menuitem" aria-label="SXSW" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
SXSW
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/samsung-unpacked" role="menuitem" aria-label="Samsung Unpacked" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Samsung Unpacked
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/events/summer-of-gaming" role="menuitem" aria-label="Summer of Gaming" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Summer of Gaming
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<input class="peer sr-only" id="nav-Series" type="checkbox" @keydown.enter="$event.target.checked = openTier1 = !$event.target.checked">
|
|
<label class="flex w-fit cursor-pointer items-center gap-x-2 border-b-2 border-white leading-tight after:size-4 after:bg-gray-700 after:transition-colors after:[mask-image:url('/icons/plus.svg')] after:[mask-repeat:no-repeat] after:[mask-size:16px_16px] peer-checked:after:bg-red-400 peer-checked:after:[mask-image:url('/icons/minus.svg')] peer-focus-visible:border-red-400 after:hover:bg-red-400"
|
|
data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-button" for="nav-Series" role="menuitem" aria-label="Series Menu Toggle" aria-haspopup="true" aria-controls="menu" @click="openTier1 = !openTier1" :aria-expanded="openTier1"
|
|
x-track-ga-click>
|
|
<span class="select-none text-xl font-semibold">Series</span>
|
|
</label>
|
|
<ul class="sr-only !my-4 !ml-4 space-y-3 peer-checked:not-sr-only peer-checked:block" id="nav-Series" name="nav-Series" role="menu" aria-label="Series Menu" aria-orientation="vertical" x-show="openTier1" x-cloak x-collapse
|
|
:aria-hidden="!openTier1">
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/race-to-5g" role="menuitem" aria-label="5G" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
5G
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/accessibility-technology" role="menuitem" aria-label="Accessibility Technology" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Accessibility Technology
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/advertising-content" role="menuitem" aria-label="Advertising Content" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Advertising Content
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/all-about-artificial-intelligence" role="menuitem" aria-label="All About AI" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
All About AI
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/amplify" role="menuitem" aria-label="Amplify" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Amplify
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/android" role="menuitem" aria-label="Android" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Android
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/apple" role="menuitem" aria-label="Apple" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Apple
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/back-to-school-tech" role="menuitem" aria-label="Back to School Tech" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Back to School Tech
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/fastest-isps" role="menuitem" aria-label="Best Internet Service Providers (ISPs)" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Best Internet Service Providers (ISPs)
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/business-choice" role="menuitem" aria-label="Business Choice" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Business Choice
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/connected-traveler" role="menuitem" aria-label="Connected Traveler" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Connected Traveler
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/fast-forward-with-dan-costa" role="menuitem" aria-label="Fast Forward" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Fast Forward
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/fastest-mobile-networks" role="menuitem" aria-label="Fastest Mobile Networks" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Fastest Mobile Networks
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/forward-thinking" role="menuitem" aria-label="Forward Thinking" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Forward Thinking
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/get-organized" role="menuitem" aria-label="Get Organized" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Get Organized
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/holiday-gift-guide" role="menuitem" aria-label="Holiday Gift Guide" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Holiday Gift Guide
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/how-to-work-from-home" role="menuitem" aria-label="How to Work From Home" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
How to Work From Home
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/it-watch" role="menuitem" aria-label="IT Watch" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
IT Watch
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/in-depth" role="menuitem" aria-label="In Depth" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
In Depth
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/moms-dads-grads-gift-guide" role="menuitem" aria-label="Moms, Dads & Grads Gift Guide" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Moms, Dads & Grads Gift Guide
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/nextcar" role="menuitem" aria-label="NextCar" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
NextCar
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/pcmag-picks" role="menuitem" aria-label="PCMag Picks" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
PCMag Picks
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/pcmag-turns-40" role="menuitem" aria-label="PCMag Turns 40!" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
PCMag Turns 40!
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/readers-choice" role="menuitem" aria-label="Readers' Choice" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Readers' Choice
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/refresh-your-tech" role="menuitem" aria-label="Refresh Your Tech" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Refresh Your Tech
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/retro-computing" role="menuitem" aria-label="Retro Computing" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Retro Computing
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/rigged-up" role="menuitem" aria-label="Rigged Up" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Rigged Up
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/robotics" role="menuitem" aria-label="Robotics" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Robotics
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/safety-net" role="menuitem" aria-label="Safety Net" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Safety Net
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/science-space" role="menuitem" aria-label="Science & Space" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Science & Space
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/securitywatch" role="menuitem" aria-label="SecurityWatch" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
SecurityWatch
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/techx-techical-excellence-awards" role="menuitem" aria-label="TechX Awards" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
TechX Awards
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/the-best-of-the-year" role="menuitem" aria-label="The Best of the Year" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Best of the Year
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/the-pop-off" role="menuitem" aria-label="The Pop-Off" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Pop-Off
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/the-why-axis" role="menuitem" aria-label="The Why Axis" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
The Why Axis
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/try-ai" role="menuitem" aria-label="Try AI" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Try AI
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/weekend-project" role="menuitem" aria-label="Weekend Project" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Weekend Project
|
|
</a>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier2: false }">
|
|
<a data-module="main-nav" data-item="hamburger-nav" data-element="tier-2-link" href="/series/windows-11" role="menuitem" aria-label="Windows 11" class="border-b-2 border-white text-base focus:border-red-400 focus:outline-none" x-track-ga-click>
|
|
Windows 11
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="relative" role="presentation" x-data="{ openTier1: false }">
|
|
<a class="border-b-2 border-white text-xl font-semibold focus:border-red-400 focus:outline-none" data-module="main-nav" data-item="hamburger-nav" data-element="tier-1-link" href="/newsletter_manage" aria-label="Newsletters" x-track-ga-click>Newsletters</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</aside>
|
|
</section>
|
|
<a class="relative block h-12 w-16 flex-shrink-0 lg:h-16" data-module="main-nav" data-item="bar"
|
|
data-element="link" data-title="PCMag Logo" href="https://www.pcmag.com" aria-label="PCMag Logo"
|
|
x-track-ga-click x-data="{ opacity: 1 }" x-init="setTimeout(() => {
|
|
opacity = 0;
|
|
setTimeout(() => { opacity = 1; }, 1000);
|
|
}, 1000)">
|
|
<div class="relative m-1 hidden size-10 md:block lg:m-2 lg:size-12"
|
|
x-on:mouseenter="setTimeout(() => { opacity = 0; }, 100)"
|
|
x-on:mouseleave="setTimeout(() => { opacity = 1; }, 175)">
|
|
<img class="absolute top-0 size-10 select-none lg:size-12" src="/images/pcmag.svg"
|
|
alt="PCMag Nav Logo" width="82px" height="64px"
|
|
:style="'opacity: ' + opacity + '; transition: opacity .01s linear'">
|
|
<img class="absolute top-0 size-10 select-none lg:size-12" src="/images/pcmag-hover.svg"
|
|
alt="PCMag Nav Logo Hover" x-cloak width="82px" height="64px"
|
|
:style="'opacity: ' + (1 - opacity) + '; transition: opacity .01s linear'">
|
|
</div>
|
|
<div class="relative m-1 block size-10 md:hidden lg:m-2 lg:size-12">
|
|
<img class="absolute top-0 size-10 select-none" src="/images/pcmag-mobile.svg"
|
|
alt="PCMag Nav Mobile Logo" width="82px" height="64px">
|
|
</div>
|
|
</a>
|
|
<div class="mt-1 hidden h-full items-center gap-x-4 gap-y-1 lg:flex">
|
|
<a class="block whitespace-nowrap border-b-2 border-white text-sm font-bold leading-tight text-red-400 focus:border-red-400 focus:outline-none dark:border-0 dark:text-yellow-600"
|
|
data-module="main-nav" data-item="bar" data-element="link" href="https://www.pcmag.com/events/apple-event"
|
|
aria-label="#iPhone18Event" :class="{ 'invisible': open }"
|
|
x-track-ga-click>#iPhone18Event</a>
|
|
<a class="block whitespace-nowrap border-b-2 border-white text-sm font-bold leading-tight text-gray-700 focus:border-red-400 focus:outline-none dark:border-0 dark:text-white"
|
|
data-module="main-nav" data-item="bar" data-element="link" href="/picks" aria-label="Best Products"
|
|
x-track-ga-click>Best Products</a>
|
|
<a class="block whitespace-nowrap border-b-2 border-white text-sm font-bold leading-tight text-gray-700 focus:border-red-400 focus:outline-none dark:border-0 dark:text-white"
|
|
data-module="main-nav" data-item="bar" data-element="link" href="/comparisons"
|
|
aria-label="Comparisons" x-track-ga-click>Comparisons</a>
|
|
<a class="block whitespace-nowrap border-b-2 border-white text-sm font-bold leading-tight text-gray-700 focus:border-red-400 focus:outline-none dark:border-0 dark:text-white"
|
|
data-module="main-nav" data-item="bar" data-element="link" href="/reviews" aria-label="Reviews"
|
|
x-track-ga-click>Reviews</a>
|
|
<a class="block whitespace-nowrap border-b-2 border-white text-sm font-bold leading-tight text-gray-700 focus:border-red-400 focus:outline-none dark:border-0 dark:text-white"
|
|
data-module="main-nav" data-item="bar" data-element="link" href="/how-to" aria-label="How-To"
|
|
x-track-ga-click>How-To</a>
|
|
<a class="block whitespace-nowrap border-b-2 border-white text-sm font-bold leading-tight text-gray-700 focus:border-red-400 focus:outline-none dark:border-0 dark:text-white"
|
|
data-module="main-nav" data-item="bar" data-element="link" href="/news" aria-label="News"
|
|
x-track-ga-click>News</a>
|
|
<a class="block whitespace-nowrap border-b-2 border-white text-sm font-bold leading-tight text-gray-700 focus:border-red-400 focus:outline-none dark:border-0 dark:text-white"
|
|
data-module="main-nav" data-item="bar" data-element="link" href="/deals" aria-label="Deals"
|
|
x-track-ga-click>Deals</a>
|
|
<a class="block whitespace-nowrap border-b-2 border-white text-sm font-bold leading-tight text-gray-700 focus:border-red-400 focus:outline-none dark:border-0 dark:text-white"
|
|
data-module="main-nav" data-item="bar" data-element="link" href="/newsletter_manage"
|
|
aria-label="Newsletters" x-track-ga-click>Newsletters</a>
|
|
<div x-data="{
|
|
setupMaggieTooltip: () => ({
|
|
allowHTML: true,
|
|
appendTo: () => document.body,
|
|
maxWidth: 255,
|
|
offset: [0, 10],
|
|
interactive: false,
|
|
placement: 'bottom',
|
|
trigger: 'mouseenter',
|
|
touch: false,
|
|
moveTransition: 'transform 250ms ease-in-out',
|
|
content: () => $refs.template.innerHTML,
|
|
}),
|
|
}">
|
|
<button data-module="main-nav" data-item="bar" data-element="Maggie-Product-Picker-Launcher"
|
|
aria-label="Maggie: AI Product Finder"
|
|
class="touch-manipulation select-none duration-250 ease-in-out group relative items-center justify-center gap-2 rounded bg-gray-200 font-semibold leading-none text-gray-900 transition-all [@media(hover:hover)]:hover:text-white focus:outline-none dark:text-white dark:[@media(hover:hover)]:hover:text-red-400 before:absolute before:inset-0 before:z-0 before:rounded before:bg-gradient-to-r before:from-[#D700EB] before:to-red-400 before:opacity-0 before:transition-opacity before:duration-250 before:ease-in-out [@media(hover:hover)]:hover:before:opacity-100 hidden px-2 py-[0.375rem] text-sm lg:flex"
|
|
data-element_label="AI-Product-Finder" x-ref="trigger"
|
|
@click.prevent="open = false; $refs.trigger._tippy.hide(); $dispatch('product-picker-init', { module: 'product-picker' });"
|
|
x-on:keydown.escape.window="$refs.trigger._tippy.hide()" x-track-ga-click x-tooltip="setupMaggieTooltip()" >
|
|
|
|
<div class="relative">
|
|
<div class="ease-in-out transition-opacity duration-250 [@media(hover:hover)]:group-hover:opacity-0">
|
|
<img class="text-md inline-block size-5 opacity-100" src="/icons/maggie-logo.svg" alt="Maggie AI Logo">
|
|
</div>
|
|
<div
|
|
class="ease-in-out absolute inset-0 opacity-0 transition-opacity duration-250 [@media(hover:hover)]:group-hover:opacity-100">
|
|
<img class="text-md inline-block size-5 opacity-100" src="/icons/maggie-logo-white.svg"
|
|
alt="Maggie AI White Logo">
|
|
</div>
|
|
</div>
|
|
<span class="relative hidden xl:inline">Maggie: AI Product Finder</span>
|
|
</button>
|
|
<template x-ref="template">
|
|
<div class="flex flex-col gap-1 bg-white p-4 text-left leading-normal text-gray-700">
|
|
<h3
|
|
class="bg-gradient-to-r from-[#D700EB] to-red-400 to-75% bg-clip-text text-base font-bold text-transparent">
|
|
<img class="text-md inline-block size-5" src="/icons/maggie-stars.svg" alt="Maggie Stars">
|
|
Meet Maggie, PCMag's<br>AI-Powered Assistant
|
|
</h3>
|
|
<p class="text-xs font-normal">Trained exclusively on our massive library of expert buying advice,
|
|
finding the right tech to fit your life has never been easier.</p>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
<div class="flex grow items-center justify-end gap-x-2" x-data="{ searchOpen: false }">
|
|
<div class="relative w-full grow justify-self-end peer-checked:z-negative lg:ml-4 lg:max-w-sm lg:grow-0 xl:max-w-xs"
|
|
x-cloak x-show="searchOpen" x-data="initSearch('autocomplete')" x-init="$watch('searchOpen', value => { if (value) $nextTick(() => $refs.searchInput?.focus()) })">
|
|
<input class="w-full appearance-none rounded-none border-b border-black p-2 py-1 pr-3 text-base text-gray-700 placeholder-gray-700 focus:outline-none lg:py-2 lg:text-sm dark:border-white dark:bg-gray-900 dark:text-white dark:placeholder:text-white"
|
|
type="text" aria-label="Search PCMag" tabindex="0" x-model="query"
|
|
x-on:input='evt=>query=evt.target.value' x-on:keyup="onKeyUp" x-on:keydown="onKeyDown"
|
|
x-on:keydown.enter="submitSearch" x-on:focus="searchFocus" x-on:blur="searchBlur"
|
|
placeholder="Search" maxlength="256" x-ref="searchInput" />
|
|
<div class="absolute right-0 top-0 h-full cursor-pointer p-2 py-1 transition-color"
|
|
:class="[isFocused ? 'text-red-400' : 'dark:text-white text-gray-700']"
|
|
x-on:click="submitSearch">
|
|
<svg class="inline-block size-4 text-md" aria-hidden="true" data-prefix="fal" data-icon="search" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="m508.5 481.6-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208 32s176 78.7 176 176-78.7 176-176 176z"/></svg> </div>
|
|
<div class="absolute w-full max-w-full rounded bg-white shadow" style="display: none;"
|
|
x-show="query">
|
|
<ul class="absolute left-0 z-10 w-full list-none rounded border border-gray-300 bg-white text-sm text-gray-700"
|
|
x-show="results.length > 0">
|
|
<template x-for="(item, index) in results" :key="index" hidden>
|
|
<li>
|
|
<a class="block cursor-pointer break-words pb-1 pl-2 pr-2 pt-1 no-underline transition-bg hover:bg-gray-100"
|
|
:href="item.url" :name="item.name"
|
|
:class="{ 'bg-gray-100': index === selectedIndex }" x-html="item.display_name"
|
|
:aria-label="item.name">
|
|
{X-HTML Replaced}
|
|
</a>
|
|
</li>
|
|
</template>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<button class="flex items-center justify-center p-2 transition-colors hover:text-red-400 focus:outline-none dark:text-white dark:hover:text-red-400"
|
|
aria-label="Toggle Search" @click="searchOpen = !searchOpen">
|
|
<svg x-show="!searchOpen" class="inline-block size-4 text-md transition-opacity duration-200" aria-hidden="true" data-prefix="fal" data-icon="search" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="m508.5 481.6-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208 32s176 78.7 176 176-78.7 176-176 176z"/></svg> <svg x-show="searchOpen" x-cloak="1" class="inline-block size-4 text-md transition-opacity duration-200" aria-hidden="true" data-prefix="fal" data-icon="times" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M193.94 256 296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z"/></svg> </button>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
|
|
<div id="app">
|
|
<div class="mt-4" data-content-container>
|
|
<div class="bg-gray-100">
|
|
<div class="-mt-4 mb-4 w-full p-4 text-center text-xs leading-tight ">
|
|
PCMag editors select and review products
|
|
<a class="underline" href="https://www.pcmag.com/about/pcmagcom-mission-statement" aria-label="How We Test Everything We Review">independently</a>.
|
|
If you buy through affiliate links, we may earn commissions, which help support our
|
|
<a class="underline" href="https://www.pcmag.com/about/how-we-test-everything-we-review">testing</a>.
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<main class="z-0" id="main" data-content>
|
|
<header class="container grid grid-cols-1">
|
|
<section aria-labelledby="h1" class="col-start-1 w-full 2xl:px-4">
|
|
<div id="content-header" class="mx-auto mt-6 flex flex-col gap-3 md:max-w-3xl xl:max-w-[68rem] mb-4">
|
|
<section aria-label="Story Info & Author Byline" class="flex w-full flex-col gap-6 xl:w-192">
|
|
<div class="flex flex-col gap-3">
|
|
<nav class="overflow-x-auto text-xs font-semibold xl:w-192" aria-label="Breadcrumb Navigation">
|
|
<ol id="breadcrumbs" data-parent-group="breadcrumbs" aria-label="Breadcrumbs" itemscope
|
|
itemtype="http://schema.org/BreadcrumbList">
|
|
<li class="inline-block" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
|
|
<a data-module="breadcrumbs" data-item="breadcrumb-list" data-element="breadcrumb-link" data-position="1"
|
|
href="https://www.pcmag.com" aria-label="Home Breadcrumb" itemprop="item" x-track-ga-click>
|
|
<span itemprop="name">Home</span>
|
|
</a>
|
|
<svg class="size-4 inline-block" aria-hidden="true" data-prefix="fal" data-icon="angle-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="currentColor" d="m166.9 264.5-117.8 116c-4.7 4.7-12.3 4.7-17 0l-7.1-7.1c-4.7-4.7-4.7-12.3 0-17L127.3 256 25.1 155.6c-4.7-4.7-4.7-12.3 0-17l7.1-7.1c4.7-4.7 12.3-4.7 17 0l117.8 116c4.6 4.7 4.6 12.3-.1 17z"/></svg> <meta itemprop="position" content="1">
|
|
</li>
|
|
<li class="inline-block" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
|
|
<a data-module="breadcrumbs" data-item="breadcrumb-list" data-element="breadcrumb-link"
|
|
data-position="2" href="https://www.pcmag.com/news"
|
|
aria-label="News Breadcrumb" itemprop="item" x-track-ga-click>
|
|
<span itemprop="name">News</span>
|
|
</a>
|
|
<svg class="size-4 inline-block" aria-hidden="true" data-prefix="fal" data-icon="angle-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path fill="currentColor" d="m166.9 264.5-117.8 116c-4.7 4.7-12.3 4.7-17 0l-7.1-7.1c-4.7-4.7-4.7-12.3 0-17L127.3 256 25.1 155.6c-4.7-4.7-4.7-12.3 0-17l7.1-7.1c4.7-4.7 12.3-4.7 17 0l117.8 116c4.6 4.7 4.6 12.3-.1 17z"/></svg> <meta itemprop="position" content="2">
|
|
</li>
|
|
<li class="inline-block" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
|
|
<a data-module="breadcrumbs" data-item="breadcrumb-list" data-element="breadcrumb-link"
|
|
data-position="3" href="/categories/networking"
|
|
aria-label="Networking Breadcrumb" itemprop="item" x-track-ga-click>
|
|
<span itemprop="name">Networking</span>
|
|
</a>
|
|
<meta itemprop="position" content="3">
|
|
</li>
|
|
</ol>
|
|
</nav>
|
|
<h1 id="h1" class="font-stretch-ultra-condensed text-4xl font-semibold leading-compact tracking-wide md:text-5xl">
|
|
This Is What it Takes to Measure the Internet
|
|
</h1>
|
|
<p class="text-lg leading-normal">A USC lab has been keeping tabs on internet connectivity since its inception, work that is now crucial in an age of cyber attacks and crippling storms. We stopped by for a visit.</p>
|
|
<div id="author-byline" data-parent-group="author-byline" class="flex flex-wrap gap-x-4 text-sm md:items-center">
|
|
<div class="relative flex w-full items-center gap-4 md:w-auto">
|
|
<a data-item="author-list" data-element="author-image" data-position="1"
|
|
data-module="author-byline" href="/authors/sc-stuart" aria-label="S.C. Stuart"
|
|
class="lg:block hidden" x-track-ga-click>
|
|
<img class="size-[50px] select-none overflow-hidden rounded-full"
|
|
src="https://i.pcmag.com/imagery/authors/03CCAG5tyGF2CeedI1aKnHS.fit_lim.size_100x100.v1560221535.png" alt="S.C. Stuart"
|
|
width="50px" height="50px">
|
|
</a>
|
|
<span class="font-semibold leading-normal">
|
|
<div class="inline-block text-left md:relative" aria-describedby="flyout" x-data="{ showAuthor: false }"
|
|
@mouseover="showAuthor = true" @mouseout="showAuthor = false" @click="showAuthor = !showAuthor"
|
|
@click.outside="showAuthor = false">
|
|
By
|
|
<a class="font-bold underline" data-module="author-byline" data-item="author-list"
|
|
data-element="author-name" data-position="1" href="/authors/sc-stuart"
|
|
aria-label="S.C. Stuart's Full Author Bio" x-track-ga-click>S.C. Stuart</a>
|
|
</div>
|
|
</span>
|
|
</div>
|
|
|
|
<div class="flex w-full items-center gap-x-4 md:w-auto justify-between md:justify-center">
|
|
<span class="font-semibold">
|
|
January 3, 2018
|
|
</span>
|
|
<div class="flex gap-2 items-end">
|
|
<a data-module="social-byline" data-item="social-share-list" data-element="social-share-link" data-position="1"
|
|
data-title="threads" href="https://threads.net/intent/post?text=https%3A%2F%2Fwww.pcmag.com%2Fnews%2Fthis-is-what-it-takes-to-measure-the-internet"
|
|
title="Threads (Opens in a new tab)" aria-label="Threads Share" target="_blank" x-track-ga-click>
|
|
<span class="hidden">Threads</span>
|
|
<div class="flex size-8">
|
|
<svg class="mx-auto w-1/2 fill-current pointer-events-none inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M331.5 235.7c2.2 .9 4.2 1.9 6.3 2.8c29.2 14.1 50.6 35.2 61.8 61.4c15.7 36.5 17.2 95.8-30.3 143.2c-36.2 36.2-80.3 52.5-142.6 53h-.3c-70.2-.5-124.1-24.1-160.4-70.2c-32.3-41-48.9-98.1-49.5-169.6V256v-.2C17 184.3 33.6 127.2 65.9 86.2C102.2 40.1 156.2 16.5 226.4 16h.3c70.3 .5 124.9 24 162.3 69.9c18.4 22.7 32 50 40.6 81.7l-40.4 10.8c-7.1-25.8-17.8-47.8-32.2-65.4c-29.2-35.8-73-54.2-130.5-54.6c-57 .5-100.1 18.8-128.2 54.4C72.1 146.1 58.5 194.3 58 256c.5 61.7 14.1 109.9 40.3 143.3c28 35.6 71.2 53.9 128.2 54.4c51.4-.4 85.4-12.6 113.7-40.9c32.3-32.2 31.7-71.8 21.4-95.9c-6.1-14.2-17.1-26-31.9-34.9c-3.7 26.9-11.8 48.3-24.7 64.8c-17.1 21.8-41.4 33.6-72.7 35.3c-23.6 1.3-46.3-4.4-63.9-16c-20.8-13.8-33-34.8-34.3-59.3c-2.5-48.3 35.7-83 95.2-86.4c21.1-1.2 40.9-.3 59.2 2.8c-2.4-14.8-7.3-26.6-14.6-35.2c-10-11.7-25.6-17.7-46.2-17.8H227c-16.6 0-39 4.6-53.3 26.3l-34.4-23.6c19.2-29.1 50.3-45.1 87.8-45.1h.8c62.6 .4 99.9 39.5 103.7 107.7l-.2 .2zm-156 68.8c1.3 25.1 28.4 36.8 54.6 35.3c25.6-1.4 54.6-11.4 59.5-73.2c-13.2-2.9-27.8-4.4-43.4-4.4c-4.8 0-9.6 .1-14.4 .4c-42.9 2.4-57.2 23.2-56.2 41.8l-.1 .1z"/></svg> </div>
|
|
</a>
|
|
<a data-module="social-byline" data-item="social-share-list" data-element="social-share-link" data-position="2"
|
|
data-title="bluesky" href="https://bsky.app/intent/compose?text=https%3A%2F%2Fwww.pcmag.com%2Fnews%2Fthis-is-what-it-takes-to-measure-the-internet"
|
|
title="Bluesky (Opens in a new tab)" aria-label="Bluesky Share" target="_blank" x-track-ga-click>
|
|
<span class="hidden">Bluesky</span>
|
|
<div class="flex size-8">
|
|
<svg class="mx-auto w-1/2 fill-current pointer-events-none inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M111.8 62.2C170.2 105.9 233 194.7 256 242.4c23-47.6 85.8-136.4 144.2-180.2c42.1-31.6 110.3-56 110.3 21.8c0 15.5-8.9 130.5-14.1 149.2C478.2 298 412 314.6 353.1 304.5c102.9 17.5 129.1 75.5 72.5 133.5c-107.4 110.2-154.3-27.6-166.3-62.9l0 0c-1.7-4.9-2.6-7.8-3.3-7.8s-1.6 3-3.3 7.8l0 0c-12 35.3-59 173.1-166.3 62.9c-56.5-58-30.4-116 72.5-133.5C100 314.6 33.8 298 15.7 233.1C10.4 214.4 1.5 99.4 1.5 83.9c0-77.8 68.2-53.4 110.3-21.8z"/></svg> </div>
|
|
</a>
|
|
<a data-module="social-byline" data-item="social-share-list" data-element="social-share-link" data-position="3"
|
|
data-title="reddit"
|
|
href="http://www.reddit.com/submit?url=https%3A%2F%2Fwww.pcmag.com%2Fnews%2Fthis-is-what-it-takes-to-measure-the-internet&title=This%20Is%20What%20it%20Takes%20to%20Measure%20the%20Internet"
|
|
title="Reddit (Opens in a new tab)" aria-label="Reddit Share" target="_blank" x-track-ga-click>
|
|
<span class="hidden">Reddit</span>
|
|
<div class="flex size-8">
|
|
<svg class="mx-auto w-1/2 fill-current pointer-events-none inline-block" aria-hidden="true" data-prefix="fab" data-icon="reddit-alien" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z"/></svg> </div>
|
|
</a>
|
|
<div class="relative" x-data="{
|
|
isTooltipVisible: false,
|
|
setup: () => ({
|
|
allowHTML: true,
|
|
appendTo: $root,
|
|
maxWidth: 640,
|
|
offset: [20, 10],
|
|
interactive: true,
|
|
interactiveBorder: 30,
|
|
placement: 'bottom-end',
|
|
trigger: 'click',
|
|
moveTransition: 'transform 250ms ease',
|
|
content: () => $refs.template.innerHTML,
|
|
popperOptions: {
|
|
modifiers: [{
|
|
name: 'flip',
|
|
enabled: false,
|
|
}, ],
|
|
},
|
|
onShow: () => {
|
|
$data.isTooltipVisible = true;
|
|
},
|
|
onHide: () => {
|
|
$data.isTooltipVisible = false;
|
|
},
|
|
}),
|
|
}" x-on:keydown.escape.window="$refs.trigger._tippy.hide()">
|
|
<button class="block hover:text-red-400" aria-label="Social Share" :class="{ 'text-red-400': isTooltipVisible }"
|
|
x-ref="trigger" x-tooltip="setup()">
|
|
<span class="hidden">Social Share</span>
|
|
<div class="flex size-8">
|
|
<svg class="mx-auto w-2/3 fill-current pointer-events-none inline-block" aria-hidden="true" data-prefix="fal" data-icon="ellipsis-h" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M192 256c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm88-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-240 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z"/></svg> </div>
|
|
</button>
|
|
|
|
<template x-ref="template">
|
|
<div class="rounded bg-white text-xs text-gray-700" id="social-share-more"
|
|
style="top: 48px; width: 145px;left:-105px;">
|
|
<a data-module="social-byline" data-item="social-share-list" data-element="social-share-link"
|
|
data-position="4" data-title="facebook"
|
|
href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fwww.pcmag.com%2Fnews%2Fthis-is-what-it-takes-to-measure-the-internet"
|
|
title="Facebook (Opens in a new tab)" aria-label="Facebook Share" class="flex items-center px-2 pb-1 pt-2"
|
|
target="_blank" x-track-ga-click>
|
|
<span class="flex size-6">
|
|
<svg class="mx-auto w-1/2 fill-current pointer-events-none inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" fill="currentColor"><path d="m279.14 288 14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"/></svg> </span>
|
|
<span>Facebook</span>
|
|
</a>
|
|
<a class="flex items-center px-2 py-1" data-module="social-byline" data-item="social-share-list"
|
|
data-element="social-share-link" data-position="5" data-title="linkedin"
|
|
href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.pcmag.com%2Fnews%2Fthis-is-what-it-takes-to-measure-the-internet&title=This%20Is%20What%20it%20Takes%20to%20Measure%20the%20Internet&source=PCMag"
|
|
title="LinkedIn (Opens in a new tab)" aria-label="Linkedin Share" target="_blank" x-track-ga-click>
|
|
<span class="flex size-6">
|
|
<svg class="mx-auto w-1/2 fill-current pointer-events-none inline-block" aria-hidden="true" data-prefix="fab" data-icon="linkedin-in" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"/></svg> </span>
|
|
<span>LinkedIn</span>
|
|
</a>
|
|
<a class="flex items-center px-2 py-1" data-module="social-byline" data-item="social-share-list"
|
|
data-element="social-share-link" data-position="6" data-title="pinterest"
|
|
href="http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fwww.pcmag.com%2Fnews%2Fthis-is-what-it-takes-to-measure-the-internet&description=This%20Is%20What%20it%20Takes%20to%20Measure%20the%20Internet"
|
|
title="Pinterest (Opens in a new tab)" aria-label="Pinterest Share" target="_blank"
|
|
x-track-ga-click>
|
|
<span class="flex size-6">
|
|
<svg class="mx-auto w-1/2 fill-current pointer-events-none inline-block" aria-hidden="true" data-prefix="fab" data-icon="pinterest-p" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z"/></svg> </span>
|
|
<span>Pinterest</span>
|
|
</a>
|
|
<a class="flex items-center px-2 py-1" data-module="social-byline" data-item="social-share-list"
|
|
data-element="social-share-link" data-position="7" data-title="flipboard"
|
|
href="https://share.flipboard.com/bookmarklet/popout?v=2&url=https%3A%2F%2Fwww.pcmag.com%2Fnews%2Fthis-is-what-it-takes-to-measure-the-internet&title=This%20Is%20What%20it%20Takes%20to%20Measure%20the%20Internet"
|
|
title="Flipboard (Opens in a new tab)" aria-label="Flipboard Share" target="_blank"
|
|
x-track-ga-click>
|
|
<span class="flex size-6">
|
|
<svg class="mx-auto w-1/2 fill-current pointer-events-none inline-block" aria-hidden="true" data-prefix="fab" data-icon="flipboard" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 32v448h448V32H0zm358.4 179.2h-89.6v89.6h-89.6v89.6H89.6V121.6h268.8v89.6z"/></svg> </span>
|
|
<span>Flipboard</span>
|
|
</a>
|
|
<a class="flex items-center px-2 py-1" data-module="social-byline" data-item="social-share-list"
|
|
data-element="social-share-link" data-position="8" data-title="twitter"
|
|
href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.pcmag.com%2Fnews%2Fthis-is-what-it-takes-to-measure-the-internet&text=This%20Is%20What%20it%20Takes%20to%20Measure%20the%20Internet&hashtags=PCMag"
|
|
title="X (Opens in a new tab)" aria-label="X Share" target="_blank" x-track-ga-click>
|
|
<span class="flex size-6">
|
|
<svg class="mx-auto w-1/2 fill-current pointer-events-none inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="-100 100 2600 2500" fill="currentColor">
|
|
<g transform="translate(0.000000,2453.000000) scale(0.100000,-0.100000)" fill="currentColor" stroke="none">
|
|
<path d="M53 24453 c46 -66 9206 -13399 9288 -13519 l29 -42 -4632 -5383
|
|
c-2547 -2961 -4656 -5412 -4686 -5446 l-54 -63 1059 0 1059 0 4095 4760 c2252
|
|
2618 4096 4760 4099 4760 3 0 1477 -2142 3275 -4760 l3270 -4760 3573 0 3573
|
|
0 -29 43 c-16 23 -2200 3201 -4852 7062 -2653 3861 -4824 7027 -4824 7036 -1
|
|
8 2004 2346 4454 5194 2450 2848 4457 5182 4458 5187 2 4 -471 8 -1051 8
|
|
l-1055 0 -3874 -4502 c-2130 -2476 -3877 -4503 -3883 -4504 -5 -2 -1402 2024
|
|
-3104 4501 l-3094 4505 -3574 0 -3574 0 54 -77z m6690 -2390 c2838 -4059
|
|
14345 -20521 14351 -20530 6 -10 -320 -13 -1617 -13 l-1625 0 -3410 4877
|
|
c-1875 2683 -5242 7499 -7481 10702 -2239 3203 -4071 5827 -4071 5832 0 5 683
|
|
9 1620 9 l1619 0 614 -877z"/>
|
|
</g>
|
|
</svg> </span>
|
|
<span>Twitter</span>
|
|
</a>
|
|
<div class="z-50" x-data="window.linkCopy()">
|
|
<div class="absolute rounded border-2 border-gray-700 bg-gray-700" x-show="success">
|
|
<span class="m-2 text-white">Copied</span>
|
|
</div>
|
|
<div class="absolute rounded border-2 border-gray-700 bg-red-400" x-show="error">
|
|
<span class="m-2 text-white">Error!</span>
|
|
</div>
|
|
<a data-module="social-byline" data-item="social-share-list" data-element="social-share-link" data-position="9"
|
|
data-title="copy" href="javascript:;" aria-label="Copy Page Link" x-on:click="onCopy" x-track-ga-click>
|
|
<div class="flex items-center px-2 py-1">
|
|
<span class="flex size-6">
|
|
<svg class="mx-auto w-1/2 fill-current pointer-events-none inline-block" aria-hidden="true" data-prefix="fas" data-icon="link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"/></svg> </span>
|
|
<span>Copy Link</span>
|
|
</div>
|
|
</a>
|
|
<div class="link-copy hidden" x-ref="link">https://www.pcmag.com/news/this-is-what-it-takes-to-measure-the-internet</div>
|
|
</div>
|
|
<a class="flex items-center px-2 py-1" data-module="social-byline" data-item="social-share-list" data-element="social-share-link" data-position="10" data-title="email" href="/cdn-cgi/l/email-protection#f1ce8284939b949285cca5999882d4c3c1b882d4c3c1a6999085d4c3c19885d4c3c1a5909a9482d4c3c1859ed4c3c1bc949082848394d4c3c1859994d4c3c1b89f8594839f9485d7909c81ca939e9588cc9985858182d4c2b0d4c3b7d4c3b7868686df81929c9096df929e9cd4c3b79f948682d4c3b785999882dc9882dc86999085dc9885dc85909a9482dc859edc9c949082848394dc859994dc989f8594839f9485d4c1b5d4c1b0d4c1b5d4c1b0bc9e8394d197839e9cd1a1b2bc9096cbd19985858182cbdede868686df81929c9096df929e9c" title="Email (Opens in a new tab)" aria-label="email" target="_blank" x-track-ga-click>
|
|
<span class="flex size-6">
|
|
<svg class="mx-auto w-1/2 fill-current pointer-events-none inline-block" aria-hidden="true" data-prefix="far" data-icon="envelope" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"/></svg> </span>
|
|
<span>Email</span>
|
|
</a>
|
|
<a class="flex items-center px-2 pb-2 pt-1" data-module="social-byline" data-item="social-share-list"
|
|
data-element="social-share-link" data-position="11" data-title="disqus" href="#comments"
|
|
aria-label="Jump To Comments" x-track-ga-click>
|
|
<span class="flex size-6">
|
|
<svg class="mx-auto w-2/5 fill-current pointer-events-none inline-block" aria-hidden="true" data-prefix="fas" data-icon="comment-alt" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z"/></svg> </span>
|
|
<span>Comments</span>
|
|
</a>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
</div>
|
|
</section>
|
|
|
|
</div>
|
|
</section>
|
|
</header>
|
|
<section class="container mb-8 grid grid-cols-1 xl:grid-cols-[1fr,300px]">
|
|
<div class="w-full flex-shrink 2xl:px-4">
|
|
<div class="article-image mx-auto mb-8 w-full max-w-3xl">
|
|
<img class="w-full"
|
|
srcset="https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-5.fit_lim.size_400x250.v1569488625.jpg 400w, https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-5.fit_lim.size_850x490.v1569488625.jpg 800w, https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-5.fit_lim.size_1600x900.v1569488625.jpg 1600w"
|
|
alt="Internet connectivity"src="https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-5.fit_lim.v1569488625.jpg"
|
|
width="810" height="456"
|
|
sizes="(max-width: 1200px) 100vw, (min-width: 850px) 850px">
|
|
<small class="flex flex-col line-clamp-1 w-full">
|
|
|
|
</small>
|
|
</div>
|
|
|
|
|
|
<section id="trinity" aria-label="Trinity Audio Player" class="mx-auto w-full max-w-3xl mb-8">
|
|
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
|
|
if ('scrollRestoration' in history) history.scrollRestoration = 'manual';
|
|
const currentScript = document.currentScript;
|
|
|
|
window.addEventListener('load', () => {
|
|
window.addEventListener('scroll', () => {
|
|
try {
|
|
const scriptEl = document.createElement('script');
|
|
scriptEl.setAttribute('fetchpriority', 'high');
|
|
scriptEl.setAttribute('charset', 'UTF-8');
|
|
const scriptURL = new URL(
|
|
"https://trinitymedia.ai/player/trinity/2900023637/?"
|
|
);
|
|
scriptURL.searchParams.set('pageURL', window.location.href);
|
|
scriptEl.src = scriptURL.toString();
|
|
scriptEl.async = true;
|
|
scriptEl.onerror = () => console.error(
|
|
'Trinity Audio: Failed to load script');
|
|
currentScript.parentNode.insertBefore(scriptEl, currentScript);
|
|
} catch (error) {
|
|
console.error('Trinity Audio: Failed to initialize player', error);
|
|
}
|
|
}, {
|
|
once: true
|
|
});
|
|
});
|
|
</script>
|
|
<div class="trinity-tts-pb text-xs" dir="ltr">
|
|
<p>
|
|
Getting your
|
|
<a class="font-bold text-gray-600 no-underline" href="//trinityaudio.ai" aria-label="Trinity Audio"
|
|
target="_blank">
|
|
Trinity Audio
|
|
</a>
|
|
player ready...
|
|
</p>
|
|
</div>
|
|
</section>
|
|
<div class="flex flex-col">
|
|
<article class="rich-text w-full" id="article" data-autopogo data-parent-group="content-body">
|
|
<p>Every 11 minutes, <a href="https://www.isi.edu/people/johnh/RESEARCH/index.html" target="_blank" title="(Opens in a new tab)">Dr. John Heidemann's</a> team "pings" 4 million networks to ascertain if they are live, looking for patterns and outliers. If a nation-state shuts down their country's web access (as <a href="https://www.pcmag.com/archive/egypt-restores-internet-access-260076">Egypt did in 2011</a>) or a hurricane hits, taking out major utilities and communication networks, Professor Heidemann will know what's going on.</p>
|
|
|
|
<p>PCMag visited him at the <a href="https://ant.isi.edu/index.html" target="_blank" title="(Opens in a new tab)">Analysis of Network Traffic</a> (ANT) Lab within the <a href="https://www.isi.edu/" target="_blank" title="(Opens in a new tab)">USC Information Sciences Institute</a> (ISI), where they do both traffic and topology. Founded in 1972, ISI played a crucial role in the development of the early internet; it was one of the earliest nodes on ARPANET and the organization that created the DNS system. Today, ISI's 350 researchers undertake research for many federal agencies (including DARPA, Homeland Security, and the Air Force Office of Scientific Research), as well as partner with companies like Lockheed Martin, Raytheon, and Northrop Grumman.</p>
|
|
|
|
<p><span><a href="#" class="no-underline" onclick="return popImage('https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-3.v_1569470667.jpg', 'ARPANET nodes', 'ARPANET nodes', '');" target="_blank" title="(Opens in a new tab)"><img alt="ARPANET nodes" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%202038%201214'%3E%3Crect%20fill='%23f7f7f7'%20/%3E%3C/svg%3E" v-image-loader='{ imageSrc: "https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-1.fit_lim.size_2038x1214.v_1569470667.jpg"}' data-image-path="articles/07B87o5KTDEqza0uTIoCmui-1.jpg"><noscript inline-template><img alt="ARPANET nodes" width="2038" src="https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-1.fit_lim.size_2038x1214.v_1569470667.jpg" data-image-path="articles/07B87o5KTDEqza0uTIoCmui-1.jpg"></noscript></a></span></p>
|
|
|
|
<p>"Here in the networks division, we develop network protocols and address issues of cyber security, denial of service attacks, mapping, and data analytics to make the internet more secure," Dr. Heidemann told PCMag.</p>
|
|
|
|
<p>Dr. Heidemann started in network simulation in the late 90s, and his work led to the first "internet Censuses" in 2003.</p>
|
|
|
|
<p>"We wanted to see if we could 'measure the internet'," he told PCMag. "We had noticed these anomalies, while realizing the simple act of pinging could be used to detect when networks fail. And this became important for a bunch of things: telecoms policy, networks and, as IoT comes online, embedded devices. Now we can see to the edge of the public internet—to the routers—but not into your house."</p>
|
|
|
|
<p>In case you're not familiar with the term, pinging has been around since the early internet as way to verify if a computer is online, sending a packet of data ("ping") to an internet address and waiting for a response (sometimes referred to as a "pong"). But why did Professor Heidemann choose 11 minutes, and not 10, as the sweep interval to obtain data?</p>
|
|
|
|
<p>"Because we don't want to be aligned with human behavior," he explained. "For example, if your computer is scheduled to come on at the top of the hour for two minutes, we didn't want to just hit it at the same time. Having said that, we often analyze the date by hour, so things go back and forth."</p>
|
|
|
|
<p>If you want to see Dr. Heidemann's work in action, ANT recently went live with a <a href="https://ant.isi.edu/outage/world" target="_blank" title="(Opens in a new tab)">world visualization map</a>.</p>
|
|
|
|
<p><span><a href="#" class="no-underline" onclick="return popImage('https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-4.v_1569470667.png', 'Analysis of Network Traffic (ANT) Lab within the USC Information Sciences Institute (ISI),', 'Analysis of Network Traffic (ANT) Lab within the USC Information Sciences Institute (ISI),', '');" target="_blank" title="(Opens in a new tab)"><img alt="Analysis of Network Traffic (ANT) Lab within the USC Information Sciences Institute (ISI)," src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201363%20654'%3E%3Crect%20fill='%23f7f7f7'%20/%3E%3C/svg%3E" v-image-loader='{ imageSrc: "https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-2.fit_lim.size_1363x654.v_1569470667.png"}' data-image-path="articles/07B87o5KTDEqza0uTIoCmui-2.png"><noscript inline-template><img alt="Analysis of Network Traffic (ANT) Lab within the USC Information Sciences Institute (ISI)," width="1363" src="https://i.pcmag.com/imagery/articles/07B87o5KTDEqza0uTIoCmui-2.fit_lim.size_1363x654.v_1569470667.png" data-image-path="articles/07B87o5KTDEqza0uTIoCmui-2.png"></noscript></a></span></p>
|
|
|
|
<p>"We take all the data we get every 11 minutes from 4 million networks and put it into a grid," Dr. Heidemann said. "So you can see the scale of outages when they occur. For example, the size of the circle is how many networks are down in that area and the color is the percentage of all the networks in that area are down—red being 100 percent—which is what we track during disasters."</p>
|
|
|
|
<p>In his office, he then manipulated the map to return to the day Hurricane Irma hit Florida. As the storm intensified, circles around the Florida Keys turned white (50 percent network fail).</p>
|
|
|
|
<p>"The neat thing about Irma is we saw the hurricane hit, people lose power temporarily and then they get back on," said Dr. Heidemann. "Which tells us a lot about the <a href="https://www.nytimes.com/2017/09/18/us/harvey-irma-internet.html?_r=0" target="_blank" title="(Opens in a new tab)">resilience of the power grid and internet</a> networks in that area. Of course it was a different story with Puerto Rico and Hurricane Maria. In fact their networks were down for so long that, eventually, when [we] kept re-running the data analysis, suddenly the region 'disappeared' because after pinging the networks and getting no response for over a week, we interpreted that as gone away instead of temporarily down."</p>
|
|
|
|
<p>The world visualization map was built using <a href="https://openlayers.org/" target="_blank" title="(Opens in a new tab)">OpenLayers</a>, mapping software, with custom code on top for the base data collection, analysis and algorithm development.</p><div class="py-4" data-parent-group="related-stories">
|
|
<div class="mx-0 border border-b border-l-0 border-r-0 border-t border-gray-300 py-4 md:ml-8 md:mr-24">
|
|
<h3 class="font-stretch-ultra-condensed mb-2 text-lg font-semibold uppercase">Recommended by Our Editors</h3>
|
|
<div class="flex flex-wrap">
|
|
<div class="my-4 inline-flex w-full md:my-2">
|
|
<a class="mr-4 inline min-w-24 max-w-24 no-underline md:min-w-28 md:max-w-28" data-module="related-recirc" data-item="related-recirc-list" data-element="related-recirc-image" data-position="1" data-title="AT&T restoration in Puerto Rico" href="/news/exclusive-watch-puerto-rico-networks-light-up-drop-off" x-track-ga-click>
|
|
<div class="relative aspect-video overflow-hidden">
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center" data-image-loader="https://i.pcmag.com/imagery/articles/03sNgjLlyIox8fA7u8lJiRK-9.fit_lpad.size_400x225.v1569484234.jpg" data-lazy-sized src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20225'%3E%3Crect%20fill='%23f7f7f7'%20/%3E%3C/svg%3E" alt="AT&T restoration in Puerto Rico">
|
|
</div>
|
|
</a>
|
|
<div class="flex w-auto flex-col justify-center md:mr-20">
|
|
<a class="inline-block align-middle leading-tight no-underline" data-module="related-recirc" data-item="related-recirc-list" data-element="related-recirc-link" data-position="1" href="/news/exclusive-watch-puerto-rico-networks-light-up-drop-off" aria-label="Exclusive: Watch Puerto Rico Networks Light Up, Drop Off" x-track-ga-click>Exclusive: Watch Puerto Rico Networks Light Up, Drop Off</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<p>"We're working really hard now to deploy real-time data," said Professor Heidemann. "The processing is currently done in batch, usually quarterly, unless there's an event, like a natural disaster, where we pull it and do the analysis immediately."</p>
|
|
|
|
<p>Up next, the ANT Lab will take its census and outage data to work on prediction and root cause analysis. For example, "when a hurricane hits X area, what's the likely outcome to Y servers, length of time they'll be affected, cost analysis to affected businesses and communities and so on."</p>
|
|
|
|
<p>"My big goal in 2018 is two things," said Dr. Heidemann. "I want to reach out to 'real people' because we're at the point, when we have real-time data, and the visualization data you've seen, when a network goes down, you should be able to visit—from another computer, obviously—and get more information. That's the citizen-facing side.</p>
|
|
|
|
<p>"On the science side there's a ton of work to be done on these years of data. We now have to work out where are the weak parts of the internet? How can we identify the dependencies? How can we improve them? We now have a vast data set—80 billion data points. There's knowledge embedded in there and it will take a lot of work, but we'll get there."</p>
|
|
|
|
<p>Although the ANT lab is working towards concurrent data displays, there are times when, as Dr. Heidemann, explained, you don't want to share it too widely.</p>
|
|
|
|
<p>"Most of this work has been supported by the Department of Homeland Security, which has a vested interest in a secure homeland. Other agencies want to support this work to get insights into long-term resilience of our communications networks. However, in some of my security work, particularly in denial of service attacks, we don't want to report it publicly so quickly that the attackers are using our work as evidence of a 'good attack.' Luckily hurricanes aren't adversarial in nature, so I don't see any reason why we don't want to make this information available quickly, as soon as we have it ready."</p>
|
|
|
|
<script>
|
|
window.videoEmbeds = window.videoEmbeds || [];
|
|
window.videoEmbeds.push({
|
|
elemId: 'video-container-Vgob332E0N-6aa372cb23ce1',
|
|
data: {"slug":"Vgob332E0N","url":"https:\/\/cdn.ex.co\/transformations\/production\/ba7a9fbd-1aa9-47e1-967f-6e0e87cb169e\/master.m3u8","transcoded_urls":null,"title":"Blockchain, Explained","description":null,"thumbnail_url":"https:\/\/cdn.ex.co\/transformations\/production\/ba7a9fbd-1aa9-47e1-967f-6e0e87cb169e\/thumbnail-480.webp","disable_ads":0,"created_at":"2025-10-22T15:01:42.000000Z","duration":318},
|
|
variation: 'EMBED'
|
|
});
|
|
</script>
|
|
|
|
<div class="video-parent">
|
|
<div id="video-container-Vgob332E0N-6aa372cb23ce1" class="!h-full">
|
|
<div class="relative">
|
|
<svg class="absolute size-16 block inset-1/2 translate-center text-black z-20 cursor-pointer sm:w-24 sm:h-24" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 512"><path fill="currentColor" d="m371.7 238-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z"></path></svg> <img class="w-full" src="https://cdn.ex.co/transformations/production/ba7a9fbd-1aa9-47e1-967f-6e0e87cb169e/thumbnail-480.webp" alt="Blockchain, Explained">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex flex-col gap-3 pt-4">
|
|
<div class="text-lg gap-4 font-bold mb-0 flex items-center leading-tight">
|
|
<img class="max-w-[2.5rem] md:min-w-12 md:max-w-12" src="/images/pcmag.svg" alt="PCMag Logo">
|
|
<div>Blockchain, Explained</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<section class="rich-text trinity-skip-it my-16 flex flex-col gap-6" data-parent-group="author-bio"
|
|
aria-label="About Our Expert">
|
|
<h2 class="!m-0">About Our Expert</h2>
|
|
<div class="flex flex-col gap-8">
|
|
<div class="flex flex-col gap-6 rounded-lg bg-white p-6 text-gray-700 shadow-box md:p-10" id="flyout"
|
|
role="tooltip" aria-label="Author Bio Flyout">
|
|
<div class="font-stretch-ultra-condensed flex items-center justify-between leading-tight">
|
|
<div class="flex gap-4">
|
|
<img class="size-[60px] shrink-0 overflow-hidden rounded-full bg-gray-100 ring ring-white"
|
|
src="https://i.pcmag.com/imagery/authors/03CCAG5tyGF2CeedI1aKnHS.fit_lim.size_100x100.v1560221535.png" alt="S.C. Stuart">
|
|
<div class="flex flex-col justify-center gap-1">
|
|
<div class="text-xl font-bold">S.C. Stuart</div>
|
|
<div class="text-base">Contributing Writer</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<hr class="!m-0 border-t border-gray-300" />
|
|
<div class="flex flex-col gap-2">
|
|
<div class="font-bold leading-tight">Experience</div>
|
|
<div class="rich-text line-clamp-[7] text-base leading-normal">
|
|
<p>S. C. Stuart is an award-winning digital strategist and technology commentator for ELLE China, Esquire Latino, Singularity Hub, and PCMag, covering: artificial intelligence; augmented, virtual, and mixed reality; DARPA; NASA; US Army Cyber Command; sci-fi in Hollywood (including interviews with Spike Jonze and Ridley Scott); and robotics (real-life encounters with over 27 robots and counting). </p>
|
|
</div>
|
|
</div>
|
|
<div class="flex flex-col gap-2">
|
|
<div class="font-bold leading-tight">Latest By S.C. Stuart</div>
|
|
<ul class="!m-0 list-inside list-disc !p-0 text-base leading-loose">
|
|
<li class="leading-loose">
|
|
<a class="link-base" data-module="Author-Bio-Outro-Box"
|
|
data-element="author_recirc_links" data-item="text_link"
|
|
data-position="1" href="/opinions/in-the-age-of-ai-anxiety-im-choosing-hope"
|
|
aria-label="In the Age of AI Anxiety, I'm Choosing Hope"
|
|
x-track-ga-click>
|
|
In the Age of AI Anxiety, I'm Choosing Hope
|
|
</a>
|
|
</li>
|
|
<li class="leading-loose">
|
|
<a class="link-base" data-module="Author-Bio-Outro-Box"
|
|
data-element="author_recirc_links" data-item="text_link"
|
|
data-position="2" href="/news/in-project-hail-mary-ryan-gosling-happily-drops-the-movie-hero-stoicism"
|
|
aria-label="In 'Project Hail Mary,' Ryan Gosling Happily Drops the Movie Hero Stoicism"
|
|
x-track-ga-click>
|
|
In 'Project Hail Mary,' Ryan Gosling Happily Drops the Movie Hero Stoicism
|
|
</a>
|
|
</li>
|
|
<li class="leading-loose">
|
|
<a class="link-base" data-module="Author-Bio-Outro-Box"
|
|
data-element="author_recirc_links" data-item="text_link"
|
|
data-position="3" href="/articles/work-life-and-a-whole-lot-of-prompts-how-ai-powers-my-daily-routine"
|
|
aria-label="Work, Life, and a Whole Lot of Prompts: How AI Powers My Daily Routine"
|
|
x-track-ga-click>
|
|
Work, Life, and a Whole Lot of Prompts: How AI Powers My Daily Routine
|
|
</a>
|
|
</li>
|
|
<li class="leading-loose">
|
|
<a class="link-base" data-module="Author-Bio-Outro-Box"
|
|
data-element="author_recirc_links" data-item="text_link"
|
|
data-position="4" href="/how-to/stream-anonymously-how-to-virtualize-yourself-and-become-a-vtuber"
|
|
aria-label="Stream Anonymously: How to Virtualize Yourself and Become a VTuber"
|
|
x-track-ga-click>
|
|
Stream Anonymously: How to Virtualize Yourself and Become a VTuber
|
|
</a>
|
|
</li>
|
|
<li class="leading-loose">
|
|
<a class="link-base" data-module="Author-Bio-Outro-Box"
|
|
data-element="author_recirc_links" data-item="text_link"
|
|
data-position="5" href="/how-to/be-my-eyes-how-to-help-a-visually-impaired-person-from-your-smartphone"
|
|
aria-label="Be My Eyes: How to Help a Visually Impaired Person From Your Smartphone"
|
|
x-track-ga-click>
|
|
Be My Eyes: How to Help a Visually Impaired Person From Your Smartphone
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a class="link-base" data-module="Author-Bio-Outro-Box"
|
|
data-element="Author_Bio_ReadMoreLink" data-item="text_link"
|
|
href="/authors/sc-stuart"
|
|
aria-label="Read More From S.C. Stuart" x-track-ga-click>
|
|
More from S.C. Stuart
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<a class="w-fit self-end text-base font-bold uppercase leading-none underline"
|
|
data-module="author-bio" data-element="read-full-bio" data-item="text_link"
|
|
data-position="1" href="/authors/sc-stuart"
|
|
aria-label="S.C. Stuart 's Full Author Bio" x-track-ga-click>
|
|
Read Full Bio
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="trinity-skip-it mx-auto max-w-3xl" id="comments"
|
|
aria-label="Topic Tracker, Conversation, Pitc" x-data="openwebLoader({
|
|
spotId: 'sp_K16VHJZS',
|
|
postUrl: 'https://www.pcmag.com/news/this-is-what-it-takes-to-measure-the-internet',
|
|
postId: '07B87o5KTDEqza0uTIoCmui',
|
|
modules: JSON.parse('[\u0022topic-tracker\u0022,\u0022conversation\u0022,\u0022pitc\u0022]'),
|
|
showTopicTracker: true,
|
|
authors: 'S.C. Stuart',
|
|
keywords: 'Networking, Computers Electronics, Pc Magazine',
|
|
})">
|
|
</section>
|
|
|
|
</article>
|
|
</div>
|
|
</div>
|
|
<aside class="container-right-rail upper-sidebar hidden flex-shrink-0 xl:block">
|
|
<div class="pgQSsticky sticky left-0 top-0">
|
|
<aside class="zmgad-right-rail xl:border-0 xl:-mt-3">
|
|
<p>Advertisement</p>
|
|
<div class="min-h-24" id="MedRect" data-pogo="sidebar"
|
|
data-adunit="/4585/zd.pcmag/networking_articles_ATF">
|
|
</div>
|
|
</aside>
|
|
</div>
|
|
</aside>
|
|
</section>
|
|
|
|
<section class="container mt-24 inline-block content-visibility-auto contain-intrinsic-size-[auto_none] xl:flex"
|
|
data-parent-group="dig-deeper">
|
|
<div class="order-0 md:container flex w-full">
|
|
<div class="w-full">
|
|
<div class="w-full">
|
|
<h3
|
|
class="font-stretch-condensed relative mb-8 border-b border-gray-300 pb-1 text-lg font-bold uppercase leading-normal tracking-widest dark:border-[#737373]">
|
|
Apple Event<span
|
|
class="pointer-events-none absolute -bottom-1 left-0 inline-block h-2 w-16 bg-black dark:bg-gray-500"
|
|
style="transform:scaleY(.75)"></span></h3>
|
|
</div>
|
|
<div class="relative w-full" class="" x-data="window.slidingDivCarousel()"
|
|
x-on:touchStart="touchStart" x-on:touchEnd="touchEnd" x-on:resize="onWindowResize" x-ref="slider">
|
|
<div class="hidden lg:block">
|
|
<button class="absolute -left-6 top-1/2 z-10 flex size-12 -translate-y-1/2 cursor-pointer items-center justify-center rounded-full bg-white text-gray-500 shadow-md hover:shadow-lg xl:size-16"
|
|
data-module="best-products-carousel" data-element="arrow" data-item="left-arrow" data-title="left-arrow"
|
|
aria-label="Show Previous Items" x-cloak x-on:click="previousPage" x-show="showPrevious()"
|
|
x-track-ga-click>
|
|
<svg class="size-6 inline-block" aria-hidden="true" data-prefix="fal" data-icon="chevron-left" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><path fill="currentColor" d="m238.475 475.535 7.071-7.07c4.686-4.686 4.686-12.284 0-16.971L50.053 256 245.546 60.506c4.686-4.686 4.686-12.284 0-16.971l-7.071-7.07c-4.686-4.686-12.284-4.686-16.97 0L10.454 247.515c-4.686 4.686-4.686 12.284 0 16.971l211.051 211.05c4.686 4.686 12.284 4.686 16.97-.001z"/></svg> </button>
|
|
<button class="absolute -right-6 top-1/2 z-10 flex size-12 -translate-y-1/2 cursor-pointer items-center justify-center rounded-full bg-white text-gray-500 shadow-md hover:shadow-lg xl:size-16"
|
|
data-module="best-products-carousel" data-element="arrow" data-item="right-arrow"
|
|
data-title="right-arrow" aria-label="Show Next Items" x-on:click="nextPage" x-show="showNext()"
|
|
x-track-ga-click>
|
|
<svg class="size-6 inline-block" aria-hidden="true" data-prefix="fal" data-icon="chevron-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><path fill="currentColor" d="m17.525 36.465-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L205.947 256 10.454 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L34.495 36.465c-4.686-4.687-12.284-4.687-16.97 0z"/></svg> </button>
|
|
</div>
|
|
<div class="relative w-full overflow-hidden">
|
|
<div class="slider flex flex-nowrap overflow-x-auto pb-4 lg:overflow-x-hidden">
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="02XGfMr05AcM0RleA8KZhM3">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-image"
|
|
data-position="1"
|
|
data-title="Apple's iPhone 18 Pro Boasts Big Camera Upgrade, and Price Increase"
|
|
href="/news/iphone-18-pro-boasts-big-camera-upgrade-price-increase-apple-event" aria-label="Apple's iPhone 18 Pro Boasts Big Camera Upgrade, and Price Increase Image"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/02XGfMr05AcM0RleA8KZhM3-7.fit_lpad.size_400x225.v1789004568.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="Apple's iPhone 18 Pro Boasts Big Camera Upgrade, and Price Increase"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-link"
|
|
data-position="1" href="/news/iphone-18-pro-boasts-big-camera-upgrade-price-increase-apple-event"
|
|
aria-label="Apple's iPhone 18 Pro Boasts Big Camera Upgrade, and Price Increase" x-track-ga-click>Apple's iPhone 18 Pro Boasts Big Camera Upgrade, and Price Increase</a>
|
|
</div>
|
|
<span class="mt-2 text-xs font-medium uppercase">
|
|
By
|
|
<a class="mt-1 font-light tracking-wide"
|
|
data-module="featured-content-recirc"
|
|
data-item="Michael Kan" data-element="author-name"
|
|
data-position="1"
|
|
href="/authors/michael-kan"
|
|
aria-label="Michael Kan"
|
|
x-track-ga-click>Michael Kan</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="04W0TuZekk2nGFyDdFc64Ez">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-image"
|
|
data-position="2"
|
|
data-title="iPhone Duo Is Apple's First Foldable Phone. Surprise, It's Expensive!"
|
|
href="/news/iphone-duo-first-foldable-phone-surprise-its-expensive-apple-event" aria-label="iPhone Duo Is Apple's First Foldable Phone. Surprise, It's Expensive! Image"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/04W0TuZekk2nGFyDdFc64Ez-6.fit_lpad.size_400x225.v1789004244.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="iPhone Duo Is Apple's First Foldable Phone. Surprise, It's Expensive!"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-link"
|
|
data-position="2" href="/news/iphone-duo-first-foldable-phone-surprise-its-expensive-apple-event"
|
|
aria-label="iPhone Duo Is Apple's First Foldable Phone. Surprise, It's Expensive!" x-track-ga-click>iPhone Duo Is Apple's First Foldable Phone. Surprise, It's Expensive!</a>
|
|
</div>
|
|
<span class="mt-2 text-xs font-medium uppercase">
|
|
By
|
|
<a class="mt-1 font-light tracking-wide"
|
|
data-module="featured-content-recirc"
|
|
data-item="James Peckham" data-element="author-name"
|
|
data-position="1"
|
|
href="/authors/james-peckham"
|
|
aria-label="James Peckham"
|
|
x-track-ga-click>James Peckham</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="03KDVu6bIQQIxSKigRenRIz">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-image"
|
|
data-position="3"
|
|
data-title="You Can Get Up to $1,200 Towards an iPhone 18 Pro with Apple's New Carrier Trade-in Incentives"
|
|
href="/explainers/get-up-to-1200-toward-iphone-18-pro-trade-in-values-tips-apple-event" aria-label="You Can Get Up to $1,200 Towards an iPhone 18 Pro with Apple's New Carrier Trade-in Incentives Image"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/03KDVu6bIQQIxSKigRenRIz-1.fit_lpad.size_400x225.v1772489097.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="You Can Get Up to $1,200 Towards an iPhone 18 Pro with Apple's New Carrier Trade-in Incentives"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-link"
|
|
data-position="3" href="/explainers/get-up-to-1200-toward-iphone-18-pro-trade-in-values-tips-apple-event"
|
|
aria-label="You Can Get Up to $1,200 Towards an iPhone 18 Pro with Apple's New Carrier Trade-in Incentives" x-track-ga-click>You Can Get Up to $1,200 Towards an iPhone 18 Pro with Apple's New Carrier Trade-in Incentives</a>
|
|
</div>
|
|
<span class="mt-2 text-xs font-medium uppercase">
|
|
By
|
|
<a class="mt-1 font-light tracking-wide"
|
|
data-module="featured-content-recirc"
|
|
data-item="Jason Cohen" data-element="author-name"
|
|
data-position="1"
|
|
href="/authors/jason-cohen"
|
|
aria-label="Jason Cohen"
|
|
x-track-ga-click>Jason Cohen</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="02vCo4XHDcb1bWW2azi0Zze">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-image"
|
|
data-position="4"
|
|
data-title="Apple AirPods 5 Are Somehow Cheaper Than AirPods 4"
|
|
href="/news/airpods-5-cheaper-than-airpods-4-how-to-preorder-apple-event" aria-label="Apple AirPods 5 Are Somehow Cheaper Than AirPods 4 Image"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/02vCo4XHDcb1bWW2azi0Zze-3.fit_lpad.size_400x225.v1788980108.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="Apple AirPods 5 Are Somehow Cheaper Than AirPods 4"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-link"
|
|
data-position="4" href="/news/airpods-5-cheaper-than-airpods-4-how-to-preorder-apple-event"
|
|
aria-label="Apple AirPods 5 Are Somehow Cheaper Than AirPods 4" x-track-ga-click>Apple AirPods 5 Are Somehow Cheaper Than AirPods 4</a>
|
|
</div>
|
|
<span class="mt-2 text-xs font-medium uppercase">
|
|
By
|
|
<a class="mt-1 font-light tracking-wide"
|
|
data-module="featured-content-recirc"
|
|
data-item="James Peckham" data-element="author-name"
|
|
data-position="1"
|
|
href="/authors/james-peckham"
|
|
aria-label="James Peckham"
|
|
x-track-ga-click>James Peckham</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="00wntYLxwNKCZT0pZ0TUqh5">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-image"
|
|
data-position="5"
|
|
data-title="iOS 27 Will Hit Next Week. Here's How to Try Out the Beta If You Can't Wait"
|
|
href="/news/ios-27-coming-install-beta-best-features-supported-phones-apple-event" aria-label="iOS 27 Will Hit Next Week. Here's How to Try Out the Beta If You Can't Wait Image"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/00wntYLxwNKCZT0pZ0TUqh5-1.fit_lpad.size_400x225.v1783978233.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="iOS 27 Will Hit Next Week. Here's How to Try Out the Beta If You Can't Wait"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-link"
|
|
data-position="5" href="/news/ios-27-coming-install-beta-best-features-supported-phones-apple-event"
|
|
aria-label="iOS 27 Will Hit Next Week. Here's How to Try Out the Beta If You Can't Wait" x-track-ga-click>iOS 27 Will Hit Next Week. Here's How to Try Out the Beta If You Can't Wait</a>
|
|
</div>
|
|
<span class="mt-2 text-xs font-medium uppercase">
|
|
By
|
|
<a class="mt-1 font-light tracking-wide"
|
|
data-module="featured-content-recirc"
|
|
data-item="Jason Cohen" data-element="author-name"
|
|
data-position="1"
|
|
href="/authors/jason-cohen"
|
|
aria-label="Jason Cohen"
|
|
x-track-ga-click>Jason Cohen</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="00YZLxvErNiRc6PE6v6SpI1">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-image"
|
|
data-position="6"
|
|
data-title="Microsoft Had a 3-Year Head Start on AI. macOS Golden Gate Just Destroyed It"
|
|
href="/opinions/microsoft-had-a-3-year-head-start-on-ai-macos-golden-gate-just-destroyed" aria-label="Microsoft Had a 3-Year Head Start on AI. macOS Golden Gate Just Destroyed It Image"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/00YZLxvErNiRc6PE6v6SpI1-1.fit_lpad.size_400x225.v1788876487.png"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="Microsoft Had a 3-Year Head Start on AI. macOS Golden Gate Just Destroyed It"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-link"
|
|
data-position="6" href="/opinions/microsoft-had-a-3-year-head-start-on-ai-macos-golden-gate-just-destroyed"
|
|
aria-label="Microsoft Had a 3-Year Head Start on AI. macOS Golden Gate Just Destroyed It" x-track-ga-click>Microsoft Had a 3-Year Head Start on AI. macOS Golden Gate Just Destroyed It</a>
|
|
</div>
|
|
<span class="mt-2 text-xs font-medium uppercase">
|
|
By
|
|
<a class="mt-1 font-light tracking-wide"
|
|
data-module="featured-content-recirc"
|
|
data-item="Chris Hoffman" data-element="author-name"
|
|
data-position="1"
|
|
href="/authors/chris-hoffman"
|
|
aria-label="Chris Hoffman"
|
|
x-track-ga-click>Chris Hoffman</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="05HM8yc1AnT6QGkQhLVFGpW">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-image"
|
|
data-position="7"
|
|
data-title="New Apple Watches Add Better Health Sensors, AI Conversation Recaps"
|
|
href="/news/apple-watch-series12-ultra4-better-sensors-ai-conversation-recaps-event" aria-label="New Apple Watches Add Better Health Sensors, AI Conversation Recaps Image"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/05HM8yc1AnT6QGkQhLVFGpW-1.fit_lpad.size_400x225.v1788981083.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="New Apple Watches Add Better Health Sensors, AI Conversation Recaps"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-link"
|
|
data-position="7" href="/news/apple-watch-series12-ultra4-better-sensors-ai-conversation-recaps-event"
|
|
aria-label="New Apple Watches Add Better Health Sensors, AI Conversation Recaps" x-track-ga-click>New Apple Watches Add Better Health Sensors, AI Conversation Recaps</a>
|
|
</div>
|
|
<span class="mt-2 text-xs font-medium uppercase">
|
|
By
|
|
<a class="mt-1 font-light tracking-wide"
|
|
data-module="featured-content-recirc"
|
|
data-item="Michael Kan" data-element="author-name"
|
|
data-position="1"
|
|
href="/authors/michael-kan"
|
|
aria-label="Michael Kan"
|
|
x-track-ga-click>Michael Kan</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="00XXpU4qKL2ia89gIKgcbKU">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-image"
|
|
data-position="8"
|
|
data-title="Do You Need AppleCare+ for the iPhone 18 Pro? Here's What Apple's Extended Warranty Really Covers"
|
|
href="/explainers/applecare-plus-iphone-18-pro-extended-warranty-covers-costs-apple-event" aria-label="Do You Need AppleCare+ for the iPhone 18 Pro? Here's What Apple's Extended Warranty Really Covers Image"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/00XXpU4qKL2ia89gIKgcbKU-1.fit_lpad.size_400x225.v1772660168.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="Do You Need AppleCare+ for the iPhone 18 Pro? Here's What Apple's Extended Warranty Really Covers"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="featured-content-recirc"
|
|
data-item="featured-content-recirc-list"
|
|
data-element="featured-content-recirc-link"
|
|
data-position="8" href="/explainers/applecare-plus-iphone-18-pro-extended-warranty-covers-costs-apple-event"
|
|
aria-label="Do You Need AppleCare+ for the iPhone 18 Pro? Here's What Apple's Extended Warranty Really Covers" x-track-ga-click>Do You Need AppleCare+ for the iPhone 18 Pro? Here's What Apple's Extended Warranty Really Covers</a>
|
|
</div>
|
|
<span class="mt-2 text-xs font-medium uppercase">
|
|
By
|
|
<a class="mt-1 font-light tracking-wide"
|
|
data-module="featured-content-recirc"
|
|
data-item="Jason Cohen" data-element="author-name"
|
|
data-position="1"
|
|
href="/authors/jason-cohen"
|
|
aria-label="Jason Cohen"
|
|
x-track-ga-click>Jason Cohen</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide mb-12 mr-4 inline-flex w-64 min-w-64 flex-wrap lg:mb-0">
|
|
<a class="font-stretch-ultra-condensed ml-2 flex w-full items-center border border-gray-300 p-6 text-3xl font-bold leading-tight hover:bg-red-400 hover:text-white"
|
|
data-module="featured-content-recirc" data-element="featured-content-recirc-link"
|
|
data-item="featured-content-recirc-list"
|
|
href="/events/apple-event"
|
|
aria-label="All Apple Event Stories"
|
|
x-track-ga-click>All <br>Apple Event
|
|
Stories <svg class="size-4 ml-2 mt-12 fill-current inline-block" aria-hidden="true" data-prefix="fal" data-icon="arrow-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m216.464 36.465-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L387.887 239H12c-6.627 0-12 5.373-12 12v10c0 6.627 5.373 12 12 12h375.887L209.393 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L233.434 36.465c-4.686-4.687-12.284-4.687-16.97 0z"/></svg></a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="container mt-8 inline-block content-visibility-auto contain-intrinsic-size-[auto_none] md:my-16 xl:flex"
|
|
id="related-recirc" data-parent-group="dig-deeper">
|
|
<div class="order-0 md:container flex w-full">
|
|
<div class="w-full">
|
|
<div class="w-full">
|
|
<h3
|
|
class="font-stretch-condensed relative mb-8 border-b border-gray-300 pb-1 text-lg font-bold uppercase leading-normal tracking-widest dark:border-[#737373]">
|
|
Further Reading<span
|
|
class="pointer-events-none absolute -bottom-1 left-0 inline-block h-2 w-16 bg-black dark:bg-gray-500"
|
|
style="transform:scaleY(.75)"></span></h3>
|
|
</div>
|
|
<div class="relative w-full" class="" x-data="window.slidingDivCarousel()"
|
|
x-on:touchStart="touchStart" x-on:touchEnd="touchEnd" x-on:resize="onWindowResize" x-ref="slider">
|
|
<div class="hidden lg:block">
|
|
<button class="absolute -left-6 top-1/2 z-10 flex size-12 -translate-y-1/2 cursor-pointer items-center justify-center rounded-full bg-white text-gray-500 shadow-md hover:shadow-lg xl:size-16"
|
|
data-module="best-products-carousel" data-element="arrow" data-item="left-arrow" data-title="left-arrow"
|
|
aria-label="Show Previous Items" x-cloak x-on:click="previousPage" x-show="showPrevious()"
|
|
x-track-ga-click>
|
|
<svg class="size-6 inline-block" aria-hidden="true" data-prefix="fal" data-icon="chevron-left" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><path fill="currentColor" d="m238.475 475.535 7.071-7.07c4.686-4.686 4.686-12.284 0-16.971L50.053 256 245.546 60.506c4.686-4.686 4.686-12.284 0-16.971l-7.071-7.07c-4.686-4.686-12.284-4.686-16.97 0L10.454 247.515c-4.686 4.686-4.686 12.284 0 16.971l211.051 211.05c4.686 4.686 12.284 4.686 16.97-.001z"/></svg> </button>
|
|
<button class="absolute -right-6 top-1/2 z-10 flex size-12 -translate-y-1/2 cursor-pointer items-center justify-center rounded-full bg-white text-gray-500 shadow-md hover:shadow-lg xl:size-16"
|
|
data-module="best-products-carousel" data-element="arrow" data-item="right-arrow"
|
|
data-title="right-arrow" aria-label="Show Next Items" x-on:click="nextPage" x-show="showNext()"
|
|
x-track-ga-click>
|
|
<svg class="size-6 inline-block" aria-hidden="true" data-prefix="fal" data-icon="chevron-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><path fill="currentColor" d="m17.525 36.465-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L205.947 256 10.454 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L34.495 36.465c-4.686-4.687-12.284-4.687-16.97 0z"/></svg> </button>
|
|
</div>
|
|
<div class="relative w-full overflow-hidden">
|
|
<div class="slider flex flex-nowrap overflow-x-auto pb-4 lg:overflow-x-hidden">
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="06xwgWAvqCjqGdAeNXLAo70">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-image" data-position="1"
|
|
data-title="tmobile logo"
|
|
href="/news/t-mobiles-cfo-dismisses-spacexs-cellular-ambitions-as-laughable" aria-label="T-Mobile's CFO Dismisses SpaceX's Cellular Ambitions As Laughable"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/06xwgWAvqCjqGdAeNXLAo70-1.fit_lpad.size_400x225.v1789078550.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="T-Mobile's CFO Dismisses SpaceX's Cellular Ambitions As Laughable"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-link" data-position="1"
|
|
href="/news/t-mobiles-cfo-dismisses-spacexs-cellular-ambitions-as-laughable" aria-label="T-Mobile's CFO Dismisses SpaceX's Cellular Ambitions As Laughable"
|
|
x-track-ga-click>T-Mobile's CFO Dismisses SpaceX's Cellular Ambitions As Laughable</a>
|
|
</div>
|
|
<span class="mt-1 text-xs font-light uppercase tracking-wide">
|
|
By
|
|
<a data-module="related-story-recirc" data-item="Michael Kan"
|
|
data-element="author-name" data-position="1"
|
|
href="/authors/michael-kan"
|
|
aria-label="Michael Kan"
|
|
x-track-ga-click>Michael Kan</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="05jYkzNYCQALOYHEw30QSDg">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-image" data-position="2"
|
|
data-title="Starlink logo"
|
|
href="/news/spacex-backtracks-on-starlink-data-cap-after-complaints" aria-label="SpaceX Backtracks on Starlink Data Cap After Complaints"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/05jYkzNYCQALOYHEw30QSDg-1.fit_lpad.size_400x225.v1789065672.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="SpaceX Backtracks on Starlink Data Cap After Complaints"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-link" data-position="2"
|
|
href="/news/spacex-backtracks-on-starlink-data-cap-after-complaints" aria-label="SpaceX Backtracks on Starlink Data Cap After Complaints"
|
|
x-track-ga-click>SpaceX Backtracks on Starlink Data Cap After Complaints</a>
|
|
</div>
|
|
<span class="mt-1 text-xs font-light uppercase tracking-wide">
|
|
By
|
|
<a data-module="related-story-recirc" data-item="Michael Kan"
|
|
data-element="author-name" data-position="1"
|
|
href="/authors/michael-kan"
|
|
aria-label="Michael Kan"
|
|
x-track-ga-click>Michael Kan</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="00fTTuNzt04bHPm0uvyCyCJ">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-image" data-position="3"
|
|
data-title="router 4"
|
|
href="/news/starlink-quietly-debuts-router-4-confirms-it-features-wi-fi-7" aria-label="Starlink Quietly Debuts Router 4, Confirms It Features Wi-Fi 7"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/00fTTuNzt04bHPm0uvyCyCJ-4.fit_lpad.size_400x225.v1788986201.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="Starlink Quietly Debuts Router 4, Confirms It Features Wi-Fi 7"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-link" data-position="3"
|
|
href="/news/starlink-quietly-debuts-router-4-confirms-it-features-wi-fi-7" aria-label="Starlink Quietly Debuts Router 4, Confirms It Features Wi-Fi 7"
|
|
x-track-ga-click>Starlink Quietly Debuts Router 4, Confirms It Features Wi-Fi 7</a>
|
|
</div>
|
|
<span class="mt-1 text-xs font-light uppercase tracking-wide">
|
|
By
|
|
<a data-module="related-story-recirc" data-item="Michael Kan"
|
|
data-element="author-name" data-position="1"
|
|
href="/authors/michael-kan"
|
|
aria-label="Michael Kan"
|
|
x-track-ga-click>Michael Kan</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="06Pm4oMbzug0Ut3l3TX65TM">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-image" data-position="4"
|
|
data-title="Brendan Carr"
|
|
href="/news/fcc-satellite-constellations-dont-need-environmental-reviews" aria-label="FCC: Satellite Constellations Don't Need Environmental Reviews"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/06Pm4oMbzug0Ut3l3TX65TM-1.fit_lpad.size_400x225.v1788895995.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="FCC: Satellite Constellations Don't Need Environmental Reviews"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-link" data-position="4"
|
|
href="/news/fcc-satellite-constellations-dont-need-environmental-reviews" aria-label="FCC: Satellite Constellations Don't Need Environmental Reviews"
|
|
x-track-ga-click>FCC: Satellite Constellations Don't Need Environmental Reviews</a>
|
|
</div>
|
|
<span class="mt-1 text-xs font-light uppercase tracking-wide">
|
|
By
|
|
<a data-module="related-story-recirc" data-item="Michael Kan"
|
|
data-element="author-name" data-position="1"
|
|
href="/authors/michael-kan"
|
|
aria-label="Michael Kan"
|
|
x-track-ga-click>Michael Kan</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="012e7sis3F4vjBwEr76iqoD">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-image" data-position="5"
|
|
data-title="amazon leo att"
|
|
href="/news/att-business-customers-to-get-amazon-leo-satellite-broadband-eventually" aria-label="AT&T Business Customers to Get Amazon Leo Satellite Broadband... Eventually"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/012e7sis3F4vjBwEr76iqoD-1.fit_lpad.size_400x225.v1788890641.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="AT&T Business Customers to Get Amazon Leo Satellite Broadband... Eventually"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-link" data-position="5"
|
|
href="/news/att-business-customers-to-get-amazon-leo-satellite-broadband-eventually" aria-label="AT&T Business Customers to Get Amazon Leo Satellite Broadband... Eventually"
|
|
x-track-ga-click>AT&T Business Customers to Get Amazon Leo Satellite Broadband... Eventually</a>
|
|
</div>
|
|
<span class="mt-1 text-xs font-light uppercase tracking-wide">
|
|
By
|
|
<a data-module="related-story-recirc" data-item="Michael Kan"
|
|
data-element="author-name" data-position="1"
|
|
href="/authors/michael-kan"
|
|
aria-label="Michael Kan"
|
|
x-track-ga-click>Michael Kan</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="04ZIrsXys7WyytfNCArlRi2">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-image" data-position="6"
|
|
data-title="Starlink dish"
|
|
href="/news/starlink-bigger-boats-can-use-personal-maritime-plan-too" aria-label="Starlink: Bigger Boats Can Use Personal Maritime Plan, Too"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/04ZIrsXys7WyytfNCArlRi2-1.fit_lpad.size_400x225.v1788547721.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="Starlink: Bigger Boats Can Use Personal Maritime Plan, Too"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-link" data-position="6"
|
|
href="/news/starlink-bigger-boats-can-use-personal-maritime-plan-too" aria-label="Starlink: Bigger Boats Can Use Personal Maritime Plan, Too"
|
|
x-track-ga-click>Starlink: Bigger Boats Can Use Personal Maritime Plan, Too</a>
|
|
</div>
|
|
<span class="mt-1 text-xs font-light uppercase tracking-wide">
|
|
By
|
|
<a data-module="related-story-recirc" data-item="Michael Kan"
|
|
data-element="author-name" data-position="1"
|
|
href="/authors/michael-kan"
|
|
aria-label="Michael Kan"
|
|
x-track-ga-click>Michael Kan</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide lg:border-r mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="03PkJra6EUMj9L2RIBeXVN6">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-image" data-position="7"
|
|
data-title="the warning"
|
|
href="/news/starlink-is-throttling-certain-users-with-little-explanation" aria-label="Starlink Is Throttling Certain Users, With Little Explanation"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/03PkJra6EUMj9L2RIBeXVN6-1.fit_lpad.size_400x225.v1788537797.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="Starlink Is Throttling Certain Users, With Little Explanation"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-link" data-position="7"
|
|
href="/news/starlink-is-throttling-certain-users-with-little-explanation" aria-label="Starlink Is Throttling Certain Users, With Little Explanation"
|
|
x-track-ga-click>Starlink Is Throttling Certain Users, With Little Explanation</a>
|
|
</div>
|
|
<span class="mt-1 text-xs font-light uppercase tracking-wide">
|
|
By
|
|
<a data-module="related-story-recirc" data-item="Michael Kan"
|
|
data-element="author-name" data-position="1"
|
|
href="/authors/michael-kan"
|
|
aria-label="Michael Kan"
|
|
x-track-ga-click>Michael Kan</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="slide mb-12 flex w-64 w-full min-w-64 flex-col px-4 pb-3 shadow-bottom lg:mb-0 lg:w-72 lg:min-w-72 lg:border-gray-200 lg:pb-0 lg:shadow-none"
|
|
data-gcirc-uuid="03kjfSLHXgXWKXurxIxF4XY">
|
|
<div class="group relative flex flex-col">
|
|
<div class="group relative aspect-video w-full overflow-hidden no-underline">
|
|
<a class="relative mb-2 block aspect-video overflow-hidden no-underline"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-image" data-position="8"
|
|
data-title="amazon leo"
|
|
href="/news/why-hasnt-amazon-launched-its-leo-satellite-internet-service-yet" aria-label="Why Hasn't Amazon Launched Its Leo Satellite Internet Service Yet?"
|
|
x-track-ga-click>
|
|
<img class="absolute inset-1/2 h-auto w-auto translate-center"
|
|
data-image-loader="https://i.pcmag.com/imagery/articles/03kjfSLHXgXWKXurxIxF4XY-1.fit_lpad.size_400x225.v1788471636.jpg"
|
|
data-lazy-sized
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 225'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="Why Hasn't Amazon Launched Its Leo Satellite Internet Service Yet?"
|
|
loading="lazy">
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="order-1 mr-4 flex w-auto flex-col">
|
|
<div class="h-auto flex-grow text-lg font-bold leading-tight">
|
|
<a class="font-stretch-ultra-condensed mt-3 inline-block w-full overflow-hidden font-semibold no-underline group-hover:text-red-400"
|
|
data-module="related-story-recirc" data-item="related-story-recirc-list"
|
|
data-element="related-story-recirc-link" data-position="8"
|
|
href="/news/why-hasnt-amazon-launched-its-leo-satellite-internet-service-yet" aria-label="Why Hasn't Amazon Launched Its Leo Satellite Internet Service Yet?"
|
|
x-track-ga-click>Why Hasn't Amazon Launched Its Leo Satellite Internet Service Yet?</a>
|
|
</div>
|
|
<span class="mt-1 text-xs font-light uppercase tracking-wide">
|
|
By
|
|
<a data-module="related-story-recirc" data-item="Michael Kan"
|
|
data-element="author-name" data-position="1"
|
|
href="/authors/michael-kan"
|
|
aria-label="Michael Kan"
|
|
x-track-ga-click>Michael Kan</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<script>
|
|
(function() {
|
|
if (document.querySelector('a[href*="02zLDwCqTbhlnKCTPdI0yqf"]')) {
|
|
var img = document.createElement('img');
|
|
var cachebuster = Date.now() + Math.floor(Math.random() * 100);
|
|
img.src = "https://t.myvisualiq.net/impression_pixel?r=" + cachebuster +
|
|
"&et=i&ago=212&ao=803&aca=123513&si=10915&ci=234568&pi=356756&ad=-4&advt=10915&chnl=-4&vndr=1776&sz=8329&u=EncryptedId|10915|&pt=i";
|
|
img.alt = "Walmart Pixel";
|
|
document.body.append(img)
|
|
}
|
|
})();
|
|
</script>
|
|
|
|
|
|
</main>
|
|
</div>
|
|
</div>
|
|
|
|
<footer class="mt-12 bg-white dark:bg-gray-900" data-parent-group="footer" x-data="{ isOpen: false }" x-cloak>
|
|
<section class="container mb-16 flex flex-col gap-4 text-white md:flex-row">
|
|
<div class="relative my-2 flex h-32 h-full flex-wrap items-center border border-gray-200 p-4 text-gray-700 hover:bg-red-400 hover:text-white md:h-48 md:w-1/2 md:px-4 md:py-3 dark:text-white"
|
|
role="navigation" aria-label="Manage Newsletters">
|
|
<a class="absolute inset-0 bg-transparent" data-module="footer" data-item="footer-pre"
|
|
data-element="footer-pre-link" data-position="2" href="https://www.pcmag.com/newsletter_manage"
|
|
aria-label="Our Best Stories in Your Inbox" x-track-ga-click><span class="sr-only">PCMag
|
|
Newsletters</span></a>
|
|
<div class="font-stretch-ultra-condensed w-full text-2xl font-bold leading-tight">PCMag Newsletters
|
|
</div>
|
|
<div class="mt-2 text-sm font-semibold md:mt-0 md:text-lg">Our Best Stories in Your <span
|
|
class="whitespace-nowrap">Inbox <svg class="size-4 fill-current inline-block" aria-hidden="true" data-prefix="fal" data-icon="arrow-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m216.464 36.465-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L387.887 239H12c-6.627 0-12 5.373-12 12v10c0 6.627 5.373 12 12 12h375.887L209.393 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L233.434 36.465c-4.686-4.687-12.284-4.687-16.97 0z"/></svg></span></div>
|
|
</div>
|
|
<nav class="my-2 h-32 md:h-48 md:w-1/2" aria-label="Social Network">
|
|
<div
|
|
class="flex h-full flex-wrap items-center border border-gray-200 p-4 text-gray-700 hover:bg-red-400 hover:text-white dark:text-white">
|
|
<div class="font-stretch-ultra-condensed w-full text-2xl font-bold leading-tight">Follow PCMag</div>
|
|
<ul class="mt-2 text-sm font-semibold md:mt-0 md:text-lg">
|
|
<li class="mr-2 inline-block">
|
|
<a class="inline-block hover:text-gray-700" data-module="footer" data-item="footer-social"
|
|
data-element="footer-social-link" data-position="1" data-title="facebook"
|
|
href="https://www.facebook.com/PCMag" title="Facebook (Opens in a new tab)"
|
|
aria-label="PCMag Facebook" aria-label="PCMag Facebook Page" target="_blank"
|
|
x-track-ga-click>
|
|
<svg class="size-4 fill-current inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" fill="currentColor"><path d="m279.14 288 14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"/></svg> </a>
|
|
</li>
|
|
<li class="mr-2 inline-block">
|
|
<a class="inline-block hover:text-gray-700" data-module="footer" data-item="footer-social"
|
|
data-element="footer-social-link" data-position="2" data-title="twitter"
|
|
href="https://www.twitter.com/pcmag" title="X (Opens in a new tab)" aria-label="PCMag X"
|
|
aria-label="PCMag X Page" target="_blank" x-track-ga-click>
|
|
<svg class="size-4 fill-current inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="-100 100 2600 2500" fill="currentColor">
|
|
<g transform="translate(0.000000,2453.000000) scale(0.100000,-0.100000)" fill="currentColor" stroke="none">
|
|
<path d="M53 24453 c46 -66 9206 -13399 9288 -13519 l29 -42 -4632 -5383
|
|
c-2547 -2961 -4656 -5412 -4686 -5446 l-54 -63 1059 0 1059 0 4095 4760 c2252
|
|
2618 4096 4760 4099 4760 3 0 1477 -2142 3275 -4760 l3270 -4760 3573 0 3573
|
|
0 -29 43 c-16 23 -2200 3201 -4852 7062 -2653 3861 -4824 7027 -4824 7036 -1
|
|
8 2004 2346 4454 5194 2450 2848 4457 5182 4458 5187 2 4 -471 8 -1051 8
|
|
l-1055 0 -3874 -4502 c-2130 -2476 -3877 -4503 -3883 -4504 -5 -2 -1402 2024
|
|
-3104 4501 l-3094 4505 -3574 0 -3574 0 54 -77z m6690 -2390 c2838 -4059
|
|
14345 -20521 14351 -20530 6 -10 -320 -13 -1617 -13 l-1625 0 -3410 4877
|
|
c-1875 2683 -5242 7499 -7481 10702 -2239 3203 -4071 5827 -4071 5832 0 5 683
|
|
9 1620 9 l1619 0 614 -877z"/>
|
|
</g>
|
|
</svg> </a>
|
|
</li>
|
|
<li class="mr-2 inline-block">
|
|
<a class="inline-block hover:text-gray-700" data-module="footer" data-item="footer-social"
|
|
data-element="footer-social-link" data-position="3" data-title="flipboard"
|
|
href="https://flipboard.com/@PCMag" title="Flipboard (Opens in a new tab)"
|
|
aria-label="PCMag Flipboard" aria-label="PCMag Flipboard Page" target="_blank"
|
|
x-track-ga-click>
|
|
<svg class="size-4 fill-current pointer-events-none inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="currentColor"><path d="M0 32v448h448V32H0zm358.4 179.2h-89.6v89.6h-89.6v89.6H89.6V121.6h268.8v89.6z"/></svg> </a>
|
|
</li>
|
|
<li class="mr-2 inline-block">
|
|
<a class="inline-block hover:text-gray-700" data-module="footer" data-item="footer-social"
|
|
data-element="footer-social-link" data-position="4" data-title="google"
|
|
href="https://news.google.com/publications/CAAqBggKMIClPDCEjQc?oc=3"
|
|
title="Google (Opens in a new tab)" aria-label="PCMag Google News"
|
|
aria-label="PCMag Google Page" target="_blank" x-track-ga-click>
|
|
<svg class="size-4 fill-current pointer-events-none inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 488 512" fill="currentColor"><path d="M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z"/></svg> </a>
|
|
</li>
|
|
<li class="mr-2 inline-block">
|
|
<a class="inline-block hover:text-gray-700" data-module="footer" data-item="footer-social"
|
|
data-element="footer-social-link" data-position="5" data-title="instagram"
|
|
href="https://instagram.com/pcmag/" title="Instagram (Opens in a new tab)"
|
|
aria-label="PCMag Instagram" aria-label="PCMag Instagram Page" target="_blank"
|
|
x-track-ga-click>
|
|
<svg class="size-4 fill-current inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="currentColor"><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></svg> </a>
|
|
</li>
|
|
<li class="mr-2 inline-block">
|
|
<a class="inline-block hover:text-gray-700" data-module="footer" data-item="footer-social"
|
|
data-element="footer-social-link" data-position="6" data-title="pinterest"
|
|
href="https://www.pinterest.com/pcmag/" title="Pinterest (Opens in a new tab)"
|
|
aria-label="PCMag Pinterest" aria-label="PCMag Pinterest Page" target="_blank"
|
|
x-track-ga-click>
|
|
<svg class="size-4 fill-current inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512" fill="currentColor"><path d="M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z"/></svg> </a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
</section>
|
|
<section class="bg-gray-700 text-white" aria-label="Brand Statement">
|
|
<div class="container flex flex-col gap-8 py-8 md:gap-4 lg:py-10">
|
|
<div class="flex flex-col gap-8 md:flex-row md:items-center lg:gap-16">
|
|
<div class="flex flex-[3] flex-col gap-4">
|
|
<h2 class="font-stretch-ultra-condensed text-xl font-semibold leading-compact md:text-2xl">
|
|
Honest, Objective, Lab-Tested Reviews
|
|
</h2>
|
|
<p>
|
|
PCMag.com is a leading authority on technology, delivering lab-based, independent reviews of the
|
|
latest
|
|
products and services. Our expert industry analysis and practical solutions help you make better
|
|
buying
|
|
decisions and get more from technology.
|
|
</p>
|
|
<div class="flex items-center gap-6">
|
|
<a class="duration-200 ease-in-out group inline-flex items-center gap-2 border-b border-transparent text-xs font-semibold transition-border hover:border-red-400 md:text-sm"
|
|
href="/about/pcmagcom-mission-statement" aria-label="Editorial Principles: Our Mission">
|
|
<span>Editorial Principles</span>
|
|
<span class="transition-transform group-hover:translate-x-1">
|
|
<svg class="size-4 fill-current inline-block" aria-hidden="true" data-prefix="fas" data-icon="arrow-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m190.5 66.9 22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"/></svg> </span>
|
|
</a>
|
|
<a class="duration-200 ease-in-out group inline-flex items-center gap-2 border-b border-transparent text-xs font-semibold transition-border hover:border-red-400 md:text-sm"
|
|
href="/about/how-we-test-everything-we-review" aria-label="How We Test Everything We Review At PC Labs">
|
|
<span>How We Test</span>
|
|
<span class="transition-transform group-hover:translate-x-1">
|
|
<svg class="size-4 fill-current inline-block" aria-hidden="true" data-prefix="fas" data-icon="arrow-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m190.5 66.9 22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"/></svg> </span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="flex flex-1 divide-x divide-red-400">
|
|
<div class="flex flex-1 justify-start pr-8 sm:flex-initial sm:pr-10 md:pr-8 lg:pr-10">
|
|
<div class="flex flex-col gap-1">
|
|
<span class="text-2xl font-semibold md:text-3xl">44</span>
|
|
<span class="text-xs font-light tracking-wider">Years of<br>Experience</span>
|
|
</div>
|
|
</div>
|
|
<div class="flex flex-1 justify-center px-8 sm:flex-initial sm:px-10 md:px-8 lg:px-10">
|
|
<div class="flex flex-col gap-1">
|
|
<span class="text-2xl font-semibold md:text-3xl">65</span>
|
|
<span class="text-xs tracking-wider">Tech<br>Experts</span>
|
|
</div>
|
|
</div>
|
|
<div class="flex flex-1 justify-end pl-8 sm:flex-initial sm:pl-10 md:pl-8 lg:pl-10">
|
|
<div class="flex flex-col gap-1">
|
|
<span class="text-2xl font-semibold md:text-3xl">43K+</span>
|
|
<span class="text-xs tracking-wider">Product<br>Reviews</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section class="flex flex-col items-start border-y border-gray-600 bg-[#111111] py-12 text-white md:py-20"
|
|
aria-label="Content Links" x-data="{ isDesktop: window.innerWidth >= 768 }" x-resize.document="isDesktop = $width >= 768">
|
|
<div class="container flex flex-col gap-10 md:gap-16">
|
|
<section aria-label="Best Products Links" x-data="{ open: isDesktop }" x-init="$watch('isDesktop', () => open = isDesktop)">
|
|
|
|
<template x-if="!isDesktop">
|
|
<button class="group flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
for="best-products" aria-label="Best Products Menu Toggle"
|
|
aria-haspopup="true" aria-controls="menu" :class="{ 'text-red-400': open }"
|
|
:aria-expanded="open" @click="open = !open">
|
|
<h3
|
|
class="font-stretch-ultra-condensed text-left text-xl font-semibold uppercase transition-all">
|
|
Best Products</h3>
|
|
<span class="transition-all"
|
|
:class="{ 'rotate-180 group-hover:text-red-400': !open }"><svg class="inline-block size-5 fill-current" aria-hidden="true" data-prefix="fal" data-icon="chevron-up" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m4.465 366.475 7.07 7.071c4.686 4.686 12.284 4.686 16.971 0L224 178.053l195.494 195.493c4.686 4.686 12.284 4.686 16.971 0l7.07-7.071c4.686-4.686 4.686-12.284 0-16.97l-211.05-211.051c-4.686-4.686-12.284-4.686-16.971 0L4.465 349.505c-4.687 4.686-4.687 12.284 0 16.97z"/></svg></span>
|
|
</button>
|
|
</template>
|
|
|
|
|
|
<template x-if="isDesktop">
|
|
<a class="mb-6 flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products" data-item="Link"
|
|
href="/picks" aria-label="Best Products" x-track-ga-click>
|
|
<h3
|
|
class="font-stretch-ultra-condensed md:font-stretch-normal text-xl font-semibold uppercase md:text-3xl">
|
|
Best Products</h3>
|
|
<hr class="flex-1 border-t border-gray-700">
|
|
</a>
|
|
</template>
|
|
|
|
<div id="best-products" name="best-products" role="menu"
|
|
aria-label="Best Products Menu" aria-orientation="vertical" :aria-hidden="!open"
|
|
class="grid grid-cols-1 gap-10 sm:grid-cols-2 lg:grid-cols-5" x-collapse x-cloak x-show="open">
|
|
<ul class="space-y-5 mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-3d-printers" aria-label="3D Printers"
|
|
x-track-ga-click>3D Printers</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-android-phones" aria-label="Android Phones"
|
|
x-track-ga-click>Android Phones</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-tablets" aria-label="Android Tablets"
|
|
x-track-ga-click>Android Tablets</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-antivirus-protection" aria-label="Antivirus Apps"
|
|
x-track-ga-click>Antivirus Apps</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/whats-the-best-ipad-to-buy" aria-label="Apple iPads"
|
|
x-track-ga-click>Apple iPads</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/whats-the-best-iphone-to-buy" aria-label="Apple iPhones"
|
|
x-track-ga-click>Apple iPhones</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-apple-watch" aria-label="Apple Watches"
|
|
x-track-ga-click>Apple Watches</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-wireless-and-bluetooth-speakers" aria-label="Bluetooth Speakers"
|
|
x-track-ga-click>Bluetooth Speakers</a></li>
|
|
</ul>
|
|
<ul class="space-y-5 sm:mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-car-phone-mounts" aria-label="Car Phone Mounts"
|
|
x-track-ga-click>Car Phone Mounts</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-cpus-for-gaming" aria-label="CPUs For Gaming"
|
|
x-track-ga-click>CPUs For Gaming</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-ereaders" aria-label="Ereaders"
|
|
x-track-ga-click>Ereaders</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-fastest-vpns" aria-label="Fastest VPNs"
|
|
x-track-ga-click>Fastest VPNs</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-fitness-trackers" aria-label="Fitness Trackers"
|
|
x-track-ga-click>Fitness Trackers</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-gaming-keyboards" aria-label="Gaming Keyboards"
|
|
x-track-ga-click>Gaming Keyboards</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-gaming-laptops" aria-label="Gaming Laptops"
|
|
x-track-ga-click>Gaming Laptops</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-gaming-monitors" aria-label="Gaming Monitors"
|
|
x-track-ga-click>Gaming Monitors</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-graphics-cards" aria-label="Graphics Cards"
|
|
x-track-ga-click>Graphics Cards</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-headphones" aria-label="Headphones"
|
|
x-track-ga-click>Headphones</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-keyboards" aria-label="Keyboards"
|
|
x-track-ga-click>Keyboards</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-laptops" aria-label="Laptops"
|
|
x-track-ga-click>Laptops</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-laptops-for-college-students" aria-label="Laptops For College Students"
|
|
x-track-ga-click>Laptops For College Students</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-media-streaming-devices" aria-label="Media Streaming Devices"
|
|
x-track-ga-click>Media Streaming Devices</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-password-managers" aria-label="Password Managers"
|
|
x-track-ga-click>Password Managers</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-photo-printers" aria-label="Photo Printers"
|
|
x-track-ga-click>Photo Printers</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-robot-vacuums" aria-label="Robot Vacuums"
|
|
x-track-ga-click>Robot Vacuums</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-smart-thermostats" aria-label="Smart Thermostats"
|
|
x-track-ga-click>Smart Thermostats</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-smartwatches" aria-label="Smartwatches"
|
|
x-track-ga-click>Smartwatches</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-soundbars" aria-label="Soundbars"
|
|
x-track-ga-click>Soundbars</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-tablets" aria-label="Tablets"
|
|
x-track-ga-click>Tablets</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-tax-software" aria-label="Tax Software"
|
|
x-track-ga-click>Tax Software</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-tvs" aria-label="TVs"
|
|
x-track-ga-click>TVs</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-video-editing-software" aria-label="Video Editing Software"
|
|
x-track-ga-click>Video Editing Software</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-vpn-services" aria-label="VPN Services"
|
|
x-track-ga-click>VPN Services</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-android-vpns" aria-label="VPNs for Android"
|
|
x-track-ga-click>VPNs for Android</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-iphone-vpns" aria-label="VPNs for iPhones"
|
|
x-track-ga-click>VPNs for iPhones</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-mac-vpns" aria-label="VPNs for Mac"
|
|
x-track-ga-click>VPNs for Mac</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-vpns-for-pornhub" aria-label="VPNs for Pornhub"
|
|
x-track-ga-click>VPNs for Pornhub</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/best-vpns-for-tiktok" aria-label="VPNs for TikTok"
|
|
x-track-ga-click>VPNs for TikTok</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Best_Products"
|
|
data-item="Link" href="/picks/the-best-vr-headsets" aria-label="VR Headsets"
|
|
x-track-ga-click>VR Headsets</a></li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
<section aria-label="Popular Reviews Links" x-data="{ open: isDesktop }" x-init="$watch('isDesktop', () => open = isDesktop)">
|
|
|
|
<template x-if="!isDesktop">
|
|
<button class="group flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
for="popular-reviews" aria-label="Popular Reviews Menu Toggle"
|
|
aria-haspopup="true" aria-controls="menu" :class="{ 'text-red-400': open }"
|
|
:aria-expanded="open" @click="open = !open">
|
|
<h3
|
|
class="font-stretch-ultra-condensed text-left text-xl font-semibold uppercase transition-all">
|
|
Popular Reviews</h3>
|
|
<span class="transition-all"
|
|
:class="{ 'rotate-180 group-hover:text-red-400': !open }"><svg class="inline-block size-5 fill-current" aria-hidden="true" data-prefix="fal" data-icon="chevron-up" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m4.465 366.475 7.07 7.071c4.686 4.686 12.284 4.686 16.971 0L224 178.053l195.494 195.493c4.686 4.686 12.284 4.686 16.971 0l7.07-7.071c4.686-4.686 4.686-12.284 0-16.97l-211.05-211.051c-4.686-4.686-12.284-4.686-16.971 0L4.465 349.505c-4.687 4.686-4.687 12.284 0 16.97z"/></svg></span>
|
|
</button>
|
|
</template>
|
|
|
|
|
|
<template x-if="isDesktop">
|
|
<a class="mb-6 flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews" data-item="Link"
|
|
href="/reviews" aria-label="Popular Reviews" x-track-ga-click>
|
|
<h3
|
|
class="font-stretch-ultra-condensed md:font-stretch-normal text-xl font-semibold uppercase md:text-3xl">
|
|
Popular Reviews</h3>
|
|
<hr class="flex-1 border-t border-gray-700">
|
|
</a>
|
|
</template>
|
|
|
|
<div id="popular-reviews" name="popular-reviews" role="menu"
|
|
aria-label="Popular Reviews Menu" aria-orientation="vertical" :aria-hidden="!open"
|
|
class="grid grid-cols-1 gap-10 sm:grid-cols-2 lg:grid-cols-5" x-collapse x-cloak x-show="open">
|
|
<ul class="space-y-5 mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/apple-macbook-neo" aria-label="Apple MacBook Neo Review"
|
|
x-track-ga-click>Apple MacBook Neo Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/dell-xps-14-2026" aria-label="Dell XPS 14 (2026) Review"
|
|
x-track-ga-click>Dell XPS 14 (2026) Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/freshbooks" aria-label="FreshBooks Review"
|
|
x-track-ga-click>FreshBooks Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/hr-block" aria-label="H&R Block 2025 Review"
|
|
x-track-ga-click>H&R Block 2025 Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/hbo-max" aria-label="HBO Max Review"
|
|
x-track-ga-click>HBO Max Review</a></li>
|
|
</ul>
|
|
<ul class="space-y-5 sm:mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/incogni" aria-label="Incogni Review"
|
|
x-track-ga-click>Incogni Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/intuit-turbotax" aria-label="Intuit TurboTax Review"
|
|
x-track-ga-click>Intuit TurboTax Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/lenovo-legion-go" aria-label="Lenovo Legion Go Review"
|
|
x-track-ga-click>Lenovo Legion Go Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/mcafee-antivirus" aria-label="McAfee Antivirus Review"
|
|
x-track-ga-click>McAfee Antivirus Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/meta-ray-ban-display" aria-label="Meta Ray-Ban Display Review"
|
|
x-track-ga-click>Meta Ray-Ban Display Review</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/nordvpn" aria-label="NordVPN Review"
|
|
x-track-ga-click>NordVPN Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/nvidia-geforce-rtx-5090-founders-edition" aria-label="Nvidia GeForce RTX 5090 Review"
|
|
x-track-ga-click>Nvidia GeForce RTX 5090 Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/perplexity" aria-label="Perplexity Review"
|
|
x-track-ga-click>Perplexity Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/protonvpn" aria-label="Proton VPN Review"
|
|
x-track-ga-click>Proton VPN Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/samsung-galaxy-s26-ultra" aria-label="Samsung Galaxy S26 Ultra Review"
|
|
x-track-ga-click>Samsung Galaxy S26 Ultra Review</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/samsung-galaxy-watch-7" aria-label="Samsung Galaxy Watch 7 Review"
|
|
x-track-ga-click>Samsung Galaxy Watch 7 Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/simplisafe-home-security-system" aria-label="SimpliSafe Home Security System Review"
|
|
x-track-ga-click>SimpliSafe Home Security System Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/starlink" aria-label="Starlink Review"
|
|
x-track-ga-click>Starlink Review</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Reviews"
|
|
data-item="Link" href="/reviews/surfshark-vpn" aria-label="Surfshark VPN Review"
|
|
x-track-ga-click>Surfshark VPN Review</a></li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
<section aria-label="Popular Product Comparisons Links" x-data="{ open: isDesktop }" x-init="$watch('isDesktop', () => open = isDesktop)">
|
|
|
|
<template x-if="!isDesktop">
|
|
<button class="group flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
for="popular-product-comparisons" aria-label="Popular Product Comparisons Menu Toggle"
|
|
aria-haspopup="true" aria-controls="menu" :class="{ 'text-red-400': open }"
|
|
:aria-expanded="open" @click="open = !open">
|
|
<h3
|
|
class="font-stretch-ultra-condensed text-left text-xl font-semibold uppercase transition-all">
|
|
Popular Product Comparisons</h3>
|
|
<span class="transition-all"
|
|
:class="{ 'rotate-180 group-hover:text-red-400': !open }"><svg class="inline-block size-5 fill-current" aria-hidden="true" data-prefix="fal" data-icon="chevron-up" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m4.465 366.475 7.07 7.071c4.686 4.686 12.284 4.686 16.971 0L224 178.053l195.494 195.493c4.686 4.686 12.284 4.686 16.971 0l7.07-7.071c4.686-4.686 4.686-12.284 0-16.97l-211.05-211.051c-4.686-4.686-12.284-4.686-16.971 0L4.465 349.505c-4.687 4.686-4.687 12.284 0 16.97z"/></svg></span>
|
|
</button>
|
|
</template>
|
|
|
|
|
|
<template x-if="isDesktop">
|
|
<a class="mb-6 flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons" data-item="Link"
|
|
href="/comparisons" aria-label="Popular Product Comparisons" x-track-ga-click>
|
|
<h3
|
|
class="font-stretch-ultra-condensed md:font-stretch-normal text-xl font-semibold uppercase md:text-3xl">
|
|
Popular Product Comparisons</h3>
|
|
<hr class="flex-1 border-t border-gray-700">
|
|
</a>
|
|
</template>
|
|
|
|
<div id="popular-product-comparisons" name="popular-product-comparisons" role="menu"
|
|
aria-label="Popular Product Comparisons Menu" aria-orientation="vertical" :aria-hidden="!open"
|
|
class="grid grid-cols-1 gap-10 sm:grid-cols-2 lg:grid-cols-5" x-collapse x-cloak x-show="open">
|
|
<ul class="space-y-5 mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/comparisons/apple-airpods-pro-3-vs-pro-2-is-it-worth-the-upgrade" aria-label="Apple AirPods Pro 3 vs. Pro 2"
|
|
x-track-ga-click>Apple AirPods Pro 3 vs. Pro 2</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/comparisons/iphone-17-vs-iphone-16-the-choice-is-clear" aria-label="Apple iPhone 17 vs. iPhone 16"
|
|
x-track-ga-click>Apple iPhone 17 vs. iPhone 16</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/comparisons/apple-watch-series-10-vs-series-9" aria-label="Apple Watch Series 10 vs. Series 9"
|
|
x-track-ga-click>Apple Watch Series 10 vs. Series 9</a></li>
|
|
</ul>
|
|
<ul class="space-y-5 sm:mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/comparisons/freshbooks-vs-quickbooks-which-is-best-for-your-small-business" aria-label="FreshBooks vs. QuickBooks"
|
|
x-track-ga-click>FreshBooks vs. QuickBooks</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/news/macos-vs-windows-which-os-really-is-the-best" aria-label="Mac vs. Windows"
|
|
x-track-ga-click>Mac vs. Windows</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/comparisons/meta-quest-3-vs-meta-quest-3s-whats-the-difference" aria-label="Meta Quest 3 vs. 3S"
|
|
x-track-ga-click>Meta Quest 3 vs. 3S</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/news/nest-vs-ring-which-video-doorbell-is-right-for-you" aria-label="Nest vs. Ring"
|
|
x-track-ga-click>Nest vs. Ring</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/comparisons/oled-vs-qled-whats-the-difference" aria-label="OLED vs. QLED"
|
|
x-track-ga-click>OLED vs. QLED</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/comparisons/proton-vpn-vs-nordvpn-which-service-is-better" aria-label="Proton VPN vs. NordVPN"
|
|
x-track-ga-click>Proton VPN vs. NordVPN</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/comparisons/samsung-galaxy-s26-vs-apple-iphone-17-which-phone-titan-takes-the-crown" aria-label="Samsung Galaxy S26 vs. Apple iPhone 17"
|
|
x-track-ga-click>Samsung Galaxy S26 vs. Apple iPhone 17</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/comparisons/galaxy-s26-vs-s26-plus-vs-s26-ultra-what-to-know-samsungs-flagship-phones" aria-label="Samsung Galaxy S26 vs. S26+ vs. S26 Ultra"
|
|
x-track-ga-click>Samsung Galaxy S26 vs. S26+ vs. S26 Ultra</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/comparisons/sony-playstation-5-vs-ps5-pro-should-you-upgrade" aria-label="Sony PlayStation 5 vs. PlayStation 5 Pro"
|
|
x-track-ga-click>Sony PlayStation 5 vs. PlayStation 5 Pro</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/comparisons/ssd-vs-hdd-whats-the-difference" aria-label="SSD vs. Hard Drive"
|
|
x-track-ga-click>SSD vs. Hard Drive</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/how-to/wi-fi-range-extender-vs-mesh-network-whats-the-difference" aria-label="Wi-Fi Extender vs. Mesh"
|
|
x-track-ga-click>Wi-Fi Extender vs. Mesh</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Product_Comparisons"
|
|
data-item="Link" href="/comparisons/windows-11-home-vs-pro" aria-label="Windows 11 Home vs. Pro"
|
|
x-track-ga-click>Windows 11 Home vs. Pro</a></li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
<section aria-label="Top Explainers Links" x-data="{ open: isDesktop }" x-init="$watch('isDesktop', () => open = isDesktop)">
|
|
|
|
<template x-if="!isDesktop">
|
|
<button class="group flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
for="top-explainers" aria-label="Top Explainers Menu Toggle"
|
|
aria-haspopup="true" aria-controls="menu" :class="{ 'text-red-400': open }"
|
|
:aria-expanded="open" @click="open = !open">
|
|
<h3
|
|
class="font-stretch-ultra-condensed text-left text-xl font-semibold uppercase transition-all">
|
|
Top Explainers</h3>
|
|
<span class="transition-all"
|
|
:class="{ 'rotate-180 group-hover:text-red-400': !open }"><svg class="inline-block size-5 fill-current" aria-hidden="true" data-prefix="fal" data-icon="chevron-up" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m4.465 366.475 7.07 7.071c4.686 4.686 12.284 4.686 16.971 0L224 178.053l195.494 195.493c4.686 4.686 12.284 4.686 16.971 0l7.07-7.071c4.686-4.686 4.686-12.284 0-16.97l-211.05-211.051c-4.686-4.686-12.284-4.686-16.971 0L4.465 349.505c-4.687 4.686-4.687 12.284 0 16.97z"/></svg></span>
|
|
</button>
|
|
</template>
|
|
|
|
|
|
<template x-if="isDesktop">
|
|
<a class="mb-6 flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers" data-item="Link"
|
|
href="/how-to" aria-label="Top Explainers" x-track-ga-click>
|
|
<h3
|
|
class="font-stretch-ultra-condensed md:font-stretch-normal text-xl font-semibold uppercase md:text-3xl">
|
|
Top Explainers</h3>
|
|
<hr class="flex-1 border-t border-gray-700">
|
|
</a>
|
|
</template>
|
|
|
|
<div id="top-explainers" name="top-explainers" role="menu"
|
|
aria-label="Top Explainers Menu" aria-orientation="vertical" :aria-hidden="!open"
|
|
class="grid grid-cols-1 gap-10 sm:grid-cols-2 lg:grid-cols-5" x-collapse x-cloak x-show="open">
|
|
<ul class="space-y-5 mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/how-to/apple-airtag-tips" aria-label="How Do AirTags Work?"
|
|
x-track-ga-click>How Do AirTags Work?</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/explainers/what-is-starlink-spacex-satellite-internet-service-explained" aria-label="How Does Starlink Work?"
|
|
x-track-ga-click>How Does Starlink Work?</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/explainers/how-to-organize-tax-documents" aria-label="How to Organize Tax Documents"
|
|
x-track-ga-click>How to Organize Tax Documents</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/how-to/how-to-set-up-and-use-a-vpn" aria-label="How to Set Up a VPN"
|
|
x-track-ga-click>How to Set Up a VPN</a></li>
|
|
</ul>
|
|
<ul class="space-y-5 sm:mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/how-to/how-to-unblock-netflix-with-a-vpn" aria-label="How to Unblock Netflix With a VPN"
|
|
x-track-ga-click>How to Unblock Netflix With a VPN</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/how-to/how-to-master-google-password-manager" aria-label="Is Google Password Manager Safe?"
|
|
x-track-ga-click>Is Google Password Manager Safe?</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/explainers/what-is-a-proxy-server-and-do-you-need-one" aria-label="What Is a Proxy Server?"
|
|
x-track-ga-click>What Is a Proxy Server?</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/explainers/what-is-agentic-ai-white-collar-robots-are-here-for-better-or-worse" aria-label="What Is Agentic AI?"
|
|
x-track-ga-click>What Is Agentic AI?</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/explainers/what-is-an-ai-pc" aria-label="What Is an AI PC?"
|
|
x-track-ga-click>What Is an AI PC?</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/explainers/what-is-an-esim-card" aria-label="What Is an eSim Card?"
|
|
x-track-ga-click>What Is an eSim Card?</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/explainers/what-is-discord-and-how-do-you-use-it" aria-label="What Is Discord?"
|
|
x-track-ga-click>What Is Discord?</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/explainers/what-is-microsoft-copilot" aria-label="What Is Microsoft Copilot?"
|
|
x-track-ga-click>What Is Microsoft Copilot?</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/picks/chrome-edge-firefox-opera-or-safari-which-browser-is-best" aria-label="What Is the Best Browser?"
|
|
x-track-ga-click>What Is the Best Browser?</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/how-to/what-is-usb-c-an-explainer" aria-label="What Is USB-C?"
|
|
x-track-ga-click>What Is USB-C?</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/news/what-is-wi-fi-6e" aria-label="What Is Wi-Fi 6E?"
|
|
x-track-ga-click>What Is Wi-Fi 6E?</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/how-to/wi-fi-7-explained-everything-to-know-about-tomorrows-fastest-wireless-spec" aria-label="What Is Wi-Fi 7?"
|
|
x-track-ga-click>What Is Wi-Fi 7?</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/news/what-to-watch-this-weekend" aria-label="What To Stream This Weekend"
|
|
x-track-ga-click>What To Stream This Weekend</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Top_Explainers"
|
|
data-item="Link" href="/how-to/what-is-a-vpn-and-why-you-need-one" aria-label="Why You Need a VPN"
|
|
x-track-ga-click>Why You Need a VPN</a></li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
<section aria-label="Popular Brands Links" x-data="{ open: isDesktop }" x-init="$watch('isDesktop', () => open = isDesktop)">
|
|
|
|
<template x-if="!isDesktop">
|
|
<button class="group flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
for="popular-brands" aria-label="Popular Brands Menu Toggle"
|
|
aria-haspopup="true" aria-controls="menu" :class="{ 'text-red-400': open }"
|
|
:aria-expanded="open" @click="open = !open">
|
|
<h3
|
|
class="font-stretch-ultra-condensed text-left text-xl font-semibold uppercase transition-all">
|
|
Popular Brands</h3>
|
|
<span class="transition-all"
|
|
:class="{ 'rotate-180 group-hover:text-red-400': !open }"><svg class="inline-block size-5 fill-current" aria-hidden="true" data-prefix="fal" data-icon="chevron-up" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m4.465 366.475 7.07 7.071c4.686 4.686 12.284 4.686 16.971 0L224 178.053l195.494 195.493c4.686 4.686 12.284 4.686 16.971 0l7.07-7.071c4.686-4.686 4.686-12.284 0-16.97l-211.05-211.051c-4.686-4.686-12.284-4.686-16.971 0L4.465 349.505c-4.687 4.686-4.687 12.284 0 16.97z"/></svg></span>
|
|
</button>
|
|
</template>
|
|
|
|
|
|
<template x-if="isDesktop">
|
|
<a class="mb-6 flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands" data-item="Link"
|
|
href="/brands" aria-label="Popular Brands" x-track-ga-click>
|
|
<h3
|
|
class="font-stretch-ultra-condensed md:font-stretch-normal text-xl font-semibold uppercase md:text-3xl">
|
|
Popular Brands</h3>
|
|
<hr class="flex-1 border-t border-gray-700">
|
|
</a>
|
|
</template>
|
|
|
|
<div id="popular-brands" name="popular-brands" role="menu"
|
|
aria-label="Popular Brands Menu" aria-orientation="vertical" :aria-hidden="!open"
|
|
class="grid grid-cols-1 gap-10 sm:grid-cols-2 lg:grid-cols-5" x-collapse x-cloak x-show="open">
|
|
<ul class="space-y-5 mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/acer" aria-label="Acer"
|
|
x-track-ga-click>Acer</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/adobe" aria-label="Adobe"
|
|
x-track-ga-click>Adobe</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/amd" aria-label="AMD"
|
|
x-track-ga-click>AMD</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/apple" aria-label="Apple"
|
|
x-track-ga-click>Apple</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/asus" aria-label="Asus"
|
|
x-track-ga-click>Asus</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/bitdefender" aria-label="Bitdefender"
|
|
x-track-ga-click>Bitdefender</a></li>
|
|
</ul>
|
|
<ul class="space-y-5 sm:mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/dell" aria-label="Dell"
|
|
x-track-ga-click>Dell</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/facebook" aria-label="Facebook"
|
|
x-track-ga-click>Facebook</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/google" aria-label="Google"
|
|
x-track-ga-click>Google</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/hp" aria-label="HP"
|
|
x-track-ga-click>HP</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/instagram" aria-label="Instagram"
|
|
x-track-ga-click>Instagram</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/intel" aria-label="Intel"
|
|
x-track-ga-click>Intel</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/lenovo" aria-label="Lenovo"
|
|
x-track-ga-click>Lenovo</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/lg" aria-label="LG"
|
|
x-track-ga-click>LG</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/microsoft" aria-label="Microsoft"
|
|
x-track-ga-click>Microsoft</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/motorola" aria-label="Motorola"
|
|
x-track-ga-click>Motorola</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/msi" aria-label="MSI"
|
|
x-track-ga-click>MSI</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/netflix" aria-label="Netflix"
|
|
x-track-ga-click>Netflix</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/nordvpn" aria-label="NordVPN"
|
|
x-track-ga-click>NordVPN</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/nvidia" aria-label="Nvidia"
|
|
x-track-ga-click>Nvidia</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/openai" aria-label="OpenAI"
|
|
x-track-ga-click>OpenAI</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/qualcomm" aria-label="Qualcomm"
|
|
x-track-ga-click>Qualcomm</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/samsung" aria-label="Samsung"
|
|
x-track-ga-click>Samsung</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/sony" aria-label="Sony"
|
|
x-track-ga-click>Sony</a></li>
|
|
</ul>
|
|
<ul class="space-y-5">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/spacex" aria-label="SpaceX"
|
|
x-track-ga-click>SpaceX</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/tesla" aria-label="Tesla"
|
|
x-track-ga-click>Tesla</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Popular_Brands"
|
|
data-item="Link" href="/brands/twitter" aria-label="X/Twitter"
|
|
x-track-ga-click>X/Twitter</a></li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
<section class="grid grid-cols-1 gap-10 md:grid-cols-2 md:gap-16">
|
|
<section aria-label="Series Links" x-data="{ open: isDesktop }" x-init="$watch('isDesktop', () => open = isDesktop)">
|
|
|
|
<template x-if="!isDesktop">
|
|
<button class="group flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
for="series" aria-label="Series Menu Toggle"
|
|
aria-haspopup="true" aria-controls="menu" :class="{ 'text-red-400': open }"
|
|
:aria-expanded="open" @click="open = !open">
|
|
<h3
|
|
class="font-stretch-ultra-condensed text-left text-xl font-semibold uppercase transition-all">
|
|
Series</h3>
|
|
<span class="transition-all"
|
|
:class="{ 'rotate-180 group-hover:text-red-400': !open }"><svg class="inline-block size-5 fill-current" aria-hidden="true" data-prefix="fal" data-icon="chevron-up" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m4.465 366.475 7.07 7.071c4.686 4.686 12.284 4.686 16.971 0L224 178.053l195.494 195.493c4.686 4.686 12.284 4.686 16.971 0l7.07-7.071c4.686-4.686 4.686-12.284 0-16.97l-211.05-211.051c-4.686-4.686-12.284-4.686-16.971 0L4.465 349.505c-4.687 4.686-4.687 12.284 0 16.97z"/></svg></span>
|
|
</button>
|
|
</template>
|
|
|
|
|
|
<template x-if="isDesktop">
|
|
<a class="mb-6 flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series" data-item="Link"
|
|
href="/series" aria-label="Series" x-track-ga-click>
|
|
<h3
|
|
class="font-stretch-ultra-condensed md:font-stretch-normal text-xl font-semibold uppercase md:text-3xl">
|
|
Series</h3>
|
|
<hr class="flex-1 border-t border-gray-700">
|
|
</a>
|
|
</template>
|
|
|
|
<div id="series" name="series" role="menu"
|
|
aria-label="Series Menu" aria-orientation="vertical" :aria-hidden="!open"
|
|
class="grid grid-cols-1 gap-10 sm:grid-cols-2" x-collapse x-cloak x-show="open">
|
|
<ul class="space-y-5 mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/all-about-artificial-intelligence" aria-label="All About AI"
|
|
x-track-ga-click>All About AI</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/android" aria-label="Android"
|
|
x-track-ga-click>Android</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/apple" aria-label="Apple"
|
|
x-track-ga-click>Apple</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/back-to-school-tech" aria-label="Back to School Tech"
|
|
x-track-ga-click>Back to School Tech</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/fastest-isps" aria-label="Best ISPs"
|
|
x-track-ga-click>Best ISPs</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/connected-traveler" aria-label="Connected Traveler"
|
|
x-track-ga-click>Connected Traveler</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/get-organized" aria-label="Get Organized"
|
|
x-track-ga-click>Get Organized</a></li>
|
|
</ul>
|
|
<ul class="space-y-5 sm:mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/holiday-gift-guide" aria-label="Holiday Gift Guide"
|
|
x-track-ga-click>Holiday Gift Guide</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/nextcar" aria-label="NextCar"
|
|
x-track-ga-click>NextCar</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/readers-choice" aria-label="Readers' Choice"
|
|
x-track-ga-click>Readers' Choice</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/rigged-up" aria-label="Rigged Up"
|
|
x-track-ga-click>Rigged Up</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/securitywatch" aria-label="SecurityWatch"
|
|
x-track-ga-click>SecurityWatch</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/weekend-project" aria-label="Weekend Project"
|
|
x-track-ga-click>Weekend Project</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Series"
|
|
data-item="Link" href="/series/windows-11" aria-label="Windows 11"
|
|
x-track-ga-click>Windows 11</a></li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
<section aria-label="Events Links" x-data="{ open: isDesktop }" x-init="$watch('isDesktop', () => open = isDesktop)">
|
|
|
|
<template x-if="!isDesktop">
|
|
<button class="group flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
for="events" aria-label="Events Menu Toggle"
|
|
aria-haspopup="true" aria-controls="menu" :class="{ 'text-red-400': open }"
|
|
:aria-expanded="open" @click="open = !open">
|
|
<h3
|
|
class="font-stretch-ultra-condensed text-left text-xl font-semibold uppercase transition-all">
|
|
Events</h3>
|
|
<span class="transition-all"
|
|
:class="{ 'rotate-180 group-hover:text-red-400': !open }"><svg class="inline-block size-5 fill-current" aria-hidden="true" data-prefix="fal" data-icon="chevron-up" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m4.465 366.475 7.07 7.071c4.686 4.686 12.284 4.686 16.971 0L224 178.053l195.494 195.493c4.686 4.686 12.284 4.686 16.971 0l7.07-7.071c4.686-4.686 4.686-12.284 0-16.97l-211.05-211.051c-4.686-4.686-12.284-4.686-16.971 0L4.465 349.505c-4.687 4.686-4.687 12.284 0 16.97z"/></svg></span>
|
|
</button>
|
|
</template>
|
|
|
|
|
|
<template x-if="isDesktop">
|
|
<a class="mb-6 flex w-full items-center justify-between gap-x-4 [&>*]:!m-0 [&>*]:w-fit"
|
|
data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Events" data-item="Link"
|
|
href="/events" aria-label="Events" x-track-ga-click>
|
|
<h3
|
|
class="font-stretch-ultra-condensed md:font-stretch-normal text-xl font-semibold uppercase md:text-3xl">
|
|
Events</h3>
|
|
<hr class="flex-1 border-t border-gray-700">
|
|
</a>
|
|
</template>
|
|
|
|
<div id="events" name="events" role="menu"
|
|
aria-label="Events Menu" aria-orientation="vertical" :aria-hidden="!open"
|
|
class="grid grid-cols-1 gap-10 sm:grid-cols-2" x-collapse x-cloak x-show="open">
|
|
<ul class="space-y-5 mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Events"
|
|
data-item="Link" href="/events/amazon-prime-day" aria-label="Amazon Prime Day"
|
|
x-track-ga-click>Amazon Prime Day</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Events"
|
|
data-item="Link" href="/events/apple-wwdc" aria-label="Apple WWDC"
|
|
x-track-ga-click>Apple WWDC</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Events"
|
|
data-item="Link" href="/events/black-friday" aria-label="Black Friday"
|
|
x-track-ga-click>Black Friday</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Events"
|
|
data-item="Link" href="/events/black-hat" aria-label="Black Hat"
|
|
x-track-ga-click>Black Hat</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Events"
|
|
data-item="Link" href="/events/ces" aria-label="CES"
|
|
x-track-ga-click>CES</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Events"
|
|
data-item="Link" href="/events/computex" aria-label="Computex"
|
|
x-track-ga-click>Computex</a></li>
|
|
</ul>
|
|
<ul class="space-y-5 sm:mt-5 md:mt-0">
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Events"
|
|
data-item="Link" href="/events/cyber-monday" aria-label="Cyber Monday"
|
|
x-track-ga-click>Cyber Monday</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Events"
|
|
data-item="Link" href="/events/ifa" aria-label="IFA"
|
|
x-track-ga-click>IFA</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Events"
|
|
data-item="Link" href="/events/mwc" aria-label="Mobile World Congress"
|
|
x-track-ga-click>Mobile World Congress</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Events"
|
|
data-item="Link" href="/events/rsac" aria-label="RSAC"
|
|
x-track-ga-click>RSAC</a></li>
|
|
<li><a data-module="Global_Extender_Footer"
|
|
data-element="Link_Group_Events"
|
|
data-item="Link" href="/events/samsung-unpacked" aria-label="Samsung Unpacked"
|
|
x-track-ga-click>Samsung Unpacked</a></li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
</div>
|
|
</section>
|
|
<section class="bg-gray-700 text-white">
|
|
<div class="container">
|
|
<nav class="flex flex-col border-b border-gray-600 py-16 text-center lg:text-left"
|
|
aria-label="Footer Main Menu">
|
|
<ul class="flex flex-grow flex-wrap justify-center text-sm font-bold md:flex-nowrap">
|
|
<li class="w-1/2 py-2 md:mr-4 md:w-auto lg:mr-8"><a data-module="footer" data-item="footer-nav"
|
|
data-element="footer-nav-link" data-position="1" href="https://www.pcmag.com/reviews"
|
|
aria-label="PCMag Reviews" x-track-ga-click>Reviews</a></li>
|
|
<li class="w-1/2 py-2 md:mr-4 md:w-auto lg:mr-8"><a data-module="footer" data-item="footer-nav"
|
|
data-element="footer-nav-link" data-position="2" href="https://www.pcmag.com/picks"
|
|
aria-label="PCMag Best Products" x-track-ga-click>Best Products</a></li>
|
|
<li class="w-1/2 py-2 md:mr-4 md:w-auto lg:mr-8"><a data-module="footer" data-item="footer-nav"
|
|
data-element="footer-nav-link" data-position="3" href="https://www.pcmag.com/categories"
|
|
aria-label="PCMag Categories" x-track-ga-click>Categories</a></li>
|
|
<li class="w-1/2 py-2 md:mr-4 md:w-auto lg:mr-8"><a data-module="footer" data-item="footer-nav"
|
|
data-element="footer-nav-link" data-position="4" href="https://www.pcmag.com/brands"
|
|
aria-label="PCMag Brands" x-track-ga-click>Brands</a></li>
|
|
<li class="w-1/2 py-2 md:mr-4 md:w-auto lg:mr-8"><a data-module="footer" data-item="footer-nav"
|
|
data-element="footer-nav-link" data-position="5" href="https://www.pcmag.com/events"
|
|
aria-label="PCMag Events" x-track-ga-click>Events</a></li>
|
|
<li class="w-1/2 py-2 md:mr-4 md:w-auto lg:mr-8"><a data-module="footer" data-item="footer-nav"
|
|
data-element="footer-nav-link" data-position="6" href="https://www.pcmag.com/series"
|
|
aria-label="PCMag Series" x-track-ga-click>Series</a></li>
|
|
<li class="w-1/2 py-2 md:mr-4 md:w-auto lg:mr-8"><a data-module="footer" data-item="footer-nav"
|
|
data-element="footer-nav-link" data-position="7" href="https://www.pcmag.com/newsletter_manage"
|
|
aria-label="Newsletters" x-track-ga-click>Newsletters</a></li>
|
|
<li class="w-1/2 py-2 md:mr-4 md:w-auto lg:mr-8"><a data-module="footer" data-item="footer-nav"
|
|
data-element="footer-nav-link" data-position="8" href="https://www.pcmag.com/encyclopedia"
|
|
aria-label="PCMag Encyclopedia" x-track-ga-click>Encyclopedia</a></li>
|
|
|
|
<li class="w-1/2 py-2 md:mr-8 md:w-auto"><a data-module="footer" data-item="footer-nav"
|
|
data-element="footer-nav-link" data-position="9" href="https://www.pcmag.com/sitemap"
|
|
aria-label="PCMag Sitemap" x-track-ga-click>Sitemap</a></li>
|
|
</ul>
|
|
<ul class="flex flex-grow flex-wrap justify-center text-sm font-bold">
|
|
<li class="w-1/2 py-2 md:mr-8 md:w-auto">
|
|
<a data-module="footer" data-item="footer-nav" data-element="footer-nav-link"
|
|
data-position="9" href="https://www.pcmag.com/about"
|
|
aria-label="Learn More About PCMag" x-track-ga-click>About PCMag</a>
|
|
</li>
|
|
<li class="w-1/2 py-2 md:mr-8 md:w-auto">
|
|
<a data-module="footer" data-item="footer-nav" data-element="footer-nav-link"
|
|
data-position="10" href="https://www.j2global.com/careers/" title="(Opens in a new tab)"
|
|
aria-label="PCMag Careers" target="_blank" x-track-ga-click>Careers</a>
|
|
</li>
|
|
<li class="w-1/2 py-2 md:mr-8 md:w-auto">
|
|
<a data-module="footer" data-item="footer-nav" data-element="footer-nav-link"
|
|
data-position="11"
|
|
href="https://www.pcmag.com/about/contact-pcmag"
|
|
aria-label="Contact PCMag" x-track-ga-click>Contact Us</a>
|
|
</li>
|
|
<li class="w-1/2 py-2 md:mr-8 md:w-auto">
|
|
<a data-module="footer" data-item="footer-nav" data-element="footer-nav-link"
|
|
data-position="12" href="https://www.pcmag.com/press" aria-label="PCMag Press Center"
|
|
x-track-ga-click>Press Center</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
<nav class="flex flex-col justify-center gap-y-8 border-b border-gray-600 pb-8 pt-12 md:flex-row md:gap-10 md:pt-8"
|
|
aria-label="Ziff Davis Brands">
|
|
<div
|
|
class="flex justify-center border-b border-gray-600 pb-12 md:items-center md:border-b-0 md:border-r md:pb-0 md:pr-10">
|
|
<a class="text-gray-400 hover:text-gray-600" data-module="footer" data-item="zmg-properties"
|
|
data-element="zmg-properties-link" data-position="1" data-title="Ziff Davis Logo"
|
|
href="https://www.ziffdavis.com" title="(Opens in a new tab)" aria-label="Ziff Davis Logo"
|
|
target="_blank" x-track-ga-click>
|
|
<span class="hidden">Ziff Davis Logo</span>
|
|
<svg class="w-24 h-12 inline-block" width="54" height="32" viewBox="0 0 54 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<g clip-path="url(#clip0_836_708)">
|
|
<path d="M18.4171 2.8316H15.0176V0H18.4171V2.8316ZM15.0176 4.76872H18.4171V17.2823H15.0176V4.76872Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M21.1296 7.06802H19.0898V4.76872H21.1296V3.79925C21.1296 1.57311 22.4876 0 25.2632 0C25.8618 0 26.4838 0.0731679 27.057 0.0969475V2.65783C26.6441 2.60884 26.2287 2.58441 25.8129 2.58466C24.8799 2.58466 24.5218 2.97245 24.5218 4.01326V4.76323H26.8726V7.06802H24.5218V17.2823H21.1296V7.06802Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M27.9266 7.06802H25.8923V4.76872H27.9266V3.79925C27.9266 1.57311 29.2901 0 32.0657 0C32.6643 0 33.2863 0.0731679 33.8595 0.0969475V2.65783C33.4466 2.60884 33.0312 2.58441 32.6154 2.58466C31.6824 2.58466 31.3243 2.97245 31.3243 4.01326V4.76323H33.6751V7.06802H31.3243V17.2823H27.9266V7.06802Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M5.64533 13.4464L5.11189 14.0867H9.17866C10.039 14.0771 10.8902 14.2647 11.6686 14.6354C12.1058 14.8496 12.5121 15.1228 12.8766 15.4476C13.4481 15.9598 13.9076 16.5872 14.2255 17.2896H0.112061V14.2769L0.801007 13.4464L1.34348 12.7934L9.2745 3.19561H0.831747V0H14.2761V2.99806L6.18419 12.7879L5.64533 13.4464Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M14.542 18.8608H10.2022C11.1371 19.8559 11.5005 21.3833 11.5005 23.2802C11.5005 27.1032 9.41382 28.4586 7.23849 28.4586H3.88779V18.8608H0.128418V31.6543H7.49888C12.7121 31.6543 15.2509 27.9263 15.2509 22.918C15.2769 21.5319 15.0362 20.1539 14.542 18.8608Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M26.8762 28.8721V22.3601C26.8762 19.856 24.8202 19.0566 22.7172 18.8609C22.2965 18.8202 21.874 18.8013 21.4514 18.8042C21.399 18.8014 21.3465 18.8014 21.2941 18.8042C18.5672 18.8353 15.8223 19.845 15.6342 22.9821H19.0319C19.1513 21.6248 19.965 21.0925 21.2814 21.0925C22.4785 21.0925 23.4821 21.334 23.4821 22.7918C23.6249 25.5942 15.3033 22.5449 15.2527 28.2374C15.2527 30.7982 17.0953 31.9854 19.4641 31.9854C20.9939 31.9854 22.5382 31.5738 23.6231 30.4379C23.6547 30.8497 23.7349 31.2562 23.8618 31.6488H27.3083C26.9955 31.1476 26.8762 30.0062 26.8762 28.8721ZM23.4803 26.8106C23.4803 27.5843 23.3862 29.6952 20.7281 29.6952C19.6323 29.6952 18.6468 29.3532 18.6468 28.0983C18.6468 26.8435 19.607 26.4521 20.6594 26.2527C21.7118 26.0533 22.9088 26.0368 23.4803 25.521V26.8106Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M35.2919 19.1389L32.6844 27.6849H32.6356L30.028 19.1389H26.4622L30.6989 31.6543H34.4782L38.6697 19.1389H35.2919Z"
|
|
fill="currentColor" />
|
|
<path d="M38.7383 19.139V31.6543H42.136V19.139H38.7383ZM38.7383 14.3721V17.2055H42.136V14.3721H38.7383Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M50.076 24.129C48.1646 23.6717 46.2226 23.4998 46.2226 22.2705C46.2226 21.2242 47.3509 21.1035 48.114 21.1035C49.3364 21.1035 50.34 21.4693 50.434 22.8028H53.6672C53.405 19.728 50.8915 18.8097 48.208 18.8097C45.5246 18.8097 42.8285 19.6219 42.8285 22.8175C42.8285 25.0491 44.7651 25.7021 46.7524 26.1576C49.1682 26.6643 50.604 27.0557 50.604 28.0984C50.604 29.302 49.3382 29.6953 48.3798 29.6953C47.0634 29.6953 45.7723 29.0624 45.7723 27.5844H42.5374C42.6567 30.897 45.483 31.9946 48.3527 31.9946C51.1537 31.9946 53.9999 30.93 53.9999 27.6392C53.9999 25.3143 52.0633 24.5863 50.076 24.129Z"
|
|
fill="currentColor" />
|
|
<path d="M18.3049 2.84075H14.9072V0.00915527H18.3049V2.84075ZM14.9072 4.77788H18.3049V17.2914H14.9072V4.77788Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M21.012 7.07718H18.9795V4.77788H21.012V3.81023C21.012 1.58227 22.3772 0.00915527 25.1511 0.00915527C25.7496 0.00915527 26.3716 0.0823232 26.9467 0.106103V2.66698C26.5338 2.618 26.1183 2.59357 25.7026 2.59381C24.7695 2.59381 24.4097 2.9816 24.4097 4.02242V4.77239H26.7604V7.07718H24.4097V17.2914H21.012V7.07718Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M27.8201 7.07718H25.7822V4.77788H27.8201V3.81023C27.8201 1.58227 29.1799 0.00915527 31.9538 0.00915527C32.5523 0.00915527 33.1744 0.0823232 33.7494 0.106103V2.66698C33.3365 2.618 32.9211 2.59357 32.5053 2.59381C31.5723 2.59381 31.2124 2.9816 31.2124 4.02242V4.77239H33.5632V7.07718H31.2124V17.2914H27.8201V7.07718Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M5.53508 13.4556L4.9926 14.0958H9.0666C9.92748 14.0863 10.7793 14.2739 11.5584 14.6446C11.9951 14.8594 12.4014 15.1325 12.7663 15.4567C13.3379 15.969 13.7974 16.5964 14.1153 17.2987H0V14.286L0.696179 13.4556L1.23866 12.8026L9.16244 3.20477H0.721495V0.00915527H14.1641V3.00721L6.07394 12.8026L5.53508 13.4556Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M14.439 18.87H10.0992C11.0323 19.8651 11.3957 21.3925 11.3957 23.2893C11.3957 27.1124 9.30899 28.4678 7.13547 28.4678H3.7703V18.87H0.0163574V31.6634H7.38682C12.6018 31.6634 15.1388 27.9355 15.1388 22.9272C15.1675 21.5417 14.9298 20.1638 14.439 18.87Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M26.7658 28.8849V22.373C26.7658 19.8688 24.7098 19.0694 22.6068 18.8737C22.1861 18.8332 21.7636 18.8143 21.341 18.817C21.2892 18.8142 21.2373 18.8142 21.1855 18.817C18.4587 18.8499 15.7137 19.8578 15.5257 22.9949H18.9216C19.0409 21.6395 19.8565 21.1072 21.1729 21.1072C22.3699 21.1072 23.3717 21.3468 23.3717 22.8047C23.5164 25.607 15.193 22.5577 15.1423 28.252C15.1423 30.8129 16.9849 31.9982 19.3556 31.9982C20.8836 31.9982 22.4296 31.5867 23.5146 30.4507C23.546 30.8626 23.6262 31.2691 23.7533 31.6617H27.1998C26.8852 31.1568 26.7658 30.0154 26.7658 28.8849ZM23.3681 26.8234C23.3681 27.5972 23.2741 29.7081 20.6177 29.7081C19.5201 29.7081 18.5364 29.366 18.5364 28.1112C18.5364 26.8563 19.4948 26.4649 20.549 26.2655C21.6032 26.0661 22.7985 26.0497 23.3681 25.543V26.8234Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M35.1814 19.1499L32.5739 27.6959H32.5214L29.9139 19.1499H26.3499L30.5866 31.6635H34.3659L38.552 19.1499H35.1814Z"
|
|
fill="currentColor" />
|
|
<path d="M38.6279 19.1498V31.6634H42.0256V19.1498H38.6279ZM38.6279 14.3811V17.2145H42.0256V14.3811H38.6279Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M49.9657 24.129C48.0544 23.6717 46.1105 23.5016 46.1105 22.2705C46.1105 21.2242 47.2389 21.1053 48.0038 21.1053C49.2261 21.1053 50.2279 21.4712 50.322 22.8028H53.5569C53.2929 19.7389 50.7849 18.8134 48.0978 18.8134C45.4107 18.8134 42.7146 19.631 42.7146 22.8266C42.7146 25.0582 44.6513 25.7113 46.6367 26.1667C49.0562 26.6752 50.4919 27.0612 50.4919 28.1075C50.4919 29.3111 49.2261 29.7044 48.2678 29.7044C46.9514 29.7044 45.6603 29.0715 45.6603 27.5935H42.4253C42.5446 30.9098 45.3709 32 48.2425 32C51.0434 32 53.8896 30.9355 53.8896 27.6447C53.8896 25.3235 51.953 24.5955 49.9657 24.129Z"
|
|
fill="currentColor" />
|
|
</g>
|
|
<defs>
|
|
<clipPath id="clip0_836_708">
|
|
<rect width="54" height="32" fill="white" />
|
|
</clipPath>
|
|
</defs>
|
|
</svg> </a>
|
|
</div>
|
|
<ul class="flex flex-wrap gap-y-6 text-lg md:gap-x-10 md:gap-y-4">
|
|
<li class="w-1/2 text-center md:w-auto">
|
|
<a class="text-gray-400 hover:text-gray-600" data-module="footer" data-item="zmg-properties"
|
|
data-element="zmg-properties-link" data-position="2" data-title="CNET Logo"
|
|
href="https://www.cnet.com" title="(Opens in a new tab)" aria-label="CNET Logo"
|
|
target="_blank" x-track-ga-click>
|
|
<span class="hidden">CNET Logo</span>
|
|
<svg class="w-24 h-12 fill-current max-w-full inline-block" width="71" height="16" viewBox="0 0 71 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path
|
|
d="M0.5 4.68621C0.5 1.57149 2.4369 0 6.0125 0H16.4631V6.65753H15.6083C15.2484 2.79117 13.5259 1.20173 10.0264 1.20173H7.86926C6.18981 1.20173 5.37359 2.04088 5.37359 3.69763V12.3018C5.37359 13.9586 6.18936 14.7977 7.86926 14.7977H10.0278C13.4758 14.7977 15.23 13.114 15.6079 9.12516H16.4626V15.9994H6.01295C2.43735 15.9994 0.500448 14.4279 0.500448 11.3132V4.68621H0.5Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M34.6266 0.00044918V15.9999H30.3767L19.9333 3.26235V8.99727C19.9333 13.2159 21.6218 14.7802 25.432 15.1962V15.9999H18.6636V0.00044918H23.5519L33.3569 11.9626V6.94563C33.3569 2.75528 31.6613 1.17526 27.9451 0.803697V0H34.6266V0.00044918Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M36.8687 0.000610352H52.8322V6.65814H51.9774C51.6157 2.77742 49.895 1.18484 46.3955 1.18484H41.594V7.18452H43.2207C45.9362 7.18452 47.0909 5.96304 47.3658 3.34284H48.2348V12.1373H47.3658C47.0927 9.50451 45.9415 8.29201 43.2207 8.29201H41.594V14.8163H46.3973C49.8453 14.8163 51.5996 13.1277 51.9774 9.12577H52.8322V16H36.8687V0.000610352Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M70.4818 0.000610352V6.65814H69.6271C69.2582 2.99596 67.7309 1.29478 64.8628 0.985598V12.2364C64.8628 14.1921 65.5509 14.9742 68.0694 15.1376V15.9996H56.9307V15.1376C59.4497 14.9738 60.1378 14.1921 60.1378 12.2364V0.985149C57.2696 1.29433 55.7424 2.99551 55.3735 6.65769H54.5183V0.000610352H70.4818Z"
|
|
fill="currentColor" />
|
|
</svg> </a>
|
|
</li>
|
|
<li class="w-1/2 text-center md:w-auto">
|
|
<a class="text-gray-400 hover:text-gray-600" data-module="footer" data-item="zmg-properties"
|
|
data-element="zmg-properties-link" data-position="3" data-title="ZDNET Logo"
|
|
href="https://www.zdnet.com" title="(Opens in a new tab)" aria-label="ZDNET Logo"
|
|
target="_blank" x-track-ga-click>
|
|
<span class="hidden">ZDNET Logo</span>
|
|
<svg class="w-28 h-12 fill-current max-w-full inline-block" width="88" height="16" viewBox="0 0 88 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
d="M18.2437 0H26.2647C30.679 0 34.2688 3.58519 34.2688 7.99161V8.00988C34.2688 12.4158 30.679 16 26.2666 16H18.2437V0ZM29.4056 11.1441C30.2382 10.3127 30.7065 9.18555 30.7076 8.00988V7.99161C30.7063 6.81549 30.2378 5.68793 29.4049 4.85629C28.5719 4.02465 27.4426 3.55686 26.2647 3.55556H21.8049V12.4444H26.2666C27.4442 12.4431 28.5731 11.9755 29.4056 11.1441Z"
|
|
fill="currentColor" />
|
|
<path d="M15.9137 3.55556H0.5V4.21971e-07H16.525V7.10667L1.08709 12.4444H16.525V16H0.5V8.88445L15.9137 3.55556Z"
|
|
fill="currentColor" />
|
|
<path
|
|
d="M53.7312 4.21971e-07V16H69.7562V12.4444H57.2924V9.75506H67.0815V6.19951H57.2924V3.55556H69.7562V4.21971e-07H53.7312Z"
|
|
fill="currentColor" />
|
|
<path d="M71.475 4.21971e-07V3.55556H77.7069V16H81.2681V3.55556H87.5V4.21971e-07H71.475Z" fill="currentColor" />
|
|
<path
|
|
d="M48.4514 15.4138L43.1053 4.21971e-07H35.9875V16H39.5486V0.610371L44.8858 16H52.0125V4.21971e-07H48.4514V15.4138Z"
|
|
fill="currentColor" />
|
|
</svg> </a>
|
|
</li>
|
|
<li class="w-1/2 text-center md:w-auto">
|
|
<a class="text-gray-400 hover:text-gray-600" data-module="footer" data-item="zmg-properties"
|
|
data-element="zmg-properties-link" data-position="4" data-title="Mashable Logo"
|
|
href="https://www.mashable.com" title="(Opens in a new tab)" aria-label="Mashable Logo"
|
|
target="_blank" x-track-ga-click>
|
|
<span class="hidden">Mashable Logo</span>
|
|
<svg class="w-32 h-12 fill-current max-w-full inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 365 62.7" fill="currentColor"><path d="M53.8 61.5V20.9L38.4 61.5h-7L15.8 20.9v40.6H0V.2h22L34.9 34 47.7.2h22v61.3H53.8zM101.1 61.5v-4.4c-2.8 3.3-8.1 5.5-13.8 5.5C80.5 62.6 72 57.9 72 48c0-10.8 8.5-14.4 15.3-14.4 5.9 0 11.1 1.9 13.8 5.2v-4.4c0-3.9-3.3-6.5-9-6.5a19.12 19.12 0 0 0-12.4 4.8l-5.2-9.8C80.2 18 87.9 16 94.7 16c10.7 0 20.7 4 20.7 17.8v27.8h-14.3zm0-11.4v-4C99.6 44 96.3 43 93.2 43c-3.7 0-7.1 1.7-7.1 5.2s3.4 5.1 7.1 5.1c3.1 0 6.5-1.1 7.9-3.2M116.3 55.7l5.9-10.1c3.3 2.9 10.4 6 15.6 6 4.2 0 6-1.2 6-3.1 0-5.5-25.8.2-25.8-17.8 0-7.8 6.8-14.6 19-14.6a31 31 0 0 1 18.6 5.9l-5.4 10a19.78 19.78 0 0 0-13.1-4.9c-3.3 0-5.5 1.3-5.5 3 0 4.9 25.8-.2 25.8 18 0 8.5-7.4 14.5-20.1 14.5-8.1 0-16.3-2.6-21-6.9M189.3 61.5V35.6c0-5.4-2.9-7.2-7.4-7.2a11.21 11.21 0 0 0-8.6 4.3v28.7h-14.2V0h14.2v22.4a20.23 20.23 0 0 1 15.4-6.5c10.1 0 14.7 5.7 14.7 13.9v31.6h-14.1zM234.5 61.5v-4.4c-2.8 3.3-8.1 5.5-13.8 5.5-6.8 0-15.3-4.7-15.3-14.6 0-10.8 8.5-14.4 15.3-14.4 5.9 0 11.1 1.9 13.8 5.2v-4.4c0-3.9-3.3-6.5-9-6.5a19.12 19.12 0 0 0-12.4 4.8l-5.2-9.8c5.7-4.9 13.4-6.9 20.2-6.9 10.7 0 20.7 4 20.7 17.8v27.8h-14.3zm0-11.4v-4c-1.5-2.1-4.8-3.1-7.9-3.1-3.7 0-7.1 1.7-7.1 5.2s3.4 5.1 7.1 5.1c3.2 0 6.5-1.1 7.9-3.2M253.6 61.5V.1h14.2v22.2A16.43 16.43 0 0 1 281 16c11.1 0 19.6 8.7 19.6 23.3 0 15.1-8.6 23.4-19.6 23.4a16.87 16.87 0 0 1-13.2-6.3v5.1zm22.6-11.4c5.6 0 9.8-4.1 9.8-10.8s-4.2-10.8-9.8-10.8a11.57 11.57 0 0 0-8.5 4.1v13.6c1.8 2.4 5.5 3.9 8.5 3.9M302.5.2h14.2v61.4h-14.2zM318.7 39.3c0-12.9 9.7-23.3 23.6-23.3 13.2 0 22.7 9.7 22.7 24.8V44h-31.6c1 4 4.7 7.3 11.1 7.3 3.1 0 8.3-1.4 10.9-3.8l6.2 9.3c-4.4 4-11.8 5.9-18.6 5.9-13.8-.1-24.3-9-24.3-23.4m23.6-11.9c-6.2 0-8.6 3.7-9.1 6.9h18.3c-.4-3.1-2.7-6.9-9.2-6.9"/></svg> </a>
|
|
</li>
|
|
<li class="w-1/2 text-center md:w-auto">
|
|
<a class="text-gray-400 hover:text-gray-600" data-module="footer" data-item="zmg-properties"
|
|
data-element="zmg-properties-link" data-position="5" data-title="Lifehacker Logo"
|
|
href="https://www.lifehacker.com" title="(Opens in a new tab)"
|
|
aria-label="Lifehacker Logo" target="_blank" x-track-ga-click>
|
|
<span class="hidden">Lifehacker Logo</span>
|
|
<svg class="w-28 h-12 fill-current max-w-full inline-block" width="97" height="26" viewBox="0 0 97 26" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<rect x="0.981812" y="1" width="1" height="24" fill="currentColor"/>
|
|
<rect x="94.9818" y="1" width="1" height="24" fill="currentColor"/>
|
|
<rect x="91.9818" y="25" width="1" height="88" transform="rotate(90 91.9818 25)" fill="currentColor"/>
|
|
<rect x="91.9818" width="1" height="88" transform="rotate(90 91.9818 0)" fill="currentColor"/>
|
|
<path d="M8.63544 21V4.83H11.0114V18.8H14.1574V21H8.63544ZM16.2237 21V4.83H18.5997V21H16.2237ZM21.4702 21V4.83H27.1242V7.272H23.8462V11.518H26.0462V13.96H23.8462V21H21.4702ZM29.1874 21V4.83H34.6214V7.272H31.5634V11.628H33.7634V14.004H31.5634V18.558H34.6214V21H29.1874ZM37.4847 21V4.83H39.8607V11.518H41.7087V4.83H44.0847V21H41.7087V13.96H39.8607V21H37.4847ZM46.4471 21L48.8891 4.83H51.7931L54.2351 21H51.9251L51.4851 17.7H49.1971L48.7571 21H46.4471ZM49.5271 15.192H51.1551L50.4731 9.758L50.4071 8.9H50.2751L50.2091 9.758L49.5271 15.192ZM59.6509 21.176C58.9762 21.176 58.4005 21.0257 57.9239 20.725C57.4545 20.417 57.0952 19.999 56.8459 19.471C56.6039 18.943 56.4829 18.3453 56.4829 17.678V8.152C56.4829 7.492 56.6075 6.898 56.8569 6.37C57.1135 5.842 57.4802 5.424 57.9569 5.116C58.4335 4.808 58.9982 4.654 59.6509 4.654C60.1422 4.654 60.5822 4.74567 60.9709 4.929C61.3595 5.11233 61.6895 5.36533 61.9609 5.688C62.2395 6.00333 62.4522 6.37367 62.5989 6.799C62.7455 7.217 62.8189 7.668 62.8189 8.152V10.374H60.5969V8.152C60.5969 7.81467 60.5272 7.53233 60.3879 7.305C60.2485 7.07767 60.0175 6.964 59.6949 6.964C59.4015 6.964 59.1889 7.08133 59.0569 7.316C58.9249 7.55067 58.8589 7.82933 58.8589 8.152V17.678C58.8589 18.0007 58.9285 18.2793 59.0679 18.514C59.2145 18.7487 59.4235 18.866 59.6949 18.866C60.0249 18.866 60.2559 18.7523 60.3879 18.525C60.5272 18.2977 60.5969 18.0153 60.5969 17.678V15.456H62.8189V17.678C62.8189 18.338 62.6905 18.932 62.4339 19.46C62.1772 19.988 61.8105 20.406 61.3339 20.714C60.8645 21.022 60.3035 21.176 59.6509 21.176ZM65.5776 21V4.83H67.9536V10.22V10.484H68.0416L68.1516 10.22L69.9996 4.83H72.4416L70.2636 10.154L72.7276 21H70.2856L68.7016 13.63H68.6356L67.9536 15.28V21H65.5776ZM74.9276 21V4.83H80.3616V7.272H77.3036V11.628H79.5036V14.004H77.3036V18.558H80.3616V21H74.9276ZM83.2249 21V4.83H85.6009C87.0236 4.83 88.0722 5.226 88.7469 6.018C89.4216 6.80267 89.7589 7.96133 89.7589 9.494C89.7589 10.4033 89.5976 11.1917 89.2749 11.859C88.9596 12.519 88.5746 13.003 88.1199 13.311L89.7369 21H87.3609L86.0189 14.18H85.6009V21H83.2249ZM85.6009 11.98C86.0409 11.98 86.3892 11.8847 86.6459 11.694C86.9026 11.496 87.0859 11.2173 87.1959 10.858C87.3059 10.4987 87.3609 10.0733 87.3609 9.582C87.3609 8.812 87.2326 8.22167 86.9759 7.811C86.7266 7.393 86.2682 7.184 85.6009 7.184V11.98Z" fill="currentColor"/>
|
|
</svg> </a>
|
|
</li>
|
|
<li class="w-1/2 text-center md:w-auto">
|
|
<a class="text-gray-400 hover:text-gray-600" data-module="footer" data-item="zmg-properties"
|
|
data-element="zmg-properties-link" data-position="6" data-title="ExtremeTech Logo"
|
|
href="https://www.extremetech.com" title="(Opens in a new tab)"
|
|
aria-label="ExtremeTech Logo" target="_blank" x-track-ga-click>
|
|
<span class="hidden">ExtremeTech Logo</span>
|
|
<svg class="w-32 h-12 fill-current max-w-full inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 987.28 138.15" fill="currentColor"><path d="M436.51 16.7h-75.76a3.26 3.26 0 0 0-3.25 3.25v92S341 88.5 337.75 83.29a37.37 37.37 0 0 0 12.05-10.42c3.91-5.22 5.86-12.06 5.74-20.2v-.32c.12-10.1-3.14-18.57-9.33-24.43a36 36 0 0 0-13.68-8.47 54.37 54.37 0 0 0-19.85-2.75h-44a3 3 0 0 0-3.24 2.74 2.26 2.26 0 0 0 0 .26 3 3 0 0 0-3-3h-76.76c2.28-3.81 8.15-11.62 8.15-11.62a4.86 4.86 0 0 0 .65-2 2.89 2.89 0 0 0-.33-1.63c-.65-1-2.93-1.45-2.93-1.45h-32a3.89 3.89 0 0 0-2.54 1.25s-22.1 32-26.58 38.74c-4.18-5.4-14.42-21.74-14.42-21.74a3.35 3.35 0 0 0-2.88-1.6H82.93a2.9 2.9 0 0 0-2.24 1 2.9 2.9 0 0 0-2.24-1H3.2a3.21 3.21 0 0 0-3.2 3.2v95.4a3.28 3.28 0 0 0 3.26 3.27h74.77c-3.27 4.89-9.47 14.36-9.47 14.36a4.59 4.59 0 0 0-.65 2 3 3 0 0 0 .32 1.63 3.45 3.45 0 0 0 2.94 1.64h28.66a4 4 0 0 0 3-1.66S126.08 99.3 130.68 92c4 6.3 15.61 24.9 15.61 24.9a3.49 3.49 0 0 0 3 1.66h29.69a3.41 3.41 0 0 0 2.9-1.61 2.44 2.44 0 0 0 .32-1.61 4.61 4.61 0 0 0-.65-1.94s-28.66-42.83-30.87-46.37c1-1.29 8-11.6 15.13-21.58a3.41 3.41 0 0 0 2.9 1.61h37v68.26a3.25 3.25 0 0 0 3.24 3.24h26.73a3.26 3.26 0 0 0 3.26-3.24V47.06h23.18a3.25 3.25 0 0 0 3.27-3.24v71.51a3.27 3.27 0 0 0 3.29 3.23h26.71a3.27 3.27 0 0 0 3.3-3.23V90.15h6c1.65 2.59 18.47 27.12 18.47 27.12a3 3 0 0 0 2.64 1.29h29.18a3.76 3.76 0 0 0 2.63-1 3.76 3.76 0 0 0 2.63 1h76.24a3.3 3.3 0 0 0 3.29-3.3V92.48a3.3 3.3 0 0 0-3.29-3.31h-46.66v-7.83h42.74a3.28 3.28 0 0 0 3.29-3.27V57.18a3.29 3.29 0 0 0-3.29-3.27h-42.74v-7.83h46.66a3.3 3.3 0 0 0 3.29-3.3V19.95a3.26 3.26 0 0 0-3.26-3.25zM96.39 90.16a3 3 0 0 0-2.3-1H32.32v-7.83h42.74a3.28 3.28 0 0 0 3.29-3.27V57.18a3.29 3.29 0 0 0-3.29-3.27H32.32V45.1h47.64a3.31 3.31 0 0 0 3.29-3.29V22.73c2.3 3.29 26.94 40.46 29.24 43.42-.98 1.32-8.54 12.83-16.1 24.01zm226.67-35.42c0 2.66-.67 4.33-2.67 5.66-2 1.66-4.66 2.33-8.65 2.33h-14V46.08h13.65c3.67 0 6.66.66 8.66 2.33 1.33.67 3 2.33 3 6.33z"/><path d="M626.5 45.77a3.28 3.28 0 0 0 3.28-3.26V31.39a4.59 4.59 0 0 0-.65-2l-8.16-11.43a3 3 0 0 0-2.61-1.3H551.1a3.28 3.28 0 0 0-3.27 3.26 3.26 3.26 0 0 0-3.26-3.26h-28.08a3.88 3.88 0 0 0-2.94 1.59s-16 25.46-20.56 32.32c-4.25-6.82-19.92-32.32-19.92-32.32a3.42 3.42 0 0 0-2.94-1.63h-28.08a3.27 3.27 0 0 0-3.26 3.26v95.37a3.28 3.28 0 0 0 3.26 3.27h25.8a3.29 3.29 0 0 0 3.26-3.33v-44.2c6.86 10.64 18.28 28.27 18.28 28.27a3.36 3.36 0 0 0 2.62 1.67h.67a3.38 3.38 0 0 0 2.61-1.33s11.75-18.3 18.94-28.94v44.59a3.29 3.29 0 0 0 3.26 3.33h26.19a3.3 3.3 0 0 0 3.29-3.3 3.31 3.31 0 0 0 3.28 3.3h76.25a3.31 3.31 0 0 0 3.28-3.3v-22.8a3.29 3.29 0 0 0-3.28-3.31h-46.67v-7.83h42.75a3.28 3.28 0 0 0 3.28-3.27V57.18a3.28 3.28 0 0 0-3.28-3.27h-42.75V46.1c5.92-.33 46.67-.33 46.67-.33z"/><path d="M798.57 89.17h-47.34v-8.81h42.8a3.24 3.24 0 0 0 3.24-3.23v-21a3.26 3.26 0 0 0-3.24-3.23h-42.8v-7.83h46.69a3.29 3.29 0 0 0 3.27-3.27V19.06a3.35 3.35 0 0 0-3.35-3.34h-67.22a3 3 0 0 0-1.67.33c2.67-3.68 5.68-8.36 5.68-8.36a4.75 4.75 0 0 0 .67-2 3 3 0 0 0-.33-1.67 4.48 4.48 0 0 0-3-2H616.02a3.51 3.51 0 0 0-3 1.69 3.07 3.07 0 0 0-.34 1.68 4.75 4.75 0 0 0 .67 2l16.84 25.25a3.44 3.44 0 0 0 2.69 1.69h25.34v94.7a3.26 3.26 0 0 0 3.26 3.22h26.77a3.25 3.25 0 0 0 3.27-3.24V33.35h25.51a2.87 2.87 0 0 0 2.58-1.64s2.26-3.26 3.23-4.89c-.32.65-1.29 2.28-1.29 2.28a3.48 3.48 0 0 0-.65 1.63v84.52a3.26 3.26 0 0 0 3.23 3.27h73.82a3.29 3.29 0 0 0 3.27-3.27V92.44c.62-1.63-1.01-3.27-2.65-3.27z"/><path d="M983.98 16.7h-26.74a3.27 3.27 0 0 0-3.26 3.29v32.94h-27.43v-33a3.25 3.25 0 0 0-3.23-3.26h-24.88a3.25 3.25 0 0 0-3.23 3.26v16.68c0-.33-.32-.33-.32-.65a92.13 92.13 0 0 0-7.43-8.49 52.19 52.19 0 0 0-9.7-6.86 45.06 45.06 0 0 0-11.63-4.24 62.4 62.4 0 0 0-13.89-1.63 56.38 56.38 0 0 0-21.33 3.91 46.85 46.85 0 0 0-16.8 11.43 49.6 49.6 0 0 0-11 17 56.07 56.07 0 0 0-4.2 20.89 49.44 49.44 0 0 0 4.2 20.9 49.85 49.85 0 0 0 11 16.65 52.5 52.5 0 0 0 16.48 11.1 54 54 0 0 0 20.36 3.92 66.94 66.94 0 0 0 14.86-1.64 68.78 68.78 0 0 0 12.28-4.89 43.33 43.33 0 0 0 9.69-7.51 90.84 90.84 0 0 0 7.43-8.49v17.24a3.26 3.26 0 0 0 3.23 3.27h24.85a3.28 3.28 0 0 0 3.26-3.27v-33h27.43v33a3.29 3.29 0 0 0 3.3 3.27h26.7a3.29 3.29 0 0 0 3.3-3.27V19.96a3.29 3.29 0 0 0-3.3-3.26zm-88.77 76.38-.32-.32-19.92-14.37a4.72 4.72 0 0 0-2-.65 3 3 0 0 0-2.61 1.3 59.25 59.25 0 0 1-4.24 4.58 21.06 21.06 0 0 1-4.25 3.26 11.5 11.5 0 0 1-4.57 2 29 29 0 0 1-5.88.65 19.72 19.72 0 0 1-7.83-1.63 17 17 0 0 1-6.21-4.57 30 30 0 0 1-4.24-7.18 26.58 26.58 0 0 1-1.63-8.82V67a28.14 28.14 0 0 1 1.63-8.81 20.18 20.18 0 0 1 4.24-7.18 14.76 14.76 0 0 1 6.21-4.57 19.73 19.73 0 0 1 7.83-1.64 19.32 19.32 0 0 1 10.12 2.62 28.84 28.84 0 0 1 8.17 7.51 3 3 0 0 0 2.61 1.3 4.86 4.86 0 0 0 2-.65l19.91-15.33c.33-.32 1-1 1-1.3z"/></svg> </a>
|
|
</li>
|
|
<li class="w-1/2 text-center md:w-auto">
|
|
<a class="text-gray-400 hover:text-gray-600" data-module="footer" data-item="zmg-properties"
|
|
data-element="zmg-properties-link" data-position="7" data-title="IGN Logo"
|
|
href="https://www.ign.com" title="(Opens in a new tab)" aria-label="IGN Logo"
|
|
target="_blank" x-track-ga-click>
|
|
<span class="hidden">IGN Logo</span>
|
|
<svg class="w-24 h-12 fill-current max-w-full inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 402.1 116.8" fill="currentColor"><path d="M206.8 68.7v-21h56.4a10.39 10.39 0 0 1 10.4 10.4v25a23.37 23.37 0 0 1-23.3 23.5h-36.1a48.25 48.25 0 1 1 0-96.5h55.9v22.2h-55.9a26.1 26.1 0 1 0 0 52.2h37.2V68.8h-44.6zM158.4 9.9h-21.9v86.4a10.29 10.29 0 0 0 10.3 10.3h11.6V9.9zM376.9 10h-11.8v74.5a1.42 1.42 0 0 1-.2.6 1.56 1.56 0 0 1-1.3.7 1.73 1.73 0 0 1-1.4-.8l-36.8-64.7a23.31 23.31 0 0 0-20.1-11.4h-.4a23.26 23.26 0 0 0-23.3 23.3v64.1a10.29 10.29 0 0 0 10.3 10.3h11.7V32.2a1.52 1.52 0 0 1 2.8-.8l37.1 65.1a22.71 22.71 0 0 0 19.9 11.1h.4a23.26 23.26 0 0 0 23.3-23.3V20.2A10.24 10.24 0 0 0 376.9 10zM398.2 15.2a1.32 1.32 0 0 0 .9-1.3 1.6 1.6 0 0 0-1.7-1.6h-2v5.2h.9v-2.1h.8l1 2.1h1.1zm-.9-.4h-1v-1.7h1a.88.88 0 0 1 .9.8 1.18 1.18 0 0 1-.9.9z"/><path d="M397.1 10a5 5 0 0 0 0 10 5 5 0 0 0 0-10zm0 9a4.1 4.1 0 1 1 4-4.1 3.91 3.91 0 0 1-4 4.1zM26.2 37.2a38.42 38.42 0 0 1 11-11 123.54 123.54 0 0 1 2.6-15.6 51.77 51.77 0 0 0-29.2 29.2 123.54 123.54 0 0 1 15.6-2.6zM79.6 26v.1a38.42 38.42 0 0 1 11 11 123.54 123.54 0 0 1 15.6 2.6 51.36 51.36 0 0 0-29.3-29.2A141.35 141.35 0 0 1 79.6 26zM37.2 90.5a38.42 38.42 0 0 1-11-11h-.1c-5.8-.7-11-1.6-15.5-2.6a51.65 51.65 0 0 0 29.2 29.3 146.75 146.75 0 0 1-2.6-15.7zM90.7 79.5h-.1a38.42 38.42 0 0 1-11 11v.1c-.7 5.7-1.6 10.9-2.6 15.5a51.53 51.53 0 0 0 29.3-29.3 119.62 119.62 0 0 1-15.6 2.7zM48.9 0h19c4.1 9 5.8 22.4 6.3 26.9a17.09 17.09 0 0 1 .3 3.1L58.4 44.3 42.3 29.9c0-.8.1-1.7.2-2.7.6-4.6 2.2-18.2 6.4-27.2zm-6.6 86.8c0 .8.1 1.7.2 2.7.5 4.6 2.1 18.2 6.3 27.3h19c4.1-9 5.8-22.4 6.3-26.9a17.09 17.09 0 0 0 .3-3.1l-16-14.4zM30 42.3c-.8 0-1.7.1-2.7.2-4.6.5-18.2 2.1-27.3 6.3v19c9 4.2 22.4 5.8 26.9 6.3a17.09 17.09 0 0 0 3.1.3l14.4-16zm86.8 6.5c-9.1-4.2-22.7-5.8-27.3-6.3a12.74 12.74 0 0 0-2.7-.2L72.5 58.4l14.4 16.1a17.09 17.09 0 0 0 3.1-.3c4.5-.5 17.9-2.2 26.9-6.3V48.8z"/></svg> </a>
|
|
</li>
|
|
<li class="w-1/2 text-center md:w-auto">
|
|
<a class="text-gray-400 hover:text-gray-600" data-module="footer" data-item="zmg-properties"
|
|
data-element="zmg-properties-link" data-position="8" data-title="Speedtest Logo"
|
|
href="https://www.speedtest.net" title="(Opens in a new tab)" aria-label="Speedtest Logo"
|
|
target="_blank" x-track-ga-click>
|
|
<span class="hidden">Speedtest Logo</span>
|
|
<svg class="w-32 h-12 fill-current max-w-full inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1137.5 130.9" fill="currentColor"><path d="m206.3 109 11.5-13.7c10.4 9 21 14.2 34.4 14.2 11.8 0 19.3-5.6 19.3-13.7v-.3c0-7.8-4.4-12-24.6-16.7-23.2-5.6-36.3-12.5-36.3-32.6v-.3c0-18.7 15.6-31.6 37.2-31.6 15.9 0 28.5 4.8 39.6 13.7l-10.3 14.5c-9.8-7.3-19.6-11.2-29.6-11.2-11.2 0-17.8 5.8-17.8 12.9v.3c0 8.4 5 12.2 26 17.1 23.1 5.6 34.9 13.9 34.9 31.9v.3c0 20.4-16 32.6-39 32.6a66.91 66.91 0 0 1-45.3-17.4M348.5 72.5C363 72.5 372 64.4 372 53v-.3c0-12.8-9.2-19.5-23.5-19.5h-22.3v39.3zm-41.4-56.7h43c25.6 0 41.4 14.5 41.4 36.5v.3c0 24.5-19.6 37.2-43.6 37.2h-21.7v35.1H307V15.8zM408 15.8h80.9v17.1h-61.7v28.4h54.7v17.1h-54.7v29.3h62.5v17.2H408V15.8zM509.3 15.8h80.9v17.1h-61.7v28.4h54.6v17.1h-54.6v29.3h62.4v17.2h-81.6V15.8zM629.7 33.3v74.2h21.5c22.9 0 37.9-15.4 37.9-36.8v-.3c0-21.3-15-37.1-37.9-37.1zm-19.1-17.5h40.7c34.3 0 58 23.5 58 54.2v.3c0 30.7-23.7 54.5-58 54.5h-40.7v-109zM754.5 33.6h-34.6V15.8h88.5v17.8h-34.6v91.3h-19.3V33.6zM828.7 15.8h80.8v17.1h-61.7v28.4h54.7v17.1h-54.7v29.3h62.5v17.2h-81.6V15.8zM925.7 109l11.5-13.7c10.4 9 21 14.2 34.4 14.2 11.8 0 19.3-5.6 19.3-13.7v-.3c0-7.8-4.4-12-24.6-16.7-23.2-5.6-36.3-12.5-36.3-32.6v-.3c0-18.7 15.6-31.6 37.2-31.6 15.9 0 28.5 4.8 39.6 13.7l-10.3 14.5c-9.8-7.3-19.6-11.2-29.6-11.2-11.2 0-17.8 5.8-17.8 12.9v.3c0 8.4 5 12.2 26 17.1 23.1 5.6 34.9 13.9 34.9 31.9v.3c0 20.4-16 32.6-39 32.6a66.91 66.91 0 0 1-45.3-17.4M1057.3 33.6h-34.5V15.8h88.5v17.8h-34.6v91.3h-19.4V33.6z"/><path d="M175.9 268.4a76.7 76.7 0 1 0-108.4 0l10.9-10.9a61.25 61.25 0 1 1 86.7 0l10.8 10.9z" transform="translate(-45 -137.5)" /><path d="M74.6 92.1 61 78.5l43.6-38.1 8.1 8.1-38.1 43.6z"/><path d="M1129.1 24.5c1.3 0 2.2-.7 2.2-1.8s-.8-1.7-2.2-1.7h-2.7v3.5zm-4.5-5.2h4.7a4.31 4.31 0 0 1 3 1 3.17 3.17 0 0 1 .9 2.3 3.14 3.14 0 0 1-2.5 3.2l2.8 4h-2.2l-2.6-3.7h-2.3v3.7h-1.8l-2.7-10.5z"/><path d="M1128.5 15.7a9 9 0 1 0 9 9 9 9 0 0 0-9-9m0 1.2a7.7 7.7 0 1 1-7.7 7.7 7.7 7.7 0 0 1 7.7-7.7"/></svg> </a>
|
|
</li>
|
|
</ul>
|
|
<div class="evidon-notice-link hidden"></div>
|
|
<div class="evidon-consent-link hidden"></div>
|
|
</nav>
|
|
<section class="relative mt-6 pb-20 text-center text-sm leading-tight text-gray-400"
|
|
aria-label="Ziff Davis Copyright & Company Info">
|
|
<p class="font-bold uppercase">© 1996-2026 Ziff Davis, LLC., a Ziff Davis company.
|
|
All Rights Reserved.</p>
|
|
<p class="mt-2">PCMag, PCMag.com and PC Magazine are among the federally registered trademarks of
|
|
Ziff Davis and may not be used by third parties without explicit permission. The display of
|
|
third-party trademarks and trade names on this site does not necessarily indicate any
|
|
affiliation or the endorsement of PCMag. If you click an affiliate link and buy a product or
|
|
service, we may be paid a fee by that merchant.</p>
|
|
<nav class="mt-6 flex flex-col flex-wrap md:flex-row" aria-label="Ziff Davis Info Links">
|
|
<ul class="flex flex-grow flex-wrap justify-center">
|
|
<li class="mt-2 w-1/2 md:mr-3 md:w-auto"><a data-module="footer" data-item="zmg-corp"
|
|
data-element="zmg-corp-link" data-position="1" href="https://www.ziffdavis.com/about"
|
|
title="(Opens in a new tab)" aria-label="Find out more about Ziff Davis"
|
|
target="_blank" x-track-ga-click>About Ziff Davis</a></li>
|
|
<li class="mt-2 w-1/2 md:mr-3 md:w-auto"><a data-module="footer" data-item="zmg-corp"
|
|
data-element="zmg-corp-link" data-position="2"
|
|
href="https://www.ziffdavis.com/ztg-privacy-policy" title="(Opens in a new tab)"
|
|
aria-label="View our Privacy Policy" target="_blank" x-track-ga-click>Privacy
|
|
Policy</a></li>
|
|
<li class="mt-2 w-1/2 md:mr-3 md:w-auto"><a data-module="footer" data-item="zmg-corp"
|
|
data-element="zmg-corp-link" data-position="3"
|
|
href="https://www.ziffdavis.com/about/terms" title="(Opens in a new tab)"
|
|
aria-label="View our Terms of Use" target="_blank" x-track-ga-click>Terms of Use</a>
|
|
</li>
|
|
<li class="mt-2 w-1/2 md:mr-3 md:w-auto"><a data-module="footer" data-item="zmg-corp"
|
|
data-element="zmg-corp-link" data-position="4"
|
|
href="https://docs.google.com/forms/d/1Zu8Hi-tPutcA0iXE8C5-UaqbV9Qx9FhyHJ6ZLzn4Mzk/viewform?edit_requested=true"
|
|
title="(Opens in a new tab)" aria-label="Licensing" target="_blank"
|
|
x-track-ga-click>Licensing</a></li>
|
|
<li class="mt-2 w-1/2 md:mr-3 md:w-auto"><a data-module="footer" data-item="zmg-corp"
|
|
data-element="zmg-corp-link" data-position="5"
|
|
href="https://www.ziffdavis.com/accessibility" title="(Opens in a new tab)"
|
|
aria-label="View the Ziff Davis Accessibility Policy" target="_blank"
|
|
x-track-ga-click>Accessibility</a></li>
|
|
<li class="mt-2 w-1/2 md:mr-3 md:w-auto"><a data-module="footer" data-item="zmg-corp"
|
|
data-element="zmg-corp-link" data-position="6" href="https://dsar.pcmag.com"
|
|
title="(Opens in a new tab)" aria-label="Do Not Sell My Personal Information"
|
|
target="_blank" x-track-ga-click>Do Not Sell My Personal Information</a></li>
|
|
</ul>
|
|
<ul
|
|
class="mt-4 flex w-full flex-shrink flex-wrap justify-center xl:absolute xl:right-0 xl:-mt-12 xl:w-auto xl:pt-3">
|
|
<li class="w-full">
|
|
<button class="showConsentTool mx-auto my-4 block xl:float-right xl:mx-0 xl:mb-2"
|
|
onclick="window.zdconsent.showConsentTool(event);">
|
|
<img class="evidon-consent-link-image mr-2 inline-block"
|
|
src="https://c.evidon.com/pub/icong1.png" alt="AdChoices image pixel"
|
|
width="14px" height="18px">
|
|
AdChoices
|
|
</button>
|
|
</li>
|
|
<li class="mx-4 xl:ml-auto">
|
|
<a href="//privacy.truste.com/privacy-seal/validation?rid=ce211316-dfd0-4abb-8bfb-9cb70de1e37c"
|
|
title="TRUSTe Privacy Certification (Opens in a new tab)"
|
|
aria-label="TRUSTe Privacy Certification" target="_blank" rel="noopener">
|
|
<span class="hidden">TRUSTe Logo</span>
|
|
<img data-image-loader="//privacy-policy.truste.com/privacy-seal/seal?rid=ce211316-dfd0-4abb-8bfb-9cb70de1e37c"
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 142 45'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="TRUSTe Logo" style="border: none" width="142px" height="45px" />
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="https://www.bbb.org/us/ny/new-york/profile/digital-media/ziff-davis-llc-0121-531/#sealclick"
|
|
title="BBB Business Review (Opens in a new tab)" aria-label="BBB Business Review"
|
|
target="_blank" rel="nofollow">
|
|
<img data-image-loader="https://seal-newyork.bbb.org/seals/blue-seal-96-50-bbb-531.png"
|
|
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 50'%3E%3Crect fill='%23f7f7f7' /%3E%3C/svg%3E"
|
|
alt="Better Business Bureau (BBB) Logo" style="border: 0;" width="96px"
|
|
height="50px" />
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</section>
|
|
</div>
|
|
</section>
|
|
</footer>
|
|
</div>
|
|
<div class="z-50 h-full" data-element="modal" x-data="window.productPicker()" :class="showModal ? 'pgQsModal' : ''"
|
|
x-show="showModal" @product-picker-init.window="initDeepChat" @product-picker-close.window="closeDeepChat"
|
|
x-init="$watch('showModal', (value) => modalIsShowing(value))" x-cloak>
|
|
<div class="modal-backdrop fixed inset-0 z-50 flex items-center justify-center bg-fade text-gray-700"></div>
|
|
<div class="fixed left-0 right-0 top-0 z-top flex h-full flex-col items-center p-4">
|
|
<div class="mx-4 my-auto flex max-h-full w-full max-w-[860px] flex-col rounded-lg bg-white p-4 shadow md:mx-auto md:px-8 md:py-8"
|
|
role="dialog" :class="messages.length > 0 ? 'md:h-full' : ''">
|
|
<div
|
|
class="flex-row flex space-x-4">
|
|
<div
|
|
class=" flex flex-row justify-start space-x-2">
|
|
<svg class="w-12 h-12" width="44" height="50" viewBox="0 0 44 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path d="M43.2509 40.5133V2.79666C43.2509 2.70352 43.2463 2.61114 43.2371 2.52029C43.2349 2.49472 43.2318 2.46952 43.2287 2.44433C43.2226 2.39814 43.2158 2.35233 43.2078 2.30691C43.1955 2.23858 43.1806 2.1714 43.1639 2.10498C43.1524 2.06108 43.1402 2.01756 43.1268 1.97443C42.9921 1.54117 42.7535 1.15372 42.4409 0.840705L42.4401 0.839942C42.284 0.683816 42.1088 0.546014 41.9191 0.430733C41.5007 0.176123 41.009 0.029541 40.4834 0.029541H2.76712C1.2387 0.029541 0 1.26862 0 2.79666V40.5133C0 41.2779 0.30996 41.97 0.811164 42.4708C1.31199 42.9712 2.00329 43.2804 2.76712 43.2804H26.7087C27.4006 44.0041 28.211 44.7837 29.0979 45.5405C31.0247 47.251 33.5037 48.8239 36.1173 49.6216C36.7707 49.8211 37.4162 49.712 37.7738 49.2089C38.2248 48.7343 38.2376 48.024 38.0066 47.4433C37.9489 47.4257 37.9378 47.3833 37.9224 47.3247C37.9129 47.2885 37.9017 47.2462 37.8769 47.1996L37.5527 46.5905C37.3821 46.1616 37.2073 45.5645 37.0052 44.8743C36.9337 44.63 36.8587 44.3739 36.7793 44.1096C36.7081 43.8445 36.6428 43.5676 36.585 43.2804H40.4834C42.0118 43.2804 43.2509 42.0414 43.2509 40.5133Z" fill="url(#paint0_linear_2424_105)"/>
|
|
<path d="M29.1963 21.625L30.8311 25.8467L35.25 27.4092L30.8311 28.9717L29.1963 33.1944L27.5615 28.9717L23.1426 27.4102L27.5615 25.8467L29.1963 21.625Z" fill="white"/>
|
|
<path d="M19.5654 19.1485L26.5703 21.625L19.5654 24.1026L16.9736 30.795L14.3818 24.1026L7.37793 21.625L14.3818 19.1485L16.9736 12.4551L19.5654 19.1485Z" fill="white"/>
|
|
<path d="M28.2832 7.87016L29.5791 11.2168L33.082 12.4551L29.5791 13.6944L28.2832 17.0411L26.9873 13.6944L23.4854 12.4561L26.9873 11.2168L28.2832 7.87016Z" fill="white"/>
|
|
<defs>
|
|
<linearGradient id="paint0_linear_2424_105" x1="35.2572" y1="11.875" x2="7.21755e-07" y2="36.875" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#EB002E"/>
|
|
<stop offset="1" stop-color="#D700EB"/>
|
|
</linearGradient>
|
|
</defs>
|
|
</svg> <span
|
|
class="flex-grow bg-gradient-to-r from-[#EB002E] to-[#D700EB] bg-clip-text text-2xl font-bold text-transparent">Hello!</span>
|
|
</div>
|
|
<div class="flex flex-grow flex-row items-center justify-end">
|
|
<button class="cursor-pointer text-gray-700" data-element="close-modal" data-item="Close Modal"
|
|
aria-label="Close modal" :data-module="sourceModule" @click="closeDeepChat"
|
|
x-track-ga-click>
|
|
<svg class="inline-block w-8 h-8" aria-hidden="true" data-prefix="fal" data-icon="times" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M193.94 256 296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z"/></svg> </button>
|
|
</div>
|
|
</div>
|
|
<div class="mt-6 grow overflow-hidden">
|
|
<div class="flex max-h-full w-full flex-col md:h-full">
|
|
|
|
<template x-if="messages.length === 0">
|
|
<div class="mx-auto mt-6 text-center text-sm font-bold md:px-8">
|
|
I'm Maggie, PCMag's AI-powered product finder, exclusively powered by our deep library of
|
|
reviews and buying advice written by our expert team of technology journalists.
|
|
</div>
|
|
</template>
|
|
|
|
|
|
<div class="flex-grow overflow-y-auto rounded-md border border-gray-200 p-4"
|
|
x-show="messages.length > 0" x-ref="outputContainer">
|
|
<template x-ref="deepChatRenderer" x-for="(message, index) in messages">
|
|
<div x-bind:class="'mb-4 chat-message-' + message.role">
|
|
<template x-if="message.role == 'user'">
|
|
<div class="flex flex-col sm:flex-row sm:items-start">
|
|
<div class="flex-grow text-2xl font-bold text-gray-900 first-letter:uppercase"
|
|
data-role="user" x-text="message.text"></div>
|
|
<template
|
|
x-if="typeof messages[index + 1] !== 'undefined' && messages[index + 1].role === 'ai' && messages[index + 1].sponsoredCategory.length > 0">
|
|
<div
|
|
class="order-first mb-4 flex justify-end whitespace-nowrap rounded bg-gray-200 px-4 py-3 text-xs text-gray-500 sm:order-last sm:mb-0 sm:ml-4 sm:justify-center">
|
|
PRESENTED BY
|
|
<img class="ml-2 mr-1 inline-block h-4 w-auto"
|
|
:src="messages[index + 1].sponsoredCategory[0].imageUrl"
|
|
:alt="messages[index + 1].sponsoredCategory[0].title" />
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
<template x-if="message.role == 'ai'">
|
|
<div data-role="ai" x-bind:data-type="message.decisionType">
|
|
<div
|
|
class="prose prose-sm max-w-none text-gray-900 prose-headings:my-4 prose-h1:text-xl prose-h2:text-lg prose-a:font-extrabold">
|
|
<div x-html="message.text"></div>
|
|
<template
|
|
x-if="message.processingText === false && (message.productsFullReport.length > 0 || message.productsFeature.length > 0 || message.productsSimple.length > 0)">
|
|
<hr class="mt-6 border-t border-gray-300">
|
|
</template>
|
|
</div>
|
|
|
|
|
|
<template
|
|
x-if="message.productsFullReport.length > 0 && message.processingText === false">
|
|
<div class="mt-6">
|
|
<div class="font-bold"><svg class="w-6 h-6 inline-block mr-1" width="44" height="50" viewBox="0 0 44 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path d="M43.2509 40.5133V2.79666C43.2509 2.70352 43.2463 2.61114 43.2371 2.52029C43.2349 2.49472 43.2318 2.46952 43.2287 2.44433C43.2226 2.39814 43.2158 2.35233 43.2078 2.30691C43.1955 2.23858 43.1806 2.1714 43.1639 2.10498C43.1524 2.06108 43.1402 2.01756 43.1268 1.97443C42.9921 1.54117 42.7535 1.15372 42.4409 0.840705L42.4401 0.839942C42.284 0.683816 42.1088 0.546014 41.9191 0.430733C41.5007 0.176123 41.009 0.029541 40.4834 0.029541H2.76712C1.2387 0.029541 0 1.26862 0 2.79666V40.5133C0 41.2779 0.30996 41.97 0.811164 42.4708C1.31199 42.9712 2.00329 43.2804 2.76712 43.2804H26.7087C27.4006 44.0041 28.211 44.7837 29.0979 45.5405C31.0247 47.251 33.5037 48.8239 36.1173 49.6216C36.7707 49.8211 37.4162 49.712 37.7738 49.2089C38.2248 48.7343 38.2376 48.024 38.0066 47.4433C37.9489 47.4257 37.9378 47.3833 37.9224 47.3247C37.9129 47.2885 37.9017 47.2462 37.8769 47.1996L37.5527 46.5905C37.3821 46.1616 37.2073 45.5645 37.0052 44.8743C36.9337 44.63 36.8587 44.3739 36.7793 44.1096C36.7081 43.8445 36.6428 43.5676 36.585 43.2804H40.4834C42.0118 43.2804 43.2509 42.0414 43.2509 40.5133Z" fill="url(#paint0_linear_2424_105)"/>
|
|
<path d="M29.1963 21.625L30.8311 25.8467L35.25 27.4092L30.8311 28.9717L29.1963 33.1944L27.5615 28.9717L23.1426 27.4102L27.5615 25.8467L29.1963 21.625Z" fill="white"/>
|
|
<path d="M19.5654 19.1485L26.5703 21.625L19.5654 24.1026L16.9736 30.795L14.3818 24.1026L7.37793 21.625L14.3818 19.1485L16.9736 12.4551L19.5654 19.1485Z" fill="white"/>
|
|
<path d="M28.2832 7.87016L29.5791 11.2168L33.082 12.4551L29.5791 13.6944L28.2832 17.0411L26.9873 13.6944L23.4854 12.4561L26.9873 11.2168L28.2832 7.87016Z" fill="white"/>
|
|
<defs>
|
|
<linearGradient id="paint0_linear_2424_105" x1="35.2572" y1="11.875" x2="7.21755e-07" y2="36.875" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#EB002E"/>
|
|
<stop offset="1" stop-color="#D700EB"/>
|
|
</linearGradient>
|
|
</defs>
|
|
</svg> Recommended for You</div>
|
|
<template x-for="(product, productIndex) in message.productsFullReport">
|
|
<div class="mt-4 rounded-md border border-gray-200 p-4 shadow-md">
|
|
<div
|
|
class="flex flex-col space-y-2 sm:flex-row sm:space-x-5 sm:space-y-0">
|
|
<div class="w-full sm:w-[320px]">
|
|
<img class="mx-auto w-full" :title="product.name"
|
|
:alt="product.image.altText"
|
|
x-bind:src="formatImage(product.image.url, 325, 183)" />
|
|
</div>
|
|
<div class="flex flex-1 flex-col space-y-2 sm:space-y-1">
|
|
<div class="flex flex-row items-center text-red-400">
|
|
<template x-if="product.isEditorsChoice">
|
|
<svg class="inline-block h-auto select-none w-20 mr-2" data-name="Layer 1" id="Layer_1" version="1.1" viewBox="0 0 704.1 239.5"
|
|
xmlns="http://www.w3.org/2000/svg">
|
|
<defs>
|
|
<style>
|
|
.cls-1{fill:#eb002e}.cls-1,.cls-2,.cls-3{stroke-width:0}.cls-2{fill:#7e011f}.cls-4{fill:none;stroke:#fff;stroke-width:5px}.cls-3{fill:#fff}</style>
|
|
</defs>
|
|
<path class="cls-2"
|
|
d="M702,135.5l-58.1,98.1c-1.9,3.3-6,5.9-9.9,5.9H34c-4.3,0-7.7-2-11-4.9l-17.5-14.6c1,.5,3.6,1.2,4.8,1.4.6,0,1.1.1,1.7.1,0,0,0,0,.1,0h610.4c4.1,0,7.4-2,9.5-5.5l58-98c1.9-3.2,3.3-9.1,2-12.5l11,18.5c2.1,3.4,1,8-1,11.5Z" />
|
|
<path class="cls-1"
|
|
d="M0,11.1C0,5,5,0,11.1,0h611.7c3.9,0,7.5,2.1,9.6,5.4l59.3,99.6c2.1,3.5,2.1,7.9,0,11.4l-59.3,99.6c-2,3.4-5.6,5.4-9.6,5.4H11.1c-6.1,0-11.1-5-11.1-11.1V11.1Z" />
|
|
<path class="cls-3"
|
|
d="M306.7,52.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-21.4c-.3,0-.4.1-.4.4v12.5c0,.3.1.4.4.4h13.4c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-13.4c-.3,0-.4.1-.4.4v12.9c0,.3.1.4.4.4h21.4c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-32.2c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h32.2c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8ZM321.7,100.1c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h17.2c3.6,0,6.7.7,9.4,2,2.8,1.3,4.9,3.2,6.4,5.7,1.5,2.5,2.2,5.3,2.2,8.6v23.5c0,3.3-.7,6.1-2.2,8.6-1.5,2.5-3.6,4.3-6.4,5.7-2.7,1.3-5.9,2-9.4,2h-17.2ZM332,90c0,.3.1.4.4.4h6.6c2,0,3.6-.8,4.8-2.2,1.2-1.4,1.9-3.3,1.9-5.7v-21c0-2.4-.6-4.3-1.8-5.7-1.2-1.4-2.9-2.2-4.9-2.2h-6.6c-.3,0-.4.1-.4.4v35.8ZM372.6,100.1c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.4c.3,0,.5.1.6.3.2.2.3.4.3.6v54.1c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4ZM433.4,44.1c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-12.2c-.3,0-.4.1-.4.4v44.9c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-44.9c0-.3-.1-.4-.4-.4h-11.8c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-7.8c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h36ZM463.6,100.8c-3.7,0-6.9-.7-9.8-2.2-2.8-1.5-4.9-3.6-6.5-6.3s-2.3-5.9-2.3-9.5v-21.3c0-3.6.8-6.7,2.3-9.4,1.5-2.7,3.7-4.8,6.5-6.3,2.8-1.5,6.1-2.2,9.8-2.2s6.9.7,9.8,2.2c2.8,1.5,5,3.6,6.6,6.3,1.5,2.7,2.3,5.9,2.3,9.4v21.3c0,3.6-.8,6.8-2.3,9.5s-3.7,4.8-6.6,6.3c-2.8,1.5-6.1,2.2-9.8,2.2ZM463.6,91.1c2.2,0,4-.7,5.4-2.2,1.3-1.5,2-3.4,2-5.8v-22.1c0-2.4-.7-4.3-2-5.8-1.3-1.5-3.1-2.2-5.4-2.2s-3.9.7-5.3,2.2c-1.3,1.4-2,3.4-2,5.8v22.1c0,2.3.7,4.3,2,5.8,1.3,1.4,3.1,2.2,5.3,2.2ZM523.3,100.1c-.6,0-1-.3-1.1-.8l-8.1-22.1c-.1-.2-.2-.3-.4-.3h-5c-.3,0-.4.1-.4.4v21.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h19.5c3.1,0,5.9.7,8.4,2.2,2.5,1.4,4.3,3.4,5.7,5.9,1.3,2.6,2,5.5,2,8.8s-.7,6.4-2.2,8.9c-1.5,2.5-3.6,4.4-6.3,5.6-.3.1-.3.3-.2.6l9.1,23c0,.1,0,.2,0,.4,0,.5-.3.7-.9.7h-9.8ZM508.6,53.8c-.3,0-.4.1-.4.4v13.7c0,.3.1.4.4.4h7c2,0,3.6-.6,4.8-1.9,1.2-1.3,1.8-3.1,1.8-5.3s-.6-4-1.8-5.3c-1.2-1.3-2.8-2-4.8-2h-7ZM564.5,100.7c-3.7,0-6.9-.6-9.7-1.9-2.8-1.3-4.9-3.2-6.5-5.5-1.5-2.4-2.2-5.1-2.2-8.2v-2.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.2c.3,0,.5.1.6.3.2.2.3.4.3.6v1.5c0,1.9.7,3.4,2.1,4.7,1.4,1.2,3.3,1.8,5.6,1.8s3.7-.5,4.7-1.6c1.1-1.1,1.7-2.4,1.7-4.1s-.3-2.3-1-3.1c-.7-.9-1.7-1.7-3-2.5-1.2-.8-3.1-1.9-5.8-3.2-3.2-1.6-5.8-3.1-7.8-4.5-2-1.4-3.8-3.2-5.2-5.4-1.4-2.2-2.2-4.8-2.2-7.9s.7-5.8,2.2-8.1c1.5-2.3,3.6-4.1,6.2-5.4,2.7-1.3,5.7-1.9,9.1-1.9s6.7.7,9.5,2.1c2.8,1.3,4.9,3.2,6.5,5.7,1.5,2.5,2.3,5.3,2.3,8.5v1.6c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.2c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-1.4c0-1.9-.7-3.5-2-4.8-1.3-1.3-3.1-1.9-5.4-1.9s-3.4.5-4.6,1.5c-1.1,1-1.6,2.3-1.6,4.1s.3,2.3,1,3.2c.6.9,1.6,1.8,3,2.6,1.3.8,3.4,1.9,6.1,3.2l1.7,1c3.1,1.7,5.5,3.2,7.2,4.5,1.8,1.2,3.2,2.8,4.4,4.7,1.2,1.9,1.8,4.2,1.8,7,0,4.9-1.7,8.7-5,11.6-3.3,2.8-7.6,4.2-13,4.2ZM606.7,44.1c.8,0,1.1.4.8,1.1l-6,16.2c-.2.5-.5.8-1.1.8h-7c-.7,0-1-.3-.9-1l3.8-16.2c.2-.5.5-.8,1-.8h9.4Z" />
|
|
<path class="cls-3"
|
|
d="M291,176.4c-3.6,0-6.8-.7-9.6-2.2-2.8-1.4-4.9-3.5-6.5-6.2-1.5-2.7-2.2-5.8-2.2-9.3v-22.2c0-3.5.7-6.5,2.2-9.1,1.5-2.7,3.7-4.7,6.5-6.2,2.8-1.4,6-2.2,9.6-2.2s6.8.7,9.6,2.2c2.8,1.4,4.9,3.4,6.4,5.9,1.5,2.6,2.3,5.5,2.3,9v.4c0,.3-.1.5-.3.7-.2.2-.4.3-.6.3l-9.4.4c-.6,0-1-.3-1-.9v-1c0-2.2-.6-3.9-1.9-5.3-1.3-1.3-3-2-5.1-2s-3.8.7-5.1,2c-1.3,1.3-1.9,3.1-1.9,5.3v23.4c0,2.2.6,3.9,1.9,5.3,1.3,1.3,3,1.9,5.1,1.9s3.8-.6,5.1-1.9c1.3-1.3,1.9-3.1,1.9-5.3v-1c0-.6.3-.9,1-.9l9.4.4c.3,0,.5.1.6.3.2.2.3.4.3.6v.2c0,3.4-.8,6.4-2.3,9-1.5,2.6-3.6,4.6-6.4,6.1-2.8,1.4-6,2.1-9.6,2.1ZM348.6,120.8c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.4c.3,0,.5.1.6.3.2.2.3.4.3.6v54.1c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-21.9c0-.3-.1-.4-.4-.4h-12.8c-.3,0-.4.1-.4.4v21.9c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.4c.3,0,.5.1.6.3.2.2.3.4.3.6v21.6c0,.3.1.4.4.4h12.8c.3,0,.4-.1.4-.4v-21.6ZM392.8,176.5c-3.7,0-6.9-.7-9.8-2.2-2.8-1.5-4.9-3.6-6.5-6.3-1.5-2.7-2.3-5.9-2.3-9.5v-21.3c0-3.6.8-6.7,2.3-9.4,1.5-2.7,3.7-4.8,6.5-6.3,2.8-1.5,6.1-2.2,9.8-2.2s6.9.7,9.8,2.2c2.8,1.5,5,3.6,6.6,6.3,1.5,2.7,2.3,5.9,2.3,9.4v21.3c0,3.6-.8,6.8-2.3,9.5-1.5,2.7-3.7,4.8-6.6,6.3-2.8,1.5-6.1,2.2-9.8,2.2ZM392.8,166.8c2.2,0,4-.7,5.4-2.2,1.3-1.5,2-3.4,2-5.8v-22.1c0-2.4-.7-4.3-2-5.8-1.3-1.5-3.1-2.2-5.4-2.2s-3.9.7-5.3,2.2c-1.3,1.4-2,3.4-2,5.8v22.1c0,2.3.7,4.3,2,5.8,1.3,1.4,3.1,2.2,5.3,2.2ZM427.2,175.8c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.4c.3,0,.5.1.6.3.2.2.3.4.3.6v54.1c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4ZM470.5,176.4c-3.6,0-6.8-.7-9.6-2.2-2.8-1.4-4.9-3.5-6.5-6.2-1.5-2.7-2.2-5.8-2.2-9.3v-22.2c0-3.5.7-6.5,2.2-9.1,1.5-2.7,3.7-4.7,6.5-6.2,2.8-1.4,6-2.2,9.6-2.2s6.8.7,9.6,2.2c2.8,1.4,4.9,3.4,6.4,5.9,1.5,2.6,2.3,5.5,2.3,9v.4c0,.3-.1.5-.3.7-.2.2-.4.3-.6.3l-9.4.4c-.6,0-1-.3-1-.9v-1c0-2.2-.6-3.9-1.9-5.3-1.3-1.3-3-2-5.1-2s-3.8.7-5.1,2c-1.3,1.3-1.9,3.1-1.9,5.3v23.4c0,2.2.6,3.9,1.9,5.3,1.3,1.3,3,1.9,5.1,1.9s3.8-.6,5.1-1.9c1.3-1.3,1.9-3.1,1.9-5.3v-1c0-.6.3-.9,1-.9l9.4.4c.3,0,.5.1.6.3.2.2.3.4.3.6v.2c0,3.4-.8,6.4-2.3,9-1.5,2.6-3.6,4.6-6.4,6.1-2.8,1.4-6,2.1-9.6,2.1ZM537.3,128.5c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-21.4c-.3,0-.4.1-.4.4v12.5c0,.3.1.4.4.4h13.4c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-13.4c-.3,0-.4.1-.4.4v12.9c0,.3.1.4.4.4h21.4c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-32.2c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h32.2c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8Z" />
|
|
<line class="cls-4" x1="222.4" x2="222.4" y1="31" y2="191" />
|
|
<path class="cls-3"
|
|
d="M145,188.9c-2.3-1.2-4-2.8-5.2-5-1.2-2.1-1.8-4.6-1.8-7.4v-14.4c0-2.8.6-5.3,1.8-7.4,1.2-2.1,3-3.8,5.2-4.9s4.9-1.8,7.8-1.8,5.5.6,7.8,1.7c2.2,1.2,4,2.7,5.2,4.7,1.2,2,1.8,4.2,1.8,6.7v.5c0,.2,0,.4-.2.5-.1.1-.3.2-.5.2h-5.4c-.2,0-.4,0-.5-.2-.1-.1-.2-.3-.2-.5v-.3c0-2.1-.7-3.9-2.2-5.3-1.4-1.4-3.4-2.1-5.8-2.1s-4.4.7-5.8,2.2c-1.5,1.4-2.2,3.4-2.2,5.7v14.9c0,2.4.8,4.3,2.3,5.7,1.5,1.4,3.5,2.2,6,2.2s4.2-.6,5.6-1.9c1.4-1.2,2.1-3,2.1-5.1v-3.7c0-.2-.1-.3-.3-.3h-7.3c-.2,0-.4,0-.5-.2-.1-.1-.2-.3-.2-.5v-4.4c0-.2,0-.4.2-.5.1-.1.3-.2.5-.2h13.7c.2,0,.4,0,.5.2.1.1.2.3.2.5v7.6c0,4.6-1.3,8.1-4,10.6-2.7,2.5-6.3,3.8-10.8,3.8s-5.6-.6-7.8-1.8h0Z" />
|
|
<path class="cls-3"
|
|
d="M123.6,189.6l-2-6.4c0-.2-.2-.2-.3-.2h-15.7c-.1,0-.2,0-.3.2l-2,6.4c-.1.4-.4.6-.8.6h-5.9c-.2,0-.4,0-.5-.2-.1-.1-.1-.3,0-.6l12.9-40.2c.1-.4.4-.6.8-.6h7.4c.4,0,.7.2.8.6l13,40.2c0,0,0,.2,0,.3,0,.4-.2.5-.7.5h-5.9c-.4,0-.7-.2-.8-.6h0ZM107.4,177.6h12.1c.2,0,.3-.1.2-.4l-6.1-19.9c0-.2,0-.2-.2-.2s-.1,0-.2.2l-6.1,19.9c0,.2,0,.4.2.4h0Z" />
|
|
<path class="cls-3"
|
|
d="M80.7,148.6h5.5c.2,0,.4,0,.5.2.1.1.2.3.2.5v40.2c0,.2,0,.4-.2.5-.1.1-.3.2-.5.2h-5.5c-.2,0-.4,0-.5-.2-.1-.1-.2-.3-.2-.5v-28.3c0-.1,0-.2-.1-.2,0,0-.2,0-.2.1l-7.4,11.4c-.2.3-.5.5-.8.5h-2.7c-.4,0-.6-.2-.8-.5l-7.5-11.3c0-.1-.1-.2-.2-.1,0,0-.1.1-.1.2v28.3c0,.2,0,.4-.2.5-.1.1-.3.2-.5.2h-5.5c-.2,0-.4,0-.5-.2-.1-.1-.2-.3-.2-.5v-40.2c0-.2,0-.4.2-.5.1-.1.3-.2.5-.2h5.5c.4,0,.6.2.8.5l9.7,14.7c0,0,.2.1.2.1s.1,0,.2-.1l9.7-14.7c.2-.3.5-.5.8-.5h0Z" />
|
|
<path class="cls-3"
|
|
d="M145.5,94h22.7c.2,0,.4.2.4.4v22.3c0,8-2.5,14-7.7,18.1-5.2,4.1-11.8,6.1-19.9,6.1s-14.4-1.9-19.7-5.6c-5.3-3.7-7.9-9.4-7.9-16.9V52c0-7.6,2.6-13.2,7.9-17,5.3-3.7,11.9-5.6,19.7-5.6s14.7,2,19.9,6.1c5.2,4.1,7.7,10.1,7.7,18s0,22.6,0,22.6c0,.2-.2.4-.4.4h-22.7c-.6,0-1-.5-1-1v-23.3c0-.9-.3-1.7-1-2.4-.7-.6-1.5-1-2.4-1s-1.6.3-2.3.9c-.6.6-1,1.4-1,2.3v.2s0,65.8,0,65.8v.2c0,.9.4,1.6,1.1,2.2.6.6,1.4.9,2.3.9s1.7-.3,2.4-1c.6-.7,1-1.5,1-2.4v-23.1c0-.6.5-1,1-1h0Z" />
|
|
<path class="cls-3"
|
|
d="M84.3,30.9c3.8,0,7.5.8,11.3,2.6,3.3,1.6,5.8,3.8,7.7,6.6,2.3,3.5,3.5,8.4,3.6,14.7v26.9c0,10.5-3.9,17.5-11.3,21.2-3.7,1.8-7.5,2.7-11.3,2.6h-5.9c-.6,0-1,.5-1,1v32.3c0,.6-.5,1-1,1h-22.4c-.6,0-1-.5-1-1V31.9c0-.6.5-1,1-1h30.3ZM84.4,52.6c0-.8-.3-1.5-1-2.1-.7-.6-1.5-.9-2.3-.9h-2.4c-.6,0-1,.5-1,1v33.6c0,.6.5,1,1,1h2.4c.5,0,1.1,0,1.6-.3.5-.2.9-.5,1.3-.9.3-.4.5-1,.5-1.8v-29.8h0Z" />
|
|
</svg> </template>
|
|
<template x-if="product.score">
|
|
<template
|
|
x-for="rating in convertScore(product.score)">
|
|
<div class="-mt-1">
|
|
<template x-if="rating === 'full'">
|
|
<div>
|
|
<svg class="size-3 inline-block mr-1" aria-hidden="true" data-prefix="fas" data-icon="circle" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"/></svg> </div>
|
|
</template>
|
|
<template x-if="rating === 'half'">
|
|
<div>
|
|
<svg class="size-3 inline-block mr-1" aria-hidden="true" data-prefix="fas" data-icon="adjust" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z"/></svg> </div>
|
|
</template>
|
|
<template x-if="rating === 'empty'">
|
|
<div>
|
|
<svg class="size-3 inline-block mr-1" aria-hidden="true" data-prefix="far" data-icon="circle" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z"/></svg> </div>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<template x-if="product.score">
|
|
<div class="flex space-x-1">
|
|
<div class="ml-1 flex text-sm font-bold leading-none">
|
|
<span x-text="scoreTierMetaData(product.score).score"></span>
|
|
<span x-text="scoreTierMetaData(product.score).text"></span>
|
|
</div>
|
|
<div class="group relative select-none leading-[0]" x-data="{
|
|
setup: () => ({
|
|
allowHTML: true,
|
|
appendTo: $root,
|
|
maxWidth: 350,
|
|
offset: [20, 10],
|
|
interactive: true,
|
|
interactiveBorder: 30,
|
|
placement: 'bottom-end',
|
|
trigger: 'click mouseenter',
|
|
moveTransition: 'transform 250ms ease',
|
|
content: () => $refs.template.innerHTML,
|
|
}),
|
|
}"
|
|
x-on:keydown.escape.window="$refs.trigger._tippy.hide()">
|
|
<button class="peer text-red-400 transition-colors focus:text-red-400 lg:group-hover:text-red-400"
|
|
data-module="Ratings_Tooltip" data-element="Tooltip_button_mobile" data-item="button"
|
|
aria-label="Toggle What Our Ratings Mean Tooltip" :data-title="product.score"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType" x-ref="trigger" x-tooltip="setup()"
|
|
x-track-ga-click>
|
|
<svg class="inline-block size-3 sm:size-[.875rem] fill-current" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc.--><path d="M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm168.7-86.2c6.5-24.6 28.7-41.8 54.2-41.8l57.1 0c35.5 0 64 29 64 64.3c0 24-13.4 46.2-34.9 57.2L272 268.3l0 19.7c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-29.5c0-6 3.4-11.5 8.7-14.3l45.8-23.4c10.7-5.4 17.5-16.6 17.5-28.7c0-17.8-14.4-32.3-32-32.3l-57.1 0c-10.9 0-20.5 7.4-23.2 17.9l-.2 .7c-2.2 8.5-11 13.7-19.5 11.4s-13.7-11-11.4-19.5l.2-.7zM232 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"/></svg> </button>
|
|
<template x-ref="template">
|
|
<div class="z-10 flex w-[300px] flex-col items-start gap-4 bg-white px-5 py-6 text-sm font-normal leading-normal text-gray-700 peer-hover:text-red-400 peer-has-[:focus-within]:text-red-400"
|
|
role="tooltip" aria-label="What Our Ratings Mean Tooltip">
|
|
<span class="absolute -top-3 right-0 w-full leading-none"> </span>
|
|
<div class="font-stretch-ultra-condensed text-xl font-bold leading-tight">What Our Ratings Mean</div>
|
|
<hr class="!m-0 w-full border-gray-300">
|
|
<div class="flex flex-col items-start gap-4">
|
|
<ul class="!m-0 flex-col gap-1 !p-0">
|
|
<template x-for="(score, index) in scoreTiers" :key="index">
|
|
<li class="mt-2 flex !leading-normal md:mt-1"
|
|
:class="score.score === parseFloat(product.score) ? 'font-semibold' : ''"
|
|
x-text="score.score + ' - ' + score.text + ': ' + score.description"></li>
|
|
</template>
|
|
</ul>
|
|
<p>
|
|
Read Our
|
|
<a class="underline" data-module="Ratings_Tooltip" data-element="Tooltip_button"
|
|
data-item="link" href="/about/pcmagcom-mission-statement"
|
|
aria-label="Editorial Mission Statement"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType" x-track-ga-click>Editorial
|
|
Mission Statement</a>
|
|
and
|
|
<a class="underline" data-module="Ratings_Tooltip" data-element="Tooltip_button"
|
|
data-item="link" href="/about/how-we-test-everything-we-review"
|
|
aria-label="Testing Methodologies"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType" x-track-ga-click>Testing
|
|
Methodologies</a>.
|
|
</p>
|
|
</div>
|
|
<button class="absolute right-4" aria-label="Close What Our Ratings Mean Tooltip"
|
|
x-on:click="$refs.trigger._tippy.hide()">
|
|
<svg class="size-4 text-red-400 fill-current hover:text-red-500" aria-hidden="true" data-prefix="fal" data-icon="times" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M193.94 256 296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z"/></svg> </button>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
<template x-if="product.name">
|
|
<span class="text-xl font-bold leading-tight"
|
|
x-text="product.name"></span>
|
|
</template>
|
|
<template x-if="product.description">
|
|
<div class="text-sm">
|
|
<span x-text="product.description"></span>
|
|
<template x-if="product.url">
|
|
<a class="mt-2 block font-bold underline sm:mt-0 sm:inline"
|
|
data-element="Full_Report_Card"
|
|
data-item="review_link"
|
|
title="(Opens in a new tab)"
|
|
:data-module="sourceModule"
|
|
:href="product.url" target="_blank"
|
|
:data-position="productIndex + 1"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType"
|
|
x-track-ga-click>Read Full Review</a>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
<template
|
|
x-if="product.offer && (product.offer.discount || product.offer.displayListPrice || product.offer.displaySalePrice)">
|
|
<div
|
|
class="mt-2 flex flex-col text-sm sm:flex-row sm:items-end">
|
|
<div class="sm:flex-grow">
|
|
<template
|
|
x-if="product.offer.displayListPrice || product.offer.displaySalePrice">
|
|
<div>
|
|
<span class="font-bold"
|
|
x-text="product.offer.displaySalePrice ?? product.offer.displayListPrice"></span>
|
|
<template
|
|
x-if="product.offer.merchant">
|
|
<span class="text-sm">at <span
|
|
x-text="product.offer.merchant"></span></span>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
<template
|
|
x-if="product.offer.discount || (product.offer.displaySalePrice && product.offer.displayListPrice)">
|
|
<div>
|
|
<template
|
|
x-if="product.offer.displaySalePrice !== null && product.offer.displaySalePrice !== product.offer.displayListPrice">
|
|
<span class="font-bold line-through"
|
|
x-text="product.offer.displayListPrice"></span>
|
|
</template>
|
|
<template
|
|
x-if="product.offer.discount">
|
|
<span class="font-bold text-red-400"
|
|
x-text="'Save ' + product.offer.discount"></span>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
<template x-if="product.offer.commerceUrl">
|
|
<a class="group mt-6 sm:mt-2"
|
|
data-element="Full_Report_Card"
|
|
data-item="buy_button"
|
|
title="(Opens in a new tab)"
|
|
:data-module="sourceModule"
|
|
x-bind:href="trackCommerceUrl(product.offer
|
|
.commerceUrl,
|
|
'Full Report Product Card',
|
|
productIndex + 1)"
|
|
:data-position="productIndex + 1"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType"
|
|
target="_blank" x-track-ga-click>
|
|
<span
|
|
class="shadow-solid-button w-full sm:w-[150px]">See
|
|
It</span>
|
|
</a>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
<hr class="mt-4 border-t border-gray-300">
|
|
<template x-if="product.pros || product.cons">
|
|
<div class="grid grid-cols-1 sm:grid-cols-2 sm:gap-4"
|
|
x-data="{ showDrawer: true }">
|
|
<div class="col-span-full mt-4 flex cursor-pointer text-lg font-bold"
|
|
data-element="Full_Report_Card"
|
|
data-item="Collapsible Pros/Cons"
|
|
:data-module="sourceModule"
|
|
@click="showDrawer = !showDrawer"
|
|
x-track-ga-click>
|
|
<div class="flex-grow">Pros & Cons</div>
|
|
<div class="text-red-400"
|
|
x-show="showDrawer === false">
|
|
<svg class="size-5 md:size-6 inline-block" aria-hidden="true" data-prefix="fal" data-icon="chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m443.5 162.6-7.1-7.1c-4.7-4.7-12.3-4.7-17 0L224 351 28.5 155.5c-4.7-4.7-12.3-4.7-17 0l-7.1 7.1c-4.7 4.7-4.7 12.3 0 17l211 211.1c4.7 4.7 12.3 4.7 17 0l211-211.1c4.8-4.7 4.8-12.3.1-17z"/></svg> </div>
|
|
<div class="text-red-400" x-show="showDrawer">
|
|
<svg class="size-5 md:size-6 inline-block" aria-hidden="true" data-prefix="fal" data-icon="chevron-up" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m4.465 366.475 7.07 7.071c4.686 4.686 12.284 4.686 16.971 0L224 178.053l195.494 195.493c4.686 4.686 12.284 4.686 16.971 0l7.07-7.071c4.686-4.686 4.686-12.284 0-16.97l-211.05-211.051c-4.686-4.686-12.284-4.686-16.971 0L4.465 349.505c-4.687 4.686-4.687 12.284 0 16.97z"/></svg> </div>
|
|
</div>
|
|
<template x-if="product.pros && showDrawer">
|
|
<ul class="mt-2">
|
|
<template x-for="pros in product.pros">
|
|
<li
|
|
class="mb-2 flex items-center space-x-2">
|
|
<span><svg class="w-4 h-4 inline-block" width="14" height="14" viewBox="0 0 14 14" fill="currentColor"
|
|
xmlns="http://www.w3.org/2000/svg">
|
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
d="M7.66659 6.33331H13.6666V7.66665H7.66659V13.6666H6.33325V7.66665H0.333252V6.33331H6.33325V0.333313H7.66659V6.33331Z"
|
|
fill="currentColor" />
|
|
</svg></span>
|
|
<span class="text-sm"
|
|
x-text="pros"></span>
|
|
</li>
|
|
</template>
|
|
</ul>
|
|
</template>
|
|
<template x-if="product.cons && showDrawer">
|
|
<ul>
|
|
<template x-for="cons in product.cons">
|
|
<li
|
|
class="mb-2 flex items-center space-x-2">
|
|
<span><svg class="w-4 h-4 inline-block mr-2" width="14" height="2" viewBox="0 0 14 2" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
d="M13.6666 0.333313V1.66665H0.333252V0.333313H13.6666Z" fill="currentColor" />
|
|
</svg></span>
|
|
<span class="text-sm"
|
|
x-text="cons"></span>
|
|
</li>
|
|
</template>
|
|
</ul>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
<template x-if="product.specs.length > 0">
|
|
<div class="mt-4 border-t border-gray-300"
|
|
x-data="{ showDrawer: false }">
|
|
<div class="col-span-full mt-4 flex cursor-pointer text-lg font-bold"
|
|
data-element="Full_Report_Card"
|
|
data-item="More Less Specs"
|
|
:data-module="sourceModule"
|
|
@click="showDrawer = !showDrawer"
|
|
x-track-ga-click>
|
|
<div class="flex-grow">Specs & Configurations
|
|
</div>
|
|
<div class="text-red-400"
|
|
x-show="showDrawer === false">
|
|
<svg class="size-5 md:size-6 inline-block" aria-hidden="true" data-prefix="fal" data-icon="chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m443.5 162.6-7.1-7.1c-4.7-4.7-12.3-4.7-17 0L224 351 28.5 155.5c-4.7-4.7-12.3-4.7-17 0l-7.1 7.1c-4.7 4.7-4.7 12.3 0 17l211 211.1c4.7 4.7 12.3 4.7 17 0l211-211.1c4.8-4.7 4.8-12.3.1-17z"/></svg> </div>
|
|
<div class="text-red-400" x-show="showDrawer">
|
|
<svg class="size-5 md:size-6 inline-block" aria-hidden="true" data-prefix="fal" data-icon="chevron-up" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="m4.465 366.475 7.07 7.071c4.686 4.686 12.284 4.686 16.971 0L224 178.053l195.494 195.493c4.686 4.686 12.284 4.686 16.971 0l7.07-7.071c4.686-4.686 4.686-12.284 0-16.97l-211.05-211.051c-4.686-4.686-12.284-4.686-16.971 0L4.465 349.505c-4.687 4.686-4.687 12.284 0 16.97z"/></svg> </div>
|
|
</div>
|
|
<table class="default mt-4 w-full"
|
|
x-show="showDrawer">
|
|
<tbody>
|
|
<template x-for="(spec, index) in product.specs"
|
|
:key="index">
|
|
<tr class="text-sm"
|
|
:class="index % 2 === 0 ? 'bg-gray-100' : ''">
|
|
<td class="block w-1/2 px-2 pb-0 pt-2 font-bold sm:table-cell sm:py-2"
|
|
x-text="spec.name"></td>
|
|
<td class="block px-2 pb-2 pt-0 sm:table-cell sm:py-2"
|
|
x-text="spec.value + (spec.unit !== null ? ' ' + spec.unit : '')">
|
|
</td>
|
|
</tr>
|
|
</template>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
|
|
|
|
<template
|
|
x-if="message.productsFeature.length > 0 && message.processingText === false">
|
|
<div class="mt-6">
|
|
<div class="font-bold"><svg class="w-6 h-6 inline-block mr-1" width="44" height="50" viewBox="0 0 44 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path d="M43.2509 40.5133V2.79666C43.2509 2.70352 43.2463 2.61114 43.2371 2.52029C43.2349 2.49472 43.2318 2.46952 43.2287 2.44433C43.2226 2.39814 43.2158 2.35233 43.2078 2.30691C43.1955 2.23858 43.1806 2.1714 43.1639 2.10498C43.1524 2.06108 43.1402 2.01756 43.1268 1.97443C42.9921 1.54117 42.7535 1.15372 42.4409 0.840705L42.4401 0.839942C42.284 0.683816 42.1088 0.546014 41.9191 0.430733C41.5007 0.176123 41.009 0.029541 40.4834 0.029541H2.76712C1.2387 0.029541 0 1.26862 0 2.79666V40.5133C0 41.2779 0.30996 41.97 0.811164 42.4708C1.31199 42.9712 2.00329 43.2804 2.76712 43.2804H26.7087C27.4006 44.0041 28.211 44.7837 29.0979 45.5405C31.0247 47.251 33.5037 48.8239 36.1173 49.6216C36.7707 49.8211 37.4162 49.712 37.7738 49.2089C38.2248 48.7343 38.2376 48.024 38.0066 47.4433C37.9489 47.4257 37.9378 47.3833 37.9224 47.3247C37.9129 47.2885 37.9017 47.2462 37.8769 47.1996L37.5527 46.5905C37.3821 46.1616 37.2073 45.5645 37.0052 44.8743C36.9337 44.63 36.8587 44.3739 36.7793 44.1096C36.7081 43.8445 36.6428 43.5676 36.585 43.2804H40.4834C42.0118 43.2804 43.2509 42.0414 43.2509 40.5133Z" fill="url(#paint0_linear_2424_105)"/>
|
|
<path d="M29.1963 21.625L30.8311 25.8467L35.25 27.4092L30.8311 28.9717L29.1963 33.1944L27.5615 28.9717L23.1426 27.4102L27.5615 25.8467L29.1963 21.625Z" fill="white"/>
|
|
<path d="M19.5654 19.1485L26.5703 21.625L19.5654 24.1026L16.9736 30.795L14.3818 24.1026L7.37793 21.625L14.3818 19.1485L16.9736 12.4551L19.5654 19.1485Z" fill="white"/>
|
|
<path d="M28.2832 7.87016L29.5791 11.2168L33.082 12.4551L29.5791 13.6944L28.2832 17.0411L26.9873 13.6944L23.4854 12.4561L26.9873 11.2168L28.2832 7.87016Z" fill="white"/>
|
|
<defs>
|
|
<linearGradient id="paint0_linear_2424_105" x1="35.2572" y1="11.875" x2="7.21755e-07" y2="36.875" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#EB002E"/>
|
|
<stop offset="1" stop-color="#D700EB"/>
|
|
</linearGradient>
|
|
</defs>
|
|
</svg> My Best Recommendation</div>
|
|
<template x-for="(product, productIndex) in message.productsFeature">
|
|
<div
|
|
class="mt-4 flex flex-col space-y-2 sm:flex-row sm:space-x-5 sm:space-y-0">
|
|
<div class="w-full sm:w-[320px]">
|
|
<img class="mx-auto w-full" :title="product.name"
|
|
:alt="product.image.altText"
|
|
x-bind:src="formatImage(product.image.url, 325, 183)" />
|
|
</div>
|
|
<div class="flex flex-1 flex-col space-y-2 sm:space-y-1">
|
|
<div class="flex flex-row items-center text-red-400">
|
|
<template x-if="product.isEditorsChoice">
|
|
<svg class="inline-block h-auto select-none w-20 mr-2" data-name="Layer 1" id="Layer_1" version="1.1" viewBox="0 0 704.1 239.5"
|
|
xmlns="http://www.w3.org/2000/svg">
|
|
<defs>
|
|
<style>
|
|
.cls-1{fill:#eb002e}.cls-1,.cls-2,.cls-3{stroke-width:0}.cls-2{fill:#7e011f}.cls-4{fill:none;stroke:#fff;stroke-width:5px}.cls-3{fill:#fff}</style>
|
|
</defs>
|
|
<path class="cls-2"
|
|
d="M702,135.5l-58.1,98.1c-1.9,3.3-6,5.9-9.9,5.9H34c-4.3,0-7.7-2-11-4.9l-17.5-14.6c1,.5,3.6,1.2,4.8,1.4.6,0,1.1.1,1.7.1,0,0,0,0,.1,0h610.4c4.1,0,7.4-2,9.5-5.5l58-98c1.9-3.2,3.3-9.1,2-12.5l11,18.5c2.1,3.4,1,8-1,11.5Z" />
|
|
<path class="cls-1"
|
|
d="M0,11.1C0,5,5,0,11.1,0h611.7c3.9,0,7.5,2.1,9.6,5.4l59.3,99.6c2.1,3.5,2.1,7.9,0,11.4l-59.3,99.6c-2,3.4-5.6,5.4-9.6,5.4H11.1c-6.1,0-11.1-5-11.1-11.1V11.1Z" />
|
|
<path class="cls-3"
|
|
d="M306.7,52.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-21.4c-.3,0-.4.1-.4.4v12.5c0,.3.1.4.4.4h13.4c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-13.4c-.3,0-.4.1-.4.4v12.9c0,.3.1.4.4.4h21.4c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-32.2c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h32.2c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8ZM321.7,100.1c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h17.2c3.6,0,6.7.7,9.4,2,2.8,1.3,4.9,3.2,6.4,5.7,1.5,2.5,2.2,5.3,2.2,8.6v23.5c0,3.3-.7,6.1-2.2,8.6-1.5,2.5-3.6,4.3-6.4,5.7-2.7,1.3-5.9,2-9.4,2h-17.2ZM332,90c0,.3.1.4.4.4h6.6c2,0,3.6-.8,4.8-2.2,1.2-1.4,1.9-3.3,1.9-5.7v-21c0-2.4-.6-4.3-1.8-5.7-1.2-1.4-2.9-2.2-4.9-2.2h-6.6c-.3,0-.4.1-.4.4v35.8ZM372.6,100.1c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.4c.3,0,.5.1.6.3.2.2.3.4.3.6v54.1c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4ZM433.4,44.1c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-12.2c-.3,0-.4.1-.4.4v44.9c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-44.9c0-.3-.1-.4-.4-.4h-11.8c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-7.8c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h36ZM463.6,100.8c-3.7,0-6.9-.7-9.8-2.2-2.8-1.5-4.9-3.6-6.5-6.3s-2.3-5.9-2.3-9.5v-21.3c0-3.6.8-6.7,2.3-9.4,1.5-2.7,3.7-4.8,6.5-6.3,2.8-1.5,6.1-2.2,9.8-2.2s6.9.7,9.8,2.2c2.8,1.5,5,3.6,6.6,6.3,1.5,2.7,2.3,5.9,2.3,9.4v21.3c0,3.6-.8,6.8-2.3,9.5s-3.7,4.8-6.6,6.3c-2.8,1.5-6.1,2.2-9.8,2.2ZM463.6,91.1c2.2,0,4-.7,5.4-2.2,1.3-1.5,2-3.4,2-5.8v-22.1c0-2.4-.7-4.3-2-5.8-1.3-1.5-3.1-2.2-5.4-2.2s-3.9.7-5.3,2.2c-1.3,1.4-2,3.4-2,5.8v22.1c0,2.3.7,4.3,2,5.8,1.3,1.4,3.1,2.2,5.3,2.2ZM523.3,100.1c-.6,0-1-.3-1.1-.8l-8.1-22.1c-.1-.2-.2-.3-.4-.3h-5c-.3,0-.4.1-.4.4v21.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h19.5c3.1,0,5.9.7,8.4,2.2,2.5,1.4,4.3,3.4,5.7,5.9,1.3,2.6,2,5.5,2,8.8s-.7,6.4-2.2,8.9c-1.5,2.5-3.6,4.4-6.3,5.6-.3.1-.3.3-.2.6l9.1,23c0,.1,0,.2,0,.4,0,.5-.3.7-.9.7h-9.8ZM508.6,53.8c-.3,0-.4.1-.4.4v13.7c0,.3.1.4.4.4h7c2,0,3.6-.6,4.8-1.9,1.2-1.3,1.8-3.1,1.8-5.3s-.6-4-1.8-5.3c-1.2-1.3-2.8-2-4.8-2h-7ZM564.5,100.7c-3.7,0-6.9-.6-9.7-1.9-2.8-1.3-4.9-3.2-6.5-5.5-1.5-2.4-2.2-5.1-2.2-8.2v-2.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.2c.3,0,.5.1.6.3.2.2.3.4.3.6v1.5c0,1.9.7,3.4,2.1,4.7,1.4,1.2,3.3,1.8,5.6,1.8s3.7-.5,4.7-1.6c1.1-1.1,1.7-2.4,1.7-4.1s-.3-2.3-1-3.1c-.7-.9-1.7-1.7-3-2.5-1.2-.8-3.1-1.9-5.8-3.2-3.2-1.6-5.8-3.1-7.8-4.5-2-1.4-3.8-3.2-5.2-5.4-1.4-2.2-2.2-4.8-2.2-7.9s.7-5.8,2.2-8.1c1.5-2.3,3.6-4.1,6.2-5.4,2.7-1.3,5.7-1.9,9.1-1.9s6.7.7,9.5,2.1c2.8,1.3,4.9,3.2,6.5,5.7,1.5,2.5,2.3,5.3,2.3,8.5v1.6c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.2c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-1.4c0-1.9-.7-3.5-2-4.8-1.3-1.3-3.1-1.9-5.4-1.9s-3.4.5-4.6,1.5c-1.1,1-1.6,2.3-1.6,4.1s.3,2.3,1,3.2c.6.9,1.6,1.8,3,2.6,1.3.8,3.4,1.9,6.1,3.2l1.7,1c3.1,1.7,5.5,3.2,7.2,4.5,1.8,1.2,3.2,2.8,4.4,4.7,1.2,1.9,1.8,4.2,1.8,7,0,4.9-1.7,8.7-5,11.6-3.3,2.8-7.6,4.2-13,4.2ZM606.7,44.1c.8,0,1.1.4.8,1.1l-6,16.2c-.2.5-.5.8-1.1.8h-7c-.7,0-1-.3-.9-1l3.8-16.2c.2-.5.5-.8,1-.8h9.4Z" />
|
|
<path class="cls-3"
|
|
d="M291,176.4c-3.6,0-6.8-.7-9.6-2.2-2.8-1.4-4.9-3.5-6.5-6.2-1.5-2.7-2.2-5.8-2.2-9.3v-22.2c0-3.5.7-6.5,2.2-9.1,1.5-2.7,3.7-4.7,6.5-6.2,2.8-1.4,6-2.2,9.6-2.2s6.8.7,9.6,2.2c2.8,1.4,4.9,3.4,6.4,5.9,1.5,2.6,2.3,5.5,2.3,9v.4c0,.3-.1.5-.3.7-.2.2-.4.3-.6.3l-9.4.4c-.6,0-1-.3-1-.9v-1c0-2.2-.6-3.9-1.9-5.3-1.3-1.3-3-2-5.1-2s-3.8.7-5.1,2c-1.3,1.3-1.9,3.1-1.9,5.3v23.4c0,2.2.6,3.9,1.9,5.3,1.3,1.3,3,1.9,5.1,1.9s3.8-.6,5.1-1.9c1.3-1.3,1.9-3.1,1.9-5.3v-1c0-.6.3-.9,1-.9l9.4.4c.3,0,.5.1.6.3.2.2.3.4.3.6v.2c0,3.4-.8,6.4-2.3,9-1.5,2.6-3.6,4.6-6.4,6.1-2.8,1.4-6,2.1-9.6,2.1ZM348.6,120.8c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.4c.3,0,.5.1.6.3.2.2.3.4.3.6v54.1c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-21.9c0-.3-.1-.4-.4-.4h-12.8c-.3,0-.4.1-.4.4v21.9c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.4c.3,0,.5.1.6.3.2.2.3.4.3.6v21.6c0,.3.1.4.4.4h12.8c.3,0,.4-.1.4-.4v-21.6ZM392.8,176.5c-3.7,0-6.9-.7-9.8-2.2-2.8-1.5-4.9-3.6-6.5-6.3-1.5-2.7-2.3-5.9-2.3-9.5v-21.3c0-3.6.8-6.7,2.3-9.4,1.5-2.7,3.7-4.8,6.5-6.3,2.8-1.5,6.1-2.2,9.8-2.2s6.9.7,9.8,2.2c2.8,1.5,5,3.6,6.6,6.3,1.5,2.7,2.3,5.9,2.3,9.4v21.3c0,3.6-.8,6.8-2.3,9.5-1.5,2.7-3.7,4.8-6.6,6.3-2.8,1.5-6.1,2.2-9.8,2.2ZM392.8,166.8c2.2,0,4-.7,5.4-2.2,1.3-1.5,2-3.4,2-5.8v-22.1c0-2.4-.7-4.3-2-5.8-1.3-1.5-3.1-2.2-5.4-2.2s-3.9.7-5.3,2.2c-1.3,1.4-2,3.4-2,5.8v22.1c0,2.3.7,4.3,2,5.8,1.3,1.4,3.1,2.2,5.3,2.2ZM427.2,175.8c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.4c.3,0,.5.1.6.3.2.2.3.4.3.6v54.1c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4ZM470.5,176.4c-3.6,0-6.8-.7-9.6-2.2-2.8-1.4-4.9-3.5-6.5-6.2-1.5-2.7-2.2-5.8-2.2-9.3v-22.2c0-3.5.7-6.5,2.2-9.1,1.5-2.7,3.7-4.7,6.5-6.2,2.8-1.4,6-2.2,9.6-2.2s6.8.7,9.6,2.2c2.8,1.4,4.9,3.4,6.4,5.9,1.5,2.6,2.3,5.5,2.3,9v.4c0,.3-.1.5-.3.7-.2.2-.4.3-.6.3l-9.4.4c-.6,0-1-.3-1-.9v-1c0-2.2-.6-3.9-1.9-5.3-1.3-1.3-3-2-5.1-2s-3.8.7-5.1,2c-1.3,1.3-1.9,3.1-1.9,5.3v23.4c0,2.2.6,3.9,1.9,5.3,1.3,1.3,3,1.9,5.1,1.9s3.8-.6,5.1-1.9c1.3-1.3,1.9-3.1,1.9-5.3v-1c0-.6.3-.9,1-.9l9.4.4c.3,0,.5.1.6.3.2.2.3.4.3.6v.2c0,3.4-.8,6.4-2.3,9-1.5,2.6-3.6,4.6-6.4,6.1-2.8,1.4-6,2.1-9.6,2.1ZM537.3,128.5c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-21.4c-.3,0-.4.1-.4.4v12.5c0,.3.1.4.4.4h13.4c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-13.4c-.3,0-.4.1-.4.4v12.9c0,.3.1.4.4.4h21.4c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-32.2c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h32.2c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8Z" />
|
|
<line class="cls-4" x1="222.4" x2="222.4" y1="31" y2="191" />
|
|
<path class="cls-3"
|
|
d="M145,188.9c-2.3-1.2-4-2.8-5.2-5-1.2-2.1-1.8-4.6-1.8-7.4v-14.4c0-2.8.6-5.3,1.8-7.4,1.2-2.1,3-3.8,5.2-4.9s4.9-1.8,7.8-1.8,5.5.6,7.8,1.7c2.2,1.2,4,2.7,5.2,4.7,1.2,2,1.8,4.2,1.8,6.7v.5c0,.2,0,.4-.2.5-.1.1-.3.2-.5.2h-5.4c-.2,0-.4,0-.5-.2-.1-.1-.2-.3-.2-.5v-.3c0-2.1-.7-3.9-2.2-5.3-1.4-1.4-3.4-2.1-5.8-2.1s-4.4.7-5.8,2.2c-1.5,1.4-2.2,3.4-2.2,5.7v14.9c0,2.4.8,4.3,2.3,5.7,1.5,1.4,3.5,2.2,6,2.2s4.2-.6,5.6-1.9c1.4-1.2,2.1-3,2.1-5.1v-3.7c0-.2-.1-.3-.3-.3h-7.3c-.2,0-.4,0-.5-.2-.1-.1-.2-.3-.2-.5v-4.4c0-.2,0-.4.2-.5.1-.1.3-.2.5-.2h13.7c.2,0,.4,0,.5.2.1.1.2.3.2.5v7.6c0,4.6-1.3,8.1-4,10.6-2.7,2.5-6.3,3.8-10.8,3.8s-5.6-.6-7.8-1.8h0Z" />
|
|
<path class="cls-3"
|
|
d="M123.6,189.6l-2-6.4c0-.2-.2-.2-.3-.2h-15.7c-.1,0-.2,0-.3.2l-2,6.4c-.1.4-.4.6-.8.6h-5.9c-.2,0-.4,0-.5-.2-.1-.1-.1-.3,0-.6l12.9-40.2c.1-.4.4-.6.8-.6h7.4c.4,0,.7.2.8.6l13,40.2c0,0,0,.2,0,.3,0,.4-.2.5-.7.5h-5.9c-.4,0-.7-.2-.8-.6h0ZM107.4,177.6h12.1c.2,0,.3-.1.2-.4l-6.1-19.9c0-.2,0-.2-.2-.2s-.1,0-.2.2l-6.1,19.9c0,.2,0,.4.2.4h0Z" />
|
|
<path class="cls-3"
|
|
d="M80.7,148.6h5.5c.2,0,.4,0,.5.2.1.1.2.3.2.5v40.2c0,.2,0,.4-.2.5-.1.1-.3.2-.5.2h-5.5c-.2,0-.4,0-.5-.2-.1-.1-.2-.3-.2-.5v-28.3c0-.1,0-.2-.1-.2,0,0-.2,0-.2.1l-7.4,11.4c-.2.3-.5.5-.8.5h-2.7c-.4,0-.6-.2-.8-.5l-7.5-11.3c0-.1-.1-.2-.2-.1,0,0-.1.1-.1.2v28.3c0,.2,0,.4-.2.5-.1.1-.3.2-.5.2h-5.5c-.2,0-.4,0-.5-.2-.1-.1-.2-.3-.2-.5v-40.2c0-.2,0-.4.2-.5.1-.1.3-.2.5-.2h5.5c.4,0,.6.2.8.5l9.7,14.7c0,0,.2.1.2.1s.1,0,.2-.1l9.7-14.7c.2-.3.5-.5.8-.5h0Z" />
|
|
<path class="cls-3"
|
|
d="M145.5,94h22.7c.2,0,.4.2.4.4v22.3c0,8-2.5,14-7.7,18.1-5.2,4.1-11.8,6.1-19.9,6.1s-14.4-1.9-19.7-5.6c-5.3-3.7-7.9-9.4-7.9-16.9V52c0-7.6,2.6-13.2,7.9-17,5.3-3.7,11.9-5.6,19.7-5.6s14.7,2,19.9,6.1c5.2,4.1,7.7,10.1,7.7,18s0,22.6,0,22.6c0,.2-.2.4-.4.4h-22.7c-.6,0-1-.5-1-1v-23.3c0-.9-.3-1.7-1-2.4-.7-.6-1.5-1-2.4-1s-1.6.3-2.3.9c-.6.6-1,1.4-1,2.3v.2s0,65.8,0,65.8v.2c0,.9.4,1.6,1.1,2.2.6.6,1.4.9,2.3.9s1.7-.3,2.4-1c.6-.7,1-1.5,1-2.4v-23.1c0-.6.5-1,1-1h0Z" />
|
|
<path class="cls-3"
|
|
d="M84.3,30.9c3.8,0,7.5.8,11.3,2.6,3.3,1.6,5.8,3.8,7.7,6.6,2.3,3.5,3.5,8.4,3.6,14.7v26.9c0,10.5-3.9,17.5-11.3,21.2-3.7,1.8-7.5,2.7-11.3,2.6h-5.9c-.6,0-1,.5-1,1v32.3c0,.6-.5,1-1,1h-22.4c-.6,0-1-.5-1-1V31.9c0-.6.5-1,1-1h30.3ZM84.4,52.6c0-.8-.3-1.5-1-2.1-.7-.6-1.5-.9-2.3-.9h-2.4c-.6,0-1,.5-1,1v33.6c0,.6.5,1,1,1h2.4c.5,0,1.1,0,1.6-.3.5-.2.9-.5,1.3-.9.3-.4.5-1,.5-1.8v-29.8h0Z" />
|
|
</svg> </template>
|
|
<template x-if="product.score">
|
|
<template
|
|
x-for="rating in convertScore(product.score)">
|
|
<div class="-mt-1">
|
|
<template x-if="rating === 'full'">
|
|
<div>
|
|
<svg class="size-3 inline-block mr-1" aria-hidden="true" data-prefix="fas" data-icon="circle" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"/></svg> </div>
|
|
</template>
|
|
<template x-if="rating === 'half'">
|
|
<div>
|
|
<svg class="size-3 inline-block mr-1" aria-hidden="true" data-prefix="fas" data-icon="adjust" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z"/></svg> </div>
|
|
</template>
|
|
<template x-if="rating === 'empty'">
|
|
<div>
|
|
<svg class="size-3 inline-block mr-1" aria-hidden="true" data-prefix="far" data-icon="circle" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z"/></svg> </div>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<template x-if="product.score">
|
|
<div class="flex space-x-1">
|
|
<div class="ml-1 flex text-sm font-bold leading-none">
|
|
<span x-text="scoreTierMetaData(product.score).score"></span>
|
|
<span x-text="scoreTierMetaData(product.score).text"></span>
|
|
</div>
|
|
<div class="group relative select-none leading-[0]" x-data="{
|
|
setup: () => ({
|
|
allowHTML: true,
|
|
appendTo: $root,
|
|
maxWidth: 350,
|
|
offset: [20, 10],
|
|
interactive: true,
|
|
interactiveBorder: 30,
|
|
placement: 'bottom-end',
|
|
trigger: 'click mouseenter',
|
|
moveTransition: 'transform 250ms ease',
|
|
content: () => $refs.template.innerHTML,
|
|
}),
|
|
}"
|
|
x-on:keydown.escape.window="$refs.trigger._tippy.hide()">
|
|
<button class="peer text-red-400 transition-colors focus:text-red-400 lg:group-hover:text-red-400"
|
|
data-module="Ratings_Tooltip" data-element="Tooltip_button_mobile" data-item="button"
|
|
aria-label="Toggle What Our Ratings Mean Tooltip" :data-title="product.score"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType" x-ref="trigger" x-tooltip="setup()"
|
|
x-track-ga-click>
|
|
<svg class="inline-block size-3 sm:size-[.875rem] fill-current" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc.--><path d="M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm168.7-86.2c6.5-24.6 28.7-41.8 54.2-41.8l57.1 0c35.5 0 64 29 64 64.3c0 24-13.4 46.2-34.9 57.2L272 268.3l0 19.7c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-29.5c0-6 3.4-11.5 8.7-14.3l45.8-23.4c10.7-5.4 17.5-16.6 17.5-28.7c0-17.8-14.4-32.3-32-32.3l-57.1 0c-10.9 0-20.5 7.4-23.2 17.9l-.2 .7c-2.2 8.5-11 13.7-19.5 11.4s-13.7-11-11.4-19.5l.2-.7zM232 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"/></svg> </button>
|
|
<template x-ref="template">
|
|
<div class="z-10 flex w-[300px] flex-col items-start gap-4 bg-white px-5 py-6 text-sm font-normal leading-normal text-gray-700 peer-hover:text-red-400 peer-has-[:focus-within]:text-red-400"
|
|
role="tooltip" aria-label="What Our Ratings Mean Tooltip">
|
|
<span class="absolute -top-3 right-0 w-full leading-none"> </span>
|
|
<div class="font-stretch-ultra-condensed text-xl font-bold leading-tight">What Our Ratings Mean</div>
|
|
<hr class="!m-0 w-full border-gray-300">
|
|
<div class="flex flex-col items-start gap-4">
|
|
<ul class="!m-0 flex-col gap-1 !p-0">
|
|
<template x-for="(score, index) in scoreTiers" :key="index">
|
|
<li class="mt-2 flex !leading-normal md:mt-1"
|
|
:class="score.score === parseFloat(product.score) ? 'font-semibold' : ''"
|
|
x-text="score.score + ' - ' + score.text + ': ' + score.description"></li>
|
|
</template>
|
|
</ul>
|
|
<p>
|
|
Read Our
|
|
<a class="underline" data-module="Ratings_Tooltip" data-element="Tooltip_button"
|
|
data-item="link" href="/about/pcmagcom-mission-statement"
|
|
aria-label="Editorial Mission Statement"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType" x-track-ga-click>Editorial
|
|
Mission Statement</a>
|
|
and
|
|
<a class="underline" data-module="Ratings_Tooltip" data-element="Tooltip_button"
|
|
data-item="link" href="/about/how-we-test-everything-we-review"
|
|
aria-label="Testing Methodologies"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType" x-track-ga-click>Testing
|
|
Methodologies</a>.
|
|
</p>
|
|
</div>
|
|
<button class="absolute right-4" aria-label="Close What Our Ratings Mean Tooltip"
|
|
x-on:click="$refs.trigger._tippy.hide()">
|
|
<svg class="size-4 text-red-400 fill-current hover:text-red-500" aria-hidden="true" data-prefix="fal" data-icon="times" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M193.94 256 296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z"/></svg> </button>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
<template x-if="product.name">
|
|
<div class="text-xl font-bold leading-tight"
|
|
x-text="product.name"></div>
|
|
</template>
|
|
<template x-if="product.description">
|
|
<div class="text-sm">
|
|
<span x-text="product.description"></span>
|
|
<template x-if="product.url">
|
|
<a class="mt-2 block font-bold underline sm:mt-0 sm:inline"
|
|
data-element="Top Recommendation Card"
|
|
data-item="review_link"
|
|
title="(Opens in a new tab)"
|
|
:data-module="sourceModule"
|
|
:href="product.url" target="_blank"
|
|
:data-position="productIndex + 1"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType"
|
|
x-track-ga-click>Read Full Review</a>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
<template
|
|
x-if="product.offer && (product.offer.discount || product.offer.displayListPrice || product.offer.displaySalePrice)">
|
|
<div
|
|
class="mt-2 flex flex-col text-sm sm:flex-row sm:items-end">
|
|
<div class="sm:flex-grow">
|
|
<template
|
|
x-if="product.offer.displayListPrice || product.offer.displaySalePrice">
|
|
<div>
|
|
<span class="font-bold"
|
|
x-text="product.offer.displaySalePrice ?? product.offer.displayListPrice"></span>
|
|
<template
|
|
x-if="product.offer.merchant">
|
|
<span class="text-sm">at <span
|
|
x-text="product.offer.merchant"></span></span>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
<template
|
|
x-if="product.offer.discount || (product.offer.displaySalePrice && product.offer.displayListPrice)">
|
|
<div>
|
|
<template
|
|
x-if="product.offer.displaySalePrice !== null && product.offer.displaySalePrice !== product.offer.displayListPrice">
|
|
<span class="font-bold line-through"
|
|
x-text="product.offer.displayListPrice"></span>
|
|
</template>
|
|
<template
|
|
x-if="product.offer.discount">
|
|
<span class="font-bold text-red-400"
|
|
x-text="'Save ' + product.offer.discount"></span>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
<template x-if="product.offer.commerceUrl">
|
|
<a class="group mt-6 sm:mt-2"
|
|
data-element="Top Recommendation Card"
|
|
data-item="buy_button"
|
|
title="(Opens in a new tab)"
|
|
:data-module="sourceModule"
|
|
x-bind:href="trackCommerceUrl(product.offer.commerceUrl,
|
|
'Top Recommendation Card',
|
|
productIndex + 1)"
|
|
:data-position="productIndex + 1"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType"
|
|
target="_blank" x-track-ga-click>
|
|
<span
|
|
class="shadow-solid-button w-full sm:w-[150px]">See
|
|
It</span>
|
|
</a>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
|
|
|
|
<template
|
|
x-if="message.productsSimple.length > 0 && message.processingText === false">
|
|
<div class="mt-6">
|
|
<template x-if="message.decisionType === 'PRODUCT COMPARISON'">
|
|
<div class="font-bold"><svg class="w-6 h-6 inline-block mr-1" width="44" height="50" viewBox="0 0 44 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path d="M43.2509 40.5133V2.79666C43.2509 2.70352 43.2463 2.61114 43.2371 2.52029C43.2349 2.49472 43.2318 2.46952 43.2287 2.44433C43.2226 2.39814 43.2158 2.35233 43.2078 2.30691C43.1955 2.23858 43.1806 2.1714 43.1639 2.10498C43.1524 2.06108 43.1402 2.01756 43.1268 1.97443C42.9921 1.54117 42.7535 1.15372 42.4409 0.840705L42.4401 0.839942C42.284 0.683816 42.1088 0.546014 41.9191 0.430733C41.5007 0.176123 41.009 0.029541 40.4834 0.029541H2.76712C1.2387 0.029541 0 1.26862 0 2.79666V40.5133C0 41.2779 0.30996 41.97 0.811164 42.4708C1.31199 42.9712 2.00329 43.2804 2.76712 43.2804H26.7087C27.4006 44.0041 28.211 44.7837 29.0979 45.5405C31.0247 47.251 33.5037 48.8239 36.1173 49.6216C36.7707 49.8211 37.4162 49.712 37.7738 49.2089C38.2248 48.7343 38.2376 48.024 38.0066 47.4433C37.9489 47.4257 37.9378 47.3833 37.9224 47.3247C37.9129 47.2885 37.9017 47.2462 37.8769 47.1996L37.5527 46.5905C37.3821 46.1616 37.2073 45.5645 37.0052 44.8743C36.9337 44.63 36.8587 44.3739 36.7793 44.1096C36.7081 43.8445 36.6428 43.5676 36.585 43.2804H40.4834C42.0118 43.2804 43.2509 42.0414 43.2509 40.5133Z" fill="url(#paint0_linear_2424_105)"/>
|
|
<path d="M29.1963 21.625L30.8311 25.8467L35.25 27.4092L30.8311 28.9717L29.1963 33.1944L27.5615 28.9717L23.1426 27.4102L27.5615 25.8467L29.1963 21.625Z" fill="white"/>
|
|
<path d="M19.5654 19.1485L26.5703 21.625L19.5654 24.1026L16.9736 30.795L14.3818 24.1026L7.37793 21.625L14.3818 19.1485L16.9736 12.4551L19.5654 19.1485Z" fill="white"/>
|
|
<path d="M28.2832 7.87016L29.5791 11.2168L33.082 12.4551L29.5791 13.6944L28.2832 17.0411L26.9873 13.6944L23.4854 12.4561L26.9873 11.2168L28.2832 7.87016Z" fill="white"/>
|
|
<defs>
|
|
<linearGradient id="paint0_linear_2424_105" x1="35.2572" y1="11.875" x2="7.21755e-07" y2="36.875" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#EB002E"/>
|
|
<stop offset="1" stop-color="#D700EB"/>
|
|
</linearGradient>
|
|
</defs>
|
|
</svg> Here's What I Found</div>
|
|
</template>
|
|
<template x-if="message.decisionType != 'PRODUCT COMPARISON'">
|
|
<div class="font-bold"><svg class="w-6 h-6 inline-block mr-1" width="44" height="50" viewBox="0 0 44 50" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path d="M43.2509 40.5133V2.79666C43.2509 2.70352 43.2463 2.61114 43.2371 2.52029C43.2349 2.49472 43.2318 2.46952 43.2287 2.44433C43.2226 2.39814 43.2158 2.35233 43.2078 2.30691C43.1955 2.23858 43.1806 2.1714 43.1639 2.10498C43.1524 2.06108 43.1402 2.01756 43.1268 1.97443C42.9921 1.54117 42.7535 1.15372 42.4409 0.840705L42.4401 0.839942C42.284 0.683816 42.1088 0.546014 41.9191 0.430733C41.5007 0.176123 41.009 0.029541 40.4834 0.029541H2.76712C1.2387 0.029541 0 1.26862 0 2.79666V40.5133C0 41.2779 0.30996 41.97 0.811164 42.4708C1.31199 42.9712 2.00329 43.2804 2.76712 43.2804H26.7087C27.4006 44.0041 28.211 44.7837 29.0979 45.5405C31.0247 47.251 33.5037 48.8239 36.1173 49.6216C36.7707 49.8211 37.4162 49.712 37.7738 49.2089C38.2248 48.7343 38.2376 48.024 38.0066 47.4433C37.9489 47.4257 37.9378 47.3833 37.9224 47.3247C37.9129 47.2885 37.9017 47.2462 37.8769 47.1996L37.5527 46.5905C37.3821 46.1616 37.2073 45.5645 37.0052 44.8743C36.9337 44.63 36.8587 44.3739 36.7793 44.1096C36.7081 43.8445 36.6428 43.5676 36.585 43.2804H40.4834C42.0118 43.2804 43.2509 42.0414 43.2509 40.5133Z" fill="url(#paint0_linear_2424_105)"/>
|
|
<path d="M29.1963 21.625L30.8311 25.8467L35.25 27.4092L30.8311 28.9717L29.1963 33.1944L27.5615 28.9717L23.1426 27.4102L27.5615 25.8467L29.1963 21.625Z" fill="white"/>
|
|
<path d="M19.5654 19.1485L26.5703 21.625L19.5654 24.1026L16.9736 30.795L14.3818 24.1026L7.37793 21.625L14.3818 19.1485L16.9736 12.4551L19.5654 19.1485Z" fill="white"/>
|
|
<path d="M28.2832 7.87016L29.5791 11.2168L33.082 12.4551L29.5791 13.6944L28.2832 17.0411L26.9873 13.6944L23.4854 12.4561L26.9873 11.2168L28.2832 7.87016Z" fill="white"/>
|
|
<defs>
|
|
<linearGradient id="paint0_linear_2424_105" x1="35.2572" y1="11.875" x2="7.21755e-07" y2="36.875" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#EB002E"/>
|
|
<stop offset="1" stop-color="#D700EB"/>
|
|
</linearGradient>
|
|
</defs>
|
|
</svg> More Recommendations
|
|
</div>
|
|
</template>
|
|
<template x-for="(product, productIndex) in message.productsSimple">
|
|
<div
|
|
class="mt-4 flex flex-col space-y-2 sm:flex-row sm:space-x-5 sm:space-y-0">
|
|
<div
|
|
class="w-full md:flex-shrink-0 md:flex-grow-0 md:basis-[200px]">
|
|
<img class="mx-auto w-full" :title="product.name"
|
|
:alt="product.image.altText"
|
|
x-bind:src="formatImage(product.image.url, 200, 113)" />
|
|
</div>
|
|
<div
|
|
class="flex flex-col md:flex-grow md:flex-row md:space-x-5">
|
|
<div class="flex flex-1 flex-col space-y-2 sm:space-y-1">
|
|
<template x-if="product.sponsor">
|
|
<div class="!-mt-1">
|
|
<div
|
|
class="inline-block rounded bg-gray-500 px-1 py-0.5 text-xs text-white">
|
|
<span
|
|
x-text="product.url ? 'Featured Deal' : 'Advertisement'"></span>
|
|
<div class="group relative inline-block inline-block select-none leading-[0]"
|
|
x-data="{
|
|
setup: () => ({
|
|
allowHTML: true,
|
|
appendTo: $root,
|
|
maxWidth: 350,
|
|
offset: [20, 10],
|
|
interactive: true,
|
|
interactiveBorder: 30,
|
|
placement: 'bottom-end',
|
|
trigger: 'click mouseenter',
|
|
moveTransition: 'transform 250ms ease',
|
|
content: () => $refs.template.innerHTML,
|
|
}),
|
|
}"
|
|
x-on:keydown.escape.window="$refs.trigger._tippy.hide()">
|
|
<button class="peer"
|
|
data-module="Ratings_Tooltip"
|
|
data-element="Tooltip_button_mobile"
|
|
data-item="button"
|
|
aria-label="Toggle What Our Ratings Mean Tooltip"
|
|
:data-title="product.score"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType"
|
|
x-ref="trigger"
|
|
x-tooltip="setup()"
|
|
x-track-ga-click>
|
|
<svg class="inline-block ml-0.5 mb-0.5 size-[1rem] fill-current" xmlns="http://www.w3.org/2000/svg" width="10" height="11" viewBox="0 0 10 11" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M0.800049 5.62559C0.800049 8.05564 2.77 10.0256 5.20005 10.0256C7.6301 10.0256 9.60005 8.05564 9.60005 5.62559C9.60005 3.19553 7.6301 1.22559 5.20005 1.22559C2.77 1.22559 0.800049 3.19553 0.800049 5.62559ZM8.80002 5.62568C8.80002 7.61391 7.18825 9.22568 5.20002 9.22568C3.2118 9.22568 1.60002 7.61391 1.60002 5.62568C1.60002 3.63746 3.2118 2.02568 5.20002 2.02568C7.18825 2.02568 8.80002 3.63746 8.80002 5.62568ZM5.60146 6.4251H6.0012V7.2251H4.4012V6.4251H4.8012V5.6251H4.4012V4.8251H5.60146V6.4251ZM5.60029 4.0251C5.60029 4.24601 5.42114 4.4251 5.20016 4.4251C4.97917 4.4251 4.80002 4.24601 4.80002 4.0251C4.80002 3.80418 4.97917 3.6251 5.20016 3.6251C5.42114 3.6251 5.60029 3.80418 5.60029 4.0251Z" fill="currentColor"/></svg> </button>
|
|
<template x-ref="template">
|
|
<div class="z-10 flex w-[300px] flex-col items-start gap-4 bg-white px-2 py-3 text-sm font-normal leading-normal text-gray-700 peer-hover:text-red-400"
|
|
role="tooltip"
|
|
aria-label="About this Product">
|
|
<span
|
|
class="absolute -top-3 right-0 w-full leading-none"> </span>
|
|
<div
|
|
x-text="product.url ? 'Our experts tested this product as part of our independent review. While the company paid for highlighted placement on this page, the description and evaluation reflect our own findings.' : 'Our experts tested this product as part of our independent review. While the company paid for highlighted placement on this page, the description and evaluation reflect our own findings.'">
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<template x-if="product.url">
|
|
<div
|
|
class="flex flex-row items-center text-red-400">
|
|
<template x-if="product.isEditorsChoice">
|
|
<svg class="inline-block h-auto select-none w-20 mr-2" data-name="Layer 1" id="Layer_1" version="1.1" viewBox="0 0 704.1 239.5"
|
|
xmlns="http://www.w3.org/2000/svg">
|
|
<defs>
|
|
<style>
|
|
.cls-1{fill:#eb002e}.cls-1,.cls-2,.cls-3{stroke-width:0}.cls-2{fill:#7e011f}.cls-4{fill:none;stroke:#fff;stroke-width:5px}.cls-3{fill:#fff}</style>
|
|
</defs>
|
|
<path class="cls-2"
|
|
d="M702,135.5l-58.1,98.1c-1.9,3.3-6,5.9-9.9,5.9H34c-4.3,0-7.7-2-11-4.9l-17.5-14.6c1,.5,3.6,1.2,4.8,1.4.6,0,1.1.1,1.7.1,0,0,0,0,.1,0h610.4c4.1,0,7.4-2,9.5-5.5l58-98c1.9-3.2,3.3-9.1,2-12.5l11,18.5c2.1,3.4,1,8-1,11.5Z" />
|
|
<path class="cls-1"
|
|
d="M0,11.1C0,5,5,0,11.1,0h611.7c3.9,0,7.5,2.1,9.6,5.4l59.3,99.6c2.1,3.5,2.1,7.9,0,11.4l-59.3,99.6c-2,3.4-5.6,5.4-9.6,5.4H11.1c-6.1,0-11.1-5-11.1-11.1V11.1Z" />
|
|
<path class="cls-3"
|
|
d="M306.7,52.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-21.4c-.3,0-.4.1-.4.4v12.5c0,.3.1.4.4.4h13.4c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-13.4c-.3,0-.4.1-.4.4v12.9c0,.3.1.4.4.4h21.4c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-32.2c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h32.2c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8ZM321.7,100.1c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h17.2c3.6,0,6.7.7,9.4,2,2.8,1.3,4.9,3.2,6.4,5.7,1.5,2.5,2.2,5.3,2.2,8.6v23.5c0,3.3-.7,6.1-2.2,8.6-1.5,2.5-3.6,4.3-6.4,5.7-2.7,1.3-5.9,2-9.4,2h-17.2ZM332,90c0,.3.1.4.4.4h6.6c2,0,3.6-.8,4.8-2.2,1.2-1.4,1.9-3.3,1.9-5.7v-21c0-2.4-.6-4.3-1.8-5.7-1.2-1.4-2.9-2.2-4.9-2.2h-6.6c-.3,0-.4.1-.4.4v35.8ZM372.6,100.1c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.4c.3,0,.5.1.6.3.2.2.3.4.3.6v54.1c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4ZM433.4,44.1c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-12.2c-.3,0-.4.1-.4.4v44.9c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-44.9c0-.3-.1-.4-.4-.4h-11.8c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-7.8c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h36ZM463.6,100.8c-3.7,0-6.9-.7-9.8-2.2-2.8-1.5-4.9-3.6-6.5-6.3s-2.3-5.9-2.3-9.5v-21.3c0-3.6.8-6.7,2.3-9.4,1.5-2.7,3.7-4.8,6.5-6.3,2.8-1.5,6.1-2.2,9.8-2.2s6.9.7,9.8,2.2c2.8,1.5,5,3.6,6.6,6.3,1.5,2.7,2.3,5.9,2.3,9.4v21.3c0,3.6-.8,6.8-2.3,9.5s-3.7,4.8-6.6,6.3c-2.8,1.5-6.1,2.2-9.8,2.2ZM463.6,91.1c2.2,0,4-.7,5.4-2.2,1.3-1.5,2-3.4,2-5.8v-22.1c0-2.4-.7-4.3-2-5.8-1.3-1.5-3.1-2.2-5.4-2.2s-3.9.7-5.3,2.2c-1.3,1.4-2,3.4-2,5.8v22.1c0,2.3.7,4.3,2,5.8,1.3,1.4,3.1,2.2,5.3,2.2ZM523.3,100.1c-.6,0-1-.3-1.1-.8l-8.1-22.1c-.1-.2-.2-.3-.4-.3h-5c-.3,0-.4.1-.4.4v21.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h19.5c3.1,0,5.9.7,8.4,2.2,2.5,1.4,4.3,3.4,5.7,5.9,1.3,2.6,2,5.5,2,8.8s-.7,6.4-2.2,8.9c-1.5,2.5-3.6,4.4-6.3,5.6-.3.1-.3.3-.2.6l9.1,23c0,.1,0,.2,0,.4,0,.5-.3.7-.9.7h-9.8ZM508.6,53.8c-.3,0-.4.1-.4.4v13.7c0,.3.1.4.4.4h7c2,0,3.6-.6,4.8-1.9,1.2-1.3,1.8-3.1,1.8-5.3s-.6-4-1.8-5.3c-1.2-1.3-2.8-2-4.8-2h-7ZM564.5,100.7c-3.7,0-6.9-.6-9.7-1.9-2.8-1.3-4.9-3.2-6.5-5.5-1.5-2.4-2.2-5.1-2.2-8.2v-2.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.2c.3,0,.5.1.6.3.2.2.3.4.3.6v1.5c0,1.9.7,3.4,2.1,4.7,1.4,1.2,3.3,1.8,5.6,1.8s3.7-.5,4.7-1.6c1.1-1.1,1.7-2.4,1.7-4.1s-.3-2.3-1-3.1c-.7-.9-1.7-1.7-3-2.5-1.2-.8-3.1-1.9-5.8-3.2-3.2-1.6-5.8-3.1-7.8-4.5-2-1.4-3.8-3.2-5.2-5.4-1.4-2.2-2.2-4.8-2.2-7.9s.7-5.8,2.2-8.1c1.5-2.3,3.6-4.1,6.2-5.4,2.7-1.3,5.7-1.9,9.1-1.9s6.7.7,9.5,2.1c2.8,1.3,4.9,3.2,6.5,5.7,1.5,2.5,2.3,5.3,2.3,8.5v1.6c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.2c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-1.4c0-1.9-.7-3.5-2-4.8-1.3-1.3-3.1-1.9-5.4-1.9s-3.4.5-4.6,1.5c-1.1,1-1.6,2.3-1.6,4.1s.3,2.3,1,3.2c.6.9,1.6,1.8,3,2.6,1.3.8,3.4,1.9,6.1,3.2l1.7,1c3.1,1.7,5.5,3.2,7.2,4.5,1.8,1.2,3.2,2.8,4.4,4.7,1.2,1.9,1.8,4.2,1.8,7,0,4.9-1.7,8.7-5,11.6-3.3,2.8-7.6,4.2-13,4.2ZM606.7,44.1c.8,0,1.1.4.8,1.1l-6,16.2c-.2.5-.5.8-1.1.8h-7c-.7,0-1-.3-.9-1l3.8-16.2c.2-.5.5-.8,1-.8h9.4Z" />
|
|
<path class="cls-3"
|
|
d="M291,176.4c-3.6,0-6.8-.7-9.6-2.2-2.8-1.4-4.9-3.5-6.5-6.2-1.5-2.7-2.2-5.8-2.2-9.3v-22.2c0-3.5.7-6.5,2.2-9.1,1.5-2.7,3.7-4.7,6.5-6.2,2.8-1.4,6-2.2,9.6-2.2s6.8.7,9.6,2.2c2.8,1.4,4.9,3.4,6.4,5.9,1.5,2.6,2.3,5.5,2.3,9v.4c0,.3-.1.5-.3.7-.2.2-.4.3-.6.3l-9.4.4c-.6,0-1-.3-1-.9v-1c0-2.2-.6-3.9-1.9-5.3-1.3-1.3-3-2-5.1-2s-3.8.7-5.1,2c-1.3,1.3-1.9,3.1-1.9,5.3v23.4c0,2.2.6,3.9,1.9,5.3,1.3,1.3,3,1.9,5.1,1.9s3.8-.6,5.1-1.9c1.3-1.3,1.9-3.1,1.9-5.3v-1c0-.6.3-.9,1-.9l9.4.4c.3,0,.5.1.6.3.2.2.3.4.3.6v.2c0,3.4-.8,6.4-2.3,9-1.5,2.6-3.6,4.6-6.4,6.1-2.8,1.4-6,2.1-9.6,2.1ZM348.6,120.8c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.4c.3,0,.5.1.6.3.2.2.3.4.3.6v54.1c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-21.9c0-.3-.1-.4-.4-.4h-12.8c-.3,0-.4.1-.4.4v21.9c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.4c.3,0,.5.1.6.3.2.2.3.4.3.6v21.6c0,.3.1.4.4.4h12.8c.3,0,.4-.1.4-.4v-21.6ZM392.8,176.5c-3.7,0-6.9-.7-9.8-2.2-2.8-1.5-4.9-3.6-6.5-6.3-1.5-2.7-2.3-5.9-2.3-9.5v-21.3c0-3.6.8-6.7,2.3-9.4,1.5-2.7,3.7-4.8,6.5-6.3,2.8-1.5,6.1-2.2,9.8-2.2s6.9.7,9.8,2.2c2.8,1.5,5,3.6,6.6,6.3,1.5,2.7,2.3,5.9,2.3,9.4v21.3c0,3.6-.8,6.8-2.3,9.5-1.5,2.7-3.7,4.8-6.6,6.3-2.8,1.5-6.1,2.2-9.8,2.2ZM392.8,166.8c2.2,0,4-.7,5.4-2.2,1.3-1.5,2-3.4,2-5.8v-22.1c0-2.4-.7-4.3-2-5.8-1.3-1.5-3.1-2.2-5.4-2.2s-3.9.7-5.3,2.2c-1.3,1.4-2,3.4-2,5.8v22.1c0,2.3.7,4.3,2,5.8,1.3,1.4,3.1,2.2,5.3,2.2ZM427.2,175.8c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h9.4c.3,0,.5.1.6.3.2.2.3.4.3.6v54.1c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-9.4ZM470.5,176.4c-3.6,0-6.8-.7-9.6-2.2-2.8-1.4-4.9-3.5-6.5-6.2-1.5-2.7-2.2-5.8-2.2-9.3v-22.2c0-3.5.7-6.5,2.2-9.1,1.5-2.7,3.7-4.7,6.5-6.2,2.8-1.4,6-2.2,9.6-2.2s6.8.7,9.6,2.2c2.8,1.4,4.9,3.4,6.4,5.9,1.5,2.6,2.3,5.5,2.3,9v.4c0,.3-.1.5-.3.7-.2.2-.4.3-.6.3l-9.4.4c-.6,0-1-.3-1-.9v-1c0-2.2-.6-3.9-1.9-5.3-1.3-1.3-3-2-5.1-2s-3.8.7-5.1,2c-1.3,1.3-1.9,3.1-1.9,5.3v23.4c0,2.2.6,3.9,1.9,5.3,1.3,1.3,3,1.9,5.1,1.9s3.8-.6,5.1-1.9c1.3-1.3,1.9-3.1,1.9-5.3v-1c0-.6.3-.9,1-.9l9.4.4c.3,0,.5.1.6.3.2.2.3.4.3.6v.2c0,3.4-.8,6.4-2.3,9-1.5,2.6-3.6,4.6-6.4,6.1-2.8,1.4-6,2.1-9.6,2.1ZM537.3,128.5c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-21.4c-.3,0-.4.1-.4.4v12.5c0,.3.1.4.4.4h13.4c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-13.4c-.3,0-.4.1-.4.4v12.9c0,.3.1.4.4.4h21.4c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8c0,.3-.1.5-.3.7-.2.2-.4.2-.6.2h-32.2c-.3,0-.5,0-.7-.2-.2-.2-.2-.5-.2-.7v-54.1c0-.3,0-.5.2-.6.2-.2.5-.3.7-.3h32.2c.3,0,.5.1.6.3.2.2.3.4.3.6v7.8Z" />
|
|
<line class="cls-4" x1="222.4" x2="222.4" y1="31" y2="191" />
|
|
<path class="cls-3"
|
|
d="M145,188.9c-2.3-1.2-4-2.8-5.2-5-1.2-2.1-1.8-4.6-1.8-7.4v-14.4c0-2.8.6-5.3,1.8-7.4,1.2-2.1,3-3.8,5.2-4.9s4.9-1.8,7.8-1.8,5.5.6,7.8,1.7c2.2,1.2,4,2.7,5.2,4.7,1.2,2,1.8,4.2,1.8,6.7v.5c0,.2,0,.4-.2.5-.1.1-.3.2-.5.2h-5.4c-.2,0-.4,0-.5-.2-.1-.1-.2-.3-.2-.5v-.3c0-2.1-.7-3.9-2.2-5.3-1.4-1.4-3.4-2.1-5.8-2.1s-4.4.7-5.8,2.2c-1.5,1.4-2.2,3.4-2.2,5.7v14.9c0,2.4.8,4.3,2.3,5.7,1.5,1.4,3.5,2.2,6,2.2s4.2-.6,5.6-1.9c1.4-1.2,2.1-3,2.1-5.1v-3.7c0-.2-.1-.3-.3-.3h-7.3c-.2,0-.4,0-.5-.2-.1-.1-.2-.3-.2-.5v-4.4c0-.2,0-.4.2-.5.1-.1.3-.2.5-.2h13.7c.2,0,.4,0,.5.2.1.1.2.3.2.5v7.6c0,4.6-1.3,8.1-4,10.6-2.7,2.5-6.3,3.8-10.8,3.8s-5.6-.6-7.8-1.8h0Z" />
|
|
<path class="cls-3"
|
|
d="M123.6,189.6l-2-6.4c0-.2-.2-.2-.3-.2h-15.7c-.1,0-.2,0-.3.2l-2,6.4c-.1.4-.4.6-.8.6h-5.9c-.2,0-.4,0-.5-.2-.1-.1-.1-.3,0-.6l12.9-40.2c.1-.4.4-.6.8-.6h7.4c.4,0,.7.2.8.6l13,40.2c0,0,0,.2,0,.3,0,.4-.2.5-.7.5h-5.9c-.4,0-.7-.2-.8-.6h0ZM107.4,177.6h12.1c.2,0,.3-.1.2-.4l-6.1-19.9c0-.2,0-.2-.2-.2s-.1,0-.2.2l-6.1,19.9c0,.2,0,.4.2.4h0Z" />
|
|
<path class="cls-3"
|
|
d="M80.7,148.6h5.5c.2,0,.4,0,.5.2.1.1.2.3.2.5v40.2c0,.2,0,.4-.2.5-.1.1-.3.2-.5.2h-5.5c-.2,0-.4,0-.5-.2-.1-.1-.2-.3-.2-.5v-28.3c0-.1,0-.2-.1-.2,0,0-.2,0-.2.1l-7.4,11.4c-.2.3-.5.5-.8.5h-2.7c-.4,0-.6-.2-.8-.5l-7.5-11.3c0-.1-.1-.2-.2-.1,0,0-.1.1-.1.2v28.3c0,.2,0,.4-.2.5-.1.1-.3.2-.5.2h-5.5c-.2,0-.4,0-.5-.2-.1-.1-.2-.3-.2-.5v-40.2c0-.2,0-.4.2-.5.1-.1.3-.2.5-.2h5.5c.4,0,.6.2.8.5l9.7,14.7c0,0,.2.1.2.1s.1,0,.2-.1l9.7-14.7c.2-.3.5-.5.8-.5h0Z" />
|
|
<path class="cls-3"
|
|
d="M145.5,94h22.7c.2,0,.4.2.4.4v22.3c0,8-2.5,14-7.7,18.1-5.2,4.1-11.8,6.1-19.9,6.1s-14.4-1.9-19.7-5.6c-5.3-3.7-7.9-9.4-7.9-16.9V52c0-7.6,2.6-13.2,7.9-17,5.3-3.7,11.9-5.6,19.7-5.6s14.7,2,19.9,6.1c5.2,4.1,7.7,10.1,7.7,18s0,22.6,0,22.6c0,.2-.2.4-.4.4h-22.7c-.6,0-1-.5-1-1v-23.3c0-.9-.3-1.7-1-2.4-.7-.6-1.5-1-2.4-1s-1.6.3-2.3.9c-.6.6-1,1.4-1,2.3v.2s0,65.8,0,65.8v.2c0,.9.4,1.6,1.1,2.2.6.6,1.4.9,2.3.9s1.7-.3,2.4-1c.6-.7,1-1.5,1-2.4v-23.1c0-.6.5-1,1-1h0Z" />
|
|
<path class="cls-3"
|
|
d="M84.3,30.9c3.8,0,7.5.8,11.3,2.6,3.3,1.6,5.8,3.8,7.7,6.6,2.3,3.5,3.5,8.4,3.6,14.7v26.9c0,10.5-3.9,17.5-11.3,21.2-3.7,1.8-7.5,2.7-11.3,2.6h-5.9c-.6,0-1,.5-1,1v32.3c0,.6-.5,1-1,1h-22.4c-.6,0-1-.5-1-1V31.9c0-.6.5-1,1-1h30.3ZM84.4,52.6c0-.8-.3-1.5-1-2.1-.7-.6-1.5-.9-2.3-.9h-2.4c-.6,0-1,.5-1,1v33.6c0,.6.5,1,1,1h2.4c.5,0,1.1,0,1.6-.3.5-.2.9-.5,1.3-.9.3-.4.5-1,.5-1.8v-29.8h0Z" />
|
|
</svg> </template>
|
|
<template x-if="product.score">
|
|
<template
|
|
x-for="rating in convertScore(product.score)">
|
|
<div class="-mt-1">
|
|
<template x-if="rating === 'full'">
|
|
<div>
|
|
<svg class="size-3 inline-block mr-1" aria-hidden="true" data-prefix="fas" data-icon="circle" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"/></svg> </div>
|
|
</template>
|
|
<template x-if="rating === 'half'">
|
|
<div>
|
|
<svg class="size-3 inline-block mr-1" aria-hidden="true" data-prefix="fas" data-icon="adjust" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z"/></svg> </div>
|
|
</template>
|
|
<template
|
|
x-if="rating === 'empty'">
|
|
<div>
|
|
<svg class="size-3 inline-block mr-1" aria-hidden="true" data-prefix="far" data-icon="circle" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z"/></svg> </div>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<template x-if="product.score">
|
|
<div class="flex space-x-1">
|
|
<div class="ml-1 flex text-sm font-bold leading-none">
|
|
<span x-text="scoreTierMetaData(product.score).score"></span>
|
|
<span x-text="scoreTierMetaData(product.score).text"></span>
|
|
</div>
|
|
<div class="group relative select-none leading-[0]" x-data="{
|
|
setup: () => ({
|
|
allowHTML: true,
|
|
appendTo: $root,
|
|
maxWidth: 350,
|
|
offset: [20, 10],
|
|
interactive: true,
|
|
interactiveBorder: 30,
|
|
placement: 'bottom-end',
|
|
trigger: 'click mouseenter',
|
|
moveTransition: 'transform 250ms ease',
|
|
content: () => $refs.template.innerHTML,
|
|
}),
|
|
}"
|
|
x-on:keydown.escape.window="$refs.trigger._tippy.hide()">
|
|
<button class="peer text-red-400 transition-colors focus:text-red-400 lg:group-hover:text-red-400"
|
|
data-module="Ratings_Tooltip" data-element="Tooltip_button_mobile" data-item="button"
|
|
aria-label="Toggle What Our Ratings Mean Tooltip" :data-title="product.score"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType" x-ref="trigger" x-tooltip="setup()"
|
|
x-track-ga-click>
|
|
<svg class="inline-block size-3 sm:size-[.875rem] fill-current" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc.--><path d="M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm168.7-86.2c6.5-24.6 28.7-41.8 54.2-41.8l57.1 0c35.5 0 64 29 64 64.3c0 24-13.4 46.2-34.9 57.2L272 268.3l0 19.7c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-29.5c0-6 3.4-11.5 8.7-14.3l45.8-23.4c10.7-5.4 17.5-16.6 17.5-28.7c0-17.8-14.4-32.3-32-32.3l-57.1 0c-10.9 0-20.5 7.4-23.2 17.9l-.2 .7c-2.2 8.5-11 13.7-19.5 11.4s-13.7-11-11.4-19.5l.2-.7zM232 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"/></svg> </button>
|
|
<template x-ref="template">
|
|
<div class="z-10 flex w-[300px] flex-col items-start gap-4 bg-white px-5 py-6 text-sm font-normal leading-normal text-gray-700 peer-hover:text-red-400 peer-has-[:focus-within]:text-red-400"
|
|
role="tooltip" aria-label="What Our Ratings Mean Tooltip">
|
|
<span class="absolute -top-3 right-0 w-full leading-none"> </span>
|
|
<div class="font-stretch-ultra-condensed text-xl font-bold leading-tight">What Our Ratings Mean</div>
|
|
<hr class="!m-0 w-full border-gray-300">
|
|
<div class="flex flex-col items-start gap-4">
|
|
<ul class="!m-0 flex-col gap-1 !p-0">
|
|
<template x-for="(score, index) in scoreTiers" :key="index">
|
|
<li class="mt-2 flex !leading-normal md:mt-1"
|
|
:class="score.score === parseFloat(product.score) ? 'font-semibold' : ''"
|
|
x-text="score.score + ' - ' + score.text + ': ' + score.description"></li>
|
|
</template>
|
|
</ul>
|
|
<p>
|
|
Read Our
|
|
<a class="underline" data-module="Ratings_Tooltip" data-element="Tooltip_button"
|
|
data-item="link" href="/about/pcmagcom-mission-statement"
|
|
aria-label="Editorial Mission Statement"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType" x-track-ga-click>Editorial
|
|
Mission Statement</a>
|
|
and
|
|
<a class="underline" data-module="Ratings_Tooltip" data-element="Tooltip_button"
|
|
data-item="link" href="/about/how-we-test-everything-we-review"
|
|
aria-label="Testing Methodologies"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType" x-track-ga-click>Testing
|
|
Methodologies</a>.
|
|
</p>
|
|
</div>
|
|
<button class="absolute right-4" aria-label="Close What Our Ratings Mean Tooltip"
|
|
x-on:click="$refs.trigger._tippy.hide()">
|
|
<svg class="size-4 text-red-400 fill-current hover:text-red-500" aria-hidden="true" data-prefix="fal" data-icon="times" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M193.94 256 296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z"/></svg> </button>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
<template x-if="product.name">
|
|
<div class="text-lg font-bold leading-tight"
|
|
x-text="product.name"></div>
|
|
</template>
|
|
<template x-if="product.description">
|
|
<div class="text-sm">
|
|
<span x-text="product.description"></span>
|
|
<template x-if="product.url">
|
|
<a class="mt-2 block font-bold underline sm:mt-0 sm:inline"
|
|
data-element="Stacked Product Card"
|
|
data-item="review_link"
|
|
title="(Opens in a new tab)"
|
|
:data-module="sourceModule"
|
|
:href="product.url" target="_blank"
|
|
:data-position="productIndex + 1"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType"
|
|
x-track-ga-click>Read Full Review</a>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
<template
|
|
x-if="product.offer && (product.offer.discount || product.offer.displayListPrice || product.offer.displaySalePrice)">
|
|
<div
|
|
class="flex flex-col text-sm sm:flex-row sm:items-end md:basis-[154px] md:flex-col">
|
|
<div class="sm:flex-grow md:flex-grow-0">
|
|
<template
|
|
x-if="product.offer.displayListPrice || product.offer.displaySalePrice">
|
|
<div>
|
|
<span class="font-bold"
|
|
x-text="product.offer.displaySalePrice ?? product.offer.displayListPrice"></span>
|
|
<template
|
|
x-if="product.offer.merchant">
|
|
<span class="text-sm">at <span
|
|
x-text="product.offer.merchant"></span></span>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
<template
|
|
x-if="product.offer.discount || (product.offer.displaySalePrice && product.offer.displayListPrice)">
|
|
<div>
|
|
<template
|
|
x-if="product.offer.displaySalePrice !== null && product.offer.displaySalePrice !== product.offer.displayListPrice">
|
|
<span class="font-bold line-through"
|
|
x-text="product.offer.displayListPrice"></span>
|
|
</template>
|
|
<template
|
|
x-if="product.offer.discount">
|
|
<span class="font-bold text-red-400"
|
|
x-text="'Save ' + product.offer.discount"></span>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
<template x-if="product.offer.commerceUrl">
|
|
<a class="group mt-6 sm:mt-2"
|
|
data-element="Stacked Product Card"
|
|
data-item="buy_button"
|
|
title="(Opens in a new tab)"
|
|
:data-module="sourceModule"
|
|
x-bind:href="trackCommerceUrl(product.offer.commerceUrl,
|
|
'Stacked Product Card',
|
|
productIndex + 1)"
|
|
:data-position="productIndex + 1"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType"
|
|
target="_blank" x-track-ga-click>
|
|
<span
|
|
class="shadow-solid-button w-full sm:w-[150px]">See
|
|
It</span>
|
|
</a>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
|
|
</template>
|
|
</div>
|
|
</template>
|
|
|
|
|
|
<template
|
|
x-if="message.citations.length > 0 && message.processingText === false">
|
|
<div class="mt-6">
|
|
<div class="font-bold">Based on these stories</div>
|
|
<template x-for="(content, index) in filterCitations(message)"
|
|
:key="index">
|
|
<a class="mt-4 block rounded-md border border-gray-200 p-4 shadow-md"
|
|
data-element="Attribution-Block" data-item="review_link"
|
|
:data-module="sourceModule" x-bind:href="content.url"
|
|
target="_blank" :data-title="content.title"
|
|
:data-custom-maggie-ai-output-category="message.getCategoriesAsString()"
|
|
:data-custom-maggie-ai-output-flow="message.decisionType"
|
|
x-track-ga-click>
|
|
<div
|
|
class="flex flex-col space-y-2 sm:flex-row sm:space-x-5 sm:space-y-0">
|
|
<div class="w-full sm:max-w-[160px]">
|
|
<img class="mx-auto w-full" title="Product Image"
|
|
alt="Product Image"
|
|
x-bind:src="formatImage(content.image, 160, 90)" />
|
|
</div>
|
|
<div class="flex-1">
|
|
<template x-if="content.title">
|
|
<div class="mt-4 text-xl font-bold leading-tight sm:mt-0 sm:leading-normal"
|
|
x-text="content.title"></div>
|
|
</template>
|
|
<template x-if="content.deck">
|
|
<div class="mt-4 sm:mt-0" x-text="content.deck">
|
|
</div>
|
|
</template>
|
|
<div class="mt-4 text-sm sm:mt-0">
|
|
<template x-if="content.pubDate">
|
|
<span class="mr-2 inline-block"
|
|
x-text="content.pubDate"></span>
|
|
</template>
|
|
<template x-if="content.authors">
|
|
<span>By
|
|
<template x-for="(author, authorIndex) in content.authors"
|
|
:key="authorIndex">
|
|
<span>
|
|
<span class="underline"
|
|
x-text="author"></span><template
|
|
x-if="authorIndex < content.authors.length - 1"><span>, </span></template>
|
|
</span>
|
|
</template>
|
|
</span>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
|
|
</div>
|
|
</template>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
|
|
<form class="mb-4 mt-6 flex w-full flex-col items-stretch space-x-0 space-y-2 md:flex-row md:space-x-4 md:space-y-0"
|
|
@submit.prevent="queryDeepChat()">
|
|
<input class="placeholder-text-red-400! block w-full flex-1 rounded-lg border border-gray-500 bg-[#f6f7ff] px-4 py-4 text-xl md:w-auto"
|
|
type="text" x-model="input" x-ref="inputField"
|
|
:placeholder="messages.length > 0 ? 'Want to go again?' : 'What can I help you find?'">
|
|
<button class="text-md flex h-[64px] w-full items-center justify-center rounded-lg bg-gradient-to-r from-[#EB002E] to-[#D700EB] font-semibold text-white md:w-[120px]"
|
|
type="submit">
|
|
<template x-if="isLoading()">
|
|
<span class="mx-auto inline-block"><svg class="w-12 h-8" width="36" height="18" fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><style>.spinner_qM83{animation:spinner_8HQG 1.05s infinite}.spinner_oXPr{animation-delay:.1s}.spinner_ZTLf{animation-delay:.2s}@keyframes spinner_8HQG{0%,57.14%{animation-timing-function:cubic-bezier(0.33,.66,.66,1);transform:translate(0)}28.57%{animation-timing-function:cubic-bezier(0.33,0,.66,.33);transform:translateY(-6px)}100%{transform:translate(0)}}</style><circle class="spinner_qM83" cx="4" cy="12" r="3"/><circle class="spinner_qM83 spinner_oXPr" cx="12" cy="12" r="3"/><circle class="spinner_qM83 spinner_ZTLf" cx="20" cy="12" r="3"/></svg></span>
|
|
</template>
|
|
<template x-if="!isLoading()">
|
|
<span class="mx-auto inline-block">Ask Me</span>
|
|
</template>
|
|
</button>
|
|
</form>
|
|
|
|
<div class="mx-auto mb-3 max-w-md text-center text-xs" x-show="messages.length === 0">
|
|
<svg class="w-4 h-4 inline-block -mt-1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc.--><path d="M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-88c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 64-24 0zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg> <b>Here are some examples of the types of questions you can ask:</b>
|
|
<ul class="mx-auto mt-2 max-w-[260px] list-disc text-left xs:max-w-[260px]">
|
|
<li class="mt-1">What's the best graphics card for 4K gaming?</li>
|
|
<li class="mt-1">Should I get the iPhone 17 or the iPhone 17 Pro?</li>
|
|
<li class="mt-1">Show me some good VPNs under $10 a month.</li>
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
<div class="my-2 text-center text-xs font-bold">I'm in Beta. <a class="underline"
|
|
data-element="survey-link-footer" data-item="Survey_link"
|
|
href="https://docs.google.com/forms/d/e/1FAIpQLSdL9ayCDMigj08oQXjAgDJVX77ti49d9ILHwE--ZFlRtEHOSw/viewform?usp=sharing&ouid=117991066449526760970"
|
|
:data-module="sourceModule" target="_blank" x-track-ga-click>Help me get
|
|
better</a>.
|
|
</div>
|
|
|
|
<div x-ref="deepChatContainer" x-cloak></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Scripts -->
|
|
<script src="/js/new-app.js?id=bbb20be58dac80e87a2bcdc738b1b660"></script>
|
|
<script>
|
|
document.querySelector('#app')
|
|
.setAttribute('x-data', 'seamlessScroll([{"title":"This Is What it Takes to Measure the Internet","slug":"\/news\/this-is-what-it-takes-to-measure-the-internet","canonical_url":"https:\/\/www.pcmag.com\/news\/this-is-what-it-takes-to-measure-the-internet","analytics":{"template":"article-page","object_type":"article","object_uuid":"07B87o5KTDEqza0uTIoCmui","object_subtype":"News","author":"S.C. Stuart","published_at":"2018-01-03","category":"News\u003ENetworking","title":"This Is What it Takes to Measure the Internet","first_published_at":"2018-01-03","updated_at":"2018-01-03","word_count":1024,"days_since_updated":3172,"weeks_since_updated":453,"days_since_originally_published":3172,"weeks_since_originally_published":453,"focus_keyword":"This Is What it Takes to Measure the Internet"}},{"title":"T-Mobile\u0027s CFO Dismisses SpaceX\u0027s Cellular Ambitions As Laughable","slug":"\/news\/t-mobiles-cfo-dismisses-spacexs-cellular-ambitions-as-laughable","canonical_url":"https:\/\/www.pcmag.com\/news\/t-mobiles-cfo-dismisses-spacexs-cellular-ambitions-as-laughable","analytics":{"template":"article-page","object_type":"article","object_uuid":"06xwgWAvqCjqGdAeNXLAo70","object_subtype":"News","author":"Michael Kan","published_at":"2026-09-10","category":"News\u003ENetworking","title":"T-Mobile\u0027s CFO Dismisses SpaceX\u0027s Cellular Ambitions As Laughable","first_published_at":"2026-09-10","updated_at":"2026-09-10","word_count":674,"days_since_updated":0,"weeks_since_updated":0,"days_since_originally_published":0,"weeks_since_originally_published":0,"focus_keyword":null}},{"title":"SpaceX Backtracks on Starlink Data Cap After Complaints","slug":"\/news\/spacex-backtracks-on-starlink-data-cap-after-complaints","canonical_url":"https:\/\/www.pcmag.com\/news\/spacex-backtracks-on-starlink-data-cap-after-complaints","analytics":{"template":"article-page","object_type":"article","object_uuid":"05jYkzNYCQALOYHEw30QSDg","object_subtype":"News","author":"Michael Kan","published_at":"2026-09-10","category":"News\u003ENetworking","title":"SpaceX Backtracks on Starlink Data Cap After Complaints","first_published_at":"2026-09-10","updated_at":"2026-09-10","word_count":632,"days_since_updated":0,"weeks_since_updated":0,"days_since_originally_published":0,"weeks_since_originally_published":0,"focus_keyword":null}},{"title":"Starlink Quietly Debuts Router 4, Confirms It Features Wi-Fi 7","slug":"\/news\/starlink-quietly-debuts-router-4-confirms-it-features-wi-fi-7","canonical_url":"https:\/\/www.pcmag.com\/news\/starlink-quietly-debuts-router-4-confirms-it-features-wi-fi-7","analytics":{"template":"article-page","object_type":"article","object_uuid":"00fTTuNzt04bHPm0uvyCyCJ","object_subtype":"News","author":"Michael Kan","published_at":"2026-09-09","category":"News\u003ENetworking","title":"Starlink Quietly Debuts Router 4, Confirms It Features Wi-Fi 7","first_published_at":"2026-09-09","updated_at":"2026-09-09","word_count":575,"days_since_updated":1,"weeks_since_updated":0,"days_since_originally_published":1,"weeks_since_originally_published":0,"focus_keyword":null}},{"title":"FCC: Satellite Constellations Don\u0027t Need Environmental Reviews","slug":"\/news\/fcc-satellite-constellations-dont-need-environmental-reviews","canonical_url":"https:\/\/www.pcmag.com\/news\/fcc-satellite-constellations-dont-need-environmental-reviews","analytics":{"template":"article-page","object_type":"article","object_uuid":"06Pm4oMbzug0Ut3l3TX65TM","object_subtype":"News","author":"Michael Kan","published_at":"2026-09-08","category":"News\u003ENetworking","title":"FCC: Satellite Constellations Don\u0027t Need Environmental Reviews","first_published_at":"2026-09-08","updated_at":"2026-09-08","word_count":635,"days_since_updated":2,"weeks_since_updated":0,"days_since_originally_published":2,"weeks_since_originally_published":0,"focus_keyword":null,"series":"Science \u0026 Space"}}])');
|
|
</script>
|
|
|
|
<div class="mx-auto my-16 hidden w-full flex-col items-center md:max-w-8xl" data-seamless-scroll-loading-indicator>
|
|
<div class="relative mb-2 flex w-full justify-center">
|
|
<div class="absolute left-1/2 top-1/2 h-[1px] w-[100dvw] bg-gray-300 translate-center md:w-full">
|
|
</div>
|
|
<span
|
|
class="font-roboto-flex relative block w-fit bg-white px-4 text-base font-bold uppercase leading-normal text-gray-700">Keep
|
|
scrolling for
|
|
next article</span>
|
|
</div>
|
|
|
|
<svg class="size-[22px] block text-[#F58096] animate-bounce" xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25" fill="none">
|
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
d="M12.5 23.1099C6.42487 23.1099 1.5 18.185 1.5 12.1099C1.5 6.03473 6.42487 1.10986 12.5 1.10986C18.5751 1.10986 23.5 6.03473 23.5 12.1099C23.5 18.185 18.5751 23.1099 12.5 23.1099ZM12.5 21.1099C17.4706 21.1099 21.5 17.0804 21.5 12.1099C21.5 7.1393 17.4706 3.10986 12.5 3.10986C7.52944 3.10986 3.5 7.1393 3.5 12.1099C3.5 17.0804 7.52944 21.1099 12.5 21.1099ZM17.2071 10.817L15.7929 9.40276L12.5 12.6957L9.20711 9.40276L7.79289 10.817L12.5 15.5241L17.2071 10.817Z"
|
|
fill="currentColor" />
|
|
</svg></div>
|
|
<script src="https://www.pcmag.com/js/alpine/link-copy.js" defer></script>
|
|
<script src="https://www.pcmag.com/js/alpine/sliding-div-carousel.js" defer></script>
|
|
<script defer src="https://unpkg.com/@alpinejs/intersect@3.9.5/dist/cdn.min.js"></script>
|
|
<script defer src="https://unpkg.com/@alpinejs/collapse@3.9.5/dist/cdn.min.js"></script>
|
|
<script defer src="https://unpkg.com/@alpinejs/resize@3.14.1/dist/cdn.min.js"></script>
|
|
<script defer src="https://cdn.jsdelivr.net/npm/@alpinejs/focus@3.14.1/dist/cdn.min.js"></script>
|
|
<script defer src="https://cdn.jsdelivr.net/npm/@ryangjchandler/alpine-tooltip@2.x.x/dist/cdn.min.js"></script>
|
|
<script defer src="https://unpkg.com/alpinejs@3.9.5/dist/cdn.min.js"></script>
|
|
<script>
|
|
(function() {
|
|
var s = document.getElementsByTagName('script')[0];
|
|
|
|
// Empty image alt text
|
|
setTimeout(function() {
|
|
document.querySelectorAll('img:not([alt])').forEach(function(element) {
|
|
element.setAttribute('alt', element.src);
|
|
});
|
|
}, 500);
|
|
|
|
// Core Key/Value Tracking
|
|
if (!window.zdcoreSignalBuffer) {
|
|
window.zdcoreSignalBuffer = [];
|
|
}
|
|
window.zdcoreSignalBuffer.push(["Generic KV Tracking", {
|
|
namespace: "ZDRPP",
|
|
key: "template",
|
|
value: window.template || null
|
|
}]);
|
|
})();
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script async type='text/javascript'
|
|
src='https://www.lightboxcdn.com/vendor/9745bb72-8a46-4340-9550-40bf46265b4e/lightbox_speed.js'></script>
|
|
</body>
|
|
|
|
</html>
|