[Assembly] homepage refresh (#1558)

* Updates <BrandedCta />

* Add <WhyBoundary /> section

* Add <HowBoundaryWorks /> section

* Updates <UseCases /> content

* Adjust <HomepageHero /> content

* Update <HowItWorks /> section

* Content updates

* Update icon directory

* Update how it works title

* Removes extra grid container

* Adds lang attribute to document

* Fix heading level usage

* Content updates

* Remove secure

* Captialize works

* Content update

* Update use case links

* Update background

* CTA text

* Convert ssh to svg

* Convert to SVG

* Coming soon to feature block
pull/1572/head
Alex Carpenter 5 years ago committed by GitHub
parent c8b29ded1c
commit ebb4d4e99f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,20 +1,16 @@
.brandedCta {
padding: 88px 0;
background-image: url('/img/cta-bg.svg');
background-color: var(--boundary-secondary);
background-image: url('./img/bg-pattern.svg');
background-position: bottom right;
background-position: bottom right -350px;
background-repeat: no-repeat;
@media (--small) {
background-position: bottom 0 right -130px;
@media (--medium-up) {
background-position: bottom right -250px;
}
@media (438px <= width < 600px) {
background-position: bottom 0 right -260px;
}
@media (width < 438px) {
background-position: bottom 0 right -170px;
@media (--large) {
background-position: bottom right -150px;
}
}

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 27 KiB

@ -34,6 +34,7 @@ export default function BrandedCta({ heading, content, links }) {
}}
title={link.text}
url={link.url}
icon={link.icon}
/>
)
})}

@ -3,11 +3,11 @@
background-repeat: no-repeat;
background-color: var(--boundary-secondary);
background-image: url(/img/hero-pattern.svg);
background-position: bottom right;
background-position: bottom -50px right -100px;
@media (max-width: 767px) {
padding: 88px 0;
background-position: bottom 0 right -130px;
background-position: bottom -130px right -130px;
}
& :global(.g-hero) {

@ -0,0 +1,28 @@
import s from './style.module.css'
export default function HowBoundaryWorks({ heading, description, items, img }) {
return (
<div className={s.root}>
<div className={s.inner}>
<div className="content">
<h2 className={s.heading}>{heading}</h2>
<p className={s.description}>{description}</p>
<ul className={s.items}>
{items.map((item, index) => {
// Index is stable
// eslint-disable-next-line react/no-array-index-key
return (
<li key={index} className={s.item}>
{item}
</li>
)
})}
</ul>
</div>
<div className={s.media}>
<img src={img.src} alt={img.alt} />
</div>
</div>
</div>
)
}

@ -0,0 +1,70 @@
.root {
composes: g-grid-container from global;
}
.inner {
--columns: 1;
display: grid;
grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
grid-gap: 48px 32px;
padding: 48px 32px;
background-color: var(--white);
box-shadow: 0 8px 12px rgba(37, 38, 45, 0.08);
border-radius: 1px;
@media (--medium-up) {
--columns: 2;
padding: 100px 75px;
}
}
.heading {
margin: 0;
composes: g-type-display-3 from global;
}
.description {
margin: 32px 0 0;
composes: g-type-body-small from global;
}
.items {
list-style: none;
margin: 15px 0 0;
padding: 0;
}
.item {
position: relative;
display: flex;
align-items: center;
padding-top: 24px;
padding-bottom: 24px;
color: var(--gray-2);
composes: g-type-display-5 from global;
&::before {
content: '';
flex-shrink: 0;
display: block;
margin-right: 20px;
width: 8px;
height: 8px;
border-radius: 9999px;
background-color: #c4c4c4;
}
& + .item {
border-top: 2px solid var(--gray-6);
}
}
.media {
align-self: center;
justify-self: center;
& img {
max-width: 100%;
}
}

@ -6,4 +6,9 @@
& > p {
margin-bottom: 32px;
}
& a {
color: inherit;
text-decoration: underline;
}
}

@ -18,7 +18,7 @@ export default function Feature({
return (
<div className={s.root} ref={ref}>
<h4 className="g-type-display-4">{title}</h4>
<h3 className="g-type-display-4">{title}</h3>
<p className="g-type-body">{description}</p>
{logos ? <LogoList logos={logos} /> : null}
</div>

@ -9,14 +9,10 @@ export default function LogoList({ logos }) {
// eslint-disable-next-line react/no-array-index-key
key={stableIdx}
>
<img src={logo.url} alt={logo.alt} />
<img src={logo.url} width={logo.width} alt={logo.alt} />
</div>
))}
</div>
<p className={`g-type-tag-label ${s.footerText}`}>
Integrations coming soon
</p>
</div>
)
}

