Анализ сайта pages.cloudflare.com
Основное Готовность: 100%
Домен
pages.cloudflare.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Используйте для продвижения только домен второго уровня.
Длина домена велика. Но если вы продвигаете запрос, входящий в название домена, то это хорошо.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Цепочка редиректов:
http://pages.cloudflare.com
301 MovedPermanently
https://www.cloudflare.com/products/pages/
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 01.10.2026 5:04:44.
Сервер поддерживает HTTP/3 (QUIC) — новейший протокол.
Включён HSTS (Strict-Transport-Security) — защита от подмены на http.
HTTP автоматически перенаправляется на HTTPS.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
UTF-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице UTF-8.
Язык
en
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en.
Скорость загрузки
~0,56сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,56сек оптимальна.
Объем документа
566Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 566Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 9
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 9 достаточно.
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | /_astro/_separator.DRU4Xv5Z.css | |
| stylesheet | /_astro/_slug_.Bg7WxA1S.css | |
| stylesheet | /_astro/style.BZV40eAE.css | |
| stylesheet | /_astro/index.Cm-titPL.css | |
| stylesheet | /_astro/index.CN3UJUeJ.css | |
| js | text/javascript | https://ot.www.cloudflare.com/ot/scripttemplates/otSDKStub.js |
| js | module | /_astro/_layout.astro_astro_type_script_index_0_lang.BvvZaF4t.js |
| js | module | /_astro/_ai-search-modal.astro_astro_type_script_index_0_lang.B2y4SVXS.js |
| js | module | https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496 |
Серверные заголовки
Кол-во: 25
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 25шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Date | Fri, 21 Aug 2026 18:52:56 GMT |
| Link | <https://www.cloudflare.com/.well-known/agents.json>; rel="api-catalog", <https://www.cloudflare.com/.well-known/webmcp.json>; rel="service-desc", <https://www.cloudflare.com/openapi.json>; rel="service-desc", <https://www.cloudflare.com/llms.txt>; rel="service-doc", <https://www.cloudflare.com/sitemap.xml>; rel="sitemap", </fonts/Kunst%20Grotesk%20Regular.woff2>; rel=preload; as=font; type="font/woff2"; crossorigin, </fonts/Kunst%20Grotesk%20Medium.woff2>; rel=preload; as=font; type="font/woff2"; crossorigin, <https://ot.www.cloudflare.com>; rel=preconnect; crossorigin, <https://imagedelivery.net>; rel=preconnect; crossorigin |
| cf-cache-status | MISS |
| Accept-Ranges | bytes |
| Cache-Control | public, max-age=10, s-maxage=10 |
| Vary | accept-encoding |
| Strict-Transport-Security | max-age=31536000; includeSubDomains |
| cf-placement | local-ARN |
| Content-Security-Policy | default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://static.cloudflareinsights.com https://static-staging.cloudflareinsights.com https://challenges.cloudflare.com https://*.onetrust.com https://cdn.cookielaw.org https://ot.www.cloudflare.com https://www.googletagmanager.com https://tagmanager.google.com https://www.googleadservices.com https://googleads.g.doubleclick.net https://adservice.google.com https://cdn.bizible.com https://js.adsrvr.org https://*.marketo.net https://platform.twitter.com https://static.ads-twitter.com https://scripts.demandbase.com https://tag.demandbase.com https://*.6sc.co https://*.qualified.com https://snap.licdn.com https://bat.bing.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' https://*.googletagmanager.com https://*.google-analytics.com https://*.analytics.google.com https://analytics.google.com https://*.doubleclick.net https://www.googleadservices.com https://translate.googleapis.com https://cdn.bizible.com https://js.adsrvr.org https://*.marketo.net https://ads-twitter.com https://analytics.twitter.com https://*.twimg.com https://api.demandbase.com https://scripts.demandbase.com https://tag.demandbase.com https://tag-logger.demandbase.com https://api.company-target.com https://*.6sc.co https://epsilon.6sense.com https://*.qualified.com wss://*.qualified.com https://*.ads.linkedin.com https://www.linkedin.com https://bat.bing.com https:; frame-src https://*.adsrvr.org https://*.cloudflare.com https://*.videodelivery.net https://*.cloudflarestream.com https://www.googletagmanager.com https://*.qualified.com https://td.doubleclick.net https://bid.g.doubleclick.net https://9309168.fls.doubleclick.net https://9973066.fls.doubleclick.net https://s.company-target.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; worker-src 'self' blob:; child-src 'self' blob:; upgrade-insecure-requests |
| cross-origin-opener-policy | unsafe-none |
| Cross-Origin-Resource-Policy | cross-origin |
| permissions-policy | geolocation=(), camera=(), microphone=() |
| Referrer-Policy | strict-origin-when-cross-origin |
| X-Content-Type-Options | nosniff |
| X-Frame-Options | SAMEORIGIN |
| X-Served-By | marketing-site |
| X-XSS-Protection | 1; mode=block |
| x-rm | GW |
| Set-Cookie | _ga=GA1.1.69c9c132-dcd5-473e-8e7a-94616b6a3d2b; Expires=Tue, 21 Sep 2027 18:52:56 GMT; Path=/ |
| Server-Timing | cfCacheStatus;desc="MISS" |
| report-to | {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=kxcOkxIl1AYe0gxuU4znLEFTkrWVZgxwEc6itTFT28x%2FQ2vDjsEwO9J6%2BNN%2FDI3HTRNfgjNifu4MQTSVciIVHlZTZTTHcLnp1QRMUFepcjzyNkGEmOtrH8u5ReT0SsB2hF%2B4Xw%3D%3D"}]} |
| nel | {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800} |
| Server | cloudflare |
| cf-ray | a2ebd674de31c0b8-ARN |
| Alt-Svc | h3=":443" |
CMS
Astro v6.3.7
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
В мета-теге generator указано: Astro v6.3.7.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере Cloudflare.
Мета-теги Готовность: 78%
Title
Cloudflare Pages - Serverless Full-Stack Platform
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо уменьшить число символов в title (текущее значение: 49, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Build, deploy, and deliver full-stack applications quickly with Cloudflare Pages. A serverless platform for frontend developers.
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Число символов в description 128 оптимально (норма: от 120 до 130).
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
https://www.cloudflare.com/products/pages/
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Канонический Url прописан корректно.
Robots
Ошибок нет
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots не указан. Страница свободна для индексации.
Адаптивность
width=device-width, initial-scale=1.0, viewport-fit=cover
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Разметка OpenGraph
Кол-во: 5
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:type | website |
| og:url | https://www.cloudflare.com/products/pages/ |
| og:title | Cloudflare Pages - Serverless Full-Stack Platform |
| og:description | Build, deploy, and deliver full-stack applications quickly with Cloudflare Pages. A serverless platform for frontend developers. |
| og:image | https://www.cloudflare.com/preview.png |
Все мета-теги
Кол-во: 15
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 15шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | viewport | width=device-width, initial-scale=1.0, viewport-fit=cover |
| name | title | Cloudflare Pages - Serverless Full-Stack Platform |
| name | description | Build, deploy, and deliver full-stack applications quickly with Cloudflare Pages. A serverless platform for frontend developers. |
| name | priority | 80 |
| name | generator | Astro v6.3.7 |
| name | twitter:card | summary_large_image |
| name | twitter:url | https://www.cloudflare.com/products/pages/ |
| name | twitter:title | Cloudflare Pages - Serverless Full-Stack Platform |
| name | twitter:description | Build, deploy, and deliver full-stack applications quickly with Cloudflare Pages. A serverless platform for frontend developers. |
| name | twitter:image | https://www.cloudflare.com/preview.png |
| property | og:type | website |
| property | og:url | https://www.cloudflare.com/products/pages/ |
| property | og:title | Cloudflare Pages - Serverless Full-Stack Platform |
| property | og:description | Build, deploy, and deliver full-stack applications quickly with Cloudflare Pages. A serverless platform for frontend developers. |
| property | og:image | https://www.cloudflare.com/preview.png |
Оптимизация Готовность: 82%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют в единственном экземпляре).
Контент
Ошибок нет
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Слова из title 5 встречаются в тексте достаточно.
Абзацев с текстом 20 достаточно.
Среднее число слов в абзаце 13 достаточно.
Кол-во знаков контента 6889 на странице оптимально.
Кол-во слов 974 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 1. Это прекрасно.
На странице присутствуют заголовки <h2> 1. Это хорошо.
На странице присутствуют заголовки <h3> 4.
Тошнота
5,39
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 3. Измените текст страницы!
Академич. тошнота
23,00%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота превышает норму 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| cloudflare | 29 | 2,98% |
| deploy | 14 | 1,44% |
| applications | 10 | 1,03% |
| platform | 9 | 0,92% |
| full-stack | 8 | 0,82% |
| security | 8 | 0,82% |
| building | 7 | 0,72% |
| serverless | 7 | 0,72% |
| quickly | 7 | 0,72% |
| instantly | 5 | 0,51% |
| developers | 5 | 0,51% |
| development | 5 | 0,51% |
| without | 5 | 0,51% |
| complexity | 5 | 0,51% |
| solutions | 4 | 0,41% |
| resources | 4 | 0,41% |
| global | 4 | 0,41% |
| network | 4 | 0,41% |
| faster | 4 | 0,41% |
| github | 4 | 0,41% |
Индексация Готовность: 30%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 108 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 579984 байт. Загружен за: 1сек.
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Цепочка редиректов для файла robots.txt:
http://pages.cloudflare.com/robots.txt
301 MovedPermanently
https://www.cloudflare.com/products/pages/
200 OK
Показать содержимое robots.txt
<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"><link rel="preconnect" href="https://imagedelivery.net" crossorigin><link rel="preconnect" href="https://ot.www.cloudflare.com" crossorigin><link rel="preload" href="/icons.svg" as="image" type="image/svg+xml"><link rel="preload" href="/fonts/Kunst%20Grotesk%20Regular.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/Kunst%20Grotesk%20Medium.woff2" as="font" type="font/woff2" crossorigin><link rel="icon" type="image/x-icon" href="/favicon.ico"><link rel="shortcut icon" type="image/x-icon" href="/favicon.ico"><script>
(function () {
var d = document.documentElement;
d.classList.add('js');
try {
var p = new URLSearchParams(window.location.search);
var t = p.get('theme');
window.__themeOverride = t;
if (t === 'dark') d.classList.add('dark');
else if (t === 'light') d.classList.remove('dark');
else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches)
d.classList.add('dark');
else d.classList.remove('dark');
} catch (e) {}
try {
var K = 'cf-font-override',
q = new URLSearchParams(window.location.search).get('cfFont');
if (q === 'stk') {
localStorage.setItem(K, 'stk');
d.classList.add('font-stk-bureau-sans');
} else if (q === 'kunst') {
localStorage.setItem(K, 'kunst');
d.classList.remove('font-stk-bureau-sans');
} else {
var s = localStorage.getItem(K);
if (s === 'stk') d.classList.add('font-stk-bureau-sans');
else if (s === 'kunst') d.classList.remove('font-stk-bureau-sans');
}
} catch (e) {}
try {
if (
document.cookie.split(';').some(function (cookie) {
return cookie.trim() === '__cf_logged_in=1';
})
)
d.classList.add('logged-in');
} catch (e) {}
})();
</script><title>Cloudflare Pages - Serverless Full-Stack Platform</title><meta name="title" content="Cloudflare Pages - Serverless Full-Stack Platform"><meta name="description" content="Build, deploy, and deliver full-stack applications quickly with Cloudflare Pages. A serverless platform for frontend developers."><meta name="priority" content="80"><meta name="generator" content="Astro v6.3.7"><link rel="canonical" href="https://www.cloudflare.com/products/pages/"><link rel="alternate" hreflang="x-default" href="https://www.cloudflare.com/products/pages/"><link rel="alternate" hreflang="es-es" href="https://www.cloudflare.com/es-es/products/pages/"><link rel="alternate" hreflang="fr-fr" href="https://www.cloudflare.com/fr-fr/products/pages/"><link rel="alternate" hreflang="de-de" href="https://www.cloudflare.com/de-de/products/pages/"><link rel="alternate" hreflang="it-it" href="https://www.cloudflare.com/it-it/products/pages/"><link rel="alternate" hreflang="pt-br" href="https://www.cloudflare.com/pt-br/products/pages/"><link rel="alternate" hreflang="zh-cn" href="https://www.cloudflare.com/zh-cn/products/pages/"><link rel="alternate" hreflang="ja-jp" href="https://www.cloudflare.com/ja-jp/products/pages/"><link rel="alternate" hreflang="ko-kr" href="https://www.cloudflare.com/ko-kr/products/pages/"><link rel="alternate" hreflang="zh-tw" href="https://www.cloudflare.com/zh-tw/products/pages/"><meta property="og:type" content="website"><meta property="og:url" content="https://www.cloudflare.com/products/pages/"><meta property="og:title" content="Cloudflare Pages - Serverless Full-Stack Platform"><meta property="og:description" content="Build, deploy, and deliver full-stack applications quickly with Cloudflare Pages. A serverless platform for frontend developers."><meta property="og:image" content="https://www.cloudflare.com/preview.png"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:url" content="https://www.cloudflare.com/products/pages/"><meta name="twitter:title" content="Cloudflare Pages - Serverless Full-Stack Platform"><meta name="twitter:description" content="Build, deploy, and deliver full-stack applications quickly with Cloudflare Pages. A serverless platform for frontend developers."><meta name="twitter:image" content="https://www.cloudflare.com/preview.png"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"Cloudflare","url":"https://www.cloudflare.com","logo":"https://www.cloudflare.com/logo.svg","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"]}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"Cloudflare","url":"https://www.cloudflare.com","inLanguage":"en","potentialAction":{"@type":"SearchAction","target":"https://www.cloudflare.com/search?q={search_term_string}","query-input":"required name=search_term_string"}}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"Cloudflare Pages - Serverless Full-Stack Platform","description":"Build, deploy, and deliver full-stack applications quickly with Cloudflare Pages. A serverless platform for frontend developers.","url":"https://www.cloudflare.com/products/pages/","inLanguage":"en"}</script><link rel="llms-txt" href="/llms.txt"><link rel="alternate" type="text/markdown" href="/products/pages/.md"><script id="webmcp" type="application/json">{"tools":[{"name":"read_llms_txt","description":"Read concise site context for assistants","parameters":[]},{"name":"read_markdown_page","description":"Read markdown version of a Cloudflare page","parameters":[{"name":"path","type":"string","required":true}]}]}</script><script async type="text/javascript" src="https://ot.www.cloudflare.com/ot/scripttemplates/otSDKStub.js" data-domain-script="b1e05d49-f072-4bae-9116-bdb78af15448" data-document-language="true" charset="UTF-8"></script><script type="text/javascript">(function(){const zarazScriptSrc = "/static/z/i.js";
const gtmContainerSrc = "https://www.googletagmanager.com/gtm.js?id=GTM-NDGPDFZ";
// ── dataLayer + Zaraz bridge ────────────────────────────────────
window.dataLayer = window.dataLayer || [];
window.GTM = {
trackInZaraz: function (event) {
if (!window.zaraz || typeof event !== 'object' || event === null) return;
for (var k in event) {
if (Object.prototype.hasOwnProperty.call(event, k) && k.indexOf('gtm.') !== 0) {
window.zaraz.set(k, event[k], { scope: 'page' });
}
}
if (typeof event.event !== 'string' || event.event.indexOf('gtm.') === 0) return;
var idx = window.dataLayer.indexOf(event);
var data = {};
for (var i = 0; i <= idx; i++) {
var obj = window.dataLayer[i];
if (!obj || typeof obj !== 'object') continue;
if (typeof obj.event === 'string' && obj.event.indexOf('gtm.') === 0) continue;
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) data[key] = obj[key];
}
}
delete data.event;
window.zaraz.track(event.event, data);
},
push: function () {
window.dataLayer.push.apply(window.dataLayer, arguments);
},
};
var __cfDlPreBridgeLength = window.dataLayer.length;
var __cfDlPush = window.dataLayer.push;
Object.defineProperty(window.dataLayer, 'push', {
configurable: true,
enumerable: false,
writable: true,
value: function () {
var result = __cfDlPush.apply(this, arguments);
window.GTM.trackInZaraz(arguments[0]);
return result;
},
});
// ── OneTrust → Zaraz consent ────────────────────────────────────
var __zarazConsentMap = {
C0002: 'Tuku', // Performance / Analytics
C0003: 'nBKC', // Functional
C0004: 'aMDT', // Targeting / Advertising
};
// C0003 intentionally omitted — Google Consent Mode v2 has no functional signal.
var __googleConsentMap = {
C0001: ['security_storage'],
C0002: ['analytics_storage'],
C0004: [
'ad_storage',
'ad_user_data',
'ad_personalization',
'functionality_storage',
'personalization_storage',
],
};
function __parseOneTrustGroups() {
var match = document.cookie.match(/OptanonConsent=[^;]*/);
if (!match) return null;
var groups = {};
var gMatch = match[0].match(/groups=([^&]*)/);
if (!gMatch) return null;
decodeURIComponent(gMatch[1])
.split(',')
.forEach(function (pair) {
var parts = pair.split(':');
if (parts.length === 2) groups[parts[0]] = parts[1] === '1';
});
return groups;
}
function __syncOneTrustToZaraz() {
if (!window.zaraz || !window.zaraz.consent) return;
var groups = __parseOneTrustGroups();
if (!groups) return;
var current = window.zaraz.consent.getAll();
var activeKeys = Object.keys(current);
var mapped = {};
var changed = false;
Object.keys(__zarazConsentMap).forEach(function (otKey) {
var zKey = __zarazConsentMap[otKey];
if (activeKeys.indexOf(zKey) === -1) return;
mapped[zKey] = !!groups[otKey];
if (mapped[zKey] !== current[zKey]) changed = true;
});
if (!changed) return;
window.zaraz.consent.set(mapped);
window.zaraz.consent.sendQueuedEvents();
}
function __syncGoogleConsent(eventName) {
if (!window.zaraz || !window.zaraz.set) return;
var consent = {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
analytics_storage: 'denied',
security_storage: 'denied',
functionality_storage: 'denied',
personalization_storage: 'denied',
};
if (eventName === 'google_consent_default') {
window.zaraz.set(eventName, consent);
return;
}
var groups = __parseOneTrustGroups();
if (!groups) {
window.zaraz.set(eventName, consent);
return;
}
Object.keys(__googleConsentMap).forEach(function (otKey) {
if (groups[otKey]) {
__googleConsentMap[otKey].forEach(function (signal) {
consent[signal] = 'granted';
});
}
});
window.zaraz.set(eventName, consent);
}
// ── UTM persistence (gated on C0002) ────────────────────────────
var __cfUtmKeys = [
'utm_campaign',
'utm_source',
'utm_medium',
'utm_content',
'utm_term',
'adgroupid',
'creativeid',
'campaignid',
];
function __cfSetUtmCookiesIfAllowed() {
var groups = __parseOneTrustGroups();
if (!groups || !groups.C0002) return;
var params = new URLSearchParams(window.location.search);
var hostname = window.location.hostname;
var domain = '';
if (hostname === 'www.cloudflare.com' || hostname.endsWith('.mrk.cfdata.org')) {
domain = '.' + hostname;
}
var maxAge = 30 * 24 * 60 * 60; // 30 days
var isHttps = window.location.protocol === 'https:';
for (var i = 0; i < __cfUtmKeys.length; i++) {
var key = __cfUtmKeys[i];
var value = params.get(key);
if (!value) continue;
var parts = [
encodeURIComponent(key) + '=' + encodeURIComponent(value),
'max-age=' + maxAge,
'path=/',
'SameSite=Lax',
];
if (domain) parts.push('domain=' + domain);
// Secure rejected on http origins (localhost dev).
if (isHttps) parts.push('Secure');
document.cookie = parts.join('; ');
}
}
// ── GTM container (gated on C0004) ──────────────────────────────
function __cfLoadGtmContainerIfAllowed() {
var groups = __parseOneTrustGroups();
if (!groups || !groups.C0004) return;
if (document.querySelector('script[data-cf-gtm-loader]')) return;
var s = document.createElement('script');
s.src = gtmContainerSrc;
s.async = true;
s.setAttribute('data-cf-gtm-loader', '1');
document.head.appendChild(s);
}
// ── page_load (one-shot, gated on Zaraz + OneTrust ready) ───────
var __cfPageLoadFired = false;
var __cfFallbackElapsed = false;
function __cfPushPageLoadOnce() {
if (__cfPageLoadFired) return;
if (!window.zaraz) return;
if (!__parseOneTrustGroups() && !__cfFallbackElapsed) return;
__cfPageLoadFired = true;
for (var i = 0; i < __cfDlPreBridgeLength; i++) {
window.GTM.trackInZaraz(window.dataLayer[i]);
}
var gaMatch = document.cookie.match(/(?:^|;\s*)_ga=([^;]+)/);
var gaClientId = gaMatch ? gaMatch[1] : undefined;
window.GTM.push({ 'gtm.start': Date.now(), event: 'gtm.js' });
window.GTM.push({
event: 'page_load',
hostname: window.location.hostname,
query: window.location.search,
page_location: window.location.href,
page_url: window.location.href,
page_timestamp: Date.now(),
page_path: window.location.pathname + window.location.search,
page_referrer: document.referrer,
page_title: document.title,
language: window.navigator.language,
user_properties: {
ga_client_id: gaClientId,
ga_client_id_s: gaClientId ? 's' + gaClientId : undefined,
},
});
}
// Fallback in case OneTrust never loads.
window.setTimeout(function () {
__cfFallbackElapsed = true;
__cfPushPageLoadOnce();
}, 3000);
// OptanonWrapper must be a window property — define:vars wraps this
// script in an IIFE, so a bare `function OptanonWrapper()` is invisible
// to the OneTrust SDK.
window.OptanonWrapper = function OptanonWrapper() {
__syncOneTrustToZaraz();
__syncGoogleConsent('google_consent_update');
__cfSetUtmCookiesIfAllowed();
__cfLoadGtmContainerIfAllowed();
__cfPushPageLoadOnce();
if (!window.__cfConsentEventAttached) {
window.__cfConsentEventAttached = true;
// HEAD request only — sync above already covers Zaraz/Google.
window.addEventListener('consent.onetrust', function () {
setTimeout(function () {
fetch(window.location.pathname, { method: 'HEAD' }).catch(function () {});
}, 500);
});
}
};
document.addEventListener('zarazConsentAPIReady', function () {
__syncGoogleConsent('google_consent_default');
__syncOneTrustToZaraz();
__cfPushPageLoadOnce();
});
// Load Zaraz at idle.
(function () {
var src = zarazScriptSrc;
if (!src) return;
function loadZaraz() {
if (document.querySelector('script[data-cf-zaraz-loader]')) return;
var s = document.createElement('script');
s.src = src;
s.referrerPolicy = 'origin';
s.async = true;
s.setAttribute('data-cf-zaraz-loader', '1');
document.head.appendChild(s);
}
if (typeof window.requestIdleCallback === 'function') {
window.requestIdleCallback(loadZaraz, { timeout: 3000 });
} else {
window.setTimeout(loadZaraz, 1500);
}
})();
})();</script><script>
(function () {
// — __name polyfill (esbuild keepNames compatibility) —
var g =
typeof globalThis !== 'undefined'
? globalThis
: typeof window !== 'undefined'
? window
: typeof self !== 'undefined'
? self
: this;
if (typeof g.__name !== 'function') {
g.__name = function (_n, v) {
return v;
};
}
// — System theme change listener —
try {
var mq = window.matchMedia('(prefers-color-scheme: dark)');
var onThemeChange = function (e) {
if (window.__themeOverride && window.__themeOverride !== 'system') return;
if (e.matches) document.documentElement.classList.add('dark');
else document.documentElement.classList.remove('dark');
};
if (mq.addEventListener) mq.addEventListener('change', onThemeChange);
else mq.addListener(onThemeChange);
} catch (e) {}
})();
</script><script type="module" src="/_astro/_layout.astro_astro_type_script_index_0_lang.BvvZaF4t.js"></script><link rel="stylesheet" href="/_astro/_separator.DRU4Xv5Z.css">
<link rel="stylesheet" href="/_astro/_slug_.Bg7WxA1S.css">
<style>search-modal-snippet[data-astro-cid-457tmonj]{--search-snippet-primary-color: var(--color-accent-100);--search-snippet-primary-hover: var(--color-accent-200);--search-snippet-background: var(--color-background-100);--search-snippet-surface: var(--color-background-200);--search-snippet-hover-background: var(--color-background-300);--search-snippet-text-color: var(--color-foreground-100);--search-snippet-text-secondary: var(--color-text-secondary);--search-snippet-text-description: var(--color-foreground-200);--search-snippet-border-color: var(--color-border-100);--search-snippet-focus-ring: color-mix(in oklab, var(--color-accent-100) 25%, transparent);--search-snippet-warning-color: var(--color-foreground-100);--search-snippet-warning-background: var(--color-background-300);--search-snippet-shadow-lg: 0 8px 24px rgb(0 0 0 / .12);--search-snippet-font-family: var(--font-sans)}
</style>
<link rel="stylesheet" href="/_astro/style.BZV40eAE.css">
<link rel="stylesheet" href="/_astro/index.Cm-titPL.css">
<style>@media(max-width:47.999rem){.product-hero-subtitle[data-astro-cid-o2fpbpr7]{--type-h5-size: var(--type-h6-size);--type-h5-leading: var(--type-h6-leading);--type-h5-tracking: var(--type-h6-tracking);--type-h5-weight: var(--type-h6-weight)}}@media(max-width:47.999rem){.product-hero-subtitle[data-astro-cid-g6gfg5hs]{--type-h5-size: var(--type-h6-size);--type-h5-leading: var(--type-h6-leading);--type-h5-tracking: var(--type-h6-tracking);--type-h5-weight: var(--type-h6-weight)}}
.use-cases-header[data-astro-cid-7amrcyfe]{grid-row:1 / 2}@media(min-width:768px){.use-cases-header[data-astro-cid-7amrcyfe]{grid-row:1 / var(--totalRows)}.flip-layout-item[data-astro-cid-7amrcyfe]{grid-column:auto;grid-row:var(--grid-row)}.flip-layout-cta[data-astro-cid-7amrcyfe]{grid-column:1;grid-row:var(--cta-row)}}.programs-header[data-astro-cid-b5bhyuqa]{grid-row:1 / 2}@media(min-width:768px){.programs-header[data-astro-cid-b5bhyuqa]{grid-row:1 / var(--totalRows)}}
</style>
<link rel="stylesheet" href="/_astro/index.CN3UJUeJ.css">
<script>
window.redwood={"consentGroups":{"C0001":true,"C0002":true,"C0003":true,"C0004":true},"country":"RU","colo":"ARN","user":null,"rv1":"tsk","locale":"en-US"}
window.redwood.syncOneTrustToZarazConsents = function() {
if(!window.zaraz?.consent) {
return;
}
const zarazConsentMap = {
C0002: 'Tuku',
C0003: 'nBKC',
C0004: 'aMDT',
}
const groups = window.redwood.consentGroups;
const currentZarazGroups = window.zaraz.consent.getAll();
const zarazActiveConsents = Object.keys(currentZarazGroups);
let shouldUpdate = false;
const mappedGroups = Object.entries(zarazConsentMap).filter(([key, value]) => zarazActiveConsents.includes(value)).reduce((acc, [key, value]) => {
acc[value] = groups[key];
if (!shouldUpdate && acc[value] !== currentZarazGroups[value]) {
shouldUpdate = true;
}
return acc;
}, {});
if(!shouldUpdate) {
return;
}
window.zaraz.consent.set(mappedGroups);
window.zaraz.consent.sendQueuedEvents();
};
</script>
<script type="text/javascript">
var OneTrust={"geolocationResponse":{"stateCode":"MOW","countryCode":"RU"}}
</script>
<script>
const acceptedLocales = [
'en-au',
'en-ca',
'en-gb',
'en-in',
'en-us',
'de-de',
'es-es',
'es-la',
'fr-fr',
'it-it',
'ja-jp',
'ko-kr',
'pl-pl',
'pt-br',
'ru-ru',
'zh-tw',
'zh-cn',
'zh-hans-cn',
];
const orphanLocales = [
'sv-se',
'nl-nl',
'vi-vn',
'th-th',
'id-id',
'tr-tr',
'ar-ar',
'he-il',
];
const ignoreList = [
'apps',
'docs',
'rate-limit-test',
'rss',
]
function getPathFromLocale(locale, code, pathString) {
if ( locale === code || !acceptedLocales.includes(code) || acceptedLocales.includes(locale) || orphanLocales.includes(locale) ) {
return null;
} else {
return [code, locale ? locale : '', pathString].filter(part => part !== '').join('/');
}
};
if(window.location.host !== 'staging.cloudflare-cn.com' && window.location.host !== 'cloudflare-cn.com' && window.location.host !== 'www.cloudflare-cn.com') {
if (localStorage.getItem('langPreference')) {
// temp disabled for dev platform launch
// if (localStorage.getItem('langPreference').toLowerCase() != 'en-us') {
// const langPreference = localStorage.getItem('langPreference').toLowerCase();
// const splitPath = window.location.pathname.split('/').filter(part => part !== '');
// const currentLang = splitPath[0];
// if (!acceptedLocales.includes(currentLang) && !orphanLocales.includes(currentLang) && !ignoreList.includes(splitPath[0])) {
// splitPath.splice(0, 0, langPreference.toLowerCase());
// const newUrl = 'https://' + window.location.hostname + '/' + splitPath.join('/') + '/' + window.location.search;
// window.location.replace(newUrl);
// }
// }
} else if (!window.navigator.userAgent.toLowerCase().includes('googlebot')) {
// temp disabled for dev platform launch
// const requestedLang = window.navigator.language;
// const splitPath = window.location.pathname.split('/').filter(part => part !== '');
// const maybeLocale = splitPath.shift();
// const splitPathString = splitPath.join('/');
// if (requestedLang && requestedLang.toLowerCase() != "en-us") {
// const requestedLangCode = requestedLang
// .toLowerCase()
// .replace('_', '-')
// .replace('hans-',''); // for zh-hans-cn, switch to zh-cn
// const redirectPath = getPathFromLocale(maybeLocale, requestedLangCode, splitPathString);
// if (redirectPath && !ignoreList.includes(maybeLocale)) {
// window.location.replace('https://' + window.location.hostname + '/' + redirectPath + '/' + window.location.search);
// }
// }
}
}
</script></head> <body class="relative min-h-svh w-full"> <div id="background-lines" class="animate-in fade-in pointer-events-none absolute inset-0 -z-10 hidden overflow-hidden transition-opacity delay-100 duration-2000 ease-out md:block" aria-hidden="true"> <div class="bg-background-100 absolute top-0 left-1/2 z-10 h-full w-[1200px] -translate-x-1/2"> <div class="absolute top-0 left-0 h-full w-px" style="background-image:linear-gradient(to bottom, var(--color-border-100) 50%, transparent 50%);background-size:1px 32px;background-repeat:repeat-y"></div> <div class="absolute top-0 right-0 h-full w-px" style="background-image:linear-gradient(to bottom, var(--color-border-100) 50%, transparent 50%);background-size:1px 32px;background-repeat:repeat-y"></div> </div> <div class="absolute top-0 left-1/2 h-full w-[1480px] -translate-x-1/2"> <svg class="pointer-events-none absolute top-0 left-0 z-0 h-full w-full" data-testid="rf__background" aria-hidden="true" style="stroke-dasharray:none;stroke-dashoffset:0"><pattern id="pattern-hxlvne" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--color-decor-dots-100)" style="stroke-dasharray:none;stroke-dashoffset:0"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-hxlvne)" style="stroke-dasharray:none;stroke-dashoffset:0"></rect></svg> <div class="absolute top-0 left-0 h-full w-px" style="background-image:linear-gradient(to bottom, var(--color-border-100) 50%, transparent 50%);background-size:1px 32px;background-repeat:repeat-y"></div> <div class="absolute top-0 right-0 h-full w-px" style="background-image:linear-gradient(to bottom, var(--color-border-100) 50%, transparent 50%);background-size:1px 32px;background-repeat:repeat-y"></div> </div> </div> <div data-site-navigation-shell> <header class="pointer-events-none absolute top-0 right-0 left-0 z-50 mx-auto w-full transition-colors duration-200 ease-out hover:z-50 md:fixed md:border-b-0 bg-background-100 border-b md:bg-background-100 2xl:bg-transparent" data-variant="secondary" data-navigation-variant="secondary" data-site-navigation-header> <div aria-hidden class="pointer-events-none fixed inset-x-0 top-0 z-40 md:hidden" data-ios-status-bar-backdrop></div> <div class="relative z-10 mx-auto flex h-[54px] w-full max-w-full items-center justify-between rounded-t-2xl px-2 max-[1120px]:grid-cols-[auto_minmax(0,1fr)_auto]! md:grid md:h-[72px] md:max-w-[1480px] md:grid-cols-[auto_minmax(0,1fr)_auto] md:grid-rows-1 md:items-center md:gap-3 md:pr-3 md:pl-5 md:text-[14px] lg:grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] xl:text-[16px] 2xl:pr-1"> <div class="ml-1 flex items-center md:ml-0 md:justify-self-start"> <a id="nav-logo-button" class="pointer-events-auto -ml-4 flex cursor-pointer items-center rounded-md border-none bg-transparent p-4 transition-all duration-200 ease-out hover:opacity-80 md:justify-self-start" href="/" aria-label="Cloudflare logo" data-locale-prefix> <svg xmlns="http://www.w3.org/2000/svg" width="66" height="30" viewBox="0 0 341 156" fill="none" class="text-accent-100 h-[26px] w-[57px] shrink-0 transition-colors duration-200 ease-out" id="nav-logo-icon"><g class="cf-logo-base transition-opacity duration-200 ease-out"><path d="M275.125 68.25C311.507 68.25 341 97.9335 341 134.55C341 141.077 340.063 147.385 338.317 153.343C337.848 154.943 336.363 156 334.706 156H243.056C241.697 156 240.76 154.628 241.247 153.351L242.999 148.76C248.595 134.03 264.56 121.963 279.331 121.256L307.33 119.813C308.826 119.736 310 118.492 310 116.985C310 115.485 308.838 114.245 307.351 114.157L281.059 112.601C266.924 111.877 260.018 99.2932 263.82 86.179L268.195 71.0866C268.64 69.5514 269.971 68.4343 271.557 68.3476C272.738 68.2831 273.928 68.25 275.125 68.25Z" fill="#FF9910"></path><path d="M184.062 0C222 0 253.868 26.1297 262.882 61.4824C263.26 62.967 263.142 64.5333 262.601 65.9662L255.383 85.0897C249.787 99.8196 235.406 112.593 219.134 112.593L93.7928 114.043C92.2801 114.061 91.063 115.3 91.0625 116.823C91.0625 118.344 92.2776 119.585 93.789 119.605L217.365 121.248C231.531 121.248 238.406 134.556 234.606 147.671L233.011 153.189C232.53 154.855 231.014 156 229.291 156H3.90889C1.98075 156 0.330745 154.574 0.17634 152.64C0.0594555 151.175 0 149.695 0 148.2C0 119.723 21.6617 96.3403 49.306 93.8266C48.7387 91.2419 48.4375 88.5564 48.4375 85.8C48.4375 65.3379 64.919 48.75 85.25 48.75C93.3413 48.75 100.822 51.3789 106.897 55.8321C117.716 23.3806 148.176 0 184.062 0Z" fill="#FF5F08"></path></g><g class="cf-logo-light transition-opacity duration-200 ease-out" fill="currentColor"><path d="M275.125 68.25C311.507 68.25 341 97.9335 341 134.55C341 141.077 340.063 147.385 338.317 153.343C337.848 154.943 336.363 156 334.706 156H243.056C241.697 156 240.76 154.628 241.247 153.351L242.999 148.76C248.595 134.03 264.56 121.963 279.331 121.256L307.33 119.813C308.826 119.736 310 118.492 310 116.985C310 115.485 308.838 114.245 307.351 114.157L281.059 112.601C266.924 111.877 260.018 99.2932 263.82 86.179L268.195 71.0866C268.64 69.5514 269.971 68.4343 271.557 68.3476C272.738 68.2831 273.928 68.25 275.125 68.25Z"></path><path d="M184.062 0C222 0 253.868 26.1297 262.882 61.4824C263.26 62.967 263.142 64.5333 262.601 65.9662L255.383 85.0897C249.787 99.8196 235.406 112.593 219.134 112.593L93.7928 114.043C92.2801 114.061 91.063 115.3 91.0625 116.823C91.0625 118.344 92.2776 119.585 93.789 119.605L217.365 121.248C231.531 121.248 238.406 134.556 234.606 147.671L233.011 153.189C232.53 154.855 231.014 156 229.291 156H3.90889C1.98075 156 0.330745 154.574 0.17634 152.64C0.0594555 151.175 0 149.695 0 148.2C0 119.723 21.6617 96.3403 49.306 93.8266C48.7387 91.2419 48.4375 88.5564 48.4375 85.8C48.4375 65.3379 64.919 48.75 85.25 48.75C93.3413 48.75 100.822 51.3789 106.897 55.8321C117.716 23.3806 148.176 0 184.062 0Z"></path></g></svg> <div class="text-foreground-100 -mb-1 ml-3 hidden flex-col items-start justify-start transition-colors duration-200 ease-out lg:flex" id="nav-logo-text"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 719 59" fill="none" class="h-[12px] w-auto text-inherit" aria-label="Cloudflare wordmark" role="img"><path d="M77.1016 1.09961H92.7015V43.5996H119.802V57.1996H77.1016V1.09961Z" fill="currentColor"></path><path d="M135.898 29.3V29.2C135.898 13.1 148.898 0 166.198 0C183.498 0 196.298 12.9 196.298 29V29.2C196.298 45.3 183.298 58.4 165.998 58.4C148.798 58.3 135.898 45.4 135.898 29.3ZM180.498 29.3V29.2C180.498 21.1 174.698 14.1 166.098 14.1C157.598 14.1 151.898 21 151.898 29.1V29.3C151.898 37.4 157.698 44.4 166.198 44.4C174.798 44.3 180.498 37.4 180.498 29.3Z" fill="currentColor"></path><path d="M215.398 32.5996V1.09961H231.198V32.2996C231.198 40.3996 235.298 44.1996 241.498 44.1996C247.698 44.1996 251.798 40.4996 251.798 32.6996V1.09961H267.598V32.1996C267.598 50.2996 257.298 58.1996 241.298 58.1996C225.398 58.2996 215.398 50.1996 215.398 32.5996Z" fill="currentColor"></path><path d="M291.398 1.09961H313.098C333.098 1.09961 344.798 12.5996 344.798 28.7996V28.9996C344.798 45.1996 332.998 57.1996 312.798 57.1996H291.498L291.398 1.09961ZM313.298 43.3996C322.598 43.3996 328.798 38.2996 328.798 29.1996V28.9996C328.798 19.9996 322.598 14.7996 313.298 14.7996H306.998V43.2996L313.298 43.3996Z" fill="currentColor"></path><path d="M367.297 1.09961H412.197V14.7996H382.797V24.2996H409.397V37.1996H382.797V57.1996H367.297V1.09961Z" fill="currentColor"></path><path d="M433.797 1.09961H449.297V43.5996H476.497V57.1996H433.797V1.09961Z" fill="currentColor"></path><path d="M517.097 0.699219H532.097L555.997 57.1992H539.297L535.197 47.1992H513.597L509.597 57.1992H493.297L517.097 0.699219ZM530.797 35.0992L524.597 19.1992L518.297 35.0992H530.797Z" fill="currentColor"></path><path d="M576 1.09961H602.5C611.1 1.09961 617 3.29962 620.8 7.19962C624.1 10.3996 625.8 14.6996 625.8 20.2996V20.4996C625.8 29.0996 621.2 34.7996 614.3 37.6996L627.7 57.2996H609.7L598.4 40.2996H591.6V57.2996H576.1L576 1.09961ZM601.8 28.0996C607.1 28.0996 610.1 25.4996 610.1 21.4996V21.1996C610.1 16.7996 606.9 14.5996 601.7 14.5996H591.5V28.0996H601.8Z" fill="currentColor"></path><path d="M648.203 1.09961H693.303V14.3996H663.603V22.7996H690.503V35.0996H663.603V43.9996H693.703V57.1996H648.203V1.09961Z" fill="currentColor"></path><path d="M43.1 35.9C40.9 40.8 36.3 44.3 30.3 44.3C21.8 44.3 16 37.2 16 29.2V29C16 20.9 21.7 14 30.2 14C36.6 14 41.5 17.9 43.5 23.3H59.9C57.3 9.9 45.5 0 30.3 0C13 0 0 13.1 0 29.2V29.4C0 45.5 12.8 58.4 30.1 58.4C44.9 58.4 56.5 48.8 59.5 36L43.1 35.9Z" fill="currentColor"></path></svg> </div> </a> <script type="module">(function(){if(typeof window>"u"||window.__navLogoClickHandlerInitialized)return;window.__navLogoClickHandlerInitialized=!0;const n=document.getElementById("nav-logo-button");n&&(n.addEventListener("focus",function(){const a=n.getAttribute("data-locale-prefix")||"",_=a?a+"/":"/",e=window.location.pathname;(e===_||e==="/"||e==="/index.html")&&window.scrollY>200&&window.scrollTo({top:0,behavior:"smooth"})}),n.addEventListener("click",function(a){const _=a;if(_.button!==0||_.metaKey||_.ctrlKey||_.shiftKey||_.altKey)return;const e=n.getAttribute("data-locale-prefix")||"",m=e?e+"/":"/",r=window.location.pathname;(r===m||r==="/"||r==="/index.html")&&(a.preventDefault(),window.scrollTo({top:0,behavior:"smooth"}))}),document.addEventListener("astro:before-swap",function a(){window.__navLogoClickHandlerInitialized=!1,document.removeEventListener("astro:before-swap",a)},{once:!0}))})();</script> </div> <div class="hidden justify-start will-change-transform md:flex md:items-center lg:justify-center" data-nav-scroll-tabs> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var l=(n,t)=>{let i=async()=>{await(await n())()},e=typeof t.value=="object"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};"requestIdleCallback"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event("astro:idle"));})();</script><script>(()=>{var g=Object.defineProperty;var w=(c,s,d)=>s in c?g(c,s,{enumerable:!0,configurable:!0,writable:!0,value:d}):c[s]=d;var l=(c,s,d)=>w(c,typeof s!="symbol"?s+"":s,d);var E=new Set(["__proto__","constructor","prototype"]);{let c={0:t=>y(t),1:t=>d(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(d(t)),5:t=>new Set(d(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>Number.POSITIVE_INFINITY*t},s=t=>{let[p,e]=t;return p in c?c[p](e):void 0},d=t=>t.map(s),y=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([p,e])=>[p,s(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,"Component");l(this,"hydrator");l(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let n=this.querySelectorAll("astro-slot"),r={},i=this.querySelectorAll("template[data-astro-template]");for(let o of i){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("data-astro-template")||"default"]=o.innerHTML,o.remove())}for(let o of n){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("name")||"default"]=o.innerHTML)}let u;try{u=this.hasAttribute("props")?y(JSON.parse(this.getAttribute("props"))):{}}catch(o){let a=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(a+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${a}`,this.getAttribute("props"),o),o}let h;await this.hydrator(this)(this.Component,u,r,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});l(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),n.disconnect(),this.childrenConnectedCallback()},n=new MutationObserver(()=>{var r;((r=this.lastChild)==null?void 0:r.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});n.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}getRetryImportUrl(e){let n=new URL(e,document.baseURI),r=`astro-retry=${Date.now()}`,i=n.hash.replace(/^#/,"");return n.hash=i?`${i}&${r}`:r,n.toString()}async importWithRetry(e){try{return await import(e)}catch(n){return await new Promise(r=>setTimeout(r,1e3)),import(this.getRetryImportUrl(e))}}handleHydrationError(e){let n=this.getAttribute("component-url"),r=new CustomEvent("astro:hydration-error",{cancelable:!0,bubbles:!0,composed:!0,detail:{error:e,componentUrl:n}});this.dispatchEvent(r)&&console.error(`[astro-island] Error hydrating ${n}`,e)}async start(){let e=JSON.parse(this.getAttribute("opts")),n=this.getAttribute("client");if(Astro[n]===void 0){window.addEventListener(`astro:${n}`,()=>this.start(),{once:!0});return}try{await Astro[n](async()=>{let r=this.getAttribute("renderer-url");try{let[i,{default:u}]=await Promise.all([this.importWithRetry(this.getAttribute("component-url")),r?this.importWithRetry(r):Promise.resolve({default:()=>()=>{}})]),h=this.getAttribute("component-export")||"default";if(h.includes(".")){this.Component=i;for(let m of h.split(".")){if(E.has(m)||!this.Component||typeof this.Component!="object"&&typeof this.Component!="function"||!Object.hasOwn(this.Component,m))throw new Error(`Invalid component export path: ${h}`);this.Component=this.Component[m]}}else{if(E.has(h))throw new Error(`Invalid component export path: ${h}`);this.Component=i[h]}return this.hydrator=u,this.hydrate}catch(i){return this.handleHydrationError(i),()=>{}}},e,this)}catch(r){this.handleHydrationError(r)}}attributeChangedCallback(){this.hydrate()}}l(f,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",f)}})();</script><astro-island uid="Z1f3MPc" prefix="r58" component-url="/_astro/_container.CKtPCCxV.js" component-export="NavigationContainer" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"variant":[0,"secondary"],"navigation":[0,{"localePrefix":[0,""],"labels":[0,{"products":[0,"Products"],"solutions":[0,"Solutions"],"solutionsHeading":[0,"Use Cases"],"resources":[0,"Resources"]}],"chrome":[0,{"underAttack":[0,"Under attack?"],"login":[0,"Login"],"startBuilding":[0,"Start building"],"contactSales":[0,"Contact sales"],"search":[0,"Search Cloudflare"],"seeUpcomingEvents":[0,"See Upcoming Events"],"resourcesEventLink":[0,{"title":[0,"See Upcoming Events"],"href":[0,"/events/"]}],"chinLinks":[1,[[0,{"title":[0,"Enterprise"],"href":[0,"/enterprise/"]}],[0,{"title":[0,"Global Network"],"href":[0,"/network/"]}],[0,{"title":[0,"Domain Registration"],"href":[0,"https://domains.cloudflare.com/"]}],[0,{"title":[0,"1.1.1.1"],"href":[0,"https://one.one.one.one/"]}]]]}],"staticLinks":[1,[[0,{"label":[0,"Pricing"],"href":[0,"/plans/"]}]]],"productGroups":[1,[[0,{"title":[0,"Compute"],"variant":[0,"compute"],"links":[1,[[0,{"title":[0,"Browser Run"],"description":[0,"Automated browsers"],"href":[0,"/products/browser-rendering/"],"icon":[0,"productBrowserRenderings"],"category":[0,"compute"],"order":[0,0]}],[0,{"title":[0,"Containers"],"description":[0,"Any language, anywhere"],"href":[0,"/products/containers/"],"icon":[0,"productContainers"],"category":[0,"compute"],"order":[0,1]}],[0,{"title":[0,"Durable Objects"],"description":[0,"Stateful compute"],"href":[0,"/products/durable-objects/"],"icon":[0,"productDurableObjects"],"category":[0,"compute"],"order":[0,2]}],[0,{"title":[0,"Sandboxes"],"description":[0,"Secure code execution"],"href":[0,"/products/sandboxes/"],"icon":[0,"productSandboxes"],"category":[0,"compute"],"order":[0,3]}],[0,{"title":[0,"Workers"],"description":[0,"Global serverless functions"],"href":[0,"/products/workers/"],"icon":[0,"productWorkers"],"category":[0,"compute"],"order":[0,4]}],[0,{"title":[0,"Workers for Platforms"],"description":[0,"Programmable Platform Solutions"],"href":[0,"/products/workers-for-platforms/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtbGF5ZXJzLXRocmVlMDEiLCJsYWJlbCI6IkxheWVyc1RocmVlMDEiLCJ2aWV3Qm94IjoiMCAwIDI0IDI0IiwiaW5uZXIiOiI8ZyBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48cGF0aCBkPVwibTIgMTIgOS42NDIgNC44MjFjLjEzMS4wNjYuMTk3LjA5OS4yNjYuMTExLjA2LjAxMi4xMjMuMDEyLjE4NCAwIC4wNjktLjAxMi4xMzUtLjA0NS4yNjYtLjExTDIyIDEyTTIgMTdsOS42NDIgNC44MjFjLjEzMS4wNjYuMTk3LjA5OS4yNjYuMTExLjA2LjAxMi4xMjMuMDEyLjE4NCAwIC4wNjktLjAxMi4xMzUtLjA0NS4yNjYtLjExTDIyIDE3TTIgN2w5LjY0Mi00LjgyMWMuMTMxLS4wNjYuMTk3LS4wOTguMjY2LS4xMTFhLjUuNSAwIDAgMSAuMTg0IDBjLjA2OS4wMTMuMTM1LjA0NS4yNjYuMTFMMjIgN2wtOS42NDIgNC44MjFhMS4wMjggMS4wMjggMCAwIDEtLjI2Ni4xMTEuNTAxLjUwMSAwIDAgMS0uMTg0IDBjLS4wNjktLjAxMi0uMTM1LS4wNDUtLjI2Ni0uMTFMMiA3WlwiPjwvcGF0aD48L2c-In0"],"category":[0,"compute"],"order":[0,5]}],[0,{"title":[0,"Workflows"],"description":[0,"Process orchestration"],"href":[0,"/products/workflows/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtY3J5cHRvY3VycmVuY3kwNCIsImxhYmVsIjoiQ3J5cHRvY3VycmVuY3kwNCIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJtMiAyIDIgMm0xOC0yLTIgMm0yIDE4LTItMk0yIDIybDItMm0tMi00aDEuNU04IDJ2MS41TTIyIDhoLTEuNU0xNiAyMnYtMS41bTItNC41aDMuNU0xNiAydjRNMiA4aDRtMiAxNHYtNG0zLjQzNC0xMC40MzQtMy44NjggMy44NjhjLS4xOTguMTk4LS4yOTcuMjk3LS4zMzQuNDEyYS41LjUgMCAwIDAgMCAuMzA5Yy4wMzcuMTE0LjEzNi4yMTMuMzM0LjQxbDMuODY4IDMuODdjLjE5OC4xOTcuMjk3LjI5Ni40MTIuMzMzLjEuMDMzLjIwOC4wMzMuMzA5IDAgLjExNC0uMDM3LjIxMy0uMTM2LjQxLS4zMzRsMy44Ny0zLjg2OGMuMTk3LS4xOTguMjk2LS4yOTcuMzMzLS40MTJhLjQ5OS40OTkgMCAwIDAgMC0uMzA5Yy0uMDM3LS4xMTQtLjEzNi0uMjEzLS4zMzQtLjQxbC0zLjg2OC0zLjg3Yy0uMTk4LS4xOTctLjI5Ny0uMjk2LS40MTItLjMzM2EuNS41IDAgMCAwLS4zMDkgMGMtLjExNC4wMzctLjIxMy4xMzYtLjQxLjMzNFpcIj48L3BhdGg-PC9nPiJ9"],"category":[0,"compute"],"order":[0,6]}]]]}],[0,{"title":[0,"Storage"],"variant":[0,"storage"],"links":[1,[[0,{"title":[0,"Artifacts"],"description":[0,"Git-native versioned storage"],"href":[0,"/products/artifacts/"],"icon":[0,"productArtifacts"],"category":[0,"storage"],"order":[0,0]}],[0,{"title":[0,"D1"],"description":[0,"Serverless SQL"],"href":[0,"/products/d1/"],"icon":[0,"productD1"],"category":[0,"storage"],"order":[0,1]}],[0,{"title":[0,"Data Platform"],"description":[0,"Ingest, Catalog & Query"],"href":[0,"/products/data-platform/"],"icon":[0,"lego"],"category":[0,"storage"],"order":[0,2]}],[0,{"title":[0,"Hyperdrive"],"description":[0,"Global databases"],"href":[0,"/products/hyperdrive/"],"icon":[0,"productHyperdrive"],"category":[0,"storage"],"order":[0,3]}],[0,{"title":[0,"Queues"],"description":[0,"Message processing"],"href":[0,"/products/queues/"],"icon":[0,"productQueues"],"category":[0,"storage"],"order":[0,4]}],[0,{"title":[0,"R2"],"description":[0,"Egress-free storage"],"href":[0,"/products/r2/"],"icon":[0,"productR2"],"category":[0,"storage"],"order":[0,5]}],[0,{"title":[0,"KV"],"description":[0,"Ultra-fast key-value storage"],"href":[0,"/products/kv/"],"icon":[0,"productKv"],"category":[0,"storage"],"order":[0,6]}]]]}],[0,{"title":[0,"AI"],"variant":[0,"ai"],"links":[1,[[0,{"title":[0,"Agents"],"description":[0,"Build stateful AI agents"],"href":[0,"/products/agents/"],"icon":[0,"productAgents"],"category":[0,"ai"],"order":[0,0]}],[0,{"title":[0,"AI Gateway"],"description":[0,"AI observability"],"href":[0,"/products/ai-gateway/"],"icon":[0,"productAiGateway"],"category":[0,"ai"],"order":[0,1]}],[0,{"title":[0,"AI Search"],"description":[0,"Instant retrieval"],"href":[0,"/products/ai-search/"],"icon":[0,"productAutoRag"],"category":[0,"ai"],"order":[0,2]}],[0,{"title":[0,"Vectorize"],"description":[0,"Vector database"],"href":[0,"/products/vectorize/"],"icon":[0,"productVectorize"],"category":[0,"ai"],"order":[0,3]}],[0,{"title":[0,"Workers AI"],"description":[0,"Edge AI models"],"href":[0,"/products/workers-ai/"],"icon":[0,"productWorkersAI"],"category":[0,"ai"],"order":[0,4]}]]]}],[0,{"title":[0,"SASE / Zero Trust"],"variant":[0,"sase"],"links":[1,[[0,{"title":[0,"SASE"],"description":[0,"Cloudflare SASE platform"],"href":[0,"/sase/"],"icon":[0,"shieldPlus"],"category":[0,"sase"]}],[0,{"title":[0,"Access"],"description":[0,"Zero trust access to private resources"],"href":[0,"/products/access/"],"icon":[0,"user"],"category":[0,"sase"],"order":[0,0]}],[0,{"title":[0,"CASB"],"description":[0,"SaaS and cloud posture"],"href":[0,"/products/casb/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtY2xvdWQtcmFpbmluZzA2IiwibGFiZWwiOiJDbG91ZFJhaW5pbmcwNiIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJNMTMgMjFINm0xMy0zaC05bS0zIDBINW0xMyAzaC0ybS05LTZhNSA1IDAgMSAxIC4xLTkuOTk5IDUuNTAyIDUuNTAyIDAgMCAxIDEwLjE5NSAxLjAwNEE0LjUgNC41IDAgMSAxIDE3LjUgMTVINi45OTlaXCI-PC9wYXRoPjwvZz4ifQ"],"category":[0,"sase"],"order":[0]}],[0,{"title":[0,"Data Loss Prevention"],"description":[0,"Protect sensitive data"],"href":[0,"/products/dlp/"],"icon":[0,"productDataLossPrevention"],"category":[0,"sase"],"order":[0,2]}],[0,{"title":[0,"Gateway"],"description":[0,"Web filtering"],"href":[0,"/products/gateway/"],"icon":[0,"productGateway"],"category":[0,"sase"],"order":[0,2]}],[0,{"title":[0,"Browser Isolation"],"description":[0,"Secure web browsing"],"href":[0,"/products/browser-isolation/"],"icon":[0,"browser"],"category":[0,"sase"],"order":[0,3]}],[0,{"title":[0,"WAN"],"description":[0,"Cloud-delivered networking"],"href":[0,"/products/wan/"],"icon":[0,"productCloudflareWan"],"category":[0,"sase"],"order":[0,4]}],[0,{"title":[0,"Email Security"],"description":[0,"Phishing protection"],"href":[0,"/products/email-security/"],"icon":[0,"shieldPlus"],"category":[0,"sase"],"order":[0,5]}]]]}],[0,{"title":[0,"Security"],"variant":[0,"security"],"links":[1,[[0,{"title":[0,"DDoS Protection"],"description":[0,"Mitigation Solutions"],"href":[0,"/products/ddos/"],"icon":[0,"productCloudflareNetworkFirewall"],"category":[0,"security"],"order":[0,0]}],[0,{"title":[0,"Rate Limiting"],"description":[0,"Abuse prevention"],"href":[0,"/products/rate-limiting/"],"icon":[0,"productRateLimiting"],"category":[0,"security"],"order":[0,1]}],[0,{"title":[0,"SSL"],"description":[0,"Secure Your Site with SSL"],"href":[0,"/products/ssl/"],"icon":[0,"shieldPlus"],"category":[0,"security"],"order":[0,2]}],[0,{"title":[0,"Turnstile"],"description":[0,"A CAPTCHA Replacement Solution"],"href":[0,"/products/turnstile/"],"icon":[0,"productTurnstile"],"category":[0,"security"],"order":[0,3]}],[0,{"title":[0,"WAF"],"description":[0,"Web Application Firewall"],"href":[0,"/products/waf/"],"icon":[0,"productWaf"],"category":[0,"security"],"order":[0,4]}],[0,{"title":[0,"Magic Transit"],"description":[0,"DDoS Protection for Networks"],"href":[0,"/products/magic-transit/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtbWFnaWMtd2FuZDAxIiwibGFiZWwiOiJNYWdpY1dhbmQwMSIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJtMTMgMTQtMy0zbTUuMDEtNy41VjJtMy45NCAzLjA2TDIwLjAxIDRtLTEuMDYgOSAxLjA2IDEuMDZtLTktOUw5Ljk1IDRtMTAuNTYgNWgxLjVNNi4xMzEgMjAuODY5bDkuMjM4LTkuMjM4Yy4zOTYtLjM5Ni41OTQtLjU5NC42NjgtLjgyMmExIDEgMCAwIDAgMC0uNjE4Yy0uMDc0LS4yMjgtLjI3Mi0uNDI2LS42NjgtLjgyMmwtLjczNy0uNzM4Yy0uMzk3LS4zOTYtLjU5NS0uNTk0LS44MjMtLjY2OGExIDEgMCAwIDAtLjYxOCAwYy0uMjI4LjA3NC0uNDI2LjI3Mi0uODIyLjY2OEwzLjEzIDE3Ljg3Yy0uMzk2LjM5Ni0uNTk0LjU5NC0uNjY4LjgyMmExIDEgMCAwIDAgMCAuNjE4Yy4wNzQuMjI4LjI3Mi40MjYuNjY4LjgyMmwuNzM4LjczOGMuMzk2LjM5Ni41OTQuNTk0LjgyMi42NjhhMSAxIDAgMCAwIC42MTggMGMuMjI4LS4wNzQuNDI2LS4yNzIuODIyLS42NjhaXCI-PC9wYXRoPjwvZz4ifQ"],"category":[0,"security"],"order":[0,5]}],[0,{"title":[0,"Client-Side Security"],"description":[0,"Prevent browser supply chain attacks"],"href":[0,"/products/client-side-security/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtYnJvd3NlciIsImxhYmVsIjoiQnJvd3NlciIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJNMjIgOUgybTAtMS4ydjguNGMwIDEuNjggMCAyLjUyLjMyNyAzLjE2MmEzIDMgMCAwIDAgMS4zMTEgMS4zMTFDNC4yOCAyMSA1LjEyIDIxIDYuOCAyMWgxMC40YzEuNjggMCAyLjUyIDAgMy4xNjItLjMyN2EzIDMgMCAwIDAgMS4zMTEtMS4zMTFDMjIgMTguNzIgMjIgMTcuODggMjIgMTYuMlY3LjhjMC0xLjY4IDAtMi41Mi0uMzI3LTMuMTYyYTMgMyAwIDAgMC0xLjMxMS0xLjMxMUMxOS43MiAzIDE4Ljg4IDMgMTcuMiAzSDYuOGMtMS42OCAwLTIuNTIgMC0zLjE2Mi4zMjdhMyAzIDAgMCAwLTEuMzExIDEuMzExQzIgNS4yOCAyIDYuMTIgMiA3LjhaXCI-PC9wYXRoPjwvZz4ifQ"],"category":[0,"security"],"order":[0,6]}],[0,{"title":[0,"Bot Management"],"description":[0,"Block bad bots"],"href":[0,"/products/bot-management/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtZmluZ2VycHJpbnQwMyIsImxhYmVsIjoiRmluZ2VycHJpbnQwMyIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJNOC4xIDIxLjIyMWExMi4xNiAxMi4xNiAwIDAgMS0yLjIwNy03LjAwMiA2LjEwOCA2LjEwOCAwIDAgMSA2LjEwNi02LjExIDYuMTA4IDYuMTA4IDAgMCAxIDYuMTA2IDYuMTFcIj48L3BhdGg-PHBhdGggZD1cIk04LjEgMjEuMjIxYTEyLjE2IDEyLjE2IDAgMCAxLTIuMjA3LTcuMDAyIDYuMTA4IDYuMTA4IDAgMCAxIDYuMTA2LTYuMTEgNi4xMDggNi4xMDggMCAwIDEgNi4xMDYgNi4xMVwiPjwvcGF0aD48cGF0aCBkPVwiTTE4LjQzNiAyMC4zMTJjLS4xMS4wMDYtLjIxOC4wMTYtLjMyOS4wMTZhNi4xMDggNi4xMDggMCAwIDEtNi4xMDYtNi4xMVwiPjwvcGF0aD48cGF0aCBkPVwiTTE4LjQzNiAyMC4zMTJjLS4xMS4wMDYtLjIxOC4wMTYtLjMyOS4wMTZhNi4xMDggNi4xMDggMCAwIDEtNi4xMDYtNi4xMVwiPjwvcGF0aD48cGF0aCBkPVwiTTEzLjI3IDIyYTkuMTU4IDkuMTU4IDAgMCAxLTQuMzIzLTcuNzgxIDMuMDU0IDMuMDU0IDAgMSAxIDYuMTA3IDAgMy4wNTQgMy4wNTQgMCAxIDAgNi4xMDggMGMwLTUuMDYyLTQuMTAyLTkuMTY0LTkuMTYtOS4xNjQtNS4wNTkgMC05LjE2IDQuMTAyLTkuMTYgOS4xNjQgMCAxLjEyOC4xMjYgMi4yMjYuMzU4IDMuMjg2XCI-PC9wYXRoPjxwYXRoIGQ9XCJNMTMuMjcgMjJhOS4xNTggOS4xNTggMCAwIDEtNC4zMjMtNy43ODEgMy4wNTQgMy4wNTQgMCAxIDEgNi4xMDcgMCAzLjA1NCAzLjA1NCAwIDEgMCA2LjEwOCAwYzAtNS4wNjItNC4xMDItOS4xNjQtOS4xNi05LjE2NC01LjA1OSAwLTkuMTYgNC4xMDItOS4xNiA5LjE2NCAwIDEuMTI4LjEyNiAyLjIyNi4zNTggMy4yODZcIj48L3BhdGg-PHBhdGggZD1cIk0yMC41MjYgNS44NjNBMTEuMzI3IDExLjMyNyAwIDAgMCAxMiAyYTExLjMyNyAxMS4zMjcgMCAwIDAtOC41MjUgMy44NjNcIj48L3BhdGg-PHBhdGggZD1cIk0yMC41MjYgNS44NjNBMTEuMzI3IDExLjMyNyAwIDAgMCAxMiAyYTExLjMyNyAxMS4zMjcgMCAwIDAtOC41MjUgMy44NjNcIj48L3BhdGg-PC9nPiJ9"],"category":[0,"security"],"order":[0,8]}]]]}],[0,{"title":[0,"Network & Content Delivery"],"variant":[0,"network"],"links":[1,[[0,{"title":[0,"CDN"],"description":[0,"Faster delivery & caching"],"href":[0,"/products/cdn/"],"icon":[0,"productNetwork"],"category":[0,"network"],"order":[0,1]}],[0,{"title":[0,"DNS"],"description":[0,"Fast DNS"],"href":[0,"/products/dns/"],"icon":[0,"productDNS"],"category":[0,"network"],"order":[0,2]}],[0,{"title":[0,"Load Balancing"],"description":[0,"Zero downtime"],"href":[0,"/products/load-balancing/"],"icon":[0,"productLoadBalancing"],"category":[0,"network"],"order":[0,3]}],[0,{"title":[0,"TURN / SFU"],"description":[0,"Real-time infra"],"href":[0,"/products/turn-sfu/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtY29kZS1jaXJjbGUwMiIsImxhYmVsIjoiQ29kZUNpcmNsZTAyIiwidmlld0JveCI6IjAgMCAyNCAyNCIsImlubmVyIjoiPGcgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI-PHBhdGggZD1cIm0xNCAxNyAzLTMtMy0zbS00LTQtMyAzIDMgM20xMi0xYzAgNS41MjMtNC40NzcgMTAtMTAgMTBTMiAxNy41MjMgMiAxMiA2LjQ3NyAyIDEyIDJzMTAgNC40NzcgMTAgMTBaXCI-PC9wYXRoPjwvZz4ifQ"],"category":[0,"network"],"order":[0,5]}],[0,{"title":[0,"Analytics"],"description":[0,"Web Performance & Security"],"href":[0,"/products/analytics/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtYmFyLWxpbmUtY2hhcnQiLCJsYWJlbCI6IkJhckxpbmVDaGFydCIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJNMjAgMjB2LTdtLTggN1YxME00IDIwdi00bTkuNDA3LTEwLjk3MyA1LjE2OCAxLjkzOU0xMC44IDUuNCA1LjIgOS42bTE1Ljg2LTMuMTZhMS41IDEuNSAwIDEgMS0yLjEyMSAyLjEyIDEuNSAxLjUgMCAwIDEgMi4xMjItMi4xMlptLTE2IDNhMS41IDEuNSAwIDEgMS0yLjEyIDIuMTIgMS41IDEuNSAwIDAgMSAyLjEyLTIuMTJabTgtNmExLjUgMS41IDAgMSAxLTIuMTIxIDIuMTIgMS41IDEuNSAwIDAgMSAyLjEyMi0yLjEyWlwiPjwvcGF0aD48L2c-In0"],"category":[0,"network"],"order":[0,6]}]]]}]]],"solutions":[1,[[0,{"title":[0,"AI"],"description":[0,"Build intelligent applications with AI at the edge"],"href":[0,"/solutions/ai/"],"icon":[0,"productCloudflareAgent"],"order":[0,0],"metaTitle":[0,"Cloudflare AI Cloud "]}],[0,{"title":[0,"AI Security"],"description":[0,"Secure and control AI adoption without slowing innovation."],"href":[0,"/solutions/ai-security/"],"icon":[0,"aI"],"order":[0],"metaTitle":[0,"AI Security"]}],[0,{"title":[0,"Frontends"],"description":[0,"Deploy frontend applications globally in seconds"],"href":[0,"/solutions/frontends/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtbGF5b3V0LWFsdDAxIiwibGFiZWwiOiJMYXlvdXRBbHQwMSIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJNMyA5aDE4TTkgOXYxMk03LjggM2g4LjRjMS42OCAwIDIuNTIgMCAzLjE2Mi4zMjdhMyAzIDAgMCAxIDEuMzExIDEuMzExQzIxIDUuMjggMjEgNi4xMiAyMSA3Ljh2OC40YzAgMS42OCAwIDIuNTItLjMyNyAzLjE2MmEzIDMgMCAwIDEtMS4zMTEgMS4zMTFDMTguNzIgMjEgMTcuODggMjEgMTYuMiAyMUg3LjhjLTEuNjggMC0yLjUyIDAtMy4xNjItLjMyN2EzIDMgMCAwIDEtMS4zMTEtMS4zMTFDMyAxOC43MiAzIDE3Ljg4IDMgMTYuMlY3LjhjMC0xLjY4IDAtMi41Mi4zMjctMy4xNjJhMyAzIDAgMCAxIDEuMzExLTEuMzExQzUuMjggMyA2LjEyIDMgNy44IDNaXCI-PC9wYXRoPjwvZz4ifQ"],"order":[0,1],"metaTitle":[0,"Frontend Development Platform"]}],[0,{"title":[0,"Network"],"description":[0,"Global network services for performance and reliability"],"href":[0,"/solutions/network/"],"icon":[0,"earth"],"order":[0,2],"metaTitle":[0,"Global Network Infrastructure"]}],[0,{"title":[0,"Platforms"],"description":[0,"Build platforms on Cloudflare's infrastructure"],"href":[0,"/solutions/platforms/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtY3ViZTAyIiwibGFiZWwiOiJDdWJlMDIiLCJ2aWV3Qm94IjoiMCAwIDI0IDI0IiwiaW5uZXIiOiI8ZyBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48cGF0aCBkPVwiTTEyIDIuNVYxMm0wIDAgOC41LTQuNzIyTTEyIDEyIDMuNSA3LjI3OE0xMiAxMnY5LjVtOC41LTQuNzc4LTcuNzIzLTQuMjljLS4yODQtLjE1OC0uNDI1LS4yMzctLjU3NS0uMjY4YTEuMDAxIDEuMDAxIDAgMCAwLS40MDMgMGMtLjE1LjAzMS0uMjkyLjExLS41NzYuMjY4TDMuNSAxNi43MjJNMjEgMTYuMDZWNy45NDJjMC0uMzQzIDAtLjUxNC0uMDUtLjY2N2ExIDEgMCAwIDAtLjIxNS0uMzY0Yy0uMTA5LS4xMTktLjI1OC0uMjAyLS41NTgtLjM2OGwtNy40LTQuMTExYy0uMjg0LS4xNTgtLjQyNS0uMjM3LS41NzUtLjI2N2ExIDEgMCAwIDAtLjQwMyAwYy0uMTUuMDMtLjI5Mi4xMS0uNTc2LjI2N2wtNy40IDQuMTFjLS4zLjE2Ny0uNDUuMjUtLjU1OC4zNjlhMSAxIDAgMCAwLS4yMTUuMzY0QzMgNy40MjggMyA3LjU5OSAzIDcuOTQydjguMTE3YzAgLjM0MiAwIC41MTQuMDUuNjY2YTEgMSAwIDAgMCAuMjE1LjM2NGMuMTA5LjExOS4yNTguMjAyLjU1OC4zNjhsNy40IDQuMTExYy4yODQuMTU4LjQyNS4yMzcuNTc2LjI2OC4xMzMuMDI3LjI3LjAyNy40MDIgMCAuMTUtLjAzMS4yOTItLjExLjU3Ni0uMjY4bDcuNC00LjExYy4zLS4xNjcuNDUtLjI1LjU1OC0uMzY5YS45OTkuOTk5IDAgMCAwIC4yMTUtLjM2NGMuMDUtLjE1Mi4wNS0uMzI0LjA1LS42NjZaXCI-PC9wYXRoPjwvZz4ifQ"],"order":[0,3],"metaTitle":[0,"Multi-Tenant Platform Development"]}],[0,{"title":[0,"Security"],"description":[0,"Protect your applications from threats"],"href":[0,"/solutions/security/"],"icon":[0,"shieldPlus"],"order":[0,5],"metaTitle":[0,"Web Security Platform - WAF, DDoS Protection, Bot Management"]}],[0,{"title":[0,"Workflows"],"description":[0,"Orchestrate complex multi-step processes"],"href":[0,"/solutions/workflows/"],"icon":[0,"flash"],"order":[0,6],"metaTitle":[0,"Durable Workflows - Multi-Step Application Engine"]}]]],"footerSolutions":[1,[[0,{"title":[0,"AI"],"description":[0,"Build intelligent applications with AI at the edge"],"href":[0,"/solutions/ai/"],"icon":[0,"productCloudflareAgent"],"order":[0,0],"metaTitle":[0,"Cloudflare AI Cloud "]}],[0,{"title":[0,"AI Security"],"description":[0,"Secure and control AI adoption without slowing innovation."],"href":[0,"/solutions/ai-security/"],"icon":[0,"aI"],"order":[0],"metaTitle":[0,"AI Security"]}],[0,{"title":[0,"Frontends"],"description":[0,"Deploy frontend applications globally in seconds"],"href":[0,"/solutions/frontends/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtbGF5b3V0LWFsdDAxIiwibGFiZWwiOiJMYXlvdXRBbHQwMSIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJNMyA5aDE4TTkgOXYxMk03LjggM2g4LjRjMS42OCAwIDIuNTIgMCAzLjE2Mi4zMjdhMyAzIDAgMCAxIDEuMzExIDEuMzExQzIxIDUuMjggMjEgNi4xMiAyMSA3Ljh2OC40YzAgMS42OCAwIDIuNTItLjMyNyAzLjE2MmEzIDMgMCAwIDEtMS4zMTEgMS4zMTFDMTguNzIgMjEgMTcuODggMjEgMTYuMiAyMUg3LjhjLTEuNjggMC0yLjUyIDAtMy4xNjItLjMyN2EzIDMgMCAwIDEtMS4zMTEtMS4zMTFDMyAxOC43MiAzIDE3Ljg4IDMgMTYuMlY3LjhjMC0xLjY4IDAtMi41Mi4zMjctMy4xNjJhMyAzIDAgMCAxIDEuMzExLTEuMzExQzUuMjggMyA2LjEyIDMgNy44IDNaXCI-PC9wYXRoPjwvZz4ifQ"],"order":[0,1],"metaTitle":[0,"Frontend Development Platform"]}],[0,{"title":[0,"Platforms"],"description":[0,"Build platforms on Cloudflare's infrastructure"],"href":[0,"/solutions/platforms/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtY3ViZTAyIiwibGFiZWwiOiJDdWJlMDIiLCJ2aWV3Qm94IjoiMCAwIDI0IDI0IiwiaW5uZXIiOiI8ZyBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48cGF0aCBkPVwiTTEyIDIuNVYxMm0wIDAgOC41LTQuNzIyTTEyIDEyIDMuNSA3LjI3OE0xMiAxMnY5LjVtOC41LTQuNzc4LTcuNzIzLTQuMjljLS4yODQtLjE1OC0uNDI1LS4yMzctLjU3NS0uMjY4YTEuMDAxIDEuMDAxIDAgMCAwLS40MDMgMGMtLjE1LjAzMS0uMjkyLjExLS41NzYuMjY4TDMuNSAxNi43MjJNMjEgMTYuMDZWNy45NDJjMC0uMzQzIDAtLjUxNC0uMDUtLjY2N2ExIDEgMCAwIDAtLjIxNS0uMzY0Yy0uMTA5LS4xMTktLjI1OC0uMjAyLS41NTgtLjM2OGwtNy40LTQuMTExYy0uMjg0LS4xNTgtLjQyNS0uMjM3LS41NzUtLjI2N2ExIDEgMCAwIDAtLjQwMyAwYy0uMTUuMDMtLjI5Mi4xMS0uNTc2LjI2N2wtNy40IDQuMTFjLS4zLjE2Ny0uNDUuMjUtLjU1OC4zNjlhMSAxIDAgMCAwLS4yMTUuMzY0QzMgNy40MjggMyA3LjU5OSAzIDcuOTQydjguMTE3YzAgLjM0MiAwIC41MTQuMDUuNjY2YTEgMSAwIDAgMCAuMjE1LjM2NGMuMTA5LjExOS4yNTguMjAyLjU1OC4zNjhsNy40IDQuMTExYy4yODQuMTU4LjQyNS4yMzcuNTc2LjI2OC4xMzMuMDI3LjI3LjAyNy40MDIgMCAuMTUtLjAzMS4yOTItLjExLjU3Ni0uMjY4bDcuNC00LjExYy4zLS4xNjcuNDUtLjI1LjU1OC0uMzY5YS45OTkuOTk5IDAgMCAwIC4yMTUtLjM2NGMuMDUtLjE1Mi4wNS0uMzI0LjA1LS42NjZaXCI-PC9wYXRoPjwvZz4ifQ"],"order":[0,3],"metaTitle":[0,"Multi-Tenant Platform Development"]}],[0,{"title":[0,"Security"],"description":[0,"Protect your applications from threats"],"href":[0,"/solutions/security/"],"icon":[0,"shieldPlus"],"order":[0,5],"metaTitle":[0,"Web Security Platform - WAF, DDoS Protection, Bot Management"]}]]],"resources":[1,[[0,{"title":[0,"Blog"],"links":[1,[[0,{"title":[0,"Blog"],"description":[0,"News, product updates, and announcements"],"href":[0,"/blog/"],"icon":[0,"notificationMessage"]}],[0,{"title":[0,"Community"],"description":[0,"Connect with other developers and experts"],"href":[0,"/community/"],"icon":[0,"chat"]}],[0,{"title":[0,"Cloudflare Radar"],"description":[0,"Internet traffic and security trends"],"href":[0,"https://radar.cloudflare.com/"],"icon":[0,"productRadar"]}]]]}],[0,{"title":[0,"Documentation"],"links":[1,[[0,{"title":[0,"Developer Docs"],"description":[0,"Guides, references, and tutorials"],"href":[0,"https://developers.cloudflare.com/"],"icon":[0,"bookOpen"]}],[0,{"title":[0,"API Reference"],"description":[0,"Cloudflare API documentation"],"href":[0,"https://developers.cloudflare.com/api/"],"icon":[0,"terminal"]}],[0,{"title":[0,"Case Studies"],"description":[0,"Customer success stories and results"],"href":[0,"/case-studies/"],"icon":[0,"barChartUp"]}]]]}],[0,{"title":[0,"Learning"],"links":[1,[[0,{"title":[0,"Learning Center"],"description":[0,"Learn about web technology concepts"],"href":[0,"/learning/"],"icon":[0,"course"]}],[0,{"title":[0,"Reference Architectures"],"description":[0,"Architecture patterns and best practices"],"href":[0,"/architecture/"],"icon":[0,"cubeTarget"]}],[0,{"title":[0,"Press"],"description":[0,"Latest news, media resources, and coverage"],"href":[0,"/press/"],"icon":[0,"publisher"]}]]]}],[0,{"title":[0,"Quick Links"],"variant":[0,"inline"],"links":[1,[[0,{"title":[0,"Startups"],"href":[0,"/startups/"]}],[0,{"title":[0,"Careers"],"href":[0,"/careers/"]}],[0,{"title":[0,"Partners"],"href":[0,"/partners/"]}],[0,{"title":[0,"Status"],"href":[0,"https://www.cloudflarestatus.com/"]}],[0,{"title":[0,"Support"],"href":[0,"https://support.cloudflare.com/"]}]]]}]]]}]}" ssr client="idle" opts="{"name":"NavigationContainer","value":true}" await-children><div id="nav-container" class="pointer-events-auto relative z-20 min-w-0 text-foreground-100 dark:text-light-foreground"><div class="hidden h-[72px] w-full min-w-0 items-center justify-center md:flex md:pl-0"><nav class="keyframe-container relative font-sans" style="opacity:0" aria-label="Main navigation"><div class="relative flex text-inherit items-center justify-between px-4 sm:px-6 lg:px-8"><div id="header-navigation" class="relative hidden h-full md:flex" style="opacity:0"><div class="absolute top-0 box-border h-full rounded-md border border-border-100 dark:border-border-100 bg-border-100/10 dark:bg-border-100/50 opacity-0 transition-all duration-300 ease-out"></div><a href="/products/" data-nav="products" class="relative z-10 flex items-center rounded-md py-1.5 px-3 font-medium text-inherit transition-all duration-200 ease-out hover:opacity-80" aria-expanded="false" aria-haspopup="true" data-astro-prefetch="hover" style="opacity:1;filter:none">Products<svg viewBox="0 0 20 20" class="inline-block h-4 w-auto transition-opacity duration-200 ease-out shrink-0 text-inherit opacity-30 ml-1.5 mr-[-3px]" aria-hidden="true"><use href="/icons.svg#chevronGroup"></use></svg></a><a href="/solutions/" data-nav="solutions" class="relative z-10 flex items-center rounded-md py-1.5 px-3 font-medium text-inherit transition-all duration-200 ease-out hover:opacity-80" aria-expanded="false" aria-haspopup="true" data-astro-prefetch="hover" style="opacity:1;filter:none">Solutions<svg viewBox="0 0 20 20" class="inline-block h-4 w-auto transition-opacity duration-200 ease-out shrink-0 text-inherit opacity-30 ml-1.5 mr-[-3px]" aria-hidden="true"><use href="/icons.svg#chevronGroup"></use></svg></a><a href="/resource-hub/" data-nav="resources" class="relative z-10 flex items-center rounded-md py-1.5 px-3 font-medium text-inherit transition-all duration-200 ease-out hover:opacity-80" aria-expanded="false" aria-haspopup="true" data-astro-prefetch="hover" style="opacity:1;filter:none">Resources<svg viewBox="0 0 20 20" class="inline-block h-4 w-auto transition-opacity duration-200 ease-out shrink-0 text-inherit opacity-30 ml-1.5 mr-[-3px]" aria-hidden="true"><use href="/icons.svg#chevronGroup"></use></svg></a><a href="/plans/" data-nav="pricing" class="text-inherit relative flex items-center rounded-md px-3 py-1.5 font-medium transition-all duration-200 ease-out hover:opacity-80" data-astro-prefetch="hover" style="opacity:1;filter:none">Pricing</a></div></div></nav></div></div><!--astro:end--></astro-island> </div> <div class="flex items-center justify-end gap-2 md:justify-self-end"> <div class="hidden will-change-transform md:flex md:items-center md:gap-1" data-nav-scroll-utility> <div id="nav-action-buttons" class="pointer-events-none flex items-center justify-end gap-1 transition-[filter] duration-200 ease-out"> <a href="https://dash.cloudflare.com/login" data-slot="button" class="relative isolate shrink-0 origin-center items-center justify-center gap-2 whitespace-nowrap border font-medium backdrop-blur-md transition-[scale,translate] duration-[0.16s] ease-[cubic-bezier(0.25,0.46,0.45,0.94)] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none rounded-xl md:rounded-full border-border-100 bg-background-100 text-foreground-100 active:scale-[0.98] hover:border-accent-100/40 hover:before:opacity-[0.08] focus-visible:before:opacity-[0.08] px-3 py-1.5 pointer-events-auto hidden md:flex hover:text-inherit" id="nav-login-button" data-auth="logged-out">Login</a> <a href="https://dash.cloudflare.com/" data-slot="button" class="relative isolate shrink-0 origin-center items-center justify-center gap-2 whitespace-nowrap border font-medium backdrop-blur-md transition-[scale,translate] duration-[0.16s] ease-[cubic-bezier(0.25,0.46,0.45,0.94)] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none rounded-xl md:rounded-full border-border-100 bg-background-100 text-foreground-100 active:scale-[0.98] hover:border-accent-100/40 hover:before:opacity-[0.08] focus-visible:before:opacity-[0.08] px-3 py-1.5 pointer-events-auto hidden hover:text-inherit" id="nav-dashboard-button" data-auth="logged-in">
Dashboard
</a> <a href="/resource/contact-enterprise-sales/" data-slot="button" class="relative isolate shrink-0 origin-center items-center justify-center gap-2 whitespace-nowrap border font-medium backdrop-blur-md transition-[scale,translate] duration-[0.16s] ease-[cubic-bezier(0.25,0.46,0.45,0.94)] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none rounded-xl md:rounded-full border-border-100 bg-background-100 text-foreground-100 active:scale-[0.98] hover:border-accent-100/40 hover:before:opacity-[0.08] focus-visible:before:opacity-[0.08] px-3 py-1.5 pointer-events-auto hidden md:flex hover:text-inherit" id="nav-contact-sales-button">Contact sales</a> <button data-slot="button" class="relative isolate shrink-0 origin-center items-center justify-center gap-2 whitespace-nowrap border font-medium backdrop-blur-md transition-[scale,translate] duration-[0.16s] ease-[cubic-bezier(0.25,0.46,0.45,0.94)] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none rounded-xl md:rounded-full border-border-100 bg-background-100 text-foreground-100 active:scale-[0.98] hover:border-accent-100/40 hover:before:opacity-[0.08] focus-visible:before:opacity-[0.08] pointer-events-auto hidden p-2.5 md:flex" type="button" aria-label="Search Cloudflare" data-ai-search-trigger="true" data-nav-search-button="true"> <svg viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4"><path d="m21 21-6-6m2-5a7 7 0 1 1-14 0 7 7 0 0 1 14 0Z"></path></svg> </button> </div> </div> <div class="pointer-events-none flex shrink-0 items-center justify-end gap-1" data-nav-sticky-actions> <a href="https://dash.cloudflare.com/sign-up" data-slot="button" class="relative isolate shrink-0 origin-center items-center justify-center gap-2 whitespace-nowrap border font-medium backdrop-blur-md transition-[scale,translate] duration-[0.16s] ease-[cubic-bezier(0.25,0.46,0.45,0.94)] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none rounded-xl md:rounded-full border-accent-100 bg-accent-100 active:scale-[0.98] hover:border-light-foreground hover:before:opacity-[0.26] focus-visible:before:opacity-[0.26] px-3 py-1.5 text-light-foreground pointer-events-auto hidden hover:scale-100 md:flex" id="nav-start-building-button" tabindex="-1" aria-hidden="true" data-auth="logged-out">Start building</a> <a href="https://dash.cloudflare.com/" data-slot="button" class="relative isolate shrink-0 origin-center items-center justify-center gap-2 whitespace-nowrap border font-medium backdrop-blur-md transition-[scale,translate] duration-[0.16s] ease-[cubic-bezier(0.25,0.46,0.45,0.94)] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none rounded-xl md:rounded-full border-accent-100 bg-accent-100 active:scale-[0.98] hover:border-light-foreground hover:before:opacity-[0.26] focus-visible:before:opacity-[0.26] px-3 py-1.5 text-light-foreground pointer-events-auto hidden hover:scale-100" id="nav-sticky-dashboard-button" tabindex="-1" aria-hidden="true" data-auth="logged-in">
Dashboard
</a> <astro-island uid="Z1tt2WC" prefix="r62" component-url="/_astro/_trigger.ChlvdEna.js" component-export="MobileTrigger" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"navigation":[0,{"localePrefix":[0,""],"labels":[0,{"products":[0,"Products"],"solutions":[0,"Solutions"],"solutionsHeading":[0,"Use Cases"],"resources":[0,"Resources"]}],"chrome":[0,{"underAttack":[0,"Under attack?"],"login":[0,"Login"],"startBuilding":[0,"Start building"],"contactSales":[0,"Contact sales"],"search":[0,"Search Cloudflare"],"seeUpcomingEvents":[0,"See Upcoming Events"],"resourcesEventLink":[0,{"title":[0,"See Upcoming Events"],"href":[0,"/events/"]}],"chinLinks":[1,[[0,{"title":[0,"Enterprise"],"href":[0,"/enterprise/"]}],[0,{"title":[0,"Global Network"],"href":[0,"/network/"]}],[0,{"title":[0,"Domain Registration"],"href":[0,"https://domains.cloudflare.com/"]}],[0,{"title":[0,"1.1.1.1"],"href":[0,"https://one.one.one.one/"]}]]]}],"staticLinks":[1,[[0,{"label":[0,"Pricing"],"href":[0,"/plans/"]}]]],"productGroups":[1,[[0,{"title":[0,"Compute"],"variant":[0,"compute"],"links":[1,[[0,{"title":[0,"Browser Run"],"description":[0,"Automated browsers"],"href":[0,"/products/browser-rendering/"],"icon":[0,"productBrowserRenderings"],"category":[0,"compute"],"order":[0,0]}],[0,{"title":[0,"Containers"],"description":[0,"Any language, anywhere"],"href":[0,"/products/containers/"],"icon":[0,"productContainers"],"category":[0,"compute"],"order":[0,1]}],[0,{"title":[0,"Durable Objects"],"description":[0,"Stateful compute"],"href":[0,"/products/durable-objects/"],"icon":[0,"productDurableObjects"],"category":[0,"compute"],"order":[0,2]}],[0,{"title":[0,"Sandboxes"],"description":[0,"Secure code execution"],"href":[0,"/products/sandboxes/"],"icon":[0,"productSandboxes"],"category":[0,"compute"],"order":[0,3]}],[0,{"title":[0,"Workers"],"description":[0,"Global serverless functions"],"href":[0,"/products/workers/"],"icon":[0,"productWorkers"],"category":[0,"compute"],"order":[0,4]}],[0,{"title":[0,"Workers for Platforms"],"description":[0,"Programmable Platform Solutions"],"href":[0,"/products/workers-for-platforms/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtbGF5ZXJzLXRocmVlMDEiLCJsYWJlbCI6IkxheWVyc1RocmVlMDEiLCJ2aWV3Qm94IjoiMCAwIDI0IDI0IiwiaW5uZXIiOiI8ZyBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48cGF0aCBkPVwibTIgMTIgOS42NDIgNC44MjFjLjEzMS4wNjYuMTk3LjA5OS4yNjYuMTExLjA2LjAxMi4xMjMuMDEyLjE4NCAwIC4wNjktLjAxMi4xMzUtLjA0NS4yNjYtLjExTDIyIDEyTTIgMTdsOS42NDIgNC44MjFjLjEzMS4wNjYuMTk3LjA5OS4yNjYuMTExLjA2LjAxMi4xMjMuMDEyLjE4NCAwIC4wNjktLjAxMi4xMzUtLjA0NS4yNjYtLjExTDIyIDE3TTIgN2w5LjY0Mi00LjgyMWMuMTMxLS4wNjYuMTk3LS4wOTguMjY2LS4xMTFhLjUuNSAwIDAgMSAuMTg0IDBjLjA2OS4wMTMuMTM1LjA0NS4yNjYuMTFMMjIgN2wtOS42NDIgNC44MjFhMS4wMjggMS4wMjggMCAwIDEtLjI2Ni4xMTEuNTAxLjUwMSAwIDAgMS0uMTg0IDBjLS4wNjktLjAxMi0uMTM1LS4wNDUtLjI2Ni0uMTFMMiA3WlwiPjwvcGF0aD48L2c-In0"],"category":[0,"compute"],"order":[0,5]}],[0,{"title":[0,"Workflows"],"description":[0,"Process orchestration"],"href":[0,"/products/workflows/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtY3J5cHRvY3VycmVuY3kwNCIsImxhYmVsIjoiQ3J5cHRvY3VycmVuY3kwNCIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJtMiAyIDIgMm0xOC0yLTIgMm0yIDE4LTItMk0yIDIybDItMm0tMi00aDEuNU04IDJ2MS41TTIyIDhoLTEuNU0xNiAyMnYtMS41bTItNC41aDMuNU0xNiAydjRNMiA4aDRtMiAxNHYtNG0zLjQzNC0xMC40MzQtMy44NjggMy44NjhjLS4xOTguMTk4LS4yOTcuMjk3LS4zMzQuNDEyYS41LjUgMCAwIDAgMCAuMzA5Yy4wMzcuMTE0LjEzNi4yMTMuMzM0LjQxbDMuODY4IDMuODdjLjE5OC4xOTcuMjk3LjI5Ni40MTIuMzMzLjEuMDMzLjIwOC4wMzMuMzA5IDAgLjExNC0uMDM3LjIxMy0uMTM2LjQxLS4zMzRsMy44Ny0zLjg2OGMuMTk3LS4xOTguMjk2LS4yOTcuMzMzLS40MTJhLjQ5OS40OTkgMCAwIDAgMC0uMzA5Yy0uMDM3LS4xMTQtLjEzNi0uMjEzLS4zMzQtLjQxbC0zLjg2OC0zLjg3Yy0uMTk4LS4xOTctLjI5Ny0uMjk2LS40MTItLjMzM2EuNS41IDAgMCAwLS4zMDkgMGMtLjExNC4wMzctLjIxMy4xMzYtLjQxLjMzNFpcIj48L3BhdGg-PC9nPiJ9"],"category":[0,"compute"],"order":[0,6]}]]]}],[0,{"title":[0,"Storage"],"variant":[0,"storage"],"links":[1,[[0,{"title":[0,"Artifacts"],"description":[0,"Git-native versioned storage"],"href":[0,"/products/artifacts/"],"icon":[0,"productArtifacts"],"category":[0,"storage"],"order":[0,0]}],[0,{"title":[0,"D1"],"description":[0,"Serverless SQL"],"href":[0,"/products/d1/"],"icon":[0,"productD1"],"category":[0,"storage"],"order":[0,1]}],[0,{"title":[0,"Data Platform"],"description":[0,"Ingest, Catalog & Query"],"href":[0,"/products/data-platform/"],"icon":[0,"lego"],"category":[0,"storage"],"order":[0,2]}],[0,{"title":[0,"Hyperdrive"],"description":[0,"Global databases"],"href":[0,"/products/hyperdrive/"],"icon":[0,"productHyperdrive"],"category":[0,"storage"],"order":[0,3]}],[0,{"title":[0,"Queues"],"description":[0,"Message processing"],"href":[0,"/products/queues/"],"icon":[0,"productQueues"],"category":[0,"storage"],"order":[0,4]}],[0,{"title":[0,"R2"],"description":[0,"Egress-free storage"],"href":[0,"/products/r2/"],"icon":[0,"productR2"],"category":[0,"storage"],"order":[0,5]}],[0,{"title":[0,"KV"],"description":[0,"Ultra-fast key-value storage"],"href":[0,"/products/kv/"],"icon":[0,"productKv"],"category":[0,"storage"],"order":[0,6]}]]]}],[0,{"title":[0,"AI"],"variant":[0,"ai"],"links":[1,[[0,{"title":[0,"Agents"],"description":[0,"Build stateful AI agents"],"href":[0,"/products/agents/"],"icon":[0,"productAgents"],"category":[0,"ai"],"order":[0,0]}],[0,{"title":[0,"AI Gateway"],"description":[0,"AI observability"],"href":[0,"/products/ai-gateway/"],"icon":[0,"productAiGateway"],"category":[0,"ai"],"order":[0,1]}],[0,{"title":[0,"AI Search"],"description":[0,"Instant retrieval"],"href":[0,"/products/ai-search/"],"icon":[0,"productAutoRag"],"category":[0,"ai"],"order":[0,2]}],[0,{"title":[0,"Vectorize"],"description":[0,"Vector database"],"href":[0,"/products/vectorize/"],"icon":[0,"productVectorize"],"category":[0,"ai"],"order":[0,3]}],[0,{"title":[0,"Workers AI"],"description":[0,"Edge AI models"],"href":[0,"/products/workers-ai/"],"icon":[0,"productWorkersAI"],"category":[0,"ai"],"order":[0,4]}]]]}],[0,{"title":[0,"SASE / Zero Trust"],"variant":[0,"sase"],"links":[1,[[0,{"title":[0,"SASE"],"description":[0,"Cloudflare SASE platform"],"href":[0,"/sase/"],"icon":[0,"shieldPlus"],"category":[0,"sase"]}],[0,{"title":[0,"Access"],"description":[0,"Zero trust access to private resources"],"href":[0,"/products/access/"],"icon":[0,"user"],"category":[0,"sase"],"order":[0,0]}],[0,{"title":[0,"CASB"],"description":[0,"SaaS and cloud posture"],"href":[0,"/products/casb/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtY2xvdWQtcmFpbmluZzA2IiwibGFiZWwiOiJDbG91ZFJhaW5pbmcwNiIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJNMTMgMjFINm0xMy0zaC05bS0zIDBINW0xMyAzaC0ybS05LTZhNSA1IDAgMSAxIC4xLTkuOTk5IDUuNTAyIDUuNTAyIDAgMCAxIDEwLjE5NSAxLjAwNEE0LjUgNC41IDAgMSAxIDE3LjUgMTVINi45OTlaXCI-PC9wYXRoPjwvZz4ifQ"],"category":[0,"sase"],"order":[0]}],[0,{"title":[0,"Data Loss Prevention"],"description":[0,"Protect sensitive data"],"href":[0,"/products/dlp/"],"icon":[0,"productDataLossPrevention"],"category":[0,"sase"],"order":[0,2]}],[0,{"title":[0,"Gateway"],"description":[0,"Web filtering"],"href":[0,"/products/gateway/"],"icon":[0,"productGateway"],"category":[0,"sase"],"order":[0,2]}],[0,{"title":[0,"Browser Isolation"],"description":[0,"Secure web browsing"],"href":[0,"/products/browser-isolation/"],"icon":[0,"browser"],"category":[0,"sase"],"order":[0,3]}],[0,{"title":[0,"WAN"],"description":[0,"Cloud-delivered networking"],"href":[0,"/products/wan/"],"icon":[0,"productCloudflareWan"],"category":[0,"sase"],"order":[0,4]}],[0,{"title":[0,"Email Security"],"description":[0,"Phishing protection"],"href":[0,"/products/email-security/"],"icon":[0,"shieldPlus"],"category":[0,"sase"],"order":[0,5]}]]]}],[0,{"title":[0,"Security"],"variant":[0,"security"],"links":[1,[[0,{"title":[0,"DDoS Protection"],"description":[0,"Mitigation Solutions"],"href":[0,"/products/ddos/"],"icon":[0,"productCloudflareNetworkFirewall"],"category":[0,"security"],"order":[0,0]}],[0,{"title":[0,"Rate Limiting"],"description":[0,"Abuse prevention"],"href":[0,"/products/rate-limiting/"],"icon":[0,"productRateLimiting"],"category":[0,"security"],"order":[0,1]}],[0,{"title":[0,"SSL"],"description":[0,"Secure Your Site with SSL"],"href":[0,"/products/ssl/"],"icon":[0,"shieldPlus"],"category":[0,"security"],"order":[0,2]}],[0,{"title":[0,"Turnstile"],"description":[0,"A CAPTCHA Replacement Solution"],"href":[0,"/products/turnstile/"],"icon":[0,"productTurnstile"],"category":[0,"security"],"order":[0,3]}],[0,{"title":[0,"WAF"],"description":[0,"Web Application Firewall"],"href":[0,"/products/waf/"],"icon":[0,"productWaf"],"category":[0,"security"],"order":[0,4]}],[0,{"title":[0,"Magic Transit"],"description":[0,"DDoS Protection for Networks"],"href":[0,"/products/magic-transit/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtbWFnaWMtd2FuZDAxIiwibGFiZWwiOiJNYWdpY1dhbmQwMSIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJtMTMgMTQtMy0zbTUuMDEtNy41VjJtMy45NCAzLjA2TDIwLjAxIDRtLTEuMDYgOSAxLjA2IDEuMDZtLTktOUw5Ljk1IDRtMTAuNTYgNWgxLjVNNi4xMzEgMjAuODY5bDkuMjM4LTkuMjM4Yy4zOTYtLjM5Ni41OTQtLjU5NC42NjgtLjgyMmExIDEgMCAwIDAgMC0uNjE4Yy0uMDc0LS4yMjgtLjI3Mi0uNDI2LS42NjgtLjgyMmwtLjczNy0uNzM4Yy0uMzk3LS4zOTYtLjU5NS0uNTk0LS44MjMtLjY2OGExIDEgMCAwIDAtLjYxOCAwYy0uMjI4LjA3NC0uNDI2LjI3Mi0uODIyLjY2OEwzLjEzIDE3Ljg3Yy0uMzk2LjM5Ni0uNTk0LjU5NC0uNjY4LjgyMmExIDEgMCAwIDAgMCAuNjE4Yy4wNzQuMjI4LjI3Mi40MjYuNjY4LjgyMmwuNzM4LjczOGMuMzk2LjM5Ni41OTQuNTk0LjgyMi42NjhhMSAxIDAgMCAwIC42MTggMGMuMjI4LS4wNzQuNDI2LS4yNzIuODIyLS42NjhaXCI-PC9wYXRoPjwvZz4ifQ"],"category":[0,"security"],"order":[0,5]}],[0,{"title":[0,"Client-Side Security"],"description":[0,"Prevent browser supply chain attacks"],"href":[0,"/products/client-side-security/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtYnJvd3NlciIsImxhYmVsIjoiQnJvd3NlciIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJNMjIgOUgybTAtMS4ydjguNGMwIDEuNjggMCAyLjUyLjMyNyAzLjE2MmEzIDMgMCAwIDAgMS4zMTEgMS4zMTFDNC4yOCAyMSA1LjEyIDIxIDYuOCAyMWgxMC40YzEuNjggMCAyLjUyIDAgMy4xNjItLjMyN2EzIDMgMCAwIDAgMS4zMTEtMS4zMTFDMjIgMTguNzIgMjIgMTcuODggMjIgMTYuMlY3LjhjMC0xLjY4IDAtMi41Mi0uMzI3LTMuMTYyYTMgMyAwIDAgMC0xLjMxMS0xLjMxMUMxOS43MiAzIDE4Ljg4IDMgMTcuMiAzSDYuOGMtMS42OCAwLTIuNTIgMC0zLjE2Mi4zMjdhMyAzIDAgMCAwLTEuMzExIDEuMzExQzIgNS4yOCAyIDYuMTIgMiA3LjhaXCI-PC9wYXRoPjwvZz4ifQ"],"category":[0,"security"],"order":[0,6]}],[0,{"title":[0,"Bot Management"],"description":[0,"Block bad bots"],"href":[0,"/products/bot-management/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtZmluZ2VycHJpbnQwMyIsImxhYmVsIjoiRmluZ2VycHJpbnQwMyIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJNOC4xIDIxLjIyMWExMi4xNiAxMi4xNiAwIDAgMS0yLjIwNy03LjAwMiA2LjEwOCA2LjEwOCAwIDAgMSA2LjEwNi02LjExIDYuMTA4IDYuMTA4IDAgMCAxIDYuMTA2IDYuMTFcIj48L3BhdGg-PHBhdGggZD1cIk04LjEgMjEuMjIxYTEyLjE2IDEyLjE2IDAgMCAxLTIuMjA3LTcuMDAyIDYuMTA4IDYuMTA4IDAgMCAxIDYuMTA2LTYuMTEgNi4xMDggNi4xMDggMCAwIDEgNi4xMDYgNi4xMVwiPjwvcGF0aD48cGF0aCBkPVwiTTE4LjQzNiAyMC4zMTJjLS4xMS4wMDYtLjIxOC4wMTYtLjMyOS4wMTZhNi4xMDggNi4xMDggMCAwIDEtNi4xMDYtNi4xMVwiPjwvcGF0aD48cGF0aCBkPVwiTTE4LjQzNiAyMC4zMTJjLS4xMS4wMDYtLjIxOC4wMTYtLjMyOS4wMTZhNi4xMDggNi4xMDggMCAwIDEtNi4xMDYtNi4xMVwiPjwvcGF0aD48cGF0aCBkPVwiTTEzLjI3IDIyYTkuMTU4IDkuMTU4IDAgMCAxLTQuMzIzLTcuNzgxIDMuMDU0IDMuMDU0IDAgMSAxIDYuMTA3IDAgMy4wNTQgMy4wNTQgMCAxIDAgNi4xMDggMGMwLTUuMDYyLTQuMTAyLTkuMTY0LTkuMTYtOS4xNjQtNS4wNTkgMC05LjE2IDQuMTAyLTkuMTYgOS4xNjQgMCAxLjEyOC4xMjYgMi4yMjYuMzU4IDMuMjg2XCI-PC9wYXRoPjxwYXRoIGQ9XCJNMTMuMjcgMjJhOS4xNTggOS4xNTggMCAwIDEtNC4zMjMtNy43ODEgMy4wNTQgMy4wNTQgMCAxIDEgNi4xMDcgMCAzLjA1NCAzLjA1NCAwIDEgMCA2LjEwOCAwYzAtNS4wNjItNC4xMDItOS4xNjQtOS4xNi05LjE2NC01LjA1OSAwLTkuMTYgNC4xMDItOS4xNiA5LjE2NCAwIDEuMTI4LjEyNiAyLjIyNi4zNTggMy4yODZcIj48L3BhdGg-PHBhdGggZD1cIk0yMC41MjYgNS44NjNBMTEuMzI3IDExLjMyNyAwIDAgMCAxMiAyYTExLjMyNyAxMS4zMjcgMCAwIDAtOC41MjUgMy44NjNcIj48L3BhdGg-PHBhdGggZD1cIk0yMC41MjYgNS44NjNBMTEuMzI3IDExLjMyNyAwIDAgMCAxMiAyYTExLjMyNyAxMS4zMjcgMCAwIDAtOC41MjUgMy44NjNcIj48L3BhdGg-PC9nPiJ9"],"category":[0,"security"],"order":[0,8]}]]]}],[0,{"title":[0,"Network & Content Delivery"],"variant":[0,"network"],"links":[1,[[0,{"title":[0,"CDN"],"description":[0,"Faster delivery & caching"],"href":[0,"/products/cdn/"],"icon":[0,"productNetwork"],"category":[0,"network"],"order":[0,1]}],[0,{"title":[0,"DNS"],"description":[0,"Fast DNS"],"href":[0,"/products/dns/"],"icon":[0,"productDNS"],"category":[0,"network"],"order":[0,2]}],[0,{"title":[0,"Load Balancing"],"description":[0,"Zero downtime"],"href":[0,"/products/load-balancing/"],"icon":[0,"productLoadBalancing"],"category":[0,"network"],"order":[0,3]}],[0,{"title":[0,"TURN / SFU"],"description":[0,"Real-time infra"],"href":[0,"/products/turn-sfu/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtY29kZS1jaXJjbGUwMiIsImxhYmVsIjoiQ29kZUNpcmNsZTAyIiwidmlld0JveCI6IjAgMCAyNCAyNCIsImlubmVyIjoiPGcgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI-PHBhdGggZD1cIm0xNCAxNyAzLTMtMy0zbS00LTQtMyAzIDMgM20xMi0xYzAgNS41MjMtNC40NzcgMTAtMTAgMTBTMiAxNy41MjMgMiAxMiA2LjQ3NyAyIDEyIDJzMTAgNC40NzcgMTAgMTBaXCI-PC9wYXRoPjwvZz4ifQ"],"category":[0,"network"],"order":[0,5]}],[0,{"title":[0,"Analytics"],"description":[0,"Web Performance & Security"],"href":[0,"/products/analytics/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtYmFyLWxpbmUtY2hhcnQiLCJsYWJlbCI6IkJhckxpbmVDaGFydCIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJNMjAgMjB2LTdtLTggN1YxME00IDIwdi00bTkuNDA3LTEwLjk3MyA1LjE2OCAxLjkzOU0xMC44IDUuNCA1LjIgOS42bTE1Ljg2LTMuMTZhMS41IDEuNSAwIDEgMS0yLjEyMSAyLjEyIDEuNSAxLjUgMCAwIDEgMi4xMjItMi4xMlptLTE2IDNhMS41IDEuNSAwIDEgMS0yLjEyIDIuMTIgMS41IDEuNSAwIDAgMSAyLjEyLTIuMTJabTgtNmExLjUgMS41IDAgMSAxLTIuMTIxIDIuMTIgMS41IDEuNSAwIDAgMSAyLjEyMi0yLjEyWlwiPjwvcGF0aD48L2c-In0"],"category":[0,"network"],"order":[0,6]}]]]}]]],"solutions":[1,[[0,{"title":[0,"AI"],"description":[0,"Build intelligent applications with AI at the edge"],"href":[0,"/solutions/ai/"],"icon":[0,"productCloudflareAgent"],"order":[0,0],"metaTitle":[0,"Cloudflare AI Cloud "]}],[0,{"title":[0,"AI Security"],"description":[0,"Secure and control AI adoption without slowing innovation."],"href":[0,"/solutions/ai-security/"],"icon":[0,"aI"],"order":[0],"metaTitle":[0,"AI Security"]}],[0,{"title":[0,"Frontends"],"description":[0,"Deploy frontend applications globally in seconds"],"href":[0,"/solutions/frontends/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtbGF5b3V0LWFsdDAxIiwibGFiZWwiOiJMYXlvdXRBbHQwMSIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJNMyA5aDE4TTkgOXYxMk03LjggM2g4LjRjMS42OCAwIDIuNTIgMCAzLjE2Mi4zMjdhMyAzIDAgMCAxIDEuMzExIDEuMzExQzIxIDUuMjggMjEgNi4xMiAyMSA3Ljh2OC40YzAgMS42OCAwIDIuNTItLjMyNyAzLjE2MmEzIDMgMCAwIDEtMS4zMTEgMS4zMTFDMTguNzIgMjEgMTcuODggMjEgMTYuMiAyMUg3LjhjLTEuNjggMC0yLjUyIDAtMy4xNjItLjMyN2EzIDMgMCAwIDEtMS4zMTEtMS4zMTFDMyAxOC43MiAzIDE3Ljg4IDMgMTYuMlY3LjhjMC0xLjY4IDAtMi41Mi4zMjctMy4xNjJhMyAzIDAgMCAxIDEuMzExLTEuMzExQzUuMjggMyA2LjEyIDMgNy44IDNaXCI-PC9wYXRoPjwvZz4ifQ"],"order":[0,1],"metaTitle":[0,"Frontend Development Platform"]}],[0,{"title":[0,"Network"],"description":[0,"Global network services for performance and reliability"],"href":[0,"/solutions/network/"],"icon":[0,"earth"],"order":[0,2],"metaTitle":[0,"Global Network Infrastructure"]}],[0,{"title":[0,"Platforms"],"description":[0,"Build platforms on Cloudflare's infrastructure"],"href":[0,"/solutions/platforms/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtY3ViZTAyIiwibGFiZWwiOiJDdWJlMDIiLCJ2aWV3Qm94IjoiMCAwIDI0IDI0IiwiaW5uZXIiOiI8ZyBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48cGF0aCBkPVwiTTEyIDIuNVYxMm0wIDAgOC41LTQuNzIyTTEyIDEyIDMuNSA3LjI3OE0xMiAxMnY5LjVtOC41LTQuNzc4LTcuNzIzLTQuMjljLS4yODQtLjE1OC0uNDI1LS4yMzctLjU3NS0uMjY4YTEuMDAxIDEuMDAxIDAgMCAwLS40MDMgMGMtLjE1LjAzMS0uMjkyLjExLS41NzYuMjY4TDMuNSAxNi43MjJNMjEgMTYuMDZWNy45NDJjMC0uMzQzIDAtLjUxNC0uMDUtLjY2N2ExIDEgMCAwIDAtLjIxNS0uMzY0Yy0uMTA5LS4xMTktLjI1OC0uMjAyLS41NTgtLjM2OGwtNy40LTQuMTExYy0uMjg0LS4xNTgtLjQyNS0uMjM3LS41NzUtLjI2N2ExIDEgMCAwIDAtLjQwMyAwYy0uMTUuMDMtLjI5Mi4xMS0uNTc2LjI2N2wtNy40IDQuMTFjLS4zLjE2Ny0uNDUuMjUtLjU1OC4zNjlhMSAxIDAgMCAwLS4yMTUuMzY0QzMgNy40MjggMyA3LjU5OSAzIDcuOTQydjguMTE3YzAgLjM0MiAwIC41MTQuMDUuNjY2YTEgMSAwIDAgMCAuMjE1LjM2NGMuMTA5LjExOS4yNTguMjAyLjU1OC4zNjhsNy40IDQuMTExYy4yODQuMTU4LjQyNS4yMzcuNTc2LjI2OC4xMzMuMDI3LjI3LjAyNy40MDIgMCAuMTUtLjAzMS4yOTItLjExLjU3Ni0uMjY4bDcuNC00LjExYy4zLS4xNjcuNDUtLjI1LjU1OC0uMzY5YS45OTkuOTk5IDAgMCAwIC4yMTUtLjM2NGMuMDUtLjE1Mi4wNS0uMzI0LjA1LS42NjZaXCI-PC9wYXRoPjwvZz4ifQ"],"order":[0,3],"metaTitle":[0,"Multi-Tenant Platform Development"]}],[0,{"title":[0,"Security"],"description":[0,"Protect your applications from threats"],"href":[0,"/solutions/security/"],"icon":[0,"shieldPlus"],"order":[0,5],"metaTitle":[0,"Web Security Platform - WAF, DDoS Protection, Bot Management"]}],[0,{"title":[0,"Workflows"],"description":[0,"Orchestrate complex multi-step processes"],"href":[0,"/solutions/workflows/"],"icon":[0,"flash"],"order":[0,6],"metaTitle":[0,"Durable Workflows - Multi-Step Application Engine"]}]]],"footerSolutions":[1,[[0,{"title":[0,"AI"],"description":[0,"Build intelligent applications with AI at the edge"],"href":[0,"/solutions/ai/"],"icon":[0,"productCloudflareAgent"],"order":[0,0],"metaTitle":[0,"Cloudflare AI Cloud "]}],[0,{"title":[0,"AI Security"],"description":[0,"Secure and control AI adoption without slowing innovation."],"href":[0,"/solutions/ai-security/"],"icon":[0,"aI"],"order":[0],"metaTitle":[0,"AI Security"]}],[0,{"title":[0,"Frontends"],"description":[0,"Deploy frontend applications globally in seconds"],"href":[0,"/solutions/frontends/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtbGF5b3V0LWFsdDAxIiwibGFiZWwiOiJMYXlvdXRBbHQwMSIsInZpZXdCb3giOiIwIDAgMjQgMjQiLCJpbm5lciI6IjxnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjxwYXRoIGQ9XCJNMyA5aDE4TTkgOXYxMk03LjggM2g4LjRjMS42OCAwIDIuNTIgMCAzLjE2Mi4zMjdhMyAzIDAgMCAxIDEuMzExIDEuMzExQzIxIDUuMjggMjEgNi4xMiAyMSA3Ljh2OC40YzAgMS42OCAwIDIuNTItLjMyNyAzLjE2MmEzIDMgMCAwIDEtMS4zMTEgMS4zMTFDMTguNzIgMjEgMTcuODggMjEgMTYuMiAyMUg3LjhjLTEuNjggMC0yLjUyIDAtMy4xNjItLjMyN2EzIDMgMCAwIDEtMS4zMTEtMS4zMTFDMyAxOC43MiAzIDE3Ljg4IDMgMTYuMlY3LjhjMC0xLjY4IDAtMi41Mi4zMjctMy4xNjJhMyAzIDAgMCAxIDEuMzExLTEuMzExQzUuMjggMyA2LjEyIDMgNy44IDNaXCI-PC9wYXRoPjwvZz4ifQ"],"order":[0,1],"metaTitle":[0,"Frontend Development Platform"]}],[0,{"title":[0,"Platforms"],"description":[0,"Build platforms on Cloudflare's infrastructure"],"href":[0,"/solutions/platforms/"],"icon":[0,"svg:eyJzbHVnIjoidW50aXRsZWQtY3ViZTAyIiwibGFiZWwiOiJDdWJlMDIiLCJ2aWV3Qm94IjoiMCAwIDI0IDI0IiwiaW5uZXIiOiI8ZyBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48cGF0aCBkPVwiTTEyIDIuNVYxMm0wIDAgOC41LTQuNzIyTTEyIDEyIDMuNSA3LjI3OE0xMiAxMnY5LjVtOC41LTQuNzc4LTcuNzIzLTQuMjljLS4yODQtLjE1OC0uNDI1LS4yMzctLjU3NS0uMjY4YTEuMDAxIDEuMDAxIDAgMCAwLS40MDMgMGMtLjE1LjAzMS0uMjkyLjExLS41NzYuMjY4TDMuNSAxNi43MjJNMjEgMTYuMDZWNy45NDJjMC0uMzQzIDAtLjUxNC0uMDUtLjY2N2ExIDEgMCAwIDAtLjIxNS0uMzY0Yy0uMTA5LS4xMTktLjI1OC0uMjAyLS41NTgtLjM2OGwtNy40LTQuMTExYy0uMjg0LS4xNTgtLjQyNS0uMjM3LS41NzUtLjI2N2ExIDEgMCAwIDAtLjQwMyAwYy0uMTUuMDMtLjI5Mi4xMS0uNTc2LjI2N2wtNy40IDQuMTFjLS4zLjE2Ny0uNDUuMjUtLjU1OC4zNjlhMSAxIDAgMCAwLS4yMTUuMzY0QzMgNy40MjggMyA3LjU5OSAzIDcuOTQydjguMTE3YzAgLjM0MiAwIC41MTQuMDUuNjY2YTEgMSAwIDAgMCAuMjE1LjM2NGMuMTA5LjExOS4yNTguMjAyLjU1OC4zNjhsNy40IDQuMTExYy4yODQuMTU4LjQyNS4yMzcuNTc2LjI2OC4xMzMuMDI3LjI3LjAyNy40MDIgMCAuMTUtLjAzMS4yOTItLjExLjU3Ni0uMjY4bDcuNC00LjExYy4zLS4xNjcuNDUtLjI1LjU1OC0uMzY5YS45OTkuOTk5IDAgMCAwIC4yMTUtLjM2NGMuMDUtLjE1Mi4wNS0uMzI0LjA1LS42NjZaXCI-PC9wYXRoPjwvZz4ifQ"],"order":[0,3],"metaTitle":[0,"Multi-Tenant Platform Development"]}],[0,{"title":[0,"Security"],"description":[0,"Protect your applications from threats"],"href":[0,"/solutions/security/"],"icon":[0,"shieldPlus"],"order":[0,5],"metaTitle":[0,"Web Security Platform - WAF, DDoS Protection, Bot Management"]}]]],"resources":[1,[[0,{"title":[0,"Blog"],"links":[1,[[0,{"title":[0,"Blog"],"description":[0,"News, product updates, and announcements"],"href":[0,"/blog/"],"icon":[0,"notificationMessage"]}],[0,{"title":[0,"Community"],"description":[0,"Connect with other developers and experts"],"href":[0,"/community/"],"icon":[0,"chat"]}],[0,{"title":[0,"Cloudflare Radar"],"description":[0,"Internet traffic and security trends"],"href":[0,"https://radar.cloudflare.com/"],"icon":[0,"productRadar"]}]]]}],[0,{"title":[0,"Documentation"],"links":[1,[[0,{"title":[0,"Developer Docs"],"description":[0,"Guides, references, and tutorials"],"href":[0,"https://developers.cloudflare.com/"],"icon":[0,"bookOpen"]}],[0,{"title":[0,"API Reference"],"description":[0,"Cloudflare API documentation"],"href":[0,"https://developers.cloudflare.com/api/"],"icon":[0,"terminal"]}],[0,{"title":[0,"Case Studies"],"description":[0,"Customer success stories and results"],"href":[0,"/case-studies/"],"icon":[0,"barChartUp"]}]]]}],[0,{"title":[0,"Learning"],"links":[1,[[0,{"title":[0,"Learning Center"],"description":[0,"Learn about web technology concepts"],"href":[0,"/learning/"],"icon":[0,"course"]}],[0,{"title":[0,"Reference Architectures"],"description":[0,"Architecture patterns and best practices"],"href":[0,"/architecture/"],"icon":[0,"cubeTarget"]}],[0,{"title":[0,"Press"],"description":[0,"Latest news, media resources, and coverage"],"href":[0,"/press/"],"icon":[0,"publisher"]}]]]}],[0,{"title":[0,"Quick Links"],"variant":[0,"inline"],"links":[1,[[0,{"title":[0,"Startups"],"href":[0,"/startups/"]}],[0,{"title":[0,"Careers"],"href":[0,"/careers/"]}],[0,{"title":[0,"Partners"],"href":[0,"/partners/"]}],[0,{"title":[0,"Status"],"href":[0,"https://www.cloudflarestatus.com/"]}],[0,{"title":[0,"Support"],"href":[0,"https://support.cloudflare.com/"]}]]]}]]]}],"localeCode":[0],"variant":[0,"secondary"]}" ssr client="idle" opts="{"name":"MobileTrigger","value":true}" await-children><div class="md:hidden" style="opacity:1;transform:none"><a href="https://dash.cloudflare.com/login" data-slot="button" class="relative isolate inline-flex shrink-0 origin-center items-center justify-center whitespace-nowrap rounded-full border backdrop-blur-md transition-[scale,translate] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none border-border-100 bg-transparent text-foreground-100 active:scale-[0.98] hover:border-accent-100 hover:bg-accent-200/5 hover:text-accent-100 gap-0.5 !transition-[color,background-color,border-color,transform,translate] duration-200 ease-out hover:!opacity-100 pointer-events-auto px-3 py-2 text-base font-semibold md:text-xs">Login</a></div><div class="md:hidden" style="opacity:1;transform:none"><button data-slot="button" class="relative isolate shrink-0 origin-center gap-2 whitespace-nowrap border font-medium backdrop-blur-md transition-[scale,translate] duration-[0.16s] ease-[cubic-bezier(0.25,0.46,0.45,0.94)] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none rounded-xl md:rounded-full border-border-100 bg-background-100 text-foreground-100 active:scale-[0.98] hover:border-accent-100/40 hover:before:opacity-[0.08] focus-visible:before:opacity-[0.08] px-4 py-2 pointer-events-auto flex w-10.5 items-center justify-center border-none" type="button" aria-label="Search Cloudflare" data-ai-search-trigger="true" data-nav-search-button="true"><svg viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-6"><path d="m21 21-6-6m2-5a7 7 0 1 1-14 0 7 7 0 0 1 14 0Z"></path></svg></button></div><button data-slot="button" class="relative isolate shrink-0 origin-center gap-2 whitespace-nowrap border font-medium backdrop-blur-md transition-[scale,translate] duration-[0.16s] ease-[cubic-bezier(0.25,0.46,0.45,0.94)] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none rounded-xl md:rounded-full border-border-100 bg-background-100 text-foreground-100 active:scale-[0.98] hover:border-accent-100/40 hover:before:opacity-[0.08] focus-visible:before:opacity-[0.08] px-4 py-2 pointer-events-auto flex w-10.5 items-center justify-center border-none md:hidden" type="button" aria-expanded="false" aria-label="Open menu"><span class="t-icon-swap size-6" data-state="a" aria-hidden="true"><span class="t-icon inline-flex items-center justify-center" data-icon="a"><svg viewBox="0 0 256 256" class="inline-block shrink-0 text-foreground-100 size-6" aria-hidden="true"><use href="/icons.svg#list"></use></svg></span><span class="t-icon inline-flex items-center justify-center" data-icon="b"><svg viewBox="0 0 16 17" class="inline-block shrink-0 text-foreground-100 size-6" aria-hidden="true"><use href="/icons.svg#x"></use></svg></span></span></button><!--astro:end--></astro-island> </div> </div> </div> </header> </div> <script>
(function () {
if (typeof window === 'undefined') return;
var FADE_DISTANCE = 80;
var SCROLLED_THRESHOLD = 8;
var DEEP_SCROLLED_THRESHOLD = 800;
function applyState() {
// When a modal/drawer opens, useBodyScrollLock sets
// `body { position: fixed; top: -Ypx }` which resets window.scrollY to 0.
// Read the saved scroll offset from body.style.top so the header doesn't
// flash back to its "at top of page" state while the overlay is open.
var scrollY = window.scrollY || window.pageYOffset || 0;
if (scrollY === 0 && document.body.style.position === 'fixed' && document.body.style.top) {
scrollY = -parseInt(document.body.style.top, 10) || 0;
}
var clamped = Math.max(0, Math.min(scrollY, FADE_DISTANCE));
var progress = clamped / FADE_DISTANCE;
var uniformOpacity = Math.max(0, 1 - progress);
// Translate the whole tabs + utility groups together so they read as
// one continuous bar moving up.
var groups = document.querySelectorAll('[data-nav-scroll-tabs], [data-nav-scroll-utility]');
for (var i = 0; i < groups.length; i++) {
var el = groups[i];
el.style.transform = 'translateY(' + -clamped + 'px)';
el.style.pointerEvents = progress > 0.5 ? 'none' : '';
}
// Both tabs and the utility row (Under Attack + Login) fade
// together as one continuous bar.
var tabsWrapper = document.querySelector('[data-nav-scroll-tabs]');
if (tabsWrapper) {
tabsWrapper.style.opacity = String(uniformOpacity);
}
var utilityWrapper = document.querySelector('[data-nav-scroll-utility]');
if (utilityWrapper) {
utilityWrapper.style.opacity = String(uniformOpacity);
}
document.documentElement.toggleAttribute('data-nav-scrolled', scrollY > SCROLLED_THRESHOLD);
// Deep scroll — used to show the Start Building CTA after the
// user scrolls past the hero section.
document.documentElement.toggleAttribute(
'data-nav-deep-scrolled',
scrollY > DEEP_SCROLLED_THRESHOLD,
);
}
if (window.__navScrollSyncInitialized) {
applyState();
return;
}
window.__navScrollSyncInitialized = true;
var ticking = false;
function requestUpdate() {
if (ticking) return;
ticking = true;
window.requestAnimationFrame(function () {
ticking = false;
applyState();
});
}
applyState();
window.addEventListener('scroll', requestUpdate, { passive: true });
window.addEventListener('resize', requestUpdate);
window.addEventListener('load', requestUpdate);
document.addEventListener('astro:page-load', requestUpdate);
document.addEventListener('astro:before-swap', function cleanup() {
window.removeEventListener('scroll', requestUpdate);
window.removeEventListener('resize', requestUpdate);
window.removeEventListener('load', requestUpdate);
document.removeEventListener('astro:page-load', requestUpdate);
window.__navScrollSyncInitialized = false;
document.removeEventListener('astro:before-swap', cleanup);
});
})();
(function () {
if (typeof window === 'undefined') return;
if (window.__navStateChangeInitialized) return;
window.__navStateChangeInitialized = true;
var logoButton = document.getElementById('nav-logo-button');
var actionButtons = document.getElementById('nav-action-buttons');
if (!logoButton || !actionButtons) return;
function handleNavStateChange(event) {
var selectedNav = event.detail && event.detail.selectedNav;
var isMenuOpen =
selectedNav === 'products' || selectedNav === 'solutions' || selectedNav === 'resources';
if (isMenuOpen) {
logoButton.style.opacity = '1';
logoButton.style.filter = 'blur(0px)';
actionButtons.style.filter = 'blur(0px)';
} else {
logoButton.style.opacity = '1';
logoButton.style.filter = 'none';
actionButtons.style.filter = 'none';
}
}
window.addEventListener('navStateChange', handleNavStateChange);
document.addEventListener('astro:before-swap', function cleanup() {
window.removeEventListener('navStateChange', handleNavStateChange);
window.__navStateChangeInitialized = false;
document.removeEventListener('astro:before-swap', cleanup);
});
})();
</script> <main id="main-content" class="relative w-full max-w-full overflow-x-clip" tabindex="-1"> <div class="gap-section flex flex-col"> <div class="product-page-accent-buttons-light-text contents"> <div data-product-section="hero" class="contents"> <section class="px-section relative z-10 pb-12 md:pb-0" data-cms-path="products.pages.sections.hero" data-astro-cid-g6gfg5hs> <div class="bg-background-100 h-13 w-full md:h-20" data-astro-cid-g6gfg5hs></div> <div class="relative flex w-full flex-col items-center justify-center gap-10" data-astro-cid-g6gfg5hs> <div class="corner-lines-container" aria-hidden="true" data-astro-cid-g6gfg5hs="true"><svg class="corner-line top-line absolute top-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-[2000ms] ease-out opacity-50" preserveAspectRatio="none" aria-hidden="true"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line></svg></div> <div class="relative flex flex-col items-center justify-center gap-6" data-astro-cid-g6gfg5hs> <div class="relative flex h-36 w-72 items-center justify-center" data-astro-cid-g6gfg5hs> <svg class="pointer-events-none absolute top-0 left-0 z-0 h-full w-full" data-testid="rf__background" aria-hidden="true" style="stroke-dasharray:none;stroke-dashoffset:0"><pattern id="pattern-hxlvne" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--color-decor-dots-100)" style="stroke-dasharray:none;stroke-dashoffset:0"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-hxlvne)" style="stroke-dasharray:none;stroke-dashoffset:0"></rect></svg> <div class="relative flex flex-col items-start justify-start gap-2 rounded-sm border border-dashed py-2.5 pr-4 pl-3.5" style="background-color:var(--color-compute-200);border-color:var(--color-compute-100)" data-product="pages" data-category="compute"> <div class="flex w-full items-center gap-1.5" style="color:var(--color-compute-100)"> <span class="inline-flex items-center justify-center size-7 shrink-0 text-inherit" data-cms-path="products.pages.icon" data-cms-type="icon" data-cms-value="flash"><svg viewBox="0 0 11 17" class="inline-block size-7 shrink-0 text-inherit" aria-hidden="true"><use href="/icons.svg#flash"></use></svg></span> <p class="mt-0.5 font-mono leading-none font-semibold text-inherit" data-cms-path="products.pages.name" data-cms-type="text"> Cloudflare Pages </p> </div> <div class="bg-background-300 absolute top-1/2 -left-1 h-2 w-2 -translate-y-1/2 rounded-[2px] border" style="border-color:var(--color-compute-100)"></div> <div class="bg-background-300 absolute top-1/2 -right-1 h-2 w-2 -translate-y-1/2 rounded-[2px] border" style="border-color:var(--color-compute-100)"></div> </div> </div> <div class="flex flex-col items-center gap-10 text-center" data-astro-cid-g6gfg5hs> <h2 class="text-foreground-100 max-w-[1080px] self-start text-left text-balance md:self-center md:text-center" data-cms-path="products.pages.sections.hero.title" data-cms-type="text" data-astro-cid-g6gfg5hs> Build and deploy full-stack applications instantly </h2> <h3 class="heading-visual-h5 product-hero-subtitle max-w-[1080px] text-left md:text-center" data-cms-path="products.pages.sections.hero.subtitle" data-cms-type="text" data-astro-cid-g6gfg5hs> Cloudflare Pages is a serverless platform that lets you build, collaborate, test, and deploy applications quickly. Developers, designers, and product teams can work together with minimal configuration needed. </h3> </div> </div> <div class="flex flex-row flex-wrap justify-center gap-2" data-astro-cid-g6gfg5hs> <a href="https://dash.cloudflare.com/sign-up" data-slot="button" class="relative isolate inline-flex shrink-0 origin-center items-center justify-center gap-2 whitespace-nowrap border font-medium backdrop-blur-md transition-[scale,translate] duration-[0.16s] ease-[cubic-bezier(0.25,0.46,0.45,0.94)] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none rounded-xl md:rounded-full border-accent-100 bg-accent-100 active:scale-[0.98] hover:border-light-foreground hover:before:opacity-[0.26] focus-visible:before:opacity-[0.26] px-6 py-5 md:py-3 text-light-foreground w-full text-lg md:w-auto" data-cms-path="products.pages.sections.hero.primaryCta.href" data-astro-cid-g6gfg5hs="true"> <span data-cms-path="products.pages.sections.hero.primaryCta.text" data-cms-type="text" data-astro-cid-g6gfg5hs> Start building for free </span></a> <a href="https://developers.cloudflare.com/pages/" data-slot="button" class="relative isolate inline-flex shrink-0 origin-center items-center justify-center gap-2 whitespace-nowrap border font-medium backdrop-blur-md transition-[scale,translate] duration-[0.16s] ease-[cubic-bezier(0.25,0.46,0.45,0.94)] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none rounded-xl md:rounded-full border-border-100 bg-background-100 text-foreground-100 active:scale-[0.98] hover:border-accent-100/40 hover:before:opacity-[0.08] focus-visible:before:opacity-[0.08] px-6 py-5 md:py-3 hover:bg-background-200 hover:text-accent-100/70 w-full text-lg hover:scale-100 md:w-auto" data-cms-path="products.pages.sections.hero.secondaryCta.href" data-astro-cid-g6gfg5hs="true"> <span data-cms-path="products.pages.sections.hero.secondaryCta.text" data-cms-type="text" data-astro-cid-g6gfg5hs> View docs </span></a> </div> </div> </section><section class="animate-in mx-auto fade-in transition-opacity delay-100 duration-2000 ease-out relative z-0 bg-background-100 -mt-0.5 flex w-full flex-col overflow-hidden md:hidden "> <svg class="corner-line top-line absolute top-0 left-1/2 h-1 -translate-x-1/2 transition-opacity duration-2000 ease-out w-[200dvw]" preserveAspectRatio="none" aria-hidden="true"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> <div class="relative mb-2 h-20 w-full"> <svg class="pointer-events-none absolute top-0 left-0 z-0 h-full w-full" data-testid="rf__background" aria-hidden="true" style="stroke-dasharray:none;stroke-dashoffset:0"><pattern id="pattern-hxlvne" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--color-decor-dots-100)" style="stroke-dasharray:none;stroke-dashoffset:0"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-hxlvne)" style="stroke-dasharray:none;stroke-dashoffset:0"></rect></svg> </div> <svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-2000 ease-out" preserveAspectRatio="none"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> </section> </div><div data-product-section="benefits" class="contents"> <section id="pages-benefits" class="px-section" data-cms-path="products.pages.sections.benefits"> <div class="relative mx-auto max-w-[1200px] border"> <div class="grid grid-cols-1 lg:grid-cols-3"> <div class="border-border-100 bg-background-100 group/benefit relative flex h-full flex-col lg:border-l-0 col-span-1"> <div class="pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;top:-7px;key:top-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;top:-7px;key:top-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;bottom:-7px;key:bottom-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;key:bottom-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <div class="flex h-full flex-1 flex-col items-start p-6 lg:p-8"> <span class="inline-flex shrink-0 items-center justify-center size-6" data-cms-path="products.pages.sections.benefits.items.0.icon" data-cms-type="icon" data-cms-value="clockRefresh"><svg viewBox="0 0 56 56" class="inline-block shrink-0 size-6" aria-hidden="true"><use href="/icons.svg#clockRefresh"></use></svg></span> <p class="text-foreground-200 dark:text-foreground-100 pt-2 pb-1" data-cms-path="products.pages.sections.benefits.items.0.title" data-cms-type="text"> <strong>Rapid Deployment</strong> </p> <p class="text-foreground-200/70" data-cms-path="products.pages.sections.benefits.items.0.description" data-cms-type="text"> <script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();</script><astro-island uid="1wriQH" prefix="r74" component-url="/_astro/index.DW7gI7Sc.js" component-export="LinkifiedDescription" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"description":[0,"Deploy full-stack applications quickly with Cloudflare Pages. A serverless platform for building and delivering trusted applications."],"title":[0,"Rapid Deployment"],"locale":[0]}" ssr client="load" opts="{"name":"LinkifiedDescription","value":true}" await-children><span>Deploy full-stack applications quickly with Cloudflare Pages. A serverless platform for building and delivering trusted applications.</span><!--astro:end--></astro-island> </p> </div> </div><div class="border-border-100 bg-background-100 group/benefit relative flex h-full flex-col border-t lg:border-t-0 lg:border-l col-span-1"> <div class="flex h-full flex-1 flex-col items-start p-6 lg:p-8"> <span class="inline-flex shrink-0 items-center justify-center size-6" data-cms-path="products.pages.sections.benefits.items.1.icon" data-cms-type="icon" data-cms-value="cube"><svg viewBox="0 0 16 19" class="inline-block shrink-0 size-6" aria-hidden="true"><use href="/icons.svg#cube"></use></svg></span> <p class="text-foreground-200 dark:text-foreground-100 pt-2 pb-1" data-cms-path="products.pages.sections.benefits.items.1.title" data-cms-type="text"> <strong>Effortless Collaboration</strong> </p> <p class="text-foreground-200/70" data-cms-path="products.pages.sections.benefits.items.1.description" data-cms-type="text"> <astro-island uid="1B0n10" prefix="r76" component-url="/_astro/index.DW7gI7Sc.js" component-export="LinkifiedDescription" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"description":[0,"Share projects using unique, protected links with designers and developers to iterate quickly. All plans come with unlimited sites, seats, requests, and bandwidth."],"title":[0,"Effortless Collaboration"],"locale":[0]}" ssr client="load" opts="{"name":"LinkifiedDescription","value":true}" await-children><span>Share projects using unique, protected links with designers and developers to iterate quickly. All plans come with unlimited sites, seats, requests, and bandwidth.</span><!--astro:end--></astro-island> </p> </div> </div><div class="border-border-100 bg-background-100 group/benefit relative flex h-full flex-col border-t lg:border-t-0 lg:border-l col-span-1"> <div class="pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;top:-7px;key:top-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;top:-7px;key:top-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;bottom:-7px;key:bottom-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;key:bottom-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <div class="flex h-full flex-1 flex-col items-start p-6 lg:p-8"> <span class="inline-flex shrink-0 items-center justify-center size-6" data-cms-path="products.pages.sections.benefits.items.2.icon" data-cms-type="icon" data-cms-value="cube"><svg viewBox="0 0 16 19" class="inline-block shrink-0 size-6" aria-hidden="true"><use href="/icons.svg#cube"></use></svg></span> <p class="text-foreground-200 dark:text-foreground-100 pt-2 pb-1" data-cms-path="products.pages.sections.benefits.items.2.title" data-cms-type="text"> <strong>Global Performance</strong> </p> <p class="text-foreground-200/70" data-cms-path="products.pages.sections.benefits.items.2.description" data-cms-type="text"> <astro-island uid="ZhTrTF" prefix="r78" component-url="/_astro/index.DW7gI7Sc.js" component-export="LinkifiedDescription" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"description":[0,"The Cloudflare network delivers content mere milliseconds from users. Pages also supports HTTP/3, QUIC, image compression, and SSL out of the box."],"title":[0,"Global Performance"],"locale":[0]}" ssr client="load" opts="{"name":"LinkifiedDescription","value":true}" await-children><span>The Cloudflare network delivers content mere milliseconds from users. Pages also supports HTTP/3, QUIC, image compression, and SSL out of the box.</span><!--astro:end--></astro-island> </p> </div> </div> </div> </div> </section> <script>
(() => {
const GLOBAL_KEY = '__cfBenefitsEqualizeInit';
const SECTION_SELECTOR = '[data-equalize-all-rows="true"]';
const CARD_SELECTOR = '[data-equalize-card="true"]';
const equalizeSection = (section) => {
const cards = Array.from(section.querySelectorAll(CARD_SELECTOR));
if (cards.length === 0) return;
for (const card of cards) {
card.style.minHeight = '';
}
let maxHeight = 0;
for (const card of cards) {
maxHeight = Math.max(maxHeight, card.getBoundingClientRect().height);
}
if (maxHeight <= 0) return;
const targetHeight = `${Math.ceil(maxHeight)}px`;
for (const card of cards) {
card.style.minHeight = targetHeight;
}
};
const run = () => {
const sections = document.querySelectorAll(SECTION_SELECTOR);
for (const section of sections) {
equalizeSection(section);
}
};
const schedule = () => requestAnimationFrame(run);
if (!(GLOBAL_KEY in window)) {
window[GLOBAL_KEY] = true;
window.addEventListener('resize', schedule, { passive: true });
window.addEventListener('load', schedule, { once: true });
document.addEventListener('astro:page-load', schedule);
document.addEventListener('astro:after-swap', schedule);
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', schedule, { once: true });
} else {
schedule();
}
})();
</script> <section class="animate-in mx-auto fade-in transition-opacity delay-100 duration-2000 ease-out relative z-0 bg-background-100 -mt-0.5 flex w-full flex-col overflow-hidden md:hidden "> <svg class="corner-line top-line absolute top-0 left-1/2 h-1 -translate-x-1/2 transition-opacity duration-2000 ease-out w-[200dvw]" preserveAspectRatio="none" aria-hidden="true"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> <div class="relative mb-2 h-20 w-full"> <svg class="pointer-events-none absolute top-0 left-0 z-0 h-full w-full" data-testid="rf__background" aria-hidden="true" style="stroke-dasharray:none;stroke-dashoffset:0"><pattern id="pattern-hxlvne" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--color-decor-dots-100)" style="stroke-dasharray:none;stroke-dashoffset:0"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-hxlvne)" style="stroke-dasharray:none;stroke-dashoffset:0"></rect></svg> </div> <svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-2000 ease-out" preserveAspectRatio="none"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> </section> </div><div data-product-section="diagram" class="contents"> <section id="pages-how-it-works" data-cms-path="products.pages.sections.diagram" class="px-section mx-auto flex w-full max-w-[1200px] flex-col items-center justify-center gap-4 text-center xl:px-0!"><h3 class="text-foreground-100 text-balance" data-cms-path="products.pages.sections.diagram.title" data-cms-type="text">Full-stack application development with Cloudflare Pages<astro-island uid="Z2rnU6B" prefix="r117" component-url="/_astro/index.DW7gI7Sc.js" component-export="CopyLink" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"sectionId":[0,"pages-how-it-works"]}" ssr client="idle" opts="{"name":"CopyLink","value":true}" await-children><button class="relative hidden px-2 items-center justify-center text-foreground-100/40 active:scale-90 hover:text-foreground-100/70 shrink-0 cursor-pointer opacity-0 group-hover:opacity-100 duration-200 ease-out transition-all md:hidden py-1 translate-y-0.5 -translate-x-2" aria-hidden="true" title="Copy link to clipboard" tabindex="-1" type="button"><svg viewBox="0 0 24 24" class="inline-block shrink-0 size-6 transition-all select-none" aria-hidden="true"><use href="/icons.svg#link"></use></svg><svg viewBox="0 0 24 24" class="inline-block shrink-0 absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 transition-all select-none size-6 scale-0 opacity-0" aria-hidden="true"><use href="/icons.svg#checkmark"></use></svg></button><!--astro:end--></astro-island></h3><p class="text-foreground-100/70 max-w-[720px] text-pretty" data-cms-path="products.pages.sections.diagram.subtitle" data-cms-type="text">Build, collaborate, test, and deploy full-stack applications quickly</p><div class="relative mt-6 flex h-auto max-w-full items-center justify-center p-6 w-full px-0"><div class="relative w-full border" data-astro-cid-ssrvywfa> <div class="pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;top:-7px;key:top-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;top:-7px;key:top-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;bottom:-7px;key:bottom-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;key:bottom-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <div class="relative flex w-full flex-col items-center justify-center gap-6 overflow-hidden md:flex-row md:items-start md:gap-12" data-astro-cid-ssrvywfa> <div class="bg-background-100 border-accent-100 before:bg-background-100/70 absolute bottom-4 left-4 z-10 flex origin-bottom-left scale-75 flex-col border border-dashed px-3 py-2 text-sm backdrop-blur before:absolute before:inset-0 before:-z-10 md:bottom-8 md:left-8 md:scale-90 lg:scale-100" data-astro-cid-ssrvywfa> <div class="flex items-center" data-astro-cid-ssrvywfa> <svg class="arrow-container" width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-ssrvywfa> <defs data-astro-cid-ssrvywfa> <clipPath id="arrowhead-clip" data-astro-cid-ssrvywfa> <rect x="31" y="0" width="0" height="40" data-astro-cid-ssrvywfa> <animate attributeName="width" values="0;7;7;7;0;0" dur="4s" repeatCount="indefinite" keyTimes="0;0.35;0.425;0.975;1;1" data-astro-cid-ssrvywfa></animate> <animate attributeName="x" values="31;24;24;24;31;31" dur="4s" repeatCount="indefinite" keyTimes="0;0.35;0.425;0.975;1;1" data-astro-cid-ssrvywfa></animate> </rect> </clipPath> </defs> <path class="animated-arrow-line" d="M9 20H31" stroke="var(--color-accent-100)" stroke-width="1.5" stroke-linecap="round" fill="none" data-astro-cid-ssrvywfa></path> <path class="animated-arrow-head" clip-path="url(#arrowhead-clip)" d="M31.5303 20.5303C31.8232 20.2374 31.8232 19.7626 31.5303 19.4697L26.7574 14.6967C26.4645 14.4038 25.9896 14.4038 25.6967 14.6967C25.4038 14.9896 25.4038 15.4645 25.6967 15.7574L29.9393 20L25.6967 24.2426C25.4038 24.5355 25.4038 25.0104 25.6967 25.3033C25.9896 25.5962 26.4645 25.5962 26.7574 25.3033L31.5303 20.5303Z" fill="var(--color-accent-100)" data-astro-cid-ssrvywfa></path> </svg> <span class="text-accent-100 font-mono text-sm font-semibold" data-astro-cid-ssrvywfa>Faster</span> </div> <div class="flex items-center" data-astro-cid-ssrvywfa> <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-ssrvywfa> <path class="reverse-animated-dash" d="M31 20H9" stroke="var(--color-accent-100)" stroke-width="1.5" stroke-linecap="round" stroke-dasharray="3 5" data-astro-cid-ssrvywfa></path> </svg> <span class="text-accent-100 font-mono text-sm font-semibold" data-astro-cid-ssrvywfa>Slower</span> </div> <span class="bg-accent-100 pointer-events-none absolute top-[-1.5px] left-[-1.5px] h-[2px] w-4" data-astro-cid-ssrvywfa></span> <span class="bg-accent-100 pointer-events-none absolute top-[-1.5px] left-[-1.5px] h-4 w-[2px]" data-astro-cid-ssrvywfa></span> <span class="bg-accent-100 pointer-events-none absolute top-[-1.5px] right-[-1.5px] h-[2px] w-4" data-astro-cid-ssrvywfa></span> <span class="bg-accent-100 pointer-events-none absolute top-[-1.5px] right-[-1.5px] h-4 w-[2px]" data-astro-cid-ssrvywfa></span> <span class="bg-accent-100 pointer-events-none absolute bottom-[-1.5px] left-[-1.5px] h-[2px] w-4" data-astro-cid-ssrvywfa></span> <span class="bg-accent-100 pointer-events-none absolute bottom-[-1.5px] left-[-1.5px] h-4 w-[2px]" data-astro-cid-ssrvywfa></span> <span class="bg-accent-100 pointer-events-none absolute right-[-1.5px] bottom-[-1.5px] h-[2px] w-4" data-astro-cid-ssrvywfa></span> <span class="bg-accent-100 pointer-events-none absolute right-[-1.5px] bottom-[-1.5px] h-4 w-[2px]" data-astro-cid-ssrvywfa></span> </div> <div class="globe-container flex w-full items-center justify-center" data-astro-cid-ssrvywfa> <svg class="globe-rotation" width="914" height="100%" viewBox="0 0 914 522" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-astro-cid-ssrvywfa> <rect width="914" height="522" class="globe-background" data-astro-cid-ssrvywfa></rect> <path class="animated-dash" d="M519 112.5C564 150.5 623 276.5 607.5 396" stroke="var(--color-accent-100)" stroke-width="1.5" stroke-linecap="round" stroke-dasharray="3 5" data-astro-cid-ssrvywfa></path> <path class="animated-dash" d="M392 266C457 268.5 574.5 324 603.944 396" stroke="var(--color-accent-100)" stroke-width="1.5" stroke-linecap="round" stroke-dasharray="3 5" data-astro-cid-ssrvywfa></path> <rect x="494.5" y="84.5" width="47" height="47" rx="23.5" fill="var(--color-background-200)" data-astro-cid-ssrvywfa></rect> <rect x="494.5" y="84.5" width="47" height="47" rx="23.5" stroke="var(--color-accent-100)" data-astro-cid-ssrvywfa></rect> <mask id="path-5-inside-1_2717_132" fill="var(--color-background-100)" data-astro-cid-ssrvywfa> <path d="M518 98C518.53 98 519.129 98.0298 519.795 98.0893C520.462 98.1488 521.129 98.253 521.795 98.4018C522.462 98.5506 523.098 98.7478 523.705 98.9933C524.311 99.2388 524.811 99.5551 525.205 99.942C525.439 100.165 525.629 100.407 525.773 100.667C525.917 100.928 525.992 101.229 526 101.571V114.429C526 114.763 525.928 115.061 525.784 115.321C525.64 115.582 525.447 115.827 525.205 116.058C524.811 116.438 524.314 116.75 523.716 116.996C523.117 117.241 522.481 117.442 521.807 117.598C521.133 117.754 520.462 117.859 519.795 117.911C519.129 117.963 518.53 117.993 518 118C517.47 118 516.871 117.97 516.205 117.911C515.538 117.851 514.871 117.747 514.205 117.598C513.538 117.449 512.902 117.252 512.295 117.007C511.689 116.761 511.189 116.445 510.795 116.058C510.561 115.835 510.371 115.593 510.227 115.333C510.083 115.072 510.008 114.771 510 114.429V101.571C510 101.237 510.072 100.939 510.216 100.679C510.36 100.418 510.553 100.173 510.795 99.942C511.189 99.5625 511.686 99.25 512.284 99.0045C512.883 98.7589 513.519 98.558 514.193 98.4018C514.867 98.2455 515.538 98.1414 516.205 98.0893C516.871 98.0372 517.47 98.0074 518 98ZM518 99.4286C517.614 99.4286 517.212 99.4397 516.795 99.4621C516.379 99.4844 515.958 99.529 515.534 99.596C515.11 99.6629 514.693 99.7448 514.284 99.8415C513.875 99.9382 513.489 100.061 513.125 100.21C513.011 100.254 512.86 100.321 512.67 100.411C512.481 100.5 512.295 100.608 512.114 100.734C511.932 100.861 511.777 100.991 511.648 101.125C511.519 101.259 511.455 101.408 511.455 101.571C511.455 101.631 511.466 101.687 511.489 101.739C511.511 101.791 511.542 101.843 511.58 101.895C511.739 102.133 511.966 102.342 512.261 102.52C512.557 102.699 512.894 102.855 513.273 102.989C513.652 103.123 514.053 103.234 514.477 103.324C514.902 103.413 515.326 103.487 515.75 103.547C516.174 103.606 516.58 103.647 516.966 103.67C517.352 103.692 517.697 103.707 518 103.714C518.303 103.714 518.648 103.703 519.034 103.681C519.42 103.658 519.826 103.618 520.25 103.558C520.674 103.499 521.098 103.424 521.523 103.335C521.947 103.246 522.345 103.13 522.716 102.989C523.087 102.847 523.424 102.691 523.727 102.52C524.03 102.349 524.261 102.141 524.42 101.895C524.458 101.843 524.489 101.791 524.511 101.739C524.534 101.687 524.545 101.631 524.545 101.571C524.545 101.423 524.481 101.278 524.352 101.136C524.223 100.995 524.068 100.861 523.886 100.734C523.705 100.608 523.519 100.504 523.33 100.422C523.14 100.34 522.989 100.269 522.875 100.21C522.511 100.068 522.125 99.9494 521.716 99.8527C521.307 99.756 520.894 99.6741 520.477 99.6071C520.061 99.5402 519.64 99.4955 519.216 99.4732C518.792 99.4509 518.386 99.436 518 99.4286ZM518 116.571C518.386 116.571 518.788 116.56 519.205 116.538C519.621 116.516 520.045 116.471 520.477 116.404C520.909 116.337 521.326 116.255 521.727 116.158C522.129 116.062 522.511 115.939 522.875 115.79C522.989 115.746 523.14 115.679 523.33 115.589C523.519 115.5 523.705 115.392 523.886 115.266C524.068 115.139 524.223 115.009 524.352 114.875C524.481 114.741 524.545 114.592 524.545 114.429V112.263C524.114 112.546 523.625 112.781 523.08 112.967C522.534 113.153 521.97 113.301 521.386 113.413C520.803 113.525 520.22 113.603 519.636 113.647C519.053 113.692 518.508 113.714 518 113.714C517.492 113.714 516.947 113.692 516.364 113.647C515.78 113.603 515.197 113.525 514.614 113.413C514.03 113.301 513.466 113.153 512.92 112.967C512.375 112.781 511.886 112.546 511.455 112.263V114.429C511.455 114.585 511.519 114.734 511.648 114.875C511.777 115.016 511.932 115.147 512.114 115.266C512.295 115.385 512.481 115.489 512.67 115.578C512.86 115.667 513.011 115.738 513.125 115.79C513.481 115.939 513.864 116.062 514.273 116.158C514.682 116.255 515.098 116.333 515.523 116.393C515.947 116.452 516.367 116.497 516.784 116.527C517.201 116.557 517.606 116.571 518 116.571ZM518 112.286C518.386 112.286 518.788 112.275 519.205 112.252C519.621 112.23 520.045 112.185 520.477 112.118C520.909 112.051 521.326 111.969 521.727 111.873C522.129 111.776 522.511 111.653 522.875 111.504C522.989 111.46 523.14 111.393 523.33 111.304C523.519 111.214 523.705 111.106 523.886 110.98C524.068 110.853 524.223 110.723 524.352 110.589C524.481 110.455 524.545 110.307 524.545 110.143V107.978C524.114 108.26 523.625 108.495 523.08 108.681C522.534 108.867 521.97 109.016 521.386 109.127C520.803 109.239 520.22 109.317 519.636 109.362C519.053 109.406 518.508 109.429 518 109.429C517.492 109.429 516.947 109.406 516.364 109.362C515.78 109.317 515.197 109.239 514.614 109.127C514.03 109.016 513.466 108.867 512.92 108.681C512.375 108.495 511.886 108.26 511.455 107.978V110.143C511.455 110.299 511.519 110.448 511.648 110.589C511.777 110.731 511.932 110.861 512.114 110.98C512.295 111.099 512.481 111.203 512.67 111.292C512.86 111.382 513.011 111.452 513.125 111.504C513.481 111.653 513.864 111.776 514.273 111.873C514.682 111.969 515.098 112.048 515.523 112.107C515.947 112.167 516.367 112.211 516.784 112.241C517.201 112.271 517.606 112.286 518 112.286ZM518 108C518.394 108 518.799 107.989 519.216 107.967C519.633 107.944 520.049 107.9 520.466 107.833C520.883 107.766 521.299 107.684 521.716 107.587C522.133 107.49 522.519 107.368 522.875 107.219C522.989 107.174 523.14 107.107 523.33 107.018C523.519 106.929 523.705 106.821 523.886 106.694C524.068 106.568 524.223 106.438 524.352 106.304C524.481 106.17 524.545 106.021 524.545 105.857V103.692C524.114 103.967 523.629 104.198 523.091 104.384C522.553 104.57 521.989 104.719 521.398 104.83C520.807 104.942 520.22 105.02 519.636 105.065C519.053 105.109 518.508 105.135 518 105.143C517.492 105.143 516.947 105.121 516.364 105.076C515.78 105.031 515.197 104.949 514.614 104.83C514.03 104.711 513.466 104.563 512.92 104.384C512.375 104.205 511.886 103.975 511.455 103.692V105.857C511.455 106.006 511.519 106.151 511.648 106.292C511.777 106.434 511.932 106.568 512.114 106.694C512.295 106.821 512.481 106.925 512.67 107.007C512.86 107.089 513.011 107.159 513.125 107.219C513.489 107.368 513.875 107.49 514.284 107.587C514.693 107.684 515.106 107.762 515.523 107.821C515.939 107.881 516.36 107.926 516.784 107.955C517.208 107.985 517.614 108 518 108Z" data-astro-cid-ssrvywfa></path> </mask> <path d="M518 98C518.53 98 519.129 98.0298 519.795 98.0893C520.462 98.1488 521.129 98.253 521.795 98.4018C522.462 98.5506 523.098 98.7478 523.705 98.9933C524.311 99.2388 524.811 99.5551 525.205 99.942C525.439 100.165 525.629 100.407 525.773 100.667C525.917 100.928 525.992 101.229 526 101.571V114.429C526 114.763 525.928 115.061 525.784 115.321C525.64 115.582 525.447 115.827 525.205 116.058C524.811 116.438 524.314 116.75 523.716 116.996C523.117 117.241 522.481 117.442 521.807 117.598C521.133 117.754 520.462 117.859 519.795 117.911C519.129 117.963 518.53 117.993 518 118C517.47 118 516.871 117.97 516.205 117.911C515.538 117.851 514.871 117.747 514.205 117.598C513.538 117.449 512.902 117.252 512.295 117.007C511.689 116.761 511.189 116.445 510.795 116.058C510.561 115.835 510.371 115.593 510.227 115.333C510.083 115.072 510.008 114.771 510 114.429V101.571C510 101.237 510.072 100.939 510.216 100.679C510.36 100.418 510.553 100.173 510.795 99.942C511.189 99.5625 511.686 99.25 512.284 99.0045C512.883 98.7589 513.519 98.558 514.193 98.4018C514.867 98.2455 515.538 98.1414 516.205 98.0893C516.871 98.0372 517.47 98.0074 518 98ZM518 99.4286C517.614 99.4286 517.212 99.4397 516.795 99.4621C516.379 99.4844 515.958 99.529 515.534 99.596C515.11 99.6629 514.693 99.7448 514.284 99.8415C513.875 99.9382 513.489 100.061 513.125 100.21C513.011 100.254 512.86 100.321 512.67 100.411C512.481 100.5 512.295 100.608 512.114 100.734C511.932 100.861 511.777 100.991 511.648 101.125C511.519 101.259 511.455 101.408 511.455 101.571C511.455 101.631 511.466 101.687 511.489 101.739C511.511 101.791 511.542 101.843 511.58 101.895C511.739 102.133 511.966 102.342 512.261 102.52C512.557 102.699 512.894 102.855 513.273 102.989C513.652 103.123 514.053 103.234 514.477 103.324C514.902 103.413 515.326 103.487 515.75 103.547C516.174 103.606 516.58 103.647 516.966 103.67C517.352 103.692 517.697 103.707 518 103.714C518.303 103.714 518.648 103.703 519.034 103.681C519.42 103.658 519.826 103.618 520.25 103.558C520.674 103.499 521.098 103.424 521.523 103.335C521.947 103.246 522.345 103.13 522.716 102.989C523.087 102.847 523.424 102.691 523.727 102.52C524.03 102.349 524.261 102.141 524.42 101.895C524.458 101.843 524.489 101.791 524.511 101.739C524.534 101.687 524.545 101.631 524.545 101.571C524.545 101.423 524.481 101.278 524.352 101.136C524.223 100.995 524.068 100.861 523.886 100.734C523.705 100.608 523.519 100.504 523.33 100.422C523.14 100.34 522.989 100.269 522.875 100.21C522.511 100.068 522.125 99.9494 521.716 99.8527C521.307 99.756 520.894 99.6741 520.477 99.6071C520.061 99.5402 519.64 99.4955 519.216 99.4732C518.792 99.4509 518.386 99.436 518 99.4286ZM518 116.571C518.386 116.571 518.788 116.56 519.205 116.538C519.621 116.516 520.045 116.471 520.477 116.404C520.909 116.337 521.326 116.255 521.727 116.158C522.129 116.062 522.511 115.939 522.875 115.79C522.989 115.746 523.14 115.679 523.33 115.589C523.519 115.5 523.705 115.392 523.886 115.266C524.068 115.139 524.223 115.009 524.352 114.875C524.481 114.741 524.545 114.592 524.545 114.429V112.263C524.114 112.546 523.625 112.781 523.08 112.967C522.534 113.153 521.97 113.301 521.386 113.413C520.803 113.525 520.22 113.603 519.636 113.647C519.053 113.692 518.508 113.714 518 113.714C517.492 113.714 516.947 113.692 516.364 113.647C515.78 113.603 515.197 113.525 514.614 113.413C514.03 113.301 513.466 113.153 512.92 112.967C512.375 112.781 511.886 112.546 511.455 112.263V114.429C511.455 114.585 511.519 114.734 511.648 114.875C511.777 115.016 511.932 115.147 512.114 115.266C512.295 115.385 512.481 115.489 512.67 115.578C512.86 115.667 513.011 115.738 513.125 115.79C513.481 115.939 513.864 116.062 514.273 116.158C514.682 116.255 515.098 116.333 515.523 116.393C515.947 116.452 516.367 116.497 516.784 116.527C517.201 116.557 517.606 116.571 518 116.571ZM518 112.286C518.386 112.286 518.788 112.275 519.205 112.252C519.621 112.23 520.045 112.185 520.477 112.118C520.909 112.051 521.326 111.969 521.727 111.873C522.129 111.776 522.511 111.653 522.875 111.504C522.989 111.46 523.14 111.393 523.33 111.304C523.519 111.214 523.705 111.106 523.886 110.98C524.068 110.853 524.223 110.723 524.352 110.589C524.481 110.455 524.545 110.307 524.545 110.143V107.978C524.114 108.26 523.625 108.495 523.08 108.681C522.534 108.867 521.97 109.016 521.386 109.127C520.803 109.239 520.22 109.317 519.636 109.362C519.053 109.406 518.508 109.429 518 109.429C517.492 109.429 516.947 109.406 516.364 109.362C515.78 109.317 515.197 109.239 514.614 109.127C514.03 109.016 513.466 108.867 512.92 108.681C512.375 108.495 511.886 108.26 511.455 107.978V110.143C511.455 110.299 511.519 110.448 511.648 110.589C511.777 110.731 511.932 110.861 512.114 110.98C512.295 111.099 512.481 111.203 512.67 111.292C512.86 111.382 513.011 111.452 513.125 111.504C513.481 111.653 513.864 111.776 514.273 111.873C514.682 111.969 515.098 112.048 515.523 112.107C515.947 112.167 516.367 112.211 516.784 112.241C517.201 112.271 517.606 112.286 518 112.286ZM518 108C518.394 108 518.799 107.989 519.216 107.967C519.633 107.944 520.049 107.9 520.466 107.833C520.883 107.766 521.299 107.684 521.716 107.587C522.133 107.49 522.519 107.368 522.875 107.219C522.989 107.174 523.14 107.107 523.33 107.018C523.519 106.929 523.705 106.821 523.886 106.694C524.068 106.568 524.223 106.438 524.352 106.304C524.481 106.17 524.545 106.021 524.545 105.857V103.692C524.114 103.967 523.629 104.198 523.091 104.384C522.553 104.57 521.989 104.719 521.398 104.83C520.807 104.942 520.22 105.02 519.636 105.065C519.053 105.109 518.508 105.135 518 105.143C517.492 105.143 516.947 105.121 516.364 105.076C515.78 105.031 515.197 104.949 514.614 104.83C514.03 104.711 513.466 104.563 512.92 104.384C512.375 104.205 511.886 103.975 511.455 103.692V105.857C511.455 106.006 511.519 106.151 511.648 106.292C511.777 106.434 511.932 106.568 512.114 106.694C512.295 106.821 512.481 106.925 512.67 107.007C512.86 107.089 513.011 107.159 513.125 107.219C513.489 107.368 513.875 107.49 514.284 107.587C514.693 107.684 515.106 107.762 515.523 107.821C515.939 107.881 516.36 107.926 516.784 107.955C517.208 107.985 517.614 108 518 108Z" fill="var(--color-accent-100)" stroke="var(--color-background-200)" stroke-width="0.5" data-astro-cid-ssrvywfa></path> <rect x="477" y="136" width="81" height="34" rx="4" fill="var(--color-background-200)" data-astro-cid-ssrvywfa></rect> <rect x="477" y="136" width="81" height="34" rx="4" stroke="var(--color-accent-100)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1 4" data-astro-cid-ssrvywfa></rect> <path d="M489.826 155.2L490.974 154.752C491.357 156.208 492.192 156.936 493.48 156.936C494.012 156.936 494.465 156.791 494.838 156.502C495.23 156.213 495.426 155.83 495.426 155.354C495.426 154.869 495.267 154.5 494.95 154.248C494.633 153.996 494.073 153.767 493.27 153.562C492.421 153.347 491.739 153.025 491.226 152.596C490.703 152.157 490.442 151.527 490.442 150.706C490.442 149.959 490.713 149.339 491.254 148.844C491.805 148.34 492.533 148.088 493.438 148.088C494.194 148.088 494.833 148.284 495.356 148.676C495.888 149.059 496.271 149.563 496.504 150.188L495.426 150.734C494.987 149.754 494.325 149.264 493.438 149.264C492.897 149.264 492.467 149.399 492.15 149.67C491.833 149.931 491.674 150.3 491.674 150.776C491.674 151.093 491.767 151.359 491.954 151.574C492.131 151.761 492.36 151.915 492.64 152.036C492.929 152.157 493.363 152.293 493.942 152.442C494.875 152.694 495.557 153.011 495.986 153.394C496.415 153.767 496.639 154.365 496.658 155.186C496.658 156.101 496.355 156.819 495.748 157.342C495.141 157.855 494.385 158.112 493.48 158.112C492.519 158.112 491.716 157.86 491.072 157.356C490.428 156.852 490.013 156.133 489.826 155.2ZM499.782 155.662V152.008H497.906V150.944H499.782V148.83L500.958 148.088V150.944H503.422V152.008H500.958V155.62C500.958 156.572 501.364 157.048 502.176 157.048C502.782 157.048 503.361 156.768 503.912 156.208L504.346 157.202C503.739 157.809 503.016 158.112 502.176 158.112C501.392 158.112 500.794 157.907 500.384 157.496C499.982 157.085 499.782 156.474 499.782 155.662ZM506.797 157.048C506.153 156.339 505.831 155.48 505.831 154.472C505.831 153.464 506.153 152.605 506.797 151.896C507.441 151.187 508.277 150.832 509.303 150.832C510.33 150.832 511.165 151.187 511.809 151.896C512.453 152.605 512.775 153.464 512.775 154.472C512.775 155.48 512.453 156.339 511.809 157.048C511.165 157.757 510.33 158.112 509.303 158.112C508.277 158.112 507.441 157.757 506.797 157.048ZM510.941 156.306C511.361 155.802 511.571 155.191 511.571 154.472C511.571 153.753 511.361 153.147 510.941 152.652C510.531 152.148 509.985 151.896 509.303 151.896C508.622 151.896 508.071 152.148 507.651 152.652C507.241 153.147 507.035 153.753 507.035 154.472C507.035 155.191 507.241 155.802 507.651 156.306C508.071 156.801 508.622 157.048 509.303 157.048C509.985 157.048 510.531 156.801 510.941 156.306ZM514.233 158V150.944H515.409V152.246C516.006 151.303 516.874 150.832 518.013 150.832C518.713 150.832 519.264 151.037 519.665 151.448C520.076 151.849 520.3 152.428 520.337 153.184H519.161C519.058 152.325 518.606 151.896 517.803 151.896C517.122 151.896 516.552 152.213 516.095 152.848C515.638 153.473 515.409 154.341 515.409 155.452V158H514.233ZM522.369 155.97C522.369 155.214 522.644 154.64 523.195 154.248C523.755 153.856 524.543 153.66 525.561 153.66H526.989V153.352C526.989 152.857 526.844 152.493 526.555 152.26C526.265 152.017 525.869 151.896 525.365 151.896C524.973 151.896 524.623 152.008 524.315 152.232C524.016 152.447 523.811 152.736 523.699 153.1L522.663 152.82C522.821 152.213 523.148 151.733 523.643 151.378C524.137 151.014 524.711 150.832 525.365 150.832C526.251 150.832 526.937 151.061 527.423 151.518C527.917 151.966 528.165 152.643 528.165 153.548V158H527.213L527.045 157.006C526.821 157.333 526.48 157.599 526.023 157.804C525.565 158.009 525.075 158.112 524.553 158.112C523.909 158.112 523.381 157.925 522.971 157.552C522.569 157.169 522.369 156.642 522.369 155.97ZM526.989 154.892V154.668H525.449C524.861 154.668 524.399 154.785 524.063 155.018C523.736 155.251 523.573 155.569 523.573 155.97C523.573 156.306 523.675 156.572 523.881 156.768C524.095 156.955 524.38 157.048 524.735 157.048C525.304 157.048 525.822 156.861 526.289 156.488C526.755 156.115 526.989 155.583 526.989 154.892ZM530.07 158.644C530.07 158 530.313 157.496 530.798 157.132C530.462 156.861 530.294 156.502 530.294 156.054C530.294 155.737 530.383 155.452 530.56 155.2C530.747 154.948 531.004 154.761 531.33 154.64C531.041 154.257 530.896 153.777 530.896 153.198C530.896 152.489 531.13 151.919 531.596 151.49C532.063 151.051 532.66 150.832 533.388 150.832C533.883 150.832 534.345 150.953 534.774 151.196L536.244 150.44L536.776 151.406L535.586 152.022C535.782 152.358 535.88 152.75 535.88 153.198C535.88 153.907 535.647 154.481 535.18 154.92C534.723 155.349 534.126 155.564 533.388 155.564C532.903 155.564 532.469 155.466 532.086 155.27C531.657 155.438 531.442 155.681 531.442 155.998C531.442 156.39 531.774 156.586 532.436 156.586H534.27C535.026 156.586 535.61 156.754 536.02 157.09C536.431 157.417 536.636 157.897 536.636 158.532C536.636 159.353 536.314 159.965 535.67 160.366C535.036 160.767 534.256 160.968 533.332 160.968C532.296 160.968 531.494 160.767 530.924 160.366C530.355 159.965 530.07 159.391 530.07 158.644ZM534.354 154.192C534.606 153.949 534.732 153.618 534.732 153.198C534.732 152.778 534.606 152.447 534.354 152.204C534.102 151.961 533.78 151.84 533.388 151.84C532.996 151.84 532.674 151.966 532.422 152.218C532.17 152.461 532.044 152.787 532.044 153.198C532.044 153.609 532.17 153.94 532.422 154.192C532.674 154.435 532.996 154.556 533.388 154.556C533.78 154.556 534.102 154.435 534.354 154.192ZM535.432 158.644C535.432 157.944 535.036 157.594 534.242 157.594H532.576C532.268 157.594 532.026 157.575 531.848 157.538C531.447 157.743 531.246 158.098 531.246 158.602C531.246 159.013 531.433 159.335 531.806 159.568C532.18 159.811 532.688 159.932 533.332 159.932C533.995 159.932 534.508 159.815 534.872 159.582C535.246 159.358 535.432 159.045 535.432 158.644ZM537.87 154.472C537.87 153.436 538.178 152.573 538.794 151.882C539.419 151.182 540.236 150.832 541.244 150.832C542.271 150.832 543.083 151.154 543.68 151.798C544.287 152.442 544.59 153.254 544.59 154.234V154.724H539.074C539.111 155.424 539.326 155.989 539.718 156.418C540.11 156.838 540.619 157.048 541.244 157.048C542.252 157.048 543.008 156.581 543.512 155.648L544.45 156.138C543.769 157.454 542.7 158.112 541.244 158.112C540.245 158.112 539.433 157.767 538.808 157.076C538.183 156.385 537.87 155.517 537.87 154.472ZM539.158 153.66H543.344C543.241 153.1 543.008 152.666 542.644 152.358C542.28 152.05 541.813 151.896 541.244 151.896C540.693 151.896 540.236 152.05 539.872 152.358C539.517 152.666 539.279 153.1 539.158 153.66Z" fill="var(--color-accent-100)" data-astro-cid-ssrvywfa></path> <path class="reverse-animated-dash" d="M617 387C772.23 178.123 764.031 136.158 703.907 172.936" stroke="var(--color-accent-100)" stroke-width="1.5" stroke-linecap="round" stroke-dasharray="3 5" data-astro-cid-ssrvywfa></path> <rect x="679.5" y="141.5" width="47" height="47" rx="23.5" fill="var(--color-background-200)" data-astro-cid-ssrvywfa></rect> <rect x="679.5" y="141.5" width="47" height="47" rx="23.5" stroke="var(--color-accent-100)" data-astro-cid-ssrvywfa></rect> <mask id="path-10-inside-2_2717_132" fill="var(--color-background-100)" data-astro-cid-ssrvywfa> <path d="M703 155C703.53 155 704.129 155.03 704.795 155.089C705.462 155.149 706.129 155.253 706.795 155.402C707.462 155.551 708.098 155.748 708.705 155.993C709.311 156.239 709.811 156.555 710.205 156.942C710.439 157.165 710.629 157.407 710.773 157.667C710.917 157.928 710.992 158.229 711 158.571V171.429C711 171.763 710.928 172.061 710.784 172.321C710.64 172.582 710.447 172.827 710.205 173.058C709.811 173.438 709.314 173.75 708.716 173.996C708.117 174.241 707.481 174.442 706.807 174.598C706.133 174.754 705.462 174.859 704.795 174.911C704.129 174.963 703.53 174.993 703 175C702.47 175 701.871 174.97 701.205 174.911C700.538 174.851 699.871 174.747 699.205 174.598C698.538 174.449 697.902 174.252 697.295 174.007C696.689 173.761 696.189 173.445 695.795 173.058C695.561 172.835 695.371 172.593 695.227 172.333C695.083 172.072 695.008 171.771 695 171.429V158.571C695 158.237 695.072 157.939 695.216 157.679C695.36 157.418 695.553 157.173 695.795 156.942C696.189 156.563 696.686 156.25 697.284 156.004C697.883 155.759 698.519 155.558 699.193 155.402C699.867 155.246 700.538 155.141 701.205 155.089C701.871 155.037 702.47 155.007 703 155ZM703 156.429C702.614 156.429 702.212 156.44 701.795 156.462C701.379 156.484 700.958 156.529 700.534 156.596C700.11 156.663 699.693 156.745 699.284 156.842C698.875 156.938 698.489 157.061 698.125 157.21C698.011 157.254 697.86 157.321 697.67 157.411C697.481 157.5 697.295 157.608 697.114 157.734C696.932 157.861 696.777 157.991 696.648 158.125C696.519 158.259 696.455 158.408 696.455 158.571C696.455 158.631 696.466 158.687 696.489 158.739C696.511 158.791 696.542 158.843 696.58 158.895C696.739 159.133 696.966 159.342 697.261 159.52C697.557 159.699 697.894 159.855 698.273 159.989C698.652 160.123 699.053 160.234 699.477 160.324C699.902 160.413 700.326 160.487 700.75 160.547C701.174 160.606 701.58 160.647 701.966 160.67C702.352 160.692 702.697 160.707 703 160.714C703.303 160.714 703.648 160.703 704.034 160.681C704.42 160.658 704.826 160.618 705.25 160.558C705.674 160.499 706.098 160.424 706.523 160.335C706.947 160.246 707.345 160.13 707.716 159.989C708.087 159.847 708.424 159.691 708.727 159.52C709.03 159.349 709.261 159.141 709.42 158.895C709.458 158.843 709.489 158.791 709.511 158.739C709.534 158.687 709.545 158.631 709.545 158.571C709.545 158.423 709.481 158.278 709.352 158.136C709.223 157.995 709.068 157.861 708.886 157.734C708.705 157.608 708.519 157.504 708.33 157.422C708.14 157.34 707.989 157.269 707.875 157.21C707.511 157.068 707.125 156.949 706.716 156.853C706.307 156.756 705.894 156.674 705.477 156.607C705.061 156.54 704.64 156.496 704.216 156.473C703.792 156.451 703.386 156.436 703 156.429ZM703 173.571C703.386 173.571 703.788 173.56 704.205 173.538C704.621 173.516 705.045 173.471 705.477 173.404C705.909 173.337 706.326 173.255 706.727 173.158C707.129 173.062 707.511 172.939 707.875 172.79C707.989 172.746 708.14 172.679 708.33 172.589C708.519 172.5 708.705 172.392 708.886 172.266C709.068 172.139 709.223 172.009 709.352 171.875C709.481 171.741 709.545 171.592 709.545 171.429V169.263C709.114 169.546 708.625 169.781 708.08 169.967C707.534 170.153 706.97 170.301 706.386 170.413C705.803 170.525 705.22 170.603 704.636 170.647C704.053 170.692 703.508 170.714 703 170.714C702.492 170.714 701.947 170.692 701.364 170.647C700.78 170.603 700.197 170.525 699.614 170.413C699.03 170.301 698.466 170.153 697.92 169.967C697.375 169.781 696.886 169.546 696.455 169.263V171.429C696.455 171.585 696.519 171.734 696.648 171.875C696.777 172.016 696.932 172.147 697.114 172.266C697.295 172.385 697.481 172.489 697.67 172.578C697.86 172.667 698.011 172.738 698.125 172.79C698.481 172.939 698.864 173.062 699.273 173.158C699.682 173.255 700.098 173.333 700.523 173.393C700.947 173.452 701.367 173.497 701.784 173.527C702.201 173.557 702.606 173.571 703 173.571ZM703 169.286C703.386 169.286 703.788 169.275 704.205 169.252C704.621 169.23 705.045 169.185 705.477 169.118C705.909 169.051 706.326 168.969 706.727 168.873C707.129 168.776 707.511 168.653 707.875 168.504C707.989 168.46 708.14 168.393 708.33 168.304C708.519 168.214 708.705 168.106 708.886 167.98C709.068 167.853 709.223 167.723 709.352 167.589C709.481 167.455 709.545 167.307 709.545 167.143V164.978C709.114 165.26 708.625 165.495 708.08 165.681C707.534 165.867 706.97 166.016 706.386 166.127C705.803 166.239 705.22 166.317 704.636 166.362C704.053 166.406 703.508 166.429 703 166.429C702.492 166.429 701.947 166.406 701.364 166.362C700.78 166.317 700.197 166.239 699.614 166.127C699.03 166.016 698.466 165.867 697.92 165.681C697.375 165.495 696.886 165.26 696.455 164.978V167.143C696.455 167.299 696.519 167.448 696.648 167.589C696.777 167.731 696.932 167.861 697.114 167.98C697.295 168.099 697.481 168.203 697.67 168.292C697.86 168.382 698.011 168.452 698.125 168.504C698.481 168.653 698.864 168.776 699.273 168.873C699.682 168.969 700.098 169.048 700.523 169.107C700.947 169.167 701.367 169.211 701.784 169.241C702.201 169.271 702.606 169.286 703 169.286ZM703 165C703.394 165 703.799 164.989 704.216 164.967C704.633 164.944 705.049 164.9 705.466 164.833C705.883 164.766 706.299 164.684 706.716 164.587C707.133 164.49 707.519 164.368 707.875 164.219C707.989 164.174 708.14 164.107 708.33 164.018C708.519 163.929 708.705 163.821 708.886 163.694C709.068 163.568 709.223 163.438 709.352 163.304C709.481 163.17 709.545 163.021 709.545 162.857V160.692C709.114 160.967 708.629 161.198 708.091 161.384C707.553 161.57 706.989 161.719 706.398 161.83C705.807 161.942 705.22 162.02 704.636 162.065C704.053 162.109 703.508 162.135 703 162.143C702.492 162.143 701.947 162.121 701.364 162.076C700.78 162.031 700.197 161.949 699.614 161.83C699.03 161.711 698.466 161.563 697.92 161.384C697.375 161.205 696.886 160.975 696.455 160.692V162.857C696.455 163.006 696.519 163.151 696.648 163.292C696.777 163.434 696.932 163.568 697.114 163.694C697.295 163.821 697.481 163.925 697.67 164.007C697.86 164.089 698.011 164.159 698.125 164.219C698.489 164.368 698.875 164.49 699.284 164.587C699.693 164.684 700.106 164.762 700.523 164.821C700.939 164.881 701.36 164.926 701.784 164.955C702.208 164.985 702.614 165 703 165Z" data-astro-cid-ssrvywfa></path> </mask> <path d="M703 155C703.53 155 704.129 155.03 704.795 155.089C705.462 155.149 706.129 155.253 706.795 155.402C707.462 155.551 708.098 155.748 708.705 155.993C709.311 156.239 709.811 156.555 710.205 156.942C710.439 157.165 710.629 157.407 710.773 157.667C710.917 157.928 710.992 158.229 711 158.571V171.429C711 171.763 710.928 172.061 710.784 172.321C710.64 172.582 710.447 172.827 710.205 173.058C709.811 173.438 709.314 173.75 708.716 173.996C708.117 174.241 707.481 174.442 706.807 174.598C706.133 174.754 705.462 174.859 704.795 174.911C704.129 174.963 703.53 174.993 703 175C702.47 175 701.871 174.97 701.205 174.911C700.538 174.851 699.871 174.747 699.205 174.598C698.538 174.449 697.902 174.252 697.295 174.007C696.689 173.761 696.189 173.445 695.795 173.058C695.561 172.835 695.371 172.593 695.227 172.333C695.083 172.072 695.008 171.771 695 171.429V158.571C695 158.237 695.072 157.939 695.216 157.679C695.36 157.418 695.553 157.173 695.795 156.942C696.189 156.563 696.686 156.25 697.284 156.004C697.883 155.759 698.519 155.558 699.193 155.402C699.867 155.246 700.538 155.141 701.205 155.089C701.871 155.037 702.47 155.007 703 155ZM703 156.429C702.614 156.429 702.212 156.44 701.795 156.462C701.379 156.484 700.958 156.529 700.534 156.596C700.11 156.663 699.693 156.745 699.284 156.842C698.875 156.938 698.489 157.061 698.125 157.21C698.011 157.254 697.86 157.321 697.67 157.411C697.481 157.5 697.295 157.608 697.114 157.734C696.932 157.861 696.777 157.991 696.648 158.125C696.519 158.259 696.455 158.408 696.455 158.571C696.455 158.631 696.466 158.687 696.489 158.739C696.511 158.791 696.542 158.843 696.58 158.895C696.739 159.133 696.966 159.342 697.261 159.52C697.557 159.699 697.894 159.855 698.273 159.989C698.652 160.123 699.053 160.234 699.477 160.324C699.902 160.413 700.326 160.487 700.75 160.547C701.174 160.606 701.58 160.647 701.966 160.67C702.352 160.692 702.697 160.707 703 160.714C703.303 160.714 703.648 160.703 704.034 160.681C704.42 160.658 704.826 160.618 705.25 160.558C705.674 160.499 706.098 160.424 706.523 160.335C706.947 160.246 707.345 160.13 707.716 159.989C708.087 159.847 708.424 159.691 708.727 159.52C709.03 159.349 709.261 159.141 709.42 158.895C709.458 158.843 709.489 158.791 709.511 158.739C709.534 158.687 709.545 158.631 709.545 158.571C709.545 158.423 709.481 158.278 709.352 158.136C709.223 157.995 709.068 157.861 708.886 157.734C708.705 157.608 708.519 157.504 708.33 157.422C708.14 157.34 707.989 157.269 707.875 157.21C707.511 157.068 707.125 156.949 706.716 156.853C706.307 156.756 705.894 156.674 705.477 156.607C705.061 156.54 704.64 156.496 704.216 156.473C703.792 156.451 703.386 156.436 703 156.429ZM703 173.571C703.386 173.571 703.788 173.56 704.205 173.538C704.621 173.516 705.045 173.471 705.477 173.404C705.909 173.337 706.326 173.255 706.727 173.158C707.129 173.062 707.511 172.939 707.875 172.79C707.989 172.746 708.14 172.679 708.33 172.589C708.519 172.5 708.705 172.392 708.886 172.266C709.068 172.139 709.223 172.009 709.352 171.875C709.481 171.741 709.545 171.592 709.545 171.429V169.263C709.114 169.546 708.625 169.781 708.08 169.967C707.534 170.153 706.97 170.301 706.386 170.413C705.803 170.525 705.22 170.603 704.636 170.647C704.053 170.692 703.508 170.714 703 170.714C702.492 170.714 701.947 170.692 701.364 170.647C700.78 170.603 700.197 170.525 699.614 170.413C699.03 170.301 698.466 170.153 697.92 169.967C697.375 169.781 696.886 169.546 696.455 169.263V171.429C696.455 171.585 696.519 171.734 696.648 171.875C696.777 172.016 696.932 172.147 697.114 172.266C697.295 172.385 697.481 172.489 697.67 172.578C697.86 172.667 698.011 172.738 698.125 172.79C698.481 172.939 698.864 173.062 699.273 173.158C699.682 173.255 700.098 173.333 700.523 173.393C700.947 173.452 701.367 173.497 701.784 173.527C702.201 173.557 702.606 173.571 703 173.571ZM703 169.286C703.386 169.286 703.788 169.275 704.205 169.252C704.621 169.23 705.045 169.185 705.477 169.118C705.909 169.051 706.326 168.969 706.727 168.873C707.129 168.776 707.511 168.653 707.875 168.504C707.989 168.46 708.14 168.393 708.33 168.304C708.519 168.214 708.705 168.106 708.886 167.98C709.068 167.853 709.223 167.723 709.352 167.589C709.481 167.455 709.545 167.307 709.545 167.143V164.978C709.114 165.26 708.625 165.495 708.08 165.681C707.534 165.867 706.97 166.016 706.386 166.127C705.803 166.239 705.22 166.317 704.636 166.362C704.053 166.406 703.508 166.429 703 166.429C702.492 166.429 701.947 166.406 701.364 166.362C700.78 166.317 700.197 166.239 699.614 166.127C699.03 166.016 698.466 165.867 697.92 165.681C697.375 165.495 696.886 165.26 696.455 164.978V167.143C696.455 167.299 696.519 167.448 696.648 167.589C696.777 167.731 696.932 167.861 697.114 167.98C697.295 168.099 697.481 168.203 697.67 168.292C697.86 168.382 698.011 168.452 698.125 168.504C698.481 168.653 698.864 168.776 699.273 168.873C699.682 168.969 700.098 169.048 700.523 169.107C700.947 169.167 701.367 169.211 701.784 169.241C702.201 169.271 702.606 169.286 703 169.286ZM703 165C703.394 165 703.799 164.989 704.216 164.967C704.633 164.944 705.049 164.9 705.466 164.833C705.883 164.766 706.299 164.684 706.716 164.587C707.133 164.49 707.519 164.368 707.875 164.219C707.989 164.174 708.14 164.107 708.33 164.018C708.519 163.929 708.705 163.821 708.886 163.694C709.068 163.568 709.223 163.438 709.352 163.304C709.481 163.17 709.545 163.021 709.545 162.857V160.692C709.114 160.967 708.629 161.198 708.091 161.384C707.553 161.57 706.989 161.719 706.398 161.83C705.807 161.942 705.22 162.02 704.636 162.065C704.053 162.109 703.508 162.135 703 162.143C702.492 162.143 701.947 162.121 701.364 162.076C700.78 162.031 700.197 161.949 699.614 161.83C699.03 161.711 698.466 161.563 697.92 161.384C697.375 161.205 696.886 160.975 696.455 160.692V162.857C696.455 163.006 696.519 163.151 696.648 163.292C696.777 163.434 696.932 163.568 697.114 163.694C697.295 163.821 697.481 163.925 697.67 164.007C697.86 164.089 698.011 164.159 698.125 164.219C698.489 164.368 698.875 164.49 699.284 164.587C699.693 164.684 700.106 164.762 700.523 164.821C700.939 164.881 701.36 164.926 701.784 164.955C702.208 164.985 702.614 165 703 165Z" fill="var(--color-accent-100)" stroke="var(--color-background-200)" stroke-width="0.5" data-astro-cid-ssrvywfa></path> <rect x="581.5" y="373.5" width="47" height="47" rx="23.5" fill="var(--color-accent-100)" data-astro-cid-ssrvywfa></rect> <rect x="581.5" y="373.5" width="47" height="47" rx="23.5" stroke="var(--color-background-200)" data-astro-cid-ssrvywfa></rect> <path d="M612.5 398.5C612.502 398.806 612.409 399.105 612.234 399.355C612.059 399.606 611.811 399.797 611.523 399.901L606.687 401.688L604.906 406.527C604.801 406.813 604.61 407.061 604.359 407.235C604.109 407.41 603.811 407.504 603.506 407.504C603.2 407.504 602.902 407.41 602.652 407.235C602.401 407.061 602.21 406.813 602.105 406.527L600.312 401.688L595.473 399.906C595.186 399.801 594.939 399.61 594.764 399.359C594.59 399.109 594.496 398.811 594.496 398.506C594.496 398.2 594.59 397.902 594.764 397.652C594.939 397.401 595.186 397.21 595.473 397.105L600.312 395.312L602.094 390.473C602.199 390.187 602.39 389.939 602.64 389.765C602.891 389.59 603.189 389.496 603.494 389.496C603.8 389.496 604.098 389.59 604.348 389.765C604.599 389.939 604.789 390.187 604.895 390.473L606.687 395.312L611.527 397.094C611.815 397.199 612.063 397.39 612.237 397.642C612.411 397.894 612.503 398.194 612.5 398.5ZM607.25 389.5H608.75V391C608.75 391.199 608.829 391.39 608.97 391.53C609.11 391.671 609.301 391.75 609.5 391.75C609.699 391.75 609.89 391.671 610.03 391.53C610.171 391.39 610.25 391.199 610.25 391V389.5H611.75C611.949 389.5 612.14 389.421 612.28 389.28C612.421 389.14 612.5 388.949 612.5 388.75C612.5 388.551 612.421 388.36 612.28 388.22C612.14 388.079 611.949 388 611.75 388H610.25V386.5C610.25 386.301 610.171 386.11 610.03 385.97C609.89 385.829 609.699 385.75 609.5 385.75C609.301 385.75 609.11 385.829 608.97 385.97C608.829 386.11 608.75 386.301 608.75 386.5V388H607.25C607.051 388 606.86 388.079 606.72 388.22C606.579 388.36 606.5 388.551 606.5 388.75C606.5 388.949 606.579 389.14 606.72 389.28C606.86 389.421 607.051 389.5 607.25 389.5ZM615.5 392.5H614.75V391.75C614.75 391.551 614.671 391.36 614.53 391.22C614.39 391.079 614.199 391 614 391C613.801 391 613.61 391.079 613.47 391.22C613.329 391.36 613.25 391.551 613.25 391.75V392.5H612.5C612.301 392.5 612.11 392.579 611.97 392.72C611.829 392.86 611.75 393.051 611.75 393.25C611.75 393.449 611.829 393.64 611.97 393.78C612.11 393.921 612.301 394 612.5 394H613.25V394.75C613.25 394.949 613.329 395.14 613.47 395.28C613.61 395.421 613.801 395.5 614 395.5C614.199 395.5 614.39 395.421 614.53 395.28C614.671 395.14 614.75 394.949 614.75 394.75V394H615.5C615.699 394 615.89 393.921 616.03 393.78C616.171 393.64 616.25 393.449 616.25 393.25C616.25 393.051 616.171 392.86 616.03 392.72C615.89 392.579 615.699 392.5 615.5 392.5Z" fill="var(--color-background-200)" data-astro-cid-ssrvywfa></path> <rect x="633" y="379" width="57" height="34" rx="4" fill="var(--color-background-200)" data-astro-cid-ssrvywfa></rect> <rect x="633" y="379" width="57" height="34" rx="4" stroke="var(--color-accent-100)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-ssrvywfa></rect> <path d="M646.274 401V391.2H652.49V392.376H647.506V395.19H651.79V396.366H647.506V399.824H652.63V401H646.274ZM654.886 400.132C654.316 399.469 654.032 398.583 654.032 397.472C654.032 396.361 654.316 395.479 654.886 394.826C655.464 394.163 656.258 393.832 657.266 393.832C657.714 393.832 658.129 393.925 658.512 394.112C658.894 394.299 659.198 394.541 659.422 394.84V391.088H660.598V401H659.422V400.062C659.198 400.37 658.89 400.622 658.498 400.818C658.115 401.014 657.704 401.112 657.266 401.112C656.258 401.112 655.464 400.785 654.886 400.132ZM658.932 399.348C659.324 398.872 659.52 398.247 659.52 397.472C659.52 396.697 659.324 396.077 658.932 395.61C658.549 395.134 658.031 394.896 657.378 394.896C656.724 394.896 656.202 395.134 655.81 395.61C655.427 396.077 655.236 396.697 655.236 397.472C655.236 398.247 655.427 398.872 655.81 399.348C656.202 399.815 656.724 400.048 657.378 400.048C658.031 400.048 658.549 399.815 658.932 399.348ZM662.125 401.644C662.125 401 662.368 400.496 662.853 400.132C662.517 399.861 662.349 399.502 662.349 399.054C662.349 398.737 662.438 398.452 662.615 398.2C662.802 397.948 663.059 397.761 663.385 397.64C663.096 397.257 662.951 396.777 662.951 396.198C662.951 395.489 663.185 394.919 663.651 394.49C664.118 394.051 664.715 393.832 665.443 393.832C665.938 393.832 666.4 393.953 666.829 394.196L668.299 393.44L668.831 394.406L667.641 395.022C667.837 395.358 667.935 395.75 667.935 396.198C667.935 396.907 667.702 397.481 667.235 397.92C666.778 398.349 666.181 398.564 665.443 398.564C664.958 398.564 664.524 398.466 664.141 398.27C663.712 398.438 663.497 398.681 663.497 398.998C663.497 399.39 663.829 399.586 664.491 399.586H666.325C667.081 399.586 667.665 399.754 668.075 400.09C668.486 400.417 668.691 400.897 668.691 401.532C668.691 402.353 668.369 402.965 667.725 403.366C667.091 403.767 666.311 403.968 665.387 403.968C664.351 403.968 663.549 403.767 662.979 403.366C662.41 402.965 662.125 402.391 662.125 401.644ZM666.409 397.192C666.661 396.949 666.787 396.618 666.787 396.198C666.787 395.778 666.661 395.447 666.409 395.204C666.157 394.961 665.835 394.84 665.443 394.84C665.051 394.84 664.729 394.966 664.477 395.218C664.225 395.461 664.099 395.787 664.099 396.198C664.099 396.609 664.225 396.94 664.477 397.192C664.729 397.435 665.051 397.556 665.443 397.556C665.835 397.556 666.157 397.435 666.409 397.192ZM667.487 401.644C667.487 400.944 667.091 400.594 666.297 400.594H664.631C664.323 400.594 664.081 400.575 663.903 400.538C663.502 400.743 663.301 401.098 663.301 401.602C663.301 402.013 663.488 402.335 663.861 402.568C664.235 402.811 664.743 402.932 665.387 402.932C666.05 402.932 666.563 402.815 666.927 402.582C667.301 402.358 667.487 402.045 667.487 401.644ZM669.925 397.472C669.925 396.436 670.233 395.573 670.849 394.882C671.474 394.182 672.291 393.832 673.299 393.832C674.326 393.832 675.138 394.154 675.735 394.798C676.342 395.442 676.645 396.254 676.645 397.234V397.724H671.129C671.166 398.424 671.381 398.989 671.773 399.418C672.165 399.838 672.674 400.048 673.299 400.048C674.307 400.048 675.063 399.581 675.567 398.648L676.505 399.138C675.824 400.454 674.755 401.112 673.299 401.112C672.3 401.112 671.488 400.767 670.863 400.076C670.238 399.385 669.925 398.517 669.925 397.472ZM671.213 396.66H675.399C675.296 396.1 675.063 395.666 674.699 395.358C674.335 395.05 673.868 394.896 673.299 394.896C672.748 394.896 672.291 395.05 671.927 395.358C671.572 395.666 671.334 396.1 671.213 396.66Z" fill="var(--color-accent-100)" data-astro-cid-ssrvywfa></path> <rect x="363.5" y="242.5" width="47" height="47" rx="23.5" fill="var(--color-background-200)" data-astro-cid-ssrvywfa></rect> <rect x="363.5" y="242.5" width="47" height="47" rx="23.5" stroke="var(--color-accent-100)" data-astro-cid-ssrvywfa></rect> <mask id="path-16-inside-3_2717_132" fill="var(--color-background-100)" data-astro-cid-ssrvywfa> <path d="M387 256C387.53 256 388.129 256.03 388.795 256.089C389.462 256.149 390.129 256.253 390.795 256.402C391.462 256.551 392.098 256.748 392.705 256.993C393.311 257.239 393.811 257.555 394.205 257.942C394.439 258.165 394.629 258.407 394.773 258.667C394.917 258.928 394.992 259.229 395 259.571V272.429C395 272.763 394.928 273.061 394.784 273.321C394.64 273.582 394.447 273.827 394.205 274.058C393.811 274.438 393.314 274.75 392.716 274.996C392.117 275.241 391.481 275.442 390.807 275.598C390.133 275.754 389.462 275.859 388.795 275.911C388.129 275.963 387.53 275.993 387 276C386.47 276 385.871 275.97 385.205 275.911C384.538 275.851 383.871 275.747 383.205 275.598C382.538 275.449 381.902 275.252 381.295 275.007C380.689 274.761 380.189 274.445 379.795 274.058C379.561 273.835 379.371 273.593 379.227 273.333C379.083 273.072 379.008 272.771 379 272.429V259.571C379 259.237 379.072 258.939 379.216 258.679C379.36 258.418 379.553 258.173 379.795 257.942C380.189 257.563 380.686 257.25 381.284 257.004C381.883 256.759 382.519 256.558 383.193 256.402C383.867 256.246 384.538 256.141 385.205 256.089C385.871 256.037 386.47 256.007 387 256ZM387 257.429C386.614 257.429 386.212 257.44 385.795 257.462C385.379 257.484 384.958 257.529 384.534 257.596C384.11 257.663 383.693 257.745 383.284 257.842C382.875 257.938 382.489 258.061 382.125 258.21C382.011 258.254 381.86 258.321 381.67 258.411C381.481 258.5 381.295 258.608 381.114 258.734C380.932 258.861 380.777 258.991 380.648 259.125C380.519 259.259 380.455 259.408 380.455 259.571C380.455 259.631 380.466 259.687 380.489 259.739C380.511 259.791 380.542 259.843 380.58 259.895C380.739 260.133 380.966 260.342 381.261 260.52C381.557 260.699 381.894 260.855 382.273 260.989C382.652 261.123 383.053 261.234 383.477 261.324C383.902 261.413 384.326 261.487 384.75 261.547C385.174 261.606 385.58 261.647 385.966 261.67C386.352 261.692 386.697 261.707 387 261.714C387.303 261.714 387.648 261.703 388.034 261.681C388.42 261.658 388.826 261.618 389.25 261.558C389.674 261.499 390.098 261.424 390.523 261.335C390.947 261.246 391.345 261.13 391.716 260.989C392.087 260.847 392.424 260.691 392.727 260.52C393.03 260.349 393.261 260.141 393.42 259.895C393.458 259.843 393.489 259.791 393.511 259.739C393.534 259.687 393.545 259.631 393.545 259.571C393.545 259.423 393.481 259.278 393.352 259.136C393.223 258.995 393.068 258.861 392.886 258.734C392.705 258.608 392.519 258.504 392.33 258.422C392.14 258.34 391.989 258.269 391.875 258.21C391.511 258.068 391.125 257.949 390.716 257.853C390.307 257.756 389.894 257.674 389.477 257.607C389.061 257.54 388.64 257.496 388.216 257.473C387.792 257.451 387.386 257.436 387 257.429ZM387 274.571C387.386 274.571 387.788 274.56 388.205 274.538C388.621 274.516 389.045 274.471 389.477 274.404C389.909 274.337 390.326 274.255 390.727 274.158C391.129 274.062 391.511 273.939 391.875 273.79C391.989 273.746 392.14 273.679 392.33 273.589C392.519 273.5 392.705 273.392 392.886 273.266C393.068 273.139 393.223 273.009 393.352 272.875C393.481 272.741 393.545 272.592 393.545 272.429V270.263C393.114 270.546 392.625 270.781 392.08 270.967C391.534 271.153 390.97 271.301 390.386 271.413C389.803 271.525 389.22 271.603 388.636 271.647C388.053 271.692 387.508 271.714 387 271.714C386.492 271.714 385.947 271.692 385.364 271.647C384.78 271.603 384.197 271.525 383.614 271.413C383.03 271.301 382.466 271.153 381.92 270.967C381.375 270.781 380.886 270.546 380.455 270.263V272.429C380.455 272.585 380.519 272.734 380.648 272.875C380.777 273.016 380.932 273.147 381.114 273.266C381.295 273.385 381.481 273.489 381.67 273.578C381.86 273.667 382.011 273.738 382.125 273.79C382.481 273.939 382.864 274.062 383.273 274.158C383.682 274.255 384.098 274.333 384.523 274.393C384.947 274.452 385.367 274.497 385.784 274.527C386.201 274.557 386.606 274.571 387 274.571ZM387 270.286C387.386 270.286 387.788 270.275 388.205 270.252C388.621 270.23 389.045 270.185 389.477 270.118C389.909 270.051 390.326 269.969 390.727 269.873C391.129 269.776 391.511 269.653 391.875 269.504C391.989 269.46 392.14 269.393 392.33 269.304C392.519 269.214 392.705 269.106 392.886 268.98C393.068 268.853 393.223 268.723 393.352 268.589C393.481 268.455 393.545 268.307 393.545 268.143V265.978C393.114 266.26 392.625 266.495 392.08 266.681C391.534 266.867 390.97 267.016 390.386 267.127C389.803 267.239 389.22 267.317 388.636 267.362C388.053 267.406 387.508 267.429 387 267.429C386.492 267.429 385.947 267.406 385.364 267.362C384.78 267.317 384.197 267.239 383.614 267.127C383.03 267.016 382.466 266.867 381.92 266.681C381.375 266.495 380.886 266.26 380.455 265.978V268.143C380.455 268.299 380.519 268.448 380.648 268.589C380.777 268.731 380.932 268.861 381.114 268.98C381.295 269.099 381.481 269.203 381.67 269.292C381.86 269.382 382.011 269.452 382.125 269.504C382.481 269.653 382.864 269.776 383.273 269.873C383.682 269.969 384.098 270.048 384.523 270.107C384.947 270.167 385.367 270.211 385.784 270.241C386.201 270.271 386.606 270.286 387 270.286ZM387 266C387.394 266 387.799 265.989 388.216 265.967C388.633 265.944 389.049 265.9 389.466 265.833C389.883 265.766 390.299 265.684 390.716 265.587C391.133 265.49 391.519 265.368 391.875 265.219C391.989 265.174 392.14 265.107 392.33 265.018C392.519 264.929 392.705 264.821 392.886 264.694C393.068 264.568 393.223 264.438 393.352 264.304C393.481 264.17 393.545 264.021 393.545 263.857V261.692C393.114 261.967 392.629 262.198 392.091 262.384C391.553 262.57 390.989 262.719 390.398 262.83C389.807 262.942 389.22 263.02 388.636 263.065C388.053 263.109 387.508 263.135 387 263.143C386.492 263.143 385.947 263.121 385.364 263.076C384.78 263.031 384.197 262.949 383.614 262.83C383.03 262.711 382.466 262.563 381.92 262.384C381.375 262.205 380.886 261.975 380.455 261.692V263.857C380.455 264.006 380.519 264.151 380.648 264.292C380.777 264.434 380.932 264.568 381.114 264.694C381.295 264.821 381.481 264.925 381.67 265.007C381.86 265.089 382.011 265.159 382.125 265.219C382.489 265.368 382.875 265.49 383.284 265.587C383.693 265.684 384.106 265.762 384.523 265.821C384.939 265.881 385.36 265.926 385.784 265.955C386.208 265.985 386.614 266 387 266Z" data-astro-cid-ssrvywfa></path> </mask> <path d="M387 256C387.53 256 388.129 256.03 388.795 256.089C389.462 256.149 390.129 256.253 390.795 256.402C391.462 256.551 392.098 256.748 392.705 256.993C393.311 257.239 393.811 257.555 394.205 257.942C394.439 258.165 394.629 258.407 394.773 258.667C394.917 258.928 394.992 259.229 395 259.571V272.429C395 272.763 394.928 273.061 394.784 273.321C394.64 273.582 394.447 273.827 394.205 274.058C393.811 274.438 393.314 274.75 392.716 274.996C392.117 275.241 391.481 275.442 390.807 275.598C390.133 275.754 389.462 275.859 388.795 275.911C388.129 275.963 387.53 275.993 387 276C386.47 276 385.871 275.97 385.205 275.911C384.538 275.851 383.871 275.747 383.205 275.598C382.538 275.449 381.902 275.252 381.295 275.007C380.689 274.761 380.189 274.445 379.795 274.058C379.561 273.835 379.371 273.593 379.227 273.333C379.083 273.072 379.008 272.771 379 272.429V259.571C379 259.237 379.072 258.939 379.216 258.679C379.36 258.418 379.553 258.173 379.795 257.942C380.189 257.563 380.686 257.25 381.284 257.004C381.883 256.759 382.519 256.558 383.193 256.402C383.867 256.246 384.538 256.141 385.205 256.089C385.871 256.037 386.47 256.007 387 256ZM387 257.429C386.614 257.429 386.212 257.44 385.795 257.462C385.379 257.484 384.958 257.529 384.534 257.596C384.11 257.663 383.693 257.745 383.284 257.842C382.875 257.938 382.489 258.061 382.125 258.21C382.011 258.254 381.86 258.321 381.67 258.411C381.481 258.5 381.295 258.608 381.114 258.734C380.932 258.861 380.777 258.991 380.648 259.125C380.519 259.259 380.455 259.408 380.455 259.571C380.455 259.631 380.466 259.687 380.489 259.739C380.511 259.791 380.542 259.843 380.58 259.895C380.739 260.133 380.966 260.342 381.261 260.52C381.557 260.699 381.894 260.855 382.273 260.989C382.652 261.123 383.053 261.234 383.477 261.324C383.902 261.413 384.326 261.487 384.75 261.547C385.174 261.606 385.58 261.647 385.966 261.67C386.352 261.692 386.697 261.707 387 261.714C387.303 261.714 387.648 261.703 388.034 261.681C388.42 261.658 388.826 261.618 389.25 261.558C389.674 261.499 390.098 261.424 390.523 261.335C390.947 261.246 391.345 261.13 391.716 260.989C392.087 260.847 392.424 260.691 392.727 260.52C393.03 260.349 393.261 260.141 393.42 259.895C393.458 259.843 393.489 259.791 393.511 259.739C393.534 259.687 393.545 259.631 393.545 259.571C393.545 259.423 393.481 259.278 393.352 259.136C393.223 258.995 393.068 258.861 392.886 258.734C392.705 258.608 392.519 258.504 392.33 258.422C392.14 258.34 391.989 258.269 391.875 258.21C391.511 258.068 391.125 257.949 390.716 257.853C390.307 257.756 389.894 257.674 389.477 257.607C389.061 257.54 388.64 257.496 388.216 257.473C387.792 257.451 387.386 257.436 387 257.429ZM387 274.571C387.386 274.571 387.788 274.56 388.205 274.538C388.621 274.516 389.045 274.471 389.477 274.404C389.909 274.337 390.326 274.255 390.727 274.158C391.129 274.062 391.511 273.939 391.875 273.79C391.989 273.746 392.14 273.679 392.33 273.589C392.519 273.5 392.705 273.392 392.886 273.266C393.068 273.139 393.223 273.009 393.352 272.875C393.481 272.741 393.545 272.592 393.545 272.429V270.263C393.114 270.546 392.625 270.781 392.08 270.967C391.534 271.153 390.97 271.301 390.386 271.413C389.803 271.525 389.22 271.603 388.636 271.647C388.053 271.692 387.508 271.714 387 271.714C386.492 271.714 385.947 271.692 385.364 271.647C384.78 271.603 384.197 271.525 383.614 271.413C383.03 271.301 382.466 271.153 381.92 270.967C381.375 270.781 380.886 270.546 380.455 270.263V272.429C380.455 272.585 380.519 272.734 380.648 272.875C380.777 273.016 380.932 273.147 381.114 273.266C381.295 273.385 381.481 273.489 381.67 273.578C381.86 273.667 382.011 273.738 382.125 273.79C382.481 273.939 382.864 274.062 383.273 274.158C383.682 274.255 384.098 274.333 384.523 274.393C384.947 274.452 385.367 274.497 385.784 274.527C386.201 274.557 386.606 274.571 387 274.571ZM387 270.286C387.386 270.286 387.788 270.275 388.205 270.252C388.621 270.23 389.045 270.185 389.477 270.118C389.909 270.051 390.326 269.969 390.727 269.873C391.129 269.776 391.511 269.653 391.875 269.504C391.989 269.46 392.14 269.393 392.33 269.304C392.519 269.214 392.705 269.106 392.886 268.98C393.068 268.853 393.223 268.723 393.352 268.589C393.481 268.455 393.545 268.307 393.545 268.143V265.978C393.114 266.26 392.625 266.495 392.08 266.681C391.534 266.867 390.97 267.016 390.386 267.127C389.803 267.239 389.22 267.317 388.636 267.362C388.053 267.406 387.508 267.429 387 267.429C386.492 267.429 385.947 267.406 385.364 267.362C384.78 267.317 384.197 267.239 383.614 267.127C383.03 267.016 382.466 266.867 381.92 266.681C381.375 266.495 380.886 266.26 380.455 265.978V268.143C380.455 268.299 380.519 268.448 380.648 268.589C380.777 268.731 380.932 268.861 381.114 268.98C381.295 269.099 381.481 269.203 381.67 269.292C381.86 269.382 382.011 269.452 382.125 269.504C382.481 269.653 382.864 269.776 383.273 269.873C383.682 269.969 384.098 270.048 384.523 270.107C384.947 270.167 385.367 270.211 385.784 270.241C386.201 270.271 386.606 270.286 387 270.286ZM387 266C387.394 266 387.799 265.989 388.216 265.967C388.633 265.944 389.049 265.9 389.466 265.833C389.883 265.766 390.299 265.684 390.716 265.587C391.133 265.49 391.519 265.368 391.875 265.219C391.989 265.174 392.14 265.107 392.33 265.018C392.519 264.929 392.705 264.821 392.886 264.694C393.068 264.568 393.223 264.438 393.352 264.304C393.481 264.17 393.545 264.021 393.545 263.857V261.692C393.114 261.967 392.629 262.198 392.091 262.384C391.553 262.57 390.989 262.719 390.398 262.83C389.807 262.942 389.22 263.02 388.636 263.065C388.053 263.109 387.508 263.135 387 263.143C386.492 263.143 385.947 263.121 385.364 263.076C384.78 263.031 384.197 262.949 383.614 262.83C383.03 262.711 382.466 262.563 381.92 262.384C381.375 262.205 380.886 261.975 380.455 261.692V263.857C380.455 264.006 380.519 264.151 380.648 264.292C380.777 264.434 380.932 264.568 381.114 264.694C381.295 264.821 381.481 264.925 381.67 265.007C381.86 265.089 382.011 265.159 382.125 265.219C382.489 265.368 382.875 265.49 383.284 265.587C383.693 265.684 384.106 265.762 384.523 265.821C384.939 265.881 385.36 265.926 385.784 265.955C386.208 265.985 386.614 266 387 266Z" fill="var(--color-accent-100)" stroke="var(--color-background-200)" stroke-width="0.5" data-astro-cid-ssrvywfa></path> <circle class="pulse-ring pulse-ring-1" cx="408" cy="417" r="43" fill="var(--color-accent-100)" fill-opacity="0.08" data-astro-cid-ssrvywfa></circle> <circle class="pulse-ring pulse-ring-1-stroke" cx="408" cy="417" r="42.5" stroke="var(--color-accent-100)" stroke-opacity="0.05" fill="none" data-astro-cid-ssrvywfa></circle> <circle class="pulse-ring pulse-ring-2" cx="408" cy="417" r="71" fill="var(--color-accent-100)" fill-opacity="0.05" data-astro-cid-ssrvywfa></circle> <circle class="pulse-ring pulse-ring-2-stroke" cx="408" cy="417" r="70.5" stroke="var(--color-accent-100)" stroke-opacity="0.05" fill="none" data-astro-cid-ssrvywfa></circle> <circle class="pulse-ring pulse-ring-3" cx="408" cy="417" r="105" fill="var(--color-accent-100)" fill-opacity="0.03" data-astro-cid-ssrvywfa></circle> <circle class="pulse-ring pulse-ring-3-stroke" cx="408" cy="417" r="104.5" stroke="var(--color-accent-100)" stroke-opacity="0.05" fill="none" data-astro-cid-ssrvywfa></circle> <g clip-path="url(#clip0_2717_132)" data-astro-cid-ssrvywfa> <circle cx="408" cy="417" r="24" fill="var(--color-background-200)" data-astro-cid-ssrvywfa></circle> <path d="M402.476 423.543L402.296 423.392C401.443 422.682 400.041 421.129 399.762 418.895L399.74 418.725L399.619 418.604L399.326 418.301C398.622 417.544 397.808 416.431 397.808 415.043C397.808 414.121 398.203 413.315 398.508 412.706L398.591 412.541L398.546 412.361C398.255 411.198 397.958 408.98 397.958 407.212C397.958 404.395 398.93 402.087 400.643 400.48C402.358 398.871 404.862 397.924 407.999 397.923C408.865 397.923 409.832 398.032 410.717 398.297C411.606 398.564 412.377 398.979 412.896 399.563L413.006 399.686L413.167 399.719C415.73 400.259 418.041 403.306 418.041 407.212C418.041 409.716 417.598 411.778 417.307 412.797L417.243 413.019L417.372 413.212C417.623 413.588 417.89 414.246 417.89 415.043C417.89 416.812 416.938 418.02 416.155 418.542L415.965 418.669L415.937 418.895C415.656 421.136 414.398 422.538 413.553 423.242L413.372 423.391V426.035C413.372 426.551 413.632 426.99 413.973 427.344C414.314 427.699 414.777 428.014 415.285 428.297C416.303 428.865 417.619 429.367 418.816 429.816L418.819 429.817C420.253 430.345 421.681 430.896 422.879 431.604C423.893 432.203 424.706 432.895 425.215 433.743L423.29 434.452C423.13 434.223 422.927 434.018 422.702 433.835C422.338 433.536 421.888 433.267 421.399 433.023C420.423 432.535 419.225 432.111 418.096 431.735C416.427 431.128 414.728 430.509 413.438 429.631C412.165 428.765 411.36 427.695 411.36 426.186V422.553L411.871 422.248L411.881 422.242L411.891 422.235H411.892V422.234H411.893C411.893 422.234 411.895 422.233 411.896 422.232C411.897 422.231 411.9 422.229 411.902 422.227C411.908 422.223 411.915 422.219 411.924 422.213C411.941 422.2 411.965 422.182 411.994 422.16C412.053 422.115 412.134 422.051 412.229 421.966C412.418 421.798 412.668 421.548 412.917 421.215C413.417 420.549 413.921 419.542 413.921 418.205V417.459L414.484 417.177C414.532 417.165 414.572 417.15 414.6 417.138C414.669 417.109 414.739 417.07 414.807 417.025C414.943 416.934 415.09 416.804 415.226 416.631C415.502 416.279 415.727 415.756 415.728 415.043C415.728 414.759 415.598 414.476 415.495 414.292C415.385 414.094 415.247 413.902 415.13 413.785L414.76 413.416L414.939 412.969L414.946 412.951L414.952 412.932V412.931L414.953 412.929C414.954 412.928 414.954 412.925 414.955 412.922C414.957 412.917 414.959 412.909 414.962 412.899C414.968 412.879 414.977 412.85 414.987 412.812C415.009 412.736 415.04 412.626 415.076 412.485C415.149 412.203 415.245 411.797 415.342 411.297C415.534 410.296 415.728 408.908 415.728 407.362C415.727 405.837 415.287 404.498 414.647 403.529C414.026 402.586 413.14 401.893 412.216 401.893H411.596L411.347 401.478C411.266 400.955 410.803 400.582 410.317 400.358C409.744 400.093 408.952 399.935 407.999 399.935C405.577 399.935 403.564 400.6 402.15 401.871C400.73 403.147 399.97 404.985 399.97 407.212C399.97 408.237 400.166 409.592 400.354 410.668C400.45 411.21 400.545 411.691 400.616 412.036C400.652 412.208 400.681 412.347 400.702 412.443C400.713 412.491 400.721 412.528 400.727 412.553C400.729 412.564 400.731 412.573 400.732 412.58V412.581L400.837 413.104L400.461 413.574C400.458 413.576 400.455 413.578 400.452 413.58C400.38 413.623 400.321 413.675 400.275 413.723C400.183 413.82 400.105 413.94 400.042 414.066C399.915 414.321 399.819 414.661 399.819 415.043C399.819 415.594 400.136 416.122 400.436 416.501C400.739 416.884 401.104 417.213 401.375 417.399V417.4L401.777 417.702V418.205C401.777 419.488 402.335 420.462 402.868 421.118C403.135 421.446 403.399 421.7 403.59 421.876C403.65 421.931 403.696 421.974 403.734 422.008V422.102L403.978 422.248L404.487 422.552V426.186C404.487 427.78 403.636 429.004 402.275 430.043C400.903 431.09 399.079 431.896 397.266 432.651C396.427 432.957 395.435 433.377 394.606 433.82C394.19 434.043 393.801 434.279 393.491 434.515C393.343 434.629 393.194 434.756 393.066 434.896L391.221 434.077C391.59 433.497 392.189 432.981 392.981 432.482C393.965 431.863 395.173 431.313 396.467 430.704C397.729 430.11 399.198 429.454 400.341 428.737C400.914 428.378 401.434 427.985 401.815 427.555C402.197 427.126 402.476 426.616 402.476 426.035V423.543Z" fill="var(--color-accent-100)" stroke="var(--color-background-200)" data-astro-cid-ssrvywfa></path> </g> <rect x="384.5" y="393.5" width="47" height="47" rx="23.5" stroke="var(--color-accent-100)" data-astro-cid-ssrvywfa></rect> <path d="M431 411C486.25 396 584 396 584 396" stroke="var(--color-accent-100)" stroke-width="2" stroke-linecap="round" opacity="0.3" data-astro-cid-ssrvywfa></path> <path class="animated-solid-line" d="M431 411C486.25 396 584 396 584 396" stroke="var(--color-accent-100)" stroke-width="2" stroke-linecap="round" data-astro-cid-ssrvywfa></path> <rect x="323" y="400" width="57" height="34" rx="4" fill="var(--color-background-200)" data-astro-cid-ssrvywfa></rect> <rect x="323" y="400" width="57" height="34" rx="4" stroke="var(--color-accent-100)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1 4" data-astro-cid-ssrvywfa></rect> <path d="M335.868 418.598V412.2H337.1V418.682C337.1 419.363 337.296 419.909 337.688 420.32C338.089 420.731 338.64 420.936 339.34 420.936C340.04 420.936 340.586 420.731 340.978 420.32C341.379 419.909 341.58 419.363 341.58 418.682V412.2H342.812V418.598C342.812 419.671 342.485 420.525 341.832 421.16C341.179 421.795 340.348 422.112 339.34 422.112C338.332 422.112 337.501 421.795 336.848 421.16C336.195 420.525 335.868 419.671 335.868 418.598ZM344.424 420.068L345.544 419.648C345.665 420.096 345.898 420.441 346.244 420.684C346.589 420.927 347.004 421.048 347.49 421.048C347.947 421.048 348.311 420.964 348.582 420.796C348.852 420.619 348.988 420.367 348.988 420.04C348.988 419.713 348.862 419.48 348.61 419.34C348.367 419.2 347.886 419.06 347.168 418.92C346.412 418.78 345.842 418.556 345.46 418.248C345.077 417.94 344.886 417.483 344.886 416.876C344.886 416.269 345.119 415.779 345.586 415.406C346.052 415.023 346.622 414.832 347.294 414.832C348.498 414.832 349.37 415.355 349.912 416.4L348.946 417.016C348.535 416.269 347.97 415.896 347.252 415.896C346.897 415.896 346.603 415.98 346.37 416.148C346.146 416.307 346.034 416.535 346.034 416.834C346.034 417.114 346.16 417.338 346.412 417.506C346.673 417.674 347.093 417.814 347.672 417.926C348.549 418.103 349.188 418.341 349.59 418.64C350 418.929 350.206 419.363 350.206 419.942C350.206 420.586 349.94 421.109 349.408 421.51C348.885 421.911 348.246 422.112 347.49 422.112C346.752 422.112 346.108 421.935 345.558 421.58C345.016 421.216 344.638 420.712 344.424 420.068ZM351.943 418.472C351.943 417.436 352.251 416.573 352.867 415.882C353.493 415.182 354.309 414.832 355.317 414.832C356.344 414.832 357.156 415.154 357.753 415.798C358.36 416.442 358.663 417.254 358.663 418.234V418.724H353.147C353.185 419.424 353.399 419.989 353.791 420.418C354.183 420.838 354.692 421.048 355.317 421.048C356.325 421.048 357.081 420.581 357.585 419.648L358.523 420.138C357.842 421.454 356.773 422.112 355.317 422.112C354.319 422.112 353.507 421.767 352.881 421.076C352.256 420.385 351.943 419.517 351.943 418.472ZM353.231 417.66H357.417C357.315 417.1 357.081 416.666 356.717 416.358C356.353 416.05 355.887 415.896 355.317 415.896C354.767 415.896 354.309 416.05 353.945 416.358C353.591 416.666 353.353 417.1 353.231 417.66ZM360.233 422V414.944H361.409V416.246C362.006 415.303 362.874 414.832 364.013 414.832C364.713 414.832 365.264 415.037 365.665 415.448C366.076 415.849 366.3 416.428 366.337 417.184H365.161C365.058 416.325 364.606 415.896 363.803 415.896C363.122 415.896 362.552 416.213 362.095 416.848C361.638 417.473 361.409 418.341 361.409 419.452V422H360.233Z" fill="var(--color-accent-100)" data-astro-cid-ssrvywfa></path> <defs data-astro-cid-ssrvywfa> <pattern id="pattern0_2717_132" patternContentUnits="objectBoundingBox" width="1" height="1" data-astro-cid-ssrvywfa> <use xlink:href="#image0_2717_132" transform="matrix(0.000423012 0 0 0.000740676 0 -0.000696916)" data-astro-cid-ssrvywfa></use> </pattern> <pattern id="pattern0_2717_132_dark" patternContentUnits="objectBoundingBox" width="1" height="1" data-astro-cid-ssrvywfa> <use xlink:href="#image0_2717_132_dark" transform="matrix(0.000423012 0 0 0.000740676 0 -0.000696916)" data-astro-cid-ssrvywfa></use> </pattern> <clipPath id="clip0_2717_132" data-astro-cid-ssrvywfa> <rect x="384" y="393" width="48" height="48" rx="24" fill="var(--color-background-100)" data-astro-cid-ssrvywfa></rect> </clipPath> <image id="image0_2717_132" width="2364" height="1352" preserveAspectRatio="none" xlink:href="/static/globe.png" data-astro-cid-ssrvywfa></image> <image id="image0_2717_132_dark" width="2364" height="1352" preserveAspectRatio="none" xlink:href="/static/globe-dark.png" data-astro-cid-ssrvywfa></image> </defs> </svg> </div> </div> </div></div></section> <section class="animate-in mx-auto fade-in transition-opacity delay-100 duration-2000 ease-out relative z-0 bg-background-100 -mt-0.5 flex w-full flex-col overflow-hidden md:hidden "> <svg class="corner-line top-line absolute top-0 left-1/2 h-1 -translate-x-1/2 transition-opacity duration-2000 ease-out w-[200dvw]" preserveAspectRatio="none" aria-hidden="true"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> <div class="relative mb-2 h-20 w-full"> <svg class="pointer-events-none absolute top-0 left-0 z-0 h-full w-full" data-testid="rf__background" aria-hidden="true" style="stroke-dasharray:none;stroke-dashoffset:0"><pattern id="pattern-hxlvne" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--color-decor-dots-100)" style="stroke-dasharray:none;stroke-dashoffset:0"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-hxlvne)" style="stroke-dasharray:none;stroke-dashoffset:0"></rect></svg> </div> <svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-2000 ease-out" preserveAspectRatio="none"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> </section> </div><div data-product-section="useCases" class="contents"> <section id="pages-use-cases" class="px-section" data-cms-path="products.pages.sections.useCases.items" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <div class="bg-background-100 relative mx-auto max-w-[1200px] border" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <div class="pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute md:hidden" style="left:-7px;top:-7px;key:top-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute md:hidden" style="right:-7px;top:-7px;key:top-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute md:hidden" style="left:-7px;bottom:-7px;key:bottom-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute md:hidden" style="right:-7px;bottom:-7px;key:bottom-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <div class="hidden md:block pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="top:-7px;left:-7px;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;bottom:-7px;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <div class="grid grid-cols-1 md:grid-cols-3" style="grid-template-rows: repeat(2, auto);; --totalRows: 3;" data-astro-cid-7amrcyfe> <div class="use-cases-header relative flex flex-col items-start justify-start gap-4 border-b p-6 md:border-b-0 md:p-8 md:border-r" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <img src="/static/pattern.png" alt="Background Pattern" width="1464" height="530" class="pointer-events-none absolute right-0 bottom-0 left-0 z-10 h-1/2 mask-t-from-0 object-cover opacity-20 select-none dark:mix-blend-luminosity" loading="lazy" decoding="async" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <div class="bg-accent-100/5 border-accent-100 flex flex-col items-start justify-start gap-2 rounded-sm border border-dashed p-1.5 pr-2.5" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <div class="text-accent-100 flex w-full items-center gap-1.5" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <svg viewBox="0 0 11 17" class="inline-block size-5 shrink-0 text-inherit" aria-hidden="true" data-astro-cid-7amrcyfe="true"><use href="/icons.svg#flash"></use></svg> <code class="leading-none font-medium text-inherit" data-astro-cid-7amrcyfe style="--totalRows: 3;">Cloudflare Pages</code> </div> </div> <h4 class="text-foreground-200 dark:text-foreground-100 font-medium text-balance" data-cms-path="products.pages.sections.useCases.title" data-cms-type="text" data-astro-cid-7amrcyfe style="--totalRows: 3;"> Popular Use Cases for Cloudflare Pages </h4> <p class="text-foreground-200/70" data-cms-path="products.pages.sections.useCases.subtitle" data-cms-type="text" data-astro-cid-7amrcyfe style="--totalRows: 3;"> Discover how Cloudflare Pages simplifies development and deployment </p> <a href="https://developers.cloudflare.com/pages/" data-slot="button" class="isolate inline-flex shrink-0 origin-center items-center justify-center whitespace-nowrap rounded-full border font-medium backdrop-blur-md transition-[scale,translate] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none border-border-100 bg-transparent text-foreground-100 active:scale-[0.98] hover:border-accent-100 hover:bg-accent-200/5 hover:text-accent-100 px-4 py-2 gap-0.5 !transition-[color,background-color,border-color,transform,translate] duration-200 ease-out hover:!opacity-100 relative z-10 mt-2" data-cms-path="products.pages.sections.useCases.href" aria-label="See more use cases for Popular Use Cases for Cloudflare Pages" data-astro-cid-7amrcyfe="true"> <span data-cms-path="products.pages.sections.useCases.cta" data-cms-type="text" data-astro-cid-7amrcyfe style="--totalRows: 3;"> Learn how to build applications with Cloudflare Pages </span> </a> </div> <div class="relative flex flex-col items-start border border-transparent border-b-border-100 md:border-r-border-100" style="; --totalRows: 3;" data-astro-cid-7amrcyfe> <div class="hidden md:block pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="top:-7px;left:-7px;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="top:-7px;right:-7px;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;bottom:-7px;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <div class="bg-background-200 h-auto w-full border-b select-none!" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <astro-island uid="Z2e371l" prefix="r85" component-url="/_astro/index.CiUJt7CU.js" component-export="Graphic" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"name":[0,"full-stack"],"data-astro-cid-7amrcyfe":[0,true]}" ssr client="load" opts="{"name":"Graphic","value":true}" await-children><svg width="100%" height="100%" viewBox="0 0 324 210" fill="none" xmlns="http://www.w3.org/2000/svg" style="opacity:0;transform:scale(0.98)"><path d="M208.867 105L121.082 105" stroke="var(--color-accent-100)" opacity="0" stroke-dashoffset="0" stroke-dasharray="0 1" pathLength="1"></path><rect x="45.4766" y="69.5" width="71" height="71" rx="7.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)" stroke-dasharray="284 1000" opacity="0" stroke-dashoffset="284" style="transform:scale(0.8);transform-origin:50% 50%;transform-box:fill-box"></rect><path d="M84.9779 92.2771C83.7151 91.8805 82.3715 91.6667 80.9779 91.6667C73.6141 91.6667 67.6445 97.6362 67.6445 105C67.6445 112.364 73.6141 118.333 80.9779 118.333C88.3417 118.333 94.3112 112.364 94.3112 105C94.3112 102.713 93.7353 100.56 92.7207 98.6793M87.6445 96.6667H87.6512M78.9779 118.184L78.9781 115.247C78.9781 115.087 79.035 114.934 79.1386 114.813L82.4529 110.946C82.7253 110.628 82.6409 110.141 82.2775 109.933L78.4692 107.757C78.3658 107.698 78.28 107.612 78.221 107.509L75.7385 103.158C75.6093 102.932 75.36 102.801 75.1003 102.825L67.7301 103.481M92.9779 97C92.9779 99.9455 90.3112 102.333 87.6445 105C84.9779 102.333 82.3112 99.9455 82.3112 97C82.3112 94.0545 84.699 91.6667 87.6445 91.6667C90.59 91.6667 92.9779 94.0545 92.9779 97ZM87.9779 96.6667C87.9779 96.8508 87.8286 97 87.6445 97C87.4604 97 87.3112 96.8508 87.3112 96.6667C87.3112 96.4826 87.4604 96.3333 87.6445 96.3333C87.8286 96.3333 87.9779 96.4826 87.9779 96.6667Z" stroke="var(--color-accent-100)" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="0 1" opacity="0" stroke-dashoffset="0" pathLength="1"></path><rect x="207.523" y="69.5" width="71" height="71" rx="7.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)" stroke-dasharray="284 1000" opacity="0" stroke-dashoffset="284" style="transform:scale(0.8);transform-origin:50% 50%;transform-box:fill-box"></rect><path d="M233.691 108.049C231.223 109.138 229.691 110.655 229.691 112.333C229.691 115.647 235.661 118.333 243.025 118.333C250.389 118.333 256.358 115.647 256.358 112.333C256.358 110.655 254.827 109.138 252.358 108.049M251.025 99.6668C251.025 105.085 245.025 107.667 243.025 111.667C241.025 107.667 235.025 105.085 235.025 99.6668C235.025 95.2485 238.606 91.6668 243.025 91.6668C247.443 91.6668 251.025 95.2485 251.025 99.6668ZM244.358 99.6668C244.358 100.403 243.761 101 243.025 101C242.288 101 241.691 100.403 241.691 99.6668C241.691 98.9304 242.288 98.3335 243.025 98.3335C243.761 98.3335 244.358 98.9304 244.358 99.6668Z" stroke="var(--color-accent-100)" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="0 1" opacity="0" stroke-dashoffset="0" pathLength="1"></path><rect x="202.523" y="100.5" width="9" height="9" rx="1.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)" stroke-dasharray="36 1000" opacity="0" stroke-dashoffset="36" style="transform:scale(0);transform-origin:50% 50%;transform-box:fill-box"></rect><rect x="112.477" y="100.5" width="9" height="9" rx="1.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)" stroke-dasharray="36 1000" opacity="0" stroke-dashoffset="36" style="transform:scale(0);transform-origin:50% 50%;transform-box:fill-box"></rect></svg><!--astro:end--></astro-island> </div> <div class="relative flex w-full flex-col items-start gap-1 p-6 md:p-8" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <p class="text-foreground-200 dark:text-foreground-100 font-medium" data-cms-path="products.pages.sections.useCases.items.0.title" data-cms-type="text" data-astro-cid-7amrcyfe style="--totalRows: 3;"> Instant Full-Stack Deployment </p> <span class="text-foreground-200/70 leading-[1.2em]" data-cms-path="products.pages.sections.useCases.items.0.description" data-cms-type="text" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <astro-island uid="1FJqR" prefix="r86" component-url="/_astro/index.DW7gI7Sc.js" component-export="LinkifiedDescription" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"description":[0,"Deploy full-stack applications instantly with Cloudflare Pages. Use popular web frameworks to build full-stack applications or migrate existing projects."],"title":[0,"Instant Full-Stack Deployment"],"locale":[0],"data-astro-cid-7amrcyfe":[0,true]}" ssr client="load" opts="{"name":"LinkifiedDescription","value":true}" await-children><span>Deploy full-stack applications instantly with Cloudflare Pages. Use popular web frameworks to build full-stack applications or migrate existing projects.</span><!--astro:end--></astro-island> </span> </div> </div><div class="relative flex flex-col items-start border border-transparent border-b-border-100" style="; --totalRows: 3;" data-astro-cid-7amrcyfe> <div class="hidden md:block pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="top:-7px;right:-7px;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <div class="bg-background-200 h-auto w-full border-b select-none!" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <astro-island uid="ZW2479" prefix="r88" component-url="/_astro/index.CiUJt7CU.js" component-export="Graphic" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"name":[0,"apis"],"data-astro-cid-7amrcyfe":[0,true]}" ssr client="load" opts="{"name":"Graphic","value":true}" await-children><svg width="100%" height="100%" viewBox="0 0 324 210" fill="none" xmlns="http://www.w3.org/2000/svg" style="opacity:0;transform:scale(0.98)"><g clip-path="url(#clip0_2506_98748)"><g opacity="0" style="transform:none;transform-origin:50% 50%;transform-box:fill-box"><rect x="-50.5" y="28.5" width="109" height="35" rx="3.5" stroke="var(--color-foreground-100)"></rect></g><g opacity="0" style="transform:none;transform-origin:50% 50%;transform-box:fill-box"><rect x="-50.5" y="156.5" width="109" height="35" rx="3.5" stroke="var(--color-foreground-100)"></rect></g><g opacity="0" style="transform:none;transform-origin:50% 50%;transform-box:fill-box"><rect x="253.5" y="37.5" width="108" height="136" rx="5.5" fill="var(--color-background-100)" stroke="var(--color-foreground-100)"></rect></g><rect x="120.5" y="73.5" width="71" height="71" rx="7.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)" opacity="0" style="transform:scale(0.9);transform-origin:50% 50%;transform-box:fill-box"></rect><g opacity="0"><path d="M170.638 105.553C170.476 105.553 170.317 105.559 170.158 105.564C170.132 105.566 170.107 105.572 170.083 105.582C170.041 105.596 170.003 105.621 169.973 105.654C169.943 105.686 169.921 105.726 169.91 105.769L169.228 108.152C168.934 109.176 169.044 110.122 169.538 110.816C169.991 111.459 170.745 111.836 171.66 111.88L175.36 112.104C175.47 112.11 175.565 112.163 175.623 112.25C175.653 112.297 175.672 112.35 175.679 112.405C175.685 112.46 175.679 112.516 175.66 112.568C175.63 112.653 175.577 112.728 175.506 112.784C175.434 112.839 175.349 112.873 175.259 112.881L171.415 113.105C169.327 113.202 167.08 114.906 166.291 116.984L166.014 117.718C166.002 117.748 165.998 117.781 166.001 117.813C166.004 117.846 166.015 117.877 166.033 117.905C166.051 117.932 166.075 117.955 166.103 117.971C166.132 117.987 166.163 117.996 166.196 117.998H179.435C179.512 117.998 179.587 117.973 179.649 117.927C179.71 117.88 179.755 117.815 179.776 117.741C180.011 116.896 180.129 116.023 180.128 115.145C180.128 109.851 175.882 105.559 170.644 105.559" fill="var(--color-accent-100)"></path><path d="M164.858 117.69L165.103 116.828C165.397 115.804 165.288 114.858 164.795 114.163C164.34 113.521 163.587 113.144 162.671 113.1L145.317 112.876C145.263 112.875 145.21 112.861 145.162 112.836C145.115 112.81 145.074 112.774 145.043 112.73C145.012 112.683 144.993 112.63 144.986 112.575C144.98 112.52 144.986 112.464 145.005 112.412C145.035 112.326 145.089 112.251 145.161 112.195C145.233 112.14 145.319 112.107 145.409 112.099L162.925 111.875C165.005 111.779 167.252 110.074 168.04 107.996L169.039 105.356C169.08 105.244 169.09 105.123 169.068 105.006C167.93 99.8565 163.378 96 157.935 96C152.918 96 148.661 99.2721 147.133 103.821C146.105 103.039 144.817 102.678 143.532 102.813C141.127 103.055 139.191 105.015 138.952 107.446C138.89 108.054 138.935 108.667 139.084 109.259C135.153 109.376 132 112.631 132 116.63C132 116.992 132.026 117.348 132.078 117.696C132.088 117.777 132.128 117.852 132.19 117.907C132.251 117.961 132.331 117.991 132.413 117.991H164.462C164.552 117.989 164.639 117.959 164.711 117.903C164.782 117.848 164.834 117.771 164.858 117.684" fill="var(--color-accent-100)"></path></g><g opacity="0" style="transform:none;transform-origin:50% 50%;transform-box:fill-box"><line x1="254" y1="54.5" x2="363" y2="54.5" stroke="var(--color-foreground-100)"></line><circle cx="262" cy="46" r="3" fill="#521000"></circle><circle cx="272" cy="46" r="3" fill="#521000"></circle><circle cx="282" cy="46" r="3" fill="#521000"></circle><rect x="269" y="69" width="79" height="49" rx="2" fill="var(--color-foreground-100)"></rect><rect x="269" y="133" width="79" height="9" rx="2" fill="var(--color-foreground-100)"></rect><rect x="269" y="150" width="79" height="9" rx="2" fill="var(--color-foreground-100)"></rect></g><g opacity="0" style="transform:none;transform-origin:50% 50%;transform-box:fill-box"><path stroke="url(#paint0_linear_2506_98748)" d="M59.5 45C62.6667 64.23 78.3 103.952 115.5 109" opacity="0" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path><path stroke="url(#paint1_linear_2506_98748)" d="M59.5 174C62.6667 154.77 78.3 115.048 115.5 110" opacity="0" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path><rect x="54.5" y="41.5" width="9" height="9" rx="1.5" fill="var(--color-background-100)" stroke="var(--color-border-100)"></rect><rect x="54.5" y="169.5" width="9" height="9" rx="1.5" fill="var(--color-background-100)" stroke="var(--color-border-100)"></rect></g><g opacity="0" style="transform:none;transform-origin:50% 50%;transform-box:fill-box"><line y1="109" x2="254" y2="109" stroke="url(#paint2_linear_2506_98748)" x1="191.5" opacity="0" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></line><rect x="248" y="104" width="10" height="10" rx="2" fill="var(--color-background-200)"></rect><rect x="248.5" y="104.5" width="9" height="9" rx="1.5" stroke="var(--color-foreground-100)" stroke-opacity="0.2"></rect></g><g opacity="0"><rect x="115.5" y="104.5" width="9" height="9" rx="1.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)"></rect><rect x="187.5" y="104.5" width="9" height="9" rx="1.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)"></rect></g></g><defs><linearGradient id="paint0_linear_2506_98748" x1="60" y1="49.507" x2="127.832" y2="71.3434" gradientUnits="userSpaceOnUse"><stop stop-color="var(--color-border-100)"></stop><stop offset="1" stop-color="var(--color-accent-100)"></stop></linearGradient><linearGradient id="paint1_linear_2506_98748" x1="60" y1="169.493" x2="127.832" y2="147.657" gradientUnits="userSpaceOnUse"><stop stop-color="var(--color-border-100)"></stop><stop offset="1" stop-color="var(--color-accent-100)"></stop></linearGradient><linearGradient id="paint2_linear_2506_98748" x1="191.5" y1="109.5" x2="254" y2="109.5" gradientUnits="userSpaceOnUse"><stop stop-color="var(--color-accent-100)"></stop><stop offset="1" stop-color="var(--color-border-100)"></stop></linearGradient><clipPath id="clip0_2506_98748"><rect width="324" height="210" fill="white"></rect></clipPath></defs></svg><!--astro:end--></astro-island> </div> <div class="relative flex w-full flex-col items-start gap-1 p-6 md:p-8" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <p class="text-foreground-200 dark:text-foreground-100 font-medium" data-cms-path="products.pages.sections.useCases.items.1.title" data-cms-type="text" data-astro-cid-7amrcyfe style="--totalRows: 3;"> Streamlined GitHub Integration </p> <span class="text-foreground-200/70 leading-[1.2em]" data-cms-path="products.pages.sections.useCases.items.1.description" data-cms-type="text" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <astro-island uid="Z1js73X" prefix="r89" component-url="/_astro/index.DW7gI7Sc.js" component-export="LinkifiedDescription" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"description":[0,"Simplify development with seamless GitHub integration and built-in builds. Deploy single applications and monorepos quickly."],"title":[0,"Streamlined GitHub Integration"],"locale":[0],"data-astro-cid-7amrcyfe":[0,true]}" ssr client="load" opts="{"name":"LinkifiedDescription","value":true}" await-children><span>Simplify development with seamless GitHub integration and built-in builds. Deploy single applications and monorepos quickly.</span><!--astro:end--></astro-island> </span> </div> </div><div class="relative flex flex-col items-start border border-transparent border-b-border-100 md:border-b-transparent md:border-r-border-100" style="; --totalRows: 3;" data-astro-cid-7amrcyfe> <div class="hidden md:block pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;bottom:-7px;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <div class="bg-background-200 h-auto w-full border-b select-none!" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <astro-island uid="Z1fCJXP" prefix="r91" component-url="/_astro/index.CiUJt7CU.js" component-export="Graphic" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"name":[0,"collaborative"],"data-astro-cid-7amrcyfe":[0,true]}" ssr client="load" opts="{"name":"Graphic","value":true}" await-children><div class="relative h-full w-full"><svg width="100%" height="100%" viewBox="0 0 324 210" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_2476_97358)"><g opacity="0.2"><path d="M15.2727 -8.36364C15.2727 -9.345456 14.618156 -10 13.63634 -10C12.654524 -10 11.99998 -9.345456 11.99998 -8.36364C11.99998 -7.381824 12.654524 -6.72728 13.63634 -6.72728C14.618156 -6.72728 15.2727 -7.381824 15.2727 -8.36364Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 -8.36364C38.181799999999996 -9.345456 37.527255999999994 -10 36.54543999999999 -10C35.56362399999999 -10 34.90907999999999 -9.345456 34.90907999999999 -8.36364C34.90907999999999 -7.381824 35.56362399999999 -6.72728 36.54543999999999 -6.72728C37.527255999999994 -6.72728 38.181799999999996 -7.381824 38.181799999999996 -8.36364Z" fill="var(--color-border-100)"></path><path d="M61.0909 -8.36364C61.0909 -9.345456 60.436355999999996 -10 59.454539999999994 -10C58.47272399999999 -10 57.81817999999999 -9.345456 57.81817999999999 -8.36364C57.81817999999999 -7.381824 58.47272399999999 -6.72728 59.454539999999994 -6.72728C60.436355999999996 -6.72728 61.0909 -7.381824 61.0909 -8.36364Z" fill="var(--color-border-100)"></path><path d="M84 -8.36364C84 -9.345456 83.345456 -10 82.36364 -10C81.38182400000001 -10 80.72728000000001 -9.345456 80.72728000000001 -8.36364C80.72728000000001 -7.381824 81.38182400000001 -6.72728 82.36364 -6.72728C83.345456 -6.72728 84 -7.381824 84 -8.36364Z" fill="var(--color-border-100)"></path><path d="M106.9091 -8.36364C106.9091 -9.345456 106.254556 -10 105.27274 -10C104.290924 -10 103.63638 -9.345456 103.63638 -8.36364C103.63638 -7.381824 104.290924 -6.72728 105.27274 -6.72728C106.254556 -6.72728 106.9091 -7.381824 106.9091 -8.36364Z" fill="var(--color-border-100)"></path><path d="M129.8182 -8.36364C129.8182 -9.345456 129.163656 -10 128.18184 -10C127.200024 -10 126.54548 -9.345456 126.54548 -8.36364C126.54548 -7.381824 127.200024 -6.72728 128.18184 -6.72728C129.163656 -6.72728 129.8182 -7.381824 129.8182 -8.36364Z" fill="var(--color-border-100)"></path><path d="M152.7273 -8.36364C152.7273 -9.345456 152.07275600000003 -10 151.09094000000002 -10C150.109124 -10 149.45458000000002 -9.345456 149.45458000000002 -8.36364C149.45458000000002 -7.381824 150.109124 -6.72728 151.09094000000002 -6.72728C152.07275600000003 -6.72728 152.7273 -7.381824 152.7273 -8.36364Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 -8.36364C175.63639999999998 -9.345456 174.981856 -10 174.00003999999998 -10C173.01822399999998 -10 172.36368 -9.345456 172.36368 -8.36364C172.36368 -7.381824 173.01822399999998 -6.72728 174.00003999999998 -6.72728C174.981856 -6.72728 175.63639999999998 -7.381824 175.63639999999998 -8.36364Z" fill="var(--color-border-100)"></path><path d="M198.5455 -8.36364C198.5455 -9.345456 197.89095600000002 -10 196.90914 -10C195.927324 -10 195.27278 -9.345456 195.27278 -8.36364C195.27278 -7.381824 195.927324 -6.72728 196.90914 -6.72728C197.89095600000002 -6.72728 198.5455 -7.381824 198.5455 -8.36364Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 -8.36364C221.45459999999997 -9.345456 220.80005599999998 -10 219.81823999999997 -10C218.83642399999997 -10 218.18187999999998 -9.345456 218.18187999999998 -8.36364C218.18187999999998 -7.381824 218.83642399999997 -6.72728 219.81823999999997 -6.72728C220.80005599999998 -6.72728 221.45459999999997 -7.381824 221.45459999999997 -8.36364Z" fill="var(--color-border-100)"></path><path d="M244.3637 -8.36364C244.3637 -9.345456 243.709156 -10 242.72734 -10C241.745524 -10 241.09098 -9.345456 241.09098 -8.36364C241.09098 -7.381824 241.745524 -6.72728 242.72734 -6.72728C243.709156 -6.72728 244.3637 -7.381824 244.3637 -8.36364Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 -8.36364C267.27279999999996 -9.345456 266.6182559999999 -10 265.63643999999994 -10C264.65462399999996 -10 264.0000799999999 -9.345456 264.0000799999999 -8.36364C264.0000799999999 -7.381824 264.65462399999996 -6.72728 265.63643999999994 -6.72728C266.6182559999999 -6.72728 267.27279999999996 -7.381824 267.27279999999996 -8.36364Z" fill="var(--color-border-100)"></path><path d="M290.1819 -8.36364C290.1819 -9.345456 289.52735599999994 -10 288.54553999999996 -10C287.563724 -10 286.90917999999994 -9.345456 286.90917999999994 -8.36364C286.90917999999994 -7.381824 287.563724 -6.72728 288.54553999999996 -6.72728C289.52735599999994 -6.72728 290.1819 -7.381824 290.1819 -8.36364Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 -8.36364C313.09099999999995 -9.345456 312.4364559999999 -10 311.4546399999999 -10C310.47282399999995 -10 309.8182799999999 -9.345456 309.8182799999999 -8.36364C309.8182799999999 -7.381824 310.47282399999995 -6.72728 311.4546399999999 -6.72728C312.4364559999999 -6.72728 313.09099999999995 -7.381824 313.09099999999995 -8.36364Z" fill="var(--color-border-100)"></path><path d="M336.0001 -8.36364C336.0001 -9.345456 335.34555599999993 -10 334.36373999999995 -10C333.38192399999997 -10 332.7273799999999 -9.345456 332.7273799999999 -8.36364C332.7273799999999 -7.381824 333.38192399999997 -6.72728 334.36373999999995 -6.72728C335.34555599999993 -6.72728 336.0001 -7.381824 336.0001 -8.36364Z" fill="var(--color-border-100)"></path><path d="M15.2727 14.545459999999999C15.2727 13.563643999999998 14.618156 12.909099999999999 13.63634 12.909099999999999C12.654524 12.909099999999999 11.99998 13.563643999999998 11.99998 14.545459999999999C11.99998 15.527275999999999 12.654524 16.18182 13.63634 16.18182C14.618156 16.18182 15.2727 15.527275999999999 15.2727 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 14.545459999999999C38.181799999999996 13.563643999999998 37.527255999999994 12.909099999999999 36.54543999999999 12.909099999999999C35.56362399999999 12.909099999999999 34.90907999999999 13.563643999999998 34.90907999999999 14.545459999999999C34.90907999999999 15.527275999999999 35.56362399999999 16.18182 36.54543999999999 16.18182C37.527255999999994 16.18182 38.181799999999996 15.527275999999999 38.181799999999996 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M61.0909 14.545459999999999C61.0909 13.563643999999998 60.436355999999996 12.909099999999999 59.454539999999994 12.909099999999999C58.47272399999999 12.909099999999999 57.81817999999999 13.563643999999998 57.81817999999999 14.545459999999999C57.81817999999999 15.527275999999999 58.47272399999999 16.18182 59.454539999999994 16.18182C60.436355999999996 16.18182 61.0909 15.527275999999999 61.0909 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M84 14.545459999999999C84 13.563643999999998 83.345456 12.909099999999999 82.36364 12.909099999999999C81.38182400000001 12.909099999999999 80.72728000000001 13.563643999999998 80.72728000000001 14.545459999999999C80.72728000000001 15.527275999999999 81.38182400000001 16.18182 82.36364 16.18182C83.345456 16.18182 84 15.527275999999999 84 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M106.9091 14.545459999999999C106.9091 13.563643999999998 106.254556 12.909099999999999 105.27274 12.909099999999999C104.290924 12.909099999999999 103.63638 13.563643999999998 103.63638 14.545459999999999C103.63638 15.527275999999999 104.290924 16.18182 105.27274 16.18182C106.254556 16.18182 106.9091 15.527275999999999 106.9091 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M129.8182 14.545459999999999C129.8182 13.563643999999998 129.163656 12.909099999999999 128.18184 12.909099999999999C127.200024 12.909099999999999 126.54548 13.563643999999998 126.54548 14.545459999999999C126.54548 15.527275999999999 127.200024 16.18182 128.18184 16.18182C129.163656 16.18182 129.8182 15.527275999999999 129.8182 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M152.7273 14.545459999999999C152.7273 13.563643999999998 152.07275600000003 12.909099999999999 151.09094000000002 12.909099999999999C150.109124 12.909099999999999 149.45458000000002 13.563643999999998 149.45458000000002 14.545459999999999C149.45458000000002 15.527275999999999 150.109124 16.18182 151.09094000000002 16.18182C152.07275600000003 16.18182 152.7273 15.527275999999999 152.7273 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 14.545459999999999C175.63639999999998 13.563643999999998 174.981856 12.909099999999999 174.00003999999998 12.909099999999999C173.01822399999998 12.909099999999999 172.36368 13.563643999999998 172.36368 14.545459999999999C172.36368 15.527275999999999 173.01822399999998 16.18182 174.00003999999998 16.18182C174.981856 16.18182 175.63639999999998 15.527275999999999 175.63639999999998 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M198.5455 14.545459999999999C198.5455 13.563643999999998 197.89095600000002 12.909099999999999 196.90914 12.909099999999999C195.927324 12.909099999999999 195.27278 13.563643999999998 195.27278 14.545459999999999C195.27278 15.527275999999999 195.927324 16.18182 196.90914 16.18182C197.89095600000002 16.18182 198.5455 15.527275999999999 198.5455 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 14.545459999999999C221.45459999999997 13.563643999999998 220.80005599999998 12.909099999999999 219.81823999999997 12.909099999999999C218.83642399999997 12.909099999999999 218.18187999999998 13.563643999999998 218.18187999999998 14.545459999999999C218.18187999999998 15.527275999999999 218.83642399999997 16.18182 219.81823999999997 16.18182C220.80005599999998 16.18182 221.45459999999997 15.527275999999999 221.45459999999997 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M244.3637 14.545459999999999C244.3637 13.563643999999998 243.709156 12.909099999999999 242.72734 12.909099999999999C241.745524 12.909099999999999 241.09098 13.563643999999998 241.09098 14.545459999999999C241.09098 15.527275999999999 241.745524 16.18182 242.72734 16.18182C243.709156 16.18182 244.3637 15.527275999999999 244.3637 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 14.545459999999999C267.27279999999996 13.563643999999998 266.6182559999999 12.909099999999999 265.63643999999994 12.909099999999999C264.65462399999996 12.909099999999999 264.0000799999999 13.563643999999998 264.0000799999999 14.545459999999999C264.0000799999999 15.527275999999999 264.65462399999996 16.18182 265.63643999999994 16.18182C266.6182559999999 16.18182 267.27279999999996 15.527275999999999 267.27279999999996 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M290.1819 14.545459999999999C290.1819 13.563643999999998 289.52735599999994 12.909099999999999 288.54553999999996 12.909099999999999C287.563724 12.909099999999999 286.90917999999994 13.563643999999998 286.90917999999994 14.545459999999999C286.90917999999994 15.527275999999999 287.563724 16.18182 288.54553999999996 16.18182C289.52735599999994 16.18182 290.1819 15.527275999999999 290.1819 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 14.545459999999999C313.09099999999995 13.563643999999998 312.4364559999999 12.909099999999999 311.4546399999999 12.909099999999999C310.47282399999995 12.909099999999999 309.8182799999999 13.563643999999998 309.8182799999999 14.545459999999999C309.8182799999999 15.527275999999999 310.47282399999995 16.18182 311.4546399999999 16.18182C312.4364559999999 16.18182 313.09099999999995 15.527275999999999 313.09099999999995 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M336.0001 14.545459999999999C336.0001 13.563643999999998 335.34555599999993 12.909099999999999 334.36373999999995 12.909099999999999C333.38192399999997 12.909099999999999 332.7273799999999 13.563643999999998 332.7273799999999 14.545459999999999C332.7273799999999 15.527275999999999 333.38192399999997 16.18182 334.36373999999995 16.18182C335.34555599999993 16.18182 336.0001 15.527275999999999 336.0001 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M15.2727 37.45456C15.2727 36.472744 14.618156 35.8182 13.63634 35.8182C12.654524 35.8182 11.99998 36.472744 11.99998 37.45456C11.99998 38.436376 12.654524 39.090920000000004 13.63634 39.090920000000004C14.618156 39.090920000000004 15.2727 38.436376 15.2727 37.45456Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 37.45456C38.181799999999996 36.472744 37.527255999999994 35.8182 36.54543999999999 35.8182C35.56362399999999 35.8182 34.90907999999999 36.472744 34.90907999999999 37.45456C34.90907999999999 38.436376 35.56362399999999 39.090920000000004 36.54543999999999 39.090920000000004C37.527255999999994 39.090920000000004 38.181799999999996 38.436376 38.181799999999996 37.45456Z" fill="var(--color-border-100)"></path><path d="M61.0909 37.45456C61.0909 36.472744 60.436355999999996 35.8182 59.454539999999994 35.8182C58.47272399999999 35.8182 57.81817999999999 36.472744 57.81817999999999 37.45456C57.81817999999999 38.436376 58.47272399999999 39.090920000000004 59.454539999999994 39.090920000000004C60.436355999999996 39.090920000000004 61.0909 38.436376 61.0909 37.45456Z" fill="var(--color-border-100)"></path><path d="M84 37.45456C84 36.472744 83.345456 35.8182 82.36364 35.8182C81.38182400000001 35.8182 80.72728000000001 36.472744 80.72728000000001 37.45456C80.72728000000001 38.436376 81.38182400000001 39.090920000000004 82.36364 39.090920000000004C83.345456 39.090920000000004 84 38.436376 84 37.45456Z" fill="var(--color-border-100)"></path><path d="M106.9091 37.45456C106.9091 36.472744 106.254556 35.8182 105.27274 35.8182C104.290924 35.8182 103.63638 36.472744 103.63638 37.45456C103.63638 38.436376 104.290924 39.090920000000004 105.27274 39.090920000000004C106.254556 39.090920000000004 106.9091 38.436376 106.9091 37.45456Z" fill="var(--color-border-100)"></path><path d="M129.8182 37.45456C129.8182 36.472744 129.163656 35.8182 128.18184 35.8182C127.200024 35.8182 126.54548 36.472744 126.54548 37.45456C126.54548 38.436376 127.200024 39.090920000000004 128.18184 39.090920000000004C129.163656 39.090920000000004 129.8182 38.436376 129.8182 37.45456Z" fill="var(--color-border-100)"></path><path d="M152.7273 37.45456C152.7273 36.472744 152.07275600000003 35.8182 151.09094000000002 35.8182C150.109124 35.8182 149.45458000000002 36.472744 149.45458000000002 37.45456C149.45458000000002 38.436376 150.109124 39.090920000000004 151.09094000000002 39.090920000000004C152.07275600000003 39.090920000000004 152.7273 38.436376 152.7273 37.45456Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 37.45456C175.63639999999998 36.472744 174.981856 35.8182 174.00003999999998 35.8182C173.01822399999998 35.8182 172.36368 36.472744 172.36368 37.45456C172.36368 38.436376 173.01822399999998 39.090920000000004 174.00003999999998 39.090920000000004C174.981856 39.090920000000004 175.63639999999998 38.436376 175.63639999999998 37.45456Z" fill="var(--color-border-100)"></path><path d="M198.5455 37.45456C198.5455 36.472744 197.89095600000002 35.8182 196.90914 35.8182C195.927324 35.8182 195.27278 36.472744 195.27278 37.45456C195.27278 38.436376 195.927324 39.090920000000004 196.90914 39.090920000000004C197.89095600000002 39.090920000000004 198.5455 38.436376 198.5455 37.45456Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 37.45456C221.45459999999997 36.472744 220.80005599999998 35.8182 219.81823999999997 35.8182C218.83642399999997 35.8182 218.18187999999998 36.472744 218.18187999999998 37.45456C218.18187999999998 38.436376 218.83642399999997 39.090920000000004 219.81823999999997 39.090920000000004C220.80005599999998 39.090920000000004 221.45459999999997 38.436376 221.45459999999997 37.45456Z" fill="var(--color-border-100)"></path><path d="M244.3637 37.45456C244.3637 36.472744 243.709156 35.8182 242.72734 35.8182C241.745524 35.8182 241.09098 36.472744 241.09098 37.45456C241.09098 38.436376 241.745524 39.090920000000004 242.72734 39.090920000000004C243.709156 39.090920000000004 244.3637 38.436376 244.3637 37.45456Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 37.45456C267.27279999999996 36.472744 266.6182559999999 35.8182 265.63643999999994 35.8182C264.65462399999996 35.8182 264.0000799999999 36.472744 264.0000799999999 37.45456C264.0000799999999 38.436376 264.65462399999996 39.090920000000004 265.63643999999994 39.090920000000004C266.6182559999999 39.090920000000004 267.27279999999996 38.436376 267.27279999999996 37.45456Z" fill="var(--color-border-100)"></path><path d="M290.1819 37.45456C290.1819 36.472744 289.52735599999994 35.8182 288.54553999999996 35.8182C287.563724 35.8182 286.90917999999994 36.472744 286.90917999999994 37.45456C286.90917999999994 38.436376 287.563724 39.090920000000004 288.54553999999996 39.090920000000004C289.52735599999994 39.090920000000004 290.1819 38.436376 290.1819 37.45456Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 37.45456C313.09099999999995 36.472744 312.4364559999999 35.8182 311.4546399999999 35.8182C310.47282399999995 35.8182 309.8182799999999 36.472744 309.8182799999999 37.45456C309.8182799999999 38.436376 310.47282399999995 39.090920000000004 311.4546399999999 39.090920000000004C312.4364559999999 39.090920000000004 313.09099999999995 38.436376 313.09099999999995 37.45456Z" fill="var(--color-border-100)"></path><path d="M336.0001 37.45456C336.0001 36.472744 335.34555599999993 35.8182 334.36373999999995 35.8182C333.38192399999997 35.8182 332.7273799999999 36.472744 332.7273799999999 37.45456C332.7273799999999 38.436376 333.38192399999997 39.090920000000004 334.36373999999995 39.090920000000004C335.34555599999993 39.090920000000004 336.0001 38.436376 336.0001 37.45456Z" fill="var(--color-border-100)"></path><path d="M15.2727 60.363659999999996C15.2727 59.381843999999994 14.618156 58.72729999999999 13.63634 58.72729999999999C12.654524 58.72729999999999 11.99998 59.381843999999994 11.99998 60.363659999999996C11.99998 61.345476 12.654524 62.00002 13.63634 62.00002C14.618156 62.00002 15.2727 61.345476 15.2727 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 60.363659999999996C38.181799999999996 59.381843999999994 37.527255999999994 58.72729999999999 36.54543999999999 58.72729999999999C35.56362399999999 58.72729999999999 34.90907999999999 59.381843999999994 34.90907999999999 60.363659999999996C34.90907999999999 61.345476 35.56362399999999 62.00002 36.54543999999999 62.00002C37.527255999999994 62.00002 38.181799999999996 61.345476 38.181799999999996 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M61.0909 60.363659999999996C61.0909 59.381843999999994 60.436355999999996 58.72729999999999 59.454539999999994 58.72729999999999C58.47272399999999 58.72729999999999 57.81817999999999 59.381843999999994 57.81817999999999 60.363659999999996C57.81817999999999 61.345476 58.47272399999999 62.00002 59.454539999999994 62.00002C60.436355999999996 62.00002 61.0909 61.345476 61.0909 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M84 60.363659999999996C84 59.381843999999994 83.345456 58.72729999999999 82.36364 58.72729999999999C81.38182400000001 58.72729999999999 80.72728000000001 59.381843999999994 80.72728000000001 60.363659999999996C80.72728000000001 61.345476 81.38182400000001 62.00002 82.36364 62.00002C83.345456 62.00002 84 61.345476 84 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M106.9091 60.363659999999996C106.9091 59.381843999999994 106.254556 58.72729999999999 105.27274 58.72729999999999C104.290924 58.72729999999999 103.63638 59.381843999999994 103.63638 60.363659999999996C103.63638 61.345476 104.290924 62.00002 105.27274 62.00002C106.254556 62.00002 106.9091 61.345476 106.9091 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M129.8182 60.363659999999996C129.8182 59.381843999999994 129.163656 58.72729999999999 128.18184 58.72729999999999C127.200024 58.72729999999999 126.54548 59.381843999999994 126.54548 60.363659999999996C126.54548 61.345476 127.200024 62.00002 128.18184 62.00002C129.163656 62.00002 129.8182 61.345476 129.8182 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M152.7273 60.363659999999996C152.7273 59.381843999999994 152.07275600000003 58.72729999999999 151.09094000000002 58.72729999999999C150.109124 58.72729999999999 149.45458000000002 59.381843999999994 149.45458000000002 60.363659999999996C149.45458000000002 61.345476 150.109124 62.00002 151.09094000000002 62.00002C152.07275600000003 62.00002 152.7273 61.345476 152.7273 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 60.363659999999996C175.63639999999998 59.381843999999994 174.981856 58.72729999999999 174.00003999999998 58.72729999999999C173.01822399999998 58.72729999999999 172.36368 59.381843999999994 172.36368 60.363659999999996C172.36368 61.345476 173.01822399999998 62.00002 174.00003999999998 62.00002C174.981856 62.00002 175.63639999999998 61.345476 175.63639999999998 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M198.5455 60.363659999999996C198.5455 59.381843999999994 197.89095600000002 58.72729999999999 196.90914 58.72729999999999C195.927324 58.72729999999999 195.27278 59.381843999999994 195.27278 60.363659999999996C195.27278 61.345476 195.927324 62.00002 196.90914 62.00002C197.89095600000002 62.00002 198.5455 61.345476 198.5455 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 60.363659999999996C221.45459999999997 59.381843999999994 220.80005599999998 58.72729999999999 219.81823999999997 58.72729999999999C218.83642399999997 58.72729999999999 218.18187999999998 59.381843999999994 218.18187999999998 60.363659999999996C218.18187999999998 61.345476 218.83642399999997 62.00002 219.81823999999997 62.00002C220.80005599999998 62.00002 221.45459999999997 61.345476 221.45459999999997 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M244.3637 60.363659999999996C244.3637 59.381843999999994 243.709156 58.72729999999999 242.72734 58.72729999999999C241.745524 58.72729999999999 241.09098 59.381843999999994 241.09098 60.363659999999996C241.09098 61.345476 241.745524 62.00002 242.72734 62.00002C243.709156 62.00002 244.3637 61.345476 244.3637 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 60.363659999999996C267.27279999999996 59.381843999999994 266.6182559999999 58.72729999999999 265.63643999999994 58.72729999999999C264.65462399999996 58.72729999999999 264.0000799999999 59.381843999999994 264.0000799999999 60.363659999999996C264.0000799999999 61.345476 264.65462399999996 62.00002 265.63643999999994 62.00002C266.6182559999999 62.00002 267.27279999999996 61.345476 267.27279999999996 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M290.1819 60.363659999999996C290.1819 59.381843999999994 289.52735599999994 58.72729999999999 288.54553999999996 58.72729999999999C287.563724 58.72729999999999 286.90917999999994 59.381843999999994 286.90917999999994 60.363659999999996C286.90917999999994 61.345476 287.563724 62.00002 288.54553999999996 62.00002C289.52735599999994 62.00002 290.1819 61.345476 290.1819 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 60.363659999999996C313.09099999999995 59.381843999999994 312.4364559999999 58.72729999999999 311.4546399999999 58.72729999999999C310.47282399999995 58.72729999999999 309.8182799999999 59.381843999999994 309.8182799999999 60.363659999999996C309.8182799999999 61.345476 310.47282399999995 62.00002 311.4546399999999 62.00002C312.4364559999999 62.00002 313.09099999999995 61.345476 313.09099999999995 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M336.0001 60.363659999999996C336.0001 59.381843999999994 335.34555599999993 58.72729999999999 334.36373999999995 58.72729999999999C333.38192399999997 58.72729999999999 332.7273799999999 59.381843999999994 332.7273799999999 60.363659999999996C332.7273799999999 61.345476 333.38192399999997 62.00002 334.36373999999995 62.00002C335.34555599999993 62.00002 336.0001 61.345476 336.0001 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M15.2727 83.27275999999999C15.2727 82.290944 14.618156 81.6364 13.63634 81.6364C12.654524 81.6364 11.99998 82.290944 11.99998 83.27275999999999C11.99998 84.25457599999999 12.654524 84.90911999999999 13.63634 84.90911999999999C14.618156 84.90911999999999 15.2727 84.25457599999999 15.2727 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 83.27275999999999C38.181799999999996 82.290944 37.527255999999994 81.6364 36.54543999999999 81.6364C35.56362399999999 81.6364 34.90907999999999 82.290944 34.90907999999999 83.27275999999999C34.90907999999999 84.25457599999999 35.56362399999999 84.90911999999999 36.54543999999999 84.90911999999999C37.527255999999994 84.90911999999999 38.181799999999996 84.25457599999999 38.181799999999996 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M61.0909 83.27275999999999C61.0909 82.290944 60.436355999999996 81.6364 59.454539999999994 81.6364C58.47272399999999 81.6364 57.81817999999999 82.290944 57.81817999999999 83.27275999999999C57.81817999999999 84.25457599999999 58.47272399999999 84.90911999999999 59.454539999999994 84.90911999999999C60.436355999999996 84.90911999999999 61.0909 84.25457599999999 61.0909 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M84 83.27275999999999C84 82.290944 83.345456 81.6364 82.36364 81.6364C81.38182400000001 81.6364 80.72728000000001 82.290944 80.72728000000001 83.27275999999999C80.72728000000001 84.25457599999999 81.38182400000001 84.90911999999999 82.36364 84.90911999999999C83.345456 84.90911999999999 84 84.25457599999999 84 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M106.9091 83.27275999999999C106.9091 82.290944 106.254556 81.6364 105.27274 81.6364C104.290924 81.6364 103.63638 82.290944 103.63638 83.27275999999999C103.63638 84.25457599999999 104.290924 84.90911999999999 105.27274 84.90911999999999C106.254556 84.90911999999999 106.9091 84.25457599999999 106.9091 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M129.8182 83.27275999999999C129.8182 82.290944 129.163656 81.6364 128.18184 81.6364C127.200024 81.6364 126.54548 82.290944 126.54548 83.27275999999999C126.54548 84.25457599999999 127.200024 84.90911999999999 128.18184 84.90911999999999C129.163656 84.90911999999999 129.8182 84.25457599999999 129.8182 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M152.7273 83.27275999999999C152.7273 82.290944 152.07275600000003 81.6364 151.09094000000002 81.6364C150.109124 81.6364 149.45458000000002 82.290944 149.45458000000002 83.27275999999999C149.45458000000002 84.25457599999999 150.109124 84.90911999999999 151.09094000000002 84.90911999999999C152.07275600000003 84.90911999999999 152.7273 84.25457599999999 152.7273 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 83.27275999999999C175.63639999999998 82.290944 174.981856 81.6364 174.00003999999998 81.6364C173.01822399999998 81.6364 172.36368 82.290944 172.36368 83.27275999999999C172.36368 84.25457599999999 173.01822399999998 84.90911999999999 174.00003999999998 84.90911999999999C174.981856 84.90911999999999 175.63639999999998 84.25457599999999 175.63639999999998 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M198.5455 83.27275999999999C198.5455 82.290944 197.89095600000002 81.6364 196.90914 81.6364C195.927324 81.6364 195.27278 82.290944 195.27278 83.27275999999999C195.27278 84.25457599999999 195.927324 84.90911999999999 196.90914 84.90911999999999C197.89095600000002 84.90911999999999 198.5455 84.25457599999999 198.5455 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 83.27275999999999C221.45459999999997 82.290944 220.80005599999998 81.6364 219.81823999999997 81.6364C218.83642399999997 81.6364 218.18187999999998 82.290944 218.18187999999998 83.27275999999999C218.18187999999998 84.25457599999999 218.83642399999997 84.90911999999999 219.81823999999997 84.90911999999999C220.80005599999998 84.90911999999999 221.45459999999997 84.25457599999999 221.45459999999997 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M244.3637 83.27275999999999C244.3637 82.290944 243.709156 81.6364 242.72734 81.6364C241.745524 81.6364 241.09098 82.290944 241.09098 83.27275999999999C241.09098 84.25457599999999 241.745524 84.90911999999999 242.72734 84.90911999999999C243.709156 84.90911999999999 244.3637 84.25457599999999 244.3637 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 83.27275999999999C267.27279999999996 82.290944 266.6182559999999 81.6364 265.63643999999994 81.6364C264.65462399999996 81.6364 264.0000799999999 82.290944 264.0000799999999 83.27275999999999C264.0000799999999 84.25457599999999 264.65462399999996 84.90911999999999 265.63643999999994 84.90911999999999C266.6182559999999 84.90911999999999 267.27279999999996 84.25457599999999 267.27279999999996 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M290.1819 83.27275999999999C290.1819 82.290944 289.52735599999994 81.6364 288.54553999999996 81.6364C287.563724 81.6364 286.90917999999994 82.290944 286.90917999999994 83.27275999999999C286.90917999999994 84.25457599999999 287.563724 84.90911999999999 288.54553999999996 84.90911999999999C289.52735599999994 84.90911999999999 290.1819 84.25457599999999 290.1819 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 83.27275999999999C313.09099999999995 82.290944 312.4364559999999 81.6364 311.4546399999999 81.6364C310.47282399999995 81.6364 309.8182799999999 82.290944 309.8182799999999 83.27275999999999C309.8182799999999 84.25457599999999 310.47282399999995 84.90911999999999 311.4546399999999 84.90911999999999C312.4364559999999 84.90911999999999 313.09099999999995 84.25457599999999 313.09099999999995 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M336.0001 83.27275999999999C336.0001 82.290944 335.34555599999993 81.6364 334.36373999999995 81.6364C333.38192399999997 81.6364 332.7273799999999 82.290944 332.7273799999999 83.27275999999999C332.7273799999999 84.25457599999999 333.38192399999997 84.90911999999999 334.36373999999995 84.90911999999999C335.34555599999993 84.90911999999999 336.0001 84.25457599999999 336.0001 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M15.2727 106.18185999999999C15.2727 105.20004399999999 14.618156 104.54549999999999 13.63634 104.54549999999999C12.654524 104.54549999999999 11.99998 105.20004399999999 11.99998 106.18185999999999C11.99998 107.16367599999998 12.654524 107.81821999999998 13.63634 107.81821999999998C14.618156 107.81821999999998 15.2727 107.16367599999998 15.2727 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 106.18185999999999C38.181799999999996 105.20004399999999 37.527255999999994 104.54549999999999 36.54543999999999 104.54549999999999C35.56362399999999 104.54549999999999 34.90907999999999 105.20004399999999 34.90907999999999 106.18185999999999C34.90907999999999 107.16367599999998 35.56362399999999 107.81821999999998 36.54543999999999 107.81821999999998C37.527255999999994 107.81821999999998 38.181799999999996 107.16367599999998 38.181799999999996 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M61.0909 106.18185999999999C61.0909 105.20004399999999 60.436355999999996 104.54549999999999 59.454539999999994 104.54549999999999C58.47272399999999 104.54549999999999 57.81817999999999 105.20004399999999 57.81817999999999 106.18185999999999C57.81817999999999 107.16367599999998 58.47272399999999 107.81821999999998 59.454539999999994 107.81821999999998C60.436355999999996 107.81821999999998 61.0909 107.16367599999998 61.0909 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M84 106.18185999999999C84 105.20004399999999 83.345456 104.54549999999999 82.36364 104.54549999999999C81.38182400000001 104.54549999999999 80.72728000000001 105.20004399999999 80.72728000000001 106.18185999999999C80.72728000000001 107.16367599999998 81.38182400000001 107.81821999999998 82.36364 107.81821999999998C83.345456 107.81821999999998 84 107.16367599999998 84 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M106.9091 106.18185999999999C106.9091 105.20004399999999 106.254556 104.54549999999999 105.27274 104.54549999999999C104.290924 104.54549999999999 103.63638 105.20004399999999 103.63638 106.18185999999999C103.63638 107.16367599999998 104.290924 107.81821999999998 105.27274 107.81821999999998C106.254556 107.81821999999998 106.9091 107.16367599999998 106.9091 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M129.8182 106.18185999999999C129.8182 105.20004399999999 129.163656 104.54549999999999 128.18184 104.54549999999999C127.200024 104.54549999999999 126.54548 105.20004399999999 126.54548 106.18185999999999C126.54548 107.16367599999998 127.200024 107.81821999999998 128.18184 107.81821999999998C129.163656 107.81821999999998 129.8182 107.16367599999998 129.8182 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M152.7273 106.18185999999999C152.7273 105.20004399999999 152.07275600000003 104.54549999999999 151.09094000000002 104.54549999999999C150.109124 104.54549999999999 149.45458000000002 105.20004399999999 149.45458000000002 106.18185999999999C149.45458000000002 107.16367599999998 150.109124 107.81821999999998 151.09094000000002 107.81821999999998C152.07275600000003 107.81821999999998 152.7273 107.16367599999998 152.7273 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 106.18185999999999C175.63639999999998 105.20004399999999 174.981856 104.54549999999999 174.00003999999998 104.54549999999999C173.01822399999998 104.54549999999999 172.36368 105.20004399999999 172.36368 106.18185999999999C172.36368 107.16367599999998 173.01822399999998 107.81821999999998 174.00003999999998 107.81821999999998C174.981856 107.81821999999998 175.63639999999998 107.16367599999998 175.63639999999998 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M198.5455 106.18185999999999C198.5455 105.20004399999999 197.89095600000002 104.54549999999999 196.90914 104.54549999999999C195.927324 104.54549999999999 195.27278 105.20004399999999 195.27278 106.18185999999999C195.27278 107.16367599999998 195.927324 107.81821999999998 196.90914 107.81821999999998C197.89095600000002 107.81821999999998 198.5455 107.16367599999998 198.5455 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 106.18185999999999C221.45459999999997 105.20004399999999 220.80005599999998 104.54549999999999 219.81823999999997 104.54549999999999C218.83642399999997 104.54549999999999 218.18187999999998 105.20004399999999 218.18187999999998 106.18185999999999C218.18187999999998 107.16367599999998 218.83642399999997 107.81821999999998 219.81823999999997 107.81821999999998C220.80005599999998 107.81821999999998 221.45459999999997 107.16367599999998 221.45459999999997 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M244.3637 106.18185999999999C244.3637 105.20004399999999 243.709156 104.54549999999999 242.72734 104.54549999999999C241.745524 104.54549999999999 241.09098 105.20004399999999 241.09098 106.18185999999999C241.09098 107.16367599999998 241.745524 107.81821999999998 242.72734 107.81821999999998C243.709156 107.81821999999998 244.3637 107.16367599999998 244.3637 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 106.18185999999999C267.27279999999996 105.20004399999999 266.6182559999999 104.54549999999999 265.63643999999994 104.54549999999999C264.65462399999996 104.54549999999999 264.0000799999999 105.20004399999999 264.0000799999999 106.18185999999999C264.0000799999999 107.16367599999998 264.65462399999996 107.81821999999998 265.63643999999994 107.81821999999998C266.6182559999999 107.81821999999998 267.27279999999996 107.16367599999998 267.27279999999996 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M290.1819 106.18185999999999C290.1819 105.20004399999999 289.52735599999994 104.54549999999999 288.54553999999996 104.54549999999999C287.563724 104.54549999999999 286.90917999999994 105.20004399999999 286.90917999999994 106.18185999999999C286.90917999999994 107.16367599999998 287.563724 107.81821999999998 288.54553999999996 107.81821999999998C289.52735599999994 107.81821999999998 290.1819 107.16367599999998 290.1819 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 106.18185999999999C313.09099999999995 105.20004399999999 312.4364559999999 104.54549999999999 311.4546399999999 104.54549999999999C310.47282399999995 104.54549999999999 309.8182799999999 105.20004399999999 309.8182799999999 106.18185999999999C309.8182799999999 107.16367599999998 310.47282399999995 107.81821999999998 311.4546399999999 107.81821999999998C312.4364559999999 107.81821999999998 313.09099999999995 107.16367599999998 313.09099999999995 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M336.0001 106.18185999999999C336.0001 105.20004399999999 335.34555599999993 104.54549999999999 334.36373999999995 104.54549999999999C333.38192399999997 104.54549999999999 332.7273799999999 105.20004399999999 332.7273799999999 106.18185999999999C332.7273799999999 107.16367599999998 333.38192399999997 107.81821999999998 334.36373999999995 107.81821999999998C335.34555599999993 107.81821999999998 336.0001 107.16367599999998 336.0001 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M15.2727 129.09096C15.2727 128.109144 14.618156 127.4546 13.63634 127.4546C12.654524 127.4546 11.99998 128.109144 11.99998 129.09096C11.99998 130.072776 12.654524 130.72732 13.63634 130.72732C14.618156 130.72732 15.2727 130.072776 15.2727 129.09096Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 129.09096C38.181799999999996 128.109144 37.527255999999994 127.4546 36.54543999999999 127.4546C35.56362399999999 127.4546 34.90907999999999 128.109144 34.90907999999999 129.09096C34.90907999999999 130.072776 35.56362399999999 130.72732 36.54543999999999 130.72732C37.527255999999994 130.72732 38.181799999999996 130.072776 38.181799999999996 129.09096Z" fill="var(--color-border-100)"></path><path d="M61.0909 129.09096C61.0909 128.109144 60.436355999999996 127.4546 59.454539999999994 127.4546C58.47272399999999 127.4546 57.81817999999999 128.109144 57.81817999999999 129.09096C57.81817999999999 130.072776 58.47272399999999 130.72732 59.454539999999994 130.72732C60.436355999999996 130.72732 61.0909 130.072776 61.0909 129.09096Z" fill="var(--color-border-100)"></path><path d="M84 129.09096C84 128.109144 83.345456 127.4546 82.36364 127.4546C81.38182400000001 127.4546 80.72728000000001 128.109144 80.72728000000001 129.09096C80.72728000000001 130.072776 81.38182400000001 130.72732 82.36364 130.72732C83.345456 130.72732 84 130.072776 84 129.09096Z" fill="var(--color-border-100)"></path><path d="M106.9091 129.09096C106.9091 128.109144 106.254556 127.4546 105.27274 127.4546C104.290924 127.4546 103.63638 128.109144 103.63638 129.09096C103.63638 130.072776 104.290924 130.72732 105.27274 130.72732C106.254556 130.72732 106.9091 130.072776 106.9091 129.09096Z" fill="var(--color-border-100)"></path><path d="M129.8182 129.09096C129.8182 128.109144 129.163656 127.4546 128.18184 127.4546C127.200024 127.4546 126.54548 128.109144 126.54548 129.09096C126.54548 130.072776 127.200024 130.72732 128.18184 130.72732C129.163656 130.72732 129.8182 130.072776 129.8182 129.09096Z" fill="var(--color-border-100)"></path><path d="M152.7273 129.09096C152.7273 128.109144 152.07275600000003 127.4546 151.09094000000002 127.4546C150.109124 127.4546 149.45458000000002 128.109144 149.45458000000002 129.09096C149.45458000000002 130.072776 150.109124 130.72732 151.09094000000002 130.72732C152.07275600000003 130.72732 152.7273 130.072776 152.7273 129.09096Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 129.09096C175.63639999999998 128.109144 174.981856 127.4546 174.00003999999998 127.4546C173.01822399999998 127.4546 172.36368 128.109144 172.36368 129.09096C172.36368 130.072776 173.01822399999998 130.72732 174.00003999999998 130.72732C174.981856 130.72732 175.63639999999998 130.072776 175.63639999999998 129.09096Z" fill="var(--color-border-100)"></path><path d="M198.5455 129.09096C198.5455 128.109144 197.89095600000002 127.4546 196.90914 127.4546C195.927324 127.4546 195.27278 128.109144 195.27278 129.09096C195.27278 130.072776 195.927324 130.72732 196.90914 130.72732C197.89095600000002 130.72732 198.5455 130.072776 198.5455 129.09096Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 129.09096C221.45459999999997 128.109144 220.80005599999998 127.4546 219.81823999999997 127.4546C218.83642399999997 127.4546 218.18187999999998 128.109144 218.18187999999998 129.09096C218.18187999999998 130.072776 218.83642399999997 130.72732 219.81823999999997 130.72732C220.80005599999998 130.72732 221.45459999999997 130.072776 221.45459999999997 129.09096Z" fill="var(--color-border-100)"></path><path d="M244.3637 129.09096C244.3637 128.109144 243.709156 127.4546 242.72734 127.4546C241.745524 127.4546 241.09098 128.109144 241.09098 129.09096C241.09098 130.072776 241.745524 130.72732 242.72734 130.72732C243.709156 130.72732 244.3637 130.072776 244.3637 129.09096Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 129.09096C267.27279999999996 128.109144 266.6182559999999 127.4546 265.63643999999994 127.4546C264.65462399999996 127.4546 264.0000799999999 128.109144 264.0000799999999 129.09096C264.0000799999999 130.072776 264.65462399999996 130.72732 265.63643999999994 130.72732C266.6182559999999 130.72732 267.27279999999996 130.072776 267.27279999999996 129.09096Z" fill="var(--color-border-100)"></path><path d="M290.1819 129.09096C290.1819 128.109144 289.52735599999994 127.4546 288.54553999999996 127.4546C287.563724 127.4546 286.90917999999994 128.109144 286.90917999999994 129.09096C286.90917999999994 130.072776 287.563724 130.72732 288.54553999999996 130.72732C289.52735599999994 130.72732 290.1819 130.072776 290.1819 129.09096Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 129.09096C313.09099999999995 128.109144 312.4364559999999 127.4546 311.4546399999999 127.4546C310.47282399999995 127.4546 309.8182799999999 128.109144 309.8182799999999 129.09096C309.8182799999999 130.072776 310.47282399999995 130.72732 311.4546399999999 130.72732C312.4364559999999 130.72732 313.09099999999995 130.072776 313.09099999999995 129.09096Z" fill="var(--color-border-100)"></path><path d="M336.0001 129.09096C336.0001 128.109144 335.34555599999993 127.4546 334.36373999999995 127.4546C333.38192399999997 127.4546 332.7273799999999 128.109144 332.7273799999999 129.09096C332.7273799999999 130.072776 333.38192399999997 130.72732 334.36373999999995 130.72732C335.34555599999993 130.72732 336.0001 130.072776 336.0001 129.09096Z" fill="var(--color-border-100)"></path><path d="M15.2727 152.00006C15.2727 151.01824399999998 14.618156 150.3637 13.63634 150.3637C12.654524 150.3637 11.99998 151.01824399999998 11.99998 152.00006C11.99998 152.981876 12.654524 153.63642 13.63634 153.63642C14.618156 153.63642 15.2727 152.981876 15.2727 152.00006Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 152.00006C38.181799999999996 151.01824399999998 37.527255999999994 150.3637 36.54543999999999 150.3637C35.56362399999999 150.3637 34.90907999999999 151.01824399999998 34.90907999999999 152.00006C34.90907999999999 152.981876 35.56362399999999 153.63642 36.54543999999999 153.63642C37.527255999999994 153.63642 38.181799999999996 152.981876 38.181799999999996 152.00006Z" fill="var(--color-border-100)"></path><path d="M61.0909 152.00006C61.0909 151.01824399999998 60.436355999999996 150.3637 59.454539999999994 150.3637C58.47272399999999 150.3637 57.81817999999999 151.01824399999998 57.81817999999999 152.00006C57.81817999999999 152.981876 58.47272399999999 153.63642 59.454539999999994 153.63642C60.436355999999996 153.63642 61.0909 152.981876 61.0909 152.00006Z" fill="var(--color-border-100)"></path><path d="M84 152.00006C84 151.01824399999998 83.345456 150.3637 82.36364 150.3637C81.38182400000001 150.3637 80.72728000000001 151.01824399999998 80.72728000000001 152.00006C80.72728000000001 152.981876 81.38182400000001 153.63642 82.36364 153.63642C83.345456 153.63642 84 152.981876 84 152.00006Z" fill="var(--color-border-100)"></path><path d="M106.9091 152.00006C106.9091 151.01824399999998 106.254556 150.3637 105.27274 150.3637C104.290924 150.3637 103.63638 151.01824399999998 103.63638 152.00006C103.63638 152.981876 104.290924 153.63642 105.27274 153.63642C106.254556 153.63642 106.9091 152.981876 106.9091 152.00006Z" fill="var(--color-border-100)"></path><path d="M129.8182 152.00006C129.8182 151.01824399999998 129.163656 150.3637 128.18184 150.3637C127.200024 150.3637 126.54548 151.01824399999998 126.54548 152.00006C126.54548 152.981876 127.200024 153.63642 128.18184 153.63642C129.163656 153.63642 129.8182 152.981876 129.8182 152.00006Z" fill="var(--color-border-100)"></path><path d="M152.7273 152.00006C152.7273 151.01824399999998 152.07275600000003 150.3637 151.09094000000002 150.3637C150.109124 150.3637 149.45458000000002 151.01824399999998 149.45458000000002 152.00006C149.45458000000002 152.981876 150.109124 153.63642 151.09094000000002 153.63642C152.07275600000003 153.63642 152.7273 152.981876 152.7273 152.00006Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 152.00006C175.63639999999998 151.01824399999998 174.981856 150.3637 174.00003999999998 150.3637C173.01822399999998 150.3637 172.36368 151.01824399999998 172.36368 152.00006C172.36368 152.981876 173.01822399999998 153.63642 174.00003999999998 153.63642C174.981856 153.63642 175.63639999999998 152.981876 175.63639999999998 152.00006Z" fill="var(--color-border-100)"></path><path d="M198.5455 152.00006C198.5455 151.01824399999998 197.89095600000002 150.3637 196.90914 150.3637C195.927324 150.3637 195.27278 151.01824399999998 195.27278 152.00006C195.27278 152.981876 195.927324 153.63642 196.90914 153.63642C197.89095600000002 153.63642 198.5455 152.981876 198.5455 152.00006Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 152.00006C221.45459999999997 151.01824399999998 220.80005599999998 150.3637 219.81823999999997 150.3637C218.83642399999997 150.3637 218.18187999999998 151.01824399999998 218.18187999999998 152.00006C218.18187999999998 152.981876 218.83642399999997 153.63642 219.81823999999997 153.63642C220.80005599999998 153.63642 221.45459999999997 152.981876 221.45459999999997 152.00006Z" fill="var(--color-border-100)"></path><path d="M244.3637 152.00006C244.3637 151.01824399999998 243.709156 150.3637 242.72734 150.3637C241.745524 150.3637 241.09098 151.01824399999998 241.09098 152.00006C241.09098 152.981876 241.745524 153.63642 242.72734 153.63642C243.709156 153.63642 244.3637 152.981876 244.3637 152.00006Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 152.00006C267.27279999999996 151.01824399999998 266.6182559999999 150.3637 265.63643999999994 150.3637C264.65462399999996 150.3637 264.0000799999999 151.01824399999998 264.0000799999999 152.00006C264.0000799999999 152.981876 264.65462399999996 153.63642 265.63643999999994 153.63642C266.6182559999999 153.63642 267.27279999999996 152.981876 267.27279999999996 152.00006Z" fill="var(--color-border-100)"></path><path d="M290.1819 152.00006C290.1819 151.01824399999998 289.52735599999994 150.3637 288.54553999999996 150.3637C287.563724 150.3637 286.90917999999994 151.01824399999998 286.90917999999994 152.00006C286.90917999999994 152.981876 287.563724 153.63642 288.54553999999996 153.63642C289.52735599999994 153.63642 290.1819 152.981876 290.1819 152.00006Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 152.00006C313.09099999999995 151.01824399999998 312.4364559999999 150.3637 311.4546399999999 150.3637C310.47282399999995 150.3637 309.8182799999999 151.01824399999998 309.8182799999999 152.00006C309.8182799999999 152.981876 310.47282399999995 153.63642 311.4546399999999 153.63642C312.4364559999999 153.63642 313.09099999999995 152.981876 313.09099999999995 152.00006Z" fill="var(--color-border-100)"></path><path d="M336.0001 152.00006C336.0001 151.01824399999998 335.34555599999993 150.3637 334.36373999999995 150.3637C333.38192399999997 150.3637 332.7273799999999 151.01824399999998 332.7273799999999 152.00006C332.7273799999999 152.981876 333.38192399999997 153.63642 334.36373999999995 153.63642C335.34555599999993 153.63642 336.0001 152.981876 336.0001 152.00006Z" fill="var(--color-border-100)"></path><path d="M15.2727 174.90915999999999C15.2727 173.92734399999998 14.618156 173.2728 13.63634 173.2728C12.654524 173.2728 11.99998 173.92734399999998 11.99998 174.90915999999999C11.99998 175.890976 12.654524 176.54551999999998 13.63634 176.54551999999998C14.618156 176.54551999999998 15.2727 175.890976 15.2727 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 174.90915999999999C38.181799999999996 173.92734399999998 37.527255999999994 173.2728 36.54543999999999 173.2728C35.56362399999999 173.2728 34.90907999999999 173.92734399999998 34.90907999999999 174.90915999999999C34.90907999999999 175.890976 35.56362399999999 176.54551999999998 36.54543999999999 176.54551999999998C37.527255999999994 176.54551999999998 38.181799999999996 175.890976 38.181799999999996 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M61.0909 174.90915999999999C61.0909 173.92734399999998 60.436355999999996 173.2728 59.454539999999994 173.2728C58.47272399999999 173.2728 57.81817999999999 173.92734399999998 57.81817999999999 174.90915999999999C57.81817999999999 175.890976 58.47272399999999 176.54551999999998 59.454539999999994 176.54551999999998C60.436355999999996 176.54551999999998 61.0909 175.890976 61.0909 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M84 174.90915999999999C84 173.92734399999998 83.345456 173.2728 82.36364 173.2728C81.38182400000001 173.2728 80.72728000000001 173.92734399999998 80.72728000000001 174.90915999999999C80.72728000000001 175.890976 81.38182400000001 176.54551999999998 82.36364 176.54551999999998C83.345456 176.54551999999998 84 175.890976 84 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M106.9091 174.90915999999999C106.9091 173.92734399999998 106.254556 173.2728 105.27274 173.2728C104.290924 173.2728 103.63638 173.92734399999998 103.63638 174.90915999999999C103.63638 175.890976 104.290924 176.54551999999998 105.27274 176.54551999999998C106.254556 176.54551999999998 106.9091 175.890976 106.9091 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M129.8182 174.90915999999999C129.8182 173.92734399999998 129.163656 173.2728 128.18184 173.2728C127.200024 173.2728 126.54548 173.92734399999998 126.54548 174.90915999999999C126.54548 175.890976 127.200024 176.54551999999998 128.18184 176.54551999999998C129.163656 176.54551999999998 129.8182 175.890976 129.8182 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M152.7273 174.90915999999999C152.7273 173.92734399999998 152.07275600000003 173.2728 151.09094000000002 173.2728C150.109124 173.2728 149.45458000000002 173.92734399999998 149.45458000000002 174.90915999999999C149.45458000000002 175.890976 150.109124 176.54551999999998 151.09094000000002 176.54551999999998C152.07275600000003 176.54551999999998 152.7273 175.890976 152.7273 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 174.90915999999999C175.63639999999998 173.92734399999998 174.981856 173.2728 174.00003999999998 173.2728C173.01822399999998 173.2728 172.36368 173.92734399999998 172.36368 174.90915999999999C172.36368 175.890976 173.01822399999998 176.54551999999998 174.00003999999998 176.54551999999998C174.981856 176.54551999999998 175.63639999999998 175.890976 175.63639999999998 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M198.5455 174.90915999999999C198.5455 173.92734399999998 197.89095600000002 173.2728 196.90914 173.2728C195.927324 173.2728 195.27278 173.92734399999998 195.27278 174.90915999999999C195.27278 175.890976 195.927324 176.54551999999998 196.90914 176.54551999999998C197.89095600000002 176.54551999999998 198.5455 175.890976 198.5455 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 174.90915999999999C221.45459999999997 173.92734399999998 220.80005599999998 173.2728 219.81823999999997 173.2728C218.83642399999997 173.2728 218.18187999999998 173.92734399999998 218.18187999999998 174.90915999999999C218.18187999999998 175.890976 218.83642399999997 176.54551999999998 219.81823999999997 176.54551999999998C220.80005599999998 176.54551999999998 221.45459999999997 175.890976 221.45459999999997 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M244.3637 174.90915999999999C244.3637 173.92734399999998 243.709156 173.2728 242.72734 173.2728C241.745524 173.2728 241.09098 173.92734399999998 241.09098 174.90915999999999C241.09098 175.890976 241.745524 176.54551999999998 242.72734 176.54551999999998C243.709156 176.54551999999998 244.3637 175.890976 244.3637 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 174.90915999999999C267.27279999999996 173.92734399999998 266.6182559999999 173.2728 265.63643999999994 173.2728C264.65462399999996 173.2728 264.0000799999999 173.92734399999998 264.0000799999999 174.90915999999999C264.0000799999999 175.890976 264.65462399999996 176.54551999999998 265.63643999999994 176.54551999999998C266.6182559999999 176.54551999999998 267.27279999999996 175.890976 267.27279999999996 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M290.1819 174.90915999999999C290.1819 173.92734399999998 289.52735599999994 173.2728 288.54553999999996 173.2728C287.563724 173.2728 286.90917999999994 173.92734399999998 286.90917999999994 174.90915999999999C286.90917999999994 175.890976 287.563724 176.54551999999998 288.54553999999996 176.54551999999998C289.52735599999994 176.54551999999998 290.1819 175.890976 290.1819 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 174.90915999999999C313.09099999999995 173.92734399999998 312.4364559999999 173.2728 311.4546399999999 173.2728C310.47282399999995 173.2728 309.8182799999999 173.92734399999998 309.8182799999999 174.90915999999999C309.8182799999999 175.890976 310.47282399999995 176.54551999999998 311.4546399999999 176.54551999999998C312.4364559999999 176.54551999999998 313.09099999999995 175.890976 313.09099999999995 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M336.0001 174.90915999999999C336.0001 173.92734399999998 335.34555599999993 173.2728 334.36373999999995 173.2728C333.38192399999997 173.2728 332.7273799999999 173.92734399999998 332.7273799999999 174.90915999999999C332.7273799999999 175.890976 333.38192399999997 176.54551999999998 334.36373999999995 176.54551999999998C335.34555599999993 176.54551999999998 336.0001 175.890976 336.0001 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M15.2727 197.81825999999998C15.2727 196.83644399999997 14.618156 196.18189999999998 13.63634 196.18189999999998C12.654524 196.18189999999998 11.99998 196.83644399999997 11.99998 197.81825999999998C11.99998 198.800076 12.654524 199.45461999999998 13.63634 199.45461999999998C14.618156 199.45461999999998 15.2727 198.800076 15.2727 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 197.81825999999998C38.181799999999996 196.83644399999997 37.527255999999994 196.18189999999998 36.54543999999999 196.18189999999998C35.56362399999999 196.18189999999998 34.90907999999999 196.83644399999997 34.90907999999999 197.81825999999998C34.90907999999999 198.800076 35.56362399999999 199.45461999999998 36.54543999999999 199.45461999999998C37.527255999999994 199.45461999999998 38.181799999999996 198.800076 38.181799999999996 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M61.0909 197.81825999999998C61.0909 196.83644399999997 60.436355999999996 196.18189999999998 59.454539999999994 196.18189999999998C58.47272399999999 196.18189999999998 57.81817999999999 196.83644399999997 57.81817999999999 197.81825999999998C57.81817999999999 198.800076 58.47272399999999 199.45461999999998 59.454539999999994 199.45461999999998C60.436355999999996 199.45461999999998 61.0909 198.800076 61.0909 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M84 197.81825999999998C84 196.83644399999997 83.345456 196.18189999999998 82.36364 196.18189999999998C81.38182400000001 196.18189999999998 80.72728000000001 196.83644399999997 80.72728000000001 197.81825999999998C80.72728000000001 198.800076 81.38182400000001 199.45461999999998 82.36364 199.45461999999998C83.345456 199.45461999999998 84 198.800076 84 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M106.9091 197.81825999999998C106.9091 196.83644399999997 106.254556 196.18189999999998 105.27274 196.18189999999998C104.290924 196.18189999999998 103.63638 196.83644399999997 103.63638 197.81825999999998C103.63638 198.800076 104.290924 199.45461999999998 105.27274 199.45461999999998C106.254556 199.45461999999998 106.9091 198.800076 106.9091 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M129.8182 197.81825999999998C129.8182 196.83644399999997 129.163656 196.18189999999998 128.18184 196.18189999999998C127.200024 196.18189999999998 126.54548 196.83644399999997 126.54548 197.81825999999998C126.54548 198.800076 127.200024 199.45461999999998 128.18184 199.45461999999998C129.163656 199.45461999999998 129.8182 198.800076 129.8182 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M152.7273 197.81825999999998C152.7273 196.83644399999997 152.07275600000003 196.18189999999998 151.09094000000002 196.18189999999998C150.109124 196.18189999999998 149.45458000000002 196.83644399999997 149.45458000000002 197.81825999999998C149.45458000000002 198.800076 150.109124 199.45461999999998 151.09094000000002 199.45461999999998C152.07275600000003 199.45461999999998 152.7273 198.800076 152.7273 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 197.81825999999998C175.63639999999998 196.83644399999997 174.981856 196.18189999999998 174.00003999999998 196.18189999999998C173.01822399999998 196.18189999999998 172.36368 196.83644399999997 172.36368 197.81825999999998C172.36368 198.800076 173.01822399999998 199.45461999999998 174.00003999999998 199.45461999999998C174.981856 199.45461999999998 175.63639999999998 198.800076 175.63639999999998 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M198.5455 197.81825999999998C198.5455 196.83644399999997 197.89095600000002 196.18189999999998 196.90914 196.18189999999998C195.927324 196.18189999999998 195.27278 196.83644399999997 195.27278 197.81825999999998C195.27278 198.800076 195.927324 199.45461999999998 196.90914 199.45461999999998C197.89095600000002 199.45461999999998 198.5455 198.800076 198.5455 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 197.81825999999998C221.45459999999997 196.83644399999997 220.80005599999998 196.18189999999998 219.81823999999997 196.18189999999998C218.83642399999997 196.18189999999998 218.18187999999998 196.83644399999997 218.18187999999998 197.81825999999998C218.18187999999998 198.800076 218.83642399999997 199.45461999999998 219.81823999999997 199.45461999999998C220.80005599999998 199.45461999999998 221.45459999999997 198.800076 221.45459999999997 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M244.3637 197.81825999999998C244.3637 196.83644399999997 243.709156 196.18189999999998 242.72734 196.18189999999998C241.745524 196.18189999999998 241.09098 196.83644399999997 241.09098 197.81825999999998C241.09098 198.800076 241.745524 199.45461999999998 242.72734 199.45461999999998C243.709156 199.45461999999998 244.3637 198.800076 244.3637 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 197.81825999999998C267.27279999999996 196.83644399999997 266.6182559999999 196.18189999999998 265.63643999999994 196.18189999999998C264.65462399999996 196.18189999999998 264.0000799999999 196.83644399999997 264.0000799999999 197.81825999999998C264.0000799999999 198.800076 264.65462399999996 199.45461999999998 265.63643999999994 199.45461999999998C266.6182559999999 199.45461999999998 267.27279999999996 198.800076 267.27279999999996 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M290.1819 197.81825999999998C290.1819 196.83644399999997 289.52735599999994 196.18189999999998 288.54553999999996 196.18189999999998C287.563724 196.18189999999998 286.90917999999994 196.83644399999997 286.90917999999994 197.81825999999998C286.90917999999994 198.800076 287.563724 199.45461999999998 288.54553999999996 199.45461999999998C289.52735599999994 199.45461999999998 290.1819 198.800076 290.1819 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 197.81825999999998C313.09099999999995 196.83644399999997 312.4364559999999 196.18189999999998 311.4546399999999 196.18189999999998C310.47282399999995 196.18189999999998 309.8182799999999 196.83644399999997 309.8182799999999 197.81825999999998C309.8182799999999 198.800076 310.47282399999995 199.45461999999998 311.4546399999999 199.45461999999998C312.4364559999999 199.45461999999998 313.09099999999995 198.800076 313.09099999999995 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M336.0001 197.81825999999998C336.0001 196.83644399999997 335.34555599999993 196.18189999999998 334.36373999999995 196.18189999999998C333.38192399999997 196.18189999999998 332.7273799999999 196.83644399999997 332.7273799999999 197.81825999999998C332.7273799999999 198.800076 333.38192399999997 199.45461999999998 334.36373999999995 199.45461999999998C335.34555599999993 199.45461999999998 336.0001 198.800076 336.0001 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M15.2727 220.72735999999998C15.2727 219.74554399999997 14.618156 219.09099999999998 13.63634 219.09099999999998C12.654524 219.09099999999998 11.99998 219.74554399999997 11.99998 220.72735999999998C11.99998 221.70917599999999 12.654524 222.36371999999997 13.63634 222.36371999999997C14.618156 222.36371999999997 15.2727 221.70917599999999 15.2727 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 220.72735999999998C38.181799999999996 219.74554399999997 37.527255999999994 219.09099999999998 36.54543999999999 219.09099999999998C35.56362399999999 219.09099999999998 34.90907999999999 219.74554399999997 34.90907999999999 220.72735999999998C34.90907999999999 221.70917599999999 35.56362399999999 222.36371999999997 36.54543999999999 222.36371999999997C37.527255999999994 222.36371999999997 38.181799999999996 221.70917599999999 38.181799999999996 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M61.0909 220.72735999999998C61.0909 219.74554399999997 60.436355999999996 219.09099999999998 59.454539999999994 219.09099999999998C58.47272399999999 219.09099999999998 57.81817999999999 219.74554399999997 57.81817999999999 220.72735999999998C57.81817999999999 221.70917599999999 58.47272399999999 222.36371999999997 59.454539999999994 222.36371999999997C60.436355999999996 222.36371999999997 61.0909 221.70917599999999 61.0909 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M84 220.72735999999998C84 219.74554399999997 83.345456 219.09099999999998 82.36364 219.09099999999998C81.38182400000001 219.09099999999998 80.72728000000001 219.74554399999997 80.72728000000001 220.72735999999998C80.72728000000001 221.70917599999999 81.38182400000001 222.36371999999997 82.36364 222.36371999999997C83.345456 222.36371999999997 84 221.70917599999999 84 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M106.9091 220.72735999999998C106.9091 219.74554399999997 106.254556 219.09099999999998 105.27274 219.09099999999998C104.290924 219.09099999999998 103.63638 219.74554399999997 103.63638 220.72735999999998C103.63638 221.70917599999999 104.290924 222.36371999999997 105.27274 222.36371999999997C106.254556 222.36371999999997 106.9091 221.70917599999999 106.9091 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M129.8182 220.72735999999998C129.8182 219.74554399999997 129.163656 219.09099999999998 128.18184 219.09099999999998C127.200024 219.09099999999998 126.54548 219.74554399999997 126.54548 220.72735999999998C126.54548 221.70917599999999 127.200024 222.36371999999997 128.18184 222.36371999999997C129.163656 222.36371999999997 129.8182 221.70917599999999 129.8182 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M152.7273 220.72735999999998C152.7273 219.74554399999997 152.07275600000003 219.09099999999998 151.09094000000002 219.09099999999998C150.109124 219.09099999999998 149.45458000000002 219.74554399999997 149.45458000000002 220.72735999999998C149.45458000000002 221.70917599999999 150.109124 222.36371999999997 151.09094000000002 222.36371999999997C152.07275600000003 222.36371999999997 152.7273 221.70917599999999 152.7273 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 220.72735999999998C175.63639999999998 219.74554399999997 174.981856 219.09099999999998 174.00003999999998 219.09099999999998C173.01822399999998 219.09099999999998 172.36368 219.74554399999997 172.36368 220.72735999999998C172.36368 221.70917599999999 173.01822399999998 222.36371999999997 174.00003999999998 222.36371999999997C174.981856 222.36371999999997 175.63639999999998 221.70917599999999 175.63639999999998 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M198.5455 220.72735999999998C198.5455 219.74554399999997 197.89095600000002 219.09099999999998 196.90914 219.09099999999998C195.927324 219.09099999999998 195.27278 219.74554399999997 195.27278 220.72735999999998C195.27278 221.70917599999999 195.927324 222.36371999999997 196.90914 222.36371999999997C197.89095600000002 222.36371999999997 198.5455 221.70917599999999 198.5455 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 220.72735999999998C221.45459999999997 219.74554399999997 220.80005599999998 219.09099999999998 219.81823999999997 219.09099999999998C218.83642399999997 219.09099999999998 218.18187999999998 219.74554399999997 218.18187999999998 220.72735999999998C218.18187999999998 221.70917599999999 218.83642399999997 222.36371999999997 219.81823999999997 222.36371999999997C220.80005599999998 222.36371999999997 221.45459999999997 221.70917599999999 221.45459999999997 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M244.3637 220.72735999999998C244.3637 219.74554399999997 243.709156 219.09099999999998 242.72734 219.09099999999998C241.745524 219.09099999999998 241.09098 219.74554399999997 241.09098 220.72735999999998C241.09098 221.70917599999999 241.745524 222.36371999999997 242.72734 222.36371999999997C243.709156 222.36371999999997 244.3637 221.70917599999999 244.3637 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 220.72735999999998C267.27279999999996 219.74554399999997 266.6182559999999 219.09099999999998 265.63643999999994 219.09099999999998C264.65462399999996 219.09099999999998 264.0000799999999 219.74554399999997 264.0000799999999 220.72735999999998C264.0000799999999 221.70917599999999 264.65462399999996 222.36371999999997 265.63643999999994 222.36371999999997C266.6182559999999 222.36371999999997 267.27279999999996 221.70917599999999 267.27279999999996 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M290.1819 220.72735999999998C290.1819 219.74554399999997 289.52735599999994 219.09099999999998 288.54553999999996 219.09099999999998C287.563724 219.09099999999998 286.90917999999994 219.74554399999997 286.90917999999994 220.72735999999998C286.90917999999994 221.70917599999999 287.563724 222.36371999999997 288.54553999999996 222.36371999999997C289.52735599999994 222.36371999999997 290.1819 221.70917599999999 290.1819 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 220.72735999999998C313.09099999999995 219.74554399999997 312.4364559999999 219.09099999999998 311.4546399999999 219.09099999999998C310.47282399999995 219.09099999999998 309.8182799999999 219.74554399999997 309.8182799999999 220.72735999999998C309.8182799999999 221.70917599999999 310.47282399999995 222.36371999999997 311.4546399999999 222.36371999999997C312.4364559999999 222.36371999999997 313.09099999999995 221.70917599999999 313.09099999999995 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M336.0001 220.72735999999998C336.0001 219.74554399999997 335.34555599999993 219.09099999999998 334.36373999999995 219.09099999999998C333.38192399999997 219.09099999999998 332.7273799999999 219.74554399999997 332.7273799999999 220.72735999999998C332.7273799999999 221.70917599999999 333.38192399999997 222.36371999999997 334.36373999999995 222.36371999999997C335.34555599999993 222.36371999999997 336.0001 221.70917599999999 336.0001 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M15.2727 243.63645999999997C15.2727 242.65464399999996 14.618156 242.00009999999997 13.63634 242.00009999999997C12.654524 242.00009999999997 11.99998 242.65464399999996 11.99998 243.63645999999997C11.99998 244.61827599999998 12.654524 245.27281999999997 13.63634 245.27281999999997C14.618156 245.27281999999997 15.2727 244.61827599999998 15.2727 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 243.63645999999997C38.181799999999996 242.65464399999996 37.527255999999994 242.00009999999997 36.54543999999999 242.00009999999997C35.56362399999999 242.00009999999997 34.90907999999999 242.65464399999996 34.90907999999999 243.63645999999997C34.90907999999999 244.61827599999998 35.56362399999999 245.27281999999997 36.54543999999999 245.27281999999997C37.527255999999994 245.27281999999997 38.181799999999996 244.61827599999998 38.181799999999996 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M61.0909 243.63645999999997C61.0909 242.65464399999996 60.436355999999996 242.00009999999997 59.454539999999994 242.00009999999997C58.47272399999999 242.00009999999997 57.81817999999999 242.65464399999996 57.81817999999999 243.63645999999997C57.81817999999999 244.61827599999998 58.47272399999999 245.27281999999997 59.454539999999994 245.27281999999997C60.436355999999996 245.27281999999997 61.0909 244.61827599999998 61.0909 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M84 243.63645999999997C84 242.65464399999996 83.345456 242.00009999999997 82.36364 242.00009999999997C81.38182400000001 242.00009999999997 80.72728000000001 242.65464399999996 80.72728000000001 243.63645999999997C80.72728000000001 244.61827599999998 81.38182400000001 245.27281999999997 82.36364 245.27281999999997C83.345456 245.27281999999997 84 244.61827599999998 84 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M106.9091 243.63645999999997C106.9091 242.65464399999996 106.254556 242.00009999999997 105.27274 242.00009999999997C104.290924 242.00009999999997 103.63638 242.65464399999996 103.63638 243.63645999999997C103.63638 244.61827599999998 104.290924 245.27281999999997 105.27274 245.27281999999997C106.254556 245.27281999999997 106.9091 244.61827599999998 106.9091 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M129.8182 243.63645999999997C129.8182 242.65464399999996 129.163656 242.00009999999997 128.18184 242.00009999999997C127.200024 242.00009999999997 126.54548 242.65464399999996 126.54548 243.63645999999997C126.54548 244.61827599999998 127.200024 245.27281999999997 128.18184 245.27281999999997C129.163656 245.27281999999997 129.8182 244.61827599999998 129.8182 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M152.7273 243.63645999999997C152.7273 242.65464399999996 152.07275600000003 242.00009999999997 151.09094000000002 242.00009999999997C150.109124 242.00009999999997 149.45458000000002 242.65464399999996 149.45458000000002 243.63645999999997C149.45458000000002 244.61827599999998 150.109124 245.27281999999997 151.09094000000002 245.27281999999997C152.07275600000003 245.27281999999997 152.7273 244.61827599999998 152.7273 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 243.63645999999997C175.63639999999998 242.65464399999996 174.981856 242.00009999999997 174.00003999999998 242.00009999999997C173.01822399999998 242.00009999999997 172.36368 242.65464399999996 172.36368 243.63645999999997C172.36368 244.61827599999998 173.01822399999998 245.27281999999997 174.00003999999998 245.27281999999997C174.981856 245.27281999999997 175.63639999999998 244.61827599999998 175.63639999999998 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M198.5455 243.63645999999997C198.5455 242.65464399999996 197.89095600000002 242.00009999999997 196.90914 242.00009999999997C195.927324 242.00009999999997 195.27278 242.65464399999996 195.27278 243.63645999999997C195.27278 244.61827599999998 195.927324 245.27281999999997 196.90914 245.27281999999997C197.89095600000002 245.27281999999997 198.5455 244.61827599999998 198.5455 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 243.63645999999997C221.45459999999997 242.65464399999996 220.80005599999998 242.00009999999997 219.81823999999997 242.00009999999997C218.83642399999997 242.00009999999997 218.18187999999998 242.65464399999996 218.18187999999998 243.63645999999997C218.18187999999998 244.61827599999998 218.83642399999997 245.27281999999997 219.81823999999997 245.27281999999997C220.80005599999998 245.27281999999997 221.45459999999997 244.61827599999998 221.45459999999997 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M244.3637 243.63645999999997C244.3637 242.65464399999996 243.709156 242.00009999999997 242.72734 242.00009999999997C241.745524 242.00009999999997 241.09098 242.65464399999996 241.09098 243.63645999999997C241.09098 244.61827599999998 241.745524 245.27281999999997 242.72734 245.27281999999997C243.709156 245.27281999999997 244.3637 244.61827599999998 244.3637 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 243.63645999999997C267.27279999999996 242.65464399999996 266.6182559999999 242.00009999999997 265.63643999999994 242.00009999999997C264.65462399999996 242.00009999999997 264.0000799999999 242.65464399999996 264.0000799999999 243.63645999999997C264.0000799999999 244.61827599999998 264.65462399999996 245.27281999999997 265.63643999999994 245.27281999999997C266.6182559999999 245.27281999999997 267.27279999999996 244.61827599999998 267.27279999999996 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M290.1819 243.63645999999997C290.1819 242.65464399999996 289.52735599999994 242.00009999999997 288.54553999999996 242.00009999999997C287.563724 242.00009999999997 286.90917999999994 242.65464399999996 286.90917999999994 243.63645999999997C286.90917999999994 244.61827599999998 287.563724 245.27281999999997 288.54553999999996 245.27281999999997C289.52735599999994 245.27281999999997 290.1819 244.61827599999998 290.1819 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 243.63645999999997C313.09099999999995 242.65464399999996 312.4364559999999 242.00009999999997 311.4546399999999 242.00009999999997C310.47282399999995 242.00009999999997 309.8182799999999 242.65464399999996 309.8182799999999 243.63645999999997C309.8182799999999 244.61827599999998 310.47282399999995 245.27281999999997 311.4546399999999 245.27281999999997C312.4364559999999 245.27281999999997 313.09099999999995 244.61827599999998 313.09099999999995 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M336.0001 243.63645999999997C336.0001 242.65464399999996 335.34555599999993 242.00009999999997 334.36373999999995 242.00009999999997C333.38192399999997 242.00009999999997 332.7273799999999 242.65464399999996 332.7273799999999 243.63645999999997C332.7273799999999 244.61827599999998 333.38192399999997 245.27281999999997 334.36373999999995 245.27281999999997C335.34555599999993 245.27281999999997 336.0001 244.61827599999998 336.0001 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M15.2727 266.54556C15.2727 265.56374400000004 14.618156 264.9092 13.63634 264.9092C12.654524 264.9092 11.99998 265.56374400000004 11.99998 266.54556C11.99998 267.527376 12.654524 268.18192000000005 13.63634 268.18192000000005C14.618156 268.18192000000005 15.2727 267.527376 15.2727 266.54556Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 266.54556C38.181799999999996 265.56374400000004 37.527255999999994 264.9092 36.54543999999999 264.9092C35.56362399999999 264.9092 34.90907999999999 265.56374400000004 34.90907999999999 266.54556C34.90907999999999 267.527376 35.56362399999999 268.18192000000005 36.54543999999999 268.18192000000005C37.527255999999994 268.18192000000005 38.181799999999996 267.527376 38.181799999999996 266.54556Z" fill="var(--color-border-100)"></path><path d="M61.0909 266.54556C61.0909 265.56374400000004 60.436355999999996 264.9092 59.454539999999994 264.9092C58.47272399999999 264.9092 57.81817999999999 265.56374400000004 57.81817999999999 266.54556C57.81817999999999 267.527376 58.47272399999999 268.18192000000005 59.454539999999994 268.18192000000005C60.436355999999996 268.18192000000005 61.0909 267.527376 61.0909 266.54556Z" fill="var(--color-border-100)"></path><path d="M84 266.54556C84 265.56374400000004 83.345456 264.9092 82.36364 264.9092C81.38182400000001 264.9092 80.72728000000001 265.56374400000004 80.72728000000001 266.54556C80.72728000000001 267.527376 81.38182400000001 268.18192000000005 82.36364 268.18192000000005C83.345456 268.18192000000005 84 267.527376 84 266.54556Z" fill="var(--color-border-100)"></path><path d="M106.9091 266.54556C106.9091 265.56374400000004 106.254556 264.9092 105.27274 264.9092C104.290924 264.9092 103.63638 265.56374400000004 103.63638 266.54556C103.63638 267.527376 104.290924 268.18192000000005 105.27274 268.18192000000005C106.254556 268.18192000000005 106.9091 267.527376 106.9091 266.54556Z" fill="var(--color-border-100)"></path><path d="M129.8182 266.54556C129.8182 265.56374400000004 129.163656 264.9092 128.18184 264.9092C127.200024 264.9092 126.54548 265.56374400000004 126.54548 266.54556C126.54548 267.527376 127.200024 268.18192000000005 128.18184 268.18192000000005C129.163656 268.18192000000005 129.8182 267.527376 129.8182 266.54556Z" fill="var(--color-border-100)"></path><path d="M152.7273 266.54556C152.7273 265.56374400000004 152.07275600000003 264.9092 151.09094000000002 264.9092C150.109124 264.9092 149.45458000000002 265.56374400000004 149.45458000000002 266.54556C149.45458000000002 267.527376 150.109124 268.18192000000005 151.09094000000002 268.18192000000005C152.07275600000003 268.18192000000005 152.7273 267.527376 152.7273 266.54556Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 266.54556C175.63639999999998 265.56374400000004 174.981856 264.9092 174.00003999999998 264.9092C173.01822399999998 264.9092 172.36368 265.56374400000004 172.36368 266.54556C172.36368 267.527376 173.01822399999998 268.18192000000005 174.00003999999998 268.18192000000005C174.981856 268.18192000000005 175.63639999999998 267.527376 175.63639999999998 266.54556Z" fill="var(--color-border-100)"></path><path d="M198.5455 266.54556C198.5455 265.56374400000004 197.89095600000002 264.9092 196.90914 264.9092C195.927324 264.9092 195.27278 265.56374400000004 195.27278 266.54556C195.27278 267.527376 195.927324 268.18192000000005 196.90914 268.18192000000005C197.89095600000002 268.18192000000005 198.5455 267.527376 198.5455 266.54556Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 266.54556C221.45459999999997 265.56374400000004 220.80005599999998 264.9092 219.81823999999997 264.9092C218.83642399999997 264.9092 218.18187999999998 265.56374400000004 218.18187999999998 266.54556C218.18187999999998 267.527376 218.83642399999997 268.18192000000005 219.81823999999997 268.18192000000005C220.80005599999998 268.18192000000005 221.45459999999997 267.527376 221.45459999999997 266.54556Z" fill="var(--color-border-100)"></path><path d="M244.3637 266.54556C244.3637 265.56374400000004 243.709156 264.9092 242.72734 264.9092C241.745524 264.9092 241.09098 265.56374400000004 241.09098 266.54556C241.09098 267.527376 241.745524 268.18192000000005 242.72734 268.18192000000005C243.709156 268.18192000000005 244.3637 267.527376 244.3637 266.54556Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 266.54556C267.27279999999996 265.56374400000004 266.6182559999999 264.9092 265.63643999999994 264.9092C264.65462399999996 264.9092 264.0000799999999 265.56374400000004 264.0000799999999 266.54556C264.0000799999999 267.527376 264.65462399999996 268.18192000000005 265.63643999999994 268.18192000000005C266.6182559999999 268.18192000000005 267.27279999999996 267.527376 267.27279999999996 266.54556Z" fill="var(--color-border-100)"></path><path d="M290.1819 266.54556C290.1819 265.56374400000004 289.52735599999994 264.9092 288.54553999999996 264.9092C287.563724 264.9092 286.90917999999994 265.56374400000004 286.90917999999994 266.54556C286.90917999999994 267.527376 287.563724 268.18192000000005 288.54553999999996 268.18192000000005C289.52735599999994 268.18192000000005 290.1819 267.527376 290.1819 266.54556Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 266.54556C313.09099999999995 265.56374400000004 312.4364559999999 264.9092 311.4546399999999 264.9092C310.47282399999995 264.9092 309.8182799999999 265.56374400000004 309.8182799999999 266.54556C309.8182799999999 267.527376 310.47282399999995 268.18192000000005 311.4546399999999 268.18192000000005C312.4364559999999 268.18192000000005 313.09099999999995 267.527376 313.09099999999995 266.54556Z" fill="var(--color-border-100)"></path><path d="M336.0001 266.54556C336.0001 265.56374400000004 335.34555599999993 264.9092 334.36373999999995 264.9092C333.38192399999997 264.9092 332.7273799999999 265.56374400000004 332.7273799999999 266.54556C332.7273799999999 267.527376 333.38192399999997 268.18192000000005 334.36373999999995 268.18192000000005C335.34555599999993 268.18192000000005 336.0001 267.527376 336.0001 266.54556Z" fill="var(--color-border-100)"></path><path d="M15.2727 289.45466C15.2727 288.472844 14.618156 287.81829999999997 13.63634 287.81829999999997C12.654524 287.81829999999997 11.99998 288.472844 11.99998 289.45466C11.99998 290.43647599999997 12.654524 291.09102 13.63634 291.09102C14.618156 291.09102 15.2727 290.43647599999997 15.2727 289.45466Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 289.45466C38.181799999999996 288.472844 37.527255999999994 287.81829999999997 36.54543999999999 287.81829999999997C35.56362399999999 287.81829999999997 34.90907999999999 288.472844 34.90907999999999 289.45466C34.90907999999999 290.43647599999997 35.56362399999999 291.09102 36.54543999999999 291.09102C37.527255999999994 291.09102 38.181799999999996 290.43647599999997 38.181799999999996 289.45466Z" fill="var(--color-border-100)"></path><path d="M61.0909 289.45466C61.0909 288.472844 60.436355999999996 287.81829999999997 59.454539999999994 287.81829999999997C58.47272399999999 287.81829999999997 57.81817999999999 288.472844 57.81817999999999 289.45466C57.81817999999999 290.43647599999997 58.47272399999999 291.09102 59.454539999999994 291.09102C60.436355999999996 291.09102 61.0909 290.43647599999997 61.0909 289.45466Z" fill="var(--color-border-100)"></path><path d="M84 289.45466C84 288.472844 83.345456 287.81829999999997 82.36364 287.81829999999997C81.38182400000001 287.81829999999997 80.72728000000001 288.472844 80.72728000000001 289.45466C80.72728000000001 290.43647599999997 81.38182400000001 291.09102 82.36364 291.09102C83.345456 291.09102 84 290.43647599999997 84 289.45466Z" fill="var(--color-border-100)"></path><path d="M106.9091 289.45466C106.9091 288.472844 106.254556 287.81829999999997 105.27274 287.81829999999997C104.290924 287.81829999999997 103.63638 288.472844 103.63638 289.45466C103.63638 290.43647599999997 104.290924 291.09102 105.27274 291.09102C106.254556 291.09102 106.9091 290.43647599999997 106.9091 289.45466Z" fill="var(--color-border-100)"></path><path d="M129.8182 289.45466C129.8182 288.472844 129.163656 287.81829999999997 128.18184 287.81829999999997C127.200024 287.81829999999997 126.54548 288.472844 126.54548 289.45466C126.54548 290.43647599999997 127.200024 291.09102 128.18184 291.09102C129.163656 291.09102 129.8182 290.43647599999997 129.8182 289.45466Z" fill="var(--color-border-100)"></path><path d="M152.7273 289.45466C152.7273 288.472844 152.07275600000003 287.81829999999997 151.09094000000002 287.81829999999997C150.109124 287.81829999999997 149.45458000000002 288.472844 149.45458000000002 289.45466C149.45458000000002 290.43647599999997 150.109124 291.09102 151.09094000000002 291.09102C152.07275600000003 291.09102 152.7273 290.43647599999997 152.7273 289.45466Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 289.45466C175.63639999999998 288.472844 174.981856 287.81829999999997 174.00003999999998 287.81829999999997C173.01822399999998 287.81829999999997 172.36368 288.472844 172.36368 289.45466C172.36368 290.43647599999997 173.01822399999998 291.09102 174.00003999999998 291.09102C174.981856 291.09102 175.63639999999998 290.43647599999997 175.63639999999998 289.45466Z" fill="var(--color-border-100)"></path><path d="M198.5455 289.45466C198.5455 288.472844 197.89095600000002 287.81829999999997 196.90914 287.81829999999997C195.927324 287.81829999999997 195.27278 288.472844 195.27278 289.45466C195.27278 290.43647599999997 195.927324 291.09102 196.90914 291.09102C197.89095600000002 291.09102 198.5455 290.43647599999997 198.5455 289.45466Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 289.45466C221.45459999999997 288.472844 220.80005599999998 287.81829999999997 219.81823999999997 287.81829999999997C218.83642399999997 287.81829999999997 218.18187999999998 288.472844 218.18187999999998 289.45466C218.18187999999998 290.43647599999997 218.83642399999997 291.09102 219.81823999999997 291.09102C220.80005599999998 291.09102 221.45459999999997 290.43647599999997 221.45459999999997 289.45466Z" fill="var(--color-border-100)"></path><path d="M244.3637 289.45466C244.3637 288.472844 243.709156 287.81829999999997 242.72734 287.81829999999997C241.745524 287.81829999999997 241.09098 288.472844 241.09098 289.45466C241.09098 290.43647599999997 241.745524 291.09102 242.72734 291.09102C243.709156 291.09102 244.3637 290.43647599999997 244.3637 289.45466Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 289.45466C267.27279999999996 288.472844 266.6182559999999 287.81829999999997 265.63643999999994 287.81829999999997C264.65462399999996 287.81829999999997 264.0000799999999 288.472844 264.0000799999999 289.45466C264.0000799999999 290.43647599999997 264.65462399999996 291.09102 265.63643999999994 291.09102C266.6182559999999 291.09102 267.27279999999996 290.43647599999997 267.27279999999996 289.45466Z" fill="var(--color-border-100)"></path><path d="M290.1819 289.45466C290.1819 288.472844 289.52735599999994 287.81829999999997 288.54553999999996 287.81829999999997C287.563724 287.81829999999997 286.90917999999994 288.472844 286.90917999999994 289.45466C286.90917999999994 290.43647599999997 287.563724 291.09102 288.54553999999996 291.09102C289.52735599999994 291.09102 290.1819 290.43647599999997 290.1819 289.45466Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 289.45466C313.09099999999995 288.472844 312.4364559999999 287.81829999999997 311.4546399999999 287.81829999999997C310.47282399999995 287.81829999999997 309.8182799999999 288.472844 309.8182799999999 289.45466C309.8182799999999 290.43647599999997 310.47282399999995 291.09102 311.4546399999999 291.09102C312.4364559999999 291.09102 313.09099999999995 290.43647599999997 313.09099999999995 289.45466Z" fill="var(--color-border-100)"></path><path d="M336.0001 289.45466C336.0001 288.472844 335.34555599999993 287.81829999999997 334.36373999999995 287.81829999999997C333.38192399999997 287.81829999999997 332.7273799999999 288.472844 332.7273799999999 289.45466C332.7273799999999 290.43647599999997 333.38192399999997 291.09102 334.36373999999995 291.09102C335.34555599999993 291.09102 336.0001 290.43647599999997 336.0001 289.45466Z" fill="var(--color-border-100)"></path><path d="M15.2727 312.36376C15.2727 311.38194400000003 14.618156 310.7274 13.63634 310.7274C12.654524 310.7274 11.99998 311.38194400000003 11.99998 312.36376C11.99998 313.345576 12.654524 314.00012000000004 13.63634 314.00012000000004C14.618156 314.00012000000004 15.2727 313.345576 15.2727 312.36376Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 312.36376C38.181799999999996 311.38194400000003 37.527255999999994 310.7274 36.54543999999999 310.7274C35.56362399999999 310.7274 34.90907999999999 311.38194400000003 34.90907999999999 312.36376C34.90907999999999 313.345576 35.56362399999999 314.00012000000004 36.54543999999999 314.00012000000004C37.527255999999994 314.00012000000004 38.181799999999996 313.345576 38.181799999999996 312.36376Z" fill="var(--color-border-100)"></path><path d="M61.0909 312.36376C61.0909 311.38194400000003 60.436355999999996 310.7274 59.454539999999994 310.7274C58.47272399999999 310.7274 57.81817999999999 311.38194400000003 57.81817999999999 312.36376C57.81817999999999 313.345576 58.47272399999999 314.00012000000004 59.454539999999994 314.00012000000004C60.436355999999996 314.00012000000004 61.0909 313.345576 61.0909 312.36376Z" fill="var(--color-border-100)"></path><path d="M84 312.36376C84 311.38194400000003 83.345456 310.7274 82.36364 310.7274C81.38182400000001 310.7274 80.72728000000001 311.38194400000003 80.72728000000001 312.36376C80.72728000000001 313.345576 81.38182400000001 314.00012000000004 82.36364 314.00012000000004C83.345456 314.00012000000004 84 313.345576 84 312.36376Z" fill="var(--color-border-100)"></path><path d="M106.9091 312.36376C106.9091 311.38194400000003 106.254556 310.7274 105.27274 310.7274C104.290924 310.7274 103.63638 311.38194400000003 103.63638 312.36376C103.63638 313.345576 104.290924 314.00012000000004 105.27274 314.00012000000004C106.254556 314.00012000000004 106.9091 313.345576 106.9091 312.36376Z" fill="var(--color-border-100)"></path><path d="M129.8182 312.36376C129.8182 311.38194400000003 129.163656 310.7274 128.18184 310.7274C127.200024 310.7274 126.54548 311.38194400000003 126.54548 312.36376C126.54548 313.345576 127.200024 314.00012000000004 128.18184 314.00012000000004C129.163656 314.00012000000004 129.8182 313.345576 129.8182 312.36376Z" fill="var(--color-border-100)"></path><path d="M152.7273 312.36376C152.7273 311.38194400000003 152.07275600000003 310.7274 151.09094000000002 310.7274C150.109124 310.7274 149.45458000000002 311.38194400000003 149.45458000000002 312.36376C149.45458000000002 313.345576 150.109124 314.00012000000004 151.09094000000002 314.00012000000004C152.07275600000003 314.00012000000004 152.7273 313.345576 152.7273 312.36376Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 312.36376C175.63639999999998 311.38194400000003 174.981856 310.7274 174.00003999999998 310.7274C173.01822399999998 310.7274 172.36368 311.38194400000003 172.36368 312.36376C172.36368 313.345576 173.01822399999998 314.00012000000004 174.00003999999998 314.00012000000004C174.981856 314.00012000000004 175.63639999999998 313.345576 175.63639999999998 312.36376Z" fill="var(--color-border-100)"></path><path d="M198.5455 312.36376C198.5455 311.38194400000003 197.89095600000002 310.7274 196.90914 310.7274C195.927324 310.7274 195.27278 311.38194400000003 195.27278 312.36376C195.27278 313.345576 195.927324 314.00012000000004 196.90914 314.00012000000004C197.89095600000002 314.00012000000004 198.5455 313.345576 198.5455 312.36376Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 312.36376C221.45459999999997 311.38194400000003 220.80005599999998 310.7274 219.81823999999997 310.7274C218.83642399999997 310.7274 218.18187999999998 311.38194400000003 218.18187999999998 312.36376C218.18187999999998 313.345576 218.83642399999997 314.00012000000004 219.81823999999997 314.00012000000004C220.80005599999998 314.00012000000004 221.45459999999997 313.345576 221.45459999999997 312.36376Z" fill="var(--color-border-100)"></path><path d="M244.3637 312.36376C244.3637 311.38194400000003 243.709156 310.7274 242.72734 310.7274C241.745524 310.7274 241.09098 311.38194400000003 241.09098 312.36376C241.09098 313.345576 241.745524 314.00012000000004 242.72734 314.00012000000004C243.709156 314.00012000000004 244.3637 313.345576 244.3637 312.36376Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 312.36376C267.27279999999996 311.38194400000003 266.6182559999999 310.7274 265.63643999999994 310.7274C264.65462399999996 310.7274 264.0000799999999 311.38194400000003 264.0000799999999 312.36376C264.0000799999999 313.345576 264.65462399999996 314.00012000000004 265.63643999999994 314.00012000000004C266.6182559999999 314.00012000000004 267.27279999999996 313.345576 267.27279999999996 312.36376Z" fill="var(--color-border-100)"></path><path d="M290.1819 312.36376C290.1819 311.38194400000003 289.52735599999994 310.7274 288.54553999999996 310.7274C287.563724 310.7274 286.90917999999994 311.38194400000003 286.90917999999994 312.36376C286.90917999999994 313.345576 287.563724 314.00012000000004 288.54553999999996 314.00012000000004C289.52735599999994 314.00012000000004 290.1819 313.345576 290.1819 312.36376Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 312.36376C313.09099999999995 311.38194400000003 312.4364559999999 310.7274 311.4546399999999 310.7274C310.47282399999995 310.7274 309.8182799999999 311.38194400000003 309.8182799999999 312.36376C309.8182799999999 313.345576 310.47282399999995 314.00012000000004 311.4546399999999 314.00012000000004C312.4364559999999 314.00012000000004 313.09099999999995 313.345576 313.09099999999995 312.36376Z" fill="var(--color-border-100)"></path><path d="M336.0001 312.36376C336.0001 311.38194400000003 335.34555599999993 310.7274 334.36373999999995 310.7274C333.38192399999997 310.7274 332.7273799999999 311.38194400000003 332.7273799999999 312.36376C332.7273799999999 313.345576 333.38192399999997 314.00012000000004 334.36373999999995 314.00012000000004C335.34555599999993 314.00012000000004 336.0001 313.345576 336.0001 312.36376Z" fill="var(--color-border-100)"></path></g><g opacity="0.2"><path d="M84 -8.36364C84 -9.345456 83.345456 -10 82.36364 -10C81.38182400000001 -10 80.72728000000001 -9.345456 80.72728000000001 -8.36364C80.72728000000001 -7.381824 81.38182400000001 -6.72728 82.36364 -6.72728C83.345456 -6.72728 84 -7.381824 84 -8.36364Z" fill="var(--color-border-100)"></path><path d="M106.9091 -8.36364C106.9091 -9.345456 106.254556 -10 105.27274 -10C104.290924 -10 103.63638 -9.345456 103.63638 -8.36364C103.63638 -7.381824 104.290924 -6.72728 105.27274 -6.72728C106.254556 -6.72728 106.9091 -7.381824 106.9091 -8.36364Z" fill="var(--color-border-100)"></path><path d="M129.8182 -8.36364C129.8182 -9.345456 129.163656 -10 128.18184 -10C127.200024 -10 126.54548 -9.345456 126.54548 -8.36364C126.54548 -7.381824 127.200024 -6.72728 128.18184 -6.72728C129.163656 -6.72728 129.8182 -7.381824 129.8182 -8.36364Z" fill="var(--color-border-100)"></path><path d="M152.72729999999999 -8.36364C152.72729999999999 -9.345456 152.072756 -10 151.09094 -10C150.10912399999998 -10 149.45458 -9.345456 149.45458 -8.36364C149.45458 -7.381824 150.10912399999998 -6.72728 151.09094 -6.72728C152.072756 -6.72728 152.72729999999999 -7.381824 152.72729999999999 -8.36364Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 -8.36364C175.63639999999998 -9.345456 174.981856 -10 174.00003999999998 -10C173.01822399999998 -10 172.36368 -9.345456 172.36368 -8.36364C172.36368 -7.381824 173.01822399999998 -6.72728 174.00003999999998 -6.72728C174.981856 -6.72728 175.63639999999998 -7.381824 175.63639999999998 -8.36364Z" fill="var(--color-border-100)"></path><path d="M198.54549999999998 -8.36364C198.54549999999998 -9.345456 197.890956 -10 196.90913999999998 -10C195.92732399999997 -10 195.27277999999998 -9.345456 195.27277999999998 -8.36364C195.27277999999998 -7.381824 195.92732399999997 -6.72728 196.90913999999998 -6.72728C197.890956 -6.72728 198.54549999999998 -7.381824 198.54549999999998 -8.36364Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 -8.36364C221.45459999999997 -9.345456 220.80005599999998 -10 219.81823999999997 -10C218.83642399999997 -10 218.18187999999998 -9.345456 218.18187999999998 -8.36364C218.18187999999998 -7.381824 218.83642399999997 -6.72728 219.81823999999997 -6.72728C220.80005599999998 -6.72728 221.45459999999997 -7.381824 221.45459999999997 -8.36364Z" fill="var(--color-border-100)"></path><path d="M244.36369999999997 -8.36364C244.36369999999997 -9.345456 243.70915599999998 -10 242.72733999999997 -10C241.74552399999996 -10 241.09097999999997 -9.345456 241.09097999999997 -8.36364C241.09097999999997 -7.381824 241.74552399999996 -6.72728 242.72733999999997 -6.72728C243.70915599999998 -6.72728 244.36369999999997 -7.381824 244.36369999999997 -8.36364Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 -8.36364C267.27279999999996 -9.345456 266.6182559999999 -10 265.63643999999994 -10C264.65462399999996 -10 264.0000799999999 -9.345456 264.0000799999999 -8.36364C264.0000799999999 -7.381824 264.65462399999996 -6.72728 265.63643999999994 -6.72728C266.6182559999999 -6.72728 267.27279999999996 -7.381824 267.27279999999996 -8.36364Z" fill="var(--color-border-100)"></path><path d="M290.1819 -8.36364C290.1819 -9.345456 289.52735599999994 -10 288.54553999999996 -10C287.563724 -10 286.90917999999994 -9.345456 286.90917999999994 -8.36364C286.90917999999994 -7.381824 287.563724 -6.72728 288.54553999999996 -6.72728C289.52735599999994 -6.72728 290.1819 -7.381824 290.1819 -8.36364Z" fill="var(--color-border-100)"></path><path d="M313.091 -8.36364C313.091 -9.345456 312.43645599999996 -10 311.45464 -10C310.472824 -10 309.81827999999996 -9.345456 309.81827999999996 -8.36364C309.81827999999996 -7.381824 310.472824 -6.72728 311.45464 -6.72728C312.43645599999996 -6.72728 313.091 -7.381824 313.091 -8.36364Z" fill="var(--color-border-100)"></path><path d="M15.2727 14.545459999999999C15.2727 13.563643999999998 14.618156 12.909099999999999 13.63634 12.909099999999999C12.654524 12.909099999999999 11.99998 13.563643999999998 11.99998 14.545459999999999C11.99998 15.527275999999999 12.654524 16.18182 13.63634 16.18182C14.618156 16.18182 15.2727 15.527275999999999 15.2727 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 14.545459999999999C38.181799999999996 13.563643999999998 37.527255999999994 12.909099999999999 36.54543999999999 12.909099999999999C35.56362399999999 12.909099999999999 34.90907999999999 13.563643999999998 34.90907999999999 14.545459999999999C34.90907999999999 15.527275999999999 35.56362399999999 16.18182 36.54543999999999 16.18182C37.527255999999994 16.18182 38.181799999999996 15.527275999999999 38.181799999999996 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M61.0909 14.545459999999999C61.0909 13.563643999999998 60.436355999999996 12.909099999999999 59.454539999999994 12.909099999999999C58.47272399999999 12.909099999999999 57.81817999999999 13.563643999999998 57.81817999999999 14.545459999999999C57.81817999999999 15.527275999999999 58.47272399999999 16.18182 59.454539999999994 16.18182C60.436355999999996 16.18182 61.0909 15.527275999999999 61.0909 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M84 14.545459999999999C84 13.563643999999998 83.345456 12.909099999999999 82.36364 12.909099999999999C81.38182400000001 12.909099999999999 80.72728000000001 13.563643999999998 80.72728000000001 14.545459999999999C80.72728000000001 15.527275999999999 81.38182400000001 16.18182 82.36364 16.18182C83.345456 16.18182 84 15.527275999999999 84 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M106.9091 14.545459999999999C106.9091 13.563643999999998 106.254556 12.909099999999999 105.27274 12.909099999999999C104.290924 12.909099999999999 103.63638 13.563643999999998 103.63638 14.545459999999999C103.63638 15.527275999999999 104.290924 16.18182 105.27274 16.18182C106.254556 16.18182 106.9091 15.527275999999999 106.9091 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M129.8182 14.545459999999999C129.8182 13.563643999999998 129.163656 12.909099999999999 128.18184 12.909099999999999C127.200024 12.909099999999999 126.54548 13.563643999999998 126.54548 14.545459999999999C126.54548 15.527275999999999 127.200024 16.18182 128.18184 16.18182C129.163656 16.18182 129.8182 15.527275999999999 129.8182 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M152.7273 14.545459999999999C152.7273 13.563643999999998 152.07275600000003 12.909099999999999 151.09094000000002 12.909099999999999C150.109124 12.909099999999999 149.45458000000002 13.563643999999998 149.45458000000002 14.545459999999999C149.45458000000002 15.527275999999999 150.109124 16.18182 151.09094000000002 16.18182C152.07275600000003 16.18182 152.7273 15.527275999999999 152.7273 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 14.545459999999999C175.63639999999998 13.563643999999998 174.981856 12.909099999999999 174.00003999999998 12.909099999999999C173.01822399999998 12.909099999999999 172.36368 13.563643999999998 172.36368 14.545459999999999C172.36368 15.527275999999999 173.01822399999998 16.18182 174.00003999999998 16.18182C174.981856 16.18182 175.63639999999998 15.527275999999999 175.63639999999998 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M198.5455 14.545459999999999C198.5455 13.563643999999998 197.89095600000002 12.909099999999999 196.90914 12.909099999999999C195.927324 12.909099999999999 195.27278 13.563643999999998 195.27278 14.545459999999999C195.27278 15.527275999999999 195.927324 16.18182 196.90914 16.18182C197.89095600000002 16.18182 198.5455 15.527275999999999 198.5455 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 14.545459999999999C221.45459999999997 13.563643999999998 220.80005599999998 12.909099999999999 219.81823999999997 12.909099999999999C218.83642399999997 12.909099999999999 218.18187999999998 13.563643999999998 218.18187999999998 14.545459999999999C218.18187999999998 15.527275999999999 218.83642399999997 16.18182 219.81823999999997 16.18182C220.80005599999998 16.18182 221.45459999999997 15.527275999999999 221.45459999999997 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M244.3637 14.545459999999999C244.3637 13.563643999999998 243.709156 12.909099999999999 242.72734 12.909099999999999C241.745524 12.909099999999999 241.09098 13.563643999999998 241.09098 14.545459999999999C241.09098 15.527275999999999 241.745524 16.18182 242.72734 16.18182C243.709156 16.18182 244.3637 15.527275999999999 244.3637 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 14.545459999999999C267.27279999999996 13.563643999999998 266.6182559999999 12.909099999999999 265.63643999999994 12.909099999999999C264.65462399999996 12.909099999999999 264.0000799999999 13.563643999999998 264.0000799999999 14.545459999999999C264.0000799999999 15.527275999999999 264.65462399999996 16.18182 265.63643999999994 16.18182C266.6182559999999 16.18182 267.27279999999996 15.527275999999999 267.27279999999996 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M290.1819 14.545459999999999C290.1819 13.563643999999998 289.52735599999994 12.909099999999999 288.54553999999996 12.909099999999999C287.563724 12.909099999999999 286.90917999999994 13.563643999999998 286.90917999999994 14.545459999999999C286.90917999999994 15.527275999999999 287.563724 16.18182 288.54553999999996 16.18182C289.52735599999994 16.18182 290.1819 15.527275999999999 290.1819 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 14.545459999999999C313.09099999999995 13.563643999999998 312.4364559999999 12.909099999999999 311.4546399999999 12.909099999999999C310.47282399999995 12.909099999999999 309.8182799999999 13.563643999999998 309.8182799999999 14.545459999999999C309.8182799999999 15.527275999999999 310.47282399999995 16.18182 311.4546399999999 16.18182C312.4364559999999 16.18182 313.09099999999995 15.527275999999999 313.09099999999995 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M336.0001 14.545459999999999C336.0001 13.563643999999998 335.34555599999993 12.909099999999999 334.36373999999995 12.909099999999999C333.38192399999997 12.909099999999999 332.7273799999999 13.563643999999998 332.7273799999999 14.545459999999999C332.7273799999999 15.527275999999999 333.38192399999997 16.18182 334.36373999999995 16.18182C335.34555599999993 16.18182 336.0001 15.527275999999999 336.0001 14.545459999999999Z" fill="var(--color-border-100)"></path><path d="M15.2727 37.45456C15.2727 36.472744 14.618156 35.8182 13.63634 35.8182C12.654524 35.8182 11.99998 36.472744 11.99998 37.45456C11.99998 38.436376 12.654524 39.090920000000004 13.63634 39.090920000000004C14.618156 39.090920000000004 15.2727 38.436376 15.2727 37.45456Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 37.45456C38.181799999999996 36.472744 37.527255999999994 35.8182 36.54543999999999 35.8182C35.56362399999999 35.8182 34.90907999999999 36.472744 34.90907999999999 37.45456C34.90907999999999 38.436376 35.56362399999999 39.090920000000004 36.54543999999999 39.090920000000004C37.527255999999994 39.090920000000004 38.181799999999996 38.436376 38.181799999999996 37.45456Z" fill="var(--color-border-100)"></path><path d="M61.0909 37.45456C61.0909 36.472744 60.436355999999996 35.8182 59.454539999999994 35.8182C58.47272399999999 35.8182 57.81817999999999 36.472744 57.81817999999999 37.45456C57.81817999999999 38.436376 58.47272399999999 39.090920000000004 59.454539999999994 39.090920000000004C60.436355999999996 39.090920000000004 61.0909 38.436376 61.0909 37.45456Z" fill="var(--color-border-100)"></path><path d="M84 37.45456C84 36.472744 83.345456 35.8182 82.36364 35.8182C81.38182400000001 35.8182 80.72728000000001 36.472744 80.72728000000001 37.45456C80.72728000000001 38.436376 81.38182400000001 39.090920000000004 82.36364 39.090920000000004C83.345456 39.090920000000004 84 38.436376 84 37.45456Z" fill="var(--color-border-100)"></path><path d="M106.9091 37.45456C106.9091 36.472744 106.254556 35.8182 105.27274 35.8182C104.290924 35.8182 103.63638 36.472744 103.63638 37.45456C103.63638 38.436376 104.290924 39.090920000000004 105.27274 39.090920000000004C106.254556 39.090920000000004 106.9091 38.436376 106.9091 37.45456Z" fill="var(--color-border-100)"></path><path d="M129.8182 37.45456C129.8182 36.472744 129.163656 35.8182 128.18184 35.8182C127.200024 35.8182 126.54548 36.472744 126.54548 37.45456C126.54548 38.436376 127.200024 39.090920000000004 128.18184 39.090920000000004C129.163656 39.090920000000004 129.8182 38.436376 129.8182 37.45456Z" fill="var(--color-border-100)"></path><path d="M152.7273 37.45456C152.7273 36.472744 152.07275600000003 35.8182 151.09094000000002 35.8182C150.109124 35.8182 149.45458000000002 36.472744 149.45458000000002 37.45456C149.45458000000002 38.436376 150.109124 39.090920000000004 151.09094000000002 39.090920000000004C152.07275600000003 39.090920000000004 152.7273 38.436376 152.7273 37.45456Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 37.45456C175.63639999999998 36.472744 174.981856 35.8182 174.00003999999998 35.8182C173.01822399999998 35.8182 172.36368 36.472744 172.36368 37.45456C172.36368 38.436376 173.01822399999998 39.090920000000004 174.00003999999998 39.090920000000004C174.981856 39.090920000000004 175.63639999999998 38.436376 175.63639999999998 37.45456Z" fill="var(--color-border-100)"></path><path d="M198.5455 37.45456C198.5455 36.472744 197.89095600000002 35.8182 196.90914 35.8182C195.927324 35.8182 195.27278 36.472744 195.27278 37.45456C195.27278 38.436376 195.927324 39.090920000000004 196.90914 39.090920000000004C197.89095600000002 39.090920000000004 198.5455 38.436376 198.5455 37.45456Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 37.45456C221.45459999999997 36.472744 220.80005599999998 35.8182 219.81823999999997 35.8182C218.83642399999997 35.8182 218.18187999999998 36.472744 218.18187999999998 37.45456C218.18187999999998 38.436376 218.83642399999997 39.090920000000004 219.81823999999997 39.090920000000004C220.80005599999998 39.090920000000004 221.45459999999997 38.436376 221.45459999999997 37.45456Z" fill="var(--color-border-100)"></path><path d="M244.3637 37.45456C244.3637 36.472744 243.709156 35.8182 242.72734 35.8182C241.745524 35.8182 241.09098 36.472744 241.09098 37.45456C241.09098 38.436376 241.745524 39.090920000000004 242.72734 39.090920000000004C243.709156 39.090920000000004 244.3637 38.436376 244.3637 37.45456Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 37.45456C267.27279999999996 36.472744 266.6182559999999 35.8182 265.63643999999994 35.8182C264.65462399999996 35.8182 264.0000799999999 36.472744 264.0000799999999 37.45456C264.0000799999999 38.436376 264.65462399999996 39.090920000000004 265.63643999999994 39.090920000000004C266.6182559999999 39.090920000000004 267.27279999999996 38.436376 267.27279999999996 37.45456Z" fill="var(--color-border-100)"></path><path d="M290.1819 37.45456C290.1819 36.472744 289.52735599999994 35.8182 288.54553999999996 35.8182C287.563724 35.8182 286.90917999999994 36.472744 286.90917999999994 37.45456C286.90917999999994 38.436376 287.563724 39.090920000000004 288.54553999999996 39.090920000000004C289.52735599999994 39.090920000000004 290.1819 38.436376 290.1819 37.45456Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 37.45456C313.09099999999995 36.472744 312.4364559999999 35.8182 311.4546399999999 35.8182C310.47282399999995 35.8182 309.8182799999999 36.472744 309.8182799999999 37.45456C309.8182799999999 38.436376 310.47282399999995 39.090920000000004 311.4546399999999 39.090920000000004C312.4364559999999 39.090920000000004 313.09099999999995 38.436376 313.09099999999995 37.45456Z" fill="var(--color-border-100)"></path><path d="M336.0001 37.45456C336.0001 36.472744 335.34555599999993 35.8182 334.36373999999995 35.8182C333.38192399999997 35.8182 332.7273799999999 36.472744 332.7273799999999 37.45456C332.7273799999999 38.436376 333.38192399999997 39.090920000000004 334.36373999999995 39.090920000000004C335.34555599999993 39.090920000000004 336.0001 38.436376 336.0001 37.45456Z" fill="var(--color-border-100)"></path><path d="M15.2727 60.363659999999996C15.2727 59.381843999999994 14.618156 58.72729999999999 13.63634 58.72729999999999C12.654524 58.72729999999999 11.99998 59.381843999999994 11.99998 60.363659999999996C11.99998 61.345476 12.654524 62.00002 13.63634 62.00002C14.618156 62.00002 15.2727 61.345476 15.2727 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 60.363659999999996C38.181799999999996 59.381843999999994 37.527255999999994 58.72729999999999 36.54543999999999 58.72729999999999C35.56362399999999 58.72729999999999 34.90907999999999 59.381843999999994 34.90907999999999 60.363659999999996C34.90907999999999 61.345476 35.56362399999999 62.00002 36.54543999999999 62.00002C37.527255999999994 62.00002 38.181799999999996 61.345476 38.181799999999996 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M61.0909 60.363659999999996C61.0909 59.381843999999994 60.436355999999996 58.72729999999999 59.454539999999994 58.72729999999999C58.47272399999999 58.72729999999999 57.81817999999999 59.381843999999994 57.81817999999999 60.363659999999996C57.81817999999999 61.345476 58.47272399999999 62.00002 59.454539999999994 62.00002C60.436355999999996 62.00002 61.0909 61.345476 61.0909 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M84 60.363659999999996C84 59.381843999999994 83.345456 58.72729999999999 82.36364 58.72729999999999C81.38182400000001 58.72729999999999 80.72728000000001 59.381843999999994 80.72728000000001 60.363659999999996C80.72728000000001 61.345476 81.38182400000001 62.00002 82.36364 62.00002C83.345456 62.00002 84 61.345476 84 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M106.9091 60.363659999999996C106.9091 59.381843999999994 106.254556 58.72729999999999 105.27274 58.72729999999999C104.290924 58.72729999999999 103.63638 59.381843999999994 103.63638 60.363659999999996C103.63638 61.345476 104.290924 62.00002 105.27274 62.00002C106.254556 62.00002 106.9091 61.345476 106.9091 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M129.8182 60.363659999999996C129.8182 59.381843999999994 129.163656 58.72729999999999 128.18184 58.72729999999999C127.200024 58.72729999999999 126.54548 59.381843999999994 126.54548 60.363659999999996C126.54548 61.345476 127.200024 62.00002 128.18184 62.00002C129.163656 62.00002 129.8182 61.345476 129.8182 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M152.7273 60.363659999999996C152.7273 59.381843999999994 152.07275600000003 58.72729999999999 151.09094000000002 58.72729999999999C150.109124 58.72729999999999 149.45458000000002 59.381843999999994 149.45458000000002 60.363659999999996C149.45458000000002 61.345476 150.109124 62.00002 151.09094000000002 62.00002C152.07275600000003 62.00002 152.7273 61.345476 152.7273 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 60.363659999999996C175.63639999999998 59.381843999999994 174.981856 58.72729999999999 174.00003999999998 58.72729999999999C173.01822399999998 58.72729999999999 172.36368 59.381843999999994 172.36368 60.363659999999996C172.36368 61.345476 173.01822399999998 62.00002 174.00003999999998 62.00002C174.981856 62.00002 175.63639999999998 61.345476 175.63639999999998 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M198.5455 60.363659999999996C198.5455 59.381843999999994 197.89095600000002 58.72729999999999 196.90914 58.72729999999999C195.927324 58.72729999999999 195.27278 59.381843999999994 195.27278 60.363659999999996C195.27278 61.345476 195.927324 62.00002 196.90914 62.00002C197.89095600000002 62.00002 198.5455 61.345476 198.5455 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 60.363659999999996C221.45459999999997 59.381843999999994 220.80005599999998 58.72729999999999 219.81823999999997 58.72729999999999C218.83642399999997 58.72729999999999 218.18187999999998 59.381843999999994 218.18187999999998 60.363659999999996C218.18187999999998 61.345476 218.83642399999997 62.00002 219.81823999999997 62.00002C220.80005599999998 62.00002 221.45459999999997 61.345476 221.45459999999997 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M244.3637 60.363659999999996C244.3637 59.381843999999994 243.709156 58.72729999999999 242.72734 58.72729999999999C241.745524 58.72729999999999 241.09098 59.381843999999994 241.09098 60.363659999999996C241.09098 61.345476 241.745524 62.00002 242.72734 62.00002C243.709156 62.00002 244.3637 61.345476 244.3637 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 60.363659999999996C267.27279999999996 59.381843999999994 266.6182559999999 58.72729999999999 265.63643999999994 58.72729999999999C264.65462399999996 58.72729999999999 264.0000799999999 59.381843999999994 264.0000799999999 60.363659999999996C264.0000799999999 61.345476 264.65462399999996 62.00002 265.63643999999994 62.00002C266.6182559999999 62.00002 267.27279999999996 61.345476 267.27279999999996 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M290.1819 60.363659999999996C290.1819 59.381843999999994 289.52735599999994 58.72729999999999 288.54553999999996 58.72729999999999C287.563724 58.72729999999999 286.90917999999994 59.381843999999994 286.90917999999994 60.363659999999996C286.90917999999994 61.345476 287.563724 62.00002 288.54553999999996 62.00002C289.52735599999994 62.00002 290.1819 61.345476 290.1819 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 60.363659999999996C313.09099999999995 59.381843999999994 312.4364559999999 58.72729999999999 311.4546399999999 58.72729999999999C310.47282399999995 58.72729999999999 309.8182799999999 59.381843999999994 309.8182799999999 60.363659999999996C309.8182799999999 61.345476 310.47282399999995 62.00002 311.4546399999999 62.00002C312.4364559999999 62.00002 313.09099999999995 61.345476 313.09099999999995 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M336.0001 60.363659999999996C336.0001 59.381843999999994 335.34555599999993 58.72729999999999 334.36373999999995 58.72729999999999C333.38192399999997 58.72729999999999 332.7273799999999 59.381843999999994 332.7273799999999 60.363659999999996C332.7273799999999 61.345476 333.38192399999997 62.00002 334.36373999999995 62.00002C335.34555599999993 62.00002 336.0001 61.345476 336.0001 60.363659999999996Z" fill="var(--color-border-100)"></path><path d="M15.2727 83.27275999999999C15.2727 82.290944 14.618156 81.6364 13.63634 81.6364C12.654524 81.6364 11.99998 82.290944 11.99998 83.27275999999999C11.99998 84.25457599999999 12.654524 84.90911999999999 13.63634 84.90911999999999C14.618156 84.90911999999999 15.2727 84.25457599999999 15.2727 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 83.27275999999999C38.181799999999996 82.290944 37.527255999999994 81.6364 36.54543999999999 81.6364C35.56362399999999 81.6364 34.90907999999999 82.290944 34.90907999999999 83.27275999999999C34.90907999999999 84.25457599999999 35.56362399999999 84.90911999999999 36.54543999999999 84.90911999999999C37.527255999999994 84.90911999999999 38.181799999999996 84.25457599999999 38.181799999999996 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M61.0909 83.27275999999999C61.0909 82.290944 60.436355999999996 81.6364 59.454539999999994 81.6364C58.47272399999999 81.6364 57.81817999999999 82.290944 57.81817999999999 83.27275999999999C57.81817999999999 84.25457599999999 58.47272399999999 84.90911999999999 59.454539999999994 84.90911999999999C60.436355999999996 84.90911999999999 61.0909 84.25457599999999 61.0909 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M84 83.27275999999999C84 82.290944 83.345456 81.6364 82.36364 81.6364C81.38182400000001 81.6364 80.72728000000001 82.290944 80.72728000000001 83.27275999999999C80.72728000000001 84.25457599999999 81.38182400000001 84.90911999999999 82.36364 84.90911999999999C83.345456 84.90911999999999 84 84.25457599999999 84 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M106.9091 83.27275999999999C106.9091 82.290944 106.254556 81.6364 105.27274 81.6364C104.290924 81.6364 103.63638 82.290944 103.63638 83.27275999999999C103.63638 84.25457599999999 104.290924 84.90911999999999 105.27274 84.90911999999999C106.254556 84.90911999999999 106.9091 84.25457599999999 106.9091 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M129.8182 83.27275999999999C129.8182 82.290944 129.163656 81.6364 128.18184 81.6364C127.200024 81.6364 126.54548 82.290944 126.54548 83.27275999999999C126.54548 84.25457599999999 127.200024 84.90911999999999 128.18184 84.90911999999999C129.163656 84.90911999999999 129.8182 84.25457599999999 129.8182 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M152.7273 83.27275999999999C152.7273 82.290944 152.07275600000003 81.6364 151.09094000000002 81.6364C150.109124 81.6364 149.45458000000002 82.290944 149.45458000000002 83.27275999999999C149.45458000000002 84.25457599999999 150.109124 84.90911999999999 151.09094000000002 84.90911999999999C152.07275600000003 84.90911999999999 152.7273 84.25457599999999 152.7273 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 83.27275999999999C175.63639999999998 82.290944 174.981856 81.6364 174.00003999999998 81.6364C173.01822399999998 81.6364 172.36368 82.290944 172.36368 83.27275999999999C172.36368 84.25457599999999 173.01822399999998 84.90911999999999 174.00003999999998 84.90911999999999C174.981856 84.90911999999999 175.63639999999998 84.25457599999999 175.63639999999998 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M198.5455 83.27275999999999C198.5455 82.290944 197.89095600000002 81.6364 196.90914 81.6364C195.927324 81.6364 195.27278 82.290944 195.27278 83.27275999999999C195.27278 84.25457599999999 195.927324 84.90911999999999 196.90914 84.90911999999999C197.89095600000002 84.90911999999999 198.5455 84.25457599999999 198.5455 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 83.27275999999999C221.45459999999997 82.290944 220.80005599999998 81.6364 219.81823999999997 81.6364C218.83642399999997 81.6364 218.18187999999998 82.290944 218.18187999999998 83.27275999999999C218.18187999999998 84.25457599999999 218.83642399999997 84.90911999999999 219.81823999999997 84.90911999999999C220.80005599999998 84.90911999999999 221.45459999999997 84.25457599999999 221.45459999999997 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M244.3637 83.27275999999999C244.3637 82.290944 243.709156 81.6364 242.72734 81.6364C241.745524 81.6364 241.09098 82.290944 241.09098 83.27275999999999C241.09098 84.25457599999999 241.745524 84.90911999999999 242.72734 84.90911999999999C243.709156 84.90911999999999 244.3637 84.25457599999999 244.3637 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 83.27275999999999C267.27279999999996 82.290944 266.6182559999999 81.6364 265.63643999999994 81.6364C264.65462399999996 81.6364 264.0000799999999 82.290944 264.0000799999999 83.27275999999999C264.0000799999999 84.25457599999999 264.65462399999996 84.90911999999999 265.63643999999994 84.90911999999999C266.6182559999999 84.90911999999999 267.27279999999996 84.25457599999999 267.27279999999996 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M290.1819 83.27275999999999C290.1819 82.290944 289.52735599999994 81.6364 288.54553999999996 81.6364C287.563724 81.6364 286.90917999999994 82.290944 286.90917999999994 83.27275999999999C286.90917999999994 84.25457599999999 287.563724 84.90911999999999 288.54553999999996 84.90911999999999C289.52735599999994 84.90911999999999 290.1819 84.25457599999999 290.1819 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 83.27275999999999C313.09099999999995 82.290944 312.4364559999999 81.6364 311.4546399999999 81.6364C310.47282399999995 81.6364 309.8182799999999 82.290944 309.8182799999999 83.27275999999999C309.8182799999999 84.25457599999999 310.47282399999995 84.90911999999999 311.4546399999999 84.90911999999999C312.4364559999999 84.90911999999999 313.09099999999995 84.25457599999999 313.09099999999995 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M336.0001 83.27275999999999C336.0001 82.290944 335.34555599999993 81.6364 334.36373999999995 81.6364C333.38192399999997 81.6364 332.7273799999999 82.290944 332.7273799999999 83.27275999999999C332.7273799999999 84.25457599999999 333.38192399999997 84.90911999999999 334.36373999999995 84.90911999999999C335.34555599999993 84.90911999999999 336.0001 84.25457599999999 336.0001 83.27275999999999Z" fill="var(--color-border-100)"></path><path d="M15.2727 106.18185999999999C15.2727 105.20004399999999 14.618156 104.54549999999999 13.63634 104.54549999999999C12.654524 104.54549999999999 11.99998 105.20004399999999 11.99998 106.18185999999999C11.99998 107.16367599999998 12.654524 107.81821999999998 13.63634 107.81821999999998C14.618156 107.81821999999998 15.2727 107.16367599999998 15.2727 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 106.18185999999999C38.181799999999996 105.20004399999999 37.527255999999994 104.54549999999999 36.54543999999999 104.54549999999999C35.56362399999999 104.54549999999999 34.90907999999999 105.20004399999999 34.90907999999999 106.18185999999999C34.90907999999999 107.16367599999998 35.56362399999999 107.81821999999998 36.54543999999999 107.81821999999998C37.527255999999994 107.81821999999998 38.181799999999996 107.16367599999998 38.181799999999996 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M61.0909 106.18185999999999C61.0909 105.20004399999999 60.436355999999996 104.54549999999999 59.454539999999994 104.54549999999999C58.47272399999999 104.54549999999999 57.81817999999999 105.20004399999999 57.81817999999999 106.18185999999999C57.81817999999999 107.16367599999998 58.47272399999999 107.81821999999998 59.454539999999994 107.81821999999998C60.436355999999996 107.81821999999998 61.0909 107.16367599999998 61.0909 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M84 106.18185999999999C84 105.20004399999999 83.345456 104.54549999999999 82.36364 104.54549999999999C81.38182400000001 104.54549999999999 80.72728000000001 105.20004399999999 80.72728000000001 106.18185999999999C80.72728000000001 107.16367599999998 81.38182400000001 107.81821999999998 82.36364 107.81821999999998C83.345456 107.81821999999998 84 107.16367599999998 84 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M106.9091 106.18185999999999C106.9091 105.20004399999999 106.254556 104.54549999999999 105.27274 104.54549999999999C104.290924 104.54549999999999 103.63638 105.20004399999999 103.63638 106.18185999999999C103.63638 107.16367599999998 104.290924 107.81821999999998 105.27274 107.81821999999998C106.254556 107.81821999999998 106.9091 107.16367599999998 106.9091 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M129.8182 106.18185999999999C129.8182 105.20004399999999 129.163656 104.54549999999999 128.18184 104.54549999999999C127.200024 104.54549999999999 126.54548 105.20004399999999 126.54548 106.18185999999999C126.54548 107.16367599999998 127.200024 107.81821999999998 128.18184 107.81821999999998C129.163656 107.81821999999998 129.8182 107.16367599999998 129.8182 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M152.7273 106.18185999999999C152.7273 105.20004399999999 152.07275600000003 104.54549999999999 151.09094000000002 104.54549999999999C150.109124 104.54549999999999 149.45458000000002 105.20004399999999 149.45458000000002 106.18185999999999C149.45458000000002 107.16367599999998 150.109124 107.81821999999998 151.09094000000002 107.81821999999998C152.07275600000003 107.81821999999998 152.7273 107.16367599999998 152.7273 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 106.18185999999999C175.63639999999998 105.20004399999999 174.981856 104.54549999999999 174.00003999999998 104.54549999999999C173.01822399999998 104.54549999999999 172.36368 105.20004399999999 172.36368 106.18185999999999C172.36368 107.16367599999998 173.01822399999998 107.81821999999998 174.00003999999998 107.81821999999998C174.981856 107.81821999999998 175.63639999999998 107.16367599999998 175.63639999999998 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M198.5455 106.18185999999999C198.5455 105.20004399999999 197.89095600000002 104.54549999999999 196.90914 104.54549999999999C195.927324 104.54549999999999 195.27278 105.20004399999999 195.27278 106.18185999999999C195.27278 107.16367599999998 195.927324 107.81821999999998 196.90914 107.81821999999998C197.89095600000002 107.81821999999998 198.5455 107.16367599999998 198.5455 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 106.18185999999999C221.45459999999997 105.20004399999999 220.80005599999998 104.54549999999999 219.81823999999997 104.54549999999999C218.83642399999997 104.54549999999999 218.18187999999998 105.20004399999999 218.18187999999998 106.18185999999999C218.18187999999998 107.16367599999998 218.83642399999997 107.81821999999998 219.81823999999997 107.81821999999998C220.80005599999998 107.81821999999998 221.45459999999997 107.16367599999998 221.45459999999997 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M244.3637 106.18185999999999C244.3637 105.20004399999999 243.709156 104.54549999999999 242.72734 104.54549999999999C241.745524 104.54549999999999 241.09098 105.20004399999999 241.09098 106.18185999999999C241.09098 107.16367599999998 241.745524 107.81821999999998 242.72734 107.81821999999998C243.709156 107.81821999999998 244.3637 107.16367599999998 244.3637 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 106.18185999999999C267.27279999999996 105.20004399999999 266.6182559999999 104.54549999999999 265.63643999999994 104.54549999999999C264.65462399999996 104.54549999999999 264.0000799999999 105.20004399999999 264.0000799999999 106.18185999999999C264.0000799999999 107.16367599999998 264.65462399999996 107.81821999999998 265.63643999999994 107.81821999999998C266.6182559999999 107.81821999999998 267.27279999999996 107.16367599999998 267.27279999999996 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M290.1819 106.18185999999999C290.1819 105.20004399999999 289.52735599999994 104.54549999999999 288.54553999999996 104.54549999999999C287.563724 104.54549999999999 286.90917999999994 105.20004399999999 286.90917999999994 106.18185999999999C286.90917999999994 107.16367599999998 287.563724 107.81821999999998 288.54553999999996 107.81821999999998C289.52735599999994 107.81821999999998 290.1819 107.16367599999998 290.1819 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 106.18185999999999C313.09099999999995 105.20004399999999 312.4364559999999 104.54549999999999 311.4546399999999 104.54549999999999C310.47282399999995 104.54549999999999 309.8182799999999 105.20004399999999 309.8182799999999 106.18185999999999C309.8182799999999 107.16367599999998 310.47282399999995 107.81821999999998 311.4546399999999 107.81821999999998C312.4364559999999 107.81821999999998 313.09099999999995 107.16367599999998 313.09099999999995 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M336.0001 106.18185999999999C336.0001 105.20004399999999 335.34555599999993 104.54549999999999 334.36373999999995 104.54549999999999C333.38192399999997 104.54549999999999 332.7273799999999 105.20004399999999 332.7273799999999 106.18185999999999C332.7273799999999 107.16367599999998 333.38192399999997 107.81821999999998 334.36373999999995 107.81821999999998C335.34555599999993 107.81821999999998 336.0001 107.16367599999998 336.0001 106.18185999999999Z" fill="var(--color-border-100)"></path><path d="M15.2727 129.09096C15.2727 128.109144 14.618156 127.4546 13.63634 127.4546C12.654524 127.4546 11.99998 128.109144 11.99998 129.09096C11.99998 130.072776 12.654524 130.72732 13.63634 130.72732C14.618156 130.72732 15.2727 130.072776 15.2727 129.09096Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 129.09096C38.181799999999996 128.109144 37.527255999999994 127.4546 36.54543999999999 127.4546C35.56362399999999 127.4546 34.90907999999999 128.109144 34.90907999999999 129.09096C34.90907999999999 130.072776 35.56362399999999 130.72732 36.54543999999999 130.72732C37.527255999999994 130.72732 38.181799999999996 130.072776 38.181799999999996 129.09096Z" fill="var(--color-border-100)"></path><path d="M61.0909 129.09096C61.0909 128.109144 60.436355999999996 127.4546 59.454539999999994 127.4546C58.47272399999999 127.4546 57.81817999999999 128.109144 57.81817999999999 129.09096C57.81817999999999 130.072776 58.47272399999999 130.72732 59.454539999999994 130.72732C60.436355999999996 130.72732 61.0909 130.072776 61.0909 129.09096Z" fill="var(--color-border-100)"></path><path d="M84 129.09096C84 128.109144 83.345456 127.4546 82.36364 127.4546C81.38182400000001 127.4546 80.72728000000001 128.109144 80.72728000000001 129.09096C80.72728000000001 130.072776 81.38182400000001 130.72732 82.36364 130.72732C83.345456 130.72732 84 130.072776 84 129.09096Z" fill="var(--color-border-100)"></path><path d="M106.9091 129.09096C106.9091 128.109144 106.254556 127.4546 105.27274 127.4546C104.290924 127.4546 103.63638 128.109144 103.63638 129.09096C103.63638 130.072776 104.290924 130.72732 105.27274 130.72732C106.254556 130.72732 106.9091 130.072776 106.9091 129.09096Z" fill="var(--color-border-100)"></path><path d="M129.8182 129.09096C129.8182 128.109144 129.163656 127.4546 128.18184 127.4546C127.200024 127.4546 126.54548 128.109144 126.54548 129.09096C126.54548 130.072776 127.200024 130.72732 128.18184 130.72732C129.163656 130.72732 129.8182 130.072776 129.8182 129.09096Z" fill="var(--color-border-100)"></path><path d="M152.7273 129.09096C152.7273 128.109144 152.07275600000003 127.4546 151.09094000000002 127.4546C150.109124 127.4546 149.45458000000002 128.109144 149.45458000000002 129.09096C149.45458000000002 130.072776 150.109124 130.72732 151.09094000000002 130.72732C152.07275600000003 130.72732 152.7273 130.072776 152.7273 129.09096Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 129.09096C175.63639999999998 128.109144 174.981856 127.4546 174.00003999999998 127.4546C173.01822399999998 127.4546 172.36368 128.109144 172.36368 129.09096C172.36368 130.072776 173.01822399999998 130.72732 174.00003999999998 130.72732C174.981856 130.72732 175.63639999999998 130.072776 175.63639999999998 129.09096Z" fill="var(--color-border-100)"></path><path d="M198.5455 129.09096C198.5455 128.109144 197.89095600000002 127.4546 196.90914 127.4546C195.927324 127.4546 195.27278 128.109144 195.27278 129.09096C195.27278 130.072776 195.927324 130.72732 196.90914 130.72732C197.89095600000002 130.72732 198.5455 130.072776 198.5455 129.09096Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 129.09096C221.45459999999997 128.109144 220.80005599999998 127.4546 219.81823999999997 127.4546C218.83642399999997 127.4546 218.18187999999998 128.109144 218.18187999999998 129.09096C218.18187999999998 130.072776 218.83642399999997 130.72732 219.81823999999997 130.72732C220.80005599999998 130.72732 221.45459999999997 130.072776 221.45459999999997 129.09096Z" fill="var(--color-border-100)"></path><path d="M244.3637 129.09096C244.3637 128.109144 243.709156 127.4546 242.72734 127.4546C241.745524 127.4546 241.09098 128.109144 241.09098 129.09096C241.09098 130.072776 241.745524 130.72732 242.72734 130.72732C243.709156 130.72732 244.3637 130.072776 244.3637 129.09096Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 129.09096C267.27279999999996 128.109144 266.6182559999999 127.4546 265.63643999999994 127.4546C264.65462399999996 127.4546 264.0000799999999 128.109144 264.0000799999999 129.09096C264.0000799999999 130.072776 264.65462399999996 130.72732 265.63643999999994 130.72732C266.6182559999999 130.72732 267.27279999999996 130.072776 267.27279999999996 129.09096Z" fill="var(--color-border-100)"></path><path d="M290.1819 129.09096C290.1819 128.109144 289.52735599999994 127.4546 288.54553999999996 127.4546C287.563724 127.4546 286.90917999999994 128.109144 286.90917999999994 129.09096C286.90917999999994 130.072776 287.563724 130.72732 288.54553999999996 130.72732C289.52735599999994 130.72732 290.1819 130.072776 290.1819 129.09096Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 129.09096C313.09099999999995 128.109144 312.4364559999999 127.4546 311.4546399999999 127.4546C310.47282399999995 127.4546 309.8182799999999 128.109144 309.8182799999999 129.09096C309.8182799999999 130.072776 310.47282399999995 130.72732 311.4546399999999 130.72732C312.4364559999999 130.72732 313.09099999999995 130.072776 313.09099999999995 129.09096Z" fill="var(--color-border-100)"></path><path d="M336.0001 129.09096C336.0001 128.109144 335.34555599999993 127.4546 334.36373999999995 127.4546C333.38192399999997 127.4546 332.7273799999999 128.109144 332.7273799999999 129.09096C332.7273799999999 130.072776 333.38192399999997 130.72732 334.36373999999995 130.72732C335.34555599999993 130.72732 336.0001 130.072776 336.0001 129.09096Z" fill="var(--color-border-100)"></path><path d="M15.2727 152.00006C15.2727 151.01824399999998 14.618156 150.3637 13.63634 150.3637C12.654524 150.3637 11.99998 151.01824399999998 11.99998 152.00006C11.99998 152.981876 12.654524 153.63642 13.63634 153.63642C14.618156 153.63642 15.2727 152.981876 15.2727 152.00006Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 152.00006C38.181799999999996 151.01824399999998 37.527255999999994 150.3637 36.54543999999999 150.3637C35.56362399999999 150.3637 34.90907999999999 151.01824399999998 34.90907999999999 152.00006C34.90907999999999 152.981876 35.56362399999999 153.63642 36.54543999999999 153.63642C37.527255999999994 153.63642 38.181799999999996 152.981876 38.181799999999996 152.00006Z" fill="var(--color-border-100)"></path><path d="M61.0909 152.00006C61.0909 151.01824399999998 60.436355999999996 150.3637 59.454539999999994 150.3637C58.47272399999999 150.3637 57.81817999999999 151.01824399999998 57.81817999999999 152.00006C57.81817999999999 152.981876 58.47272399999999 153.63642 59.454539999999994 153.63642C60.436355999999996 153.63642 61.0909 152.981876 61.0909 152.00006Z" fill="var(--color-border-100)"></path><path d="M84 152.00006C84 151.01824399999998 83.345456 150.3637 82.36364 150.3637C81.38182400000001 150.3637 80.72728000000001 151.01824399999998 80.72728000000001 152.00006C80.72728000000001 152.981876 81.38182400000001 153.63642 82.36364 153.63642C83.345456 153.63642 84 152.981876 84 152.00006Z" fill="var(--color-border-100)"></path><path d="M106.9091 152.00006C106.9091 151.01824399999998 106.254556 150.3637 105.27274 150.3637C104.290924 150.3637 103.63638 151.01824399999998 103.63638 152.00006C103.63638 152.981876 104.290924 153.63642 105.27274 153.63642C106.254556 153.63642 106.9091 152.981876 106.9091 152.00006Z" fill="var(--color-border-100)"></path><path d="M129.8182 152.00006C129.8182 151.01824399999998 129.163656 150.3637 128.18184 150.3637C127.200024 150.3637 126.54548 151.01824399999998 126.54548 152.00006C126.54548 152.981876 127.200024 153.63642 128.18184 153.63642C129.163656 153.63642 129.8182 152.981876 129.8182 152.00006Z" fill="var(--color-border-100)"></path><path d="M152.7273 152.00006C152.7273 151.01824399999998 152.07275600000003 150.3637 151.09094000000002 150.3637C150.109124 150.3637 149.45458000000002 151.01824399999998 149.45458000000002 152.00006C149.45458000000002 152.981876 150.109124 153.63642 151.09094000000002 153.63642C152.07275600000003 153.63642 152.7273 152.981876 152.7273 152.00006Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 152.00006C175.63639999999998 151.01824399999998 174.981856 150.3637 174.00003999999998 150.3637C173.01822399999998 150.3637 172.36368 151.01824399999998 172.36368 152.00006C172.36368 152.981876 173.01822399999998 153.63642 174.00003999999998 153.63642C174.981856 153.63642 175.63639999999998 152.981876 175.63639999999998 152.00006Z" fill="var(--color-border-100)"></path><path d="M198.5455 152.00006C198.5455 151.01824399999998 197.89095600000002 150.3637 196.90914 150.3637C195.927324 150.3637 195.27278 151.01824399999998 195.27278 152.00006C195.27278 152.981876 195.927324 153.63642 196.90914 153.63642C197.89095600000002 153.63642 198.5455 152.981876 198.5455 152.00006Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 152.00006C221.45459999999997 151.01824399999998 220.80005599999998 150.3637 219.81823999999997 150.3637C218.83642399999997 150.3637 218.18187999999998 151.01824399999998 218.18187999999998 152.00006C218.18187999999998 152.981876 218.83642399999997 153.63642 219.81823999999997 153.63642C220.80005599999998 153.63642 221.45459999999997 152.981876 221.45459999999997 152.00006Z" fill="var(--color-border-100)"></path><path d="M244.3637 152.00006C244.3637 151.01824399999998 243.709156 150.3637 242.72734 150.3637C241.745524 150.3637 241.09098 151.01824399999998 241.09098 152.00006C241.09098 152.981876 241.745524 153.63642 242.72734 153.63642C243.709156 153.63642 244.3637 152.981876 244.3637 152.00006Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 152.00006C267.27279999999996 151.01824399999998 266.6182559999999 150.3637 265.63643999999994 150.3637C264.65462399999996 150.3637 264.0000799999999 151.01824399999998 264.0000799999999 152.00006C264.0000799999999 152.981876 264.65462399999996 153.63642 265.63643999999994 153.63642C266.6182559999999 153.63642 267.27279999999996 152.981876 267.27279999999996 152.00006Z" fill="var(--color-border-100)"></path><path d="M290.1819 152.00006C290.1819 151.01824399999998 289.52735599999994 150.3637 288.54553999999996 150.3637C287.563724 150.3637 286.90917999999994 151.01824399999998 286.90917999999994 152.00006C286.90917999999994 152.981876 287.563724 153.63642 288.54553999999996 153.63642C289.52735599999994 153.63642 290.1819 152.981876 290.1819 152.00006Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 152.00006C313.09099999999995 151.01824399999998 312.4364559999999 150.3637 311.4546399999999 150.3637C310.47282399999995 150.3637 309.8182799999999 151.01824399999998 309.8182799999999 152.00006C309.8182799999999 152.981876 310.47282399999995 153.63642 311.4546399999999 153.63642C312.4364559999999 153.63642 313.09099999999995 152.981876 313.09099999999995 152.00006Z" fill="var(--color-border-100)"></path><path d="M336.0001 152.00006C336.0001 151.01824399999998 335.34555599999993 150.3637 334.36373999999995 150.3637C333.38192399999997 150.3637 332.7273799999999 151.01824399999998 332.7273799999999 152.00006C332.7273799999999 152.981876 333.38192399999997 153.63642 334.36373999999995 153.63642C335.34555599999993 153.63642 336.0001 152.981876 336.0001 152.00006Z" fill="var(--color-border-100)"></path><path d="M15.2727 174.90915999999999C15.2727 173.92734399999998 14.618156 173.2728 13.63634 173.2728C12.654524 173.2728 11.99998 173.92734399999998 11.99998 174.90915999999999C11.99998 175.890976 12.654524 176.54551999999998 13.63634 176.54551999999998C14.618156 176.54551999999998 15.2727 175.890976 15.2727 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 174.90915999999999C38.181799999999996 173.92734399999998 37.527255999999994 173.2728 36.54543999999999 173.2728C35.56362399999999 173.2728 34.90907999999999 173.92734399999998 34.90907999999999 174.90915999999999C34.90907999999999 175.890976 35.56362399999999 176.54551999999998 36.54543999999999 176.54551999999998C37.527255999999994 176.54551999999998 38.181799999999996 175.890976 38.181799999999996 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M61.0909 174.90915999999999C61.0909 173.92734399999998 60.436355999999996 173.2728 59.454539999999994 173.2728C58.47272399999999 173.2728 57.81817999999999 173.92734399999998 57.81817999999999 174.90915999999999C57.81817999999999 175.890976 58.47272399999999 176.54551999999998 59.454539999999994 176.54551999999998C60.436355999999996 176.54551999999998 61.0909 175.890976 61.0909 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M84 174.90915999999999C84 173.92734399999998 83.345456 173.2728 82.36364 173.2728C81.38182400000001 173.2728 80.72728000000001 173.92734399999998 80.72728000000001 174.90915999999999C80.72728000000001 175.890976 81.38182400000001 176.54551999999998 82.36364 176.54551999999998C83.345456 176.54551999999998 84 175.890976 84 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M106.9091 174.90915999999999C106.9091 173.92734399999998 106.254556 173.2728 105.27274 173.2728C104.290924 173.2728 103.63638 173.92734399999998 103.63638 174.90915999999999C103.63638 175.890976 104.290924 176.54551999999998 105.27274 176.54551999999998C106.254556 176.54551999999998 106.9091 175.890976 106.9091 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M129.8182 174.90915999999999C129.8182 173.92734399999998 129.163656 173.2728 128.18184 173.2728C127.200024 173.2728 126.54548 173.92734399999998 126.54548 174.90915999999999C126.54548 175.890976 127.200024 176.54551999999998 128.18184 176.54551999999998C129.163656 176.54551999999998 129.8182 175.890976 129.8182 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M152.7273 174.90915999999999C152.7273 173.92734399999998 152.07275600000003 173.2728 151.09094000000002 173.2728C150.109124 173.2728 149.45458000000002 173.92734399999998 149.45458000000002 174.90915999999999C149.45458000000002 175.890976 150.109124 176.54551999999998 151.09094000000002 176.54551999999998C152.07275600000003 176.54551999999998 152.7273 175.890976 152.7273 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 174.90915999999999C175.63639999999998 173.92734399999998 174.981856 173.2728 174.00003999999998 173.2728C173.01822399999998 173.2728 172.36368 173.92734399999998 172.36368 174.90915999999999C172.36368 175.890976 173.01822399999998 176.54551999999998 174.00003999999998 176.54551999999998C174.981856 176.54551999999998 175.63639999999998 175.890976 175.63639999999998 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M198.5455 174.90915999999999C198.5455 173.92734399999998 197.89095600000002 173.2728 196.90914 173.2728C195.927324 173.2728 195.27278 173.92734399999998 195.27278 174.90915999999999C195.27278 175.890976 195.927324 176.54551999999998 196.90914 176.54551999999998C197.89095600000002 176.54551999999998 198.5455 175.890976 198.5455 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 174.90915999999999C221.45459999999997 173.92734399999998 220.80005599999998 173.2728 219.81823999999997 173.2728C218.83642399999997 173.2728 218.18187999999998 173.92734399999998 218.18187999999998 174.90915999999999C218.18187999999998 175.890976 218.83642399999997 176.54551999999998 219.81823999999997 176.54551999999998C220.80005599999998 176.54551999999998 221.45459999999997 175.890976 221.45459999999997 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M244.3637 174.90915999999999C244.3637 173.92734399999998 243.709156 173.2728 242.72734 173.2728C241.745524 173.2728 241.09098 173.92734399999998 241.09098 174.90915999999999C241.09098 175.890976 241.745524 176.54551999999998 242.72734 176.54551999999998C243.709156 176.54551999999998 244.3637 175.890976 244.3637 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 174.90915999999999C267.27279999999996 173.92734399999998 266.6182559999999 173.2728 265.63643999999994 173.2728C264.65462399999996 173.2728 264.0000799999999 173.92734399999998 264.0000799999999 174.90915999999999C264.0000799999999 175.890976 264.65462399999996 176.54551999999998 265.63643999999994 176.54551999999998C266.6182559999999 176.54551999999998 267.27279999999996 175.890976 267.27279999999996 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M290.1819 174.90915999999999C290.1819 173.92734399999998 289.52735599999994 173.2728 288.54553999999996 173.2728C287.563724 173.2728 286.90917999999994 173.92734399999998 286.90917999999994 174.90915999999999C286.90917999999994 175.890976 287.563724 176.54551999999998 288.54553999999996 176.54551999999998C289.52735599999994 176.54551999999998 290.1819 175.890976 290.1819 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 174.90915999999999C313.09099999999995 173.92734399999998 312.4364559999999 173.2728 311.4546399999999 173.2728C310.47282399999995 173.2728 309.8182799999999 173.92734399999998 309.8182799999999 174.90915999999999C309.8182799999999 175.890976 310.47282399999995 176.54551999999998 311.4546399999999 176.54551999999998C312.4364559999999 176.54551999999998 313.09099999999995 175.890976 313.09099999999995 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M336.0001 174.90915999999999C336.0001 173.92734399999998 335.34555599999993 173.2728 334.36373999999995 173.2728C333.38192399999997 173.2728 332.7273799999999 173.92734399999998 332.7273799999999 174.90915999999999C332.7273799999999 175.890976 333.38192399999997 176.54551999999998 334.36373999999995 176.54551999999998C335.34555599999993 176.54551999999998 336.0001 175.890976 336.0001 174.90915999999999Z" fill="var(--color-border-100)"></path><path d="M15.2727 197.81825999999998C15.2727 196.83644399999997 14.618156 196.18189999999998 13.63634 196.18189999999998C12.654524 196.18189999999998 11.99998 196.83644399999997 11.99998 197.81825999999998C11.99998 198.800076 12.654524 199.45461999999998 13.63634 199.45461999999998C14.618156 199.45461999999998 15.2727 198.800076 15.2727 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 197.81825999999998C38.181799999999996 196.83644399999997 37.527255999999994 196.18189999999998 36.54543999999999 196.18189999999998C35.56362399999999 196.18189999999998 34.90907999999999 196.83644399999997 34.90907999999999 197.81825999999998C34.90907999999999 198.800076 35.56362399999999 199.45461999999998 36.54543999999999 199.45461999999998C37.527255999999994 199.45461999999998 38.181799999999996 198.800076 38.181799999999996 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M61.0909 197.81825999999998C61.0909 196.83644399999997 60.436355999999996 196.18189999999998 59.454539999999994 196.18189999999998C58.47272399999999 196.18189999999998 57.81817999999999 196.83644399999997 57.81817999999999 197.81825999999998C57.81817999999999 198.800076 58.47272399999999 199.45461999999998 59.454539999999994 199.45461999999998C60.436355999999996 199.45461999999998 61.0909 198.800076 61.0909 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M84 197.81825999999998C84 196.83644399999997 83.345456 196.18189999999998 82.36364 196.18189999999998C81.38182400000001 196.18189999999998 80.72728000000001 196.83644399999997 80.72728000000001 197.81825999999998C80.72728000000001 198.800076 81.38182400000001 199.45461999999998 82.36364 199.45461999999998C83.345456 199.45461999999998 84 198.800076 84 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M106.9091 197.81825999999998C106.9091 196.83644399999997 106.254556 196.18189999999998 105.27274 196.18189999999998C104.290924 196.18189999999998 103.63638 196.83644399999997 103.63638 197.81825999999998C103.63638 198.800076 104.290924 199.45461999999998 105.27274 199.45461999999998C106.254556 199.45461999999998 106.9091 198.800076 106.9091 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M129.8182 197.81825999999998C129.8182 196.83644399999997 129.163656 196.18189999999998 128.18184 196.18189999999998C127.200024 196.18189999999998 126.54548 196.83644399999997 126.54548 197.81825999999998C126.54548 198.800076 127.200024 199.45461999999998 128.18184 199.45461999999998C129.163656 199.45461999999998 129.8182 198.800076 129.8182 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M152.7273 197.81825999999998C152.7273 196.83644399999997 152.07275600000003 196.18189999999998 151.09094000000002 196.18189999999998C150.109124 196.18189999999998 149.45458000000002 196.83644399999997 149.45458000000002 197.81825999999998C149.45458000000002 198.800076 150.109124 199.45461999999998 151.09094000000002 199.45461999999998C152.07275600000003 199.45461999999998 152.7273 198.800076 152.7273 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 197.81825999999998C175.63639999999998 196.83644399999997 174.981856 196.18189999999998 174.00003999999998 196.18189999999998C173.01822399999998 196.18189999999998 172.36368 196.83644399999997 172.36368 197.81825999999998C172.36368 198.800076 173.01822399999998 199.45461999999998 174.00003999999998 199.45461999999998C174.981856 199.45461999999998 175.63639999999998 198.800076 175.63639999999998 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M198.5455 197.81825999999998C198.5455 196.83644399999997 197.89095600000002 196.18189999999998 196.90914 196.18189999999998C195.927324 196.18189999999998 195.27278 196.83644399999997 195.27278 197.81825999999998C195.27278 198.800076 195.927324 199.45461999999998 196.90914 199.45461999999998C197.89095600000002 199.45461999999998 198.5455 198.800076 198.5455 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 197.81825999999998C221.45459999999997 196.83644399999997 220.80005599999998 196.18189999999998 219.81823999999997 196.18189999999998C218.83642399999997 196.18189999999998 218.18187999999998 196.83644399999997 218.18187999999998 197.81825999999998C218.18187999999998 198.800076 218.83642399999997 199.45461999999998 219.81823999999997 199.45461999999998C220.80005599999998 199.45461999999998 221.45459999999997 198.800076 221.45459999999997 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M244.3637 197.81825999999998C244.3637 196.83644399999997 243.709156 196.18189999999998 242.72734 196.18189999999998C241.745524 196.18189999999998 241.09098 196.83644399999997 241.09098 197.81825999999998C241.09098 198.800076 241.745524 199.45461999999998 242.72734 199.45461999999998C243.709156 199.45461999999998 244.3637 198.800076 244.3637 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 197.81825999999998C267.27279999999996 196.83644399999997 266.6182559999999 196.18189999999998 265.63643999999994 196.18189999999998C264.65462399999996 196.18189999999998 264.0000799999999 196.83644399999997 264.0000799999999 197.81825999999998C264.0000799999999 198.800076 264.65462399999996 199.45461999999998 265.63643999999994 199.45461999999998C266.6182559999999 199.45461999999998 267.27279999999996 198.800076 267.27279999999996 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M290.1819 197.81825999999998C290.1819 196.83644399999997 289.52735599999994 196.18189999999998 288.54553999999996 196.18189999999998C287.563724 196.18189999999998 286.90917999999994 196.83644399999997 286.90917999999994 197.81825999999998C286.90917999999994 198.800076 287.563724 199.45461999999998 288.54553999999996 199.45461999999998C289.52735599999994 199.45461999999998 290.1819 198.800076 290.1819 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 197.81825999999998C313.09099999999995 196.83644399999997 312.4364559999999 196.18189999999998 311.4546399999999 196.18189999999998C310.47282399999995 196.18189999999998 309.8182799999999 196.83644399999997 309.8182799999999 197.81825999999998C309.8182799999999 198.800076 310.47282399999995 199.45461999999998 311.4546399999999 199.45461999999998C312.4364559999999 199.45461999999998 313.09099999999995 198.800076 313.09099999999995 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M336.0001 197.81825999999998C336.0001 196.83644399999997 335.34555599999993 196.18189999999998 334.36373999999995 196.18189999999998C333.38192399999997 196.18189999999998 332.7273799999999 196.83644399999997 332.7273799999999 197.81825999999998C332.7273799999999 198.800076 333.38192399999997 199.45461999999998 334.36373999999995 199.45461999999998C335.34555599999993 199.45461999999998 336.0001 198.800076 336.0001 197.81825999999998Z" fill="var(--color-border-100)"></path><path d="M15.2727 220.72735999999998C15.2727 219.74554399999997 14.618156 219.09099999999998 13.63634 219.09099999999998C12.654524 219.09099999999998 11.99998 219.74554399999997 11.99998 220.72735999999998C11.99998 221.70917599999999 12.654524 222.36371999999997 13.63634 222.36371999999997C14.618156 222.36371999999997 15.2727 221.70917599999999 15.2727 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 220.72735999999998C38.181799999999996 219.74554399999997 37.527255999999994 219.09099999999998 36.54543999999999 219.09099999999998C35.56362399999999 219.09099999999998 34.90907999999999 219.74554399999997 34.90907999999999 220.72735999999998C34.90907999999999 221.70917599999999 35.56362399999999 222.36371999999997 36.54543999999999 222.36371999999997C37.527255999999994 222.36371999999997 38.181799999999996 221.70917599999999 38.181799999999996 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M61.0909 220.72735999999998C61.0909 219.74554399999997 60.436355999999996 219.09099999999998 59.454539999999994 219.09099999999998C58.47272399999999 219.09099999999998 57.81817999999999 219.74554399999997 57.81817999999999 220.72735999999998C57.81817999999999 221.70917599999999 58.47272399999999 222.36371999999997 59.454539999999994 222.36371999999997C60.436355999999996 222.36371999999997 61.0909 221.70917599999999 61.0909 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M84 220.72735999999998C84 219.74554399999997 83.345456 219.09099999999998 82.36364 219.09099999999998C81.38182400000001 219.09099999999998 80.72728000000001 219.74554399999997 80.72728000000001 220.72735999999998C80.72728000000001 221.70917599999999 81.38182400000001 222.36371999999997 82.36364 222.36371999999997C83.345456 222.36371999999997 84 221.70917599999999 84 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M106.9091 220.72735999999998C106.9091 219.74554399999997 106.254556 219.09099999999998 105.27274 219.09099999999998C104.290924 219.09099999999998 103.63638 219.74554399999997 103.63638 220.72735999999998C103.63638 221.70917599999999 104.290924 222.36371999999997 105.27274 222.36371999999997C106.254556 222.36371999999997 106.9091 221.70917599999999 106.9091 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M129.8182 220.72735999999998C129.8182 219.74554399999997 129.163656 219.09099999999998 128.18184 219.09099999999998C127.200024 219.09099999999998 126.54548 219.74554399999997 126.54548 220.72735999999998C126.54548 221.70917599999999 127.200024 222.36371999999997 128.18184 222.36371999999997C129.163656 222.36371999999997 129.8182 221.70917599999999 129.8182 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M152.7273 220.72735999999998C152.7273 219.74554399999997 152.07275600000003 219.09099999999998 151.09094000000002 219.09099999999998C150.109124 219.09099999999998 149.45458000000002 219.74554399999997 149.45458000000002 220.72735999999998C149.45458000000002 221.70917599999999 150.109124 222.36371999999997 151.09094000000002 222.36371999999997C152.07275600000003 222.36371999999997 152.7273 221.70917599999999 152.7273 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 220.72735999999998C175.63639999999998 219.74554399999997 174.981856 219.09099999999998 174.00003999999998 219.09099999999998C173.01822399999998 219.09099999999998 172.36368 219.74554399999997 172.36368 220.72735999999998C172.36368 221.70917599999999 173.01822399999998 222.36371999999997 174.00003999999998 222.36371999999997C174.981856 222.36371999999997 175.63639999999998 221.70917599999999 175.63639999999998 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M198.5455 220.72735999999998C198.5455 219.74554399999997 197.89095600000002 219.09099999999998 196.90914 219.09099999999998C195.927324 219.09099999999998 195.27278 219.74554399999997 195.27278 220.72735999999998C195.27278 221.70917599999999 195.927324 222.36371999999997 196.90914 222.36371999999997C197.89095600000002 222.36371999999997 198.5455 221.70917599999999 198.5455 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 220.72735999999998C221.45459999999997 219.74554399999997 220.80005599999998 219.09099999999998 219.81823999999997 219.09099999999998C218.83642399999997 219.09099999999998 218.18187999999998 219.74554399999997 218.18187999999998 220.72735999999998C218.18187999999998 221.70917599999999 218.83642399999997 222.36371999999997 219.81823999999997 222.36371999999997C220.80005599999998 222.36371999999997 221.45459999999997 221.70917599999999 221.45459999999997 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M244.3637 220.72735999999998C244.3637 219.74554399999997 243.709156 219.09099999999998 242.72734 219.09099999999998C241.745524 219.09099999999998 241.09098 219.74554399999997 241.09098 220.72735999999998C241.09098 221.70917599999999 241.745524 222.36371999999997 242.72734 222.36371999999997C243.709156 222.36371999999997 244.3637 221.70917599999999 244.3637 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 220.72735999999998C267.27279999999996 219.74554399999997 266.6182559999999 219.09099999999998 265.63643999999994 219.09099999999998C264.65462399999996 219.09099999999998 264.0000799999999 219.74554399999997 264.0000799999999 220.72735999999998C264.0000799999999 221.70917599999999 264.65462399999996 222.36371999999997 265.63643999999994 222.36371999999997C266.6182559999999 222.36371999999997 267.27279999999996 221.70917599999999 267.27279999999996 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M290.1819 220.72735999999998C290.1819 219.74554399999997 289.52735599999994 219.09099999999998 288.54553999999996 219.09099999999998C287.563724 219.09099999999998 286.90917999999994 219.74554399999997 286.90917999999994 220.72735999999998C286.90917999999994 221.70917599999999 287.563724 222.36371999999997 288.54553999999996 222.36371999999997C289.52735599999994 222.36371999999997 290.1819 221.70917599999999 290.1819 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 220.72735999999998C313.09099999999995 219.74554399999997 312.4364559999999 219.09099999999998 311.4546399999999 219.09099999999998C310.47282399999995 219.09099999999998 309.8182799999999 219.74554399999997 309.8182799999999 220.72735999999998C309.8182799999999 221.70917599999999 310.47282399999995 222.36371999999997 311.4546399999999 222.36371999999997C312.4364559999999 222.36371999999997 313.09099999999995 221.70917599999999 313.09099999999995 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M336.0001 220.72735999999998C336.0001 219.74554399999997 335.34555599999993 219.09099999999998 334.36373999999995 219.09099999999998C333.38192399999997 219.09099999999998 332.7273799999999 219.74554399999997 332.7273799999999 220.72735999999998C332.7273799999999 221.70917599999999 333.38192399999997 222.36371999999997 334.36373999999995 222.36371999999997C335.34555599999993 222.36371999999997 336.0001 221.70917599999999 336.0001 220.72735999999998Z" fill="var(--color-border-100)"></path><path d="M15.2727 243.63645999999997C15.2727 242.65464399999996 14.618156 242.00009999999997 13.63634 242.00009999999997C12.654524 242.00009999999997 11.99998 242.65464399999996 11.99998 243.63645999999997C11.99998 244.61827599999998 12.654524 245.27281999999997 13.63634 245.27281999999997C14.618156 245.27281999999997 15.2727 244.61827599999998 15.2727 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 243.63645999999997C38.181799999999996 242.65464399999996 37.527255999999994 242.00009999999997 36.54543999999999 242.00009999999997C35.56362399999999 242.00009999999997 34.90907999999999 242.65464399999996 34.90907999999999 243.63645999999997C34.90907999999999 244.61827599999998 35.56362399999999 245.27281999999997 36.54543999999999 245.27281999999997C37.527255999999994 245.27281999999997 38.181799999999996 244.61827599999998 38.181799999999996 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M61.0909 243.63645999999997C61.0909 242.65464399999996 60.436355999999996 242.00009999999997 59.454539999999994 242.00009999999997C58.47272399999999 242.00009999999997 57.81817999999999 242.65464399999996 57.81817999999999 243.63645999999997C57.81817999999999 244.61827599999998 58.47272399999999 245.27281999999997 59.454539999999994 245.27281999999997C60.436355999999996 245.27281999999997 61.0909 244.61827599999998 61.0909 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M84 243.63645999999997C84 242.65464399999996 83.345456 242.00009999999997 82.36364 242.00009999999997C81.38182400000001 242.00009999999997 80.72728000000001 242.65464399999996 80.72728000000001 243.63645999999997C80.72728000000001 244.61827599999998 81.38182400000001 245.27281999999997 82.36364 245.27281999999997C83.345456 245.27281999999997 84 244.61827599999998 84 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M106.9091 243.63645999999997C106.9091 242.65464399999996 106.254556 242.00009999999997 105.27274 242.00009999999997C104.290924 242.00009999999997 103.63638 242.65464399999996 103.63638 243.63645999999997C103.63638 244.61827599999998 104.290924 245.27281999999997 105.27274 245.27281999999997C106.254556 245.27281999999997 106.9091 244.61827599999998 106.9091 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M129.8182 243.63645999999997C129.8182 242.65464399999996 129.163656 242.00009999999997 128.18184 242.00009999999997C127.200024 242.00009999999997 126.54548 242.65464399999996 126.54548 243.63645999999997C126.54548 244.61827599999998 127.200024 245.27281999999997 128.18184 245.27281999999997C129.163656 245.27281999999997 129.8182 244.61827599999998 129.8182 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M152.7273 243.63645999999997C152.7273 242.65464399999996 152.07275600000003 242.00009999999997 151.09094000000002 242.00009999999997C150.109124 242.00009999999997 149.45458000000002 242.65464399999996 149.45458000000002 243.63645999999997C149.45458000000002 244.61827599999998 150.109124 245.27281999999997 151.09094000000002 245.27281999999997C152.07275600000003 245.27281999999997 152.7273 244.61827599999998 152.7273 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 243.63645999999997C175.63639999999998 242.65464399999996 174.981856 242.00009999999997 174.00003999999998 242.00009999999997C173.01822399999998 242.00009999999997 172.36368 242.65464399999996 172.36368 243.63645999999997C172.36368 244.61827599999998 173.01822399999998 245.27281999999997 174.00003999999998 245.27281999999997C174.981856 245.27281999999997 175.63639999999998 244.61827599999998 175.63639999999998 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M198.5455 243.63645999999997C198.5455 242.65464399999996 197.89095600000002 242.00009999999997 196.90914 242.00009999999997C195.927324 242.00009999999997 195.27278 242.65464399999996 195.27278 243.63645999999997C195.27278 244.61827599999998 195.927324 245.27281999999997 196.90914 245.27281999999997C197.89095600000002 245.27281999999997 198.5455 244.61827599999998 198.5455 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 243.63645999999997C221.45459999999997 242.65464399999996 220.80005599999998 242.00009999999997 219.81823999999997 242.00009999999997C218.83642399999997 242.00009999999997 218.18187999999998 242.65464399999996 218.18187999999998 243.63645999999997C218.18187999999998 244.61827599999998 218.83642399999997 245.27281999999997 219.81823999999997 245.27281999999997C220.80005599999998 245.27281999999997 221.45459999999997 244.61827599999998 221.45459999999997 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M244.3637 243.63645999999997C244.3637 242.65464399999996 243.709156 242.00009999999997 242.72734 242.00009999999997C241.745524 242.00009999999997 241.09098 242.65464399999996 241.09098 243.63645999999997C241.09098 244.61827599999998 241.745524 245.27281999999997 242.72734 245.27281999999997C243.709156 245.27281999999997 244.3637 244.61827599999998 244.3637 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 243.63645999999997C267.27279999999996 242.65464399999996 266.6182559999999 242.00009999999997 265.63643999999994 242.00009999999997C264.65462399999996 242.00009999999997 264.0000799999999 242.65464399999996 264.0000799999999 243.63645999999997C264.0000799999999 244.61827599999998 264.65462399999996 245.27281999999997 265.63643999999994 245.27281999999997C266.6182559999999 245.27281999999997 267.27279999999996 244.61827599999998 267.27279999999996 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M290.1819 243.63645999999997C290.1819 242.65464399999996 289.52735599999994 242.00009999999997 288.54553999999996 242.00009999999997C287.563724 242.00009999999997 286.90917999999994 242.65464399999996 286.90917999999994 243.63645999999997C286.90917999999994 244.61827599999998 287.563724 245.27281999999997 288.54553999999996 245.27281999999997C289.52735599999994 245.27281999999997 290.1819 244.61827599999998 290.1819 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 243.63645999999997C313.09099999999995 242.65464399999996 312.4364559999999 242.00009999999997 311.4546399999999 242.00009999999997C310.47282399999995 242.00009999999997 309.8182799999999 242.65464399999996 309.8182799999999 243.63645999999997C309.8182799999999 244.61827599999998 310.47282399999995 245.27281999999997 311.4546399999999 245.27281999999997C312.4364559999999 245.27281999999997 313.09099999999995 244.61827599999998 313.09099999999995 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M336.0001 243.63645999999997C336.0001 242.65464399999996 335.34555599999993 242.00009999999997 334.36373999999995 242.00009999999997C333.38192399999997 242.00009999999997 332.7273799999999 242.65464399999996 332.7273799999999 243.63645999999997C332.7273799999999 244.61827599999998 333.38192399999997 245.27281999999997 334.36373999999995 245.27281999999997C335.34555599999993 245.27281999999997 336.0001 244.61827599999998 336.0001 243.63645999999997Z" fill="var(--color-border-100)"></path><path d="M15.2727 266.54556C15.2727 265.56374400000004 14.618156 264.9092 13.63634 264.9092C12.654524 264.9092 11.99998 265.56374400000004 11.99998 266.54556C11.99998 267.527376 12.654524 268.18192000000005 13.63634 268.18192000000005C14.618156 268.18192000000005 15.2727 267.527376 15.2727 266.54556Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 266.54556C38.181799999999996 265.56374400000004 37.527255999999994 264.9092 36.54543999999999 264.9092C35.56362399999999 264.9092 34.90907999999999 265.56374400000004 34.90907999999999 266.54556C34.90907999999999 267.527376 35.56362399999999 268.18192000000005 36.54543999999999 268.18192000000005C37.527255999999994 268.18192000000005 38.181799999999996 267.527376 38.181799999999996 266.54556Z" fill="var(--color-border-100)"></path><path d="M61.0909 266.54556C61.0909 265.56374400000004 60.436355999999996 264.9092 59.454539999999994 264.9092C58.47272399999999 264.9092 57.81817999999999 265.56374400000004 57.81817999999999 266.54556C57.81817999999999 267.527376 58.47272399999999 268.18192000000005 59.454539999999994 268.18192000000005C60.436355999999996 268.18192000000005 61.0909 267.527376 61.0909 266.54556Z" fill="var(--color-border-100)"></path><path d="M84 266.54556C84 265.56374400000004 83.345456 264.9092 82.36364 264.9092C81.38182400000001 264.9092 80.72728000000001 265.56374400000004 80.72728000000001 266.54556C80.72728000000001 267.527376 81.38182400000001 268.18192000000005 82.36364 268.18192000000005C83.345456 268.18192000000005 84 267.527376 84 266.54556Z" fill="var(--color-border-100)"></path><path d="M106.9091 266.54556C106.9091 265.56374400000004 106.254556 264.9092 105.27274 264.9092C104.290924 264.9092 103.63638 265.56374400000004 103.63638 266.54556C103.63638 267.527376 104.290924 268.18192000000005 105.27274 268.18192000000005C106.254556 268.18192000000005 106.9091 267.527376 106.9091 266.54556Z" fill="var(--color-border-100)"></path><path d="M129.8182 266.54556C129.8182 265.56374400000004 129.163656 264.9092 128.18184 264.9092C127.200024 264.9092 126.54548 265.56374400000004 126.54548 266.54556C126.54548 267.527376 127.200024 268.18192000000005 128.18184 268.18192000000005C129.163656 268.18192000000005 129.8182 267.527376 129.8182 266.54556Z" fill="var(--color-border-100)"></path><path d="M152.7273 266.54556C152.7273 265.56374400000004 152.07275600000003 264.9092 151.09094000000002 264.9092C150.109124 264.9092 149.45458000000002 265.56374400000004 149.45458000000002 266.54556C149.45458000000002 267.527376 150.109124 268.18192000000005 151.09094000000002 268.18192000000005C152.07275600000003 268.18192000000005 152.7273 267.527376 152.7273 266.54556Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 266.54556C175.63639999999998 265.56374400000004 174.981856 264.9092 174.00003999999998 264.9092C173.01822399999998 264.9092 172.36368 265.56374400000004 172.36368 266.54556C172.36368 267.527376 173.01822399999998 268.18192000000005 174.00003999999998 268.18192000000005C174.981856 268.18192000000005 175.63639999999998 267.527376 175.63639999999998 266.54556Z" fill="var(--color-border-100)"></path><path d="M198.5455 266.54556C198.5455 265.56374400000004 197.89095600000002 264.9092 196.90914 264.9092C195.927324 264.9092 195.27278 265.56374400000004 195.27278 266.54556C195.27278 267.527376 195.927324 268.18192000000005 196.90914 268.18192000000005C197.89095600000002 268.18192000000005 198.5455 267.527376 198.5455 266.54556Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 266.54556C221.45459999999997 265.56374400000004 220.80005599999998 264.9092 219.81823999999997 264.9092C218.83642399999997 264.9092 218.18187999999998 265.56374400000004 218.18187999999998 266.54556C218.18187999999998 267.527376 218.83642399999997 268.18192000000005 219.81823999999997 268.18192000000005C220.80005599999998 268.18192000000005 221.45459999999997 267.527376 221.45459999999997 266.54556Z" fill="var(--color-border-100)"></path><path d="M244.3637 266.54556C244.3637 265.56374400000004 243.709156 264.9092 242.72734 264.9092C241.745524 264.9092 241.09098 265.56374400000004 241.09098 266.54556C241.09098 267.527376 241.745524 268.18192000000005 242.72734 268.18192000000005C243.709156 268.18192000000005 244.3637 267.527376 244.3637 266.54556Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 266.54556C267.27279999999996 265.56374400000004 266.6182559999999 264.9092 265.63643999999994 264.9092C264.65462399999996 264.9092 264.0000799999999 265.56374400000004 264.0000799999999 266.54556C264.0000799999999 267.527376 264.65462399999996 268.18192000000005 265.63643999999994 268.18192000000005C266.6182559999999 268.18192000000005 267.27279999999996 267.527376 267.27279999999996 266.54556Z" fill="var(--color-border-100)"></path><path d="M290.1819 266.54556C290.1819 265.56374400000004 289.52735599999994 264.9092 288.54553999999996 264.9092C287.563724 264.9092 286.90917999999994 265.56374400000004 286.90917999999994 266.54556C286.90917999999994 267.527376 287.563724 268.18192000000005 288.54553999999996 268.18192000000005C289.52735599999994 268.18192000000005 290.1819 267.527376 290.1819 266.54556Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 266.54556C313.09099999999995 265.56374400000004 312.4364559999999 264.9092 311.4546399999999 264.9092C310.47282399999995 264.9092 309.8182799999999 265.56374400000004 309.8182799999999 266.54556C309.8182799999999 267.527376 310.47282399999995 268.18192000000005 311.4546399999999 268.18192000000005C312.4364559999999 268.18192000000005 313.09099999999995 267.527376 313.09099999999995 266.54556Z" fill="var(--color-border-100)"></path><path d="M336.0001 266.54556C336.0001 265.56374400000004 335.34555599999993 264.9092 334.36373999999995 264.9092C333.38192399999997 264.9092 332.7273799999999 265.56374400000004 332.7273799999999 266.54556C332.7273799999999 267.527376 333.38192399999997 268.18192000000005 334.36373999999995 268.18192000000005C335.34555599999993 268.18192000000005 336.0001 267.527376 336.0001 266.54556Z" fill="var(--color-border-100)"></path><path d="M15.2727 289.45466C15.2727 288.472844 14.618156 287.81829999999997 13.63634 287.81829999999997C12.654524 287.81829999999997 11.99998 288.472844 11.99998 289.45466C11.99998 290.43647599999997 12.654524 291.09102 13.63634 291.09102C14.618156 291.09102 15.2727 290.43647599999997 15.2727 289.45466Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 289.45466C38.181799999999996 288.472844 37.527255999999994 287.81829999999997 36.54543999999999 287.81829999999997C35.56362399999999 287.81829999999997 34.90907999999999 288.472844 34.90907999999999 289.45466C34.90907999999999 290.43647599999997 35.56362399999999 291.09102 36.54543999999999 291.09102C37.527255999999994 291.09102 38.181799999999996 290.43647599999997 38.181799999999996 289.45466Z" fill="var(--color-border-100)"></path><path d="M61.0909 289.45466C61.0909 288.472844 60.436355999999996 287.81829999999997 59.454539999999994 287.81829999999997C58.47272399999999 287.81829999999997 57.81817999999999 288.472844 57.81817999999999 289.45466C57.81817999999999 290.43647599999997 58.47272399999999 291.09102 59.454539999999994 291.09102C60.436355999999996 291.09102 61.0909 290.43647599999997 61.0909 289.45466Z" fill="var(--color-border-100)"></path><path d="M84 289.45466C84 288.472844 83.345456 287.81829999999997 82.36364 287.81829999999997C81.38182400000001 287.81829999999997 80.72728000000001 288.472844 80.72728000000001 289.45466C80.72728000000001 290.43647599999997 81.38182400000001 291.09102 82.36364 291.09102C83.345456 291.09102 84 290.43647599999997 84 289.45466Z" fill="var(--color-border-100)"></path><path d="M106.9091 289.45466C106.9091 288.472844 106.254556 287.81829999999997 105.27274 287.81829999999997C104.290924 287.81829999999997 103.63638 288.472844 103.63638 289.45466C103.63638 290.43647599999997 104.290924 291.09102 105.27274 291.09102C106.254556 291.09102 106.9091 290.43647599999997 106.9091 289.45466Z" fill="var(--color-border-100)"></path><path d="M129.8182 289.45466C129.8182 288.472844 129.163656 287.81829999999997 128.18184 287.81829999999997C127.200024 287.81829999999997 126.54548 288.472844 126.54548 289.45466C126.54548 290.43647599999997 127.200024 291.09102 128.18184 291.09102C129.163656 291.09102 129.8182 290.43647599999997 129.8182 289.45466Z" fill="var(--color-border-100)"></path><path d="M152.7273 289.45466C152.7273 288.472844 152.07275600000003 287.81829999999997 151.09094000000002 287.81829999999997C150.109124 287.81829999999997 149.45458000000002 288.472844 149.45458000000002 289.45466C149.45458000000002 290.43647599999997 150.109124 291.09102 151.09094000000002 291.09102C152.07275600000003 291.09102 152.7273 290.43647599999997 152.7273 289.45466Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 289.45466C175.63639999999998 288.472844 174.981856 287.81829999999997 174.00003999999998 287.81829999999997C173.01822399999998 287.81829999999997 172.36368 288.472844 172.36368 289.45466C172.36368 290.43647599999997 173.01822399999998 291.09102 174.00003999999998 291.09102C174.981856 291.09102 175.63639999999998 290.43647599999997 175.63639999999998 289.45466Z" fill="var(--color-border-100)"></path><path d="M198.5455 289.45466C198.5455 288.472844 197.89095600000002 287.81829999999997 196.90914 287.81829999999997C195.927324 287.81829999999997 195.27278 288.472844 195.27278 289.45466C195.27278 290.43647599999997 195.927324 291.09102 196.90914 291.09102C197.89095600000002 291.09102 198.5455 290.43647599999997 198.5455 289.45466Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 289.45466C221.45459999999997 288.472844 220.80005599999998 287.81829999999997 219.81823999999997 287.81829999999997C218.83642399999997 287.81829999999997 218.18187999999998 288.472844 218.18187999999998 289.45466C218.18187999999998 290.43647599999997 218.83642399999997 291.09102 219.81823999999997 291.09102C220.80005599999998 291.09102 221.45459999999997 290.43647599999997 221.45459999999997 289.45466Z" fill="var(--color-border-100)"></path><path d="M244.3637 289.45466C244.3637 288.472844 243.709156 287.81829999999997 242.72734 287.81829999999997C241.745524 287.81829999999997 241.09098 288.472844 241.09098 289.45466C241.09098 290.43647599999997 241.745524 291.09102 242.72734 291.09102C243.709156 291.09102 244.3637 290.43647599999997 244.3637 289.45466Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 289.45466C267.27279999999996 288.472844 266.6182559999999 287.81829999999997 265.63643999999994 287.81829999999997C264.65462399999996 287.81829999999997 264.0000799999999 288.472844 264.0000799999999 289.45466C264.0000799999999 290.43647599999997 264.65462399999996 291.09102 265.63643999999994 291.09102C266.6182559999999 291.09102 267.27279999999996 290.43647599999997 267.27279999999996 289.45466Z" fill="var(--color-border-100)"></path><path d="M290.1819 289.45466C290.1819 288.472844 289.52735599999994 287.81829999999997 288.54553999999996 287.81829999999997C287.563724 287.81829999999997 286.90917999999994 288.472844 286.90917999999994 289.45466C286.90917999999994 290.43647599999997 287.563724 291.09102 288.54553999999996 291.09102C289.52735599999994 291.09102 290.1819 290.43647599999997 290.1819 289.45466Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 289.45466C313.09099999999995 288.472844 312.4364559999999 287.81829999999997 311.4546399999999 287.81829999999997C310.47282399999995 287.81829999999997 309.8182799999999 288.472844 309.8182799999999 289.45466C309.8182799999999 290.43647599999997 310.47282399999995 291.09102 311.4546399999999 291.09102C312.4364559999999 291.09102 313.09099999999995 290.43647599999997 313.09099999999995 289.45466Z" fill="var(--color-border-100)"></path><path d="M336.0001 289.45466C336.0001 288.472844 335.34555599999993 287.81829999999997 334.36373999999995 287.81829999999997C333.38192399999997 287.81829999999997 332.7273799999999 288.472844 332.7273799999999 289.45466C332.7273799999999 290.43647599999997 333.38192399999997 291.09102 334.36373999999995 291.09102C335.34555599999993 291.09102 336.0001 290.43647599999997 336.0001 289.45466Z" fill="var(--color-border-100)"></path><path d="M15.2727 312.36376C15.2727 311.38194400000003 14.618156 310.7274 13.63634 310.7274C12.654524 310.7274 11.99998 311.38194400000003 11.99998 312.36376C11.99998 313.345576 12.654524 314.00012000000004 13.63634 314.00012000000004C14.618156 314.00012000000004 15.2727 313.345576 15.2727 312.36376Z" fill="var(--color-border-100)"></path><path d="M38.181799999999996 312.36376C38.181799999999996 311.38194400000003 37.527255999999994 310.7274 36.54543999999999 310.7274C35.56362399999999 310.7274 34.90907999999999 311.38194400000003 34.90907999999999 312.36376C34.90907999999999 313.345576 35.56362399999999 314.00012000000004 36.54543999999999 314.00012000000004C37.527255999999994 314.00012000000004 38.181799999999996 313.345576 38.181799999999996 312.36376Z" fill="var(--color-border-100)"></path><path d="M61.0909 312.36376C61.0909 311.38194400000003 60.436355999999996 310.7274 59.454539999999994 310.7274C58.47272399999999 310.7274 57.81817999999999 311.38194400000003 57.81817999999999 312.36376C57.81817999999999 313.345576 58.47272399999999 314.00012000000004 59.454539999999994 314.00012000000004C60.436355999999996 314.00012000000004 61.0909 313.345576 61.0909 312.36376Z" fill="var(--color-border-100)"></path><path d="M84 312.36376C84 311.38194400000003 83.345456 310.7274 82.36364 310.7274C81.38182400000001 310.7274 80.72728000000001 311.38194400000003 80.72728000000001 312.36376C80.72728000000001 313.345576 81.38182400000001 314.00012000000004 82.36364 314.00012000000004C83.345456 314.00012000000004 84 313.345576 84 312.36376Z" fill="var(--color-border-100)"></path><path d="M106.9091 312.36376C106.9091 311.38194400000003 106.254556 310.7274 105.27274 310.7274C104.290924 310.7274 103.63638 311.38194400000003 103.63638 312.36376C103.63638 313.345576 104.290924 314.00012000000004 105.27274 314.00012000000004C106.254556 314.00012000000004 106.9091 313.345576 106.9091 312.36376Z" fill="var(--color-border-100)"></path><path d="M129.8182 312.36376C129.8182 311.38194400000003 129.163656 310.7274 128.18184 310.7274C127.200024 310.7274 126.54548 311.38194400000003 126.54548 312.36376C126.54548 313.345576 127.200024 314.00012000000004 128.18184 314.00012000000004C129.163656 314.00012000000004 129.8182 313.345576 129.8182 312.36376Z" fill="var(--color-border-100)"></path><path d="M152.7273 312.36376C152.7273 311.38194400000003 152.07275600000003 310.7274 151.09094000000002 310.7274C150.109124 310.7274 149.45458000000002 311.38194400000003 149.45458000000002 312.36376C149.45458000000002 313.345576 150.109124 314.00012000000004 151.09094000000002 314.00012000000004C152.07275600000003 314.00012000000004 152.7273 313.345576 152.7273 312.36376Z" fill="var(--color-border-100)"></path><path d="M175.63639999999998 312.36376C175.63639999999998 311.38194400000003 174.981856 310.7274 174.00003999999998 310.7274C173.01822399999998 310.7274 172.36368 311.38194400000003 172.36368 312.36376C172.36368 313.345576 173.01822399999998 314.00012000000004 174.00003999999998 314.00012000000004C174.981856 314.00012000000004 175.63639999999998 313.345576 175.63639999999998 312.36376Z" fill="var(--color-border-100)"></path><path d="M198.5455 312.36376C198.5455 311.38194400000003 197.89095600000002 310.7274 196.90914 310.7274C195.927324 310.7274 195.27278 311.38194400000003 195.27278 312.36376C195.27278 313.345576 195.927324 314.00012000000004 196.90914 314.00012000000004C197.89095600000002 314.00012000000004 198.5455 313.345576 198.5455 312.36376Z" fill="var(--color-border-100)"></path><path d="M221.45459999999997 312.36376C221.45459999999997 311.38194400000003 220.80005599999998 310.7274 219.81823999999997 310.7274C218.83642399999997 310.7274 218.18187999999998 311.38194400000003 218.18187999999998 312.36376C218.18187999999998 313.345576 218.83642399999997 314.00012000000004 219.81823999999997 314.00012000000004C220.80005599999998 314.00012000000004 221.45459999999997 313.345576 221.45459999999997 312.36376Z" fill="var(--color-border-100)"></path><path d="M244.3637 312.36376C244.3637 311.38194400000003 243.709156 310.7274 242.72734 310.7274C241.745524 310.7274 241.09098 311.38194400000003 241.09098 312.36376C241.09098 313.345576 241.745524 314.00012000000004 242.72734 314.00012000000004C243.709156 314.00012000000004 244.3637 313.345576 244.3637 312.36376Z" fill="var(--color-border-100)"></path><path d="M267.27279999999996 312.36376C267.27279999999996 311.38194400000003 266.6182559999999 310.7274 265.63643999999994 310.7274C264.65462399999996 310.7274 264.0000799999999 311.38194400000003 264.0000799999999 312.36376C264.0000799999999 313.345576 264.65462399999996 314.00012000000004 265.63643999999994 314.00012000000004C266.6182559999999 314.00012000000004 267.27279999999996 313.345576 267.27279999999996 312.36376Z" fill="var(--color-border-100)"></path><path d="M290.1819 312.36376C290.1819 311.38194400000003 289.52735599999994 310.7274 288.54553999999996 310.7274C287.563724 310.7274 286.90917999999994 311.38194400000003 286.90917999999994 312.36376C286.90917999999994 313.345576 287.563724 314.00012000000004 288.54553999999996 314.00012000000004C289.52735599999994 314.00012000000004 290.1819 313.345576 290.1819 312.36376Z" fill="var(--color-border-100)"></path><path d="M313.09099999999995 312.36376C313.09099999999995 311.38194400000003 312.4364559999999 310.7274 311.4546399999999 310.7274C310.47282399999995 310.7274 309.8182799999999 311.38194400000003 309.8182799999999 312.36376C309.8182799999999 313.345576 310.47282399999995 314.00012000000004 311.4546399999999 314.00012000000004C312.4364559999999 314.00012000000004 313.09099999999995 313.345576 313.09099999999995 312.36376Z" fill="var(--color-border-100)"></path><path d="M336.0001 312.36376C336.0001 311.38194400000003 335.34555599999993 310.7274 334.36373999999995 310.7274C333.38192399999997 310.7274 332.7273799999999 311.38194400000003 332.7273799999999 312.36376C332.7273799999999 313.345576 333.38192399999997 314.00012000000004 334.36373999999995 314.00012000000004C335.34555599999993 314.00012000000004 336.0001 313.345576 336.0001 312.36376Z" fill="var(--color-border-100)"></path></g><rect x="65" y="30" width="98" height="42" rx="1" fill="var(--color-background-100)" stroke="var(--color-accent-100)" stroke-width="1.5" opacity="0"></rect><g><rect x="187" y="112" width="42" height="42" rx="1" fill="var(--color-multiplayer-yellow-bg)" stroke="var(--color-multiplayer-yellow)" stroke-width="1.5" opacity="0"></rect></g><g><path d="M190.506 58.7756C191.123 58.5357 191.432 58.4157 191.518 58.2461C191.593 58.0992 191.591 57.9247 191.512 57.7798C191.421 57.6125 191.11 57.5007 190.487 57.277L174.597 51.573C174.087 51.3901 173.832 51.2986 173.666 51.3563C173.521 51.4065 173.407 51.5203 173.357 51.6651C173.299 51.8317 173.391 52.0866 173.574 52.5963L179.278 68.486C179.501 69.109 179.613 69.4205 179.78 69.5115C179.925 69.5904 180.1 69.5927 180.247 69.5176C180.416 69.431 180.536 69.1226 180.776 68.5057L183.373 61.8281C183.42 61.7072 183.444 61.6468 183.48 61.5959C183.512 61.5508 183.552 61.5114 183.597 61.4792C183.648 61.4429 183.708 61.4194 183.829 61.3724L190.506 58.7756Z" fill="var(--color-background-100)" stroke="var(--color-accent-100)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M192.99 74V67H195.53C196.96 67 197.72 67.85 197.72 69.13C197.72 70.41 196.96 71.26 195.53 71.26H194.29V74H192.99ZM194.29 70.06H195.48C196.07 70.06 196.4 69.76 196.4 69.13C196.4 68.5 196.07 68.2 195.48 68.2H194.29V70.06ZM199.081 74V67H200.381V72.8H203.531V74H199.081ZM204.592 74L206.792 67H208.212L210.412 74H209.072L208.582 72.37H206.422L205.932 74H204.592ZM206.782 71.17H208.222L207.502 68.75L206.782 71.17ZM213.104 74V71.42L210.884 67H212.284L213.704 70.03L215.124 67H216.524L214.304 71.42V74H213.104ZM217.715 74V67H222.155V68.2H219.015V69.67H221.655V70.87H219.015V72.8H222.255V74H217.715ZM223.706 74V67H226.256C227.616 67 228.386 67.79 228.386 68.99C228.386 69.92 227.916 70.62 227.076 70.87L229.016 74H227.566L225.686 70.98H225.006V74H223.706ZM225.006 69.78H226.266C226.776 69.78 227.086 69.54 227.086 68.99C227.086 68.44 226.776 68.2 226.266 68.2H225.006V69.78ZM236.578 74V72.84H238.168V68.76L236.828 69.56V68.2L238.878 67H239.428V72.84H241.018V74H236.578Z" fill="var(--color-accent-100)"></path></g><line opacity="0.1" y1="209.5" x2="324" y2="209.5" stroke="var(--color-foreground-100)"></line><g><path d="M175.556 148.776C174.939 148.536 174.631 148.416 174.544 148.246C174.469 148.099 174.471 147.925 174.55 147.78C174.641 147.613 174.953 147.501 175.576 147.277L191.465 141.573C191.975 141.39 192.23 141.299 192.397 141.356C192.541 141.406 192.655 141.52 192.705 141.665C192.763 141.832 192.672 142.087 192.489 142.596L186.785 158.486C186.561 159.109 186.449 159.42 186.282 159.512C186.137 159.59 185.963 159.593 185.816 159.518C185.646 159.431 185.526 159.123 185.286 158.506L182.689 151.828C182.642 151.707 182.619 151.647 182.583 151.596C182.55 151.551 182.511 151.511 182.466 151.479C182.415 151.443 182.355 151.419 182.234 151.372L175.556 148.776Z" fill="var(--color-multiplayer-yellow-bg)" stroke="var(--color-multiplayer-yellow)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path opacity="0.8" d="M127.99 167V160H130.53C131.96 160 132.72 160.85 132.72 162.13C132.72 163.41 131.96 164.26 130.53 164.26H129.29V167H127.99ZM129.29 163.06H130.48C131.07 163.06 131.4 162.76 131.4 162.13C131.4 161.5 131.07 161.2 130.48 161.2H129.29V163.06ZM134.081 167V160H135.381V165.8H138.531V167H134.081ZM139.592 167L141.792 160H143.212L145.412 167H144.072L143.582 165.37H141.422L140.932 167H139.592ZM141.782 164.17H143.222L142.502 161.75L141.782 164.17ZM148.104 167V164.42L145.884 160H147.284L148.704 163.03L150.124 160H151.524L149.304 164.42V167H148.104ZM152.715 167V160H157.155V161.2H154.015V162.67H156.655V163.87H154.015V165.8H157.255V167H152.715ZM158.706 167V160H161.256C162.616 160 163.386 160.79 163.386 161.99C163.386 162.92 162.916 163.62 162.076 163.87L164.016 167H162.566L160.686 163.98H160.006V167H158.706ZM160.006 162.78H161.266C161.776 162.78 162.086 162.54 162.086 161.99C162.086 161.44 161.776 161.2 161.266 161.2H160.006V162.78ZM171.288 167V166.5L173.788 163.27C174.188 162.75 174.328 162.41 174.328 162C174.328 161.43 174.028 161.08 173.468 161.08C172.958 161.08 172.638 161.41 172.558 162L171.398 161.78C171.458 160.72 172.348 159.92 173.498 159.92C174.808 159.92 175.588 160.74 175.588 161.95C175.588 162.53 175.388 163.08 174.988 163.61L173.278 165.84H175.738V167H171.288Z" fill="var(--color-multiplayer-yellow)"></path></g><rect x="225" y="108" width="8" height="8" rx="1" fill="var(--color-multiplayer-yellow-bg)" stroke="var(--color-multiplayer-yellow)" stroke-width="1.5" opacity="0"></rect><rect x="225" y="150" width="8" height="8" rx="1" fill="var(--color-multiplayer-yellow-bg)" stroke="var(--color-multiplayer-yellow)" stroke-width="1.5" opacity="0"></rect><rect x="183" y="108" width="8" height="8" rx="1" fill="var(--color-multiplayer-yellow-bg)" stroke="var(--color-multiplayer-yellow)" stroke-width="1.5" opacity="0"></rect></g><defs><clipPath id="clip0_2476_97358"><rect width="324" height="210" fill="var(--color-background-100)"></rect></clipPath></defs></svg></div><!--astro:end--></astro-island> </div> <div class="relative flex w-full flex-col items-start gap-1 p-6 md:p-8" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <p class="text-foreground-200 dark:text-foreground-100 font-medium" data-cms-path="products.pages.sections.useCases.items.2.title" data-cms-type="text" data-astro-cid-7amrcyfe style="--totalRows: 3;"> Collaborative Project Sharing </p> <span class="text-foreground-200/70 leading-[1.2em]" data-cms-path="products.pages.sections.useCases.items.2.description" data-cms-type="text" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <astro-island uid="Z12ARQU" prefix="r92" component-url="/_astro/index.DW7gI7Sc.js" component-export="LinkifiedDescription" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"description":[0,"Share projects using unique, protected links with designers and developers to iterate quickly."],"title":[0,"Collaborative Project Sharing"],"locale":[0],"data-astro-cid-7amrcyfe":[0,true]}" ssr client="load" opts="{"name":"LinkifiedDescription","value":true}" await-children><span>Share projects using unique, protected links with designers and developers to iterate quickly.</span><!--astro:end--></astro-island> </span> </div> </div><div class="relative flex flex-col items-start border border-transparent" style="; --totalRows: 3;" data-astro-cid-7amrcyfe> <div class="hidden md:block pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <div class="bg-background-200 h-auto w-full border-b select-none!" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <astro-island uid="Z1Sqqdl" prefix="r94" component-url="/_astro/index.CiUJt7CU.js" component-export="Graphic" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"name":[0,"edge"],"data-astro-cid-7amrcyfe":[0,true]}" ssr client="load" opts="{"name":"Graphic","value":true}" await-children><svg width="100%" height="100%" viewBox="0 0 324 210" fill="none" xmlns="http://www.w3.org/2000/svg" style="opacity:0;transform:scale(0.98)"><g clip-path="url(#clip0_2473_97287)"><g opacity="0.3"><path d="M164.5 87.5C178.167 60.6666 216.5 23.1 260.5 87.5" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path><path d="M259 87.5C272.667 60.6666 311 23.1 355 87.5" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path><path d="M65 87.5C78.6667 60.6666 117 23.1 161 87.5" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path><path d="M-31 87.5C-17.3333 60.6666 21 23.1 65 87.5" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path><path d="M165 146C178.667 172.833 217 210.4 261 146" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path><path d="M259.5 146C273.167 172.833 311.5 210.4 355.5 146" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path><path d="M65.5 146C79.1667 172.833 117.5 210.4 161.5 146" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path><path d="M-30.5 146C-16.8333 172.833 21.5 210.4 65.5 146" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path><path d="M162.5 85.5V-33.5" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path><path d="M162.5 265V146" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path><path d="M65 85.5V-33.5" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path><path d="M65 265V146" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path><path d="M259 85.5V-33.5" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path><path d="M259 265V146" stroke="var(--color-accent-100)" stroke-dasharray="4 4" stroke-dashoffset="100" opacity="0"></path></g><g opacity="0" style="transform-origin:50% 50%;transform:scale(0.8);transform-box:fill-box"><rect x="37.5" y="90.5" width="55" height="55" rx="7.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)"></rect></g><g opacity="0" style="transform:scale(0.9);transform-origin:50% 50%;transform-box:fill-box"><path d="M59 112H59.01M59 124H59.01M58.2 116H71.8C72.9201 116 73.4802 116 73.908 115.782C74.2843 115.59 74.5903 115.284 74.782 114.908C75 114.48 75 113.92 75 112.8V111.2C75 110.08 75 109.52 74.782 109.092C74.5903 108.716 74.2843 108.41 73.908 108.218C73.4802 108 72.9201 108 71.8 108H58.2C57.0799 108 56.5198 108 56.092 108.218C55.7157 108.41 55.4097 108.716 55.218 109.092C55 109.52 55 110.08 55 111.2V112.8C55 113.92 55 114.48 55.218 114.908C55.4097 115.284 55.7157 115.59 56.092 115.782C56.5198 116 57.0799 116 58.2 116ZM58.2 128H71.8C72.9201 128 73.4802 128 73.908 127.782C74.2843 127.59 74.5903 127.284 74.782 126.908C75 126.48 75 125.92 75 124.8V123.2C75 122.08 75 121.52 74.782 121.092C74.5903 120.716 74.2843 120.41 73.908 120.218C73.4802 120 72.9201 120 71.8 120H58.2C57.0799 120 56.5198 120 56.092 120.218C55.7157 120.41 55.4097 120.716 55.218 121.092C55 121.52 55 122.08 55 123.2V124.8C55 125.92 55 126.48 55.218 126.908C55.4097 127.284 55.7157 127.59 56.092 127.782C56.5198 128 57.0799 128 58.2 128Z" stroke="var(--color-accent-100)" stroke-linecap="round" stroke-linejoin="round"></path></g><g style="transform-origin:50% 50%;transform:scale(0);transform-box:fill-box"><rect x="60.5" y="85.5" width="9" height="9" rx="1.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)"></rect></g><g style="transform-origin:50% 50%;transform:scale(0);transform-box:fill-box"><rect x="60.5" y="141.5" width="9" height="9" rx="1.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)"></rect></g><g opacity="0" style="transform-origin:50% 50%;transform:scale(0.8);transform-box:fill-box"><rect x="134.5" y="90.5" width="55" height="55" rx="7.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)"></rect></g><g opacity="0" style="transform:scale(0.9);transform-origin:50% 50%;transform-box:fill-box"><path d="M156 112H156.01M156 124H156.01M155.2 116H168.8C169.92 116 170.48 116 170.908 115.782C171.284 115.59 171.59 115.284 171.782 114.908C172 114.48 172 113.92 172 112.8V111.2C172 110.08 172 109.52 171.782 109.092C171.59 108.716 171.284 108.41 170.908 108.218C170.48 108 169.92 108 168.8 108H155.2C154.08 108 153.52 108 153.092 108.218C152.716 108.41 152.41 108.716 152.218 109.092C152 109.52 152 110.08 152 111.2V112.8C152 113.92 152 114.48 152.218 114.908C152.41 115.284 152.716 115.59 153.092 115.782C153.52 116 154.08 116 155.2 116ZM155.2 128H168.8C169.92 128 170.48 128 170.908 127.782C171.284 127.59 171.59 127.284 171.782 126.908C172 126.48 172 125.92 172 124.8V123.2C172 122.08 172 121.52 171.782 121.092C171.59 120.716 171.284 120.41 170.908 120.218C170.48 120 169.92 120 168.8 120H155.2C154.08 120 153.52 120 153.092 120.218C152.716 120.41 152.41 120.716 152.218 121.092C152 121.52 152 122.08 152 123.2V124.8C152 125.92 152 126.48 152.218 126.908C152.41 127.284 152.716 127.59 153.092 127.782C153.52 128 154.08 128 155.2 128Z" stroke="var(--color-accent-100)" stroke-linecap="round" stroke-linejoin="round"></path></g><g style="transform-origin:50% 50%;transform:scale(0);transform-box:fill-box"><rect x="157.5" y="85.5" width="9" height="9" rx="1.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)"></rect></g><g style="transform-origin:50% 50%;transform:scale(0);transform-box:fill-box"><rect x="157.5" y="141.5" width="9" height="9" rx="1.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)"></rect></g><g opacity="0" style="transform-origin:50% 50%;transform:scale(0.8);transform-box:fill-box"><rect x="231.5" y="90.5" width="55" height="55" rx="7.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)"></rect></g><g opacity="0" style="transform:scale(0.9);transform-origin:50% 50%;transform-box:fill-box"><path d="M253 112H253.01M253 124H253.01M252.2 116H265.8C266.92 116 267.48 116 267.908 115.782C268.284 115.59 268.59 115.284 268.782 114.908C269 114.48 269 113.92 269 112.8V111.2C269 110.08 269 109.52 268.782 109.092C268.59 108.716 268.284 108.41 267.908 108.218C267.48 108 266.92 108 265.8 108H252.2C251.08 108 250.52 108 250.092 108.218C249.716 108.41 249.41 108.716 249.218 109.092C249 109.52 249 110.08 249 111.2V112.8C249 113.92 249 114.48 249.218 114.908C249.41 115.284 249.716 115.59 250.092 115.782C250.52 116 251.08 116 252.2 116ZM252.2 128H265.8C266.92 128 267.48 128 267.908 127.782C268.284 127.59 268.59 127.284 268.782 126.908C269 126.48 269 125.92 269 124.8V123.2C269 122.08 269 121.52 268.782 121.092C268.59 120.716 268.284 120.41 267.908 120.218C267.48 120 266.92 120 265.8 120H252.2C251.08 120 250.52 120 250.092 120.218C249.716 120.41 249.41 120.716 249.218 121.092C249 121.52 249 122.08 249 123.2V124.8C249 125.92 249 126.48 249.218 126.908C249.41 127.284 249.716 127.59 250.092 127.782C250.52 128 251.08 128 252.2 128Z" stroke="var(--color-accent-100)" stroke-linecap="round" stroke-linejoin="round"></path></g><g style="transform-origin:50% 50%;transform:scale(0);transform-box:fill-box"><rect x="254.5" y="85.5" width="9" height="9" rx="1.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)"></rect></g><g style="transform-origin:50% 50%;transform:scale(0);transform-box:fill-box"><rect x="254.5" y="141.5" width="9" height="9" rx="1.5" fill="var(--color-background-100)" stroke="var(--color-accent-100)"></rect></g></g><defs><clipPath id="clip0_2473_97287"><rect width="324" height="210" fill="var(--color-background-100)"></rect></clipPath></defs></svg><!--astro:end--></astro-island> </div> <div class="relative flex w-full flex-col items-start gap-1 p-6 md:p-8" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <p class="text-foreground-200 dark:text-foreground-100 font-medium" data-cms-path="products.pages.sections.useCases.items.3.title" data-cms-type="text" data-astro-cid-7amrcyfe style="--totalRows: 3;"> Automatic Scaling </p> <span class="text-foreground-200/70 leading-[1.2em]" data-cms-path="products.pages.sections.useCases.items.3.description" data-cms-type="text" data-astro-cid-7amrcyfe style="--totalRows: 3;"> <astro-island uid="gRCLW" prefix="r95" component-url="/_astro/index.DW7gI7Sc.js" component-export="LinkifiedDescription" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"description":[0,"Deploy apps instantly and scale automatically with Cloudflare Pages. The Cloudflare network handles huge traffic spikes."],"title":[0,"Automatic Scaling"],"locale":[0],"data-astro-cid-7amrcyfe":[0,true]}" ssr client="load" opts="{"name":"LinkifiedDescription","value":true}" await-children><span>Deploy apps instantly and scale automatically with Cloudflare Pages. The Cloudflare network handles huge traffic spikes.</span><!--astro:end--></astro-island> </span> </div> </div> </div> </div> </section> <section class="animate-in mx-auto fade-in transition-opacity delay-100 duration-2000 ease-out relative z-0 bg-background-100 -mt-0.5 flex w-full flex-col overflow-hidden md:hidden "> <svg class="corner-line top-line absolute top-0 left-1/2 h-1 -translate-x-1/2 transition-opacity duration-2000 ease-out w-[200dvw]" preserveAspectRatio="none" aria-hidden="true"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> <div class="relative mb-2 h-20 w-full"> <svg class="pointer-events-none absolute top-0 left-0 z-0 h-full w-full" data-testid="rf__background" aria-hidden="true" style="stroke-dasharray:none;stroke-dashoffset:0"><pattern id="pattern-hxlvne" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--color-decor-dots-100)" style="stroke-dasharray:none;stroke-dashoffset:0"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-hxlvne)" style="stroke-dasharray:none;stroke-dashoffset:0"></rect></svg> </div> <svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-2000 ease-out" preserveAspectRatio="none"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> </section> </div><div data-product-section="codeExamples" class="contents"> <section id="pages-title-1" class="px-section relative" data-cms-path="products.pages.sections.codeExamples"><div class="flex w-full min-w-0 flex-col items-center justify-center"><div class="mx-auto flex w-full max-w-[1080px] min-w-0 flex-col items-center text-center"><h3 class="text-foreground-100 w-full min-w-0 text-balance whitespace-pre-line" data-cms-path="products.pages.sections.codeExamples.title" data-cms-type="text">Code Examples for Cloudflare Pages<astro-island uid="299wld" prefix="r97" component-url="/_astro/index.DW7gI7Sc.js" component-export="CopyLink" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"sectionId":[0,"pages-title-1"]}" ssr client="idle" opts="{"name":"CopyLink","value":true}" await-children><button class="relative hidden px-2 items-center justify-center text-foreground-100/40 active:scale-90 hover:text-foreground-100/70 shrink-0 cursor-pointer opacity-0 group-hover:opacity-100 duration-200 ease-out transition-all md:hidden py-1 translate-y-0.5 -translate-x-2" aria-hidden="true" title="Copy link to clipboard" tabindex="-1" type="button"><svg viewBox="0 0 24 24" class="inline-block shrink-0 size-6 transition-all select-none" aria-hidden="true"><use href="/icons.svg#link"></use></svg><svg viewBox="0 0 24 24" class="inline-block shrink-0 absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 transition-all select-none size-6 scale-0 opacity-0" aria-hidden="true"><use href="/icons.svg#checkmark"></use></svg></button><!--astro:end--></astro-island></h3><p class="heading-visual-h5 mt-4 w-full min-w-0 text-balance whitespace-pre-line text-foreground-100/70" data-cms-path="products.pages.sections.codeExamples.subtitle" data-cms-type="text">Explore code examples for building and deploying full-stack applications</p></div></div></section><section class="px-section" data-cms-path="products.pages.sections.codeExamples.tabs"> <div class="relative mx-auto max-w-[1200px] border" data-static-examples> <div class="pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;top:-7px;key:top-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;top:-7px;key:top-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;bottom:-7px;key:bottom-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;key:bottom-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <div class="grid grid-cols-1 grid-rows-[auto_auto] lg:grid-cols-3 lg:grid-rows-1"> <div class="relative flex flex-col border-b lg:border-b-0 lg:border-r md:min-h-[500px] lg:col-span-2"> <div class="md:absolute md:inset-0 flex md:h-full overflow-hidden w-full items-center justify-center p-4"> <img src="/static/pattern.png" alt="Background Pattern" class="pointer-events-none absolute top-0 right-0 left-0 z-0 h-full object-cover select-none dark:mix-blend-luminosity"> <div class="relative z-10 flex h-full max-h-[calc(100%-1rem)] w-full items-center justify-center overflow-hidden py-2 md:max-h-full max-w-[calc(100%-1rem)] md:max-w-[80%]"> <div class="bg-background-100 relative flex h-full w-full min-w-0 flex-col rounded-lg border p-2 pt-0"> <div class="flex items-center pt-2 pr-2 pl-2"> <button type="button" data-ex-tab="0" data-active class="ex-file-tab cursor-pointer px-2 py-1 font-mono text-[12px] leading-[16px] transition-colors"> nextjs-pages.js </button><button type="button" data-ex-tab="1" class="ex-file-tab cursor-pointer px-2 py-1 font-mono text-[12px] leading-[16px] transition-colors"> flask-pages.py </button><button type="button" data-ex-tab="2" class="ex-file-tab cursor-pointer px-2 py-1 font-mono text-[12px] leading-[16px] transition-colors"> deploy-pages.sh </button><button type="button" data-ex-tab="3" class="ex-file-tab cursor-pointer px-2 py-1 font-mono text-[12px] leading-[16px] transition-colors"> index.html </button> </div> <div class="ex-code-panels relative grid min-h-0 flex-1"> <div data-ex-code="0" data-active class="ex-code-panel overflow-auto" style="max-height:424px;scrollbar-width:thin;scrollbar-color:var(--color-border-100) transparent;grid-area:1/1;"> <div class="flex min-w-max"> <div class="bg-background-100 text-foreground-100/30 sticky left-0 z-10 flex flex-col pt-2 pl-[12px] font-mono text-[13px] leading-[21px] select-none" aria-hidden="true"> <span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 1 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 2 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 3 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 4 </span> </div> <div class="static-code-content flex-1 px-[16px] pt-2 font-mono text-[14px] leading-[21px]"><pre class="astro-code cloudflare" style="background-color:#00000000;color:var(--color-media-100); overflow-x: auto;" tabindex="0" data-language="javascript"><code><span class="line"><span style="color:var(--color-node-accent)">import</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> {</span><span style="color:var(--color-media-100)"> NextPage </span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">}</span><span style="color:var(--color-node-accent)"> from</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> '</span><span style="color:var(--color-compute-100)">next</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">'</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">;</span></span><span class="line"><span style="color:var(--color-node-accent)">export</span><span style="color:var(--color-node-accent)"> default</span><span style="color:var(--color-node-accent)"> function</span><span style="color:var(--color-media-100)"> HomePage</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">()</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> {</span></span><span class="line"><span style="color:var(--color-node-accent)"> return</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> <</span><span style="color:var(--color-accent-200)">div</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">></span><span style="color:var(--color-media-100)">Welcome to my Pages site!</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"></</span><span style="color:var(--color-accent-200)">div</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">>;</span></span><span class="line"><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">}</span></span></code></pre></div> </div> </div><div data-ex-code="1" class="ex-code-panel overflow-auto" style="max-height:424px;scrollbar-width:thin;scrollbar-color:var(--color-border-100) transparent;grid-area:1/1;"> <div class="flex min-w-max"> <div class="bg-background-100 text-foreground-100/30 sticky left-0 z-10 flex flex-col pt-2 pl-[12px] font-mono text-[13px] leading-[21px] select-none" aria-hidden="true"> <span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 1 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 2 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 3 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 4 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 5 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 6 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 7 </span> </div> <div class="static-code-content flex-1 px-[16px] pt-2 font-mono text-[14px] leading-[21px]"><pre class="astro-code cloudflare" style="background-color:#00000000;color:var(--color-media-100); overflow-x: auto;" tabindex="0" data-language="python"><code><span class="line"><span style="color:var(--color-node-accent)">from</span><span style="color:var(--color-media-100)"> flask </span><span style="color:var(--color-node-accent)">import</span><span style="color:var(--color-media-100)"> Flask</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">,</span><span style="color:var(--color-media-100)"> jsonify</span></span><span class="line"><span style="color:var(--color-media-100)">app </span><span style="color:var(--color-node-accent)">=</span><span style="color:var(--color-media-100)"> Flask</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">(</span><span style="color:var(--color-media-100)">__name__</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">)</span></span><span class="line"><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">@</span><span style="color:var(--color-media-100)">app</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">.</span><span style="color:var(--color-media-100)">route</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">(</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">'</span><span style="color:var(--color-compute-100)">/api/data</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">'</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">)</span></span><span class="line"><span style="color:var(--color-node-accent)">def</span><span style="color:var(--color-media-100)"> get_data</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">():</span></span><span class="line"><span style="color:var(--color-node-accent)"> return</span><span style="color:var(--color-media-100)"> jsonify</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">({</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">'</span><span style="color:var(--color-compute-100)">message</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">'</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">:</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> '</span><span style="color:var(--color-compute-100)">Hello from Pages!</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">'</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">})</span></span><span class="line"><span style="color:var(--color-node-accent)">if</span><span style="color:var(--color-media-100)"> __name__ </span><span style="color:var(--color-node-accent)">==</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> '</span><span style="color:var(--color-compute-100)">__main__</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">'</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">:</span></span><span class="line"><span style="color:var(--color-media-100)"> app</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">.</span><span style="color:var(--color-media-100)">run</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">()</span></span></code></pre></div> </div> </div><div data-ex-code="2" class="ex-code-panel overflow-auto" style="max-height:424px;scrollbar-width:thin;scrollbar-color:var(--color-border-100) transparent;grid-area:1/1;"> <div class="flex min-w-max"> <div class="bg-background-100 text-foreground-100/30 sticky left-0 z-10 flex flex-col pt-2 pl-[12px] font-mono text-[13px] leading-[21px] select-none" aria-hidden="true"> <span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 1 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 2 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 3 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 4 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 5 </span> </div> <div class="static-code-content flex-1 px-[16px] pt-2 font-mono text-[14px] leading-[21px]"><pre class="astro-code cloudflare" style="background-color:#00000000;color:var(--color-media-100); overflow-x: auto;" tabindex="0" data-language="bash"><code><span class="line"><span style="color:var(--color-media-100)">curl </span><span style="color:#79B8FF">-X</span><span style="color:var(--color-compute-100)"> POST</span><span style="color:#79B8FF"> \</span></span><span class="line"><span style="color:var(--color-compute-100)"> https://api.cloudflare.com/client/v4/pages/projects</span><span style="color:#79B8FF"> \</span></span><span class="line"><span style="color:#79B8FF"> -H</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> '</span><span style="color:var(--color-compute-100)">Authorization: Bearer YOUR_API_TOKEN</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">'</span><span style="color:#79B8FF"> \</span></span><span class="line"><span style="color:#79B8FF"> -H</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> '</span><span style="color:var(--color-compute-100)">Content-Type: application/json</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">'</span><span style="color:#79B8FF"> \</span></span><span class="line"><span style="color:#79B8FF"> -d</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> '</span><span style="color:var(--color-compute-100)">{"name":"my-pages-project","github":{"repo":"my-github-repo"}}</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">'</span></span></code></pre></div> </div> </div><div data-ex-code="3" class="ex-code-panel overflow-auto" style="max-height:424px;scrollbar-width:thin;scrollbar-color:var(--color-border-100) transparent;grid-area:1/1;"> <div class="flex min-w-max"> <div class="bg-background-100 text-foreground-100/30 sticky left-0 z-10 flex flex-col pt-2 pl-[12px] font-mono text-[13px] leading-[21px] select-none" aria-hidden="true"> <span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 1 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 2 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 3 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 4 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 5 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 6 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 7 </span><span class="block pr-[3px] pl-[5px] text-right" style="min-width:20px;padding-right:12px;"> 8 </span> </div> <div class="static-code-content flex-1 px-[16px] pt-2 font-mono text-[14px] leading-[21px]"><pre class="astro-code cloudflare" style="background-color:#00000000;color:var(--color-media-100); overflow-x: auto;" tabindex="0" data-language="html"><code><span class="line"><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"><</span><span style="color:var(--color-accent-200)">html</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">></span></span><span class="line"><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> <</span><span style="color:var(--color-accent-200)">head</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">></span></span><span class="line"><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> <</span><span style="color:var(--color-accent-200)">script</span><span style="color:var(--color-media-100)"> src</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">=</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">"</span><span style="color:var(--color-compute-100)">https://cdn.cloudflare.com/analytics.js</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">"</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">></span><span style="color:var(--color-media-100)"><</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">/</span><span style="color:var(--color-accent-200)">script</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">></span></span><span class="line"><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> </</span><span style="color:var(--color-accent-200)">head</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">></span></span><span class="line"><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> <</span><span style="color:var(--color-accent-200)">body</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">></span></span><span class="line"><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> <</span><span style="color:var(--color-accent-200)">h1</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">></span><span style="color:var(--color-media-100)">Welcome to my Pages site!</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"></</span><span style="color:var(--color-accent-200)">h1</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">></span></span><span class="line"><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"> </</span><span style="color:var(--color-accent-200)">body</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">></span></span><span class="line"><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)"></</span><span style="color:var(--color-accent-200)">html</span><span style="color:color-mix(in srgb, var(--color-foreground-100) 50%, transparent)">></span></span></code></pre></div> </div> </div> </div> <div class="absolute right-4 bottom-4 z-10"> <button type="button" data-ex-copy class="ex-copy-btn border-border-100 bg-background-100 text-foreground-100/50 hover:text-foreground-100 rounded-md border p-2 transition-colors" aria-label="Copy code to clipboard"> <svg data-copy-icon width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect> <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path> </svg> <svg data-check-icon width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <polyline points="20 6 9 17 4 12"></polyline> </svg> </button> </div> </div> </div> </div> </div> <div class="relative col-span-1 flex flex-col md:min-h-[500px]"> <button type="button" data-ex-desc="0" data-active class="ex-desc-tab group relative flex w-full flex-col items-start gap-1 border-b p-6 text-left transition-colors lg:p-8"> <div class="absolute top-0 right-0 left-0 h-px"></div> <p class="ex-desc-title font-medium transition-colors" data-cms-path="products.pages.sections.codeExamples.tabs.tabs.0.title" data-cms-type="text"> Deploy a Static Site with Next.js </p> <span class="ex-desc-text leading-[1.2em] transition-colors" data-cms-path="products.pages.sections.codeExamples.tabs.tabs.0.description" data-cms-type="text"> <span>Use Cloudflare Pages to deploy a static site with Next.js or React.</span> </span> <div class="ex-desc-indicator bg-accent-100 absolute top-0 bottom-0 left-0 w-1"></div> </button><button type="button" data-ex-desc="1" class="ex-desc-tab group relative flex w-full flex-col items-start gap-1 border-b p-6 text-left transition-colors lg:p-8"> <p class="ex-desc-title font-medium transition-colors" data-cms-path="products.pages.sections.codeExamples.tabs.tabs.1.title" data-cms-type="text"> Build a Serverless API with Flask </p> <span class="ex-desc-text leading-[1.2em] transition-colors" data-cms-path="products.pages.sections.codeExamples.tabs.tabs.1.description" data-cms-type="text"> <span>Use Cloudflare Pages to build a serverless API with Flask.</span> </span> <div class="ex-desc-indicator bg-accent-100 absolute top-0 bottom-0 left-0 w-1"></div> </button><button type="button" data-ex-desc="2" class="ex-desc-tab group relative flex w-full flex-col items-start gap-1 border-b p-6 text-left transition-colors lg:p-8"> <p class="ex-desc-title font-medium transition-colors" data-cms-path="products.pages.sections.codeExamples.tabs.tabs.2.title" data-cms-type="text"> Deploy with GitHub Integration </p> <span class="ex-desc-text leading-[1.2em] transition-colors" data-cms-path="products.pages.sections.codeExamples.tabs.tabs.2.description" data-cms-type="text"> <span>Use Cloudflare Pages to deploy a site with GitHub integration.</span> </span> <div class="ex-desc-indicator bg-accent-100 absolute top-0 bottom-0 left-0 w-1"></div> </button><button type="button" data-ex-desc="3" class="ex-desc-tab group relative flex w-full flex-col items-start gap-1 p-6 text-left transition-colors lg:p-8 border-b-0"> <p class="ex-desc-title font-medium transition-colors" data-cms-path="products.pages.sections.codeExamples.tabs.tabs.3.title" data-cms-type="text"> Add Web Analytics </p> <span class="ex-desc-text leading-[1.2em] transition-colors" data-cms-path="products.pages.sections.codeExamples.tabs.tabs.3.description" data-cms-type="text"> <span>Use Cloudflare Pages to add web analytics to your site.</span> </span> <div class="ex-desc-indicator bg-accent-100 absolute top-0 bottom-0 left-0 w-1"></div> </button> </div> </div> </div> <astro-island uid="Z1Fn2OE" prefix="r129" component-url="/_astro/index.URjLb0hd.js" component-export="ContextMenuIsland" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"selector":[0,".static-code-content"]}" ssr client="idle" opts="{"name":"ContextMenuIsland","value":true}"></astro-island> </section> <style>
/* Shiki output resets */
.static-code-content pre {
margin: 0;
padding: 0;
background: transparent !important;
overflow: visible;
}
.static-code-content code {
font-size: 14px !important;
line-height: 21px !important;
font-weight: 400 !important;
letter-spacing: 0 !important;
background: transparent !important;
padding: 0 !important;
white-space: pre;
display: block;
}
.static-code-content .line {
display: block;
}
/* Visibility toggle (not display:none) keeps inactive panels laid
out so switching doesn't relayout ~600 Shiki spans each time. */
.ex-code-panel {
visibility: hidden;
opacity: 0;
pointer-events: none;
}
.ex-code-panel[data-active] {
visibility: visible;
opacity: 1;
pointer-events: auto;
}
.ex-file-tab {
color: color-mix(in srgb, var(--color-foreground-100) 40%, transparent);
}
.ex-file-tab:hover {
color: color-mix(in srgb, var(--color-foreground-100) 70%, transparent);
}
.ex-file-tab[data-active] {
color: var(--color-foreground-100);
}
.ex-desc-tab {
background: var(--color-background-100);
}
.ex-desc-tab:hover {
background: color-mix(in srgb, var(--color-background-100) 50%, var(--color-background-300));
}
.ex-desc-tab[data-active] {
background: var(--color-background-300);
}
.ex-desc-title {
color: var(--color-foreground-200);
}
.ex-desc-tab[data-active] .ex-desc-title {
color: var(--color-foreground-100);
}
.ex-desc-text {
color: color-mix(in srgb, var(--color-foreground-200) 70%, transparent);
}
.ex-desc-tab[data-active] .ex-desc-text {
color: color-mix(in srgb, var(--color-foreground-100) 70%, transparent);
}
.ex-desc-indicator {
opacity: 0;
}
.ex-desc-tab[data-active] .ex-desc-indicator {
opacity: 1;
}
.ex-copy-btn[data-copied] {
color: var(--color-accent-100);
}
.ex-copy-btn[data-copied] [data-copy-icon] {
display: none;
}
.ex-copy-btn:not([data-copied]) [data-check-icon] {
display: none;
}
/* Copy failure: clipboard API rejected (permission denied / not focused /
insecure context). Brief red flash on the icon — no other UI change. */
.ex-copy-btn[data-copy-error] {
color: color-mix(in srgb, var(--color-foreground-100) 60%, #cd3131);
}
</style> <script type="module">document.querySelectorAll("[data-static-examples]").forEach(r=>{const t=r.querySelectorAll("[data-ex-tab]"),i=r.querySelectorAll("[data-ex-code]"),c=r.querySelectorAll("[data-ex-desc]"),e=r.querySelector("[data-ex-copy]"),m=a=>{const n=String(a);t.forEach(_=>{_.toggleAttribute("data-active",_.getAttribute("data-ex-tab")===n)}),i.forEach(_=>{_.toggleAttribute("data-active",_.getAttribute("data-ex-code")===n)}),c.forEach(_=>{_.toggleAttribute("data-active",_.getAttribute("data-ex-desc")===n)})};c.forEach(a=>{a.addEventListener("click",()=>m(a.getAttribute("data-ex-desc"))),a.addEventListener("pointerover",()=>{a.hasAttribute("data-active")||m(a.getAttribute("data-ex-desc"))})}),t.forEach(a=>{a.addEventListener("click",()=>m(a.getAttribute("data-ex-tab")))}),e&&e.addEventListener("click",()=>{const a=r.querySelector("[data-ex-code][data-active] .static-code-content");if(!a)return;const n=a.querySelectorAll(".line"),_=Array.from(n).map(v=>v.textContent??"").join(`
`).trim();navigator.clipboard.writeText(_).then(()=>{e.setAttribute("data-copied",""),setTimeout(()=>e.removeAttribute("data-copied"),1500)}).catch(v=>{console.error(JSON.stringify({event:"code_examples_copy_failed",error:v instanceof Error?v.message:String(v),textLength:_.length})),e.setAttribute("data-copy-error",""),setTimeout(()=>e.removeAttribute("data-copy-error"),1500)})})});</script> <section class="animate-in mx-auto fade-in transition-opacity delay-100 duration-2000 ease-out relative z-0 bg-background-100 -mt-0.5 flex w-full flex-col overflow-hidden md:hidden "> <svg class="corner-line top-line absolute top-0 left-1/2 h-1 -translate-x-1/2 transition-opacity duration-2000 ease-out w-[200dvw]" preserveAspectRatio="none" aria-hidden="true"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> <div class="relative mb-2 h-20 w-full"> <svg class="pointer-events-none absolute top-0 left-0 z-0 h-full w-full" data-testid="rf__background" aria-hidden="true" style="stroke-dasharray:none;stroke-dashoffset:0"><pattern id="pattern-hxlvne" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--color-decor-dots-100)" style="stroke-dasharray:none;stroke-dashoffset:0"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-hxlvne)" style="stroke-dasharray:none;stroke-dashoffset:0"></rect></svg> </div> <svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-2000 ease-out" preserveAspectRatio="none"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> </section> </div><div data-product-section="testimonial" class="contents"> <section id="testimony" class="bg-background-100 relative" data-testimony-section data-cms-path="products.pages.sections.testimonial.quoteKey"> <div class="flex w-full flex-col items-center justify-center p-6 md:p-12 lg:p-16 xl:p-20"> <script>(()=>{var a=(s,i,o)=>{let r=async()=>{await(await s())()},t=typeof i.value=="object"?i.value:void 0,c={rootMargin:t==null?void 0:t.rootMargin},n=new IntersectionObserver(e=>{for(let l of e)if(l.isIntersecting){n.disconnect(),r();break}},c);for(let e of o.children)n.observe(e)};(self.Astro||(self.Astro={})).visible=a;window.dispatchEvent(new Event("astro:visible"));})();</script><astro-island uid="MC9iy" prefix="r133" component-url="/_astro/index.CIRq-r3a.js" component-export="CornerLines" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"vertical":[0,false],"className":[0,"hidden md:block"]}" ssr client="visible" opts="{"name":"CornerLines","value":true}" await-children><div class="corner-lines-container" aria-hidden="true"><svg class="corner-line top-line absolute top-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-[2000ms] ease-out opacity-50 hidden md:block" preserveAspectRatio="none" aria-hidden="true"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line></svg><svg class="corner-line top-internal absolute top-0 left-1/2 h-1 w-[calc(100%+48px)] -translate-x-1/2 transition-opacity duration-[2000ms] ease-out opacity-0 hidden md:block" style="max-width:calc(1200px + 32px)" preserveAspectRatio="none"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line></svg><svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-[2000ms] ease-out opacity-0 hidden md:block" preserveAspectRatio="none"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line></svg><svg class="corner-line bottom-internal absolute bottom-0 left-1/2 h-1 w-[calc(100%+48px)] -translate-x-1/2 transition-opacity duration-[2000ms] ease-out opacity-0 hidden md:block" style="max-width:calc(1200px + 32px)" preserveAspectRatio="none"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line></svg></div><!--astro:end--></astro-island> <div class="relative flex w-full max-w-[1200px] flex-col gap-8 lg:flex-row lg:items-start"> <div class="order-1 flex w-full shrink-0 justify-start lg:order-2 lg:w-auto lg:justify-end lg:pr-0"> <div class="flex flex-row items-center gap-3 lg:flex-col lg:items-center lg:gap-3"> <svg viewBox="0 0 750 686" class="inline-block text-foreground-200/20 size-16 shrink-0 lg:size-24" aria-hidden="true"><use href="/icons.svg#leaguedLogo"></use></svg> <p class="heading-visual-h6 min-w-0 text-left lg:text-center" data-cms-path="quotes.leagued.company" data-cms-type="text"> Leagued </p> </div> </div> <div class="order-2 flex min-w-0 flex-1 flex-col gap-8 lg:order-1"> <div class="text-foreground-200 dark:text-foreground-100 inline-flex w-full max-w-[720px] -ml-2.5"> <h4 class="mr-1 text-inherit">"</h4> <h4 class="relative font-normal text-balance text-inherit" data-cms-path="quotes.leagued.quote" data-cms-type="text"> Choosing Cloudflare as our serverless provider was a no-brainer. Workers KV took just 15 minutes to get up and running. The ability to quickly spin up a Worker, deploy it to production, and scale effortlessly has been invaluable. " </h4> </div> <div class="relative flex flex-row items-center gap-6"> <div class="text-foreground-200/70 flex flex-col gap-0.5"> <span class="leading-none" data-cms-path="quotes.leagued.person.name" data-cms-type="text"> Sammi Sinno </span> <span class="leading-none font-medium" data-cms-path="quotes.leagued.person.title" data-cms-type="text"> CEO </span> </div> </div> </div> </div> </div> <section class="animate-in mx-auto fade-in transition-opacity delay-100 duration-2000 ease-out relative z-0 bg-background-100 -mt-0.5 flex w-full flex-col overflow-hidden md:hidden "> <svg class="corner-line top-line absolute top-0 left-1/2 h-1 -translate-x-1/2 transition-opacity duration-2000 ease-out w-[200dvw]" preserveAspectRatio="none" aria-hidden="true"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> <div class="relative mb-2 h-20 w-full"> <svg class="pointer-events-none absolute top-0 left-0 z-0 h-full w-full" data-testid="rf__background" aria-hidden="true" style="stroke-dasharray:none;stroke-dashoffset:0"><pattern id="pattern-hxlvne" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--color-decor-dots-100)" style="stroke-dasharray:none;stroke-dashoffset:0"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-hxlvne)" style="stroke-dasharray:none;stroke-dashoffset:0"></rect></svg> </div> <svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-2000 ease-out" preserveAspectRatio="none"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> </section> </section> <section class="animate-in mx-auto fade-in transition-opacity delay-100 duration-2000 ease-out relative z-0 bg-background-100 -mt-0.5 flex w-full flex-col overflow-hidden md:hidden "> <svg class="corner-line top-line absolute top-0 left-1/2 h-1 -translate-x-1/2 transition-opacity duration-2000 ease-out w-[200dvw]" preserveAspectRatio="none" aria-hidden="true"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> <div class="relative mb-2 h-20 w-full"> <svg class="pointer-events-none absolute top-0 left-0 z-0 h-full w-full" data-testid="rf__background" aria-hidden="true" style="stroke-dasharray:none;stroke-dashoffset:0"><pattern id="pattern-hxlvne" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--color-decor-dots-100)" style="stroke-dasharray:none;stroke-dashoffset:0"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-hxlvne)" style="stroke-dasharray:none;stroke-dashoffset:0"></rect></svg> </div> <svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-2000 ease-out" preserveAspectRatio="none"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> </section> </div><div data-product-section="pricing" class="contents"> <section class="animate-in mx-auto fade-in transition-opacity delay-100 duration-2000 ease-out relative z-0 bg-background-100 -mt-0.5 flex w-full flex-col overflow-hidden md:hidden "> <svg class="corner-line top-line absolute top-0 left-1/2 h-1 -translate-x-1/2 transition-opacity duration-2000 ease-out w-[200dvw]" preserveAspectRatio="none" aria-hidden="true"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> <div class="relative mb-2 h-20 w-full"> <svg class="pointer-events-none absolute top-0 left-0 z-0 h-full w-full" data-testid="rf__background" aria-hidden="true" style="stroke-dasharray:none;stroke-dashoffset:0"><pattern id="pattern-hxlvne" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--color-decor-dots-100)" style="stroke-dasharray:none;stroke-dashoffset:0"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-hxlvne)" style="stroke-dasharray:none;stroke-dashoffset:0"></rect></svg> </div> <svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-2000 ease-out" preserveAspectRatio="none"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> </section> </div><div data-product-section="allProducts" class="contents"> <section id="pages-all-products" class="gap-section relative flex flex-col"> <div class="mx-auto flex max-w-[1080px] flex-col items-center px-4 text-center md:px-0"> <h3 class="text-foreground-100 text-balance">
Powerful primitives, seamlessly integrated
<astro-island uid="Z4n3ay" prefix="r223" component-url="/_astro/index.DW7gI7Sc.js" component-export="CopyLink" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"sectionId":[0,"pages-all-products"]}" ssr client="idle" opts="{"name":"CopyLink","value":true}" await-children><button class="relative hidden px-2 items-center justify-center text-foreground-100/40 active:scale-90 hover:text-foreground-100/70 shrink-0 cursor-pointer opacity-0 group-hover:opacity-100 duration-200 ease-out transition-all md:hidden py-1 translate-y-0.5 -translate-x-2" aria-hidden="true" title="Copy link to clipboard" tabindex="-1" type="button"><svg viewBox="0 0 24 24" class="inline-block shrink-0 size-6 transition-all select-none" aria-hidden="true"><use href="/icons.svg#link"></use></svg><svg viewBox="0 0 24 24" class="inline-block shrink-0 absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 transition-all select-none size-6 scale-0 opacity-0" aria-hidden="true"><use href="/icons.svg#checkmark"></use></svg></button><!--astro:end--></astro-island> </h3> <h5 class="text-foreground-100/70 mt-4 text-balance whitespace-pre-line"> Built on systems powering 20% of the Internet, Cloudflare Pages run on the same infrastructure Cloudflare uses to build Cloudflare. Enterprise-grade reliability, security, and performance are standard. </h5> </div> <div class="relative mx-auto w-full max-w-[1200px] md:border"> <div class="*:border-border-100/50 relative grid w-full grid-cols-1 *:border-t md:grid-cols-2 lg:grid-cols-3 lg:*:border-l [&>*:first-child]:border-t-0 md:[&>*:nth-child(-n+2)]:border-t-0 lg:[&>*:nth-child(-n+3)]:border-t-0 lg:[&>*:nth-child(3n+1)]:border-l-0 md:[&>*:nth-child(even)]:border-l"> <div class="relative flex min-h-full w-full min-w-0 flex-col items-start justify-start gap-0.5 px-6 py-10"> <div class="pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;top:-7px;key:top-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;top:-7px;key:top-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;bottom:-7px;key:bottom-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;key:bottom-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <a class="text-tertiary hover:text-foreground-200/70 px-4 pb-2 text-sm leading-none font-medium transition-colors duration-200 max-lg:text-xs" href="/products/#compute"> Compute </a> <div class="flex w-full flex-col items-start justify-start"> <a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/browser-rendering/"> <svg viewBox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productBrowserRenderings"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Browser Run </small> <small class="text-tertiary leading-snug font-normal!"> Automated browsers </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/containers/"> <svg viewBox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productContainers"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Containers </small> <small class="text-tertiary leading-snug font-normal!"> Any language, anywhere </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/durable-objects/"> <svg viewBox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productDurableObjects"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Durable Objects </small> <small class="text-tertiary leading-snug font-normal!"> Stateful compute </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/sandboxes/"> <svg viewBox="-2 -2 28 28" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productSandboxes"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Sandboxes </small> <small class="text-tertiary leading-snug font-normal!"> Secure code execution </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/workers/"> <svg viewBox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productWorkers"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Workers </small> <small class="text-tertiary leading-snug font-normal!"> Global serverless functions </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/workers-for-platforms/"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m2 12 9.642 4.821c.131.066.197.099.266.111.06.012.123.012.184 0 .069-.012.135-.045.266-.11L22 12M2 17l9.642 4.821c.131.066.197.099.266.111.06.012.123.012.184 0 .069-.012.135-.045.266-.11L22 17M2 7l9.642-4.821c.131-.066.197-.098.266-.111a.5.5 0 0 1 .184 0c.069.013.135.045.266.11L22 7l-9.642 4.821a1.028 1.028 0 0 1-.266.111.501.501 0 0 1-.184 0c-.069-.012-.135-.045-.266-.11L2 7Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Workers for Platforms </small> <small class="text-tertiary leading-snug font-normal!"> Programmable Platform Solutions </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/workflows/"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m2 2 2 2m18-2-2 2m2 18-2-2M2 22l2-2m-2-4h1.5M8 2v1.5M22 8h-1.5M16 22v-1.5m2-4.5h3.5M16 2v4M2 8h4m2 14v-4m3.434-10.434-3.868 3.868c-.198.198-.297.297-.334.412a.5.5 0 0 0 0 .309c.037.114.136.213.334.41l3.868 3.87c.198.197.297.296.412.333.1.033.208.033.309 0 .114-.037.213-.136.41-.334l3.87-3.868c.197-.198.296-.297.333-.412a.499.499 0 0 0 0-.309c-.037-.114-.136-.213-.334-.41l-3.868-3.87c-.198-.197-.297-.296-.412-.333a.5.5 0 0 0-.309 0c-.114.037-.213.136-.41.334Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Workflows </small> <small class="text-tertiary leading-snug font-normal!"> Process orchestration </small> </div> </a> </div> </div><div class="relative flex min-h-full w-full min-w-0 flex-col items-start justify-start gap-0.5 px-6 py-10"> <div class="pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;top:-7px;key:top-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;top:-7px;key:top-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;bottom:-7px;key:bottom-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;key:bottom-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <a class="text-tertiary hover:text-foreground-200/70 px-4 pb-2 text-sm leading-none font-medium transition-colors duration-200 max-lg:text-xs" href="/products/#storage"> Storage </a> <div class="flex w-full flex-col items-start justify-start"> <a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/artifacts/"> <svg viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productArtifacts"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Artifacts </small> <small class="text-tertiary leading-snug font-normal!"> Git-native versioned storage </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/d1/"> <svg viewBox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productD1"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> D1 </small> <small class="text-tertiary leading-snug font-normal!"> Serverless SQL </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/data-platform/"> <svg viewBox="0 0 56 56" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#lego"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Data Platform </small> <small class="text-tertiary leading-snug font-normal!"> Ingest, Catalog & Query </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/hyperdrive/"> <svg viewBox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productHyperdrive"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Hyperdrive </small> <small class="text-tertiary leading-snug font-normal!"> Global databases </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/queues/"> <svg viewBox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productQueues"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Queues </small> <small class="text-tertiary leading-snug font-normal!"> Message processing </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/r2/"> <svg viewBox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productR2"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> R2 </small> <small class="text-tertiary leading-snug font-normal!"> Egress-free storage </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/kv/"> <svg viewBox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productKv"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> KV </small> <small class="text-tertiary leading-snug font-normal!"> Ultra-fast key-value storage </small> </div> </a> </div> </div><div class="relative flex min-h-full w-full min-w-0 flex-col items-start justify-start gap-0.5 px-6 py-10"> <div class="pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;top:-7px;key:top-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;top:-7px;key:top-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;bottom:-7px;key:bottom-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;key:bottom-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <a class="text-tertiary hover:text-foreground-200/70 px-4 pb-2 text-sm leading-none font-medium transition-colors duration-200 max-lg:text-xs" href="/products/#ai"> AI </a> <div class="flex w-full flex-col items-start justify-start"> <a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/agents/"> <svg viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productAgents"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Agents </small> <small class="text-tertiary leading-snug font-normal!"> Build stateful AI agents </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/ai-gateway/"> <svg viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productAiGateway"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> AI Gateway </small> <small class="text-tertiary leading-snug font-normal!"> AI observability </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/ai-search/"> <svg viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productAutoRag"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> AI Search </small> <small class="text-tertiary leading-snug font-normal!"> Instant retrieval </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/vectorize/"> <svg viewBox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productVectorize"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Vectorize </small> <small class="text-tertiary leading-snug font-normal!"> Vector database </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/workers-ai/"> <svg viewBox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productWorkersAI"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Workers AI </small> <small class="text-tertiary leading-snug font-normal!"> Edge AI models </small> </div> </a> </div> </div><div class="relative flex min-h-full w-full min-w-0 flex-col items-start justify-start gap-0.5 px-6 py-10"> <div class="pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;top:-7px;key:top-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;top:-7px;key:top-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;bottom:-7px;key:bottom-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;key:bottom-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <a class="text-tertiary hover:text-foreground-200/70 px-4 pb-2 text-sm leading-none font-medium transition-colors duration-200 max-lg:text-xs" href="/products/#sase"> SASE / Zero Trust </a> <div class="flex w-full flex-col items-start justify-start"> <a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/sase/"> <svg viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#shieldPlus"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> SASE </small> <small class="text-tertiary leading-snug font-normal!"> Cloudflare SASE platform </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/access/"> <svg viewBox="0 0 18 19" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#user"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Access </small> <small class="text-tertiary leading-snug font-normal!"> Zero trust access to private resources </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/casb/"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 21H6m13-3h-9m-3 0H5m13 3h-2m-9-6a5 5 0 1 1 .1-9.999 5.502 5.502 0 0 1 10.195 1.004A4.5 4.5 0 1 1 17.5 15H6.999Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> CASB </small> <small class="text-tertiary leading-snug font-normal!"> SaaS and cloud posture </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/dlp/"> <svg viewBox="0 0 16 16" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productDataLossPrevention"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Data Loss Prevention </small> <small class="text-tertiary leading-snug font-normal!"> Protect sensitive data </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/gateway/"> <svg viewBox="0 0 16 16" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productGateway"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Gateway </small> <small class="text-tertiary leading-snug font-normal!"> Web filtering </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/browser-isolation/"> <svg viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#browser"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Browser Isolation </small> <small class="text-tertiary leading-snug font-normal!"> Secure web browsing </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/wan/"> <svg viewBox="0 0 48 48" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productCloudflareWan"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> WAN </small> <small class="text-tertiary leading-snug font-normal!"> Cloud-delivered networking </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/email-security/"> <svg viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#shieldPlus"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Email Security </small> <small class="text-tertiary leading-snug font-normal!"> Phishing protection </small> </div> </a> </div> </div><div class="relative flex min-h-full w-full min-w-0 flex-col items-start justify-start gap-0.5 px-6 py-10"> <div class="pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;top:-7px;key:top-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;top:-7px;key:top-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;bottom:-7px;key:bottom-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;key:bottom-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <a class="text-tertiary hover:text-foreground-200/70 px-4 pb-2 text-sm leading-none font-medium transition-colors duration-200 max-lg:text-xs" href="/products/#security"> Security </a> <div class="flex w-full flex-col items-start justify-start"> <a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/ddos/"> <svg viewBox="0 0 16 16" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productCloudflareNetworkFirewall"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> DDoS Protection </small> <small class="text-tertiary leading-snug font-normal!"> Mitigation Solutions </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/rate-limiting/"> <svg viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productRateLimiting"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Rate Limiting </small> <small class="text-tertiary leading-snug font-normal!"> Abuse prevention </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/ssl/"> <svg viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#shieldPlus"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> SSL </small> <small class="text-tertiary leading-snug font-normal!"> Secure Your Site with SSL </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/turnstile/"> <svg viewBox="0 0 54 54" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productTurnstile"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Turnstile </small> <small class="text-tertiary leading-snug font-normal!"> A CAPTCHA Replacement Solution </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/waf/"> <svg viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productWaf"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> WAF </small> <small class="text-tertiary leading-snug font-normal!"> Web Application Firewall </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/magic-transit/"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m13 14-3-3m5.01-7.5V2m3.94 3.06L20.01 4m-1.06 9 1.06 1.06m-9-9L9.95 4m10.56 5h1.5M6.131 20.869l9.238-9.238c.396-.396.594-.594.668-.822a1 1 0 0 0 0-.618c-.074-.228-.272-.426-.668-.822l-.737-.738c-.397-.396-.595-.594-.823-.668a1 1 0 0 0-.618 0c-.228.074-.426.272-.822.668L3.13 17.87c-.396.396-.594.594-.668.822a1 1 0 0 0 0 .618c.074.228.272.426.668.822l.738.738c.396.396.594.594.822.668a1 1 0 0 0 .618 0c.228-.074.426-.272.822-.668Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Magic Transit </small> <small class="text-tertiary leading-snug font-normal!"> DDoS Protection for Networks </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/client-side-security/"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 9H2m0-1.2v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C4.28 21 5.12 21 6.8 21h10.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C22 18.72 22 17.88 22 16.2V7.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C19.72 3 18.88 3 17.2 3H6.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C2 5.28 2 6.12 2 7.8Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Client-Side Security </small> <small class="text-tertiary leading-snug font-normal!"> Prevent browser supply chain attacks </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/bot-management/"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8.1 21.221a12.16 12.16 0 0 1-2.207-7.002 6.108 6.108 0 0 1 6.106-6.11 6.108 6.108 0 0 1 6.106 6.11"></path><path d="M8.1 21.221a12.16 12.16 0 0 1-2.207-7.002 6.108 6.108 0 0 1 6.106-6.11 6.108 6.108 0 0 1 6.106 6.11"></path><path d="M18.436 20.312c-.11.006-.218.016-.329.016a6.108 6.108 0 0 1-6.106-6.11"></path><path d="M18.436 20.312c-.11.006-.218.016-.329.016a6.108 6.108 0 0 1-6.106-6.11"></path><path d="M13.27 22a9.158 9.158 0 0 1-4.323-7.781 3.054 3.054 0 1 1 6.107 0 3.054 3.054 0 1 0 6.108 0c0-5.062-4.102-9.164-9.16-9.164-5.059 0-9.16 4.102-9.16 9.164 0 1.128.126 2.226.358 3.286"></path><path d="M13.27 22a9.158 9.158 0 0 1-4.323-7.781 3.054 3.054 0 1 1 6.107 0 3.054 3.054 0 1 0 6.108 0c0-5.062-4.102-9.164-9.16-9.164-5.059 0-9.16 4.102-9.16 9.164 0 1.128.126 2.226.358 3.286"></path><path d="M20.526 5.863A11.327 11.327 0 0 0 12 2a11.327 11.327 0 0 0-8.525 3.863"></path><path d="M20.526 5.863A11.327 11.327 0 0 0 12 2a11.327 11.327 0 0 0-8.525 3.863"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Bot Management </small> <small class="text-tertiary leading-snug font-normal!"> Block bad bots </small> </div> </a> </div> </div><div class="relative flex min-h-full w-full min-w-0 flex-col items-start justify-start gap-0.5 px-6 py-10"> <div class="pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;top:-7px;key:top-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;top:-7px;key:top-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="left:-7px;bottom:-7px;key:bottom-left;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div><div class="bg-background-100 dark:bg-background-200 absolute" style="right:-7px;bottom:-7px;key:bottom-right;width:14px;height:14px;border:1px solid var(--color-border-100);border-radius:3px"></div></div> <a class="text-tertiary hover:text-foreground-200/70 px-4 pb-2 text-sm leading-none font-medium transition-colors duration-200 max-lg:text-xs" href="/products/#network"> Network & Content Delivery </a> <div class="flex w-full flex-col items-start justify-start"> <a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/cdn/"> <svg viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productNetwork"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> CDN </small> <small class="text-tertiary leading-snug font-normal!"> Faster delivery & caching </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/dns/"> <svg viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productDNS"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> DNS </small> <small class="text-tertiary leading-snug font-normal!"> Fast DNS </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/load-balancing/"> <svg viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productLoadBalancing"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Load Balancing </small> <small class="text-tertiary leading-snug font-normal!"> Zero downtime </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/turn-sfu/"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m14 17 3-3-3-3m-4-4-3 3 3 3m12-1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> TURN / SFU </small> <small class="text-tertiary leading-snug font-normal!"> Real-time infra </small> </div> </a> <div class="bg-border-100/50 mx-4 h-px" aria-hidden="true"></div><a class="group hover:border-border-100 hover:bg-background-200 focus-visible:border-border-100 focus-visible:bg-background-300 dark:hover:border-border-100 dark:hover:bg-border-100/50 dark:focus-visible:border-border-100 dark:focus-visible:bg-border-100/50 pointer-events-auto flex w-full cursor-pointer items-center gap-5 rounded-md border border-transparent px-4 py-3 transition-all duration-200 ease-out" href="/products/analytics/"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 20v-7m-8 7V10M4 20v-4m9.407-10.973 5.168 1.939M10.8 5.4 5.2 9.6m15.86-3.16a1.5 1.5 0 1 1-2.121 2.12 1.5 1.5 0 0 1 2.122-2.12Zm-16 3a1.5 1.5 0 1 1-2.12 2.12 1.5 1.5 0 0 1 2.12-2.12Zm8-6a1.5 1.5 0 1 1-2.121 2.12 1.5 1.5 0 0 1 2.122-2.12Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Analytics </small> <small class="text-tertiary leading-snug font-normal!"> Web Performance & Security </small> </div> </a> </div> </div> </div> </div> </section> <section class="animate-in mx-auto fade-in transition-opacity delay-100 duration-2000 ease-out relative z-0 bg-background-100 -mt-0.5 flex w-full flex-col overflow-hidden md:hidden "> <svg class="corner-line top-line absolute top-0 left-1/2 h-1 -translate-x-1/2 transition-opacity duration-2000 ease-out w-[200dvw]" preserveAspectRatio="none" aria-hidden="true"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> <div class="relative mb-2 h-20 w-full"> <svg class="pointer-events-none absolute top-0 left-0 z-0 h-full w-full" data-testid="rf__background" aria-hidden="true" style="stroke-dasharray:none;stroke-dashoffset:0"><pattern id="pattern-hxlvne" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--color-decor-dots-100)" style="stroke-dasharray:none;stroke-dashoffset:0"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-hxlvne)" style="stroke-dasharray:none;stroke-dashoffset:0"></rect></svg> </div> <svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-2000 ease-out" preserveAspectRatio="none"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> </section> </div><div data-product-section="buildSection" class="contents"> <section id="build" data-cms-path="build-sections.default" class="bg-background-100 relative z-10 md:p-2"> <astro-island uid="GOGTw" prefix="r156" component-url="/_astro/index.CIRq-r3a.js" component-export="CornerLines" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"internal":[0,false]}" ssr client="visible" opts="{"name":"CornerLines","value":true}" await-children><div class="corner-lines-container" aria-hidden="true"><svg class="corner-line top-line absolute top-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-[2000ms] ease-out opacity-50" preserveAspectRatio="none" aria-hidden="true"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line></svg><svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-[2000ms] ease-out opacity-0" preserveAspectRatio="none"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line></svg></div><!--astro:end--></astro-island> <div class="mx-auto w-full max-w-[1480px]"> <div class="bg-accent-100 shadow-stack relative overflow-hidden md:rounded-2xl"> <div class="px-section relative flex flex-col items-center justify-center pt-32 pb-28 text-center"> <div class="absolute inset-0 z-0 bg-cover bg-bottom" style="background-image: url('/static/hero-poster.avif');" aria-hidden="true"></div> <astro-island uid="17LMP6" prefix="r157" component-url="/_astro/_ui.CuNziL6W.js" component-export="UI" renderer-url="/_astro/client.Bi_EZCi7.js" props="{}" ssr client="visible" opts="{"name":"UI","value":true}" await-children><div class="absolute right-0 top-0 left-0 z-0 h-1/2 -translate-y-[25px]"><div class="absolute bottom-0 left-1/2 flex h-full w-1/2 -translate-x-1/2 flex-col items-center justify-center"><div class="bg-light-foreground/10 z-0 -translate-x-[500px] border-light-foreground/50 translate-y-[112px] absolute h-[148px] w-[150px] border opacity-0"><div class="pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="absolute bg-accent-200 dark:bg-accent-200" style="left:-4px;top:-4px;key:top-left;width:8px;height:8px;border:1px solid var(--color-light-foreground);border-radius:1.5px"></div><div class="absolute bg-accent-200 dark:bg-accent-200" style="right:-4px;top:-4px;key:top-right;width:8px;height:8px;border:1px solid var(--color-light-foreground);border-radius:1.5px"></div><div class="absolute bg-accent-200 dark:bg-accent-200" style="left:-4px;bottom:-4px;key:bottom-left;width:8px;height:8px;border:1px solid var(--color-light-foreground);border-radius:1.5px"></div><div class="absolute bg-accent-200 dark:bg-accent-200" style="right:-4px;bottom:-4px;key:bottom-right;width:8px;height:8px;border:1px solid var(--color-light-foreground);border-radius:1.5px"></div></div></div><div class="bg-light-foreground/10 translate-x-[500px] z-0 border-light-foreground/50 translate-y-[112px] absolute h-[148px] w-[150px] border opacity-0"><div class="pointer-events-none absolute inset-0 z-10 select-none" aria-hidden="true"><div class="absolute bg-accent-200 dark:bg-accent-200" style="left:-4px;top:-4px;key:top-left;width:8px;height:8px;border:1px solid var(--color-light-foreground);border-radius:1.5px"></div><div class="absolute bg-accent-200 dark:bg-accent-200" style="right:-4px;top:-4px;key:top-right;width:8px;height:8px;border:1px solid var(--color-light-foreground);border-radius:1.5px"></div><div class="absolute bg-accent-200 dark:bg-accent-200" style="left:-4px;bottom:-4px;key:bottom-left;width:8px;height:8px;border:1px solid var(--color-light-foreground);border-radius:1.5px"></div><div class="absolute bg-accent-200 dark:bg-accent-200" style="right:-4px;bottom:-4px;key:bottom-right;width:8px;height:8px;border:1px solid var(--color-light-foreground);border-radius:1.5px"></div></div></div></div></div><!--astro:end--></astro-island> <div class="relative mx-auto flex max-w-4xl flex-col gap-10"> <h1 class="home-hero-title text-light-foreground max-w-[1080px] text-balance" style="text-shadow: -1px -1px 0 var(--color-accent-100), 1px -1px 0 var(--color-accent-100), -1px 1px 0 var(--color-accent-100), 1px 1px 0 var(--color-accent-100);" data-cms-path="build-sections.default.headline" data-cms-type="text">Build without boundaries</h1> <p class="heading-visual-h5 text-light-foreground mx-auto max-w-2xl" data-cms-path="build-sections.default.description" data-cms-type="text"> Join thousands of developers who've eliminated infrastructure complexity and deployed globally with Cloudflare. Start building for free — no credit card required. </p> <div class="flex flex-col justify-center gap-2 sm:flex-row sm:gap-1"> <astro-island uid="Z1yReAj" prefix="r174" component-url="/_astro/index.BC2tFPPo.js" component-export="Button" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"id":[0,"start-building-button"],"variant":[0,"light"],"className":[0,"text-lg hover:scale-100"],"href":[0,"https://dash.cloudflare.com/sign-up"],"data-cms-path":[0,"build-sections.default.primaryCtaHref"],"data-cms-type":[0,"text"]}" ssr client="load" opts="{"name":"Button","value":true}" await-children><a href="https://dash.cloudflare.com/sign-up" data-slot="button" class="relative isolate inline-flex shrink-0 origin-center items-center justify-center gap-2 whitespace-nowrap border font-medium backdrop-blur-md transition-[scale,translate] duration-[0.16s] ease-[cubic-bezier(0.25,0.46,0.45,0.94)] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none rounded-xl md:rounded-full border-light-foreground bg-light-foreground text-on-accent active:scale-[0.98] hover:bg-transparent hover:text-light-foreground hover:before:opacity-[0.26] focus-visible:before:opacity-[0.26] px-6 py-5 md:py-3 text-lg hover:scale-100" id="start-building-button" data-cms-path="build-sections.default.primaryCtaHref" data-cms-type="text"><astro-slot> <span data-cms-path="build-sections.default.primaryCtaText" data-cms-type="text"> Start building for free </span> </astro-slot></a><!--astro:end--></astro-island> <astro-island uid="1ApThf" prefix="r175" component-url="/_astro/index.BC2tFPPo.js" component-export="Button" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"variant":[0,"defaultLight"],"href":[0,"https://developers.cloudflare.com/"],"data-cms-path":[0,"build-sections.default.secondaryCtaHref"],"data-cms-type":[0,"text"]}" ssr client="load" opts="{"name":"Button","value":true}" await-children><a href="https://developers.cloudflare.com/" data-slot="button" class="relative isolate inline-flex shrink-0 origin-center items-center justify-center gap-2 whitespace-nowrap border font-medium backdrop-blur-md transition-[scale,translate] duration-[0.16s] ease-[cubic-bezier(0.25,0.46,0.45,0.94)] hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none rounded-xl md:rounded-full border-light-foreground/10 bg-accent-200 text-light-foreground active:scale-[0.98] hover:border-light-foreground hover:bg-background-300/5 hover:before:opacity-[0.26] focus-visible:before:opacity-[0.26] px-6 py-5 md:py-3" data-cms-path="build-sections.default.secondaryCtaHref" data-cms-type="text"><astro-slot> <span data-cms-path="build-sections.default.secondaryCtaText" data-cms-type="text"> View docs </span> </astro-slot></a><!--astro:end--></astro-island> </div> </div> </div> <div class="bg-accent-100 relative flex h-14 items-center overflow-hidden border-t border-[#FFDD99]/50" aria-hidden="true"> <script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><astro-island uid="efBIR" component-url="/_astro/index.BC2tFPPo.js" component-export="InfiniteSlider" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"className":[0,"text-light-foreground flex items-center space-x-8 leading-none whitespace-nowrap"],"speed":[0,50],"gap":[0,48],"scrollMomentum":[0,true]}" ssr client="only" opts="{"name":"InfiniteSlider","value":"react"}" await-children><template data-astro-template><span class="flex items-center gap-2"> <svg viewBox="0 0 24 24" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#earth"></use></svg> <span data-cms-path="build-sections.default.tickerItems.0.text" data-cms-type="text"> No cold starts or region complexity </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 64 64" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#productCloudflareOne"></use></svg> <span data-cms-path="build-sections.default.tickerItems.1.text" data-cms-type="text"> SASE and Zero Trust without the complexity </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 24 24" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#earth"></use></svg> <span data-cms-path="build-sections.default.tickerItems.2.text" data-cms-type="text"> Deploy to 330+ cities instantly </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 16 16" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#productMagicTransit"></use></svg> <span data-cms-path="build-sections.default.tickerItems.3.text" data-cms-type="text"> Defend against the Internet's biggest DDoS attacks </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 24 24" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#collapseAll"></use></svg> <span data-cms-path="build-sections.default.tickerItems.4.text" data-cms-type="text"> Predictable pricing without surprises </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 16 16" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#productAccess"></use></svg> <span data-cms-path="build-sections.default.tickerItems.5.text" data-cms-type="text"> Identity-aware Zero Trust access that retires your VPN </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 24 24" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#transmissionLte"></use></svg> <span data-cms-path="build-sections.default.tickerItems.6.text" data-cms-type="text"> Battle-tested infrastructure powering millions </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 48 48" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#productCache"></use></svg> <span data-cms-path="build-sections.default.tickerItems.7.text" data-cms-type="text"> CDN, WAF, and DNS faster than the public Internet </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 24 24" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#earth"></use></svg> <span data-cms-path="build-sections.default.tickerItems.0.text" data-cms-type="text"> No cold starts or region complexity </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 64 64" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#productCloudflareOne"></use></svg> <span data-cms-path="build-sections.default.tickerItems.1.text" data-cms-type="text"> SASE and Zero Trust without the complexity </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 24 24" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#earth"></use></svg> <span data-cms-path="build-sections.default.tickerItems.2.text" data-cms-type="text"> Deploy to 330+ cities instantly </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 16 16" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#productMagicTransit"></use></svg> <span data-cms-path="build-sections.default.tickerItems.3.text" data-cms-type="text"> Defend against the Internet's biggest DDoS attacks </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 24 24" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#collapseAll"></use></svg> <span data-cms-path="build-sections.default.tickerItems.4.text" data-cms-type="text"> Predictable pricing without surprises </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 16 16" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#productAccess"></use></svg> <span data-cms-path="build-sections.default.tickerItems.5.text" data-cms-type="text"> Identity-aware Zero Trust access that retires your VPN </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 24 24" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#transmissionLte"></use></svg> <span data-cms-path="build-sections.default.tickerItems.6.text" data-cms-type="text"> Battle-tested infrastructure powering millions </span> </span><span class="flex items-center gap-2"> <svg viewBox="0 0 48 48" class="inline-block shrink-0 size-4" aria-hidden="true"><use href="/icons.svg#productCache"></use></svg> <span data-cms-path="build-sections.default.tickerItems.7.text" data-cms-type="text"> CDN, WAF, and DNS faster than the public Internet </span> </span></template><!--astro:end--></astro-island> </div> </div> </div> </section> <section class="animate-in mx-auto fade-in transition-opacity delay-100 duration-2000 ease-out relative z-0 bg-background-100 -mt-0.5 flex w-full flex-col overflow-hidden md:hidden "> <svg class="corner-line top-line absolute top-0 left-1/2 h-1 -translate-x-1/2 transition-opacity duration-2000 ease-out w-[200dvw]" preserveAspectRatio="none" aria-hidden="true"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> <div class="relative mb-2 h-20 w-full"> <svg class="pointer-events-none absolute top-0 left-0 z-0 h-full w-full" data-testid="rf__background" aria-hidden="true" style="stroke-dasharray:none;stroke-dashoffset:0"><pattern id="pattern-hxlvne" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--color-decor-dots-100)" style="stroke-dasharray:none;stroke-dashoffset:0"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-hxlvne)" style="stroke-dasharray:none;stroke-dashoffset:0"></rect></svg> </div> <svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-2000 ease-out" preserveAspectRatio="none"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> </section> </div> </div> </div> </main> <div class="overflow-x-clip"> <footer class="z-10 mx-auto max-w-[1480px] px-px" data-astro-cid-7q6xnliy> <div class="footer-scroll-host bg-background-100 px-section relative mx-auto flex w-full flex-col justify-between overflow-visible bg-linear-to-b pt-8 select-none [@media(max-height:924px)]:min-h-screen" data-astro-cid-7q6xnliy> <div class="pointer-events-none relative flex h-full w-full flex-col items-start gap-8 pb-8 lg:justify-between" data-astro-cid-7q6xnliy> <div class="flex justify-start lg:block lg:justify-center" data-astro-cid-7q6xnliy> <div class="flex flex-col items-start justify-start transition-opacity duration-200 ease-out lg:flex-row" data-astro-cid-7q6xnliy> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 719 59" fill="none" class="footer-cf-wordmark text-foreground-200 h-[12px] w-auto" aria-label="Cloudflare wordmark" role="img" data-astro-cid-7q6xnliy="true"><path d="M77.1016 1.09961H92.7015V43.5996H119.802V57.1996H77.1016V1.09961Z" fill="currentColor"></path><path d="M135.898 29.3V29.2C135.898 13.1 148.898 0 166.198 0C183.498 0 196.298 12.9 196.298 29V29.2C196.298 45.3 183.298 58.4 165.998 58.4C148.798 58.3 135.898 45.4 135.898 29.3ZM180.498 29.3V29.2C180.498 21.1 174.698 14.1 166.098 14.1C157.598 14.1 151.898 21 151.898 29.1V29.3C151.898 37.4 157.698 44.4 166.198 44.4C174.798 44.3 180.498 37.4 180.498 29.3Z" fill="currentColor"></path><path d="M215.398 32.5996V1.09961H231.198V32.2996C231.198 40.3996 235.298 44.1996 241.498 44.1996C247.698 44.1996 251.798 40.4996 251.798 32.6996V1.09961H267.598V32.1996C267.598 50.2996 257.298 58.1996 241.298 58.1996C225.398 58.2996 215.398 50.1996 215.398 32.5996Z" fill="currentColor"></path><path d="M291.398 1.09961H313.098C333.098 1.09961 344.798 12.5996 344.798 28.7996V28.9996C344.798 45.1996 332.998 57.1996 312.798 57.1996H291.498L291.398 1.09961ZM313.298 43.3996C322.598 43.3996 328.798 38.2996 328.798 29.1996V28.9996C328.798 19.9996 322.598 14.7996 313.298 14.7996H306.998V43.2996L313.298 43.3996Z" fill="currentColor"></path><path d="M367.297 1.09961H412.197V14.7996H382.797V24.2996H409.397V37.1996H382.797V57.1996H367.297V1.09961Z" fill="currentColor"></path><path d="M433.797 1.09961H449.297V43.5996H476.497V57.1996H433.797V1.09961Z" fill="currentColor"></path><path d="M517.097 0.699219H532.097L555.997 57.1992H539.297L535.197 47.1992H513.597L509.597 57.1992H493.297L517.097 0.699219ZM530.797 35.0992L524.597 19.1992L518.297 35.0992H530.797Z" fill="currentColor"></path><path d="M576 1.09961H602.5C611.1 1.09961 617 3.29962 620.8 7.19962C624.1 10.3996 625.8 14.6996 625.8 20.2996V20.4996C625.8 29.0996 621.2 34.7996 614.3 37.6996L627.7 57.2996H609.7L598.4 40.2996H591.6V57.2996H576.1L576 1.09961ZM601.8 28.0996C607.1 28.0996 610.1 25.4996 610.1 21.4996V21.1996C610.1 16.7996 606.9 14.5996 601.7 14.5996H591.5V28.0996H601.8Z" fill="currentColor"></path><path d="M648.203 1.09961H693.303V14.3996H663.603V22.7996H690.503V35.0996H663.603V43.9996H693.703V57.1996H648.203V1.09961Z" fill="currentColor"></path><path d="M43.1 35.9C40.9 40.8 36.3 44.3 30.3 44.3C21.8 44.3 16 37.2 16 29.2V29C16 20.9 21.7 14 30.2 14C36.6 14 41.5 17.9 43.5 23.3H59.9C57.3 9.9 45.5 0 30.3 0C13 0 0 13.1 0 29.2V29.4C0 45.5 12.8 58.4 30.1 58.4C44.9 58.4 56.5 48.8 59.5 36L43.1 35.9Z" fill="currentColor"></path></svg> </div> </div> <div class="grid w-full grid-cols-1 justify-start gap-8 lg:ml-auto lg:w-auto lg:grid-cols-4 lg:items-stretch" data-astro-cid-7q6xnliy> <div class="grid w-full grid-cols-2 gap-8 lg:h-full lg:max-w-[264px] lg:grid-cols-1 lg:grid-rows-2 lg:gap-y-10" data-astro-cid-7q6xnliy> <div class="flex w-full flex-col lg:min-h-0" data-astro-cid-7q6xnliy> <div class="flex w-full pb-2 lg:pb-3" data-astro-cid-7q6xnliy> <span class="text-tertiary hover:text-foreground-200/70 text-sm leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-7q6xnliy> Getting started </span> </div> <a href="/plans/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Plans </a><a href="/resource/contact-enterprise-sales/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Contact sales </a><a href="/partners/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Partners </a><a href="https://partnerlocator.cloudflare.com/dashboard" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Find a partner </a><a href="/startups/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Startups </a><a href="/under-attack-hotline/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Under attack? </a><a href="https://domains.cloudflare.com/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Domain name search </a> </div><div class="flex w-full flex-col lg:min-h-0" data-astro-cid-7q6xnliy> <div class="flex w-full pb-2 lg:pb-3" data-astro-cid-7q6xnliy> <span class="text-tertiary hover:text-foreground-200/70 text-sm leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-7q6xnliy> Company </span> </div> <a href="/about/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> About </a><a href="/careers/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Careers </a><a href="https://cloudflare.net/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Investors </a><a href="/press/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Press </a><a href="/press/press-kit/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Press kit </a><a href="/network/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Global network </a> </div> </div><div class="grid w-full grid-cols-2 gap-8 lg:h-full lg:max-w-[264px] lg:grid-cols-1 lg:grid-rows-2 lg:gap-y-10" data-astro-cid-7q6xnliy> <div class="flex w-full flex-col lg:min-h-0" data-astro-cid-7q6xnliy> <div class="flex w-full pb-2 lg:pb-3" data-astro-cid-7q6xnliy> <span class="text-tertiary hover:text-foreground-200/70 text-sm leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-7q6xnliy> Public interest </span> </div> <a href="/galileo/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Project Galileo </a><a href="/athenian/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Athenian Project </a><a href="/campaigns/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Cloudflare for Campaigns </a><a href="/fair-shot/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Project Fairshot </a><a href="/impact/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Impact/ESG </a> </div><div class="flex w-full flex-col lg:min-h-0" data-astro-cid-7q6xnliy> <div class="flex w-full pb-2 lg:pb-3" data-astro-cid-7q6xnliy> <span class="text-tertiary hover:text-foreground-200/70 text-sm leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-7q6xnliy> Compliance </span> </div> <a href="/trust-hub/compliance-resources/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Compliance resources </a><a href="/trust-hub/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Trust Hub </a><a href="/trust-hub/gdpr/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Data Protection </a><a href="/trust-hub/responsible-ai/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Responsible AI </a><a href="/transparency/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Transparency report </a><a href="/trust-hub/abuse-approach/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Report abuse </a> </div> </div><div class="grid w-full grid-cols-2 gap-8 lg:h-full lg:max-w-[264px] lg:grid-cols-1 lg:grid-rows-2 lg:gap-y-10" data-astro-cid-7q6xnliy> <div class="flex w-full flex-col lg:min-h-0" data-astro-cid-7q6xnliy> <div class="flex w-full pb-2 lg:pb-3" data-astro-cid-7q6xnliy> <span class="text-tertiary hover:text-foreground-200/70 text-sm leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-7q6xnliy> Resources </span> </div> <a href="/resource/app-innovation-report/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> App innovation report </a><a href="https://radar.cloudflare.com/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Cloudflare Radar </a><a href="/case-studies/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Case studies </a><a href="https://www.cloudflarestatus.com/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Status </a><a href="https://support.cloudflare.com/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Support </a><a href="/events/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Events </a><a href="https://blog.cloudflare.com/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Blog </a> </div><div class="flex w-full flex-col lg:min-h-0" data-astro-cid-7q6xnliy> <div class="flex w-full pb-2 lg:pb-3" data-astro-cid-7q6xnliy> <span class="text-tertiary hover:text-foreground-200/70 text-sm leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-7q6xnliy> Developers </span> </div> <a href="https://developers.cloudflare.com/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Documentation </a><a href="/learning/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Learning center </a><a href="/community/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Community </a> </div> </div><div class="grid w-full grid-cols-2 gap-8 lg:h-full lg:max-w-[264px] lg:grid-cols-1 lg:grid-rows-2 lg:gap-y-10" data-astro-cid-7q6xnliy> <div class="flex w-full flex-col lg:min-h-0" data-astro-cid-7q6xnliy> <div class="flex w-full pb-2 lg:pb-3" data-astro-cid-7q6xnliy> <span class="text-tertiary hover:text-foreground-200/70 text-sm leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-7q6xnliy> Solutions </span> </div> <a href="/sase/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> SSE and SASE platform </a><a href="/solutions/ai/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Cloudflare AI Cloud </a><a href="/solutions/ai-security/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> AI Security </a><a href="/solutions/frontends/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Frontend Development Platform </a><a href="/solutions/platforms/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Multi-Tenant Platform Development </a><a href="/solutions/security/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 leading-none transition-colors duration-200 ease-out lg:py-2" data-astro-cid-7q6xnliy> Web Security Platform </a> </div> </div> <div class="pointer-events-auto flex flex-col items-start gap-2 lg:hidden" data-astro-cid-7q6xnliy> <astro-island uid="Z1patvH" prefix="r109" component-url="/_astro/index.BC2tFPPo.js" component-export="Button" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"variant":[0,"link"],"href":[0,"https://dash.cloudflare.com/sign-up"],"data-astro-cid-7q6xnliy":[0,true]}" ssr client="visible" opts="{"name":"Button","value":{"rootMargin":"400px"}}" await-children><a href="https://dash.cloudflare.com/sign-up" data-slot="button" class="relative isolate inline-flex shrink-0 origin-center items-center justify-center whitespace-nowrap font-medium hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none bg-transparent text-base text-foreground-100 underline-offset-2 transition-colors hover:bg-transparent hover:text-accent-100 hover:underline px-6 py-5 md:py-3 h-auto min-h-0 w-fit gap-0 rounded-none border-0 !bg-transparent !p-0 !shadow-none backdrop-blur-none !transition-colors duration-200 ease-out hover:!opacity-100 active:!scale-100 active:!translate-y-0 before:!hidden after:!hidden" data-astro-cid-7q6xnliy="true"><astro-slot>
Start Building
</astro-slot><svg viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0"><path d="M7 17 17 7m0 0H7m10 0v10"></path></svg></a><!--astro:end--></astro-island> <astro-island uid="1oHOYG" prefix="r110" component-url="/_astro/index.BC2tFPPo.js" component-export="Button" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"variant":[0,"link"],"href":[0,"https://dash.cloudflare.com/login"],"data-astro-cid-7q6xnliy":[0,true]}" ssr client="visible" opts="{"name":"Button","value":{"rootMargin":"400px"}}" await-children><a href="https://dash.cloudflare.com/login" data-slot="button" class="relative isolate inline-flex shrink-0 origin-center items-center justify-center whitespace-nowrap font-medium hover:opacity-95 active:translate-y-[1px] outline-[0.5px] outline-transparent outline-offset-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>*]:relative [&>*]:z-[4] before:absolute before:-inset-[1px] before:z-[3] before:rounded-[inherit] before:bg-background-300 before:opacity-0 before:pointer-events-none before:content-[''] before:transition-opacity before:duration-[0.16s] before:ease-[cubic-bezier(0.55,0.085,0.68,0.53)] active:before:transition-none after:absolute after:-inset-[1px] after:z-[2] after:rounded-[inherit] after:border-[1px] after:border-current after:opacity-0 after:pointer-events-none after:content-[''] after:transition-opacity after:delay-[0.1s] after:duration-[0.6s] after:ease-[cubic-bezier(0.25,0.46,0.45,0.94)] active:after:opacity-100 active:after:transition-none bg-transparent text-base text-foreground-100 underline-offset-2 transition-colors hover:bg-transparent hover:text-accent-100 hover:underline px-6 py-5 md:py-3 h-auto min-h-0 w-fit gap-0 rounded-none border-0 !bg-transparent !p-0 !shadow-none backdrop-blur-none !transition-colors duration-200 ease-out hover:!opacity-100 active:!scale-100 active:!translate-y-0 before:!hidden after:!hidden" data-astro-cid-7q6xnliy="true"><astro-slot>
Log In
</astro-slot><svg viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0"><path d="M7 17 17 7m0 0H7m10 0v10"></path></svg></a><!--astro:end--></astro-island> </div> </div> <div class="pointer-events-none relative flex w-full flex-1 items-end" data-astro-cid-7q6xnliy> <div class="text-accent-100 aspect-561/250 w-full overflow-hidden pb-5 lg:hidden" data-astro-cid-7q6xnliy> <svg aria-hidden="true" viewBox="0 0 561 250" fill="none" xmlns="http://www.w3.org/2000/svg" class="block h-full w-full" data-astro-cid-7q6xnliy> <g opacity="0.42" stroke="currentColor" stroke-width="0.75" stroke-dasharray="3.11 3.11" data-astro-cid-7q6xnliy> <ellipse cx="303.718" cy="134.931" rx="134.906" ry="134.556" data-astro-cid-7q6xnliy></ellipse> <ellipse cx="140.739" cy="138.82" rx="60.8247" ry="60.6667" data-astro-cid-7q6xnliy></ellipse> <ellipse cx="89.2726" cy="238.375" rx="88.8976" ry="88.6667" data-astro-cid-7q6xnliy></ellipse> <ellipse cx="455.776" cy="215.042" rx="106.053" ry="105.778" data-astro-cid-7q6xnliy></ellipse> <circle cx="467.797" cy="264.875" r="71.5" data-astro-cid-7q6xnliy></circle> <ellipse cx="355.961" cy="109.264" rx="71.7419" ry="71.5556" data-astro-cid-7q6xnliy></ellipse> <ellipse cx="358.524" cy="224.375" rx="31.1921" ry="31.1111" data-astro-cid-7q6xnliy></ellipse> <ellipse cx="465.579" cy="149.708" rx="31.1921" ry="31.1111" data-astro-cid-7q6xnliy></ellipse> </g> <g fill="none" stroke="currentColor" stroke-width="0.75" data-astro-cid-7q6xnliy> <path d="M452.193 109.264C511.94 109.264 560.375 156.622 560.375 215.042C560.375 225.456 558.837 235.519 555.969 245.025C555.199 247.577 552.76 249.264 550.039 249.264H399.529C397.297 249.264 395.758 247.075 396.559 245.038L399.435 237.713C408.625 214.212 434.844 194.96 459.101 193.832L505.082 191.529C507.538 191.406 509.466 189.422 509.466 187.017C509.466 184.625 507.558 182.646 505.116 182.506L461.938 180.023C438.725 178.868 427.384 158.791 433.627 137.869L440.812 113.789C441.543 111.34 443.728 109.558 446.334 109.42C448.274 109.317 450.227 109.264 452.193 109.264Z" data-astro-cid-7q6xnliy></path> <path d="M302.648 0.375C364.95 0.375 417.285 42.0634 432.087 98.4665C432.709 100.835 432.514 103.334 431.626 105.62L419.772 136.131C410.583 159.631 386.966 180.011 360.244 180.011L154.404 182.323C151.92 182.352 149.921 184.33 149.92 186.759C149.92 189.186 151.916 191.166 154.398 191.198L357.338 193.82C380.602 193.82 391.892 215.052 385.652 235.975L383.033 244.779C382.243 247.436 379.753 249.264 376.922 249.264H6.79428C3.62784 249.264 0.918159 246.989 0.664591 243.902C0.47264 241.566 0.375 239.204 0.375 236.819C0.375 191.386 35.9484 154.08 81.3467 150.07C80.4151 145.946 79.9205 141.662 79.9205 137.264C79.9205 104.618 106.987 78.1528 140.375 78.1528C153.663 78.1528 165.947 82.347 175.925 89.4518C193.691 37.6773 243.713 0.375 302.648 0.375Z" data-astro-cid-7q6xnliy></path> </g> </svg> </div> </div> </div> <div class="bg-background-100 flex flex-col pb-4" data-astro-cid-7q6xnliy> <svg class="block h-px relative left-1/2 w-screen -translate-x-1/2" preserveAspectRatio="none" aria-hidden="true"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line></svg> <section class="animate-in mx-auto fade-in transition-opacity delay-100 duration-2000 ease-out relative z-0 bg-background-100 -mt-0.5 flex w-full flex-col overflow-hidden md:hidden "> <svg class="corner-line top-line absolute top-0 left-1/2 h-1 -translate-x-1/2 transition-opacity duration-2000 ease-out w-[200dvw]" preserveAspectRatio="none" aria-hidden="true"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> <div class="relative mb-2 h-20 w-full"> <svg class="pointer-events-none absolute top-0 left-0 z-0 h-full w-full" data-testid="rf__background" aria-hidden="true" style="stroke-dasharray:none;stroke-dashoffset:0"><pattern id="pattern-hxlvne" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--color-decor-dots-100)" style="stroke-dasharray:none;stroke-dashoffset:0"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#pattern-hxlvne)" style="stroke-dasharray:none;stroke-dashoffset:0"></rect></svg> </div> <svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-2000 ease-out" preserveAspectRatio="none"> <line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--color-border-100)" stroke-width="1" stroke-dasharray="16,16"></line> </svg> </section> <div class="pointer-events-auto relative z-10 mt-4 flex w-full flex-col justify-between gap-3 md:flex-row md:items-center md:gap-4 lg:gap-8" data-astro-cid-7q6xnliy> <span class="text-tertiary text-center text-sm leading-tight sm:text-left lg:text-base" data-astro-cid-7q6xnliy>© 2026 Cloudflare, Inc.</span> <div class="text-tertiary flex flex-col flex-wrap items-center justify-center gap-y-2 text-center text-sm leading-tight sm:justify-end sm:text-right md:flex-row lg:text-base" data-astro-cid-7q6xnliy> <div class="max-w-[32ch] sm:max-w-none" data-astro-cid-7q6xnliy> <a href="/policies/privacy/" class="hover:text-foreground-100/70 transition-colors duration-400 ease-out font-medium text-foreground-100">Privacy policy</a><span class="mx-1.5">|</span> <a href="https://www.cloudflare.com/disclosure/" class="hover:text-foreground-100/70 transition-colors duration-400 ease-out">Report security issues</a><span class="mx-1.5">|</span> <a href="/policies/terms/" class="hover:text-foreground-100/70 transition-colors duration-400 ease-out">Terms of use</a><span class="mx-1.5">|</span> <a href="https://www.cloudflare.com/trademark/" class="hover:text-foreground-100/70 transition-colors duration-400 ease-out">Trademark</a> </div> <span class="mx-1.5 hidden sm:inline" data-astro-cid-7q6xnliy>|</span> <astro-island uid="2sOz8f" prefix="r65" component-url="/_astro/_footer-privacy-choices.QCUeIPVO.js" component-export="FooterPrivacyChoices" renderer-url="/_astro/client.Bi_EZCi7.js" props="{"className":[0,"text-tertiary hover:text-foreground-200/85"],"label":[0,"Your privacy choices"],"data-astro-cid-7q6xnliy":[0,true]}" ssr client="visible" opts="{"name":"FooterPrivacyChoices","value":{"rootMargin":"400px"}}" await-children><button type="button" class="inline-flex shrink-0 cursor-pointer items-center gap-1.5 transition-colors duration-200 text-tertiary hover:text-foreground-200/85"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 14" aria-hidden="true" class="h-3.5 w-auto shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" fill="#fff" d="M7.4 12.8h6.8l3.1-11.6H7.4C4.2 1.2 1.6 3.8 1.6 7s2.6 5.8 5.8 5.8z"></path><path fill-rule="evenodd" clip-rule="evenodd" fill="#06f" d="M22.6 0H7.4C3.5 0 .4 3.1.4 7s3.1 7 7 7h15.2c3.9 0 7-3.1 7-7s-3.1-7-7-7zM1.6 7c0-3.2 2.6-5.8 5.8-5.8h9.9l-3.1 11.6H7.4C4.2 12.8 1.6 10.2 1.6 7z"></path><path fill="#fff" d="M24.6 4c.2.2.2.6 0 .8L22.5 7l2.2 2.2c.2.2.2.6 0 .8-.2.2-.6.2-.8 0l-2.2-2.2L19.5 10c-.2.2-.6.2-.8 0-.2-.2-.2-.6 0-.8L20.8 7l-2.2-2.2c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0l2.2 2.2L23.8 4c.2-.2.6-.2.8 0z"></path><path fill="#06f" d="M12.7 4.1c.2.2.3.6.1.8L8.6 9.8c-.1.1-.2.2-.3.2-.2.1-.5.1-.7-.1L5.4 7.7c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0L8 8.6l3.8-4.5c.2-.2.6-.2.9 0z"></path></svg><span>Your privacy choices</span></button><!--astro:end--></astro-island> </div> </div> </div> </div> </footer> </div> <script type="module">const u=[".bg-accent-100",".bg-accent-200",".bg-dark-accent"],i='[data-nav-theme="dark"]',l='[data-nav-theme="light"]',f="[data-site-navigation-header]",h="(min-width: 768px) and (max-width: 1535px)",E=-28,w=28,_={lifecycleRegistered:!1,scrollAttached:!1,darkSections:[]},c={passive:!0};function A(){const a=[...u,i].join(", "),e=document.querySelectorAll(a);_.darkSections=Array.from(e).filter(r=>{const m=r.closest("[data-nav-theme]");return!(m&&m.getAttribute("data-nav-theme")==="light"||r.matches(l))})}function g(){return document.querySelector(f)}const T=.55;function R(a,e){return a.matches(i)?!0:typeof window>"u"?!1:e.width>=window.innerWidth*T}function s(){const a=g();if(!a)return;if(a.dataset.variant==="secondary"&&window.matchMedia(h).matches){a.removeAttribute("data-nav-on-dark");return}const e=a.getBoundingClientRect(),r=e.top+4+w,m=e.bottom-4+E;_.darkSections.some(o=>{const n=o.getBoundingClientRect();return n.width===0||n.height===0||!R(o,n)?!1:n.top<m&&n.bottom>r})?a.setAttribute("data-nav-on-dark","true"):a.removeAttribute("data-nav-on-dark")}let t=!1;function v(){t||(t=!0,requestAnimationFrame(()=>{t=!1,s()}))}function p(){_.scrollAttached&&(window.removeEventListener("scroll",v,c),window.removeEventListener("resize",v),_.scrollAttached=!1)}function d(){A(),s(),!_.scrollAttached&&(_.scrollAttached=!0,window.addEventListener("scroll",v,c),window.addEventListener("resize",v))}function L(){typeof document>"u"||typeof window>"u"||_.lifecycleRegistered||(_.lifecycleRegistered=!0,document.addEventListener("astro:page-load",d),document.addEventListener("astro:before-swap",p))}function S(){typeof window>"u"||(L(),d())}S();</script> <search-modal-snippet api-url="https://4511ab53-3e12-45ba-b984-f1a732ac9ec0.search.ai.cloudflare.com/" placeholder="Search Cloudflare..." max-results="50" max-render-results="10" translations="{"placeholder":"Search Cloudflare...","searchButtonLabel":"Search Cloudflare","searchResultsAriaLabel":"Search results","modalEmptyStateDescription":"Start typing to search","modalNoResultsTitle":"No results found"}" request-options="{"body":{"ai_search_options":{"retrieval":{"filters":{"language":"en"}}}}}" data-astro-cid-457tmonj="true"></search-modal-snippet> <script type="module" src="/_astro/_ai-search-modal.astro_astro_type_script_index_0_lang.B2y4SVXS.js"></script> <script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"6f9a2202213848f5bff934592489e351"}' crossorigin="anonymous"></script>
</body></html><!--
Cloudflare
.::::::::::.
.:--------------:.
.:------------------:.
..... .----------------------.
.:------------------------------
.-------------------------------. -----:.
:------------------------------: :=======-:
.::----------------------:-----:::. .-------==-.
:-----------::::::::::::::....... .::-:-=-=-
:---------------------------------:: .:----------==.
-----------------------------------: :-=============--
.......................................................
--> <style>
.product-page-accent-buttons-light-text
:is(a, button)[data-slot='button']:is(.bg-accent-100, .bg-accent-200, .bg-dark-accent) {
color: var(--color-light-foreground);
}
</style>
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 79
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 79 оптимально.
Внутренние ссылки не запрещены к индексации в robots.txt.
Показать внутренние ссылки
| Url | Анкор | Состояние | Анализировать |
|---|---|---|---|
| /products/ |
Products<svg viewbox="0 0 20 20" class="inline-block h-4 w-auto transition-opacity duration-200 ease-out shrink-0 text-inherit opacity-30 ml-1.5 mr-[-3px]" aria-hidden="true"><use href="/icons.svg#chevronGroup"></use></svg>
|
|
Анализировать url |
| /solutions/ |
Solutions<svg viewbox="0 0 20 20" class="inline-block h-4 w-auto transition-opacity duration-200 ease-out shrink-0 text-inherit opacity-30 ml-1.5 mr-[-3px]" aria-hidden="true"><use href="/icons.svg#chevronGroup"></use></svg>
|
|
Анализировать url |
| /resource-hub/ |
Resources<svg viewbox="0 0 20 20" class="inline-block h-4 w-auto transition-opacity duration-200 ease-out shrink-0 text-inherit opacity-30 ml-1.5 mr-[-3px]" aria-hidden="true"><use href="/icons.svg#chevronGroup"></use></svg>
|
|
Анализировать url |
| /plans/ |
Pricing
|
|
Анализировать url |
| /resource/contact-enterprise-sales/ |
Contact sales
|
|
Анализировать url |
| /products/browser-rendering/ |
<svg viewbox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productBrowserRenderings"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Browser Run </small> <small class="text-tertiary leading-snug font-normal!"> Automated browsers </small> </div>
|
|
Анализировать url |
| /products/containers/ |
<svg viewbox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productContainers"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Containers </small> <small class="text-tertiary leading-snug font-normal!"> Any language, anywhere </small> </div>
|
|
Анализировать url |
| /products/durable-objects/ |
<svg viewbox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productDurableObjects"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Durable Objects </small> <small class="text-tertiary leading-snug font-normal!"> Stateful compute </small> </div>
|
|
Анализировать url |
| /products/sandboxes/ |
<svg viewbox="-2 -2 28 28" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productSandboxes"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Sandboxes </small> <small class="text-tertiary leading-snug font-normal!"> Secure code execution </small> </div>
|
|
Анализировать url |
| /products/workers/ |
<svg viewbox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productWorkers"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Workers </small> <small class="text-tertiary leading-snug font-normal!"> Global serverless functions </small> </div>
|
|
Анализировать url |
| /products/workers-for-platforms/ |
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m2 12 9.642 4.821c.131.066.197.099.266.111.06.012.123.012.184 0 .069-.012.135-.045.266-.11L22 12M2 17l9.642 4.821c.131.066.197.099.266.111.06.012.123.012.184 0 .069-.012.135-.045.266-.11L22 17M2 7l9.642-4.821c.131-.066.197-.098.266-.111a.5.5 0 0 1 .184 0c.069.013.135.045.266.11L22 7l-9.642 4.821a1.028 1.028 0 0 1-.266.111.501.501 0 0 1-.184 0c-.069-.012-.135-.045-.266-.11L2 7Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Workers for Platforms </small> <small class="text-tertiary leading-snug font-normal!"> Programmable Platform Solutions </small> </div>
|
|
Анализировать url |
| /products/workflows/ |
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m2 2 2 2m18-2-2 2m2 18-2-2M2 22l2-2m-2-4h1.5M8 2v1.5M22 8h-1.5M16 22v-1.5m2-4.5h3.5M16 2v4M2 8h4m2 14v-4m3.434-10.434-3.868 3.868c-.198.198-.297.297-.334.412a.5.5 0 0 0 0 .309c.037.114.136.213.334.41l3.868 3.87c.198.197.297.296.412.333.1.033.208.033.309 0 .114-.037.213-.136.41-.334l3.87-3.868c.197-.198.296-.297.333-.412a.499.499 0 0 0 0-.309c-.037-.114-.136-.213-.334-.41l-3.868-3.87c-.198-.197-.297-.296-.412-.333a.5.5 0 0 0-.309 0c-.114.037-.213.136-.41.334Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Workflows </small> <small class="text-tertiary leading-snug font-normal!"> Process orchestration </small> </div>
|
|
Анализировать url |
| /products/artifacts/ |
<svg viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productArtifacts"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Artifacts </small> <small class="text-tertiary leading-snug font-normal!"> Git-native versioned storage </small> </div>
|
|
Анализировать url |
| /products/d1/ |
<svg viewbox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productD1"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> D1 </small> <small class="text-tertiary leading-snug font-normal!"> Serverless SQL </small> </div>
|
|
Анализировать url |
| /products/data-platform/ |
<svg viewbox="0 0 56 56" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#lego"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Data Platform </small> <small class="text-tertiary leading-snug font-normal!"> Ingest, Catalog & Query </small> </div>
|
|
Анализировать url |
| /products/hyperdrive/ |
<svg viewbox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productHyperdrive"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Hyperdrive </small> <small class="text-tertiary leading-snug font-normal!"> Global databases </small> </div>
|
|
Анализировать url |
| /products/queues/ |
<svg viewbox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productQueues"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Queues </small> <small class="text-tertiary leading-snug font-normal!"> Message processing </small> </div>
|
|
Анализировать url |
| /products/r2/ |
<svg viewbox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productR2"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> R2 </small> <small class="text-tertiary leading-snug font-normal!"> Egress-free storage </small> </div>
|
|
Анализировать url |
| /products/kv/ |
<svg viewbox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productKv"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> KV </small> <small class="text-tertiary leading-snug font-normal!"> Ultra-fast key-value storage </small> </div>
|
|
Анализировать url |
| /products/agents/ |
<svg viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productAgents"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Agents </small> <small class="text-tertiary leading-snug font-normal!"> Build stateful AI agents </small> </div>
|
|
Анализировать url |
| /products/ai-gateway/ |
<svg viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productAiGateway"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> AI Gateway </small> <small class="text-tertiary leading-snug font-normal!"> AI observability </small> </div>
|
|
Анализировать url |
| /products/ai-search/ |
<svg viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productAutoRag"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> AI Search </small> <small class="text-tertiary leading-snug font-normal!"> Instant retrieval </small> </div>
|
|
Анализировать url |
| /products/vectorize/ |
<svg viewbox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productVectorize"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Vectorize </small> <small class="text-tertiary leading-snug font-normal!"> Vector database </small> </div>
|
|
Анализировать url |
| /products/workers-ai/ |
<svg viewbox="0 0 25 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productWorkersAI"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Workers AI </small> <small class="text-tertiary leading-snug font-normal!"> Edge AI models </small> </div>
|
|
Анализировать url |
| /sase/ |
<svg viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#shieldPlus"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> SASE </small> <small class="text-tertiary leading-snug font-normal!"> Cloudflare SASE platform </small> </div>
|
|
Анализировать url |
| /products/access/ |
<svg viewbox="0 0 18 19" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#user"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Access </small> <small class="text-tertiary leading-snug font-normal!"> Zero trust access to private resources </small> </div>
|
|
Анализировать url |
| /products/casb/ |
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 21H6m13-3h-9m-3 0H5m13 3h-2m-9-6a5 5 0 1 1 .1-9.999 5.502 5.502 0 0 1 10.195 1.004A4.5 4.5 0 1 1 17.5 15H6.999Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> CASB </small> <small class="text-tertiary leading-snug font-normal!"> SaaS and cloud posture </small> </div>
|
|
Анализировать url |
| /products/dlp/ |
<svg viewbox="0 0 16 16" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productDataLossPrevention"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Data Loss Prevention </small> <small class="text-tertiary leading-snug font-normal!"> Protect sensitive data </small> </div>
|
|
Анализировать url |
| /products/gateway/ |
<svg viewbox="0 0 16 16" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productGateway"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Gateway </small> <small class="text-tertiary leading-snug font-normal!"> Web filtering </small> </div>
|
|
Анализировать url |
| /products/browser-isolation/ |
<svg viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#browser"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Browser Isolation </small> <small class="text-tertiary leading-snug font-normal!"> Secure web browsing </small> </div>
|
|
Анализировать url |
| /products/wan/ |
<svg viewbox="0 0 48 48" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productCloudflareWan"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> WAN </small> <small class="text-tertiary leading-snug font-normal!"> Cloud-delivered networking </small> </div>
|
|
Анализировать url |
| /products/email-security/ |
<svg viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#shieldPlus"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Email Security </small> <small class="text-tertiary leading-snug font-normal!"> Phishing protection </small> </div>
|
|
Анализировать url |
| /products/ddos/ |
<svg viewbox="0 0 16 16" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productCloudflareNetworkFirewall"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> DDoS Protection </small> <small class="text-tertiary leading-snug font-normal!"> Mitigation Solutions </small> </div>
|
|
Анализировать url |
| /products/rate-limiting/ |
<svg viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productRateLimiting"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Rate Limiting </small> <small class="text-tertiary leading-snug font-normal!"> Abuse prevention </small> </div>
|
|
Анализировать url |
| /products/ssl/ |
<svg viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#shieldPlus"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> SSL </small> <small class="text-tertiary leading-snug font-normal!"> Secure Your Site with SSL </small> </div>
|
|
Анализировать url |
| /products/turnstile/ |
<svg viewbox="0 0 54 54" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productTurnstile"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Turnstile </small> <small class="text-tertiary leading-snug font-normal!"> A CAPTCHA Replacement Solution </small> </div>
|
|
Анализировать url |
| /products/waf/ |
<svg viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productWaf"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> WAF </small> <small class="text-tertiary leading-snug font-normal!"> Web Application Firewall </small> </div>
|
|
Анализировать url |
| /products/magic-transit/ |
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m13 14-3-3m5.01-7.5V2m3.94 3.06L20.01 4m-1.06 9 1.06 1.06m-9-9L9.95 4m10.56 5h1.5M6.131 20.869l9.238-9.238c.396-.396.594-.594.668-.822a1 1 0 0 0 0-.618c-.074-.228-.272-.426-.668-.822l-.737-.738c-.397-.396-.595-.594-.823-.668a1 1 0 0 0-.618 0c-.228.074-.426.272-.822.668L3.13 17.87c-.396.396-.594.594-.668.822a1 1 0 0 0 0 .618c.074.228.272.426.668.822l.738.738c.396.396.594.594.822.668a1 1 0 0 0 .618 0c.228-.074.426-.272.822-.668Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Magic Transit </small> <small class="text-tertiary leading-snug font-normal!"> DDoS Protection for Networks </small> </div>
|
|
Анализировать url |
| /products/client-side-security/ |
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 9H2m0-1.2v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C4.28 21 5.12 21 6.8 21h10.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C22 18.72 22 17.88 22 16.2V7.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C19.72 3 18.88 3 17.2 3H6.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C2 5.28 2 6.12 2 7.8Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Client-Side Security </small> <small class="text-tertiary leading-snug font-normal!"> Prevent browser supply chain attacks </small> </div>
|
|
Анализировать url |
| /products/bot-management/ |
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8.1 21.221a12.16 12.16 0 0 1-2.207-7.002 6.108 6.108 0 0 1 6.106-6.11 6.108 6.108 0 0 1 6.106 6.11"></path><path d="M8.1 21.221a12.16 12.16 0 0 1-2.207-7.002 6.108 6.108 0 0 1 6.106-6.11 6.108 6.108 0 0 1 6.106 6.11"></path><path d="M18.436 20.312c-.11.006-.218.016-.329.016a6.108 6.108 0 0 1-6.106-6.11"></path><path d="M18.436 20.312c-.11.006-.218.016-.329.016a6.108 6.108 0 0 1-6.106-6.11"></path><path d="M13.27 22a9.158 9.158 0 0 1-4.323-7.781 3.054 3.054 0 1 1 6.107 0 3.054 3.054 0 1 0 6.108 0c0-5.062-4.102-9.164-9.16-9.164-5.059 0-9.16 4.102-9.16 9.164 0 1.128.126 2.226.358 3.286"></path><path d="M13.27 22a9.158 9.158 0 0 1-4.323-7.781 3.054 3.054 0 1 1 6.107 0 3.054 3.054 0 1 0 6.108 0c0-5.062-4.102-9.164-9.16-9.164-5.059 0-9.16 4.102-9.16 9.164 0 1.128.126 2.226.358 3.286"></path><path d="M20.526 5.863A11.327 11.327 0 0 0 12 2a11.327 11.327 0 0 0-8.525 3.863"></path><path d="M20.526 5.863A11.327 11.327 0 0 0 12 2a11.327 11.327 0 0 0-8.525 3.863"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Bot Management </small> <small class="text-tertiary leading-snug font-normal!"> Block bad bots </small> </div>
|
|
Анализировать url |
| /products/cdn/ |
<svg viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productNetwork"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> CDN </small> <small class="text-tertiary leading-snug font-normal!"> Faster delivery & caching </small> </div>
|
|
Анализировать url |
| /products/dns/ |
<svg viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productDNS"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> DNS </small> <small class="text-tertiary leading-snug font-normal!"> Fast DNS </small> </div>
|
|
Анализировать url |
| /products/load-balancing/ |
<svg viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><use href="/icons.svg#productLoadBalancing"></use></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Load Balancing </small> <small class="text-tertiary leading-snug font-normal!"> Zero downtime </small> </div>
|
|
Анализировать url |
| /products/turn-sfu/ |
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m14 17 3-3-3-3m-4-4-3 3 3 3m12-1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> TURN / SFU </small> <small class="text-tertiary leading-snug font-normal!"> Real-time infra </small> </div>
|
|
Анализировать url |
| /products/analytics/ |
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="inline-block text-tertiary group-hover:text-accent-100! size-5 shrink-0 transition-colors duration-200" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 20v-7m-8 7V10M4 20v-4m9.407-10.973 5.168 1.939M10.8 5.4 5.2 9.6m15.86-3.16a1.5 1.5 0 1 1-2.121 2.12 1.5 1.5 0 0 1 2.122-2.12Zm-16 3a1.5 1.5 0 1 1-2.12 2.12 1.5 1.5 0 0 1 2.12-2.12Zm8-6a1.5 1.5 0 1 1-2.121 2.12 1.5 1.5 0 0 1 2.122-2.12Z"></path></g></svg> <div class="flex min-w-0 flex-1 flex-col gap-1.5"> <small class="text-foreground-200 group-hover:text-secondary leading-none font-medium! transition-colors duration-200"> Analytics </small> <small class="text-tertiary leading-snug font-normal!"> Web Performance & Security </small> </div>
|
|
Анализировать url |
| /plans/ |
Plans
|
|
Анализировать url |
| /resource/contact-enterprise-sales/ |
Contact sales
|
|
Анализировать url |
| /partners/ |
Partners
|
|
Анализировать url |
| /startups/ |
Startups
|
|
Анализировать url |
| /under-attack-hotline/ |
Under attack?
|
|
Анализировать url |
| /about/ |
About
|
|
Анализировать url |
| /careers/ |
Careers
|
|
Анализировать url |
| /press/ |
Press
|
|
Анализировать url |
| /press/press-kit/ |
Press kit
|
|
Анализировать url |
| /network/ |
Global network
|
|
Анализировать url |
| /galileo/ |
Project Galileo
|
|
Анализировать url |
| /athenian/ |
Athenian Project
|
|
Анализировать url |
| /campaigns/ |
Cloudflare for Campaigns
|
|
Анализировать url |
| /fair-shot/ |
Project Fairshot
|
|
Анализировать url |
| /impact/ |
Impact/ESG
|
|
Анализировать url |
| /trust-hub/compliance-resources/ |
Compliance resources
|
|
Анализировать url |
| /trust-hub/ |
Trust Hub
|
|
Анализировать url |
| /trust-hub/gdpr/ |
Data Protection
|
|
Анализировать url |
| /trust-hub/responsible-ai/ |
Responsible AI
|
|
Анализировать url |
| /transparency/ |
Transparency report
|
|
Анализировать url |
| /trust-hub/abuse-approach/ |
Report abuse
|
|
Анализировать url |
| /resource/app-innovation-report/ |
App innovation report
|
|
Анализировать url |
| /case-studies/ |
Case studies
|
|
Анализировать url |
| /events/ |
Events
|
|
Анализировать url |
| /learning/ |
Learning center
|
|
Анализировать url |
| /community/ |
Community
|
|
Анализировать url |
| /sase/ |
SSE and SASE platform
|
|
Анализировать url |
| /solutions/ai/ |
Cloudflare AI Cloud
|
|
Анализировать url |
| /solutions/ai-security/ |
AI Security
|
|
Анализировать url |
| /solutions/frontends/ |
Frontend Development Platform
|
|
Анализировать url |
| /solutions/platforms/ |
Multi-Tenant Platform Development
|
|
Анализировать url |
| /solutions/security/ |
Web Security Platform
|
|
Анализировать url |
| /policies/privacy/ |
Privacy policy
|
|
Анализировать url |
| /policies/terms/ |
Terms of use
|
|
Анализировать url |
Внешние ссылки
Кол-во: 22
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 22 слишком много. Спрячьте лишние ссылки в тег noindex или атрибут rel='nofollow'!
Показать внешние ссылки
| Url | Анкор | Анализировать |
|---|---|---|
| dash.cloudflare.com |
Login
|
Анализировать url |
| dash.cloudflare.com |
Dashboard
|
Анализировать url |
| dash.cloudflare.com |
Start building
|
Анализировать url |
| dash.cloudflare.com |
Dashboard
|
Анализировать url |
| dash.cloudflare.com |
Login
|
Анализировать url |
| dash.cloudflare.com |
<span data-cms-path="products.pages.sections.hero.primaryCta.text" data-cms-type="text" data-astro-cid-g6gfg5hs=""> Start building for free </span>
|
Анализировать url |
| developers.cloudflare.com |
<span data-cms-path="products.pages.sections.hero.secondaryCta.text" data-cms-type="text" data-astro-cid-g6gfg5hs=""> View docs </span>
|
Анализировать url |
| developers.cloudflare.com |
<span data-cms-path="products.pages.sections.useCases.cta" data-cms-type="text" data-astro-cid-7amrcyfe="" style="--totalRows: 3;"> Learn how to build applications with Cloudflare Pages </span>
|
Анализировать url |
| dash.cloudflare.com |
<astro-slot> <span data-cms-path="build-sections.default.primaryCtaText" data-cms-type="text"> Start building for free </span> </astro-slot>
|
Анализировать url |
| developers.cloudflare.com |
<astro-slot> <span data-cms-path="build-sections.default.secondaryCtaText" data-cms-type="text"> View docs </span> </astro-slot>
|
Анализировать url |
| partnerlocator.cloudflare.com |
Find a partner
|
Анализировать url |
| domains.cloudflare.com |
Domain name search
|
Анализировать url |
| cloudflare.net |
Investors
|
Анализировать url |
| radar.cloudflare.com |
Cloudflare Radar
|
Анализировать url |
| cloudflarestatus.com |
Status
|
Анализировать url |
| support.cloudflare.com |
Support
|
Анализировать url |
| blog.cloudflare.com |
Blog
|
Анализировать url |
| developers.cloudflare.com |
Documentation
|
Анализировать url |
| dash.cloudflare.com |
<astro-slot>
Start Building
</astro-slot><svg viewbox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0"><path d="M7 17 17 7m0 0H7m10 0v10"></path></svg>
|
Анализировать url |
| dash.cloudflare.com |
<astro-slot>
Log In
</astro-slot><svg viewbox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0"><path d="M7 17 17 7m0 0H7m10 0v10"></path></svg>
|
Анализировать url |
| cloudflare.com |
Report security issues
|
Анализировать url |
| cloudflare.com |
Trademark
|
Анализировать url |
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Сайт pages.cloudflare.com проверен - готовность высокая и составляет 72%.
Исправьте ошибки индексации.
Поделитесь с друзьями: