fix(site-2): Restyle home page (#8454)

Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
pull/8585/head
Puru Vijay 1 year ago committed by GitHub
parent fd9088bbf5
commit 52028a09ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,11 +1,13 @@
<script>
import { Blurb } from '@sveltejs/site-kit/components';
import Balls from './svelte-balls.png?w=640;1280;2560;3840&format=avif;webp;png&as=picture';
import { Blurb, theme } from '@sveltejs/site-kit/components';
import Demo from './_components/Demo.svelte';
import Hero from './_components/Hero.svelte';
import Image from './_components/Image.svelte';
import Supporters from './_components/Supporters/index.svelte';
import Try from './_components/Try.svelte';
import WhosUsingSvelte from './_components/WhosUsingSvelte/index.svelte';
import CollectiveLight from './svelte-collective-light.png?w=640;1280;2560;3800&format=avif;webp;png&as=picture';
import CollectiveDark from './svelte-collective-dark.png?w=640;1280;2560;3800&format=avif;webp;png&as=picture';
</script>
<svelte:head>
@ -20,95 +22,51 @@
<Hero />
<div class="blurb-shifter">
<Blurb>
<div slot="one">
<h2>Write less code</h2>
<p>
Build boilerplate-free components using languages you already know — HTML, CSS and
JavaScript
</p>
<a href="/blog/write-less-code" class="cta">learn more</a>
</div>
<div slot="two">
<h2>No virtual DOM</h2>
<p>
Svelte compiles your code to tiny, framework-less vanilla JS — your app starts fast and
stays fast
</p>
<a href="/blog/virtual-dom-is-pure-overhead" class="cta">learn more</a>
</div>
<div slot="three">
<h2>Truly reactive</h2>
<p>
No more complex state management libraries — Svelte brings reactivity to JavaScript itself
</p>
<a href="/blog/svelte-3-rethinking-reactivity" class="cta">learn more</a>
</div>
<div class="description" slot="four">
<p>
Svelte is a radical new approach to building user interfaces. Whereas traditional frameworks
like React and Vue do the bulk of their work in the <em>browser</em>, Svelte shifts that
work into a
<em>compile step</em> that happens when you build your app.
</p>
<p>
Instead of using techniques like virtual DOM diffing, Svelte writes code that surgically
updates the DOM when the state of your app changes.
</p>
<p>
We're proud that Svelte was recently voted the <a
href="https://insights.stackoverflow.com/survey/2021#section-most-loved-dreaded-and-wanted-web-frameworks"
>most loved web framework</a
>
with the
<a href="https://2020.stateofjs.com/en-US/technologies/front-end-frameworks/"
>most satisfied developers</a
>
drawing the
<a
href="https://tsh.io/state-of-frontend/#which-of-the-following-frameworks-would-you-like-to-learn-in-the-future"
>most interest in learning it</a
>
in a trio of industry surveys. We think you'll love it too.
<a href="/blog/svelte-3-rethinking-reactivity" class="cta"
>Read the introductory blog post</a
> to learn more.
</p>
</div>
<div slot="five">
<pre><code
>npm create svelte@latest myapp
cd myapp
npm install
npm run dev
</code></pre>
<a href="/tutorial" class="cta">Learn Svelte</a>
</div>
</Blurb>
</div>
<Blurb --background="var(--sk-back-1)">
<div slot="one">
<h2>compiled</h2>
<p>
Svelte shifts as much work as possible out of the browser and into your build step. No more
manual optimisations — just faster, more efficient apps.
</p>
<Demo />
<!-- <a href="/blog/write-less-code" class="cta">learn more</a> -->
</div>
<div slot="two">
<h2>compact</h2>
<p>
Write breathtakingly concise components using languages you already know — HTML, CSS and
JavaScript. Oh, and your application bundles will be tiny as well.
</p>
<!-- <a href="/blog/virtual-dom-is-pure-overhead" class="cta">learn more</a> -->
</div>
<div slot="three">
<h2>complete</h2>
<p>
Built-in scoped styling, state management, motion primitives, form bindings and more — don't
waste time trawling npm for the bare essentials. It's all here.
</p>
<!-- <a href="/blog/svelte-3-rethinking-reactivity" class="cta">learn more</a> -->
</div>
</Blurb>
<section>
<h3>Who's using Svelte?</h3>
<Try />
<WhosUsingSvelte />
</section>
<Demo />
<WhosUsingSvelte />
<Supporters />
<Image src={Balls} alt="The Svelte logo in a ball pit" />
{#if $theme.current === 'light'}
<Image lazy src={CollectiveLight} alt="The Svelte logo in a ball pit" />
{:else}
<Image lazy src={CollectiveDark} alt="The Svelte logo in a ball pit" />
{/if}
<footer>
<a href="/tutorial">Tutorial</a>
@ -120,15 +78,8 @@ npm run dev
</footer>
<style>
section {
position: relative;
margin: 10rem auto;
padding: 0 var(--sk-page-padding-side);
max-width: 120rem;
}
.blurb-shifter {
margin-top: calc(-10rem + var(--sk-page-padding-side));
h2 {
line-height: 1.05;
}
footer {
@ -144,9 +95,7 @@ npm run dev
display: block;
}
/* @media (min-width: 900px) {
.blurb-shifter {
margin-top: -12em;
}
} */
p {
font-size: var(--sk-text-m);
}
</style>

@ -31,14 +31,18 @@
let selected = examples[0];
</script>
<Section --background="radial-gradient(circle at 40% 30%, rgb(110, 113, 118), rgb(81, 93, 106))">
<Section --background="var(--sk-back-2)">
<h3>Why Svelte?</h3>
<div class="container">
<div class="controls">
<div class="tabs">
{#each examples as example, i}
<button on:click={() => (selected = example)} class:selected={selected === example}>
<button
class="tab"
class:selected={selected === example}
on:click={() => (selected = example)}
>
<span class="small-show">{i + 1}</span>
<span class="small-hide">{example.title}</span>
</button>
@ -58,12 +62,11 @@
<style>
h3 {
color: white;
font-size: var(--sk-text-xl);
}
.description {
color: white;
height: 12rem; /* prevent layout popping when tab changes */
color: var(--sk-text-2);
}
.container {
@ -78,17 +81,21 @@
width: 100%;
height: 5rem;
grid-template-columns: 4fr 1fr;
color: white;
color: var(--sk-text-1);
align-items: center;
font-size: var(--sk-text-s);
}
a {
color: unset;
}
.tabs {
display: grid;
grid-template-columns: repeat(4, 1fr);
height: 100%;
border-radius: var(--sk-border-radius) var(--sk-border-radius) 0 0;
background-color: rgba(255, 255, 255, 0.1);
background-color: var(--sk-back-1);
border-radius: var(--sk-border-radius);
}
button,
@ -98,16 +105,42 @@
height: 100%;
align-items: center;
justify-content: center;
border-radius: var(--sk-border-radius) var(--sk-border-radius) 0 0;
border-right: 0.5px solid var(--sk-text-4);
border-right: 0.5px solid color-mix(in hsl, var(--sk-text-4), transparent 40%);
background-color: var(--sk-back-4);
transition: 0.15s ease;
transition-property: transform, background-color, color;
}
button:hover {
background-color: rgba(255, 255, 255, 0.2);
background-color: var(--sk-back-3);
background-color: color-mix(in srgb, var(--sk-back-4) 70%, var(--sk-back-1) 30%);
}
button:has(+ .selected) {
border-right: initial;
}
button:first-child {
border-radius: var(--sk-border-radius) 0 0 0;
}
button:last-child {
border-radius: 0 var(--sk-border-radius) 0 0;
border-right: initial;
}
button.selected {
background-color: var(--sk-back-1);
color: var(--sk-text-2);
border-radius: var(--sk-border-radius) var(--sk-border-radius) 0 0;
border-right: initial;
transform: translateY(-5px);
}
a {
border-right: initial;
border-radius: 0 var(--sk-border-radius) var(--sk-border-radius) 0;
background-color: initial;
}
.small-show {
@ -122,11 +155,6 @@
display: none;
}
a,
.description :global(a) {
color: white;
}
.description :global(a) {
text-decoration: underline;
}

@ -1,6 +1,6 @@
<script>
import Image from './Image.svelte';
import Machine from './svelte-machine.png?w=640;1280;2560;3840&q=95;format=avif;webp;png&as=picture';
import Machine from './svelte-machine.png?w=640;1280;2560;3840&q=95&format=avif;webp;png&as=picture';
import SvelteLogotype from './svelte-logotype.svg';
</script>
@ -10,7 +10,7 @@
<Image
src={Machine}
alt="The Svelte compiler packaging up your component code"
--max-height="65vh"
--max-height="60vh"
/>
<img alt="Svelte logotype" class="logotype" src={SvelteLogotype} />
@ -50,18 +50,18 @@
position: absolute;
display: block;
width: min(30vw, 36rem);
bottom: 58%;
left: 10%;
bottom: 54%;
left: 15%;
}
strong {
max-width: 16em;
top: 45%;
top: 49%;
}
.logotype,
strong {
left: calc(var(--sk-page-padding-side) + 4rem);
left: calc(var(--sk-page-padding-side) + 8rem);
}
}
@ -72,24 +72,22 @@
}
}
@media (prefers-color-scheme: dark) {
.hero {
background: radial-gradient(
64.14% 72.25% at 47.58% 31.75%,
hsl(209deg 6% 47% / 52%) 0%,
hsla(0, 0%, 100%, 0) 100%
),
linear-gradient(
92.4deg,
hsl(210, 7%, 16%) 14.67%,
hsl(0deg 0% 0% / 48%) 54.37%,
hsla(207, 22%, 13%, 0.62) 92.49%
),
linear-gradient(0deg, hsl(204, 38%, 20%), hsl(204, 10%, 90%));
}
:global(body.dark) .hero {
background: radial-gradient(
64.14% 72.25% at 47.58% 31.75%,
hsl(209deg 6% 47% / 52%) 0%,
hsla(0, 0%, 100%, 0) 100%
),
linear-gradient(
92.4deg,
hsl(210, 7%, 16%) 14.67%,
hsl(0deg 0% 0% / 48%) 54.37%,
hsla(207, 22%, 13%, 0.62) 92.49%
),
linear-gradient(0deg, hsl(204, 38%, 20%), hsl(204, 10%, 90%));
}
.logotype {
filter: invert(4) brightness(1.2);
}
:global(body.dark) .logotype {
filter: invert(4) brightness(1.2);
}
</style>

@ -4,13 +4,21 @@
/** @type {string} */
export let alt;
export let lazy = false;
</script>
<picture>
{#each Object.entries(src?.sources ?? {}) as [format, images]}
<source srcset={images?.map((i) => `${i?.src} ${i?.w}w`).join(', ')} type="image/{format}" />
{/each}
<img src={src?.img?.src} {alt} />
<img
loading={lazy ? 'lazy' : 'eager'}
height={src.img.h}
width={src.img.w}
src={src?.img?.src}
{alt}
/>
</picture>
<style>

@ -6,7 +6,7 @@
<Section>
<p class="intro">
Svelte is free and open source software, made possible by the work of hundreds of supporters.
Svelte is free and open source software, made possible <br /> by the work of hundreds of supporters.
</p>
<div class="layout">
@ -49,6 +49,7 @@
<style>
h3 {
color: var(--sk-text-2);
font-size: var(--sk-text-l);
}
.intro {

@ -0,0 +1,116 @@
<script>
import { Section } from '@sveltejs/site-kit/components';
import { TryTerminal } from '@sveltejs/site-kit/components';
</script>
<div class="try-container">
<Section --background="var(--background-2)">
<div class="grid" style="--columns: 2">
<div class="try">
<TryTerminal />
<p class="create-an-app">
...or
<a target="_blank" rel="noreferrer" href="https://sveltekit.new"> create an app </a>
on StackBlitz.
</p>
</div>
<div class="description">
<p>
Svelte is a radical new approach to building user interfaces. Whereas traditional
frameworks like React and Vue do the bulk of their work in the <em>browser</em>, Svelte
shifts that work into a
<em>compile step</em> that happens when you build your app. No more virtual DOM!
</p>
<p>
We're proud that Svelte was recently voted the <a
href="https://insights.stackoverflow.com/survey/2021#section-most-loved-dreaded-and-wanted-web-frameworks"
>most loved web framework</a
>
with the
<a href="https://2020.stateofjs.com/en-US/technologies/front-end-frameworks/"
>most satisfied developers</a
>
drawing the
<a
href="https://tsh.io/state-of-frontend/#which-of-the-following-frameworks-would-you-like-to-learn-in-the-future"
>most interest in learning it</a
>
in a trio of industry surveys. We think you'll love it too.
<a href="/blog/svelte-3-rethinking-reactivity" class="cta"
>Read the introductory blog post</a
>
to learn more.
</p>
</div>
</div>
</Section>
</div>
<style>
.try-container {
--background-2: var(--sk-back-4);
}
:global(body.dark .try-container) {
--background-2: #444;
}
@media (prefers-color-scheme: dark) {
.try-container {
--background-2: #444;
}
:global(body.light .try-container) {
--background-2: var(--sk-back-4) !important;
}
}
.grid {
display: grid;
gap: 1em;
margin: 0 0 4rem 0;
}
.grid:last-child {
margin-bottom: 0;
}
@media (min-width: 900px) {
.grid {
grid-template-columns: repeat(var(--columns), 1fr);
gap: 7rem;
}
}
.create-an-app {
font-size: 0.75em;
}
.grid *::selection {
background: hsl(15, 100%, 65%);
color: white;
}
.description {
color: var(--sk-text-1);
}
.description p:first-child {
margin-top: 0;
}
.try {
width: 100%;
margin: 0 auto;
font-size: var(--sk-text-m);
color: var(--sk-text-1);
}
a {
color: inherit;
text-decoration: underline;
}
</style>

@ -8,10 +8,10 @@ export const companies = [
},
{
href: 'https://www.alaskaair.com/',
style: 'background-color: black',
// style: 'background-color: black',
filename: 'alaskaairlines.svg',
alt: 'Alaska Airlines logo',
invert: true,
// invert: true,
width: 113,
height: 48
},
@ -24,10 +24,9 @@ export const companies = [
},
{
href: 'https://chess.com',
style: 'background-color: black',
filename: 'chess.svg',
alt: 'Chess.com logo',
invert: true,
width: 300,
height: 85
},

@ -1,20 +1,30 @@
<script>
import Section from '../Section.svelte';
import { companies } from './companies.js';
import { theme } from '@sveltejs/site-kit/components';
const sorted = companies.sort((a, b) => (a.alt < b.alt ? -1 : 1));
</script>
<div class="logos">
{#each sorted as { href, filename, alt, style, invert, width, height }}
<a target="_blank" rel="noreferrer" {href} class:invert style={style || ''}>
<img src="/whos-using-svelte/{filename}" {alt} {width} {height} loading="lazy" />
</a>
<Section --background={$theme.current === 'light' ? 'var(--sk-back-4)' : '#222'}>
<section class="whos-using-svelte-container" class:dark={$theme.current === 'dark'}>
<h3>Who's using svelte?</h3>
<div class="logos">
{#each sorted as { href, filename, alt, style, invert, width, height }}
<a target="_blank" rel="noreferrer" {href} class:invert style={style || ''}>
<img src="/whos-using-svelte/{filename}" {alt} {width} {height} loading="lazy" />
</a>
<span class="spacer" />
{/each}
</div>
<span class="spacer" />
{/each}
</div>
</section>
</Section>
<style>
h3 {
font-size: var(--sk-text-xl);
}
.logos {
display: flex;
margin: 6rem 0 0 0;
@ -55,6 +65,7 @@
min-width: 0; /* Avoid image overflow in Safari */
width: 100%;
height: auto;
/* mix-blend-mode: multiply; */
}
@media (min-width: 640px) {
@ -74,10 +85,8 @@
}
}
@media (prefers-color-scheme: dark) {
a {
--invert: 1;
filter: grayscale(1) contrast(4) opacity(0.7) invert(var(--invert, 0));
}
:global(body.dark) .logos a {
--invert: 1;
filter: grayscale(1) contrast(4) opacity(0.7) invert(var(--invert, 0));
}
</style>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 MiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

@ -1 +1 @@
<svg viewBox="0 0 109 31" xmlns="http://www.w3.org/2000/svg"><path d="M19.2 25.6c-1.5-.4-2.9-1.3-4-2.4-1.9-2.1-2.9-4.9-2.7-7.7-.1-2.1.5-4.2 1.5-6L13 9a4.96 4.96 0 1 0-6.9-1.2c.3.5.7.9 1.2 1.2-.7.4-2.5 1.4-3 1.7-.1.1-.1.3-.1.3 0 .7.2 1.4.5 2 1 .2 2 .3 2.9.3-.2 2.3-.5 4.7-.9 7-.4 1.3-4.6 1.5-5.3 3.1-.1.3-.2.6-.2.9 0 .4.1.8.4 1.2.1.1-1.5.5-1.5 2-.1.5.2 1.1.6 1.5.9.6 1.9 1.1 3 1.4 2.1.5 4.2.7 6.3.7s4.3-.2 6.4-.7c1.1-.2 2.1-.7 3-1.4.4-.4.7-1 .7-1.6 0-.7-.3-1.4-.9-1.8z" fill="#4e7838"/><path d="M8.4 27.9c-1.4-.2-5.9-.9-7-2.5-.4.2-.7.4-1 .8 0 1.7 5.5 2.5 8 2.2.9-.1.5-.4 0-.5zm1.7-13c-.4-.2-2.6-1-2.6-1-.2 2.1-.5 4.2-.8 6.2-.4 1.3-4.6 1.5-5.3 3.1-.3.8 1.3 1.8 5.1 1.8 3.6 0 4-4.9 4.6-8.7.1-.7-.6-1.2-1-1.4zm1.9-4.2c-.7-.6-1.5-1.2-2.3-1.7 2.3-.6 3.9-2.7 3.8-5 0-3-1.9-4-3.3-4h-.1C7.4.1 5.2 2.4 5.3 5.2c.1 1.5.8 2.9 2 3.8-.7.4-2.5 1.4-3 1.7-.1.1-.1.3-.1.3 0 .7.2 1.4.5 2 1.7.3 3.4.4 5.1.4h1.8c.3 0 .5-1.9.5-2.3 0-.1 0-.3-.1-.4z" fill="#6c9d40"/><path d="M9.3 1.2c2.2.3-1 2.8-2 2.7s0-3 2-2.7zm13.1 22.9c-2.2.1-4.3-.7-5.9-2.2a9 9 0 0 1-2.2-6.3c-.1-2.3.7-4.5 2.2-6.3C18 7.7 20.2 6.9 22.4 7c.6 0 1.2 0 1.8.1l1.5.3c.4.1.9.3 1.3.5s.8.4 1.1.5v3.9h-.4l-.8-.6c-.3-.3-.7-.5-1-.7-.4-.2-.8-.4-1.3-.6a4.15 4.15 0 0 0-3.1 0c-.5.2-1 .6-1.4 1-.5.5-.8 1.1-1.1 1.7-.3.8-.4 1.7-.4 2.5 0 .9.1 1.8.4 2.6.2.6.6 1.2 1.1 1.7a4.2 4.2 0 0 0 3 1.2c.5 0 1.1-.1 1.6-.3.4-.2.9-.4 1.2-.6.4-.2.7-.4 1-.7l.7-.6h.4v3.9l-1 .5c-.4.2-.8.3-1.2.5-.5.2-1 .3-1.5.4-.6-.1-1.2-.1-1.9-.1zm19.3-.3h-3.9v-6.2c0-.5 0-1-.1-1.5 0-.4-.1-.7-.2-1.1a.9.9 0 0 0-.6-.6c-.3-.1-.7-.2-1-.2s-.7.1-1 .2c-.4.1-.7.3-1 .6v8.8H30V6.9h4v5.8c.6-.5 1.2-.9 1.8-1.3.6-.3 1.3-.5 2-.4 1.1-.1 2.2.4 2.9 1.2.7 1 1.1 2.2 1 3.5zm9.1.3c-1.9.1-3.9-.5-5.4-1.7-1.3-1.2-2-3-1.9-4.8-.1-1.8.5-3.5 1.8-4.9 1.3-1.3 3.1-1.9 4.9-1.8 1.6-.1 3.1.4 4.3 1.5 1 1.2 1.5 2.8 1.4 4.4v1.4h-8.5c0 .5.1 1 .4 1.5.2.4.5.7.8.9.4.2.7.4 1.2.5s1 .2 1.5.1c.4 0 .9-.1 1.3-.1.4-.1.8-.2 1.2-.4.3-.1.6-.3.9-.5.2-.1.4-.3.7-.4h.4V23l-.9.4-1.1.3-1.3.3c-.6.1-1.2.1-1.7.1zm1.3-8.2c0-.7-.2-1.4-.6-1.9s-1-.7-1.7-.6c-.7 0-1.3.2-1.8.7-.4.5-.7 1.2-.7 1.9zm9.9 8.2c-.9 0-1.7-.1-2.6-.3-.7-.2-1.4-.4-2-.7v-3.3h.3l.6.5c.3.2.6.4 1 .5.4.2.8.3 1.2.4.5.1 1 .2 1.5.2s1-.1 1.4-.2.6-.4.6-.8c0-.3-.1-.5-.3-.7-.3-.2-.7-.3-1.1-.4-.3-.1-.7-.1-1.1-.2l-1.2-.3c-.8-.2-1.6-.7-2.2-1.3-.5-.7-.8-1.5-.7-2.3 0-.5.1-1.1.4-1.6s.7-1 1.1-1.3c.5-.4 1.2-.7 1.8-.9a9.86 9.86 0 0 1 4.8 0c.6.1 1.3.3 1.8.6v3H67c-.2-.1-.4-.3-.6-.4-.3-.2-.6-.3-.8-.4-.4-.2-.7-.3-1.1-.4s-.8-.1-1.2-.1c-.5 0-1 .1-1.4.3-.3.1-.6.4-.6.8 0 .3.1.5.3.7.4.2.8.4 1.2.5.3.1.7.2 1.1.2l1.2.3c.8.2 1.5.7 2 1.3s.8 1.4.7 2.2c0 .6-.1 1.1-.4 1.7-.3.5-.7 1-1.2 1.3-.6.4-1.2.7-1.9.9-.6.1-1.4.2-2.3.2zm11.9 0c-.9 0-1.7-.1-2.6-.3-.7-.2-1.4-.4-2-.7v-3.3h.3l.6.5c.3.2.6.4 1 .5.4.2.8.3 1.2.4.5.1 1 .2 1.5.2s1-.1 1.4-.2.6-.4.6-.8c0-.3-.1-.5-.3-.7-.3-.2-.7-.3-1.1-.4-.3-.1-.7-.1-1.1-.2l-1.2-.3c-.8-.2-1.6-.7-2.2-1.3-.5-.7-.8-1.5-.7-2.3 0-.5.1-1.1.4-1.6s.7-1 1.1-1.3c.5-.4 1.2-.7 1.8-.9a9.86 9.86 0 0 1 4.8 0c.6.1 1.3.3 1.8.6v3h-.3c-.2-.1-.4-.3-.6-.4-.3-.2-.6-.3-.8-.4-.4-.2-.7-.3-1.1-.4s-.8-.1-1.2-.1c-.5 0-1 .1-1.4.3-.3.1-.6.4-.6.8 0 .3.1.5.3.7.4.2.8.4 1.2.5.3.1.7.2 1.1.2l1.2.3c.8.2 1.5.7 2 1.3s.7 1.4.7 2.2c0 .6-.1 1.1-.4 1.7-.3.5-.7 1-1.2 1.3-.6.4-1.2.7-1.9.9-.6.1-1.4.2-2.3.2zm7.7-.4H81c-.3 0-.5-.2-.5-.5v-1c0-.3.2-.5.5-.5h.6c.3 0 .5.2.5.5v1c.1.3-.2.5-.5.5zm5 .2c-.5 0-1-.1-1.5-.2-.4-.2-.8-.4-1.2-.8-.3-.4-.6-.8-.8-1.3a5.66 5.66 0 0 1 0-3.6c.2-.5.4-.9.7-1.3.3-.3.7-.6 1.2-.7.5-.2 1-.3 1.5-.3.4 0 .8.1 1.2.2s.7.2 1.1.4v1.5h-.1c-.1-.1-.2-.2-.4-.3s-.4-.2-.5-.3c-.2-.1-.4-.2-.7-.2-.2-.1-.5-.1-.7-.1-.6 0-1.3.3-1.7.8-.5.6-.7 1.4-.6 2.2 0 .8.2 1.5.6 2.2.4.5 1 .8 1.7.8.4 0 .9-.1 1.2-.3.4-.2.7-.4 1-.7h.1v1.5l-.5.2c-.2.1-.4.1-.5.2l-.6.1zm10.2-4.1c.1 1.1-.3 2.2-1 3-.6.7-1.6 1.1-2.5 1.1-1 0-1.9-.4-2.6-1.1-.7-.9-1-1.9-.9-3-.1-1.1.3-2.2 1-3a3.6 3.6 0 0 1 5-.1l.1.1c.6.9 1 2 .9 3zm-1.4 0c.1-.8-.1-1.6-.6-2.2-.7-.9-2.1-1-2.9-.2l-.2.2c-.4.7-.6 1.5-.6 2.2-.1.8.1 1.6.6 2.2.7.9 2 1 2.9.3l.3-.3c.4-.6.6-1.4.5-2.2zm11.5 4.1v-5.6c0-.3-.1-.5-.2-.7s-.2-.3-.4-.4-.5-.2-.7-.1c-.3 0-.6.1-.9.2-.4.2-.7.5-1 .8v6h-1.4v-5.7c0-.3-.1-.5-.2-.7s-.2-.3-.4-.4-.5-.1-.8-.1-.6.1-.9.3-.7.4-.9.7v6h-1.4v-8h1.4v.9c.3-.3.7-.6 1.1-.9.3-.2.7-.3 1.2-.3.4 0 .9.1 1.3.3s.7.6.8 1.1c.3-.4.8-.7 1.2-1 .4-.2.8-.4 1.3-.4.3 0 .6.1.9.2s.5.3.7.5c.2.3.4.6.5.9.1.4.2.9.2 1.4V24z" fill="#fff"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 109 31"><g clip-path="url(#a)"><path fill="#4E7838" d="M19.2 25.6c-1.5-.4-2.9-1.3-4-2.4-1.9-2.1-2.9-4.9-2.7-7.7-.1-2.1.5-4.2 1.5-6L13 9a4.95967 4.95967 0 0 0 1.7767-2.2685 4.959 4.959 0 0 0 .2159-2.87337 4.96044 4.96044 0 0 0-1.4178-2.50851A4.96019 4.96019 0 0 0 11.0017.05259 4.95994 4.95994 0 0 0 5.96036 2.2873 4.95998 4.95998 0 0 0 6.1 7.8c.3.5.7.9 1.2 1.2-.7.4-2.5 1.4-3 1.7-.1.1-.1.3-.1.3 0 .7.2 1.4.5 2 1 .2 2 .3 2.9.3-.2 2.3-.5 4.7-.9 7-.4 1.3-4.6 1.5-5.3 3.1-.1.3-.2.6-.2.9 0 .4.1.8.4 1.2.1.1-1.5.5-1.5 2-.1.5.2 1.1.6 1.5.9.6 1.9 1.1 3 1.4 2.1.5 4.2.7 6.3.7 2.1 0 4.3-.2 6.4-.7 1.1-.2 2.1-.7 3-1.4.4-.4.7-1 .7-1.6 0-.7-.3-1.4-.9-1.8Z"/><path fill="#6C9D40" d="M8.4 27.9c-1.4-.2-5.9-.9-7-2.5-.4.2-.7.4-1 .8 0 1.7 5.5 2.5 8 2.2.9-.1.5-.4 0-.5Zm1.7-13c-.4-.2-2.6-1-2.6-1-.2 2.1-.5 4.2-.8 6.2-.4 1.3-4.6 1.5-5.3 3.1-.3.8 1.3 1.8 5.1 1.8 3.6 0 4-4.9 4.6-8.7.1-.7-.6-1.2-1-1.4Zm1.9-4.2c-.7-.6-1.5-1.2-2.3-1.7 2.3-.6 3.9-2.7 3.8-5 0-3-1.9-4-3.3-4h-.1C7.4.1 5.2 2.4 5.3 5.2c.1 1.5.8 2.9 2 3.8-.7.4-2.5 1.4-3 1.7-.1.1-.1.3-.1.3 0 .7.2 1.4.5 2 1.7.3 3.4.4 5.1.4h1.8c.3 0 .5-1.9.5-2.3 0-.1 0-.3-.1-.4Z"/><path fill="#000" d="M9.3 1.2c2.2.3-1 2.8-2 2.7-1-.1 0-3 2-2.7Zm13.1 22.9c-2.2.1-4.3-.7-5.9-2.2-1.5135-1.7405-2.301-3.9957-2.2-6.3-.1-2.3.7-4.5 2.2-6.3C18 7.7 20.2 6.9 22.4 7c.6 0 1.2 0 1.8.1l1.5.3c.4.1.9.3 1.3.5s.8.4 1.1.5v3.9h-.4l-.8-.6c-.3-.3-.7-.5-1-.7-.4-.2-.8-.4-1.3-.6a4.15003 4.15003 0 0 0-3.1 0c-.5.2-1 .6-1.4 1-.5.5-.8 1.1-1.1 1.7-.3.8-.4 1.7-.4 2.5 0 .9.1 1.8.4 2.6.2.6.6 1.2 1.1 1.7.3961.3882.8651.6941 1.38.9.5149.206 1.0655.3079 1.62.3.5 0 1.1-.1 1.6-.3.4-.2.9-.4 1.2-.6.4-.2.7-.4 1-.7l.7-.6h.4v3.9l-1 .5c-.4.2-.8.3-1.2.5-.5.2-1 .3-1.5.4-.6-.1-1.2-.1-1.9-.1Zm19.3-.3h-3.9v-6.2c0-.5 0-1-.1-1.5 0-.4-.1-.7-.2-1.1a.89974.89974 0 0 0-.2249-.3751A.89974.89974 0 0 0 36.9 14.4c-.3-.1-.7-.2-1-.2-.3 0-.7.1-1 .2-.4.1-.7.3-1 .6v8.8H30V6.9h4v5.8c.6-.5 1.2-.9 1.8-1.3.6-.3 1.3-.5 2-.4 1.1-.1 2.2.4 2.9 1.2.7 1 1.1 2.2 1 3.5v8.1Zm9.1.3c-1.9.1-3.9-.5-5.4-1.7-1.3-1.2-2-3-1.9-4.8-.1-1.8.5-3.5 1.8-4.9 1.3-1.3 3.1-1.9 4.9-1.8 1.6-.1 3.1.4 4.3 1.5 1 1.2 1.5 2.8 1.4 4.4v1.4h-8.5c0 .5.1 1 .4 1.5.2.4.5.7.8.9.4.2.7.4 1.2.5.5.1 1 .2 1.5.1.4 0 .9-.1 1.3-.1.4-.1.8-.2 1.2-.4.3-.1.6-.3.9-.5.2-.1.4-.3.7-.4h.4V23l-.9.4-1.1.3-1.3.3c-.6.1-1.2.1-1.7.1Zm1.3-8.2c0-.7-.2-1.4-.6-1.9-.4-.5-1-.7-1.7-.6-.7 0-1.3.2-1.8.7-.4.5-.7 1.2-.7 1.9l4.8-.1Zm9.9 8.2c-.9 0-1.7-.1-2.6-.3-.7-.2-1.4-.4-2-.7v-3.3h.3l.6.5c.3.2.6.4 1 .5.4.2.8.3 1.2.4.5.1 1 .2 1.5.2s1-.1 1.4-.2c.4-.1.6-.4.6-.8 0-.3-.1-.5-.3-.7-.3-.2-.7-.3-1.1-.4-.3-.1-.7-.1-1.1-.2l-1.2-.3c-.8-.2-1.6-.7-2.2-1.3-.5-.7-.8-1.5-.7-2.3 0-.5.1-1.1.4-1.6.3-.5.7-1 1.1-1.3.5-.4 1.2-.7 1.8-.9a9.85996 9.85996 0 0 1 4.8 0c.6.1 1.3.3 1.8.6v3H67c-.2-.1-.4-.3-.6-.4-.3-.2-.6-.3-.8-.4-.4-.2-.7-.3-1.1-.4-.4-.1-.8-.1-1.2-.1-.5 0-1 .1-1.4.3-.3.1-.6.4-.6.8 0 .3.1.5.3.7.4.2.8.4 1.2.5.3.1.7.2 1.1.2l1.2.3c.8.2 1.5.7 2 1.3.5.6.8 1.4.7 2.2 0 .6-.1 1.1-.4 1.7-.3.5-.7 1-1.2 1.3-.6.4-1.2.7-1.9.9-.6.1-1.4.2-2.3.2Zm11.9 0c-.9 0-1.7-.1-2.6-.3-.7-.2-1.4-.4-2-.7v-3.3h.3l.6.5c.3.2.6.4 1 .5.4.2.8.3 1.2.4.5.1 1 .2 1.5.2s1-.1 1.4-.2c.4-.1.6-.4.6-.8 0-.3-.1-.5-.3-.7-.3-.2-.7-.3-1.1-.4-.3-.1-.7-.1-1.1-.2l-1.2-.3c-.8-.2-1.6-.7-2.2-1.3-.5-.7-.8-1.5-.7-2.3 0-.5.1-1.1.4-1.6.3-.5.7-1 1.1-1.3.5-.4 1.2-.7 1.8-.9a9.85996 9.85996 0 0 1 4.8 0c.6.1 1.3.3 1.8.6v3h-.3c-.2-.1-.4-.3-.6-.4-.3-.2-.6-.3-.8-.4-.4-.2-.7-.3-1.1-.4-.4-.1-.8-.1-1.2-.1-.5 0-1 .1-1.4.3-.3.1-.6.4-.6.8 0 .3.1.5.3.7.4.2.8.4 1.2.5.3.1.7.2 1.1.2l1.2.3c.8.2 1.5.7 2 1.3.5.6.7 1.4.7 2.2 0 .6-.1 1.1-.4 1.7-.3.5-.7 1-1.2 1.3-.6.4-1.2.7-1.9.9-.6.1-1.4.2-2.3.2Zm7.7-.4H81c-.3 0-.5-.2-.5-.5v-1c0-.3.2-.5.5-.5h.6c.3 0 .5.2.5.5v1c.1.3-.2.5-.5.5Zm5 .2c-.5 0-1-.1-1.5-.2-.4-.2-.8-.4-1.2-.8-.3-.4-.6-.8-.8-1.3a5.65994 5.65994 0 0 1 0-3.6c.2-.5.4-.9.7-1.3.3-.3.7-.6 1.2-.7.5-.2 1-.3 1.5-.3.4 0 .8.1 1.2.2.4.1.7.2 1.1.4v1.5h-.1c-.1-.1-.2-.2-.4-.3-.2-.1-.4-.2-.5-.3-.2-.1-.4-.2-.7-.2-.2-.1-.5-.1-.7-.1-.6 0-1.3.3-1.7.8-.5.6-.7 1.4-.6 2.2 0 .8.2 1.5.6 2.2.4.5 1 .8 1.7.8.4 0 .9-.1 1.2-.3.4-.2.7-.4 1-.7h.1v1.5l-.5.2c-.2.1-.4.1-.5.2l-.6.1h-.5Zm10.2-4.1c.1 1.1-.3 2.2-1 3-.6.7-1.6 1.1-2.5 1.1-1 0-1.9-.4-2.6-1.1-.7-.9-1-1.9-.9-3-.1-1.1.3-2.2 1-3a3.5997 3.5997 0 0 1 2.4798-1.0599A3.59998 3.59998 0 0 1 95.8 16.7l.1.1c.6.9 1 2 .9 3Zm-1.4 0c.1-.8-.1-1.6-.6-2.2-.7-.9-2.1-1-2.9-.2l-.2.2c-.4.7-.6 1.5-.6 2.2-.1.8.1 1.6.6 2.2.7.9 2 1 2.9.3l.3-.3c.4-.6.6-1.4.5-2.2Zm11.5 4.1v-5.6c0-.3-.1-.5-.2-.7-.1-.2-.2-.3-.4-.4-.2-.1-.5-.2-.7-.1-.3 0-.6.1-.9.2-.4.2-.7.5-1 .8v6h-1.4v-5.7c0-.3-.1-.5-.2-.7-.1-.2-.2-.3-.4-.4-.2-.1-.5-.1-.8-.1-.3 0-.6.1-.9.3-.3.2-.7.4-.9.7v6h-1.4v-8h1.4v.9c.3-.3.7-.6 1.1-.9.3-.2.7-.3 1.2-.3.4 0 .9.1 1.3.3.4.2.7.6.8 1.1.3-.4.8-.7 1.2-1 .4-.2.8-.4 1.3-.4.3 0 .6.1.9.2.3.1.5.3.7.5.2.3.4.6.5.9.1.4.2.9.2 1.4V24l-1.4-.1Z"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h109v31H0z"/></clipPath></defs></svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Loading…
Cancel
Save