first commit

This commit is contained in:
María
2025-09-17 15:29:44 +02:00
commit 211de1bd5e
104 changed files with 15556 additions and 0 deletions

24
.gitignore vendored Normal file
View File

@@ -0,0 +1,24 @@
# Nuxt dev/build outputs
.output
.data
.nuxt
.nitro
.cache
dist
# Node dependencies
node_modules
# Logs
logs
*.log
# Misc
.DS_Store
.fleet
.idea
# Local env files
.env
.env.*
!.env.example

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
22

39
README.md Normal file
View File

@@ -0,0 +1,39 @@
# KIT Ecosocial Landing
Este proyecto está construido con **Nuxt 3** y permite:
- Soporte multidioma con rutas como `/es`, `/en`, etc.
- Cambio de idioma dinámico gestionado con **Vuex**.
- Carga dinámica de contenido y componentes desde archivos JSON en `/data/[langcode]/`.
- Los componentes se renderizan dinámicamente usando `<component :is="...">`.
## 🚀 Ejecutar el proyecto localmente
### Instalar dependencias
```bash
npm install
```
### Ejecutar en modo desarrollo
```bash
npm run dev
```
## 🔸 Despliegue en servidor propio (Node.js)
### Construye el proyecto
```bash
npm run build
```
### Ejecuta en modo producción
```bash
npm run start
```
## ✅ Requisitos
Node.js 18+
Nuxt 3
Vuex

5
app.vue Normal file
View File

@@ -0,0 +1,5 @@
<template>
<NuxtLayout>
<NuxtPage />
</NuxtLayout>
</template>

343
assets/css/main.css Normal file
View File

