tomshardware.co.uk

Evaluation du site tomshardware.co.uk

Tom's Hardware: For The Hardcore PC Enthusiast

 Généré le 19 Mars 2026 07:26

Vieilles statistiques? UPDATE !

Le score est de 56/100

Optimisation du contenu

Titre

Tom's Hardware: For The Hardcore PC Enthusiast

Longueur : 46

Parfait, votre titre contient entre 10 et 70 caractères.

Description

Tom's Hardware helps you buy the best hardware and build the best PC to play, create and work..

Longueur : 95

Génial, votre balise META description contient entre 70 et 160 caractères.

Mots-clefs

Très mauvais. Nous n'avons pas trouvé de balise META keywords sur votre page. Utilisez ce générateur gratuit de balises META en ligne pour créer des mots-clés.

Propriétés Open Graph

Bien, cette page profite des balises META Open Graph.

Propriété Contenu
site_name Tom's Hardware
type website
url https://www.tomshardware.com/uk

Niveaux de titre

H1 H2 H3 H4 H5 H6
0 15 95 0 0 0
  • [H2] News Stream
  • [H2]
  • [H2] Reviews
  • [H2] Best Picks
  • [H2] CPUs
  • [H2] Graphics Cards
  • [H2] Meet The Team
  • [H2] Laptops
  • [H2] Features
  • [H2] PC Components
  • [H2] Desktops and PC Building
  • [H2] Deals
  • [H2] Coupons
  • [H2] Help Us Test Our AI Chatbot
  • [H2] More from Tom's Hardware
  • [H3] Monthly \u00a36 per month Subscribe Now Included: \u2713 Flexible 30-day rolling contract Best Deal Annual \u00a325 per year Subscribe Now Included: \u2713 Save 65% on annual plans console.log('salut v7'); let scrollPositionB = 0; const subscriptionModule = document.getElementById('subscription-module'); if (window.self !== window.top) { subscriptionModule.classList.add('active'); } if (subscriptionModule) { const subscriptionOverlay = subscriptionModule.querySelector('.subscription-overlay'); const subscriptionCloseBtn = subscriptionModule.querySelector('.subscription-close'); function closeSubscriptionModal() { subscriptionModule.classList.remove('active'); const savedScroll = scrollPositionB; const html = document.documentElement; html.classList.remove('body-no-scroll'); html.style.top = ''; requestAnimationFrame(() => { window.scrollTo(0, savedScroll); }); } if (subscriptionOverlay) { subscriptionOverlay.addEventListener('click', closeSubscriptionModal); } if (subscriptionCloseBtn) { subscriptionCloseBtn.addEventListener('click', closeSubscriptionModal); } } const emailButtons = Array.from(document.getElementsByClassName('openEmailModalBtn')); emailButtons.forEach(btn => { btn.addEventListener('click', () => { if (subscriptionModule) closeSubscriptionModal(); const itemId = btn.getAttribute('data-item-id'); if (window.FUTR?.Kiosq?.ChargebeeCheckout) { window.FUTR.Kiosq.ChargebeeCheckout.open(itemId); } }); }); (function(){ console.debug(\"Tomshardware v3 offers multicurrency 1\"); document.getElementById(\"subscribe-now-redirection\").addEventListener('click', () => { scrollPositionB = window.pageYOffset; const subscriptionModule = document.getElementById('subscription-module'); if (subscriptionModule) { subscriptionModule.classList.add('active'); const html = document.documentElement; html.classList.add('body-no-scroll'); html.style.top = `-${scrollPositionB}px`; } }); window.FUTR.Kiosq.Gates.show('kiosq-subscription-gate_58cca5a8', { container: '#subscription-module', position: 'replace' }); })(); ","main_layer_premium_enabled":true,"main_layer_premium":" .frame-27, .frame-27 * { box-sizing: border-box; } .content-frame-27{ float: left; margin-top: 20px; width: 100%; border-radius: 1rem; \/* coins arrondis *\/ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2); \/* ombre port\u00e9e *\/ padding: 2rem; z-index: 10; animation: floatIn 0.3s ease-out; background: white; border: 0px; --pay-secondary-color: #6b7280; } .kiosq-gradient-frame-27 { height: 100px; position: relative; background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 85%); } .frame-27 { background: #ffffff; border-style: solid; border-color: #db3330; border-width: 4px 0px 4px 0px; padding: 20px; display: flex; flex-direction: column; gap: 20px; align-items: center; justify-content: flex-start; flex-shrink: 0; width: 100%; position: relative; } .you-ve-reached-your-free-article-access-limit-this-month { color: #1b1b1b; text-align: center; font: 300 20px \"PalatinoLinotype-Regular\", sans-serif; position: relative; } .frame-10 { background: #f5f5f5; display: flex; flex-direction: row; gap: 20px; align-items: flex-start; justify-content: center; flex-shrink: 0; width: 100%; position: relative; } .frame-9 { background: #f5f5f5; border-style: solid; border-color: rgba(0, 0, 0, 0); border-width: 1px; display: flex; flex-direction: column; gap: 5px; align-items: center; justify-content: flex-start; align-self: stretch; flex-shrink: 0; width: 100%; position: relative; } .frame-4 { background: #f5f5f5; border-style: solid; border-color: transparent; border-width: 1px; display: flex; flex-direction: column; gap: 0px; align-items: center; justify-content: flex-start; align-self: stretch; flex-shrink: 0; position: relative; } .frame-3 { padding: 30px; display: flex; flex-direction: column; gap: 15px; align-items: center; justify-content: flex-start; flex-shrink: 0; width: 100%; position: relative; } .frame-7 { display: flex; flex-direction: column; gap: 10px; align-items: center; justify-content: flex-start; align-self: stretch; flex-shrink: 0; position: relative; color: var(--pay-secondary-color); & ul { margin: 1em; padding:0; display: flex; flex-direction: column; align-items: center; font-family: sans-serif; list-style-type: disc; } } .subscribe-to-the-week-to-continue-reading { color: #1b1b1b; text-align: center; font: 300 26px \"PalatinoLinotype-Regular\", sans-serif; position: relative; align-self: stretch; } .get-unlimited-website-access-exclusive-newsletters-plus-much-more-with-a-subscription-to-the-week-for-less-than-3-per-week { color: #1b1b1b; text-align: center; font: 300 18px\/21px \"Arial-Regular\", sans-serif; position: relative; align-self: stretch; } .frame-17 { display: flex; flex-direction: column; gap: 5px; align-items: flex-start; justify-content: flex-start; flex-shrink: 0; position: relative; color: #ffffff; text-align: left; font: 700 14px \"Arial-Bold\", sans-serif; text-transform: uppercase; } .frame-12 { background: #db3330; color: #fff; padding: 12px 32px; display: flex; flex-direction: row; gap: 12px; align-items: center; justify-content: center; width: fit-content; min-width: 210px; position: relative; cursor: pointer; border: none; border-radius: 8px; font-size: 1rem; font-weight: 600; text-align: center; text-decoration: none; transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.15s ease; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); } .frame-12:hover { background: #b82b28; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); transform: translateY(-2px); } html[data-locale=\"US\"] .flexi-page.progressive .frame-27 .frame-12 { background: #005ba5; } .cancel-or-pause-at-anytime { color: #1b1b1b; text-align: center; font: 400 12px\/18px \"Arial-Regular\", sans-serif; position: relative; align-self: stretch; } .frame-32 { padding: 10px 0px 10px 0px; display: flex; flex-direction: column; gap: 20px; align-items: center; justify-content: flex-start; flex-shrink: 0; width: 100%; position: relative; } .already-subscribe-to-the-week { color: #1b1b1b; text-align: center; font: 400 24px \"PalatinoLinotype-Regular\", sans-serif; position: relative; align-self: stretch; } .think-this-paywall-popped-up-by-mistake-let-s-get-it-sorted-contact-us { color: #1b1b1b; text-align: center; font: 400 16px\/24px \"-\", sans-serif; position: relative; align-self: stretch; } .think-this-paywall-popped-up-by-mistake-let-s-get-it-sorted-contact-us-span { color: #1b1b1b; font: 400 16px\/24px \"Arial-Regular\", sans-serif; } .think-this-paywall-popped-up-by-mistake-let-s-get-it-sorted-contact-us-span2 { color: #1b1b1b; font: 700 16px\/24px \"Arial-Bold\", sans-serif; text-decoration: underline; } .already-have-an-account-sign-in{ color: #1b1b1b; font: 700 16px \/ 24px \"Arial-Bold\", sans-serif; text-decoration: underline; } .already-have-an-account-sign-in:hover{ cursor: pointer; } .no-deco-link{ text-decoration: none; } Unlock this article with a Tom\u2019s Hardware Premium subscription Annual plan just \u00a325 (less than \u00a32.50 a month) Access deeper news analysis World-class hardware roadmaps Navigate granular performance data using Bench Or choose our 30-day plan for \u00a36 Subscribe Now Already a subscriber to Tom's hardware? Sign in \/* Hidden by default *\/ #subscription-module { display: none; position: fixed; inset: 0; z-index: 1000; justify-content: center; align-items: center; } html { scroll-behavior: auto !important; } \/* When active *\/ #subscription-module.active { display: flex; button { border: 1px solid; } } .subscription-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.45); } .subscription-modal { position: relative; z-index: 103; width: 100%; max-width: 700px; padding: 0; margin: 20px; line-height: 1.5em; background: #fff; border-radius: 12px; box-shadow: 0 4px 30px rgba(0,0,0,0.2); font-family: \"Open Sans\", sans-serif; animation: fadeIn 0.25s ease; height: auto; flex-shrink: 1; display: flex; flex-direction: column; } @keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } .subscription-header { text-align: right; padding-top: 15px; padding-right: 25px; } .subscription-close { background: black; border:1px solid black; font-size: 20px; cursor: pointer; color: white; border-radius: 22px; width: 43px; height: 43px; line-height: 43px; position: absolute; top: -20px; text-align: center; vertical-align: middle; } \/* Centered site title *\/ .subscription-site-title { text-align: center; font-size: 36px; font-weight: 400; font-family: \"Open Sans\", sans-serif; color: #111; margin: 12px 0 25px; } .subscription-reccurence{ font-family: \"Open Sans\", sans-serif; } .pricing-options { display: flex; justify-content: flex-start; gap: 20px; background: Whitesmoke; padding: 20px; padding-bottom: 50px; } .pricing-card { width: 50%; border: 1px solid; border-color: hsl(from var(--flexi-brand_color_2, black) h s calc(l + 30)); border-radius: 10px; padding: 30px 20px; text-align: center; background: #fff; transition: transform 0.2s ease, box-shadow 0.2s ease; } .pricing-card .badge { display: block; border: 2px solid; padding: 10px 15px; margin-left: 2.5em; float: right; line-height: 1em; margin-top: -3em; border-color: var(--flexi-brand_color_2); border-radius: 6px; background-color: hsl(from var(--flexi-brand_color_2, #ffffff) h s calc(l + 30)); box-shadow: 0px 1px 25px #00000030; color: #000; font-size: 14px; font-weight: 600; } .pricing-card:hover { transform: translateY(-5px); box-shadow: 0 6px 25px rgba(0,0,0,0.05); } .subscription-included { margin-bottom: 20px; } .pricing-card h3 { display: block; text-align: center; font-size: 20px; color: #111; } .price { font-size: 26px; font-weight: bold; color: #111; } .recurrence { color: #555; margin-bottom: 20px; } .cta-button { display: inline-block; background: white; color: black; font-size: 16px; font-weight: 600; line-height: 1.2em; padding: 12px 0; border-radius: 6px; text-decoration: none; transition: background 0.2s ease; border: solid black 1px; width: 100%; font-family: \"Open Sans\", sans-serif; cursor: pointer; } .cta-button-best { background: black; color: #fff; background-color: #000; } .subscription-included { text-align: left; margin-top: 20px; font-weight: 300; } .features { & ul { list-style-type: none; } padding: 0; margin-top: 10px; text-align: left; color: #333; font-size: 15px; } .subscription-modal::-webkit-scrollbar { width: 8px; } .subscription-modal::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(0,0,0,0.12); } @media (max-width: 768px) { #subscription-module{ padding-top:20px; align-items: baseline; } .subscription-modal{ height: calc(100% - 40px); } .pricing-options { flex-direction: column; align-items: baseline; overflow-y: scroll; } .pricing-card { width:auto; } .subscription-site-title { font-size: 30px; margin-bottom: 30px; } .subscription-close { right: -3%; } } body { color:black; } \u2715 Choose your plan Monthly \u00a36 per month Subscribe Now Included: \u2713 Flexible 30-day rolling contract Best Deal Annual \u00a325 per year Subscribe Now Included: \u2713 Save 65% on annual plans console.log('salut v7'); let scrollPositionB = 0; const subscriptionModule = document.getElementById('subscription-module'); if (window.self !== window.top) { subscriptionModule.classList.add('active'); } if (subscriptionModule) { const subscriptionOverlay = subscriptionModule.querySelector('.subscription-overlay'); const subscriptionCloseBtn = subscriptionModule.querySelector('.subscription-close'); function closeSubscriptionModal() { subscriptionModule.classList.remove('active'); const savedScroll = scrollPositionB; const html = document.documentElement; html.classList.remove('body-no-scroll'); html.style.top = ''; requestAnimationFrame(() => { window.scrollTo(0, savedScroll); }); } if (subscriptionOverlay) { subscriptionOverlay.addEventListener('click', closeSubscriptionModal); } if (subscriptionCloseBtn) { subscriptionCloseBtn.addEventListener('click', closeSubscriptionModal); } } const emailButtons = Array.from(document.getElementsByClassName('openEmailModalBtn')); emailButtons.forEach(btn => { btn.addEventListener('click', () => { if (subscriptionModule) closeSubscriptionModal(); const itemId = btn.getAttribute('data-item-id'); if (window.FUTR?.Kiosq?.ChargebeeCheckout) { window.FUTR.Kiosq.ChargebeeCheckout.open(itemId); } }); }); (function(){ console.debug(\"Tomshardware v3 offers multicurrency 1\"); document.getElementById(\"subscribe-now-redirection\").addEventListener('click', () => { scrollPositionB = window.pageYOffset; const subscriptionModule = document.getElementById('subscription-module'); if (subscriptionModule) { subscriptionModule.classList.add('active'); const html = document.documentElement; html.classList.add('body-no-scroll'); html.style.top = `-${scrollPositionB}px`; } }); window.FUTR.Kiosq.Gates.show('kiosq-subscription-gate_58cca5a8', { container: '#subscription-module', position: 'replace' }); })(); "}}; /** * Simple hasBarrier Promise for Ad Targeting * Waits for Kiosq library to finalize hasBarrier after v2/campaigns */ // Create promises for v2 data and hasBarrier resolution window.FUTR.Kiosq.promiseKiosqDataV2 = new Promise((resolve) => { window.FUTR.Kiosq.resolveKiosqDataV2 = resolve; }); window.FUTR.Kiosq.promiseHasBarrier = new Promise((resolve) => { window.FUTR.Kiosq.resolveHasBarrier = resolve; }); // Resolve hasBarrier after Kiosq v2 and campaigns complete const resolveHasBarrierFinal = () => { // Use hasBarrier calculated by Kiosq library, or false if not set // We DON'T use displayBarrier as fallback because in metered paywall: // - displayBarrier = true (page has paywall configured) // - hasBarrier = false (user still has free articles) const finalHasBarrier = window.FUTR.Kiosq?.hasBarrier ?? false; window.FUTR.Kiosq.resolveHasBarrier(finalHasBarrier); console.log( '%cKIOSQ', 'color: #ffffff; background-color: #7F00FF; padding: 2px 6px;', 'hasBarrier resolved:', finalHasBarrier, 'from:', window.FUTR.Kiosq?.hasBarrier !== undefined ? 'kiosq-library' : 'default (false)' ); }; // Wait for v2, then allow minimal time for campaign overrides (50ms optimized for speed) if (window.FUTR.Kiosq.promiseKiosqDataV2) { window.FUTR.Kiosq.promiseKiosqDataV2 .then(() => setTimeout(resolveHasBarrierFinal, 50)) .catch(() => setTimeout(resolveHasBarrierFinal, 50)); } else { setTimeout(resolveHasBarrierFinal, 0); } window.FUTR.Kiosq.isHubPage = false; window.FUTR.Kiosq.kiosqEndpoint = "https:\/\/kiosq.vanilla.tools"; window.FUTR = window.FUTR || {}; window.FUTR.Kiosq = window.FUTR.Kiosq || {}; window.FUTR.Kiosq.isPremium = false; window.FUTR.Kiosq.displayBarrier = false; window.FUTR.Kiosq.disableServices = []; @layer legacy {#kiosqAssistant { font-family: Helvetica, Arial, sans-serif; font-size: 12px; height: auto; max-height: 400px; min-width: 250px; background: rgba(250, 249, 247, 0.18); border-radius: 16px; box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); backdrop-filter: blur(16.4px); border: 1px solid rgba(0, 0, 0, 0.25); position: fixed; right: 10px; bottom: 10px; z-index: 10000; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); text-align: center; & > * { margin:0; padding:0; } & > div.content { overflow-y: scroll; overflow-x: clip; height: 300px; & header { display:flex; flex-direction: column; font-size: 1rem; background-color: #00000010; padding: 0.4em 0; margin: 0; } } & > header { padding: 2px; flex-grow: 1; display: flex; justify-content: center; align-items: center; margin: 0; font-size: 1.5rem; font-weight: 600; & h4{ display:flex; flex-direction: column; padding: 10px 5px; font-size: large; & span { font-size: small; } } & a { color: var(--flexi-brand_color_2); text-decoration: underline; } } & .btn svg { width: 20px; height: 20px; } .table-item { & .btn svg { width: 15px; height: 15px; } } } #kiosqAssistant.collapsed { max-height: 60px; width: auto; min-width: 200px; & > div.content { display: none; } & .campaign { display: none; } & header { flex-grow: 1; & > div > a { display: none; } } } .campaign { display: flex; flex-direction: column; justify-content: center; align-items: center; transition: all 0.3s ease; opacity: 1; & header { margin:0; padding: 0.4em 1em; font-weight: normal; } } .custom-template, .campaigns, .campaign { /* font-size: 15px; font-weight: 600; width: 100%; text-align: center; margin: 0; padding: 0.2em 0.5em; */ & header { background-color: #f2f3f4; } } .table-item { width: 100%; border: 1px solid rgba(250, 249, 247, 0.4); border-bottom: 1px solid #00000020; display: flex; flex-direction: column; & .btn svg { width: 18px; height: 18px; } & thead { & tr { display:flex; & th { display: flex; padding: 5px 0 10px 2px; font-size:1.2em; flex-grow: 1; font-weight: 600; } } } & tbody { display: flex; flex-direction: column; & tr{ display:inline-flex; flex-grow: 1; width: 100%; &:nth-child(odd){ background-color: #f8f8f8; } /* &:nth-child(odd){ background-color: #FFF; } */ } & td { padding: 4px; &:first-child{ flex-grow: 1; width: 25em; } &:last-child{ flex-grow: 0; width:4em; font-weight: 700; text-align: center; display: flex; justify-content: center; align-items: center; } } } } ul.table-item{ list-style: none; padding: 0; margin: 0; width: 100%; min-height: 2em; background-color:transparent; & li { padding: 0 5px; display:flex; width:100%; height: 2em; & span, & a { align-content: center; } & div { flex-grow: 1; align-content: center; } & a { text-decoration: none; color: var(--flexi-brand_color_2); &:hover { background-color: var(--flexi-brand_color_2); color:white; } } } } .table-item.empty { & td,& tbody td:last-child { display: block; text-align:center; width: 100%; } } .table-item.templates { & tbody { display:table; & tr { display:table-row; border-bottom: 1px solid #00000030; & td, th { text-align: center; display: table-cell; &:first-child{ width: auto; } /* &:nth-child(2) { } */ &[rowspan] { vertical-align: middle; font-weight: 600; width: 5em; } } } } } .table-header-col{ padding: 5px 0; } .table-header-col { padding: 0 3px; font-weight: bold; } .table-header-title-link{ border-bottom: 1px solid var(--flexi-brand_color_2); line-height: 25px; } .table-header-title-link:hover{ text-decoration: none; color: var(--flexi-brand_color_2); } ::-webkit-scrollbar { -webkit-appearance: none; width: 7px; } ::-webkit-scrollbar-thumb { border-radius: 4px; background-color: rgba(0, 0, 0, 0.5); box-shadow: 0 0 1px rgba(255, 255, 255, 0.5); } .result-custom-template, .result-campaign{ min-height: 60px; } .table-compare-col{ padding: 15px; border: 1px solid #333; text-align: center; } .table-config-compare .table-header-col{ text-align: center; border: 1px solid #999; padding: 5px; } /* SmartTooltip styles moved to SmartTooltip.css */ /* Button styles for all anchor tags with btn class */ .btn, .btn:visited { display: inline-flex; align-items: center; justify-content: center; color: var(--flexi-brand_color_2, #333); text-decoration: none !important; border-radius: 4px; font-size: 12px; font-weight: 500; transition: all 0.2s ease-in-out; cursor: pointer; border: 1px solid transparent; min-height: 24px; & svg { fill: currentColor; } } .btn:hover, .btn:visited:hover { transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); text-decoration: none !important; background-color: var(--flexi-brand_color_2, #333); color: white; & svg { fill: white; } } .btn:active { transform: translateY(0); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); } /* Adjust spacing for icon-only buttons */ .btn:has(svg):not(:has(text)) { padding: 8px; min-width: 32px; } /* Table header title link buttons */ .table-header-title-link.btn { background-color: transparent; color: var(--flexi-brand_color_2, #007bff) !important; border: 1px solid var(--flexi-brand_color_2, #007bff); padding: 4px 8px; } .table-header-title-link.btn:hover { background-color: var(--flexi-brand_color_2, #007bff); color: #fff !important; } /* Config compare link buttons */ .config-compare-link { cursor: pointer; font-weight: normal; &:hover { font-weight: 600; } } .config-compare-link.btn { background-color: #28a745; font-size: 11px; padding: 4px 8px; } .config-compare-link.btn:hover { background-color: #218838; } .table-config-compare { & tbody > tr { border-bottom:1px solid #fff; } & tr { &:nth-child(odd) { background-color: #dfdfdf; } & td, th { &:first-child { vertical-align: middle; } overflow-wrap: anywhere; max-width: 40em; padding: 3px; vertical-align: baseline; } } & textarea{ height: 80px; width: 100%; padding: 5px; } } /* Smart Tooltip Styles */ .tooltip-container { position: relative; display: inline-block; } .smart-tooltip { position: absolute; background-color: var(--flexi-brand_color_2, #333); color: #fff; padding: 6px 8px; border-radius: 4px; font-size: 12px; z-index: 11000; pointer-events: none; box-shadow: 0 2px 8px rgba(0,0,0,0.2); max-width: 25em; opacity: 0; transition: opacity 0.2s ease-in-out; word-wrap: break-word; white-space: normal; line-height: 1.4; text-wrap: auto; } .smart-tooltip.visible { display: block; opacity: 1; } .smart-tooltip.hidden { display: none; opacity: 0; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; } .tooltip-arrow.top { border-top: 4px solid var(--flexi-brand_color_2, #333); bottom: -4px; } .tooltip-arrow.bottom { border-bottom: 4px solid var(--flexi-brand_color_2, #333); top: -4px; } /* Prevent tooltip interference with modals */ .paywall-settings-overlay .tooltip-container, #kiosq-modal-portal .tooltip-container { pointer-events: auto; } .paywall-settings-overlay .smart-tooltip, #kiosq-modal-portal .smart-tooltip { z-index: 10011; /* Higher than modal content */ } .loader { border: 16px solid #f3f3f3; /* Light grey */ border-top: 16px solid var(--flexi-brand_color_2); /* Site brand color */ border-radius: 50%; width: 120px; height: 120px; animation: spin 2s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .loader-content { display: flex; justify-content: center; align-items: center; } .loader-content.show-kiosq-loader { display: flex !important; margin: auto; width: max-content; } .loader-content.hide-kiosq-loader { display: none; } .overlay { background-color: #fff; opacity: 0.5; } .wrapper-template{ position:relative; } .override-loader-position { position: absolute; top: 0; bottom: 0; right: 0; left: 0; z-index: 10; } .responsive .override-loader-position{ height: auto; } .loader-content-debug{ height: auto; background: transparent; } .loader-debug{ width: 60px; height: 60px; } @media (min-width: 1024px){ .progressive .kiosq-main-layer+.override-loader-position { float: left; width: calc(100% - 320px); margin-bottom: 20px; margin-top: -120px; } } #kiosq-modal-portal{ position: fixed; top: 75px; right: 12px; z-index: 10000; font-size: 12px; box-shadow: 0px 0px 10px #000000; border-radius: 15px; background-color: white; max-width: 50%; } #kiosq-modal-container{ padding: 0 15px 15px 15px; } /* .modal-button-close,.modal-title{ display: inline-block; } */ /* .modal-wrapper{ width: auto; border-radius: 15px; padding: 15px; } */ .modal-header{ display: flex; flex-direction: row; font-size: 1.1rem; font-weight: 600; height: 2.5em; align-items: center; } .modal-title{ align-content: center; margin: auto; } .modal-content { overflow-y: scroll; max-height: 40em; } .button-header-debug-wrapper-close{ background: none; border: none; cursor: pointer; width: 2rem; height: 2rem; color: #333; background-color: lightgray; border-radius: 10%; } .button-header-debug-wrapper-close svg{ margin: auto; } /* Paywall Height Input Styles */ .paywall-height-input { & ul { display: flex; flex-direction: column; gap: 10px; list-style: none; padding: 0; margin: 0; & li { display: flex; align-items: center; gap: 10px; & label { min-width: 100px; font-weight: 500; } & input[type="range"] { display: block; flex: 1; } & .indicator { width: 40px; padding: 2px 4px; border: 1px solid #ccc; border-radius: 3px; background-color: #f5f5f5; color: #666; font-size: 1.2em; text-align: center; } } } } /* Paywall Settings Modal Styles */ .paywall-settings-overlay { position: fixed; top: 50px; /* Position below the paywall button (button at top: 10px + height ~40px) */ right: 10px; /* Align with the paywall button */ width: auto; height: auto; background-color: transparent; z-index: 10010; transition: all 0.3s ease-in-out; /* Smooth transitions */ } .paywall-settings-modal { background-color: #fff; border-radius: 8px; padding: 0.5em; min-width: 400px; max-width: 500px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); position: relative; transform-origin: top right; /* Scale from top right corner */ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); /* Smooth easing */ opacity: 1; transform: scale(1); & p { font-size: small; margin-bottom: 0.5em; & svg { display: inline-block; width: 20px; height: 20px; } } /* Animation states */ &.entering { opacity: 0; transform: scale(0.8); } &.entered { opacity: 1; transform: scale(1); } &.exiting { opacity: 0; transform: scale(0.8); } & .paywall-settings-header { display: flex; justify-content: space-between; align-items: center; margin:0; margin-bottom: 15px; border-bottom: 1px solid #eee; transition: all 0.3s ease; & h3 { margin: 0; transition: all 0.3s ease; } } & .paywall-settings-content { margin-bottom: 20px; transition: all 0.3s ease; font-size: small; & h5 { margin-bottom: 10px; transition: all 0.3s ease; } } & .paywall-settings-actions { text-align: center; transition: all 0.3s ease; } } /* Responsive adjustments */ @media (max-width: 768px) { .paywall-settings-overlay { bottom: 5px; right: 5px; } .paywall-settings-modal { min-width: 300px; max-width: 350px; padding: 15px; } } /* Ensure modal stays above debug wrapper */ .campaign-debug-wrapper.collapsed ~ .paywall-settings-overlay, .campaign-debug-wrapper ~ .paywall-settings-overlay { z-index: 10011; /* Higher than debug wrapper */ } /* SmartTooltip styles moved to SmartTooltip.css */ /* Button styles for all anchor tags with btn class */ .btn, .btn:visited { display: inline-flex; align-items: center; justify-content: center; color: var(--flexi-brand_color_2, #333); text-decoration: none !important; border-radius: 4px; font-size: 12px; font-weight: 500; transition: all 0.2s ease-in-out; cursor: pointer; border: 1px solid transparent; min-height: 24px; } .btn.alone { background-color: hsl(from var(--flexi-brand_color_2) h s calc(l + 30)); } .btn:hover, .btn:visited:hover { transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); text-decoration: none !important; background-color: var(--flexi-brand_color_2, #333); color: white; } .btn:active { transform: translateY(0); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); } /* Special styling for buttons with SVG icons */ .btn svg { width: 16px; height: 16px; fill: currentColor; } /* Adjust spacing for icon-only buttons */ .btn:has(svg):not(:has(text)) { padding: 8px; min-width: 32px; } #kiosq-app-paywall-js { width: 100%; } .hasBarrier ._cm-video { display: none; } .hasBarrier .paywall-locker { height: var(--desktop-content-limit); overflow-y: clip; overflow-x: visible; display: flow-root; } .hasBarrier .paywall-locker + .paywall-locker { clear: none; } /* target when paywall-locker doesn't have height:auto */ .hasBarrier .paywall-locker:not([style*="height: auto"]) { user-select: none; } @media (max-width: 991px) { .responsive.hasBarrier .paywall-locker { height: var(--mobile-content-limit); } } @media (max-width: 1024px) { .progressive.hasBarrier .paywall-locker { height: var(--mobile-content-limit); } } #kiosq { z-index: 10; position: relative; top: -100px; width: 100%; } .kiosq-main-layer .kiosq-gradient { height: 100px; position: relative; background: linear-gradient( 180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 85% ); } .kiosq-main-layer.kiosq-sticky-layer .kiosq-gradient { height: 50px; background: linear-gradient( 180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 110% ); } .hasBarrier{ --desktop-content-limit:96px; --mobile-content-limit:96px; } .wrapper-main-template{ height: 550px; margin-top: -150px; } .paywall-locker .wrapper-main-template.is-visible{ margin-top: -120px; } .is-not-visible{ visibility: hidden; height: inherit; margin-top: inherit; } .kiosq-main-layer { /* max-height: 550px; overflow: scroll; */ border-bottom: 1px solid #333; margin-bottom: 20px; position: relative; } .disable-scrollbars::-webkit-scrollbar { background: transparent; width: 0px; } .disable-scrollbars { scrollbar-width: none; -ms-overflow-style: none; } .kiosq-main-layer.kiosq-sticky-layer { position: fixed; margin-top: 0; border-bottom: none; bottom: 0; z-index: 1000; margin-bottom: 0px; height: inherit; } .responsive .kiosq-main-layer.kiosq-sticky-layer { width: 602px; } @media (min-width: 991px) { .responsive.no-sidebar .kiosq-main-layer.kiosq-sticky-layer { width: 922px; } } @media (min-width: 991px) { .progressive .kiosq-main-layer.kiosq-sticky-layer { width: 940px; } } @media (min-width: 1024px) { .progressive .kiosq-main-layer { float: left; width: calc(100% - 320px); } } @media (min-width: 1281px) { .progressive .kiosq-main-layer.kiosq-sticky-layer { width: 1070px; } .progressive .kiosq-main-layer.kiosq-sticky-layer { margin-left: -50px; } } .kiosq-main-layer .kiosq-main-layer-container { margin-bottom: 30px; padding: 20px; background-color:#ededed; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-main-layer-container { border-top: 1px solid #333; padding-top: 10px; margin-bottom: 0px; } .kiosq-main-layer .kiosq-logo.rowLeft { margin-bottom: 20px; display: flex; justify-content: flex-start; } .kiosq-main-layer .kiosq-logo.rowCenter { margin-bottom: 20px; display: flex; justify-content: center; order: 2; } .kiosq-main-layer .kiosq-logo.rowRight { margin-bottom: 20px; display: flex; justify-content: flex-end; order: 2; } .element_at_the_same_line_space_around { display: flex; justify-content: space-around; } .element_at_the_same_line_space_between { display: flex; justify-content: space-between; } .kiosq-main-layer .kiosq-logo img { width: 140px !important; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-sticky-logo.rowLeft { margin: 0px; display: flex; justify-content: flex-start; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-sticky-logo.rowCenter { margin: 0px; display: flex; justify-content: center; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-sticky-logo.rowRight { margin: 0px; display: flex; justify-content: flex-end; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-sticky-logo img { width: 70px; /*float: right;*/ } .kiosq-main-layer .kiosq-title { font-size: 30px; font-weight: bold; line-height: 38px; margin-bottom: 20px; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-title { font-size: 18px; line-height: 24px; margin-bottom: 10px; } .kiosq-main-layer .kiosq-subtitle { font-size: 16px; font-weight: bold; line-height: 24px; margin-bottom: 10px; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-subtitle { font-size: 14px; line-height: 22px; } .kiosq-main-layer .kiosq-description { font-size: 14px; line-height: 22px; margin-bottom: 25px; } #main_layer_regwall .kiosq-description { margin-bottom: 0px; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-description { margin-bottom: 10px; } .kiosq-main-layer .kiosq-description .custom_h4 { font-size: 100%; font-weight: bold; } .kiosq-main-layer .kiosq-description .custom_h3 { font-size: 16px; font-weight: bold; line-height: 24px; margin-bottom: 10px; } .kiosq-main-layer .kiosq-description .custom_h2 { font-size: 18px; font-weight: bold; line-height: 24px; margin-bottom: 10px; } .kiosq-main-layer .kiosq-description .custom_h1 { margin-top: 0px; font-weight: bold; font-size: 28px; line-height: 34px; } .kiosq-main-layer .kiosq-description p { margin-bottom: 1em; } #main_layer_regwall .kiosq-description p { margin-bottom: 0px; } .kiosq-main-layer .kiosq-login-button > div { width: 100%; } .kiosq-main-layer .kiosq-login-button.rowLeft { font-size: 13px; margin-bottom: 25px; display: flex; flex-direction: column; align-items: flex-start; } .kiosq-main-layer .kiosq-login-button.rowCenter { font-size: 13px; margin-bottom: 25px; display: flex; flex-direction: column; align-items: center; order: 2; } .kiosq-main-layer .kiosq-login-button.rowRight { font-size: 13px; margin-bottom: 25px; display: flex; flex-direction: column; align-items: flex-end; order: 2; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-login-button { margin-bottom: 0; font-size: 13px; } .kiosq-main-layer .kiosq-login-button button { height: 44px; width: 360px; text-align: center; color: #fff; margin-bottom: 10px; border: none; font-weight: 700; text-transform: uppercase; cursor: pointer; background-color:var(--flexi-brand_color_2); } .kiosq-main-layer.kiosq-sticky-layer .kiosq-login-button button { height: 34px; width: 310px; margin-right: 10px; } .kiosq-main-layer .kiosq-login-button a { color: #000000; text-decoration: underline; } .kiosq-main-layer .kiosq-conditions { font-size: 14px; line-height: 22px; } .kiosq-main-layer ul.kiosq-conditions, .kiosq-main-layer .kiosq-conditions ul { list-style-type: disc; list-style-position: outside; margin-bottom: 25px; margin-left: 20px; } .kiosq-main-layer ul.kiosq-conditions li, .kiosq-main-layer .kiosq-conditions ul li { font-size: 14px; line-height: 20px; } /* Menu header layer */ .kiosq-main-layer.kiosq-header-menu-layer { display: none; position: absolute; background-color: #333; width: 100%; left: 0; z-index: 1; top: 60px; color: #fff; margin-top: 0; } .kiosq-main-layer.kiosq-header-menu-layer a { color: #fff; } .kiosq-main-layer.kiosq-header-menu-layer .kiosq-main-layer-container { background: #333; display: flex; flex-wrap: wrap; margin: 20px; padding: 0px; } #kiosq-dropdown-checkbox { display: none; } .kiosq-dropdown-checkbox-img { font-size: medium; line-height: normal; } #kiosq-dropdown-checkbox:checked + .kiosq-main-layer.kiosq-header-menu-layer { display: block; } .kiosq-main-layer.kiosq-header-menu-layer .kiosq-title { width: 67%; } .kiosq-main-layer.kiosq-header-menu-layer .kiosq-subtitle { width: 33%; text-align: center; margin-bottom: 15px; } .kiosq-main-layer.kiosq-header-menu-layer .kiosq-description { width: 67%; font-size: 16px; line-height: 24px; } .kiosq-main-layer.kiosq-header-menu-layer .kiosq-login-button { width: 33%; text-align: center; line-height: 30px; margin: 0; font-size: 13px; } .kiosq-main-layer.kiosq-header-menu-layer .kiosq-login-button button { line-height: 24px; width: 90%; background-color: var(--flexi-brand_color_2); } .kiosq-main-layer.kiosq-button-layer { margin-top: 10px; border-bottom: none; margin-bottom: 0; } .kiosq-main-layer.kiosq-button-layer .kiosq-main-layer-container { padding: 0px; background-color: inherit; } .kiosq-main-layer.kiosq-button-layer .kiosq-login-button { margin-bottom: 0; } .kiosq-main-layer .kiosq-login-button button , .kiosq-main-layer.kiosq-sticky-layer .kiosq-login-button button { background-color: var(--flexi-brand_color_2); } .kiosq-main-layer.kiosq-button-layer .kiosq-login-button a { display: inherit; } /* Menu header drop down button */ .kiosq-dropdown { float: right; height: 60px; display: flex; flex-direction: column; justify-content: center; } .kiosq-dropdown label { line-height: 0; margin: 0; cursor: pointer; } .kiosq-dropdown label img { width: 67px; display: inline-block; } .kiosq-dropdown label svg { width: 7px; height: auto; fill: #333; margin-bottom: 9px; display: inline-block; } .hasBarrier #in-article, .hasBarrier #desktop-in-article, .hasBarrier #mobile-in-article, .hasBarrier .in-article { display: none; } @media screen and (max-width: 990px) { .responsive .kiosq-main-layer.kiosq-sticky-layer, .progressive .kiosq-main-layer.kiosq-sticky-layer { width: calc(100% - 40px); left: 20px; } } @media screen and (max-width: 699px) { #kiosq-app-paywall-js .kiosq-main-layer{ float:left } .kiosq-main-layer.kiosq-header-menu-layer .kiosq-main-layer-container { display: flex; flex-direction: column; margin: 15px 20px; } .kiosq-main-layer .kiosq-logo.rowLeft { margin-bottom: 10px; display: flex; justify-content: flex-start; } .kiosq-main-layer .kiosq-logo.rowCenter { margin-bottom: 10px; display: flex; justify-content: center; } .kiosq-main-layer .kiosq-logo.rowRight { margin-bottom: 10px; display: flex; justify-content: flex-end; } .kiosq-main-layer .kiosq-logo img { width: 120px !important; } .kiosq-dropdown label { position: absolute; top: 0; right: 95px; line-height: 60px; } .kiosq-main-layer.kiosq-sticky-layer { width: calc(100% - 20px); left: 10px; } .kiosq-main-layer.kiosq-header-menu-layer .kiosq-title { width: 100%; font-size: 22px; line-height: 30px; text-align: center; margin-bottom: 10px; order: 1; } .kiosq-main-layer.kiosq-header-menu-layer .kiosq-subtitle { width: 100%; font-size: 14px; line-height: 22px; text-align: center; order: 3; } .kiosq-main-layer.kiosq-header-menu-layer .kiosq-description { width: 100%; text-align: center; margin-bottom: 10px; order: 2; } .kiosq-main-layer.kiosq-header-menu-layer .kiosq-login-button { width: 100%; text-align: center; display: flex; flex-direction: column; order: 4; } .kiosq-main-layer.kiosq-header-menu-layer .kiosq-login-button button { width: 100%; } } @media screen and (max-width: 460px) { .kiosq-main-layer .kiosq-title { font-size: 22px; line-height: 30px; margin-bottom: 10px; } .kiosq-main-layer .kiosq-login-button { width: 100%; margin-bottom: 5px; } .kiosq-main-layer .kiosq-login-button button { width: 100%; margin-bottom: 0px; } .kiosq-main-layer .kiosq-login-button a { line-height: 33px; } .kiosq-main-layer .kiosq-description { margin-bottom: 10px; } .kiosq-main-layer ul.kiosq-conditions, .kiosq-main-layer .kiosq-conditions ul { margin-bottom: 20px; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-main-layer-container { border-top: 1px solid #333; border-bottom: 1px solid #333; padding-top: 10px; padding-bottom: 110px; margin-left: -20px; margin-right: -20px; padding-left: 30px; padding-right: 30px; text-align: center; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-sticky-logo { display: none; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-login-button button { width: 100%; margin-right: 0px; margin-left: 0px; margin-right: 0px; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-login-button a { color: #000000; text-decoration: underline; display: inherit; } .kiosq-main-layer.kiosq-sticky-layer .kiosq-subtitle { font-size: 12px; line-height: 18px; margin-bottom: 5px; } } /* MY account */ .kiosq-my-account-title { font-weight: 700; font-size: 26px; line-height: 44px; } .kiosq-my-account-col-content { display: flex; gap: 30px; } .kiosq-my-account { margin-top: 20px; } .kiosq-my-account .show { display: block; } .kiosq-my-account .hide { display: none; } .kiosq-my-account-user-infos-widget { display: flex; align-items: center; padding: 20px 10px; background-color: #ededed; gap: 5px; height: 60px; box-sizing: content-box; } .kiosq-my-account-left { min-width: 600px; } .kiosq-my-account-right { min-width: 300px; } .kiosq-my-account-user-infos { margin-left: 15px; } .kiosq-my-account-user-infos-img-content { width: 72px; height: 72px; border-radius: 50%; background-color: var(--flexi-brand_color_2); display: flex; justify-content: center; align-items: flex-end; } .kiosq-my-account-user-infos-img { fill: #ededed; margin-bottom: 5px; } .kiosq-my-account-user-name { font-weight: 700; font-size: 20px; line-height: 23px; margin-bottom: 10px; margin-top: 10px; } .kiosq-my-account-user-info-content { display: flex; align-items: center; } .kiosq-my-account-user-info-text-img-content { width: 24px; height: 24px; border-radius: 50%; background-color: var(--flexi-brand_color_2); display: flex; justify-content: center; align-items: center; } .kiosq-my-account-user-info-text-img { fill: #ededed; } .kiosq-my-account-user-info-text { font-weight: 400; font-size: 16px; line-height: 18px; margin-left: 10px; } .kiosq-my-account-title-widget { margin-top: calc(20px + 0.5rem); font-weight: 700; font-size: 24px; line-height: 30px; } .kiosq-my-account-subscription-widget { display: flex; align-items: flex-start; gap: 20px; border: 1px solid #cccccc; margin-top: 12px; margin-bottom: 20px; } .kiosq-my-account-subscription-widget-mobile { display: none; } .kiosq-my-account-subscription-img { box-sizing: border-box; min-width: 180px; height: 230px; background-size: cover; border-width: 1px 0px 1px 1px; border-style: solid; border-color: #cccccc; } .kiosq-my-account-subscription-datas-block { padding-top: 20px; padding-bottom: 10px; width: 100%; } .kiosq-my-account-subscription-datas { display: flex; } .kiosq-my-account-subscription-content { flex: 1; } .kiosq-my-account-bluebird-in-process-content { display: flex; width: 100%; height: 190px; justify-content: center; align-items: center; } .kiosq-my-account-bluebird-in-process { font-weight: 700; font-size: 16px; line-height: 20px; } .kiosq-my-account-subscription-title { font-weight: 700; font-size: 20px; line-height: 24px; margin-bottom: 15px; } .kiosq-my-account-subscription-data { font-weight: 400; font-size: 16px; line-height: 20px; margin-bottom: 5px; } .kiosq-my-account-subscription-data .kiosq-my-account-subscription-subtitle { font-weight: 700; } .kiosq-my-account-subscription-data .custom_h1 { display: none; } .kiosq-my-account-manage-button-block { display: flex; justify-content: center; } .kiosq-my-account-manage-button-anchor { text-decoration: none !important; } .kiosq-my-account-manage-button-content { display: flex; flex-direction: column; width: 188px; margin-top: 15px; } .kiosq-my-account-manage-button-content.no-subscriptions { width: 280px; } .kiosq-my-account-manage-button { display: flex; justify-content: center; align-items: center; padding: 2px 20px; width: 188px; height: 40px; background-color: var(--flexi-brand_color_2); border: 1px solid var(--flexi-brand_color_2); border-radius: 2px; } .kiosq-my-account-manage-button.no-subscriptions { width: 280px; } .kiosq-my-account-manage-button-text { font-weight: 700; font-size: 12px; line-height: 14px; text-transform: uppercase; color: #ffffff; } .kiosq-my-account-manage-button-sublink-content { font-weight: 400; font-size: 12px; line-height: 14px; text-align: center; color: #333333; margin-top: 5px; } .kiosq-my-account-manage-button-sublink { text-decoration-line: underline !important; color: #333333 !important; } #kiosq-link-account-input { height: 30px; padding-left: 4px; } #kiosq-link-account-button { display: flex; justify-content: center; align-items: center; padding: 2px 20px; width: 188px; height: 35px; background-color: var(--flexi-brand_color_2); border: 1px solid var(--flexi-brand_color_2); border-radius: 2px; margin-left: 20px; color: white; } #kiosq-link-account-button.processing:hover { filter: brightness(85%); cursor: wait !important; } .kiosq-my-account .input-mapping-error { border: 1px solid red; } .kiosq-my-account .input-mapping-success { border: 1px solid green; } .kiosq-my-account .message-div-error { color: red; font-size: 13px; } .kiosq-my-account .message-div-success { color: green; font-size: 13px; } #kiosq-link-account-button:hover { cursor: pointer; } .kiosq-link-account-div { display: flex; flex-direction: row; justify-content: start; margin: 10px 0; align-items: center; } .linking-account-description-text { margin-top: 15px; line-height: 20px; } .kiosq-my-account-subscription-status-content { position: relative; margin-right: 20px; margin-left: auto; display: flex; flex-direction: column; } @media screen and (min-width: 699px) { .kiosq-my-account-cancel-sub { position: absolute; bottom: 0; } .kiosq-main-layer .kiosq-logo { width: 250px; height: 30px; } } @media screen and (max-width: 699px) { .kiosq-my-account-cancel-sub { margin-top: 15px; } .kiosq-main-layer .kiosq-logo { height: 30px; } } .kiosq-my-account-cancel-sub { text-decoration: underline; } .kiosq-my-account-cancel-sub a, .kiosq-my-account-cancel-sub a:visited, .kiosq-my-account-cancel-sub a:hover { color: black !important; } .kiosq-my-account-subscription-status-flag-content { display: flex; justify-content: center; align-items: center; padding: 0px 10px; width: 77px; height: 20px; border-radius: 2px; margin-bottom: 6px; } .kiosq-my-account-subscription-status-flag-content.active { background-color: #0fa958; } .kiosq-my-account-subscription-status-flag-content.trial { background-color: #0f7ca9; } .kiosq-my-account-subscription-status-flag-content.future { background-color: #6c757d; } .kiosq-my-account-subscription-status-flag-content.non-renewing { background-color: #ff9800; } .kiosq-my-account-subscription-status-flag-content.paused { background-color: #9e9e9e; } .kiosq-my-account-subscription-status-flag-content.cancelled { background-color: #a90f0f; } .kiosq-my-account-subscription-status-flag-content.expired { background-color: #a90f0f; } .kiosq-my-account-subscription-status-flag-content.unknown { background-color: #cccccc; } .kiosq-my-account-subscription-status-flag-text { font-weight: 700; font-size: 14px; line-height: 20px; color: #ffffff; } .kiosq-my-account-subscription-status-title { font-weight: 700; font-size: 12px; line-height: 15px; margin-bottom: 3px; text-align: center; } .kiosq-my-account-subscription-status-data { font-size: 12px; line-height: 15px; margin-bottom: 3px; text-align: center; } .kiosq-my-account-stay-in-touch-widget { min-height: 400px; } .kiosq-my-account-stay-in-touch-title-content { display: flex; justify-content: flex-start; align-items: center; gap: 10px; width: 280px; height: 56px; background: #ffffff; border-width: 1px 0px; border-style: solid; border-color: #cccccc; padding: 0px 10px; } .kiosq-my-account-stay-in-touch-title-img-content { width: 38px; height: 38px; border-radius: 50%; background-color: var(--flexi-brand_color_2); display: flex; justify-content: center; align-items: center; } .kiosq-my-account-stay-in-touch-title-img { fill: #ededed; margin-right: 2px; } .kiosq-my-account-stay-in-touch-title { font-weight: 700; font-size: 18px; line-height: 21px; } .kiosq-my-account-stay-in-touch-subtitle { font-weight: 700; font-size: 14px; line-height: 21px; margin: 14px 0; } .kiosq-my-account-stay-in-touch-content { padding: 20px 15px; height: 102px; } .kiosq-my-account-stay-in-touch { font-weight: 400; font-size: 14px; line-height: 16px; margin-bottom: 15px; } .kiosq-my-account-stay-in-touch-link { /* text-decoration-line: underline; */ color: var(--flexi-brand_color_2); } .kiosq-my-account-stay-in-touch-social-content { display: flex; justify-content: flex-start; align-items: center; gap: 15px; } .kiosq-my-account-stay-in-touch-social-link { display: block; } .kiosq-my-account-proposal-widget { margin-top: 15px; display: block; } .kiosq-my-account-proposal-widget-mobile { margin-top: 15px; display: none; } .kiosq-my-account-proposal-slider { min-width: 600px; position: relative; min-height: 390px; overflow: hidden; } .kiosq-my-account-proposal-slide { width: 100%; position: absolute; transition: all 0.5s; gap: 30px; display: flex; } .kiosq-my-account-proposal-slide-mobile { width: 100%; position: absolute; transition: all 0.5s; gap: 30px; display: flex; } .kiosq-my-account-proposal-slide-widget { width: 180px; } .kiosq-my-account-proposal-slide-widget-img { width: 180px; height: 230px; background-size: cover; } .kiosq-my-account-proposal-slide-widget-title { font-weight: 700; font-size: 18px; line-height: 24px; margin-top: 10px; } .kiosq-my-account-proposal-slide-widget-infos-content { display: flex; justify-content: flex-start; margin-top: 11.5px; margin-bottom: 10px; } .kiosq-my-account-proposal-slide-widget-infos-img-content { display: flex; justify-content: center; align-items: center; width: 15px; height: 15px; border-radius: 50%; background-color: #0fa958; margin-right: 5px; } .kiosq-my-account-proposal-slide-widget-infos-img { fill: #ededed; } .kiosq-my-account-proposal-slide-widget-infos { font-weight: 400; font-size: 12px; line-height: 15px; } .kiosq-my-account-proposal-slide-widget-link { font-weight: 700; font-size: 14px; line-height: 16px; text-decoration-line: underline; color: var(--flexi-brand_color_2); } .kiosq-my-account-proposal-btn { position: absolute; width: 40px; height: 40px; padding: 10px; border: none; border-radius: 50%; z-index: 10px; cursor: pointer; background-color: #fff; font-size: 18px; } .kiosq-my-account-proposal-btn:active { transform: scale(1.1); } .kiosq-my-account-proposal-slide-btn-prev { top: 45%; left: 2%; } .kiosq-my-account-proposal-slide-btn-next { top: 45%; right: 2%; } .kiosq-my-account-proposal-slide-btn-prev-mobile { top: 45%; left: 2%; } .kiosq-my-account-proposal-slide-btn-next-mobile { top: 45%; right: 2%; } .kiosq-my-account-no-subscriptions-text { margin-top: 20px; margin-bottom: 5px; font-weight: 400; font-size: 20px; line-height: 25px; } .kiosq-my-account-current-site-header { margin-top: 20px; font-weight: 700; font-size: 20px; display: block; } .kiosq-my-account-current-site-header-mobile { display: none; } .kiosq-my-account-subscription-history-button-content { display: flex; height: 100%; align-items: flex-end; } .kiosq-my-account-subscription-history-button { display: flex; justify-content: center; background-color: #cccccc; align-items: center; padding: 0px 10px; width: 77px; height: 20px; border-radius: 2px; } .kiosq-my-account-subscription-history-button:hover { cursor: pointer; } .kiosq-my-account-subscription-history-button-mobile { display: flex; justify-content: center; background-color: #cccccc; align-items: center; padding: 0px 10px; width: 77px; height: 20px; border-radius: 2px; margin-top: 10px; } .kiosq-my-account-subscription-history-button-mobile:hover { cursor: pointer; } .kiosq-my-account-subscription-history-button-text { font-weight: 700; font-size: 14px; line-height: 20px; margin-right: 5px; } .kiosq-my-account-subscription-history-icon-content { display: flex; align-items: center; } .kiosq-my-account-subscription-history-content { max-height: 0; transition: max-height 0.25s ease-out; overflow: hidden; } .kiosq-my-account-subscription-history-content-mobile { max-height: 0; transition: max-height 0.25s ease-out; overflow: hidden; } .kiosq-my-account-subscription-history-button-icon-down { display: block; } .kiosq-my-account-subscription-history-button-icon-up { display: none; } .kiosq-complete-setup-title { font-weight: 700; margin: 15px 0px; } .kiosq-complete-setup-p { margin: 15px 0px; } .kiosq-complete-setup-button { display: flex; justify-content: center; align-items: center; height: 44px; width: 360px; background-color: var(--flexi-brand_color_2); margin: 30px auto; } .kiosq-complete-setup-button-text { font-weight: 700; color: #fff; } .kiosq-complete-setup-button:hover { cursor: pointer; } .kiosq-restricted-access-title { font-weight: 700; margin: 15px 0px; } .kiosq-restricted-access-p { margin: 15px 0px; } .kiosq-restricted-access-button { display: flex; justify-content: center; align-items: center; height: 44px; width: 360px; background-color: var(--flexi-brand_color_2); margin: 30px auto; } .kiosq-restricted-access-button-text { font-weight: 700; color: #fff; } .kiosq-restricted-access-button:hover { cursor: pointer; } @media screen and (max-width: 699px) { .flexi-page.responsive .widget-area { padding: 0px !important; } .kiosq-my-account-left { min-width: 375px; } .kiosq-my-account-right { min-width: 375px; } .kiosq-my-account-col-content { flex-direction: column; } .kiosq-my-account-title { font-size: 22px; padding-left: 15px; } .kiosq-my-account-user-infos-widget { min-width: 355px; } .kiosq-my-account-user-infos-img-content { width: 50px; height: 50px; } .kiosq-my-account-user-infos-img { width: 50px; height: 50px; margin-bottom: 2px; } .kiosq-my-account-user-info-text { font-size: 14px; line-height: 16px; } .kiosq-my-account-title-widget { font-size: 20px; line-height: 20px; padding-left: 15px; } .kiosq-my-account-subscription-widget { display: none; } .kiosq-my-account-subscription-widget-mobile { display: block; padding: 15px; border-top: 1px solid #cccccc; margin-top: 12px; } .kiosq-my-account-no-subscriptions-widget .kiosq-my-account-subscription-widget-mobile { padding: 15px 0px 15px 0px; } .kiosq-my-account-subscription-title-content-mobile { display: flex; margin-bottom: 20px; } .kiosq-my-account-subscription-img-mobile { box-sizing: border-box; min-width: 117px; height: 150px; background-size: cover; border-width: 1px 0px 1px 1px; border-style: solid; border-color: #cccccc; } .kiosq-my-account-subscription-datas-block-mobile { margin-bottom: 10px; display: flex; align-items: flex-start; gap: 15px; } .kiosq-my-account-subscription-title-mobile { font-weight: 700; font-size: 18px; line-height: 21px; } .kiosq-my-account-subscription-content-mobile { flex: 1; } .kiosq-my-account-bluebird-in-process-content { height: 150px; } .kiosq-my-account-subscription-data-mobile { font-weight: 400; font-size: 14px; line-height: 20px; margin-bottom: 5px; } .kiosq-my-account-subscription-data-mobile .kiosq-my-account-subscription-subtitle-mobile { font-weight: 700; } .kiosq-my-account-subscription-data-mobile .custom_h1 { display: none; } .kiosq-my-account-manage-button-content-mobile { display: flex; flex-direction: column; margin-top: 20px; align-items: center; width: 100%; } .kiosq-my-account-manage-button-mobile { display: flex; justify-content: center; align-items: center; padding: 2px 20px; height: 40px; background-color: var(--flexi-brand_color_2); border: 1px solid var(--flexi-brand_color_2); border-radius: 2px; width: 100%; } .kiosq-my-account-manage-button-text-mobile { font-weight: 700; font-size: 12px; line-height: 14px; text-transform: uppercase; color: #ffffff; } .kiosq-my-account-manage-button-sublink-content-mobile { font-weight: 400; font-size: 12px; line-height: 14px; text-align: center; color: #333333; margin-top: 5px; } .kiosq-my-account-manage-button-sublink-mobile { text-decoration-line: underline !important; color: #333333 !important; } .kiosq-my-account-subscription-status-flag-content-mobile { display: flex; justify-content: center; align-items: center; padding: 0px 10px; width: 63px; height: 21px; border-radius: 2px; margin-right: 0px; margin-left: auto; } .kiosq-my-account-subscription-status-flag-content-mobile.active { background-color: #0fa958; } .kiosq-my-account-subscription-status-flag-content-mobile.trial { background-color: #0f7ca9; } .kiosq-my-account-subscription-status-flag-content-mobile.future { background-color: #6c757d; } .kiosq-my-account-subscription-status-flag-content-mobile.non-renewing { background-color: #ff9800; } .kiosq-my-account-subscription-status-flag-content-mobile.paused { background-color: #9e9e9e; } .kiosq-my-account-subscription-status-flag-content-mobile.cancelled { background-color: #a90f0f; } .kiosq-my-account-subscription-status-flag-content-mobile.expired { background-color: #a90f0f; } .kiosq-my-account-subscription-status-flag-content-mobile.unknown { background-color: #cccccc; } .kiosq-my-account-subscription-status-flag-text-mobile { font-weight: 700; font-size: 14px; line-height: 16px; color: #ffffff; } .kiosq-my-account-block-link-in-widget-mobile { display: block; font-weight: 700; font-size: 14px; line-height: 16px; text-decoration-line: underline; color: var(--flexi-brand_color_2); } .kiosq-my-account-block-link-img-mobile { margin-left: 7px; fill: var(--flexi-brand_color_2); width: 15px; height: 15px; } .kiosq-my-account-stay-in-touch-title-content { width: 355px; border-width: 0px 0px 1px 0px; } .kiosq-my-account-proposal-widget { display: none; } .kiosq-my-account-proposal-widget-mobile { display: block; padding-left: 15px; padding-right: 15px; } .kiosq-my-account-proposal-slider { min-width: 345px; min-height: 360px; } .kiosq-my-account-proposal-slide-widget { width: 155px; } .kiosq-my-account-proposal-slide-widget-img { width: 155px; height: 198.05px; } .kiosq-my-account-proposal-slide-widget-title { line-height: 22px; } .kiosq-my-account-no-subscriptions-widget { padding-left: 15px; padding-right: 15px; } .kiosq-my-account-no-subscriptions-text { font-size: 14px; } .kiosq-my-account-current-site-header { display: none; } .kiosq-my-account-current-site-header-mobile { margin-top: 20px; font-weight: 700; font-size: 14px; display: block; padding-left: 15px; } .kiosq-my-account-no-subscriptions-widget .kiosq-my-account-current-site-header-mobile { padding-left: 0px; } .kiosq-my-account-manage-button-content.no-subscriptions { width: 100%; } .kiosq-my-account-manage-button.no-subscriptions { width: 100%; } .kiosq-my-account-manage-button-anchor { width: 100%; } .paywall-locker:not(.paywall-locker:not(.paywall-locker ~ .paywall-locker)) { display: none; } } .dismiss-barrier { position: absolute; right: 27px; width: 25px; } /*# sourceMappingURL=bundle.paywall.css.map*//* =========================== CHARGEBEE CHECKOUT WRAPPER =========================== */ /* Overlay */ .chargebee-checkout-overlay { position: fixed; inset: 0; /* top:0; right:0; bottom:0; left:0 */ display: flex; justify-content: center; align-items: center; background: rgba(0, 0, 0, 0.6); backdrop-filter: blur(6px); z-index: 100000; opacity: 0; animation: chargebee-checkout-fadeIn 0.3s ease forwards; } @keyframes chargebee-checkout-fadeIn { to { opacity: 1; } } /* Modal Box */ .chargebee-checkout-box { height: 90%; max-height: 573px; display: flex; flex-direction: column; background: #fff; border-radius: 3px; max-width: 400px; width: 90%; position: relative; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); transform: scale(0.9) translateY(20px); animation: chargebee-checkout-slideIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; font-family: 'Open Sans', sans-serif; font-weight: normal; &.result { height: auto; } } @keyframes chargebee-checkout-slideIn { to { transform: scale(1) translateY(0); } } /* =========================== CHARGEBEE CHECKOUT EMAIL MODAL =========================== */ .chargebee-checkout-email-icon { max-width: 80%; animation: chargebee-checkout-bounce 0.6s ease; width: 60%; max-height: 70px; } @keyframes chargebee-checkout-bounce { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } } .chargebee-checkout-email-title { font-size: 14px; color: darkred; background: white; text-align: center; color: var(--brand-color-1); font-family: 'Open Sans', sans-serif; font-weight: normal; } .chargebee-checkout-email-subtitle { color: #666; text-align: center; font-size: 15px; line-height: 1.5; } /* OTP Modal specific styles */ .chargebee-checkout-otp-subtitle { color: #666; text-align: center; margin-top: 12px; margin-bottom: 10px; font-size: 14px; line-height: 1.5; } .chargebee-checkout-otp-input { text-align: center; font-size: 24px; letter-spacing: 8px; font-weight: 600; } .chargebee-checkout-otp-resend { display: flex; justify-content: center; margin-bottom: 6px; } .chargebee-checkout-otp-resend-btn { background: none; border: none; color: var(--brand-color-1, #007bff); font-size: 14px; cursor: pointer; text-decoration: underline; padding: 0; } .chargebee-checkout-otp-resend-btn:hover { opacity: 0.8; } .chargebee-checkout-otp-resend-btn:disabled { opacity: 0.5; cursor: not-allowed; } .chargebee-checkout-otp-resend-timer { color: #999; font-size: 14px; } .chargebee-checkout-email-message.success { color: #28a745; } /* End OTP Modal specific styles */ .chargebee-checkout-email-input-wrapper { width: 100%; } .chargebee-checkout-email-input { width: 100%; padding: 16px 16px 16px 16px; border: 1px solid darkslategrey !important; border-radius: 2px; font-size: 16px; transition: all 0.3s ease; outline: none; font-family: inherit; background-repeat: no-repeat; background-position: 16px center; background-size: 20px 20px; height: 50px; } .chargebee-checkout-email-input::placeholder { color: #1B1B1B; font-size: 14px; } .chargebee-checkout-email-message { color: #e63946; font-size: 0.9rem; margin-top: 0.5rem; text-align: center; min-height: 1.2em; margin-bottom: 4px; } .chargebee-checkout-email-cta-button { width: 234px; height: 40px; line-height: 22px; padding: 0px; display: block; border: none; border-radius: 1px; cursor: pointer; transition: all 0.3s ease; background: var(--flexi-brand_color_1, white); font-family: inherit; font-size: 16px; font-weight: 700; letter-spacing: 0.5px; text-transform: capitalize; color: white; } .chargebee-checkout-email-cta-button:hover { transform: translateY(-2px); box-shadow: 2px 0px 5px #00000099; } .chargebee-checkout-email-cta-button:active { transform: translateY(0); } /* =========================== CHARGEBEE CHECKOUT LOGIN MODAL =========================== */ .chargebee-checkout-login-modal-content { display: flex; flex-direction: column; align-items: center; text-align: center; position: relative; padding: 25px 40px 20px 40px; align-items: center; } .chargebee-checkout-success-content { padding: 25px 40px 20px 40px; } .chargebee-checkout-login-title { font-size: 24px; font-weight: 700; margin-bottom: 8px; text-align: center; } .chargebee-checkout-login-subtitle { font-size: 15px; color: #666; text-align: center; margin-bottom: 16px; } .chargebee-checkout-login-payment-details { background-color: #f9fafb; border-radius: 8px; padding: 16px; margin-bottom: 24px; width: 100%; } .chargebee-checkout-login-payment-details div { margin-bottom: 4px; font-size: 14px; color: #333; } .chargebee-checkout-login-cta-button { width: 100%; line-height: 3em; border: none; border-radius: 1px; font-size: 16px; font-weight: 600; cursor: pointer; background: linear-gradient(135deg, var(--flexi-brand_color_1, #006edc), color-mix(in srgb, var(--flexi-brand_color_1, #006edc) 70%, white)); color: white; box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4); transition: all 0.3s ease; } .chargebee-checkout-login-notice { background-color: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; padding: 16px; margin-bottom: 24px; display: flex; align-items: flex-start; gap: 12px; } .chargebee-checkout-login-info-icon { width: 20px; height: 20px; color: #3b82f6; margin-top: 2px; flex-shrink: 0; } .chargebee-checkout-login-notice-title { font-weight: 600; color: #1e40af; margin-bottom: 4px; font-size: 14px; text-align: left; } .chargebee-checkout-login-notice-text { color: #1d4ed8; font-size: 14px; line-height: 1.4; text-align: left; } .chargebee-checkout-login-success-icon { width: 64px; height: 64px; background-color: #dcfce7; border-radius: 50%; margin: 0 auto 16px; display: flex; align-items: center; justify-content: center; animation: post-purchase-login-v2-pulse 2s infinite; } .chargebee-checkout-login-success-icon svg { width: 32px; height: 32px; color: #16a34a; } .post-purchase-login-payment-details { background-color: #eff6ff; border-radius: 8px; padding: 16px; margin-bottom: 24px; } .chargebee-checkout-login-detail-row { display: flex; justify-content: space-between; margin-bottom: 12px; font-size: 14px; } .chargebee-checkout-login-detail-row:last-child { margin-bottom: 0; } .chargebee-checkout-login-detail-label { color: #6b7280; } .chargebee-checkout-login-detail-value { color: #111827; font-weight: 500; } .chargebee-checkout-login-cta-button:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5); } .chargebee-checkout-login-cta-button:active { transform: translateY(0); } .chargebee-checkout-close-btn { position: absolute; top: -12px; right: -12px; background: black; border: none; width: 24px; height: 24px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; color: white; transition: all 0.3s ease; } /* =========================== CHARGEBEE CHECKOUT SUCCESS MODAL =========================== */ .chargebee-checkout-checkmark { color: white; font-size: 35px; font-weight: bold; } .chargebee-checkout-success-icon { display: flex; align-items: center; justify-content: center; margin-bottom: 24px; } .chargebee-checkout-checkmark { font-size: 48px; color: #667eea; } .chargebee-checkout-success-title { font-size: 24px; font-weight: 700; margin-bottom: 12px; text-align: center; } .chargebee-checkout-success-message { text-align: center; color: #666; margin-bottom: 24px; } .chargebee-checkout-success-button { width: 100%; padding: 8px; line-height: 2em; border-radius: 3px; font-weight: 600; font-size: 16px; border: none; background: linear-gradient(135deg, var(--flexi-brand_color_1, #006edc), color-mix(in srgb, var(--flexi-brand_color_1, #006edc) 70%, white)); color: white; cursor: pointer; transition: all 0.3s ease; } .chargebee-checkout-success-button:hover { transform: translateY(-2px); } .chargebee-checkout-feature-list { background: rgba(16, 185, 129, 0.1); border: 1px solid rgba(16, 185, 129, 0.2); border-radius: 16px; padding: 20px; margin: 25px 0; text-align: left; } .chargebee-checkout-feature-item { display: flex; align-items: center; margin-bottom: 12px; color: #374151; font-size: 14px; } .chargebee-checkout-feature-item:last-child { margin-bottom: 0; } .chargebee-checkout-feature-item::before { content: '\2713'; color: #10b981; font-weight: bold; margin-right: 12px; font-size: 16px; } .chargebee-checkout-feature-item-autologin { font-weight: 500; } /* =========================== MEDIA QUERIES =========================== */ @media (max-width: 480px) { .email-modal-title { font-size: 24px; } .post-purchase-success-title { font-size: 20px; } } .chargebee-checkout-email-header { min-height: 90px; display: flex; flex-direction: column; justify-content: space-around; align-items: center; padding: 10px 0; box-sizing: content-box; } .chargebee-checkout-email-content { background: #f4f5f9; padding: 20px 25px 40px 25px; flex-grow: 1; display: flex; flex-direction: column; gap: 20px; align-items: center; & footer { align-items: center; display: flex; flex-direction: column; } } .chargebee-checkout-privacy { margin-top: 20px; margin-bottom: 15px; line-height: 23px; font-size: 14px; & a { font-weight: 700; line-height: 23px; font-size: 14px; } } .chargebee-checkout-consents { font-size: 13px; display: flex; flex-direction: column; flex-grow: 1; } .chargebee-checkout-checkbox input[type="checkbox"] { margin-right: 10px; flex-shrink: 0; width: 24px; height: 24px; margin-top: 2px; cursor: pointer; } .chargebee-checkout-checkbox { display: flex; align-items: flex-start; margin-bottom: 10px; cursor: pointer; line-height: 1.4; align-items: center; } .chargebee-checkout-checkbox span { flex: 1; font-size: 14px; } .chargebee-checkout-error-modal-content { text-align: center; padding: 30px 20px; } .chargebee-checkout-error-icon { margin: 10px auto 20px; color: #ef4444; /* red-500 */ } .chargebee-checkout-error-title { font-size: 20px; font-weight: bold; margin-bottom: 10px; } .chargebee-checkout-error-message { font-size: 14px; margin-bottom: 25px; color: #555; } .chargebee-checkout-error-close-btn { background: #ef4444; color: white; border: none; padding: 12px; width: 100%; font-size: 15px; border-radius: 8px; cursor: pointer; line-height: 20px; width: 300px; } .chargebee-checkout-select-wrapper { margin-top: 12px; } .chargebee-checkout-select { width: 100%; height: 50px; padding: 0 12px; border: 1px solid #ccc; border-radius: 4px; font-size: 14px; background: #fff; } .chargebee-checkout-processing-modal-content { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem 2rem; gap: 1rem; text-align: center; } /* Title */ .chargebee-checkout-processing-title { font-size: 1.25rem; font-weight: 600; color: #111827; /* gray-900 */ letter-spacing: -0.01em; margin: 0; } /* Icon */ .chargebee-checkout-processing-icon { display: inline-block; margin-right: 5px; width: 27px; height: 27px; color: #4F46E5; opacity: 0.9; } /* processing */ .chargebee-checkout-processing-loader { width: 48px; height: 48px; border: 4px solid rgba(0,0,0,.1); border-left-color: #4F46E5; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* Message */ .chargebee-checkout-processing-message { margin: 0; font-size: .95rem; font-weight: 500; color: #4B5563; /* gray-600 */ animation: pulse 2s ease-in-out infinite; } @keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: .6; } } /* =========================== ACTIVE SUBSCRIPTION MODAL =========================== */ .chargebee-checkout-active-sub-content { display: flex; flex-direction: column; align-items: center; padding: 32px 24px 24px; gap: 16px; text-align: center; } .chargebee-checkout-active-sub-icon { width: 64px; height: 64px; background-color: #dbeafe; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .chargebee-checkout-active-sub-icon svg { width: 32px; height: 32px; color: #2563eb; } .chargebee-checkout-active-sub-title { font-size: 20px; font-weight: 700; color: #111827; margin: 0; } .chargebee-checkout-active-sub-description { font-size: 14px; color: #4b5563; line-height: 1.6; margin: 0; } .chargebee-checkout-active-sub-primary-cta { width: 100%; line-height: 3em; border: none; border-radius: 4px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease; } .chargebee-checkout-active-sub-primary-cta:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5); } .chargebee-checkout-active-sub-secondary-cta { background: none; border: none; color: #6b7280; font-size: 13px; cursor: pointer; text-decoration: underline; padding: 0; } .chargebee-checkout-active-sub-secondary-cta:hover { color: #374151; } .chargebee-checkout-active-sub-continue { text-align: center; margin-top: 12px; } .chargebee-checkout-active-sub-continue a { font-weight: 700; font-size: 14px; line-height: 23px; color: #101f9e; cursor: pointer; text-decoration: none; } .chargebee-checkout-active-sub-continue a:hover { text-decoration: underline; } /*# sourceMappingURL=chargebee-checkout.css.map*/ /*# sourceMappingURL=chargebee-checkout.css.map*/}@layer legacy {.kiosq-my-account-stay-in-touch-social-content { display: none !important; }} @layer legacy { #auth-in-nav-header { font-size: 14px; font-weight: inherit; width:80px; } #auth-in-nav-header .auth-in-nav-header-menu ul { padding-left: 0px; } #auth-in-nav-header-sign-out svg{ fill: #fff; } @media (min-width: 700px) { #auth-in-nav-header { justify-content: flex-start !important; } } @media (max-width: 699px) { .burgerbar #auth-in-nav-header { position: absolute; right: 32px; justify-content: center !important; } .burgerbar .slice-container.locale-selector-slice { right: 82px; } .burgerbar #auth-in-nav-header #auth-in-nav-header-text { display: none; } } #auth-in-nav-header-menu{ color: #fff !important; } .kiosq-my-account-stay-in-touch-social-content { display: none !important;} } window.FUTR = window.FUTR || {}; window.FUTR.Connect = {"callbackUrl":"\/auth_callback","SIGN_OUT_TEXT":"Sign out","type":"addEvent","target":"auth-in-nav-header","auth0LockConfig":{"logo_url":"https:\/\/cdn.mos.cms.futurecdn.net\/flexiimages\/ctdtrpdenc1761054384.svgz","logo_email":"https:\/\/cdn.mos.cms.futurecdn.net\/flexiimages\/tn8m46b2lp1747218165.png","color_primary":"#d8383b","extra_css":".auth0-lock-header-welcome {margin-top: 15px; margin-bottom: -15px;} .auth0-lock.auth0-lock .auth0-lock-header-bg {background: #fff !important} .auth0-lock.auth0-lock .auth0-lock-header-logo {max-width:45%} @media (max-width: 1200px) {.auth0-lock.auth0-lock .auth0-lock-header-logo{max-width: 100%;}}","sign_up_newsletter_text":"Please sign me up to Tom's hardware newsletter","site_name":"Tom's hardware","contact_other_brand_text":"Contact me with news and offers from Tom's hardware and other Future brands","newsletter_code":"XTH-X","label":"tomshardware_en-gb"}}; window.FUTR.Connect.auth0LockConfig.allowedConnections = "google-oauth2,Username-Password-Authentication,Tomshardware-forum"; window.FUTR.Connect.callbackUrl = window.location.origin + window.FUTR.Connect.callbackUrl; window.FUTR.Connect.auth0AppClientId = "JRKr0EFukuD1sJvmCPwYGLYQNEyOlhDB"; window.FUTR.Connect.Auth = window.FUTR.Connect.Auth || {}; window.FUTR.Connect.Auth.parseJwt = window.FUTR.Connect.Auth.parseJwt || ((token)=>{ if (typeof token === 'undefined' || !token) { return; } var base64Url = token.split('.')[1] || ''; var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); var jsonPayload = decodeURIComponent(window.atob(base64).split('').map(function(c) { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join('')); return JSON.parse(jsonPayload); }); window.FUTR.Connect.Auth.getCookieByName = (name)=> { const value = `; ${document.cookie}`; const parts = value.split(`; ${name}=`); if (parts.length === 2) return parts.pop().split(';').shift(); } window.FUTR.Kiosq.User = window.FUTR.Connect.Auth.parseJwt(window.FUTR.Connect.Auth.getCookieByName("kiosq_user")); window.FUTR.Connect.isGranted = false; if(typeof window.FUTR.Kiosq.User !== 'undefined' && typeof window.FUTR.Kiosq.User.user_grant_status !== 'undefined' ){ const matchString = '^granted'; const regexp = new RegExp(matchString); if(regexp.test(window.FUTR.Kiosq.User.user_grant_status)){ window.FUTR.Connect.isGranted = true; } } window.addEventListener("DOMContentLoaded", (event) => { var connectBundle = document.createElement('script'); // window.FUTR.Connect.auth0AppClientId must be set before bundle.connect.js be added. connectBundle.src = "https://vanilla.futurecdn.net/tomshardware/1580304/media/shared/js/bundle.connect.js"; document.head.appendChild(connectBundle); }); window.FUTR = window.FUTR || {}; window.FUTR.Kiosq = window.FUTR.Kiosq || {}; window.FUTR.Kiosq.Campaign = window.FUTR.Kiosq.Campaign || {}; window.FUTR.Kiosq.Campaign.Context = window.FUTR.Kiosq.Campaign.Context || {}; window.FUTR.Kiosq.Campaign.Context = [{"name":"Device","script":"() => {\n const a = navigator.userAgent || navigator.vendor || window.opera;\n return \/(android|bb\\d+|meego).+mobile|avantgo|bada\\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino\/i.test(\n a\n ) ||\n \/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-\/i.test(\n a.substr(0, 4)\n )\n ? \"Mobile\"\n : \"Desktop\";\n};"},{"name":"LoginStatus","script":"() => {\n if( FUTR?.Kiosq?.User?.user_grant_status?.match(\/^granted\/)) return \"granted\";\n if( FUTR?.Kiosq?.User?.is_authenticated ) return \"connected\";\n \/\/if( typeof FUTR.Kiosq.User === 'undefined' ) return \"non-connected\";\n return \"non_connected\";\n};"},{"name":"FreeRemainingArticle","script":"() => {\n if (localStorage.getItem(\"kiosq_article_url_ack\") !== null) {\n const articleSeenUrls = localStorage.getItem(\"kiosq_article_url_ack\");\n const decodedArticleSeenUrls = JSON.parse(window.atob(articleSeenUrls));\n const limitFreeArticles = window.FUTR.Kiosq?.defaultSiteConfig?.limitOfFreeArticle || 0;\n const numberOfFreeArticleRemaining = limitFreeArticles-decodedArticleSeenUrls.length;\n return numberOfFreeArticleRemaining >= 0 ? numberOfFreeArticleRemaining : 0;\n }\n\n return 0;\n }"},{"name":"NumberOfPagesVisited","script":"() => {\n const localHistory = JSON.parse(atob(localStorage.getItem('connect_articles_history') || localStorage.getItem('kiosq_article_url_ack') || btoa('[]')));\n return localHistory.length;\n }"},{"name":"ArticleControlTags","script":"() => {return window.ffte?.properties?.articleControlTag || []}"},{"name":"ArticleTagHandle","script":"() => {return window.ffte?.properties?.articleTagHandle || []}"},{"name":"BlueConicSegments","script":"() => {return typeof(blueConicClient) !== \"undefined\" && blueConicClient?.getSegments() ? blueConicClient?.getSegments() : [];}"},{"name":"Referrer","script":"() => {return document.referrer;}"},{"name":"ArticleTemplate","script":"() => {return window.ffte?.properties?.articleTemplate || \"\"}"},{"name":"ArticleType","script":"() => {return window.ffte?.properties?.articleType || \"\"}"},{"name":"ArticleId","script":"() => {return window.ffte?.properties?.id || \"\"}"},{"name":"UserGrantStatus","script":"() => {return window.FUTR?.Kiosq?.User?.user_grant_status || \"\"}"},{"name":"TimeOfTheDay","script":"() => new Date().getHours() < 12 ? \"AM\" : \"PM\";"},{"name":"ArticleCategory","script":"() => {return window.ffte?.properties?.articleCategoryHandle || []}"},{"name":"IsRegwallBarrier","script":"() => {return window?.FUTR?.Kiosq?.wallType === \"regwallAuthentication\" || (typeof(window?.FUTR?.Kiosq?.User) === \"undefined\" && window?.FUTR?.Kiosq?.wallType === \"regwallAuthPaywall\")}"},{"name":"GetLocaleSite","script":"() => {return window.ffte?.locale || \"\"}"},{"name":"UserCountryCodeReal","script":"() => {\n const value = `; ${window.document.cookie}`;\n const parts = value.split(`; FTR_Country_Code=`);\n if (parts.length === 2) return parts.pop().split(\";\").shift();\n};"},{"name":"TestCampaign","script":"() => {\n const urlParams = new URLSearchParams(window.location.search);\n const campaignToTest = urlParams.get('_flexi_test_campaign');\n return campaignToTest || '';\n}"},{"name":"ForceBarrierWithArticlesSeens(notForQueryBuilder)","script":"() => {\n const urlParams = new URLSearchParams(window.location.search);\n const nbArticlesSeensExpected = parseInt(urlParams.get('_flexi_force_barrier_seen'), 10); \/\/ Conversion en entier\n \n if(nbArticlesSeensExpected){\n \n let decodedArticleSeenUrls = [];\n \n \/\/ V\u00e9rification que nbArticlesSeensExpected est un nombre valide\n if (!isNaN(nbArticlesSeensExpected) && nbArticlesSeensExpected > 0) {\n for (let i = 0; i < nbArticlesSeensExpected; i++) { \n decodedArticleSeenUrls.push(`\/toto\/toto${i}`);\n }\n }\n \n \/\/ V\u00e9rifiez que articleSeenUrls est d\u00e9fini avant de le d\u00e9coder\n if (typeof articleSeenUrls !== 'undefined') {\n decodedArticleSeenUrls = JSON.parse(window.atob(articleSeenUrls));\n }\n \n localStorage.removeItem('kiosq_article_url_ack');\n localStorage.setItem('kiosq_article_url_ack', window.btoa(JSON.stringify(decodedArticleSeenUrls))); \n }\n}\n"},{"name":"UTMCampaignPaid","script":"() => {\n const urlParams = new URLSearchParams(window.location.search);\n return (urlParams.get('utm_campaign') ?? '').toLowerCase().includes('paid');\n}"},{"name":"UTMParams","script":"() => {\n \/\/ Get the search params\n const params = new URLSearchParams(window.location.search);\n \n \/\/ Create an object to store UTM parameters\n const utmParams = [];\n \n \/\/ UTM parameter names\n const utmNames = [\n 'utm_source',\n 'utm_source_id',\n 'utm_medium',\n 'utm_campaign',\n 'utm_term',\n 'utm_content'\n ];\n \n \/\/ Extract UTM parameters\n utmNames.forEach(name => {\n const value = params.get(name);\n if (value) {\n utmParams.push(value);\n }\n });\n \n return utmParams.join(',');\n}"},{"name":"FreeRemainingArticleAfterLogin","script":"() => {\n if (localStorage.getItem(\"kiosq_article_url_ack\") !== null) {\n const articleSeenUrls = localStorage.getItem(\"kiosq_article_url_ack\");\n const decodedArticleSeenUrls = JSON.parse(window.atob(articleSeenUrls));\n const limitFreeArticlesAfterLogin = window.FUTR.Kiosq?.defaultSiteConfig?.limitOfFreeArticleAfterLogin || 0;\n const numberOfFreeArticleRemaining = limitFreeArticlesAfterLogin-decodedArticleSeenUrls.length;\n return numberOfFreeArticleRemaining >= 0 ? numberOfFreeArticleRemaining : 0;\n }\n\n return 0;\n }"},{"name":"ABTestCampaigns","script":"() => { \n let result = '';\n const str = window.VAN?.abTest?.variationId || '';\n if (str) {\n const parts = str.split('|');\n \n const variantId = parts[2];\n const variantNumber = parts[3];\n result = `${variantId}_${variantNumber}`;\n }\n\n return result;\n}"},{"name":"UrlPath","script":"() => {return window.location.pathname;}"},{"name":"GetQueryStringKeys","script":"() => {\n \/\/ Get the search params\n const params = new URLSearchParams(window.location.search);\n \n \/\/ Create an array of 'key=value' strings\n const paramStrings = [];\n \n \/\/ Iterate through all parameters and create the strings\n params.forEach((value, key) => {\n paramStrings.push(`${key}=${value}`);\n });\n \n return paramStrings;\n}; "},{"name":"ABTestVariationId","script":"() => { return window.VAN?.abTest?.variationId?.split('|')[4] ?? null; }"},{"name":"ABTestId","script":"() => { return window.VAN?.abTest?.variationId?.split('|')[2] ?? null; }"}]; window.FUTR.Kiosq.Campaign.Context = window.FUTR.Kiosq.Campaign.Context.map(function({script, ...item}) { try { return { ...item, computeValue:(eval(script))(), }; } catch (e) { if (e instanceof SyntaxError) { console.error(`Kiosq Setting Script Campaign ${item.name} has syntax error: ` + e.message); } else { console.log(`Kiosq Setting Script Campaign ${item.name} has`,e.message) } } }); window.bordeaux = window.bordeaux || {}; window.bordeaux.cmd = window.bordeaux.cmd || []; window.ffte.bordeaux ={ pageTemplate: "home", adParameters: window.adParameters || {"site":"tomshardware","content":"unknown","type":"homepage"} }; (function() { const QA_BASE_URL = 'public.rtb-qa-eks-euw1.futureplc.engineering'; const createScriptTag = (src) => { const script = document.createElement('script'); script.setAttribute('src', src); script.setAttribute('onerror', 'handleHeaderError()'); script.setAttribute('crossorigin', 'anonymous'); script.defer = true; return script; }; const appendScriptTags = (qaBordeauxVersion, qaChampagneVersion) => { if (window.disableBordeaux === true) return; const bordeauxUrl = qaBordeauxVersion ? `https://bdx.${qaBordeauxVersion}.${QA_BASE_URL}/bordeaux.js` : 'https://bordeaux.futurecdn.net/bordeaux.js'; const champagneUrl = qaChampagneVersion ? `https://chmp.${qaChampagneVersion}.${QA_BASE_URL}/champagne.js` : 'https://champagne.futurecdn.net/champagne.js'; document.head.append( createScriptTag(bordeauxUrl), createScriptTag(champagneUrl) ); }; const getQueryParams = () => { const params = new URLSearchParams(window.location.search); return { qaBordeauxVersion: params.get('hybrid_bordeaux_version') ?? null, qaChampagneVersion: params.get('hybrid_champagne_version') ?? null, }; }; const { qaBordeauxVersion, qaChampagneVersion } = getQueryParams(); appendScriptTags(qaBordeauxVersion, qaChampagneVersion); if (qaBordeauxVersion) { window.bordeaux.setAdToolVersion(qaBordeauxVersion); } })(); /* */ function comscoreIntegration() { var TIMEOUT_DELAY = 2000; var COMSCORE_ID = "10055482"; function callComscore(ucfrValue) { window._comscore = window._comscore || []; var comscorePayload = { c1: "2", c2: COMSCORE_ID, options: { enableFirstPartyCookie: true, } }; if(ucfrValue) { comscorePayload.cs_ucfr = ucfrValue; } window._comscore.push(comscorePayload); injectComscore(); } function callComscoreForVideo(ucfrValue) { window._comscore = window._comscore || []; const seconds = 600; const comscorePayload = { c2: COMSCORE_ID, c5: jwplayer().getDuration() > seconds ? "03" : "02", }; if(ucfrValue) { comscorePayload.cs_ucfr = ucfrValue; } if (!window.COMSCORE) { window._comscore.push(comscorePayload); } else { window.COMSCORE.beacon(comscorePayload) } } function injectComscore() { let s = document.createElement('script'), el = document.getElementsByTagName("script")[0]; s.async = true; const URLbeginning = "https://sb"; if (window.__tcfapi) { s.src = URLbeginning + '.scorecardresearch.com/cs/' + COMSCORE_ID + '/beacon.js'; } else { s.src = URLbeginning + '.scorecardresearch.com/beacon.js'; } el.parentNode.insertBefore(s, el); } if (window.__tcfapi) { var timeout = window.setTimeout(function() { callComscore(); }, TIMEOUT_DELAY); window.__tcfapi('addEventListener', 2, function(res) { window.__tcfapi('removeEventListener', 2, function() {}, res.listenerId); const validStatus = ['tcloaded', 'useractioncomplete']; if (validStatus.includes(res.eventStatus) && res.gdprApplies) { window.clearTimeout(timeout); callComscore(res.vendor?.consents?.[77] ? 1 : 0); } }); } else { callComscore(); } window.reliablePageLoad.then(function () { window.document.addEventListener('jwplayerInstanceLoaded', function () { jwplayer().once('beforePlay', function () { callComscoreForVideo(); }); }); }); } comscoreIntegration(); !function(){"use strict";function e(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],c=document.createElement("script");c.src=e,t?c.type="module":(c.async=!0,c.type="text/javascript",c.setAttribute("nomodule",""));var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(c,n)}!function(t,c){!function(t,c,n){var a,o,r;n.accountId=c,null!==(a=t.marfeel)&&void 0!==a||(t.marfeel={}),null!==(o=(r=t.marfeel).cmd)&&void 0!==o||(r.cmd=[]),t.marfeel.config=n;var i="https://sdk.mrf.io/statics";e("".concat(i,"/marfeel-sdk.js?id=").concat(c),!0),e("".concat(i,"/marfeel-sdk.es5.js?id=").concat(c),!1)}(t,c,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{})}(window,7842,{})}(); FlexiLoader={loadJS:function(e,t){var n,r,a;r=!1,(n=document.createElement("script")).type="text/javascript",n.src=e,n.async=!0,n.onload=n.onreadystatechange=function(){r||this.readyState&&"complete"!==this.readyState||(r=!0,t())},(a=document.getElementsByTagName("script")[0]).parentNode.insertBefore(n,a)},execRequires:function(){this.requires.forEach(function(e,t,n){try{e()}catch(e){console.log("error",e)}}),this.requires=[]},execRequiresOnDomReady:function(){document.addEventListener("readystatechange",function(){["interactive","complete"].indexOf(document.readyState)>=0&&FlexiLoader.execRequires()},!1)},push:function(e){["interactive","complete"].indexOf(document.readyState)>=0?e():this.requires.push(e)},requires:window.FlexiLoaderRequires||[]}; FlexiLoader.loadJS('//vanilla.futurecdn.net/tomshardware/1580304/media/shared/js/flexi.js', function () { Flexi.globals = { "environment": "live", "endpoints": null }; FlexiLoader.execRequiresOnDomReady(); }); !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).cssVars=t()}(this,function(){"use strict";function e(){return(e=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:"").trim().charAt(0))}function a(e,t){n.onError(e,r[t],t)}function c(e,t){var s=n.onSuccess(e,r[t],t);e=!1===s?"":s||e,o[t]=e,-1===o.indexOf(null)&&n.onComplete(o)}var i=document.createElement("a");r.forEach(function(e,t){if(i.setAttribute("href",e),i.href=String(i.href),Boolean(document.all&&!window.atob)&&i.host.split(":")[0]!==location.host.split(":")[0]){if(i.protocol===location.protocol){var r=new XDomainRequest;r.open("GET",e),r.timeout=0,r.onprogress=Function.prototype,r.ontimeout=Function.prototype,r.onload=function(){s(r.responseText)?c(r.responseText,t):a(r,t)},r.onerror=function(e){a(r,t)},setTimeout(function(){r.send()},0)}else console.warn("Internet Explorer 9 Cross-Origin (CORS) requests must use the same protocol (".concat(e,")")),a(null,t)}else{var o=new XMLHttpRequest;o.open("GET",e),n.mimeType&&o.overrideMimeType&&o.overrideMimeType(n.mimeType),n.onBeforeSend(o,e,t),o.onreadystatechange=function(){4===o.readyState&&(200===o.status&&s(o.responseText)?c(o.responseText,t):a(o,t))},o.send()}})}function r(e){var t={cssComments:/\/\*[\s\S]+?\*\//g,cssImports:/(?:@import\s*)(?:url\(\s*)?(?:['"])([^'"]*)(?:['"])(?:\s*\))?(?:[^;]*;)/g},r={rootElement:e.rootElement||document,include:e.include||'style,link[rel="stylesheet"]',exclude:e.exclude||null,filter:e.filter||null,useCSSOM:e.useCSSOM||!1,onBeforeSend:e.onBeforeSend||Function.prototype,onSuccess:e.onSuccess||Function.prototype,onError:e.onError||Function.prototype,onComplete:e.onComplete||Function.prototype},s=Array.apply(null,r.rootElement.querySelectorAll(r.include)).filter(function(e){return t=e,n=r.exclude,!(t.matches||t.matchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector).call(t,n);var t,n}),a=Array.apply(null,Array(s.length)).map(function(e){return null});function c(){if(-1===a.indexOf(null)){var e=a.join("");r.onComplete(e,a,s)}}function i(e,t,o,s){var i=r.onSuccess(e,o,s);(function e(t,o,s,a){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];var l=u(t,s,i);l.rules.length?n(l.absoluteUrls,{onBeforeSend:function(e,t,n){r.onBeforeSend(e,o,t)},onSuccess:function(e,t,n){var s=r.onSuccess(e,o,t),a=u(e=!1===s?"":s||e,t,i);return a.rules.forEach(function(t,n){e=e.replace(t,a.absoluteRules[n])}),e},onError:function(n,r,u){c.push({xhr:n,url:r}),i.push(l.rules[u]),e(t,o,s,a,c,i)},onComplete:function(n){n.forEach(function(e,n){t=t.replace(l.rules[n],e)}),e(t,o,s,a,c,i)}}):a(t,c)})(e=void 0!==i&&!1===Boolean(i)?"":i||e,o,s,function(e,n){null===a[t]&&(n.forEach(function(e){return r.onError(e.xhr,o,e.url)}),!r.filter||r.filter.test(e)?a[t]=e:a[t]="",c())})}function u(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],s={};return s.rules=(e.replace(t.cssComments,"").match(t.cssImports)||[]).filter(function(e){return-1===r.indexOf(e)}),s.urls=s.rules.map(function(e){return e.replace(t.cssImports,"$1")}),s.absoluteUrls=s.urls.map(function(e){return o(e,n)}),s.absoluteRules=s.rules.map(function(e,t){var r=s.urls[t],a=o(s.absoluteUrls[t],n);return e.replace(r,a)}),s}s.length?s.forEach(function(e,t){var s=e.getAttribute("href"),u=e.getAttribute("rel"),l="LINK"===e.nodeName&&s&&u&&"stylesheet"===u.toLowerCase(),f="STYLE"===e.nodeName;if(l)n(s,{mimeType:"text/css",onBeforeSend:function(t,n,o){r.onBeforeSend(t,e,n)},onSuccess:function(n,r,a){var c=o(s,location.href);i(n,t,e,c)},onError:function(n,o,s){a[t]="",r.onError(n,e,o),c()}});else if(f){var p=e.textContent;r.useCSSOM&&(p=Array.apply(null,e.sheet.cssRules).map(function(e){return e.cssText}).join("")),i(p,t,e,location.href)}else a[t]="",c()}):r.onComplete("",[])}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:location.href,n=document.implementation.createHTMLDocument(""),r=n.createElement("base"),o=n.createElement("a");return n.head.appendChild(r),n.body.appendChild(o),r.href=t,o.href=e,o.href}var s=a;function a(e,t,n){e instanceof RegExp&&(e=c(e,n)),t instanceof RegExp&&(t=c(t,n));var r=i(e,t,n);return r&&{start:r[0],end:r[1],pre:n.slice(0,r[0]),body:n.slice(r[0]+e.length,r[1]),post:n.slice(r[1]+t.length)}}function c(e,t){var n=t.match(e);return n?n[0]:null}function i(e,t,n){var r,o,s,a,c,i=n.indexOf(e),u=n.indexOf(t,i+1),l=i;if(i>=0&&u>0){for(r=[],s=n.length;l>=0&&!c;)l==i?(r.push(l),i=n.indexOf(e,l+1)):1==r.length?c=[r.pop(),u]:((o=r.pop())1&&void 0!==arguments[1]?arguments[1]:{});function r(e){throw new Error("CSS parse error: ".concat(e))}function o(e){var n=e.exec(t);if(n)return t=t.slice(n[0].length),n}function a(){return o(/^{\s*/)}function c(){return o(/^}/)}function i(){o(/^\s*/)}function u(){if(i(),"/"===t[0]&&"*"===t[1]){for(var e=2;t[e]&&("*"!==t[e]||"/"!==t[e+1]);)e++;if(!t[e])return r("end of comment is missing");var n=t.slice(2,e);return t=t.slice(e+2),{type:"comment",comment:n}}}function l(){for(var e,t=[];e=u();)t.push(e);return n.removeComments?[]:t}function f(){for(i();"}"===t[0];)r("extra closing bracket");var e=o(/^(("(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[^{])+)/);if(e)return e[0].trim().replace(/\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*\/+/g,"").replace(/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'/g,function(e){return e.replace(/,/g,"‌")}).split(/\s*(?![^(]*\)),\s*/).map(function(e){return e.replace(/\u200C/g,",")})}function p(){o(/^([;\s]*)+/);var e=/\/\*[^*]*\*+([^\/*][^*]*\*+)*\//g,t=o(/^(\*?[-#\/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/);if(t){if(t=t[0].trim(),!o(/^:\s*/))return r("property missing ':'");var n=o(/^((?:\/\*.*?\*\/|'(?:\\'|.)*?'|"(?:\\"|.)*?"|\((\s*'(?:\\'|.)*?'|"(?:\\"|.)*?"|[^)]*?)\s*\)|[^};])+)/),s={type:"declaration",property:t.replace(e,""),value:n?n[0].replace(e,"").trim():""};return o(/^[;\s]*/),s}}function m(){if(!a())return r("missing '{'");for(var e,t=l();e=p();)t.push(e),t=t.concat(l());return c()?t:r("missing '}'")}function d(){i();for(var e,t=[];e=o(/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/);)t.push(e[1]),o(/^,\s*/);if(t.length)return{type:"keyframe",values:t,declarations:m()}}function v(){if(i(),"@"===t[0]){var e=function(){var e=o(/^@([-\w]+)?keyframes\s*/);if(e){var t=e[1];if(!(e=o(/^([-\w]+)\s*/)))return r("@keyframes missing name");var n,s=e[1];if(!a())return r("@keyframes missing '{'");for(var i=l();n=d();)i.push(n),i=i.concat(l());return c()?{type:"keyframes",name:s,vendor:t,keyframes:i}:r("@keyframes missing '}'")}}()||function(){var e=o(/^@supports *([^{]+)/);if(e)return{type:"supports",supports:e[1].trim(),rules:h()}}()||function(){if(o(/^@host\s*/))return{type:"host",rules:h()}}()||function(){var e=o(/^@media *([^{]+)/);if(e)return{type:"media",media:e[1].trim(),rules:h()}}()||function(){var e=o(/^@custom-media\s+(--[^\s]+)\s*([^{;]+);/);if(e)return{type:"custom-media",name:e[1].trim(),media:e[2].trim()}}()||function(){if(o(/^@page */))return{type:"page",selectors:f()||[],declarations:m()}}()||function(){var e=o(/^@([-\w]+)?document *([^{]+)/);if(e)return{type:"document",document:e[2].trim(),vendor:e[1]?e[1].trim():null,rules:h()}}()||function(){if(o(/^@font-face\s*/))return{type:"font-face",declarations:m()}}()||function(){var e=o(/^@(import|charset|namespace)\s*([^;]+);/);if(e)return{type:e[1],name:e[2].trim()}}();if(e&&n.onlyVars){var s=!1;if(e.declarations)s=e.declarations.some(function(e){return/var\(/.test(e.value)});else s=(e.keyframes||e.rules||[]).some(function(e){return(e.declarations||[]).some(function(e){return/var\(/.test(e.value)})});return s?e:{}}return e}}function y(){if(n.onlyVars){var e=s("{","}",t);if(e){var o=-1!==e.pre.indexOf(":root")&&/--\S*\s*:/.test(e.body),a=/var\(/.test(e.body);if(!o&&!a)return t=t.slice(e.end+1),{}}}var c=f()||[],i=n.onlyVars?m().filter(function(e){var t=c.some(function(e){return-1!==e.indexOf(":root")})&&/^--\S/.test(e.property),n=/var\(/.test(e.value);return t||n}):m();return c.length||r("selector missing"),{type:"rule",selectors:c,declarations:i}}function h(e){if(!e&&!a())return r("missing '{'");for(var n,o=l();t.length&&(e||"}"!==t[0])&&(n=v()||y());)n.type&&o.push(n),o=o.concat(l());return e||c()?o:r("missing '}'")}return{type:"stylesheet",stylesheet:{rules:h(!0),errors:[]}}}a.range=i;var l="--",f="var",p={dom:{},temp:{},user:{}};function m(t){var n,r,o=e({},{fixNestedCalc:!0,onlyVars:!1,persist:!1,preserve:!1,variables:{},onWarning:function(){}},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),a=o.persist?p.dom:p.temp=JSON.parse(JSON.stringify(p.dom)),c=u(t,{onlyVars:o.onlyVars});if(c.stylesheet.rules.forEach(function(e){var t=[];if("rule"===e.type&&1===e.selectors.length&&":root"===e.selectors[0]&&(e.declarations.forEach(function(e,n){var r=e.property,o=e.value;r&&0===r.indexOf(l)&&(a[r]=o,t.push(n))}),!o.preserve))for(var n=t.length-1;n>=0;n--)e.declarations.splice(t[n],1)}),Object.keys(p.user).forEach(function(e){a[e]=p.user[e]}),Object.keys(o.variables).length){var i={declarations:[],selectors:[":root"],type:"rule"};Object.keys(o.variables).forEach(function(e){var t="--".concat(e.replace(/^-+/,"")),n=o.variables[e];o.persist&&(p.user[t]=n),a[t]!==n&&(a[t]=n,i.declarations.push({type:"declaration",property:t,value:n}))}),o.preserve&&i.declarations.length&&c.stylesheet.rules.push(i)}return function e(t,n){t.rules.forEach(function(r){r.rules?e(r,n):r.keyframes?r.keyframes.forEach(function(e){"keyframe"===e.type&&n(e.declarations,r)}):r.declarations&&n(r.declarations,t)})}(c.stylesheet,function(e,t){for(var n,r,s,c=0;c1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,r={charset:function(e){return"@charset "+e.name+";"},comment:function(e){return 0===e.comment.indexOf("__CSSVARSPONYFILL")?"/*"+e.comment+"*/":""},"custom-media":function(e){return"@custom-media "+e.name+" "+e.media+";"},declaration:function(e){return e.property+":"+e.value+";"},document:function(e){return"@"+(e.vendor||"")+"document "+e.document+"{"+o(e.rules)+"}"},"font-face":function(e){return"@font-face{"+o(e.declarations)+"}"},host:function(e){return"@host{"+o(e.rules)+"}"},import:function(e){return"@import "+e.name+";"},keyframe:function(e){return e.values.join(",")+"{"+o(e.declarations)+"}"},keyframes:function(e){return"@"+(e.vendor||"")+"keyframes "+e.name+"{"+o(e.keyframes)+"}"},media:function(e){return"@media "+e.media+"{"+o(e.rules)+"}"},namespace:function(e){return"@namespace "+e.name+";"},page:function(e){return"@page "+(e.selectors.length?e.selectors.join(", "):"")+"{"+o(e.declarations)+"}"},rule:function(e){var t=e.declarations;if(t.length)return e.selectors.join(",")+"{"+o(t)+"}"},supports:function(e){return"@supports "+e.supports+"{"+o(e.rules)+"}"}};function o(e){for(var o="",s=0;s2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(-1===e.indexOf("var("))return e;var o=s("(",")",e);return o?"var"===o.pre.slice(-3)?0===o.body.trim().length?(n.onWarning("var() must contain a non-whitespace string"),e):o.pre.slice(0,-3)+function(e){var o=e.split(",")[0].replace(/[\s\n\t]/g,""),s=(e.match(/(?:\s*,\s*){1}(.*)?/)||[])[1],a=t.hasOwnProperty(o)?String(t[o]):void 0,c=a||(s?String(s):void 0),i=r||e;return a||n.onWarning('variable "'.concat(o,'" is undefined')),c&&"undefined"!==c&&c.length>0?d(c,t,n,i):"var(".concat(i,")")}(o.body)+d(o.post,t,n):o.pre+"(".concat(d(o.body,t,n),")")+d(o.post,t,n):(-1!==e.indexOf("var(")&&n.onWarning('missing closing ")" in the value "'.concat(e,'"')),e)}var v="css-vars-ponyfill",y="undefined"!=typeof window,h=y&&window.CSS&&window.CSS.supports&&window.CSS.supports("(--a: 0)"),g="cssVars(): ",S={rootElement:y?document:null,shadowDOM:!1,include:"style,link[rel=stylesheet]",exclude:"",variables:{},fixNestedCalc:!0,onlyLegacy:!0,onlyVars:!1,preserve:!1,silent:!1,updateDOM:!0,updateURLs:!0,watch:null,onBeforeSend:function(){},onSuccess:function(){},onWarning:function(){},onError:function(){},onComplete:function(){}},E={cssComments:/\/\*[\s\S]+?\*\//g,cssKeyframes:/@(?:-\w*-)?keyframes/,cssRootRules:/(?::root\s*{\s*[^}]*})/g,cssUrls:/url\((?!['"]?(?:data|http|\/\/):)['"]?([^'")]*)['"]?\)/g,cssVars:/(?:(?::root\s*{\s*[^;]*;*\s*)|(?:var\(\s*))(--[^:)]+)(?:\s*[:)])/},b=null,x=null,C=!1;function O(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=e({},S,n),s=v;function a(e,t,n,r){o.silent||console.error("".concat(g).concat(e,"\n"),t),o.onError(e,t,n,r)}function c(e){o.silent||console.warn("".concat(g).concat(e)),o.onWarning(e)}if(o.exclude="#".concat(s)+(o.exclude?",".concat(o.exclude):""),o._benchmark=o._benchmark?o._benchmark:A(),y)if(!1===o.watch&&b&&b.disconnect(),o.watch)!function(e,t){if(!window.MutationObserver)return;var n=function(e){return"LINK"===e.tagName&&-1!==(e.getAttribute("rel")||"").indexOf("stylesheet")},r=function(e){return"STYLE"===e.tagName&&(!t||e.id!==t)};b&&b.disconnect();e.watch=S.watch,(b=new MutationObserver(function(t){var o=t.some(function(e){var t=!1;if("attributes"===e.type)t=n(e.target)||r(e.target);else if("childList"===e.type){var o=Array.apply(null,e.addedNodes),s=Array.apply(null,e.removedNodes);t=[].concat(o,s).some(function(e){var t=n(e)&&!e.disabled,o=r(e)&&E.cssVars.test(e.textContent);return t||o})}return t});o&&w(e)})).observe(document.documentElement,{attributes:!0,attributeFilter:["disabled","href"],childList:!0,subtree:!0})}(o,s),w(o);else if("loading"!==document.readyState){var i=o.shadowDOM||o.rootElement.shadowRoot||o.rootElement.host;if(h&&o.onlyLegacy){if(o.updateDOM){var u=o.rootElement.host||(o.rootElement===document?document.documentElement:o.rootElement);Object.keys(o.variables).forEach(function(e){var t="--".concat(e.replace(/^-+/,"")),n=o.variables[e];u.style.setProperty(t,n)})}}else r(i&&!C?{rootElement:S.rootElement,include:S.include,exclude:o.exclude,onSuccess:function(e,t,n){return(e.match(E.cssRootRules)||[]).join("")||!1},onComplete:function(e,t,n){m(e,{persist:!0}),C=!0,O(o)}}:{rootElement:o.rootElement,include:o.include,exclude:o.exclude,filter:o.onlyVars?E.cssVars:null,onBeforeSend:o.onBeforeSend,onSuccess:function(e,t,n){var r=o.onSuccess(e,t,n);(e=void 0!==r&&!1===Boolean(r)?"":r||e,o.updateURLs)&&(e.replace(E.cssComments,"").match(E.cssUrls)||[]).forEach(function(t){var r=t.replace(E.cssUrls,"$1"),o=k(r,n);e=e.replace(t,t.replace(r,o))});return e},onError:function(e,t,n){var r=e.responseURL||k(n,location.href),o=e.statusText?"(".concat(e.statusText,")"):"Unspecified Error"+(0===e.status?" (possibly CORS related)":"");a("CSS XHR Error: ".concat(r," ").concat(e.status," ").concat(o),t,e,r)},onComplete:function(n,r,i){var u=o.rootElement.querySelector("#".concat(s))||document.createElement("style"),l=u.__cssVars||{};if(l.cssText===n&&l.settings===JSON.stringify(o))n=u.textContent,o.silent||console.info("".concat(g,"CSS source is unchanged"));else{u.setAttribute("id",s),u.__cssVars={cssText:n,settings:JSON.stringify(o)},n=r.map(function(e,t){return E.cssVars.test(e)?e:"/*__CSSVARSPONYFILL-".concat(t,"__*/")}).join("");try{n=m(n,{fixNestedCalc:o.fixNestedCalc,onlyVars:o.onlyVars,persist:o.updateDOM,preserve:o.preserve,variables:o.variables,onWarning:c});var f=E.cssKeyframes.test(n);if(n=n.replace(/\/\*__CSSVARSPONYFILL-(\d+)__\*\//g,function(e,t){return r[t]}),o.updateDOM&&i&&i.length){var d=i[i.length-1];u.textContent!==n&&(u.textContent=n),d.nextSibling!==u&&d.parentNode&&d.parentNode.insertBefore(u,d.nextSibling),f&&function(e){var t=["animation-name","-moz-animation-name","-webkit-animation-name"].filter(function(e){return getComputedStyle(document.body)[e]})[0];if(t){for(var n=e.getElementsByTagName("*"),r=[],o=0,s=n.length;o Tom's Hardware
  • [H3] Testing CPU scaling in Crimson Desert
  • [H3] Nvidia will only produce one 88-core Vera CPU model — Jensen says the company will make billions of dollars from a single SKU
  • [H3] With H200s set to flow into China, Groq is reportedly set to follow soon after
  • [H3] AMD claims it had no knowledge of fake Ryzen 5 7430U CPUs in Chuwi laptops
  • [H3] Microsoft considering suing OpenAI over Altman's recent deal with Amazon, report claims
  • [H3] AMD reportedly strikes back with Zen 5 refresh to counter Intel's latest Arrow Lake Refresh CPUs
  • [H3] Endgame: What’s it Like to build the Noctua-everything PC inside the Antec Flux Pro Noctua-Edition
  • [H3] Best motherboard deals 2026
  • [H3] SK Group chairman says memory chip shortage will last until 2030
  • [H3] Tech hobbyist makes shoulder-mounted guided missile prototype with $96 in parts and a 3D printer
  • [H3] Bitcoin is so resilient it could survive as much as 90% of the world's undersea cables failing simultaneously
  • [H3] Intel launches Core Ultra 200HX Plus mobile CPUs, new lineup includes 290HX Plus & 270HX Plus flagships
  • [H3] Nvidia updates data center roadmap with Rosa CPU and stacked Feynman GPUs
  • [H3] Jensen says Nvidia has received orders from Chinese customers for H200 GPUs, licenses from US gov't — H200 manufacturing restarting
  • [H3] Jensen Huang says gamers are 'completely wrong' about DLSS 5
  • [H3] Nvidia launches DGX Station with its bleeding-edge GB300 Grace Blackwell Superchip
  • [H3] End of an era for decades-old PlayStation 3, Xbox 360, and Nintendo Wii U as GameStop officially declares them retro
  • [H3] Nintendo Switch 2 update brings Handheld Mode Boost
  • [H3] Examining Nvidia's 60 exaflop Vera Rubin POD — how seven chips underpin company's 40 rack AI factory supercomputer
  • [H3] We got a first look at Nvidia's DLSS 5 and the future of neural rendering at GTC
  • [H3] With H200s set to flow into China, Groq is reportedly set to follow soon after
  • [H3] Examining Nvidia's 60 exaflop Vera Rubin POD — how seven chips underpin company's 40 rack AI factory supercomputer
  • [H3] Meta's new MTIA lineup joins hyperscalers' unified push for dedicated inferencing chips
  • [H3] Intel's roadmaps examined — 14A, Nova Lake, Diamond Rapids & AI accelerator push
  • [H3] Tech titans team up to form optical interconnect alliance to solve the AI buildout's big data bottleneck
  • [H3] The ongoing Strait of Hormuz blockage will impact the semiconductor and AI industries with Aluminum, Helium and LNG shortages
  • [H3] SPONSORED_HEADLINE
  • [H3] MSI MAG B850 Tomahawk Max Wifi II Motherboard review: Sharpening the Tomahawk’s blade
  • [H3] Creality Sermoon P1 3D Scanner review: 3D scanning on the go
  • [H3] Keychron Q16 HE 8K Review: All-ceramic, but not all good
  • [H3] Acer Swift 16 AI Review: A Premium contender with a curious twist
  • [H3] HyperX Origins 2 65 Review: 8,000Hz and Customizable
  • [H3] SPONSORED_HEADLINE
  • [H3] Best AIO Coolers 2026
  • [H3] The Best Wi-Fi Routers We've Benchmarked in 2026 — the best of Wi-Fi 7 from budget to premium
  • [H3] Best PC Speakers 2026: From Budget to Audiophile Bliss
  • [H3] SPONSORED_HEADLINE
  • [H3] Testing CPU scaling in Crimson Desert
  • [H3] Nvidia will only produce one 88-core Vera CPU model — Jensen says the company will make billions of dollars from a single SKU
  • [H3] AMD claims it had no knowledge of fake Ryzen 5 7430U CPUs in Chuwi laptops
  • [H3] SPONSORED_HEADLINE
  • [H3] Nvidia updates data center roadmap with Rosa CPU and stacked Feynman GPUs
  • [H3] Jensen Huang expects Nvidia to sell $1 trillion of AI hardware through 2027
  • [H3] Nvidia announces Vera Rubin Space Module
  • [H3] SPONSORED_HEADLINE
  • [H3] Jake Roach
  • [H3] Jeffrey Kampman
  • [H3] Anj Bryant
  • [H3] Stephen Warwick
  • [H3] Paul Alcorn
  • [H3] Matt Safford
  • [H3] Sarah Jacobsson Purewal
  • [H3] Andrew E. Freedman
  • [H3] Brandon Hill
  • [H3] Les Pounder
  • [H3] Stewart Bendle
  • [H3] Sayem Ahmed
  • [H3] Joe Shields
  • [H3] Ben Stockton
  • [H3] Dell updates Alienware gaming laptops with Intel’s Arrow Lake-HX Refresh CPUs
  • [H3] Apple's MacBook Neo modded to a 1 TB SSD, breaking the firm's 512 GB barrier
  • [H3] SPONSORED_HEADLINE
  • [H3] Intel's roadmaps examined — 14A, Nova Lake, Diamond Rapids & AI accelerator push
  • [H3] How to protect yourself from bad external SSDs during the PC hardware apocalypse
  • [H3] Shortages of crucial chip packaging material threatens AI accelerator supply chains
  • [H3] SPONSORED_HEADLINE
  • [H3] Endgame: What’s it Like to build the Noctua-everything PC inside the Antec Flux Pro Noctua-Edition
  • [H3] Best motherboard deals 2026
  • [H3] SK Group chairman says memory chip shortage will last until 2030
  • [H3] SPONSORED_HEADLINE
  • [H3] How to setup an Android smartphone as a webcam — Camo Studio unlocks new uses for old smartphones in Windows 10 or 11 and OBS software
  • [H3] Windows Phone makes a spiritual comeback thanks to NexPhone, which can triple-boot Windows, Android, and Linux
  • [H3] Monstrous SSD cooling solution strapped to iPhone 17 Pro Max delivers unparalleled performance
  • [H3] SPONSORED_HEADLINE
  • [H3] Best motherboard deals 2026
  • [H3] The best Amazon UK Spring Deals Days tech sales 2026
  • [H3] Save over £40 on the latest SteelSeries Arctis Nova Elite audiophile-grade headset
  • [H3] SPONSORED_HEADLINE
  • [H3] Meta promo codes for Mar 2026 |
  • [H3] Corsair Discount Codes in Mar 2026 |
  • [H3] Squarespace Coupon Codes for Mar 2026
  • [H3] Logitech G Promo Codes for March 2026
  • [H3] Autodesk Promo Codes in Mar 2026 |
  • [H3] SteelSeries Coupons for March 2026
  • [H3] SPONSORED_HEADLINE
  • [H3] With H200s set to flow into China, Groq is reportedly set to follow soon after
  • [H3] Microsoft considering suing OpenAI over Altman's recent deal with Amazon, report claims
  • [H3] Tech hobbyist makes shoulder-mounted guided missile prototype with $96 in parts and a 3D printer
  • [H3] Bitcoin is so resilient it could survive as much as 90% of the world's undersea cables failing simultaneously
  • [H3] Nvidia launches DGX Station with its bleeding-edge GB300 Grace Blackwell Superchip
  • [H3] End of an era for decades-old PlayStation 3, Xbox 360, and Nintendo Wii U as GameStop officially declares them retro
  • [H3] Best PC peripherals deals 2026
  • [H3] Nintendo Switch 2 update brings Handheld Mode Boost
  • [H3] SPONSORED_HEADLINE

Images

Nous avons trouvé 111 image(s) sur cette page Web.

31 attribut(s) alt sont vides ou manquants. Ajouter un texte alternatif permet aux moteurs de recherche de mieux comprendre le contenu de vos images.

Ratio texte/HTML

Ratio : 2%

le ratio de cette page texte/HTML est au-dessous de 15 pour cent, ce qui signifie que votre site manque de contenu textuel.

Flash

Parfait, aucun contenu FLASH n'a été détecté sur cette page.

Iframe

Dommage, vous avez des Iframes sur vos pages Web, cela signifie que son contenu ne peut pas être indexé par les moteurs de recherche.

Réécriture d'URLs

Bien. Vos liens sont optimisés!

Tiret bas dans les URLs

Parfait! Aucuns soulignements détectés dans vos URLs.

Liens dans la page

Nous avons trouvé un total de 170 lien(s) dont 14 lien(s) vers des fichiers

Texte d'ancre Type Juice
Skip to main content Interne Passing Juice
Best Picks Externe Passing Juice
CPU Best Picks Externe Passing Juice
CPU Reviews Externe Passing Juice
GPU Best Picks Externe Passing Juice
GPU Reviews Externe Passing Juice
Laptop Best Picks Externe Passing Juice
Laptop Reviews Externe Passing Juice
Keyboard Best Picks Externe Passing Juice
Gaming Monitor Best Picks Externe Passing Juice
Gaming Headset Best Picks Externe Passing Juice
3D Printer Best Picks Externe Passing Juice
Webcam Best Picks Externe Passing Juice
Mice Best Picks Externe Passing Juice
How We Test Externe Passing Juice
CPUs Externe Passing Juice
AMD Ryzen Externe Passing Juice
Intel Lunar Lake Externe Passing Juice
Nvidia Externe Passing Juice
Qualcomm Externe Passing Juice
Apple Externe Passing Juice
Benchmarking Externe Passing Juice
X86 Externe Passing Juice
ARM Externe Passing Juice
Panther Lake Externe Passing Juice
Zen 5 Externe Passing Juice
AM5 Externe Passing Juice
Chipmaking Externe Passing Juice
DUV Externe Passing Juice
EUV Externe Passing Juice
Rare Earth Metals Externe Passing Juice
GPUs Externe Passing Juice
Nvidia Blackwell Externe Passing Juice
Nvidia Geforce Externe Passing Juice
AMD Radeon Externe Passing Juice
Intel Arc Externe Passing Juice
Snapdragon X Externe Passing Juice
GDDR7 Externe Passing Juice
GDDR8 Externe Passing Juice
HBM Externe Passing Juice
Drivers Externe Passing Juice
PC Components Externe Passing Juice
RAM Externe Passing Juice
DRAM Externe Passing Juice
DDR5 Externe Passing Juice
Storage Externe Passing Juice
HDDs Externe Passing Juice
SSDs Externe Passing Juice
Cooling Externe Passing Juice
Air Cooling Externe Passing Juice
Liquid Cooling Externe Passing Juice
Thermal Paste Externe Passing Juice
Networking Externe Passing Juice
Routers Externe Passing Juice
Motherboards Externe Passing Juice
Overclocking Externe Passing Juice
PC Cases Externe Passing Juice
PC Building Externe Passing Juice
Power Supplies Externe Passing Juice
News Externe Passing Juice
Tech Industry News Externe Passing Juice
CPU News Externe Passing Juice
GPU News Externe Passing Juice
Chips Act Externe Passing Juice
Semiconductors Externe Passing Juice
Cybersecurity Externe Passing Juice
Supercomputers Externe Passing Juice
Quantum Computing Externe Passing Juice
AMD Externe Passing Juice
Intel Externe Passing Juice
Microsoft Externe Passing Juice
TSMC Externe Passing Juice
IBM Externe Passing Juice
Newsletter Externe Passing Juice
Laptops Externe Passing Juice
Gaming Laptops Externe Passing Juice
Ultrabooks Externe Passing Juice
MacBooks Externe Passing Juice
Asus Externe Passing Juice
Razer Externe Passing Juice
HP Externe Passing Juice
MSI Externe Passing Juice
Desktops Externe Passing Juice
Gaming PCs Externe Passing Juice
Monitors Externe Passing Juice
Gaming Monitors Externe Passing Juice
Peripherals Externe Passing Juice
Keyboards Externe Passing Juice
Mice Externe Passing Juice
3D Printers Externe Passing Juice
Headphones Externe Passing Juice
Alienware Externe Passing Juice
Corsair Externe Passing Juice
Gigabyte Externe Passing Juice
Acer Externe Passing Juice
Software & AI Externe Passing Juice
Artificial Intelligence Externe Passing Juice
Machine Learning Externe Passing Juice
R&D Externe Passing Juice
Intel Gaudi Externe Passing Juice
Cerebras Externe Passing Juice
xAI Externe Passing Juice
LLMs Externe Passing Juice
OpenAI Externe Passing Juice
Anthropic Externe Passing Juice
DeepSeek Externe Passing Juice
Gemini Externe Passing Juice
Grok Externe Passing Juice
Operating Systems Externe Passing Juice
Windows Externe Passing Juice
MacOS Externe Passing Juice
iOS Externe Passing Juice
ChromeOS Externe Passing Juice
Linux Externe Passing Juice
Programming Externe Passing Juice
Applications Externe Passing Juice
Microsoft Office Externe Passing Juice
Web Browsers Externe Passing Juice
Coupons Interne Passing Juice
Laptop and PC Coupons Externe Passing Juice
Dell Coupon Codes Externe Passing Juice
Asus Coupon Codes Externe Passing Juice
Logitech Promo Codes Externe Passing Juice
Samsung Promo codes Externe Passing Juice
Hardware Coupons Externe Passing Juice
Newegg Promo Codes Externe Passing Juice
Corsair Discount Codes Externe Passing Juice
Razer Promo Codes Externe Passing Juice
Anycubic Discount codes Externe Passing Juice
Software Coupons Externe Passing Juice
Bitdefender Coupons Externe Passing Juice
Simplisafe Coupons Externe Passing Juice
MacPaw Coupons Externe Passing Juice
Squarespace Coupon Codes Externe Passing Juice
Gaming Coupons Externe Passing Juice
Kinguin Discount Codes Externe Passing Juice
Loaded Discount Codes Externe Passing Juice
Logitech G Promo Codes Externe Passing Juice
SteelSeries Coupons Externe Passing Juice
- Interne Passing Juice
Premium Externe Passing Juice
Forums Externe Passing Juice
🔥TH Premium Deal Externe Passing Juice
GTC 2026 Externe Passing Juice
DLSS 5 Externe Passing Juice
RAM Shortage Externe Passing Juice
Bartlett Lake Externe Passing Juice
Intel Xeon 600 Externe Passing Juice
RAM Combo Deals Externe Passing Juice
Terms & Conditions Externe Passing Juice
Privacy Policy Externe Passing Juice
3D Scanning Externe Passing Juice
Mechanical Keyboards Externe Passing Juice
Gaming Keyboards Externe Passing Juice
Speakers Externe Passing Juice
Android Externe Passing Juice
Phones Externe Passing Juice
iPhone Externe Passing Juice
this forum thread Externe Passing Juice
Cryptocurrency Externe Passing Juice
Retro Gaming Externe Passing Juice
Nintendo Externe Passing Juice
Visit our corporate site Externe Passing Juice
Contact Future's experts Externe Passing Juice
Cookies policy Externe Passing Juice
Accessibility Statement Externe Passing Juice
Advertise with us Externe Passing Juice
About us Externe Passing Juice
Coupons Externe Passing Juice
Careers Externe Passing Juice

Mots-clefs

Nuage de mots-clefs

published coupons cpu best nvidia march codes picks premium view

Cohérence des mots-clefs

Mot-clef Contenu Titre Mots-clefs Description Niveaux de titre
view 33
best 32
march 31
codes 30
published 29

Ergonomie

Url

Domaine : tomshardware.co.uk

Longueur : 18

Favicon

Génial, votre site web dispose d'un favicon.

Imprimabilité

Aucun style CSS pour optimiser l'impression n'a pu être trouvé.

Langue

Bien. Votre langue est : en.

Dublin Core

Cette page ne profite pas des métadonnées Dublin Core.

Document

Doctype

HTML 5

Encodage

Parfait. Votre charset est UTF-8.

Validité W3C

Erreurs : 0

Avertissements : 0

E-mail confidentialité

Génial, aucune adresse e-mail n'a été trouvé sous forme de texte!

HTML obsolètes

Génial! Nous n'avons pas trouvé de balises HTML obsolètes dans votre code.

Astuces vitesse

Excellent, votre site n'utilise pas de tableaux imbriqués.
Mauvais, votre site web utilise des styles css inline.
Génial, votre site web contient peu de fichiers CSS.
Mauvais, votre site web contient trop de fichiers javascript (plus de 6).
Parfait : votre site tire parti de gzip.

Mobile

Optimisation mobile

Icône Apple
Méta tags viewport
Contenu FLASH

Optimisation

Sitemap XML

Votre site web dispose d’une sitemap XML, ce qui est optimal.

https://www.tomshardware.com/sitemap.xml
https://www.tomshardware.com/uk/sitemap.xml
https://www.tomshardware.com/sitemap-news.xml
https://www.tomshardware.com/uk/sitemap-news.xml

Robots.txt

https://tomshardware.co.uk/robots.txt

Votre site dispose d’un fichier robots.txt, ce qui est optimal.

Mesures d'audience

Manquant

Nous n'avons trouvé aucun outil d'analytics sur ce site.

Un outil de mesure d'audience vous permet d'analyser l’activité des visiteurs sur votre site. Vous devriez installer au moins un outil Analytics. Il est souvent utile d’en rajouter un second, afin de confirmer les résultats du premier.

PageSpeed Insights


Dispositif
Les catégories

Free SEO Testing Tool

Free SEO Testing Tool est un outil gratuit de référencement qui vous aidera à analyser vos pages web