Add security page, create features-table partial (#2652)
@@ -3,6 +3,7 @@ label: Enterprise Support
|
||||
title: Support & Reliability
|
||||
tiers:
|
||||
- id: community
|
||||
featureCellWidth: 20rem
|
||||
name: Community
|
||||
highlight: false
|
||||
bold: false
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
---
|
||||
title: Security
|
||||
sitemapExclude: True
|
||||
build:
|
||||
render: never
|
||||
render: always
|
||||
cascade:
|
||||
- build:
|
||||
render: always
|
||||
list: local
|
||||
publishResources: false
|
||||
render: never
|
||||
---
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
title: Across All Deployment Modes, Here Is What Qdrant Can Access
|
||||
tables:
|
||||
- id: access
|
||||
featureCellWidth: 24rem
|
||||
label: Access
|
||||
cols:
|
||||
- id: qdrantCloud
|
||||
name: Qdrant Cloud
|
||||
highlight: false
|
||||
bold: false
|
||||
icon:
|
||||
src: /icons/volumetric-logo.svg
|
||||
alt: Qdrant logo
|
||||
- id: hybridCloud
|
||||
name: Hybrid Cloud
|
||||
highlight: false
|
||||
bold: false
|
||||
icon:
|
||||
src: /icons/outline/cloud-hybrid-blue.svg
|
||||
alt: Hybrid cloud
|
||||
- id: privateCloud
|
||||
name: Private Cloud
|
||||
highlight: false
|
||||
bold: false
|
||||
icon:
|
||||
src: /icons/outline/cloud-private-teal.svg
|
||||
alt: Private cloud
|
||||
features:
|
||||
- name: Infrastructure metrics<br>(CPU, memory, disk)
|
||||
qdrantCloud: Visible to Qdrant
|
||||
hybridCloud: Visible to Qdrant
|
||||
privateCloud: Not Visible to Qdrant
|
||||
- name: Cluster metadata<br>(names, labels, collections)
|
||||
qdrantCloud: Visible to Qdrant
|
||||
hybridCloud: Visible to Qdrant
|
||||
privateCloud: Not Visible to Qdrant
|
||||
- name: Vectors, payloads, queries
|
||||
qdrantCloud: Stays in your cluster
|
||||
hybridCloud: Stays in your cluster
|
||||
privateCloud: Stays in your cluster
|
||||
- name: Database, stored data, API keys, backups, logs
|
||||
qdrantCloud: Qdrant Infrastructure
|
||||
hybridCloud: Your infrastructure, no Qdrant access
|
||||
privateCloud: Your infrastructure, no Qdrant access
|
||||
- name: Integrated management and observability
|
||||
qdrantCloud: Available
|
||||
hybridCloud: Available
|
||||
privateCloud: Not available (airgapped)
|
||||
sitemapExclude: true
|
||||
---
|
||||
@@ -1,5 +1,8 @@
|
||||
---
|
||||
title: Bug Bounty Program
|
||||
build:
|
||||
render: always
|
||||
list: always
|
||||
---
|
||||
|
||||
# Bug Bounty Program Overview
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
variant: small
|
||||
title: Compare Deployment Modes
|
||||
button:
|
||||
text: Compare
|
||||
url: /documentation/cloud-security/
|
||||
sitemapExclude: true
|
||||
---
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
title: Start Building on a<br>Secure Foundation
|
||||
description: Start free and self-serve from the Qdrant Cloud Management Console.
|
||||
button:
|
||||
text: Start Free
|
||||
url: https://cloud.qdrant.io
|
||||
outlineButton:
|
||||
text: Talk to Engineering
|
||||
url: /contact-us/
|
||||
sitemapExclude: true
|
||||
---
|
||||
@@ -0,0 +1,59 @@
|
||||
---
|
||||
title: What Security You Get on Each Deployment Model
|
||||
tables:
|
||||
- id: deployment-model
|
||||
featureCellWidth: 21rem
|
||||
label: Access
|
||||
cols:
|
||||
- id: qdrantCloud
|
||||
name: Qdrant Cloud
|
||||
highlight: false
|
||||
bold: false
|
||||
icon:
|
||||
src: /icons/volumetric-logo.svg
|
||||
alt: Qdrant logo
|
||||
- id: hybridOrPrivateCloud
|
||||
name: Hybrid / Private Cloud
|
||||
highlight: false
|
||||
bold: false
|
||||
icon:
|
||||
src: /icons/outline/cloud-hybrid-blue.svg
|
||||
alt: Hybrid cloud
|
||||
- id: selfHosted
|
||||
name: Self-Hosted
|
||||
highlight: false
|
||||
bold: false
|
||||
icon:
|
||||
src: /icons/outline/server-green.svg
|
||||
alt: Server
|
||||
features:
|
||||
- name: Encryption in transit (TLS)
|
||||
qdrantCloud: Built-in
|
||||
hybridOrPrivateCloud: Customer configuration
|
||||
selfHosted: Customer configuration
|
||||
- name: Encryption at rest
|
||||
qdrantCloud: Built-in; Customer-provided keys (Premium)
|
||||
hybridOrPrivateCloud: Customer configuration
|
||||
selfHosted: Customer configuration
|
||||
- name: Audit Logging
|
||||
qdrantCloud: Available on paid clusters
|
||||
hybridOrPrivateCloud: Available on paid clusters
|
||||
selfHosted: Customer configuration
|
||||
- name: Cloud Management Console role-based access control (RBAC)
|
||||
qdrantCloud: Built-in
|
||||
hybridOrPrivateCloud: Built-in, Hybrid only
|
||||
selfHosted: Not applicable
|
||||
- name: Single sign-on (SSO)
|
||||
qdrantCloud: Premium add-on
|
||||
hybridOrPrivateCloud: Premium add-on<br>(Hybrid only)
|
||||
selfHosted: Not applicable
|
||||
- name: VPC PrivateLink
|
||||
qdrantCloud: Premium add-on
|
||||
hybridOrPrivateCloud: Not applicable
|
||||
selfHosted: Not applicable
|
||||
- name: Compliance documentation (SOC 2 Type 2, HIPAA)
|
||||
qdrantCloud: Available via <a href="https://app.drata.com/trust/9cbbb75b-0c38-11ee-865f-029d78a187d9" target="_blank">Trust Center</a>
|
||||
hybridOrPrivateCloud: Available via <a href="https://app.drata.com/trust/9cbbb75b-0c38-11ee-865f-029d78a187d9" target="_blank">Trust Center</a>
|
||||
selfHosted: Not applicable
|
||||
sitemapExclude: true
|
||||
---
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
cards:
|
||||
- id: 0
|
||||
image:
|
||||
src: /img/security/compliance-and-certifications.svg
|
||||
alt: Compliance and certifications
|
||||
title: Compliance and Certifications
|
||||
description: Qdrant holds SOC 2 Type 2 and HIPAA certifications. Pull compliance reports directly from the Trust Center. For deployments subject to GDPR, Qdrant provides a Data Processing Agreement covering data protection and privacy commitments. Contact Qdrant to discuss Personal Health Information (PHI) data handling requirements for your deployment.
|
||||
link:
|
||||
url: https://app.drata.com/trust/9cbbb75b-0c38-11ee-865f-029d78a187d9
|
||||
text: Request Reports in the Trust Center
|
||||
- id: 1
|
||||
image:
|
||||
src: /img/security/authentication.svg
|
||||
alt: Authentication
|
||||
title: Audit Logging
|
||||
description: Audit logging, available on paid clusters, captures operations performed through the Qdrant API, including user and API key attribution, timestamp, target collection, and result of the action.
|
||||
link:
|
||||
url: /documentation/cloud/configure-cluster/#audit-logging
|
||||
text: Activate Audit Logging
|
||||
- id: 2
|
||||
icon:
|
||||
src: /icons/outline/network-blue.svg
|
||||
alt: Network
|
||||
label: ONLY AVAILABLE ON PREMIUM TIER
|
||||
title: Network Isolation and Private Connectivity
|
||||
description: Connect your Qdrant Managed Cloud cluster to your VPC using private links, so traffic between your application and the cluster travels over your private network. Private link connectivity is available to Premium customers.
|
||||
link:
|
||||
url: /documentation/cloud-premium/
|
||||
text: Learn About Private Connectivity
|
||||
- id: 3
|
||||
icon:
|
||||
src: /icons/outline/key-round-blue.svg
|
||||
alt: Key
|
||||
label: ONLY AVAILABLE ON PREMIUM TIER
|
||||
title: Single Sign-On
|
||||
description: Qdrant Cloud supports enterprise SSO for Premium tier customers, with support for Active Directory/LDAP, ADFS, Azure Active Directory Native, Google Workspace, OpenID Connect, Okta, PingFederate, and SAML.
|
||||
link:
|
||||
url: /documentation/cloud-account-setup/#enterprise-single-sign-on-sso
|
||||
text: Set Up SSO
|
||||
- id: 3
|
||||
icon:
|
||||
src: /icons/outline/user-cog-blue.svg
|
||||
alt: User
|
||||
title: Access Control and RBAC
|
||||
description: Qdrant Cloud lets you manage permissions for cloud resources at the collection-level inside the Qdrant Cloud Management Cloud Console.
|
||||
link:
|
||||
url: /documentation/cloud-rbac/role-management/
|
||||
text: Configure RBAC
|
||||
sitemapExclude: true
|
||||
---
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: FAQs
|
||||
questions:
|
||||
- question: Does Qdrant access my data on Qdrant Managed Cloud?
|
||||
answer: On Qdrant Cloud, every storage volume is encrypted at rest. Qdrant does not access any data stored in Qdrant clusters. API keys are stored securely as hashes. The data isolation guarantee covering the database, stored data, API keys, backups, and cluster logs applies to Hybrid Cloud and Private Cloud. Contact Qdrant if your requirements call for that level of isolation.
|
||||
- question: Which controls does a Premium tier account provide?
|
||||
answer: PrivateLink (private VPC connectivity), enterprise SSO, and customer-managed encryption keys (BYOK) are all available to Premium tier customers. Contact Qdrant to enable any of these for your account.
|
||||
- question: Which identity providers does Qdrant Cloud SSO support?
|
||||
answer: Qdrant Cloud enterprise SSO supports Active Directory/LDAP, ADFS, Azure Active Directory Native, Google Workspace, OpenID Connect, Okta, PingFederate, and SAML. SSO is available as an add-on for Premium tier customers.
|
||||
- question: How do API keys work and can I scope them to specific collections?
|
||||
answer: Api keys default to cluster-wide manage/write permissions, with a read-only option also available. To restrict a key to a subset of collections, select the Collections tab and choose the relevant collections. Set an expiration in days (default is 90) and rotate keys regularly.
|
||||
- question: How does Hybrid Cloud address data residency requirements?
|
||||
answer: Hybrid Cloud provides a similar developer and ops experience to Qdrant Managed Cloud through the Qdrant Cloud console, while keeping the data plane inside your own infrastructure. Qdrant sees only infrastructure metrics in this mode; the database, stored data, API keys, backups, and cluster logs remain inside your infrastructure.
|
||||
- question: What certifications does Qdrant hold?
|
||||
answer: Qdrant holds SOC 2 Type 2 and HIPAA certifications. Pull reports from the Trust Center. For certifications or frameworks not listed there, contact Qdrant directly.
|
||||
- question: Can Qdrant sign a BAA for PHI workloads?
|
||||
answer: Qdrant is HIPAA certified and Business Associate Agreement is available for Qdrant Managed Cloud. For specific PHI handling requirements, contact Qdrant to discuss your situation.
|
||||
sitemapExclude: true
|
||||
---
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: Secure Every Deployment
|
||||
description: Security controls are available across all Qdrant Cloud deployment modes. Hybrid Cloud and Private Cloud add full data isolation for stricter residency and compliance requirements.
|
||||
button:
|
||||
text: Explore the Security Docs
|
||||
url: /documentation/security/
|
||||
sitemapExclude: true
|
||||
---
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: Data Access Isolation and Encryption
|
||||
description: "For Qdrant Cloud, customers can expect:"
|
||||
cards:
|
||||
- id: 0
|
||||
title: Cluster Isolation
|
||||
description: Hardened, unprivileged containers, isolated from one another.
|
||||
icon:
|
||||
src: /icons/outline/vectors-blue.svg
|
||||
alt: Vectors
|
||||
link:
|
||||
url: /documentation/cloud-security/#managed-cloud
|
||||
text: Explore Cluster Isolation
|
||||
- id: 1
|
||||
title: Encryption in Transit, at Rest
|
||||
description: Data protected in transit with TLS and storage volumes encrypted at rest. <a href="/documentation/cloud-premium/">Premium</a> customers can encrypt their data at rest using their own keys.
|
||||
icon:
|
||||
src: /icons/outline/lock-keyhole-blue.svg
|
||||
alt: Lock
|
||||
link:
|
||||
url: /documentation/cloud-security/#managed-cloud
|
||||
text: See How Encryption Works
|
||||
- id: 2
|
||||
title: Telemetry and Logs
|
||||
description: Originate from Qdrant cluster, but then are pushed to Qdrant's US management plane.
|
||||
icon:
|
||||
src: /icons/outline/square-activity-blue.svg
|
||||
alt: Square activity
|
||||
link:
|
||||
url: /documentation/cloud/cluster-monitoring/
|
||||
text: Monitor Your Clusters
|
||||
- id: 3
|
||||
title: In-region Data Residency
|
||||
description: Data in Qdrant clusters stored only in the cluster's deployment region.
|
||||
icon:
|
||||
src: /icons/outline/globe-lock-blue.svg
|
||||
alt: Globe lock
|
||||
link:
|
||||
url: /documentation/cloud/create-cluster/#create-a-cluster
|
||||
text: Choose Your Region
|
||||
sitemapExclude: true
|
||||
---
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
variant: small
|
||||
title: Read More About Cloud Security
|
||||
button:
|
||||
text: Read More
|
||||
url: /documentation/cloud-security/
|
||||
sitemapExclude: true
|
||||
---
|
||||
@@ -81,6 +81,8 @@
|
||||
@import 'partials/subscribe';
|
||||
@import 'partials/events/events-card';
|
||||
@import 'partials/events/events-list';
|
||||
@import 'partials/common-hero';
|
||||
@import 'partials/features-table';
|
||||
// used by landing pages under /lp/ (e.g. /lp/lucene)
|
||||
@import 'partials/elastic-lucene/index';
|
||||
@import 'partials/vsd/index';
|
||||
@@ -89,3 +91,4 @@
|
||||
@import 'partials/agenda';
|
||||
@import 'partials/pricing-banner';
|
||||
@import 'partials/serverless';
|
||||
@import 'partials/security';
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
@use '../../helpers/functions' as *;
|
||||
@use '../helpers/functions' as *;
|
||||
|
||||
.serverless-hero {
|
||||
.common-hero {
|
||||
padding-top: $spacer * 5;
|
||||
padding-bottom: $spacer * 5;
|
||||
background: url('../img/serverless-hero-mobile.png') center bottom / cover no-repeat, $neutral-10;
|
||||
background: url('../img/serverless-hero-mobile.png') center top / cover no-repeat, $neutral-10;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
||||
|
||||
&__overlay {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
@@ -45,14 +45,27 @@
|
||||
line-height: $line-height-lg;
|
||||
margin: 0 auto $spacer * 2;
|
||||
color: $neutral-80;
|
||||
max-width: pxToRem(754);
|
||||
max-width: pxToRem(840);
|
||||
}
|
||||
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
background: url('../img/serverless-hero.png') center bottom / cover no-repeat, $neutral-10;
|
||||
background: url('../img/serverless-hero.png') center top / cover no-repeat, $neutral-10;
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: $spacer * 5;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
background: linear-gradient(0deg, #090E1A 32%, rgba(9, 14, 26, 0) 100%);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
min-height: pxToRem(440);
|
||||
padding-bottom: $spacer * 7.5;
|
||||
|
||||
&__title {
|
||||
@@ -0,0 +1,777 @@
|
||||
@use '../helpers/functions' as *;
|
||||
@use 'sass:math';
|
||||
|
||||
/* Shared table styles – used by security */
|
||||
|
||||
:root {
|
||||
--col-count: 4; // fallback; overridden per table via inline style in features-table.html
|
||||
--feature-cell-width: 19.375rem;
|
||||
}
|
||||
|
||||
.features-table {
|
||||
|
||||
// Layout – fallback for browsers without subgrid (same column track sizes, explicit grid)
|
||||
// First column: up to --feature-cell-width when grid fits, shrinks when it doesn't
|
||||
&__table {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, var(--feature-cell-width)) repeat(var(--col-count), 1fr);
|
||||
}
|
||||
|
||||
&__table-header,
|
||||
&__table-footer {
|
||||
grid-column: 1 / calc(var(--col-count) + 2);
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, var(--feature-cell-width)) repeat(var(--col-count), 1fr);
|
||||
}
|
||||
|
||||
&__table-body {
|
||||
grid-column: 1 / calc(var(--col-count) + 2);
|
||||
display: block;
|
||||
}
|
||||
|
||||
&__table-section {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, var(--feature-cell-width)) repeat(var(--col-count), 1fr);
|
||||
|
||||
&-header {
|
||||
grid-column: 1 / calc(var(--col-count) + 2);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: pxToRem(24) pxToRem(32);
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
background-color: $secondary-blue-95;
|
||||
border-left: 0.5px solid $neutral-80;
|
||||
border-right: 0.5px solid $neutral-80;
|
||||
border-bottom: 0.5px solid $neutral-80;
|
||||
}
|
||||
|
||||
&-title {
|
||||
font-size: pxToRem(18);
|
||||
line-height: pxToRem(27);
|
||||
font-weight: 600;
|
||||
color: $neutral-20;
|
||||
}
|
||||
|
||||
&-rows {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, var(--feature-cell-width)) repeat(var(--col-count), 1fr);
|
||||
grid-column: 1 / calc(var(--col-count) + 2);
|
||||
transition: max-height 0.35s ease;
|
||||
}
|
||||
|
||||
&--collapsed {
|
||||
.features-table__chevron {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
|
||||
&:first-of-type &-header {
|
||||
border-top: 0.5px solid $neutral-80;
|
||||
border-top-left-radius: pxToRem(8);
|
||||
}
|
||||
|
||||
&:first-of-type {
|
||||
.features-table__table-row:first-of-type {
|
||||
.features-table__table-cell {
|
||||
border-top: 0.5px solid $neutral-80;
|
||||
}
|
||||
|
||||
.features-table__table-cell--feature {
|
||||
border-top-left-radius: pxToRem(8);
|
||||
}
|
||||
}
|
||||
|
||||
.features-table__table-section-header + .features-table__table-section-rows {
|
||||
.features-table__table-row:first-of-type {
|
||||
.features-table__table-cell {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
.features-table__table-cell--feature {
|
||||
border-top-left-radius: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:last-of-type.features-table__table-section--collapsed &-header {
|
||||
border-bottom-left-radius: pxToRem(8);
|
||||
}
|
||||
}
|
||||
|
||||
&__table-row {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, var(--feature-cell-width)) repeat(var(--col-count), 1fr);
|
||||
grid-column: 1 / calc(var(--col-count) + 2);
|
||||
}
|
||||
|
||||
/* Enhancement for browsers that support subgrid */
|
||||
@supports (grid-template-columns: subgrid) {
|
||||
&__table-header,
|
||||
&__table-footer {
|
||||
grid-column: 1 / calc(var(--col-count) + 2);
|
||||
grid-template-columns: subgrid;
|
||||
}
|
||||
|
||||
&__table-body {
|
||||
display: grid;
|
||||
grid-template-columns: subgrid;
|
||||
grid-column: 1 / calc(var(--col-count) + 2);
|
||||
}
|
||||
|
||||
&__table-section {
|
||||
grid-template-columns: subgrid;
|
||||
grid-column: 1 / calc(var(--col-count) + 2);
|
||||
|
||||
&-header {
|
||||
grid-column: 1 / calc(var(--col-count) + 2);
|
||||
}
|
||||
|
||||
&-rows {
|
||||
grid-template-columns: subgrid;
|
||||
grid-column: 1 / calc(var(--col-count) + 2);
|
||||
}
|
||||
}
|
||||
|
||||
&__table-row {
|
||||
grid-template-columns: subgrid;
|
||||
grid-column: 1 / calc(var(--col-count) + 2);
|
||||
}
|
||||
}
|
||||
|
||||
&__table-cell {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: pxToRem(16) pxToRem(32);
|
||||
background-color: $neutral-98;
|
||||
font-size: pxToRem(16);
|
||||
line-height: pxToRem(24);
|
||||
font-weight: 400;
|
||||
color: $neutral-30;
|
||||
text-align: center;
|
||||
border-bottom: 0.5px solid $neutral-80;
|
||||
border-left: 0.5px solid $neutral-80;
|
||||
}
|
||||
|
||||
&__table-cell--col {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: pxToRem(8);
|
||||
|
||||
&-icon {
|
||||
height: pxToRem(20);
|
||||
}
|
||||
}
|
||||
|
||||
&__table-cell--feature {
|
||||
justify-content: flex-start;
|
||||
text-align: left;
|
||||
font-size: pxToRem(18);
|
||||
line-height: pxToRem(27);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
&__table-cell--highlight {
|
||||
background-color: $secondary-blue-95;
|
||||
}
|
||||
|
||||
&__table-header &__table-cell--feature,
|
||||
&__table-footer &__table-cell--feature {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
&__table-header {
|
||||
& .features-table__table-cell {
|
||||
border-top: 0.5px solid $neutral-80;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
& .features-table__table-cell:not(.features-table__table-cell--feature) {
|
||||
padding: pxToRem(16) pxToRem(32);
|
||||
font-size: pxToRem(20);
|
||||
font-weight: 600;
|
||||
line-height: 1.5;
|
||||
letter-spacing: -0.2px;
|
||||
color: $neutral-20;
|
||||
background-color: $neutral-98;
|
||||
text-align: center;
|
||||
|
||||
&.features-table__table-cell--highlight {
|
||||
background-color: $secondary-blue-95;
|
||||
}
|
||||
|
||||
&:nth-of-type(2) {
|
||||
border-top-left-radius: pxToRem(8);
|
||||
}
|
||||
|
||||
&:last-of-type {
|
||||
border-top-right-radius: pxToRem(8);
|
||||
}
|
||||
}
|
||||
|
||||
& .features-table__table-cell.features-table__table-cell--col {
|
||||
padding: pxToRem(16) pxToRem(8);
|
||||
}
|
||||
}
|
||||
|
||||
&__table-footer {
|
||||
.button {
|
||||
padding: $spacer * 0.5 $spacer * 1;
|
||||
font-size: pxToRem(16);
|
||||
height: auto;
|
||||
|
||||
&_outlined {
|
||||
color: $neutral-20;
|
||||
}
|
||||
}
|
||||
|
||||
& .features-table__table-cell {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-bottom: 0.5px solid $neutral-80;
|
||||
padding: pxToRem(32) 1rem;
|
||||
}
|
||||
|
||||
& .features-table__table-cell:not(.features-table__table-cell--feature) {
|
||||
background-color: $neutral-98;
|
||||
text-align: center;
|
||||
|
||||
&.features-table__table-cell--highlight {
|
||||
background-color: $secondary-blue-95;
|
||||
}
|
||||
|
||||
&:nth-of-type(2) {
|
||||
border-bottom-left-radius: pxToRem(8);
|
||||
}
|
||||
|
||||
&:last-of-type {
|
||||
border-bottom-right-radius: pxToRem(8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__table-header .features-table__table-cell:last-child,
|
||||
&__table-footer .features-table__table-cell:last-child,
|
||||
&__table-row .features-table__table-cell:last-child {
|
||||
border-right: 0.5px solid $neutral-80;
|
||||
}
|
||||
|
||||
&__table-header &__table-cell--feature {
|
||||
border-top: none;
|
||||
border-left: none;
|
||||
border-bottom: none;
|
||||
border-top-left-radius: pxToRem(8);
|
||||
}
|
||||
|
||||
&__table-footer &__table-cell--feature {
|
||||
border-left: none;
|
||||
border-bottom: none;
|
||||
border-bottom-left-radius: pxToRem(8);
|
||||
}
|
||||
|
||||
&__table-body {
|
||||
.features-table__table-section:last-of-type
|
||||
.features-table__table-section-rows
|
||||
.features-table__table-row:last-child
|
||||
.features-table__table-cell:first-child {
|
||||
border-bottom-left-radius: pxToRem(8);
|
||||
}
|
||||
}
|
||||
|
||||
&__table:not(:has(.features-table__table-footer)) {
|
||||
.features-table__table-body
|
||||
.features-table__table-section:last-of-type
|
||||
.features-table__table-section-rows
|
||||
.features-table__table-row:last-child
|
||||
.features-table__table-cell:last-child {
|
||||
border-bottom-right-radius: pxToRem(8);
|
||||
}
|
||||
|
||||
.features-table__table-section:last-of-type.features-table__table-section--collapsed
|
||||
.features-table__table-section-header {
|
||||
border-bottom-right-radius: pxToRem(8);
|
||||
}
|
||||
}
|
||||
|
||||
&--highlight {
|
||||
background-color: $secondary-blue-95;
|
||||
}
|
||||
|
||||
&__chevron {
|
||||
color: $neutral-20;
|
||||
transition: transform 0.2s ease;
|
||||
}
|
||||
|
||||
&__check {
|
||||
color: $neutral-30;
|
||||
}
|
||||
|
||||
&__x {
|
||||
color: $neutral-60;
|
||||
}
|
||||
|
||||
&__text {
|
||||
color: $neutral-30;
|
||||
|
||||
&--bold {
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
&__col-tabs {
|
||||
display: none;
|
||||
}
|
||||
|
||||
// Mobile layout
|
||||
@include media-breakpoint-down(xl) {
|
||||
|
||||
&__table {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
&__table-header,
|
||||
&__table-row,
|
||||
&__table-footer {
|
||||
min-width: pxToRem(900);
|
||||
}
|
||||
|
||||
&__table-cell {
|
||||
min-width: pxToRem(160);
|
||||
|
||||
&--feature {
|
||||
min-width: pxToRem(260);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) and (max-width: 1999px) {
|
||||
&__table-footer .button {
|
||||
white-space: normal;
|
||||
text-align: center;
|
||||
height: auto;
|
||||
min-height: pxToRem(40);
|
||||
}
|
||||
}
|
||||
|
||||
&__col-arrow {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(lg) {
|
||||
&__col-tabs {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0;
|
||||
padding: pxToRem(4);
|
||||
margin-bottom: 0;
|
||||
background-color: $neutral-98;
|
||||
border: 0.5px solid $neutral-80;
|
||||
border-bottom: none;
|
||||
border-radius: pxToRem(8) pxToRem(8) 0 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
&__col-tab {
|
||||
flex: 1 1 0;
|
||||
min-width: min-content;
|
||||
max-width: 100%;
|
||||
padding: $spacer * 0.5 $spacer * 0.5;
|
||||
font-size: pxToRem(14);
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
text-align: center;
|
||||
white-space: normal;
|
||||
overflow-wrap: normal;
|
||||
color: $neutral-30;
|
||||
background: transparent;
|
||||
border: none;
|
||||
border-radius: pxToRem(8);
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
|
||||
&--active {
|
||||
font-weight: 600;
|
||||
color: $neutral-20;
|
||||
background-color: $neutral-94;
|
||||
}
|
||||
}
|
||||
|
||||
&__table {
|
||||
overflow-x: visible;
|
||||
}
|
||||
|
||||
&__table-header {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&__table-header,
|
||||
&__table-row,
|
||||
&__table-footer {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
&__table-row {
|
||||
display: grid;
|
||||
grid-template-columns: 50% 50%;
|
||||
}
|
||||
|
||||
&__table-cell {
|
||||
min-width: 0;
|
||||
padding: pxToRem(16);
|
||||
font-size: pxToRem(14);
|
||||
line-height: pxToRem(21);
|
||||
|
||||
&[data-col] {
|
||||
display: none;
|
||||
|
||||
&.features-table__table-cell--mobile-active {
|
||||
display: flex;
|
||||
grid-column: 2;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-right: 0.5px solid $neutral-80;
|
||||
}
|
||||
}
|
||||
|
||||
&--feature {
|
||||
font-size: pxToRem(14);
|
||||
line-height: pxToRem(21);
|
||||
grid-column: 1;
|
||||
min-width: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&__table-body {
|
||||
.features-table__table-section:last-of-type
|
||||
.features-table__table-section-rows
|
||||
.features-table__table-row:last-child
|
||||
.features-table__table-cell:first-child {
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&__table:not(:has(.features-table__table-footer)) {
|
||||
.features-table__table-body
|
||||
.features-table__table-section:last-of-type
|
||||
.features-table__table-section-rows
|
||||
.features-table__table-row:last-child {
|
||||
.features-table__table-cell:first-child {
|
||||
border-bottom-left-radius: pxToRem(8);
|
||||
}
|
||||
|
||||
.features-table__table-cell--mobile-active {
|
||||
border-bottom-right-radius: pxToRem(8);
|
||||
}
|
||||
}
|
||||
|
||||
.features-table__table-section:last-of-type.features-table__table-section--collapsed
|
||||
.features-table__table-section-header {
|
||||
border-bottom-right-radius: pxToRem(8);
|
||||
}
|
||||
}
|
||||
|
||||
&__table-footer {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
width: 100%;
|
||||
|
||||
.features-table__table-cell--feature {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.features-table__table-cell--cta {
|
||||
display: none;
|
||||
|
||||
&[data-col].features-table__table-cell--mobile-active {
|
||||
display: flex;
|
||||
grid-column: 1;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-left: 0.5px solid $neutral-80;
|
||||
border-right: 0.5px solid $neutral-80;
|
||||
border-bottom-left-radius: pxToRem(8);
|
||||
border-bottom-right-radius: pxToRem(8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__table-section {
|
||||
&:first-of-type &-header {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
&:last-of-type.features-table__table-section--collapsed &-header {
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
&:first-of-type .features-table__table-row:first-of-type .features-table__table-cell--feature {
|
||||
border-top-left-radius: 0;
|
||||
}
|
||||
|
||||
&-header {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
&-title {
|
||||
font-size: pxToRem(14);
|
||||
line-height: pxToRem(21);
|
||||
}
|
||||
}
|
||||
|
||||
&--mobile-arrows {
|
||||
.features-table__col-tabs {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 8px;
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.features-table__col-arrows {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: pxToRem(8);
|
||||
}
|
||||
|
||||
.features-table__col-arrow {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-shrink: 0;
|
||||
background-color: transparent;
|
||||
padding: pxToRem(8);
|
||||
border-radius: pxToRem(4);
|
||||
border: pxToRem(1) solid $neutral-30;
|
||||
}
|
||||
|
||||
.features-table__col-tab {
|
||||
flex: none;
|
||||
width: 50%;
|
||||
background-color: $neutral-98;
|
||||
font-size: pxToRem(16);
|
||||
line-height: pxToRem(24);
|
||||
padding: pxToRem(16);
|
||||
min-height: pxToRem(108);
|
||||
border-top: 0.5px solid $neutral-80;
|
||||
border-left: 0.5px solid $neutral-80;
|
||||
border-right: 0.5px solid $neutral-80;
|
||||
border-radius: 0;
|
||||
|
||||
&:not(.features-table__col-tab--active) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.features-table__table:not(:has(.features-table__table-footer))
|
||||
.features-table__table-body
|
||||
.features-table__table-section:last-of-type
|
||||
.features-table__table-section-rows
|
||||
.features-table__table-row:last-child
|
||||
.features-table__table-cell--mobile-active {
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
.features-table__table:not(:has(.features-table__table-footer))
|
||||
.features-table__table-body
|
||||
.features-table__table-section:last-of-type
|
||||
.features-table__table-section-rows
|
||||
.features-table__table-row:last-child
|
||||
.features-table__table-cell:first-child {
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(md) {
|
||||
&__table-section-header {
|
||||
padding: $spacer;
|
||||
min-height: pxToRem(56);
|
||||
}
|
||||
}
|
||||
|
||||
&--dark {
|
||||
$dark-border: 0.5px solid $neutral-30;
|
||||
|
||||
.features-table__col-tabs {
|
||||
background-color: $neutral-20;
|
||||
border: $dark-border;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.features-table__col-tab {
|
||||
color: $neutral-80;
|
||||
|
||||
&--active {
|
||||
color: $neutral-98;
|
||||
background-color: $neutral-30;
|
||||
}
|
||||
}
|
||||
|
||||
.features-table__table-section:first-of-type {
|
||||
.features-table__table-row:first-of-type {
|
||||
.features-table__table-cell {
|
||||
border-top: $dark-border;
|
||||
}
|
||||
}
|
||||
|
||||
.features-table__table-section-header + .features-table__table-section-rows {
|
||||
.features-table__table-row:first-of-type {
|
||||
.features-table__table-cell {
|
||||
border-top: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.features-table__table-cell {
|
||||
background-color: transparent;
|
||||
color: $neutral-98;
|
||||
border-left: $dark-border;
|
||||
border-bottom: $dark-border;
|
||||
}
|
||||
|
||||
.features-table__table-cell--feature {
|
||||
font-size: pxToRem(16);
|
||||
line-height: pxToRem(24);
|
||||
padding: pxToRem(24) pxToRem(32);
|
||||
color: $neutral-98;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.features-table__table-cell--highlight {
|
||||
background-color: $neutral-20;
|
||||
}
|
||||
|
||||
.features-table__table-header .features-table__table-cell:not(.features-table__table-cell--feature) {
|
||||
background-color: $neutral-10;
|
||||
color: $neutral-98;
|
||||
border-top: $dark-border;
|
||||
border-left: $dark-border;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.features-table__table-header .features-table__table-cell--feature,
|
||||
.features-table__table-footer .features-table__table-cell--feature {
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.features-table__table-section-rows {
|
||||
position: relative;
|
||||
background-color: $neutral-10;
|
||||
|
||||
&:before {
|
||||
display: block;
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: var(--feature-cell-width);
|
||||
background: linear-gradient(180deg, rgba(14, 20, 36, 0.00) 0%, #161E33 100%);
|
||||
border-bottom-left-radius: pxToRem(8);
|
||||
pointer-events: none;
|
||||
z-index: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.features-table__table-header .features-table__table-cell:last-child,
|
||||
.features-table__table-footer .features-table__table-cell:last-child,
|
||||
.features-table__table-row .features-table__table-cell:last-child {
|
||||
border-right: $dark-border;
|
||||
}
|
||||
|
||||
.features-table__table-row:first-of-type .features-table__table-cell {
|
||||
border-top: $dark-border;
|
||||
}
|
||||
|
||||
.features-table__table-section-header {
|
||||
background-color: $neutral-20;
|
||||
border-left: $dark-border;
|
||||
border-right: $dark-border;
|
||||
border-bottom: $dark-border;
|
||||
}
|
||||
|
||||
.features-table__table-section:first-of-type .features-table__table-section-header {
|
||||
border-top: $dark-border;
|
||||
}
|
||||
|
||||
.features-table__table-section-title {
|
||||
color: $neutral-98;
|
||||
}
|
||||
|
||||
.features-table__chevron {
|
||||
color: $neutral-98;
|
||||
}
|
||||
|
||||
.features-table__check {
|
||||
color: $neutral-98;
|
||||
}
|
||||
|
||||
.features-table__x {
|
||||
color: $neutral-60;
|
||||
}
|
||||
|
||||
.features-table__text {
|
||||
color: $neutral-98;
|
||||
|
||||
&--bold {
|
||||
color: $neutral-98;
|
||||
}
|
||||
|
||||
a {
|
||||
border-bottom: pxToRem(1) solid $primary-50;
|
||||
}
|
||||
}
|
||||
|
||||
.features-table__table-footer .features-table__table-cell:not(.features-table__table-cell--feature) {
|
||||
background-color: $neutral-20;
|
||||
border-left: $dark-border;
|
||||
border-bottom: $dark-border;
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(lg) {
|
||||
.features-table__table-section-rows {
|
||||
&:before {
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.features-table__table-cell[data-col].features-table__table-cell--mobile-active {
|
||||
border-right: $dark-border;
|
||||
}
|
||||
|
||||
.features-table__table:not(:has(.features-table__table-footer)) {
|
||||
.features-table__table-body
|
||||
.features-table__table-section:last-of-type
|
||||
.features-table__table-section-rows
|
||||
.features-table__table-row:last-child
|
||||
.features-table__table-cell--mobile-active {
|
||||
border-right: $dark-border;
|
||||
}
|
||||
}
|
||||
|
||||
.features-table__table-footer
|
||||
.features-table__table-cell--cta[data-col].features-table__table-cell--mobile-active {
|
||||
border-left: $dark-border;
|
||||
border-right: $dark-border;
|
||||
}
|
||||
|
||||
.features-table__table-section:first-of-type
|
||||
.features-table__table-row:first-of-type
|
||||
.features-table__table-cell {
|
||||
border-top: $dark-border;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
background-color: $neutral-94;
|
||||
|
||||
&__content {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
@@ -19,22 +21,54 @@
|
||||
radial-gradient(90.18% 121.21% at 50% 7.58%, rgba(0, 0, 0, 0.00) 9.46%, rgba(9, 14, 26, 0.08) 45.41%, rgba(0, 24, 72, 0.24) 68.94%, rgba(0, 64, 161, 0.40) 78.19%),
|
||||
$neutral-10;
|
||||
text-align: center;
|
||||
|
||||
&-overlay-1,
|
||||
&-overlay-2,
|
||||
&-overlay-3 {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
inset: 0;
|
||||
background-repeat: no-repeat;
|
||||
background-position: top center;
|
||||
background-size: cover;
|
||||
pointer-events: none;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
&-overlay-1 {
|
||||
background-image: url("/img/blurred/blurred-light-32.svg");
|
||||
}
|
||||
|
||||
&-overlay-2 {
|
||||
background-image: url("/img/blurred/stars.svg");
|
||||
mix-blend-mode: color-dodge;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
&-overlay-3 {
|
||||
background-image: url("/img/blurred/texture.svg");
|
||||
mix-blend-mode: overlay;
|
||||
}
|
||||
}
|
||||
|
||||
&__text {
|
||||
max-width: pxToRem(675);
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
&__title {
|
||||
font-size: $h6-font-size;
|
||||
line-height: $spacer * 2;
|
||||
margin-bottom: $spacer;
|
||||
margin-bottom: 0;
|
||||
color: $neutral-98;
|
||||
}
|
||||
|
||||
&__description {
|
||||
font-size: $font-size-l;
|
||||
line-height: $line-height-lg;
|
||||
margin-top: $spacer;
|
||||
margin-bottom: 0;
|
||||
color: $neutral-90;
|
||||
}
|
||||
@@ -42,13 +76,22 @@
|
||||
&__button {
|
||||
flex-shrink: 0;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
|
||||
a {
|
||||
width: 100%;
|
||||
max-width: pxToRem(400);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&__small {
|
||||
.pricing-banner__title {
|
||||
font-size: $h6-font-size;
|
||||
line-height: $spacer * 2;
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
padding-top: $spacer * 2.5;
|
||||
padding-bottom: $spacer * 2.5;
|
||||
@@ -58,6 +101,10 @@
|
||||
justify-content: space-between;
|
||||
padding: $spacer * 2.5 $spacer * 4;
|
||||
text-align: left;
|
||||
|
||||
&-overlay-1 {
|
||||
background-image: url("/img/blurred/blurred-light-31.svg");
|
||||
}
|
||||
}
|
||||
|
||||
&__title {
|
||||
@@ -78,5 +125,12 @@
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
&__small {
|
||||
.pricing-banner__title {
|
||||
font-size: $h6-font-size;
|
||||
line-height: $spacer * 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,3 +11,4 @@
|
||||
@import 'qdrant-pricing-comparison';
|
||||
@import 'qdrant-pricing-get-contacted';
|
||||
@import 'pricing-door';
|
||||
@import '../features-table';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
@use '../../helpers/functions' as *;
|
||||
@use 'sass:math';
|
||||
|
||||
/* Shared pricing table styles – used by qdrant-pricing-features and qdrant-pricing-comparison */
|
||||
/* Shared pricing table styles – used by qdrant-pricing-comparison */
|
||||
|
||||
:root {
|
||||
--tier-count: 4; // fallback; overridden per table via inline style in qdrant-pricing-features-table.html
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
@use '../../helpers/functions' as *;
|
||||
|
||||
.security-access {
|
||||
padding-bottom: $spacer * 4;
|
||||
background-color: $neutral-94;
|
||||
|
||||
&__title {
|
||||
margin: 0 auto $spacer * 2.5;
|
||||
font-size: $h6-font-size;
|
||||
line-height: $spacer * 2;
|
||||
color: $neutral-20;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
padding-bottom: $spacer * 2.5;
|
||||
|
||||
&__title {
|
||||
margin-bottom: $spacer * 5;
|
||||
font-size: $h5-font-size;
|
||||
line-height: pxToRem(42);
|
||||
max-width: pxToRem(724);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
@use '../../helpers/functions' as *;
|
||||
|
||||
.security-deployment-model {
|
||||
padding-top: $spacer * 5;
|
||||
padding-bottom: $spacer * 5;
|
||||
background-color: $neutral-10;
|
||||
|
||||
&__title {
|
||||
margin: 0 auto $spacer * 2.5;
|
||||
font-size: $h6-font-size;
|
||||
line-height: $spacer * 2;
|
||||
color: $neutral-98;
|
||||
text-align: center;
|
||||
}
|
||||
@include media-breakpoint-up(lg) {
|
||||
padding-top: $spacer * 7.5;
|
||||
padding-bottom: $spacer * 7.5;
|
||||
|
||||
&__title {
|
||||
margin-bottom: $spacer * 5;
|
||||
font-size: $h4-font-size;
|
||||
line-height: pxToRem(48);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
@use '../../helpers/functions' as *;
|
||||
|
||||
.security-enterprise-ready {
|
||||
padding-top: $spacer * 4;
|
||||
padding-bottom: $spacer * 5;
|
||||
background-color: $neutral-94;
|
||||
|
||||
&__card {
|
||||
overflow: hidden;
|
||||
align-items: flex-start;
|
||||
|
||||
&-image {
|
||||
width: calc(100% + $spacer * 3);
|
||||
margin: pxToRem(-24) pxToRem(-24) $spacer * 1.5 pxToRem(-24)
|
||||
}
|
||||
|
||||
&-icon {
|
||||
height: $spacer * 1.5;
|
||||
width: $spacer * 1.5;
|
||||
margin-bottom: $spacer * 2.5;
|
||||
}
|
||||
|
||||
&-label {
|
||||
font-family: $font-family-monospace;
|
||||
font-size: $font-size-s;
|
||||
line-height: 1.5;
|
||||
font-weight: $font-weight-medium;
|
||||
color: $neutral-30;
|
||||
margin-bottom: $spacer * 0.5;
|
||||
}
|
||||
|
||||
&-title {
|
||||
font-size: $font-size-xl;
|
||||
line-height: pxToRem(30);
|
||||
color: $neutral-20;
|
||||
margin-bottom: $spacer * 0.5;
|
||||
}
|
||||
|
||||
&-description {
|
||||
font-size: $font-size-md;
|
||||
line-height: $spacer * 1.5;
|
||||
margin-bottom: $spacer * 1.5;
|
||||
color: $neutral-40;
|
||||
}
|
||||
|
||||
&-link {
|
||||
margin-top: auto;
|
||||
}
|
||||
|
||||
a:not(.link) {
|
||||
border-bottom: pxToRem(1) solid $primary-50;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
@use '../../helpers/functions' as *;
|
||||
|
||||
.security-faq {
|
||||
padding-top: $spacer * 6.5;
|
||||
background-color: $neutral-94;
|
||||
|
||||
&__title {
|
||||
margin-bottom: $spacer * 2.5;
|
||||
font-size: $h4-font-size;
|
||||
line-height: $spacer * 3;
|
||||
color: $neutral-20;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
padding-top: $spacer * 10;
|
||||
padding-bottom: $spacer * 2.5;
|
||||
|
||||
&__title {
|
||||
margin-bottom: $spacer * 5;
|
||||
font-size: $h2-font-size;
|
||||
line-height: pxToRem(62);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
@import 'deployment-model';
|
||||
@import 'access';
|
||||
@import 'enterprise-ready';
|
||||
@import 'isolation-and-encryption';
|
||||
@import 'faq';
|
||||
@@ -0,0 +1,68 @@
|
||||
@use '../../helpers/functions' as *;
|
||||
|
||||
.security-isolation-and-encryption {
|
||||
padding-top: $spacer * 5;
|
||||
padding-bottom: $spacer * 4;
|
||||
background-color: $neutral-94;
|
||||
|
||||
&__title {
|
||||
font-size: $h5-font-size;
|
||||
line-height: pxToRem(42);
|
||||
margin-bottom: $spacer;
|
||||
color: $neutral-20;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&__description {
|
||||
font-size: $font-size-l;
|
||||
line-height: $line-height-lg;
|
||||
margin-bottom: $spacer * 2.5;
|
||||
color: $neutral-30;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&__card {
|
||||
align-items: flex-start;
|
||||
|
||||
&-icon {
|
||||
height: $spacer * 1.5;
|
||||
width: $spacer * 1.5;
|
||||
margin-bottom: $spacer * 2.5;
|
||||
}
|
||||
|
||||
&-title {
|
||||
font-size: $h6-font-size;
|
||||
line-height: $spacer * 2;
|
||||
margin-bottom: $spacer * 0.5;
|
||||
color: $neutral-20;
|
||||
}
|
||||
|
||||
&-description {
|
||||
font-size: $font-size-md;
|
||||
line-height: $spacer * 1.5;
|
||||
margin-bottom: $spacer * 2.5;
|
||||
color: $neutral-30;
|
||||
}
|
||||
|
||||
&-link {
|
||||
margin-top: auto;
|
||||
}
|
||||
|
||||
a:not(.link) {
|
||||
border-bottom: pxToRem(1) solid $primary-50;
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
padding-top: $spacer * 7.5;
|
||||
|
||||
&__title {
|
||||
font-size: $h3-font-size;
|
||||
line-height: pxToRem(52);
|
||||
}
|
||||
|
||||
&__description {
|
||||
margin-bottom: $spacer * 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
@import 'hero';
|
||||
@import 'what-is';
|
||||
@import 'to-use';
|
||||
@import 'contact-form';
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
document.querySelectorAll('.features-table').forEach((table) => {
|
||||
const colTabs = table.querySelectorAll('.features-table__col-tab');
|
||||
if (colTabs.length) {
|
||||
const prevBtn = table.querySelector('.features-table__col-arrow--prev');
|
||||
const nextBtn = table.querySelector('.features-table__col-arrow--next');
|
||||
let activeIndex = 0;
|
||||
|
||||
const updateMobileColumns = (activeCol) => {
|
||||
table.querySelectorAll('.features-table__table-cell[data-col]').forEach((col) => {
|
||||
col.classList.remove('features-table__table-cell--mobile-active');
|
||||
});
|
||||
table.querySelectorAll(`.features-table__table-cell[data-col="${activeCol}"]`).forEach((col) => {
|
||||
col.classList.add('features-table__table-cell--mobile-active');
|
||||
});
|
||||
};
|
||||
|
||||
const setActiveCol = (index) => {
|
||||
const tab = colTabs[index];
|
||||
if (!tab) return;
|
||||
activeIndex = index;
|
||||
colTabs.forEach((t) => t.classList.remove('features-table__col-tab--active'));
|
||||
tab.classList.add('features-table__col-tab--active');
|
||||
updateMobileColumns(tab.dataset.col);
|
||||
};
|
||||
|
||||
setActiveCol(0);
|
||||
|
||||
colTabs.forEach((tab, index) => {
|
||||
tab.addEventListener('click', () => setActiveCol(index));
|
||||
});
|
||||
|
||||
prevBtn?.addEventListener('click', () => {
|
||||
setActiveCol((activeIndex - 1 + colTabs.length) % colTabs.length);
|
||||
});
|
||||
nextBtn?.addEventListener('click', () => {
|
||||
setActiveCol((activeIndex + 1) % colTabs.length);
|
||||
});
|
||||
}
|
||||
|
||||
table.querySelectorAll('.features-table__table-section').forEach((section) => {
|
||||
const header = section.querySelector('.features-table__table-section-header');
|
||||
const rows = section.querySelector('.features-table__table-section-rows');
|
||||
if (!header || !rows) return;
|
||||
|
||||
header.addEventListener('click', () => {
|
||||
const isCollapsed = section.classList.contains('features-table__table-section--collapsed');
|
||||
if (isCollapsed) {
|
||||
rows.style.overflow = 'hidden';
|
||||
rows.style.maxHeight = rows.scrollHeight + 'px';
|
||||
section.classList.remove('features-table__table-section--collapsed');
|
||||
} else {
|
||||
rows.style.overflow = 'hidden';
|
||||
rows.style.maxHeight = rows.scrollHeight + 'px';
|
||||
rows.offsetHeight;
|
||||
rows.style.maxHeight = '0px';
|
||||
section.classList.add('features-table__table-section--collapsed');
|
||||
}
|
||||
});
|
||||
|
||||
rows.addEventListener('transitionend', () => {
|
||||
if (!section.classList.contains('features-table__table-section--collapsed')) {
|
||||
rows.style.removeProperty('max-height');
|
||||
rows.style.removeProperty('overflow');
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,13 @@
|
||||
<section class="common-hero">
|
||||
<div class="common-hero__overlay"></div>
|
||||
<div class="container">
|
||||
<div class="common-hero__container">
|
||||
<p class="common-hero__label">{{ .Params.label }}</p>
|
||||
<h1 class="common-hero__title">{{ .Params.title }}</h1>
|
||||
<p class="common-hero__description">{{ .Params.description }}</p>
|
||||
<a href="{{ .Params.button.url }}" class="button button_contained button_lg">
|
||||
{{ .Params.button.text }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,178 @@
|
||||
{{ $cols := .cols }}
|
||||
{{ $sections := .sections | default (slice) }}
|
||||
{{ $ctas := .ctas }}
|
||||
{{ $modifier := .modifier | default "" }}
|
||||
{{ $featureCellWidth := .featureCellWidth | default "19.375rem" }}
|
||||
|
||||
{{ with .features }}
|
||||
{{ $sections = slice (dict "features" .) | append $sections }}
|
||||
{{ end }}
|
||||
|
||||
<div
|
||||
class="features-table{{ with $modifier }} features-table--{{ . }}{{ end }}"
|
||||
style="--col-count: {{ len $cols }}; --feature-cell-width: {{ $featureCellWidth }}"
|
||||
>
|
||||
{{/* Mobile column tabs */}}
|
||||
<div class="features-table__col-tabs">
|
||||
<div class="features-table__col-arrows">
|
||||
<button
|
||||
type="button"
|
||||
class="features-table__col-arrow features-table__col-arrow--prev"
|
||||
aria-label="Previous column"
|
||||
>
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.6663 7.9987H1.33301M5.99967 3.33203L1.33301 7.9987L5.99967 12.6654" stroke="#28324D" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
class="features-table__col-arrow features-table__col-arrow--next"
|
||||
aria-label="Next column"
|
||||
>
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M10 3.33203L14.6667 7.9987L10 12.6654" stroke="#28324D" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M1.33301 8H14.6663" stroke="#28324D" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{{ range $index, $col := $cols }}
|
||||
<button
|
||||
class="features-table__col-tab{{ if eq $index 0 }}
|
||||
features-table__col-tab--active
|
||||
{{ end }}"
|
||||
data-col="{{ $col.id }}"
|
||||
>
|
||||
{{ $col.name }}
|
||||
</button>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<div class="features-table__table">
|
||||
<div class="features-table__table-header">
|
||||
<div class="features-table__table-cell features-table__table-cell--feature"></div>
|
||||
{{ range $cols }}
|
||||
<div
|
||||
class="features-table__table-cell features-table__table-cell--col{{ if .highlight }}
|
||||
features-table__table-cell--highlight
|
||||
{{ end }}"
|
||||
data-col="{{ .id }}"
|
||||
>
|
||||
{{ with .icon }}
|
||||
<img class="features-table__table-cell--col-icon" src="{{ .src }}" alt="{{ .alt }}" />
|
||||
{{ end }}
|
||||
{{ .name }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<div class="features-table__table-body">
|
||||
{{ range $sections }}
|
||||
<div class="features-table__table-section{{ if .name }} features-table__table-section--collapsible{{ end }}">
|
||||
{{ if .name }}
|
||||
<div class="features-table__table-section-header">
|
||||
<span class="features-table__table-section-title">{{ .name }}</span>
|
||||
<svg
|
||||
class="features-table__chevron"
|
||||
width="20"
|
||||
height="20"
|
||||
viewBox="0 0 20 20"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M5 12.5L10 7.5L15 12.5"
|
||||
stroke="currentColor"
|
||||
stroke-width="1.5"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
{{ end }}
|
||||
<div class="features-table__table-section-rows">
|
||||
{{ range .features }}
|
||||
{{ $feature := . }}
|
||||
<div class="features-table__table-row">
|
||||
<div class="features-table__table-cell features-table__table-cell--feature">
|
||||
{{ .name | safeHTML }}
|
||||
</div>
|
||||
{{ range $cols }}
|
||||
{{ $val := index $feature .id }}
|
||||
<div
|
||||
class="features-table__table-cell{{ if .highlight }} features-table__table-cell--highlight{{ end }}"
|
||||
data-col="{{ .id }}"
|
||||
>
|
||||
{{ if eq $val true }}
|
||||
<svg
|
||||
class="features-table__check"
|
||||
width="20"
|
||||
height="20"
|
||||
viewBox="0 0 20 20"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M16.6667 5L7.50001 14.1667L3.33334 10"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
/>
|
||||
</svg>
|
||||
{{ else if eq $val false }}
|
||||
<svg
|
||||
class="features-table__x"
|
||||
width="20"
|
||||
height="20"
|
||||
viewBox="0 0 20 20"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M15 5L5 15M5 5L15 15"
|
||||
stroke="currentColor"
|
||||
stroke-width="1.5"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
/>
|
||||
</svg>
|
||||
{{ else }}
|
||||
<span class="features-table__text{{ if .bold }} features-table__text--bold{{ end }}">{{ $val | safeHTML }}</span>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
{{ with $ctas }}
|
||||
<div class="features-table__table-footer">
|
||||
<div class="features-table__table-cell features-table__table-cell--feature"></div>
|
||||
{{ range $index, $cta := . }}
|
||||
{{ $col := index $cols $index }}
|
||||
<div
|
||||
class="features-table__table-cell features-table__table-cell--cta{{ if $col.highlight }}
|
||||
features-table__table-cell--highlight
|
||||
{{ end }}"
|
||||
data-col="{{ $col.id }}"
|
||||
>
|
||||
<a
|
||||
href="{{ $cta.url }}"
|
||||
class="button {{ if $cta.contained }}
|
||||
button_contained
|
||||
{{ else }}
|
||||
button_outlined
|
||||
{{ end }}"
|
||||
>
|
||||
{{ $cta.text }}
|
||||
</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -49,6 +49,11 @@
|
||||
{{ $indexJs := resources.Get "/js/index.js" | js.Build | minify | resources.Fingerprint "sha512" }}
|
||||
<script src="{{ $indexJs.RelPermalink }}"></script>
|
||||
|
||||
{{ if eq .Section "security" }}
|
||||
{{ $pricingTableJs := resources.Get "/js/features-table.js" | js.Build | minify | resources.Fingerprint "sha512" }}
|
||||
<script src="{{ $pricingTableJs.RelPermalink }}"></script>
|
||||
{{ end }}
|
||||
|
||||
{{ if eq .Section "pricing" }}
|
||||
{{ $pricingTableJs := resources.Get "/js/pricing-table.js" | js.Build | minify | resources.Fingerprint "sha512" }}
|
||||
<script src="{{ $pricingTableJs.RelPermalink }}"></script>
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
<section class="pricing-banner">
|
||||
<section class="pricing-banner{{ with .Params.variant }} pricing-banner__{{ . }}{{ end }}">
|
||||
<div class="container">
|
||||
<div class="pricing-banner__content">
|
||||
<div class="pricing-banner__content-overlay-1"></div>
|
||||
<div class="pricing-banner__content-overlay-2"></div>
|
||||
<div class="pricing-banner__content-overlay-3"></div>
|
||||
<div class="pricing-banner__text">
|
||||
<h2 class="pricing-banner__title">{{ .Params.title | safeHTML }}</h2>
|
||||
{{ if .Params.description }}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
{{ with (.Site.GetPage "/security/access") }}
|
||||
{{ $tables := .Params.tables | default slice }}
|
||||
{{ $showTabs := gt (len $tables) 1 }}
|
||||
|
||||
<section class="security-access">
|
||||
<div class="container">
|
||||
<h2 class="security-access__title">{{ .Params.title }}</h2>
|
||||
|
||||
{{ range $index, $table := $tables }}
|
||||
{{ if and $table.cols (or $table.features $table.sections) }}
|
||||
<div
|
||||
class="security-access__table-wrapper{{ if and $showTabs (gt $index 0) }} security-access__table-wrapper--hidden{{ end }}"
|
||||
data-features-tab="{{ $table.id }}"
|
||||
>
|
||||
{{ partial "features-table" (dict
|
||||
"cols" $table.cols
|
||||
"features" $table.features
|
||||
"featureCellWidth" $table.featureCellWidth
|
||||
"modifier" "mobile-arrows"
|
||||
)
|
||||
}}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,27 @@
|
||||
{{ with (.Site.GetPage "/security/deployment-model") }}
|
||||
{{ $tables := .Params.tables | default slice }}
|
||||
{{ $showTabs := gt (len $tables) 1 }}
|
||||
|
||||
<section class="security-deployment-model">
|
||||
<div class="container">
|
||||
<h2 class="security-deployment-model__title">{{ .Params.title }}</h2>
|
||||
|
||||
{{ range $index, $table := $tables }}
|
||||
{{ if and $table.cols (or $table.features $table.sections) }}
|
||||
<div
|
||||
class="security-deployment-model__table-wrapper{{ if and $showTabs (gt $index 0) }} security-deployment-model__table-wrapper--hidden{{ end }}"
|
||||
data-features-tab="{{ $table.id }}"
|
||||
>
|
||||
{{ partial "features-table" (dict
|
||||
"cols" $table.cols
|
||||
"features" $table.features
|
||||
"featureCellWidth" $table.featureCellWidth
|
||||
"modifier" "dark"
|
||||
)
|
||||
}}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,35 @@
|
||||
{{ with (.Site.GetPage "/security/enterprise-ready") }}
|
||||
<section class="security-enterprise-ready">
|
||||
<div class="container">
|
||||
<div class="row gy-3 gy-lg-2 gx-4">
|
||||
{{ range $index, $card := .Params.cards }}
|
||||
<div class="col-12 {{ if lt $index 2 }}col-lg-6{{ else }}col-lg-4{{ end }}">
|
||||
<a
|
||||
class="card security-enterprise-ready__card"
|
||||
href="{{ .link.url }}"
|
||||
{{ if strings.HasPrefix .link.url "http" }}target="_blank"{{ end }}
|
||||
>
|
||||
{{ with .icon }}
|
||||
<img class="security-enterprise-ready__card-icon" src="{{ .src }}" alt="{{ .alt }}" />
|
||||
{{ else }}
|
||||
{{ with .image }}
|
||||
<img class="security-enterprise-ready__card-image" src="{{ .src }}" alt="{{ .alt }}" />
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ with .label }}
|
||||
<span class="security-enterprise-ready__card-label">{{ . }}</span>
|
||||
{{ end }}
|
||||
|
||||
<h5 class="security-enterprise-ready__card-title">{{ .title }}</h5>
|
||||
<p class="security-enterprise-ready__card-description">{{ .description | safeHTML }}</p>
|
||||
<span class="link link_dark link_lg security-enterprise-ready__card-link">
|
||||
{{ .link.text }}
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,8 @@
|
||||
{{ with (.Site.GetPage "/security/faq") }}
|
||||
<section class="security-faq" id="faqs">
|
||||
<div class="container">
|
||||
<h2 class="security-faq__title">{{ .Params.title }}</h2>
|
||||
{{ partial "accordion" . }}
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,25 @@
|
||||
{{ with (.Site.GetPage "/security/isolation-and-encryption") }}
|
||||
<section class="security-isolation-and-encryption">
|
||||
<div class="container">
|
||||
<h3 class="security-isolation-and-encryption__title">{{ .Params.title }}</h3>
|
||||
<p class="security-isolation-and-encryption__description">{{ .Params.description }}</p>
|
||||
<div class="row gy-2 gy-lg-3 gx-4">
|
||||
{{ range $index, $card := .Params.cards }}
|
||||
<div class="col-12 {{ if or (eq $index 0) (eq $index 3) }}col-lg-5{{ else }}col-lg-7{{ end }}">
|
||||
<div class="card security-isolation-and-encryption__card">
|
||||
<img class="security-isolation-and-encryption__card-icon" src="{{ .icon.src }}" alt="{{ .icon.alt }}" />
|
||||
<h5 class="security-isolation-and-encryption__card-title">{{ .title }}</h5>
|
||||
<p class="security-isolation-and-encryption__card-description">{{ .description | safeHTML }}</p>
|
||||
<a
|
||||
class="link link_dark link_md security-isolation-and-encryption__card-link"
|
||||
href="{{ .link.url }}"
|
||||
>
|
||||
{{ .link.text }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
@@ -1,16 +0,0 @@
|
||||
{{ with (.Site.GetPage "/serverless/hero") }}
|
||||
<section class="serverless-hero">
|
||||
<div class="serverless-hero__overlay"></div>
|
||||
<div class="container">
|
||||
<div class="serverless-hero__container">
|
||||
<p class="serverless-hero__label">{{ .Params.label }}</p>
|
||||
<h1 class="serverless-hero__title">{{ .Params.title }}</h1>
|
||||
<p class="serverless-hero__description">{{ .Params.description }}</p>
|
||||
<a href="{{ .Params.button.url }}" class="button button_contained button_lg">
|
||||
{{ .Params.button.text }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
{{ define "main" }}
|
||||
{{ partial "site-header" . }}
|
||||
|
||||
{{ with (.Site.GetPage "/security/hero") }}
|
||||
{{ partial "common-hero" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ partial "security/deployment-model" . }}
|
||||
{{ partial "security/isolation-and-encryption" . }}
|
||||
|
||||
{{ with (.Site.GetPage "/security/read-more-banner") }}
|
||||
{{ partial "pricing-banner" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ partial "security/enterprise-ready" . }}
|
||||
{{ partial "security/access" . }}
|
||||
|
||||
{{ with (.Site.GetPage "/security/compare-banner") }}
|
||||
{{ partial "pricing-banner" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ partial "security/faq" . }}
|
||||
|
||||
{{ with (.Site.GetPage "/security/cta-banner") }}
|
||||
{{ partial "cta-banner" . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
@@ -0,0 +1,12 @@
|
||||
{{ define "main" }}
|
||||
{{ partial "site-header" . }}
|
||||
|
||||
|
||||
<div class="container my-5">
|
||||
<div class="qdrant-post">
|
||||
<article class="qdrant-post__content">
|
||||
{{ partial "article-content" . }}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
@@ -1,6 +1,10 @@
|
||||
{{ define "main" }}
|
||||
{{ partial "site-header" . }}
|
||||
{{ partial "serverless/hero" . }}
|
||||
|
||||
{{ with (.Site.GetPage "/serverless/hero") }}
|
||||
{{ partial "common-hero" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ partial "serverless/what-is" . }}
|
||||
{{ partial "serverless/to-use" . }}
|
||||
{{ partial "serverless/not-to-use" . }}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_20326_117845)">
|
||||
<path d="M16.6663 13.2487C18.083 12.9154 19.1663 11.582 19.1663 9.9987C19.1663 8.16536 17.6663 6.66536 15.833 6.66536C15.583 3.41536 12.9163 0.832031 9.58301 0.832031C6.24967 0.832031 3.49967 3.4987 3.33301 6.7487C1.91634 7.08203 0.833008 8.41536 0.833008 9.9987C0.833008 11.582 1.91634 12.832 3.33301 13.2487" stroke="#2F6FF0" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M6.66602 11.6641H13.3327" stroke="#2F6FF0" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M13.3327 16.6641H6.66602" stroke="#2F6FF0" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M11.666 10L13.3327 11.6667L11.666 13.3333" stroke="#2F6FF0" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M8.33268 18.3333L6.66602 16.6667L8.33268 15" stroke="#2F6FF0" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_20326_117845">
|
||||
<rect width="20" height="20" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15.686 15C15.1299 17.6299 13.8538 20.0534 12 22C9.43223 19.3038 8 15.7233 8 12C8 8.27674 9.43223 4.69615 12 2C10.1519 2.00048 8.34002 2.51311 6.76559 3.48098C5.19116 4.44885 3.91575 5.8341 3.08094 7.48294C2.24613 9.13178 1.88457 10.9797 2.03642 12.8216C2.18826 14.6635 2.84756 16.4273 3.94112 17.9171C5.03469 19.407 6.51973 20.5647 8.23141 21.2616C9.94308 21.9586 11.8144 22.1676 13.6377 21.8654C15.4609 21.5632 17.1648 20.7617 18.5601 19.5498C19.9554 18.3379 20.9876 16.763 21.542 15M2 12H10.5M20 6V4C20 3.46957 19.7893 2.96086 19.4142 2.58579C19.0391 2.21071 18.5304 2 18 2C17.4696 2 16.9609 2.21071 16.5858 2.58579C16.2107 2.96086 16 3.46957 16 4V6M15 6H21C21.5523 6 22 6.44772 22 7V10C22 10.5523 21.5523 11 21 11H15C14.4477 11 14 10.5523 14 10V7C14 6.44772 14.4477 6 15 6Z" stroke="#2F6FF0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 974 B |
@@ -0,0 +1,5 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16.5 7.99918C16.7761 7.99918 17 7.77533 17 7.49918C17 7.22304 16.7761 6.99918 16.5 6.99918C16.2239 6.99918 16 7.22304 16 7.49918C16 7.77533 16.2239 7.99918 16.5 7.99918Z" fill="#111824"/>
|
||||
<path d="M2.586 17.4132C2.2109 17.7882 2.00011 18.2968 2 18.8272V20.9992C2 21.2644 2.10536 21.5188 2.29289 21.7063C2.48043 21.8938 2.73478 21.9992 3 21.9992H6C6.26522 21.9992 6.51957 21.8938 6.70711 21.7063C6.89464 21.5188 7 21.2644 7 20.9992V19.9992C7 19.734 7.10536 19.4796 7.29289 19.2921C7.48043 19.1045 7.73478 18.9992 8 18.9992H9C9.26522 18.9992 9.51957 18.8938 9.70711 18.7063C9.89464 18.5188 10 18.2644 10 17.9992V16.9992C10 16.734 10.1054 16.4796 10.2929 16.2921C10.4804 16.1045 10.7348 15.9992 11 15.9992H11.172C11.7024 15.9991 12.211 15.7883 12.586 15.4132L13.4 14.5992C14.7898 15.0833 16.3028 15.0815 17.6915 14.5939C19.0801 14.1064 20.2622 13.162 21.0444 11.9153C21.8265 10.6686 22.1624 9.19336 21.9971 7.73092C21.8318 6.26849 21.1751 4.90544 20.1344 3.86475C19.0937 2.82407 17.7307 2.16737 16.2683 2.00207C14.8058 1.83678 13.3306 2.17268 12.0839 2.95482C10.8372 3.73697 9.89279 4.91906 9.40525 6.3077C8.91771 7.69635 8.91585 9.20935 9.4 10.5992L2.586 17.4132Z" stroke="#2F6FF0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M16.5 7.99918C16.7761 7.99918 17 7.77533 17 7.49918C17 7.22304 16.7761 6.99918 16.5 6.99918C16.2239 6.99918 16 7.22304 16 7.49918C16 7.77533 16.2239 7.99918 16.5 7.99918Z" stroke="#2F6FF0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7 10V7C7 5.67392 7.52678 4.40215 8.46447 3.46447C9.40215 2.52678 10.6739 2 12 2C13.3261 2 14.5979 2.52678 15.5355 3.46447C16.4732 4.40215 17 5.67392 17 7V10M13 16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16C11 15.4477 11.4477 15 12 15C12.5523 15 13 15.4477 13 16ZM5 10H19C20.1046 10 21 10.8954 21 12V20C21 21.1046 20.1046 22 19 22H5C3.89543 22 3 21.1046 3 20V12C3 10.8954 3.89543 10 5 10Z" stroke="#2F6FF0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 598 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5 16V13C5 12.7348 5.10536 12.4804 5.29289 12.2929C5.48043 12.1054 5.73478 12 6 12H18C18.2652 12 18.5196 12.1054 18.7071 12.2929C18.8946 12.4804 19 12.7348 19 13V16M12 12V8M17 16H21C21.5523 16 22 16.4477 22 17V21C22 21.5523 21.5523 22 21 22H17C16.4477 22 16 21.5523 16 21V17C16 16.4477 16.4477 16 17 16ZM3 16H7C7.55228 16 8 16.4477 8 17V21C8 21.5523 7.55228 22 7 22H3C2.44772 22 2 21.5523 2 21V17C2 16.4477 2.44772 16 3 16ZM10 2H14C14.5523 2 15 2.44772 15 3V7C15 7.55228 14.5523 8 14 8H10C9.44772 8 9 7.55228 9 7V3C9 2.44772 9.44772 2 10 2Z" stroke="#2F6FF0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 739 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5.00033 5.0013H5.00866M5.00033 15.0013H5.00866M3.33366 1.66797H16.667C17.5875 1.66797 18.3337 2.41416 18.3337 3.33464V6.66797C18.3337 7.58844 17.5875 8.33464 16.667 8.33464H3.33366C2.41318 8.33464 1.66699 7.58844 1.66699 6.66797V3.33464C1.66699 2.41416 2.41318 1.66797 3.33366 1.66797ZM3.33366 11.668H16.667C17.5875 11.668 18.3337 12.4142 18.3337 13.3346V16.668C18.3337 17.5884 17.5875 18.3346 16.667 18.3346H3.33366C2.41318 18.3346 1.66699 17.5884 1.66699 16.668V13.3346C1.66699 12.4142 2.41318 11.668 3.33366 11.668Z" stroke="#038585" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 722 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M17 12H15L13 17L11 7L9 12H7M5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z" stroke="#2F6FF0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 343 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M10 15H6C4.93913 15 3.92172 15.4214 3.17157 16.1716C2.42143 16.9217 2 17.9391 2 19V21M21.7 16.4L20.8 16.1M15.2 13.9L14.3 13.6M16.6 18.7L16.9 17.8M19.1 12.2L19.4 11.3M19.6 18.7L19.2 17.7M16.8 12.3L16.4 11.3M14.3 16.6L15.3 16.2M20.7 13.8L21.7 13.4M21 15C21 16.6569 19.6569 18 18 18C16.3431 18 15 16.6569 15 15C15 13.3431 16.3431 12 18 12C19.6569 12 21 13.3431 21 15ZM13 7C13 9.20914 11.2091 11 9 11C6.79086 11 5 9.20914 5 7C5 4.79086 6.79086 3 9 3C11.2091 3 13 4.79086 13 7Z" stroke="#2F6FF0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 671 B |
@@ -0,0 +1,19 @@
|
||||
<svg width="18" height="20" viewBox="0 0 18 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_20326_117840)">
|
||||
<path d="M8.75034 0L0.0898438 5V15L8.75034 20L11.9978 18.125V14.375L8.75034 16.25L3.33784 13.125V6.875L8.75034 3.75L14.1628 6.875V19.375L17.4108 17.5V5L8.75034 0Z" fill="#DC244C"/>
|
||||
<path d="M5.50285 8.125V11.875L8.75035 13.75L11.9978 11.875V8.125L8.75035 6.25L5.50285 8.125Z" fill="#DC244C"/>
|
||||
<path d="M11.9978 14.375V18.125L8.75034 20V16.25L11.9978 14.375Z" fill="#BD0C3E"/>
|
||||
<path d="M17.4108 5V17.5L14.1628 19.375V6.875L17.4108 5Z" fill="#BD0C3E"/>
|
||||
<path d="M17.4108 5L14.1628 6.875L8.75034 3.75L3.33784 6.875L0.0898438 5L8.75034 0L17.4108 5Z" fill="#FF516B"/>
|
||||
<path d="M8.75034 16.25V20L0.0898438 15V5L3.33784 6.875V13.125L8.75034 16.25Z" fill="#DC244C"/>
|
||||
<path d="M11.9978 8.125L8.75035 10L5.50285 8.125L8.75035 6.25L11.9978 8.125Z" fill="#FF516B"/>
|
||||
<path d="M8.75035 10V13.75L5.50285 11.875V8.125L8.75035 10Z" fill="#DC244C"/>
|
||||
<path d="M11.9978 8.125V11.875L8.75035 13.75V10L11.9978 8.125Z" fill="#BD0C3E"/>
|
||||
<path d="M3.3125 6.88867V13.1396L3.3252 13.1465L8.72559 16.2637V19.957L0.115234 14.9854V5.04297L3.3125 6.88867ZM11.9727 18.1104L8.77539 19.957V16.2637L11.9727 14.418V18.1104ZM17.3857 17.4854L14.1875 19.332V6.88965L17.3857 5.04297V17.4854ZM8.72559 10.0137V13.707L5.52832 11.8604V8.16797L8.72559 10.0137ZM11.9727 11.8604L8.77539 13.707V10.0137L11.9727 8.16797V11.8604ZM11.9473 8.125L8.75 9.9707L5.55273 8.125L8.75 6.27832L11.9473 8.125ZM17.3604 4.99902L14.1631 6.8457L8.7627 3.72852L8.75 3.7207L8.73828 3.72852L3.33691 6.8457L0.139648 4.99902L8.75 0.0283203L17.3604 4.99902Z" stroke="#8547FF" stroke-width="0.05"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_20326_117840">
|
||||
<rect width="17.5" height="20" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1,49 @@
|
||||
<svg width="1110" height="179" viewBox="0 0 1110 179" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g filter="url(#filter0_n_20672_68935)">
|
||||
<g opacity="0.8" filter="url(#filter1_f_20672_68935)" style="mix-blend-mode:plus-lighter">
|
||||
<path d="M762.342 49.152L781.445 95.3977L762.342 49.152ZM365.404 357.37L347.086 399.669L365.404 357.37ZM140.802 439.535L179.85 471.497L140.802 439.535ZM-230.989 414.354L-267.359 441.209L-230.989 414.354ZM140.802 439.535L101.753 407.573L137.789 359.387L176.837 391.349L215.886 423.311L179.85 471.497L140.802 439.535ZM900.586 -65.4693L858.421 -92.5933L1187.78 -691.441L1229.94 -664.317L1272.11 -637.193L942.751 -38.3452L900.586 -65.4693ZM571.846 291.19L527.359 269.024L568.26 164.78L612.747 186.946L657.234 209.112L616.333 313.356L571.846 291.19ZM755.712 51.3307L736.609 5.08507L743.24 2.90631L762.342 49.152L781.445 95.3977L774.814 97.5764L755.712 51.3307ZM-230.989 414.354L-267.359 441.209L-372.776 302.817L-336.406 275.963L-300.036 249.109L-194.619 387.5L-230.989 414.354ZM900.586 -65.4693L942.751 -38.3452C907.668 25.4429 850.771 72.618 781.445 95.3977L762.342 49.152L743.24 2.90631C792.743 -13.3596 833.37 -47.0452 858.421 -92.5933L900.586 -65.4693ZM176.837 391.349L137.789 359.387C192.67 286.001 295.088 267.546 383.722 315.07L365.404 357.37L347.086 399.669C299.801 374.316 245.164 384.161 215.886 423.311L176.837 391.349ZM365.404 357.37L383.722 315.07C440.468 345.496 505.54 324.636 527.359 269.024L571.846 291.19L616.333 313.356C575.433 417.6 453.455 456.703 347.086 399.669L365.404 357.37ZM612.747 186.946L568.26 164.78C598.332 88.1357 659 30.5864 736.609 5.08507L755.712 51.3307L774.814 97.5764C720.61 115.387 678.237 155.581 657.234 209.112L612.747 186.946ZM140.802 439.535L179.85 471.497C73.8332 613.259 -147.733 598.253 -267.359 441.209L-230.989 414.354L-194.619 387.5C-115.341 491.576 31.4939 501.521 101.753 407.573L140.802 439.535Z" fill="url(#paint0_linear_20672_68935)"/>
|
||||
</g>
|
||||
<g opacity="0.8" filter="url(#filter2_f_20672_68935)" style="mix-blend-mode:plus-lighter">
|
||||
<path d="M762.342 49.152L765.526 56.8596V56.8596L762.342 49.152ZM176.837 391.349L183.346 396.676L176.837 391.349ZM571.846 291.19L579.261 294.885L571.846 291.19ZM140.802 439.535L147.31 444.862L140.802 439.535ZM-230.989 414.354L-237.05 418.83L-230.989 414.354ZM140.802 439.535L134.293 434.208L170.329 386.022L176.837 391.349L183.346 396.676L147.31 444.862L140.802 439.535ZM900.586 -65.4693L893.558 -69.9899L1222.91 -668.838L1229.94 -664.317L1236.97 -659.797L907.613 -60.9486L900.586 -65.4693ZM571.846 291.19L564.432 287.496L605.333 183.251L612.747 186.946L620.162 190.64L579.261 294.885L571.846 291.19ZM755.712 51.3307L752.528 43.6231L759.159 41.4444L762.342 49.152L765.526 56.8596L758.895 59.0384L755.712 51.3307ZM-230.989 414.354L-237.05 418.83L-342.467 280.439L-336.406 275.963L-330.344 271.487L-224.927 409.879L-230.989 414.354ZM900.586 -65.4693L907.613 -60.9486C876.711 -4.76051 826.592 36.794 765.526 56.8596L762.342 49.152L759.159 41.4444C816.921 22.4644 864.328 -16.8418 893.558 -69.9899L900.586 -65.4693ZM176.837 391.349L170.329 386.022C214.543 326.901 297.052 312.033 368.457 350.32L365.404 357.37L362.351 364.419C297.837 329.828 223.292 343.261 183.346 396.676L176.837 391.349ZM365.404 357.37L368.457 350.32C445.879 391.832 534.662 363.371 564.432 287.496L571.846 291.19L579.261 294.885C546.311 378.865 448.044 410.367 362.351 364.419L365.404 357.37ZM612.747 186.946L605.333 183.251C631.626 116.238 684.671 65.9201 752.528 43.6231L755.712 51.3307L758.895 59.0384C694.939 80.0536 644.944 127.479 620.162 190.64L612.747 186.946ZM140.802 439.535L147.31 444.862C56.1918 566.702 -134.236 553.804 -237.05 418.83L-230.989 414.354L-224.927 409.879C-128.838 536.025 49.1352 548.079 134.293 434.208L140.802 439.535Z" fill="url(#paint1_linear_20672_68935)"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_n_20672_68935" x="-372.776" y="-691.441" width="1644.88" height="1260.49" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feTurbulence type="fractalNoise" baseFrequency="2 2" stitchTiles="stitch" numOctaves="3" result="noise" seed="8495" />
|
||||
<feComponentTransfer in="noise" result="coloredNoise1">
|
||||
<feFuncR type="linear" slope="2" intercept="-0.5" />
|
||||
<feFuncG type="linear" slope="2" intercept="-0.5" />
|
||||
<feFuncB type="linear" slope="2" intercept="-0.5" />
|
||||
<feFuncA type="discrete" tableValues="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "/>
|
||||
</feComponentTransfer>
|
||||
<feComposite operator="in" in2="shape" in="coloredNoise1" result="noise1Clipped" />
|
||||
<feComponentTransfer in="noise1Clipped" result="color1">
|
||||
<feFuncA type="table" tableValues="0 0.16" />
|
||||
</feComponentTransfer>
|
||||
<feMerge result="effect1_noise_20672_68935">
|
||||
<feMergeNode in="shape" />
|
||||
<feMergeNode in="color1" />
|
||||
</feMerge>
|
||||
</filter>
|
||||
<filter id="filter1_f_20672_68935" x="-528.901" y="-847.567" width="1957.13" height="1572.74" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="78.0626" result="effect1_foregroundBlur_20672_68935"/>
|
||||
</filter>
|
||||
<filter id="filter2_f_20672_68935" x="-394.509" y="-720.882" width="1683.52" height="1301.63" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="26.0209" result="effect1_foregroundBlur_20672_68935"/>
|
||||
</filter>
|
||||
<linearGradient id="paint0_linear_20672_68935" x1="71.3296" y1="480.068" x2="1009.33" y2="388.974" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#9494FF"/>
|
||||
<stop offset="0.249951" stop-color="#5F36F5"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_20672_68935" x1="-34.7322" y1="529.309" x2="1068.42" y2="419.542" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#9494FF"/>
|
||||
<stop offset="0.392959" stop-color="#5F36F5"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.1 KiB |
@@ -0,0 +1,49 @@
|
||||
<svg width="335" height="312" viewBox="0 0 335 312" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g filter="url(#filter0_n_20672_70276)">
|
||||
<g opacity="0.8" filter="url(#filter1_f_20672_70276)" style="mix-blend-mode:plus-lighter">
|
||||
<path d="M-24.7077 377.564L-40.6428 421.499L-24.7077 377.564ZM364.398 124.93L348.323 78.2312L364.398 124.93ZM-249.932 449.08L-213.421 483.259L-249.932 449.08ZM-613.959 433.407L-647.595 464.566L-613.959 433.407ZM-249.932 449.08L-286.442 414.901L-254.375 379.315L-217.865 413.494L-181.354 447.673L-213.421 483.259L-249.932 449.08ZM519.063 19.0436L478.709 -10.1753L804.109 -501.2L844.462 -471.981L884.816 -442.762L559.416 48.2626L519.063 19.0436ZM193.8 303.496L150.406 279.672L178.358 220.548L221.752 244.372L265.145 268.196L237.193 327.321L193.8 303.496ZM364.398 124.93L348.323 78.2312L360.549 74.8971L376.624 121.596L392.699 168.295L380.473 171.629L364.398 124.93ZM-613.959 433.407L-647.595 464.566L-760.211 341.87L-726.574 310.711L-692.938 279.551L-580.322 402.248L-613.959 433.407ZM519.063 19.0436L559.416 48.2626C520.335 107.236 461.641 149.494 392.699 168.295L376.624 121.596L360.549 74.8971C409.411 61.5723 451.011 31.622 478.709 -10.1753L519.063 19.0436ZM-217.865 413.494L-254.375 379.315C-194.413 312.772 -96.5512 294.568 -8.77261 333.629L-24.7077 377.564L-40.6428 421.499C-90.9332 399.12 -147 409.549 -181.354 447.673L-217.865 413.494ZM-24.7077 377.564L-8.77261 333.629C53.7397 361.446 122.816 338.032 150.406 279.672L193.8 303.496L237.193 327.321C189.036 429.183 68.4684 470.052 -40.6428 421.499L-24.7077 377.564ZM221.752 244.372L178.358 220.548C211.662 150.104 272.95 98.7853 348.323 78.2312L364.398 124.93L380.473 171.629C329.33 185.575 287.743 220.397 265.145 268.196L221.752 244.372ZM-249.932 449.08L-213.421 483.259C-324.649 606.693 -525.065 598.064 -647.595 464.566L-613.959 433.407L-580.322 402.248C-497.385 492.609 -361.729 498.45 -286.442 414.901L-249.932 449.08Z" fill="url(#paint0_linear_20672_70276)"/>
|
||||
</g>
|
||||
<g opacity="0.8" filter="url(#filter2_f_20672_70276)" style="mix-blend-mode:plus-lighter">
|
||||
<path d="M-217.865 413.494L-211.78 419.191L-217.865 413.494ZM-24.7077 377.564L-27.3635 384.886L-24.7077 377.564ZM-613.959 433.407L-619.565 438.6L-613.959 433.407ZM-249.932 449.08L-256.017 443.383L-223.95 407.798L-217.865 413.494L-211.78 419.191L-243.847 454.776L-249.932 449.08ZM519.063 19.0436L512.337 14.1738L837.737 -476.851L844.462 -471.981L851.188 -467.111L525.788 23.9135L519.063 19.0436ZM193.8 303.496L186.568 299.526L214.52 240.401L221.752 244.372L228.984 248.343L201.032 307.467L193.8 303.496ZM364.398 124.93L361.719 117.147L373.945 113.813L376.624 121.596L379.303 129.379L367.077 132.713L364.398 124.93ZM-613.959 433.407L-619.565 438.6L-732.181 315.904L-726.574 310.711L-720.968 305.517L-608.353 428.214L-613.959 433.407ZM519.063 19.0436L525.788 23.9135C491.45 75.7301 439.879 112.86 379.303 129.379L376.624 121.596L373.945 113.813C431.174 98.2065 479.896 63.1278 512.337 14.1738L519.063 19.0436ZM-217.865 413.494L-223.95 407.798C-174.657 353.096 -94.2103 338.132 -22.0519 370.241L-24.7077 377.564L-27.3635 384.886C-93.274 355.557 -166.755 369.226 -211.78 419.191L-217.865 413.494ZM-24.7077 377.564L-22.0519 370.241C59.8766 406.699 150.408 376.011 186.568 299.526L193.8 303.496L201.032 307.467C161.445 391.203 62.3315 424.8 -27.3635 384.886L-24.7077 377.564ZM221.752 244.372L214.52 240.401C243.362 179.393 296.442 134.948 361.719 117.147L364.398 124.93L367.077 132.713C305.838 149.413 256.042 191.109 228.984 248.343L221.752 244.372ZM-249.932 449.08L-243.847 454.776C-340.099 561.592 -513.532 554.124 -619.565 438.6L-613.959 433.407L-608.353 428.214C-508.919 536.549 -346.279 543.551 -256.017 443.383L-249.932 449.08Z" fill="url(#paint1_linear_20672_70276)"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_n_20672_70276" x="-760.211" y="-501.199" width="1645.03" height="1071.73" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feTurbulence type="fractalNoise" baseFrequency="2 2" stitchTiles="stitch" numOctaves="3" result="noise" seed="8495" />
|
||||
<feComponentTransfer in="noise" result="coloredNoise1">
|
||||
<feFuncR type="linear" slope="2" intercept="-0.5" />
|
||||
<feFuncG type="linear" slope="2" intercept="-0.5" />
|
||||
<feFuncB type="linear" slope="2" intercept="-0.5" />
|
||||
<feFuncA type="discrete" tableValues="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "/>
|
||||
</feComponentTransfer>
|
||||
<feComposite operator="in" in2="shape" in="coloredNoise1" result="noise1Clipped" />
|
||||
<feComponentTransfer in="noise1Clipped" result="color1">
|
||||
<feFuncA type="table" tableValues="0 0.16" />
|
||||
</feComponentTransfer>
|
||||
<feMerge result="effect1_noise_20672_70276">
|
||||
<feMergeNode in="shape" />
|
||||
<feMergeNode in="color1" />
|
||||
</feMerge>
|
||||
</filter>
|
||||
<filter id="filter1_f_20672_70276" x="-916.336" y="-657.324" width="1957.28" height="1383.98" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="78.0626" result="effect1_foregroundBlur_20672_70276"/>
|
||||
</filter>
|
||||
<filter id="filter2_f_20672_70276" x="-784.222" y="-528.893" width="1687.45" height="1111.24" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="26.0209" result="effect1_foregroundBlur_20672_70276"/>
|
||||
</filter>
|
||||
<linearGradient id="paint0_linear_20672_70276" x1="-317.618" y1="480.608" x2="619.23" y2="370.979" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#9494FF"/>
|
||||
<stop offset="0.249951" stop-color="#5F36F5"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_20672_70276" x1="-423.998" y1="521.596" x2="677.58" y2="389.523" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#9494FF"/>
|
||||
<stop offset="0.392959" stop-color="#5F36F5"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.1 KiB |
@@ -0,0 +1,139 @@
|
||||
<svg width="1110" height="179" viewBox="0 0 1110 179" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g opacity="0.8">
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.7">
|
||||
<rect width="10.132" height="10.132" transform="translate(33.727 108.32)" fill="#090E1A"/>
|
||||
<circle cx="38.727" cy="113.32" r="5.06598" fill="url(#paint0_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.7">
|
||||
<rect width="10.132" height="10.132" transform="translate(881.77 163.137)" fill="#090E1A"/>
|
||||
<circle cx="886.77" cy="168.136" r="5.06598" fill="url(#paint1_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.7">
|
||||
<rect width="10.132" height="10.132" transform="translate(794.557 58.793)" fill="#090E1A"/>
|
||||
<circle cx="799.557" cy="63.7925" r="5.06598" fill="url(#paint2_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.7">
|
||||
<rect width="10.132" height="10.132" transform="translate(857.688 5.73828)" fill="#090E1A"/>
|
||||
<circle cx="862.688" cy="10.7379" r="5.06598" fill="url(#paint3_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.7">
|
||||
<rect width="10.132" height="10.132" transform="translate(491.916 129.547)" fill="#090E1A"/>
|
||||
<circle cx="496.916" cy="134.546" r="5.06598" fill="url(#paint4_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.7">
|
||||
<rect width="10.132" height="10.132" transform="translate(425.532 80.0156)" fill="#090E1A"/>
|
||||
<circle cx="430.532" cy="85.0152" r="5.06598" fill="url(#paint5_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.7">
|
||||
<rect width="10.132" height="10.132" transform="translate(346.78 163.137)" fill="#090E1A"/>
|
||||
<circle cx="351.78" cy="168.136" r="5.06598" fill="url(#paint6_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.7">
|
||||
<rect width="10.132" height="10.132" transform="translate(70.8246 108.32)" fill="#090E1A"/>
|
||||
<circle cx="75.8247" cy="113.32" r="5.06598" fill="url(#paint7_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.5">
|
||||
<rect width="13.5093" height="13.5093" transform="translate(48.6125 38.9648)" fill="#090E1A"/>
|
||||
<circle cx="55.6126" cy="45.9633" r="3.37732" fill="url(#paint8_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.5">
|
||||
<rect width="13.5093" height="13.5093" transform="translate(840.681 127.395)" fill="#090E1A"/>
|
||||
<circle cx="847.681" cy="134.393" r="3.37732" fill="url(#paint9_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.5">
|
||||
<rect width="13.5093" height="13.5093" transform="translate(885.589 17.7422)" fill="#090E1A"/>
|
||||
<circle cx="892.589" cy="24.7406" r="3.37732" fill="url(#paint10_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.5">
|
||||
<rect width="13.5093" height="13.5093" transform="translate(400.714 157.449)" fill="#090E1A"/>
|
||||
<circle cx="407.714" cy="164.448" r="3.37732" fill="url(#paint11_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.5">
|
||||
<rect width="13.5093" height="13.5093" transform="translate(325.218 102.633)" fill="#090E1A"/>
|
||||
<circle cx="332.218" cy="109.631" r="3.37732" fill="url(#paint12_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.5">
|
||||
<rect width="13.5093" height="13.5093" transform="translate(243.863 130.93)" fill="#090E1A"/>
|
||||
<circle cx="250.863" cy="137.928" r="3.37732" fill="url(#paint13_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge" opacity="0.5">
|
||||
<rect width="13.5093" height="13.5093" transform="translate(180.081 84.9414)" fill="#090E1A"/>
|
||||
<circle cx="187.081" cy="91.9398" r="3.37732" fill="url(#paint14_radial_20672_68790)"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:color-dodge">
|
||||
<rect width="33.7732" height="33.7732" transform="translate(1007.6 8.38281) rotate(-45)" fill="black"/>
|
||||
<ellipse cx="1031.64" cy="8.38329" rx="1.68866" ry="16.8866" transform="rotate(-45 1031.64 8.38329)" fill="url(#paint15_radial_20672_68790)"/>
|
||||
<ellipse cx="1031.64" cy="8.38092" rx="1.68866" ry="16.8866" transform="rotate(-135 1031.64 8.38092)" fill="url(#paint16_radial_20672_68790)"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<radialGradient id="paint0_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(38.727 113.32) rotate(90) scale(5.06598)">
|
||||
<stop offset="0.04" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#C90000" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint1_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(886.77 168.136) rotate(90) scale(5.06598)">
|
||||
<stop offset="0.04" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#C90000" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint2_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(799.557 63.7925) rotate(90) scale(5.06598)">
|
||||
<stop offset="0.04" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#C90000" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint3_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(862.688 10.7379) rotate(90) scale(5.06598)">
|
||||
<stop offset="0.04" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#C90000" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint4_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(496.916 134.546) rotate(90) scale(5.06598)">
|
||||
<stop offset="0.04" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#C90000" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint5_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(430.532 85.0152) rotate(90) scale(5.06598)">
|
||||
<stop offset="0.04" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#C90000" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint6_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(351.78 168.136) rotate(90) scale(5.06598)">
|
||||
<stop offset="0.04" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#C90000" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint7_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(75.8247 113.32) rotate(90) scale(5.06598)">
|
||||
<stop offset="0.04" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#C90000" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint8_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(55.6126 45.9633) rotate(90) scale(3.37732)">
|
||||
<stop offset="0.01" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#000F66" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint9_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(847.681 134.393) rotate(90) scale(3.37732)">
|
||||
<stop offset="0.01" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#000F66" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint10_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(892.589 24.7406) rotate(90) scale(3.37732)">
|
||||
<stop offset="0.01" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#000F66" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint11_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(407.714 164.448) rotate(90) scale(3.37732)">
|
||||
<stop offset="0.01" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#000F66" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint12_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(332.218 109.631) rotate(90) scale(3.37732)">
|
||||
<stop offset="0.01" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#000F66" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint13_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(250.863 137.928) rotate(90) scale(3.37732)">
|
||||
<stop offset="0.01" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#000F66" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint14_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(187.081 91.9398) rotate(90) scale(3.37732)">
|
||||
<stop offset="0.01" stop-color="#FFFFF7"/>
|
||||
<stop offset="1" stop-color="#000F66" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint15_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(1031.64 8.38329) rotate(90) scale(16.8866 1.68866)">
|
||||
<stop offset="0.08" stop-color="white"/>
|
||||
<stop offset="1" stop-color="white" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint16_radial_20672_68790" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(1031.64 8.38092) rotate(90) scale(16.8866 1.68866)">
|
||||
<stop offset="0.08" stop-color="white"/>
|
||||
<stop offset="1" stop-color="white" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.9 KiB |
@@ -0,0 +1,152 @@
|
||||
<svg width="540" height="160" viewBox="0 0 540 160" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_20326_119462)">
|
||||
<circle cx="270" cy="-7" r="15.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="23.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="31.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="39.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="47.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="55.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="63.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="71.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="79.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="87.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="95.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="103.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="111.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="119.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="127.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="135.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="143.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="151.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="159.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="167.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="175.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="183.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="191.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="199.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="207.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="215.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="223.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="231.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="239.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="247.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="255.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="263.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="271.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="279.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="287.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="295.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="303.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="311.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
<circle cx="270" cy="-7" r="319.9" stroke="#D4D9E6" stroke-width="0.2"/>
|
||||
</g>
|
||||
<g filter="url(#filter0_dddd_20326_119462)">
|
||||
<path d="M152 60C152 55.5817 155.582 52 160 52H382C386.418 52 390 55.5817 390 60V124C390 128.418 386.418 132 382 132H160C155.582 132 152 128.418 152 124V60Z" fill="#F0F3FA"/>
|
||||
</g>
|
||||
<g filter="url(#filter1_dddd_20326_119462)">
|
||||
<path d="M144 58C144 53.5817 147.582 50 152 50H390C394.418 50 398 53.5817 398 58V116C398 120.418 394.418 124 390 124H152C147.582 124 144 120.418 144 116V58Z" fill="#F0F3FA"/>
|
||||
<path d="M152 50.5H390C394.142 50.5 397.5 53.8579 397.5 58V116C397.5 120.142 394.142 123.5 390 123.5H152C147.858 123.5 144.5 120.142 144.5 116V58C144.5 53.8579 147.858 50.5 152 50.5Z" stroke="#E1E5F0"/>
|
||||
<rect x="161" y="67" width="8" height="8" rx="1" fill="#D4D9E6"/>
|
||||
<rect x="177" y="67" width="48" height="8" rx="4" fill="#D4D9E6"/>
|
||||
<rect x="233" y="67" width="148" height="8" rx="4" fill="#D4D9E6"/>
|
||||
<rect x="161" y="83" width="8" height="8" rx="1" fill="#D4D9E6"/>
|
||||
<rect x="177" y="83" width="48" height="8" rx="4" fill="#D4D9E6"/>
|
||||
<rect x="233" y="83" width="148" height="8" rx="4" fill="#D4D9E6"/>
|
||||
<rect x="161" y="99" width="8" height="8" rx="1" fill="#D4D9E6"/>
|
||||
<rect x="177" y="99" width="48" height="8" rx="4" fill="#D4D9E6"/>
|
||||
<rect x="233" y="99" width="148" height="8" rx="4" fill="#D4D9E6"/>
|
||||
</g>
|
||||
<g filter="url(#filter2_dddd_20326_119462)">
|
||||
<path d="M200.5 39C200.5 30.1634 207.663 23 216.5 23H324.5C333.337 23 340.5 30.1634 340.5 39V41C340.5 49.8366 333.337 57 324.5 57H216.5C207.663 57 200.5 49.8366 200.5 41V39Z" fill="#F0F3FA"/>
|
||||
<path d="M216.5 23.5H324.5C333.06 23.5 340 30.4396 340 39V41C340 49.5604 333.06 56.5 324.5 56.5H216.5C207.94 56.5 201 49.5604 201 41V39C201 30.4396 207.94 23.5 216.5 23.5Z" stroke="#E1E5F0"/>
|
||||
<path d="M217.5 28.25C223.989 28.25 229.25 33.5107 229.25 40C229.25 46.4893 223.989 51.75 217.5 51.75C211.011 51.75 205.75 46.4893 205.75 40C205.75 33.5107 211.011 28.25 217.5 28.25Z" fill="#038585"/>
|
||||
<path d="M217.5 28.25C223.989 28.25 229.25 33.5107 229.25 40C229.25 46.4893 223.989 51.75 217.5 51.75C211.011 51.75 205.75 46.4893 205.75 40C205.75 33.5107 211.011 28.25 217.5 28.25Z" stroke="#1FC7C7" stroke-width="0.5"/>
|
||||
<path d="M218.083 40.875L219.25 39.4167L218.083 37.9583M222.75 45.25L220.242 42.7417M215.75 37.9583L214.583 39.4167L215.75 40.875M221.583 39.4167C221.583 41.994 219.494 44.0833 216.917 44.0833C214.339 44.0833 212.25 41.994 212.25 39.4167C212.25 36.8393 214.339 34.75 216.917 34.75C219.494 34.75 221.583 36.8393 221.583 39.4167Z" stroke="#F0F3FA" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M242.5 37.5V42.5M244.665 38.75L240.335 41.25M240.335 38.75L244.665 41.25" stroke="#717C99" stroke-width="0.833333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M252.5 37.5V42.5M254.665 38.75L250.335 41.25M250.335 38.75L254.665 41.25" stroke="#717C99" stroke-width="0.833333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M262.5 37.5V42.5M264.665 38.75L260.335 41.25M260.335 38.75L264.665 41.25" stroke="#717C99" stroke-width="0.833333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M272.5 37.5V42.5M274.665 38.75L270.335 41.25M270.335 38.75L274.665 41.25" stroke="#717C99" stroke-width="0.833333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M282.5 37.5V42.5M284.665 38.75L280.335 41.25M280.335 38.75L284.665 41.25" stroke="#717C99" stroke-width="0.833333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M292.5 37.5V42.5M294.665 38.75L290.335 41.25M290.335 38.75L294.665 41.25" stroke="#717C99" stroke-width="0.833333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M302.5 37.5V42.5M304.665 38.75L300.335 41.25M300.335 38.75L304.665 41.25" stroke="#717C99" stroke-width="0.833333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M312.5 37.5V42.5M314.665 38.75L310.335 41.25M310.335 38.75L314.665 41.25" stroke="#717C99" stroke-width="0.833333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M322.5 37.5V42.5M324.665 38.75L320.335 41.25M320.335 38.75L324.665 41.25" stroke="#717C99" stroke-width="0.833333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_dddd_20326_119462" x="148" y="52" width="246" height="93" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dy="1"/>
|
||||
<feGaussianBlur stdDeviation="0.5"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_20326_119462"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dy="2"/>
|
||||
<feGaussianBlur stdDeviation="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0"/>
|
||||
<feBlend mode="normal" in2="effect1_dropShadow_20326_119462" result="effect2_dropShadow_20326_119462"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dy="5"/>
|
||||
<feGaussianBlur stdDeviation="1.5"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/>
|
||||
<feBlend mode="normal" in2="effect2_dropShadow_20326_119462" result="effect3_dropShadow_20326_119462"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dy="9"/>
|
||||
<feGaussianBlur stdDeviation="2"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.01 0"/>
|
||||
<feBlend mode="normal" in2="effect3_dropShadow_20326_119462" result="effect4_dropShadow_20326_119462"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect4_dropShadow_20326_119462" result="shape"/>
|
||||
</filter>
|
||||
<filter id="filter1_dddd_20326_119462" x="142.4" y="48.4" width="277.2" height="97.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dx="0.8" dy="0.8"/>
|
||||
<feGaussianBlur stdDeviation="1.2"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_20326_119462"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dx="3.2" dy="3.2"/>
|
||||
<feGaussianBlur stdDeviation="2.4"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0"/>
|
||||
<feBlend mode="normal" in2="effect1_dropShadow_20326_119462" result="effect2_dropShadow_20326_119462"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dx="8" dy="8"/>
|
||||
<feGaussianBlur stdDeviation="3.2"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/>
|
||||
<feBlend mode="normal" in2="effect2_dropShadow_20326_119462" result="effect3_dropShadow_20326_119462"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dx="13.6" dy="13.6"/>
|
||||
<feGaussianBlur stdDeviation="4"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.01 0"/>
|
||||
<feBlend mode="normal" in2="effect3_dropShadow_20326_119462" result="effect4_dropShadow_20326_119462"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect4_dropShadow_20326_119462" result="shape"/>
|
||||
</filter>
|
||||
<filter id="filter2_dddd_20326_119462" x="198.9" y="21.4" width="163.2" height="57.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dx="0.8" dy="0.8"/>
|
||||
<feGaussianBlur stdDeviation="1.2"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_20326_119462"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dx="3.2" dy="3.2"/>
|
||||
<feGaussianBlur stdDeviation="2.4"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0"/>
|
||||
<feBlend mode="normal" in2="effect1_dropShadow_20326_119462" result="effect2_dropShadow_20326_119462"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dx="8" dy="8"/>
|
||||
<feGaussianBlur stdDeviation="3.2"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/>
|
||||
<feBlend mode="normal" in2="effect2_dropShadow_20326_119462" result="effect3_dropShadow_20326_119462"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dx="13.6" dy="13.6"/>
|
||||
<feGaussianBlur stdDeviation="4"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.01 0"/>
|
||||
<feBlend mode="normal" in2="effect3_dropShadow_20326_119462" result="effect4_dropShadow_20326_119462"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect4_dropShadow_20326_119462" result="shape"/>
|
||||
</filter>
|
||||
<clipPath id="clip0_20326_119462">
|
||||
<rect width="540" height="144" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 104 KiB |