@@ -0,0 +1,343 @@
@import "tailwindcss";
@theme {
--font-barlow: 'Barlow', sans-serif;
--font-barlow-semi-condensed: 'BarlowSemiCondensed', sans-serif;
/* Color base */
--color-consumo-base: #F28C8C;
--color-consumo-light: #F6B1B1;
--color-consumo-extra-light: #FAD1D1;
--color-iguales-dark: #682B8E;
--color-iguales-base: #C98EEF;
--color-iguales-light: #DAB2F4;
--color-iguales-extra-light: #E9D2F9;
--color-aula-base: #5CAACC;
--color-aula-light: #90C5DC;
--color-aula-extra-light: #BEDDEB;
--color-certifica-base: #CAF03F;
--color-certifica-light: #DFF68C;
--color-certifica-extra-light: #ECFABC;
--color-foro-base: #E2CA64;
--color-foro-light: #EBDB96;
--color-foro-extra-light: #F3EAC1;
--color-ods-base: #2FB384;
--color-ods-light: #72CBAB;
--color-ods-extra-light: #ACE1CE;
/* Color background */
--color-background-dark: #091B3D;
--color-background-dark-2: #0D2758;
--color-background-light: #F9F4F2;
--color-background-extra-light: #FDFCFB;
/* Color button */
--color-button: #143E8C;
--color-button-hover: #1E58C7;
--color-error: #B40502;
--color-success: #039B65;
/* Font sizes */
--text-5.5: 1.375rem; /* 22px */
--text-8: 2rem; /* 32px */
--text-32: 2rem; /* 32px */
--text-40: 2.5rem; /* 40px */
/* Shadow */
--shadow-button: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
--shadow-tool-card: 0 2px 5px 0 rgba(0, 0, 0, 0.25);
/* Spacing */
--spacing-32: 2rem; /* 32px */
--spacing-38: 9.5rem; /* 154px */
--spacing-10.2: 10.25rem; /* 164px */
--spacing-69: 17.375rem; /* 278px */
--spacing-20.1: 20.168rem; /* 322px */
--spacing-20.3: 20.313rem; /* 326px */
--spacing-20.9: 20.938rem; /* 335px */
--spacing-21.8: 21.875rem; /* 350px */
--spacing-22.3: 22.313rem; /* 393px */
--spacing-25.6: 25.688rem; /* 411px */
--spacing-29: 29rem; /* 464px */
--spacing-124.2: 31.063rem; /* 497px */
--spacing-44.8: 44.813rem; /* 717px */
}
/* Breakpoints */
/* Desktop < 1920px; */
/* Tablet < 1024px; */
/* Mobile < 640px; */
/* Super desktop */
@media screen and (min-width: 1023px) {
:root {
--default-font-size: var(--font-size-base, 16px); /* 16px */
--layout-padding-x: 2rem; /* 32px */
--font-size-Hero: 48px;
--font-size-H1: 48px;
--font-size-H2: 36px;
--font-size-H3: 32px;
--font-size-H4: 22px;
--font-size-H5: 16px;
--font-size-2xl-custom: 24px;
--font-size-lg-custom: 18px;
--font-size-base-custom: 16px;
--font-size-sm-custom: 14px;
--font-size-xs-custom: 12px;
--font-size-button-base: 16px;
}
}
/* Tablet */
@media screen and (max-width: 1023px) {
:root {
--default-font-size: var(--font-size-base); /* 16px */
--layout-padding-x: 1rem; /* 16px */
--font-size-Hero: 40px;
--font-size-H1: 40px;
--font-size-H2: 32px;
--font-size-H3: 24px;
--font-size-H4: 22px;
--font-size-H5: 16px;
--font-size-2xl-custom: 20px;
--font-size-lg-custom: 16px;
--font-size-base-custom: 16px;
--font-size-sm-custom: 14px;
--font-size-xs-custom: 12px;
--font-size-button-base: 14px;
}
}
/* Mobile */
@media screen and (max-width: 640px) {
:root {
--default-font-size: var(--font-size-base); /* 16px */
--layout-padding-x: 0.5rem; /* 8px */
--font-size-Hero: 32px;
--font-size-H1: 32px;
--font-size-H2: 30px;
--font-size-H3: 24px;
--font-size-H4: 22px;
--font-size-H5: 16px;
--font-size-2xl-custom: 18px;
--font-size-lg-custom: 16px;
--font-size-base-custom: 16px;
--font-size-sm-custom: 14px;
--font-size-xs-custom: 12px;
--font-size-button-base: 14px;
}
}
@font-face {
font-family: "BarlowSemiCondensed";
font-style: normal;
font-weight: 700;
src: local("Barlow SemiCondensed Bold"), local("BarlowBarlowSemiCondensed-Bold"),
url(../fonts/BarlowSemiCondensed/BarlowSemiCondensed-Bold.ttf) format("opentype");
}
@font-face {
font-family: "Barlow";
font-style: normal;
font-weight: 700;
src: local("Barlow Bold"), local("Barlow-Bold"),
url(../fonts/Barlow/Barlow-Bold.ttf) format("opentype");
}
@font-face {
font-family: "Barlow";
font-style: normal;
font-weight: 600;
src: local("Barlow Semibold"), local("Barlow-Semibold"),
url(../fonts/Barlow/Barlow-Semibold.ttf) format("opentype");
}
@font-face {
font-family: "Barlow";
font-style: normal;
font-weight: 500;
src: local("Barlow Medium"), local("Barlow-Medium"),
url(../fonts/Barlow/Barlow-Medium.ttf) format("opentype");
}
@font-face {
font-family: "Barlow";
font-style: normal;
font-weight: 400;
src: local("Barlow Regular"), local("Barlow-Regular"),
url(../fonts/Barlow/Barlow-Regular.ttf) format("opentype");
}
html,
body {
font-family: var(--font-barlow);
font-size: var(--default-font-size, 16px);
height: 100dvh;
color: var(--color-black);
background-color: var(--color-background-extra-light);
}
header {
position: sticky;
top: 0;
z-index: 20;
}
body footer {
position: sticky;
top: 100dvh;
}
html {
scroll-behavior: smooth;
}
h1 {
font-size: var(--font-size-H1);
}
h2 {
font-size: var(--font-size-H2);
}
h3 {
font-size: var(--font-size-H3);
}
h4 {
font-size: var(--font-size-H4);
}
h5 {
font-size: var(--font-size-H5);
}
.text-2xl-custom {
font-size: var(--font-size-2xl-custom);
}
.text-lg-custom {
font-size: var(--font-size-lg-custom);
}
.text-base-custom {
font-size: var(--font-size-base-custom);
}
.text-sm-custom {
font-size: var(--font-size-sm-custom);
}
.text-xs-custom {
font-size: var(--font-size-xs-custom);
}
/* .text-2xl-custom {
font-size: var(--font-size-2xl);
}
.text-lg {
font-size: var(--font-size-lg);
}
.text-base {
font-size: var(--font-size-base);
}
.text-sm {
font-size: var(--font-size-sm);
}
.text-xs-custom {
font-size: var(--font-size-xs);
} */
.text-button-base {
font-size: var(--font-size-button-base);
}
.body-overflow-hidden {
overflow: hidden;
}
.bg-gradient-conic {
background: conic-gradient(
from 179deg at -5.88% 52.83%,
var(--Color-base--color-certifica-base, rgba(202, 240, 63, 0.10)) 53.653846979141235deg,
var(--Color-base--color-consumo-base, rgba(242, 140, 140, 0.10)) 155.76923489570618deg,
var(--Color-base--color-aula-base, rgba(92, 170, 204, 0.10)) 233.65383625030518deg, rgba(57, 182, 137, 0.10) 304.61538791656494deg),
var(--Background--bg-light, #F9F4F2);
}
.bg-gradient-conic-2 {
min-height: 100%;
background: conic-gradient(
from 241deg at 50% -18.57%,
rgba(202, 240, 63, 0.10) 0deg,
rgba(242, 140, 140, 0.10) 90deg,
rgba(92, 170, 204, 0.10) 180deg,
rgba(57, 182, 137, 0.10) 270deg,
rgba(202, 240, 63, 0.10) 360deg
);
background-color: #f9f4f2;
background-repeat: no-repeat;
background-size: cover;
}
.bg-gradient-conic-3 {
background: conic-gradient(from 185deg at 9.57% 56.1%, var(--Color-base--color-certifica-base, rgba(202, 240, 63, 0.10)) 53.653846979141235deg, var(--Color-base--color-consumo-base, rgba(242, 140, 140, 0.10)) 155.76923489570618deg, var(--Color-base--color-aula-base, rgba(92, 170, 204, 0.10)) 233.65383625030518deg, rgba(57, 182, 137, 0.10) 304.61538791656494deg),
var(--Background--bg-light, #F9F4F2);
background-repeat: no-repeat;
background-size: cover;
}
.bg-gradient-conic-hero {
background: conic-gradient(
from 290deg at 10% 35%,
var(--Color-base--color-certifica-base, rgba(202, 240, 63, 0.10)) 0deg,
var(--Color-base--color-consumo-base, rgba(242, 140, 140, 0.10)) 90deg,
var(--Color-base--color-aula-base, rgba(92, 170, 204, 0.10)) 180deg,
var(--Color-base--color-ods-base, rgba(57, 182, 137, 0.10)) 270deg,
var(--Color-base--color-certifica-base, rgba(202, 240, 63, 0.10)) 360deg
);
background-color: var(--Background--bg-light, #f9f4f2);
background-repeat: no-repeat;
background-size: cover;
}
.bg-gradient-conic-cards {
background: conic-gradient(from 185deg at 9.57% 56.1%, var(--Color-base--color-certifica-base, rgba(202, 240, 63, 0.05)) 53.653846979141235deg, var(--Color-base--color-consumo-base, rgba(242, 140, 140, 0.05)) 155.76923489570618deg, var(--Color-base--color-aula-base, rgba(92, 170, 204, 0.05)) 233.65383625030518deg, rgba(57, 182, 137, 0.05) 304.61538791656494deg),
var(--Background--bg-light, #F9F4F2);
background-repeat: no-repeat;
background-size: cover;
}
.bg-gradient-conic-green {
background: conic-gradient(from 107deg at -2.61% 53.75%,
var(--Color-base--color-certifica-base, rgba(202, 240, 63, 0.10)) 53.653846979141235deg,
var(--Color-base--color-consumo-base, rgba(242, 140, 140, 0.10)) 155.76923489570618deg,
var(--Color-base--color-aula-base, rgba(92, 170, 204, 0.10)) 233.65383625030518deg, rgba(57, 182, 137, 0.10) 304.61538791656494deg),
var(--Background--bg-light, #F9F4F2);
background-repeat: no-repeat;
background-size: cover;
}
.bg-gradient-conic-base {
background: conic-gradient(
from 77deg at -1.96% 72.58%,
var(--Color-base--color-certifica-base, rgba(202, 240, 63, 0.10)) 36.933538019657135deg,
var(--Color-base--color-consumo-base, rgba(242, 140, 140, 0.10)) 86.02115750312805deg,
var(--Color-base--color-aula-base, rgba(92, 170, 204, 0.10)) 233.65383625030518deg, rgba(57, 182, 137, 0.10) 304.61538791656494deg),
var(--Background--bg-light, #F9F4F2);
background-repeat: no-repeat;
background-size: cover;
}
.bg-gradient-conic-base-gray {
background: conic-gradient(from 21deg at 104.89% 65.03%,
var(--Color-base--color-certifica-base, rgba(202, 240, 63, 0.10)) 53.653846979141235deg,
var(--Color-base--color-consumo-base, rgba(242, 140, 140, 0.10)) 155.76923489570618deg,
var(--Color-base--color-aula-base, rgba(92, 170, 204, 0.10)) 233.65383625030518deg, rgba(57, 182, 137, 0.10) 304.61538791656494deg),
var(--Background--bg-light, #F9F4F2);
background-repeat: no-repeat;
background-size: cover;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

BIN
assets/img/uelogo 1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

3
assets/svg/facebook.svg Normal file
View File

@@ -0,0 +1,3 @@
<svg width="10" height="16" viewBox="0 0 10 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.72314 9L9.16752 6.10437H6.38908V4.22531C6.38908 3.43313 6.77721 2.66094 8.02158 2.66094H9.28471V0.195625C9.28471 0.195625 8.13846 0 7.04252 0C4.75439 0 3.25877 1.38688 3.25877 3.8975V6.10437H0.715332V9H3.25877V16H6.38908V9H8.72314Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 363 B

3
assets/svg/instagram.svg Normal file
View File

@@ -0,0 +1,3 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.00186 3.8978C5.73119 3.8978 3.89966 5.72933 3.89966 8C3.89966 10.2707 5.73119 12.1022 8.00186 12.1022C10.2725 12.1022 12.1041 10.2707 12.1041 8C12.1041 5.72933 10.2725 3.8978 8.00186 3.8978ZM8.00186 10.667C6.5345 10.667 5.3349 9.47094 5.3349 8C5.3349 6.52906 6.53093 5.33304 8.00186 5.33304C9.4728 5.33304 10.6688 6.52906 10.6688 8C10.6688 9.47094 9.46923 10.667 8.00186 10.667ZM13.2287 3.73C13.2287 4.26197 12.8003 4.68682 12.2719 4.68682C11.7399 4.68682 11.315 4.2584 11.315 3.73C11.315 3.20161 11.7435 2.77318 12.2719 2.77318C12.8003 2.77318 13.2287 3.20161 13.2287 3.73ZM15.9456 4.70111C15.8849 3.41939 15.5922 2.28406 14.6532 1.34866C13.7178 0.413254 12.5825 0.120495 11.3008 0.0562312C9.97977 -0.0187437 6.02038 -0.0187437 4.6994 0.0562312C3.42125 0.116925 2.28592 0.409684 1.34695 1.34509C0.407975 2.28049 0.118786 3.41582 0.0545222 4.69753C-0.0204527 6.01852 -0.0204527 9.97791 0.0545222 11.2989C0.115216 12.5806 0.407975 13.7159 1.34695 14.6513C2.28592 15.5867 3.41768 15.8795 4.6994 15.9438C6.02038 16.0187 9.97977 16.0187 11.3008 15.9438C12.5825 15.8831 13.7178 15.5903 14.6532 14.6513C15.5886 13.7159 15.8814 12.5806 15.9456 11.2989C16.0206 9.97791 16.0206 6.02209 15.9456 4.70111ZM14.2391 12.7163C13.9606 13.416 13.4215 13.9551 12.7181 14.2372C11.6649 14.6549 9.16576 14.5585 8.00186 14.5585C6.83797 14.5585 4.33523 14.6513 3.28558 14.2372C2.58582 13.9587 2.04671 13.4196 1.76466 12.7163C1.34695 11.6631 1.44334 9.1639 1.44334 8C1.44334 6.8361 1.35052 4.33337 1.76466 3.28372C2.04314 2.58396 2.58225 2.04485 3.28558 1.7628C4.3388 1.34509 6.83797 1.44148 8.00186 1.44148C9.16576 1.44148 11.6685 1.34866 12.7181 1.7628C13.4179 2.04128 13.957 2.58039 14.2391 3.28372C14.6568 4.33694 14.5604 6.8361 14.5604 8C14.5604 9.1639 14.6568 11.6666 14.2391 12.7163Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

3
assets/svg/linkedin.svg Normal file
View File

@@ -0,0 +1,3 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.77316 5.55067C8.605 4.70069 9.68812 4.14461 10.9481 4.14461C12.2714 4.14461 13.5404 4.67026 14.4761 5.60593C15.4117 6.54159 15.9374 7.81063 15.9374 9.13386V15.9374H14.1231V9.13386C14.1231 8.2918 13.7886 7.48424 13.1932 6.88881C12.5978 6.29339 11.7902 5.95888 10.9481 5.95888C10.1061 5.95888 9.29851 6.29339 8.70308 6.88881C8.10766 7.48424 7.77316 8.2918 7.77316 9.13386V15.9374H5.95888V4.59818H7.77316V5.55067ZM1.4232 2.78391C1.06232 2.78391 0.716222 2.64055 0.461041 2.38537C0.205859 2.13019 0.0625 1.78408 0.0625 1.4232C0.0625 1.06232 0.205859 0.716222 0.461041 0.461041C0.716222 0.205859 1.06232 0.0625 1.4232 0.0625C1.78408 0.0625 2.13019 0.205859 2.38537 0.461041C2.64055 0.716222 2.78391 1.06232 2.78391 1.4232C2.78391 1.78408 2.64055 2.13019 2.38537 2.38537C2.13019 2.64055 1.78408 2.78391 1.4232 2.78391ZM0.516068 4.59818H2.33034V15.9374H0.516068V4.59818Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 995 B

38
assets/svg/logo.svg Normal file
View File

@@ -0,0 +1,38 @@
<svg width="152" height="60" viewBox="0 0 152 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_50_2499)">
<path d="M42.8233 14.3323L47.0448 10.112C46.628 9.95626 46.1865 9.876 45.7413 9.875H42.8191L41.4098 11.3464C41.227 11.5357 41.008 11.6869 40.7657 11.7909C40.5233 11.895 40.2625 11.9498 39.9985 11.9522L17.8004 12.251C17.6307 12.681 17.5435 13.1388 17.5435 13.6008V37.9008C17.5432 38.3898 17.6398 38.8741 17.8277 39.326C18.0157 39.7779 18.2913 40.1885 18.6389 40.5345C18.9864 40.8805 19.3991 41.155 19.8533 41.3424C20.3076 41.5298 20.7945 41.6263 21.2863 41.6266H42.357L42.3424 15.4967C42.3415 15.0606 42.5144 14.6419 42.8233 14.3323Z" fill="#CAF03F"/>
<path d="M42.361 49.824V47.8086L16.1279 47.823C15.8636 47.8239 15.6022 47.8779 15.3593 47.9816C15.1164 48.0854 14.8971 48.2368 14.7145 48.4268L6.76248 56.6944C6.49685 56.9732 6.31972 57.3235 6.25322 57.7018C6.18673 58.08 6.23382 58.4694 6.3886 58.8212C6.54339 59.173 6.79901 59.4716 7.12352 59.6798C7.44804 59.8879 7.82705 59.9964 8.2132 59.9916L43.8988 59.5114C44.1605 59.5083 44.4189 59.453 44.6588 59.349C44.8987 59.2449 45.1152 59.0942 45.2956 58.9056L52.7793 51.1057C53.0423 50.8283 53.218 50.4805 53.2849 50.1051C53.3517 49.7296 53.3067 49.343 53.1554 48.9926C53.0041 48.6423 52.7532 48.3436 52.4334 48.1332C52.1136 47.9228 51.7389 47.81 51.3555 47.8086H48.5141L45.1796 51.011C44.9458 51.2388 44.6494 51.3927 44.3278 51.4534C44.0062 51.514 43.6738 51.4786 43.3724 51.3517C43.0709 51.2248 42.8141 51.012 42.6341 50.7401C42.4541 50.4682 42.3591 50.1495 42.361 49.824Z" fill="#5CAACC"/>
<path d="M0.48085 18.4036C0.32694 18.5579 0.205226 18.7409 0.122711 18.9421C0.0401952 19.1433 -0.0014941 19.3588 4.08967e-05 19.5761L0.018693 53.8954C0.0179746 54.2196 0.113423 54.5369 0.293097 54.8074C0.47277 55.078 0.728692 55.2899 1.02885 55.4165C1.329 55.5432 1.66006 55.5791 1.98061 55.5197C2.30115 55.4602 2.59696 55.3081 2.83101 55.0824L12.2047 46.0791C12.3664 45.9237 12.4946 45.7373 12.5815 45.5311C12.6685 45.3249 12.7123 45.1033 12.7104 44.8797L12.4679 12.3203L6.47024 12.4007L0.48085 18.4036Z" fill="#C98EEF"/>
<path d="M55.0528 40.8019L54.7958 6.32811C54.794 6.00199 54.695 5.68372 54.5113 5.41357C54.3276 5.14342 54.0674 4.93352 53.7637 4.81042C53.4599 4.68733 53.1263 4.65657 52.805 4.72204C52.4837 4.78751 52.1892 4.94627 51.9586 5.17823L47.0448 10.1116C47.7595 10.3766 48.3754 10.8532 48.8093 11.477C49.2432 12.1008 49.4744 12.8419 49.4717 13.6004V37.9004C49.4722 38.3894 49.3759 38.8736 49.1881 39.3255C49.0004 39.7773 48.725 40.188 48.3776 40.534C48.0302 40.88 47.6177 41.1545 47.1635 41.3419C46.7094 41.5294 46.2226 41.626 45.7309 41.6262H42.3569V47.8084H48.5101L54.543 42.0136C54.7069 41.8572 54.8368 41.6689 54.9245 41.4605C55.0122 41.252 55.0559 41.0279 55.0528 40.8019Z" fill="#2FB384"/>
<path d="M49.4715 37.9002V13.6001C49.4743 12.8416 49.2431 12.1005 48.8092 11.4767C48.3752 10.8529 47.7594 10.3764 47.0447 10.1113L42.8231 14.3317C42.5143 14.6413 42.3414 15.0599 42.3423 15.496L42.3568 41.626H45.7308C46.2224 41.6257 46.7093 41.5291 47.1634 41.3417C47.6175 41.1543 48.0301 40.8797 48.3775 40.5337C48.7249 40.1877 49.0003 39.7771 49.188 39.3252C49.3757 38.8733 49.4721 38.3891 49.4715 37.9002Z" fill="#CAF03F"/>
<path d="M49.4715 37.9002V13.6001C49.4743 12.8416 49.2431 12.1005 48.8092 11.4767C48.3752 10.8529 47.7594 10.3764 47.0447 10.1113L42.8231 14.3317C42.5143 14.6413 42.3414 15.0599 42.3423 15.496L42.3568 41.626H45.7308C46.2224 41.6257 46.7093 41.5291 47.1634 41.3417C47.6175 41.1543 48.0301 40.8797 48.3775 40.5337C48.7249 40.1877 49.0003 39.7771 49.188 39.3252C49.3757 38.8733 49.4721 38.3891 49.4715 37.9002Z" fill="#2EA62D"/>
<g style="mix-blend-mode:multiply">
<path d="M42.3611 49.824C42.3592 50.1495 42.4542 50.4682 42.6342 50.7401C42.8142 51.012 43.071 51.2248 43.3725 51.3517C43.6739 51.4786 44.0063 51.514 44.3279 51.4534C44.6495 51.3927 44.9459 51.2388 45.1797 51.011L48.5142 47.8086H42.3611V49.824Z" fill="#558CAB"/>
</g>
<path d="M42.3611 49.824C42.3592 50.1495 42.4542 50.4682 42.6342 50.7401C42.8142 51.012 43.071 51.2248 43.3725 51.3517C43.6739 51.4786 44.0063 51.514 44.3279 51.4534C44.6495 51.3927 44.9459 51.2388 45.1797 51.011L48.5142 47.8086H42.3611V49.824Z" fill="#176259"/>
<path d="M21.2862 9.87509H42.8087L48.8851 3.53837C49.1481 3.26095 49.3239 2.91313 49.3907 2.53769C49.4576 2.16226 49.4126 1.77559 49.2613 1.42524C49.11 1.0749 48.859 0.776174 48.5392 0.565809C48.2194 0.355444 47.8448 0.242617 47.4613 0.241211L12.2275 0.251515C11.9619 0.251274 11.699 0.304874 11.455 0.409041C11.2109 0.513208 10.9907 0.665755 10.8079 0.857367L2.86833 9.12499C2.60369 9.40406 2.42743 9.75435 2.36148 10.1323C2.29553 10.5102 2.3428 10.8991 2.49742 11.2505C2.65204 11.6019 2.90717 11.9003 3.23106 12.1086C3.55496 12.317 3.93331 12.426 4.31905 12.4221L6.47233 12.3933L9.61624 9.25069C9.84679 9.01873 10.1413 8.85997 10.4626 8.7945C10.7839 8.72903 11.1176 8.75979 11.4213 8.88288C11.725 9.00598 11.9852 9.21588 12.1689 9.48603C12.3526 9.75619 12.4517 10.0745 12.4534 10.4006L12.4679 12.3232L17.8004 12.2511C18.0716 11.551 18.5499 10.9491 19.1723 10.5249C19.7946 10.1007 20.5317 9.87413 21.2862 9.87509Z" fill="#F28C8C"/>
<path d="M41.3993 11.3464L42.8086 9.875H21.2862C20.5316 9.87404 19.7945 10.1006 19.1722 10.5248C18.5499 10.949 18.0715 11.5509 17.8003 12.251L39.9984 11.9522C40.2606 11.9484 40.5194 11.893 40.7599 11.789C41.0004 11.685 41.2178 11.5345 41.3993 11.3464Z" fill="#CAF03F"/>
<path d="M41.3993 11.3464L42.8086 9.875H21.2862C20.5316 9.87404 19.7945 10.1006 19.1722 10.5248C18.5499 10.949 18.0715 11.5509 17.8003 12.251L39.9984 11.9522C40.2606 11.9484 40.5194 11.893 40.7599 11.789C41.0004 11.685 41.2178 11.5345 41.3993 11.3464Z" fill="#BF832F"/>
<path d="M9.6162 9.2505L6.47021 12.4034L12.4679 12.323L12.4534 10.4004C12.4516 10.0743 12.3526 9.75599 12.1689 9.48584C11.9851 9.21568 11.725 9.00578 11.4212 8.88269C11.1175 8.75959 10.7839 8.72883 10.4626 8.79431C10.1413 8.85978 9.84675 9.01853 9.6162 9.2505Z" fill="#C98EEF"/>
<path d="M9.6162 9.2505L6.47021 12.4034L12.4679 12.323L12.4534 10.4004C12.4516 10.0743 12.3526 9.75599 12.1689 9.48584C11.9851 9.21568 11.725 9.00578 11.4212 8.88269C11.1175 8.75959 10.7839 8.72883 10.4626 8.79431C10.1413 8.85978 9.84675 9.01853 9.6162 9.2505Z" fill="#BD5083"/>
<path d="M65.6968 19.4815C65.6604 19.4427 65.6322 19.3969 65.6141 19.347C65.5959 19.297 65.5881 19.244 65.5911 19.1909V1.52848C65.5878 1.47513 65.5955 1.42166 65.6136 1.37135C65.6318 1.32104 65.6601 1.27494 65.6968 1.23586C65.735 1.19966 65.7803 1.17166 65.8298 1.15358C65.8794 1.1355 65.9322 1.12774 65.9848 1.13076H70.1298C70.1831 1.12716 70.2367 1.13464 70.287 1.15274C70.3373 1.17083 70.3833 1.19914 70.422 1.23586C70.4584 1.2747 70.4865 1.32046 70.5047 1.3704C70.5229 1.42033 70.5307 1.47341 70.5277 1.52642V8.96357C70.5277 9.03364 70.5505 9.07691 70.594 9.09546C70.6375 9.114 70.6769 9.09546 70.7121 9.01509L72.4157 6.14244C72.4623 6.05939 72.5311 5.99079 72.6145 5.94423C72.6979 5.89768 72.7926 5.87498 72.8882 5.87867H77.346C77.574 5.87867 77.688 5.95698 77.688 6.11565C77.683 6.20013 77.6559 6.28184 77.6092 6.35263L74.4881 11.0449C74.4635 11.0726 74.4477 11.1071 74.4429 11.1438C74.4381 11.1806 74.4445 11.2179 74.4612 11.251L77.9844 19.1064L78.0362 19.3125C78.0362 19.4897 77.9222 19.5763 77.6963 19.5763H73.3856C73.29 19.5772 73.1966 19.5483 73.1185 19.4935C73.0405 19.4388 72.9816 19.3611 72.9504 19.2713L71.2717 14.8675C71.2551 14.7975 71.224 14.7624 71.1805 14.7624C71.137 14.7624 71.0976 14.7975 71.0624 14.8675L70.5898 15.7907C70.5671 15.8502 70.5498 15.9116 70.538 15.9741V19.1909C70.541 19.244 70.5332 19.297 70.515 19.347C70.4969 19.3969 70.4687 19.4427 70.4323 19.4815C70.3941 19.5177 70.3488 19.5457 70.2993 19.5638C70.2497 19.5819 70.1969 19.5896 70.1443 19.5866H65.9993C65.9443 19.5917 65.8888 19.5849 65.8366 19.5668C65.7843 19.5487 65.7367 19.5196 65.6968 19.4815Z" fill="white"/>
<path d="M79.7894 4.25714C79.5596 4.02128 79.3804 3.74152 79.2625 3.43477C79.1446 3.12803 79.0905 2.80069 79.1035 2.47256C79.0939 2.14468 79.1506 1.81822 79.2702 1.51252C79.3898 1.20681 79.5698 0.928066 79.7997 0.692784C80.0295 0.457503 80.3045 0.270467 80.6084 0.142747C80.9122 0.0150265 81.2387 -0.0507812 81.5686 -0.0507812C81.8985 -0.0507812 82.2251 0.0150265 82.5289 0.142747C82.8328 0.270467 83.1077 0.457503 83.3376 0.692784C83.5675 0.928066 83.7475 1.20681 83.8671 1.51252C83.9867 1.81822 84.0434 2.14468 84.0338 2.47256C84.0424 2.79809 83.9853 3.12203 83.8661 3.42532C83.7469 3.72861 83.5678 4.00513 83.3395 4.2386C82.8637 4.69243 82.2305 4.94686 81.5711 4.94916C80.9118 4.95146 80.2768 4.70146 79.7977 4.25096L79.7894 4.25714ZM79.2257 19.4818C79.1896 19.4428 79.1618 19.397 79.1439 19.347C79.1261 19.2971 79.1187 19.2441 79.1221 19.1912V6.27459C79.1187 6.22171 79.1261 6.16869 79.1439 6.11874C79.1618 6.0688 79.1896 6.02297 79.2257 5.98403C79.264 5.94794 79.3093 5.92 79.3589 5.90192C79.4084 5.88385 79.4611 5.87603 79.5138 5.87893H83.6587C83.7114 5.87603 83.7641 5.88385 83.8136 5.90192C83.8632 5.92 83.9085 5.94794 83.9468 5.98403C83.9832 6.02287 84.0113 6.06863 84.0295 6.11857C84.0477 6.1685 84.0555 6.22157 84.0525 6.27459V19.1912C84.0555 19.2442 84.0477 19.2973 84.0295 19.3472C84.0113 19.3972 83.9832 19.4429 83.9468 19.4818C83.9085 19.5179 83.8632 19.5458 83.8136 19.5639C83.7641 19.5819 83.7114 19.5898 83.6587 19.5869H79.5138C79.4625 19.5886 79.4113 19.5803 79.3633 19.5622C79.3153 19.5442 79.2713 19.5168 79.234 19.4818H79.2257Z" fill="white"/>
<path d="M93.3704 9.46505C93.3321 9.50115 93.2868 9.52909 93.2373 9.54716C93.1877 9.56523 93.135 9.57305 93.0823 9.57015H91.4554C91.4338 9.56695 91.4118 9.56887 91.391 9.57575C91.3703 9.58262 91.3515 9.59426 91.3362 9.60972C91.3208 9.62519 91.3094 9.64403 91.3027 9.66472C91.2961 9.68542 91.2944 9.70738 91.2979 9.72883V14.316C91.2979 15.018 91.595 15.369 92.1891 15.369H92.6885C92.7412 15.3661 92.794 15.3739 92.8435 15.392C92.893 15.4101 92.9383 15.438 92.9766 15.4741C93.0127 15.5132 93.0407 15.559 93.0588 15.6088C93.077 15.6587 93.085 15.7117 93.0823 15.7647V19.1917C93.0863 19.2456 93.0791 19.2997 93.0611 19.3507C93.0431 19.4017 93.0148 19.4484 92.9779 19.4881C92.9409 19.5277 92.8962 19.5593 92.8464 19.581C92.7966 19.6027 92.7429 19.614 92.6885 19.6141L91.0886 19.6409C89.5688 19.6409 88.4407 19.4122 87.7043 18.9547C86.9679 18.4972 86.5921 17.6276 86.5769 16.3458V9.72883C86.5804 9.70738 86.5787 9.68542 86.5721 9.66472C86.5655 9.64403 86.554 9.62519 86.5386 9.60972C86.5233 9.59426 86.5045 9.58262 86.4838 9.57575C86.463 9.56887 86.441 9.56695 86.4194 9.57015H85.3707C85.318 9.57305 85.2653 9.56523 85.2158 9.54716C85.1662 9.52909 85.1209 9.50115 85.0826 9.46505C85.0462 9.42622 85.0181 9.38045 84.9999 9.33052C84.9818 9.28058 84.9739 9.22751 84.9769 9.17449V6.27505C84.9739 6.22204 84.9818 6.16896 84.9999 6.11903C85.0181 6.06909 85.0462 6.02333 85.0826 5.98449C85.1209 5.9484 85.1662 5.92046 85.2158 5.90239C85.2653 5.88432 85.318 5.87649 85.3707 5.8794H86.4214C86.443 5.88215 86.4648 5.87992 86.4854 5.87289C86.5059 5.86585 86.5245 5.85421 86.5397 5.83885C86.555 5.82349 86.5664 5.80484 86.5732 5.78435C86.58 5.76386 86.582 5.74208 86.579 5.72072V2.74092C86.5761 2.68823 86.584 2.63551 86.6022 2.58593C86.6203 2.53636 86.6484 2.49094 86.6846 2.45241C86.7229 2.41632 86.7682 2.38838 86.8178 2.37031C86.8673 2.35224 86.92 2.34441 86.9727 2.34732H90.9104C90.9631 2.34429 91.0158 2.35206 91.0654 2.37014C91.1149 2.38821 91.1602 2.41622 91.1985 2.45241C91.2347 2.49094 91.2628 2.53636 91.2809 2.58593C91.2991 2.63551 91.307 2.68823 91.3041 2.74092V5.72072C91.3011 5.74208 91.3031 5.76386 91.3099 5.78435C91.3167 5.80484 91.3281 5.82349 91.3434 5.83885C91.3586 5.85421 91.3772 5.86585 91.3977 5.87289C91.4183 5.87992 91.4401 5.88215 91.4617 5.8794H93.0885C93.1412 5.87649 93.1939 5.88432 93.2435 5.90239C93.293 5.92046 93.3383 5.9484 93.3766 5.98449C93.4124 6.02369 93.4399 6.06956 93.4577 6.11944C93.4755 6.16932 93.4832 6.22221 93.4802 6.27505V9.17449C93.4823 9.22776 93.4737 9.28091 93.4548 9.33081C93.436 9.38071 93.4073 9.42635 93.3704 9.46505Z" fill="white"/>
<path d="M94.4707 14.0766C94.4351 14.0378 94.4076 13.9922 94.3898 13.9427C94.372 13.8932 94.3643 13.8407 94.3671 13.7881V10.3612C94.3641 10.3083 94.3718 10.2554 94.3896 10.2055C94.4074 10.1557 94.4349 10.1098 94.4707 10.0706C94.5093 10.0343 94.5549 10.0063 94.6048 9.98824C94.6547 9.97017 94.7078 9.96243 94.7608 9.9655H102.916C102.969 9.96259 103.021 9.97042 103.071 9.98849C103.12 10.0066 103.166 10.0345 103.204 10.0706C103.24 10.1094 103.269 10.1552 103.287 10.2051C103.305 10.2551 103.313 10.3081 103.31 10.3612V13.7881C103.313 13.8408 103.305 13.8935 103.286 13.9431C103.268 13.9927 103.24 14.0381 103.204 14.0766C103.166 14.1134 103.121 14.1419 103.071 14.1604C103.022 14.1788 102.969 14.1868 102.916 14.1838H94.7608C94.7076 14.187 94.6544 14.1791 94.6044 14.1606C94.5544 14.1422 94.5089 14.1136 94.4707 14.0766Z" fill="white"/>
<path d="M116.472 5.2735C116.434 5.3096 116.388 5.33754 116.339 5.35561C116.289 5.37368 116.236 5.3815 116.184 5.3786H109.786C109.765 5.37548 109.743 5.37738 109.722 5.38415C109.702 5.39092 109.683 5.40237 109.668 5.41758C109.653 5.4328 109.641 5.45135 109.634 5.47178C109.627 5.4922 109.625 5.51393 109.629 5.53521V8.00808C109.626 8.02945 109.628 8.05122 109.634 8.07171C109.641 8.0922 109.653 8.11085 109.668 8.12621C109.683 8.14157 109.702 8.15322 109.722 8.16025C109.743 8.16728 109.765 8.16951 109.786 8.16676H113.485C113.538 8.16385 113.591 8.17168 113.64 8.18975C113.69 8.20782 113.735 8.23576 113.774 8.27185C113.809 8.31105 113.837 8.35692 113.855 8.4068C113.872 8.45668 113.88 8.50957 113.877 8.56242V11.9956C113.88 12.0484 113.872 12.1013 113.855 12.1512C113.837 12.2011 113.809 12.2469 113.774 12.2861C113.735 12.3222 113.69 12.3502 113.64 12.3682C113.591 12.3863 113.538 12.3941 113.485 12.3912H109.786C109.765 12.3881 109.743 12.39 109.722 12.3968C109.702 12.4036 109.683 12.415 109.668 12.4302C109.653 12.4454 109.641 12.464 109.634 12.4844C109.627 12.5048 109.625 12.5266 109.629 12.5479V15.1856C109.625 15.2069 109.627 15.2286 109.634 15.249C109.641 15.2694 109.653 15.288 109.668 15.3032C109.683 15.3184 109.702 15.3299 109.722 15.3366C109.743 15.3434 109.765 15.3453 109.786 15.3422H116.186C116.239 15.3385 116.292 15.3462 116.342 15.3648C116.392 15.3834 116.437 15.4125 116.474 15.4501C116.512 15.4876 116.54 15.5328 116.559 15.5825C116.577 15.6322 116.584 15.6852 116.58 15.7379V19.1916C116.583 19.2446 116.575 19.2977 116.557 19.3476C116.538 19.3976 116.51 19.4433 116.474 19.4822C116.436 19.5183 116.39 19.5462 116.341 19.5643C116.291 19.5824 116.239 19.5902 116.186 19.5873H105.092C105.039 19.5902 104.987 19.5824 104.937 19.5643C104.888 19.5462 104.842 19.5183 104.804 19.4822C104.768 19.4433 104.739 19.3976 104.721 19.3476C104.703 19.2977 104.695 19.2446 104.698 19.1916V1.52917C104.695 1.47581 104.703 1.42235 104.721 1.37204C104.739 1.32173 104.767 1.27563 104.804 1.23655C104.842 1.20045 104.888 1.17251 104.937 1.15444C104.987 1.13637 105.039 1.12855 105.092 1.13145H116.186C116.238 1.12883 116.291 1.13679 116.34 1.15486C116.389 1.17292 116.434 1.20071 116.472 1.23655C116.508 1.27539 116.536 1.32115 116.555 1.37108C116.573 1.42102 116.581 1.47409 116.578 1.52711V4.98294C116.581 5.03596 116.573 5.08903 116.555 5.13897C116.536 5.1889 116.508 5.23466 116.472 5.2735Z" fill="white"/>
<path d="M120.88 19.0325C119.923 18.5444 119.131 17.7887 118.6 16.8584C118.042 15.855 117.761 14.7221 117.788 13.5757V7.06584C117.763 5.93191 118.043 4.81193 118.6 3.82226C119.132 2.8991 119.925 2.15167 120.88 1.67293C121.946 1.18092 123.106 0.925 124.282 0.922865C125.457 0.92073 126.618 1.17243 127.686 1.66056C128.626 2.12557 129.413 2.84851 129.953 3.74395C130.512 4.69418 130.795 5.77979 130.772 6.88037C130.776 6.99102 130.739 7.09929 130.666 7.1833C130.63 7.22306 130.585 7.25439 130.535 7.27505C130.486 7.29571 130.432 7.30519 130.378 7.30282L126.233 7.48623C125.972 7.48623 125.841 7.36464 125.841 7.11736V6.8268C125.866 6.38475 125.718 5.95032 125.427 5.61509C125.282 5.46441 125.107 5.34634 124.912 5.26884C124.718 5.19135 124.509 5.15623 124.3 5.16585C124.087 5.15736 123.876 5.19417 123.679 5.27379C123.483 5.35342 123.305 5.47401 123.16 5.62745C122.863 5.95548 122.707 6.38606 122.727 6.8268V13.893C122.707 14.3338 122.862 14.7647 123.16 15.0924C123.305 15.2458 123.483 15.3664 123.679 15.446C123.876 15.5256 124.087 15.5624 124.3 15.554C124.509 15.5636 124.718 15.5285 124.912 15.451C125.107 15.3735 125.282 15.2554 125.427 15.1047C125.718 14.7695 125.866 14.3351 125.841 13.893V13.5757C125.841 13.3304 125.972 13.2068 126.233 13.2068L130.378 13.3923C130.431 13.3894 130.483 13.3972 130.533 13.4152C130.582 13.4333 130.628 13.4613 130.666 13.4974C130.702 13.5362 130.731 13.582 130.749 13.6319C130.767 13.6818 130.775 13.7349 130.772 13.7879C130.794 14.8963 130.513 15.9898 129.957 16.9511C129.421 17.8606 128.629 18.5937 127.678 19.0592C126.625 19.5681 125.466 19.8209 124.295 19.797C123.111 19.8242 121.938 19.5617 120.88 19.0325Z" fill="white"/>
<path d="M135.147 19.0589C134.178 18.555 133.378 17.7808 132.844 16.8313C132.287 15.809 132.007 14.6598 132.032 13.497V7.22215C132.006 6.06326 132.286 4.91786 132.844 3.90026C133.379 2.95891 134.18 2.19385 135.147 1.69941C136.22 1.16413 137.408 0.897437 138.608 0.922517C139.812 0.898645 141.005 1.16521 142.083 1.69941C143.058 2.19 143.865 2.95557 144.404 3.90026C144.963 4.91786 145.243 6.06326 145.217 7.22215V13.497C145.242 14.6618 144.956 15.8122 144.388 16.8313C143.847 17.7804 143.041 18.5539 142.069 19.0589C140.99 19.5796 139.806 19.8502 138.607 19.8502C137.407 19.8502 136.224 19.5796 135.145 19.0589H135.147ZM139.828 15.0797C140.148 14.6847 140.311 14.1869 140.287 13.6805V7.08614C140.312 6.58027 140.149 6.0829 139.828 5.68897C139.678 5.51585 139.49 5.37858 139.278 5.28728C139.067 5.19598 138.838 5.15297 138.608 5.16142C138.382 5.15494 138.157 5.19897 137.951 5.29028C137.744 5.38158 137.561 5.51783 137.414 5.68897C137.094 6.0829 136.931 6.58027 136.956 7.08614V13.6805C136.931 14.1869 137.094 14.6847 137.414 15.0797C137.561 15.2506 137.744 15.3865 137.951 15.4775C138.157 15.5684 138.382 15.6121 138.608 15.6052C138.838 15.614 139.067 15.5714 139.278 15.4805C139.49 15.3895 139.678 15.2525 139.828 15.0797Z" fill="white"/>
<path d="M77.3627 41.7972C76.4485 41.3854 75.6698 40.7254 75.1162 39.8931C74.5771 39.0504 74.3003 38.0683 74.3204 37.0699V36.4743C74.3176 36.4218 74.3253 36.3693 74.3431 36.3198C74.3609 36.2702 74.3884 36.2247 74.424 36.1858C74.4623 36.1497 74.5076 36.1218 74.5571 36.1037C74.6066 36.0857 74.6594 36.0778 74.7121 36.0807H78.7533C78.8057 36.0779 78.8581 36.0857 78.9073 36.1038C78.9565 36.1219 79.0014 36.1498 79.0393 36.1858C79.0756 36.2244 79.1036 36.2698 79.1218 36.3193C79.14 36.3689 79.1479 36.4216 79.145 36.4743V36.8432C79.1453 37.0348 79.1888 37.2239 79.2724 37.3965C79.356 37.5691 79.4775 37.7209 79.6279 37.8406C79.9927 38.1325 80.4536 38.2794 80.9211 38.2527C81.0961 38.2671 81.2722 38.2454 81.4384 38.189C81.6045 38.1326 81.7572 38.0428 81.8869 37.9251C82.0871 37.7262 82.1997 37.4564 82.1998 37.175C82.2005 37.0131 82.1616 36.8536 82.0865 36.71C82.0114 36.5664 81.9024 36.4431 81.7688 36.3507C81.2543 36.0067 80.7082 35.7121 80.1377 35.4708L79.516 35.1555C78.6406 34.7403 77.7944 34.2667 76.9835 33.7377C76.2414 33.2427 75.607 32.6042 75.1182 31.8604C74.5832 31.024 74.3145 30.0465 74.3473 29.0557C74.3275 28.058 74.6044 27.0766 75.1431 26.2346C75.6827 25.4126 76.443 24.7573 77.3379 24.3429C78.3398 23.8818 79.4339 23.6528 80.5377 23.6731C81.683 23.6538 82.8175 23.8963 83.8536 24.382C84.7868 24.8219 85.5768 25.5138 86.1333 26.3788C86.6907 27.2583 86.9787 28.2801 86.9623 29.3195V29.7316C86.9651 29.7842 86.9574 29.8367 86.9396 29.8862C86.9218 29.9357 86.8943 29.9813 86.8587 30.0201C86.8204 30.0562 86.7751 30.0842 86.7256 30.1023C86.676 30.1203 86.6233 30.1281 86.5706 30.1252H82.5231C82.4704 30.1283 82.4177 30.1205 82.3681 30.1024C82.3186 30.0843 82.2733 30.0563 82.2351 30.0201C82.1988 29.9816 82.1707 29.9362 82.1526 29.8866C82.1344 29.837 82.1265 29.7843 82.1294 29.7316V29.3628C82.1294 29.169 82.0889 28.9773 82.0104 28.7999C81.9319 28.6225 81.8171 28.4633 81.6734 28.3324C81.5114 28.181 81.3203 28.0636 81.1117 27.9871C80.903 27.9107 80.6811 27.8767 80.459 27.8873C80.123 27.8719 79.7929 27.9789 79.5305 28.1882C79.4132 28.2903 79.3206 28.4175 79.2596 28.5603C79.1986 28.703 79.1707 28.8575 79.1782 29.0125C79.1883 29.218 79.2469 29.4183 79.3491 29.5973C79.4513 29.7763 79.5944 29.9289 79.7668 30.0428C80.1578 30.3505 80.928 30.7751 82.0776 31.3163C82.2516 31.4208 82.5128 31.5581 82.8609 31.7285C83.6258 32.1383 84.3675 32.5896 85.0826 33.0803C85.6559 33.4935 86.136 34.0213 86.4919 34.63C86.8947 35.3465 87.0932 36.1588 87.0659 36.9792C87.0659 38.6594 86.487 39.9899 85.3292 40.9708C84.1714 41.9517 82.6433 42.4415 80.745 42.4401C79.5835 42.4781 78.4282 42.2585 77.3627 41.7972Z" fill="white"/>
<path d="M91.3766 41.7436C90.4087 41.2441 89.6096 40.4731 89.0782 39.5263C88.5215 38.5081 88.2422 37.363 88.2679 36.2044V29.9563C88.2411 28.8015 88.5205 27.6601 89.0782 26.6468C89.6113 25.7074 90.4106 24.9448 91.3766 24.4542C92.4455 23.9205 93.6293 23.6545 94.8251 23.6793C96.0248 23.656 97.2123 23.9218 98.2861 24.4542C99.2568 24.9427 100.061 25.7055 100.597 26.6468C101.154 27.6603 101.433 28.8016 101.407 29.9563V36.2044C101.43 37.3649 101.144 38.5108 100.578 39.5263C100.039 40.4717 99.2353 41.2418 98.2654 41.7436C97.1914 42.2636 96.0124 42.5338 94.8179 42.5338C93.6233 42.5338 92.4444 42.2636 91.3703 41.7436H91.3766ZM96.0396 37.7808C96.358 37.3877 96.5203 36.892 96.4955 36.3878V29.8244C96.5198 29.3209 96.3575 28.826 96.0396 28.4334C95.8896 28.261 95.7026 28.1243 95.4924 28.0334C95.2822 27.9424 95.0542 27.8996 94.8251 27.9079C94.5998 27.9008 94.3758 27.9443 94.1699 28.0353C93.9639 28.1263 93.7812 28.2624 93.6355 28.4334C93.3176 28.826 93.1554 29.3209 93.1796 29.8244V36.3878C93.1548 36.892 93.3171 37.3877 93.6355 37.7808C93.7814 37.9515 93.9642 38.0872 94.1701 38.1778C94.3761 38.2685 94.6 38.3117 94.8251 38.3043C95.0541 38.313 95.282 38.2706 95.4922 38.18C95.7025 38.0894 95.8895 37.953 96.0396 37.7808Z" fill="white"/>
<path d="M105.795 41.7192C104.839 41.2329 104.047 40.4803 103.515 39.5534C102.96 38.5532 102.681 37.425 102.707 36.283V29.7979C102.682 28.6692 102.961 27.5545 103.515 26.5688C104.048 25.649 104.841 24.9046 105.795 24.4277C106.856 23.9371 108.011 23.6818 109.182 23.6797C110.352 23.6776 111.509 23.9286 112.572 24.4153C113.509 24.878 114.294 25.5982 114.833 26.4905C115.386 27.438 115.666 28.5191 115.641 29.6145C115.645 29.7241 115.608 29.8312 115.537 29.9154C115.501 29.9555 115.457 29.9871 115.407 30.0078C115.357 30.0285 115.303 30.0377 115.249 30.0349L111.123 30.2183C110.862 30.2183 110.731 30.0968 110.731 29.8515V29.561C110.756 29.1202 110.607 28.6871 110.317 28.3534C110.172 28.2038 109.997 28.0866 109.804 28.0099C109.61 27.9331 109.402 27.8984 109.193 27.9083C108.982 27.8996 108.771 27.9361 108.575 28.0154C108.379 28.0947 108.203 28.2148 108.058 28.3678C107.762 28.694 107.608 29.1225 107.627 29.561V36.5983C107.608 37.0375 107.762 37.4666 108.058 37.7935C108.203 37.9465 108.379 38.0667 108.575 38.146C108.771 38.2253 108.982 38.2618 109.193 38.2531C109.402 38.2633 109.61 38.2287 109.804 38.1515C109.998 38.0743 110.173 37.9564 110.317 37.8059C110.608 37.4725 110.757 37.0392 110.731 36.5983V36.283C110.731 36.0378 110.862 35.9162 111.123 35.9162L115.249 36.0996C115.302 36.0967 115.355 36.1046 115.404 36.1226C115.454 36.1407 115.499 36.1686 115.537 36.2047C115.573 36.2436 115.6 36.2891 115.618 36.3387C115.636 36.3882 115.644 36.4407 115.641 36.4932C115.664 37.5969 115.384 38.6861 114.833 39.6441C114.297 40.5515 113.504 41.2818 112.553 41.744C111.504 42.2509 110.349 42.5031 109.183 42.4796C108.008 42.5042 106.845 42.2432 105.795 41.7192Z" fill="white"/>
<path d="M117.21 42.1638C117.173 42.1254 117.145 42.08 117.127 42.0304C117.109 41.9808 117.101 41.928 117.104 41.8753V24.2829C117.101 24.2303 117.109 24.1775 117.127 24.128C117.145 24.0784 117.173 24.033 117.21 23.9944C117.247 23.9582 117.292 23.9301 117.342 23.9121C117.391 23.894 117.443 23.8862 117.496 23.8893H121.624C121.676 23.8866 121.729 23.8945 121.778 23.9126C121.827 23.9306 121.872 23.9585 121.91 23.9944C121.946 24.033 121.974 24.0784 121.992 24.128C122.011 24.1775 122.018 24.2303 122.016 24.2829V41.8753C122.02 41.9278 122.013 41.9807 121.995 42.0303C121.978 42.0799 121.949 42.125 121.912 42.1624C121.874 42.1999 121.829 42.2288 121.78 42.2472C121.73 42.2656 121.677 42.273 121.624 42.2689H117.496C117.443 42.272 117.391 42.2643 117.342 42.2462C117.292 42.2281 117.247 42.2001 117.21 42.1638Z" fill="white"/>
<path d="M133.508 41.929L133.064 39.9074C133.029 39.8188 132.977 39.7755 132.907 39.7755H128.99C128.919 39.7755 128.867 39.8188 128.832 39.9074L128.418 41.929C128.4 42.0305 128.344 42.1218 128.262 42.1847C128.18 42.2476 128.077 42.2777 127.974 42.269H123.686C123.63 42.2743 123.574 42.2664 123.522 42.246C123.47 42.2256 123.423 42.1932 123.386 42.1515C123.354 42.1036 123.334 42.0491 123.328 41.9923C123.321 41.9354 123.327 41.8778 123.346 41.8239L127.997 24.2315C128.009 24.1328 128.059 24.0425 128.136 23.9789C128.213 23.9154 128.312 23.8834 128.411 23.8894H133.593C133.692 23.8834 133.791 23.9154 133.868 23.9789C133.945 24.0425 133.995 24.1328 134.007 24.2315L138.627 41.8321C138.645 41.8729 138.654 41.9172 138.653 41.9619C138.653 42.1721 138.531 42.2772 138.287 42.2772H133.951C133.847 42.2857 133.743 42.2545 133.66 42.1899C133.578 42.1253 133.523 42.032 133.508 41.929ZM129.667 35.856C129.667 35.9446 129.719 35.9879 129.825 35.9879H132.044C132.167 35.9879 132.219 35.9261 132.202 35.8045L131.027 30.3436C131.009 30.2735 130.974 30.2385 130.921 30.2385C130.869 30.2385 130.834 30.2735 130.818 30.3436L129.667 35.8045V35.856Z" fill="white"/>
<path d="M140.098 42.1637C140.062 42.1253 140.033 42.08 140.015 42.0303C139.997 41.9807 139.989 41.9279 139.992 41.8752V24.2828C139.99 24.2302 139.997 24.1774 140.016 24.1279C140.034 24.0783 140.062 24.0329 140.098 23.9943C140.136 23.9583 140.181 23.9304 140.23 23.9123C140.279 23.8942 140.332 23.8864 140.384 23.8892H144.512C144.565 23.8864 144.617 23.8942 144.666 23.9123C144.716 23.9304 144.76 23.9583 144.798 23.9943C144.835 24.0329 144.863 24.0783 144.881 24.1279C144.899 24.1774 144.907 24.2302 144.904 24.2828V37.8836C144.901 37.9049 144.902 37.9266 144.909 37.9471C144.915 37.9676 144.927 37.9864 144.942 38.0018C144.957 38.0172 144.975 38.0289 144.996 38.0359C145.016 38.0429 145.038 38.0451 145.06 38.0423H151.617C151.669 38.0394 151.722 38.0472 151.772 38.0653C151.821 38.0834 151.867 38.1113 151.905 38.1474C151.94 38.1863 151.968 38.2318 151.986 38.2813C152.003 38.3308 152.011 38.3834 152.008 38.4359V41.8752C152.011 41.9278 152.004 41.9803 151.986 42.0299C151.968 42.0794 151.941 42.1249 151.905 42.1637C151.867 42.1998 151.821 42.2278 151.772 42.2458C151.722 42.2639 151.669 42.2717 151.617 42.2688H140.384C140.332 42.2717 140.279 42.2638 140.23 42.2458C140.181 42.2277 140.136 42.1998 140.098 42.1637Z" fill="white"/>
<path d="M68.6273 42.5334C70.3007 42.5334 71.6573 41.1845 71.6573 39.5206C71.6573 37.8567 70.3007 36.5078 68.6273 36.5078C66.954 36.5078 65.5974 37.8567 65.5974 39.5206C65.5974 41.1845 66.954 42.5334 68.6273 42.5334Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_50_2499">
<rect width="152" height="60" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 27 KiB

3
assets/svg/x.svg Normal file
View File

@@ -0,0 +1,3 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.52373 6.77569L15.4811 0H14.0699L8.89493 5.88203L4.7648 0H0L6.24693 8.89552L0 16H1.4112L6.87253 9.78704L11.2352 16H16M1.92053 1.04127H4.08853L14.0688 15.0099H11.9003" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 296 B

51
components/ButtonCTA.vue Normal file
View File

@@ -0,0 +1,51 @@
<template>
<button type="button" class="flex items-center justify-center cursor-pointer text-button-base"
:disabled="disabled" :class="buttonClasses" @click="handleClick">
<slot></slot>
</button>
</template>
<script>
export default {
props: {
color: {
type: String,
default: "button",
},
disabled: {
type: Boolean,
default: false,
},
size: {
type: String,
default: "md",
}
},
computed: {
buttonClasses() {
return {
"px-3.5 py-2 gap-x-2 text-sm": this.size === "sm",
"px-5 py-2.5 gap-x-2 text-sm": this.size === "md",
"px-6 py-4 gap-x-1 text-base": this.size === "lg",
"bg-button hover:bg-button-hover text-white rounded-xl shadow-button":
this.color === "button" && !this.disabled,
"cursor-not-allowed bg-gray-200 border border-gray-400 text-gray-400 stroke-current rounded-xl shadow-button":
this.color === "button" && this.disabled,
"bg-aula-base hover:bg-button hover:text-white rounded-xl shadow-button":
this.color === "aula-base" && !this.disabled,
"cursor-not-allowed bg-gray-200 border border-gray-400 text-gray-400 stroke-current rounded-xl shadow-button":
this.color === "aula-base" && this.disabled,
};
}
},
methods: {
handleClick($ev) {
if (this.disabled) {
$ev.stopPropagation();
}
},
},
};
</script>

88
components/CardTool.vue Normal file
View File

@@ -0,0 +1,88 @@
<template>
<div
class="flex flex-col gap-4 rounded-3xl"
:class="{
'border-4 border-white min-h-64 md:min-h-full max-w-80 sm:max-w-full': color === 'number',
'border-4 border-white min-h-20.9 md:min-h-full max-h-full max-w-80 sm:max-w-full': color === 'transparent',
'shadow-tool-card hover:border-4 border-white transition-all duration-300 ease-in-out min-h-22.3 sm:min-h-21.8 min-w-full lg:min-w-80 max-w-fit sm:max-w-80 w-fit': color !== 'transparent' && color !== 'number',
'bg-linear-to-t from-consumo-base to-consumo-light hover:to-consumo-extra-light': color === 'consumo',
'bg-linear-to-t from-iguales-base to-iguales-light hover:to-iguales-extra-light': color === 'iguales',
'bg-linear-to-t from-aula-base to-aula-light hover:to-aula-extra-light': color === 'aula',
'bg-linear-to-t from-certifica-base to-certifica-light hover:to-certifica-extra-light': color === 'certifica',
'bg-linear-to-t from-foro-base to-foro-light hover:to-foro-extra-light': color === 'foro',
'bg-linear-to-t from-ods-base to-ods-light hover:to-ods-extra-light': color === 'ods',
}"
>
<NuxtLink v-if="link" :to="`/${langcode}/${link}`" class="p-8 flex flex-col gap-4 items-center">
<div class="min-h-10.2 w-full">
<img
v-if="image"
:src="`/img/${image.src}`"
:alt="image.alt"
class="w-full h-full object-cover"
/>
<!-- <img v-else src="" alt="imagen-error"> -->
<!-- TODO: Add a fallback image -->
</div>
<div class="flex flex-col gap-2 items-center">
<h4 class="font-semibold uppercase">{{ title }}</h4>
<p class="text-center max-w-xl text-base-custom" v-html="description"></p>
</div>
</NuxtLink>
<div v-if="!link" class="flex flex-col gap-4 px-8 py-12 items-center">
<div v-if="image" class="h-25 w-25">
<img
:src="`/img/${image.src}`"
:alt="image.alt"
class="w-full h-full object-cover"
/>
<!-- <img v-else src="" alt="imagen-error"> -->
<!-- TODO: Add a fallback image -->
</div>
<div v-if="number" class="h-15 w-15">
<h3 class="w-full h-full rounded-full border font-bold flex items-center justify-center">
{{ number }}</h3>
</div>
<div class="flex flex-col gap-2 items-center text-center">
<h4 class="font-semibold uppercase">{{ title }}</h4>
<p class="text-center text-base-custom" v-html="description"></p>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
color: {
type: String,
default: "consumo",
},
title: {
type: String,
default: ''
},
description: {
type: String,
default: ''
},
image: {
type: Object,
default: null,
},
number: {
type: String,
default: null
},
link: {
type: String,
default: null
},
},
computed: {
langcode() {
return this.$store.getters.langcode;
},
},
}
</script>

89
components/Footer.vue Normal file
View File

@@ -0,0 +1,89 @@
<template>
<footer class=" bg-gradient-to-t from-background-dark-2 to-button text-white py-12 px-4 md:px-8 flex flex-col gap-8 rounded-t-3xl">
<div class="flex flex-col lg:flex-row gap-16 md:gap-12 lg:gap-16">
<div class="flex flex-col gap-6 items-center md:items-start w-full md:w-1/3 lg:w-1/6">
<div class="mb-4">
<img src="/assets/svg/logo.svg" alt="Kit-ECO.SOCIAL Logo" class="h-15 w-auto">
</div>
<p class=" text-lg-custom mb-4 text-center md:text-start">Síguenos y entérate de los próximos eventos, novedades y recursos.</p>
<ul class="flex space-x-4">
<li class="h-12 lg:h-8 w-12 lg:w-8 rounded-full border border-white hover:bg-white hover:text-background-dark">
<NuxtLink to="#" class="flex items-center justify-center h-full w-full">
<img src="/assets/svg/instagram.svg" alt="Instagram" class="w-4 h-4" />
</NuxtLink>
</li>
<li class="h-12 lg:h-8 w-12 lg:w-8 rounded-full border border-white">
<NuxtLink to="#" class="flex items-center justify-center h-full w-full">
<img src="/assets/svg/facebook.svg" alt="Facebook" class="w-4 h-4">
</NuxtLink>
</li>
<li class="h-12 lg:h-8 w-12 lg:w-8 rounded-full border border-white">
<NuxtLink to="#" class="flex items-center justify-center h-full w-full">
<img src="/assets/svg/linkedin.svg" alt="LinkedIn" class="w-4 h-4">
</NuxtLink>
</li>
<li class="h-12 lg:h-8 w-12 lg:w-8 rounded-full border border-white">
<NuxtLink to="#" class="flex items-center justify-center h-full w-full">
<img src="/assets/svg/x.svg" alt="X-Twitter" class="w-4 h-4">
</NuxtLink>
</li>
</ul>
<a href="mailto:info@kit-eco.social">info@kit-eco.social</a>
</div>
<div class="flex flex-col md:flex-row justify-between gap-16 md:gap-0 lg:gap-16 w-full lg:w-5/6">
<div class="flex md:w-2/3 lg:w-1/2">
<div class="flex flex-col w-1/2">
<h3 class="font-semibold text-lg-custom mb-6">Herramientas</h3>
<ul class="space-y-3 text-left text-lg-custom">
<li><NuxtLink to="https://www.kit-eco.social/es/consumo-cuidado" class="hover:font-semibold">Consumo Cuidado</NuxtLink></li>
<li><NuxtLink to="https://www.kit-eco.social/es/aula-virtual" class="hover:font-semibold">Aula Virtual</NuxtLink></li>
<li><NuxtLink to="https://www.kit-eco.social/es/iguales" class="hover:font-semibold">Iguales</NuxtLink></li>
<li><NuxtLink to="https://www.kit-eco.social/es/objetivo2030" class="hover:font-semibold">Objetivo 2030</NuxtLink></li>
<li><NuxtLink to="https://www.kit-eco.social/es/certifica-t" class="hover:font-semibold">Certifica-T</NuxtLink></li>
<li><NuxtLink to="https://www.kit-eco.social/es/foro" class="hover:font-semibold">Foro</NuxtLink></li>
</ul>
</div>
<div class="flex flex-col w-1/2">
<h3 class="font-semibold text-lg-custom mb-6">Enlaces rápidos</h3>
<ul class="space-y-3 text-left">
<li><a href="https://www.kit-eco.social/es/nosotras" class="hover:underline">Nosotras</a></li>
<li><a href="#" class="hover:underline">Contactanos</a></li>
<li><a href="#" class="hover:underline">Terminos y condiciones</a></li>
<li><a href="#" class="hover:underline">Politica de privacidad</a></li>
<li><a href="#" class="hover:underline">Aviso legal</a></li>
</ul>
</div>
</div>
<div class="flex flex-col items-center md:items-end md:w-1/3 lg:w-1/2">
<h3 class="font-semibold text-lg-custom mb-4">Proyecto financiado por:</h3>
<div class="grid grid-cols-12 gap-y-3 w-full">
<img src="/assets/img/uelogo 1.png" alt="Financiado por la Unión Europea - NextGenerationEU" class="h-12 lg:h-14 col-span-6 md:col-span-12 mx-auto md:mx-0 md:ml-auto">
<img src="/assets/img/logotipo_ministerio.png" alt="Gobierno de España" class="h-12 lg:h-14 col-span-6 md:col-span-12 mx-auto md:mx-0 md:ml-auto">
<img src="/assets/img/logotipo_PRTR.png" alt="Plan de Recuperación, Transformación y Resiliencia" class="h-12 lg:h-14 col-span-12 md:col-span-12 mx-auto md:mx-0 md:ml-auto">
</div>
</div>
</div>
</div>
<div class="border-t border-background-extra-light mt-8 pt-4 text-center">
<p class="text-xs-custom"><span>{{ year }}</span> © kit-ECO.SOCIAL | Diseñado y desarrollado por <a href="https://enreda.coop">Enreda Coop</a></p>
</div>
</footer>
</template>
<script>
import { getCurrentYear } from "@/utils/dates.js";
export default {
computed: {
langcode() {
return this.$store.getters.langcode;
},
year() {
return getCurrentYear();
},
},
};
</script>

72
components/HeroPages.vue Normal file
View File

@@ -0,0 +1,72 @@
<template>
<section
:id="id"
class="relative flex flex-col p-8 md:p-12 mb-8 items-center justify-center gap-4 md:gap-8 text-center rounded-3xl min-h-[346px]"
:class="{
'bg-gradient-conic-hero': bgColor === 'gradient',
'bg-consumo-base bg-linear-to-t from-consumo-base to-consumo-extra-light': bgColor === 'consumo',
'bg-iguales-base bg-linear-to-t from-iguales-base to-iguales-extra-light': bgColor === 'iguales',
'bg-aula-base bg-linear-to-t from-aula-base to-aula-extra-light': bgColor === 'aula',
'bg-certifica-base bg-linear-to-t from-certifica-base to-certifica-extra-light': bgColor === 'certifica',
'bg-foro-base bg-linear-to-t from-foro-base to-foro-extra-light': bgColor === 'foro',
'bg-ods-base bg-linear-to-t from-ods-base to-ods-extra-light': bgColor === 'ods',
}">
<img
v-if="bgImage"
:src="`/img/${bgImage.src}`"
:alt="bgImage.alt"
class="absolute left-0 bottom-0 w-full h-auto" >
<div class=" flex flex-col items-center z-10 gap-6">
<h1 class="font-bold max-w-4xl">{{ title }}</h1>
<p class="text-2xl-custom max-w-3xl" v-html="subtitle"></p>
<NuxtLink v-if="button" :to="button.link">
<ButtonCTA :color="button.color" class="uppercase mt-6">
{{ button.label }}
</ButtonCTA>
</NuxtLink>
</div>
</section>
</template>
<script>
export default {
props: {
id: {
type: String,
default: "",
},
title: {
type: String,
default: "",
},
subtitle: {
type: String,
default: "",
},
bgColor: {
type: String,
default: "consumo",
},
bgImage: {
type: Object,
default: () => ({
src: "",
alt: "",
}),
},
button: {
type: Object,
default: () => ({
label: "",
link: "",
color: "button",
}),
}
},
};
</script>

92
components/NavBar.vue Normal file
View File

@@ -0,0 +1,92 @@
<template>
<nav class="relative bg-white">
<div class="mx-auto flex justify-between items-center h-20">
<!-- Logo -->
<NuxtLink :to="`/${langcode}/`">
<img
width="121.22628021240234"
height="48"
alt="logo-kit-economia-social-certifica-t"
src="/assets/img/logo-certifica-t.png"
/>
</NuxtLink>
<!-- Desktop menu -->
<ul class="hidden md:flex items-center gap-6 font-semibold text-sm-custom">
<li><NuxtLink :to="`/${langcode}/`" class="hover:bg-button-hover hover:text-white p-2 rounded-lg">INICIO</NuxtLink></li>
<li><NuxtLink to="#" class="hover:bg-button-hover hover:text-white p-2 rounded-lg">GUÍA PASO A PASO</NuxtLink></li>
<li><NuxtLink to="https://www.kit-eco.social/es/" class="hover:bg-button-hover hover:text-white p-2 rounded-lg">KIT-ECO.SOCIAL</NuxtLink></li>
</ul>
<!-- Mobile menu toggle -->
<button
class="md:hidden focus:outline-none"
@click="handleMenu">
<svg v-if="!menuIsOpen" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12h18"/><path d="M3 18h18"/><path d="M3 6h18"/></svg>
<svg v-if="menuIsOpen" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" width="24" height="24" stroke-width="2"><path d="M18 6l-12 12"/><path d="M6 6l12 12"/></svg>
</button>
</div>
<!-- Mobile menu -->
<transition
enter-active-class="transition duration-300 ease-out"
enter-from-class="opacity-0 translate-x-2"
enter-to-class="opacity-100 translate-x-0"
leave-active-class="transition duration-200 ease-in"
leave-from-class="opacity-100 translate-x-0"
leave-to-class="opacity-0 translate-x-2"
>
<div v-show="menuIsOpen" class="lg:hidden p-5 bg-gradient-conic rounded-3xl min-h-svh">
<ul class="space-y-4 text-sm-custom text-end w-fit ml-auto">
<li class="p-2"><NuxtLink :to="`/${langcode}/`">INICIO</NuxtLink></li>
<li class="p-2"><NuxtLink to="#">GUÍA PASO A PASO</NuxtLink></li>
<li class="p-2"><NuxtLink to="https://www.kit-eco.social/es/">KIT-ECO.SOCIAL</NuxtLink></li>
</ul>
</div>
</transition>
</nav>
</template>
<script>
export default {
data() {
return {
dropdownOpen: false,
menuIsOpen: false,
};
},
watch: {
'$route': function() {
this.dropdownOpen = false; // Close dropdown on language change
this.menuIsOpen = false; // Close mobile menu on language change
}
},
computed: {
langcode() {
return this.$store.getters.langcode;
},
},
mounted() {
document.addEventListener('click', this.handleClickOutside);
},
beforeUnmount() {
document.removeEventListener('click', this.handleClickOutside);
},
methods: {
handleDropdown() {
this.dropdownOpen = !this.dropdownOpen;
},
handleClickOutside(e) {
const dropdown = this.$refs.dropdownRef;
if (dropdown && !dropdown.contains(e.target)) {
this.dropdownOpen = false;
}
},
handleMenu() {
this.menuIsOpen = !this.menuIsOpen;
}
},
};
</script>

View File

@@ -0,0 +1,89 @@
<template>
<section
:id="id"
class="flex flex-col gap-8 justify-center items-center rounded-3xl mb-8 px-4 pt-12 pb-16 md:p-16 md:pb-24"
:class="{
'bg-gradient-conic-cards': bgColor === 'gradient-conic',
'bg-gradient-conic-green': bgColor === 'gradient-conic-green',
'bg-linear-to-b from-consumo-extra-light to-background-light': bgColor === 'consumo',
'bg-linear-to-b from-iguales-extra-light to-background-light': bgColor === 'iguales',
'bg-linear-to-b from-aula-extra-light to-background-light': bgColor === 'aula',
'bg-linear-to-b from-certifica-light to-background-light': bgColor === 'certifica',
'bg-linear-to-b from-foro-light to-background-light': bgColor === 'foro',
'bg-linear-to-b from-ods-extra-light to-background-light': bgColor === 'ods',
}">
<div
class="mx-auto text-center"
:class="{
'flex flex-col justify-center items-center w-full': titlePosition === 'center',
'flex flex-col items-start w-full': titlePosition === 'left',
}">
<h2 class="font-bold mb-6">{{ title }}</h2>
<p v-if="description" class="text-2xl-custom max-w-4xl" v-html="description"></p>
</div>
<ul class="grid grid-cols-12 gap-8 ">
<li
v-for="(item, index) in cards" :key="`cards-${id}-${index}`" class=""
:class="{
'col-span-12 lg:col-span-6': display === 'col-2',
'col-span-12 md:col-span-6 lg:col-span-4': display === 'col-3',
'col-span-12 lg:col-span-4': display === 'col-3-transparent',
'col-span-12 md:col-span-6 lg:col-span-3': display === 'col-4',
}">
<CardTool
v-if="cardsType === 'colored' || cardsType === 'number' || cardsType === 'transparent'"
:color="item.color"
:title="item.title"
:description="item.description"
:image="item.image"
:link="item.link"
:number="item.number"
class=""
/>
</li>
</ul>
<div class="w-full min-h-96 bg-background-extra-light rounded-3xl flex justify-center items-center">
<h1 class="text-center text-2xl font-bold">Formulario</h1>
</div>
</section>
</template>
<script>
export default {
props: {
id: {
type: String,
default: "",
},
title: {
type: String,
required: true,
},
description: {
type: String,
default: "",
},
titlePosition: {
type: String,
default: "center",
},
display: {
type: String,
default: "col-4",
},
bgColor: {
type: String,
default: "",
},
cardsType: {
type: String,
default: "transparent", // 'colored', 'number', 'transparent'
},
cards: {
type: Array,
default: () => [],
}
},
};
</script>

View File

@@ -0,0 +1,86 @@
<template>
<section
:id="id"
class="relative flex flex-col p-8 md:p-12 mb-8 items-center justify-center gap-4 md:gap-8 text-center overflow-hidden rounded-3xl"
:class="{
'bg-consumo-base bg-linear-to-b from-consumo-light to-consumo-extra-light': bgColor === 'consumo',
'bg-iguales-base bg-linear-to-b from-iguales-light to-iguales-extra-light': bgColor === 'iguales',
'bg-aula-base bg-linear-to-b from-aula-light to-aula-extra-light': bgColor === 'aula',
'bg-certifica-base bg-linear-to-b from-certifica-light to-certifica-extra-light': bgColor === 'certifica',
'bg-foro-base bg-linear-to-b from-foro-light to-foro-extra-light': bgColor === 'foro',
'bg-ods-base bg-linear-to-b from-ods-light to-ods-extra-light': bgColor === 'ods',
}">
<img
v-if="bgImage"
:src="`/img/${bgImage.src}`"
:alt="bgImage.alt"
class="absolute left-0 top-0 w-full h-full" >
<div class=" flex flex-col items-center z-10 gap-6">
<img v-if="icon" :src="`/svg/${icon}`" :alt="`icon-${icon}`" class="w-15 h-15" />
<h2 class="font-bold max-w-4xl">{{ title }}</h2>
<p class="text-2xl-custom max-w-4xl" v-html="subtitle"></p>
<div class="flex flex-col md:flex-row items-center justify-center gap-4">
<NuxtLink v-if="button" :to="button.link">
<ButtonCTA :color="button.color" class="uppercase mt-6">
{{ button.label }}
</ButtonCTA>
</NuxtLink>
<NuxtLink v-if="button2" :to="button2.link">
<ButtonCTA :color="button2.color" class="uppercase mt-6">
{{ button2.label }}
</ButtonCTA>
</NuxtLink>
</div>
</div>
</section>
</template>
<script>
export default {
props: {
id: {
type: String,
default: "",
},
title: {
type: String,
default: "",
},
subtitle: {
type: String,
default: "",
},
bgColor: {
type: String,
default: "consumo",
},
icon: {
type: String,
default: "",
},
bgImage: {
type: Object,
default: () => ({
src: "",
alt: "",
}),
},
button: {
type: Object,
default: () => ({
label: "",
link: "",
color: "button",
}),
},
button2: {
type: Object,
default: null,
}
},
};
</script>

