diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c5c5ca359aa37c219d12d9808768994dd0da20d0..c53a5ce75de49943354125899c44ffb565c8440e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,37 +1,51 @@ -image: node:latest - -stages: - - install - - test:unit -# - test:e2e - -cache: - key: "${CI_COMMIT_REF_SLUG}" - paths: - - Frontend/node_modules -# - .cache/Cypress - -install: - stage: install - script: - - cd Frontend - - npm install -# - npm install cypress --save-dev - - npm run build - artifacts: - paths: - - Frontend/node_modules/ - - Frontend/dist/ - -test:unit: - stage: test:unit - script: - - cd Frontend - - npm run test:unit - -#test:e2e: -# image: cypress/browsers:node16.14.2-slim-chrome100-ff99-edge -# stage: test:e2e -# script: -# - cd Frontend -# - npm run test:e2e \ No newline at end of file +image: node:latest + +stages: + - prepare + - install + - test:unit +# - test:e2e + +cache: + key: "${CI_COMMIT_REF_SLUG}" + paths: + - Frontend/node_modules +# - .cache/Cypress + +clean_cache: + stage: prepare + script: + - cd Frontend + - echo "Cleaning cache..." + - rm -rf node_modules/ + cache: + key: ${CI_COMMIT_REF_SLUG} + paths: + - Frontend/node_modules/ + policy: pull + when: manual + +install: + stage: install + script: + - cd Frontend + - npm install +# - npm install cypress --save-dev + - npm run build + artifacts: + paths: + - Frontend/node_modules/ + - Frontend/dist/ + +test:unit: + stage: test:unit + script: + - cd Frontend + - npm run test:unit + +#test:e2e: +# image: cypress/browsers:node16.14.2-slim-chrome100-ff99-edge +# stage: test:e2e +# script: +# - cd Frontend +# - npm run test:e2e diff --git a/Frontend/src/App.vue b/Frontend/src/App.vue index 6da35322b1061405dfad3d091a9e02fdcfba6b08..59bba9e94a77f93c13c9ca367908fadb3eb514ac 100644 --- a/Frontend/src/App.vue +++ b/Frontend/src/App.vue @@ -1,21 +1,31 @@ -<script setup lang="ts"> -import { RouterLink, RouterView } from 'vue-router' -import LoginComponent from './components/Login.vue'; -</script> - <template> <header> <div class="wrapper"> + <img src="@/assets/images/logo.svg" alt="My Logo" class="logo"> <nav> <RouterLink to="/">Home</RouterLink> <RouterLink to="/login">Login</RouterLink> </nav> </div> </header> - <RouterView /> + <v-footer> + <div class="wrapper"> + <p>Copyright © {{ new Date().getFullYear() }} Handel uten Hemninger</p> + </div> + </v-footer> </template> +<script setup lang="ts"> +import { RouterLink, RouterView } from 'vue-router' +import LoginComponent from './components/Login.vue'; +import logoPath from '@/assets/images/logo.svg' + +const logo = logoPath +</script> + + + <style scoped> header { line-height: 1.5; @@ -24,38 +34,62 @@ header { .logo { display: block; - margin: 0 auto 2rem; + margin: 0 2rem 0 0; + height: 150px; + width: auto; } nav { - width: 100%; - font-size: 12px; - text-align: center; - margin-top: 2rem; -} - -nav a.router-link-exact-active { - color: var(--color-text); -} - -nav a.router-link-exact-active:hover { - background-color: transparent; + display: flex; + align-items: center; + justify-content: center; } nav a { display: inline-block; - padding: 0 1rem; - border-left: 1px solid var(--color-border); + padding: 0.5rem 1rem; + border-radius: 0.5rem; + margin: 0 1rem; + font-size: 1.2rem; + font-weight: bold; + color: #333; + text-decoration: none; + background-color: #fff; + transition: all 0.2s ease; } -nav a:first-of-type { - border: 0; +nav a:hover, +nav a.router-link-exact-active { + background-color: #0718c4; + color: #fff; } +v-footer { + background-color: #0718c4; + color: white; + height: 100px; + display: flex; + align-items: center; + margin-top: auto; + } + + v-footer .wrapper { + max-width: 1200px; + margin: 0 auto; + display: flex; + align-items: center; + justify-content: space-between; + } + + v-footer p { + margin: 0; + font-size: 1.2rem; + } + @media (min-width: 1024px) { header { display: flex; - place-items: center; + align-items: center; padding-right: calc(var(--section-gap) / 2); } @@ -65,17 +99,14 @@ nav a:first-of-type { header .wrapper { display: flex; - place-items: flex-start; + align-items: center; + justify-content: space-between; flex-wrap: wrap; } nav { - text-align: left; - margin-left: -1rem; + margin-left: auto; font-size: 1rem; - - padding: 1rem 0; - margin-top: 1rem; } } -</style> +</style> \ No newline at end of file diff --git a/Frontend/src/assets/images/heartFilled.svg b/Frontend/src/assets/images/heartFilled.svg new file mode 100644 index 0000000000000000000000000000000000000000..2fbb97e42ed00d5db10312e54d2e601bfb029f3d --- /dev/null +++ b/Frontend/src/assets/images/heartFilled.svg @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg fill="#0718c4" height="800px" width="800px" version="1.1" id="Capa_1" viewBox="-47.17 -47.17 566.04 566.04" stroke="#0718c4" xmlns="http://www.w3.org/2000/svg"> + <g id="SVGRepo_bgCarrier" stroke-width="0"/> + <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round" stroke="#CCCCCC" stroke-width="0.9434020000000001"/> + <g id="SVGRepo_iconCarrier"> + <g> + <path d="M 433.601 67.001 C 408.901 42.301 376.201 28.801 341.301 28.801 C 306.401 28.801 273.601 42.401 248.901 67.101 L 236.001 80.001 L 222.901 66.901 C 198.201 42.201 165.301 28.501 130.401 28.501 C 95.601 28.501 62.801 42.101 38.201 66.701 C 13.501 91.401 -0.099 124.201 0.001 159.101 C 0.001 194.001 13.701 226.701 38.401 251.401 L 226.201 439.201 C 228.801 441.801 232.301 443.201 235.701 443.201 C 239.101 443.201 242.601 441.901 245.201 439.301 L 433.401 251.801 C 458.101 227.101 471.701 194.301 471.701 159.401 C 471.801 124.501 458.301 91.701 433.601 67.001 Z"/> + </g> + </g> +</svg> \ No newline at end of file diff --git a/Frontend/src/assets/images/heartOutline.svg b/Frontend/src/assets/images/heartOutline.svg new file mode 100644 index 0000000000000000000000000000000000000000..3277112e65b10cc76d4d21657445b1bcb6c22931 --- /dev/null +++ b/Frontend/src/assets/images/heartOutline.svg @@ -0,0 +1,11 @@ +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Uploaded to: SVG Repo, www.svgrepo.com, Transformed by: SVG Repo Mixer Tools --> +<svg fill="#0718c4" height="800px" width="800px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-47.17 -47.17 566.04 566.04" xml:space="preserve" stroke="#0718c4"> + +<g id="SVGRepo_bgCarrier" stroke-width="0"/> + +<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round" stroke="#CCCCCC" stroke-width="0.9434020000000001"/> + +<g id="SVGRepo_iconCarrier"> <g> <path d="M433.601,67.001c-24.7-24.7-57.4-38.2-92.3-38.2s-67.7,13.6-92.4,38.3l-12.9,12.9l-13.1-13.1 c-24.7-24.7-57.6-38.4-92.5-38.4c-34.8,0-67.6,13.6-92.2,38.2c-24.7,24.7-38.3,57.5-38.2,92.4c0,34.9,13.7,67.6,38.4,92.3 l187.8,187.8c2.6,2.6,6.1,4,9.5,4c3.4,0,6.9-1.3,9.5-3.9l188.2-187.5c24.7-24.7,38.3-57.5,38.3-92.4 C471.801,124.501,458.301,91.701,433.601,67.001z M414.401,232.701l-178.7,178l-178.3-178.3c-19.6-19.6-30.4-45.6-30.4-73.3 s10.7-53.7,30.3-73.2c19.5-19.5,45.5-30.3,73.1-30.3c27.7,0,53.8,10.8,73.4,30.4l22.6,22.6c5.3,5.3,13.8,5.3,19.1,0l22.4-22.4 c19.6-19.6,45.7-30.4,73.3-30.4c27.6,0,53.6,10.8,73.2,30.3c19.6,19.6,30.3,45.6,30.3,73.3 C444.801,187.101,434.001,213.101,414.401,232.701z"/> </g> </g> + +</svg> \ No newline at end of file diff --git a/Frontend/src/assets/images/logo.svg b/Frontend/src/assets/images/logo.svg new file mode 100644 index 0000000000000000000000000000000000000000..6c5de1cae4b09ccc130ee186b1ff70f82fb70e29 --- /dev/null +++ b/Frontend/src/assets/images/logo.svg @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg viewBox="21.505 116.932 698.918 192.214" xmlns="http://www.w3.org/2000/svg"> + <g transform="matrix(0.7, 0, 0, 0.7, 17.004726, 120.331703)"> + <svg viewBox="0 0 396 104" data-background-color="#ffffff" preserveAspectRatio="xMidYMid meet" height="262" width="1000" xmlns="http://www.w3.org/2000/svg"> + <g id="tight-bounds" transform="matrix(1,0,0,1,0.23997753412368183,0.114429240827576)"> + <svg viewBox="0 0 395.52 103.7711418236481" height="103.7711418236481" width="395.52"> + <g> + <svg viewBox="0 0 649.4422629935973 170.39180112100414" height="103.7711418236481" width="395.52"> + <g transform="matrix(1,0,0,1,253.92226299359731,19.92848282486348)"> + <svg viewBox="0 0 395.52 130.53483547127718" height="130.53483547127718" width="395.52"> + <g> + <svg viewBox="0 0 395.52 130.53483547127718" height="130.53483547127718" width="395.52" id="textblock"> + <g> + <svg viewBox="0 0 395.52 130.53483547127718" height="130.53483547127718" width="395.52"> + <g transform="matrix(1,0,0,1,0,0)"> + <svg width="395.52" viewBox="2.750000238418579 -34.04999923706055 358.6499328613281 114.6500244140625" height="130.53483547127718" data-palette-color="#0718c4"> + <svg/> + <svg/> + <svg/> + <g class="undefined-text-0" data-fill-palette-color="primary" id="text-0"> + <path xmlns="http://www.w3.org/2000/svg" d="M13.2 0.3c-2.1 0-3.667-0.033-4.7-0.1v0c-1.6-0.067-3-0.267-4.2-0.6v0c-0.133 0-0.267-0.2-0.4-0.6v0c-0.1-0.3-0.15-0.533-0.15-0.7v0l-0.95-18.2v-1c0-0.233 0.017-0.65 0.05-1.25 0.033-0.6 0.05-1.4 0.05-2.4v0l0.1-2.6c0-0.667 0.017-1.167 0.05-1.5v0c0-1 0.033-1.967 0.1-2.9v0c0-0.3 0.01-0.51 0.03-0.63 0.013-0.113 0.02-0.187 0.02-0.22v0c0.067-0.033 0.193-0.127 0.38-0.28 0.18-0.147 0.337-0.27 0.47-0.37v0c0.333-0.3 0.817-0.45 1.45-0.45v0h2.9 0.8c0.333 0.033 0.95 0.05 1.85 0.05v0c0.967 0 1.75 0.017 2.35 0.05v0h2.3 1.85 0.75c0.867 0 1.45 0.133 1.75 0.4v0c0.4 0.3 0.6 0.883 0.6 1.75v0 0.5c0 0.133-0.017 0.267-0.05 0.4-0.033 0.133-0.05 0.267-0.05 0.4v0l-0.1 0.8-0.05 0.6c0 0.133 0.033 0.267 0.1 0.4v0c0.033 0.133 0.05 0.3 0.05 0.5v0c0 0.9-0.017 1.55-0.05 1.95v0l-0.05 2.05h1.3c0.433 0.1 0.9 0.15 1.4 0.15v0c0.667 0.067 1.133 0.1 1.4 0.1v0c0.3 0.067 0.75 0.1 1.35 0.1v0l0.05-3.4c0.033-0.3 0.05-0.733 0.05-1.3v0l0.05-2.05v-0.4c0-0.533 0.017-1.01 0.05-1.43 0.033-0.413 0.1-0.703 0.2-0.87v0c0.2-0.267 0.433-0.4 0.7-0.4v0c0.2-0.067 0.667-0.1 1.4-0.1v0l1.35-0.05c0.967 0 1.767-0.033 2.4-0.1v0h2.85c1.333 0 2.3-0.017 2.9-0.05v0c1.167 0 1.967-0.017 2.4-0.05v0h1.35c0.8 0 1.333 0.1 1.6 0.3v0c0.2 0.133 0.333 0.323 0.4 0.57 0.067 0.253 0.1 0.613 0.1 1.08v0c0 1.3-0.033 3.05-0.1 5.25v0c-0.133 2.133-0.2 3.85-0.2 5.15v0c0 0.2 0.033 0.367 0.1 0.5v0c0 0.133 0.017 0.24 0.05 0.32 0.033 0.087 0.05 0.147 0.05 0.18v0l-1.25 19c0 0.167-0.117 0.4-0.35 0.7v0c-0.3 0.3-0.567 0.45-0.8 0.45v0h-13.75c-0.1 0-0.2-0.083-0.3-0.25-0.1-0.167-0.183-0.383-0.25-0.65v0c-0.033-0.167-0.073-0.393-0.12-0.68-0.053-0.28-0.097-0.637-0.13-1.07v0l-0.55-9.25h-0.35c-0.9 0-1.617-0.017-2.15-0.05v0c-1.267-0.067-2.05-0.1-2.35-0.1v0h-0.4c-0.3 0-0.45 0.283-0.45 0.85v0c0 4.133-0.017 6.767-0.05 7.9v0c0 0.267-0.05 0.9-0.15 1.9v0c-0.067 0.767-0.35 1.233-0.85 1.4v0l-0.75 0.05c-2.6 0.133-4.417 0.217-5.45 0.25zM50.15 0.05c-0.433 0-0.733-0.333-0.9-1v0c-0.033-0.1-0.05-0.267-0.05-0.5v0c0-0.333 0.067-0.833 0.2-1.5v0c0.067-0.433 0.127-0.777 0.18-1.03 0.047-0.247 0.087-0.437 0.12-0.57v0c1-4.7 1.983-8.833 2.95-12.4v0l3.5-15.8c0-0.067 0.05-0.167 0.15-0.3 0.1-0.133 0.217-0.217 0.35-0.25v0h0.25c0 0.033 0.05 0.05 0.15 0.05v0c0.4 0 0.85-0.05 1.35-0.15v0c0.5-0.1 0.95-0.15 1.35-0.15v0c0.733 0 1.417 0.05 2.05 0.15v0c0.3 0 0.633 0.017 1 0.05 0.367 0.033 0.75 0.05 1.15 0.05v0c0.133 0 0.283-0.033 0.45-0.1v0h0.9 1.15l1.2-0.05c0.233-0.033 0.517-0.05 0.85-0.05v0c0.267 0 0.4-0.017 0.4-0.05v0h0.8 1.7 2.1c1.867 0 3.1 0.033 3.7 0.1v0c0.1 0 0.243 0.007 0.43 0.02 0.18 0.02 0.287 0.063 0.32 0.13v0c0.233 0 0.467-0.017 0.7-0.05 0.233-0.033 0.45-0.05 0.65-0.05v0c0.467-0.1 0.917-0.15 1.35-0.15v0c0.2 0 0.4 0.05 0.6 0.15v0c0.2 0.1 0.417 0.15 0.65 0.15v0l0.25-0.05h0.15c0.1 0.067 0.21 0.16 0.33 0.28 0.113 0.113 0.17 0.203 0.17 0.27v0l3.5 15.8c1.067 3.9 2.033 8.033 2.9 12.4v0c0 0.2 0.067 0.417 0.2 0.65v0c0.033 0.233 0.083 0.55 0.15 0.95 0.067 0.4 0.1 0.733 0.1 1v0c0.033 0.133 0.05 0.317 0.05 0.55v0c0 0.467-0.1 0.85-0.3 1.15v0c-0.133 0.2-0.333 0.3-0.6 0.3v0h-0.65c-0.5 0-0.883-0.017-1.15-0.05v0h-1.3-1.25-1c-0.267 0-0.4-0.017-0.4-0.05v0h-3.15v-0.1c-0.133-0.067-0.3-0.1-0.5-0.1v0c0 0-0.007 0.007-0.02 0.02-0.02 0.02-0.047 0.047-0.08 0.08v0c0 0.067-0.033 0.1-0.1 0.1v0h-0.15-0.4c-0.167-0.067-0.5-0.1-1-0.1v0c-1-0.067-1.783-0.1-2.35-0.1v0c-0.2-0.3-0.41-0.9-0.63-1.8-0.213-0.9-0.437-1.9-0.67-3v0c-0.067-0.533-0.133-0.9-0.2-1.1v0c-0.7 0.133-1.617 0.2-2.75 0.2v0h-1.55-1.45l-0.35 1.6c-0.433 2.2-0.783 3.567-1.05 4.1v0c-0.133 0-0.3 0.033-0.5 0.1v0c-0.067 0.033-0.127 0.057-0.18 0.07-0.047 0.02-0.07 0.03-0.07 0.03v0h-0.2c-0.2 0-0.35-0.033-0.45-0.1v0c-0.067-0.067-0.15-0.1-0.25-0.1v0l-2.25 0.1h-0.8-0.75c-0.133 0.067-0.3 0.1-0.5 0.1v0h-0.2-4.6-0.45c-0.367 0.033-1.117 0.05-2.25 0.05v0h-1.3c-0.267 0.033-0.65 0.05-1.15 0.05v0zM73.25-12.2c-0.233-1.633-0.35-2.45-0.35-2.45v0c-0.1-0.467-0.267-1.35-0.5-2.65v0c-0.067-0.333-0.233-1.233-0.5-2.7v0c-0.267-1.6-0.4-2.4-0.4-2.4v0c-0.1-0.667-0.2-1.25-0.3-1.75v0l-0.05-0.65c-0.1-0.167-0.15-0.317-0.15-0.45v0l-0.05-0.3c-0.033 0.067-0.05 0.167-0.05 0.3v0c0 0.133-0.033 0.217-0.1 0.25v0 0.2l-0.1 0.65c-0.033 0.233-0.073 0.49-0.12 0.77-0.053 0.287-0.113 0.597-0.18 0.93v0l-0.25 1.4c-0.367 2.1-0.583 3.317-0.65 3.65v0c-0.033 0.367-0.117 0.917-0.25 1.65v0c-0.067 0.233-0.133 0.583-0.2 1.05v0l-0.4 2.3h2.55l0.35-0.1h0.1c0.4 0 0.7 0.033 0.9 0.1v0c0.133 0 0.257 0.023 0.37 0.07 0.12 0.053 0.23 0.097 0.33 0.13zM101.7 0.15c-0.333 0-0.617-0.033-0.85-0.1v0h-1-0.8-0.45l-2.25-0.55-0.15-0.4c-0.033 0-0.05-0.183-0.05-0.55v0c-0.067-1-0.1-2.15-0.1-3.45v0c0-0.933-0.033-1.683-0.1-2.25v0c0-0.933-0.017-1.633-0.05-2.1v0-1.75c-0.167-1.533-0.267-3.217-0.3-5.05-0.033-1.833-0.05-3.617-0.05-5.35v0l0.1-5.1c0.033-0.567 0.05-1.433 0.05-2.6v0c0-1.167-0.017-2.033-0.05-2.6v0c-0.1-0.767 0.117-1.333 0.65-1.7v0c0.333-0.167 0.917-0.25 1.75-0.25v0c1.233 0 2.817-0.033 4.75-0.1v0l1.1-0.1c2-0.133 3.25-0.2 3.75-0.2v0c0.467 0 0.8 0.017 1 0.05v0c0.467 0.033 0.783 0.1 0.95 0.2 0.167 0.1 0.327 0.267 0.48 0.5 0.147 0.233 0.253 0.417 0.32 0.55v0c0.4 0.533 0.8 1.1 1.2 1.7v0c0.6 0.9 1.083 1.6 1.45 2.1v0l3.3 5.05 1.6 2.4c0-0.867 0.033-1.55 0.1-2.05v0-4.65l0.15-3.55c0.033-0.267 0.067-0.45 0.1-0.55 0.033-0.1 0.083-0.173 0.15-0.22 0.067-0.053 0.117-0.097 0.15-0.13v0c0.4-0.333 0.8-0.583 1.2-0.75v0c0.333-0.067 0.6-0.1 0.8-0.1v0h2.85 0.6c0.267 0.033 0.733 0.05 1.4 0.05v0c0.733 0 1.317 0.017 1.75 0.05v0h1.7 1.4 0.6c0.867 0 1.45 0.133 1.75 0.4v0c0.367 0.267 0.55 0.85 0.55 1.75v0l-0.05 0.5-0.05 0.8c-0.033 0.2-0.05 0.467-0.05 0.8v0 0.6 0.4l0.1 0.5v1.6c-0.033 0.567-0.05 1.533-0.05 2.9v0 3.7c-0.033 0.867-0.05 2.083-0.05 3.65v0 2.9 1.7 7.9l-0.2 1.9c-0.133 0.767-0.4 1.233-0.8 1.4v0l-0.85 0.05-0.85-0.05h-2.25-2.95-3.05-0.75c-0.667 0.067-1.317-0.017-1.95-0.25v0c-0.3-0.133-0.633-0.35-1-0.65v0l-5.1-7.15c0-0.033-0.367-0.65-1.1-1.85v0c-0.267-0.4-0.517-0.75-0.75-1.05v0c-0.067-0.133-0.14-0.243-0.22-0.33-0.087-0.08-0.147-0.12-0.18-0.12v0c-0.3 0-0.45 0.133-0.45 0.4v0 1.1c-0.033 0.333-0.05 0.883-0.05 1.65v0 1.95 1.9c-0.067 0.4-0.1 0.9-0.1 1.5v0 1 0.75l0.05 0.25c0 0.267-0.133 0.433-0.4 0.5v0c-0.167 0.133-0.433 0.167-0.8 0.1v0c-1.133 0.067-2.033 0.133-2.7 0.2v0c-0.4 0.033-1.1 0.083-2.1 0.15-1 0.067-1.933 0.1-2.8 0.1zM154.8 0.05l-6.6-0.05-7.65-0.05c-0.567 0-0.933-0.367-1.1-1.1v0c-0.167-0.467-0.25-1.133-0.25-2v0c0-2.9-0.033-5.483-0.1-7.75v0c-0.1-3.267-0.15-6.717-0.15-10.35v0-11c0-0.3 0.143-0.593 0.43-0.88 0.28-0.28 0.57-0.42 0.87-0.42v0l5.8 0.05c1.1 0.033 2.483 0.05 4.15 0.05v0c2.5 0 4.45-0.017 5.85-0.05v0l1.85-0.05c2.067-0.067 3.7-0.1 4.9-0.1v0c2.067 0 4.067 0.4 6 1.2v0c2.267 0.867 4.083 2.35 5.45 4.45v0c1.633 2.533 2.45 5.65 2.45 9.35v0c0 3.5-0.39 6.417-1.17 8.75-0.787 2.333-2.03 4.25-3.73 5.75v0c-1.7 1.467-3.923 2.533-6.67 3.2-2.753 0.667-6.197 1-10.33 1zM155.2-6.65c0.133 0.033 0.317 0.05 0.55 0.05v0c0.267 0 0.633-0.033 1.1-0.1v0c0.167-0.033 0.293-0.077 0.38-0.13 0.08-0.047 0.153-0.087 0.22-0.12v0c0.4-0.467 0.783-1.45 1.15-2.95v0c0.233-0.933 0.517-2.533 0.85-4.8v0c0.167-1.933 0.25-3.6 0.25-5v0-0.95c0-0.867-0.083-2.167-0.25-3.9v0c-0.233-1.733-0.567-2.95-1-3.65v0c-0.367-0.467-0.7-0.7-1-0.7v0c-0.3 0-0.567 0.033-0.8 0.1-0.233 0.067-0.383 0.117-0.45 0.15v0c-0.067 0.033-0.217 0.117-0.45 0.25v0l-0.05 6c0 0.533-0.033 1.333-0.1 2.4v0l-0.05 1.2c-0.067 1.667-0.1 2.867-0.1 3.6v0zM185.95 0c-0.167 0-0.417-0.027-0.75-0.08-0.333-0.047-0.733-0.087-1.2-0.12v0l-1.05-0.25c-0.167-0.033-0.29-0.077-0.37-0.13-0.087-0.047-0.113-0.087-0.08-0.12v0c0-0.867-0.05-2.017-0.15-3.45v0c0-0.5-0.017-0.943-0.05-1.33-0.033-0.38-0.067-0.703-0.1-0.97v0l-0.1-2.15c0-0.567-0.033-1.283-0.1-2.15v0l-0.05-1.55c0-1.267-0.017-2.25-0.05-2.95v0c-0.033-0.7-0.05-2.167-0.05-4.4v0c0-2.1 0.017-4.267 0.05-6.5 0.033-2.233 0.133-4.35 0.3-6.35v0c0-0.367 0.4-0.667 1.2-0.9v0c0.5-0.067 1.333-0.1 2.5-0.1v0c2.7 0 4.683-0.05 5.95-0.15v0c3.933-0.067 6.9-0.1 8.9-0.1v0h2.2c2.733 0.067 4.833 0.167 6.3 0.3v0c0.533 0 0.917 0.633 1.15 1.9v0c0.1 0.233 0.217 0.833 0.35 1.8v0c0.1 0.5 0.233 1.117 0.4 1.85v0c0.033 0.2 0.043 0.39 0.03 0.57-0.02 0.187-0.03 0.297-0.03 0.33v0c-0.033 0.333-0.217 0.5-0.55 0.5v0c-0.133-0.033-0.333-0.05-0.6-0.05v0c-1.4 0-3.117 0.117-5.15 0.35v0l-2.65 0.2c-1.1 0.133-1.967 0.217-2.6 0.25v0c-0.1 0-0.233 0.2-0.4 0.6v0c-0.133 0.433-0.283 1.433-0.45 3v0l-0.1 1.25c0 0.433 0.05 0.707 0.15 0.82 0.1 0.12 0.317 0.18 0.65 0.18v0h4.45c1.3 0 2.783 0.083 4.45 0.25v0h0.6c0.433 0.1 0.7 0.267 0.8 0.5v0c0.133 0.2 0.217 0.417 0.25 0.65v0l0.2 4.45v0.15c0 0.567-0.6 0.9-1.8 1v0c-0.7 0.167-2.033 0.25-4 0.25v0c-1.7 0-2.8-0.017-3.3-0.05v0c-0.967 0-1.55 0.017-1.75 0.05v0c-0.367 0.1-0.6 0.29-0.7 0.57-0.1 0.287-0.15 0.763-0.15 1.43v0c0 0.433-0.033 1.05-0.1 1.85v0c-0.033 0.4-0.05 1.033-0.05 1.9v0c2.167 0 3.767-0.033 4.8-0.1v0c1.133-0.1 2.733-0.15 4.8-0.15v0c0.133 0 0.267 0.117 0.4 0.35v0c0.167 0.333 0.433 1.083 0.8 2.25v0c0.2 0.667 0.4 1.5 0.6 2.5v0c0.067 0.233 0.1 0.483 0.1 0.75v0c0 0.7-0.333 1.05-1 1.05v0c-0.867 0-2.033 0.033-3.5 0.1v0c-0.767 0.067-1.967 0.1-3.6 0.1v0c-3.5 0-6.133 0.017-7.9 0.05v0zM232.75 0c-3.433 0-5.933-0.017-7.5-0.05v0c-1.433 0-2.533-0.017-3.3-0.05v0l-4.1-0.05c-0.3 0-0.583-0.133-0.85-0.4v0c-0.267-0.267-0.4-0.55-0.4-0.85v0-11-4.8l-0.05-4.1c0-1.367 0.033-3.083 0.1-5.15v0c0-0.433 0.05-1.55 0.15-3.35v0-1.15c0-0.933 0.183-1.683 0.55-2.25v0c0.167-0.3 0.433-0.45 0.8-0.45v0c1.633 0 3.417 0.033 5.35 0.1v0c0.267 0.033 0.65 0.05 1.15 0.05v0c1.1 0 1.917 0.017 2.45 0.05v0h2.7c0.133 0 0.527 0 1.18 0 0.647 0 1.153 0.083 1.52 0.25v0c0.6 0.333 0.9 1.1 0.9 2.3v0l-0.05 0.4c0 0.1-0.033 0.35-0.1 0.75v0c-0.1 0.5-0.15 0.867-0.15 1.1v0c0 0.367 0.05 0.833 0.15 1.4v0c0.067 0.4 0.1 0.667 0.1 0.8v0l0.05 0.3v7 3.25 3.1 0.6c0 0.267 0.15 0.433 0.45 0.5v0c0.1 0.033 0.317 0.05 0.65 0.05v0h3.65c0.9-0.033 2.267-0.05 4.1-0.05v0c0.367 0 0.667 0.107 0.9 0.32 0.233 0.22 0.35 0.447 0.35 0.68v0 9.55 0.1c0 0.267-0.133 0.483-0.4 0.65v0c-0.3 0.133-0.65 0.217-1.05 0.25v0c-0.433 0.1-1.117 0.15-2.05 0.15v0z" fill="#0718c4" fill-rule="nonzero" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode: normal" data-fill-palette-color="primary" opacity="1"/> + <path xmlns="http://www.w3.org/2000/svg" d="M13.25 40.6c-3.167 0-5.567-0.733-7.2-2.2v0c-1.367-1.167-2.3-3.033-2.8-5.6v0c-0.333-1.7-0.5-4.25-0.5-7.65v0c0-2.467 0.133-5.167 0.4-8.1v0c0-0.467 0.033-1.133 0.1-2v0c0.033-0.7 0.067-1.693 0.1-2.98 0.033-1.28 0.05-2.403 0.05-3.37v0c0-0.5-0.033-0.85-0.1-1.05v0c-0.067-0.467-0.1-0.833-0.1-1.1v0c0-0.533 0.567-0.8 1.7-0.8v0h3c2.133-0.067 4.183 0 6.15 0.2v0c1.367 0.133 2.417 0.283 3.15 0.45v0c0.9 0.233 1.5 0.567 1.8 1v0c0.267 0.5 0.4 1.367 0.4 2.6v0c0 1.5-0.017 2.873-0.05 4.12-0.033 1.253-0.067 2.363-0.1 3.33v0c-0.033 0.233-0.05 0.6-0.05 1.1v0c0 0.667-0.033 1.8-0.1 3.4v0c-0.067 2.933-0.1 5.383-0.1 7.35v0c0 1.233 0.05 2.133 0.15 2.7v0c0.1 0.533 0.367 0.8 0.8 0.8v0c0.9 0 1.883-0.217 2.95-0.65v0c0.667-0.333 1.133-0.583 1.4-0.75v0-20.1c-0.1-0.767-0.15-1.517-0.15-2.25v0c-0.067-0.2-0.1-0.483-0.1-0.85v0-0.45c0-0.6 0.117-1.017 0.35-1.25v0c0.233-0.2 0.783-0.3 1.65-0.3v0c0.967 0 2.217-0.05 3.75-0.15v0c0.533 0 1.267-0.033 2.2-0.1v0c0.667 0 1.15-0.05 1.45-0.15v0c0.2 0 0.433 0.033 0.7 0.1v0c0.4 0 0.733 0.017 1 0.05v0l1.5 0.05c0.733 0.033 1.65 0.167 2.75 0.4v0l1.4 0.4c0.3 0.1 0.493 0.217 0.58 0.35 0.08 0.133 0.12 0.3 0.12 0.5v0c0 4.933-0.1 9.883-0.3 14.85v0c-0.2 6.533-0.3 11.467-0.3 14.8v0c0 1.333-0.633 2-1.9 2v0h-2.55c-0.667 0.067-1.883 0.133-3.65 0.2v0c-1 0.067-1.783 0.1-2.35 0.1v0l-2.3 0.1c-0.9 0-1.583-0.15-2.05-0.45-0.467-0.3-0.783-0.817-0.95-1.55v0c-1.8 0.9-3.7 1.617-5.7 2.15v0c-2 0.5-4.067 0.75-6.2 0.75zM55.3 39.5c-0.467 0-0.817-0.317-1.05-0.95v0c-0.5-1.1-0.75-3.1-0.75-6v0c0-2.8 0.05-6.017 0.15-9.65v0c0.033-1.167 0.05-2.967 0.05-5.4v0l-0.15-0.2h-5.55c-0.433 0-0.773-0.243-1.02-0.73-0.253-0.48-0.447-1.153-0.58-2.02v0c-0.167-1-0.25-2.433-0.25-4.3v0-0.7c0-0.333 0.017-0.6 0.05-0.8v0-0.75-0.45c0-0.2 0.1-0.377 0.3-0.53 0.2-0.147 0.433-0.253 0.7-0.32v0c0.333-0.1 0.833-0.15 1.5-0.15v0h3.8c0.833 0 1.467 0.017 1.9 0.05v0l1.85 0.05h18c1.3 0 2.15 0.017 2.55 0.05v0c0.167 0.033 0.4 0.067 0.7 0.1 0.3 0.033 0.517 0.1 0.65 0.2v0c0.233 0.1 0.377 0.223 0.43 0.37 0.047 0.153 0.07 0.38 0.07 0.68v0 8.25c0 0.367-0.15 0.617-0.45 0.75v0c-0.2 0.067-0.467 0.1-0.8 0.1v0h-1.6-1.65c-0.767 0-1.35-0.033-1.75-0.1v0h-1.5c-0.3 0-0.467 0.067-0.5 0.2v0c0 0.033-0.017 0.073-0.05 0.12-0.033 0.053-0.05 0.113-0.05 0.18v0 0.75 1.7c0 0.5-0.017 0.883-0.05 1.15v0c0 0.967-0.067 3.083-0.2 6.35v0l-0.1 1.5c-0.067 1.4-0.133 2.417-0.2 3.05v0 4.75c0 1.133-0.233 1.85-0.7 2.15v0c-0.433 0.167-0.733 0.267-0.9 0.3v0l-1.25 0.05c-1.3 0-2.217 0.033-2.75 0.1v0l-5.25 0.05c-0.667 0.033-1.867 0.05-3.6 0.05zM87.4 39.45c-0.167 0-0.417-0.027-0.75-0.08-0.333-0.047-0.733-0.087-1.2-0.12v0l-1.05-0.25c-0.167-0.033-0.29-0.077-0.37-0.13-0.087-0.047-0.113-0.087-0.08-0.12v0c0-0.867-0.05-2.017-0.15-3.45v0c0-0.5-0.017-0.943-0.05-1.33-0.033-0.38-0.067-0.703-0.1-0.97v0l-0.1-2.15c0-0.567-0.033-1.283-0.1-2.15v0l-0.05-1.55c0-1.267-0.017-2.25-0.05-2.95v0c-0.033-0.7-0.05-2.167-0.05-4.4v0c0-2.1 0.017-4.267 0.05-6.5 0.033-2.233 0.133-4.35 0.3-6.35v0c0-0.367 0.4-0.667 1.2-0.9v0c0.5-0.067 1.333-0.1 2.5-0.1v0c2.7 0 4.683-0.05 5.95-0.15v0c3.933-0.067 6.9-0.1 8.9-0.1v0h2.2c2.733 0.067 4.833 0.167 6.3 0.3v0c0.533 0 0.917 0.633 1.15 1.9v0c0.1 0.233 0.217 0.833 0.35 1.8v0c0.1 0.5 0.233 1.117 0.4 1.85v0c0.033 0.2 0.043 0.39 0.03 0.57-0.02 0.187-0.03 0.297-0.03 0.33v0c-0.033 0.333-0.217 0.5-0.55 0.5v0c-0.133-0.033-0.333-0.05-0.6-0.05v0c-1.4 0-3.117 0.117-5.15 0.35v0l-2.65 0.2c-1.1 0.133-1.967 0.217-2.6 0.25v0c-0.1 0-0.233 0.2-0.4 0.6v0c-0.133 0.433-0.283 1.433-0.45 3v0l-0.1 1.25c0 0.433 0.05 0.707 0.15 0.82 0.1 0.12 0.317 0.18 0.65 0.18v0h4.45c1.3 0 2.783 0.083 4.45 0.25v0h0.6c0.433 0.1 0.7 0.267 0.8 0.5v0c0.133 0.2 0.217 0.417 0.25 0.65v0l0.2 4.45v0.15c0 0.567-0.6 0.9-1.8 1v0c-0.7 0.167-2.033 0.25-4 0.25v0c-1.7 0-2.8-0.017-3.3-0.05v0c-0.967 0-1.55 0.017-1.75 0.05v0c-0.367 0.1-0.6 0.29-0.7 0.57-0.1 0.287-0.15 0.763-0.15 1.43v0c0 0.433-0.033 1.05-0.1 1.85v0c-0.033 0.4-0.05 1.033-0.05 1.9v0c2.167 0 3.767-0.033 4.8-0.1v0c1.133-0.1 2.733-0.15 4.8-0.15v0c0.133 0 0.267 0.117 0.4 0.35v0c0.167 0.333 0.433 1.083 0.8 2.25v0c0.2 0.667 0.4 1.5 0.6 2.5v0c0.067 0.233 0.1 0.483 0.1 0.75v0c0 0.7-0.333 1.05-1 1.05v0c-0.867 0-2.033 0.033-3.5 0.1v0c-0.767 0.067-1.967 0.1-3.6 0.1v0c-3.5 0-6.133 0.017-7.9 0.05v0zM124.35 39.6c-0.333 0-0.617-0.033-0.85-0.1v0h-1-0.8-0.45l-2.25-0.55-0.15-0.4c-0.033 0-0.05-0.183-0.05-0.55v0c-0.067-1-0.1-2.15-0.1-3.45v0c0-0.933-0.033-1.683-0.1-2.25v0c0-0.933-0.017-1.633-0.05-2.1v0-1.75c-0.167-1.533-0.267-3.217-0.3-5.05-0.033-1.833-0.05-3.617-0.05-5.35v0l0.1-5.1c0.033-0.567 0.05-1.433 0.05-2.6v0c0-1.167-0.017-2.033-0.05-2.6v0c-0.1-0.767 0.117-1.333 0.65-1.7v0c0.333-0.167 0.917-0.25 1.75-0.25v0c1.233 0 2.817-0.033 4.75-0.1v0l1.1-0.1c2-0.133 3.25-0.2 3.75-0.2v0c0.467 0 0.8 0.017 1 0.05v0c0.467 0.033 0.783 0.1 0.95 0.2 0.167 0.1 0.327 0.267 0.48 0.5 0.147 0.233 0.253 0.417 0.32 0.55v0c0.4 0.533 0.8 1.1 1.2 1.7v0c0.6 0.9 1.083 1.6 1.45 2.1v0l3.3 5.05 1.6 2.4c0-0.867 0.033-1.55 0.1-2.05v0-4.65l0.15-3.55c0.033-0.267 0.067-0.45 0.1-0.55 0.033-0.1 0.083-0.173 0.15-0.22 0.067-0.053 0.117-0.097 0.15-0.13v0c0.4-0.333 0.8-0.583 1.2-0.75v0c0.333-0.067 0.6-0.1 0.8-0.1v0h2.85 0.6c0.267 0.033 0.733 0.05 1.4 0.05v0c0.733 0 1.317 0.017 1.75 0.05v0h1.7 1.4 0.6c0.867 0 1.45 0.133 1.75 0.4v0c0.367 0.267 0.55 0.85 0.55 1.75v0l-0.05 0.5-0.05 0.8c-0.033 0.2-0.05 0.467-0.05 0.8v0 0.6 0.4l0.1 0.5v1.6c-0.033 0.567-0.05 1.533-0.05 2.9v0 3.7c-0.033 0.867-0.05 2.083-0.05 3.65v0 2.9 1.7 7.9l-0.2 1.9c-0.133 0.767-0.4 1.233-0.8 1.4v0l-0.85 0.05-0.85-0.05h-2.25-2.95-3.05-0.75c-0.667 0.067-1.317-0.017-1.95-0.25v0c-0.3-0.133-0.633-0.35-1-0.65v0l-5.1-7.15c0-0.033-0.367-0.65-1.1-1.85v0c-0.267-0.4-0.517-0.75-0.75-1.05v0c-0.067-0.133-0.14-0.243-0.22-0.33-0.087-0.08-0.147-0.12-0.18-0.12v0c-0.3 0-0.45 0.133-0.45 0.4v0 1.1c-0.033 0.333-0.05 0.883-0.05 1.65v0 1.95 1.9c-0.067 0.4-0.1 0.9-0.1 1.5v0 1 0.75l0.05 0.25c0 0.267-0.133 0.433-0.4 0.5v0c-0.167 0.133-0.433 0.167-0.8 0.1v0c-1.133 0.067-2.033 0.133-2.7 0.2v0c-0.4 0.033-1.1 0.083-2.1 0.15-1 0.067-1.933 0.1-2.8 0.1z" fill="#0718c4" fill-rule="nonzero" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode: normal" data-fill-palette-color="primary" opacity="1"/> + <path xmlns="http://www.w3.org/2000/svg" d="M13.2 79.2c-2.1 0-3.667-0.033-4.7-0.1v0c-1.6-0.067-3-0.267-4.2-0.6v0c-0.133 0-0.267-0.2-0.4-0.6v0c-0.1-0.3-0.15-0.533-0.15-0.7v0l-0.95-18.2v-1c0-0.233 0.017-0.65 0.05-1.25 0.033-0.6 0.05-1.4 0.05-2.4v0l0.1-2.6c0-0.667 0.017-1.167 0.05-1.5v0c0-1 0.033-1.967 0.1-2.9v0c0-0.3 0.01-0.51 0.03-0.63 0.013-0.113 0.02-0.187 0.02-0.22v0c0.067-0.033 0.193-0.127 0.38-0.28 0.18-0.147 0.337-0.27 0.47-0.37v0c0.333-0.3 0.817-0.45 1.45-0.45v0h2.9 0.8c0.333 0.033 0.95 0.05 1.85 0.05v0c0.967 0 1.75 0.017 2.35 0.05v0h2.3 1.85 0.75c0.867 0 1.45 0.133 1.75 0.4v0c0.4 0.3 0.6 0.883 0.6 1.75v0 0.5c0 0.133-0.017 0.267-0.05 0.4-0.033 0.133-0.05 0.267-0.05 0.4v0l-0.1 0.8-0.05 0.6c0 0.133 0.033 0.267 0.1 0.4v0c0.033 0.133 0.05 0.3 0.05 0.5v0c0 0.9-0.017 1.55-0.05 1.95v0l-0.05 2.05h1.3c0.433 0.1 0.9 0.15 1.4 0.15v0c0.667 0.067 1.133 0.1 1.4 0.1v0c0.3 0.067 0.75 0.1 1.35 0.1v0l0.05-3.4c0.033-0.3 0.05-0.733 0.05-1.3v0l0.05-2.05v-0.4c0-0.533 0.017-1.01 0.05-1.43 0.033-0.413 0.1-0.703 0.2-0.87v0c0.2-0.267 0.433-0.4 0.7-0.4v0c0.2-0.067 0.667-0.1 1.4-0.1v0l1.35-0.05c0.967 0 1.767-0.033 2.4-0.1v0h2.85c1.333 0 2.3-0.017 2.9-0.05v0c1.167 0 1.967-0.017 2.4-0.05v0h1.35c0.8 0 1.333 0.1 1.6 0.3v0c0.2 0.133 0.333 0.323 0.4 0.57 0.067 0.253 0.1 0.613 0.1 1.08v0c0 1.3-0.033 3.05-0.1 5.25v0c-0.133 2.133-0.2 3.85-0.2 5.15v0c0 0.2 0.033 0.367 0.1 0.5v0c0 0.133 0.017 0.24 0.05 0.32 0.033 0.087 0.05 0.147 0.05 0.18v0l-1.25 19c0 0.167-0.117 0.4-0.35 0.7v0c-0.3 0.3-0.567 0.45-0.8 0.45v0h-13.75c-0.1 0-0.2-0.083-0.3-0.25-0.1-0.167-0.183-0.383-0.25-0.65v0c-0.033-0.167-0.073-0.393-0.12-0.68-0.053-0.28-0.097-0.637-0.13-1.07v0l-0.55-9.25h-0.35c-0.9 0-1.617-0.017-2.15-0.05v0c-1.267-0.067-2.05-0.1-2.35-0.1v0h-0.4c-0.3 0-0.45 0.283-0.45 0.85v0c0 4.133-0.017 6.767-0.05 7.9v0c0 0.267-0.05 0.9-0.15 1.9v0c-0.067 0.767-0.35 1.233-0.85 1.4v0l-0.75 0.05c-2.6 0.133-4.417 0.217-5.45 0.25zM53.5 78.9c-0.167 0-0.417-0.027-0.75-0.08-0.333-0.047-0.733-0.087-1.2-0.12v0l-1.05-0.25c-0.167-0.033-0.29-0.077-0.37-0.13-0.087-0.047-0.113-0.087-0.08-0.12v0c0-0.867-0.05-2.017-0.15-3.45v0c0-0.5-0.017-0.943-0.05-1.33-0.033-0.38-0.067-0.703-0.1-0.97v0l-0.1-2.15c0-0.567-0.033-1.283-0.1-2.15v0l-0.05-1.55c0-1.267-0.017-2.25-0.05-2.95v0c-0.033-0.7-0.05-2.167-0.05-4.4v0c0-2.1 0.017-4.267 0.05-6.5 0.033-2.233 0.133-4.35 0.3-6.35v0c0-0.367 0.4-0.667 1.2-0.9v0c0.5-0.067 1.333-0.1 2.5-0.1v0c2.7 0 4.683-0.05 5.95-0.15v0c3.933-0.067 6.9-0.1 8.9-0.1v0h2.2c2.733 0.067 4.833 0.167 6.3 0.3v0c0.533 0 0.917 0.633 1.15 1.9v0c0.1 0.233 0.217 0.833 0.35 1.8v0c0.1 0.5 0.233 1.117 0.4 1.85v0c0.033 0.2 0.04 0.39 0.02 0.57-0.013 0.187-0.02 0.297-0.02 0.33v0c-0.033 0.333-0.217 0.5-0.55 0.5v0c-0.133-0.033-0.333-0.05-0.6-0.05v0c-1.4 0-3.117 0.117-5.15 0.35v0l-2.65 0.2c-1.1 0.133-1.967 0.217-2.6 0.25v0c-0.1 0-0.233 0.2-0.4 0.6v0c-0.133 0.433-0.283 1.433-0.45 3v0l-0.1 1.25c0 0.433 0.05 0.707 0.15 0.82 0.1 0.12 0.317 0.18 0.65 0.18v0h4.45c1.3 0 2.783 0.083 4.45 0.25v0h0.6c0.433 0.1 0.7 0.267 0.8 0.5v0c0.133 0.2 0.217 0.417 0.25 0.65v0l0.2 4.45v0.15c0 0.567-0.6 0.9-1.8 1v0c-0.7 0.167-2.033 0.25-4 0.25v0c-1.7 0-2.8-0.017-3.3-0.05v0c-0.967 0-1.55 0.017-1.75 0.05v0c-0.367 0.1-0.6 0.29-0.7 0.57-0.1 0.287-0.15 0.763-0.15 1.43v0c0 0.433-0.033 1.05-0.1 1.85v0c-0.033 0.4-0.05 1.033-0.05 1.9v0c2.167 0 3.767-0.033 4.8-0.1v0c1.133-0.1 2.733-0.15 4.8-0.15v0c0.133 0 0.267 0.117 0.4 0.35v0c0.167 0.333 0.433 1.083 0.8 2.25v0c0.2 0.667 0.4 1.5 0.6 2.5v0c0.067 0.233 0.1 0.483 0.1 0.75v0c0 0.7-0.333 1.05-1 1.05v0c-0.867 0-2.033 0.033-3.5 0.1v0c-0.767 0.067-1.967 0.1-3.6 0.1v0c-3.5 0-6.133 0.017-7.9 0.05v0zM89.85 79.05c-0.333 0-0.6-0.033-0.8-0.1v0h-1-0.9-0.35l-2.25-0.55-0.2-0.4c-0.033 0-0.05-0.183-0.05-0.55v0c0-0.467-0.017-0.85-0.05-1.15v0l-0.05-2.3c-0.033-0.5-0.05-1.25-0.05-2.25v0l-0.1-3.85c0-0.833 0.033-1.983 0.1-3.45v0l0.05-1.7c0.067-1.067 0.1-2.817 0.1-5.25v0-0.35-0.65c-0.067-0.1-0.1-0.283-0.1-0.55v0l-0.05-0.35c0-0.833 0.05-1.7 0.15-2.6v0c0.067-1.133 0.1-2.167 0.1-3.1v0l-0.05-1.4c-0.033-0.367-0.05-0.8-0.05-1.3v0c0-0.033-0.023-0.083-0.07-0.15-0.053-0.067-0.08-0.133-0.08-0.2v0c0-0.333 0.133-0.617 0.4-0.85 0.267-0.233 0.6-0.4 1-0.5v0c0.533-0.167 1.217-0.25 2.05-0.25v0h8.45 3.9c0.033 0 0.083 0.033 0.15 0.1 0.067 0.067 0.133 0.117 0.2 0.15v0c0.267 0.233 0.6 0.683 1 1.35v0c0.1 0.2 0.21 0.423 0.33 0.67 0.113 0.253 0.27 0.647 0.47 1.18v0c0.233 0.533 0.55 1.35 0.95 2.45v0l0.6 1.55c0.267 0.5 0.567 1.217 0.9 2.15v0c0.1 0.267 0.21 0.533 0.33 0.8 0.113 0.267 0.22 0.533 0.32 0.8v0c0.067 0.233 0.143 0.407 0.23 0.52 0.08 0.12 0.12 0.197 0.12 0.23v0c0.233 0.533 0.483 0.8 0.75 0.8v0c0.333 0 0.6-0.267 0.8-0.8v0c0.033-0.033 0.067-0.11 0.1-0.23 0.033-0.113 0.117-0.303 0.25-0.57v0l0.75-1.65 2-4.25 0.85-1.8c0.1-0.267 0.177-0.493 0.23-0.68 0.047-0.18 0.103-0.303 0.17-0.37v0c0.133-0.3 0.45-0.817 0.95-1.55v0c0.167-0.267 0.317-0.467 0.45-0.6v0c0.1-0.033 0.167-0.083 0.2-0.15 0.033-0.067 0.083-0.1 0.15-0.1v0h3.9 8.45 0.75 0.5 0.65 1.1c0.067 0 0.15 0.25 0.25 0.75v0l0.15 4.9c0.067 1.4 0.1 3.6 0.1 6.6v0 2.9c0 1.133-0.05 2.4-0.15 3.8-0.1 1.4-0.167 2.3-0.2 2.7v0l-0.1 1v1.75c0.033 0.467 0.05 1.167 0.05 2.1v0c0 1 0.017 1.75 0.05 2.25v0c0 0.967 0.033 1.633 0.1 2v0 1.45 0.55l-0.15 0.4-2.25 0.55h-0.35-0.9-1c-0.233 0.067-0.517 0.1-0.85 0.1v0c-0.6 0-1.433-0.033-2.5-0.1v0l-1.25-0.05c-0.233-0.033-0.5-0.067-0.8-0.1-0.3-0.033-0.667-0.05-1.1-0.05v0l-1.95-0.15c-0.067 0-0.117 0.017-0.15 0.05v0h-0.4c-0.167 0-0.267-0.183-0.3-0.55v0c-0.2-0.667-0.3-1.8-0.3-3.4v0c0-1.067-0.017-1.9-0.05-2.5v0l-0.05-2.7c-0.033-0.6-0.05-1.467-0.05-2.6v0c0-0.267-0.117-0.4-0.35-0.4v0c-0.133 0-0.267 0.167-0.4 0.5v0l-0.55 1.35-0.45 1.25c-0.067 0.2-0.133 0.4-0.2 0.6-0.067 0.2-0.15 0.383-0.25 0.55v0l-0.25 0.6c-0.3 0.667-0.683 1.417-1.15 2.25v0c-0.5 0.9-1.117 1.617-1.85 2.15v0c-0.4 0.233-0.75 0.35-1.05 0.35v0h-0.75c-0.4 0-0.733-0.033-1-0.1v0h-1.1-1c-1.333-2.133-2.583-4.467-3.75-7v0l-0.75-1.85c-0.2-0.433-0.333-0.65-0.4-0.65v0c-0.233 0-0.35 0.133-0.35 0.4v0 2.35c0 2.333-0.033 4.05-0.1 5.15v0c-0.067 1.733-0.183 2.933-0.35 3.6v0c-0.033 0.433-0.133 0.65-0.3 0.65v0h-0.35l-0.25-0.05c-1.133 0.067-2.033 0.133-2.7 0.2v0c-0.4 0.033-1.1 0.083-2.1 0.15-1 0.067-1.933 0.1-2.8 0.1zM141.2 79.05c-0.333 0-0.617-0.033-0.85-0.1v0h-1-0.8-0.45l-2.25-0.55-0.15-0.4c-0.033 0-0.05-0.183-0.05-0.55v0c-0.067-1-0.1-2.15-0.1-3.45v0c0-0.933-0.033-1.683-0.1-2.25v0c0-0.933-0.017-1.633-0.05-2.1v0-1.75c-0.167-1.533-0.267-3.217-0.3-5.05-0.033-1.833-0.05-3.617-0.05-5.35v0l0.1-5.1c0.033-0.567 0.05-1.433 0.05-2.6v0c0-1.167-0.017-2.033-0.05-2.6v0c-0.1-0.767 0.117-1.333 0.65-1.7v0c0.333-0.167 0.917-0.25 1.75-0.25v0c1.233 0 2.817-0.033 4.75-0.1v0l1.1-0.1c2-0.133 3.25-0.2 3.75-0.2v0c0.467 0 0.8 0.017 1 0.05v0c0.467 0.033 0.783 0.1 0.95 0.2 0.167 0.1 0.327 0.267 0.48 0.5 0.147 0.233 0.253 0.417 0.32 0.55v0c0.4 0.533 0.8 1.1 1.2 1.7v0c0.6 0.9 1.083 1.6 1.45 2.1v0l3.3 5.05 1.6 2.4c0-0.867 0.033-1.55 0.1-2.05v0-4.65l0.15-3.55c0.033-0.267 0.067-0.45 0.1-0.55 0.033-0.1 0.083-0.173 0.15-0.22 0.067-0.053 0.117-0.097 0.15-0.13v0c0.4-0.333 0.8-0.583 1.2-0.75v0c0.333-0.067 0.6-0.1 0.8-0.1v0h2.85 0.6c0.267 0.033 0.733 0.05 1.4 0.05v0c0.733 0 1.317 0.017 1.75 0.05v0h1.7 1.4 0.6c0.867 0 1.45 0.133 1.75 0.4v0c0.367 0.267 0.55 0.85 0.55 1.75v0l-0.05 0.5-0.05 0.8c-0.033 0.2-0.05 0.467-0.05 0.8v0 0.6 0.4l0.1 0.5v1.6c-0.033 0.567-0.05 1.533-0.05 2.9v0 3.7c-0.033 0.867-0.05 2.083-0.05 3.65v0 2.9 1.7 7.9l-0.2 1.9c-0.133 0.767-0.4 1.233-0.8 1.4v0l-0.85 0.05-0.85-0.05h-2.25-2.95-3.05-0.75c-0.667 0.067-1.317-0.017-1.95-0.25v0c-0.3-0.133-0.633-0.35-1-0.65v0l-5.1-7.15c0-0.033-0.367-0.65-1.1-1.85v0c-0.267-0.4-0.517-0.75-0.75-1.05v0c-0.067-0.133-0.143-0.243-0.23-0.33-0.08-0.08-0.137-0.12-0.17-0.12v0c-0.3 0-0.45 0.133-0.45 0.4v0 1.1c-0.033 0.333-0.05 0.883-0.05 1.65v0 1.95 1.9c-0.067 0.4-0.1 0.9-0.1 1.5v0 1 0.75l0.05 0.25c0 0.267-0.133 0.433-0.4 0.5v0c-0.167 0.133-0.433 0.167-0.8 0.1v0c-1.133 0.067-2.033 0.133-2.7 0.2v0c-0.4 0.033-1.1 0.083-2.1 0.15-1 0.067-1.933 0.1-2.8 0.1zM179.95 78.95c-0.233 0-0.45-0.093-0.65-0.28-0.2-0.18-0.35-0.42-0.45-0.72v0c-0.133-0.6-0.233-1.267-0.3-2v0c-0.033-0.233-0.05-0.55-0.05-0.95v0-0.65l0.05-6.2c0-2.1 0.05-4.167 0.15-6.2v0-15.8c0-0.333 0.217-0.5 0.65-0.5v0c2.3 0 4.017-0.017 5.15-0.05v0h5c0.1 0 0.183-0.017 0.25-0.05 0.067-0.033 0.15-0.05 0.25-0.05v0c0.433-0.067 1.033-0.083 1.8-0.05v0c0.567 0 1.167 0.05 1.8 0.15v0c0.2 0.133 0.35 0.167 0.45 0.1v0c0.067 0 0.2-0.033 0.4-0.1v0c0.5 0 0.893 0.033 1.18 0.1 0.28 0.067 0.503 0.217 0.67 0.45v0c0.167 0.3 0.3 0.667 0.4 1.1v0c0.033 0.333 0.05 1.033 0.05 2.1v0 9.75 0.75c-0.033 0.267-0.05 0.867-0.05 1.8v0c0 1-0.033 1.783-0.1 2.35v0l-0.05 2.25c-0.033 0.5-0.05 1.133-0.05 1.9v0l-0.05 0.8v3.2c0 2-0.083 3.7-0.25 5.1v0c0 0.467-0.117 0.933-0.35 1.4v0c-0.6 0-1.467 0.033-2.6 0.1v0c-0.533 0-0.883 0.033-1.05 0.1v0h-0.5-0.15c-0.233 0-0.35-0.033-0.35-0.1v0c-0.267-0.067-0.417-0.1-0.45-0.1v0l-0.4 0.2h-4.6c-0.033 0.033-0.3 0.05-0.8 0.05v0h-1.9-1.85zM208.85 79.05c-0.333 0-0.617-0.033-0.85-0.1v0h-1-0.8-0.45l-2.25-0.55-0.15-0.4c-0.033 0-0.05-0.183-0.05-0.55v0c-0.067-1-0.1-2.15-0.1-3.45v0c0-0.933-0.033-1.683-0.1-2.25v0c0-0.933-0.017-1.633-0.05-2.1v0-1.75c-0.167-1.533-0.267-3.217-0.3-5.05-0.033-1.833-0.05-3.617-0.05-5.35v0l0.1-5.1c0.033-0.567 0.05-1.433 0.05-2.6v0c0-1.167-0.017-2.033-0.05-2.6v0c-0.1-0.767 0.117-1.333 0.65-1.7v0c0.333-0.167 0.917-0.25 1.75-0.25v0c1.233 0 2.817-0.033 4.75-0.1v0l1.1-0.1c2-0.133 3.25-0.2 3.75-0.2v0c0.467 0 0.8 0.017 1 0.05v0c0.467 0.033 0.783 0.1 0.95 0.2 0.167 0.1 0.327 0.267 0.48 0.5 0.147 0.233 0.253 0.417 0.32 0.55v0c0.4 0.533 0.8 1.1 1.2 1.7v0c0.6 0.9 1.083 1.6 1.45 2.1v0l3.3 5.05 1.6 2.4c0-0.867 0.033-1.55 0.1-2.05v0-4.65l0.15-3.55c0.033-0.267 0.067-0.45 0.1-0.55 0.033-0.1 0.083-0.173 0.15-0.22 0.067-0.053 0.117-0.097 0.15-0.13v0c0.4-0.333 0.8-0.583 1.2-0.75v0c0.333-0.067 0.6-0.1 0.8-0.1v0h2.85 0.6c0.267 0.033 0.733 0.05 1.4 0.05v0c0.733 0 1.317 0.017 1.75 0.05v0h1.7 1.4 0.6c0.867 0 1.45 0.133 1.75 0.4v0c0.367 0.267 0.55 0.85 0.55 1.75v0l-0.05 0.5-0.05 0.8c-0.033 0.2-0.05 0.467-0.05 0.8v0 0.6 0.4l0.1 0.5v1.6c-0.033 0.567-0.05 1.533-0.05 2.9v0 3.7c-0.033 0.867-0.05 2.083-0.05 3.65v0 2.9 1.7 7.9l-0.2 1.9c-0.133 0.767-0.4 1.233-0.8 1.4v0l-0.85 0.05-0.85-0.05h-2.25-2.95-3.05-0.75c-0.667 0.067-1.317-0.017-1.95-0.25v0c-0.3-0.133-0.633-0.35-1-0.65v0l-5.1-7.15c0-0.033-0.367-0.65-1.1-1.85v0c-0.267-0.4-0.517-0.75-0.75-1.05v0c-0.067-0.133-0.14-0.243-0.22-0.33-0.087-0.08-0.147-0.12-0.18-0.12v0c-0.3 0-0.45 0.133-0.45 0.4v0 1.1c-0.033 0.333-0.05 0.883-0.05 1.65v0 1.95 1.9c-0.067 0.4-0.1 0.9-0.1 1.5v0 1 0.75l0.05 0.25c0 0.267-0.133 0.433-0.4 0.5v0c-0.167 0.133-0.433 0.167-0.8 0.1v0c-1.133 0.067-2.033 0.133-2.7 0.2v0c-0.4 0.033-1.1 0.083-2.1 0.15-1 0.067-1.933 0.1-2.8 0.1zM260.6 80.05c-2.6 0-4.933-0.6-7-1.8v0c-2.333-1.133-4.25-3-5.75-5.6v0c-1.667-2.933-2.5-6.4-2.5-10.4v0c0-2.833 0.5-5.383 1.5-7.65 1-2.267 2.433-4.183 4.3-5.75v0c1.833-1.533 3.983-2.7 6.45-3.5 2.467-0.8 5.15-1.2 8.05-1.2v0c4.267 0 8.667 1.083 13.2 3.25v0l-1.95 8.5c-0.233-0.067-0.507-0.15-0.82-0.25-0.32-0.1-0.68-0.2-1.08-0.3v0c-1.833-0.467-3.183-0.767-4.05-0.9v0c-0.8-0.133-1.45-0.2-1.95-0.2v0c-2.1 0-3.7 0.567-4.8 1.7v0c-1.3 1.3-1.95 3.483-1.95 6.55v0c0 2.8 0.417 4.8 1.25 6v0c0.7 1.133 1.733 1.7 3.1 1.7v0c0.867 0 1.867-0.233 3-0.7v0c0-0.533-0.033-1.333-0.1-2.4v0l-0.05-1.1c-0.033-0.767-0.05-1.9-0.05-3.4v0-1.35c0-0.3 0.05-0.51 0.15-0.63 0.1-0.113 0.283-0.17 0.55-0.17v0c0.1 0.033 0.383 0.05 0.85 0.05v0h5.3c1.567 0 2.6-0.017 3.1-0.05v0c0.9 0 1.483 0.017 1.75 0.05v0c0.433 0.1 0.727 0.257 0.88 0.47 0.147 0.22 0.22 0.563 0.22 1.03v0c0 0.167 0.017 0.317 0.05 0.45v0 0.45 0.8 1.5 5.05 0.25c-0.033 0.133-0.067 0.283-0.1 0.45-0.033 0.167-0.05 0.35-0.05 0.55v0 0.25c0 2.1-0.033 3.567-0.1 4.4v0c-0.067 1.367-0.183 2.233-0.35 2.6v0c-0.867 0-1.517 0.033-1.95 0.1v0l-1.1 0.05h-0.15c-0.3 0-0.467-0.017-0.5-0.05v0c-0.033-0.033-0.057-0.06-0.07-0.08-0.02-0.013-0.03-0.02-0.03-0.02v0h-0.15c-0.033 0.033-0.057 0.067-0.07 0.1-0.02 0.033-0.03 0.05-0.03 0.05v0h-5-0.25-0.5-0.6c-0.1 0.033-0.233 0.05-0.4 0.05v0c-0.133 0-0.25-0.1-0.35-0.3v0c-0.233-0.6-0.367-1.317-0.4-2.15v0c-0.067-0.4-0.133-0.983-0.2-1.75v0c-0.3 1.7-1.35 3.017-3.15 3.95v0c-1.633 0.9-3.683 1.35-6.15 1.35zM291.6 78.9c-0.167 0-0.417-0.027-0.75-0.08-0.333-0.047-0.733-0.087-1.2-0.12v0l-1.05-0.25c-0.167-0.033-0.29-0.077-0.37-0.13-0.087-0.047-0.113-0.087-0.08-0.12v0c0-0.867-0.05-2.017-0.15-3.45v0c0-0.5-0.017-0.943-0.05-1.33-0.033-0.38-0.067-0.703-0.1-0.97v0l-0.1-2.15c0-0.567-0.033-1.283-0.1-2.15v0l-0.05-1.55c0-1.267-0.017-2.25-0.05-2.95v0c-0.033-0.7-0.05-2.167-0.05-4.4v0c0-2.1 0.017-4.267 0.05-6.5 0.033-2.233 0.133-4.35 0.3-6.35v0c0-0.367 0.4-0.667 1.2-0.9v0c0.5-0.067 1.333-0.1 2.5-0.1v0c2.7 0 4.683-0.05 5.95-0.15v0c3.933-0.067 6.9-0.1 8.9-0.1v0h2.2c2.733 0.067 4.833 0.167 6.3 0.3v0c0.533 0 0.917 0.633 1.15 1.9v0c0.1 0.233 0.217 0.833 0.35 1.8v0c0.1 0.5 0.233 1.117 0.4 1.85v0c0.033 0.2 0.043 0.39 0.03 0.57-0.02 0.187-0.03 0.297-0.03 0.33v0c-0.033 0.333-0.217 0.5-0.55 0.5v0c-0.133-0.033-0.333-0.05-0.6-0.05v0c-1.4 0-3.117 0.117-5.15 0.35v0l-2.65 0.2c-1.1 0.133-1.967 0.217-2.6 0.25v0c-0.1 0-0.233 0.2-0.4 0.6v0c-0.133 0.433-0.283 1.433-0.45 3v0l-0.1 1.25c0 0.433 0.05 0.707 0.15 0.82 0.1 0.12 0.317 0.18 0.65 0.18v0h4.45c1.3 0 2.783 0.083 4.45 0.25v0h0.6c0.433 0.1 0.7 0.267 0.8 0.5v0c0.133 0.2 0.217 0.417 0.25 0.65v0l0.2 4.45v0.15c0 0.567-0.6 0.9-1.8 1v0c-0.7 0.167-2.033 0.25-4 0.25v0c-1.7 0-2.8-0.017-3.3-0.05v0c-0.967 0-1.55 0.017-1.75 0.05v0c-0.367 0.1-0.6 0.29-0.7 0.57-0.1 0.287-0.15 0.763-0.15 1.43v0c0 0.433-0.033 1.05-0.1 1.85v0c-0.033 0.4-0.05 1.033-0.05 1.9v0c2.167 0 3.767-0.033 4.8-0.1v0c1.133-0.1 2.733-0.15 4.8-0.15v0c0.133 0 0.267 0.117 0.4 0.35v0c0.167 0.333 0.433 1.083 0.8 2.25v0c0.2 0.667 0.4 1.5 0.6 2.5v0c0.067 0.233 0.1 0.483 0.1 0.75v0c0 0.7-0.333 1.05-1 1.05v0c-0.867 0-2.033 0.033-3.5 0.1v0c-0.767 0.067-1.967 0.1-3.6 0.1v0c-3.5 0-6.133 0.017-7.9 0.05v0zM349 80.6c-0.133 0-0.25-0.017-0.35-0.05v0c-0.5-0.3-0.917-0.633-1.25-1v0c-0.1-0.167-0.167-0.25-0.2-0.25v0c-0.033-0.067-0.083-0.1-0.15-0.1v0l-0.1-0.05c-0.133-0.133-0.2-0.2-0.2-0.2v0l-4.25-6.3c-0.2-0.433-0.483-0.9-0.85-1.4v0c-0.233-0.233-0.433-0.483-0.6-0.75v0c-0.133-0.2-0.267-0.3-0.4-0.3v0c-0.1 0-0.173 0.05-0.22 0.15-0.053 0.1-0.097 0.233-0.13 0.4v0c-0.1 0.9-0.15 2.117-0.15 3.65v0c0 1.467-0.083 2.65-0.25 3.55v0c-0.1 0.433-0.25 0.65-0.45 0.65v0h-0.3c-0.067-0.033-0.123-0.06-0.17-0.08-0.053-0.013-0.08-0.02-0.08-0.02v0c-1.167 0.1-2.917 0.217-5.25 0.35v0c-2.267 0.133-4 0.2-5.2 0.2v0c-0.333 0-0.6-0.033-0.8-0.1v0h-1.1-0.9-0.45l-1.8-0.6-0.15-0.4c0-0.033-0.007-0.1-0.02-0.2-0.02-0.1-0.03-0.233-0.03-0.4v0c0-0.2-0.033-0.567-0.1-1.1v0c-0.167-2.033-0.233-2.833-0.2-2.4v0c-0.067-0.867-0.183-2.367-0.35-4.5v0l-0.15-1.85c0-0.6-0.017-1.133-0.05-1.6-0.033-0.467-0.067-0.867-0.1-1.2v0l-0.1-1.1c-0.1-1.367-0.15-2.65-0.15-3.85v0c0-0.033 0.007-0.083 0.02-0.15 0.02-0.067 0.03-0.2 0.03-0.4v0c0.067-0.2 0.1-0.517 0.1-0.95v0l0.05-0.9 0.05-0.6c0-0.7-0.033-1.717-0.1-3.05v0c-0.133-0.833-0.2-1.9-0.2-3.2v0c0-1.867 0.117-3.233 0.35-4.1v0c0.3-1.2 0.8-1.8 1.5-1.8v0c3.767 0 7.6 0.05 11.5 0.15v0c0.867 0 2.167 0.033 3.9 0.1v0l1.95 0.05c2.667 0.067 4.517 0.1 5.55 0.1v0c4.3 0.2 7.55 1.283 9.75 3.25v0c1 0.833 1.743 1.833 2.23 3 0.48 1.167 0.72 2.417 0.72 3.75v0c0 1.533-0.283 2.95-0.85 4.25v0c-0.467 1.033-1.133 1.983-2 2.85v0c-0.833 0.833-1.783 1.5-2.85 2v0c0.2 0.1 0.467 0.317 0.8 0.65v0c0.133 0.167 0.367 0.383 0.7 0.65v0l0.7 0.5c0.1 0.167 0.217 0.323 0.35 0.47 0.133 0.153 0.267 0.313 0.4 0.48v0l2.35 2.9c1.067 1.367 1.75 2.367 2.05 3v0c0.233 0.433 0.35 0.767 0.35 1v0c0 0.333-0.133 0.633-0.4 0.9-0.267 0.267-0.667 0.6-1.2 1v0c-0.4 0.3-0.867 0.583-1.4 0.85v0c-0.5 0.267-0.883 0.517-1.15 0.75v0l-1.85 1c-0.667 0.367-1.383 0.683-2.15 0.95v0c-0.033 0-0.073 0.017-0.12 0.05-0.053 0.033-0.13 0.067-0.23 0.1v0c-0.2 0.1-0.75 0.283-1.65 0.55v0c-0.167 0.1-0.45 0.183-0.85 0.25v0c-0.1 0.067-0.217 0.117-0.35 0.15-0.133 0.033-0.233 0.05-0.3 0.05v0h-0.25c-0.033 0.167-0.1 0.25-0.2 0.25v0h-0.15zM340.05 62.95h0.75c1.033 0 1.85-0.517 2.45-1.55v0c0.567-0.933 0.883-2 0.95-3.2v0c0.067-0.7 0.1-1.533 0.1-2.5v0-0.55c0-0.767-0.133-1.567-0.4-2.4v0c-0.267-1.067-0.817-1.833-1.65-2.3v0c-0.367-0.3-0.85-0.45-1.45-0.45v0c-0.167 0-0.3 0.2-0.4 0.6v0c-0.3 0.733-0.467 1.9-0.5 3.5v0c-0.133 0.667-0.2 1.45-0.2 2.35v0l-0.05 1.5c-0.067 1.933-0.1 3.533-0.1 4.8v0c0 0.033 0.017 0.067 0.05 0.1 0.033 0.033 0.067 0.05 0.1 0.05v0z" fill="#0718c4" fill-rule="nonzero" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode: normal" data-fill-palette-color="primary" opacity="1"/> + </g> + </svg> + </g> + </svg> + </g> + </svg> + </g> + </svg> + </g> + <g> + <svg viewBox="0 0 244.43135999999998 170.39180112100414" height="170.39180112100414" width="244.43135999999998"> + <g> + <svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="8" y="0" viewBox="2.0354998111724854 13.513500213623047 97.34200286865234 72.60946655273438" enable-background="new 0 0 100 100" height="170.39180112100414" width="228.43135999999998" class="icon-icon-0" data-fill-palette-color="accent" id="icon-0"> + <g fill="#0718c4" data-fill-palette-color="accent"> + <path d="M74.05 67.585c-1.303 1.303-3.413 1.305-4.716 0l-5.057-5.057c-1.303-1.299-1.303-3.414 0-4.713l0 0c1.303-1.303 3.412-1.303 4.715-0.002l5.057 5.057C75.352 64.173 75.352 66.284 74.05 67.585L74.05 67.585z" fill="#0718c4" data-fill-palette-color="accent"/> + <path d="M68.166 73.47c-1.303 1.303-3.558 1.158-5.037-0.322l-7.144-7.146c-1.48-1.479-1.626-3.734-0.322-5.036l0 0c1.301-1.302 3.558-1.157 5.035 0.323l7.147 7.141C69.326 69.91 69.469 72.167 68.166 73.47L68.166 73.47z" fill="#0718c4" data-fill-palette-color="accent"/> + <path d="M62.283 79.353c-1.301 1.303-3.558 1.158-5.038-0.322l-6.113-6.116c-1.48-1.48-1.624-3.735-0.322-5.038l0 0c1.301-1.301 3.556-1.157 5.037 0.321l6.116 6.115C63.44 75.793 63.584 78.05 62.283 79.353L62.283 79.353z" fill="#0718c4" data-fill-palette-color="accent"/> + <path d="M49.395 74.067l-0.167 0.169c0.083-0.02 0.164-0.05 0.248-0.064C49.445 74.14 49.423 74.102 49.395 74.067z" fill="#0718c4" data-fill-palette-color="accent"/> + <path d="M56.402 85.233c-1.303 1.303-3.558 1.158-5.039-0.322l-2.817-2.817c-1.48-1.48-1.623-3.735-0.322-5.038l0 0c1.305-1.303 3.558-1.159 5.038 0.321l2.817 2.817C57.561 81.676 57.706 83.929 56.402 85.233L56.402 85.233z" fill="#0718c4" data-fill-palette-color="accent"/> + <path d="M63.066 28.185l-10.105 0.004c-0.122 0-0.237 0.021-0.357 0.031H39.427c-1.721 0-4.118 1.003-5.326 2.23l-15.79 16.035c-1.208 1.226-1.2 3.225 0.016 4.442l7.306 7.305c1.216 1.217 3.208 1.217 4.424 0l21.507-21.507c0.787-0.788 2.072-1.478 3.348-1.871l8.154 0.002c2.093 0.001 3.789-1.492 3.789-3.334C66.855 29.68 65.159 28.185 63.066 28.185z" fill="#0718c4" data-fill-palette-color="accent"/> + <path d="M34.254 23.347l-5.874-8.92c-1.218-1.218-3.209-1.218-4.428 0L2.949 35.024c-1.218 1.217-1.218 3.208 0 4.425l9.327 5.875c1.218 1.217 3.209 1.217 4.427 0l17.551-17.551C35.473 26.556 35.473 24.564 34.254 23.347zM10.769 40.953c-1.1 0-1.993-0.892-1.993-1.993s0.893-1.993 1.993-1.993c1.1 0 1.993 0.892 1.993 1.993S11.868 40.953 10.769 40.953z" fill="#0718c4" data-fill-palette-color="accent"/> + <path d="M67.157 28.693l17.552 17.551c1.218 1.217 3.209 1.217 4.428 0l9.327-5.875c1.218-1.218 1.218-3.208 0-4.426L77.459 15.347c-1.219-1.217-3.209-1.217-4.428 0l-5.874 8.92C65.939 25.484 65.939 27.476 67.157 28.693zM88.651 39.88c0-1.101 0.893-1.993 1.992-1.993s1.993 0.892 1.993 1.993-0.894 1.993-1.993 1.993S88.651 40.98 88.651 39.88z" fill="#0718c4" data-fill-palette-color="accent"/> + <path d="M83.049 46.532L68.852 32.336c-0.195 1.178-0.786 2.283-1.727 3.11-1.096 0.965-2.537 1.497-4.057 1.497l-7.823-0.002c-0.896 0.314-1.739 0.793-2.205 1.259L31.532 59.708c-0.794 0.794-1.808 1.282-2.902 1.448l-0.323 0.319c-1.303 1.303-1.303 3.412 0 4.715 1.301 1.303 3.414 1.305 4.715 0L45.4 53.843c0.169-0.169 0.403-0.275 0.662-0.275 0.519 0 0.938 0.419 0.938 0.937 0 0.259-0.104 0.494-0.275 0.665l0.007 0.007-14.61 14.612c-1.48 1.48-1.624 3.733-0.322 5.038 1.301 1.301 3.558 1.157 5.037-0.323l14.627-14.594c0.171-0.171 0.404-0.277 0.663-0.277 0.52 0 0.938 0.421 0.938 0.938 0 0.259-0.106 0.494-0.277 0.664l0.004 0.002L38.479 75.55c-1.479 1.48-1.622 3.735-0.321 5.038 1.303 1.303 3.558 1.159 5.038-0.321l2.225-2.225c0.212-0.911 0.638-1.768 1.33-2.461 0.681-0.68 1.54-1.129 2.478-1.345l0.167-0.169c-0.904-1.023-1.464-2.281-1.549-3.605-0.099-1.537 0.445-3.018 1.489-4.062 0.956-0.954 2.25-1.482 3.646-1.495-0.174-0.559-0.294-1.134-0.294-1.716 0-1.419 0.533-2.732 1.504-3.701 0.965-0.965 2.278-1.498 3.697-1.498 1.209 0 2.411 0.402 3.431 1.117 0.206-1.042 0.717-2.002 1.485-2.769 1.022-1.022 2.383-1.587 3.831-1.587s2.809 0.564 3.833 1.589l4.165 4.164 8.416-8.575C84.533 50.446 84.533 48.017 83.049 46.532z" fill="#0718c4" data-fill-palette-color="accent"/> + </g> + </svg> + </g> + </svg> + </g> + </svg> + </g> + </svg> + <rect width="395.52" height="103.7711418236481" fill="none" stroke="none" visibility="hidden"/> + </g> + </svg> + </g> +</svg> \ No newline at end of file diff --git a/Frontend/src/components/Listing.vue b/Frontend/src/components/Listing.vue new file mode 100644 index 0000000000000000000000000000000000000000..afad8d6129868de8f774a0e2504e3199d8a2d235 --- /dev/null +++ b/Frontend/src/components/Listing.vue @@ -0,0 +1,112 @@ +<template> + <div class="shopping-listing" @click="handleClick"> + <img v-bind:src="image" alt=""> + <h2>{{ name }}</h2> + <span>{{ price + " NOK" }}</span> + <img v-bind:src="favoriteIcon" @click.stop="toggleFavorite" alt="Add to favorites" class="favorite-icon"> </div> +</template> + + <script lang="ts"> + + import axios from 'axios'; + import heartFilled from '@/assets/images/heartFilled.svg' + import heartOutline from '@/assets/images/heartOutline.svg' + import router from '../router' + + export default { + name: 'Listing', + props: { + id: { + type: Number, + required: true + } + }, + data() { + return { + name: '', + price: '', + image: '', + isFavorite: false, + favoriteIcon: heartOutline, + favoriteIconFilled: heartFilled + } + }, + methods: { + handleClick() {router.push('/listing/' + this.id) // navigate to the other view + console.log('clicked') + }, + toggleFavorite() { + this.isFavorite = !this.isFavorite; + this.favoriteIcon = this.isFavorite ? this.favoriteIconFilled : heartOutline; + console.log(this.isFavorite) + } + }, + created() { + axios.get(`https://fakestoreapi.com/products/${this.id}`) + .then(response => { + this.name = response.data.title + this.price = response.data.price + this.image = response.data.image + console.log(response.data) + console.log(this.name) + console.log(this.price) + console.log(this.image) + }) + .catch(error => { + console.error(error); + }); + } + + + } + + </script> + + <style scoped> + .shopping-listing { + display: flex; + flex-direction: column; + align-items: center; + border: 1px solid #ccc; + padding: 1rem; + margin-bottom: 1rem; + border-radius: 1rem; + cursor: pointer; + } + + h2 { + height: 70px; + display: -webkit-box; + -webkit-line-clamp: 3; /* Number of lines to show */ + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; +} + + .shopping-listing:hover { + box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3); +} + + .shopping-listing img { + max-width: 100%; + height: 300px; + object-fit: contain; + } + + .shopping-listing h2 { + font-size: 1.2rem; + margin: 0.5rem 0; + } + + .shopping-listing span { + font-size: 1.1rem; + font-weight: bold; + margin: 0.5rem 0; + } + + .shopping-listing img.favorite-icon { + width: 30px; + height: 30px; +} + + </style> diff --git a/Frontend/src/router/index.ts b/Frontend/src/router/index.ts index 68e3fc505270ebc98ab934c33dc2e7a06fd60ce5..5fad8847946985372a272232c8f2a9216569bc9e 100644 --- a/Frontend/src/router/index.ts +++ b/Frontend/src/router/index.ts @@ -1,6 +1,6 @@ import { createRouter, createWebHistory } from 'vue-router' import HomeView from '../views/HomeView.vue' -import LoginComponent from '../components/Login.vue'; +import ListingView from '../views/ListingView.vue'; const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -8,7 +8,7 @@ const router = createRouter({ { path: '/', name: 'home', - component: LoginComponent + component: HomeView }, { path: '/login', @@ -17,6 +17,10 @@ const router = createRouter({ // this generates a separate chunk (About.[hash].js) for this route // which is lazy-loaded when the route is visited. component: () => import('../views/LoginView.vue') + }, + { + path: '/listing/:id', + component: ListingView } ] }) diff --git a/Frontend/src/views/HomeView.vue b/Frontend/src/views/HomeView.vue index 99370730f7a7901ef0e3a0d89784dd7694d395e5..9560bca379474e5ce51ffcfc662f301327c3f643 100644 --- a/Frontend/src/views/HomeView.vue +++ b/Frontend/src/views/HomeView.vue @@ -1,12 +1,68 @@ <script setup lang="ts"> +import ShoppingListing from '@/components/Listing.vue'; </script> <template> <main> - <p>Hei</p> - - - <!-- <Scrollable, paginated, and thumbnail view /> --> - + <div class="grid"> + <ShoppingListing v-for="id in 20" :id="id" /> + </div> </main> </template> + +<style scoped> + +.grid { + display: grid; + grid-template-columns: repeat(5, minmax(calc(20% - 1rem), 1fr)); + grid-gap: 1rem; + margin-left: auto; + margin-right: auto; + max-width: 1524px; +} + + + +@media screen and (min-width: 480px) { + .grid { + grid-template-columns: repeat(1, minmax(0, 1fr)); + } +} + +@media screen and (max-width: 480px) { + .grid { + grid-template-columns: repeat(1, minmax(0, 1fr)); + } +} + +@media screen and (min-width: 640px) { + .grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } +} + +@media screen and (min-width: 768px) { + .grid { + grid-template-columns: repeat(2, minmax(calc(50% - 0.5rem), 1fr)); + } +} + +@media screen and (min-width: 1024px) { + .grid { + grid-template-columns: repeat(3, minmax(calc(33.33% - 0.666rem), 1fr)); + } +} + +@media screen and (min-width: 1200px) { + .grid { + grid-template-columns: repeat(4, minmax(calc(25% - 0.75rem), 1fr)); + } +} + +@media screen and (min-width: 1524px) { + .grid { + grid-template-columns: repeat(5, minmax(calc(20% - 1rem), 1fr)); + } +} + +</style> \ No newline at end of file diff --git a/Frontend/src/views/ListingView.vue b/Frontend/src/views/ListingView.vue new file mode 100644 index 0000000000000000000000000000000000000000..15bf6c43476d1f90653628abf1a9d4b8e6ab9404 --- /dev/null +++ b/Frontend/src/views/ListingView.vue @@ -0,0 +1,102 @@ +<template> + <div class="listing-view"> + <div class="listing-image"> + <img v-bind:src="image" alt=""> + </div> + <div class="listing-details"> + <h2>{{ name }}</h2> + <span>{{ price }}</span> + <p>{{ description }}</p> + <button @click="$emit('add-to-cart', { name, price })">Add to Cart</button> + </div> + </div> + </template> + + <script lang="ts"> + import axios from 'axios'; + export default { + name: 'ListingView', + + data() { + return { + id : this.$route.params.id, + name: '', + price: '', + image: '', + description: '' + } + }, + created() { + axios.get(`https://fakestoreapi.com/products/${this.id}`) + .then(response => { + this.name = response.data.title + this.price = response.data.price + this.image = response.data.image + this.description = response.data.description + console.log(response.data) + console.log(this.name) + console.log(this.price) + console.log(this.image) + console.log(this.description) + }) + .catch(error => { + console.error(error); + }); + }} + + </script> + + <style scoped> + .listing-view { + display: flex; + flex-direction: row; + align-items: flex-start; + border: 1px solid #ccc; + padding: 1rem; + margin-bottom: 1rem; + } + + .listing-image { + width: 50%; + } + + .listing-image img { + max-width: 100%; + } + + .listing-details { + width: 50%; + padding-left: 1rem; + } + + .listing-details h2 { + font-size: 1.5rem; + margin: 0.5rem 0; + } + + .listing-details span { + font-size: 1.3rem; + font-weight: bold; + margin: 0.5rem 0; + } + + .listing-details p { + font-size: 1.1rem; + line-height: 1.6; + margin-bottom: 1rem; + } + + .listing-details button { + background-color: #4CAF50; + border: none; + color: white; + padding: 0.5rem 1rem; + text-align: center; + text-decoration: none; + display: inline-block; + font-size: 1rem; + border-radius: 0.25rem; + cursor: pointer; + } + </style> + \ No newline at end of file