import new design from Jeremie's repo

pull/82/head
nicgirault 2 years ago
parent 4c2759d8c9
commit 341bf89b28

@ -0,0 +1,166 @@
import React from 'react';
import plotly from 'plotly.js/dist/plotly';
import createPlotComponent from 'react-plotly.js/factory';
import LoadingScreen from "./LoadingScreen";
function Bulles (props) {
// récupération des résultats de l'élection et stockage en tableau
const votesBrut = (Object.values(props))[0];
// déclaration et initialisation des mentions et couleurs
const mentionsBrut = ['Passable', 'Assez bien', 'Bien', 'Très bien', 'Excellent'];
const couleursBrut = ['#BB9C42', '#AABA44', '#DCDF44', '#B3D849', '#61AD45'];
//----------- Traitement des données -----------//
// fonction d'inversement des éléments de tableau
function inverse(obj){
var retobj = {};
for(var key in obj){
retobj[obj[key]] = key;
}
return retobj;
}
// fonction de réduction d'amplitude permettant de conserver une représentation ordinale du nombre de votes sans décalage visuel trop important
/*
Pattern de calcul :
Soient Ai, Bi, Ci, Di, Ei les nombres de votes initiaux fournis dans le tableau classé par ordre mélioratif de mention (de Passable à Excellent). Il vient :
A = 1
B = <{[1 + (Bi/Ai)] / 40} * A>
C = <{[1 + (Ci/Bi)] / 40} * B>
D = <{[1 + (Di/Ci)] / 40} * C>
E = <{[1 + (Ei/Di)] / 40} * D>
*/
function redAmpli(tab) {
var nvTab = [];
nvTab[0] = 100;
for(i = 1; i < tab.length; i++) {
nvTab[i] = ( (1 + ((tab[i]/tab[(i-1)]) / 40 ) ) * nvTab[(i-1)]);
}
return nvTab;
}
// déclaration de l'objet votes-mention et votes-couleur
var votesMentionNonOrdonnes = {};
var votesCouleurNonOrdonnes = {};
// initialisation votes-mention ordonnés croissants
for (var i = 0; i < mentionsBrut.length; i++) {
votesMentionNonOrdonnes[votesBrut[i]] = mentionsBrut[i];
votesCouleurNonOrdonnes[votesBrut[i]] = couleursBrut[i];
}
// déclaration des mentions-votes par ordre croissant
var votesMentionOrdonnes = inverse(votesMentionNonOrdonnes);
var votesCouleurOrdonnes = inverse(votesCouleurNonOrdonnes);
// vérification du nombre de votes classés par ordre croissant et passés initialement en propriétés au composant
console.log("Les données transmises au composant concernant le nombre de votes par mention sont : ");
console.log(votesBrut);
// vérification des mentions destinées à être associées aux votes et ordonnées initialement par ordre mélioratif
console.log("Les mentions des votes sont classées initialement par ordre mélioratif de la façon suivante :");
console.log(mentionsBrut);
// vérification du nombre de votes classés par ordre croissant
console.log("Les mentions-votes classées par ordre croissant de votes sont : ");
console.log(votesMentionOrdonnes);
// séparation des mentions et des votes
const mentions = Object.keys(votesMentionOrdonnes);
const votes = Object.values(votesMentionOrdonnes);
const couleurs = Object.keys(votesCouleurOrdonnes);
// vérification des mentions et des votes prêts à être traités pour la représentation graphique
console.log('La liste des mentions issue du classement par ordre croissant de votes est :');
console.log(mentions);
console.log('La liste du nombre de votes correspondant, classée par ordre croissant, est :');
console.log(votes);
// déclaration et initialisation des rayons de bulle pour la représentation graphique
var rayons = [];
rayons = redAmpli(votes)
// vérification des rayons
console.log('La liste des rayons à représenter graphiquement est la suivante :');
console.log(rayons);
// déclaration et initialisation des textes des bulles
const texteBulle1 = (mentions[0] + "<br>" + votes[0] + " votes").toString();
const texteBulle2 = (mentions[1] + "<br>" + votes[1] + " votes").toString();
const texteBulle3 = (mentions[2] + "<br>" + votes[2] + " votes").toString();
const texteBulle4 = (mentions[3] + "<br>" + votes[3] + " votes").toString();
const texteBulle5 = (mentions[4] + "<br>" + votes[4] + " votes").toString();
// déclaration et initialisation d'une instance de graphique en bulles
// const Plot = createPlotComponent(plotly);
const Plot = require('react-plotly.js').default;
//---------------------------------------------//
//----------- Affichage des données -----------//
const [loading, setLoading] = React.useState(true);
React.useEffect(() =>{
setTimeout(() => setLoading(false), 3000);
})
return (
// <div>
// {!loading ? (
// <React.Fragment>
<Plot
data={[
{
x: [0.7, 0.6, 0.5, 0.6, 0.7],
y: [0.3, 0.4, 0.5, 0.6, 0.5],
hovertemplate:
'<b>%{text}</b>' +
'<extra></extra>',
text: [texteBulle1, texteBulle2, texteBulle3, texteBulle4, texteBulle5],
showlegend: false,
mode: 'markers',
marker: {
color: [couleurs[0], couleurs[1], couleurs[2], couleurs[3], couleurs[4]],
size: rayons
}
}
]}
layout={ {
width: 600,
height: 600,
title: 'Nombre de voix par candidat',
xaxis: {
showgrid: false,
showticklabels: false,
showline: false,
zeroline: false,
range: [0, 1]
},
yaxis: {
showgrid: false,
showticklabels: false,
showline: false,
zeroline: false,
range: [0, 1]
}
} }
config={{
displayModeBar: false // this is the line that hides the bar.
}}
/>
// </React.Fragment>
// ) : (
// <LoadingScreen />
// )}
// </div>
)
}
export default Bulles;

@ -0,0 +1,41 @@
import * as React from "react";
import * as d3 from "d3";
function drawChart(svgRef: React.RefObject<SVGSVGElement>) {
const data = [12, 5, 6, 6, 9, 10];
const h = 120;
const w = 250;
const svg = d3.select(svgRef.current);
svg
.attr("width", w)
.attr("height", h)
.style("margin-top", 50)
.style("margin-left", 50);
svg
.selectAll("rect")
.data(data)
.enter()
.append("rect")
.attr("x", (d, i) => i * 40)
.attr("y", (d, i) => h - 10 * d)
.attr("width", 20)
.attr("height", (d, i) => d * 10)
.attr("fill", "steelblue");
}
const Chart: React.FunctionComponent = () => {
const svg = React.useRef<SVGSVGElement>(null);
React.useEffect(() => {
drawChart(svg);
}, [svg]);
return (
<div id="chart">
<svg ref={svg} />
</div>
);
};
export default Chart;

@ -0,0 +1,21 @@
import React, { useRef, useState, useEffect } from 'react';
import D3Chart from './D3Chart';
const ChartWrapper = () => {
const chartArea = useRef(null);
const [chart, setChart] = useState(null);
useEffect(() => {
if (!chart) {
setChart(new D3Chart(chartArea.current));
}
}, [chart]);
return (
<div ref={chartArea}></div>
);
}
export default ChartWrapper;

@ -0,0 +1,38 @@
import * as d3 from 'd3';
const url = "https://udemy-react-d3.firebaseio.com/tallest_men.json";
const WIDTH = 800;
const HEIGHT = 500;
export default class D3Chart {
constructor(element) {
const svg = d3.select(element)
.append("svg")
.attr("width", 800)
.attr("height", 500)
d3.json(url).then(data => {
const max = d3.max(data, d => d.height)
const y = d3.scaleLinear()
.domain([0, max])
.range([0, HEIGHT])
const x = d3.scaleBand()
.domain(data.map(d => d.name))
.range([0, WIDTH])
.padding(0.4)
const rects = svg.selectAll("rect")
.data(data)
rects.enter()
.append("rect")
.attr("x", d => x(d.name))
.attr("y", d => HEIGHT - y(d.height))
.attr("width", x.bandwidth)
.attr("height", d => y(d.height))
.attr("fill", "grey")
})
}
}

@ -0,0 +1,75 @@
import React from "react"
import styled from "styled-components"
const Screen = styled.div`
position: relative;
opacity: 0;
animation: fade 0.4s ease-in forwards;
background: black;
@keyframes fade {
0% {
opacity: 0.4;
}
50% {
opacity: 0.8;
}
100% {
opacity: 1;
}
}
`;
const Balls = styled.div`
display: flex;
.ball {
height: 20px;
width: 20px;
border-radius: 50%;
background: red;
margin: 0 6px 0 0;
animation: oscillate 0.7s ease-in forwards infinite;
}
.one {
animation-delay: 0.5s;
}
.two {
animation-delay: 1s;
}
.three {
animation-delay: 2s;
}
@keyframes oscillate {
0% {
transform: translateY(0);
}
50% {
transform: translateY(20px);
}
100% {
transform: translateY(0);
}
}
`;
const LoadingScreen = () => {
return (
<Screen>
<Balls>
<div className="ball one"></div>
<div className="ball two"></div>
<div className="ball three"></div>
</Balls>
</Screen>
);
};
export default LoadingScreen;

@ -0,0 +1,62 @@
import React, { useEffect, useRef, useState } from "react";
import ReactDOM from "react-dom";
import styled from "styled-components";
const Modal = ({ show, onClose, children, title }) => {
const handleCloseClick = (e) => {
e.preventDefault();
onClose();
};
const modalContent = show ? (
<StyledModalOverlay>
<StyledModal>
<StyledModalHeader>
<a href="#" onClick={handleCloseClick}>
x
</a>
</StyledModalHeader>
{title && <StyledModalTitle>{title}</StyledModalTitle>}
<StyledModalBody>{children}</StyledModalBody>
</StyledModal>
</StyledModalOverlay>
) : null;
return (
modalContent
);
};
const StyledModalBody = styled.div`
padding-top: 10px;
`;
const StyledModalHeader = styled.div`
display: flex;
justify-content: flex-end;
font-size: 25px;
`;
const StyledModal = styled.div`
background: white;
width: 500px;
height: 600px;
border-radius: 15px;
padding: 15px;
`;
const StyledModalOverlay = styled.div`
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background-color: rgba(0, 0, 0, 0.5);
`;
export default Modal;

@ -0,0 +1,37 @@
import React, {Fragment} from 'react';
import Head from 'next/head';
import dynamic from 'next/dynamic';
const Bulles = dynamic(import('./Bulles'), {
ssr: false
})
const nbVotesPassables = 15;
const nbVotesAssezBien = 200;
const nbVotesBien = 389;
const nbVotesTresBien = 12;
const nbVotesExcellent = 2;
const resultats = [nbVotesPassables, nbVotesAssezBien, nbVotesBien, nbVotesTresBien, nbVotesExcellent];
var totalVotes = 0;
for(var i = 0; i < resultats.length; i++) {
totalVotes += resultats[i];
}
function SystemeVote() {
return (
<Fragment>
<Bulles donnees={resultats} />
<p style={{color: '#000000'}}>Le total des votes est de {totalVotes}.</p>
</Fragment>
);
}
export default SystemeVote;

@ -0,0 +1,37 @@
import { useState } from "react";
export default function AddPicture(props) {
const [image, setImage] = useState(null);
const [createObjectURL, setCreateObjectURL] = useState(null);
const uploadToClient = (event) => {
if (event.target.files && event.target.files[0]) {
const i = event.target.files[0];
setImage(i);
setCreateObjectURL(URL.createObjectURL(i));
}
};
return (
<div className="ajout-avatar">
<div>
<div className="avatar-placeholer">
<img src={createObjectURL} />
</div>
</div>
<div className="avatar-text">
<h4>Photo <span> (facultatif)</span></h4>
<p>Importer une photo.<br />format : jpg, png, pdf</p>
<div className="btn-ajout-avatar">
<input type="file" name="myImage" id="myImage" onChange={uploadToClient} />
<label className="inputfile" for="myImage">Importer une photo</label>
</div>
</div>
</div>
);
}

@ -0,0 +1,24 @@
import { useState } from 'react'
import { Alert, Button } from 'react-bootstrap';
import { faTimes, faExclamationCircle } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
export default function AlertDismissibleExample() {
const [show, setShow] = useState(true);
if (show) {
return (
<Alert className="preventWarning">
<Alert.Heading>
<div>
<FontAwesomeIcon icon={faExclamationCircle} className="mr-2" />
<span>2 candidats minimum</span>
</div>
<FontAwesomeIcon onClick={() => setShow(false)} icon={faTimes} className="mr-2" />
</Alert.Heading>
</Alert>
);
}
return null;
}

@ -13,13 +13,13 @@ const ButtonWithConfirm = ({className, label, onDelete}) => {
const toggle = () => setVisibility(!visibled)
return (
<div className="input-group-append">
<div className="input-group-append cancelButton">
<button
type="button"
className={className}
onClick={toggle}
>
<FontAwesomeIcon icon={faTrashAlt} />
<div className="annuler"><img src="/arrow-dark-left.svg" /><p>Annuler</p></div>
</button>
<Modal
isOpen={visibled}

@ -1,53 +1,141 @@
import {useState} from 'react'
import { useState } from 'react'
import ButtonWithConfirm from "./ButtonWithConfirm";
import {
Row,
Col,
Label,
Input,
InputGroup,
InputGroupAddon,
Button, Modal, ModalHeader, ModalBody, ModalFooter
} from "reactstrap";
import {useTranslation} from "react-i18next";
import { useTranslation } from "react-i18next";
import {
sortableHandle
} from "react-sortable-hoc";
import HelpButton from "@components/form/HelpButton";
const DragHandle = sortableHandle(({children}) => (
import AddPicture from "@components/form/AddPicture";
import {
faPlus, faCogs, faCheck
} from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
const DragHandle = sortableHandle(({ children }) => (
<span className="input-group-text indexNumber">{children}</span>
));
const CandidateField = ({label, candIndex, onDelete, ...inputProps}) => {
const {t} = useTranslation();
const CandidateField = ({ label, description, candIndex, onDelete, onAdd, ...inputProps }) => {
const { t } = useTranslation();
const [visibled, setVisibility] = useState(false);
const toggle = () => setVisibility(!visibled)
const test = () => {
toggle();
onAdd();
}
const [image, setImage] = useState(null);
const [createObjectURL, setCreateObjectURL] = useState(null);
const uploadToClient = (event) => {
if (event.target.files && event.target.files[0]) {
const i = event.target.files[0];
setImage(i);
setCreateObjectURL(URL.createObjectURL(i));
}
};
return (
<Row>
<Col>
<InputGroup>
<InputGroupAddon addonType="prepend">
<DragHandle>
<span>{candIndex + 1}</span>
</DragHandle>
</InputGroupAddon>
<Input
type="text"
value={label}
{...inputProps}
placeholder={t("resource.candidatePlaceholder")}
tabIndex={candIndex + 1}
maxLength="250"
autoFocus
/>
<ButtonWithConfirm className="btn btn-primary border-light" label={label} onDelete={onDelete}>
</ButtonWithConfirm>
</InputGroup>
</Col>
<Col xs="auto" className="align-self-center pl-0">
<Row className="rowNoMargin">
<div className="candidateButton">
<div className="avatarThumb">
<img src={createObjectURL} alt="" />
<span className="ml-2">Ajouter un candidat</span>
</div>
<FontAwesomeIcon onClick={toggle} icon={faPlus} className="mr-2 cursorPointer" />
</div>
<Modal
isOpen={visibled}
toggle={toggle}
className="modal-dialog-centered"
>
<ModalHeader className='closeModalAddCandidate' toggle={toggle}>
</ModalHeader>
<ModalBody>
<Col className="addCandidateCard">
<InputGroup className="addCandidateForm">
<InputGroupAddon addonType="prepend" className="addCandidateHeader">
<DragHandle>
<h6>Ajouter un participant</h6>
<p>Ajoutez une photo, le nom et une description au candidat.</p>
<div className="ajout-avatar">
<div>
<div className="avatar-placeholer">
<img src={createObjectURL} />
</div>
</div>
<div className="avatar-text">
<h4>Photo <span> (facultatif)</span></h4>
<p>Importer une photo.<br />format : jpg, png, pdf</p>
<div className="btn-ajout-avatar">
<input type="file" name="myImage" id="myImage" onChange={uploadToClient} />
<label className="inputfile" for="myImage">Importer une photo</label>
</div>
</div>
</div>
<img src="/avatar.svg" />
</DragHandle>
</InputGroupAddon>
<Label className="addCandidateText">Nom et prenom</Label>
<Input
type="text"
value={label}
{...inputProps}
placeholder={t("resource.candidatePlaceholder")}
tabIndex={candIndex + 1}
maxLength="250"
autoFocus
className="addCandidateText"
/>
<Label className="sss">Description (Facultatif)</Label>
<Input
type="text"
value={description}
{...inputProps}
placeholder="Texte"
tabIndex={candIndex + 1}
maxLength="250"
autoFocus
className="sss"
/>
<Row className="removeAddButtons">
<ButtonWithConfirm className="removeButton" label={label} onDelete={onDelete, toggle}></ButtonWithConfirm>
<Button className="addButton" label={label} onClick={test}>
<FontAwesomeIcon icon={faPlus} />
<span>Ajouter</span>
</Button>
</Row>
</InputGroup>
</Col>
</ModalBody></Modal>
{/* <Col xs="auto" className="align-self-center pl-0">
<HelpButton>
{t(
"Enter the name of your candidate or proposal here (250 characters max.)"
)}
</HelpButton>
</Col>
</Col> */}
</Row>
);
}

@ -16,7 +16,7 @@ import {
} from "react-sortable-hoc";
import arrayMove from "array-move"
import CandidateField from './CandidateField'
import AlertDismissibleExample from './AlertButton'
// const SortableItem = sortableElement(({className, ...childProps}) => <li className={className}><CandidateField {...childProps} /></li>);
//
// const SortableContainer = sortableContainer(({children}) => {
@ -36,7 +36,7 @@ const CandidatesField = ({onChange}) => {
const addCandidate = () => {
if (candidates.length < 1000) {
candidates.push({label: "", fieldRef: createRef()});
candidates.push({label: "", description: "", fieldRef: createRef()});
setCandidates([...candidates]);
onChange(candidates)
} else {
@ -53,8 +53,8 @@ const CandidatesField = ({onChange}) => {
const removeCandidate = index => {
if (candidates.length === 1) {
const newCandidates = []
newCandidates.push({label: "", fieldRef: createRef()});
newCandidates.push({label: "", fieldRef: createRef()});
newCandidates.push({label: "", description: "", fieldRef: createRef()});
newCandidates.push({label: "", description: "", fieldRef: createRef()});
setCandidates(newCandidates);
onChange(newCandidates)
}
@ -65,8 +65,9 @@ const CandidatesField = ({onChange}) => {
}
};
const editCandidate = (index, label) => {
const editCandidate = (index, label, description) => {
candidates[index].label = label
candidates[index].description = description
setCandidates([...candidates]);
onChange(candidates);
};
@ -88,7 +89,10 @@ const CandidatesField = ({onChange}) => {
};
return (
<>
<div className="sectionAjouterCandidat">
<div className="ajouterCandidat">
<h4>Saisissez ici le nom de vos candidats.</h4>
<AlertDismissibleExample />
<SortableContainer onSortEnd={onSortEnd}>
{candidates.map((candidate, index) => {
const className = "sortable"
@ -99,26 +103,18 @@ const CandidatesField = ({onChange}) => {
index={index}
candIndex={index}
label={candidate.label}
description={candidate.description}
onDelete={() => removeCandidate(index)}
onChange={(e) => editCandidate(index, e.target.value)}
onKeyPress={(e) => handleKeyPress(e, index)}
onAdd={addCandidate}
innerRef={candidate.fieldRef}
/>
)
})}
</SortableContainer>
<Button
color="secondary"
className="btn-block mt-2"
tabIndex={candidates.length + 2}
type="button"
onClick={addCandidate}
>
<FontAwesomeIcon icon={faPlus} className="mr-2" />
{t("Add a proposal")}
</Button>
</>
</div>
</div>
);
}

@ -2,6 +2,8 @@ import Link from "next/link";
import { useTranslation } from "next-i18next";
import Paypal from "../banner/Paypal";
import { useBbox } from "./useBbox";
import { Button, Row, Col } from "reactstrap";
import LanguageSelector from "./LanguageSelector";
const Footer = () => {
const linkStyle = { whiteSpace: "nowrap" };
@ -12,81 +14,68 @@ const Footer = () => {
const [bboxLink3, link3] = useBbox();
const [bboxLink4, link4] = useBbox();
const [bboxLink5, link5] = useBbox();
const [bboxLink6, link6] = useBbox();
const [bboxLink7, link7] = useBbox();
return (
<footer className="text-center">
<div>
<ul className="tacky">
<li
ref={link1}
className={bboxLink1.top === bboxLink2.top ? "" : "no-tack"}
>
<Link href="/" style={linkStyle}>
{t("Homepage")}
</Link>
</li>
<li
ref={link2}
className={bboxLink2.top === bboxLink3.top ? "" : "no-tack"}
>
<Link href="/faq" style={linkStyle}>
{t("FAQ")}
</Link>
</li>
<li
ref={link3}
className={bboxLink3.top === bboxLink4.top ? "" : "no-tack"}
>
<a href="mailto:app@mieuxvoter.fr?subject=[HELP]" style={linkStyle}>
{t("resource.help")}
<Row className="tacky">
<Col className="col-md-10 col-sm-10">
<Row className="footerRow">
<Col className="col-md-1 footerLogo">
<img src="/logos/logo-footer.svg" alt="logo of Mieux Voter" />
</Col>
<Col ref={link1}
className={bboxLink1.top === bboxLink2.top ? "" : "no-tack"}
>
<Link href="/" style={linkStyle}>
Le jugement majoritaire
</Link>
</Col>
<Col ref={link2}
className={bboxLink2.top === bboxLink3.top ? "" : "no-tack"}
>
<Link
href="https://mieuxvoter.fr/"
target="_blank"
rel="noopener noreferrer"
style={linkStyle}
>
{t("Who are we?")}
</Link>
</Col>
<Col ref={link3}
className={bboxLink3.top === bboxLink4.top ? "" : "no-tack"}
>
<Link href="/faq" style={linkStyle}>
{t("FAQ")}
</Link>
</Col>
<Col ref={link4}
className={bboxLink4.top === bboxLink5.top ? "" : "no-tack"}
>
<Link href="/" style={linkStyle}>
Actualités
</Link>
</Col>
<Col ref={link5}>
<a href="mailto:app@mieuxvoter.fr?subject=[HELP]" style={linkStyle}>
Nous contacter
</a>
</li>
<li
ref={link4}
className={bboxLink4.top === bboxLink5.top ? "" : "no-tack"}
>
<a
href="https://mieuxvoter.fr/"
target="_blank"
rel="noopener noreferrer"
style={linkStyle}
>
{t("Who are we?")}
</a>
</li>
<li
ref={link5}
className={bboxLink5.top === bboxLink6.top ? "" : "no-tack"}
>
<Link href="/privacy-policy" style={linkStyle}>
{t("Privacy policy")}
</Link>
</li>
<li
ref={link6}
className={bboxLink6.top === bboxLink7.top ? "" : "no-tack"}
>
<Link href="/legal-notices" style={linkStyle}>
{t("resource.legalNotices")}
</Link>
</li>
<li ref={link7}>
{" "}
<a
href="https://github.com/MieuxVoter"
target="_blank"
rel="noopener noreferrer"
style={linkStyle}
>
{t("Source code")}
</a>
</li>
</ul>
</div>
<div className="mt-3">
<Paypal btnColor="btn-primary" />
</Col>
<Col><LanguageSelector /></Col>
</Row>
</Col>
<Col className="footerButton">
<Col className="col-xl-10 col-md-12 offset-xl-2">
<Button className="btn-primary btn-footer">
<a href="/">
Soutenez-nous
</a>
</Button>
</Col>
</Col>
</Row>
</div>
</footer>
);

@ -1,61 +1,125 @@
/* eslint react/prop-types: 0 */
import {useState} from "react";
import {Collapse, Navbar, NavbarToggler, Nav, NavItem} from "reactstrap";
import { useState } from "react";
import {
Collapse,
Navbar,
NavbarToggler,
Nav,
NavItem,
Button,
} from "reactstrap";
import Link from "next/link";
import Head from "next/head";
import {useTranslation} from 'next-i18next'
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faRocket} from "@fortawesome/free-solid-svg-icons";
import { useTranslation } from "next-i18next";
import LanguageSelector from "./LanguageSelector";
import Accordion from "react-bootstrap/Accordion";
const Header = () => {
const [isOpen, setOpen] = useState(false)
const [isOpen, setOpen] = useState(false);
const toggle = () => setOpen(!isOpen);
const {t} = useTranslation()
const { t } = useTranslation("common");
return (
<>
<Head><title>{t("title")}</title></Head>
<header>
<Navbar color="light" light expand="md">
<Link href="/">
<a className="navbar-brand">
<div className="d-flex flex-row">
<div className="align-self-center">
<img src="/logos/logo-color.svg" alt="logo" height="32" />
</div>
<div className="align-self-center ml-2">
<div className="logo-text">
<h1>
{t("Voting platform")}
<small>{t("Majority Judgment")}</small>
</h1>
</div>
</div>
</div>
</a>
</Link>
<NavbarToggler onClick={toggle} />
<Collapse isOpen={isOpen} navbar>
<Nav className="ml-auto" navbar>
<header className="mobile-header">
<Navbar light className="nav-mobile" expand="lg">
<div className="navbar-header">
<Button onClick={toggle} className="navbar-toggle">
<img src="/open-menu-icon.svg" alt="" height="50" />
</Button>
</div>
<Collapse isOpen={isOpen} navbar>
<Nav className="ml-auto navbar-nav-scroll" navbar>
<div className="d-flex flex-row justify-content-between nav-logo">
<Link href="/">
<a className="navbar-brand navbar-brand-mobile">
<img src="/logos/logo.svg" alt="logo" height="80" />
</a>
</Link>
<Button onClick={toggle} className="navbar-toggle navbar-close-button">
<img height="20" src="/close-menu-icon.svg" alt="logo" />
</Button>
</div>
<div>
<NavItem>
<Link href="/new/">
<a className="text-primary nav-link"> <FontAwesomeIcon icon={faRocket} className="mr-2" />
{t("Start an election")}
<Link href="/">
<a onClick={toggle} className="navbar-my-link nav-link">
Le jugement majoritaire
</a>
</Link>
</NavItem>
<NavItem style={{width: "80px"}}>
<LanguageSelector />
<NavItem>
<Link href="/">
<a onClick={toggle} className="navbar-my-link nav-link">
Qui sommes-nous ?
</a>
</Link>
</NavItem>
<NavItem>
<Link href="/">
<a onClick={toggle} className="navbar-my-link nav-link">
Foire aux questions
</a>
</Link>
</NavItem>
</Nav>
</Collapse>
</Navbar>
</header>
</>
<NavItem>
<Link href="/">
<a onClick={toggle} className="navbar-my-link nav-link">
On parle de nous
</a>
</Link>
</NavItem>
<NavItem>
<Link href="/">
<a onClick={toggle} className="navbar-my-link nav-link">
Nous contactez
</a>
</Link>
</NavItem>
<NavItem>
<LanguageSelector style={{ width: "80px" }} />
</NavItem>
</div>
<NavItem className="navbar-credits-container">
<Button className="btn-primary btn-nav">
<a href="/">
Soutenez-nous
</a>
</Button>
<hr />
<div className="navbar-credits sharing sharing-mobile">
<p>Partagez lapplication Mieux voter</p>
<Link href="https://www.facebook.com/mieuxvoter.fr/"><img src="/facebook.svg" className="mr-2" /></Link>
<Link href="https://twitter.com/mieux_voter"><img src="/twitter.svg" className="mr-2" /></Link>
</div>
<div className="d-flex">
<Link href="https://jimmys-box.com/">
<a onClick={toggle} className="navbar-jimmy-link">
développé parJIMMY
</a>
</Link>
</div>
</NavItem>
</Nav>
</Collapse>
</Navbar>
</header>
);
}
};
export default Header;

@ -0,0 +1,61 @@
/* eslint react/prop-types: 0 */
import {useState} from "react";
import {Collapse, Navbar, NavbarToggler, Nav, NavItem} from "reactstrap";
import Link from "next/link";
import Head from "next/head";
import {useTranslation} from 'next-i18next'
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faRocket} from "@fortawesome/free-solid-svg-icons";
import LanguageSelector from "./LanguageSelector";
const Header = () => {
const [isOpen, setOpen] = useState(false)
const toggle = () => setOpen(!isOpen);
const {t} = useTranslation()
return (
<>
<Head><title>{t("title")}</title></Head>
<header>
<Navbar color="light" light expand="md">
<Link href="/">
<a className="navbar-brand">
<div className="d-flex flex-row">
<div className="align-self-center">
<img src="/logos/logo-color.svg" alt="logo" height="32" />
</div>
<div className="align-self-center ml-2">
<div className="logo-text">
<h1>
{t("Voting platform")}
<small>{t("Majority Judgment")}</small>
</h1>
</div>
</div>
</div>
</a>
</Link>
<NavbarToggler onClick={toggle} />
<Collapse isOpen={isOpen} navbar>
<Nav className="ml-auto" navbar>
<NavItem>
<Link href="/new/">
<a className="text-primary nav-link"> <FontAwesomeIcon icon={faRocket} className="mr-2" />
{t("Start an election")}
</a>
</Link>
</NavItem>
<NavItem style={{width: "80px"}}>
<LanguageSelector />
</NavItem>
</Nav>
</Collapse>
</Navbar>
</header>
</>
);
}
export default Header;

@ -25,6 +25,7 @@ const LanguageSelector = () => {
optionsSize={22}
showSelectedLabel={false}
showSecondaryOptionLabel={false}
className="menu-flags"
/>
);
};

@ -0,0 +1,47 @@
/* eslint react/prop-types: 0 */
import { useState } from "react";
import { Container, Row, Col, Nav, NavItem } from "reactstrap";
import Link from "next/link";
import Head from "next/head";
import { useTranslation } from 'next-i18next'
export default function HeaderResultResult() {
;
return (
<Container className="sectionHeaderResult">
<Row>
<Col className="col-md-3">
<Row>
<Col className="sectionHeaderResultSideCol">
<img src="/calendar.svg" />
<p>Clos il y a 2 jours</p></Col>
</Row>
<Row>
<Col className="sectionHeaderResultSideCol"><img src="/avatarBlue.svg" />
<p>14 votants</p></Col>
</Row>
</Col>
<Col className="sectionHeaderResultMiddleCol col-md-6">
<h3>Quel est le meilleur candidat pour les éléctions présidentielle ?</h3>
</Col>
<Col className="col-md-3">
<Row>
<Col className="sectionHeaderResultSideCol"><img src="/arrowUpload.svg" /><p>Télécharger les résultats</p></Col>
</Row>
<Row>
<Col className="sectionHeaderResultSideCol"><img src="/arrowL.svg" /><p>Partagez les résultats</p></Col>
</Row>
</Col>
</Row>
</Container>
);
}

@ -0,0 +1,38 @@
/* eslint react/prop-types: 0 */
import { useState } from "react";
import { Container, Row, Col, Nav, NavItem } from "reactstrap";
import Link from "next/link";
import Head from "next/head";
import { useTranslation } from 'next-i18next'
export default function HeaderMobileResult() {
;
return (
<Container className="sectionHeaderResult">
<Row className="sectionHeaderResultMiddleCol">
<h3>Quel est le meilleur candidat pour les éléctions présidentielle ?</h3>
</Row>
<Row>
<Col className="sectionHeaderResultSideCol">
<img src="/calendar.svg" />
<p>Clos il y a 2 jours</p>
</Col>
<Col className="sectionHeaderResultSideCol">
<img src="/avatarBlue.svg" />
<p>14 votants</p>
</Col>
</Row>
</Container >
);
}

@ -0,0 +1,14 @@
import React from 'react';
import HeaderDesktopResult from './HeaderDesktopResult';
import HeaderMobileResult from './HeaderMobileResult';
import { useMediaQuery } from "react-responsive";
export default function HeaderResult() {
const isMobile = useMediaQuery({ query: "(max-width: 800px)" });
if (isMobile) return <HeaderMobileResult />;
else return <HeaderDesktopResult />;
}

@ -0,0 +1,18 @@
import React from 'react';
import plotly from 'plotly.js/dist/plotly';
import createPlotComponent from 'react-plotly.js/factory';
// const Plot = createPlotComponent(plotly);
const Plot = require('react-plotly.js').default;
export default () => (
<Plot
data={[
{
type: 'bar',
x: ['Taubira', 'Hidalgo', 'Mélenchon'],
y: [29,150,85]
}
]}
layout={ { width: 1000, height: 500, title: 'Nombre de voix par candidat' } }
/>
)

@ -1,6 +1,7 @@
const { i18n } = require("./next-i18next.config");
module.exports = {
i18n,
// See https://github.com/netlify/netlify-plugin-nextjs/issues/223
unstableNetlifyFunctionsSupport: {

4779
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -4,7 +4,7 @@
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"build": "next build && next export",
"start": "next start",
"export": "next export"
},
@ -15,14 +15,20 @@
"@fortawesome/free-solid-svg-icons": "^5.15.3",
"@fortawesome/react-fontawesome": "^0.1.14",
"@svgr/webpack": "^5.5.0",
"@weknow/react-bubble-chart-d3": "^1.0.12",
"array-move": "^3.0.1",
"bootstrap": "^4.6.0",
"bootstrap-scss": "^4.6.0",
"d3": "^7.3.0",
"d3-require": "^1.2.4",
"domexception": "^2.0.1",
"dotenv": "^8.6.0",
"form-data": "^4.0.0",
"gsap": "^3.9.1",
"handlebars": "^4.7.7",
"handlebars-i18next": "^1.0.1",
"highcharts": "^9.3.2",
"highcharts-react-official": "^3.1.0",
"i18next": "^20.2.2",
"i18next-chained-backend": "^2.1.0",
"i18next-fs-backend": "^1.1.1",
@ -32,15 +38,25 @@
"mailgun.js": "^3.3.2",
"next": "^10.2.0",
"next-i18next": "^8.2.0",
"plotly.js": "^2.8.3",
"plotly.js-dist": "^2.8.3",
"query-string": "^7.0.0",
"ramda": "^0.27.2",
"react": "^17.0.2",
"react-bootstrap": "^2.1.0",
"react-bubble-chart": "^0.4.0",
"react-dom": "^17.0.2",
"react-flags-select": "^2.1.2",
"react-google-charts": "^3.0.15",
"react-i18next": "^11.8.15",
"react-modal": "^3.14.4",
"react-multi-email": "^0.5.3",
"react-plotly.js": "^2.5.1",
"react-responsive": "^9.0.0-beta.6",
"react-sortable-hoc": "^2.0.0",
"react-toastify": "^7.0.4",
"reactstrap": "^8.9.0",
"sass": "^1.32.13"
"sass": "^1.32.13",
"styled-components": "^5.3.3"
}
}

@ -1,13 +1,13 @@
import { useState } from "react";
import Head from "next/head";
import Link from "next/link";
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
import { useTranslation } from "next-i18next";
import { Container, Row, Col, Button, Input } from "reactstrap";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faRocket } from "@fortawesome/free-solid-svg-icons";
import config from "../next-i18next.config.js";
import VoteBallot from './vote/[pid]/[[...tid]]';
import CandidatesField from '../components/form/CandidatesField';
export const getStaticProps = async ({ locale }) => ({
props: {
...(await serverSideTranslations(locale, [], config)),
@ -18,53 +18,127 @@ const Home = () => {
const [title, setTitle] = useState(null);
const { t } = useTranslation();
return (
<Container>
<form autoComplete="off">
<Row>
<img
src="logos/logo-line-white.svg"
alt="logo of Mieux Voter"
height="128"
className="d-block ml-auto mr-auto mb-4"
/>
</Row>
<Row>
<Col className="text-center">
<h3>{t("common.valueProp")}</h3>
<Container className="homePage">
<section>
<form className="sectionOneHomeForm" autoComplete="off">
<Row className="sectionOneHomeRowOne">
<Col className="sectionOneHomeContent">
<Row>
<img
src="/logos/logo.svg"
alt="logo of Mieux Voter"
height="128"
className="d-block"
/>
</Row>
<Row>
<h4>Simple et gratuit</h4>
</Row>
<Row>
<h2>Organisez un vote avec le Jugement Majoritaire</h2>
</Row>
<Row>
<Input
placeholder={t("resource.writeQuestion")}
autoFocus
required
className="mt-2 sectionOneHomeInput"
name="title"
value={title ? title : ""}
onChange={(e) => setTitle(e.target.value)}
maxLength="250"
/>
</Row>
<Row>
<Link href={{ pathname: "/new/", query: { title: title } }}>
<Button
type="submit"
className="btn btn-block btn-secondary mt-2"
>
{t("resource.start")}
<img src="/arrow-white.svg" className="mr-2" />
</Button>
</Link>
</Row>
<Row className="noAds">
<p>{t("resource.noAds")}</p>
</Row>
</Col>
<Col></Col>
</Row>
<Row>
</Row>
</form>
</section>
<section className="sectionTwoHome">
<Row className="sectionTwoRowOne">
<Col className="sectionTwoRowOneCol">
<img
src="/urne.svg"
alt="icone d'urne"
height="128"
className="d-block mx-auto"
/>
<h4>Simple</h4>
<p>Créez un vote en moins dune minute</p>
</Col>
</Row>
<Row className="mt-2">
<Col xs="12" md="9" xl="6" className="offset-xl-2">
<Input
placeholder={t("resource.writeQuestion")}
autoFocus
required
className="mt-2"
name="title"
value={title ? title : ""}
onChange={(e) => setTitle(e.target.value)}
maxLength="250"
<Col className="sectionTwoRowOneCol">
<img
src="/email.svg"
alt="icone d'enveloppe"
height="128"
className="d-block mx-auto"
/>
<h4>Gratuit</h4>
<p>Envoyez des invitations par courriel sans limite d'envoi</p>
</Col>
<Col xs="12" md="3" xl="2">
<Link href={{ pathname: "/new/", query: { title: title } }}>
<Button
type="submit"
className="btn btn-block btn-secondary mt-2"
>
<FontAwesomeIcon icon={faRocket} className="mr-2" />
{t("resource.start")}
</Button>
</Link>
<Col className="sectionTwoRowOneCol">
<img
src="/respect.svg"
alt="icone de mains qui se serrent"
height="128"
className="d-block mx-auto"
/>
<h4>Respect de votre vie privée</h4>
<p>Aucune donnée personnelle n'est enregistrée</p>
</Col>
</Row>
<Row className="mt-4">
<Col className="text-center">
<p>{t("resource.noAds")}</p>
</Col>
<Row className="sectionTwoRowTwo">
<Row className="sectionTwoHomeImage">
<img src="/vote.svg" />
</Row>
</form>
<Row className="sectionTwoRowTwoCol">
<h3 className="col-md-7">Une expérience de vote démocratique et intuitive</h3>
</Row>
<Row className="sectionTwoRowTwoCol">
<Col className="sectionTwoRowTwoColText col-md-4">
<h5 className="">Exprimez toute votre opinion</h5>
<p>Au jugement majoritaire, chaque candidat est évalué sur une grille de mention. Vous naurez plus besoin de faire un vote stratégique.</p>
</Col>
<Col className="sectionTwoRowTwoColText col-md-4 offset-md-1">
<h5 className="">Obtenez le meilleur consensus</h5>
<p>Le profil des mérites dresse un panorama précis de lopinion des électeurs. Le gagnant du vote est celui qui est la meilleure mention majoritaire.</p>
</Col>
</Row>
<Row className="sectionTwoRowThreeCol">
<Button
className="btn btn-block btn-secondary btn-sectionTwoHome"
>
Découvrez le jugement majoritaire
<img src="/arrow-white.svg" className="mr-2" />
</Button>
</Row>
</Row>
<Row className="sharing">
<p>Partagez lapplication Mieux voter</p>
<Link href="https://www.facebook.com/mieuxvoter.fr/"><img src="/facebook.svg" className="mr-2" /></Link>
<Link href="https://twitter.com/mieux_voter"><img src="/twitter.svg" className="mr-2" /></Link>
</Row>
</section>
</Container>
);
};

@ -29,17 +29,17 @@ export async function getServerSideProps({ query: { pid }, locale }) {
serverSideTranslations(locale, [], config),
]);
if (details.includes(ELECTION_NOT_STARTED_ERROR)) {
details = { title: "", on_invitation_only: true, restrict_results: true };
} else {
if (typeof details === "string" || details instanceof String) {
return { props: { err: details, ...translations } };
}
// if (details.includes(ELECTION_NOT_STARTED_ERROR)) {
// details = { title: "", on_invitation_only: true, restrict_results: true };
// } else {
// if (typeof details === "string" || details instanceof String) {
// return { props: { err: details, ...translations } };
// }
if (!details.title) {
return { props: { err: "Unknown error", ...translations } };
}
}
// if (!details.title) {
// return { props: { err: "Unknown error", ...translations } };
// }
// }
return {
props: {

@ -37,6 +37,7 @@ import Loader from "@components/wait";
import CandidatesField from "@components/form/CandidatesField";
import ConfirmModal from "@components/form/ConfirmModal";
import config from "../../next-i18next.config.js";
import Modal from '../../components/Modal'
// Error messages
const AT_LEAST_2_CANDIDATES_ERROR = "Please add at least 2 candidates.";
@ -88,10 +89,11 @@ const CreateElection = (props) => {
// default value : start at the last hour
const now = new Date();
const [title, setTitle] = useState("");
const [candidates, setCandidates] = useState([{ label: "" }, { label: "" }]);
const [candidates, setCandidates] = useState([{ label: "" }, { description: "" }]);
const [numGrades, setNumGrades] = useState(5);
const [waiting, setWaiting] = useState(false);
const [isAdvancedOptionsOpen, setAdvancedOptionsOpen] = useState(false);
const [isAddCandidateMOpen, setAddCandidateMOpen] = useState(false);
const [isTimeLimited, setTimeLimited] = useState(false);
const [restrictResult, setRestrictResult] = useState(false);
const [start, setStart] = useState(
@ -123,6 +125,10 @@ const CreateElection = (props) => {
setAdvancedOptionsOpen(!isAdvancedOptionsOpen);
};
const toggleAddCandidateM = () => {
setAddCandidateMOpen(!isAddCandidateMOpen);
};
const addCandidate = () => {
if (candidates.length < 1000) {
candidates.push({ label: "" });
@ -194,8 +200,10 @@ const CreateElection = (props) => {
const check = checkFields();
const grades = translateGrades(t);
const [showModal, setShowModal] = useState(false);
return (
<Container>
<Container className="addCandidatePage">
<Head>
<meta
key="og:title"
@ -211,38 +219,93 @@ const CreateElection = (props) => {
<ToastContainer />
{waiting ? <Loader /> : ""}
<form onSubmit={handleSubmit} autoComplete="off">
<Row>
<Col>
<h3>{t("resource.startVote")}</h3>
</Col>
</Row>
<hr />
<Row className="mt-4">
<Col xs="12">
<Label for="title">{t("resource.questionLabel")}</Label>
<Row className="stepForm">
<Col className="stepFormCol">
<img src="/icone-one-white.svg" />
<h4>Les candidats</h4>
</Col>
<Col>
<Input
placeholder={t("resource.writeQuestionHere")}
tabIndex="1"
name="title"
id="title"
autoFocus
value={title}
onChange={(e) => setTitle(e.target.value)}
maxLength="250"
/>
<Col className="stepFormCol">
<img src="/icone-two-dark.svg" />
<h4>Paramètres du vote</h4>
</Col>
<Col xs="auto" className="align-self-center pl-0">
<HelpButton>
<u>{t("resource.eg")}</u> <em>{t("resource.exampleQuestion")}</em>
</HelpButton>
<Col className="stepFormCol">
<img src="/icone-three-dark.svg" />
<h4>Confirmation</h4>
</Col>
</Row>
<Row className="mt-4">
<Col xs="12">
<Label for="title">{t("common.candidates")}</Label>
</Col>
<Row className="mt-4">
<Col xs="12">
<CandidatesField onChange={setCandidates} />
</Col>
@ -538,14 +601,10 @@ const CreateElection = (props) => {
confirmCallback={handleSubmit}
/>
) : (
<Button
type="button"
className="btn btn-dark float-right btn-block"
onClick={handleSendNotReady}
>
<FontAwesomeIcon icon={faCheck} className="mr-2" />
{t("Confirm")}
</Button>
<a href="/settings" ><FontAwesomeIcon icon={faCheck} className="mr-2" />
{t("Confirm")}</a>
)}
</Col>
</Row>

@ -0,0 +1,29 @@
import dynamic from 'next/dynamic';
import plotly from 'plotly.js/dist/plotly';
import createPlotComponent from 'react-plotly.js/factory';
import React, { Component } from 'react';
//import Plot from 'react-plotly.js';
class BarChart extends Component {
render() {
return (
<div>
<Plot
data={[
{
type: 'bar',
x: ['Taubira', 'Hidalgo', 'Mélenchon'],
y: [29,150,85]
}
]}
layout={ { width: 1000, height: 500, title: 'Nombre de voix par candidat' } }
config={{
displayModeBar: false // this is the line that hides the bar.
}}
/>
</div>
)
};
}
export default BarChart;

@ -1,8 +1,7 @@
import * as React from "react";
import { useState } from "react";
import Head from "next/head";
import { useTranslation } from "next-i18next";
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
import { useRouter } from "next/router";
import dynamic from 'next/dynamic';
import HeaderResult from '../../../components/layouts/result/HeaderResult'
import {
Container,
Row,
@ -11,323 +10,41 @@ import {
Card,
CardHeader,
CardBody,
Table,
} from "reactstrap";
import { getResults, getDetails, apiErrors } from "@services/api";
import { grades } from "@services/grades";
import { translateGrades } from "@services/grades";
import Facebook from "@components/banner/Facebook";
import Error from "@components/Error";
import config from "../../../next-i18next.config.js";
export async function getServerSideProps({ query, locale }) {
const { pid, tid } = query;
const DynamicPlot = dynamic(import('../../../components/plot'), {
ssr: false
})
const [res, details, translations] = await Promise.all([
getResults(pid),
getDetails(pid),
serverSideTranslations(locale, [], config),
]);
if (typeof res === "string" || res instanceof String) {
return { props: { err: res.slice(1, -1), ...translations } };
}
if (typeof details === "string" || details instanceof String) {
return { props: { err: res.slice(1, -1), ...translations } };
}
if (!details.candidates || !Array.isArray(details.candidates)) {
return { props: { err: "Unknown error", ...translations } };
}
return {
props: {
title: details.title,
numGrades: details.num_grades,
candidates: res,
pid: pid,
...translations,
},
};
}
const Result = ({ candidates, numGrades, title, pid, err }) => {
const { t } = useTranslation();
if (err && err !== "") {
return <Error value={apiErrors(err, t)} />;
}
const router = useRouter();
const allGrades = translateGrades(t);
const grades = allGrades.filter(
(grade) => grade.value >= allGrades.length - numGrades
);
const offsetGrade = grades.length - numGrades;
const colSizeCandidateLg = 4;
const colSizeCandidateMd = 6;
const colSizeCandidateXs = 12;
const colSizeGradeLg = 1;
const colSizeGradeMd = 1;
const colSizeGradeXs = 1;
const origin =
typeof window !== "undefined" && window.location.origin
? window.location.origin
: "http://localhost";
console.log("origin", origin);
const urlVote = new URL(`/vote/${pid}`, origin);
const [collapseProfiles, setCollapseProfiles] = useState(false);
//import ChartWrapper from "../../../components/ChartWrapper";
import SystemeVote from '../../../components/SystemeVote';
import LoadingScreen from '../../../components/LoadingScreen'
export default function Result() {
const [collapseGraphics, setCollapseGraphics] = useState(false);
const sum = (seq) => Object.values(seq).reduce((a, b) => a + b, 0);
const numVotes =
candidates && candidates.length > 0 ? sum(candidates[0].profile) : 1;
const gradeIds =
candidates && candidates.length > 0
? Object.keys(candidates[0].profile)
: [];
// const [loading, setLoading] = React.useState(true);
// React.useEffect(() =>{
// setTimeout(() => setLoading(false), 3000);
// })
return (
<Container>
<Head>
<title>{title}</title>
<link rel="icon" href="/favicon.ico" />
<meta property="og:title" content={title} />
</Head>
<Row>
<Col xs="12">
<h3>{title}</h3>
</Col>
</Row>
<Row className="mt-5">
<Col>
<ol className="result">
{candidates.map((candidate, i) => {
const gradeValue = candidate.grade + offsetGrade;
return (
<li key={i} className="mt-2">
<span className="mt-2 ml-2">{candidate.name}</span>
<span
className="badge badge-light ml-2 mt-2"
style={{
backgroundColor: grades.slice(0).reverse()[
candidate.grade
].color,
color: "#fff",
}}
>
{allGrades.slice(0).reverse()[gradeValue].label}
</span>
</li>
);
})}
</ol>
<h5>
<small>
{t("resource.numVotes")}
{" " + numVotes}
</small>
</h5>
</Col>
</Row>
<Row className="mt-5">
<Col>
<Card className="bg-light text-primary">
<CardHeader
className="pointer"
onClick={() => setCollapseGraphics(!collapseGraphics)}
>
<h4
className={
"m-0 panel-title " + (collapseGraphics ? "collapsed" : "")
}
>
{t("Graph")}
</h4>
</CardHeader>
<Collapse isOpen={collapseGraphics}>
<CardBody className="pt-5">
<div>
<div
className="median"
style={{ height: candidates.length * 28 + 30 }}
/>
<table style={{ width: "100%" }}>
<tbody>
{candidates.map((candidate, i) => {
return (
<tr key={i}>
<td style={{ width: "30px" }}>{i + 1}</td>
{/*candidate.label*/}
<td>
<table style={{ width: "100%" }}>
<tbody>
<tr>
{gradeIds
.slice(0)
.reverse()
.map((id, i) => {
const value = candidate.profile[id];
if (value > 0) {
let percent =
(value * 100) / numVotes + "%";
if (i === 0) {
percent = "auto";
}
return (
<td
key={i}
style={{
width: percent,
backgroundColor:
grades[i].color,
}}
>
&nbsp;
</td>
);
} else {
return null;
}
})}
</tr>
</tbody>
</table>
</td>
</tr>
);
})}
</tbody>
</table>
</div>
<div className="mt-4">
<small>
{candidates.map((candidate, i) => {
return (
<span key={i}>
{i > 0 ? ", " : ""}
<b>{i + 1}</b>: {candidate.name}
</span>
);
})}
</small>
</div>
<div className="mt-2">
<small>
{grades.map((grade, i) => {
return (
<span
key={i}
className="badge badge-light mr-2 mt-2"
style={{
backgroundColor: grade.color,
color: "#fff",
}}
>
{grade.label}
</span>
);
})}
</small>
</div>
</CardBody>
</Collapse>
</Card>
</Col>
</Row>
<Row className="mt-3">
<Col>
<Card className="bg-light text-primary">
<CardHeader
className="pointer"
onClick={() => setCollapseProfiles(!collapseProfiles)}
>
<h4
className={
"m-0 panel-title " + (collapseProfiles ? "collapsed" : "")
}
>
{t("Preference profile")}
</h4>
</CardHeader>
<Collapse isOpen={collapseProfiles}>
<CardBody>
<div className="table-responsive">
<Table className="profiles">
<thead>
<tr>
<th>#</th>
{grades.map((grade, i) => {
return (
<th key={i}>
<span
className="badge badge-light"
style={{
backgroundColor: grade.color,
color: "#fff",
}}
>
{grade.label}{" "}
</span>
</th>
);
})}
</tr>
</thead>
<tbody>
{candidates.map((candidate, i) => {
return (
<tr key={i}>
<td>{i + 1}</td>
{gradeIds
.slice(0)
.reverse()
.map((id, i) => {
const value = candidate.profile[id];
const percent = (
(value / numVotes) *
100
).toFixed(1);
return <td key={i}>{percent} %</td>;
})}
</tr>
);
})}
</tbody>
</Table>
</div>
<small>
{candidates.map((candidate, i) => {
return (
<span key={i}>
{i > 0 ? ", " : ""}
<b>{i + 1}</b>: {candidate.name}
</span>
);
})}
</small>
</CardBody>
</Collapse>
</Card>
</Col>
</Row>
<Row>
<Col xs="12" className="text-center pt-2 pb-5">
<Facebook
className="btn btn-outline-light m-2"
text={t("Share results on Facebook")}
url={urlVote}
title={title}
/>
</Col>
</Row>
</Container>
);
};
export default Result;
<div>
<HeaderResult />
<section className="resultPage">
<h4>Détails des résultats</h4>
<Card className="resultCard">
<CardHeader className="pointer" onClick={() => setCollapseGraphics(!collapseGraphics)}>
<h4 className={"m-0 panel-title " + (collapseGraphics ? "collapsed" : "")}>
Taubira
</h4>
</CardHeader>
<Collapse isOpen={collapseGraphics}>
<CardBody className="pt-5">
<SystemeVote />
</CardBody>
</Collapse>
</Card>
</section>
</div>
)
}

@ -0,0 +1,620 @@
import { useState, useEffect } from "react";
import Head from "next/head";
import { useRouter } from "next/router";
import { useTranslation } from "next-i18next";
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
import {
Collapse,
Container,
Row,
Col,
Input,
Label,
InputGroup,
InputGroupAddon,
Button,
Card,
CardBody,
} from "reactstrap";
import { ReactMultiEmail, isEmail } from "react-multi-email";
import "react-multi-email/style.css";
import { toast, ToastContainer } from "react-toastify";
import "react-toastify/dist/ReactToastify.css";
import queryString from "query-string";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import {
faPlus,
faTrashAlt,
faCheck,
faCogs,
faExclamationTriangle,
} from "@fortawesome/free-solid-svg-icons";
import { useAppContext } from "@services/context";
import { createElection } from "@services/api";
import { translateGrades } from "@services/grades";
import HelpButton from "@components/form/HelpButton";
import Loader from "@components/wait";
import CandidatesField from "@components/form/CandidatesField";
import ConfirmModal from "@components/form/ConfirmModal";
import config from "../../next-i18next.config.js";
import Modal from '../../components/Modal'
// Error messages
const AT_LEAST_2_CANDIDATES_ERROR = "Please add at least 2 candidates.";
const NO_TITLE_ERROR = "Please add a title.";
const isValidDate = (date) => date instanceof Date && !isNaN(date);
const getOnlyValidDate = (date) => (isValidDate(date) ? date : new Date());
// Convert a Date object into YYYY-MM-DD
const dateToISO = (date) =>
getOnlyValidDate(date).toISOString().substring(0, 10);
// Retrieve the current hour, minute, sec, ms, time into a timestamp
const hours = (date) => getOnlyValidDate(date).getHours() * 3600 * 1000;
const minutes = (date) => getOnlyValidDate(date).getMinutes() * 60 * 1000;
const seconds = (date) => getOnlyValidDate(date).getSeconds() * 1000;
const ms = (date) => getOnlyValidDate(date).getMilliseconds();
const time = (date) =>
hours(getOnlyValidDate(date)) +
minutes(getOnlyValidDate(date)) +
seconds(getOnlyValidDate(date)) +
ms(getOnlyValidDate(date));
// Retrieve the time part from a timestamp and remove the day. Return a int.
const timeMinusDate = (date) => time(getOnlyValidDate(date));
// Retrieve the day and remove the time. Return a Date
const dateMinusTime = (date) =>
new Date(getOnlyValidDate(date).getTime() - time(getOnlyValidDate(date)));
const displayClockOptions = () =>
Array(24)
.fill(1)
.map((x, i) => (
<option value={i} key={i}>
{i}h00
</option>
));
export const getStaticProps = async ({ locale }) => ({
props: {
...(await serverSideTranslations(locale, [], config)),
},
});
const CreateElection = (props) => {
const { t } = useTranslation();
// default value : start at the last hour
const now = new Date();
const [title, setTitle] = useState("");
const [candidates, setCandidates] = useState([{ label: "" }, { description: "" }]);
const [numGrades, setNumGrades] = useState(5);
const [waiting, setWaiting] = useState(false);
const [isAdvancedOptionsOpen, setAdvancedOptionsOpen] = useState(false);
const [isAddCandidateMOpen, setAddCandidateMOpen] = useState(false);
const [isTimeLimited, setTimeLimited] = useState(false);
const [restrictResult, setRestrictResult] = useState(false);
const [start, setStart] = useState(
new Date(now.getTime() - minutes(now) - seconds(now) - ms(now))
);
const [finish, setFinish] = useState(
new Date(start.getTime() + 7 * 24 * 3600 * 1000)
);
const [emails, setEmails] = useState([]);
// set the title on loading
const router = useRouter();
useEffect(() => {
if (!router.isReady) return;
const { title: urlTitle } = router.query;
setTitle(urlTitle || "");
}, [router.isReady]);
const handleIsTimeLimited = (event) => {
setTimeLimited(event.target.value === "1");
};
const handleRestrictResultCheck = (event) => {
setRestrictResult(event.target.value === "1");
};
const toggleAdvancedOptions = () => {
setAdvancedOptionsOpen(!isAdvancedOptionsOpen);
};
const toggleAddCandidateM = () => {
setAddCandidateMOpen(!isAddCandidateMOpen);
};
const addCandidate = () => {
if (candidates.length < 1000) {
candidates.push({ label: "" });
setCandidates(candidates);
}
};
const checkFields = () => {
if (!candidates) {
return { ok: false, msg: AT_LEAST_2_CANDIDATES_ERROR };
}
let numCandidates = 0;
candidates.forEach((c) => {
if (c.label !== "") numCandidates += 1;
});
if (numCandidates < 2) {
return { ok: false, msg: AT_LEAST_2_CANDIDATES_ERROR };
}
if (!title || title === "") {
return { ok: false, msg: NO_TITLE_ERROR };
}
return { ok: true, msg: "OK" };
};
const handleSubmit = () => {
const check = checkFields();
if (!check.ok) {
toast.error(t(check.msg), {
position: toast.POSITION.TOP_CENTER,
});
return;
}
setWaiting(true);
createElection(
title,
candidates.map((c) => c.label).filter((c) => c !== ""),
{
mails: emails,
numGrades,
start: start.getTime() / 1000,
finish: finish.getTime() / 1000,
restrictResult: restrictResult,
locale: router.locale.substring(0, 2).toLowerCase(),
},
(result) => {
if (result.id) {
router.push(`/new/confirm/${result.id}`);
} else {
toast.error(t("Unknown error. Try again please."), {
position: toast.POSITION.TOP_CENTER,
});
setWaiting(false);
}
}
);
};
const handleSendNotReady = (msg) => {
toast.error(t(msg), {
position: toast.POSITION.TOP_CENTER,
});
};
const check = checkFields();
const grades = translateGrades(t);
const [showModal, setShowModal] = useState(false);
return (
<Container className="addCandidatePage">
<Head>
<meta
key="og:title"
property="og:title"
content={t("common.application")}
/>
<meta
property="og:description"
key="og:description"
content={t("resource.valueProp")}
/>
</Head>
<ToastContainer />
{waiting ? <Loader /> : ""}
<form onSubmit={handleSubmit} autoComplete="off">
<Row className="stepForm">
<Col className="stepFormCol">
<img src="/icone-one-white.svg" />
<h4>Les candidats</h4>
</Col>
<Col className="stepFormCol">
<img src="/icone-two-dark.svg" />
<h4>Paramètres du vote</h4>
</Col>
<Col className="stepFormCol">
<img src="/icone-three-dark.svg" />
<h4>Confirmation</h4>
</Col>
</Row>
<Row className="mt-4">
<Col xs="12">
<CandidatesField onChange={setCandidates} />
</Col>
<Col
xs="12"
sm="6"
md="12"
className="text-center text-sm-right text-md-left"
>
<Button
color="link"
className="text-white mt-3 mb-1"
onClick={toggleAdvancedOptions}
>
<FontAwesomeIcon icon={faCogs} className="mr-2" />
{t("resource.advancedOptions")}
</Button>
</Col>
</Row>
<Collapse isOpen={isAdvancedOptionsOpen}>
<Card>
<CardBody className="text-primary">
<Row>
<Col xs="12" md="3" lg="3">
<Label for="title">{t("Access to results")}</Label>
</Col>
<Col xs="12" md="4" lg="3">
<Label className="radio " htmlFor="restrict_result_false">
<span className="small text-dark">{t("Immediately")}</span>
<input
className="radio"
type="radio"
name="restrict_result"
id="restrict_result_false"
onClick={handleRestrictResultCheck}
defaultChecked={!restrictResult}
value="0"
/>
<span className="checkround checkround-gray" />
</Label>
</Col>
<Col xs="12" md="4" lg="3">
<Label className="radio" htmlFor="restrict_result_true">
<span className="small">
<span className="text-dark">
{t("At the end of the election")}
</span>
<HelpButton className="ml-2">
{t(
"No one will be able to see the result until the end date is reached or until all participants have voted."
)}
</HelpButton>
</span>
<input
className="radio"
type="radio"
name="restrict_result"
id="restrict_result_true"
onClick={handleRestrictResultCheck}
defaultChecked={restrictResult}
value="1"
/>
<span className="checkround checkround-gray" />
</Label>
</Col>
</Row>
<hr className="mt-2 mb-2" />
<Row>
<Col xs="12" md="3" lg="3">
<Label for="title">{t("Voting time")}</Label>
</Col>
<Col xs="12" md="4" lg="3">
<Label className="radio " htmlFor="is_time_limited_false">
<span className="small text-dark">{t("Unlimited")}</span>
<input
className="radio"
type="radio"
name="time_limited"
id="is_time_limited_false"
onClick={handleIsTimeLimited}
defaultChecked={!isTimeLimited}
value="0"
/>
<span className="checkround checkround-gray" />
</Label>
</Col>
<Col xs="12" md="4" lg="3">
<Label className="radio" htmlFor="is_time_limited_true">
<span className="small">
<span className="text-dark">{t("Defined period")}</span>
</span>
<input
className="radio"
type="radio"
name="time_limited"
id="is_time_limited_true"
onClick={handleIsTimeLimited}
defaultChecked={isTimeLimited}
value="1"
/>
<span className="checkround checkround-gray" />
</Label>
</Col>
</Row>
<div
className={
(isTimeLimited ? "d-block " : "d-none") + " bg-light p-3"
}
>
<Row>
<Col xs="12" md="3" lg="3">
<span className="label">- {t("Starting date")}</span>
</Col>
<Col xs="6" md="4" lg="3">
<input
className="form-control"
type="date"
value={dateToISO(start)}
onChange={(e) => {
setStart(
new Date(
timeMinusDate(start) +
new Date(e.target.valueAsNumber).getTime()
)
);
}}
/>
</Col>
<Col xs="6" md="5" lg="3">
<select
className="form-control"
value={getOnlyValidDate(start).getHours()}
onChange={(e) =>
setStart(
new Date(
dateMinusTime(start).getTime() +
e.target.value * 3600000
)
)
}
>
{displayClockOptions()}
</select>
</Col>
</Row>
<Row className="mt-2">
<Col xs="12" md="3" lg="3">
<span className="label">- {t("Ending date")}</span>
</Col>
<Col xs="6" md="4" lg="3">
<input
className="form-control"
type="date"
value={dateToISO(finish)}
min={dateToISO(start)}
onChange={(e) => {
setFinish(
new Date(
timeMinusDate(finish) +
new Date(e.target.valueAsNumber).getTime()
)
);
}}
/>
</Col>
<Col xs="6" md="5" lg="3">
<select
className="form-control"
value={getOnlyValidDate(finish).getHours()}
onChange={(e) =>
setFinish(
new Date(
dateMinusTime(finish).getTime() +
e.target.value * 3600000
)
)
}
>
{displayClockOptions()}
</select>
</Col>
</Row>
</div>
<hr className="mt-2 mb-2" />
<Row>
<Col xs="12" md="3" lg="3">
<span className="label">{t("Grades")}</span>
</Col>
<Col xs="10" sm="11" md="4" lg="3">
<select
className="form-control"
tabIndex={candidates.length + 3}
onChange={(e) => setNumGrades(e.target.value)}
defaultValue="5"
>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
</Col>
<Col xs="auto" className="align-self-center pl-0 ">
<HelpButton>
{t(
"You can select here the number of grades for your election"
)}
<br />
<u>{t("For example:")}</u>{" "}
<em>
{" "}
{t("5 = Excellent, Very good, Good, Fair, Passable")}
</em>
</HelpButton>
</Col>
<Col
xs="12"
md="9"
lg="9"
className="offset-xs-0 offset-md-3 offset-lg-3"
>
{grades.map((mention, i) => {
return (
<span
key={i}
className="badge badge-light mr-2 mt-2 "
style={{
backgroundColor: mention.color,
color: "#fff",
opacity: i < numGrades ? 1 : 0.3,
}}
>
{mention.label}
</span>
);
})}
</Col>
</Row>
<hr className="mt-2 mb-2" />
<Row>
<Col xs="12" md="3" lg="3">
<span className="label">{t("Participants")}</span>
</Col>
<Col xs="12" md="9" lg="9">
<ReactMultiEmail
placeholder={t("Add here participants' emails")}
emails={emails}
onChange={setEmails}
validateEmail={(email) => {
return isEmail(email); // return boolean
}}
getLabel={(email, index, removeEmail) => {
return (
<div data-tag key={index}>
{email}
<span
data-tag-handle
onClick={() => removeEmail(index)}
>
×
</span>
</div>
);
}}
/>
<div>
<small className="text-muted">
{t(
"If you list voters' emails, only them will be able to access the election"
)}
</small>
</div>
</Col>
</Row>
<hr className="mt-2 mb-2" />
</CardBody>
</Card>
</Collapse>
<Row className="justify-content-end mt-2">
<Col xs="12" md="3">
{check.ok ? (
<ConfirmModal
title={title}
candidates={candidates}
isTimeLimited={isTimeLimited}
start={start}
finish={finish}
emails={emails}
restrictResult={restrictResult}
grades={grades.slice(0, numGrades)}
className={"btn btn-success float-right btn-block"}
tabIndex={candidates.length + 1}
confirmCallback={handleSubmit}
/>
) : (
<Button
type="button"
className="btn btn-dark float-right btn-block"
onClick={handleSendNotReady}
>
<FontAwesomeIcon icon={faCheck} className="mr-2" />
{t("Confirm")}
</Button>
)}
</Col>
</Row>
</form>
</Container>
);
};
export default CreateElection;

@ -0,0 +1,6 @@
<svg width="207" height="206" viewBox="0 0 207 206" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="103.5" cy="63" r="63" fill="#3A9918"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19 11H20V13H19V11ZM5 12L4.29289 12.7071L3.58579 12L4.29289 11.2929L5 12ZM11.2929 4.29289L12 3.58579L13.4142 5L12.7071 5.70711L11.2929 4.29289ZM12.7071 18.2929L13.4142 19L12 20.4142L11.2929 19.7071L12.7071 18.2929ZM19 13H5V11H19V13ZM12.7071 5.70711L5.70711 12.7071L4.29289 11.2929L11.2929 4.29289L12.7071 5.70711ZM5.70711 11.2929L12.7071 18.2929L11.2929 19.7071L4.29289 12.7071L5.70711 11.2929Z" fill="#0A004C"/>
</svg>

After

Width:  |  Height:  |  Size: 525 B

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5 11H4V13H5V11ZM19 12L19.7071 12.7071L20.4142 12L19.7071 11.2929L19 12ZM12.7071 4.29289L12 3.58579L10.5858 5L11.2929 5.70711L12.7071 4.29289ZM11.2929 18.2929L10.5858 19L12 20.4142L12.7071 19.7071L11.2929 18.2929ZM5 13H19V11H5V13ZM11.2929 5.70711L18.2929 12.7071L19.7071 11.2929L12.7071 4.29289L11.2929 5.70711ZM18.2929 11.2929L11.2929 18.2929L12.7071 19.7071L19.7071 12.7071L18.2929 11.2929Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 521 B

@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.3333 2.5V4.16667H4.16664V15.8333H15.8333V11.6667H17.5L17.5 17.5C17.5 17.5 4.33801 17.5 2.49997 17.5C2.49997 17.5 2.42533 2.5 2.49997 2.5H8.3333ZM14.655 4.16667H10.8333V2.5H17.5V9.16667H15.8333V5.345L9.99997 11.1783L8.82164 10L14.655 4.16667Z" fill="#8F88BA"/>
</svg>

After

Width:  |  Height:  |  Size: 375 B

@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2.5 15.8332H17.5V17.4998H2.5V15.8332ZM10.8333 10.9765L15.8925 5.9165L17.0708 7.09484L10 14.1665L2.92917 7.09567L4.1075 5.9165L9.16667 10.9748V1.6665H10.8333V10.9765Z" fill="#8F88BA"/>
</svg>

After

Width:  |  Height:  |  Size: 297 B

@ -0,0 +1,3 @@
<svg width="72" height="72" viewBox="0 0 72 72" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M36.0011 51C46.9871 51 56.5961 55.725 61.8221 62.775L56.2961 65.388C52.0421 60.348 44.5421 57 36.0011 57C27.4601 57 19.9601 60.348 15.7061 65.388L10.1831 62.772C15.4091 55.722 25.0151 51 36.0011 51ZM36.0011 6C39.9794 6 43.7947 7.58035 46.6077 10.3934C49.4208 13.2064 51.0011 17.0218 51.0011 21V30C51.0009 33.8654 49.5085 37.5815 46.8351 40.3733C44.1618 43.1652 40.5139 44.8172 36.6521 44.985L36.0011 45C32.0229 45 28.2076 43.4196 25.3945 40.6066C22.5815 37.7936 21.0011 33.9782 21.0011 30V21C21.0013 17.1346 22.4937 13.4185 25.1671 10.6267C27.8404 7.83482 31.4884 6.18276 35.3501 6.015L36.0011 6ZM36.0011 12C33.7055 11.9999 31.4966 12.877 29.8263 14.4519C28.1561 16.0267 27.1508 18.1803 27.0161 20.472L27.0011 21V30C26.9988 32.3427 27.9102 34.594 29.5414 36.2755C31.1727 37.9569 33.3953 38.9361 35.737 39.0048C38.0787 39.0735 40.3549 38.2265 42.082 36.6436C43.8091 35.0607 44.8509 32.8668 44.9861 30.528L45.0011 30V21C45.0011 18.6131 44.0529 16.3239 42.3651 14.636C40.6772 12.9482 38.3881 12 36.0011 12Z" fill="#2400FD"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="white" fill-opacity="0.16"/>
<path d="M11.9998 15.333C14.4412 15.333 16.5765 16.383 17.7378 17.9497L16.5098 18.5303C15.5645 17.4103 13.8978 16.6663 11.9998 16.6663C10.1018 16.6663 8.43518 17.4103 7.48985 18.5303L6.26251 17.949C7.42385 16.3823 9.55851 15.333 11.9998 15.333ZM11.9998 5.33301C12.8839 5.33301 13.7317 5.6842 14.3569 6.30932C14.982 6.93444 15.3332 7.78229 15.3332 8.66634V10.6663C15.3331 11.5253 15.0015 12.3511 14.4074 12.9715C13.8133 13.5919 13.0027 13.9591 12.1445 13.9963L11.9998 13.9997C11.1158 13.9997 10.2679 13.6485 9.64282 13.0234C9.0177 12.3982 8.66651 11.5504 8.66651 10.6663V8.66634C8.66656 7.80737 8.99821 6.98157 9.59229 6.36116C10.1864 5.74075 10.997 5.37362 11.8552 5.33634L11.9998 5.33301ZM11.9998 6.66634C11.4897 6.66631 10.9988 6.86122 10.6277 7.2112C10.2565 7.56117 10.0331 8.03975 10.0032 8.54901L9.99985 8.66634V10.6663C9.99934 11.1869 10.2019 11.6872 10.5644 12.0609C10.9269 12.4345 11.4208 12.6521 11.9412 12.6674C12.4615 12.6827 12.9674 12.4945 13.3512 12.1427C13.735 11.791 13.9665 11.3034 13.9965 10.7837L13.9998 10.6663V8.66634C13.9998 8.13591 13.7891 7.6272 13.4141 7.25213C13.039 6.87705 12.5303 6.66634 11.9998 6.66634Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="white" fill-opacity="0.16"/>
<path d="M11.9998 15.333C14.4412 15.333 16.5765 16.383 17.7378 17.9497L16.5098 18.5303C15.5645 17.4103 13.8978 16.6663 11.9998 16.6663C10.1018 16.6663 8.43518 17.4103 7.48985 18.5303L6.26251 17.949C7.42385 16.3823 9.55851 15.333 11.9998 15.333ZM11.9998 5.33301C12.8839 5.33301 13.7317 5.6842 14.3569 6.30932C14.982 6.93444 15.3332 7.78229 15.3332 8.66634V10.6663C15.3331 11.5253 15.0015 12.3511 14.4074 12.9715C13.8133 13.5919 13.0027 13.9591 12.1445 13.9963L11.9998 13.9997C11.1158 13.9997 10.2679 13.6485 9.64282 13.0234C9.0177 12.3982 8.66651 11.5504 8.66651 10.6663V8.66634C8.66656 7.80737 8.99821 6.98157 9.59229 6.36116C10.1864 5.74075 10.997 5.37362 11.8552 5.33634L11.9998 5.33301ZM11.9998 6.66634C11.4897 6.66631 10.9988 6.86122 10.6277 7.2112C10.2565 7.56117 10.0331 8.03975 10.0032 8.54901L9.99985 8.66634V10.6663C9.99934 11.1869 10.2019 11.6872 10.5644 12.0609C10.9269 12.4345 11.4208 12.6521 11.9412 12.6674C12.4615 12.6827 12.9674 12.4945 13.3512 12.1427C13.735 11.791 13.9665 11.3034 13.9965 10.7837L13.9998 10.6663V8.66634C13.9998 8.13591 13.7891 7.6272 13.4141 7.25213C13.039 6.87705 12.5303 6.66634 11.9998 6.66634Z" fill="#2400FD"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1,42 @@
<svg width="1440" height="900" viewBox="0 0 1440 900" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.64" clip-path="url(#clip0_78_1977)">
<rect width="1440" height="1001" fill="#0A004C"/>
<g opacity="0.08" filter="url(#filter0_f_78_1977)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1440 450.639V705.259L507.34 1637.92L0.000501283 1130.58L0.000488281 875.959L507.34 1383.3L1440 450.639Z" fill="white"/>
</g>
<g opacity="0.08" filter="url(#filter1_f_78_1977)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1440 -452V-197.38L507.34 735.281L0.000501283 227.941L0.000488281 -26.6793L507.34 480.661L1440 -452Z" fill="white"/>
</g>
<g opacity="0.08" filter="url(#filter2_f_78_1977)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1440 8.13684V262.757L507.34 1195.42L-7.66891e-07 688.075L-1.37685e-05 433.455L507.34 940.796L1440 8.13684Z" fill="white"/>
</g>
<g opacity="0.08" filter="url(#filter3_f_78_1977)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1440 -925V-670.38L507.34 262.279L-7.66821e-07 -245.062L-1.37685e-05 -499.682L507.34 7.65894L1440 -925Z" fill="white"/>
</g>
</g>
<defs>
<filter id="filter0_f_78_1977" x="-87.9995" y="362.639" width="1616" height="1363.28" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="44" result="effect1_foregroundBlur_78_1977"/>
</filter>
<filter id="filter1_f_78_1977" x="-152" y="-604" width="1744" height="1491.28" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="76" result="effect1_foregroundBlur_78_1977"/>
</filter>
<filter id="filter2_f_78_1977" x="-128" y="-119.863" width="1696" height="1443.28" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="64" result="effect1_foregroundBlur_78_1977"/>
</filter>
<filter id="filter3_f_78_1977" x="-152" y="-1077" width="1744" height="1491.28" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="76" result="effect1_foregroundBlur_78_1977"/>
</filter>
<clipPath id="clip0_78_1977">
<rect width="1440" height="1001" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

@ -0,0 +1,66 @@
<svg width="290" height="611" viewBox="0 0 290 611" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_285_8605)">
<path d="M107.149 363.653L139.096 552.5H79.098L71.6523 363.653" fill="#FF3E37"/>
<path d="M107.149 363.653L139.096 552.5H79.098L71.6523 363.653" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M192.947 585.433C188.359 582.313 182.991 580.753 177.71 578.933C162.732 573.733 149.139 564.46 138.923 552.327L79.0117 552.24V593.667C79.0117 593.927 79.0117 594.273 79.0117 594.533C79.0117 603.373 86.1976 610.567 95.0285 610.567C100.916 610.567 105.677 606.753 109.054 602.767C111.738 600.167 116.153 600.34 119.616 601.9C123.079 603.373 125.937 605.973 129.226 607.707C133.209 609.873 136.586 610.567 142.3 610.567H187.58C198.575 610.567 204.635 597.48 197.276 589.247C195.977 587.86 194.592 586.56 192.947 585.433Z" fill="#D3D715" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M138.923 552.327H132.776L118.837 570.873C117.106 573.213 117.539 576.593 119.876 578.327C120.829 579.02 121.954 579.367 123.08 579.367C124.725 579.367 126.283 578.673 127.322 577.2L142.819 556.573C141.434 555.273 140.135 553.8 138.923 552.327Z" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M142.386 575.033L150.784 563.94C148.014 561.687 145.417 559.26 142.906 556.747L133.902 568.707C132.17 571.047 132.603 574.427 134.941 576.16C135.893 576.853 137.019 577.2 138.144 577.2C139.703 577.2 141.348 576.42 142.386 575.033Z" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M149.226 574.86C150.178 575.553 151.304 575.9 152.429 575.9C154.074 575.9 155.632 575.207 156.671 573.733L159.355 570.093C156.325 568.187 153.468 566.107 150.698 563.853L148.1 567.32C146.369 569.747 146.888 573.04 149.226 574.86Z" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M200.133 594.707C196.497 597.047 192.168 598.347 187.58 598.347H142.3H141.694C134.508 598.347 129.66 597.22 124.205 594.273C122.3 593.233 120.742 592.193 119.27 591.153L119.184 591.067C110.093 584.827 99.3575 581.533 88.2756 581.533H80.0508" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M96.5003 552.24C96.8466 553.54 97.0198 554.927 97.0198 556.313C97.0198 565.673 89.401 573.3 80.0506 573.3C79.7043 573.3 79.358 573.3 79.0117 573.3" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M80.4834 592.28C83.1673 592.367 85.7646 591.5 88.2753 590.72C91.3056 589.767 94.6821 589.073 97.8854 589.68C101.089 590.287 104.032 592.887 103.513 595.573C103.253 596.96 102.041 598.173 100.569 598.953C99.0975 599.733 97.366 599.993 95.6344 600.167C92.3445 600.513 88.968 600.167 85.7646 599.387C84.1196 598.953 82.3015 598.347 80.8297 598.953" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M179.009 579.367C170.524 585.433 153.468 595.053 143.599 598.26" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M130.525 502.06H77.1064L79.0977 552.5H139.096L130.525 502.06Z" fill="white" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M88.9678 512.373L90.1798 542.187" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M119.703 512.373L124.725 542.187" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M107.669 542.187L104.639 512.373" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M18.3213 363.653L-13.5391 552.5H46.3723L53.818 363.653" fill="#FF3E37"/>
<path d="M18.3213 363.653L-13.5391 552.5H46.3723L53.818 363.653" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M-67.4766 585.433C-62.888 582.313 -57.5203 580.753 -52.239 578.933C-37.2612 573.733 -23.6686 564.46 -13.4525 552.327L46.4589 552.24V593.667C46.4589 593.927 46.4589 594.273 46.4589 594.533C46.4589 603.373 39.273 610.567 30.4422 610.567C24.5549 610.567 19.7932 606.753 16.4166 602.767C13.7328 600.167 9.31733 600.34 5.85424 601.9C2.39115 603.373 -0.465904 605.973 -3.75584 607.707C-7.73838 609.873 -11.1149 610.567 -16.829 610.567H-62.0223C-73.0176 610.567 -79.078 597.48 -71.7189 589.247C-70.5068 587.86 -69.035 586.56 -67.4766 585.433Z" fill="#D3D715" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M-13.3657 552.327H-7.21877L6.72017 570.873C8.45171 573.213 8.01882 576.593 5.68124 578.327C4.72889 579.02 3.60339 579.367 2.47788 579.367C0.832918 579.367 -0.725473 578.673 -1.7644 577.2L-17.2617 556.573C-15.9631 555.273 -14.6644 553.8 -13.3657 552.327Z" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M-74.5762 594.707C-70.9399 597.047 -66.6111 598.347 -62.0225 598.347H-16.7426H-16.1366C-8.95068 598.347 -4.10236 597.22 1.352 594.273C3.2567 593.233 4.8151 592.193 6.28691 591.153L6.37348 591.067C15.4641 584.827 26.1997 581.533 37.2815 581.533H45.5064" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M28.9706 552.24C28.6243 553.54 28.4512 554.927 28.4512 556.313C28.4512 565.673 36.07 573.3 45.4203 573.3C45.7666 573.3 46.1129 573.3 46.4592 573.3" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M44.9869 592.28C42.303 592.367 39.7057 591.5 37.1949 590.72C34.1647 589.767 30.7882 589.073 27.5848 589.68C24.3815 590.287 21.4379 592.887 21.9573 595.573C22.2171 596.96 23.4291 598.173 24.901 598.953C26.3728 599.733 28.1043 599.993 29.8359 600.167C33.1258 600.513 36.5023 600.167 39.7057 599.387C41.3506 598.953 43.1688 598.347 44.6406 598.953" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M-5.0545 502.06H48.3636L46.3723 552.5H-13.5391L-5.0545 502.06Z" fill="white" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M36.5025 512.373L35.377 542.187" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.85448 512.373L0.833008 542.187" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M17.8887 542.187L20.8323 512.373" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M238.977 116.938C254.139 106.488 252.757 78.1388 235.891 53.6187C219.025 29.0987 193.061 17.693 177.9 28.1434C162.738 38.5939 164.12 66.9431 180.986 91.4632C197.852 115.983 223.816 127.389 238.977 116.938Z" fill="black"/>
<path d="M171.739 124.576L160.972 131.997L180.807 160.834L191.574 153.413L171.739 124.576Z" fill="black" stroke="black" stroke-width="1.7" stroke-miterlimit="9.9996" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M208.878 73.1466C201.173 61.8799 185.762 59.0199 174.507 66.8199C172.602 68.1199 170.958 69.6799 169.572 71.3266C171.823 78.5199 175.373 85.8866 180.221 92.9066C185.07 99.9266 190.697 105.907 196.584 110.587C198.662 109.893 200.653 108.853 202.558 107.553C213.813 99.7532 216.584 84.4132 208.878 73.1466Z" fill="white" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M182.299 91.4332C169.226 72.3666 164.637 49.9199 170.784 36.3999L146.369 90.0466L122.301 106.6L146.629 142.047L171.303 124.973L227.059 120.207C212.861 119.773 194.679 109.287 182.299 91.4332Z" fill="white" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M182.299 91.4332C169.226 72.3665 165.07 49.1399 171.217 35.6199L146.456 90.0465L122.387 106.6L125.677 111.367C125.158 111.627 124.638 111.973 124.119 112.32C116.933 117.26 115.115 127.053 120.05 134.247C124.985 141.44 134.768 143.26 141.954 138.32C142.473 137.973 142.993 137.54 143.426 137.193L146.802 142.047L171.477 124.973L227.232 120.207C212.861 119.773 194.679 109.287 182.299 91.4332Z" fill="#D3D715" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M207.233 192.92V193.093L186.194 127.487L154.421 140.747L150.871 129.653C149.659 125.927 145.676 123.847 141.954 125.06C138.231 126.273 136.153 130.26 137.365 133.987L141.261 146.207H141.174L150.611 176.8L117.712 191.62L128.621 250.12L177.796 230.36C192.947 224.38 208.964 219.18 208.705 202.367C208.791 198.987 208.185 195.867 207.233 192.92Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M179.269 169C175.892 170.82 171.65 169.52 169.832 166.14L154.94 134.16L167.321 127.573L182.126 159.553C183.944 162.933 182.645 167.18 179.269 169Z" fill="#D3D715" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M161.953 144.733L193.554 130C196.93 128.44 198.316 124.453 196.757 121.073L196.411 120.293C194.853 116.913 190.87 115.527 187.493 117.087L155.893 131.82C152.516 133.38 151.131 137.367 152.689 140.747L153.036 141.527C154.681 144.907 158.663 146.293 161.953 144.733Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M175.892 153.833L200.567 142.307C204.117 140.66 205.675 136.413 204.03 132.86C202.385 129.307 198.143 127.747 194.593 129.393L169.919 140.92C166.369 142.567 164.811 146.813 166.456 150.367C168.187 153.92 172.343 155.48 175.892 153.833Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M188.706 164.233L208.446 154.527C211.995 152.88 213.554 148.633 211.909 145.08C210.264 141.527 206.021 139.967 202.472 141.613L182.732 151.32C179.182 152.967 177.624 157.213 179.269 160.767C181.001 164.32 185.156 165.88 188.706 164.233Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M130.179 185.207L115.114 191.447C109.14 193.873 102.734 195.173 96.3268 195.173H57.8H57.3671H18.8403H12.0872H-4.01611L-15.1846 195.26V253.847H-4.01611V337.307H57.4537H57.8866H121.521L120.915 254.28L143.252 243.793L130.179 185.207Z" fill="#3A9918" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M28.0176 195.173L61.8693 234.78L95.721 195.173H28.0176Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M-31.8065 456.387C-8.51728 456.387 -8.51728 465.747 14.6854 465.747C37.9747 465.747 37.9747 456.387 61.1773 456.387C84.4666 456.387 84.4666 465.747 107.669 465.747C130.959 465.747 130.959 456.387 154.161 456.387L155.546 456.3L121.089 337.22H0.919628L-33.5381 456.3L-31.8065 456.387Z" fill="white" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M-31.8065 456.387C-8.51728 456.387 -8.51728 465.747 14.6854 465.747C37.9747 465.747 37.9747 456.387 61.1773 456.387C84.4666 456.387 84.4666 465.747 107.669 465.747C130.959 465.747 130.959 456.387 154.161 456.387L155.546 456.3L121.089 337.22H0.919629L-33.5381 456.3L-31.8065 456.387Z" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M24.6414 331.153C27.2387 330.113 29.0568 327.6 29.0568 324.653C29.0568 320.753 25.94 317.633 22.0441 317.633H20.1394H7.58568H-3.92909V304.72H-13.366C-13.366 304.72 -19.513 304.807 -20.2922 304.807C-34.2311 304.807 -45.4861 293.54 -45.4861 279.587C-45.4861 265.633 -34.8371 255.493 -20.2922 254.367C-13.366 253.847 -13.366 253.847 -13.366 253.847V195.26C-14.2318 195.26 -15.1841 195.26 -16.0499 195.173C-63.7539 193.353 -96.1338 231.053 -96.1338 275.34C-96.1338 319.627 -60.2908 355.507 -16.0499 355.507C-15.1841 355.507 -14.2318 355.507 -13.366 355.42V355.507H7.4991H13.04C16.936 355.507 20.0528 352.04 20.0528 348.227C20.0528 346.927 19.7065 345.713 19.0139 344.673H21.9575C25.8535 344.673 28.9702 341.553 28.9702 337.653C29.0568 334.707 27.2387 332.193 24.6414 331.153Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M24.6413 331.153H5.24805" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M20.0531 344.673H0.573242" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M81.6962 169.433L77.3673 171.427C75.5492 172.293 73.3848 171.513 72.519 169.693L72.3459 169.26C71.4801 167.44 72.2593 165.273 74.0774 164.407L78.4063 162.413C80.2244 161.547 82.3888 162.327 83.2546 164.147L83.4277 164.58C84.2935 166.4 83.5143 168.653 81.6962 169.433Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M82.9947 176.54L73.9041 156.867C71.9128 152.62 66.8914 150.8 62.6491 152.793L48.8833 159.207C44.641 161.2 42.8229 166.227 44.8142 170.387L53.9914 190.06C55.6363 193.613 60.831 195.173 60.831 195.173H77.2806V188.5L78.9256 187.72C83.1679 185.813 84.986 180.787 82.9947 176.54Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M65.8522 147.593C63.6878 142.913 58.0603 140.92 53.2985 143.173C48.5368 145.427 46.4589 150.973 48.6233 155.653C48.9696 156.52 49.4891 157.213 50.0951 157.907L48.0173 158.86C43.8616 158.253 39.5327 158.773 35.4636 160.68C24.3817 165.88 19.5334 179.053 24.728 190.233C29.9227 201.413 43.0824 206.18 54.2509 200.98C65.3327 195.78 70.1811 182.607 64.9864 171.427C63.6012 168.567 61.6965 166.053 59.4455 164.06C62.3025 161.547 64.467 158.687 65.679 155.74C66.4582 154.267 66.8046 152.533 66.718 150.887C66.718 150.8 66.718 150.713 66.718 150.627C66.6314 149.587 66.3717 148.547 65.8522 147.593Z" fill="black" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M76.2411 161.893C75.2022 160.68 73.3841 160.247 71.9122 160.94C70.3538 161.633 69.5746 163.28 69.8344 164.927" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M80.6572 176.713C81.3498 176.713 81.9559 176.453 82.3888 176.02C82.3022 175.76 82.2156 175.5 82.129 175.327L80.3975 171.687C79.0988 171.86 78.1465 172.9 78.1465 174.2C78.1465 175.587 79.272 176.713 80.6572 176.713Z" fill="black" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M85.2451 149.5L99.1841 121.247" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M97.1064 176.107L135.547 170.56" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M92.2578 163.453L116.326 146.12" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M75.1155 141.007L74.4229 128.787" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M237.621 38.5666L251.56 10.3132" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M249.482 65.1734L287.923 59.6267" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M244.634 52.5201L268.702 35.1868" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M227.491 30.0733L226.799 17.8533" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M95.7212 195.173H77.2803L87.2367 205.14L95.7212 195.173Z" fill="black" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path opacity="0.16" d="M17.7155 246.827H50.5282V264.507C50.5282 273.607 43.1692 280.973 34.0786 280.973C24.988 280.973 17.6289 273.607 17.6289 264.507L17.7155 246.827Z" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_285_8605">
<rect width="387" height="611" fill="white" transform="translate(-97)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

@ -0,0 +1,20 @@
<svg width="243" height="440" viewBox="0 0 243 440" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M61.3005 136.659L18.3594 56.0627L92.9358 34.4519L106.523 63.3707" fill="white"/>
<path d="M61.3005 136.659L18.3594 56.0627L92.9358 34.4519L106.523 63.3707" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M149.776 63.5795H159.733C166.06 63.5795 171.143 58.4639 171.143 52.0955V29.4408C171.143 23.0724 166.06 17.9568 159.733 17.9568H149.776C143.449 17.9568 138.366 23.0724 138.366 29.4408V52.1999C138.366 58.4639 143.552 63.5795 149.776 63.5795Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M165.852 10.3355C166.89 10.3355 167.927 10.4399 168.964 10.5443C170.727 4.59354 176.951 1.04395 184.211 1.04395C192.717 1.04395 199.666 7.20354 199.666 14.7203C199.666 19.6271 196.762 23.9075 192.405 26.3087C196.243 32.3639 196.866 38.5235 194.895 45.3095C189.397 64.4146 166.06 62.431 166.06 62.431C157.14 62.431 150.709 52.8263 150.709 41.6555C150.709 30.4847 141.063 22.4459 141.063 22.4459C141.063 22.4459 148.116 10.3355 165.852 10.3355Z" fill="black" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M53.5209 170.589C37.1376 170.589 23.8563 157.455 23.8563 141.253C23.8563 125.051 37.1376 111.917 53.5209 111.917C69.9042 111.917 83.1855 125.051 83.1855 141.253C83.1855 157.455 69.9042 170.589 53.5209 170.589Z" fill="#8F88BA" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M38.0658 67.3377L90.7568 51.991" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M42.8376 78.1954L95.4248 62.8486" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M47.5043 89.0528L100.195 73.7061" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M52.2761 99.9106L104.863 84.6682" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M103.1 182.491C99.8849 192.827 92.728 201.492 83.0818 206.19C78.518 208.382 73.6431 209.635 69.3905 208.173C57.0475 203.893 50.513 190.634 54.7656 178.524L54.4544 179.568L80.2813 80.7011C82.9781 70.4699 94.0764 63.0575 106.419 63.3707C135.773 64.1015 188.464 63.0575 219.995 62.9531C242.711 62.8487 250.801 69.6347 252.357 77.6735L274.761 177.48C275.902 182.595 276.109 187.815 275.176 192.931C273.309 202.745 263.351 216.943 246.03 211.41C245.096 211.097 244.059 210.679 243.126 210.261C239.08 208.487 235.45 205.772 232.338 202.536L213.772 183.431L212.216 198.569L106.419 198.464V171.738L103.1 182.491Z" fill="#A0CF1C" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M37.6514 445.161L106.523 198.673H142.204H174.772H212.216L285.963 469.695H192.302L158.488 286.682L124.674 469.695L37.6514 445.161Z" fill="#F2F0FF" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M181.411 434.616H285.963V484.415H181.411V434.616Z" fill="#F2F0FF" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M33.5025 434.616H138.055V484.415H33.5025V434.616Z" fill="#F2F0FF" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M213.565 185.31L221.033 126.846" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M106.523 197.629V122.356" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M203.607 227.487H168.03V254.005C168.03 262.774 176.224 269.769 186.389 269.769C196.761 269.769 205.163 262.357 204.748 253.378L203.607 227.487Z" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M147.908 227.487H112.331V254.005C112.331 262.774 120.525 269.769 130.69 269.769C141.062 269.769 149.464 262.357 149.049 253.378L147.908 227.487Z" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M178.299 301.507L202.674 419.165" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="12 12"/>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4 10.5789H20M16 3V6.78947M8 3V6.78947M20 5.84211V21H4V5.84211H20Z" stroke="#2400FD" stroke-width="2" stroke-linecap="square"/>
</svg>

After

Width:  |  Height:  |  Size: 240 B

@ -0,0 +1,6 @@
<svg width="662" height="1052" viewBox="0 0 662 1052" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M809 384.842V527.889L285.026 1051.86L0.000250641 766.836L0.000244141 623.789L285.026 908.816L809 384.842Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M809 -120.337V22.7101L285.026 546.684L6.50083e-06 261.658L0 118.611L285.026 403.637L809 -120.337Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M809 136.241V279.288L285.027 803.261L6.50082e-06 518.234L0 375.187L285.027 660.214L809 136.241Z" fill="#0A004C"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M809 -388V-244.953L285.027 279.02L6.50082e-06 -6.00677L0 -149.054L285.027 135.973L809 -388Z" fill="#0A004C"/>
</svg>

After

Width:  |  Height:  |  Size: 765 B

@ -0,0 +1,4 @@
<svg width="117" height="48" viewBox="0 0 117 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M34.0104 29.3035L22.6967 17.9898M33.6569 18.3434L22.3431 29.6571" stroke="white" stroke-width="2" stroke-linecap="square"/>
<path d="M49.088 29V17.8H56.32V19.448H51.136V22.584H55.328V24.2H51.136V29H49.088ZM60.7866 29.192C59.9866 29.192 59.2773 29.0213 58.6586 28.68C58.04 28.3387 57.5546 27.8587 57.2026 27.24C56.8506 26.6213 56.6746 25.9067 56.6746 25.096C56.6746 24.2747 56.8453 23.544 57.1866 22.904C57.5386 22.264 58.0186 21.768 58.6266 21.416C59.2453 21.0533 59.9706 20.872 60.8026 20.872C61.5813 20.872 62.2693 21.0427 62.8666 21.384C63.464 21.7253 63.928 22.1947 64.2586 22.792C64.6 23.3787 64.7706 24.0347 64.7706 24.76C64.7706 24.8773 64.7653 25 64.7546 25.128C64.7546 25.256 64.7493 25.3893 64.7386 25.528H58.7066C58.7493 26.1467 58.9626 26.632 59.3466 26.984C59.7413 27.336 60.216 27.512 60.7706 27.512C61.1866 27.512 61.5333 27.4213 61.8106 27.24C62.0986 27.048 62.312 26.8027 62.4506 26.504H64.5306C64.3813 27.0053 64.1306 27.464 63.7786 27.88C63.4373 28.2853 63.0106 28.6053 62.4986 28.84C61.9973 29.0747 61.4266 29.192 60.7866 29.192ZM60.8026 22.536C60.3013 22.536 59.8586 22.68 59.4746 22.968C59.0906 23.2453 58.8453 23.672 58.7386 24.248H62.6906C62.6586 23.7253 62.4666 23.3093 62.1146 23C61.7626 22.6907 61.3253 22.536 60.8026 22.536ZM65.9931 29V21.064H67.8171L68.0091 22.552C68.2971 22.04 68.6865 21.6347 69.1771 21.336C69.6785 21.0267 70.2651 20.872 70.9371 20.872V23.032H70.3611C69.9131 23.032 69.5131 23.1013 69.1611 23.24C68.8091 23.3787 68.5318 23.6187 68.3291 23.96C68.1371 24.3013 68.0411 24.776 68.0411 25.384V29H65.9931ZM71.8369 29V21.064H73.6449L73.8209 22.136C74.0769 21.752 74.4129 21.448 74.8289 21.224C75.2555 20.9893 75.7462 20.872 76.3009 20.872C77.5275 20.872 78.3969 21.3467 78.9089 22.296C79.1969 21.8587 79.5809 21.512 80.0609 21.256C80.5515 21 81.0849 20.872 81.6609 20.872C82.6955 20.872 83.4902 21.1813 84.0449 21.8C84.5995 22.4187 84.8769 23.3253 84.8769 24.52V29H82.8289V24.712C82.8289 24.0293 82.6955 23.5067 82.4289 23.144C82.1729 22.7813 81.7729 22.6 81.2289 22.6C80.6742 22.6 80.2262 22.8027 79.8849 23.208C79.5542 23.6133 79.3889 24.1787 79.3889 24.904V29H77.3409V24.712C77.3409 24.0293 77.2075 23.5067 76.9409 23.144C76.6742 22.7813 76.2635 22.6 75.7089 22.6C75.1649 22.6 74.7222 22.8027 74.3809 23.208C74.0502 23.6133 73.8849 24.1787 73.8849 24.904V29H71.8369ZM90.1773 29.192C89.3773 29.192 88.6679 29.0213 88.0493 28.68C87.4306 28.3387 86.9453 27.8587 86.5933 27.24C86.2413 26.6213 86.0653 25.9067 86.0653 25.096C86.0653 24.2747 86.2359 23.544 86.5773 22.904C86.9293 22.264 87.4093 21.768 88.0173 21.416C88.6359 21.0533 89.3613 20.872 90.1933 20.872C90.9719 20.872 91.6599 21.0427 92.2573 21.384C92.8546 21.7253 93.3186 22.1947 93.6493 22.792C93.9906 23.3787 94.1613 24.0347 94.1613 24.76C94.1613 24.8773 94.1559 25 94.1453 25.128C94.1453 25.256 94.1399 25.3893 94.1293 25.528H88.0973C88.1399 26.1467 88.3533 26.632 88.7373 26.984C89.1319 27.336 89.6066 27.512 90.1613 27.512C90.5773 27.512 90.9239 27.4213 91.2013 27.24C91.4893 27.048 91.7026 26.8027 91.8413 26.504H93.9213C93.7719 27.0053 93.5213 27.464 93.1693 27.88C92.8279 28.2853 92.4013 28.6053 91.8893 28.84C91.3879 29.0747 90.8173 29.192 90.1773 29.192ZM90.1933 22.536C89.6919 22.536 89.2493 22.68 88.8653 22.968C88.4813 23.2453 88.2359 23.672 88.1293 24.248H92.0813C92.0493 23.7253 91.8573 23.3093 91.5053 23C91.1533 22.6907 90.7159 22.536 90.1933 22.536ZM95.3838 29V21.064H97.2078L97.3998 22.552C97.6878 22.04 98.0771 21.6347 98.5677 21.336C99.0691 21.0267 99.6558 20.872 100.328 20.872V23.032H99.7518C99.3038 23.032 98.9038 23.1013 98.5518 23.24C98.1998 23.3787 97.9224 23.6187 97.7198 23.96C97.5278 24.3013 97.4318 24.776 97.4318 25.384V29H95.3838Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

@ -0,0 +1,3 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M22 11.0669C22 4.95335 17.0766 0 11 0C4.92339 0 0 4.95335 0 11.0669C0 16.5906 4.02254 21.1691 9.28125 22V14.2661H6.4869V11.0669H9.28125V8.62864C9.28125 5.85521 10.9224 4.32325 13.436 4.32325C14.6398 4.32325 15.8985 4.53923 15.8985 4.53923V7.26134H14.5111C13.145 7.26134 12.7188 8.11456 12.7188 8.98965V11.0669H15.7695L15.2816 14.2661H12.7188V22C17.9775 21.1691 22 16.5906 22 11.0669Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 512 B

@ -0,0 +1,83 @@
<svg width="318" height="274" viewBox="0 0 318 274" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.64" d="M5.18 13V6H7.99C8.71667 6 9.27 6.17 9.65 6.51C10.0367 6.84333 10.23 7.27333 10.23 7.8C10.23 8.24 10.11 8.59333 9.87 8.86C9.63667 9.12 9.35 9.29667 9.01 9.39C9.41 9.47 9.74 9.67 10 9.99C10.26 10.3033 10.39 10.67 10.39 11.09C10.39 11.6433 10.19 12.1 9.79 12.46C9.39 12.82 8.82333 13 8.09 13H5.18ZM6.46 8.94H7.8C8.16 8.94 8.43667 8.85667 8.63 8.69C8.82333 8.52333 8.92 8.28667 8.92 7.98C8.92 7.68667 8.82333 7.45667 8.63 7.29C8.44333 7.11667 8.16 7.03 7.78 7.03H6.46V8.94ZM6.46 11.96H7.89C8.27 11.96 8.56333 11.8733 8.77 11.7C8.98333 11.52 9.09 11.27 9.09 10.95C9.09 10.6233 8.98 10.3667 8.76 10.18C8.54 9.99333 8.24333 9.9 7.87 9.9H6.46V11.96ZM11.0886 13V6H12.3686V13H11.0886ZM13.3253 13V6H17.8953V7.03H14.6053V8.95H17.5953V9.95H14.6053V11.97H17.8953V13H13.3253ZM18.7066 13V6H19.9866L23.2766 10.93V6H24.5566V13H23.2766L19.9866 8.08V13H18.7066Z" fill="#0A004C"/>
<path d="M107.539 9L107.894 8.64761L107.747 8.5H107.539V9ZM38.0003 9.5C38.2764 9.5 38.5003 9.27614 38.5003 9C38.5003 8.72386 38.2764 8.5 38.0003 8.5V9.5ZM42.0025 8.5C41.7264 8.5 41.5025 8.72386 41.5025 9C41.5025 9.27614 41.7264 9.5 42.0025 9.5V8.5ZM43.0031 9.5C43.2792 9.5 43.5031 9.27614 43.5031 9C43.5031 8.72386 43.2792 8.5 43.0031 8.5V9.5ZM47.0053 8.5C46.7292 8.5 46.5053 8.72386 46.5053 9C46.5053 9.27614 46.7292 9.5 47.0053 9.5V8.5ZM48.0059 9.5C48.282 9.5 48.5059 9.27614 48.5059 9C48.5059 8.72386 48.282 8.5 48.0059 8.5V9.5ZM52.0081 8.5C51.732 8.5 51.5081 8.72386 51.5081 9C51.5081 9.27614 51.732 9.5 52.0081 9.5V8.5ZM53.0087 9.5C53.2848 9.5 53.5087 9.27614 53.5087 9C53.5087 8.72386 53.2848 8.5 53.0087 8.5V9.5ZM57.0109 8.5C56.7348 8.5 56.5109 8.72386 56.5109 9C56.5109 9.27614 56.7348 9.5 57.0109 9.5V8.5ZM58.0115 9.5C58.2876 9.5 58.5115 9.27614 58.5115 9C58.5115 8.72386 58.2876 8.5 58.0115 8.5V9.5ZM62.0137 8.5C61.7376 8.5 61.5137 8.72386 61.5137 9C61.5137 9.27614 61.7376 9.5 62.0137 9.5V8.5ZM63.0143 9.5C63.2904 9.5 63.5143 9.27614 63.5143 9C63.5143 8.72386 63.2904 8.5 63.0143 8.5V9.5ZM67.0165 8.5C66.7404 8.5 66.5165 8.72386 66.5165 9C66.5165 9.27614 66.7404 9.5 67.0165 9.5V8.5ZM68.0171 9.5C68.2932 9.5 68.5171 9.27614 68.5171 9C68.5171 8.72386 68.2932 8.5 68.0171 8.5V9.5ZM72.0193 8.5C71.7432 8.5 71.5193 8.72386 71.5193 9C71.5193 9.27614 71.7432 9.5 72.0193 9.5V8.5ZM73.0199 9.5C73.296 9.5 73.5199 9.27614 73.5199 9C73.5199 8.72386 73.296 8.5 73.0199 8.5V9.5ZM77.0221 8.5C76.746 8.5 76.5221 8.72386 76.5221 9C76.5221 9.27614 76.746 9.5 77.0221 9.5V8.5ZM78.0227 9.5C78.2988 9.5 78.5227 9.27614 78.5227 9C78.5227 8.72386 78.2988 8.5 78.0227 8.5V9.5ZM82.0249 8.5C81.7488 8.5 81.5249 8.72386 81.5249 9C81.5249 9.27614 81.7488 9.5 82.0249 9.5V8.5ZM83.0255 9.5C83.3016 9.5 83.5255 9.27614 83.5255 9C83.5255 8.72386 83.3016 8.5 83.0255 8.5V9.5ZM87.0277 8.5C86.7516 8.5 86.5277 8.72386 86.5277 9C86.5277 9.27614 86.7516 9.5 87.0277 9.5V8.5ZM88.0283 9.5C88.3044 9.5 88.5283 9.27614 88.5283 9C88.5283 8.72386 88.3044 8.5 88.0283 8.5V9.5ZM92.0305 8.5C91.7544 8.5 91.5305 8.72386 91.5305 9C91.5305 9.27614 91.7544 9.5 92.0305 9.5V8.5ZM93.0311 9.5C93.3072 9.5 93.5311 9.27614 93.5311 9C93.5311 8.72386 93.3072 8.5 93.0311 8.5V9.5ZM97.0333 8.5C96.7572 8.5 96.5333 8.72386 96.5333 9C96.5333 9.27614 96.7572 9.5 97.0333 9.5V8.5ZM98.0339 9.5C98.31 9.5 98.5339 9.27614 98.5339 9C98.5339 8.72386 98.31 8.5 98.0339 8.5V9.5ZM102.036 8.5C101.76 8.5 101.536 8.72386 101.536 9C101.536 9.27614 101.76 9.5 102.036 9.5V8.5ZM103.037 9.5C103.313 9.5 103.537 9.27614 103.537 9C103.537 8.72386 103.313 8.5 103.037 8.5V9.5ZM107.039 8.5C106.763 8.5 106.539 8.72386 106.539 9C106.539 9.27614 106.763 9.5 107.039 9.5V8.5ZM107.483 9.65239C107.677 9.84829 107.994 9.84933 108.19 9.65471C108.386 9.46009 108.387 9.14351 108.192 8.94761L107.483 9.65239ZM110.576 11.3476C110.382 11.1517 110.065 11.1507 109.869 11.3453C109.673 11.5399 109.672 11.8565 109.867 12.0524L110.576 11.3476ZM110.463 12.6524C110.658 12.8483 110.974 12.8493 111.17 12.6547C111.366 12.4601 111.367 12.1435 111.172 11.9476L110.463 12.6524ZM113.557 14.3476C113.362 14.1517 113.045 14.1507 112.85 14.3453C112.654 14.5399 112.653 14.8565 112.847 15.0524L113.557 14.3476ZM37.5 9.5H38.0003V8.5H37.5V9.5ZM42.0025 9.5H43.0031V8.5H42.0025V9.5ZM47.0053 9.5H48.0059V8.5H47.0053V9.5ZM52.0081 9.5H53.0087V8.5H52.0081V9.5ZM57.0109 9.5H58.0115V8.5H57.0109V9.5ZM62.0137 9.5H63.0143V8.5H62.0137V9.5ZM67.0165 9.5H68.0171V8.5H67.0165V9.5ZM72.0193 9.5H73.0199V8.5H72.0193V9.5ZM77.0221 9.5H78.0227V8.5H77.0221V9.5ZM82.0249 9.5H83.0255V8.5H82.0249V9.5ZM87.0277 9.5H88.0283V8.5H87.0277V9.5ZM92.0305 9.5H93.0311V8.5H92.0305V9.5ZM97.0333 9.5H98.0339V8.5H97.0333V9.5ZM102.036 9.5H103.037V8.5H102.036V9.5ZM107.039 9.5H107.539V8.5H107.039V9.5ZM107.185 9.35239L107.483 9.65239L108.192 8.94761L107.894 8.64761L107.185 9.35239ZM109.867 12.0524L110.463 12.6524L111.172 11.9476L110.576 11.3476L109.867 12.0524ZM112.847 15.0524L113.145 15.3524L113.855 14.6476L113.557 14.3476L112.847 15.0524Z" fill="#D3D715"/>
<path d="M97.5 149L97.8547 148.648L97.7081 148.5H97.5V149ZM58.9875 149.5C59.2636 149.5 59.4875 149.276 59.4875 149C59.4875 148.724 59.2636 148.5 58.9875 148.5V149.5ZM62.8875 148.5C62.6114 148.5 62.3875 148.724 62.3875 149C62.3875 149.276 62.6114 149.5 62.8875 149.5V148.5ZM63.8625 149.5C64.1386 149.5 64.3625 149.276 64.3625 149C64.3625 148.724 64.1386 148.5 63.8625 148.5V149.5ZM67.7625 148.5C67.4864 148.5 67.2625 148.724 67.2625 149C67.2625 149.276 67.4864 149.5 67.7625 149.5V148.5ZM68.7375 149.5C69.0136 149.5 69.2375 149.276 69.2375 149C69.2375 148.724 69.0136 148.5 68.7375 148.5V149.5ZM72.6375 148.5C72.3614 148.5 72.1375 148.724 72.1375 149C72.1375 149.276 72.3614 149.5 72.6375 149.5V148.5ZM73.6125 149.5C73.8886 149.5 74.1125 149.276 74.1125 149C74.1125 148.724 73.8886 148.5 73.6125 148.5V149.5ZM77.5125 148.5C77.2364 148.5 77.0125 148.724 77.0125 149C77.0125 149.276 77.2364 149.5 77.5125 149.5V148.5ZM78.4875 149.5C78.7636 149.5 78.9875 149.276 78.9875 149C78.9875 148.724 78.7636 148.5 78.4875 148.5V149.5ZM82.3875 148.5C82.1114 148.5 81.8875 148.724 81.8875 149C81.8875 149.276 82.1114 149.5 82.3875 149.5V148.5ZM83.3625 149.5C83.6386 149.5 83.8625 149.276 83.8625 149C83.8625 148.724 83.6386 148.5 83.3625 148.5V149.5ZM87.2625 148.5C86.9864 148.5 86.7625 148.724 86.7625 149C86.7625 149.276 86.9864 149.5 87.2625 149.5V148.5ZM88.2375 149.5C88.5136 149.5 88.7375 149.276 88.7375 149C88.7375 148.724 88.5136 148.5 88.2375 148.5V149.5ZM92.1375 148.5C91.8614 148.5 91.6375 148.724 91.6375 149C91.6375 149.276 91.8614 149.5 92.1375 149.5V148.5ZM93.1125 149.5C93.3886 149.5 93.6125 149.276 93.6125 149C93.6125 148.724 93.3886 148.5 93.1125 148.5V149.5ZM97.0125 148.5C96.7364 148.5 96.5125 148.724 96.5125 149C96.5125 149.276 96.7364 149.5 97.0125 149.5V148.5ZM97.4433 149.652C97.638 149.848 97.9545 149.849 98.1504 149.655C98.3463 149.46 98.3474 149.144 98.1527 148.948L97.4433 149.652ZM100.537 151.348C100.342 151.152 100.026 151.151 99.83 151.345C99.6341 151.54 99.633 151.856 99.8276 152.052L100.537 151.348ZM100.424 152.652C100.618 152.848 100.935 152.849 101.131 152.655C101.327 152.46 101.328 152.144 101.133 151.948L100.424 152.652ZM103.517 154.348C103.323 154.152 103.006 154.151 102.81 154.345C102.614 154.54 102.613 154.856 102.808 155.052L103.517 154.348ZM58.5 149.5H58.9875V148.5H58.5V149.5ZM62.8875 149.5H63.8625V148.5H62.8875V149.5ZM67.7625 149.5H68.7375V148.5H67.7625V149.5ZM72.6375 149.5H73.6125V148.5H72.6375V149.5ZM77.5125 149.5H78.4875V148.5H77.5125V149.5ZM82.3875 149.5H83.3625V148.5H82.3875V149.5ZM87.2625 149.5H88.2375V148.5H87.2625V149.5ZM92.1375 149.5H93.1125V148.5H92.1375V149.5ZM97.0125 149.5H97.5V148.5H97.0125V149.5ZM97.1453 149.352L97.4433 149.652L98.1527 148.948L97.8547 148.648L97.1453 149.352ZM99.8276 152.052L100.424 152.652L101.133 151.948L100.537 151.348L99.8276 152.052ZM102.808 155.052L103.106 155.352L103.815 154.648L103.517 154.348L102.808 155.052Z" fill="#C27C13"/>
<path d="M248.5 26V25.5H248.315L248.175 25.6204L248.5 26ZM242.175 32.0796C242.385 31.8999 242.409 31.5843 242.23 31.3746C242.05 31.1649 241.734 31.1407 241.525 31.3204L242.175 32.0796ZM244.325 28.9204C244.115 29.1001 244.091 29.4157 244.27 29.6254C244.45 29.8351 244.766 29.8593 244.975 29.6796L244.325 28.9204ZM245.675 29.0796C245.885 28.8999 245.909 28.5843 245.73 28.3746C245.55 28.1649 245.234 28.1407 245.025 28.3204L245.675 29.0796ZM247.825 25.9204C247.615 26.1001 247.591 26.4157 247.77 26.6254C247.95 26.8351 248.266 26.8593 248.475 26.6796L247.825 25.9204ZM249.05 26.5C249.326 26.5 249.55 26.2761 249.55 26C249.55 25.7239 249.326 25.5 249.05 25.5V26.5ZM253.45 25.5C253.174 25.5 252.95 25.7239 252.95 26C252.95 26.2761 253.174 26.5 253.45 26.5V25.5ZM254.55 26.5C254.826 26.5 255.05 26.2761 255.05 26C255.05 25.7239 254.826 25.5 254.55 25.5V26.5ZM258.95 25.5C258.674 25.5 258.45 25.7239 258.45 26C258.45 26.2761 258.674 26.5 258.95 26.5V25.5ZM241.825 32.3796L242.175 32.0796L241.525 31.3204L241.175 31.6204L241.825 32.3796ZM244.975 29.6796L245.675 29.0796L245.025 28.3204L244.325 28.9204L244.975 29.6796ZM248.475 26.6796L248.825 26.3796L248.175 25.6204L247.825 25.9204L248.475 26.6796ZM248.5 26.5H249.05V25.5H248.5V26.5ZM253.45 26.5H254.55V25.5H253.45V26.5ZM258.95 26.5H259.5V25.5H258.95V26.5Z" fill="#3A9918"/>
<path d="M244 149V148.5H243.815L243.675 148.62L244 149ZM237.675 155.08C237.885 154.9 237.909 154.584 237.73 154.375C237.55 154.165 237.234 154.141 237.025 154.32L237.675 155.08ZM239.825 151.92C239.615 152.1 239.591 152.416 239.77 152.625C239.95 152.835 240.266 152.859 240.475 152.68L239.825 151.92ZM241.175 152.08C241.385 151.9 241.409 151.584 241.23 151.375C241.05 151.165 240.734 151.141 240.525 151.32L241.175 152.08ZM243.325 148.92C243.115 149.1 243.091 149.416 243.27 149.625C243.45 149.835 243.766 149.859 243.975 149.68L243.325 148.92ZM244.387 149.5C244.664 149.5 244.887 149.276 244.887 149C244.887 148.724 244.664 148.5 244.387 148.5V149.5ZM247.488 148.5C247.211 148.5 246.988 148.724 246.988 149C246.988 149.276 247.211 149.5 247.488 149.5V148.5ZM248.262 149.5C248.539 149.5 248.762 149.276 248.762 149C248.762 148.724 248.539 148.5 248.262 148.5V149.5ZM251.363 148.5C251.086 148.5 250.863 148.724 250.863 149C250.863 149.276 251.086 149.5 251.363 149.5V148.5ZM252.137 149.5C252.414 149.5 252.637 149.276 252.637 149C252.637 148.724 252.414 148.5 252.137 148.5V149.5ZM255.237 148.5C254.961 148.5 254.737 148.724 254.737 149C254.737 149.276 254.961 149.5 255.237 149.5V148.5ZM256.012 149.5C256.289 149.5 256.512 149.276 256.512 149C256.512 148.724 256.289 148.5 256.012 148.5V149.5ZM259.112 148.5C258.836 148.5 258.612 148.724 258.612 149C258.612 149.276 258.836 149.5 259.112 149.5V148.5ZM237.325 155.38L237.675 155.08L237.025 154.32L236.675 154.62L237.325 155.38ZM240.475 152.68L241.175 152.08L240.525 151.32L239.825 151.92L240.475 152.68ZM243.975 149.68L244.325 149.38L243.675 148.62L243.325 148.92L243.975 149.68ZM244 149.5H244.387V148.5H244V149.5ZM247.488 149.5H248.262V148.5H247.488V149.5ZM251.363 149.5H252.137V148.5H251.363V149.5ZM255.237 149.5H256.012V148.5H255.237V149.5ZM259.112 149.5H259.5V148.5H259.112V149.5Z" fill="#C2B113"/>
<path opacity="0.64" d="M6.81 67V61.03H4.77V60H10.14V61.03H8.09V67H6.81ZM10.6882 67V60H13.2582C13.8182 60 14.2782 60.0967 14.6382 60.29C15.0049 60.4767 15.2782 60.7333 15.4582 61.06C15.6382 61.38 15.7282 61.7367 15.7282 62.13C15.7282 62.5567 15.6149 62.9467 15.3882 63.3C15.1682 63.6533 14.8215 63.91 14.3482 64.07L15.7982 67H14.3282L13.0282 64.24H11.9682V67H10.6882ZM11.9682 63.3H13.1782C13.6049 63.3 13.9182 63.1967 14.1182 62.99C14.3182 62.7833 14.4182 62.51 14.4182 62.17C14.4182 61.8367 14.3182 61.57 14.1182 61.37C13.9249 61.17 13.6082 61.07 13.1682 61.07H11.9682V63.3ZM16.5187 67V60H21.0887V61.03H17.7987V62.95H20.7887V63.95H17.7987V65.97H21.0887V67H16.5187ZM24.2899 67.12C23.7766 67.12 23.3233 67.0333 22.9299 66.86C22.5366 66.68 22.2266 66.4267 21.9999 66.1C21.7733 65.7667 21.6566 65.3633 21.6499 64.89H22.9999C23.0133 65.2167 23.1299 65.4933 23.3499 65.72C23.5766 65.94 23.8866 66.05 24.2799 66.05C24.6199 66.05 24.8899 65.97 25.0899 65.81C25.2899 65.6433 25.3899 65.4233 25.3899 65.15C25.3899 64.8633 25.2999 64.64 25.1199 64.48C24.9466 64.32 24.7133 64.19 24.4199 64.09C24.1266 63.99 23.8133 63.8833 23.4799 63.77C22.9399 63.5833 22.5266 63.3433 22.2399 63.05C21.9599 62.7567 21.8199 62.3667 21.8199 61.88C21.8133 61.4667 21.9099 61.1133 22.1099 60.82C22.3166 60.52 22.5966 60.29 22.9499 60.13C23.3033 59.9633 23.7099 59.88 24.1699 59.88C24.6366 59.88 25.0466 59.9633 25.3999 60.13C25.7599 60.2967 26.0399 60.53 26.2399 60.83C26.4466 61.13 26.5566 61.4867 26.5699 61.9H25.1999C25.1933 61.6533 25.0966 61.4367 24.9099 61.25C24.7299 61.0567 24.4766 60.96 24.1499 60.96C23.8699 60.9533 23.6333 61.0233 23.4399 61.17C23.2533 61.31 23.1599 61.5167 23.1599 61.79C23.1599 62.0233 23.2333 62.21 23.3799 62.35C23.5266 62.4833 23.7266 62.5967 23.9799 62.69C24.2333 62.7833 24.5233 62.8833 24.8499 62.99C25.1966 63.11 25.5133 63.25 25.7999 63.41C26.0866 63.57 26.3166 63.7833 26.4899 64.05C26.6633 64.31 26.7499 64.6467 26.7499 65.06C26.7499 65.4267 26.6566 65.7667 26.4699 66.08C26.2833 66.3933 26.0066 66.6467 25.6399 66.84C25.2733 67.0267 24.8233 67.12 24.2899 67.12ZM29.4495 67V60H32.2595C32.9862 60 33.5395 60.17 33.9195 60.51C34.3062 60.8433 34.4995 61.2733 34.4995 61.8C34.4995 62.24 34.3795 62.5933 34.1395 62.86C33.9062 63.12 33.6195 63.2967 33.2795 63.39C33.6795 63.47 34.0095 63.67 34.2695 63.99C34.5295 64.3033 34.6595 64.67 34.6595 65.09C34.6595 65.6433 34.4595 66.1 34.0595 66.46C33.6595 66.82 33.0929 67 32.3595 67H29.4495ZM30.7295 62.94H32.0695C32.4295 62.94 32.7062 62.8567 32.8995 62.69C33.0929 62.5233 33.1895 62.2867 33.1895 61.98C33.1895 61.6867 33.0929 61.4567 32.8995 61.29C32.7129 61.1167 32.4295 61.03 32.0495 61.03H30.7295V62.94ZM30.7295 65.96H32.1595C32.5395 65.96 32.8329 65.8733 33.0395 65.7C33.2529 65.52 33.3595 65.27 33.3595 64.95C33.3595 64.6233 33.2495 64.3667 33.0295 64.18C32.8095 63.9933 32.5129 63.9 32.1395 63.9H30.7295V65.96ZM35.3581 67V60H36.6381V67H35.3581ZM37.5948 67V60H42.1648V61.03H38.8748V62.95H41.8648V63.95H38.8748V65.97H42.1648V67H37.5948ZM42.9761 67V60H44.2561L47.5461 64.93V60H48.8261V67H47.5461L44.2561 62.08V67H42.9761Z" fill="#0A004C"/>
<path opacity="0.64" d="M5.18 152V145H7.77C8.33 145 8.79333 145.093 9.16 145.28C9.52667 145.467 9.8 145.723 9.98 146.05C10.16 146.377 10.25 146.743 10.25 147.15C10.25 147.537 10.1633 147.893 9.99 148.22C9.81667 148.54 9.54667 148.8 9.18 149C8.81333 149.193 8.34333 149.29 7.77 149.29H6.46V152H5.18ZM6.46 148.25H7.69C8.13667 148.25 8.45667 148.153 8.65 147.96C8.85 147.76 8.95 147.49 8.95 147.15C8.95 146.803 8.85 146.533 8.65 146.34C8.45667 146.14 8.13667 146.04 7.69 146.04H6.46V148.25ZM9.65227 152L12.2123 145H13.6523L16.2123 152H14.8523L14.2923 150.38H11.5623L10.9923 152H9.65227ZM11.9123 149.38H13.9423L12.9223 146.47L11.9123 149.38ZM19.104 152.12C18.5907 152.12 18.1373 152.033 17.744 151.86C17.3507 151.68 17.0407 151.427 16.814 151.1C16.5873 150.767 16.4707 150.363 16.464 149.89H17.814C17.8273 150.217 17.944 150.493 18.164 150.72C18.3907 150.94 18.7007 151.05 19.094 151.05C19.434 151.05 19.704 150.97 19.904 150.81C20.104 150.643 20.204 150.423 20.204 150.15C20.204 149.863 20.114 149.64 19.934 149.48C19.7607 149.32 19.5273 149.19 19.234 149.09C18.9407 148.99 18.6273 148.883 18.294 148.77C17.754 148.583 17.3407 148.343 17.054 148.05C16.774 147.757 16.634 147.367 16.634 146.88C16.6273 146.467 16.724 146.113 16.924 145.82C17.1307 145.52 17.4107 145.29 17.764 145.13C18.1173 144.963 18.524 144.88 18.984 144.88C19.4507 144.88 19.8607 144.963 20.214 145.13C20.574 145.297 20.854 145.53 21.054 145.83C21.2607 146.13 21.3707 146.487 21.384 146.9H20.014C20.0073 146.653 19.9107 146.437 19.724 146.25C19.544 146.057 19.2907 145.96 18.964 145.96C18.684 145.953 18.4473 146.023 18.254 146.17C18.0673 146.31 17.974 146.517 17.974 146.79C17.974 147.023 18.0473 147.21 18.194 147.35C18.3407 147.483 18.5407 147.597 18.794 147.69C19.0473 147.783 19.3373 147.883 19.664 147.99C20.0107 148.11 20.3273 148.25 20.614 148.41C20.9007 148.57 21.1307 148.783 21.304 149.05C21.4773 149.31 21.564 149.647 21.564 150.06C21.564 150.427 21.4707 150.767 21.284 151.08C21.0973 151.393 20.8207 151.647 20.454 151.84C20.0873 152.027 19.6373 152.12 19.104 152.12ZM24.6708 152.12C24.1574 152.12 23.7041 152.033 23.3108 151.86C22.9174 151.68 22.6074 151.427 22.3808 151.1C22.1541 150.767 22.0374 150.363 22.0308 149.89H23.3808C23.3941 150.217 23.5108 150.493 23.7308 150.72C23.9574 150.94 24.2674 151.05 24.6608 151.05C25.0008 151.05 25.2708 150.97 25.4708 150.81C25.6708 150.643 25.7708 150.423 25.7708 150.15C25.7708 149.863 25.6808 149.64 25.5008 149.48C25.3274 149.32 25.0941 149.19 24.8008 149.09C24.5074 148.99 24.1941 148.883 23.8608 148.77C23.3208 148.583 22.9074 148.343 22.6208 148.05C22.3408 147.757 22.2008 147.367 22.2008 146.88C22.1941 146.467 22.2908 146.113 22.4908 145.82C22.6974 145.52 22.9774 145.29 23.3308 145.13C23.6841 144.963 24.0908 144.88 24.5508 144.88C25.0174 144.88 25.4274 144.963 25.7808 145.13C26.1408 145.297 26.4208 145.53 26.6208 145.83C26.8274 146.13 26.9374 146.487 26.9508 146.9H25.5808C25.5741 146.653 25.4774 146.437 25.2908 146.25C25.1108 146.057 24.8574 145.96 24.5308 145.96C24.2508 145.953 24.0141 146.023 23.8208 146.17C23.6341 146.31 23.5408 146.517 23.5408 146.79C23.5408 147.023 23.6141 147.21 23.7608 147.35C23.9074 147.483 24.1074 147.597 24.3608 147.69C24.6141 147.783 24.9041 147.883 25.2308 147.99C25.5774 148.11 25.8941 148.25 26.1808 148.41C26.4674 148.57 26.6974 148.783 26.8708 149.05C27.0441 149.31 27.1308 149.647 27.1308 150.06C27.1308 150.427 27.0374 150.767 26.8508 151.08C26.6641 151.393 26.3874 151.647 26.0208 151.84C25.6541 152.027 25.2041 152.12 24.6708 152.12ZM27.3976 152L29.9576 145H31.3976L33.9576 152H32.5976L32.0376 150.38H29.3076L28.7376 152H27.3976ZM29.6576 149.38H31.6876L30.6676 146.47L29.6576 149.38ZM34.4593 152V145H37.2693C37.996 145 38.5493 145.17 38.9293 145.51C39.316 145.843 39.5093 146.273 39.5093 146.8C39.5093 147.24 39.3893 147.593 39.1493 147.86C38.916 148.12 38.6293 148.297 38.2893 148.39C38.6893 148.47 39.0193 148.67 39.2793 148.99C39.5393 149.303 39.6693 149.67 39.6693 150.09C39.6693 150.643 39.4693 151.1 39.0693 151.46C38.6693 151.82 38.1026 152 37.3693 152H34.4593ZM35.7393 147.94H37.0793C37.4393 147.94 37.716 147.857 37.9093 147.69C38.1026 147.523 38.1993 147.287 38.1993 146.98C38.1993 146.687 38.1026 146.457 37.9093 146.29C37.7226 146.117 37.4393 146.03 37.0593 146.03H35.7393V147.94ZM35.7393 150.96H37.1693C37.5493 150.96 37.8426 150.873 38.0493 150.7C38.2626 150.52 38.3693 150.27 38.3693 149.95C38.3693 149.623 38.2593 149.367 38.0393 149.18C37.8193 148.993 37.5226 148.9 37.1493 148.9H35.7393V150.96ZM40.3679 152V145H41.6479V151H44.7479V152H40.3679ZM45.4757 152V145H50.0457V146.03H46.7557V147.95H49.7457V148.95H46.7557V150.97H50.0457V152H45.4757Z" fill="#0A004C"/>
<path opacity="0.64" d="M263.73 152L266.29 145H267.73L270.29 152H268.93L268.37 150.38H265.64L265.07 152H263.73ZM265.99 149.38H268.02L267 146.47L265.99 149.38ZM273.182 152.12C272.668 152.12 272.215 152.033 271.822 151.86C271.428 151.68 271.118 151.427 270.892 151.1C270.665 150.767 270.548 150.363 270.542 149.89H271.892C271.905 150.217 272.022 150.493 272.242 150.72C272.468 150.94 272.778 151.05 273.172 151.05C273.512 151.05 273.782 150.97 273.982 150.81C274.182 150.643 274.282 150.423 274.282 150.15C274.282 149.863 274.192 149.64 274.012 149.48C273.838 149.32 273.605 149.19 273.312 149.09C273.018 148.99 272.705 148.883 272.372 148.77C271.832 148.583 271.418 148.343 271.132 148.05C270.852 147.757 270.712 147.367 270.712 146.88C270.705 146.467 270.802 146.113 271.002 145.82C271.208 145.52 271.488 145.29 271.842 145.13C272.195 144.963 272.602 144.88 273.062 144.88C273.528 144.88 273.938 144.963 274.292 145.13C274.652 145.297 274.932 145.53 275.132 145.83C275.338 146.13 275.448 146.487 275.462 146.9H274.092C274.085 146.653 273.988 146.437 273.802 146.25C273.622 146.057 273.368 145.96 273.042 145.96C272.762 145.953 272.525 146.023 272.332 146.17C272.145 146.31 272.052 146.517 272.052 146.79C272.052 147.023 272.125 147.21 272.272 147.35C272.418 147.483 272.618 147.597 272.872 147.69C273.125 147.783 273.415 147.883 273.742 147.99C274.088 148.11 274.405 148.25 274.692 148.41C274.978 148.57 275.208 148.783 275.382 149.05C275.555 149.31 275.642 149.647 275.642 150.06C275.642 150.427 275.548 150.767 275.362 151.08C275.175 151.393 274.898 151.647 274.532 151.84C274.165 152.027 273.715 152.12 273.182 152.12ZM278.749 152.12C278.235 152.12 277.782 152.033 277.389 151.86C276.995 151.68 276.685 151.427 276.459 151.1C276.232 150.767 276.115 150.363 276.109 149.89H277.459C277.472 150.217 277.589 150.493 277.809 150.72C278.035 150.94 278.345 151.05 278.739 151.05C279.079 151.05 279.349 150.97 279.549 150.81C279.749 150.643 279.849 150.423 279.849 150.15C279.849 149.863 279.759 149.64 279.579 149.48C279.405 149.32 279.172 149.19 278.879 149.09C278.585 148.99 278.272 148.883 277.939 148.77C277.399 148.583 276.985 148.343 276.699 148.05C276.419 147.757 276.279 147.367 276.279 146.88C276.272 146.467 276.369 146.113 276.569 145.82C276.775 145.52 277.055 145.29 277.409 145.13C277.762 144.963 278.169 144.88 278.629 144.88C279.095 144.88 279.505 144.963 279.859 145.13C280.219 145.297 280.499 145.53 280.699 145.83C280.905 146.13 281.015 146.487 281.029 146.9H279.659C279.652 146.653 279.555 146.437 279.369 146.25C279.189 146.057 278.935 145.96 278.609 145.96C278.329 145.953 278.092 146.023 277.899 146.17C277.712 146.31 277.619 146.517 277.619 146.79C277.619 147.023 277.692 147.21 277.839 147.35C277.985 147.483 278.185 147.597 278.439 147.69C278.692 147.783 278.982 147.883 279.309 147.99C279.655 148.11 279.972 148.25 280.259 148.41C280.545 148.57 280.775 148.783 280.949 149.05C281.122 149.31 281.209 149.647 281.209 150.06C281.209 150.427 281.115 150.767 280.929 151.08C280.742 151.393 280.465 151.647 280.099 151.84C279.732 152.027 279.282 152.12 278.749 152.12ZM281.925 152V145H286.495V146.03H283.205V147.95H286.195V148.95H283.205V150.97H286.495V152H281.925ZM287.097 152V151.02L290.317 146.07H287.127V145H291.797V145.98L288.557 150.93H291.817V152H287.097ZM294.553 152V145H297.363C298.09 145 298.643 145.17 299.023 145.51C299.41 145.843 299.603 146.273 299.603 146.8C299.603 147.24 299.483 147.593 299.243 147.86C299.01 148.12 298.723 148.297 298.383 148.39C298.783 148.47 299.113 148.67 299.373 148.99C299.633 149.303 299.763 149.67 299.763 150.09C299.763 150.643 299.563 151.1 299.163 151.46C298.763 151.82 298.197 152 297.463 152H294.553ZM295.833 147.94H297.173C297.533 147.94 297.81 147.857 298.003 147.69C298.197 147.523 298.293 147.287 298.293 146.98C298.293 146.687 298.197 146.457 298.003 146.29C297.817 146.117 297.533 146.03 297.153 146.03H295.833V147.94ZM295.833 150.96H297.263C297.643 150.96 297.937 150.873 298.143 150.7C298.357 150.52 298.463 150.27 298.463 149.95C298.463 149.623 298.353 149.367 298.133 149.18C297.913 148.993 297.617 148.9 297.243 148.9H295.833V150.96ZM300.462 152V145H301.742V152H300.462ZM302.699 152V145H307.269V146.03H303.979V147.95H306.969V148.95H303.979V150.97H307.269V152H302.699ZM308.08 152V145H309.36L312.65 149.93V145H313.93V152H312.65L309.36 147.08V152H308.08Z" fill="#0A004C"/>
<path opacity="0.64" d="M264.18 29V22H268.75V23.03H265.46V24.95H268.45V25.95H265.46V27.97H268.75V29H264.18ZM269.221 29L271.411 25.46L269.191 22H270.661L272.231 24.44L273.671 22H275.111L272.921 25.52L275.161 29H273.691L272.101 26.53L270.661 29H269.221ZM278.415 29.12C277.709 29.12 277.102 28.97 276.595 28.67C276.089 28.3633 275.699 27.94 275.425 27.4C275.152 26.8533 275.015 26.2233 275.015 25.51C275.015 24.7967 275.152 24.1667 275.425 23.62C275.699 23.0733 276.089 22.6467 276.595 22.34C277.102 22.0333 277.709 21.88 278.415 21.88C279.255 21.88 279.942 22.09 280.475 22.51C281.015 22.9233 281.352 23.5067 281.485 24.26H280.075C279.989 23.88 279.802 23.5833 279.515 23.37C279.235 23.15 278.862 23.04 278.395 23.04C277.749 23.04 277.242 23.26 276.875 23.7C276.509 24.14 276.325 24.7433 276.325 25.51C276.325 26.2767 276.509 26.88 276.875 27.32C277.242 27.7533 277.749 27.97 278.395 27.97C278.862 27.97 279.235 27.87 279.515 27.67C279.802 27.4633 279.989 27.18 280.075 26.82H281.485C281.352 27.54 281.015 28.1033 280.475 28.51C279.942 28.9167 279.255 29.12 278.415 29.12ZM282.218 29V22H286.788V23.03H283.498V24.95H286.488V25.95H283.498V27.97H286.788V29H282.218ZM287.6 29V22H288.88V28H291.98V29H287.6ZM292.707 29V22H293.987V28H297.087V29H292.707ZM297.815 29V22H302.385V23.03H299.095V24.95H302.085V25.95H299.095V27.97H302.385V29H297.815ZM303.196 29V22H304.476L307.766 26.93V22H309.046V29H307.766L304.476 24.08V29H303.196ZM311.633 29V23.03H309.593V22H314.963V23.03H312.913V29H311.633Z" fill="#0A004C"/>
<g opacity="0.8" filter="url(#filter0_d_282_10841)">
<circle cx="146.926" cy="149.437" r="38.8053" fill="#C27C13"/>
</g>
<g opacity="0.8" filter="url(#filter1_d_282_10841)">
<circle cx="205" cy="165.5" r="28.5" fill="#C2B113"/>
</g>
<g opacity="0.8" filter="url(#filter2_d_282_10841)">
<circle cx="142.673" cy="33.6789" r="30.3" fill="#D3D715"/>
</g>
<g opacity="0.8" filter="url(#filter3_d_282_10841)">
<circle cx="102.5" cy="88" r="44" fill="#A0CF1C"/>
</g>
<g opacity="0.8" filter="url(#filter4_d_282_10841)">
<circle cx="196.5" cy="88" r="63" fill="#3A9918"/>
</g>
<path d="M178.693 96.288C177.589 96.288 176.589 96.096 175.693 95.712C174.797 95.312 174.077 94.704 173.533 93.888C172.989 93.072 172.701 92.048 172.669 90.816H175.693C175.709 91.632 175.973 92.32 176.485 92.88C177.013 93.424 177.749 93.696 178.693 93.696C179.589 93.696 180.277 93.448 180.757 92.952C181.237 92.456 181.477 91.832 181.477 91.08C181.477 90.2 181.157 89.536 180.517 89.088C179.893 88.624 179.085 88.392 178.093 88.392H176.845V85.872H178.117C178.933 85.872 179.613 85.68 180.157 85.296C180.701 84.912 180.973 84.344 180.973 83.592C180.973 82.968 180.765 82.472 180.349 82.104C179.949 81.72 179.389 81.528 178.669 81.528C177.885 81.528 177.269 81.76 176.821 82.224C176.389 82.688 176.149 83.256 176.101 83.928H173.101C173.165 82.376 173.701 81.152 174.709 80.256C175.733 79.36 177.053 78.912 178.669 78.912C179.821 78.912 180.789 79.12 181.573 79.536C182.373 79.936 182.973 80.472 183.373 81.144C183.789 81.816 183.997 82.56 183.997 83.376C183.997 84.32 183.733 85.12 183.205 85.776C182.693 86.416 182.053 86.848 181.285 87.072C182.229 87.264 182.997 87.728 183.589 88.464C184.181 89.184 184.477 90.096 184.477 91.2C184.477 92.128 184.253 92.976 183.805 93.744C183.357 94.512 182.701 95.128 181.837 95.592C180.989 96.056 179.941 96.288 178.693 96.288ZM193.398 96.288C192.166 96.288 191.102 96.072 190.206 95.64C189.326 95.208 188.63 94.616 188.118 93.864C187.622 93.096 187.334 92.232 187.254 91.272H190.254C190.398 91.96 190.75 92.536 191.31 93C191.87 93.448 192.566 93.672 193.398 93.672C194.294 93.672 195.022 93.344 195.582 92.688C196.158 92.032 196.446 91.216 196.446 90.24C196.446 89.232 196.158 88.432 195.582 87.84C195.022 87.248 194.31 86.952 193.446 86.952C192.726 86.952 192.102 87.128 191.574 87.48C191.046 87.832 190.67 88.272 190.446 88.8H187.494L188.934 79.2H198.246V81.888H191.238L190.47 85.776C190.822 85.392 191.302 85.08 191.91 84.84C192.518 84.584 193.198 84.456 193.95 84.456C195.15 84.456 196.15 84.728 196.95 85.272C197.75 85.8 198.358 86.504 198.774 87.384C199.19 88.248 199.398 89.192 199.398 90.216C199.398 91.384 199.142 92.424 198.63 93.336C198.134 94.248 197.43 94.968 196.518 95.496C195.622 96.024 194.582 96.288 193.398 96.288ZM205.593 87.456C204.825 87.456 204.129 87.288 203.505 86.952C202.881 86.6 202.385 86.104 202.017 85.464C201.649 84.824 201.465 84.064 201.465 83.184C201.465 82.304 201.649 81.544 202.017 80.904C202.385 80.264 202.881 79.776 203.505 79.44C204.129 79.088 204.833 78.912 205.617 78.912C206.385 78.912 207.073 79.088 207.681 79.44C208.305 79.776 208.801 80.264 209.169 80.904C209.537 81.544 209.721 82.304 209.721 83.184C209.721 84.064 209.537 84.824 209.169 85.464C208.801 86.104 208.305 86.6 207.681 86.952C207.057 87.288 206.361 87.456 205.593 87.456ZM204.681 96L214.161 79.2H217.161L207.681 96H204.681ZM205.593 85.32C206.057 85.32 206.457 85.144 206.793 84.792C207.129 84.424 207.297 83.888 207.297 83.184C207.297 82.48 207.129 81.944 206.793 81.576C206.473 81.208 206.073 81.024 205.593 81.024C205.113 81.024 204.705 81.208 204.369 81.576C204.049 81.944 203.889 82.48 203.889 83.184C203.889 83.888 204.049 84.424 204.369 84.792C204.705 85.144 205.113 85.32 205.593 85.32ZM216.345 96.288C215.577 96.288 214.881 96.12 214.257 95.784C213.633 95.432 213.137 94.936 212.769 94.296C212.401 93.656 212.217 92.896 212.217 92.016C212.217 91.136 212.401 90.384 212.769 89.76C213.137 89.12 213.633 88.632 214.257 88.296C214.881 87.944 215.585 87.768 216.369 87.768C217.137 87.768 217.825 87.944 218.433 88.296C219.057 88.632 219.553 89.12 219.921 89.76C220.289 90.384 220.473 91.136 220.473 92.016C220.473 92.896 220.289 93.656 219.921 94.296C219.553 94.936 219.057 95.432 218.433 95.784C217.825 96.12 217.129 96.288 216.345 96.288ZM216.345 94.152C216.825 94.152 217.225 93.976 217.545 93.624C217.881 93.256 218.049 92.72 218.049 92.016C218.049 91.312 217.881 90.776 217.545 90.408C217.225 90.04 216.825 89.856 216.345 89.856C215.865 89.856 215.457 90.04 215.121 90.408C214.801 90.776 214.641 91.312 214.641 92.016C214.641 92.72 214.801 93.256 215.121 93.624C215.457 93.976 215.865 94.152 216.345 94.152Z" fill="white"/>
<path d="M130.297 155.463V153.882C131.023 153.281 131.725 152.686 132.405 152.097C133.097 151.508 133.709 150.924 134.241 150.346C134.785 149.768 135.216 149.207 135.533 148.663C135.862 148.108 136.026 147.569 136.026 147.048C136.026 146.561 135.89 146.13 135.618 145.756C135.358 145.382 134.921 145.195 134.309 145.195C133.686 145.195 133.216 145.399 132.898 145.807C132.581 146.215 132.422 146.708 132.422 147.286H130.314C130.337 146.413 130.53 145.688 130.892 145.11C131.255 144.521 131.737 144.084 132.337 143.801C132.938 143.506 133.612 143.359 134.36 143.359C135.573 143.359 136.514 143.693 137.182 144.362C137.862 145.019 138.202 145.875 138.202 146.929C138.202 147.586 138.049 148.227 137.743 148.85C137.449 149.473 137.058 150.074 136.57 150.652C136.083 151.23 135.556 151.774 134.989 152.284C134.423 152.783 133.873 153.247 133.34 153.678H138.491V155.463H130.297ZM144.48 155.667C143.607 155.667 142.854 155.514 142.219 155.208C141.596 154.902 141.103 154.483 140.74 153.95C140.389 153.406 140.185 152.794 140.128 152.114H142.253C142.355 152.601 142.604 153.009 143.001 153.338C143.398 153.655 143.891 153.814 144.48 153.814C145.115 153.814 145.63 153.582 146.027 153.117C146.435 152.652 146.639 152.074 146.639 151.383C146.639 150.669 146.435 150.102 146.027 149.683C145.63 149.264 145.126 149.054 144.514 149.054C144.004 149.054 143.562 149.179 143.188 149.428C142.814 149.677 142.548 149.989 142.389 150.363H140.298L141.318 143.563H147.914V145.467H142.95L142.406 148.221C142.655 147.949 142.995 147.728 143.426 147.558C143.857 147.377 144.338 147.286 144.871 147.286C145.721 147.286 146.429 147.479 146.996 147.864C147.563 148.238 147.993 148.737 148.288 149.36C148.583 149.972 148.73 150.641 148.73 151.366C148.73 152.193 148.549 152.93 148.186 153.576C147.835 154.222 147.336 154.732 146.69 155.106C146.055 155.48 145.319 155.667 144.48 155.667ZM153.118 149.411C152.574 149.411 152.081 149.292 151.639 149.054C151.197 148.805 150.846 148.453 150.585 148C150.324 147.547 150.194 147.008 150.194 146.385C150.194 145.762 150.324 145.223 150.585 144.77C150.846 144.317 151.197 143.971 151.639 143.733C152.081 143.484 152.58 143.359 153.135 143.359C153.679 143.359 154.166 143.484 154.597 143.733C155.039 143.971 155.39 144.317 155.651 144.77C155.912 145.223 156.042 145.762 156.042 146.385C156.042 147.008 155.912 147.547 155.651 148C155.39 148.453 155.039 148.805 154.597 149.054C154.155 149.292 153.662 149.411 153.118 149.411ZM152.472 155.463L159.187 143.563H161.312L154.597 155.463H152.472ZM153.118 147.898C153.447 147.898 153.73 147.773 153.968 147.524C154.206 147.263 154.325 146.884 154.325 146.385C154.325 145.886 154.206 145.507 153.968 145.246C153.741 144.985 153.458 144.855 153.118 144.855C152.778 144.855 152.489 144.985 152.251 145.246C152.024 145.507 151.911 145.886 151.911 146.385C151.911 146.884 152.024 147.263 152.251 147.524C152.489 147.773 152.778 147.898 153.118 147.898ZM160.734 155.667C160.19 155.667 159.697 155.548 159.255 155.31C158.813 155.061 158.462 154.709 158.201 154.256C157.94 153.803 157.81 153.264 157.81 152.641C157.81 152.018 157.94 151.485 158.201 151.043C158.462 150.59 158.813 150.244 159.255 150.006C159.697 149.757 160.196 149.632 160.751 149.632C161.295 149.632 161.782 149.757 162.213 150.006C162.655 150.244 163.006 150.59 163.267 151.043C163.528 151.485 163.658 152.018 163.658 152.641C163.658 153.264 163.528 153.803 163.267 154.256C163.006 154.709 162.655 155.061 162.213 155.31C161.782 155.548 161.289 155.667 160.734 155.667ZM160.734 154.154C161.074 154.154 161.357 154.029 161.584 153.78C161.822 153.519 161.941 153.14 161.941 152.641C161.941 152.142 161.822 151.763 161.584 151.502C161.357 151.241 161.074 151.111 160.734 151.111C160.394 151.111 160.105 151.241 159.867 151.502C159.64 151.763 159.527 152.142 159.527 152.641C159.527 153.14 159.64 153.519 159.867 153.78C160.105 154.029 160.394 154.154 160.734 154.154Z" fill="white"/>
<path d="M199.657 171.144C199.081 171.144 198.561 171.044 198.097 170.844C197.633 170.636 197.261 170.344 196.981 169.968C196.709 169.592 196.573 169.156 196.573 168.66C196.573 168.148 196.705 167.7 196.969 167.316C197.241 166.932 197.597 166.656 198.037 166.488C197.653 166.32 197.349 166.08 197.125 165.768C196.901 165.448 196.789 165.092 196.789 164.7C196.789 164.3 196.897 163.932 197.113 163.596C197.329 163.252 197.649 162.976 198.073 162.768C198.505 162.56 199.033 162.456 199.657 162.456C200.281 162.456 200.805 162.56 201.229 162.768C201.653 162.976 201.973 163.252 202.189 163.596C202.405 163.932 202.513 164.3 202.513 164.7C202.513 165.084 202.397 165.44 202.165 165.768C201.941 166.088 201.641 166.328 201.265 166.488C201.713 166.656 202.069 166.932 202.333 167.316C202.597 167.7 202.729 168.148 202.729 168.66C202.729 169.156 202.593 169.592 202.321 169.968C202.049 170.344 201.677 170.636 201.205 170.844C200.741 171.044 200.225 171.144 199.657 171.144ZM199.657 166.032C200.073 166.032 200.401 165.924 200.641 165.708C200.881 165.492 201.001 165.216 201.001 164.88C201.001 164.512 200.881 164.224 200.641 164.016C200.409 163.808 200.081 163.704 199.657 163.704C199.225 163.704 198.893 163.808 198.661 164.016C198.429 164.224 198.313 164.512 198.313 164.88C198.313 165.224 198.429 165.504 198.661 165.72C198.901 165.928 199.233 166.032 199.657 166.032ZM199.657 169.86C200.169 169.86 200.557 169.736 200.821 169.488C201.085 169.232 201.217 168.912 201.217 168.528C201.217 168.104 201.077 167.772 200.797 167.532C200.525 167.292 200.145 167.172 199.657 167.172C199.169 167.172 198.781 167.292 198.493 167.532C198.213 167.772 198.073 168.104 198.073 168.528C198.073 168.912 198.205 169.232 198.469 169.488C198.741 169.736 199.137 169.86 199.657 169.86ZM205.908 166.728C205.524 166.728 205.176 166.644 204.864 166.476C204.552 166.3 204.304 166.052 204.12 165.732C203.936 165.412 203.844 165.032 203.844 164.592C203.844 164.152 203.936 163.772 204.12 163.452C204.304 163.132 204.552 162.888 204.864 162.72C205.176 162.544 205.528 162.456 205.92 162.456C206.304 162.456 206.648 162.544 206.952 162.72C207.264 162.888 207.512 163.132 207.696 163.452C207.88 163.772 207.972 164.152 207.972 164.592C207.972 165.032 207.88 165.412 207.696 165.732C207.512 166.052 207.264 166.3 206.952 166.476C206.64 166.644 206.292 166.728 205.908 166.728ZM205.452 171L210.192 162.6H211.692L206.952 171H205.452ZM205.908 165.66C206.14 165.66 206.34 165.572 206.508 165.396C206.676 165.212 206.76 164.944 206.76 164.592C206.76 164.24 206.676 163.972 206.508 163.788C206.348 163.604 206.148 163.512 205.908 163.512C205.668 163.512 205.464 163.604 205.296 163.788C205.136 163.972 205.056 164.24 205.056 164.592C205.056 164.944 205.136 165.212 205.296 165.396C205.464 165.572 205.668 165.66 205.908 165.66ZM211.284 171.144C210.9 171.144 210.552 171.06 210.24 170.892C209.928 170.716 209.68 170.468 209.496 170.148C209.312 169.828 209.22 169.448 209.22 169.008C209.22 168.568 209.312 168.192 209.496 167.88C209.68 167.56 209.928 167.316 210.24 167.148C210.552 166.972 210.904 166.884 211.296 166.884C211.68 166.884 212.024 166.972 212.328 167.148C212.64 167.316 212.888 167.56 213.072 167.88C213.256 168.192 213.348 168.568 213.348 169.008C213.348 169.448 213.256 169.828 213.072 170.148C212.888 170.468 212.64 170.716 212.328 170.892C212.024 171.06 211.676 171.144 211.284 171.144ZM211.284 170.076C211.524 170.076 211.724 169.988 211.884 169.812C212.052 169.628 212.136 169.36 212.136 169.008C212.136 168.656 212.052 168.388 211.884 168.204C211.724 168.02 211.524 167.928 211.284 167.928C211.044 167.928 210.84 168.02 210.672 168.204C210.512 168.388 210.432 168.656 210.432 169.008C210.432 169.36 210.512 169.628 210.672 169.812C210.84 169.988 211.044 170.076 211.284 170.076Z" fill="white"/>
<path d="M132.243 37.7051V29.9491L130.633 30.3271V28.9551L132.999 27.9051H134.105V37.7051H132.243ZM135.697 37.7051V36.4031C136.295 35.9084 136.873 35.4184 137.433 34.9331C138.003 34.4477 138.507 33.9671 138.945 33.4911C139.393 33.0151 139.748 32.5531 140.009 32.1051C140.28 31.6477 140.415 31.2044 140.415 30.7751C140.415 30.3737 140.303 30.0191 140.079 29.7111C139.865 29.4031 139.505 29.2491 139.001 29.2491C138.488 29.2491 138.101 29.4171 137.839 29.7531C137.578 30.0891 137.447 30.4951 137.447 30.9711H135.711C135.73 30.2524 135.889 29.6551 136.187 29.1791C136.486 28.6937 136.883 28.3344 137.377 28.1011C137.872 27.8584 138.427 27.7371 139.043 27.7371C140.042 27.7371 140.817 28.0124 141.367 28.5631C141.927 29.1044 142.207 29.8091 142.207 30.6771C142.207 31.2184 142.081 31.7457 141.829 32.2591C141.587 32.7724 141.265 33.2671 140.863 33.7431C140.462 34.2191 140.028 34.6671 139.561 35.0871C139.095 35.4977 138.642 35.8804 138.203 36.2351H142.445V37.7051H135.697ZM145.88 32.7211C145.432 32.7211 145.026 32.6231 144.662 32.4271C144.298 32.2217 144.008 31.9324 143.794 31.5591C143.579 31.1857 143.472 30.7424 143.472 30.2291C143.472 29.7157 143.579 29.2724 143.794 28.8991C144.008 28.5257 144.298 28.2411 144.662 28.0451C145.026 27.8397 145.436 27.7371 145.894 27.7371C146.342 27.7371 146.743 27.8397 147.098 28.0451C147.462 28.2411 147.751 28.5257 147.966 28.8991C148.18 29.2724 148.288 29.7157 148.288 30.2291C148.288 30.7424 148.18 31.1857 147.966 31.5591C147.751 31.9324 147.462 32.2217 147.098 32.4271C146.734 32.6231 146.328 32.7211 145.88 32.7211ZM145.348 37.7051L150.878 27.9051H152.628L147.098 37.7051H145.348ZM145.88 31.4751C146.15 31.4751 146.384 31.3724 146.58 31.1671C146.776 30.9524 146.874 30.6397 146.874 30.2291C146.874 29.8184 146.776 29.5057 146.58 29.2911C146.393 29.0764 146.16 28.9691 145.88 28.9691C145.6 28.9691 145.362 29.0764 145.166 29.2911C144.979 29.5057 144.886 29.8184 144.886 30.2291C144.886 30.6397 144.979 30.9524 145.166 31.1671C145.362 31.3724 145.6 31.4751 145.88 31.4751ZM152.152 37.8731C151.704 37.8731 151.298 37.7751 150.934 37.5791C150.57 37.3737 150.28 37.0844 150.066 36.7111C149.851 36.3377 149.744 35.8944 149.744 35.3811C149.744 34.8677 149.851 34.4291 150.066 34.0651C150.28 33.6917 150.57 33.4071 150.934 33.2111C151.298 33.0057 151.708 32.9031 152.166 32.9031C152.614 32.9031 153.015 33.0057 153.37 33.2111C153.734 33.4071 154.023 33.6917 154.238 34.0651C154.452 34.4291 154.56 34.8677 154.56 35.3811C154.56 35.8944 154.452 36.3377 154.238 36.7111C154.023 37.0844 153.734 37.3737 153.37 37.5791C153.015 37.7751 152.609 37.8731 152.152 37.8731ZM152.152 36.6271C152.432 36.6271 152.665 36.5244 152.852 36.3191C153.048 36.1044 153.146 35.7917 153.146 35.3811C153.146 34.9704 153.048 34.6577 152.852 34.4431C152.665 34.2284 152.432 34.1211 152.152 34.1211C151.872 34.1211 151.634 34.2284 151.438 34.4431C151.251 34.6577 151.158 34.9704 151.158 35.3811C151.158 35.7917 151.251 36.1044 151.438 36.3191C151.634 36.5244 151.872 36.6271 152.152 36.6271Z" fill="white"/>
<path d="M85.7085 93V91.512C86.3912 90.9467 87.0525 90.3867 87.6925 89.832C88.3432 89.2773 88.9192 88.728 89.4205 88.184C89.9325 87.64 90.3378 87.112 90.6365 86.6C90.9458 86.0773 91.1005 85.5707 91.1005 85.08C91.1005 84.6213 90.9725 84.216 90.7165 83.864C90.4712 83.512 90.0605 83.336 89.4845 83.336C88.8978 83.336 88.4552 83.528 88.1565 83.912C87.8578 84.296 87.7085 84.76 87.7085 85.304H85.7245C85.7458 84.4827 85.9272 83.8 86.2685 83.256C86.6098 82.7013 87.0632 82.2907 87.6285 82.024C88.1938 81.7467 88.8285 81.608 89.5325 81.608C90.6738 81.608 91.5592 81.9227 92.1885 82.552C92.8285 83.1707 93.1485 83.976 93.1485 84.968C93.1485 85.5867 93.0045 86.1893 92.7165 86.776C92.4392 87.3627 92.0712 87.928 91.6125 88.472C91.1538 89.016 90.6578 89.528 90.1245 90.008C89.5912 90.4773 89.0738 90.9147 88.5725 91.32H93.4205V93H85.7085ZM99.555 93.192C98.5203 93.192 97.635 92.952 96.899 92.472C96.163 91.9813 95.5923 91.304 95.187 90.44C94.7923 89.5653 94.595 88.552 94.595 87.4C94.595 86.2587 94.7923 85.2507 95.187 84.376C95.5923 83.5013 96.163 82.824 96.899 82.344C97.635 81.8533 98.5203 81.608 99.555 81.608C100.59 81.608 101.475 81.8533 102.211 82.344C102.947 82.824 103.512 83.5013 103.907 84.376C104.312 85.2507 104.515 86.2587 104.515 87.4C104.515 88.552 104.312 89.5653 103.907 90.44C103.512 91.304 102.947 91.9813 102.211 92.472C101.475 92.952 100.59 93.192 99.555 93.192ZM99.555 91.352C100.398 91.352 101.086 91 101.619 90.296C102.152 89.592 102.419 88.6267 102.419 87.4C102.419 86.1733 102.152 85.208 101.619 84.504C101.086 83.8 100.398 83.448 99.555 83.448C98.7017 83.448 98.0083 83.8 97.475 84.504C96.9523 85.208 96.691 86.1733 96.691 87.4C96.691 88.6267 96.9523 89.592 97.475 90.296C98.0083 91 98.7017 91.352 99.555 91.352ZM108.546 87.304C108.034 87.304 107.57 87.192 107.154 86.968C106.738 86.7333 106.408 86.4027 106.162 85.976C105.917 85.5493 105.794 85.0427 105.794 84.456C105.794 83.8693 105.917 83.3627 106.162 82.936C106.408 82.5093 106.738 82.184 107.154 81.96C107.57 81.7253 108.04 81.608 108.562 81.608C109.074 81.608 109.533 81.7253 109.938 81.96C110.354 82.184 110.685 82.5093 110.93 82.936C111.176 83.3627 111.298 83.8693 111.298 84.456C111.298 85.0427 111.176 85.5493 110.93 85.976C110.685 86.4027 110.354 86.7333 109.938 86.968C109.522 87.192 109.058 87.304 108.546 87.304ZM107.938 93L114.258 81.8H116.258L109.938 93H107.938ZM108.546 85.88C108.856 85.88 109.122 85.7627 109.346 85.528C109.57 85.2827 109.682 84.9253 109.682 84.456C109.682 83.9867 109.57 83.6293 109.346 83.384C109.133 83.1387 108.866 83.016 108.546 83.016C108.226 83.016 107.954 83.1387 107.73 83.384C107.517 83.6293 107.41 83.9867 107.41 84.456C107.41 84.9253 107.517 85.2827 107.73 85.528C107.954 85.7627 108.226 85.88 108.546 85.88ZM115.714 93.192C115.202 93.192 114.738 93.08 114.322 92.856C113.906 92.6213 113.576 92.2907 113.33 91.864C113.085 91.4373 112.962 90.9307 112.962 90.344C112.962 89.7573 113.085 89.256 113.33 88.84C113.576 88.4133 113.906 88.088 114.322 87.864C114.738 87.6293 115.208 87.512 115.73 87.512C116.242 87.512 116.701 87.6293 117.106 87.864C117.522 88.088 117.853 88.4133 118.098 88.84C118.344 89.256 118.466 89.7573 118.466 90.344C118.466 90.9307 118.344 91.4373 118.098 91.864C117.853 92.2907 117.522 92.6213 117.106 92.856C116.701 93.08 116.237 93.192 115.714 93.192ZM115.714 91.768C116.034 91.768 116.301 91.6507 116.514 91.416C116.738 91.1707 116.85 90.8133 116.85 90.344C116.85 89.8747 116.738 89.5173 116.514 89.272C116.301 89.0267 116.034 88.904 115.714 88.904C115.394 88.904 115.122 89.0267 114.898 89.272C114.685 89.5173 114.578 89.8747 114.578 90.344C114.578 90.8133 114.685 91.1707 114.898 91.416C115.122 91.6507 115.394 91.768 115.714 91.768Z" fill="white"/>
<defs>
<filter id="filter0_d_282_10841" x="68.1211" y="110.632" width="157.61" height="157.611" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="40"/>
<feGaussianBlur stdDeviation="20"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.788235 0 0 0 0 0.580392 0 0 0 0 0.235294 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_282_10841"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_282_10841" result="shape"/>
</filter>
<filter id="filter1_d_282_10841" x="136.5" y="137" width="137" height="137" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="40"/>
<feGaussianBlur stdDeviation="20"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.8 0 0 0 0 0.784314 0 0 0 0 0.247059 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_282_10841"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_282_10841" result="shape"/>
</filter>
<filter id="filter2_d_282_10841" x="72.373" y="3.37891" width="140.6" height="140.6" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="40"/>
<feGaussianBlur stdDeviation="20"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.839216 0 0 0 0 0.85098 0 0 0 0 0.286275 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_282_10841"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_282_10841" result="shape"/>
</filter>
<filter id="filter3_d_282_10841" x="18.5" y="44" width="168" height="168" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="40"/>
<feGaussianBlur stdDeviation="20"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.744338 0 0 0 0 0.954167 0 0 0 0 0.159028 0 0 0 0.24 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_282_10841"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_282_10841" result="shape"/>
</filter>
<filter id="filter4_d_282_10841" x="93.5" y="25" width="206" height="206" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="40"/>
<feGaussianBlur stdDeviation="20"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.388235 0 0 0 0 0.682353 0 0 0 0 0.27451 0 0 0 0.45 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_282_10841"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_282_10841" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 46 KiB

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="#0A004C"/>
<g clip-path="url(#clip0_1108_6175)">
<path d="M17.3332 8L10.1175 16L6.6665 12.6667" stroke="white" stroke-width="1.33333" stroke-linecap="square"/>
</g>
<defs>
<clipPath id="clip0_1108_6175">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 406 B

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="white"/>
<g clip-path="url(#clip0_1108_7017)">
<path d="M11.5462 17V8.136L9.70619 8.568V7L12.4102 5.8H13.6742V17H11.5462Z" fill="#2400FD"/>
</g>
<defs>
<clipPath id="clip0_1108_7017">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 386 B

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="#0A004C"/>
<g clip-path="url(#clip0_1108_7032)">
<path d="M11.9864 17.192C11.2504 17.192 10.5837 17.064 9.98638 16.808C9.38904 16.5413 8.90904 16.136 8.54638 15.592C8.18371 15.048 7.99171 14.3653 7.97038 13.544H9.98638C9.99704 14.088 10.173 14.5467 10.5144 14.92C10.8664 15.2827 11.357 15.464 11.9864 15.464C12.5837 15.464 13.0424 15.2987 13.3624 14.968C13.6824 14.6373 13.8424 14.2213 13.8424 13.72C13.8424 13.1333 13.629 12.6907 13.2024 12.392C12.7864 12.0827 12.2477 11.928 11.5864 11.928H10.7544V10.248H11.6024C12.1464 10.248 12.5997 10.12 12.9624 9.864C13.325 9.608 13.5064 9.22933 13.5064 8.728C13.5064 8.312 13.3677 7.98133 13.0904 7.736C12.8237 7.48 12.4504 7.352 11.9704 7.352C11.4477 7.352 11.037 7.50667 10.7384 7.816C10.4504 8.12533 10.2904 8.504 10.2584 8.952H8.25838C8.30104 7.91733 8.65838 7.10133 9.33038 6.504C10.013 5.90667 10.893 5.608 11.9704 5.608C12.7384 5.608 13.3837 5.74667 13.9064 6.024C14.4397 6.29067 14.8397 6.648 15.1064 7.096C15.3837 7.544 15.5224 8.04 15.5224 8.584C15.5224 9.21333 15.3464 9.74667 14.9944 10.184C14.653 10.6107 14.2264 10.8987 13.7144 11.048C14.3437 11.176 14.8557 11.4853 15.2504 11.976C15.645 12.456 15.8424 13.064 15.8424 13.8C15.8424 14.4187 15.693 14.984 15.3944 15.496C15.0957 16.008 14.6584 16.4187 14.0824 16.728C13.517 17.0373 12.8184 17.192 11.9864 17.192Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_1108_7032">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="white"/>
<g clip-path="url(#clip0_1108_6817)">
<path d="M11.9864 17.192C11.2504 17.192 10.5837 17.064 9.98638 16.808C9.38904 16.5413 8.90904 16.136 8.54638 15.592C8.18371 15.048 7.99171 14.3653 7.97038 13.544H9.98638C9.99704 14.088 10.173 14.5467 10.5144 14.92C10.8664 15.2827 11.357 15.464 11.9864 15.464C12.5837 15.464 13.0424 15.2987 13.3624 14.968C13.6824 14.6373 13.8424 14.2213 13.8424 13.72C13.8424 13.1333 13.629 12.6907 13.2024 12.392C12.7864 12.0827 12.2477 11.928 11.5864 11.928H10.7544V10.248H11.6024C12.1464 10.248 12.5997 10.12 12.9624 9.864C13.325 9.608 13.5064 9.22933 13.5064 8.728C13.5064 8.312 13.3677 7.98133 13.0904 7.736C12.8237 7.48 12.4504 7.352 11.9704 7.352C11.4477 7.352 11.037 7.50667 10.7384 7.816C10.4504 8.12533 10.2904 8.504 10.2584 8.952H8.25838C8.30104 7.91733 8.65838 7.10133 9.33038 6.504C10.013 5.90667 10.893 5.608 11.9704 5.608C12.7384 5.608 13.3837 5.74667 13.9064 6.024C14.4397 6.29067 14.8397 6.648 15.1064 7.096C15.3837 7.544 15.5224 8.04 15.5224 8.584C15.5224 9.21333 15.3464 9.74667 14.9944 10.184C14.653 10.6107 14.2264 10.8987 13.7144 11.048C14.3437 11.176 14.8557 11.4853 15.2504 11.976C15.645 12.456 15.8424 13.064 15.8424 13.8C15.8424 14.4187 15.693 14.984 15.3944 15.496C15.0957 16.008 14.6584 16.4187 14.0824 16.728C13.517 17.0373 12.8184 17.192 11.9864 17.192Z" fill="#2400FD"/>
</g>
<defs>
<clipPath id="clip0_1108_6817">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="#0A004C"/>
<g clip-path="url(#clip0_1108_7024)">
<path d="M8.24569 17V15.512C8.92835 14.9467 9.58969 14.3867 10.2297 13.832C10.8804 13.2773 11.4564 12.728 11.9577 12.184C12.4697 11.64 12.875 11.112 13.1737 10.6C13.483 10.0773 13.6377 9.57067 13.6377 9.08C13.6377 8.62133 13.5097 8.216 13.2537 7.864C13.0084 7.512 12.5977 7.336 12.0217 7.336C11.435 7.336 10.9924 7.528 10.6937 7.912C10.395 8.296 10.2457 8.76 10.2457 9.304H8.26169C8.28302 8.48267 8.46435 7.8 8.80569 7.256C9.14702 6.70133 9.60035 6.29067 10.1657 6.024C10.731 5.74667 11.3657 5.608 12.0697 5.608C13.211 5.608 14.0964 5.92267 14.7257 6.552C15.3657 7.17067 15.6857 7.976 15.6857 8.968C15.6857 9.58667 15.5417 10.1893 15.2537 10.776C14.9764 11.3627 14.6084 11.928 14.1497 12.472C13.691 13.016 13.195 13.528 12.6617 14.008C12.1284 14.4773 11.611 14.9147 11.1097 15.32H15.9577V17H8.24569Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_1108_7024">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="white"/>
<g clip-path="url(#clip0_1108_6182)">
<path d="M8.24569 17V15.512C8.92835 14.9467 9.58969 14.3867 10.2297 13.832C10.8804 13.2773 11.4564 12.728 11.9577 12.184C12.4697 11.64 12.875 11.112 13.1737 10.6C13.483 10.0773 13.6377 9.57067 13.6377 9.08C13.6377 8.62133 13.5097 8.216 13.2537 7.864C13.0084 7.512 12.5977 7.336 12.0217 7.336C11.435 7.336 10.9924 7.528 10.6937 7.912C10.395 8.296 10.2457 8.76 10.2457 9.304H8.26169C8.28302 8.48267 8.46435 7.8 8.80569 7.256C9.14702 6.70133 9.60035 6.29067 10.1657 6.024C10.731 5.74667 11.3657 5.608 12.0697 5.608C13.211 5.608 14.0964 5.92267 14.7257 6.552C15.3657 7.17067 15.6857 7.976 15.6857 8.968C15.6857 9.58667 15.5417 10.1893 15.2537 10.776C14.9764 11.3627 14.6084 11.928 14.1497 12.472C13.691 13.016 13.195 13.528 12.6617 14.008C12.1284 14.4773 11.611 14.9147 11.1097 15.32H15.9577V17H8.24569Z" fill="#2400FD"/>
</g>
<defs>
<clipPath id="clip0_1108_6182">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,5 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.1705 20.9053L26.1705 31.176H29.3862L29.3862 17.6597L26.1705 20.9053ZM2.63745 25.5544L2.63745 31.176H5.99931L5.99931 28.8877L2.63745 25.5544Z" fill="#FF3E37"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M29.4366 9.17969V13.9259L12.0519 31.3106L2.5946 21.8534L2.5946 17.1072L12.0519 26.5644L29.4366 9.17969Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M29.4366 0.61084V5.35704L12.0518 22.7419L2.5946 13.2847L2.5946 8.53854L12.0518 17.9957L29.4366 0.61084Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

@ -0,0 +1,38 @@
<svg width="201" height="92" viewBox="0 0 201 92" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M66.9161 60.004L66.9161 89.5322H76.0301V50.6729L66.9161 60.004ZM0.218262 73.3702L0.218262 89.5323H9.74653L9.74653 82.9535L0.218262 73.3702Z" fill="#FF3E37"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M76.1728 26.292V39.9373L26.9007 89.9183L0.0968026 62.7288L0.0968018 49.0834L26.9007 76.273L76.1728 26.292Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M76.1728 1.65723V15.3025L26.9005 65.2837L0.0968026 38.0943L0.0968018 24.449L26.9005 51.6384L76.1728 1.65723Z" fill="white"/>
<mask id="path-4-outside-1_62_1952" maskUnits="userSpaceOnUse" x="92.8703" y="24.9795" width="108" height="65" fill="black">
<rect fill="white" x="92.8703" y="24.9795" width="108" height="65"/>
<path d="M98.4708 55.1737V34.3265L106.598 55.1737H110.469L118.474 34.3265V55.1737H122.872V25.9795H117.44L108.604 48.8014L99.5044 25.9795H93.8703V55.1737H98.4708Z"/>
<path d="M132.916 31.3338V25.9795H127.971V31.3338H132.916ZM132.775 55.1737V34.3265H128.133V55.1737H132.775Z"/>
<path d="M146.163 55.6419C148.595 55.6419 150.601 54.9904 152.202 53.6671C153.783 52.3642 154.736 50.6744 155.08 48.5775H150.946C150.196 50.7151 148.595 51.7942 146.163 51.7942C144.501 51.7942 143.184 51.3055 142.211 50.308C141.218 49.3308 140.732 47.9871 140.732 46.2973V46.2566H155.425C155.668 42.7346 154.938 39.8233 153.256 37.5228C151.574 35.2223 149.162 34.0822 146.041 34.0822C143.103 34.0822 140.732 35.0798 138.908 37.0749C137.063 39.07 136.151 41.6759 136.151 44.913C136.151 48.2518 137.063 50.878 138.887 52.7714C140.691 54.6851 143.123 55.6419 146.163 55.6419ZM140.853 42.3681C140.934 41.0652 141.461 39.9862 142.414 39.1515C143.366 38.3168 144.521 37.9096 145.92 37.9096C147.298 37.9096 148.433 38.3168 149.345 39.1515C150.237 39.9862 150.703 41.0652 150.764 42.3681H140.853Z"/>
<path d="M166.564 55.7234C168.064 55.7234 169.34 55.3976 170.394 54.7054C171.428 54.0336 172.238 53.321 172.786 52.5474V55.1737H177.184V34.3265H172.786V44.8315C172.786 46.9285 172.279 48.5979 171.266 49.8601C170.252 51.1223 169.036 51.7534 167.597 51.7534C165.105 51.7534 163.483 50.1247 163.483 46.6231V34.3265H158.721V47.132C158.721 49.799 159.511 51.9977 160.626 53.2192C161.173 53.83 161.821 54.3186 162.571 54.7054C164.03 55.4994 165.287 55.7234 166.564 55.7234Z"/>
<path d="M185.06 55.1737L190.065 48.2518L195.051 55.1737H200.28L192.599 44.7501L200.28 34.3265H195.051L190.106 41.2484L185.06 34.3265H179.81L187.532 44.7501L179.81 55.1737H185.06Z"/>
<path d="M109.279 88.9262L120.162 59.7321H115.501L107.171 82.7576L98.8211 59.7321H94.1193L105.002 88.9262H109.279Z"/>
<path d="M129.72 89.1298C132.537 89.1298 134.929 88.1322 136.854 86.1167C138.779 84.1216 139.732 81.5768 139.732 78.5026C139.732 75.3878 138.779 72.8226 136.854 70.8071C134.929 68.7916 132.537 67.794 129.72 67.794C126.862 67.794 124.491 68.7916 122.566 70.8071C120.641 72.8226 119.668 75.3878 119.668 78.5026C119.668 81.5768 120.641 84.1216 122.566 86.1167C124.491 88.1322 126.862 89.1298 129.72 89.1298ZM129.68 84.997C127.937 84.997 126.579 84.3863 125.606 83.1648C124.613 81.9432 124.126 80.396 124.126 78.5026C124.126 76.5889 124.633 75.0213 125.626 73.7795C126.619 72.5579 127.977 71.9472 129.72 71.9472C131.483 71.9472 132.882 72.5579 133.875 73.7795C134.868 75.0213 135.374 76.6093 135.374 78.5434C135.374 80.4367 134.868 81.984 133.854 83.1851C132.841 84.3863 131.443 84.997 129.68 84.997Z"/>
<path d="M152.918 88.9262L152.958 84.997H150.141C149.148 84.997 148.479 84.7934 148.135 84.4066C147.79 84.0198 147.608 83.3073 147.608 82.2486V71.825H152.918V68.0791H147.608V61.4015H143.291V68.0791H140.069V71.825H143.291V83.3887C143.291 84.997 143.818 86.3203 144.892 87.3586C145.966 88.3969 147.324 88.9262 148.986 88.9262H152.918Z"/>
<path d="M163.712 89.3945C166.144 89.3945 168.15 88.743 169.751 87.4197C171.332 86.1167 172.285 84.427 172.629 82.3301H168.495C167.745 84.4677 166.144 85.5467 163.712 85.5467C162.05 85.5467 160.733 85.0581 159.76 84.0605C158.767 83.0833 158.281 81.7397 158.281 80.0499V80.0092H172.974C173.217 76.4871 172.487 73.5759 170.805 71.2754C169.123 68.9748 166.711 67.8348 163.59 67.8348C160.652 67.8348 158.281 68.8323 156.457 70.8275C154.612 72.8226 153.7 75.4285 153.7 78.6655C153.7 82.0043 154.612 84.6306 156.436 86.5239C158.24 88.4376 160.672 89.3945 163.712 89.3945ZM158.402 76.1207C158.483 74.8177 159.01 73.7387 159.963 72.904C160.915 72.0693 162.07 71.6622 163.469 71.6622C164.847 71.6622 165.982 72.0693 166.894 72.904C167.786 73.7387 168.252 74.8177 168.313 76.1207H158.402Z"/>
<path d="M180.749 88.9262V78.3805C180.749 74.3291 182.775 72.3136 186.808 72.3747H187.518V67.7533H186.565C185.369 67.7533 184.336 67.9569 183.424 68.3437C182.512 68.7509 181.883 69.1377 181.539 69.4838C181.194 69.8503 180.931 70.2371 180.749 70.6239V68.0791H176.472V88.9262H180.749Z"/>
</mask>
<path d="M98.4708 55.1737V34.3265L106.598 55.1737H110.469L118.474 34.3265V55.1737H122.872V25.9795H117.44L108.604 48.8014L99.5044 25.9795H93.8703V55.1737H98.4708Z" fill="white"/>
<path d="M132.916 31.3338V25.9795H127.971V31.3338H132.916ZM132.775 55.1737V34.3265H128.133V55.1737H132.775Z" fill="white"/>
<path d="M146.163 55.6419C148.595 55.6419 150.601 54.9904 152.202 53.6671C153.783 52.3642 154.736 50.6744 155.08 48.5775H150.946C150.196 50.7151 148.595 51.7942 146.163 51.7942C144.501 51.7942 143.184 51.3055 142.211 50.308C141.218 49.3308 140.732 47.9871 140.732 46.2973V46.2566H155.425C155.668 42.7346 154.938 39.8233 153.256 37.5228C151.574 35.2223 149.162 34.0822 146.041 34.0822C143.103 34.0822 140.732 35.0798 138.908 37.0749C137.063 39.07 136.151 41.6759 136.151 44.913C136.151 48.2518 137.063 50.878 138.887 52.7714C140.691 54.6851 143.123 55.6419 146.163 55.6419ZM140.853 42.3681C140.934 41.0652 141.461 39.9862 142.414 39.1515C143.366 38.3168 144.521 37.9096 145.92 37.9096C147.298 37.9096 148.433 38.3168 149.345 39.1515C150.237 39.9862 150.703 41.0652 150.764 42.3681H140.853Z" fill="white"/>
<path d="M166.564 55.7234C168.064 55.7234 169.34 55.3976 170.394 54.7054C171.428 54.0336 172.238 53.321 172.786 52.5474V55.1737H177.184V34.3265H172.786V44.8315C172.786 46.9285 172.279 48.5979 171.266 49.8601C170.252 51.1223 169.036 51.7534 167.597 51.7534C165.105 51.7534 163.483 50.1247 163.483 46.6231V34.3265H158.721V47.132C158.721 49.799 159.511 51.9977 160.626 53.2192C161.173 53.83 161.821 54.3186 162.571 54.7054C164.03 55.4994 165.287 55.7234 166.564 55.7234Z" fill="white"/>
<path d="M185.06 55.1737L190.065 48.2518L195.051 55.1737H200.28L192.599 44.7501L200.28 34.3265H195.051L190.106 41.2484L185.06 34.3265H179.81L187.532 44.7501L179.81 55.1737H185.06Z" fill="white"/>
<path d="M109.279 88.9262L120.162 59.7321H115.501L107.171 82.7576L98.8211 59.7321H94.1193L105.002 88.9262H109.279Z" fill="white"/>
<path d="M129.72 89.1298C132.537 89.1298 134.929 88.1322 136.854 86.1167C138.779 84.1216 139.732 81.5768 139.732 78.5026C139.732 75.3878 138.779 72.8226 136.854 70.8071C134.929 68.7916 132.537 67.794 129.72 67.794C126.862 67.794 124.491 68.7916 122.566 70.8071C120.641 72.8226 119.668 75.3878 119.668 78.5026C119.668 81.5768 120.641 84.1216 122.566 86.1167C124.491 88.1322 126.862 89.1298 129.72 89.1298ZM129.68 84.997C127.937 84.997 126.579 84.3863 125.606 83.1648C124.613 81.9432 124.126 80.396 124.126 78.5026C124.126 76.5889 124.633 75.0213 125.626 73.7795C126.619 72.5579 127.977 71.9472 129.72 71.9472C131.483 71.9472 132.882 72.5579 133.875 73.7795C134.868 75.0213 135.374 76.6093 135.374 78.5434C135.374 80.4367 134.868 81.984 133.854 83.1851C132.841 84.3863 131.443 84.997 129.68 84.997Z" fill="white"/>
<path d="M152.918 88.9262L152.958 84.997H150.141C149.148 84.997 148.479 84.7934 148.135 84.4066C147.79 84.0198 147.608 83.3073 147.608 82.2486V71.825H152.918V68.0791H147.608V61.4015H143.291V68.0791H140.069V71.825H143.291V83.3887C143.291 84.997 143.818 86.3203 144.892 87.3586C145.966 88.3969 147.324 88.9262 148.986 88.9262H152.918Z" fill="white"/>
<path d="M163.712 89.3945C166.144 89.3945 168.15 88.743 169.751 87.4197C171.332 86.1167 172.285 84.427 172.629 82.3301H168.495C167.745 84.4677 166.144 85.5467 163.712 85.5467C162.05 85.5467 160.733 85.0581 159.76 84.0605C158.767 83.0833 158.281 81.7397 158.281 80.0499V80.0092H172.974C173.217 76.4871 172.487 73.5759 170.805 71.2754C169.123 68.9748 166.711 67.8348 163.59 67.8348C160.652 67.8348 158.281 68.8323 156.457 70.8275C154.612 72.8226 153.7 75.4285 153.7 78.6655C153.7 82.0043 154.612 84.6306 156.436 86.5239C158.24 88.4376 160.672 89.3945 163.712 89.3945ZM158.402 76.1207C158.483 74.8177 159.01 73.7387 159.963 72.904C160.915 72.0693 162.07 71.6622 163.469 71.6622C164.847 71.6622 165.982 72.0693 166.894 72.904C167.786 73.7387 168.252 74.8177 168.313 76.1207H158.402Z" fill="white"/>
<path d="M180.749 88.9262V78.3805C180.749 74.3291 182.775 72.3136 186.808 72.3747H187.518V67.7533H186.565C185.369 67.7533 184.336 67.9569 183.424 68.3437C182.512 68.7509 181.883 69.1377 181.539 69.4838C181.194 69.8503 180.931 70.2371 180.749 70.6239V68.0791H176.472V88.9262H180.749Z" fill="white"/>
<path d="M98.4708 55.1737V34.3265L106.598 55.1737H110.469L118.474 34.3265V55.1737H122.872V25.9795H117.44L108.604 48.8014L99.5044 25.9795H93.8703V55.1737H98.4708Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M132.916 31.3338V25.9795H127.971V31.3338H132.916ZM132.775 55.1737V34.3265H128.133V55.1737H132.775Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M146.163 55.6419C148.595 55.6419 150.601 54.9904 152.202 53.6671C153.783 52.3642 154.736 50.6744 155.08 48.5775H150.946C150.196 50.7151 148.595 51.7942 146.163 51.7942C144.501 51.7942 143.184 51.3055 142.211 50.308C141.218 49.3308 140.732 47.9871 140.732 46.2973V46.2566H155.425C155.668 42.7346 154.938 39.8233 153.256 37.5228C151.574 35.2223 149.162 34.0822 146.041 34.0822C143.103 34.0822 140.732 35.0798 138.908 37.0749C137.063 39.07 136.151 41.6759 136.151 44.913C136.151 48.2518 137.063 50.878 138.887 52.7714C140.691 54.6851 143.123 55.6419 146.163 55.6419ZM140.853 42.3681C140.934 41.0652 141.461 39.9862 142.414 39.1515C143.366 38.3168 144.521 37.9096 145.92 37.9096C147.298 37.9096 148.433 38.3168 149.345 39.1515C150.237 39.9862 150.703 41.0652 150.764 42.3681H140.853Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M166.564 55.7234C168.064 55.7234 169.34 55.3976 170.394 54.7054C171.428 54.0336 172.238 53.321 172.786 52.5474V55.1737H177.184V34.3265H172.786V44.8315C172.786 46.9285 172.279 48.5979 171.266 49.8601C170.252 51.1223 169.036 51.7534 167.597 51.7534C165.105 51.7534 163.483 50.1247 163.483 46.6231V34.3265H158.721V47.132C158.721 49.799 159.511 51.9977 160.626 53.2192C161.173 53.83 161.821 54.3186 162.571 54.7054C164.03 55.4994 165.287 55.7234 166.564 55.7234Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M185.06 55.1737L190.065 48.2518L195.051 55.1737H200.28L192.599 44.7501L200.28 34.3265H195.051L190.106 41.2484L185.06 34.3265H179.81L187.532 44.7501L179.81 55.1737H185.06Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M109.279 88.9262L120.162 59.7321H115.501L107.171 82.7576L98.8211 59.7321H94.1193L105.002 88.9262H109.279Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M129.72 89.1298C132.537 89.1298 134.929 88.1322 136.854 86.1167C138.779 84.1216 139.732 81.5768 139.732 78.5026C139.732 75.3878 138.779 72.8226 136.854 70.8071C134.929 68.7916 132.537 67.794 129.72 67.794C126.862 67.794 124.491 68.7916 122.566 70.8071C120.641 72.8226 119.668 75.3878 119.668 78.5026C119.668 81.5768 120.641 84.1216 122.566 86.1167C124.491 88.1322 126.862 89.1298 129.72 89.1298ZM129.68 84.997C127.937 84.997 126.579 84.3863 125.606 83.1648C124.613 81.9432 124.126 80.396 124.126 78.5026C124.126 76.5889 124.633 75.0213 125.626 73.7795C126.619 72.5579 127.977 71.9472 129.72 71.9472C131.483 71.9472 132.882 72.5579 133.875 73.7795C134.868 75.0213 135.374 76.6093 135.374 78.5434C135.374 80.4367 134.868 81.984 133.854 83.1851C132.841 84.3863 131.443 84.997 129.68 84.997Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M152.918 88.9262L152.958 84.997H150.141C149.148 84.997 148.479 84.7934 148.135 84.4066C147.79 84.0198 147.608 83.3073 147.608 82.2486V71.825H152.918V68.0791H147.608V61.4015H143.291V68.0791H140.069V71.825H143.291V83.3887C143.291 84.997 143.818 86.3203 144.892 87.3586C145.966 88.3969 147.324 88.9262 148.986 88.9262H152.918Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M163.712 89.3945C166.144 89.3945 168.15 88.743 169.751 87.4197C171.332 86.1167 172.285 84.427 172.629 82.3301H168.495C167.745 84.4677 166.144 85.5467 163.712 85.5467C162.05 85.5467 160.733 85.0581 159.76 84.0605C158.767 83.0833 158.281 81.7397 158.281 80.0499V80.0092H172.974C173.217 76.4871 172.487 73.5759 170.805 71.2754C169.123 68.9748 166.711 67.8348 163.59 67.8348C160.652 67.8348 158.281 68.8323 156.457 70.8275C154.612 72.8226 153.7 75.4285 153.7 78.6655C153.7 82.0043 154.612 84.6306 156.436 86.5239C158.24 88.4376 160.672 89.3945 163.712 89.3945ZM158.402 76.1207C158.483 74.8177 159.01 73.7387 159.963 72.904C160.915 72.0693 162.07 71.6622 163.469 71.6622C164.847 71.6622 165.982 72.0693 166.894 72.904C167.786 73.7387 168.252 74.8177 168.313 76.1207H158.402Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M180.749 88.9262V78.3805C180.749 74.3291 182.775 72.3136 186.808 72.3747H187.518V67.7533H186.565C185.369 67.7533 184.336 67.9569 183.424 68.3437C182.512 68.7509 181.883 69.1377 181.539 69.4838C181.194 69.8503 180.931 70.2371 180.749 70.6239V68.0791H176.472V88.9262H180.749Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

@ -0,0 +1,4 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15 30H19M15 24H33M15 18H27" stroke="white" stroke-width="2" stroke-linecap="square" stroke-linejoin="round"/>
<path d="M0 0V-2H-2V0H0ZM48 0H50V-2H48V0ZM48 48V50H50V48H48ZM0 48H-2V50H0V48ZM0 2H48V-2H0V2ZM46 0V48H50V0H46ZM48 46H0V50H48V46ZM2 48V0H-2V48H2Z" fill="white" fill-opacity="0.16"/>
</svg>

After

Width:  |  Height:  |  Size: 403 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

@ -0,0 +1,3 @@
<svg width="22" height="18" viewBox="0 0 22 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19.7386 4.48592C19.7526 4.68279 19.7526 4.87969 19.7526 5.07656C19.7526 11.0812 15.2158 18 6.92388 18C4.36929 18 1.99621 17.2547 0 15.961C0.362958 16.0031 0.711909 16.0172 1.08883 16.0172C3.19667 16.0172 5.13706 15.3 6.68656 14.0766C4.70432 14.0344 3.04314 12.7266 2.4708 10.9266C2.75001 10.9687 3.02918 10.9969 3.32236 10.9969C3.72717 10.9969 4.13202 10.9406 4.5089 10.8422C2.44291 10.4203 0.893367 8.59218 0.893367 6.38437V6.32814C1.4936 6.66564 2.19163 6.87657 2.93143 6.90467C1.71695 6.08902 0.921297 4.69685 0.921297 3.12184C0.921297 2.27811 1.14461 1.50467 1.53549 0.829666C3.75505 3.58591 7.09138 5.38588 10.8325 5.58279C10.7627 5.24529 10.7208 4.89376 10.7208 4.54219C10.7208 2.03904 12.731 0 15.2297 0C16.5279 0 17.7005 0.548436 18.5241 1.43437C19.5431 1.23751 20.5203 0.857802 21.3858 0.337502C21.0507 1.39221 20.3388 2.27815 19.4036 2.84061C20.3109 2.74222 21.1904 2.48904 22 2.13752C21.3859 3.03748 20.6181 3.83901 19.7386 4.48592Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@ -0,0 +1,16 @@
<svg width="117" height="139" viewBox="0 0 117 139" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M53.1406 28.563L68.1916 38.0403" stroke="#0A004C" stroke-width="1.44048" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1.6748 101.36L28.5994 118.411L58.7432 137.448L115.853 101.36V43.7512L58.7432 7.66309L1.6748 43.7512V101.36Z" fill="#2400FD" stroke="#0A004C" stroke-width="1.44048" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M115.853 44.1655L88.9288 61.1749L58.7432 80.2536V137.448L88.9288 118.411L115.853 101.36V44.1655Z" fill="white" stroke="#0A004C" stroke-width="1.44048" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M115.853 44.1655L88.9288 61.1749L58.7432 80.2536V137.448L88.9288 118.411L115.853 101.36V44.1655Z" stroke="#0A004C" stroke-width="1.44048" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1.6748 44.1655L28.5994 61.1749L58.7432 80.2536V137.448L28.5994 118.411L1.6748 101.36V44.1655Z" fill="#FF3E37" stroke="#0A004C" stroke-width="1.44048" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M73.5848 56.084L57.9067 46.1929L43.9427 37.3364" fill="white"/>
<path d="M73.5848 56.084L57.9067 46.1929L43.9427 37.3364" stroke="#0A004C" stroke-width="7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M73.5847 56.084L57.9066 46.1929L43.9426 37.3364V1L57.9066 9.85648L73.5847 19.7476V56.084Z" fill="white" stroke="#0A004C" stroke-width="1.44048" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M54.2696 26.4106L69.3206 35.8879" stroke="#0A004C" stroke-width="1.4" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M51.1864 24.9207C51.1864 25.7933 50.5889 26.3314 50.0468 26.3314C49.5048 26.3314 48.9073 25.7933 48.9073 24.9207C48.9073 24.0482 49.5048 23.5101 50.0468 23.5101C50.5889 23.5101 51.1864 24.0482 51.1864 24.9207Z" fill="white" stroke="#0A004C" stroke-width="1.4"/>
<path d="M54.2696 35.5151L69.3206 44.9924" stroke="#0A004C" stroke-width="1.4" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M51.1864 34.0252C51.1864 34.8978 50.5889 35.4359 50.0468 35.4359C49.5048 35.4359 48.9073 34.8978 48.9073 34.0252C48.9073 33.1527 49.5048 32.6146 50.0468 32.6146C50.5889 32.6146 51.1864 33.1527 51.1864 34.0252Z" fill="white" stroke="#0A004C" stroke-width="1.4"/>
<path d="M54.2696 17.3057L69.3206 26.7829" stroke="#0A004C" stroke-width="1.4" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M51.1864 15.8157C51.1864 16.6883 50.5889 17.2264 50.0468 17.2264C49.5047 17.2264 48.9073 16.6883 48.9073 15.8157C48.9073 14.9432 49.5048 14.4051 50.0468 14.4051C50.5889 14.4051 51.1864 14.9432 51.1864 15.8157Z" fill="white" stroke="#0A004C" stroke-width="1.4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

@ -0,0 +1,258 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="355"
height="327"
viewBox="0 0 355 327"
fill="none"
version="1.1"
id="svg135"
sodipodi:docname="vote.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs139" />
<sodipodi:namedview
id="namedview137"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
width="374px"
inkscape:zoom="1.0060729"
inkscape:cx="181.39839"
inkscape:cy="254.95171"
inkscape:window-width="1366"
inkscape:window-height="705"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg135" />
<path
d="m 116.90261,102.64707 -110.4070024,151.866 94.3040024,67.233 110.407,-151.866 z"
fill="#2400fd"
stroke="#2400fd"
stroke-width="1.4"
stroke-miterlimit="10.0005"
stroke-linecap="round"
stroke-linejoin="round"
id="path75" />
<path
d="m 108.25161,268.40807 53.396,-73.396"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path77" />
<path
d="m 102.49461,283.00807 c 5.282,0 9.564,-4.24 9.564,-9.47 0,-5.231 -4.282,-9.471 -9.564,-9.471 -5.282002,0 -9.563002,4.24 -9.563002,9.471 0,5.23 4.281,9.47 9.563002,9.47 z"
fill="#2400fd"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path79" />
<path
d="m 123.00261,258.36507 c 5.282,0 9.564,-4.24 9.564,-9.471 0,-5.23 -4.282,-9.47 -9.564,-9.47 -5.281,0 -9.563,4.24 -9.563,9.47 0,5.231 4.282,9.471 9.563,9.471 z"
fill="#2400fd"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path81" />
<path
d="m 141.73761,230.66407 c 5.282,0 9.563,-4.24 9.563,-9.47 0,-5.231 -4.281,-9.471 -9.563,-9.471 -5.282,0 -9.563,4.24 -9.563,9.471 0,5.23 4.281,9.47 9.563,9.47 z"
fill="#2400fd"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path83" />
<path
d="m 160.47261,205.27207 c 5.282,0 9.563,-4.24 9.563,-9.471 0,-5.23 -4.281,-9.47 -9.563,-9.47 -5.282,0 -9.564,4.24 -9.564,9.47 0,5.231 4.282,9.471 9.564,9.471 z"
fill="#2400fd"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path85" />
<path
d="m 157.50461,197.75407 4.163,0.695 v -6.348"
stroke="#ffffff"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path87" />
<path
d="m 81.923608,252.24907 53.395002,-73.396"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path89" />
<path
d="m 76.166608,266.84907 c 5.281,0 9.563,-4.24 9.563,-9.47 0,-5.23 -4.282,-9.471 -9.563,-9.471 -5.282,0 -9.564,4.241 -9.564,9.471 0,5.23 4.282,9.47 9.564,9.47 z"
fill="#2400fd"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path91" />
<path
d="m 73.197608,259.50607 4.163,0.694 v -6.347"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path93" />
<path
d="m 96.674608,242.20607 c 5.282002,0 9.563002,-4.24 9.563002,-9.47 0,-5.231 -4.281,-9.471 -9.563002,-9.471 -5.282,0 -9.563,4.24 -9.563,9.471 0,5.23 4.281,9.47 9.563,9.47 z"
fill="#2400fd"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path95" />
<path
d="m 115.40961,214.50507 c 5.281,0 9.563,-4.24 9.563,-9.47 0,-5.231 -4.282,-9.471 -9.563,-9.471 -5.282,0 -9.564,4.24 -9.564,9.471 0,5.23 4.282,9.47 9.564,9.47 z"
fill="#2400fd"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path97" />
<path
d="m 134.14361,189.11307 c 5.282,0 9.564,-4.24 9.564,-9.47 0,-5.231 -4.282,-9.471 -9.564,-9.471 -5.281,0 -9.563,4.24 -9.563,9.471 0,5.23 4.282,9.47 9.563,9.47 z"
fill="#2400fd"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path99" />
<path
d="m 53.821608,236.09007 53.395002,-73.395"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path101" />
<path
d="m 48.064608,250.69007 c 5.281,0 9.563,-4.24 9.563,-9.47 0,-5.231 -4.282,-9.471 -9.563,-9.471 -5.282,0 -9.564,4.24 -9.564,9.471 0,5.23 4.282,9.47 9.564,9.47 z"
fill="#2400fd"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path103" />
<path
d="m 68.572608,226.04707 c 5.282,0 9.563,-4.24 9.563,-9.47 0,-5.23 -4.281,-9.47 -9.563,-9.47 -5.282,0 -9.564,4.24 -9.564,9.47 0,5.23 4.282,9.47 9.564,9.47 z"
fill="#2400fd"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path105" />
<path
d="m 87.307608,198.34607 c 5.281,0 9.563,-4.24 9.563,-9.47 0,-5.23 -4.282,-9.47 -9.563,-9.47 -5.282,0 -9.564,4.24 -9.564,9.47 0,5.23 4.282,9.47 9.564,9.47 z"
fill="#2400fd"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path107" />
<path
d="m 84.339608,190.83007 4.162,0.694 10e-4,-6.347"
stroke="#ffffff"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path109" />
<path
d="m 106.04161,172.95407 c 5.282,0 9.564,-4.24 9.564,-9.471 0,-5.23 -4.282,-9.47 -9.564,-9.47 -5.281,0 -9.563002,4.24 -9.563002,9.47 0,5.231 4.282002,9.471 9.563002,9.471 z"
fill="#2400fd"
stroke="#ffffff"
stroke-width="1.4"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path111" />
<path
d="m 293.09361,103.13007 -71.805,31.647 c -8.766,3.867 -17.771,7.181 -27.016,9.865 l -60.966,18.862 c -9.643,2.762 -17.852,1.262 -22.156,-6.551 -4.303,-7.892 -1.115,-17.757 6.854,-22.018 l 5.898,-2.605 23.191,-8.918 c 9.722,-5.209 23.51,-6.471 18.25,-16.178 -5.26,-9.708 -17.374,-13.259 -27.176,-8.05 0,0 -12.273,2.131 -37.935,48.614 -1.514002,2.605 -3.666002,4.815 -6.535002,6.393 -7.491,4.183 -17.054,1.973 -22.234,-4.814 -4.648,-6.163 -3.378,-13.869 -0.192,-19.61 0.037,-0.066 0.074,-0.133 0.112,-0.199 l 0.558,-1.105 8.231,-15.485 12.837,-24.15 1.542,-2.901 6.797002,-12.787 c 0,0 1.195,-2.807 3.489,-6.704 3.692,-6.269 10.231,-15.359 19.224,-20.129 0,0 21.119,-15.547 51.244,-12.153 l 24.625,3.472 c 0,0 24.148,6.472 49.969,-4.419 8.607,-3.631 4.144,-1.342 4.144,-1.342 z"
fill="#ff3e37"
id="path113" />
<path
d="m 137.84961,144.40507 c 2.231,6.629 -2.869,10.417 -2.869,10.417 l -10.042,3.473 -5.818,-17.363 10.122,-3.314 c 0,0 6.375,0 8.607,6.629"
fill="#ff3e37"
id="path115" />
<path
d="m 94.734608,85.45207 -1.654,3.125 -12.908,24.401 -8.886,16.797 7.19,3.976 c 0,0 10.759,-16.021 4.622,-26.122"
fill="#ff3e37"
id="path117" />
<path
d="m 67.637608,108.02307 4.543,4.025 c 0,0 10.898,-12.053 8.454,-18.686 -0.002,-0.006 -0.004,-0.012 -0.007,-0.018"
fill="#ff3e37"
id="path119" />
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="m 93.009608,88.82807 c -0.064,0.213 -0.109,0.333 -0.109,0.333 l 1.651,-3.234 z"
fill="#ff3e37"
id="path121" />
<path
d="m 64.133608,120.00207 c 0.038,0.179 0.08,0.359 0.128,0.539 2.336,4.607 4.673,8.065 7.01,9.226 0.037,-0.066 0.074,-0.133 0.112,-0.199 l 0.558,-1.105 8.231,-15.485 12.908,-24.401 c -0.025,0.094 -0.049,0.178 -0.071,0.251 l 1.542,-2.901 6.797002,-12.787 c 0,0 1.195,-2.807 3.489,-6.704 l -24.203002,26.926 c 2.444,6.633 -8.454,18.686 -8.454,18.686 l -4.543,-4.025 c -2.576,3.406 -4.434,7.581 -3.504,11.979 z"
fill="#ff3e37"
id="path123" />
<path
d="m 71.286608,129.77507 7.19,3.976 c 0,0 10.759,-16.021 4.622,-26.122 m -11.812,22.146 c -0.005,-0.003 -0.01,-0.005 -0.015,-0.008 m 0.015,0.008 8.886,-16.797 m 57.677002,31.427 c 2.231,6.629 -2.869,10.417 -2.869,10.417 l -10.042,3.473 -5.818,-17.363 10.122,-3.314 c 0,0 6.375,0 8.607,6.629 m -46.383002,-62.899 12.512002,-13.89 -9.427002,18.469 m 0.183,-0.475 -1.654,3.125 m -12.453,4.767 c 0.003,0.006 0.005,0.012 0.007,0.018 m -9.363,36.405 c -2.337,-1.161 -4.674,-4.619 -7.01,-9.226 -0.048,-0.18 -0.09,-0.36 -0.128,-0.539 m 7.138,9.765 c 0.037,-0.066 0.074,-0.133 0.112,-0.199 l 0.558,-1.105 8.231,-15.485 m -8.901,16.789 c -3.186,5.741 -4.456,13.447 0.192,19.61 5.18,6.787 14.743,8.997 22.234,4.814 2.869,-1.578 5.021,-3.788 6.535002,-6.393 25.662,-46.483 37.935,-48.614 37.935,-48.614 9.802,-5.209 21.916,-1.658 27.176,8.05 5.26,9.707 -8.528,10.969 -18.25,16.178 l -23.191,8.918 -5.898,2.605 c -7.969,4.261 -11.157,14.126 -6.854,22.018 4.304,7.813 12.513,9.313 22.156,6.551 l 60.966,-18.862 c 9.245,-2.684 18.25,-5.998 27.016,-9.865 l 71.805,-31.647 -39.05,-71.265 c 0,0 4.463,-2.289 -4.144,1.342 -25.821,10.891 -49.969,4.419 -49.969,4.419 l -24.625,-3.472 c -30.125,-3.394 -51.244,12.153 -51.244,12.153 -8.993,4.77 -15.532,13.86 -19.224,20.129 m -24.665002,46.542 12.908,-24.401 m -12.908,24.401 12.837,-24.15 m 0.071,-0.251 c -0.025,0.094 -0.049,0.178 -0.071,0.251 m 1.542,-2.901 6.797002,-12.787 c 0,0 1.195,-2.807 3.489,-6.704 m -10.286002,19.491 -1.651,3.234 c 0,0 0.045,-0.12 0.109,-0.333 m 1.542,-2.901 -1.542,2.901 m 11.828002,-22.392 -24.203002,26.926 m 0,0 c 2.444,6.633 -8.454,18.686 -8.454,18.686 l -4.543,-4.025 c -2.576,3.406 -4.434,7.581 -3.504,11.979 m 16.501,-26.64 -10.128,11.267 -0.717,0.868 c -3.551,3.747 -6.831,8.946 -5.656,14.505"
stroke="#ffffff"
stroke-width="2"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path125" />
<path
d="m 351.50961,113.31007 -25.104,15.39 -72.283,-96.835 49.411,-31.72599958"
fill="#2400fd"
id="path127" />
<path
d="m 351.50961,113.31007 -25.104,15.39 -72.283,-96.835 49.411,-31.72599958"
stroke="#ffffff"
stroke-width="2"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path129" />
<path
d="m 295.62261,33.20707 c 0,3.99 -3.269,7.234 -7.31,7.234 -4.042,0 -7.31,-3.244 -7.31,-7.234 0,-3.991 3.268,-7.235 7.31,-7.235 4.041,0 7.31,3.244 7.31,7.235 z"
fill="#ffffff"
stroke="#ffffff"
id="path131" />
<path
d="m 293.09361,103.13007 10.361,-5.13"
stroke="#ffffff"
stroke-width="2"
stroke-miterlimit="10"
stroke-linecap="round"
stroke-linejoin="round"
id="path133" />
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

@ -2,24 +2,32 @@
margin: 0;
padding: 0;
list-style-type: none;
flex-basis: auto;
}
.tacky li {
.tacky col {
display: inline-block;
}
.tacky li:after {
content: "-";
.tacky col:after {
margin: 0 5px;
}
.tacky li:last-of-type:after {
.tacky col:last-of-type:after {
content: "";
margin: 0;
}
.tacky li.no-tack:after {
.tacky col.no-tack:after {
content: "";
margin: 0;
display: none;
}
@media screen and (max-width: 930px) {
footer {
display: none!important;
}
}

@ -1,6 +1,20 @@
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=DM+Serif+Display:ital@0;1&display=swap');
h1, h2, h3 {
font-family: "DM Serif Display", serif!important;
}
body, h4, h5, p, button {
font-family: "DM Sans", sans-serif!important;
}
::placeholder {
font-family: "DM Sans", sans-serif!important;
}
.rowNoMargin {
margin-left: 0px!important;
margin-right: 0px!important;
}
// mieux voter vars
$mv-blue-color: #009900 !default;
$mv-red-color: #000099 !default;
$mv-blue-color: #2400FD !default;
$mv-dark-blue-color: #0A004C!default;
$mv-light-color: #efefff !default;
$mv-dark-color: #333 !default;
@ -10,7 +24,7 @@ $body-color: $mv-light-color !default;
$theme-colors: (
"primary": $mv-blue-color,
"secondary": $mv-red-color,
"secondary": $mv-dark-blue-color,
"light": $mv-light-color,
"dark": $mv-dark-color,
"danger": #990000,
@ -42,15 +56,11 @@ body,
}
main {
background-image: url("/background-mv.png");
background-size: 100%;
background-attachment: fixed;
background-repeat: no-repeat;
background-color: $mv-blue-color;
min-height: calc(100% - 128px);
overflow: auto;
padding-top: 72px;
padding-bottom: 100px;
background-color: $mv-dark-blue-color;
overflow: hidden;
}
header {
@ -60,13 +70,14 @@ header {
}
footer {
background-color: $body-bg;
background-color: $mv-blue-color;
color: $mv-light-color;
padding: 25px;
padding: 16px;
}
footer a {
color: $mv-light-color;
font-size: 14px;
}
footer a:hover {
@ -355,3 +366,168 @@ ol.result > li:nth-child(2){
ol.result > li:nth-child(3){
font-size:1.25rem;
}
/** GLOBALS **/
section {
width: 100%;
}
p {
font-size: 16px;
}
h2 {
font-size: 56px;
line-height: 56px;
}
h3 {
font-size: 40px;
}
h4 {
font-size: 24px;
line-height: 32px;
}
h5 {
font-size: 18px;
font-weight: bold;
}
.btn {
width: 165px;
padding: 16px 24px;
background: $mv-blue-color;
border: 2px solid #FFFFFF;
border-radius: 0px;
box-sizing: border-box;
box-shadow: 0px 4px 0px #FFFFFF;
font-family: DM Sans;
font-style: normal;
font-weight: bold;
font-size: 16px;
line-height: 24px;
letter-spacing: -0.5px;
color: #FFFFFF;
display: flex;
justify-content: center;
align-items: center;
}
.btn img {
width: 24px!important;
height: 24px!important;
margin: 0px 16px!important;
}
.footerRow > .col {
flex-basis: auto!important;
width: auto!important;
align-self: center;
}
.footerLogo {
padding-right: 0px;
}
.footerButton {
padding-right: 0px;
}
.btn-footer {
width: auto;
padding: 7px;
border: none;
box-shadow: none;
background: #4A2FEF;
color: white;
font-size: 14px;
width: 100%;
}
.cursorPointer {
cursor: pointer;
}
.sectionAjouterCandidat {
min-height: 90vh;
display: flex;
flex-direction: column;
}
.ajouterCandidat {
width: 50%;
margin: 10px auto;
}
.input-group-text {
display: flex;
align-items: center;
padding: 0.375rem 0.75rem;
margin-bottom: 0;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #495057;
text-align: center;
white-space: nowrap;
background-color: transparent;
border: none;
border-radius: 0px;
}
.form-control {
height: auto;
background: transparent;
color: white;
border: none;
}
.form-control::placeholder {
color: white;
}
.btnTrash {
background-color: transparent;
color: white;
border: none;
}
.btnValidateCandidate {
background: transparent;
width: auto;
opacity: 0.4;
margin: 250px auto 0px;
}
@media screen and (min-width: 931px) {
header {
display: none!important;
}
}
.result {
display: flex;
margin: auto;
justify-content: space-around;
}
ol.result > li {
text-align: center;
}

@ -0,0 +1,179 @@
.mobile-header {
width: 100%;
}
.nav-mobile {
width: 100%;
padding: 0px;
}
.navbar-header {
width: 100%;
display: flex;
padding: 25px 16px 15px 32px;
justify-content: flex-end;
}
.navbar-collapse {
background: #0A004C;
padding: 10px 20px;
height: 100%;
position: fixed;
top: 0;
width: 100%;
z-index: 9999;
}
.navbar-brand img {
width: 112px;
}
.navbar-toggle {
width: 50px!important;
margin-top: 15px;
background: transparent;
box-shadow: none;
border: none;
}
.navbar-toggle {
background: transparent!important;
box-shadow: none!important;
border: none!important;
}
.navbar-toggle img {
height: 50px!important;
width: 50px!important;
}
.navbar-nav-scroll {
max-height: 100vh!important;
}
.navbar-brand-mobile img {
width: 110px;
}
.navbar-accordion-item, .navbar-accordion-body {
background-color: transparent!important;
border: none!important;
box-shadow: none!important;
font-family: "DM Sans", sans-serif!important;
}
.navbar-accordion button {
background-color: transparent!important;
color: white!important;
margin-left: 15px!important;
font-size: 24px!important;
line-height: 31.25px;
text-align: left!important;
padding: 0px!important;
border: none!important;
box-shadow: none!important;
}
.navbar-accordion button:after {
display: inline-block;
width: 0.25rem;
height: 0.25rem;
margin-left: 0.255em;
vertical-align: 0.255em;
content: "";
border-top: 0.3em solid;
border-right: 0.3em solid transparent;
border-bottom: 0;
border-left: 0.3em solid transparent;
}
.navbar-my-link {
color: white!important;
margin-left: 15px!important;
font-size: 24px!important;
line-height: 31.25px;
text-align: left!important;
}
.navbar-credits-container {
margin-top: 25%;
text-align: left;
padding-bottom: 20px;
}
.navbar-credits-container hr {
margin-top: 32px;
color: white;
opacity: 0.3;
}
.navbar-credits-link, .navbar-credits {
color: white!important;
font-size: 18px;
line-height: 31.25px;
text-align: left!important;
margin-left: 0!important;
}
.navbar-credits {
margin-top: 32px;
}
.navbar-jimmy-link {
color: white!important;
font-size: 18px;
line-height: 25px;
margin-left: 5px;
text-decoration: none;
opacity: 0.5;
}
.navbar-close-button {
width: auto!important;
margin: 0px;
padding: 0px;
}
.navbar-close-button img {
width: 117px!important;
margin: 0px;
padding: 0px;
}
.nav-logo {
margin-bottom: 100px;
}
.btn-nav {
background: #0A004C;
border: 2px solid #FFFFFF;
box-shadow: 0px 2px 0px 0px #FFFFFF;
width: 100%;
}
.btn-nav a {
color: white;
}
.sharing-mobile {
display: flex;
justify-content: flex-start;
}
.menu-flags {
width: 25%;
margin-left: 15px;
margin-top: 12px;
}
.menu-flags button {
border-color: white;
color: white;
}
.menu-flags button:after {
border-top: 5px solid white;
color: white;
}
.menu-flags button[aria-expanded="true"]:after {
border-bottom: 5px solid white;
color: white;
}
.navbar, body {
scrollbar-width: none; /* Firefox */
-ms-overflow-style: none; /* Internet Explorer 10+ */
}
.navbar::-webkit-scrollbar {
display: none; // Safari and Chrome
width: 0;
height: 0;
}
body::-webkit-scrollbar {
display: none; // Safari and Chrome
width: 0;
height: 0;
}
::-webkit-scrollbar {
width: 0; /* Remove scrollbar space */
background: transparent; /* Optional: just make scrollbar invisible */
}

@ -0,0 +1,259 @@
/** HOMEPAGE **/
.homePage {
max-width: 100%!important;
padding: 0px;
}
.sectionOneHomeForm {
max-width: 100%!important;
background-color: #2400FD;
}
.sectionOneHomeRowOne {
height: 100%;
}
.sectionOneHomeContent {
display: flex;
flex-direction: column;
align-content: flex-start;
justify-content: space-around;
max-width: 60%;
padding-left: 8%;
padding-right: 8%;
flex-basis: auto;
}
.sectionOneHomeContent img {
width: 200px;
height: auto;
margin: 7% 0%;
}
.sectionOneHomeContent h2 {
margin-bottom: 10%;
}
.sectionOneHomeInput {
height: 48px;
background: $mv-blue-color;
box-shadow: 0px 2px 0px rgba(255, 255, 255, 0.32);
border: none;
margin: 8px 0px;
font-family: DM Sans;
font-style: normal;
font-weight: 500;
font-size: 17px;
line-height: 24px;
letter-spacing: -0.5px;
color: #C3BFD8;
border-radius: 0%;
margin-bottom: 35px;
}
.sectionOneHomeInput:focus {
background-color: transparent;
box-shadow: 0px 2px 0px rgba(255, 255, 255, 0.32);
border: none;
border-radius: 0%;
color: #FFFFFF;
}
.sectionOneHomeInput::placeholder {
color: #C3BFD8;
}
.noAds p {
font-size: 12px;
line-height: 16px;
margin-top: 32px;
opacity: 0.6;
}
.sectionTwoHome {
background: $mv-dark-blue-color;
padding: 10%;
background-image: url('/vote.svg');
background-position: 105% 46%;
background-repeat: no-repeat;
}
.sectionTwoHomeImage {
display: none;
}
.sectionTwoRowOne {
text-align: center;
justify-content: space-around;
margin-bottom: 15%;
}
.sectionTwoRowOneCol P {
margin: auto 20%;
}
.btn-sectionTwoHome {
border: none;
box-shadow: 0px 4px 0px #7A64F9;
width: 100%;
margin-top: 85px;
}
.sharing {
width: 100%;
text-align: center;
justify-content: center;
margin-top: 20%;
}
.sharing p {
margin-right: 15px;
margin-top: 32px;
}
.sharing a {
margin: 0% 15px;
display: flex;
}
.sharing img {
margin: 16px 15px 0px;
width: 22px;
}
@media screen and (min-width: 1300px) {
.sectionOneHomeForm {
background-image: url('/chevron-bicolore.svg');
background-size: 40%;
background-position: right;
background-repeat: no-repeat;
}
}
@media screen and (min-width: 1024px) and (max-width: 1299px) {
.sectionOneHomeForm {
background-image: url('/chevron-bicolore.svg');
background-size: contain;
background-position: 120% center;
background-repeat: no-repeat;
}
}
@media screen and (min-width: 911px) and (max-width: 1023px) {
.sectionOneHomeForm {
background-image: url('/chevron-bicolore.svg');
background-size: contain;
background-position: 140% center;
background-repeat: no-repeat;
}
}
@media screen and (max-width: 910px) {
.sectionOneHomeContent {
flex-basis: auto;
margin: auto 30px;
max-width: 80%;
}
.sectionTwoHome {
background-position: 110% 54%;
}
.sectionTwoRowOne {
flex-direction: column;
margin-bottom: 66%;
}
.sectionTwoRowOneCol {
padding: 0px;
}
.sectionTwoRowOneCol h4 {
line-height: 28px;
}
.sectionTwoRowOneCol p {
line-height: 18px;
margin: 40px 13% 60px;
}
}
@media screen and (min-width: 619px) {
.sectionOneHomeForm, .sectionOneHomeContent {
min-height: 100vh;
}
.sectionTwoRowTwoCol h3 {
margin-bottom: 70px;
}
}
@media screen and (max-width: 618px) {
.sectionOneHomeContent {
align-content: center;
justify-content: space-around;
max-width: 100%;
margin: auto 30px;
flex-basis: auto;
}
.sectionOneHomeInput {
margin-top: 30px!important;
}
.sectionOneHomeContent img {
margin: 7% auto;
}
.sectionOneHomeContent .row {
text-align: center;
}
.sectionOneHomeContent .row h2 {
margin: auto;
font-size: 32px;
line-height: 38px;
}
.sectionOneHomeContent .row h4 {
margin: auto;
font-size: 20px;
line-height: 32px;
}
.sectionOneHomeContent .row p {
margin: 32px auto;
}
.sectionOneHomeContent .row button {
width: 100%;
}
.sectionTwoHome {
background: $mv-dark-blue-color;
background-image: none;
padding: 0px;
}
.sectionTwoHomeImage {
display: inline-block;
text-align: right;
width: 100%;
}
.sectionTwoHomeImage img {
width: 75%;
}
.sectionTwoRowOne {
margin: 70px auto 0px;
padding: 10%;
width: 100%;
}
.sectionTwoRowTwoCol {
margin: 30px;
flex-direction: column;
text-align: center;
}
.sectionTwoRowTwoCol h3 {
font-size: 40px;
line-height: 42px;
}
.sectionTwoRowTwoCol h5 {
font-size: 16px;
line-height: 18px;
}
.sectionTwoRowTwoColText p {
font-size: 16px;
line-height: 22px!important;
margin: 16px auto 50px;
}
.sectionTwoRowThreeCol {
width: 100%;
margin: 30px;
text-align: center;
}
.sectionTwoRowThreeCol img {
margin-right: 6px!important;
}
.sharing p {
font-size: 12px;
line-height: 16px;
}
.sharing {
margin: 60px 0px 75px;
}
}

@ -0,0 +1,277 @@
.addCandidatePage {
max-width: 100%!important;
background-color: #17048e;
background-image: url('/back.svg');
background-size: 100%;
background-position: center;
}
.stepForm {
width: 650px;
margin: 50px auto;
}
.stepForm .col {
display: flex;
align-content: center;
justify-content: center;
}
.stepForm img {
width: 24px;
margin-right: 10px;
}
.stepForm h4 {
font-size: 16px;
line-height: 24px;
margin-bottom: 0;
}
.preventWarning {
background: #2407D3!important;
padding: 8px!important;
}
.alert-heading {
display: flex;
justify-content: space-between;
font-size: 13px;
line-height: 16px;
margin: 0px!important;
}
.alert-heading svg {
cursor: pointer;
}
.addCandidateCard {
background-color: white;
padding: 30px;
width: 100%;
flex-basis: auto;
}
.addCandidateCard p {
color: #0A004C;
}
.addCandidateForm {
display: inline-block;
}
.addCandidateHeader {
text-align: left;
}
.addCandidateHeader h6 {
font-size: 28px;
line-height: 32px;
color:#2400FD;
text-align: left;
}
.addCandidateHeader p {
font-size: 16px;
line-height: 24px;
color:#0A004C;
text-align: left;
margin-top: 0px;
}
.addCandidateHeader span {
display: inline-block;
}
.addCandidateForm label {
margin-bottom: 0px;
}
.addCandidateText {
color: #0A004C;
}
.addCandidateForm input {
width: 100%!important;
padding-left: 0px;
margin-bottom: 50px!important;
box-shadow: 0px 2px 0px 0px #C3BFD8;
}
.addCandidateText::placeholder {
color: #C3BFD8;
}
.cancelButton button {
display: flex;
align-content: center;
justify-content: center;
border: 2px solid #0A004C;
box-shadow: 0px 4px 0px 0px #0A004C;
background: transparent;
align-items: center;
padding: 16px 24px;
}
.cancelButton p {
margin: auto;
margin-left: 20px;
}
.removeAddButtons {
justify-content: space-between;
margin: 0px;
}
.removeButton {
font-size: 16px;
line-height: 24px;
background: transparent;
color:#0A004C;
border: 2px solid #0A004C;
box-shadow: 0px 4px 0px 0px #0A004C;
padding: 16px 24px 16px 24px;
font-weight: bold;
}
.closeModalAddCandidate {
position: absolute;
z-index: 999;
right: 10px;
border: none;
}
.addButton {
font-weight: bold;
font-size: 16px;
line-height: 24px;
background: transparent;
color: #2400FD;
border: 2px solid #2400FD;
box-shadow: 0px 4px 0px 0px #2400FD;
padding: 16px 24px 16px 24px;
}
.addButton span {
margin-left: 20px;
}
.ajout-avatar {
display: flex;
}
.avatar-placeholer {
background-image: url("/avatar-blue.svg");
background-repeat: no-repeat;
background-size: 52px;
background-position: center;
background-color: #F2F0FF;
width: 112px;
height: 100%;
}
.avatar-placeholer img {
width: 100%;
height: 100%;
object-fit: cover;
}
.avatar-text {
text-align: left;
margin-left: 22px;
}
.avatar-text h4 {
font-size: 16px;
line-height: 32px;
color: #0A004C;
margin-block-start: -8px;
}
.avatar-text span {
font-size: 16px;
line-height: 32px;
color: #0A004C;
opacity: 0.3;
}
.avatar-text p {
font-size: 13px;
line-height: 16px;
color: #0A004C;
margin-top: 0px;
}
.avatarThumb img {
background-image: url("/avatar.svg");
width: 24px;
height: 24px;
object-fit: cover;
}
input[type="file"] {
display: none;
}
.inputfile {
background: transparent;
color: #0A004C;
border: 2px solid #0A004C;
box-shadow: 0px 2px 0px 0px #0A004C;
padding: 8px 20px;
font-size: 14px;
line-height: 24px;
display: inline-block;
cursor: pointer;
}
.input-group-text {
padding: 0px!important;
}
.alert {
padding: 20px;
background-color: #f44336;
color: white;
}
.closebtn {
margin-left: 15px;
color: white;
font-weight: bold;
float: right;
font-size: 22px;
line-height: 20px;
cursor: pointer;
transition: 0.3s;
}
.closebtn:hover {
color: black;
}
.candidateButton {
display: flex;
width: 100%;
padding: 12px;
align-content: center;
justify-content: space-between;
border: 1px dashed rgba(255, 255, 255, 0.24);
}
.candidateButton div {
display: flex;
align-content: center;
}
@media screen and (max-width: 619px) {
.stepForm {
width: auto;
}
.stepFormCol {
flex-grow: unset;
padding: 0;
margin: 8px;
width: 24px;
justify-content: flex-start!important;
}
.stepForm h4 {
display: none;
}
.ajouterCandidat {
width: 100%;
margin: 10px auto;
}
.addCandidateCard {
padding: 30px 0px;
}
.addCandidateHeader h6 {
font-size: 24px;
line-height: 28px;
}
.addCandidateHeader p {
font-size: 15px;
line-height: 20px;
}
.addCandidateHeader span {
white-space: initial;
}
}
@media screen and (max-width: 375px) {
.removeAddButtons {
flex-direction: column;
}
.removeAddButtons button {
width: 100%;
text-align: center;
margin: 15px auto;
}
.annuler {
display: flex;
}
}

@ -0,0 +1,58 @@
.resultPage {
background-image: url('/background-woman-left.svg'), url('/background-woman-right.svg');
background-position: left bottom, right bottom;
min-height: 100vh;
background-repeat: no-repeat;
background-size: auto 300px;
padding: 60px 25%;
}
.resultCard {
margin: auto;
}
.card-header h4 {
font-size: 15px;
line-height: 24px;
color: #2400FD;
}
.sectionHeaderResult {
background-color: white;
max-width: 100%;
padding: 30px 70px;
}
.sectionHeaderResultSideCol img {
margin-right: 10px;
}
.sectionHeaderResultSideCol p {
color: #8F88BA;
font-size: 14px;
line-height: 16px;
margin-top: 16px;
}
.sectionHeaderResult h3 {
color: #0A004C;
font-size: 24px;
line-height: 28px;
text-align: center;
}
.sectionHeaderResultSideCol {
display: flex;
}
.sectionHeaderResultMiddleCol {
align-items: center;
display: flex;
}
@media screen and (max-width: 500px) {
.sectionHeaderResult {
padding: 24px;
}
.sectionHeaderResult h3 {
text-align: left;
}
.sectionHeaderResult .row {
margin: 0px;
}
.sectionHeaderResultSideCol {
padding: 0px;
}
}

@ -1,6 +1,6 @@
// mieux voter vars
$mv-blue-color: #2a43a0;
$mv-red-color: #ee455b;
$mv-blue-color: #2400FD;
$mv-dark-blue-color: #0A004C;
$mv-light-color: #efefff;
$mv-light-color-hover: rgba(#efefff, 0.8);
$mv-dark-color: #333;
@ -11,7 +11,7 @@ $body-color: $mv-light-color;
$theme-colors: (
"primary": $mv-blue-color,
"secondary": $mv-red-color,
"secondary": $mv-dark-blue-color,
"light": $mv-light-color,
"dark": $mv-dark-color,
"danger": #990000,
@ -22,3 +22,7 @@ $theme-colors: (
@import "_bootstrap.scss";
@import "app.scss";
@import "_homePage.scss";
@import "_newVote.scss";
@import "_resultVote.scss";
@import "_header.scss";

18286
yarn.lock

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save