9
data/cat/index.json Normal file
View File

@@ -0,0 +1,9 @@
[
{
"component": "HeroHome",
"props": {
"title": "Benvingut al Kit",
"subtitle": "Tot per a l'economia social"
}
}
]

72
data/es/index.json Normal file
View File

@@ -0,0 +1,72 @@
[
{
"component": "HeroPages",
"props": {
"id": "hero-pages-certifica-t",
"title": "Certifica-T",
"subtitle": "<span class='font-semibold'>Tu camino hacia la sostenibilidad certificada.</span></br>Autodiagnóstico y recursos para certificar tu sostenibilidad.",
"bgColor": "certifica",
"bgImage": {
"src": "hero-certifica-t-formas.png",
"alt": "Certifica-t Imagenes Fondo"
},
"button": {
"label": "EXPLORAR LA HERRAMIENTA",
"link": "",
"color": "button"
}
}
},
{
"component": "SectionWithCardsAndForm",
"props": {
"id": "como-funciona-certifica-t",
"title": "¿Qué es y cómo funciona Certifica-T?",
"description": "Descubre cómo esta herramienta puede ayudarte a certificar el compromiso ambiental de tu entidad.",
"display": "col-4",
"bgColor": "certifica",
"cardsType": "transparent",
"cards": [
{
"color": "transparent",
"title": "¿Qué es Certifica-T?",
"description": "Es una herramienta de autodiagnóstico que te ayuda a conocer qué certificaciones ambientales son más adecuadas para tu entidad y cómo empezar a trabajar para conseguirlas."
},
{
"color": "transparent",
"title": "¿Por qué hacerlo?",
"description": "Porque certificar tu compromiso con la sostenibilidad es clave para ganar credibilidad, diferenciarte y contribuir activamente a la transición ecológica desde la economía social."
},
{
"color": "transparent",
"title": "¿Qué evalúa?",
"description": "Evalúa la situación actual de tu entidad y te orienta según los principales estándares de sostenibilidad, como ISO 14000, EMAS, GRI o Huella de Carbono."
},
{
"color": "transparent",
"title": "¿Qué obtienes?",
"description": "Un diagnóstico personalizado con recomendaciones y recursos prácticos para iniciar tu camino hacia la certificación ambiental, adaptado a tus capacidades y contexto."
}
]
}
},
{
"component": "TextWithIconAndButtons",
"props": {
"id": "certifica-t-cta",
"title": "¿Quieres aprender paso a paso?",
"subtitle": "Accede al aula virtual para formarte de forma sencilla en el uso de la herramienta. Conoce los fundamentos de la sostenibilidad certificada y aprende a interpretar tu diagnóstico. Desde kit-ECO.SOCIAL te acompañamos en cada paso.",
"bgColor": "certifica",
"icon": "scale.svg",
"bgImage": {
"src": "hero-certifica-t-formas.png",
"alt": "Certifica-T Imagenes Fondo"
},
"button": {
"label": "Empezar curso",
"link": "",
"color": "button"
}
}
}
]

6
eslint.config.mjs Normal file
View File

@@ -0,0 +1,6 @@
// @ts-check
import withNuxt from './.nuxt/eslint.config.mjs'
export default withNuxt(
// Your custom configs here
)

38
layouts/default.vue Normal file
View File

@@ -0,0 +1,38 @@
<template>
<div>
<header class="mx-4 sm:mx-8">
<NavBar />
</header>
<main class="min-h-dvh">
<slot />
<!-- <div class="fixed bottom-0 right-0 z-50 p-2">
<ButtonCTA @click="changeLang" >
Cambiar Idioma
</ButtonCTA>
</div> -->
</main>
<footer>
<Footer />
</footer>
</div>
</template>
<!-- <script>
import { mapGetters, mapActions } from 'vuex';
export default {
computed: {
...mapGetters(['langcode']),
},
methods: {
...mapActions(['setLangcode']),
changeLang() {
const newLang = this.langcode === 'es' ? 'cat' : 'es';
this.setLangcode(newLang);
this.$router.push({ path: `/${newLang}` });
}
}
}
</script> -->

63
nuxt.config.ts Normal file
View File

@@ -0,0 +1,63 @@
// https://nuxt.com/docs/api/configuration/nuxt-config
import tailwindcss from "@tailwindcss/vite";
import { defineNuxtConfig } from "nuxt/config";
export default defineNuxtConfig({
compatibilityDate: '2025-07-15',
srcDir: '.',
ssr: true,
devtools: { enabled: true },
modules: ['@nuxt/eslint'],
css: ['~/assets/css/main.css'],
vite: {
plugins: [tailwindcss()]
},
app: {
//TODO: Cambiar los metadatos
head: {
title: "CERTIFICA-T - KIT ECO.SOCIAL",
htmlAttrs: {
lang: "es",
},
meta: [
{ charset: "utf-8" },
{ name: "viewport", content: "width=device-width, initial-scale=1" },
{
hid: "description",
name: "description",
content:
"Kit de herramientas para el desarrollo sostenible de las entidades de economía social",
},
{ hid: "og-type", property: "og:type", content: "website" },
{
hid: "og-title",
property: "og:title",
content: "KIT ECONOMIA SOCIAL",
},
{
hid: "og-desc",
property: "og:description",
content:
"KIT ECONOMIA SOCIAL - Kit de herramientas para el desarrollo sostenible de las entidades de economía social",
},
{
hid: "og-image",
property: "og:image",
content: "https://www.kit-eco.social/es/thumbnail.png",
},
{
hid: "og-url",
property: "og:url",
content: "https://www.kit-eco.social/es/",
},
{ hid: "t-type", name: "twitter:card", content: "summary_large_image" },
{ hid: "whatsapp-image", name: "whatsapp:image", content: "https://www.kit-eco.social/es/thumbnail.png" },
{ name: "format-detection", content: "telephone=no" },
],
link: [
{ rel: 'canonical', href: 'https://www.kit-eco.social/es/'},
{ rel: "icon", type: "image/x-icon", href: "/favicon.ico" }
]
},
},
});