@ -1,190 +1,32 @@
.root {
--transition-time: 0.7s;
display: grid;
@media (--medium-up) {
position: sticky;
top: calc(50vh - (249px));
}
& > svg {
width: 100%;
}
& .boundaryLetter,
& .spacer,
& .iconBg {
fill: var(--white);
}
& .iconLines,
& .iconBg {
stroke-linecap: round;
stroke-width: 1.5px;
stroke-linejoin: round;
}
& .boundaryFill,
& .arrowHead {
fill: var(--boundary, #ec585d);
}
& .arrowHead,
& .arrowSegment,
& .spacer {
transition: var(--transition-time) ease;
transition-property: opacity;
}
& .arrowSegment {
stroke-width: 2px;
stroke: var(--boundary, #ec585d);
stroke-miterlimit: 10;
stroke-linecap: round;
fill: none;
}
& .dropShadow {
opacity: 0.08;
mix-blend-mode: multiply;
}
& > * {
grid-area: 1 / 1;
opacity: 0;
transition: opacity ease-in 0.5s;
& .iconLines {
stroke: var(--white);
fill: none;
transition: var(--transition-time) ease;
transition-property: stroke;
}
& .subtitle {
fill: #b6b8c3;
}
& .iconBg {
stroke: #e5e6ec;
stroke-width: 1px;
transition: var(--transition-time) ease;
transition-property: fill, stroke;
&:last-child {
opacity: 1;
}
& .authenticate {
& .iconBg {
fill: var(--white);
}
& .iconLines {
stroke: #e5e6ec;
stroke-width: 1px;
}
}
& .authorize {
& .spacer {
opacity: 0;
}
& .iconBg {
fill: var(--black);
stroke: var(--black);
}
& .iconLines {
stroke: #e5e6ec;
}
}
& .access {
& .spacer {
@media (--medium-up) {
& > *:last-child {
opacity: 0;
}
& .iconBg {
fill: var(--black);
stroke: var(--black);
}
& .vaultIcon {
fill: var(--white);
}
}
& .hostsAndServices {
opacity: 1;
transform: translate(0, 0);
transition: var(--transition-time) ease;
transition-property: opacity, transform;
& .leadingLine {
fill: none;
stroke-linecap: round;
stroke-miterlimit: 10;
stroke-width: 1.5px;
stroke: var(--black);
}
}
& .arrowOne .arrowHead,
& .arrowTwo .arrowHead {
@media (--small) {
opacity: 0;
& > *.active {
opacity: 1;
}
}
& .inactive {
& .arrowHead,
& .arrowSegment,
& .spacer {
@media (--medium-up) {
opacity: 0;
}
}
&.authorize {
& .spacer {
@media (--medium-up) {
opacity: 1;
}
}
& .iconBg {
@media (--medium-up) {
fill: var(--white);
stroke: #e5e6ec;
}
}
& .iconLines {
@media (--medium-up) {
stroke: #b6b8c3;
}
}
}
&.access {
& .spacer {
@media (--medium-up) {
opacity: 1;
}
}
& .iconBg {
@media (--medium-up) {
fill: var(--white);
stroke: var(--white);
}
}
& .vaultIcon {
@media (--medium-up) {
fill: var(--black);
}
}
}
&.hostsAndServices {
@media (--medium-up) {
opacity: 0;
transform: translate(0, 10px);
}
}
& > svg {
width: 100%;
}
}

File diff suppressed because one or more lines are too long

@ -1,60 +1,89 @@
.root {
padding: 88px 0;
composes: g-grid-container from global;
padding-top: 88px;
padding-bottom: 88px;
& .headerWrapper {
& h2 {
text-align: center;
margin-top: 0;
margin-bottom: 32px;
@media (--small) {
margin-bottom: 0;
}
}
@media (--medium-up) {
padding-top: 160px;
padding-bottom: 160px;
}
}
& p {
max-width: 818px;
text-align: center;
margin-left: auto;
margin-right: auto;
color: var(--gray-2);
}
.intro {
--columns: 1;
padding-top: 88px;
padding-bottom: 88px;
border-top: 1px solid var(--gray-6);
display: grid;
column-gap: 32px;
grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
row-gap: 32px;
@media (--medium-up) {
--columns: 12;
padding-top: 140px;
padding-bottom: 140px;
}
}
.contentContainer {
display: flex;
justify-content: space-between;
position: relative;
.introTitle {
margin: 0;
grid-column: 1 / -1;
composes: g-type-display-2 from global;
@media (--small) {
flex-direction: column;
@media (--medium-up) {
grid-column: 1 / 6;
}
}
& > ul {
max-width: 470px;
margin-left: 128px;
padding: 0;
.introDescription {
grid-column: 1 / -1;
composes: g-type-body-large from global;
@media (width < 1120px) {
margin-left: 64px;
}
@media (--medium-up) {
grid-column: 7 / -1;
}
@media (width < 1024px) {
margin-left: 40px;
}
& :first-child {
margin-top: 0;
}
@media (--small) {
margin-left: 0;
}
& :last-child {
margin-bottom: 0;
}
}
.contentContainer {
--columns: 1;
position: relative;
display: grid;
grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
grid-gap: 32px;
@media (--medium-up) {
--columns: 12;
}
}
.diagram {
width: 591px;
max-width: 100%;
grid-column: 1 / -1;
@media (--medium-up) {
grid-column: 1 / 6;
}
}
.features {
padding: 0;
grid-column: 1 / -1;
@media (--medium-up) {
grid-column: 7 / -1;
}
& > li {
list-style: none;

@ -1,5 +1,4 @@
import s from './how-it-works.module.css'
import classNames from 'classnames'
import HowBoundaryWorksDiagram from './how-boundary-works-diagram'
import Feature from './feature'
import { useState } from 'react'
@ -12,11 +11,11 @@ export default function HowItWorks({ title, description, features }) {
return (
<div className={s.root}>
<div className={classNames('g-grid-container', s.headerWrapper)}>
<h2 className="g-type-display-2">{title}</h2>
<p className="g-type-body-large">{description}</p>
<div className={s.intro}>
<h2 className={s.introTitle}>{title}</h2>
<div className={s.introDescription}>{description}</div>
</div>
<div className={`g-grid-container ${s.contentContainer}`}>
<div className={s.contentContainer}>
<div className={s.diagram}>
<HowBoundaryWorksDiagram activeExampleIndex={activeExampleIndex} />
</div>

@ -0,0 +1,22 @@
import s from './style.module.css'
export default function WhyBoundary({ heading, items }) {
return (
<div className={s.root}>
<h2 className={s.heading}>{heading}</h2>
<ul className={s.items}>
{items.map((item, index) => {
return (
// Index is stable
// eslint-disable-next-line react/no-array-index-key
<li key={index}>
<img className={s.itemIcon} src={item.icon} alt={item.heading} />
<h3 className={s.itemHeading}>{item.heading}</h3>
<p className={s.itemDescription}>{item.description}</p>
</li>
)
})}
</ul>
</div>
)
}

@ -0,0 +1,33 @@
.root {
composes: g-grid-container from global;
}
.heading {
margin: 0;
composes: g-type-display-2 from global;
}
.items {
--columns: 1;
list-style: none;
padding: 0;
margin: 90px 0 0;
display: grid;
grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
grid-gap: 48px 32px;
@media (--medium-up) {
--columns: 3;
}
}
.itemHeading {
margin: 38px 0 0;
composes: g-type-display-4 from global;
}
.itemDescription {
margin: 12px 0 0;
composes: g-type-body from global;
}

@ -9,7 +9,7 @@ export default class MyDocument extends Document {
render() {
return (
<Html>
<Html lang="en">
<Head>
<HashiHead />
</Head>

@ -0,0 +1,103 @@
<svg width="411" height="366" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d)">
<rect width="50" height="50" rx="2" transform="matrix(-1 0 0 1 232.164 21.612)" fill="#fff"/>
<rect x=".75" y="-.75" width="51.5" height="51.5" rx="2.75" transform="matrix(-1 0 0 1 233.664 21.612)" stroke="#E3E4EB" stroke-width="1.5"/>
</g>
<rect x="198.914" y="34.362" width="20.5" height="20.5" rx="2.25" stroke="#BFBFC0" stroke-width="1.5"/>
<path d="M198.164 40.612h22M198.164 48.612h22M212.164 48.612v-8M205.164 40.612v-7M205.164 55.612v-7" stroke="#BFBFC0" stroke-width="1.5"/>
<path d="M183.116 91.691c2.167 0 3.443-1.353 3.74-2.552l-1.782-.45c-.187.66-.924 1.286-1.98 1.286-1.342 0-2.178-1.089-2.178-2.299 0-1.243.836-2.277 2.178-2.277 1.056 0 1.793.66 1.98 1.31l1.782-.44c-.297-1.2-1.573-2.586-3.773-2.586-2.31 0-4.037 1.727-4.037 4.004 0 2.277 1.727 4.004 4.07 4.004Zm8.685 0c2.354 0 4.081-1.727 4.081-4.004 0-2.277-1.727-4.004-4.081-4.004s-4.081 1.727-4.081 4.004c0 2.277 1.727 4.004 4.081 4.004Zm0-1.683c-1.353 0-2.233-1-2.233-2.32 0-1.31.88-2.322 2.233-2.322 1.353 0 2.233 1.012 2.233 2.321 0 1.32-.88 2.321-2.233 2.321Zm10.27-6.17v4.41l-3.465-4.41h-1.485v7.7h1.826v-4.412l3.465 4.411h1.485v-7.7h-1.826Zm9.607 0h-6.732v1.65h2.453v6.05h1.826v-6.05h2.453v-1.65Zm5.803 7.7h2.101l-1.859-2.762a2.49 2.49 0 0 0 1.573-2.343c0-1.276-1.012-2.596-2.728-2.596h-3.85v7.7h1.804v-2.53h1.32l1.639 2.53Zm-2.959-6.073h1.991c.561 0 1.012.44 1.012.968 0 .54-.44.98-1.089.98h-1.914v-1.948Zm9.838 6.226c2.354 0 4.081-1.727 4.081-4.004 0-2.277-1.727-4.004-4.081-4.004s-4.081 1.727-4.081 4.004c0 2.277 1.727 4.004 4.081 4.004Zm0-1.683c-1.353 0-2.233-1-2.233-2.32 0-1.31.88-2.322 2.233-2.322 1.353 0 2.233 1.012 2.233 2.321 0 1.32-.88 2.321-2.233 2.321Zm7.146-.143v-6.028h-1.826v7.7h5.445v-1.672h-3.619Zm-38.976 6.972h-3.707v7.7h1.804v-2.156h1.826c1.815 0 2.838-1.43 2.838-2.772 0-1.33-1.023-2.772-2.761-2.772Zm-.121 3.916h-1.782v-2.266h1.859c.594 0 1.034.55 1.034 1.133s-.44 1.133-1.111 1.133Zm5.754 2.112v-6.028h-1.826v7.7h5.445v-1.672h-3.619Zm10.383 1.672h1.881l-2.849-7.7h-2.398l-2.849 7.7h1.881l.539-1.474h3.256l.539 1.474Zm-3.212-3.069 1.045-2.882 1.045 2.882h-2.09Zm10.927-4.63v4.41l-3.465-4.41h-1.485v7.699h1.826v-4.411l3.465 4.411h1.485v-7.7h-1.826Zm9.167 1.65v-1.65h-5.797v7.699h5.786v-1.65h-4.004v-1.463h3.454v-1.595h-3.454v-1.342h4.015Z" fill="#727274"/>
<g filter="url(#filter1_d)">
<rect width="50" height="50" rx="2" transform="matrix(-1 0 0 1 66.552 93.522)" fill="#fff"/>
<rect x=".75" y="-.75" width="51.5" height="51.5" rx="2.75" transform="matrix(-1 0 0 1 68.052 93.522)" stroke="#E3E4EB" stroke-width="1.5"/>
</g>
<path d="M28.005 157.658v4.466c0 .99-.517 1.716-1.573 1.716s-1.573-.726-1.573-1.716v-4.466H23.01v4.499c0 1.969 1.199 3.355 3.42 3.355 2.212 0 3.422-1.386 3.422-3.355v-4.499h-1.848Zm6.443 7.854c1.903 0 3.157-1.067 3.157-2.442 0-1.298-.957-1.804-2.112-2.167l-1.936-.616c-.33-.099-.517-.286-.517-.55 0-.352.396-.638 1.023-.638.737 0 1.397.385 1.694.924l1.683-.495c-.407-1.078-1.705-2.024-3.4-2.024-1.66 0-2.86 1.034-2.848 2.299-.011 1.012.748 1.716 1.76 2.035l1.98.616c.583.187.825.418.825.737 0 .385-.462.726-1.2.726-1.011 0-1.693-.561-1.99-1.276l-1.738.539c.44 1.188 1.672 2.332 3.619 2.332Zm10.163-6.204v-1.65h-5.797v7.7h5.785v-1.65h-4.003v-1.463h3.454v-1.595h-3.454v-1.342h4.015Zm6.082 6.05h2.101l-1.859-2.761a2.49 2.49 0 0 0 1.573-2.343c0-1.276-1.012-2.596-2.728-2.596h-3.85v7.7h1.804v-2.53h1.32l1.639 2.53Zm-2.959-6.072h1.991c.561 0 1.012.44 1.012.968 0 .539-.44.979-1.089.979h-1.914v-1.947Zm9.18 6.226c1.903 0 3.157-1.067 3.157-2.442 0-1.298-.957-1.804-2.112-2.167l-1.936-.616c-.33-.099-.517-.286-.517-.55 0-.352.396-.638 1.023-.638.737 0 1.397.385 1.694.924l1.683-.495c-.407-1.078-1.705-2.024-3.399-2.024-1.66 0-2.86 1.034-2.849 2.299-.01 1.012.748 1.716 1.76 2.035l1.98.616c.583.187.825.418.825.737 0 .385-.462.726-1.199.726-1.012 0-1.694-.561-1.99-1.276l-1.739.539c.44 1.188 1.672 2.332 3.62 2.332Z" fill="#000"/>
<path d="M46.85 128.478v-2.179a4.359 4.359 0 0 0-4.358-4.359h-8.716a4.359 4.359 0 0 0-4.358 4.359v2.179" stroke="#BFBFC0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path clip-rule="evenodd" d="M38.134 117.582a4.358 4.358 0 1 0 0-8.716 4.358 4.358 0 0 0 0 8.716Z" stroke="#BFBFC0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M53.388 128.478v-2.179a4.358 4.358 0 0 0-3.269-4.217M45.761 109.007a4.359 4.359 0 0 1 0 8.444" stroke="#BFBFC0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M247.328 47.578c0-.45.366-.817.818-.817h59.38a.817.817 0 0 1 0 1.634h-59.38a.817.817 0 0 1-.818-.817Z" fill="#B5B6BA"/>
<path stroke="#DBDBDC" stroke-linecap="round" stroke-dasharray="1 8" d="M152.037.5h106.687v315.881H152.037z"/>
<path fill="#fff" d="M149.269 42.403h6.537v9.806h-6.537z"/>
<path d="M77.358 111.573c0-.428.347-.775.775-.775h35.18v1.55h-35.18a.775.775 0 0 1-.775-.775ZM112.224 46.739h51.209v1.55h-51.209z" fill="#B5B6BA"/>
<path fill="#B5B6BA" d="M112.224 47.255h1.634v65.093h-1.634zM169.169 47.333a.5.5 0 0 1 0 .877l-8.265 4.525a.5.5 0 0 1-.74-.438v-9.05a.5.5 0 0 1 .74-.439l8.265 4.525Z"/>
<path d="M174.002 201.205a.817.817 0 0 0-.817-.817h-61.288v1.634h61.288a.817.817 0 0 0 .817-.817ZM113.531 124.119h-29.79v1.635h29.79v-1.635Z" fill="#EC585D"/>
<path fill="#EC585D" d="M113.532 125.43h-1.596v76.048h1.596zM76.907 124.526a.5.5 0 0 0 0 .836l8.163 5.347a.5.5 0 0 0 .774-.418v-10.694a.5.5 0 0 0-.774-.418l-8.163 5.347Z"/>
<path d="M206.198 120.851c.451 0 .817.366.817.817v33.231a.817.817 0 1 1-1.634 0v-33.231c0-.451.366-.817.817-.817Z" fill="#B5B6BA"/>
<path d="M206.572 163.683a.5.5 0 0 1-.866 0l-4.796-8.306a.5.5 0 0 1 .433-.75h9.591a.5.5 0 0 1 .433.75l-4.795 8.306Z" fill="#B5B6BA"/>
<g filter="url(#filter2_d)">
<rect width="50" height="50" rx="2" transform="matrix(-1 0 0 1 370.537 177.418)" fill="#fff"/>
<rect x=".75" y="-.75" width="51.5" height="51.5" rx="2.75" transform="matrix(-1 0 0 1 372.037 177.418)" stroke="#E3E4EB" stroke-width="1.5"/>
</g>
<path clip-rule="evenodd" d="M337.537 192.418a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-16a2 2 0 0 1-2-2v-4ZM337.537 204.418a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-16a2 2 0 0 1-2-2v-4Z" stroke="#BFBFC0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="341.537" cy="194.418" r="1" fill="#BFBFC0"/>
<circle cx="341.537" cy="206.418" r="1" fill="#BFBFC0"/>
<path d="M333.084 249.36h-6.732v1.65h2.453v6.05h1.826v-6.05h2.453v-1.65Zm5.769 7.7h1.881l-2.849-7.7h-2.398l-2.849 7.7h1.881l.539-1.474h3.256l.539 1.474Zm-3.212-3.069 1.045-2.882 1.045 2.882h-2.09Zm10.739 3.069h2.101l-1.859-2.761a2.49 2.49 0 0 0 1.573-2.343c0-1.276-1.012-2.596-2.728-2.596h-3.85v7.7h1.804v-2.53h1.32l1.639 2.53Zm-2.959-6.072h1.991c.561 0 1.012.44 1.012.968 0 .539-.44.979-1.089.979h-1.914v-1.947Zm13.82 1.694h-3.938v1.573l2.024-.011c-.143.638-.748 1.276-1.859 1.276-1.617 0-2.442-1.122-2.442-2.321 0-1.243.902-2.277 2.233-2.277 1.078 0 1.672.462 2.035 1.155l1.694-.484c-.473-1.276-1.782-2.387-3.751-2.387-2.299 0-4.059 1.727-4.059 4.004 0 2.266 1.749 4.004 4.147 4.004 2.376 0 3.916-1.54 3.916-3.619v-.913Zm7.038-1.672v-1.65h-5.797v7.7h5.786v-1.65h-4.004v-1.463h3.454v-1.595h-3.454v-1.342h4.015Zm7.556-1.65h-6.732v1.65h2.453v6.05h1.826v-6.05h2.453v-1.65Zm-41.289 23.854c1.903 0 3.157-1.067 3.157-2.442 0-1.298-.957-1.804-2.112-2.167l-1.936-.616c-.33-.099-.517-.286-.517-.55 0-.352.396-.638 1.023-.638.737 0 1.397.385 1.694.924l1.683-.495c-.407-1.078-1.705-2.024-3.399-2.024-1.661 0-2.86 1.034-2.849 2.299-.011 1.012.748 1.716 1.76 2.035l1.98.616c.583.187.825.418.825.737 0 .385-.462.726-1.199.726-1.012 0-1.694-.561-1.991-1.276l-1.738.539c.44 1.188 1.672 2.332 3.619 2.332Zm8.541-7.854-1.749 3.146-1.749-3.146h-2.057l2.882 4.928v2.772h1.848v-2.772l2.871-4.928h-2.046Zm5.509 7.854c1.903 0 3.157-1.067 3.157-2.442 0-1.298-.957-1.804-2.112-2.167l-1.936-.616c-.33-.099-.517-.286-.517-.55 0-.352.396-.638 1.023-.638.737 0 1.397.385 1.694.924l1.683-.495c-.407-1.078-1.705-2.024-3.399-2.024-1.661 0-2.86 1.034-2.849 2.299-.011 1.012.748 1.716 1.76 2.035l1.98.616c.583.187.825.418.825.737 0 .385-.462.726-1.199.726-1.012 0-1.694-.561-1.991-1.276l-1.738.539c.44 1.188 1.672 2.332 3.619 2.332Zm10.162-7.854h-6.732v1.65h2.453v6.05h1.826v-6.05h2.453v-1.65Zm6.838 1.65v-1.65h-5.797v7.7h5.786v-1.65h-4.004v-1.463h3.454v-1.595h-3.454v-1.342h4.015Zm7.755-1.65-2.343 3.421-2.354-3.421h-1.738v7.7h1.826v-4.51l2.255 3.091 2.266-3.091v4.51h1.826v-7.7h-1.738Z" fill="#000"/>
<g filter="url(#filter3_d)">
<rect width="50" height="50" rx="2" transform="matrix(-1 0 0 1 231.075 177.418)" fill="#fff"/>
<rect x=".75" y="-.75" width="51.5" height="51.5" rx="2.75" transform="matrix(-1 0 0 1 232.575 177.418)" stroke="#E3E4EB" stroke-width="1.5"/>
</g>
<path clip-rule="evenodd" d="M208.075 203.418a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z" stroke="#BFBFC0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path clip-rule="evenodd" d="M215.475 203.418a1.648 1.648 0 0 0 .33 1.82l.06.06a2.001 2.001 0 0 1-2.83 2.83l-.06-.06a1.648 1.648 0 0 0-1.82-.33 1.648 1.648 0 0 0-1 1.51v.17a2 2 0 0 1-4 0v-.09a1.65 1.65 0 0 0-1.08-1.51 1.648 1.648 0 0 0-1.82.33l-.06.06a2.001 2.001 0 0 1-2.83-2.83l.06-.06a1.652 1.652 0 0 0 .33-1.82 1.649 1.649 0 0 0-1.51-1h-.17a2 2 0 0 1 0-4h.09a1.65 1.65 0 0 0 1.51-1.08 1.652 1.652 0 0 0-.33-1.82l-.06-.06a1.998 1.998 0 0 1 0-2.83 1.998 1.998 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33h.08a1.652 1.652 0 0 0 1-1.51v-.17a2 2 0 1 1 4 0v.09a1.649 1.649 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a1.998 1.998 0 0 1 2.83 0 2.001 2.001 0 0 1 0 2.83l-.06.06a1.648 1.648 0 0 0-.33 1.82v.08a1.65 1.65 0 0 0 1.51 1h.17a2 2 0 0 1 0 4h-.09a1.648 1.648 0 0 0-1.51 1Z" stroke="#BFBFC0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="m190.119 242.822-1.386 5.082-1.419-5.082h-1.639l-1.419 5.082-1.386-5.082h-1.925l2.299 7.7h1.936l1.32-4.576 1.309 4.576h1.936l2.299-7.7h-1.925Zm6.307 7.854c2.354 0 4.081-1.727 4.081-4.004 0-2.277-1.727-4.004-4.081-4.004s-4.081 1.727-4.081 4.004c0 2.277 1.727 4.004 4.081 4.004Zm0-1.683c-1.353 0-2.233-1.001-2.233-2.321 0-1.309.88-2.321 2.233-2.321 1.353 0 2.233 1.012 2.233 2.321 0 1.32-.88 2.321-2.233 2.321Zm10.083 1.529h2.101l-1.859-2.761a2.49 2.49 0 0 0 1.573-2.343c0-1.276-1.012-2.596-2.728-2.596h-3.85v7.7h1.804v-2.53h1.32l1.639 2.53Zm-2.959-6.072h1.991c.561 0 1.012.44 1.012.968 0 .539-.44.979-1.089.979h-1.914v-1.947Zm11.1 6.072h2.211l-3.168-4.378 2.948-3.322h-2.31l-2.794 3.344v-3.344h-1.826v7.7h1.826v-1.947l.957-1.078 2.156 3.025Zm8.941-6.05v-1.65h-5.797v7.7h5.786v-1.65h-4.004v-1.463h3.454v-1.595h-3.454v-1.342h4.015Zm6.083 6.05h2.101l-1.859-2.761a2.49 2.49 0 0 0 1.573-2.343c0-1.276-1.012-2.596-2.728-2.596h-3.85v7.7h1.804v-2.53h1.32l1.639 2.53Zm-2.959-6.072h1.991c.561 0 1.012.44 1.012.968 0 .539-.44.979-1.089.979h-1.914v-1.947Z" fill="#727274"/>
<path d="M180.052 356.541c.572-.33.924-.869.924-1.584 0-1.243-1.045-2.09-2.618-2.09h-3.762v7.7h3.96c1.672 0 2.695-.814 2.695-2.2 0-.847-.473-1.474-1.199-1.826Zm-1.694-2.112c.484-.011.836.308.836.748s-.352.792-.836.792h-1.98v-1.54h1.98Zm.198 4.565h-2.178v-1.595h2.178c.561 0 .88.319.88.792 0 .451-.319.803-.88.803Zm7.692 1.727c2.354 0 4.081-1.727 4.081-4.004 0-2.277-1.727-4.004-4.081-4.004s-4.081 1.727-4.081 4.004c0 2.277 1.727 4.004 4.081 4.004Zm0-1.683c-1.353 0-2.233-1.001-2.233-2.321 0-1.309.88-2.321 2.233-2.321 1.353 0 2.233 1.012 2.233 2.321 0 1.32-.88 2.321-2.233 2.321Zm10.259-6.171v4.466c0 .99-.517 1.716-1.573 1.716s-1.573-.726-1.573-1.716v-4.466h-1.848v4.499c0 1.969 1.199 3.355 3.421 3.355 2.211 0 3.421-1.386 3.421-3.355v-4.499h-1.848Zm8.288 0v4.411l-3.465-4.411h-1.485v7.7h1.826v-4.411l3.465 4.411h1.485v-7.7h-1.826Zm6.922 0h-3.553v7.7h3.553c2.2 0 3.641-1.617 3.641-3.85 0-2.288-1.474-3.85-3.641-3.85Zm-.044 6.061h-1.705v-4.422h1.705c1.034 0 1.837.825 1.837 2.178s-.803 2.244-1.837 2.244Zm10.097 1.639h1.881l-2.849-7.7h-2.398l-2.849 7.7h1.881l.539-1.474h3.256l.539 1.474Zm-3.212-3.069 1.045-2.882 1.045 2.882h-2.09Zm10.74 3.069h2.101l-1.859-2.761a2.49 2.49 0 0 0 1.573-2.343c0-1.276-1.012-2.596-2.728-2.596h-3.85v7.7h1.804v-2.53h1.32l1.639 2.53Zm-2.959-6.072h1.991c.561 0 1.012.44 1.012.968 0 .539-.44.979-1.089.979h-1.914v-1.947Zm10.616-1.628-1.749 3.146-1.749-3.146H231.4l2.882 4.928v2.772h1.848v-2.772l2.871-4.928h-2.046Z" fill="#000"/>
<path d="M237.522 202.295c0-.451.366-.817.817-.817h59.381a.817.817 0 0 1 0 1.634h-59.381a.817.817 0 0 1-.817-.817Z" fill="#EC585D"/>
<path d="M306.615 201.882a.5.5 0 0 1 0 .837l-8.165 5.345a.5.5 0 0 1-.774-.418v-10.691a.5.5 0 0 1 .774-.418l8.165 5.345Z" fill="#EC585D"/>
<g filter="url(#filter4_d)">
<rect x="180.866" y="289.731" width="52" height="52" rx="2" fill="#EC585D"/>
</g>
<path d="M200.673 326.713v-1.852h3.851v-1.144h-1.866v-1.866h8.812l-4.094-7.091 4.094-7.092h-9.033v9.835h-4.864v-14.697h16.734l2.793 4.837-4.109 7.117 4.193 7.262-2.709 4.691h-13.802Z" fill="#fff"/>
<path d="M201.423 321.85h-1.866v1.866h1.866v-1.866ZM199.438 324.849h-1.866v1.866h1.866v-1.866Z" fill="#fff"/>
<path d="M303.622 102.241c1.65 0 2.827-.88 2.827-2.266 0-1.144-.66-1.969-2.838-2.244-1.001-.132-1.683-.495-1.683-1.166 0-.55.528-1.1 1.463-1.1.946 0 1.661.484 1.727 1.375h1.166c-.055-1.518-1.144-2.442-2.893-2.442-1.551 0-2.695.99-2.695 2.2 0 1.067.77 1.936 2.981 2.2 1.144.143 1.54.528 1.54 1.166 0 .638-.561 1.243-1.573 1.243-1.078 0-1.749-.528-1.925-1.419h-1.232c.121 1.65 1.606 2.453 3.135 2.453Zm6.387.044c1.298 0 2.189-.781 2.354-1.87h-1.001c-.231.737-.902.946-1.342.946-.935 0-1.529-.616-1.529-1.595v-.01h3.96c.099-1.794-.814-3.158-2.464-3.158-1.562 0-2.596 1.166-2.596 2.86 0 1.76 1.045 2.827 2.618 2.827Zm-1.485-3.465c.055-.759.616-1.298 1.43-1.298.825 0 1.32.54 1.375 1.298h-2.805Zm7.423 3.421c1.265 0 2.266-.825 2.42-1.98h-1.1c-.11.55-.572 1.034-1.298 1.034-.847 0-1.496-.737-1.496-1.936 0-1.177.649-1.892 1.485-1.892.704 0 1.177.484 1.309 1.034h1.1c-.143-1.144-1.122-1.947-2.376-1.947-1.551 0-2.64 1.177-2.64 2.86 0 1.672 1.078 2.827 2.596 2.827Zm3.705-.077h1.023v-2.882c0-1.342.847-1.628 1.661-1.606l.143-.01v-1.09h-.198c-1.078-.022-1.485.55-1.606.781v-.693h-1.023v5.5Zm5.916.121c1.298 0 2.189-.781 2.354-1.87h-1.001c-.231.737-.902.946-1.342.946-.935 0-1.529-.616-1.529-1.595v-.01h3.96c.099-1.794-.814-3.158-2.464-3.158-1.562 0-2.596 1.166-2.596 2.86 0 1.76 1.045 2.827 2.618 2.827Zm-1.485-3.465c.055-.759.616-1.298 1.43-1.298.825 0 1.32.54 1.375 1.298h-2.805Zm6.708 3.344h.957v-.946h-.715c-.506 0-.671-.187-.671-.737v-2.915h1.375v-.902h-1.375v-1.716h-1.045v1.716h-.847v.902h.847v3.146c0 .869.605 1.452 1.474 1.452Zm3.906.121c1.089 0 2.123-.66 2.123-1.749 0-.869-.528-1.44-2.189-1.66-.715-.1-1.045-.364-1.045-.727 0-.44.484-.66.968-.66.44 0 1.056.165 1.155.946h.99c-.088-1.342-1.122-1.87-2.167-1.87-1.221 0-2.013.737-2.013 1.573 0 .627.297 1.364 2.112 1.628.858.132 1.089.407 1.089.77 0 .462-.374.847-1.045.847-.649 0-1.188-.341-1.298-.979h-1.023c.066 1.254 1.122 1.881 2.343 1.881Zm6.453-.121h1.1v-5.753l2.211 5.753h1.001l2.178-5.73v5.73h1.056v-7.7h-1.331l-2.387 6.237-2.453-6.237h-1.375v7.7Zm10.783.11a2.16 2.16 0 0 0 1.694-.803v.693h1.1v-3.74c0-1.089-.77-1.892-2.145-1.892-1.331 0-2.2.825-2.31 1.925l1.111-.01c.066-.485.451-.958 1.243-.958.594 0 1.001.32 1.001.737 0 .594-.847.65-1.551.715-.627.055-1.144.21-1.507.495-.341.275-.495.704-.495 1.177 0 1.056.88 1.661 1.859 1.661Zm.165-.924c-.517-.033-.891-.341-.891-.803s.374-.737 1.078-.792c.616-.055 1.111-.143 1.353-.308l-.011.583c-.022.946-.88 1.342-1.529 1.32Zm4.17.814h1.056v-2.838c0-1.155.671-1.859 1.441-1.859.671 0 1.166.451 1.166 1.43v3.267h1.133v-3.377c0-1.749-1.21-2.266-2.068-2.266-.88 0-1.452.517-1.672.858v-.715h-1.056v5.5Zm7.874.11a2.16 2.16 0 0 0 1.694-.803v.693h1.1v-3.74c0-1.089-.77-1.892-2.145-1.892-1.331 0-2.2.825-2.31 1.925l1.111-.01c.066-.485.451-.958 1.243-.958.594 0 1.001.32 1.001.737 0 .594-.847.65-1.551.715-.627.055-1.144.21-1.507.495-.341.275-.495.704-.495 1.177 0 1.056.88 1.661 1.859 1.661Zm.165-.924c-.517-.033-.891-.341-.891-.803s.374-.737 1.078-.792c.616-.055 1.111-.143 1.353-.308l-.011.583c-.022.946-.88 1.342-1.529 1.32Zm6.426 3.102c1.606 0 2.761-.88 2.761-2.783v-5.005h-1.023v.957c-.352-.66-1.133-1.078-1.914-1.078-1.441 0-2.464 1.2-2.464 2.838 0 1.65.913 2.838 2.431 2.838.825 0 1.606-.44 1.947-1.1v.55c0 1.32-.748 1.87-1.705 1.87-.275 0-1.243-.088-1.43-1.001l-1.056-.011c.055 1.034.968 1.925 2.453 1.925Zm.055-3.201c-.924 0-1.562-.759-1.562-1.804 0-1.122.638-1.914 1.562-1.914.946 0 1.606.76 1.606 1.815 0 1.111-.66 1.903-1.606 1.903Zm6.538 1.034c1.298 0 2.189-.781 2.354-1.87h-1.001c-.231.737-.902.946-1.342.946-.935 0-1.529-.616-1.529-1.595v-.01h3.96c.099-1.794-.814-3.158-2.464-3.158-1.562 0-2.596 1.166-2.596 2.86 0 1.76 1.045 2.827 2.618 2.827Zm-1.485-3.465c.055-.759.616-1.298 1.43-1.298.825 0 1.32.54 1.375 1.298h-2.805Zm5.212 3.344h1.056v-2.838c0-1.155.583-1.859 1.353-1.859.671 0 1.166.451 1.166 1.43v3.267h1.133v-2.838c0-1.155.583-1.859 1.353-1.859.671 0 1.166.451 1.166 1.43v3.267h1.133v-3.377c0-1.749-1.232-2.266-2.09-2.266-.869 0-1.496.451-1.859 1.067a1.956 1.956 0 0 0-1.771-1.067 1.83 1.83 0 0 0-1.584.858v-.715h-1.056v5.5Zm12.188.121c1.298 0 2.189-.781 2.354-1.87h-1.001c-.231.737-.902.946-1.342.946-.935 0-1.529-.616-1.529-1.595v-.01h3.96c.099-1.794-.814-3.158-2.464-3.158-1.562 0-2.596 1.166-2.596 2.86 0 1.76 1.045 2.827 2.618 2.827Zm-1.485-3.465c.055-.759.616-1.298 1.43-1.298.825 0 1.32.54 1.375 1.298h-2.805Zm5.212 3.344h1.056v-2.838c0-1.155.671-1.859 1.441-1.859.671 0 1.166.451 1.166 1.43v3.267h1.133v-3.377c0-1.749-1.21-2.266-2.068-2.266-.88 0-1.452.517-1.672.858v-.715h-1.056v5.5Zm7.896 0h.957v-.946h-.715c-.506 0-.671-.187-.671-.737v-2.915h1.375v-.902h-1.375v-1.716h-1.045v1.716h-.847v.902h.847v3.146c0 .869.605 1.452 1.474 1.452Z" fill="#727274"/>
<path d="m325.713 20.727 23.327 46.827 23.501-46.827h-46.828Zm26.08 9.418h2.717v2.694h-2.717v-2.694Zm-5.404 10.866h-2.688v-2.738h2.709l-.021 2.738Zm0-4.071h-2.688V34.2h2.709l-.021 2.739Zm0-4.072h-2.688V30.13h2.709l-.021 2.738Zm4.071 12.222h-2.688v-2.746h2.71l-.022 2.746Zm0-4.079h-2.688v-2.738h2.71l-.022 2.738Zm0-4.071h-2.688V34.2h2.71l-.022 2.739Zm0-4.072h-2.688V30.13h2.71l-.022 2.738Zm1.333 1.333h2.717v2.71h-2.717V34.2Zm0 6.781v-2.71h2.709v2.71h-2.709ZM337.219 78.12l-1.991 5.358-1.98-5.357h-2.024l3.003 7.7h2.002l3.003-7.7h-2.013Zm7.616 7.7h1.881l-2.849-7.7h-2.398l-2.849 7.7h1.881l.539-1.473h3.256l.539 1.474Zm-3.212-3.068 1.045-2.882 1.045 2.882h-2.09Zm10.636-4.631v4.466c0 .99-.517 1.716-1.573 1.716s-1.573-.726-1.573-1.716V78.12h-1.848v4.499c0 1.969 1.199 3.355 3.421 3.355 2.211 0 3.421-1.386 3.421-3.355v-4.5h-1.848Zm5.164 6.028V78.12h-1.826v7.7h5.445v-1.672h-3.619Zm9.969-6.028h-6.732v1.65h2.453v6.05h1.826v-6.05h2.453v-1.65Z" fill="#000"/>
<defs>
<filter id="filter0_d" x="172.664" y="14.112" width="69" height="69" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" 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="4"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/>
<feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter1_d" x="7.052" y="86.022" width="69" height="69" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" 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="4"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/>
<feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter2_d" x="311.037" y="169.918" width="69" height="69" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" 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="4"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/>
<feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter3_d" x="171.575" y="169.918" width="69" height="69" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" 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="4"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/>
<feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter4_d" x="172.866" y="283.731" width="68" height="68" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" 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="4"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"/>
<feBlend in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

@ -0,0 +1,4 @@
<svg width="56" height="56" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="#EC585D" fill-opacity=".1" d="M0 0h56v56H0z"/>
<path d="M35.778 27.222h-3.111l-2.334 7-4.666-14-2.334 7h-3.11" stroke="#EC585D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 294 B

@ -0,0 +1,4 @@
<svg width="74" height="72" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="#fff" d="M0 0h73.388v72H0z"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M32.638 29.714a1 1 0 0 0-1.4-1.428l-7.136 7a1 1 0 0 0 0 1.428l7.135 7a1 1 0 1 0 1.4-1.428L26.23 36l6.408-6.286Zm9.513-1.428a1 1 0 1 0-1.4 1.428L47.157 36l-6.408 6.286a1 1 0 1 0 1.401 1.428l7.135-7a1 1 0 0 0 0-1.428l-7.135-7Z" fill="#EC585D"/>
</svg>

After

Width:  |  Height:  |  Size: 421 B

Before

Width:  |  Height:  |  Size: 597 B

After

Width:  |  Height:  |  Size: 597 B

@ -0,0 +1,4 @@
<svg width="74" height="72" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="#fff" d="M.059 0h73.388v72H.059z"/>
<path d="M36.753 36 26.56 31l10.193-5 10.193 5-10.193 5ZM26.56 41l10.193 5 10.193-5M26.56 36l10.193 5 10.193-5" stroke="#EC585D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 331 B

@ -0,0 +1,5 @@
<svg width="56" height="56" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="#EC585D" fill-opacity=".1" d="M0 0h56v56H0z"/>
<path d="m28 28-7.778-3.889L28 20.222l7.778 3.89L28 28ZM20.222 31.889 28 35.778l7.778-3.89" stroke="#EC585D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M20.222 28 28 31.889l7.778-3.89" stroke="#EC585D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 451 B

@ -0,0 +1,5 @@
<svg width="56" height="56" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="#EC585D" fill-opacity=".1" d="M0 0h56v56H0z"/>
<path clip-rule="evenodd" d="M21 29.222a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4.556a2 2 0 0 1-2 2H23a2 2 0 0 1-2-2v-4.556Z" stroke="#EC585D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M24.11 27.222v-3.11a3.889 3.889 0 0 1 7.779 0v3.11" stroke="#EC585D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 495 B

@ -0,0 +1,5 @@
<svg width="74" height="72" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="#fff" d="M.079 0h73.388v72H.079z"/>
<path d="M25.56 28v6h6.116M47.985 44v-6h-6.116" stroke="#EC585D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M45.427 33c-1.051-2.913-3.552-5.094-6.624-5.776-3.072-.682-6.286.23-8.512 2.416L25.56 34M47.985 38l-4.73 4.36c-2.226 2.186-5.44 3.098-8.512 2.416-3.072-.682-5.573-2.863-6.624-5.776" stroke="#EC585D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 545 B

@ -0,0 +1,4 @@
<svg width="56" height="56" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="#EC585D" fill-opacity=".1" d="M0 0h56v56H0z"/>
<path clip-rule="evenodd" d="m28 20.222 2.403 4.87 5.375.785-3.89 3.787.919 5.352L28 32.488l-4.807 2.528.918-5.352-3.889-3.787 5.375-.786L28 20.222Z" stroke="#EC585D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 380 B

@ -0,0 +1,6 @@
<svg width="56" height="56" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="#EC585D" fill-opacity=".1" d="M0 0h56v56H0z"/>
<path stroke="#EC585D" stroke-width="1.5" d="M20.576 21.75h14.833v12.5H20.576z"/>
<path d="m23.144 24.264 2.419 2.003-2.419 2.003" stroke="#EC585D" stroke-width="1.5" stroke-linecap="round"/>
<path d="M26.826 28.583h4.667" stroke="#EC585D" stroke-width="1.5" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 434 B

@ -0,0 +1,5 @@
<svg width="56" height="56" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="#EC585D" fill-opacity=".1" d="M0 0h56v56H0z"/>
<path d="M34.222 35v-1.556a3.111 3.111 0 0 0-3.111-3.11h-6.222a3.111 3.111 0 0 0-3.111 3.11V35" stroke="#EC585D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path clip-rule="evenodd" d="M28 27.222A3.111 3.111 0 1 0 28 21a3.111 3.111 0 0 0 0 6.222Z" stroke="#EC585D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 505 B

@ -0,0 +1,6 @@
<svg width="40" height="38" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="7.128" cy="5.553" r="4.831" fill="#BDBEC2"/>
<circle cx="20.096" cy="5.553" r="4.831" fill="#BDBEC2"/>
<circle cx="33.064" cy="5.553" r="4.831" fill="#BDBEC2"/>
<path d="M19.397 22.402h.814v-2.409h2.19v-.836h-2.19V16.76h-.814v2.398h-2.189v.836h2.19v2.41ZM4.353 35.776c1.914 0 3.113-1.243 3.366-2.75H6.487c-.165.836-.946 1.672-2.145 1.672-1.408 0-2.332-1.199-2.332-2.783 0-1.617.924-2.893 2.376-2.893 1.144 0 1.925.781 2.1 1.65H7.72c-.231-1.529-1.441-2.728-3.3-2.728-2.123 0-3.62 1.672-3.63 3.96-.011 2.255 1.562 3.872 3.564 3.872Zm6.703.088c.88 0 1.452-.517 1.672-.858v.715h1.056v-5.5h-1.056v2.838c0 1.155-.649 1.86-1.44 1.86-.672 0-1.167-.474-1.167-1.43V30.22H8.988v3.377c0 1.75 1.21 2.266 2.068 2.266Zm6.29-.022c1.09 0 2.123-.66 2.123-1.749 0-.869-.528-1.44-2.189-1.66-.715-.1-1.045-.364-1.045-.727 0-.44.484-.66.968-.66.44 0 1.056.165 1.155.946h.99c-.088-1.342-1.122-1.87-2.167-1.87-1.22 0-2.013.737-2.013 1.573 0 .627.297 1.364 2.112 1.628.858.132 1.09.407 1.09.77 0 .462-.375.847-1.046.847-.649 0-1.188-.34-1.298-.979h-1.023c.066 1.254 1.122 1.881 2.343 1.881Zm4.834-.12h.957v-.947h-.715c-.506 0-.672-.187-.672-.737v-2.915h1.375v-.902H21.75v-1.716h-1.044v1.716h-.848v.902h.848v3.146c0 .87.605 1.452 1.474 1.452Zm4.15.054c1.486 0 2.63-1.166 2.63-2.805 0-1.66-1.122-2.827-2.63-2.827-1.495 0-2.64 1.166-2.64 2.827 0 1.64 1.145 2.805 2.64 2.805Zm-.01-.99c-.98 0-1.562-.78-1.562-1.815 0-1.056.594-1.837 1.573-1.837 1.012 0 1.584.792 1.584 1.848 0 1.034-.594 1.804-1.595 1.804Zm3.909.935h1.056v-2.838c0-1.155.583-1.859 1.353-1.859.671 0 1.166.451 1.166 1.43v3.267h1.133v-2.838c0-1.155.583-1.859 1.353-1.859.671 0 1.166.451 1.166 1.43v3.267h1.133v-3.377c0-1.749-1.232-2.266-2.09-2.266-.869 0-1.496.451-1.859 1.067a1.956 1.956 0 0 0-1.771-1.067 1.83 1.83 0 0 0-1.584.858v-.715h-1.056v5.5Z" fill="#727274"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -0,0 +1,3 @@
<svg width="38" height="38" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.942.515C8.483.515 0 9 0 19.457c0 8.367 5.462 15.456 12.9 18.012.929.117 1.277-.464 1.277-.93v-3.253c-5.229 1.162-6.391-2.557-6.391-2.557-.814-2.207-2.092-2.788-2.092-2.788-1.743-1.163.116-1.163.116-1.163 1.86.117 2.906 1.976 2.906 1.976 1.743 2.905 4.416 2.092 5.461 1.627.117-1.279.698-2.092 1.162-2.557-4.183-.465-8.599-2.091-8.599-9.413 0-2.091.697-3.718 1.976-5.113-.117-.348-.814-2.324.232-4.88 0 0 1.627-.465 5.23 1.975 1.51-.465 3.137-.581 4.764-.581 1.627 0 3.254.232 4.764.581 3.603-2.44 5.23-1.975 5.23-1.975 1.046 2.556.348 4.532.232 4.997a7.516 7.516 0 0 1 1.976 5.113c0 7.32-4.416 8.831-8.6 9.296.698.581 1.279 1.743 1.279 3.486v5.23c0 .465.348 1.046 1.278.93A18.962 18.962 0 0 0 38 19.456C37.884 9 29.4.515 18.942.515Z" fill="#000"/>
</svg>

After

Width:  |  Height:  |  Size: 885 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.0 KiB

@ -0,0 +1,5 @@
<svg width="92" height="20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M.539 15.031h2.97V3.081l4.617 10.418c.533 1.273 1.299 1.697 2.76 1.697 1.462 0 2.182-.447 2.715-1.697L18.218 3.08v11.951h2.97V3.104c0-1.155-.464-1.72-1.415-2.027C17.499.37 15.99.983 15.295 2.538l-4.501 10.278L6.409 2.538C5.759.983 4.204.37 1.93 1.077 1.003 1.36.539 1.925.539 3.08v11.951ZM23.672 5.296h2.97v6.576c-.024.354.116 1.203 1.74 1.226.835.024 6.427 0 6.473 0v-7.85h2.993c.023 0 0 10.702 0 10.75.023 2.64-3.225 3.205-4.71 3.252h-9.397v-2.027h9.42c1.926-.212 1.694-1.178 1.694-1.508v-.802H28.52c-2.947-.023-4.826-1.344-4.85-2.829 0-.14.07-6.718 0-6.788Z" fill="#00678F"/>
<path d="M40.168 15.031h8.561c.998 0 1.972-.212 2.761-.589 1.3-.613 1.926-1.414 1.926-2.475V9.751c0-.872-.72-1.697-2.111-2.239-.743-.283-1.67-.448-2.553-.448h-3.62c-1.206 0-1.786-.377-1.925-1.179-.023-.094-.023-.165-.023-.282V4.235c0-.07 0-.165.023-.259.14-.613.464-.801 1.508-.896.093 0 .21-.023.279-.023h8.515V1.03h-8.376c-1.207 0-1.833.07-2.413.259-1.787.566-2.552 1.461-2.552 3.017v1.768c0 1.367 1.508 2.522 4.06 2.805.279.024.58.047.858.047h3.086c.116 0 .232 0 .325.024.952.07 1.346.26 1.624.613a.759.759 0 0 1 .232.542v1.768c0 .212-.139.495-.44.707-.256.236-.697.377-1.253.424-.116 0-.21.024-.325.024H40.12v2.003M71.977 11.52c0 2.074 1.508 3.229 4.594 3.465.279.023.58.047.859.047h7.772v-2.027h-7.819c-1.74 0-2.413-.448-2.413-1.509V1.054H72V11.52M58.52 11.448c0 .095.023.19.046.307.163.825.952 1.296 2.135 1.296h2.715l-2.483-2.286h3.457l2.158 1.98c.394-.212.673-.542.765-.966.024-.095.024-.19.024-.283V4.589c0-.07 0-.165-.024-.283-.162-.778-.95-1.226-2.088-1.226h-4.5c-1.323 0-2.182.59-2.182 1.51v6.858h-.023Zm-3.225.165V4.425c0-1.839 1.253-2.946 3.759-3.276.255-.048.556-.048.812-.048h5.66c.28 0 .558.024.836.048 2.506.353 3.759 1.461 3.759 3.276v7.19c0 1.484-.534 2.286-1.763 2.805l2.923 2.687h-3.457l-2.367-2.169-2.39.165H59.89a5.88 5.88 0 0 1-1.74-.26c-1.926-.541-2.854-1.555-2.854-3.229Z" fill="#E48D1A"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M88.334 12.768v-.73h.488c.255 0 .556.047.556.353 0 .354-.278.377-.58.377h-.464Zm1.044 1.462h.488l-.72-1.108c.395-.047.673-.236.673-.707 0-.519-.325-.73-.951-.73h-.974v2.545h.417v-1.108h.395l.672 1.108Zm1.114-1.296c0 1.013-.766 1.767-1.694 1.767-.95 0-1.693-.754-1.693-1.768 0-1.013.742-1.767 1.693-1.767a1.743 1.743 0 0 1 1.694 1.768Zm-3.898 0a2.19 2.19 0 0 0 2.204 2.239 2.19 2.19 0 0 0 2.205-2.24 2.19 2.19 0 0 0-2.205-2.239c-1.183.024-2.204.92-2.204 2.24Z" fill="#E48D1A"/>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

@ -0,0 +1,3 @@
<svg width="43" height="15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2.97 0C1.489 0 .5 1.235.5 2.47v4.324c0 1.235.988 2.47 2.47 2.47h6.177v1.854H.5v3.705h9.882c1.483 0 2.47-1.235 2.47-2.47V8.029c0-1.235-.987-2.47-2.47-2.47H4.206V3.706h8.647V0H2.97Zm14.824 0c-1.482 0-2.47 1.235-2.47 2.47v4.324c0 1.235.988 2.47 2.47 2.47h6.177v1.854h-8.648v3.705h9.883c1.482 0 2.47-1.235 2.47-2.47V8.029c0-1.235-.988-2.47-2.47-2.47h-6.177V3.706h8.648V0h-9.883Zm12.353 0v14.823h3.706V8.647h4.941v6.176H42.5V0h-3.706v4.941h-4.941V0h-3.706Z" fill="#000"/>
</svg>

After

Width:  |  Height:  |  Size: 561 B

@ -0,0 +1,4 @@
<svg width="43" height="39" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="m37.518.528.509.529v7.75c0 4.226 0 7.75-.17 7.75 0 0-.679-.177-1.358-.53-.679-.352-1.358-.528-1.528-.704-.34-.176-.34-.528-.34-5.988V3.346H19.015l-15.619.177v19.726h16.977l-.17.352c0 .176-.17 1.057-.34 1.762-.679 3.17.17 7.045 2.037 9.687.34.528.51.88.51.88 0 .176-13.412.176-13.751 0-.51-.176-.34-1.233.17-1.761.679-.88 1.527-1.057 4.074-1.233 3.395-.176 3.565-.528 3.565-4.05v-2.114h-7.47c-4.753 0-7.639 0-7.978-.177C0 26.243 0 26.595 0 13.21V1.057L.51.528 1.018 0H37.008l.51.528Z" fill="#000"/>
<path d="M42.27 27.476c0-1.938 0-2.29-.509-3.346-1.358-3.7-4.244-6.341-7.809-7.222-1.018-.176-3.055-.352-3.904-.176-2.547.528-4.075 1.41-5.772 3.17-2.207 2.29-3.226 4.756-3.226 7.75 0 4.932 3.396 9.511 7.98 10.568 3.055.704 6.11.176 8.657-1.762 1.528-1.233 2.547-2.29 3.395-4.05 1.019-1.586 1.189-2.466 1.189-4.932Zm-13.75 6.869c-.34.176-.51 0-.849-.352-.34-.353-.51-.705-.51-.881 0-.176.51-.88 1.359-1.585.679-.705 1.358-1.41 1.358-1.585 0 0-.68-.705-1.358-1.585-.68-.705-1.358-1.41-1.358-1.586 0-.176.17-.528.51-.704.339-.176.678-.529.848-.529.34 0 4.414 4.051 4.414 4.404-.34.352-3.905 4.227-4.414 4.403Zm6.79-7.397c.68.704 1.189 1.409 1.189 1.585 0 .528-.85 1.409-1.358 1.409-.34 0-4.244-4.051-4.414-4.404 0-.176.849-1.056 2.037-2.29 1.358-1.408 2.207-2.113 2.546-2.113.34 0 1.189.88 1.189 1.233 0 .176-.51.88-1.358 1.585-.68.705-1.358 1.41-1.358 1.585.339 0 1.018.705 1.527 1.41Z" fill="#000"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

@ -1,7 +1,8 @@
import BrandedCta from 'components/branded-cta'
import HomepageHero from 'components/homepage-hero'
import HowItWorks from 'components/how-it-works'
import SectionBreakCta from 'components/section-break-cta'
import HowBoundaryWorks from 'components/how-boundary-works'
import WhyBoundary from 'components/why-boundary'
import ProductFeaturesList from '@hashicorp/react-product-features-list'
import UseCases from '@hashicorp/react-use-cases'
@ -44,21 +45,33 @@ export default function HomePage() {
/>
<HowItWorks
title="Secure access to hosts and services"
description="Traditional approaches like SSH bastion hosts or VPNs require distributing and managing credentials, configuring network controls like firewalls, and exposing the private network. Boundary provides a secure way to access hosts and critical systems without having to manage credentials or expose your network, and is entirely open source."
title="Identity-based access for zero trust security"
description={
<>
<p>
In the shift to the cloud, organizations need secure access to
targets beyond their own perimeter.
</p>
<p>
Boundary provides a secure way to access hosts and critical
systems without having to manage credentials or expose your
network, and is entirely open source.
</p>
</>
}
features={[
{
title: 'Authenticate',
title: 'Authenticate & authorize',
description:
'Authenticate with any trusted identity provider you are already using. No need to distribute new credentials and manage them.',
'Authenticate with any trusted identity provider you are already using and authorize access based on granular, logical roles and services.',
logos: [
{
alt: 'GitHub',
url: require('./img/logos/github-gray.svg?url'),
url: require('./img/logos/github-black.svg?url'),
},
{
alt: 'AWS',
url: require('./img/logos/aws-gray.svg?url'),
url: require('./img/logos/aws-color.svg?url'),
},
{
alt: 'Microsoft Azure',
@ -78,14 +91,14 @@ export default function HomePage() {
},
{
alt: 'More integrations',
url: require('./img/logos/more-gray.svg?url'),
url: require('./img/logos/custom.svg?url'),
},
],
},
{
title: 'Authorize',
title: 'Connect',
description:
'Authorize access based on logical roles and services, instead of physical IP addresses. Manage dynamic infrastructure and integrate service registries so hosts and service catalogs are kept up-to-date.',
'Manage dynamic infrastructure and integrate service registries so hosts and service catalogs are kept up-to-date.',
logos: [
{
alt: 'Consul',
@ -112,78 +125,102 @@ export default function HomePage() {
url: require('./img/logos/kubernetes-color.svg?url'),
},
{
url: require('./img/logos/more-gray.svg?url'),
alt: 'More integrations',
url: require('./img/logos/custom.svg?url'),
},
],
},
{
title: 'Access',
description:
'Automate credential injection to securely access services and hosts with HashiCorp Vault. Reduce risk of leaking credentials with dynamic secrets and just-in-time credentials.',
},
]}
/>
<div className="use-cases-section">
<div className="g-grid-container">
<h2 className="g-type-display-2">Use cases</h2>
<UseCases
items={[
description: (
<>
Reduce risk of leaking credentials with dynamic secrets and
just-in-time credentials. Automate credential injection to
securely access services and hosts with{' '}
<a href="https://learn.hashicorp.com/tutorials/boundary/vault-cred-brokering-quickstart">
HashiCorp Vault
</a>
.
</>
),
logos: [
{
title: 'Easily onboard and manage users',
description:
'Use SSO to manage onboarding and off-boarding users.',
image: {
url: require('./img/red-usecase-accessmgmt.png?url'),
},
link: {
title: 'Learn more',
url:
'https://learn.hashicorp.com/tutorials/boundary/getting-started-config',
},
alt: 'Postgresql',
url: require('./img/logos/postgresql.png?url'),
width: 36,
},
{
title: 'Open and extensible remote access',
description:
'Integrate with existing tooling and APIs to simplify access.',
image: {
url: require('./img/red-usecase-accessprivileges.png?url'),
},
link: {
title: 'Learn more',
url:
'https://learn.hashicorp.com/tutorials/boundary/manage-users-groups',
},
alt: 'SSH',
url: require('./img/logos/ssh.svg?url'),
width: 42,
},
{
title: 'Compliance without overhead',
description:
'Provide session visibility that enables teams to stay compliant.',
image: {
url: require('./img/red-usecase-sessionvisibility.png?url'),
},
link: {
title: 'Learn more',
url:
'https://learn.hashicorp.com/tutorials/boundary/manage-sessions',
},
alt: 'Mongo DB',
url: require('./img/logos/mongo-db.svg?url'),
},
]}
/>
</div>
</div>
{
alt: 'AWS',
url: require('./img/logos/aws-color.svg?url'),
},
{
alt: 'Unknown',
url: require('./img/logos/unknown.svg?url'),
},
{
alt: 'MySQL',
url: require('./img/logos/my-sql-color.svg?url'),
},
{
alt: 'More integrations',
url: require('./img/logos/custom.svg?url'),
},
],
},
]}
/>
<section className="why-boundary">
<WhyBoundary
heading="Why Boundary"
items={[
{
icon: require('./img/icons/code-white.svg?url'),
heading: 'On-demand identity-based access to infrastructure',
description:
'Securely connect trusted identities to logical services without having to create or store credentials or access.',
},
{
icon: require('./img/icons/layers-white.svg?url'),
heading: 'Scale access management in dynamic environments',
description:
'Scale access management by defining access controls around logical services instead of IP-based access policies.',
},
{
icon: require('./img/icons/refresh-white.svg?url'),
heading:
'Streamline remote access with easy-to-use CLI, API or UI',
description:
'Make it easy to access all applications and systems through a single workflow that works with existing tooling.',
},
]}
/>
</section>
<div className="break-section">
<SectionBreakCta
heading="Have you tried Boundary?"
content="Share your feedback for a chance to receive special swag."
link={{
text: 'Share your Boundary story',
url: 'http://hashi.co/boundary-survey',
<section className="how-boundary-works">
<HowBoundaryWorks
heading="How Boundary Works"
description="HashiCorp Boundary is a secure remote access solution that provides an easy way to allow access to applications and critical systems with fine-grained authorizations based on trusted identities. Across clouds, local data centers, low-trust networks, Boundary provides an easier way to protect and safeguard access to application and critical systems by trusted identities without exposing the underlying network"
items={[
'Platform-agnostic proxy for dynamic targets',
'No SSH keys or VPN credentials to manage',
'Just-in-time credentials via HashiCorp Vault',
]}
img={{
src: require('./img/how-boundary-works.svg'),
alt: 'How it works',
}}
/>
</div>
</section>
<section className="features-section">
<ProductFeaturesList
@ -193,7 +230,7 @@ export default function HomePage() {
title: 'Identity-based access',
content:
'Enables privileged sessions for users and applications based on user identity and role.',
icon: require('./img/features/identity-based-access.svg?url'),
icon: require('./img/icons/user.svg?url'),
link: {
type: 'inbound',
text: 'Learn more',
@ -202,10 +239,10 @@ export default function HomePage() {
},
},
{
title: 'Session management',
title: 'Session visibility and audit logs',
content:
'Ensures access control regardless of user or operators infrastructure.',
icon: require('./img/features/session-management.svg?url'),
'Visibility into session metrics, events, logs, and traces with the ability to export data to business intelligence and event monitoring tools.',
icon: require('./img/icons/activity.svg?url'),
link: {
type: 'inbound',
text: 'Learn more',
@ -214,33 +251,39 @@ export default function HomePage() {
},
},
{
title: 'Platform agnostic',
title: 'Seamless IDP integration',
content:
'One workflow for identity-based access across clouds, kubernetes clusters, and on-prem infrastructure.',
icon: require('./img/features/platform-agnosticity.svg?url'),
'Integrate with IDP of choice, including Azure Active Directory, Okta, and many others that support Open ID Connect.',
icon: require('./img/icons/star.svg?url'),
link: {
type: 'inbound',
text: 'Learn more',
url: '/docs/getting-started/connect-to-target',
url: 'https://learn.hashicorp.com/tutorials/boundary/oidc-auth',
},
},
{
title: 'Session visibility',
title: 'Dynamic secrets management',
content:
'Visibility into session metrics, events, logs, and traces with the ability to export data to business intelligence and event monitoring tools.',
icon: require('./img/features/session-visibility.svg?url'),
'Leverage Vault integration for the brokering of Vault secrets to Boundary clients via the command line and desktop clients for use in Boundary sessions.',
icon: require('./img/icons/lock.svg?url'),
link: {
type: 'inbound',
text: 'Learn more',
url:
'https://learn.hashicorp.com/tutorials/boundary/manage-sessions?in=boundary/common-workflows',
'https://learn.hashicorp.com/tutorials/boundary/vault-cred-brokering-quickstart',
},
},
{
title: 'Dynamic service discovery',
content:
'Automate service discovery and access configuration as workloads are deployed or changed. Coming soon.',
icon: require('./img/icons/layers.svg?url'),
},
{
title: 'Infrastructure as code',
content:
'Define policies and manage Boundary with an Infrastructure as Code approach. Terraform provider supports the full breadth of Boundary configurations.',
icon: require('./img/features/config-as-code.svg?url'),
icon: require('./img/icons/terminal.svg?url'),
link: {
type: 'inbound',
text: 'Learn more',
@ -248,30 +291,67 @@ export default function HomePage() {
'https://learn.hashicorp.com/tutorials/boundary/getting-started-config',
},
},
{
title: 'Manage dynamic environments',
content:
'Secure access to dynamic systems and applications with automated controls.',
icon: require('./img/features/managing-dynamic-environments.svg?url'),
link: {
type: 'inbound',
text: 'Learn more',
url: '/docs/api-clients',
},
},
]}
/>
</section>
<div className="use-cases-section">
<div className="g-grid-container">
<h2 className="g-type-display-2">Use cases</h2>
<UseCases
items={[
{
title: 'Identity-based access for dynamic environments',
description:
'Configure identity-based access controls for your infrastructure, wherever it resides.',
image: {
url: require('./img/red-usecase-accessmgmt.png?url'),
},
link: {
title: 'Learn more',
url: 'https://learn.hashicorp.com/boundary',
},
},
{
title: 'Compliance without overhead',
description:
'Provide session visibility that enables teams to stay compliant.',
image: {
url: require('./img/red-usecase-compliancewithoutoverhead.png?url'),
},
link: {
title: 'Learn more',
url:
'https://learn.hashicorp.com/tutorials/boundary/manage-sessions',
},
},
{
title: 'Fully integrated secrets management',
description:
'Just-in-time credentials from Vault for SSO to critical infrastructure targets.',
image: {
url: require('./img/red-usecase-integratedsystem.png?url'),
},
link: {
title: 'Learn more',
url:
'https://learn.hashicorp.com/tutorials/boundary/vault-cred-brokering-quickstart',
},
},
]}
/>
</div>
</div>
<BrandedCta
heading="Ready to get started?"
content="Boundary is an open source solution that automates a secure identity-based user access to hosts and services across environments."
links={[
{
text: 'Get Started',
url:
'https://learn.hashicorp.com/collections/boundary/getting-started',
type: 'outbound',
text: 'Download',
url: '/download',
type: 'download',
icon: { position: 'right', isAnimated: true },
},
{ text: 'Explore documentation', url: '/docs' },
]}

@ -21,10 +21,24 @@
}
}
& .why-boundary {
padding-top: 150px;
padding-bottom: 130px;
background-color: var(--boundary-secondary);
}
& .how-boundary-works {
background-image: linear-gradient(
to bottom,
var(--boundary-secondary) 40%,
var(--white) 40%
);
}
& .use-cases-section {
padding-top: 128px;
padding-bottom: 128px;
background-color: var(--gray-6);
background-color: #f9f9fa;
@media (max-width: 800px) {
padding-top: 88px;

@ -0,0 +1,22 @@
<svg width="443" height="384" viewBox="0 0 443 384" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#a)" fill="#EC585D" fill-opacity=".5">
<path d="m265.88 127.79 55.333 31.945-55.331 31.946h3.124l55.094-31.809.238-.137-55.333-31.945L442.666 27.527v-1.806L266.118 127.653l-.238.137Zm-36.885 0 55.334 31.945-55.332 31.946h3.125l55.093-31.809.238-.137-55.333-31.945L442.666 6.229V4.423l-213.433 123.23-.238.137Zm18.443 0 55.333 31.945-55.338 31.946h3.131l55.094-31.809.238-.137-55.333-31.945L442.666 16.88v-1.81l-194.99 112.583-.238.137Zm36.89 0 55.333 31.945-55.331 31.946h3.125l55.094-31.809.238-.137-55.334-31.945 155.213-89.611v-1.812l-158.1 91.286-.238.137Zm36.885 0 55.334 31.945-55.332 31.946h3.125l55.094-31.809.237-.137-55.333-31.945 110.429-63.755 7.899-4.559v-1.81l-121.215 69.987-.238.137Zm-18.442 0 55.333 31.945-55.332 31.946h3.125l55.094-31.809.238-.137-55.333-31.945 136.77-78.965v-1.806l-139.657 80.634-.238.137ZM435.007 191.681l7.659-4.422v-1.805l-10.789 6.227h3.13Zm-95.349 0h3.126l99.882-57.663v-1.806l-102.767 59.33-.241.139Zm58.459 0 44.549-25.719v-1.806l-47.675 27.525h3.126Zm-18.443 0 62.992-36.366v-1.805l-66.123 38.171h3.131Zm36.891 0 26.101-15.073v-1.806l-29.232 16.879h3.131Zm-58.464 0h3.13l81.435-47.017v-1.806l-84.325 48.684-.24.139Z"/>
</g>
<g clip-path="url(#b)" fill="#EC585D" fill-opacity=".5">
<path d="M305.896 191.682h-3.126L221.333 238.7v1.805l84.326-48.686.237-.137Zm-76.904 0-7.659 4.422v1.805l10.786-6.227h-3.127Zm95.349 0h-3.126l-99.882 57.667v1.805l102.77-59.335.238-.137Zm-58.46 0-44.548 25.72v1.805l47.675-27.525h-3.127Zm18.445 0-62.993 36.369v1.805l66.119-38.174h-3.126Zm-36.889 0-26.104 15.071v1.805l29.23-16.876h-3.126ZM321.216 383.363h3.126l54.158-31.271.137-.08-.781-1.354-56.64 32.705Zm48.203-36.674-.782-1.354-65.868 38.028h3.126l63.386-36.594.138-.08Zm-36.891-21.298-.781-1.353-102.515 59.187-.239.138h3.126l100.271-57.892.138-.08Zm18.443 10.652-.782-1.354-84.067 48.536-.238.138h3.125l81.824-47.24.138-.08Zm9.223 5.322-.781-1.353-75.087 43.351h3.126l72.605-41.918.137-.08Zm-18.442-10.651-.781-1.354-93.297 53.865-.239.138h3.127l91.052-52.57.138-.079ZM232.118 255.575l110.429-63.756.237-.137h-3.125l-110.428 63.756-.238.137 157.95 91.194.39.225 55.333-31.947v-1.805l-55.333 31.947-155.215-89.614Zm18.445 0 110.428-63.756.238-.137h-3.126l-110.428 63.756-.238.137 139.506 80.545.39.225 55.333-31.947v-1.805l-55.333 31.947-136.77-78.965Zm18.444 0 110.428-63.756.238-.137h-3.126L266.12 255.438l-.238.137 121.061 69.895.39.226 55.333-31.948v-1.804l-55.333 31.947-118.326-68.316Zm55.333 0 110.429-63.756.238-.137h-3.126l-110.428 63.756-.238.137 65.728 37.948.39.226 55.333-31.947v-1.805l-55.333 31.947-62.993-36.369Zm-18.444 0 110.428-63.756.238-.137h-3.126l-110.427 63.756-.239.137 84.173 48.597.39.226 55.333-31.947v-1.805l-55.333 31.947-81.437-47.018Zm-18.444 0 110.428-63.756.238-.137h-3.126l-110.428 63.756-.238.137 102.617 59.246.39.226 55.333-31.947v-1.805l-55.333 31.947-99.881-57.667Z"/>
</g>
<g clip-path="url(#c)">
<path d="m166.001 240.504-55.334-31.95-81.438 47.021 110.429 63.756.238.138-110.672 63.894h-3.126l110.673-63.894-110.429-63.756-.238-.138 84.174-48.599.389-.222L166 238.698l55.333-31.944v1.805l-54.944 31.716-.388.229ZM166 229.851l-55.333-31.943-99.88 57.667 110.428 63.756.238.138-110.678 63.894h-3.12l110.673-63.894L7.899 255.713l-.238-.138 102.617-59.251.389-.221L166 228.051l55.333-31.949v1.805l-54.944 31.722-.389.222Zm0 21.298-55.333-31.944-62.995 36.37L158.1 319.331l.238.138-110.672 63.894H44.54l110.674-63.894-110.43-63.756-.237-.138 65.731-37.953.389-.222L166 249.344l55.333-31.944v1.805l-54.944 31.721-.389.223Zm.001 31.951-55.334-31.951-7.662 4.426 110.429 63.756.238.138-110.673 63.894h-3.125l110.673-63.894-110.429-63.756-.238-.138 10.787-6.231L166 281.293l55.333-31.943v1.805l-54.942 31.715-.39.23Zm0-21.298-55.334-31.95-44.547 25.723 110.428 63.756.238.138-110.677 63.894h-3.12l110.672-63.894-110.428-63.756-.238-.138 47.283-27.301.389-.222L166 259.995l55.333-31.944v1.806l-54.942 31.715-.39.23ZM166 272.447l-55.333-31.944-26.105 15.072 110.429 63.756.238.138-110.672 63.894h-3.126l110.673-63.894-110.429-63.756-.237-.138 29.229-16.877L166 270.642l55.333-31.944v1.805l-54.944 31.721-.389.223Z" fill="#EC585D" fill-opacity=".5"/>
</g>
<defs>
<clipPath id="a">
<path fill="#fff" transform="translate(221.333)" d="M0 0h221.333v191.681H0z"/>
</clipPath>
<clipPath id="b">
<path fill="#fff" transform="translate(221.333 191.682)" d="M0 0h221.333v191.681H0z"/>
</clipPath>
<clipPath id="c">
<path fill="#fff" transform="translate(0 191.682)" d="M0 0h221.333v191.681H0z"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

@ -1 +1,56 @@
<svg width="904" height="549" viewBox="0 0 904 549" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M477.851 492.232l-159.002-91.765m105.949 122.406L318.849 461.67l105.949 61.203zm-105.949-81.656l123.581 71.39-123.581-71.39zm0-20.375l141.292 81.578-141.292-81.578zM301.216 512.607l-70.293 40.829M283.506 502.42l-88.161 51.016M318.849 400.467L1 583.998M318.848 420.842L18.632 594.185M318.849 441.216L36.264 604.372M318.849 461.67L53.975 614.638M318.849 339.264L905.019.805M424.798 318.89l515.564-297.63-515.564 297.63zM922.73 11.071L354.191 339.264 922.73 11.071zM442.509 329.077l70.607-40.75M460.141 339.264l70.685-40.75M495.483 339.264l52.975-30.563M742.726 380.092l-70.607 40.75M707.461 380.092l-53.053 30.563M778.068 380.092l-88.318 50.937M813.411 380.092l-106.028 61.203M848.675 380.092l-123.582 71.391M742.725 461.67l141.292-81.578M993.337 51.821l-127.03 73.35m91.766-93.725l-127.03 73.35 127.03-73.35zm-109.398 83.537l127.03-73.35-127.03 73.35zM495.406 604.373l123.66-71.391m-211.899 20.454l123.66-71.391-123.66 71.391zm17.632 10.187l123.66-71.391-123.66 71.391zm17.71 10.187l123.66-71.39-123.66 71.39zm17.632 10.188l123.66-71.391-123.66 71.391zm17.632 10.187l123.661-71.312-123.661 71.312zM566.169 278.139l176.556 101.953M530.826 278.139L707.46 380.092M601.433 278.139l176.635 101.953M636.775 278.139L813.41 380.092M672.118 278.139l176.557 101.953M707.382 278.139l176.635 101.953M424.799 339.264l-17.633-10.188-17.632 10.188 17.632 10.187 17.633-10.187zM442.509 329.076l-17.711-10.187M424.798 359.717l17.711-10.266M336.559 492.232l-17.711-10.187-17.632 10.187 17.632 10.188 17.711-10.188zM336.48 512.607l17.711-10.187M407.166 533.061l-52.975-30.641M389.534 543.248l-53.054-30.641M283.506 502.42l17.711 10.187M990.045 278.139L813.41 176.186m176.635 142.703l-159.003-91.765 159.003 91.765zm0-20.375l-141.292-81.578 141.292 81.578zm0-81.578L813.41 114.983l176.635 101.953zm0 20.375L813.41 135.358l176.635 101.953zm0 20.375L813.41 155.733l176.635 101.953zM813.41 176.108L636.775 278.139M778.068 216.936l-105.95 61.203M795.7 227.124l-88.318 51.015M601.433 278.139L813.41 155.733M813.411 135.358L566.169 278.139M530.826 278.139L813.41 114.983M795.7 227.124l-17.633-10.188M831.042 227.124l17.633-10.188M831.043 206.748l-17.632-10.187-17.711 10.187 17.711 10.188 17.632-10.188zM795.778 553.435L442.509 349.451M831.042 553.435L460.141 339.264M866.385 553.435L495.483 339.264M760.436 553.435L424.798 359.717M725.093 553.435L354.191 339.264M689.75 553.435L318.849 339.264" stroke="#F1565C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
<svg width="664" height="576" viewBox="0 0 664 576" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path d="M247.437 191.681H250.563L442.667 80.7694V78.9647L247.675 191.543L247.437 191.681ZM229.231 191.543L442.667 68.3157V70.1203L232.119 191.681H228.993L229.231 191.543ZM284.564 191.543L442.667 100.262V102.066L287.451 191.681H284.326L284.564 191.543ZM266.12 191.543L442.667 89.6127V91.4174L269.007 191.681H265.882L266.12 191.543ZM303.009 191.543L442.667 110.911V112.715L305.896 191.681H302.77L303.009 191.543ZM321.453 191.543L442.667 121.559V123.363L324.34 191.681H321.215L321.453 191.543Z" fill="#EC585D" fill-opacity="0.5"/>
</g>
<g clip-path="url(#clip1)">
<path d="M442.804 165.87L487.523 191.681H490.643L442.804 164.059V165.87ZM442.804 155.218L505.965 191.681H509.091L442.804 153.413V155.218ZM442.804 176.516L469.075 191.681H472.201L442.804 174.711V176.516ZM442.804 187.168L450.626 191.681H453.757L442.804 185.357V187.168ZM545.982 191.681L443.043 132.253L442.804 132.115V133.92L542.856 191.681H545.982ZM442.804 144.572L524.408 191.681H527.533L443.043 142.899L442.804 142.761V144.572Z" fill="#EC585D" fill-opacity="0.5"/>
<path d="M600.767 64.0311L601.005 63.8936L553.722 36.5925L553.333 36.3701L442.667 100.258V102.063L553.333 38.1701L597.88 63.8935L542.785 95.7001L542.547 95.8376L663.92 165.911L664 165.957V164.152L545.672 95.8376L600.767 64.0311ZM619.215 64.0311L619.453 63.8936L553.722 25.9408L553.333 25.7184L442.667 89.6118V91.4172L553.333 27.5237L616.328 63.8936L561.233 95.7001L560.995 95.8376L663.92 155.265L664 155.311V153.506L564.12 95.8376L619.215 64.0311ZM582.325 64.0311L582.562 63.8936L553.333 47.0161L442.667 110.909V112.715L553.333 48.8218L579.438 63.8936L524.342 95.7001L524.104 95.8376L663.92 176.563L664 176.609V174.804L527.229 95.8376L582.325 64.0311ZM637.658 64.0311L637.896 63.8936L553.722 15.2944L553.333 15.0725L442.667 78.9602V80.7656L553.333 16.872L634.771 63.8936L579.675 95.7001L579.438 95.8376L663.92 144.614L664 144.66V142.854L582.562 95.8376L637.658 64.0311ZM563.882 64.0311L564.12 63.8936L553.333 57.6621L442.667 121.556V123.361L553.333 59.4677L560.995 63.8936L505.899 95.7001L505.662 95.8376L663.92 187.209L664 187.255V185.45L508.786 95.8376L563.882 64.0311ZM656.101 64.0311L656.338 63.8936L553.722 4.64273L553.333 4.4209L442.667 68.3137V70.1191L553.333 6.22607L653.213 63.8936L598.118 95.7001L597.88 95.8376L663.92 133.967L664 134.013V132.208L601.005 95.8376L656.101 64.0311Z" fill="#EC585D" fill-opacity="0.5"/>
</g>
<g clip-path="url(#clip2)">
<path d="M637.901 383.362L664 368.29V366.49L634.77 383.362H637.901ZM579.437 383.362H582.568L664 336.346V334.54L579.675 383.224L579.437 383.362ZM601.01 383.362L664 346.992V345.186L597.88 383.362H601.01ZM656.344 383.362L664 378.942V377.136L653.213 383.362H656.344ZM619.453 383.362L664 357.644V355.839L616.328 383.362H619.453ZM560.994 383.362H564.12L664 325.694V323.889L561.233 383.224L560.994 383.362Z" fill="#EC585D" fill-opacity="0.5"/>
<path d="M527.229 191.681H524.099L442.667 238.697V240.503L526.991 191.818L527.229 191.681ZM545.672 191.681H542.547L442.667 249.343V251.149L545.434 191.818L545.672 191.681ZM468.766 191.681L442.667 206.753V208.559L471.896 191.681H468.766ZM487.213 191.681L442.667 217.399V219.205L490.338 191.681H487.213ZM450.323 191.681L442.667 196.102V197.907L453.454 191.681H450.323ZM505.656 191.681L442.667 228.046V229.851L508.787 191.681H505.656Z" fill="#EC585D" fill-opacity="0.5"/>
<path d="M498.252 229.707L564.121 191.681H560.99L497.473 228.353L498.252 229.707ZM488.248 234.871L498 240.503L582.325 191.818L582.563 191.681H579.432L498 238.697L489.034 233.524L488.248 234.871ZM461.367 249.493L460.582 250.846L497.609 272.223L498 272.453L637.658 191.818L637.896 191.681H634.766L498 270.646L461.504 249.572L461.367 249.493ZM479.809 238.847L479.025 240.2L498 251.155L600.767 191.818L601.005 191.681H597.88L498 249.349L479.947 238.926L479.809 238.847ZM469.807 245.524L498 261.8L619.216 191.818L619.454 191.681H616.323L498 259.995L470.585 244.169L469.807 245.524ZM452.143 254.816L451.358 256.169L497.611 282.876L498.001 283.098L656.101 191.818L656.338 191.681H653.213L498 281.293L452.28 254.895L452.143 254.816Z" fill="#EC585D" fill-opacity="0.5"/>
</g>
<g clip-path="url(#clip3)">
<path d="M527.23 383.362H524.104L442.667 430.38V432.185L526.992 383.499L527.23 383.362ZM450.326 383.362L442.667 387.784V389.589L453.452 383.362H450.326ZM545.674 383.362H542.548L442.667 441.029V442.834L545.437 383.499L545.674 383.362ZM487.215 383.362L442.667 409.082V410.887L490.341 383.362H487.215ZM505.66 383.362L442.667 419.731V421.536L508.786 383.362H505.66ZM468.771 383.362L442.667 398.433V400.238L471.897 383.362H468.771Z" fill="#EC585D" fill-opacity="0.5"/>
<path d="M542.549 575.043H545.675L599.833 543.772L599.971 543.692L599.19 542.339L542.549 575.043ZM590.752 538.369L589.971 537.016L524.103 575.043H527.229L590.615 538.449L590.752 538.369ZM553.862 517.072L553.08 515.718L450.565 574.905L450.326 575.043H453.453L553.724 517.151L553.862 517.072ZM572.304 527.723L571.523 526.37L487.456 574.905L487.217 575.043H490.343L572.167 527.803L572.304 527.723ZM581.528 533.046L580.747 531.693L505.66 575.043H508.786L581.391 533.126L581.528 533.046ZM563.086 522.394L562.304 521.04L469.008 574.905L468.769 575.043H471.895L562.948 522.474L563.086 522.394Z" fill="#EC585D" fill-opacity="0.5"/>
<path d="M453.452 447.256L563.88 383.499L564.118 383.362H560.992L450.565 447.118L450.326 447.256L608.276 538.449L608.667 538.674L664 506.727V504.922L608.667 536.87L453.452 447.256ZM471.896 447.256L582.324 383.499L582.562 383.362H579.437L469.009 447.118L468.771 447.256L608.276 527.8L608.667 528.025L664 496.078V494.274L608.667 526.221L471.896 447.256ZM490.341 447.256L600.769 383.499L601.007 383.362H597.881L487.454 447.118L487.215 447.256L608.276 517.151L608.667 517.376L664 485.429V483.624L608.667 515.572L490.341 447.256ZM545.674 447.256L656.102 383.499L656.34 383.362H653.214L542.787 447.118L542.549 447.256L608.276 485.204L608.667 485.429L664 453.482V451.678L608.667 483.624L545.674 447.256ZM527.23 447.256L637.658 383.499L637.896 383.362H634.77L524.342 447.118L524.104 447.256L608.276 495.853L608.667 496.078L664 464.131V462.327L608.667 494.274L527.23 447.256ZM508.785 447.256L619.214 383.499L619.451 383.362H616.326L505.898 447.118L505.66 447.256L608.276 506.502L608.667 506.727L664 474.78V472.975L608.667 504.923L508.785 447.256Z" fill="#EC585D" fill-opacity="0.5"/>
</g>
<g clip-path="url(#clip4)">
<path d="M358.103 383.713H361.23L442.667 430.731V432.536L358.341 383.85L358.103 383.713ZM435.007 383.713L442.667 388.135V389.94L431.881 383.713H435.007ZM339.659 383.713H342.785L442.667 441.38V443.185L339.897 383.85L339.659 383.713ZM398.119 383.713L442.667 409.433V411.238L394.992 383.713H398.119ZM379.674 383.713L442.667 420.082V421.887L376.548 383.713H379.674ZM416.563 383.713L442.667 398.784V400.589L413.437 383.713H416.563Z" fill="#EC585D" fill-opacity="0.5"/>
<path d="M342.784 575.394H339.658L285.5 544.123L285.363 544.043L286.144 542.69L342.784 575.394ZM294.581 538.72L295.362 537.367L361.231 575.394H358.105L294.719 538.8L294.581 538.72ZM331.472 517.423L332.253 516.069L434.768 575.256L435.007 575.394H431.881L331.609 517.502L331.472 517.423ZM313.029 528.074L313.811 526.721L397.877 575.256L398.116 575.394H394.99L313.167 528.154L313.029 528.074ZM303.805 533.397L304.586 532.044L379.674 575.394H376.547L303.943 533.476L303.805 533.397ZM322.248 522.745L323.029 521.391L416.325 575.256L416.564 575.394H413.438L322.385 522.825L322.248 522.745Z" fill="#EC585D" fill-opacity="0.5"/>
<path d="M431.881 447.607L321.453 383.85L321.215 383.713H324.341L434.769 447.469L435.007 447.607L277.057 538.8L276.667 539.025L221.333 507.078V505.273L276.667 537.221L431.881 447.607ZM413.437 447.607L303.009 383.85L302.771 383.713H305.897L416.324 447.469L416.563 447.607L277.057 528.151L276.667 528.376L221.333 496.429V494.625L276.667 526.572L413.437 447.607ZM394.993 447.607L284.564 383.85L284.327 383.713H287.452L397.88 447.469L398.118 447.607L277.057 517.502L276.667 517.727L221.334 485.78V483.975L276.667 515.923L394.993 447.607ZM339.659 447.607L229.231 383.85L228.993 383.713H232.119L342.547 447.469L342.785 447.607L277.057 485.555L276.667 485.78L221.334 453.833V452.029L276.667 483.975L339.659 447.607ZM358.104 447.607L247.676 383.85L247.438 383.713H250.564L360.991 447.469L361.229 447.607L277.057 496.204L276.667 496.429L221.334 464.482V462.678L276.667 494.625L358.104 447.607ZM376.548 447.607L266.12 383.85L265.882 383.713H269.008L379.435 447.469L379.674 447.607L277.057 506.853L276.667 507.078L221.334 475.131V473.326L276.667 505.274L376.548 447.607Z" fill="#EC585D" fill-opacity="0.5"/>
</g>
<g clip-path="url(#clip5)">
<path d="M99.8823 575.043H103.009L157.167 543.772L157.304 543.692L156.523 542.339L99.8823 575.043ZM148.085 538.369L147.305 537.016L81.4359 575.043H84.5618L147.948 538.449L148.085 538.369ZM129.637 527.723L128.856 526.37L44.7894 574.905L44.5506 575.043H47.6764L129.5 527.803L129.637 527.723ZM138.861 533.046L138.081 531.692L62.9927 575.043H66.1191L138.724 533.126L138.861 533.046ZM111.195 517.072L110.414 515.718L7.89886 574.905L7.65991 575.043H10.7858L111.057 517.151L111.195 517.072ZM120.419 522.394L119.638 521.04L26.3416 574.905L26.1027 575.043H29.2285L120.281 522.474L120.419 522.394Z" fill="#EC585D" fill-opacity="0.5"/>
<path d="M84.5628 447.256L194.991 383.5L195.23 383.362H192.104L81.6759 447.118L81.437 447.256L165.61 495.853L166 496.078L221.333 464.131V462.327L166 494.274L84.5628 447.256ZM66.1185 447.256L176.547 383.5L176.786 383.362H173.659L63.2311 447.118L62.9932 447.256L165.609 506.502L166 506.727L221.333 474.78V472.976L166 504.923L66.1185 447.256ZM103.007 447.256L213.436 383.5L213.674 383.362H210.548L100.12 447.118L99.8817 447.256L165.61 485.204L166 485.429L221.333 453.483V451.678L166 483.625L103.007 447.256ZM10.7852 447.256L121.213 383.5L121.452 383.362H118.326L7.89778 447.118L7.65991 447.256L165.609 538.449L166 538.674L221.333 506.727V504.922L166 536.87L10.7852 447.256ZM29.2295 447.256L139.658 383.5L139.897 383.362H136.771L26.3426 447.118L26.1037 447.256L165.609 527.8L166 528.025L221.333 496.078V494.274L166 526.221L29.2295 447.256ZM47.6737 447.256L158.102 383.5L158.341 383.362H155.215L44.7868 447.118L44.5484 447.256L165.609 517.151L166 517.376L221.333 485.429V483.624L166 515.572L47.6737 447.256Z" fill="#EC585D" fill-opacity="0.5"/>
</g>
<g clip-path="url(#clip6)">
<path d="M358.103 192.032H361.23L442.667 239.05V240.855L358.341 192.169L358.103 192.032ZM435.007 192.032L442.667 196.454V198.259L431.881 192.032H435.007ZM339.659 192.032H342.785L442.667 249.699V251.504L339.897 192.169L339.659 192.032ZM398.119 192.032L442.667 217.752V219.557L394.992 192.032H398.119ZM379.674 192.032L442.667 228.401V230.206L376.548 192.032H379.674ZM416.563 192.032L442.667 207.103V208.908L413.437 192.032H416.563Z" fill="#EC585D" fill-opacity="0.5"/>
<path d="M342.784 383.713H339.658L285.5 352.442L285.363 352.362L286.144 351.009L342.784 383.713ZM294.581 347.039L295.362 345.686L361.231 383.713H358.105L294.719 347.119L294.581 347.039ZM331.472 325.742L332.253 324.388L434.768 383.575L435.007 383.713H431.881L331.609 325.821L331.472 325.742ZM313.029 336.393L313.811 335.04L397.877 383.575L398.116 383.713H394.99L313.167 336.473L313.029 336.393ZM303.805 341.716L304.586 340.363L379.674 383.713H376.547L303.943 341.795L303.805 341.716ZM322.248 331.064L323.029 329.71L416.325 383.575L416.564 383.713H413.438L322.385 331.144L322.248 331.064Z" fill="#EC585D" fill-opacity="0.5"/>
<path d="M431.881 255.926L321.453 192.169L321.215 192.032H324.341L434.769 255.788L435.007 255.926L277.057 347.119L276.667 347.344L221.333 315.397V313.592L276.667 345.54L431.881 255.926ZM413.437 255.926L303.009 192.169L302.771 192.032H305.897L416.324 255.788L416.563 255.926L277.057 336.47L276.667 336.695L221.333 304.748V302.943L276.667 334.891L413.437 255.926ZM394.993 255.926L284.564 192.169L284.327 192.032H287.452L397.88 255.788L398.118 255.926L277.057 325.821L276.667 326.046L221.334 294.099V292.294L276.667 324.242L394.993 255.926ZM339.659 255.926L229.231 192.169L228.993 192.032H232.119L342.547 255.788L342.785 255.926L277.057 293.874L276.667 294.099L221.334 262.152V260.348L276.667 292.294L339.659 255.926ZM358.104 255.926L247.676 192.169L247.438 192.032H250.564L360.991 255.788L361.229 255.926L277.057 304.523L276.667 304.748L221.334 272.801V270.997L276.667 302.943L358.104 255.926ZM376.548 255.926L266.12 192.169L265.882 192.032H269.008L379.435 255.788L379.674 255.926L277.057 315.172L276.667 315.397L221.334 283.45V281.645L276.667 313.593L376.548 255.926Z" fill="#EC585D" fill-opacity="0.5"/>
</g>
<defs>
<clipPath id="clip0">
<rect width="221.333" height="191.681" fill="white" transform="translate(221.333)"/>
</clipPath>
<clipPath id="clip1">
<rect width="221.333" height="191.681" fill="white" transform="translate(442.667)"/>
</clipPath>
<clipPath id="clip2">
<rect width="221.333" height="191.681" fill="white" transform="translate(442.667 191.681)"/>
</clipPath>
<clipPath id="clip3">
<rect width="221.333" height="191.681" fill="white" transform="translate(442.667 383.362)"/>
</clipPath>
<clipPath id="clip4">
<rect width="221.333" height="191.681" fill="white" transform="translate(221.333 383.713)"/>
</clipPath>
<clipPath id="clip5">
<rect width="221.333" height="191.681" fill="white" transform="translate(0 383.362)"/>
</clipPath>
<clipPath id="clip6">
<rect width="221.333" height="191.681" fill="white" transform="translate(221.333 192.032)"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Loading…
Cancel
Save