tomshardware.co.uk

Обзор веб-сайта tomshardware.co.uk

Tom's Hardware: For The Hardcore PC Enthusiast

 Сгенерирован 19 Марта 2026 07:26

Устаревшие данные? ОБНОВИТЬ !

Набрано баллов: 56/100

СЕО Контент

Заголовок страницы

Tom's Hardware: For The Hardcore PC Enthusiast

Длина : 46

Замечательно, Ваш заголовок страницы содержит от 10 до 70 символов.

Описание страницы

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

Длина : 95

Замечательно, Ваше описание страницы содержит от 70 до 160 символов.

Ключевые слова

Очень плохо. Мы не нашли ключевых слов на Вашем веб-сайте. Используйте бесплатный генератор мета-тэгов, чтобы сгенерировать ключевые слова.

Og Meta Properties

Замечательно, Вы используете преимущества Og Properties.

Свойство Контент
site_name Tom's Hardware
type website
url https://www.tomshardware.com/uk

Заголовки

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

Картинки

Мы нашли 111 картинок на этом веб-сайте.

31 alt атрибута(-ов) не найдено. Добавив альтернативный текст, поисковые роботы будут лучше понимать содержание картинки.

Соотношение Контент/HTML

Соотношение : 2%

Соотношение текста в коде HTML у этой страницы меньше чем 15 процентов, это означает, что Вашем веб-сайту требуется больше контента.

Flash

Замечательно, мы не нашли Flash контента на странице.

Iframe

Очень плохо, на Вашей странице были найдены Iframe'ы. Это говорит о том, что содержимое их не будет проиндексировано.

ЧПУ ссылки

Отлично, все Ваши ссылки являются ЧПУ!

Нижнее подчеркивание в ссылках

Прекрасно! Мы не нашли "нижнее подчеркивание" в Ваших ссылках.

Внутренние ссылки

Мы нашли 170 ссылок(-и), включая 14 ссылок ссылок(-и) на файл(-ы).

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

Ключевые слова

Облако ключевых слов

nvidia premium codes march best picks published coupons cpu view

Содержание ключевых слов

Ключевое слово Контент Заголовок страницы Ключевые слова Описание страницы Заголовки
view 33
best 32
march 31
codes 30
published 29

Юзабилити

Домен

Домен : tomshardware.co.uk

Длина : 18

Favicon

Отлично, Ваш сайт имеет favicon.

Пригодность для печати

Плохо. Мы не нашли CSS файл, отвечающий за печать веб-сайта.

Язык

Хорошо, Ваш установленный язык веб-сайта: en.

Dublin Core

Ваш веб-сайт не использует преимущества Dublin Core.

Документ

Doctype

HTML 5

Кодировка

Замечательно. Кодировка веб-сайта: UTF-8.

W3C Validity

Ошибок : 0

Предупреждений : 0

Приватность эл. почты

Отлично, мы не нашли адрес эл. почты в контенте!

Устаревший HTML

Отлично. Мы не нашли устаревших тэгов в Вашем HTML.

Скорость загрузки

Отлично, Ваш веб-сайт не содержит вложенных таблиц.
Слишком плохо. Ваш веб-сайт использует встроенные CSS правила в HTML тэгах.
Замечательно. Ваш веб-сайт имеет мало CSS файлов.
Плохо. Ваш веб-сайт имеет слишком много JavaScript файлов (больше чем 6).
Замечательно, ваш сайт использует возможность gzip сжатия.

Мобильный телефон

Оптимизация под моб. телефон

Apple иконки
Meta Viewport Тэг
Flash контент

Оптимизация

XML карта сайта

Отлично, ваш сайт имеет XML карту сайта.

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

Отлично, ваш веб-сайт содержит файл robots.txt.

Аналитика

Отсутствует

Мы не нашли ни одной аналитической программы на вашем сайте.

Веб аналитика позволяет следить за активностью пользователей на вашем веб-сайте. Вы должны установить как минимум один инструмент, но также хорошо иметь несколько, чтобы сравнивать показания между собой.

PageSpeed Insights


Устройство
Категории

Free SEO Testing Tool

Free SEO Testing Tool - это бесплатный СЕО инструмент, который поможет вам проанализировать Ваш веб-сайт.