13952
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

23
package.json Normal file
View File

@@ -0,0 +1,23 @@
{
"name": "nuxt-app",
"private": true,
"type": "module",
"scripts": {
"build": "nuxt build",
"start": "node .output/server/index.mjs",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare"
},
"dependencies": {
"@nuxt/eslint": "^1.7.1",
"@tailwindcss/vite": "^4.1.11",
"eslint": "^9.31.0",
"nuxt": "^3.17.7",
"tailwindcss": "^4.1.11",
"vue": "^3.5.17",
"vue-router": "^4.5.1",
"vuex": "^4.0.2"
}
}

View File

@@ -0,0 +1,46 @@
<template>
<main v-if="consumoComponents" class="min-h-screen relative mx-4 md:mx-8">
<template v-for="(component, index) in consumoComponents" :key="`consumo-component-${component.component}-${index}`">
<component
:is="component.component"
v-if="component"
v-bind="component.props" />
</template>
</main>
</template>
<script>
import HeroPages from '~/components/HeroPages.vue';
import SectionWithCardsAndForm from '../../components/SectionWithCardsAndForm.vue';
import TextWithIconAndButtons from '../../components/TextWithIconAndButtons.vue';
export default {
components: {
HeroPages,
TextWithIconAndButtons,
SectionWithCardsAndForm,
},
data() {
return {
consumoComponents: []
};
},
async created() {
const langcode = this.$route.params.langcode;
try {
const res = await import(`~/data/${langcode}/index.json`);
this.consumoComponents = res.default;
} catch (err) {
console.error('Error al cargar contenido:', err);
this.consumoComponents = [
{
component: 'ErrorComponent',
props: {
message: 'Contenido no disponible',
},
},
];
}
}
}
</script>

20
pages/index.vue Normal file
View File

@@ -0,0 +1,20 @@
<template>
<div>
<h1>{{ lang }}</h1>
</div>
</template>
<script>
export default {
data() {
return {
lang: '',
};
},
mounted() {
const langcode = this.$store.getters['langcode'];
this.lang = langcode;
this.$router.replace(`/${langcode}`);
},
};
</script>

View File

@@ -0,0 +1,228 @@
<template>
<main class="p-5 container mx-auto">
<NuxtLink to="/" class="my-16">Back</NuxtLink>
<section class="text-sm">
<h2 class="my-4 text-center text-4xl">Colours</h2>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-6 gap-8">
<!-- Consumo -->
<div>
<h3 class="text-lg font-semibold mb-2">Consumo</h3>
<ul class="flex flex-col gap-2">
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-consumo-base"></div>
<p>consumo-base</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-consumo-light"></div>
<p>consumo-light</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-consumo-extra-light"></div>
<p>consumo-extra-light</p>
</li>
</ul>
</div>
<!-- Iguales -->
<div>
<h3 class="text-lg font-semibold mb-2">Iguales</h3>
<ul class="flex flex-col gap-2">
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-iguales-base"></div>
<p>iguales-base</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-iguales-light"></div>
<p>iguales-light</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-iguales-extra-light"></div>
<p>iguales-extra-light</p>
</li>
</ul>
</div>
<!-- Aula -->
<div>
<h3 class="text-lg font-semibold mb-2">Aula</h3>
<ul class="flex flex-col gap-2">
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-aula-base"></div>
<p>aula-base</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-aula-light"></div>
<p>aula-light</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-aula-extra-light"></div>
<p>aula-extra-light</p>
</li>
</ul>
</div>
<!-- Certifica -->
<div>
<h3 class="text-lg font-semibold mb-2">Certifica</h3>
<ul class="flex flex-col gap-2">
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-certifica-base"></div>
<p>certifica-base</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-certifica-light"></div>
<p>certifica-light</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-certifica-extra-light"></div>
<p>certifica-extra-light</p>
</li>
</ul>
</div>
<!-- Foro -->
<div>
<h3 class="text-lg font-semibold mb-2">Foro</h3>
<ul class="flex flex-col gap-2">
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-foro-base"></div>
<p>foro-base</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-foro-light"></div>
<p>foro-light</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-foro-extra-light"></div>
<p>foro-extra-light</p>
</li>
</ul>
</div>
<!-- ODS -->
<div>
<h3 class="text-lg font-semibold mb-2">ODS</h3>
<ul class="flex flex-col gap-2">
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-ods-base"></div>
<p>ods-base</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-ods-light"></div>
<p>ods-light</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-ods-extra-light"></div>
<p>ods-extra-light</p>
</li>
</ul>
</div>
<!-- Background -->
<div>
<h3 class="text-lg font-semibold mb-2">Background</h3>
<ul class="flex flex-col gap-2">
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-background-dark"></div>
<p>background-dark</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-background-dark-2"></div>
<p>background-dark-2</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-background-light"></div>
<p>background-light</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-background-extra-light"></div>
<p>background-extra-light</p>
</li>
</ul>
</div>
<!-- Buttons -->
<div>
<h3 class="text-lg font-semibold mb-2">Buttons</h3>
<ul class="flex flex-col gap-2">
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-button"></div>
<p>button</p>
</li>
<li class="flex items-center gap-2">
<div class="h-4 w-4 bg-button-hover"></div>
<p>button-hover</p>
</li>
</ul>
</div>
</div>
</section>
<section class="text-sm mt-16">
<h2 class="my-4 text-center text-4xl">Fonts</h2>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8">
<div>
<h3 class="text-lg font-semibold mb-2">Barlow Semi Condensed</h3>
<p class="font-barlow-semi-condensed text-base">This is a sample text in Barlow Semi Condensed.</p>
</div>
<div>
<h3 class="text-lg font-semibold mb-2">Barlow</h3>
<p class="font-barlow text-base">This is a sample text in Barlow.</p>
</div>
</div>
<div class="mt-8">
<h3 class="text-lg font-semibold mb-2">Font Sizes</h3>
<ul class="flex flex-col gap-4">
<li class="flex justify-between py-2 border-t border-t-black">
<h4 class="text-lg w-1/3">Heading H1 (48px) - <span class="italic text-gray-400">Tailwind Text 5XL</span></h4>
<p class="text-5xl w-2/3">Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam</p>
</li>
<li class="flex justify-between py-2 border-t border-t-black">
<h4 class="text-lg w-1/3">Heading H2 (36px) - <span class="italic text-gray-400">Tailwind Text 4XL</span></h4>
<p class="text-4xl w-2/3">Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam</p>
</li>
<li class="flex justify-between py-2 border-t border-t-black">
<h4 class="text-lg w-1/3">Heading H3 (32px) - <span class="italic text-gray-400">Tailwind Text 8</span></h4>
<p class="text-8 w-2/3">Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam</p>
</li>
<li class="flex justify-between py-2 border-t border-t-black">
<h4 class="text-lg w-1/3">Heading H4 (22px) - <span class="italic text-gray-400">Tailwind Text 5.5</span></h4>
<p class="text-5.5 w-2/3">Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam</p>
</li>
<li class="flex justify-between py-2 border-t border-t-black">
<h4 class="text-lg w-1/3">Heading H5 (16px) - <span class="italic text-gray-400">Tailwind Text Base</span></h4>
<p class="text-base w-2/3">Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam</p>
</li>
<li class="flex justify-between py-2 border-t border-t-black">
<h4 class="text-lg w-1/3">Body-Text-2-Extra-Large (24px) - <span class="italic text-gray-400">Tailwind Text 2XL</span></h4>
<p class="text-2xl w-2/3">Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam</p>
</li>
<li class="flex justify-between py-2 border-t border-t-black">
<h4 class="text-lg w-1/3">Body-Text-Extra-Large (18px) - <span class="italic text-gray-400">Tailwind Text LG</span></h4>
<p class="text-lg w-2/3">Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam</p>
</li>
<li class="flex justify-between py-2 border-t border-t-black">
<h4 class="text-lg w-1/3">Body-Text-Large (16px) - <span class="italic text-gray-400">Tailwind Text Base</span></h4>
<p class="text-base w-2/3">Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam</p>
</li>
<li class="flex justify-between py-2 border-t border-t-black">
<h4 class="text-lg w-1/3">Body-Text-Medium (14px) - <span class="italic text-gray-400">Tailwind Text SM</span></h4>
<p class="text-sm w-2/3">Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam</p>
</li>
<li class="flex justify-between py-2 border-t border-t-black">
<h4 class="text-lg w-1/3">Body-Text-Small (12px) - <span class="italic text-gray-400">Tailwind Text XS</span></h4>
<p class="text-xs w-2/3">Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam</p>
</li>
<li class="flex justify-between py-2 border-t border-t-black">
<h4 class="text-lg w-1/3">Text Button (16px) - <span class="italic text-gray-400">Tailwind Text Base</span></h4>
<p class="text-base w-2/3">Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam</p>
</li>
</ul>
</div>
</section>
</main>
</template>
<script>
export default {
}
</script>

7
plugins/vuex.client.js Normal file
View File

@@ -0,0 +1,7 @@
import { kitecosocialStore } from '~/store/index';
export default defineNuxtPlugin((nuxtApp) => {
const store = kitecosocialStore()
nuxtApp.vueApp.use(store)
nuxtApp.provide('store', store)
});

7
plugins/vuex.server.js Normal file
View File

@@ -0,0 +1,7 @@
import { kitecosocialStore } from '~/store/index';
export default defineNuxtPlugin((nuxtApp) => {
const store = kitecosocialStore()
nuxtApp.vueApp.use(store)
nuxtApp.provide('store', store)
});

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 MiB

BIN
public/img/aula.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 926 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB

BIN
public/img/bolsas.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

BIN
public/img/book-open.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
public/img/certifica-t.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
public/img/consumo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 972 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

BIN
public/img/file-plus.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 790 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
public/img/foro.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
public/img/hands.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
public/img/handshake.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

BIN
public/img/iguales.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
public/img/layout-grid.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 797 B

BIN
public/img/logo-ecored.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

BIN
public/img/logo-enreda.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
public/img/logo-nortes.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

BIN
public/img/meeting.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 B

BIN
public/img/ods.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

BIN
public/img/people.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 KiB

BIN
public/img/puzzle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
public/img/research.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

BIN
public/img/route.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
public/img/search-check.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
public/img/spain-map.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
public/img/trophy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
public/img/vendedor.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 KiB

BIN
public/img/waypoints.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

2
public/robots.txt Normal file
View File

@@ -0,0 +1,2 @@
User-Agent: *
Disallow:

3
public/svg/award.svg Normal file
View File

@@ -0,0 +1,3 @@
<svg width="33" height="33" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.136 18.0654L23.156 29.4334C23.1786 29.5673 23.1598 29.7048 23.1022 29.8277C23.0445 29.9506 22.9507 30.053 22.8332 30.1211C22.7158 30.1893 22.5804 30.2199 22.4451 30.209C22.3098 30.1981 22.181 30.1461 22.076 30.0601L17.3027 26.4774C17.0722 26.3053 16.7923 26.2122 16.5047 26.2122C16.217 26.2122 15.9371 26.3053 15.7067 26.4774L10.9253 30.0587C10.8204 30.1447 10.6918 30.1965 10.5567 30.2075C10.4215 30.2184 10.2862 30.1878 10.1689 30.1199C10.0515 30.052 9.9577 29.9498 9.89989 29.8272C9.84208 29.7045 9.82305 29.5672 9.84533 29.4334L11.864 18.0654M24.5 11.5454C24.5 15.9637 20.9183 19.5454 16.5 19.5454C12.0817 19.5454 8.5 15.9637 8.5 11.5454C8.5 7.12713 12.0817 3.54541 16.5 3.54541C20.9183 3.54541 24.5 7.12713 24.5 11.5454Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 926 B

View File

@@ -0,0 +1,3 @@
<svg width="33" height="33" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.5 4.87891V26.2122C4.5 26.9195 4.78095 27.5978 5.28105 28.0979C5.78115 28.598 6.45942 28.8789 7.16667 28.8789H28.5M24.5 23.5456V12.8789M17.8333 23.5456V7.54557M11.1667 23.5456V19.5456" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 382 B

View File

@@ -0,0 +1,3 @@
<svg width="33" height="33" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M29.8333 14.2121V22.2121M8.49998 17.5454V22.2121C8.49998 23.2729 9.34283 24.2903 10.8431 25.0405C12.3434 25.7906 14.3782 26.2121 16.5 26.2121C18.6217 26.2121 20.6565 25.7906 22.1568 25.0405C23.6571 24.2903 24.5 23.2729 24.5 22.2121V17.5454M29.06 15.4414C29.2987 15.3361 29.5012 15.1631 29.6426 14.9438C29.7839 14.7245 29.8578 14.4686 29.8551 14.2077C29.8524 13.9468 29.7732 13.6925 29.6274 13.4762C29.4815 13.2599 29.2755 13.0911 29.0346 12.9907L17.6066 7.7854C17.2592 7.62693 16.8818 7.54492 16.5 7.54492C16.1181 7.54492 15.7407 7.62693 15.3933 7.7854L3.96664 12.9854C3.72927 13.0894 3.52733 13.2602 3.38553 13.4772C3.24373 13.6941 3.16821 13.9476 3.16821 14.2067C3.16821 14.4659 3.24373 14.7194 3.38553 14.9363C3.52733 15.1532 3.72927 15.3241 3.96664 15.4281L15.3933 20.6387C15.7407 20.7972 16.1181 20.8792 16.5 20.8792C16.8818 20.8792 17.2592 20.7972 17.6066 20.6387L29.06 15.4414Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

3
public/svg/scale.svg Normal file
View File

@@ -0,0 +1,3 @@
<svg width="61" height="61" viewBox="0 0 61 61" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18 52.8789H43M30.5 7.87891V52.8789M8 17.8789H13C18 17.8789 25.5 15.3789 30.5 12.8789C35.5 15.3789 43 17.8789 48 17.8789H53M40.5 40.3789L48 20.3789L55.5 40.3789C53.325 42.0039 50.7 42.8789 48 42.8789C45.3 42.8789 42.675 42.0039 40.5 40.3789ZM5.5 40.3789L13 20.3789L20.5 40.3789C18.325 42.0039 15.7 42.8789 13 42.8789C10.3 42.8789 7.675 42.0039 5.5 40.3789Z" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 551 B

View File

@@ -0,0 +1,3 @@
<svg width="33" height="33" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.2334 3.6123H5.90007L9.44673 20.1723C9.57684 20.7788 9.91429 21.3209 10.401 21.7054C10.8877 22.09 11.4933 22.2928 12.1134 22.279H25.1534C25.7603 22.278 26.3487 22.07 26.8214 21.6894C27.2942 21.3088 27.6229 20.7783 27.7534 20.1856L29.9534 10.279H7.32673M12.5001 28.879C12.5001 29.6154 11.9031 30.2123 11.1667 30.2123C10.4304 30.2123 9.8334 29.6154 9.8334 28.879C9.8334 28.1426 10.4304 27.5456 11.1667 27.5456C11.9031 27.5456 12.5001 28.1426 12.5001 28.879ZM27.1667 28.879C27.1667 29.6154 26.5698 30.2123 25.8334 30.2123C25.097 30.2123 24.5001 29.6154 24.5001 28.879C24.5001 28.1426 25.097 27.5456 25.8334 27.5456C26.5698 27.5456 27.1667 28.1426 27.1667 28.879Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 858 B

View File

@@ -0,0 +1,3 @@
<svg width="61" height="60" viewBox="0 0 61 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M30.5 30.0088H23C19.0218 30.0088 15.2064 28.4284 12.3934 25.6154C9.58035 22.8023 8 18.987 8 15.0088V10.0088H15.5C19.4782 10.0088 23.2936 11.5891 26.1066 14.4022C28.9196 17.2152 30.5 21.0305 30.5 25.0088V50.0088M30.5 35.0088C30.5 31.0305 32.0804 27.2152 34.8934 24.4022C37.7064 21.5891 41.5218 20.0088 45.5 20.0088H53V22.5088C53 26.487 51.4196 30.3023 48.6066 33.1154C45.7936 35.9284 41.9782 37.5088 38 37.5088H30.5" stroke="#111111" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 611 B

3
public/svg/wrench.svg Normal file
View File

@@ -0,0 +1,3 @@
<svg width="33" height="33" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20.1001 9.27872C19.8557 9.52796 19.7189 9.86305 19.7189 10.2121C19.7189 10.5611 19.8557 10.8961 20.1001 11.1454L22.2334 13.2787C22.4826 13.523 22.8177 13.6599 23.1667 13.6599C23.5157 13.6599 23.8508 13.523 24.1001 13.2787L29.1267 8.25205C29.7972 9.73364 30.0002 11.3844 29.7087 12.9842C29.4172 14.5841 28.645 16.0572 27.4951 17.2071C26.3452 18.357 24.8721 19.1292 23.2722 19.4207C21.6724 19.7122 20.0216 19.5092 18.5401 18.8387L9.32672 28.052C8.79629 28.5825 8.07686 28.8805 7.32672 28.8805C6.57657 28.8805 5.85715 28.5825 5.32672 28.052C4.79629 27.5216 4.49829 26.8022 4.49829 26.052C4.49829 25.3019 4.79629 24.5825 5.32672 24.052L14.5401 14.8387C13.8696 13.3571 13.6666 11.7064 13.9581 10.1065C14.2496 8.50664 15.0218 7.03359 16.1717 5.88368C17.3216 4.73377 18.7946 3.96161 20.3945 3.67011C21.9944 3.3786 23.6451 3.5816 25.1267 4.25205L20.1001 9.27872Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
public/thumbnail.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

3
server/tsconfig.json Normal file
View File

@@ -0,0 +1,3 @@
{
"extends": "../.nuxt/tsconfig.server.json"
}

Some files were not shown because too many files have changed in this diff Show More